/* BlindTick terminal 3.0 — design tokens. Final style: LED · Электрик · Контраст (brand "ledblue2").
   Generated from "Foot Analysis 3.0.dc.html" (objects DARK / LIGHT / BRAND.ledblue2). Dark is the default theme.
   Self-hosted @font-face declarations (strict self-only CSP compliant, no external Google Fonts URLs). */
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400 900; font-display: swap; src: url('/static/fonts/golos-text-cyrillic-ext.woff2') format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400 900; font-display: swap; src: url('/static/fonts/golos-text-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400 900; font-display: swap; src: url('/static/fonts/golos-text-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400 900; font-display: swap; src: url('/static/fonts/golos-text-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

@font-face { font-family: 'Chakra Petch'; font-style: normal; font-weight: 400; font-display: swap; src: url('/static/fonts/ChakraPetch-400.woff2') format('woff2'); }
@font-face { font-family: 'Chakra Petch'; font-style: normal; font-weight: 500; font-display: swap; src: url('/static/fonts/ChakraPetch-500.woff2') format('woff2'); }
@font-face { font-family: 'Chakra Petch'; font-style: normal; font-weight: 600; font-display: swap; src: url('/static/fonts/ChakraPetch-600.woff2') format('woff2'); }
@font-face { font-family: 'Chakra Petch'; font-style: normal; font-weight: 700; font-display: swap; src: url('/static/fonts/ChakraPetch-700.woff2') format('woff2'); }

@font-face { font-family: 'Tektur'; font-style: normal; font-weight: 400 900; font-display: swap; src: url('/static/fonts/tektur-cyrillic-ext.woff2') format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Tektur'; font-style: normal; font-weight: 400 900; font-display: swap; src: url('/static/fonts/tektur-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Tektur'; font-style: normal; font-weight: 400 900; font-display: swap; src: url('/static/fonts/tektur-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Tektur'; font-style: normal; font-weight: 400 900; font-display: swap; src: url('/static/fonts/tektur-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Digits-only face: numbers inside Golos Text body copy render in Chakra Petch.
   Self-host Chakra Petch woff2 (400/500/600/700) and point src at it; unicode-range limits it to digits & numeric symbols. */
@font-face { font-family: 'FA Dig chakra'; font-weight: 400; font-display: swap; src: url('/static/fonts/ChakraPetch-400.woff2') format('woff2'); unicode-range: U+0023-0025, U+002B-002F, U+0030-003A, U+0040, U+00D7, U+2013, U+20BD, U+2212; }
@font-face { font-family: 'FA Dig chakra'; font-weight: 500; font-display: swap; src: url('/static/fonts/ChakraPetch-500.woff2') format('woff2'); unicode-range: U+0023-0025, U+002B-002F, U+0030-003A, U+0040, U+00D7, U+2013, U+20BD, U+2212; }
@font-face { font-family: 'FA Dig chakra'; font-weight: 600; font-display: swap; src: url('/static/fonts/ChakraPetch-600.woff2') format('woff2'); unicode-range: U+0023-0025, U+002B-002F, U+0030-003A, U+0040, U+00D7, U+2013, U+20BD, U+2212; }
@font-face { font-family: 'FA Dig chakra'; font-weight: 700; font-display: swap; src: url('/static/fonts/ChakraPetch-700.woff2') format('woff2'); unicode-range: U+0023-0025, U+002B-002F, U+0030-003A, U+0040, U+00D7, U+2013, U+20BD, U+2212; }

:root, [data-theme="dark"] {
  --bg: #050608;
  --bg2: #08090C;
  --card: #0F1216;
  --card2: #151920;
  --card3: #1F242D;
  --hover: rgba(205,215,235,0.05);
  --line: rgba(205,215,235,0.11);
  --line2: rgba(205,215,235,0.22);
  --tx: #F1F4F8;
  --tx2: #AAB3C1;
  --tx3: #7F8898;
  --neg: #FF5470;
  --neg-soft: rgba(255,84,112,0.13);
  --warn: #FFC24D;
  --warn-soft: rgba(255,194,77,0.12);
  --info: #22D3EE;
  --info-soft: rgba(34,211,238,0.12);
  --vio: #B8A4FF;
  --vio-soft: rgba(184,164,255,0.13);
  --spot: rgba(77,141,255,0.045);
  --glass: rgba(5,6,8,0.86);
  --shadow: inset 0 1px 0 rgba(255,255,255,0.035);
  --overlay: rgba(4,7,16,0.6);
  --glow: none;
  --c-fb: #4ADE80;
  --c-tn: #FACC15;
  --c-hk: #38BDF8;
  --c-vb: #F472B6;
  --c-es: #A78BFA;
  --c-bb: #FB923C;
  --c-cr: #E2B455;
  --pad: 20px;
  --gap: 16px;
  --sec: 32px;
  --page-x: clamp(14px, 2.6vw, 36px);
  --nav-tx: #B8C1CF;
  --nav-ic: #8590A2;
  --nav-on: rgba(77,141,255,0.10);
  --nav-onbd: rgba(77,141,255,0.34);
  --nav-mon: rgba(77,141,255,0.14);
  --cardfx: none;
  --cblur: none;
  --acc: #4D8DFF;
  --acc-ink: #04060A;
  --acc-tx: #7FAEFF;
  --acc-soft: rgba(77,141,255,0.12);
  --acc-line: rgba(77,141,255,0.42);
  --pos: #34D399;
  --pos-soft: rgba(52,211,153,0.12);
  --fh: 'Chakra Petch', 'Tektur', 'Golos Text', sans-serif;
  --fh2: 'Chakra Petch', 'Tektur', 'Golos Text', sans-serif;
  --ft: 'Chakra Petch', 'Tektur', 'Golos Text', sans-serif;
  --fn: 'Chakra Petch', 'Tektur', 'Golos Text', sans-serif;
  --htt: uppercase;
  --r-card: 8px;
  --r-in: 6px;
  --r-ctl: 6px;
  --fbody: 'FA Dig chakra', 'Golos Text', ui-sans-serif, system-ui, sans-serif;
}

[data-theme="light"] {
  --bg: #EEF1F4;
  --bg2: #F8F9FB;
  --card: #FFFFFF;
  --card2: #F3F5F7;
  --card3: #E3E7EC;
  --hover: rgba(16,26,70,0.045);
  --line: rgba(10,20,35,0.11);
  --line2: rgba(10,20,35,0.22);
  --tx: #0A0F16;
  --tx2: #434D5A;
  --tx3: #626C79;
  --neg: #D02B4D;
  --neg-soft: rgba(208,43,77,0.1);
  --warn: #A86500;
  --warn-soft: rgba(214,140,0,0.12);
  --info: #3559D1;
  --info-soft: rgba(53,89,209,0.09);
  --vio: #6E44D4;
  --vio-soft: rgba(110,68,212,0.09);
  --spot: rgba(53,89,209,0.05);
  --glass: rgba(255,255,255,0.8);
  --shadow: 0 1px 2px rgba(7,20,32,0.05);
  --overlay: rgba(14,20,48,0.3);
  --glow: none;
  --c-fb: #15803D;
  --c-tn: #A16207;
  --c-hk: #0369A1;
  --c-vb: #BE185D;
  --c-es: #6D28D9;
  --c-bb: #C2410C;
  --c-cr: #92650F;
  --pad: 20px;
  --gap: 16px;
  --sec: 32px;
  --page-x: clamp(14px, 2.6vw, 36px);
  --nav-tx: var(--tx2);
  --nav-ic: var(--tx3);
  --nav-on: var(--card2);
  --nav-onbd: var(--line2);
  --nav-mon: var(--acc-soft);
  --cardfx: none;
  --cblur: none;
  --acc: #2F6BEA;
  --acc-ink: #FFFFFF;
  --acc-tx: #1F4FB8;
  --acc-soft: rgba(47,107,234,0.12);
  --acc-line: rgba(47,107,234,0.4);
  --pos: #0E8A55;
  --pos-soft: rgba(14,138,85,0.1);
  --fh: 'Chakra Petch', 'Tektur', 'Golos Text', sans-serif;
  --fh2: 'Chakra Petch', 'Tektur', 'Golos Text', sans-serif;
  --ft: 'Chakra Petch', 'Tektur', 'Golos Text', sans-serif;
  --fn: 'Chakra Petch', 'Tektur', 'Golos Text', sans-serif;
  --htt: uppercase;
  --r-card: 8px;
  --r-in: 6px;
  --r-ctl: 6px;
  --fbody: 'FA Dig chakra', 'Golos Text', ui-sans-serif, system-ui, sans-serif;
}

/* Mobile layout = container narrower than 760px (prototype measures the app root, not the window). */
@media (max-width: 759px) {
  :root, [data-theme="dark"] {
    --pad: 14px;
    --gap: 10px;
    --sec: 10px;
    --page-x: 10px;
    --line: rgba(77,141,255,0.14);
    --line2: rgba(77,141,255,0.28);
    --cardfx: radial-gradient(rgba(77,141,255,0.05) 1px, transparent 1.3px) 0 0 / 10px 10px;
    --glow: radial-gradient(rgba(77,141,255,0.06) 1px, transparent 1.3px) 0 0 / 14px 14px;
    --shadow: 0 0 0 1px rgba(77,141,255,0.03);
  }
  [data-theme="light"] { --pad: 14px; --gap: 10px; --sec: 10px; --page-x: 10px; }
}

body {
  margin: 0; background: var(--bg); color: var(--tx);
  font-family: var(--fbody); font-size: 14px; line-height: 1.45;
  font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
a { color: var(--acc-tx); text-decoration: none; }
a:hover { color: var(--acc); }
::selection { background: var(--acc-soft); }

/* Motion — durations/easings used across the prototype */
:root { --ease-out: cubic-bezier(.2,.8,.2,1); --ease-nav: cubic-bezier(.2,.9,.2,1); --ease-drawer: cubic-bezier(.2,.85,.2,1); --ease-spring: cubic-bezier(.2,.9,.3,1.25); }
@keyframes fa-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes fa-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fa-pop { from { opacity: 0; transform: scale(.96) translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes fa-toast { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes fa-in-r { from { transform: translateX(104%); } to { transform: none; } }
@keyframes fa-out-r { from { transform: none; } to { transform: translateX(104%); } }
@keyframes fa-draw { to { stroke-dashoffset: 0; } }
@keyframes fa-grow-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes fa-grow-y { from { transform: scaleY(0); opacity: .3; } to { transform: scaleY(1); opacity: 1; } }
@keyframes fa-shrink { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@keyframes fa-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--acc) 55%, transparent); } 70% { box-shadow: 0 0 0 7px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .001ms !important; animation-delay: 0ms !important; transition: none !important; } }
