:root{color-scheme:dark;--bg:#0a0e14;--panel:#121924;--panel-2:#19222f;--edge:#24303f;--edge-strong:#35465c;--fg:#e8eef6;--fg-muted:#9aa8bb;--fg-faint:#8496ab;--signal:#4fbdcb;--signal-strong:#86d6e0;--signal-dim:#2c6f79;--on-signal:#04171b;--ok:#4ecb92;--warn:#e8b85c;--down:#f0686d;--info:#78b0e0;--ember:#f2854f;--font-display:"Space Grotesk",system-ui,sans-serif;--font-body:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",monospace;--fs-11:0.6875rem;--fs-12:0.75rem;--fs-13:0.8125rem;--fs-14:0.875rem;--fs-15:0.9375rem;--fs-16:1rem;--fs-18:1.125rem;--fs-21:1.3125rem;--fs-26:1.625rem;--fs-32:2rem;--lh-tight:1.15;--lh-snug:1.4;--lh-body:1.6;--lh-loose:1.7;--tracking-label:0.12em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--sp-9:48px;--sp-10:64px;--r-1:4px;--r-2:6px;--r-3:10px;--r-full:999px;--radius:var(--r-2);--shadow-2:0 10px 30px -12px rgb(0 0 0/60%);--dur-1:120ms;--dur-2:200ms;--dur-3:380ms;--ease:cubic-bezier(0.2,0.6,0.3,1);--w-page:1120px;--w-narrow:780px;--w-form:420px;--topbar-h:56px;--focus-ring:0 0 0 2px var(--bg),0 0 0 4px var(--signal)}:root[data-theme=light]{color-scheme:light;--bg:#eceff4;--panel:#ffffff;--panel-2:#f4f6fa;--edge:#dae1ea;--edge-strong:#b4c1d0;--fg:#0f1720;--fg-muted:#4f5d6e;--fg-faint:#616e7d;--signal:#0b6c79;--signal-strong:#08525c;--signal-dim:#7fbcc4;--on-signal:#ffffff;--ok:#0f7150;--warn:#8f6410;--down:#c0353c;--info:#1f6098;--ember:#b04a15;--shadow-2:0 10px 30px -12px rgb(15 23 32/22%)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--fs-16);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:color-mix(in srgb,var(--signal) 30%,transparent)}a{color:var(--signal);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-1)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;line-height:var(--lh-tight);margin:0}p{margin:0 0 var(--sp-3)}p:last-child{margin-bottom:0}button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.eyebrow{font-size:var(--fs-12);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--fg-muted)}.eyebrow,.mono{font-family:var(--font-mono)}.muted{color:var(--fg-muted)}.faint{color:var(--fg-faint)}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto;background:var(--edge-strong)}.tone-ok{background:var(--ok)}.tone-warn{background:var(--warn)}.tone-down{background:var(--down)}.tone-info{background:var(--info)}.tone-muted{background:var(--edge-strong)}@media (prefers-reduced-motion:no-preference){.pulse{animation:pulse 2.4s var(--ease) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}}.panel{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-2);padding:var(--sp-6)}.panel-tight{padding:var(--sp-4)}.console-panel{background:color-mix(in srgb,var(--bg) 45%,var(--panel));border:1px solid var(--edge);border-radius:var(--r-2);overflow:hidden}.console-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--edge)}.console-empty{padding:var(--sp-5) var(--sp-4);font-size:var(--fs-14)}.page-head{margin-bottom:var(--sp-7)}.page-head h1{font-size:var(--fs-32);margin:var(--sp-2) 0 0}.page-head .page-lede{color:var(--fg-muted);margin:var(--sp-2) 0 0}.page-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.page-head-actions{display:flex;align-items:center;gap:var(--sp-2)}@media (max-width:640px){.page-head h1{font-size:var(--fs-26)}}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.section-head h2{font-size:var(--fs-18)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border-radius:var(--r-2);border:1px solid transparent;font-family:var(--font-body);font-size:var(--fs-15);font-weight:500;line-height:1.2;padding:11px var(--sp-4);cursor:pointer;white-space:nowrap;transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),opacity var(--dur-1) var(--ease)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--signal);color:var(--on-signal);border-color:var(--signal)}.btn-primary:hover:not(:disabled){background:var(--signal-strong);border-color:var(--signal-strong)}.btn-ghost{background:transparent;border-color:var(--edge-strong);color:var(--fg)}.btn-ghost:hover:not(:disabled){border-color:var(--fg-faint);background:color-mix(in srgb,var(--fg) 6%,transparent)}.btn-danger{background:transparent;border-color:color-mix(in srgb,var(--down) 45%,var(--edge));color:var(--down)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--down) 12%,transparent);border-color:var(--down)}.btn-quiet{background:transparent;border-color:transparent;color:var(--fg-muted)}.btn-quiet:hover:not(:disabled){color:var(--fg);background:color-mix(in srgb,var(--fg) 7%,transparent)}.btn-sm{padding:6px var(--sp-3);font-size:var(--fs-13)}.btn-block{width:100%}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:var(--r-1);border:1px solid var(--edge);background:var(--panel-2);color:var(--fg-muted);cursor:pointer;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.btn-icon:hover:not(:disabled){color:var(--fg);border-color:var(--edge-strong)}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.btn-icon.btn-icon-danger:hover:not(:disabled){color:var(--down);border-color:color-mix(in srgb,var(--down) 50%,var(--edge))}.btn-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2)}.spinner{width:13px;height:13px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentcolor;flex:0 0 auto}@media (prefers-reduced-motion:no-preference){.spinner{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}}.field{margin-bottom:var(--sp-4)}.field:last-child{margin-bottom:0}.field-label{display:block;font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:7px}.field-input{width:100%;background:var(--panel-2);border:1px solid var(--edge);border-radius:var(--r-2);color:var(--fg);font-family:var(--font-body);font-size:var(--fs-15);padding:10px var(--sp-3);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.field-input::placeholder{color:var(--fg-faint)}.field-input:hover:not(:disabled):not(:focus){border-color:var(--edge-strong)}.field-input:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 20%,transparent)}.field-input:disabled{opacity:.6;cursor:not-allowed}textarea.field-input{resize:vertical;line-height:var(--lh-snug)}.field-input.mono{font-family:var(--font-mono);letter-spacing:0}.field-input.mono-spaced{font-family:var(--font-mono);letter-spacing:.14em}.field-input[aria-invalid=true]{border-color:var(--down)}.field-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--down) 20%,transparent)}.field-hint{color:var(--fg-faint)}.field-error,.field-hint{margin-top:6px;font-size:var(--fs-13)}.field-error{color:var(--down)}.field-row{display:flex;gap:var(--sp-3);flex-wrap:wrap}.field-row>.field{flex:1 1 180px}.field-row>.field-narrow{flex:0 0 96px}.checkbox-row,select.field-input{cursor:pointer}.checkbox-row{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-14);color:var(--fg-muted)}.checkbox-row input{width:16px;height:16px;accent-color:var(--signal);cursor:pointer;flex:0 0 auto}.file-field{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2)}.file-field,.file-field input[type=file]{font-size:var(--fs-13);color:var(--fg-muted)}.file-field input[type=file]{max-width:100%}.file-field input[type=file]::-webkit-file-upload-button{font-family:var(--font-body);font-size:var(--fs-13);padding:5px var(--sp-3);margin-right:var(--sp-2);border-radius:var(--r-1);border:1px solid var(--edge-strong);background:transparent;color:var(--fg);cursor:pointer}.file-field input[type=file]::file-selector-button{font-family:var(--font-body);font-size:var(--fs-13);padding:5px var(--sp-3);margin-right:var(--sp-2);border-radius:var(--r-1);border:1px solid var(--edge-strong);background:transparent;color:var(--fg);cursor:pointer}.file-field input[type=file]::-webkit-file-upload-button:hover{border-color:var(--fg-faint)}.file-field input[type=file]::file-selector-button:hover{border-color:var(--fg-faint)}.callout{display:block;border:1px solid var(--edge);border-left-width:3px;border-radius:var(--r-2);padding:10px var(--sp-3);font-size:var(--fs-14);background:color-mix(in srgb,var(--panel) 60%,transparent)}.callout+.callout{margin-top:var(--sp-2)}.callout[data-tone=down]{border-left-color:var(--down);background:color-mix(in srgb,var(--down) 8%,transparent)}.callout[data-tone=info]{border-left-color:var(--info);background:color-mix(in srgb,var(--info) 8%,transparent)}.callout[data-tone=ok]{border-left-color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,transparent)}.callout[data-tone=warn]{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 8%,transparent)}.feedback-body{display:block;margin:var(--sp-2) 0 0;white-space:pre-wrap;font-size:var(--fs-14);color:var(--fg-muted)}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-7) var(--sp-6);border:1px dashed var(--edge-strong);border-radius:var(--r-2);color:var(--fg-muted)}.empty-title{font-family:var(--font-display);font-size:var(--fs-18);font-weight:600;color:var(--fg)}.empty-body{font-size:var(--fs-14);margin:0}.pill{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-11);font-family:var(--font-mono);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--edge);border-radius:var(--r-full);padding:3px 9px;white-space:nowrap}.pill[data-tone=ok]{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--edge))}.pill[data-tone=warn]{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--edge))}.pill[data-tone=down]{color:var(--down);border-color:color-mix(in srgb,var(--down) 40%,var(--edge))}.pill[data-tone=info]{color:var(--info);border-color:color-mix(in srgb,var(--info) 40%,var(--edge))}.tag{font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);border:1px solid var(--edge);border-radius:var(--r-1);padding:1px 6px;white-space:nowrap}.tag-bonus{color:var(--info);border-color:color-mix(in srgb,var(--info) 40%,var(--edge))}.tag-draft{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--edge))}.toggle-pill{font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.06em;padding:5px var(--sp-3);border-radius:var(--r-full);border:1px solid var(--edge);background:var(--panel-2);color:var(--fg-muted);cursor:pointer;min-width:84px;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.toggle-pill:hover:not(:disabled){border-color:var(--edge-strong);color:var(--fg)}.toggle-pill.on,.toggle-pill[aria-pressed=true]{color:var(--signal);border-color:var(--signal-dim);background:color-mix(in srgb,var(--signal) 14%,transparent)}.toggle-pill:disabled{cursor:not-allowed;opacity:.6}.segmented{display:inline-flex;gap:var(--sp-2);flex-wrap:wrap}.copy-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:var(--r-1);background:transparent;color:inherit;font:inherit;padding:1px 5px;margin:-1px -5px;cursor:pointer;transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.copy-btn:hover{border-color:var(--edge-strong);background:color-mix(in srgb,var(--fg) 7%,transparent)}.copy-btn .copy-icon{opacity:0;color:var(--fg-faint);transition:opacity var(--dur-1) var(--ease);flex:0 0 auto}.copy-btn:focus-visible .copy-icon,.copy-btn:hover .copy-icon{opacity:1}.copy-btn[data-copied=true]{color:var(--ok)}.copy-btn[data-copied=true] .copy-icon{opacity:1;color:var(--ok)}.toast-region{position:fixed;right:var(--sp-4);bottom:var(--sp-4);z-index:60;flex-direction:column;max-width:min(380px,calc(100vw - var(--sp-7)));pointer-events:none}.toast,.toast-region{display:flex;gap:var(--sp-2)}.toast{pointer-events:auto;align-items:flex-start;padding:10px var(--sp-3);border:1px solid var(--edge);border-left-width:3px;border-radius:var(--r-2);background:var(--panel);box-shadow:var(--shadow-2);font-size:var(--fs-14)}.toast[data-tone=ok]{border-left-color:var(--ok)}.toast[data-tone=down]{border-left-color:var(--down)}.toast[data-tone=info]{border-left-color:var(--info)}.toast-text{flex:1 1;min-width:0;overflow-wrap:anywhere}.toast-close{flex:0 0 auto;border:none;background:none;color:var(--fg-faint);cursor:pointer;padding:0 2px;line-height:1}.toast-close:hover{color:var(--fg)}@media (prefers-reduced-motion:no-preference){.toast{animation:toast-in var(--dur-2) var(--ease)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}}.skeleton{display:block;background:color-mix(in srgb,var(--fg) 9%,transparent);border-radius:var(--r-1);height:1em}@media (prefers-reduced-motion:no-preference){.skeleton{animation:skeleton 1.4s var(--ease) infinite}@keyframes skeleton{0%,to{opacity:1}50%{opacity:.45}}}.skeleton-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid color-mix(in srgb,var(--edge) 55%,transparent)}.skeleton-row:last-child{border-bottom:none}.dtable{border:1px solid var(--edge);border-radius:var(--r-2);overflow:hidden}.dtable-row{display:flex;align-items:center;gap:var(--sp-4);padding:9px var(--sp-4);font-size:var(--fs-13);border-bottom:1px solid color-mix(in srgb,var(--edge) 55%,transparent)}.dtable-row:last-child{border-bottom:none}.dtable-head{background:color-mix(in srgb,var(--bg) 35%,var(--panel));text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-11);color:var(--fg-muted)}.meter{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid color-mix(in srgb,var(--edge) 55%,transparent)}.meter:last-child{border-bottom:none}.meter-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px var(--sp-3);margin-bottom:9px}.meter-label{font-size:var(--fs-14);font-weight:500}.meter-detail{margin-left:auto;font-size:var(--fs-13);color:var(--fg-muted)}.meter-pct{font-size:var(--fs-13);min-width:46px;text-align:right}.meter-state{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.08em;min-width:58px;text-align:right}.meter-state[data-tone=ok]{color:var(--ok)}.meter-state[data-tone=warn]{color:var(--warn)}.meter-state[data-tone=down]{color:var(--down)}.meter-bar{height:8px;border-radius:var(--r-full);background:color-mix(in srgb,var(--edge) 75%,transparent);overflow:hidden}.meter-fill{display:block;height:100%;border-radius:inherit}.meter-note{margin:0;font-size:var(--fs-13)}@media (prefers-reduced-motion:no-preference){.meter-fill{transition:width var(--dur-3) var(--ease)}}.stat-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:0 var(--sp-6);gap:0 var(--sp-6);padding:6px var(--sp-4) var(--sp-3)}.stat-item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-2) 0;border-bottom:1px solid color-mix(in srgb,var(--edge) 45%,transparent);font-size:var(--fs-13)}.stat-list+.console-empty{padding-top:2px}.stat-key{color:var(--fg-muted)}.stat-val{font-size:var(--fs-13);text-align:right;overflow-wrap:anywhere}.progress{position:relative;height:6px;border-radius:var(--r-full);background:color-mix(in srgb,var(--edge) 80%,transparent);overflow:hidden}.progress-fill{display:block;height:100%;border-radius:inherit;background:var(--signal)}.progress-mark{position:absolute;top:0;bottom:0;width:2px;transform:translateX(-1px);background:color-mix(in srgb,var(--fg) 45%,transparent)}@media (prefers-reduced-motion:no-preference){.progress-fill{transition:width var(--dur-3) var(--ease)}}.difficulty{display:inline-flex;align-items:center;gap:3px}.diff-dot{width:5px;height:5px;border-radius:50%;background:var(--edge-strong)}.diff-dot.on{background:var(--fg-muted)}.disclosure{border:1px solid var(--edge);border-radius:var(--r-2);background:var(--panel);padding:var(--sp-3) var(--sp-4)}.disclosure>summary{cursor:pointer;color:var(--fg-muted);font-size:var(--fs-13);list-style:none;display:flex;align-items:center;gap:var(--sp-2)}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:before{content:"";width:0;height:0;border-left:5px solid;border-top:4px solid transparent;border-bottom:4px solid transparent;flex:0 0 auto}@media (prefers-reduced-motion:no-preference){.disclosure>summary:before{transition:transform var(--dur-1) var(--ease)}}.disclosure[open]>summary:before{transform:rotate(90deg)}.disclosure>summary:hover{color:var(--fg)}.disclosure-body{margin-top:var(--sp-3)}.app-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;justify-content:space-between;gap:var(--sp-4);min-height:var(--topbar-h);padding:0 var(--sp-6);border-bottom:1px solid var(--edge);background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-topbar,.brand-lockup{display:flex;align-items:center}.brand-lockup{gap:var(--sp-3);min-width:0}.brand-lockup>svg{flex:0 0 auto}.brand-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-18);letter-spacing:-.015em;white-space:nowrap}.brand-lockup a.brand-name{color:var(--fg)}.brand-lockup a.brand-name:hover{text-decoration:none;color:var(--signal)}.topnav{display:flex;gap:2px;margin-left:var(--sp-4)}.navlink{position:relative;font-family:var(--font-mono);font-size:var(--fs-13);letter-spacing:.02em;color:var(--fg-muted);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-2);text-decoration:none;white-space:nowrap;transition:color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.navlink:hover{color:var(--fg);text-decoration:none;background:color-mix(in srgb,var(--fg) 6%,transparent)}.navlink.active{color:var(--fg);background:var(--panel-2)}.navlink.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:2px;border-radius:1px;background:var(--signal)}.topbar-right{display:flex;gap:var(--sp-3);align-items:center;font-family:var(--font-mono);font-size:var(--fs-13);color:var(--fg-muted)}.whoami{display:flex;align-items:baseline;gap:6px;min-width:0}.whoami-name{color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whoami-role{color:var(--fg-faint)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-2);border:1px solid var(--edge);background:var(--panel-2);color:var(--fg-muted);cursor:pointer;flex:0 0 auto;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.theme-toggle:hover{color:var(--fg);border-color:var(--edge-strong)}.discord-link{display:inline-flex;align-items:center;gap:var(--sp-2);height:32px;padding:0 var(--sp-3);border-radius:var(--r-2);border:1px solid var(--edge);background:var(--panel-2);color:var(--fg-muted);font-family:var(--font-mono);font-size:var(--fs-13);letter-spacing:.02em;text-decoration:none;white-space:nowrap;flex:0 0 auto;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.discord-link:hover{color:var(--signal);border-color:var(--signal-dim);text-decoration:none}.topbar-right .discord-link{width:32px;padding:0;justify-content:center}.mobilenav,.mobilenav .discord-link,.topbar-right .discord-link-label{display:none}@media (max-width:1080px){.topbar-right .discord-link,.topnav{display:none}.mobilenav .discord-link{display:inline-flex}.mobilenav{position:-webkit-sticky;position:sticky;top:var(--topbar-h);z-index:39;display:flex;gap:2px;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--edge);background:var(--panel);overflow-x:auto;scrollbar-width:none}.mobilenav::-webkit-scrollbar{display:none}.mobilenav .navlink{flex:0 0 auto}}@media (max-width:780px){.app-topbar{padding:0 var(--sp-4)}.whoami-role{display:none}}@media (max-width:480px){.brand-name{display:none}}.page{max-width:var(--w-page);margin:0 auto;padding:var(--sp-8) var(--sp-6) var(--sp-10)}.page-narrow>*{max-width:var(--w-narrow);margin-inline:auto}@media (max-width:640px){.page{padding:var(--sp-6) var(--sp-4) var(--sp-9)}}.skip-link{position:absolute;left:var(--sp-4);top:-60px;z-index:80;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-2);background:var(--panel);border:1px solid var(--signal);color:var(--fg)}@media (prefers-reduced-motion:no-preference){.skip-link{transition:top var(--dur-1) var(--ease)}}.skip-link:focus-visible{top:var(--sp-2);text-decoration:none}.standalone{min-height:100dvh;display:grid;place-items:center;padding:var(--sp-6)}.standalone-card{display:flex;flex-direction:column;gap:var(--sp-5);align-items:flex-start;width:100%;max-width:46ch}.standalone-title{font-size:var(--fs-26);margin-top:var(--sp-2)}.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:2px;border-bottom:1px solid var(--edge);margin-bottom:var(--sp-6);scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{font-family:var(--font-mono);font-size:var(--fs-13);letter-spacing:.02em;color:var(--fg-muted);background:transparent;border:none;border-bottom:2px solid transparent;padding:var(--sp-3) var(--sp-3);margin-bottom:-1px;flex:0 0 auto;white-space:nowrap;cursor:pointer;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.tab.active,.tab:hover{color:var(--fg)}.tab.active{border-bottom-color:var(--signal)}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.brand-panel{position:relative;padding:var(--sp-9) var(--sp-10);background:radial-gradient(120% 90% at 8% -10%,color-mix(in srgb,var(--signal) 14%,transparent),transparent 60%),var(--panel);border-right:1px solid var(--edge);display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-8);overflow:hidden}@media (max-width:900px){.auth-shell{grid-template-columns:1fr}.brand-panel{display:none}}.brand-thesis{max-width:32ch}.brand-thesis>p{color:var(--fg-muted);margin:var(--sp-4) 0 0;max-width:36ch}.brand-thesis .brand-headline{font-family:var(--font-display);font-size:clamp(1.75rem,3.4vw,2.75rem);font-weight:600;line-height:var(--lh-tight);letter-spacing:-.015em;color:var(--fg);margin:0;max-width:none}.brand-thesis .brand-eyebrow{margin:0 0 var(--sp-4)}.range-teaser{border:1px solid var(--edge);border-radius:var(--r-2);background:color-mix(in srgb,var(--bg) 55%,var(--panel));font-family:var(--font-mono);font-size:var(--fs-12);overflow:hidden}.range-teaser .rt-head{display:flex;justify-content:space-between;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--edge);color:var(--fg-muted);letter-spacing:.08em;text-transform:uppercase}.range-teaser .rt-row{display:grid;grid-template-columns:auto minmax(0,1fr) 7ch 11ch;align-items:center;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid color-mix(in srgb,var(--edge) 55%,transparent)}.range-teaser .rt-row:last-child{border-bottom:none}.range-teaser .rt-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.range-teaser .rt-state{color:var(--fg-muted)}.range-teaser .rt-meta{color:var(--fg-faint);text-align:right}.rt-caption{margin:var(--sp-2) 0 0;font-family:var(--font-mono);font-size:var(--fs-11);color:var(--fg-faint)}.form-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:var(--sp-8) var(--sp-6)}.form-toggle{position:absolute;top:var(--sp-5);right:var(--sp-5)}.form-card{width:100%;max-width:var(--w-form)}.form-card h1{font-size:var(--fs-26);margin-top:var(--sp-2)}.form-card p.eyebrow{margin:0}.form-lede{color:var(--fg-muted);margin:var(--sp-2) 0 var(--sp-6)}.form-card p.field-error,.form-card p.field-hint,.form-card p.pw-match{margin-bottom:0}.form-card .btn-primary{margin-top:var(--sp-2)}.form-alert{margin-bottom:var(--sp-5)}.form-foot{display:block;margin:var(--sp-4) 0 0;font-size:var(--fs-13);color:var(--fg-faint)}.form-foot:empty{margin:0}.form-brand{display:none}@media (max-width:900px){.form-panel{align-items:flex-start;padding-top:var(--sp-8)}.form-brand{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-7)}}@media (max-width:480px){.form-panel{padding:var(--sp-7) var(--sp-4) var(--sp-9)}.form-toggle{top:var(--sp-4);right:var(--sp-4)}.form-brand{margin-bottom:var(--sp-6)}}.stepper{flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);list-style:none;margin:0 0 var(--sp-7);padding:0}.step,.stepper{display:flex;align-items:center}.step{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--fg-faint);gap:var(--sp-2)}.step .dot{width:7px;height:7px;border-radius:50%;background:var(--edge-strong);flex:0 0 auto}.step[data-state=active]{color:var(--fg)}.step[data-state=active] .dot{background:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 22%,transparent)}.step[data-state=done]{color:var(--fg-muted)}.step[data-state=done] .dot{background:var(--ok)}.step[data-state=more] .dot{background:transparent;border:1px dashed var(--edge-strong)}.enrol-key{margin-bottom:var(--sp-6)}.qr-frame{display:inline-block;padding:var(--sp-3);background:#fff;border-radius:var(--r-2);border:1px solid var(--edge);line-height:0}.qr-frame img{width:224px;height:224px;display:block}.qr-frame[data-loading]{background:var(--panel-2)}.qr-placeholder{width:224px;height:224px}.secret-row{margin-top:var(--sp-3);display:flex;flex-direction:column;align-items:flex-start;gap:6px}.secret-label{font-size:var(--fs-13);color:var(--fg-faint)}.secret-value{font-size:var(--fs-13);letter-spacing:.06em;overflow-wrap:anywhere}.secret-skeleton{width:18ch;height:var(--fs-16)}.retry-btn{margin-top:var(--sp-2)}.recovery-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-2);gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-14);margin:var(--sp-4) 0;padding:0;list-style:none}.recovery-grid li{background:var(--panel-2);border:1px solid var(--edge);border-radius:var(--r-1);padding:7px var(--sp-3);text-align:center;letter-spacing:.08em}.recovery-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4)}.copy-btn.copy-action{padding:6px var(--sp-3);margin:0;border-radius:var(--r-2);border-color:var(--edge-strong);font-size:var(--fs-13);color:var(--fg)}.copy-btn.copy-action:hover{border-color:var(--fg-faint)}.copy-btn.copy-action .copy-icon{opacity:1}.form-card .enter-btn{margin-top:var(--sp-4)}.auth-choice{align-items:flex-start;margin:var(--sp-5) 0}.auth-choice input{margin-top:var(--sp-1)}.switch-btn{margin-left:calc(var(--sp-3) * -1)}.caps-warn{display:block;margin-top:6px;font-size:var(--fs-13);color:var(--warn)}.pw-meter{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);font-size:var(--fs-12);color:var(--fg-muted)}.pw-track{flex:1 1;height:4px;border-radius:var(--r-full);background:color-mix(in srgb,var(--edge) 80%,transparent);overflow:hidden}.pw-fill{display:block;height:100%;border-radius:inherit;background:var(--fg-faint)}.pw-word{flex:0 0 auto;font-family:var(--font-mono)}.pw-meter[data-tone=ok] .pw-fill{background:var(--ok)}.pw-match,.pw-meter[data-tone=ok] .pw-word{color:var(--ok)}.pw-match{margin-top:6px;font-size:var(--fs-13)}@media (prefers-reduced-motion:no-preference){.pw-fill{transition:width var(--dur-2) var(--ease),background var(--dur-2) var(--ease)}}.progress-summary{display:flex;align-items:center;gap:var(--sp-4) var(--sp-7);flex-wrap:wrap;padding:var(--sp-4) var(--sp-5);border:1px solid var(--edge);border-radius:var(--r-2);background:var(--panel);margin-bottom:var(--sp-5)}.progress-figure{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.progress-count{font-family:var(--font-display);font-size:var(--fs-32);font-weight:600;line-height:var(--lh-tight);white-space:nowrap}.progress-count small{font-size:var(--fs-18);font-weight:400;color:var(--fg-muted)}.progress-track{flex:1 1 260px;min-width:160px}.progress-legend{display:flex;gap:var(--sp-2) var(--sp-4);flex-wrap:wrap;margin:var(--sp-2) 0 0;font-size:var(--fs-13);color:var(--fg-muted)}.hints-figure{display:flex;flex-direction:column;gap:var(--sp-1);margin-left:auto;min-width:0}.hints-count{font-family:var(--font-display);font-size:var(--fs-21);font-weight:600;line-height:var(--lh-tight);white-space:nowrap}.hints-count small{font-size:var(--fs-14);font-weight:400;color:var(--fg-muted)}.hints-sub{font-size:var(--fs-12)}.vpn-panel{background:color-mix(in srgb,var(--bg) 45%,var(--panel));border:1px solid var(--edge);border-radius:var(--r-2);overflow:hidden;margin-bottom:var(--sp-5)}.vpn-state{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);white-space:nowrap}.vpn-body{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-4)}.vpn-copy{flex:1 1 34ch;min-width:0}.vpn-copy p{margin:0 0 var(--sp-2);font-size:var(--fs-14);color:var(--fg-muted)}.vpn-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.vpn-note{padding:0 var(--sp-4) var(--sp-4)}.confirm-block p{margin:0 0 var(--sp-2);font-size:var(--fs-14)}.range-id{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);font-family:var(--font-mono);font-size:var(--fs-13);margin-top:var(--sp-3)}.range-id-item{display:inline-flex;align-items:baseline;gap:var(--sp-2);min-width:0}.range-id-key{color:var(--fg-faint);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.08em}.wg-config{border:1px solid var(--edge-strong);border-radius:var(--r-2);overflow:hidden;background:var(--bg)}.wg-config-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--edge);background:var(--panel-2);flex-wrap:wrap}.wg-config-actions{display:flex;gap:var(--sp-2)}.wg-config-note{margin:0;padding:var(--sp-3) var(--sp-4) 0;font-size:var(--fs-13);color:var(--fg-muted)}.wg-config-body{margin:0;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-12);line-height:var(--lh-snug);white-space:pre-wrap;word-break:break-all;color:var(--fg);max-height:320px;overflow:auto}.console-count{display:inline-flex;align-items:center;gap:var(--sp-3)}.console-columns,.console-row{display:grid;grid-template-columns:10px minmax(0,1fr) 7.8rem 5.4rem 3.6rem;align-items:center;grid-gap:var(--sp-2) var(--sp-4);gap:var(--sp-2) var(--sp-4);padding:var(--sp-2) var(--sp-4)}.console-columns{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--fg-faint);border-bottom:1px solid var(--edge);background:color-mix(in srgb,var(--bg) 25%,transparent)}.console-row{border-bottom:1px solid color-mix(in srgb,var(--edge) 55%,transparent);font-family:var(--font-mono);font-size:var(--fs-13)}.console-row:last-child{border-bottom:none}.console-name{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0}.console-box,.console-level{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-box{font-size:var(--fs-12);color:var(--fg-faint)}.console-addr{color:var(--fg-muted);white-space:nowrap}.console-ports,.console-state{color:var(--fg-faint);white-space:nowrap}@media (max-width:640px){.console-columns{display:none}.console-row{grid-template-columns:10px auto auto minmax(0,1fr);row-gap:var(--sp-1)}.console-name{grid-column:2/-1}.console-addr{grid-column:2/3}.console-ports{grid-column:3/4}.console-state{grid-column:4/-1;justify-self:end}}.track-map{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-5);padding:var(--sp-2) var(--sp-3);border:1px solid var(--edge);border-radius:var(--r-2);background:color-mix(in srgb,var(--bg) 45%,var(--panel))}.track-map-label{flex:0 0 auto;font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--fg-faint)}.track-map-list{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:var(--sp-1);list-style:none;margin:0;padding:0;scrollbar-width:none}.track-map-list::-webkit-scrollbar{display:none}.track-map-list>li{flex:0 0 auto}.track-chip{position:relative;display:inline-flex;align-items:baseline;gap:6px;padding:5px var(--sp-2) 7px;border-radius:var(--r-1);font-size:var(--fs-11);line-height:1.35;white-space:nowrap;color:var(--fg-muted);text-decoration:none}.track-chip:hover{text-decoration:none;color:var(--fg);background:color-mix(in srgb,var(--fg) 7%,transparent)}.track-chip-count{font-family:var(--font-mono);color:var(--fg-faint)}.track-chip-gauge{position:absolute;left:var(--sp-2);right:var(--sp-2);bottom:2px;height:2px;border-radius:var(--r-full);background:color-mix(in srgb,var(--edge) 85%,transparent);overflow:hidden}.track-chip-fill{display:block;height:100%;border-radius:inherit;background:var(--signal)}.track-chip[data-state=done] .track-chip-fill{background:var(--ok)}.track-chip[data-state=done] .track-chip-count,.track-chip[data-state=done] .track-chip-name{color:var(--ok)}.track-chip[data-state=untouched] .track-chip-name{color:var(--fg-faint)}@media (prefers-reduced-motion:no-preference){.track-chip{transition:color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.track-chip-fill{transition:width var(--dur-3) var(--ease)}}.track{margin-top:var(--sp-8);scroll-margin-top:calc(var(--topbar-h) + var(--sp-4))}@media (max-width:780px){.track{scroll-margin-top:calc(var(--topbar-h) * 2 + var(--sp-4))}}.track-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding-bottom:var(--sp-2);border-bottom:1px solid var(--edge);margin-bottom:var(--sp-3)}.track-name{font-size:var(--fs-13);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg)}.track-name,.track-progress{font-family:var(--font-mono)}.track-progress{font-size:var(--fs-12);color:var(--fg-faint);white-space:nowrap}.ladder{position:relative;padding-left:var(--sp-5)}.ladder:before{content:"";position:absolute;left:var(--sp-1);top:var(--sp-3);bottom:var(--sp-3);width:1px;background:var(--edge)}.level-block{position:relative;padding:var(--sp-3);border:1px solid transparent;border-bottom:1px solid color-mix(in srgb,var(--edge) 70%,transparent);border-radius:var(--r-2);scroll-margin-top:calc(var(--topbar-h) + var(--sp-4))}@media (max-width:780px){.level-block{scroll-margin-top:calc(var(--topbar-h) * 2 + var(--sp-4))}}.level-block:last-child{border-bottom-color:transparent}.level-block>.status-dot{position:absolute;left:calc(var(--sp-5) * -1);top:var(--sp-5);box-shadow:0 0 0 3px var(--bg)}.level-block[data-live=true]{background:color-mix(in srgb,var(--bg) 35%,var(--panel));border-color:var(--edge)}.level-block[data-status=submitted]{background:color-mix(in srgb,var(--warn) 7%,transparent);border-color:color-mix(in srgb,var(--warn) 22%,var(--edge))}.level-block[data-status=needs_revision]{background:color-mix(in srgb,var(--down) 7%,transparent);border-color:color-mix(in srgb,var(--down) 25%,var(--edge))}.level-block[data-status=passed] .level-name{color:var(--fg-muted)}.level-block[data-status=passed] .level-brief{color:var(--fg-faint)}.level-row{display:flex;align-items:flex-start;gap:var(--sp-3)}.level-main{flex:1 1;min-width:0}.level-name{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);font-family:var(--font-body);font-size:var(--fs-16);font-weight:500;letter-spacing:0}.level-brief{font-size:var(--fs-14);line-height:var(--lh-snug);color:var(--fg-muted);margin:var(--sp-1) 0 0;overflow-wrap:anywhere}.level-meta{gap:var(--sp-1) var(--sp-3);margin:var(--sp-2) 0 0;font-size:var(--fs-12);color:var(--fg-faint)}.level-meta,.level-side{display:flex;align-items:center;flex-wrap:wrap}.level-side{gap:var(--sp-2) var(--sp-3);justify-content:flex-end;flex:0 0 auto}.level-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2)}@media (max-width:720px){.level-row{flex-direction:column}.level-side{justify-content:space-between;width:100%}}.level-detail{margin-top:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3)}.level-targets{border:1px solid var(--edge);border-radius:var(--r-2);background:var(--bg);overflow:hidden}.level-target-row{display:flex;align-items:center;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-12);border-bottom:1px solid color-mix(in srgb,var(--edge) 55%,transparent)}.level-target-row:last-child{border-bottom:none}.level-target-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-target-links{display:flex;align-items:center;gap:var(--sp-1) var(--sp-2);flex-wrap:wrap;margin-left:auto}.level-target-links .btn{font-family:var(--font-mono)}.hint-list{display:flex;flex-direction:column;gap:var(--sp-3)}.hint{border-left:2px solid var(--signal-dim);padding-left:var(--sp-3);margin:0;font-size:var(--fs-14);line-height:var(--lh-snug);color:var(--fg-muted);overflow-wrap:anywhere}.hint-index{display:block;font-family:var(--font-mono);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint)}.hint-more{margin-top:var(--sp-3);padding-left:0}.hint-capped,.hint-end{margin:var(--sp-3) 0 0;font-size:var(--fs-13)}.hint-capped{line-height:var(--lh-body)}.hint-discord{color:var(--signal);text-decoration:underline}.hint-error{margin-top:var(--sp-3)}.level-note{font-size:var(--fs-14);line-height:var(--lh-snug);color:var(--fg-muted);margin:0;overflow-wrap:anywhere}.capture{display:flex;flex-direction:column;gap:var(--sp-2)}.capture .field-label{margin-bottom:0}.capture-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.capture-row .field-input{flex:1 1 22ch;max-width:40ch;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-14)}.proof-form{display:flex;flex-direction:column;gap:var(--sp-3)}.proof-lede{font-size:var(--fs-13);color:var(--fg-muted);margin:0}.proof-actions{display:flex;gap:var(--sp-3);align-items:center;justify-content:space-between;flex-wrap:wrap}.proof-form .file-field{flex-wrap:wrap}.feedback-title{margin-bottom:var(--sp-1)}.captured,.feedback-title{display:block;font-size:var(--fs-13)}.captured{margin:0;color:var(--ember);font-family:var(--font-mono)}@media (prefers-reduced-motion:no-preference){.level-block[data-captured=true]{animation:capture-flash var(--dur-3) var(--ease)}@keyframes capture-flash{0%{background:color-mix(in srgb,var(--ember) 20%,transparent)}}.captured{animation:capture-in var(--dur-2) var(--ease)}@keyframes capture-in{0%{opacity:0;transform:translateY(-2px)}}}@media (max-width:520px){.ladder{padding-left:var(--sp-4)}.level-block>.status-dot{left:calc(var(--sp-4) * -1)}.level-block{padding:var(--sp-3) var(--sp-2)}.capture-row .field-input{max-width:none}}.level-expiry{font-size:var(--fs-13);line-height:var(--lh-body);margin:var(--sp-3) 0 0}.level-expiry[data-soon]{color:var(--warn)}.nudge-scrim{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:color-mix(in srgb,var(--bg) 76%,transparent)}.nudge{width:100%;max-width:460px;padding:var(--sp-6);border:1px solid var(--edge-strong);border-left:3px solid var(--signal);border-radius:var(--r-3);background:var(--panel);box-shadow:var(--shadow-2)}.nudge-title{font-family:var(--font-display);font-size:var(--fs-18);line-height:var(--lh-snug);margin:0}.nudge-body{color:var(--fg-muted);font-size:var(--fs-14);line-height:var(--lh-body);margin:var(--sp-3) 0 var(--sp-6)}.nudge-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.nudge-ready,.nudge-wait{display:block;font-size:var(--fs-13);margin:var(--sp-3) 0 0}.lab-notes-hint{font-size:var(--fs-12);margin:var(--sp-1) 0 0}.lab-notes-status{font-size:var(--fs-12);margin:var(--sp-2) 0 0}