:root{--paper:#f1ece2;--paper-2:#e6dfd1;--ink:#141414;--muted:#5c574f;--red:#d63a2f;--blue:#1f4e9e;--yellow:#f2b90c;--rule:3px solid var(--ink);--nav-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Jost,Futura,Century Gothic,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--paper);min-height:100dvh;margin:0}h1,h2{text-transform:uppercase;letter-spacing:.02em;margin:0;font-weight:700;line-height:1}h1{font-size:clamp(2rem,8vw,3rem)}h2{letter-spacing:.08em;font-size:1rem}.screen{max-width:560px;padding:24px 16px calc(32px + env(safe-area-inset-bottom));margin:0 auto}.screen.center{min-height:calc(100dvh - var(--nav-h));flex-direction:column;justify-content:center;gap:20px;display:flex}.stack{flex-direction:column;gap:16px;display:flex}.row{gap:12px;display:flex}.row>*{flex:1}.muted{color:var(--muted)}.small{font-size:.85rem}.lead{max-width:34ch;margin:0;font-size:1.1rem;line-height:1.45}input,button{font:inherit;border:var(--rule);border-radius:0;min-height:56px;padding:14px 16px}input{width:100%;color:var(--ink);background:#fff;outline:none;font-size:1.1rem}input::placeholder{color:#8a847a}input:focus{box-shadow:6px 6px 0 var(--blue)}button{background:var(--paper);color:var(--ink);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-weight:700;transition:transform 80ms,box-shadow 80ms}button:not(:disabled):hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}button:not(:disabled):active{box-shadow:none;transform:none}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--red);color:#fff}button.ghost{background:0 0}.banner{border:var(--rule);background:var(--paper-2);padding:12px 14px;font-weight:500}.banner.error{background:var(--red);color:#fff}.banner.success{background:var(--yellow);text-align:center}.invite{border:var(--rule);background:#fff;flex-direction:column;gap:10px;padding:14px;display:flex}.seats{border:var(--rule);margin:0;padding:0;list-style:none}.seats li{background:#fff;align-items:center;gap:12px;padding:14px;display:flex}.seats li+li{border-top:var(--rule)}.seats li.empty{background:var(--paper-2);color:var(--muted)}.seat-name{flex:1;font-weight:500}.seat-status{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700}.dot{border:2px solid var(--ink);background:0 0;border-radius:50%;width:14px;height:14px}.dot.on{background:var(--blue)}.rules summary{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;font-weight:700}.rules ol{padding-left:22px;line-height:1.6}.picked{border:var(--rule);background:var(--blue);color:#fff;flex-direction:column;gap:4px;padding:16px;display:flex}.picked .muted{color:#c9d5ec}.picked strong{text-transform:uppercase;font-size:1.5rem}.search{position:relative}.suggestions{z-index:10;border:var(--rule);box-shadow:6px 6px 0 var(--ink);background:#fff;margin:0;padding:0;list-style:none;position:absolute;top:calc(100% - 3px);left:0;right:0}.suggestions li{cursor:pointer;justify-content:space-between;gap:12px;padding:12px 14px;display:flex}.suggestions li+li{border-top:1px solid var(--paper-2)}.suggestions li.active{background:var(--yellow)}.suggestions li.active .muted{color:var(--ink)}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.reject{background:var(--red);color:#fff;margin:0;padding:10px 12px;font-weight:500}.hud{top:var(--nav-h);z-index:5;background:var(--paper);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex;position:sticky}.timer{font-variant-numeric:tabular-nums;background:var(--ink);color:var(--paper);padding:2px 16px;font-size:2.2rem;font-weight:700}.timer.low{background:var(--red);color:#fff}.hud-links{text-transform:uppercase;letter-spacing:.08em;flex:1;font-weight:700}.controls{flex-direction:column;gap:10px;padding-top:12px;display:flex}.chain{flex-direction:column;align-items:stretch;display:flex}.card{border:var(--rule);background:#fff;align-items:center;gap:12px;padding:14px 16px;animation:.2s ease-out pop;display:flex;position:relative}.card:before{content:"";background:var(--ink);flex:none;width:14px;height:14px}.card.start{background:var(--blue);color:#fff}.card.start:before{background:#fff;border-radius:50%}.card.target{background:var(--yellow)}.card.target:before{border-left:8px solid #0000;border-right:8px solid #0000;border-bottom:14px solid var(--ink);background:0 0;width:0;height:0}.player-name{text-transform:uppercase;letter-spacing:.02em;flex:1;font-size:1.1rem;font-weight:700}.tag{text-transform:uppercase;letter-spacing:.12em;order:2;font-size:.7rem;font-weight:700}.link{border-left:3px solid var(--ink);flex-direction:column;align-items:flex-start;gap:6px;margin-left:22px;padding:8px 0 8px 14px;display:flex}.link .line{display:none}.link.pending{border-left-style:dashed;min-height:32px}.badges{flex-direction:column;gap:6px;display:flex}.badge{border:2px solid var(--ink);background:var(--paper);flex-wrap:wrap;gap:0 8px;padding:4px 10px;font-size:.85rem;display:inline-flex}.badge strong{text-transform:uppercase;letter-spacing:.03em}@keyframes pop{0%{opacity:0;transform:translateY(6px)}}.headline{background:var(--ink);color:var(--paper);padding:18px 16px}.results{grid-template-columns:1fr 1fr;gap:12px;display:grid}.result{border:var(--rule);background:var(--paper-2);flex-direction:column;gap:6px;min-width:0;padding:12px;display:flex}.result.winner{background:var(--yellow)}.result p{margin:0 0 8px;font-weight:500}.result .card{padding:10px}.result .player-name{font-size:.9rem}.result .tag{display:none}.result .badge{font-size:.75rem}.optimal{flex-direction:column;gap:14px;padding-top:8px;display:flex}@media (width<=480px){.results{grid-template-columns:1fr}}.credits{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px;font-size:.8rem;line-height:1.6;display:flex}.credits .field-label{color:var(--ink);flex-basis:100%}.credits a{color:inherit}.navbar{z-index:20;height:var(--nav-h);background:var(--paper);border-bottom:var(--rule);justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:10px;display:flex}.brand-text{letter-spacing:.1em;text-transform:uppercase;text-align:left;font-size:.72rem;font-weight:700;line-height:1.05}.brand-shapes{flex-direction:column;gap:3px;display:flex}.brand-shapes .circle,.brand-shapes .square{width:12px;height:12px}.brand-shapes .circle{background:var(--red);border-radius:50%}.brand-shapes .square{background:var(--blue)}.brand-shapes .triangle{border-left:6px solid #0000;border-right:6px solid #0000;border-bottom:11px solid var(--yellow);width:0;height:0}.brand.large .brand-text{letter-spacing:.06em;font-size:1.5rem}.brand.large .brand-shapes{gap:6px}.brand.large .brand-shapes .circle,.brand.large .brand-shapes .square{width:22px;height:22px}.brand.large .brand-shapes .triangle{border-bottom-width:20px;border-left-width:11px;border-right-width:11px}.brand-button,.icon-button{cursor:pointer;background:0 0;border:0;min-height:0;padding:0}.brand-button:not(:disabled):hover,.icon-button:not(:disabled):hover{box-shadow:none;transform:none}.icon-button{place-items:center;width:44px;height:44px;font-size:1.3rem;display:grid}.burger{flex-direction:column;gap:5px;display:flex}.burger span{background:var(--ink);width:26px;height:3px;display:block}.menu-backdrop{z-index:40;background:#14141473;justify-content:flex-end;display:flex;position:fixed;inset:0}.menu{width:min(340px,86vw);height:100%;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:var(--paper);border-left:var(--rule);flex-direction:column;gap:28px;animation:.18s ease-out slide-in;display:flex}.menu-head{justify-content:space-between;align-items:flex-start;display:flex}.menu-items{flex-direction:column;gap:12px;display:flex}.menu-items button{justify-content:space-between;align-items:center;display:flex}.version{color:var(--muted);letter-spacing:.08em;text-align:center;margin:auto 0 0;font-size:.8rem}@keyframes slide-in{0%{transform:translate(100%)}}.home{flex-direction:column;gap:22px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700}.divider{text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:12px;font-size:.8rem;font-weight:700;display:flex}.divider:before,.divider:after{content:"";background:var(--ink);flex:1;height:3px}.code-input,.room-code{text-transform:uppercase;letter-spacing:.3em;font-family:ui-monospace,SF Mono,Menlo,monospace}.room-code{text-align:center;padding:6px 0;font-size:2.2rem;font-weight:700}.title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.leave-button{background:0 0;border-width:2px;flex:none;min-height:36px;padding:6px 12px;font-size:.75rem}button.danger{background:var(--ink);color:var(--paper)}.dialog-backdrop{z-index:50;background:#1414148c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--paper);border:var(--rule);width:min(420px,100%);box-shadow:8px 8px 0 var(--red);flex-direction:column;gap:14px;padding:20px;display:flex}.dialog p{margin:0}.dialog-actions,.step{flex-direction:column;gap:10px;display:flex}.step-title{align-items:center;gap:10px;display:flex}.step-number{background:var(--ink);width:28px;height:28px;color:var(--paper);border-radius:50%;place-items:center;font-size:.9rem;display:inline-grid}.step.locked .step-number{background:var(--muted)}.choices{grid-template-columns:1fr 1fr;gap:12px;display:grid}.choice{border:var(--rule);background:#fff;flex-direction:column;gap:10px;padding:14px;display:flex}.choice h3{text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:1rem}.choice p{flex:1;margin:0}.step.locked .choice{background:var(--paper-2)}@media (width<=420px){.choices{grid-template-columns:1fr}}.practice-link{border:0;border-top:1px solid var(--muted);text-align:left;text-transform:none;letter-spacing:0;background:0 0;justify-content:space-between;align-items:center;gap:12px;min-height:0;margin-top:8px;padding:14px 0 0;font-size:.95rem;font-weight:400;display:flex}.practice-link strong{font-weight:700}.practice-link:not(:disabled):hover{box-shadow:none;text-decoration:underline;transform:none}.mode-tag{border:2px solid var(--ink);text-transform:uppercase;letter-spacing:.12em;align-self:flex-start;margin-bottom:14px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-block}.practice-slot{flex-direction:column;gap:6px;display:flex}.practice-slot .leave-button{align-self:flex-end}input:disabled{background:var(--paper-2);border-color:var(--muted);cursor:not-allowed}.room-code-inline{text-transform:uppercase;letter-spacing:.15em;color:var(--ink);font-family:ui-monospace,SF Mono,Menlo,monospace}.menu-link{border:var(--rule);min-height:56px;color:var(--ink);text-transform:uppercase;letter-spacing:.08em;align-items:center;padding:12px 16px;font-weight:700;text-decoration:none;display:flex}.menu-link:hover{background:var(--yellow)}.menu-hint{text-transform:none;letter-spacing:0;color:var(--muted);margin-top:4px;font-size:.78rem;font-weight:400;display:block}.legal{line-height:1.6}.legal h1{margin-bottom:4px}.legal h2{margin-top:28px}.legal h3{margin:16px 0 0;font-size:.95rem}.legal ul{padding-left:22px}.legal a{color:var(--blue)}.legal button{margin-top:24px}
