@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff) format("woff")}:root,:root[data-theme=dark]{--bg: #060708;--glow-1: rgba(198, 205, 212, .055);--glow-2: rgba(240, 82, 79, .038);--grid-line: rgba(198, 205, 212, .03);--surface-1: rgba(19, 20, 23, .64);--surface-2: rgba(32, 34, 39, .78);--surface-solid: #0f1013;--glass-blur: 16px;--text: #f6f7f8;--text-2: #a6adb4;--text-3: #656b72;--line: rgba(198, 205, 212, .13);--line-strong: rgba(198, 205, 212, .3);--edge-highlight: rgba(255, 255, 255, .055);--steel: #c6cdd4;--steel-strong: #dee4ea;--steel-glow: rgba(198, 205, 212, .4);--focus-ring: var(--steel);--ph1: #4a92e8;--ph2: #d18f14;--ph3: #9b90ee;--ph4: #23a97b;--win-sleep: #444b57;--win-dip: #5c5c63;--good: #2fbf6a;--warning: #f0b429;--serious: #ef7a52;--critical: #f0524f;--grid: #23252a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 12px 36px rgba(0, 0, 0, .5);--shadow-lg: 0 28px 68px rgba(0, 0, 0, .62);--overlay-bg: rgba(0, 0, 0, .66);--selection: rgba(198, 205, 212, .28);--scrollbar: #303236;color-scheme:dark}:root[data-theme=light]{--bg: #e9ebee;--glow-1: rgba(255, 255, 255, .72);--glow-2: rgba(240, 82, 79, .05);--grid-line: rgba(20, 22, 28, .04);--surface-1: rgba(255, 255, 255, .74);--surface-2: rgba(255, 255, 255, .94);--surface-solid: #ffffff;--glass-blur: 18px;--text: #121317;--text-2: #4d4f56;--text-3: #7c7e86;--line: rgba(20, 22, 28, .14);--line-strong: rgba(20, 22, 28, .28);--edge-highlight: rgba(255, 255, 255, .8);--steel: #556474;--steel-strong: #3a4653;--steel-glow: rgba(85, 100, 116, .26);--ph1: #2f6fd0;--ph2: #a06a08;--ph3: #6a5ed4;--ph4: #12805b;--win-sleep: #8f99a6;--win-dip: #a0a5ad;--good: #12924a;--warning: #9a6a06;--serious: #c8542a;--critical: #d33a37;--grid: #d4d7dc;--shadow-sm: 0 1px 2px rgba(20, 22, 28, .07);--shadow-md: 0 12px 36px rgba(20, 22, 28, .12);--shadow-lg: 0 28px 68px rgba(20, 22, 28, .18);--overlay-bg: rgba(22, 24, 30, .38);--selection: rgba(85, 100, 116, .22);--scrollbar: #bfc3c9;color-scheme:light}:root{--font-sans: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", "Consolas", monospace;--size-label: .72rem;--ease: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .15s;--dur-base: .25s;--dur-slow: .45s;--radius-xs: 4px;--radius-sm: 8px;--radius: 14px;--radius-lg: 18px;--radius-pill: 100px;--bg-raised: var(--surface-solid);--bg-raised-2: var(--surface-2)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:radial-gradient(1100px 620px at 12% -8%,var(--glow-1),transparent 60%),radial-gradient(1000px 560px at 102% -4%,var(--glow-2),transparent 62%),linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),var(--bg);background-size:auto,auto,54px 54px,54px 54px,auto;background-attachment:fixed;color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;transition:background-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}::selection{background:var(--selection)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}h1,h2,h3,h4{font-weight:600;letter-spacing:-.015em;line-height:1.18}h1{font-size:clamp(1.55rem,1.15rem + 1.5vw,2.05rem)}h2{font-size:clamp(1.1rem,1rem + .4vw,1.28rem)}h3{font-size:1rem}.eyebrow{font-family:var(--font-mono);font-size:var(--size-label);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3)}.mono{font-family:var(--font-mono)}.muted{color:var(--text-2)}.dim{color:var(--text-3)}.small{font-size:.85rem}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;border-right:1px solid var(--line);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.2rem;position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--surface-1);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.brand{padding:0 .75rem 1.25rem;border-bottom:1px solid var(--line);margin-bottom:1.1rem}.brand .word{font-weight:650;letter-spacing:.02em;font-size:.95rem}.brand .sub{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-3);margin-top:2px}.navlink{position:relative;display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border-radius:var(--radius-sm);color:var(--text-2);font-size:.88rem;border-left:2px solid transparent;transition:color .2s var(--ease),background .2s var(--ease)}.navlink:before{content:"";position:absolute;left:-2px;top:18%;bottom:18%;width:2px;background:var(--steel);border-radius:1px;transform:scaleY(0);transition:transform var(--dur-base) var(--ease)}.navlink:hover,.navlink.active{color:var(--text);background:var(--surface-2)}.navlink.active:before{transform:scaleY(1);box-shadow:0 0 10px var(--steel-glow)}.navlink svg{width:15px;height:15px;opacity:.75}.nav-section{margin:1rem .75rem .35rem}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 2rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface-1);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));z-index:40}.content{padding:1.9rem 2rem 4rem;max-width:1200px;width:100%;margin:0 auto}.page-enter{animation:fadein var(--dur-base) var(--ease)}.stagger>*{animation:rise var(--dur-slow) var(--ease) both}.stagger>*:nth-child(2){animation-delay:40ms}.stagger>*:nth-child(3){animation-delay:80ms}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(n+6){animation-delay:.2s}.busybar{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden}.busybar:after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:40%;background:var(--steel);opacity:.75;box-shadow:0 0 12px var(--steel-glow);animation:busybar-slide 1.2s var(--ease) infinite}@keyframes busybar-slide{to{left:100%}}@media (prefers-reduced-motion: reduce){.busybar:after{animation:none;left:0;width:100%;opacity:.35}}.boot{width:min(340px,84vw)}.boot .word{font-weight:650;letter-spacing:.02em;font-size:1.05rem}.boot .sub{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-3);margin-top:2px}.boot .busybar{position:relative;bottom:0;background:var(--grid);border-radius:var(--radius-pill);margin:1.1rem 0 .7rem}.page-head{margin-bottom:1.7rem}.page-head h1{margin-top:.3rem}.page-head .lede{color:var(--text-2);margin-top:.45rem;max-width:62ch}.card{background:var(--surface-1);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.4rem;box-shadow:var(--shadow-md),inset 0 1px 0 var(--edge-highlight)}.card+.card{margin-top:0}.card h2{margin-bottom:.75rem}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.95rem}.card-head h2{margin-bottom:0}.card.lift{transition:transform var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease)}.card.lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),inset 0 1px 0 var(--edge-highlight);border-color:var(--line-strong)}.grid{display:grid;gap:1.1rem}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width: 1000px){.cols-3,.cols-4,.cols-5{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 680px){.cols-2,.cols-3,.cols-4,.cols-5{grid-template-columns:1fr}.content{padding:1.25rem 1rem 3rem}.sidebar{display:none}}.row{display:flex;align-items:center;gap:.75rem}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:.75rem}.stat .value{font-size:clamp(1.7rem,1.4rem + 1.1vw,2.15rem);font-weight:620;letter-spacing:-.025em;line-height:1.05;margin-top:.5rem}.stat .hint{color:var(--text-3);font-size:.8rem;margin-top:.35rem}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:var(--size-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.62rem 1.15rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);background:transparent;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease),transform var(--dur-fast) var(--ease);white-space:nowrap}.btn:hover{border-color:var(--text)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn.primary:hover{background:var(--steel);border-color:var(--steel);box-shadow:0 6px 22px var(--steel-glow)}.btn.small{padding:.4rem .8rem;font-size:.65rem}.btn.danger{color:var(--critical);border-color:color-mix(in srgb,var(--critical) 40%,transparent)}.btn.danger:hover{border-color:var(--critical);box-shadow:0 6px 22px color-mix(in srgb,var(--critical) 22%,transparent)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn svg{width:13px;height:13px}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid transparent;color:var(--text-2);position:relative;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.iconbtn:hover{color:var(--text);background:var(--surface-2)}.iconbtn:active{transform:translateY(1px)}.iconbtn svg{width:17px;height:17px}.badge{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:.66rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .6rem;border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--text-2);white-space:nowrap;background:color-mix(in srgb,var(--text) 4%,transparent)}.badge svg{width:11px;height:11px}.badge.good{color:var(--good);border-color:color-mix(in srgb,var(--good) 38%,transparent);background:color-mix(in srgb,var(--good) 10%,transparent)}.badge.warn{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 38%,transparent);background:color-mix(in srgb,var(--warning) 10%,transparent)}.badge.serious{color:var(--serious);border-color:color-mix(in srgb,var(--serious) 42%,transparent);background:color-mix(in srgb,var(--serious) 10%,transparent)}.badge.critical{color:var(--critical);border-color:color-mix(in srgb,var(--critical) 42%,transparent);background:color-mix(in srgb,var(--critical) 10%,transparent)}.badge.steel{color:var(--steel-strong);border-color:var(--line-strong)}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.1rem}.field>label{font-size:.88rem;font-weight:550}.field .help{color:var(--text-3);font-size:.78rem;line-height:1.45}.input,select.input,textarea.input{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .8rem;color:var(--text);width:100%;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.input:focus,select.input:focus,textarea.input:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px var(--steel-glow)}textarea.input{resize:vertical;min-height:74px}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.checkrow{display:flex;align-items:center;gap:.6rem}.scale{display:flex;gap:.35rem;flex-wrap:wrap}.scale button{width:36px;height:36px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);font-family:var(--font-mono);font-size:.8rem;color:var(--text-2);transition:all .15s var(--ease)}.scale button:hover{border-color:var(--line-strong);color:var(--text)}.scale button.on{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:600;box-shadow:0 4px 16px var(--steel-glow);animation:pop var(--dur-fast) var(--ease-spring)}@keyframes pop{0%{transform:scale(.92)}55%{transform:scale(1.08)}to{transform:scale(1)}}.chips{display:flex;gap:.4rem;flex-wrap:wrap}.chip{font-size:.78rem;padding:.3rem .75rem;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--text-2);background:var(--surface-2);transition:all .15s var(--ease)}.chip:hover{border-color:var(--line-strong);color:var(--text)}.chip:active{transform:scale(.97)}.chip.on{background:color-mix(in srgb,var(--steel) 16%,transparent);border-color:var(--steel);color:var(--text)}.segmented{display:flex;gap:.35rem;flex-wrap:wrap}.segmented button{padding:.45rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);font-size:.84rem;color:var(--text-2);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.segmented button:active{transform:scale(.97)}.segmented button.on{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:550}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.25rem;padding:0 .25rem}@media (max-width: 680px){.table-scroll .table{min-width:540px}}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table th{text-align:left;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--text-3);padding:.55rem .75rem;border-bottom:1px solid var(--line)}.table td{padding:.7rem .75rem;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr.clickable{cursor:pointer}.table tr.clickable{transition:background .15s var(--ease)}.table tr.clickable:hover td{background:var(--surface-2)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadein .18s var(--ease)}.dialog{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:86vh;overflow-y:auto;padding:1.6rem;box-shadow:var(--shadow-lg),inset 0 1px 0 var(--edge-highlight);animation:rise .22s var(--ease)}.dialog.wide{max-width:760px}@keyframes fadein{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.overlay.closing{animation:fadeout var(--dur-fast) var(--ease) forwards}.overlay.closing .dialog{animation:sink var(--dur-fast) var(--ease) forwards}@keyframes fadeout{to{opacity:0}}@keyframes sink{to{opacity:0;transform:translateY(8px)}}.bell-wrap{position:relative}.bell-badge{position:absolute;top:3px;right:3px;min-width:15px;height:15px;border-radius:8px;background:var(--critical);color:#fff;font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;font-family:var(--font-mono);animation:pop .2s var(--ease-spring)}.popover{position:absolute;right:0;top:calc(100% + 8px);width:360px;background:var(--surface-2);border:1px solid var(--line-strong);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius);z-index:90;max-height:430px;overflow-y:auto;box-shadow:var(--shadow-lg),inset 0 1px 0 var(--edge-highlight);animation:rise .18s var(--ease)}.ntf{padding:.8rem 1rem;border-bottom:1px solid var(--line);display:flex;gap:.7rem}.ntf:last-child{border-bottom:none}.ntf.unread{background:color-mix(in srgb,var(--steel) 8%,transparent)}.ntf .t{font-size:.85rem;font-weight:550}.ntf .b{font-size:.78rem;color:var(--text-2);margin-top:2px;line-height:1.45}.ntf .when{font-family:var(--font-mono);font-size:.62rem;color:var(--text-3);margin-top:4px}.meter{height:5px;background:var(--grid);border-radius:var(--radius-pill);overflow:hidden}.meter>div{height:100%;background:var(--steel);border-radius:var(--radius-pill);box-shadow:0 0 10px var(--steel-glow);transition:width .5s var(--ease)}.phase-track{display:flex;gap:3px}.phase-track .seg{flex:1;height:6px;border-radius:var(--radius-pill);background:var(--grid);position:relative;overflow:hidden}.phase-track .seg>div{position:absolute;top:0;right:0;bottom:0;left:0;width:0;border-radius:var(--radius-pill);transition:width .6s var(--ease)}.inst{display:flex;align-items:center;gap:.9rem;padding:.75rem .95rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-1)}.inst .date{font-family:var(--font-mono);font-size:.72rem;color:var(--text-3);width:84px;flex-shrink:0}.inst .name{flex:1;font-size:.9rem}button.inst{width:100%;text-align:left;cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease),transform .2s var(--ease)}button.inst:hover{border-color:var(--line-strong);background:var(--surface-2);transform:translateY(-1px)}.inst.locked{opacity:.6}.thread{display:flex;flex-direction:column;gap:.6rem}.bubble{max-width:78%;padding:.65rem .9rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-1);font-size:.9rem}.bubble.mine{align-self:flex-end;background:color-mix(in srgb,var(--steel) 14%,var(--surface-2));border-color:var(--line-strong)}.bubble .when{font-family:var(--font-mono);font-size:.6rem;color:var(--text-3);margin-top:.3rem}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:420px}.login-card .display{font-size:clamp(1.9rem,1.5rem + 2vw,2.5rem);font-weight:650;letter-spacing:-.025em;line-height:1.12}.persona{display:flex;align-items:center;gap:.85rem;width:100%;text-align:left;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-1);transition:border-color .2s var(--ease),transform .2s var(--ease)}.persona:hover{border-color:var(--line-strong);transform:translateY(-1px)}.avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.72rem;font-weight:600;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--steel-strong)}.spark{display:block}.spark .draw{animation:fadein var(--dur-base) var(--ease) .1s both}.spark .spark-area{animation:fadein var(--dur-slow) var(--ease) .2s both}.spark .spark-end{animation:fadein var(--dur-base) var(--ease) .5s both}.chart-tip{position:absolute;pointer-events:none;z-index:50;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.4rem .6rem;box-shadow:var(--shadow-md);font-family:var(--font-mono);font-size:.68rem;white-space:nowrap}.ring-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.ring-track{stroke:var(--grid)}.ring-fill{stroke:var(--steel);stroke-linecap:round;transition:stroke-dashoffset .7s var(--ease);filter:drop-shadow(0 0 4px var(--steel-glow))}.ring-label{position:absolute;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.02em}.chart-svg{display:block;width:100%}.chart-svg .grid-line{stroke:var(--line)}.chart-svg .axis-label{fill:var(--text-3);font-family:var(--font-mono);font-size:10px;letter-spacing:.03em}.chart-draw,.chart-draw-fade{animation:fadein var(--dur-slow) var(--ease) both}.chart-bar{transform-box:fill-box;transform-origin:bottom;animation:bar-grow var(--dur-slow) var(--ease) both;transition:opacity var(--dur-fast) var(--ease)}@keyframes bar-grow{0%{transform:scaleY(0)}}.chart-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.chart-legend .item{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--text-2)}.swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0;display:inline-block}.hbar-row{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:.85rem}.hbar-track{height:10px;background:var(--grid);border-radius:var(--radius-pill);overflow:hidden}.hbar-fill{height:100%;border-radius:var(--radius-pill);box-shadow:0 0 10px var(--steel-glow);transition:width .7s var(--ease)}.heat-grid{display:grid;gap:4px;align-items:center}.heat-col-label,.heat-row-label{font-family:var(--font-mono);font-size:.6rem;color:var(--text-3)}.heat-row-label{text-align:center}.heat-cell{aspect-ratio:1;border-radius:var(--radius-xs);min-width:8px}.mcard{position:relative;overflow:hidden}.mcard .m-head{display:flex;align-items:center;gap:.55rem}.mcard .m-bar{width:3px;height:15px;border-radius:2px;background:var(--dbc);box-shadow:0 0 9px color-mix(in srgb,var(--dbc) 60%,transparent)}.mcard .m-name{font-size:.95rem;font-weight:550;letter-spacing:-.01em}.mcard .m-corner{margin-left:auto;color:var(--text-3)}.mcard .m-value{display:flex;align-items:flex-end;gap:.22rem;margin-top:.7rem;line-height:1}.mcard .m-int{font-weight:300;font-size:clamp(2.4rem,2rem + 1.4vw,2.9rem);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.mcard .m-frac{font-weight:300;font-size:clamp(2.4rem,2rem + 1.4vw,2.9rem);letter-spacing:-.03em;color:var(--text-3);font-variant-numeric:tabular-nums}.mcard .m-unit{font-size:.95rem;color:var(--text-2);margin:0 0 .42rem .18rem}.mcard .m-trend{margin-left:auto;margin-bottom:.45rem;color:var(--dbc);font-size:1.1rem;line-height:1}.mcard .m-delta{display:inline-flex;align-items:center;gap:.3rem;margin-top:.7rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.03em;padding:.22rem .6rem;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--dbc) 38%,transparent);color:var(--dbc);background:color-mix(in srgb,var(--dbc) 10%,transparent)}.mcard .m-caption{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.02em;color:var(--text-3);margin-top:.7rem;line-height:1.5}.dotband-wrap{margin-top:.9rem}.dotband{display:block;width:100%}.dotband .band{fill:color-mix(in srgb,var(--dbc) 9%,transparent);stroke:color-mix(in srgb,var(--dbc) 20%,transparent)}.dotband .refline{stroke:color-mix(in srgb,var(--dbc) 34%,transparent)}.dotband .hdot{fill:var(--text)}.dotband .reticle{fill:none;stroke:var(--dbc);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--dbc) 55%,transparent))}.dotband .reticle-core{fill:var(--dbc)}.terrain-field{position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:grab;background:radial-gradient(120% 90% at 50% 120%,rgba(198,205,212,.06),transparent 60%),#07080a;box-shadow:var(--shadow-lg),inset 0 1px 0 var(--edge-highlight)}.terrain-field:active{cursor:grabbing}.terrain-field canvas{display:block;width:100%;height:100%;touch-action:none}.terrain-hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.terrain-hud .tl{position:absolute;top:1rem;left:1.1rem}.terrain-hud .tr{position:absolute;top:1rem;right:1.1rem;text-align:right}.terrain-hud .bl{position:absolute;bottom:1rem;left:1.1rem}.terrain-hud .br{position:absolute;bottom:1rem;right:1.1rem;text-align:right}.terrain-hud .h-title{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#dee4ea}.terrain-hud .h-sub{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#6b7178;margin-top:.3rem}.terrain-hud .anom{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:#f0524f;display:inline-flex;align-items:center;gap:.4rem}.terrain-hud .blip{width:7px;height:7px;border-radius:50%;background:#f0524f;box-shadow:0 0 10px #f0524fe6;animation:blip-pulse 1.6s ease-in-out infinite}@keyframes blip-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.empty{text-align:center;color:var(--text-3);padding:2.2rem 1rem;border:1px dashed var(--line);border-radius:var(--radius);font-size:.88rem}.divider{height:1px;background:var(--line);margin:1rem 0;border:none}.quote{border-left:2px solid var(--steel);padding-left:.9rem;color:var(--text-2);font-style:italic}.kbd-list{display:flex;flex-direction:column;gap:.45rem}.prewrap{white-space:pre-wrap}.canvas-wrap{position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface-1);box-shadow:var(--shadow-md),inset 0 1px 0 var(--edge-highlight)}.canvas-overlay{position:absolute;left:1rem;bottom:.9rem;pointer-events:none}.toast-wrap{position:fixed;bottom:1.25rem;right:1.25rem;z-index:200;display:flex;flex-direction:column;gap:.5rem;max-width:380px}.toast{display:flex;align-items:flex-start;gap:.55rem;padding:.75rem .9rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-strong);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-lg),inset 0 1px 0 var(--edge-highlight);font-size:.85rem;animation:toast-in .2s var(--ease)}.toast span{flex:1;line-height:1.4}.toast.error{border-color:color-mix(in srgb,var(--critical) 50%,transparent)}.toast.error svg{color:var(--critical);flex-shrink:0;margin-top:1px}.toast.success{border-color:color-mix(in srgb,var(--good) 45%,transparent)}.toast.success svg{color:var(--good);flex-shrink:0;margin-top:1px}.toast-x{color:var(--text-3);flex-shrink:0;padding:0}.toast-x:hover{color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast.leaving{animation:toast-out var(--dur-fast) var(--ease) forwards}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}@media (max-width: 680px){.toast-wrap{left:1rem;right:1rem;bottom:1rem;max-width:none}}.menu-btn{display:none}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:60;animation:fadein .18s var(--ease)}.drawer{position:fixed;top:0;left:0;bottom:0;width:264px;max-width:82vw;background:var(--surface-2);border-right:1px solid var(--line-strong);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-lg);z-index:61;padding:1.25rem 1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.2rem;animation:drawer-in .22s var(--ease)}@keyframes drawer-in{0%{transform:translate(-100%)}}@media (max-width: 680px){.menu-btn{display:inline-flex}.topbar{padding:.8rem 1rem}}.habit-list{display:flex;flex-direction:column}.habit-row{display:flex;align-items:center;gap:.85rem;width:100%;text-align:left;padding:.9rem .5rem;border:none;border-bottom:1px solid var(--line);color:var(--text);border-radius:var(--radius-sm);transition:padding-left var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.habit-row:last-child{border-bottom:none}.habit-row:hover{padding-left:.8rem;background:var(--surface-2)}.habit-row:disabled{cursor:default;opacity:.55}.habit-check{width:22px;height:22px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--line-strong);position:relative;transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.habit-check svg{width:13px;height:13px;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;color:var(--bg)}.habit-row.done .habit-check{background:var(--steel);border-color:var(--steel);box-shadow:0 0 12px var(--steel-glow)}.habit-row.done .habit-check svg{animation:check-pop var(--dur-base) var(--ease-spring) both}@keyframes check-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.habit-body{flex:1;min-width:0}.habit-label{font-size:.92rem;font-weight:550;transition:color var(--dur-fast) var(--ease)}.habit-row.done .habit-label{color:var(--text-2)}.habit-cue{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.02em;color:var(--text-3);margin-top:2px;text-transform:uppercase}.habit-pts{font-family:var(--font-mono);font-size:.72rem;color:var(--text-3);flex-shrink:0}.habit-row.done .habit-pts{color:var(--steel-strong)}.day-step{display:inline-flex;align-items:center;gap:.2rem}.day-step .iconbtn:disabled{opacity:.3;cursor:not-allowed}.day-label{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;min-width:8.5ch;text-align:center}.day-grid{display:grid;grid-template-columns:repeat(14,1fr);gap:3px}.day-grid i{aspect-ratio:1;border-radius:var(--radius-xs);background:var(--grid);transition:background-color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}.day-grid i.kept{background:var(--steel);box-shadow:0 0 8px var(--steel-glow)}.day-grid i.today{outline:1px solid var(--text-2);outline-offset:1px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (pointer: coarse){.scale button,.iconbtn{width:44px;height:44px}.segmented button{padding:.6rem 1rem}.chip{padding:.45rem .85rem}.navlink{padding:.65rem .75rem}}
