@font-face{font-family:Saira;src:url(../../../fonts/Saira-var.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Saira Condensed;src:url(../../../fonts/SairaCondensed-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Saira Condensed;src:url(../../../fonts/SairaCondensed-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Saira Condensed;src:url(../../../fonts/SairaCondensed-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Saira Stencil One;src:url(../../../fonts/SairaStencilOne-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--night:#050506;--cobalt:#0a2bff;--rose:#024bff;--rose-light:#ff7bae;--dawn:#ffd7e6;--day:#fff;--bg:#fbfafd;--surface:var(--day);--border:#e9e2f1;--ink:#17121f;--ink-2:#5f566d;--brand:var(--cobalt);--brand-hover:#0822c8;--brand-soft:#e9ecff;--held:var(--rose);--held-soft:#e4e9ff;--danger:#cf1f5c;--danger-hover:#a81448;--danger-soft:#ffe9f1;--dawn-soft:#fff3f8;--night-prose:#e7e0f3;--night-fine:#efe9f8;--night-dim:#9a8fb0;--day-prose:#463e55;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #17121f12, 0 6px 16px #17121f0f;--shadow-raise:0 2px 4px #17121f1a, 0 10px 24px #024bff29;--horizon:linear-gradient(90deg, var(--cobalt), var(--rose) 46%, var(--rose-light));--horizon-cta:linear-gradient(90deg, var(--cobalt), var(--rose) 50%, #c22b6b);--font:system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Saira Condensed", var(--font);--font-cue:"Saira Stencil One", var(--font-display)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{font-family:var(--font);background:var(--bg);color:var(--ink);margin:0;font-size:15px;line-height:1.55}.app-nav{background:var(--night);border-bottom:3px solid #0000;border-image:var(--horizon) 1;align-items:center;gap:24px;height:56px;padding:0 24px;display:flex}.app-nav a{color:#c9bed6;font-size:14px;text-decoration:none}.app-nav a:hover{color:var(--day)}.app-nav .brand{font-family:var(--font-cue);color:var(--day);letter-spacing:.06em;text-transform:uppercase;font-size:15px;font-weight:400}.app-main{max-width:900px;margin:32px auto;padding:0 20px}.app-main>.btn{margin-bottom:18px}h1{font-family:var(--font-display);letter-spacing:.01em;margin:0 0 4px;font-size:26px;font-weight:600}.page-sub{color:var(--ink-2);margin:0 0 24px;font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;padding:20px}.btn{background:var(--horizon-cta);color:var(--day);font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:8px 20px;text-decoration:none;transition:transform .14s,box-shadow .14s,filter .14s;display:inline-block}.btn:hover{filter:brightness(1.12);box-shadow:var(--shadow-raise);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--border);font-weight:500}.btn.secondary:hover{background:var(--bg);filter:none;box-shadow:none}.btn.danger{background:var(--danger)}.btn.danger:hover{background:var(--danger-hover);filter:none}.btn.small{padding:5px 12px;font-size:13px}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.app-nav a:focus-visible,.cue-strip a:focus-visible{outline-color:var(--rose-light)}input,select{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font);background:var(--surface);color:var(--ink);padding:8px 10px}input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}form.inline{display:inline}.muted{color:var(--ink-2);font-size:13px}code{background:var(--dawn-soft);border-radius:4px;padding:1px 6px}.badge{font-variant-numeric:tabular-nums;background:var(--held-soft);color:var(--held);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.badge.neutral{color:var(--ink-2);background:#f1edf5}.badge.ok{background:var(--brand-soft);color:var(--brand)}.badge.danger,.badge.attention{background:var(--danger-soft);color:var(--danger)}.stats{flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.quote{background:var(--dawn-soft);border-radius:var(--radius-sm);color:var(--ink);margin:8px 0;padding:10px 14px}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}th{font-family:var(--font-display);color:var(--ink-2);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:600}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 8px}tbody tr:last-child td{border-bottom:0}@media (width<=760px){.stack-table thead{display:none}.stack-table,.stack-table tbody,.stack-table tr,.stack-table td{width:100%;display:block}.stack-table tr{border-bottom:1px solid var(--border);padding:8px 0}.stack-table tbody tr:last-child{border-bottom:0}.stack-table td{border-bottom:0;padding:3px 0}.stack-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-size:11px;font-weight:600;display:block}}.empty{text-align:center;color:var(--ink-2);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:48px 24px}.empty p{color:var(--ink);margin:0 0 6px;font-size:15px;font-weight:500}.empty .muted{font-size:14px}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f0ecf6 25%,#faf7fc 50%,#f0ecf6 75%) 0 0/200% 100%;min-height:16px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.error-box{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);border:1px solid #f6b8cd;margin-bottom:14px;padding:12px 16px;font-size:14px}.flash{background:var(--brand-soft);color:var(--brand);border-radius:var(--radius-sm);border:1px solid #b9c4ff;margin-bottom:14px;padding:10px 16px;font-size:14px}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}.btn{transition:none}}
