:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090d12;--panel:#111822;--panel-2:#151f2b;--line:#253445;--text:#edf6fb;--muted:#9eafbd;--teal:#2dd4bf;--cyan:#38bdf8;--green:#5ee28f;--amber:#f7c948;--red:#fb7185}*{box-sizing:border-box}html,body{background:radial-gradient(circle at 20% 0%, #2dd4bf14, transparent 34%), var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}:is(html:has(.obs-root),body:has(.obs-root)){background:0 0;width:100%;height:100%;overflow:hidden}a{color:var(--teal)}button,.button,input,select{border:1px solid var(--line);min-height:40px;color:var(--text);font:inherit;background:#111b26;border-radius:6px;padding:9px 12px}button,.button{cursor:pointer;font-weight:700;text-decoration:none}button:hover,.button:hover{border-color:var(--teal)}button:disabled,.disabled{opacity:.45;pointer-events:none}label{color:var(--muted);gap:7px;font-size:13px;display:grid}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #94a3b824;padding:12px 10px}th{color:#c8d7e2;text-transform:uppercase;font-size:12px}code,pre{font-family:Consolas,Liberation Mono,monospace}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:18px;width:min(420px,100%);padding:28px;display:grid;box-shadow:0 24px 80px #00000059}.auth-panel h1{margin:0}.admin-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--line);background:#080d13f5;grid-template-rows:auto 1fr auto auto;gap:22px;height:100vh;padding:24px 18px;display:grid;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{width:42px;height:42px;color:var(--teal);background:#0f2530;border:1px solid #2dd4bf59;border-radius:8px;place-items:center;font-weight:900;display:grid}.brand span:last-child{gap:2px;display:grid}.brand small,.hint,.empty{color:var(--muted)}.side-nav{align-content:start;gap:6px;display:grid}.side-nav a{color:#d7e6ee;border-radius:6px;align-items:center;min-height:38px;padding:9px 10px;text-decoration:none;display:flex}.side-nav a:hover{background:#38bdf81a}.status-stack,.status-table{gap:10px;display:grid}.status-line,.status-table div,.detail-list div{background:#ffffff06;border:1px solid #94a3b829;border-radius:6px;justify-content:space-between;gap:12px;padding:10px;display:flex}.status-line span,.status-table span,.detail-list dt{color:var(--muted)}.admin-content{width:min(1360px,100%);padding:34px}.page-stack{gap:24px;display:grid}.page-header{gap:8px;display:grid}.page-header h1{margin:0;font-size:clamp(30px,4vw,52px);line-height:1.02}.page-header p{max-width:760px;color:var(--muted);margin:0}.eyebrow{color:var(--teal);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900}.metric-grid,.grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.metric-grid.compact{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.metric-card,.metric,.panel{border:1px solid var(--line);background:linear-gradient(180deg, #ffffff09, #ffffff04), var(--panel);border-radius:8px;box-shadow:0 18px 50px #00000038}.metric-card,.metric{min-height:104px;padding:16px}.metric-card span,.metric span{color:var(--muted);font-size:13px;display:block}.metric-card strong,.metric strong{margin-top:8px;font-size:24px;line-height:1.05;display:block}.metric-card small{color:var(--muted);margin-top:8px;display:block}.metric-card.good{border-color:#5ee28f73}.metric-card.warn{border-color:#f7c94873}.metric-card.bad{border-color:#fb718580}.panel{gap:16px;padding:20px;display:grid}.panel h2{margin:0;font-size:20px}.split-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;display:grid}.toolbar,.action-grid,.preview-links,.token-result{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.form-grid{align-content:start}.form-grid form,.inline-form{gap:10px;display:grid}.toggle{grid-template-columns:auto 1fr;align-items:center}.ghost-button{background:0 0}.danger-button{color:#fecdd3;border-color:#fb718599}.full{width:100%}.alert{color:#fecdd3}.badge{color:#d9f3ff;background:#38bdf814;border:1px solid #38bdf859;border-radius:999px;align-items:center;min-height:26px;padding:4px 9px;font-size:12px;font-weight:800;display:inline-flex}.badge.warn{color:#fde68a;background:#f7c9481a;border-color:#f7c94880}.table-wrap{overflow-x:auto}.developer-details{border-top:1px solid #94a3b829;padding-top:12px}.developer-details summary{cursor:pointer;color:var(--muted)}.developer-details pre,.data{border:1px solid var(--line);background:#060a0f;border-radius:8px;max-height:420px;padding:16px;overflow:auto}.detail-list{gap:10px;margin:0;display:grid}.detail-list dd{margin:0}.segments,.obs-segments{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.segments span,.obs-segments i{background:#94a3b838;border-radius:999px;height:14px}.segments .filled,.obs-segments .on{background:linear-gradient(90deg, var(--teal), var(--cyan))}.hero-progress{grid-template-columns:minmax(160px,240px) 1fr;align-items:center}.hero-progress strong{font-size:48px;display:block}.candidate-grid,.participant-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.candidate-card,.participant-card{border:1px solid #94a3b82e;border-left:4px solid var(--accent,var(--cyan));background:var(--panel-2);border-radius:8px;gap:8px;padding:14px;display:grid}.candidate-card.muted,.participant-card.muted{opacity:.55}.color-dot{background:var(--accent,var(--cyan));border-radius:50%;width:16px;height:16px}.copy-row,.token-result input{background:#2dd4bf0f;border:1px dashed #2dd4bf59;border-radius:6px;padding:12px;overflow:auto}.token-tool{gap:12px;display:grid}.token-result input{flex:340px}.check-list{color:#d6e3ea;margin:0;padding-left:20px}.obs-preview{border-color:#2dd4bf47}.obs-root{pointer-events:none;color:#fff;background:0 0;width:100vw;height:100vh;font-family:Arial Black,Impact,Arial,sans-serif;position:fixed;inset:0;overflow:hidden}.obs-progress{text-shadow:0 3px 10px #000000b3;background:#050c12c2;border:2px solid #2dd4bf8c;border-radius:8px;gap:10px;width:520px;padding:22px 26px;display:grid;position:absolute;top:54px;left:64px}.obs-progress span,.obs-status span{font-size:18px}.obs-progress strong{font-size:58px;line-height:.95}.obs-progress em{color:#fde68a;font-size:24px;font-style:normal}.obs-wheel{place-items:center;width:480px;height:480px;display:grid;position:absolute;top:120px;right:90px}.wheel-disc{border:16px solid color-mix(in srgb, var(--winner,#38bdf8), white 22%);width:430px;height:430px;box-shadow:0 0 48px color-mix(in srgb, var(--winner,#38bdf8), transparent 40%);background:conic-gradient(#2dd4bfe6,#38bdf8e6,#f7c948e6,#2dd4bfe6);border-radius:50%;place-items:center;animation:2.8s cubic-bezier(.2,.85,.2,1) infinite wheel-spin;display:grid}.wheel-name{text-align:center;text-shadow:0 4px 10px #000c;background:#0000008c;border-radius:8px;max-width:340px;padding:8px 16px;font-size:38px;position:absolute}.pointer{z-index:2;filter:drop-shadow(0 8px 12px #0000008c);border-top:64px solid #fde68a;border-left:28px solid #0000;border-right:28px solid #0000;width:0;height:0;position:absolute;top:0}.wheel-caption{text-align:center;background:#060a0fd1;border:2px solid #ffffff80;border-radius:8px;min-width:260px;padding:10px 18px;font-size:28px;position:absolute;bottom:0}.obs-result{text-align:center;text-shadow:0 4px 12px #000c;background:#080c12d6;border:2px solid #f7c948b3;border-radius:8px;gap:8px;width:720px;padding:24px 34px;display:grid;position:absolute;bottom:78px;left:50%;transform:translate(-50%)}.obs-result strong{color:#fde68a;font-size:58px;line-height:1}.obs-result span{font-size:34px}.obs-result em{color:var(--teal);font-size:22px;font-style:normal}.obs-status{background:#050a10bd;border:2px solid #38bdf873;border-radius:8px;gap:6px;min-width:300px;padding:18px;display:grid;position:absolute;bottom:42px;right:44px}.obs-status strong{color:var(--teal);font-size:30px}@keyframes wheel-spin{0%{transform:rotate(0)}70%,to{transform:rotate(720deg)}}@media (max-width:860px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.admin-content{padding:22px}.hero-progress{grid-template-columns:1fr}}
