/* Собрано из app/design/hook_app_tokens.json: python -m app.токены.
   Руками не правим — правка уедет при следующей сборке. */
@font-face { font-family:"Onest"; src:url("fonts/Onest.ttf"); font-weight:100 900; }
:root {
  --bg:#04090b;
  --ink:#eef3f2;
  --ink2:#9aa9ae;
  --ink3:#7f8f96;
  --line:rgba(170,240,255,.08);
  --hi:rgba(210,245,255,.07);
  --acc:#26cfa2;
  --glass:rgba(10,20,24,.6);
  --btn-edge:rgba(190,240,255,.40);
  --btn-ink:#eef3f2;
  --bad:#ff6b6b;
  --s1:linear-gradient(180deg,#0f1a1d,#0b1416);
  --s2:linear-gradient(180deg,#12262e,#0a1519);
  --btn:linear-gradient(180deg,#2370c0,#0c5794);
  --bar:linear-gradient(90deg,#0c5794,#3a9ef0);
  --r-sheet:28px;
  --r-card:20px;
  --r-btn:16px;
  --r-sm:12px;
  --r-pill:999px;
  --f-h:600 20px/1.3 "Onest";
  --t-h:-0.03em;
  --f-say:550 17px/1.35 "Onest";
  --t-say:-0.02em;
  --f-body:450 15px/1.45 "Onest";
  --t-body:0;
  --f-cap:450 13px/1.4 "Onest";
  --t-cap:0.01em;
  --sh-card:inset 0 1px 0 var(--hi), 0 16px 32px rgba(0,0,0,.35);
  --sh-cover:0 0 0 1px rgba(255,255,255,.08), inset 0 1px 0 rgba(255,255,255,.12), 0 30px 60px rgba(0,0,0,.55);
  --sh-btn:inset 0 1px 0 var(--btn-edge), inset 0 -1px 0 rgba(0,0,0,.25), 0 14px 28px rgba(0,0,0,.35);
  --sh-glass:inset 0 1px 0 var(--hi), 0 0 0 1px var(--line), 0 18px 40px rgba(0,0,0,.5);
  --fill-0:rgba(255,255,255,.02);
  --fill-1:rgba(255,255,255,.035);
  --fill-2:rgba(255,255,255,.04);
  --fill-3:rgba(255,255,255,.06);
  --blur:24px;
  --step:8px;
  --btn-h:52px;
  --icon:22px;
  --icon-w:1.5;
  --in-ms:300ms;
  --in-shift:8px;
  --in-step:40ms;
  --ease:cubic-bezier(.16,1,.3,1);
  --press:0.97;
  --press-ms:100ms;
  --sheet-ms:400ms;
  --sheet-ease:cubic-bezier(.2,.8,.2,1);
  --bar-ms:600ms;
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.025 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --glow:radial-gradient(130% 60% at 50% -12%, rgba(58,158,240,1), transparent 60%),radial-gradient(90% 40% at 50% 112%, rgba(12,87,148,.08), transparent 70%);
  --g-hello:linear-gradient(90deg,#3a9ef0,#b6e0f1);
  --g-hello-size:32px;
  --g-hello-weight:600;
  --g-field-h:60px;
  --g-field-r:30px;
  --g-field-sh:0 0 0 1px rgba(160,235,255,.14), 0 18px 44px rgba(0,0,0,.55);
  --g-think:linear-gradient(90deg,rgba(58,158,240,.05) 0%,rgba(233,247,253,.45) 50%,rgba(58,158,240,.05) 100%);
  --g-think-ms:1400ms;
  --g-glow:0 0 0 1px rgba(160,235,255,.25), 0 8px 20px rgba(0,0,0,.45);
  --hk-flow:linear-gradient(90deg,#0d7896,#b6e0f1,#0b4a66,#0d7896);
  --hk-flow-dur:8s;
  --hk-breath-dur:9s;
  --hk-breath:radial-gradient(50% 50% at 50% 50%,#b6e0f1,transparent 70%);
  --hk-breath-a0:0.04;
  --hk-breath-a1:0.08;
}
