:root{--bg:#17130f;--surface:#241d17;--surface-2:#33291f;--line:#4a3c2d;--text:#f6ecdc;--muted:#b5a48e;--accent:#f2a33a;--accent-text:#24180a;--good:#7ccf8a;--bad:#ef7d6b;--warn:#ecc15f;--radius:10px;--space:16px;--font:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--font-display:Georgia, "Times New Roman", serif;--card-w:112px;--card-h:92px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:15px/1.45 var(--font);margin:0}h1,h2,h3{margin:0 0 8px;line-height:1.2}h2{font-size:16px}p{margin:0 0 8px}code{color:var(--accent)}.brand{font:italic 700 30px var(--font-display);color:var(--accent)}.muted{color:var(--muted)}.error{color:var(--bad)}.warn-text{color:var(--warn)}.stack{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:8px;display:flex}.row input{flex:1}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}input,select,button{font:inherit;color:var(--text);border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-2);padding:8px 12px}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.tag{color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:0 8px;font-size:12px}.tag.warn{color:var(--warn);border-color:var(--warn)}.entry{max-width:380px;margin:12vh auto 0;padding:0 16px}.lobby{flex-direction:column;gap:24px;max-width:860px;margin:0 auto;padding:24px 16px;display:flex}.columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}section{background:var(--surface);border-radius:var(--radius);padding:var(--space)}.players{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.players li{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.report ul{color:var(--muted);max-height:200px;margin:8px 0;padding-left:18px;overflow:auto}.banner{background:var(--surface-2);border:1px solid var(--warn);color:var(--warn);border-radius:var(--radius);padding:8px 12px}.game{flex-direction:column;gap:16px;max-width:1100px;margin:0 auto;padding:16px;display:flex}.game-top{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.game-top p,.game-top h1{margin:0}.game-top .brand{font-size:22px}.timer{font:700 22px var(--font-display);color:var(--accent)}.good-text{color:var(--good)}.board{touch-action:none;position:relative;overflow:hidden}.board-row{align-items:center;gap:16px;display:flex}.timeline{min-height:calc(var(--card-h) + 12px);flex:1;align-items:stretch;gap:6px;padding:6px 2px;display:flex;overflow-x:auto}.card{width:var(--card-w);height:var(--card-h);border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);flex-direction:column;flex:none;padding:8px;display:flex;overflow:hidden}.card strong{font:700 20px var(--font-display);color:var(--accent)}.card-title{font-size:12px;line-height:1.2}.card-artist{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.card.hidden{background:var(--accent);color:var(--accent-text);font:700 36px var(--font-display);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center}.card.draggable{cursor:grab;touch-action:none}.card.draggable:active{cursor:grabbing}.floating-card{border-radius:var(--radius);background:var(--accent);width:56px;height:56px;color:var(--accent-text);font:700 24px var(--font-display);pointer-events:none;opacity:.9;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.slot{border:1px dashed var(--line);background:0 0;border-radius:6px;flex:none;width:22px;padding:0}.slot:hover,.slot.picked{background:var(--accent);border-color:var(--accent)}.reveal{align-items:flex-start;gap:16px;display:flex}.reveal-year{font:700 48px var(--font-display);color:var(--accent);display:block}.reveal-title{margin:0;font-size:18px}.bets{color:var(--muted);margin:0;padding-left:18px}.tokens{color:var(--accent)}.players li.current{font-weight:600}.game-top .tag{margin-left:8px}.audio:empty{display:none}.end-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.winner{font:700 32px var(--font-display);color:var(--accent);margin:0}
