:root{--duck:#ffcf33;--duck-deep:#f0a500;--bg:#0f1117;--bg-2:#171a23;--bg-3:#1f2430;--border:#2a2f3c;--text:#e6e8ee;--text-dim:#9aa2b1;--good:#3ecf8e;--warn:#f5c451;--bad:#f2555a;--radius:14px;--shadow:0 8px 24px #00000059;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;width:100%;min-height:100svh;display:flex}h1,h2,h3{color:var(--text);margin:0;font-weight:700}p{margin:0}code{font-family:var(--mono);background:var(--bg-3);color:var(--duck);border-radius:6px;padding:2px 7px}button{cursor:pointer;border:none;font-family:inherit}.btn-primary{background:var(--duck);color:#1a1400;border-radius:10px;padding:12px 22px;font-weight:700;transition:transform 80ms,filter .15s}.btn-primary:hover{filter:brightness(1.07)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-3);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 16px;font-weight:600}.btn-secondary:hover{border-color:var(--duck)}.btn-ghost{color:var(--text-dim);border:1px solid var(--border);background:0 0;border-radius:10px;padding:8px 14px}.btn-ghost:hover{color:var(--text);border-color:var(--text-dim)}.big{padding:14px 26px;font-size:1.05rem}.center-screen{flex:1;place-items:center;padding:24px;display:grid}.home{background:radial-gradient(1200px 500px at 50% -10%,#ffcf3314,#0000);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 20px;display:flex}.home-card,.gate-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:20px;width:100%;max-width:460px;padding:32px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand h1{letter-spacing:-.5px;font-size:30px}.brand h1 span{color:var(--duck)}.brand.small{justify-content:center}.brand-duck{font-size:34px}.brand-duck.small{font-size:20px}.tagline{color:var(--text-dim)}.field{text-align:left;flex-direction:column;gap:8px;display:flex}.field>span{color:var(--text-dim);font-size:.9rem;font-weight:600}.field em{color:var(--text-dim);opacity:.8;font-style:normal;font-weight:400}input,textarea{background:var(--bg-3);border:1px solid var(--border);color:var(--text);resize:vertical;border-radius:10px;padding:12px 14px;font-family:inherit;font-size:1rem}input:focus,textarea:focus{border-color:var(--duck);outline:none}.deck-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.deck-option{background:var(--bg-3);border:1.5px solid var(--border);text-align:left;color:var(--text);border-radius:10px;flex-direction:column;gap:6px;padding:12px;display:flex}.deck-option small{color:var(--text-dim);font-family:var(--mono);font-size:.8rem}.deck-option.selected{border-color:var(--duck);background:#ffcf3314}.checkbox{color:var(--text-dim);text-align:left;align-items:center;gap:10px;font-size:.92rem;display:flex}.checkbox input{width:18px;height:18px;accent-color:var(--duck)}.home-footer{color:var(--text-dim);margin-top:22px;font-size:.85rem}.loading{color:var(--text-dim);font-size:1.1rem}.error-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:32px;display:flex}.room{flex:1;min-height:100svh;display:flex}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);flex-direction:column;width:280px;transition:width .18s;display:flex}.sidebar.collapsed{width:52px}.sidebar-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.sidebar.collapsed .sidebar-head h3{display:none}.collapse-btn{background:var(--bg-3);color:var(--text-dim);border-radius:8px;width:28px;height:28px;font-size:1.1rem}.issue-list{flex-direction:column;flex:1;gap:6px;margin:0;padding:8px;list-style:none;display:flex;overflow-y:auto}.issue-empty{color:var(--text-dim);text-align:center;padding:12px;font-size:.88rem}.issue{background:var(--bg-3);cursor:pointer;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:10px 12px;font-size:.92rem;display:flex}.issue:hover{border-color:var(--border)}.issue.current{border-color:var(--duck);background:#ffcf3314}.issue-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.issue-estimate{background:var(--duck);color:#1a1400;border-radius:6px;padding:1px 8px;font-size:.82rem;font-weight:700}.issue-del{color:var(--text-dim);background:0 0;padding:0 4px;font-size:1.1rem;line-height:1}.issue-del:hover{color:var(--bad)}.issue-add{border-top:1px solid var(--border);gap:6px;padding:12px;display:flex}.issue-add input{flex:1;padding:9px 11px}.sidebar.collapsed .issue-list,.sidebar.collapsed .issue-add{display:none}.table-area{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 22px;display:flex}.topbar-left{align-items:center;gap:12px;display:flex}.room-id{color:var(--text-dim);font-size:.92rem}.conn{font-size:.8rem}.conn.ok{color:var(--good)}.conn.warn{color:var(--warn)}.conn.bad{color:var(--bad)}.table{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:32px;padding:32px;display:flex;position:relative}.seats{flex-wrap:wrap;justify-content:center;gap:22px;max-width:900px;display:flex}.seat{flex-direction:column;align-items:center;gap:8px;display:flex}.seat-card{background:var(--bg-3);border:2px dashed var(--border);width:62px;height:88px;color:var(--text-dim);border-radius:10px;place-items:center;font-size:1.5rem;font-weight:700;transition:transform .18s,background .18s,border-color .18s;display:grid}.seat-card.flipped{background:linear-gradient(135deg, var(--duck-deep), var(--duck));border:2px solid var(--duck);color:#1a1400}.seat-card.revealed{background:var(--bg-3);border:2px solid var(--duck);color:var(--text);animation:.2s pop}.seat-card.gone{opacity:.4}@keyframes pop{0%{transform:scale(.8)}to{transform:scale(1)}}.seat.me .seat-name{color:var(--duck);font-weight:700}.seat-name{color:var(--text);text-align:center;max-width:100px;font-size:.9rem}.you-tag{color:var(--text-dim);font-weight:400}.gone-tag{color:var(--text-dim);font-size:.8rem}.table-center{place-items:center;min-height:150px;display:grid}.center-panel{flex-direction:column;align-items:center;gap:14px;display:flex}.center-hint{font-size:1.2rem;font-weight:600}.center-sub{color:var(--text-dim);font-size:.9rem}.spectators{color:var(--text-dim);font-size:.85rem;position:absolute;bottom:12px}.results{flex-direction:column;align-items:center;gap:18px;min-width:280px;display:flex}.consensus{color:var(--good);font-size:1.8rem;font-weight:800}.results-avg{flex-direction:column;align-items:center;display:flex}.avg-num{color:var(--duck);font-size:3rem;font-weight:800;line-height:1}.avg-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:.85rem}.dist{flex-direction:column;gap:8px;width:300px;max-width:80vw;display:flex}.dist-row{align-items:center;gap:10px;display:flex}.dist-card{text-align:center;width:36px;font-weight:700;font-family:var(--mono)}.dist-bar{background:var(--bg-3);border-radius:6px;flex:1;height:12px;overflow:hidden}.dist-fill{background:var(--duck);border-radius:6px;height:100%;display:block}.dist-count{width:22px;color:var(--text-dim);font-size:.9rem}.results-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.deck{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:10px;padding:20px 24px 8px;display:flex}.hand-card{background:var(--bg-3);border:2px solid var(--border);width:58px;height:82px;color:var(--text);border-radius:10px;font-size:1.3rem;font-weight:700;transition:transform .12s,border-color .12s,background .12s}.hand-card:hover{border-color:var(--duck);transform:translateY(-8px)}.hand-card.picked{background:linear-gradient(135deg, var(--duck-deep), var(--duck));border-color:var(--duck);color:#1a1400;transform:translateY(-12px)}.deck-hint{text-align:center;color:var(--text-dim);border-top:1px solid var(--border);padding:22px}.self-controls{justify-content:center;padding:6px 0 18px;display:flex}@media (width<=720px){.sidebar{z-index:10;height:100%;position:fixed}.sidebar.collapsed{width:52px}.deck-options{grid-template-columns:1fr}.seat-card{width:52px;height:74px;font-size:1.2rem}}
