@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff) format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");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}:root{--bg: #e7eaee;--panel: #ffffff;--panel-soft: #f6f7f9;--rail-bg: #fbfcfd;--border: #e3e6eb;--border-soft: #edeff2;--text: #1b1f26;--text-dim: #656c77;--text-faint: #9aa3af;--badge-bg: #f0f2f5;--badge-text: #586070;--hover: #f3f5f8;--sel: #eef2fb;--sel-bar: #3b6ef0;--green: #089981;--red: #e5484d;--green-soft: #e7f4ec;--red-soft: #fcebec;--amber: #e0a312;--tg-blue: #2aa5e0;--pill-on-bg: #1b1f26;--pill-on-text: #ffffff;--shadow: 0 1px 2px rgba(16,22,34,.05), 0 1px 1px rgba(16,22,34,.03);--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--safe-left: env(safe-area-inset-left);--safe-right: env(safe-area-inset-right);--glass: rgba(255,255,255,.62);--glass-edge: rgba(255,255,255,.85);--glass-edge2: rgba(255,255,255,.35);--glass-shadow: 0 6px 20px rgba(16,22,34,.12), 0 1px 2px rgba(16,22,34,.06);--bubble: var(--pill-on-bg);--dock-h: 60px;--dock-inset: 16px;--dock-bottom: max(10px, calc(var(--safe-bottom) - 14px));--nav-h: var(--dock-h);--canvas-up: #089981;--canvas-down: #e5484d;--canvas-axis: #9aa3af;--canvas-last-line: rgba(20,24,33,.22);--canvas-drawn-line: #3b6ef0;--canvas-team-line: #7048e8;--canvas-alert-line: #f57c00}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;line-height:1.4;overflow:hidden;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}#root{height:100vh;height:100dvh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{overscroll-behavior:none}@media(max-width:768px){html,body{background:var(--panel)}body{position:fixed;top:0;right:0;bottom:0;left:0}#root{height:100%}body{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable],.selectable{-webkit-user-select:text;user-select:text}img{-webkit-touch-callout:none;-webkit-user-drag:none}button:active{opacity:.6;transition:opacity 80ms}}button,.pill,.seg button,.icon-btn,.dd-item{touch-action:manipulation}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.pos{color:var(--green)}.neg{color:var(--red)}.text-faint{color:var(--text-faint)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%) translateY(8px);background:var(--pill-on-bg);color:var(--pill-on-text);padding:9px 16px;border-radius:9px;font-size:12.5px;font-weight:600;letter-spacing:.3px;box-shadow:0 8px 26px #10162238;z-index:500;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}@media(max-width:768px){.toast{bottom:calc(var(--nav-h-js, calc(var(--nav-h) + var(--dock-bottom))) + 12px)}}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70}.dropdown{position:absolute;z-index:80;min-width:132px;background:var(--panel);border:1px solid var(--border);border-radius:9px;box-shadow:0 12px 34px #1016222e;padding:5px;font-size:12.5px}.dd-item{display:flex;align-items:center;gap:8px;justify-content:space-between;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:7px 9px;border-radius:6px;color:var(--text);font-family:inherit;font-size:12.5px;font-weight:600}.dd-item:hover{background:var(--hover)}.dd-item.active{color:var(--sel-bar)}.dd-item.active:after{content:"✓";color:var(--sel-bar);font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#1016226b;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:28px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:7px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;transition:background .12s,color .12s;flex-shrink:0}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;background:var(--badge-bg);color:var(--badge-text);border:1px solid transparent;border-radius:7px;font-size:12.5px;font-weight:600;letter-spacing:.2px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background .12s,color .12s}.pill:hover{background:var(--hover)}.pill.on{background:var(--pill-on-bg);color:var(--pill-on-text)}.seg{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg button{padding:7px 14px;border:none;background:var(--panel);color:var(--text-dim);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;border-left:1px solid var(--border)}.seg button:first-child{border-left:none}.seg button:hover{background:var(--hover)}.seg button.on{background:var(--pill-on-bg);color:var(--pill-on-text)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes authpulse{0%,to{opacity:.25}50%{opacity:1}}
