:root{--bg:#14121f;--panel:#221f33;--text:#f2f0ff;--muted:#a39fbd;--accent:#fc3;--danger:#ff5c7a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0}#app{position:fixed;inset:0}.screen{max-width:28rem;height:100%;padding:max(1.5rem, env(safe-area-inset-top)) 1rem max(1.5rem, env(safe-area-inset-bottom));flex-direction:column;gap:.75rem;margin:0 auto;display:flex;overflow-y:auto}h1{margin:.5rem 0 0;font-size:2rem}h2{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:1rem 0 0;font-size:1rem}p{margin:0}.muted{color:var(--muted)}.error{color:var(--danger)}button{font:inherit;color:var(--text);background:var(--panel);touch-action:manipulation;border:0;border-radius:.75rem;padding:.85rem 1rem}button:disabled{opacity:.4}button.primary{background:var(--accent);color:#1a1400;font-weight:700}button.big{padding:1.1rem;font-size:1.25rem}button.link{color:var(--muted);background:0 0}.card{text-align:left;flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.row{gap:.5rem;display:flex}.code-input{min-width:0;font:inherit;letter-spacing:.3em;text-align:center;color:var(--text);background:var(--panel);-webkit-user-select:text;user-select:text;border:2px solid #0000;border-radius:.75rem;flex:1;padding:.5rem;font-size:1.5rem}.code-input:focus{border-color:var(--accent);outline:none}.invite{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.qr{background:#fff;border-radius:.5rem}.code{letter-spacing:.3em;font-size:2.5rem;font-weight:800}.seats{flex-direction:column;gap:.5rem;display:flex}.seat{background:var(--panel);border-radius:.75rem;flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.seat.waiting{color:var(--muted)}.game{touch-action:none;position:absolute;inset:0}.overlay{text-align:center;background:#14121fd9;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1rem;display:flex;position:absolute;inset:0}.overlay.clear{pointer-events:none;background:0 0}.overlay button{width:min(20rem,100%)}.count{color:var(--accent);text-shadow:0 .25rem 1.5rem #000;font-size:7rem;font-weight:900}.banner{top:env(safe-area-inset-top);background:var(--danger);color:#fff;border-radius:0 0 .5rem .5rem;padding:.25rem .75rem;font-size:.85rem;position:absolute;left:50%;transform:translate(-50%)}
