:root{--font-fraunces:var(--font-inter);--surface:#f8f9fb;--surface-low:#f1f4f7;--surface-lowest:#fff;--surface-high:#e7ecf1;--surface-highest:#dbe4ea;--inverse-surface:#0c0f10;--ink:#2b3438;--ink-muted:#586065;--ink-subtle:#8a9299;--line:#abb3b947;--primary:#5f5e5e;--primary-dim:#535252;--on-primary:#faf7f6;--accent:#005bc4;--accent-dim:#004fad;--on-accent:#fff;--sidebar-bg:#0c0f10;--sidebar-ink:#fff;--sidebar-ink-muted:#abb3b9;--sidebar-active-bg:#5f5e5e;--sidebar-hover-bg:#5f5e5e38;--sidebar-divider:#ffffff14;--ok:#1f7a4d;--ok-bg:#e6f4ec;--warn:#a05a00;--warn-bg:#fbf0dc;--danger:#9f403d;--danger-bg:#fbe6e5;--info:#005bc4;--info-bg:#e1ecfb;--density-row:.75rem;--density-gap:1rem;--density-page-pad:2.5rem}.dark{--surface:#0c0f10;--surface-low:#151a1c;--surface-lowest:#1c2225;--surface-high:#242b2f;--surface-highest:#2e3539;--inverse-surface:#f8f9fb;--ink:#e7ecf1;--ink-muted:#9aa3a9;--ink-subtle:#6c7479;--line:#abb3b924;--primary:#e7ecf1;--primary-dim:#f8f9fb;--on-primary:#0c0f10;--accent:#3b82f6;--accent-dim:#2563eb;--info:#3b82f6;--ok-bg:#1f7a4d2e;--warn-bg:#a05a0033;--danger-bg:#9f403d38;--info-bg:#3b82f62e}:root,.dark{--background:var(--surface);--foreground:var(--ink);--card:var(--surface-lowest);--card-foreground:var(--ink);--popover:var(--surface-lowest);--popover-foreground:var(--ink);--primary:var(--ink);--primary-foreground:var(--surface);--secondary:var(--surface-low);--secondary-foreground:var(--ink);--muted:var(--surface-low);--muted-foreground:var(--ink-muted);--destructive:var(--danger);--border:var(--line);--input:var(--line)}[data-density=compact]{--density-row:.5rem;--density-gap:.75rem;--density-page-pad:1.75rem}[data-accent=sage]{--accent:#3d6b50;--accent-dim:#2c5238;--info:#3d6b50;--info-bg:#e6f0ea}[data-accent=terracotta]{--accent:#9c4a2a;--accent-dim:#7e3a1f;--info:#9c4a2a;--info-bg:#f6e6df}[data-accent=ink]{--accent:#2b3438;--accent-dim:#0c0f10;--info:#2b3438;--info-bg:#e2e8ec}.dark[data-accent=sage]{--info-bg:#3d6b5038}.dark[data-accent=terracotta]{--info-bg:#9c4a2a38}.dark[data-accent=ink]{--info-bg:#e7ecf11a}
html,body{height:100%}body{font-feature-settings:"cv02", "cv03", "cv04", "cv11", "ss01";-webkit-font-smoothing:antialiased}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;-webkit-user-select:none;user-select:none}.icon-fill{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.scroll-polish::-webkit-scrollbar{width:10px;height:10px}.scroll-polish::-webkit-scrollbar-track{background:0 0}.scroll-polish::-webkit-scrollbar-thumb{background:var(--line);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.scroll-polish::-webkit-scrollbar-thumb:hover{background:var(--ink-subtle);background-clip:padding-box;border:2px solid #0000}.edge{box-shadow:inset 0 0 0 1px var(--line)}.edge-ghost{box-shadow:inset 0 0 0 1px #abb3b929}.card{background:var(--surface-lowest);box-shadow:inset 0 0 0 1px var(--line);border-radius:1rem}.card-sunken{background:var(--surface-low);border-radius:1rem}.chip{letter-spacing:.02em;border-radius:999px;align-items:center;gap:.375rem;padding:.125rem .625rem;font-size:11px;font-weight:600;line-height:1.5;display:inline-flex}@keyframes beacon-pulse-ring{0%{opacity:.35;transform:scale(.8)}to{opacity:0;transform:scale(2.4)}}.beacon-pulse-ring{animation:1.8s ease-out infinite beacon-pulse-ring}.beacon{background:currentColor;border-radius:999px;flex-shrink:0;width:8px;height:8px;display:inline-block}.beacon-pulse:before{content:"";opacity:.25;background:currentColor;border-radius:999px;animation:1.8s ease-out infinite beacon-pulse;position:absolute;inset:-4px}@keyframes beacon-pulse{0%{opacity:.35;transform:scale(.8)}to{opacity:0;transform:scale(1.9)}}.btn{cursor:pointer;white-space:nowrap;border-radius:.625rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:13px;font-weight:500;line-height:1.4;transition:all .18s cubic-bezier(.2,.8,.2,1);display:inline-flex}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 1px 2px #0c0f1014,inset 0 1px #ffffff14}.btn-primary:hover{background:var(--primary-dim)}.btn-accent{background:var(--accent);color:var(--on-accent)}.btn-accent:hover{background:var(--accent-dim)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--surface-high)}.btn-outline{background:var(--surface-lowest);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.btn-outline:hover{background:var(--surface-low)}.btn-sm{padding:.35rem .75rem;font-size:12px}.btn-lg{padding:.65rem 1.25rem;font-size:14px}.input{background:var(--surface-lowest);width:100%;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);border-radius:.5rem;padding:.5rem .75rem;font-size:13px;transition:box-shadow .16s}.input-icon-left{padding-left:2.25rem}.input:focus{box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 3px var(--info-bg);outline:none}.label-cap{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);font-size:10px;font-weight:700}.display-num{font-family:var(--font-inter), "Inter", system-ui, sans-serif;font-feature-settings:"tnum" 1, "lnum" 1;letter-spacing:-.03em;font-weight:800;line-height:1}.tbl{width:100%;font-size:13px}.tbl th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);background:var(--surface-low);padding:.75rem 1rem;font-size:10px;font-weight:700}.tbl td{border-top:1px solid var(--line);vertical-align:middle;padding:.875rem 1rem}.tbl tbody tr:hover{background:var(--surface-low)}[data-density=compact] .tbl td,[data-density=compact] .tbl th{padding:.5rem .75rem}.progress{background:var(--surface-high);border-radius:999px;height:4px;overflow:hidden}.progress>span{background:var(--accent);border-radius:999px;height:100%;transition:width .4s;display:block}@keyframes soft-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.32s cubic-bezier(.2,.8,.2,1) both soft-fade}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.text-danger{color:var(--danger)}.bg-ok-bg{background:var(--ok-bg)}.bg-warn-bg{background:var(--warn-bg)}.bg-danger-bg{background:var(--danger-bg)}.bg-info-bg{background:var(--info-bg)}.side-item{letter-spacing:.04em;text-transform:uppercase;color:var(--sidebar-ink-muted);cursor:pointer;border-radius:.5rem;align-items:center;gap:.75rem;padding:.7rem .9rem;font-size:13px;font-weight:600;transition:all .3s;display:flex}.side-item:hover{background:var(--sidebar-hover-bg);color:#fff}.side-item.active{background:var(--sidebar-active-bg);color:#fff;transform:scale(.985);box-shadow:0 1px 2px #0003}.side-item .material-symbols-outlined{flex-shrink:0;font-size:20px}[data-sidebar=dark] .label-cap{color:var(--sidebar-ink-muted)}.tweak-panel{background:var(--surface-lowest);width:320px;max-height:calc(100vh - 2rem);box-shadow:0 20px 50px -12px #0c0f102e, inset 0 0 0 1px var(--line);z-index:80;border-radius:1rem;flex-direction:column;display:flex;position:fixed;bottom:1rem;right:1rem;overflow:hidden}.seg{background:var(--surface-high);border-radius:.55rem;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--ink-muted);cursor:pointer;white-space:nowrap;border-radius:.4rem;padding:.3rem .7rem;font-size:12px;font-weight:500;transition:all .16s}.seg button.active{background:var(--surface-lowest);color:var(--ink);box-shadow:0 1px 2px #0c0f100f}.unit-chip{background:var(--surface-high);min-width:2.25rem;height:1.75rem;font-family:var(--font-inter), "Inter", system-ui, sans-serif;letter-spacing:.02em;color:var(--ink);border-radius:.375rem;justify-content:center;align-items:center;padding:.125rem .5rem;font-size:13px;font-weight:700;display:inline-flex}.avatar{background:var(--surface-highest);width:2rem;height:2rem;color:var(--ink);letter-spacing:.02em;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.gap-y-stack>*+*{margin-top:var(--density-gap)}.step-dot{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:12px;font-weight:600;display:inline-flex}.mask-fade-b{-webkit-mask-image:linear-gradient(#000 85%,#0000);mask-image:linear-gradient(#000 85%,#0000)}@media print{.no-print{display:none!important}}
