:root{--felt:#2e8b57;--felt-dark:#1f6a40;--wood:#8b5a2b;--ink:#222;--paper:#fff8ee;--accent:#ff5d73;--gold:#ffc94d;--font-display:"Arial Black", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box;margin:0}body{font-family:var(--font-display);background:radial-gradient(ellipse at 50% 30%, var(--felt), var(--felt-dark) 75%);min-height:100vh;color:var(--ink)}.setup-screen{text-align:center;max-width:480px;margin:0 auto;padding:48px 24px}.game-title{color:var(--paper);letter-spacing:4px;text-shadow:4px 4px 0 var(--ink), 8px 8px 0 #00000040;font-size:clamp(48px,10vw,84px);transform:rotate(-2deg)}.game-title span:last-child{color:var(--gold)}.tagline{color:var(--paper);opacity:.85;margin:8px 0 32px}.seat-row{background:var(--paper);border:3px solid var(--ink);border-radius:14px;gap:8px;margin:10px 0;padding:8px;display:flex;box-shadow:0 4px #00000059}.seat-row input{font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:18px}button{font:inherit;border:3px solid var(--ink);background:var(--paper);cursor:pointer;box-shadow:0 4px 0 var(--ink);border-radius:12px;padding:8px 14px;transition:transform 80ms,box-shadow 80ms}button:not(:disabled):active{box-shadow:0 0 0 var(--ink);transform:translateY(4px)}button:disabled{opacity:.4;cursor:default}.start-btn{background:var(--accent);color:var(--paper);letter-spacing:2px;margin-top:24px;padding:14px 32px;font-size:24px}.add-seat{margin-top:16px}.gallery{flex-wrap:wrap;gap:12px;padding:24px;display:flex}.gallery .cell{text-align:center;color:var(--paper);font-size:12px}.die{filter:drop-shadow(0 3px #00000059);display:inline-block}.table-screen{flex-direction:column;gap:14px;max-width:1180px;min-height:100vh;margin:0 auto;padding:16px;display:flex}.phase-banner{background:var(--paper);border:3px solid var(--ink);text-align:center;border-radius:10px;align-self:center;padding:10px 28px;font-size:18px;font-weight:700;transform:rotate(-1deg);box-shadow:0 5px #00000059}.event-line{color:var(--accent);margin-top:4px;font-size:14px;font-weight:900}.table-main{grid-template-columns:200px 1fr 200px;align-items:start;gap:14px;display:grid}@media (width<=900px){.table-main{grid-template-columns:1fr}}.side-col{flex-direction:column;gap:10px;display:flex}.player-panel{background:var(--paper);border:3px solid var(--ink);border-radius:12px;padding:10px;transition:outline .15s;position:relative;box-shadow:0 4px #0000004d}.player-panel.eliminated{opacity:.45;filter:grayscale(70%)}.player-panel.turn{outline:4px solid var(--gold);outline-offset:2px}.panel-head{align-items:center;gap:6px;font-size:15px;font-weight:900;display:flex}.panel-icon{font-size:18px}.panel-name{overflow-wrap:anywhere}.panel-count{opacity:.7;margin:2px 0 6px;font-size:12px}.pool-summary{flex-wrap:wrap;gap:6px;display:flex}.kind-chip{position:relative}.kind-chip .die{display:block}.count-badge{background:var(--ink);color:var(--paper);border-radius:8px;padding:1px 4px;font-size:9px;font-weight:900;line-height:1.2;position:absolute;bottom:-4px;right:-4px}.table-felt{border:14px solid var(--wood);background:radial-gradient(ellipse at 50% 40%, var(--felt), var(--felt-dark) 85%);border-radius:45%/38%;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:320px;padding:32px 24px;display:flex;position:relative;box-shadow:inset 0 0 40px #00000059}@media (width<=900px){.table-felt{border-radius:24px}}.entries-row{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.entry-card{background:var(--paper);border:3px solid var(--ink);text-align:center;border-radius:10px;min-width:120px;padding:10px 14px;position:relative;box-shadow:0 5px #00000059}.entry-card.dim{opacity:.5;filter:grayscale(40%)}.entry-card.stuck{border-color:#e884b5;box-shadow:0 0 18px #ff8fc6,0 5px #00000059}.entry-name{margin-bottom:6px;font-weight:900}.entry-dice{flex-wrap:wrap;justify-content:center;gap:4px;margin-bottom:6px;display:flex}.entry-total{color:var(--accent);font-size:30px;font-weight:900}.entry-waiting{opacity:.6;padding:20px 0;font-size:13px}.entry-badges{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:6px;display:flex}.badge{color:var(--paper);border-radius:6px;padding:2px 6px;font-size:10px;font-weight:900}.badge-bonus{background:#7b4dff}.badge-slap{background:var(--accent)}.badge-disabled{background:#666}.stamp{border-radius:6px;padding:3px 10px;font-size:13px;font-weight:900;position:absolute;top:-10px;right:-14px;transform:rotate(8deg);box-shadow:0 2px #00000059}.stamp-stuck{color:#5c1338;background:#ff8fc6}.stamp-war{background:var(--gold);color:var(--ink)}.pot-badge{background:var(--gold);border:3px solid var(--ink);border-radius:20px;padding:6px 18px;font-weight:900;box-shadow:0 4px #00000059}.battle-center{flex-direction:column;align-items:center;gap:12px;display:flex}.battle-title{color:var(--paper);text-shadow:2px 2px 0 var(--ink);font-size:20px;font-weight:900}.battle-stake{flex-direction:column;align-items:center;gap:4px;display:flex}.stake-label{color:var(--paper);opacity:.85;font-size:12px}.battle-sides{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.action-tray{background:var(--paper);border:3px solid var(--ink);border-radius:14px;min-height:48px;padding:16px;box-shadow:0 5px #00000059}.tray-title{margin-bottom:10px;font-size:16px;font-weight:900}.thinking{text-align:center;opacity:.7;padding:10px;font-size:16px}.note{opacity:.75;margin:6px 0;font-size:13px}.die-grid{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.die-grid.greyed{opacity:.4}.die-btn{box-shadow:none;cursor:pointer;background:0 0;border:3px solid #0000;border-radius:10px;padding:2px}.die-btn.selected{border-color:var(--gold);background:#ffc94d59}.disabler-toggle{align-items:center;gap:6px;margin:8px 0;font-size:13px;display:flex}.roll-btn,.slap-confirm,.start-round-btn,.end-trading-btn{background:var(--accent);color:var(--paper);margin-top:8px;margin-right:8px;font-size:18px}.quick-roll-btn{margin:4px 0;display:block}.tray-preround{flex-direction:column;gap:10px;display:flex}.preround-card{border:2px dashed var(--ink);background:#0000000a;border-radius:10px;padding:10px}.preround-card button{margin:3px 6px 3px 0;font-size:13px}.tray-slapping .slap-budget{color:var(--accent);margin-bottom:6px;font-size:26px;font-weight:900}.slap-rows{flex-direction:column;gap:6px;margin:8px 0;display:flex}.slap-row{align-items:center;gap:10px;display:flex}.slap-name{flex:1;font-weight:700}.slap-preview{font-variant-numeric:tabular-nums}.tray-war{flex-direction:column;gap:12px;display:flex}.tray-rolling,.tray-onethree,.tray-payout{flex-direction:column;gap:10px;display:flex}.stake-note{opacity:.7;font-size:.85em}.deal-card,.trade-panel{border:2px dashed var(--ink);background:#0000000a;border-radius:10px;padding:10px}.trade-panel select{font:inherit;border:2px solid var(--ink);border-radius:8px;margin:4px 0;padding:4px}.promised-row{align-items:center;gap:6px;margin:8px 0;display:flex}.entry-dice .die{transform-style:preserve-3d;will-change:transform}.entry-card.winner-card{outline:4px solid var(--gold);box-shadow:0 0 24px 4px var(--gold)}.anim-stamp{color:var(--stamp-color,var(--accent));text-shadow:2px 2px 0 var(--ink);pointer-events:none;white-space:nowrap;z-index:60;letter-spacing:1px;font-size:22px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cyclone-sweep{pointer-events:none;z-index:40;background:linear-gradient(90deg,#0000,#37b6dd99,#ffffff59,#37b6dd99,#0000);width:140%;height:100%;position:absolute;top:0;left:-20%}.disable-ring{pointer-events:none;z-index:35;border:8px solid #cfcfcf;border-radius:50%;width:220px;height:220px;margin:0;position:absolute;top:50%;left:50%}.disabled-look{filter:grayscale(.85)}.goo-blob{pointer-events:none;z-index:25;filter:drop-shadow(0 3px #0000004d);width:46px;height:46px;position:absolute;top:40%;left:50%}.goo-pop{pointer-events:none;z-index:999;width:46px;height:46px;position:fixed}.slap-hand{pointer-events:none;z-index:55;transform-origin:70% 15%;filter:drop-shadow(0 4px #0000004d);width:120px;height:120px;position:absolute;top:-50px;right:4px}.evil-float{color:#c9a6ff;text-shadow:0 0 6px #7b4dffe6, 1px 1px 0 var(--ink);pointer-events:none;z-index:45;font-size:15px;font-weight:900;position:absolute;bottom:68%;left:50%}.victory-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.victory-card{z-index:2;background:var(--paper);border:4px solid var(--ink);text-align:center;border-radius:20px;padding:40px 56px;position:relative;transform:rotate(-1deg);box-shadow:0 10px #00000059}.confetti-burst{z-index:1;pointer-events:none;position:absolute;inset:0}.confetti-piece{width:10px;height:14px;animation-name:confetti-fall;animation-timing-function:ease-in;animation-iteration-count:infinite;position:absolute;top:-20px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)translate(0)rotate(0)}to{transform:translateY(110vh) translateX(var(--drift,0)) rotate(var(--spin,360deg));opacity:.9}}.confetti{margin-bottom:8px;font-size:32px}.victory-title{color:var(--accent);text-shadow:3px 3px 0 var(--ink);letter-spacing:2px;font-size:clamp(32px,7vw,56px)}.crown{margin:12px 0;font-size:48px}.victory-sub{opacity:.8;margin-bottom:20px}.again-btn{background:var(--gold);padding:12px 28px;font-size:20px}@media (prefers-reduced-motion:reduce){.confetti-piece{opacity:0;animation:none}}.help-btn{z-index:200;background:var(--gold);border-radius:50%;width:42px;height:42px;padding:0;font-size:20px;font-weight:900;line-height:1;position:fixed;top:14px;right:14px}.help-backdrop{z-index:300;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.help-modal{background:var(--paper);border:4px solid var(--ink);text-align:left;border-radius:18px;width:100%;max-width:680px;max-height:88vh;padding:24px;overflow-y:auto;box-shadow:0 10px #00000059}.help-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.help-header h2{font-size:24px}.help-close{border-radius:50%;flex-shrink:0;width:34px;height:34px;padding:0;font-size:15px;font-weight:900}.help-rules{flex-direction:column;gap:7px;margin:0 0 20px;padding-left:20px;display:flex}.help-rules li{font-size:14px;line-height:1.45}.help-subtitle{margin-bottom:10px;font-size:17px}.help-dice-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.help-die-card{border:2px dashed var(--ink);text-align:center;background:#0000000a;border-radius:10px;padding:10px}.help-die-card .die{margin:0 auto;display:block}.help-die-label{margin:6px 0 2px;font-size:13px;font-weight:900}.help-die-blurb{opacity:.8;font-size:11px;line-height:1.35}
