.cup-draw{display:flex;flex:1 1 160px;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:44px;padding:12px 18px;color:#f5e4bf;border:1px solid #a18b5e;border-radius:12px;background:#263228}.cup-draw:hover:not(:disabled){background:#304034;border-color:#e7c485}.cup-draw:focus-visible{outline:3px solid #e4bf75;outline-offset:3px}.cup-draw:disabled{opacity:.65}.cup-draw-busy:disabled{opacity:1;cursor:progress}.cup-draw-art{display:block;width:112px;height:auto;max-width:100%;transform-origin:50% 72%;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 7px 5px #0a130b77)}.cup-draw-busy .cup-draw-art{animation:dabble-cup-shake .52s ease-in-out both}.cup-draw-reduced .cup-draw-art{animation:none}@media(prefers-reduced-motion:reduce){.cup-draw-busy .cup-draw-art{animation:none}}.cup-draw-label{font-weight:800;font-size:.94rem;line-height:1.35;text-align:center}.cup-draw-note{color:#c4d0be;font-size:.75rem;line-height:1.4;text-align:center}@keyframes dabble-cup-shake{0%{transform:translate(0) rotate(0)}15%{transform:translate(-3px,-5px) rotate(-7deg)}35%{transform:translate(4px,-7px) rotate(8deg)}55%{transform:translate(-3px,-5px) rotate(-6deg)}72%{transform:translate(2px,-3px) rotate(4deg)}88%{transform:translate(-1px,-1px) rotate(-2deg)}to{transform:translate(0) rotate(0)}}.final-stakes{border-left:3px solid #f3cb79;padding-left:10px;color:#fff0c9}.winner-banner .winner-score{margin:8px 0;color:#ffe4a3;font-size:clamp(1.5rem,5vw,2.6rem);font-weight:900;line-height:1.15}.stage-banner,.winner-banner,.event-commentary{overflow-wrap:anywhere}.stage-tie h2{font-size:1rem}.moment-final-pulse{animation:last-call-pulse 1s ease-out both}@keyframes last-call-pulse{0%,to{box-shadow:inset 0 0 0 1px #efc67522}30%{box-shadow:inset 0 0 0 2px #efc675,0 0 16px #efc67544}}@media(prefers-reduced-motion:reduce){.moment-final-pulse{animation:none;border-color:#efc675}}.table-moment-anchor{position:relative}.table-moment{position:absolute;z-index:5;inset:0;overflow:hidden;pointer-events:none;border-radius:18px;--moment-time: .55s}.table-moment-large{--moment-time: .75s}.table-moment-pieces{position:absolute;inset:0}.table-moment-chip{position:absolute;left:calc(50% + var(--x));top:44%;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:3px dashed #fff1b8;background:#b97a28;box-shadow:0 3px #653e18,0 5px 10px #0008;font:800 8px/1 sans-serif;color:#fff8db}.table-moment-bank .table-moment-chip{animation:table-gather var(--moment-time) ease-in forwards}.table-moment-bust .table-moment-chip{left:50%;animation:table-scatter var(--moment-time) ease-out forwards}.table-moment-label{position:absolute;left:50%;top:18%;transform:translate(-50%);max-width:90%;width:max-content;text-align:center;padding:8px 14px;border:2px solid #f5cd75;border-radius:12px;background:#352210ef;color:#fff2c5;font-size:clamp(14px,2vw,22px);box-shadow:0 5px 20px #0006;animation:table-label var(--moment-time) ease-out both}.table-moment-bust .table-moment-label{border-radius:42% 24% 38% 20%;background:#5e2734f2;border-color:#ecb5bc;color:#fff0f2}.table-moment-large .table-moment-label{font-weight:950;padding:12px 18px}.table-moment-winner{--moment-time: 1.3s;background:radial-gradient(ellipse at 50% 20%,#f6c26630,transparent 70%)}.table-confetti{position:absolute;left:calc(50% + var(--x));top:4%;width:8px;height:14px;background:#f2c365;animation:table-confetti 1.3s ease-out both}.table-confetti:nth-child(3n){background:#ec97aa}.table-confetti:nth-child(3n+1){background:#a6d5b0}[data-table-danger=true] .play-table{box-shadow:0 0 22px 3px #e79c3e55}[data-table-danger=true] .stat-liver{border-color:#efc28b;background:#653e2740}.score-row[data-score-highlight]{outline:2px solid #f4d28b;outline-offset:-2px;background:#99723055}.table-effects-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.table-effects-tools button{min-height:44px;font-size:14px}@keyframes table-gather{0%{opacity:0;transform:scale(.8)}20%{opacity:1}to{left:93%;top:5%;opacity:0;transform:scale(.5) rotate(30deg)}}@keyframes table-scatter{0%{opacity:1;transform:scale(.85)}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--angle))}}@keyframes table-label{0%{opacity:0}15%,75%{opacity:1}to{opacity:0}}@keyframes table-confetti{0%{opacity:0}10%{opacity:1}to{transform:translateY(180px) rotate(var(--angle));opacity:0}}@media(prefers-reduced-motion:reduce){.table-moment-chip,.table-confetti{display:none;animation:none}.table-moment-label{animation:none}}.play-table{min-width:0;padding:20px 18px 24px;border:1px solid #5b3c27;border-bottom:5px solid #26190f;border-radius:12px 10px 11px 9px;background-color:#382216;background-image:linear-gradient(#1b100735,#1b100735),url(/surface/battered-wood.webp);background-size:auto,940px auto;background-position:center;box-shadow:inset 0 1px #cfa77666,inset 0 -2px 4px #100a07b3,0 15px 28px #080b0866}.play-felt{min-width:0;position:relative;border:1px solid #a9986d66;border-bottom:4px solid #151e12;border-radius:8px 6px 9px 7px;background-color:#243824;background-image:linear-gradient(#07170b40,#07170b40),url(/surface/worn-felt.webp);background-size:cover;background-position:center;box-shadow:0 2px 1px #090b08cc,0 7px 9px #110c08a3,inset 0 0 0 2px #aca0781f,inset 0 0 24px #03100738}.play-felt .dice-panel{padding:20px 16px 12px;min-height:0;background:none;border:0;border-radius:0;box-shadow:none}.play-felt .panel-title-row{padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid #c6c8a42b}.play-felt .panel-title-row .muted{color:#e0e7d2}.play-felt .eyebrow{color:#efcf8e}.play-felt .table-surface{background:none}.play-felt .table-surface:not(.table-bust){border-color:transparent;box-shadow:none}.play-felt .table-zone-center{background:none}.play-felt .die-color,.play-felt .die-note,.play-felt .zone-label{color:#f0f3df;text-shadow:0 1px 3px #031007}.play-felt .table-hint{color:#e6ebd8}.play-felt .action-panel{padding:12px 16px 18px;background:none;border:0;border-radius:0}.play-felt .action-panel>p{color:#e9eddc}.play-felt .action-panel p.restriction{color:#ffdcaa}.play-felt .cup-draw{background:none;border-color:transparent;border-radius:8px}.play-felt .cup-draw:hover:not(:disabled){background:#14251629;border-color:#d7c49466}.play-felt .cup-draw-art{filter:drop-shadow(0 3px 2px #02080199) drop-shadow(0 8px 5px #03100766)}.play-felt .cup-draw-note{color:#e2e8d5;text-shadow:0 1px 3px #031007}.set-aside-tray{min-width:0;margin:8px 4px 0;padding:10px 12px;border:1px solid #d5d9b64d;border-radius:6px;background:#08190a59;color:#f0f3df}.set-aside-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-bottom:8px;font-size:.75rem}.set-aside-heading strong{color:#efcf8e;font-size:.65rem;letter-spacing:.04em}.set-aside-groups{display:grid;grid-template-columns:minmax(0,1fr) minmax(72px,.35fr);gap:12px}.set-aside-group{min-width:0}.set-aside-label{display:block;margin-bottom:4px;font-size:.7rem}.set-aside-dice{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.set-aside-dice img{width:36px;height:36px;object-fit:contain;flex:0 0 auto}.set-aside-empty,.set-aside-recycled{color:#e0e7d2;font-size:.7rem}.set-aside-recycled{margin:6px 0 0}.game-shell.compact-game .play-table[data-dice-theme=wood]{background:#30251e;border-color:#71543b;box-shadow:inset 0 1px #cfa77640,0 8px 18px #080b0840}.game-shell.compact-game .play-table[data-dice-theme=wood]>.play-felt{background:#30251e;border-color:#80644766;box-shadow:inset 0 0 0 1px #cfa77614}.game-shell.compact-game .play-table[data-dice-theme=wood] .panel-title-row{border-bottom-color:#cfa77640}.game-shell.compact-game .play-table[data-dice-theme=wood] .action-panel{background:#211b16b3;border-top-color:#cfa77640}@media(max-width:650px){.set-aside-tray{margin-inline:8px;padding:8px}.set-aside-heading{font-size:.7rem}.set-aside-groups{grid-template-columns:minmax(0,1fr) 62px;gap:8px}.set-aside-dice img{width:28px;height:28px}.set-aside-label{font-size:.65rem}.play-table{padding:12px 8px 15px;border-bottom-width:4px;background-size:auto,680px auto}.play-felt .dice-panel{padding:14px 4px 8px}.play-felt .panel-title-row,.play-felt .table-hint{margin-inline:8px}.play-felt .action-panel{padding:10px 12px 14px}.play-felt .die-note{font-size:.6rem}.play-felt .zone-label{font-size:.53rem;letter-spacing:.025em}}.opponent-table-cardiff{position:relative;isolation:isolate}.opponent-table-cardiff .cardiff-across{position:relative;z-index:0;width:min(72%,260px);aspect-ratio:1.15;margin-inline:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.opponent-table-cardiff .cardiff-across img{position:absolute;inset:0 auto auto 0;display:block;width:100%;height:auto;filter:drop-shadow(0 6px 7px #060a0680)}.opponent-table-cardiff>.play-table{position:relative;z-index:1}.game-shell.compact-game{--primary-die: clamp(48px, 7vw, 64px);width:min(calc(100% - 1rem),80rem);padding:.5rem 0 1.5rem;font-size:.875rem;line-height:1.35}.game-shell.compact-game .game-header{align-items:center;flex-wrap:wrap;gap:.35rem .75rem;padding-bottom:.5rem}.game-shell.compact-game .game-header>div{min-width:0}.game-shell.compact-game .game-header h1{font-size:1.5rem;letter-spacing:-.04em}.game-shell.compact-game .eyebrow{margin-bottom:.2rem;font-size:.75rem;letter-spacing:.035em}.game-shell.compact-game .target-pill{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:.3rem;padding:.35rem .6rem;border-radius:.75rem;white-space:normal}.game-shell.compact-game .target-pill span,.game-shell.compact-game .muted{font-size:.75rem;letter-spacing:.025em}.game-shell.compact-game .target-pill strong{font-size:1.125rem}.game-shell.compact-game .game-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"turn" "totals" "scores" "table" "commentary" "history";gap:.5rem;margin-top:.5rem}.game-shell.compact-game .game-grid>*{min-width:0}.game-shell.compact-game .turn-heading{grid-area:turn;align-items:center;flex-wrap:wrap;gap:.3rem .6rem}.game-shell.compact-game .turn-identity{flex:1 1 9rem;min-width:0}.game-shell.compact-game .turn-heading h2{font-size:1.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-shell.compact-game .turn-status{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;max-width:100%}.game-shell.compact-game .active-score{color:#eee1b9;font-size:.875rem}.game-shell.compact-game .active-score strong{font-size:1.125rem;font-variant-numeric:tabular-nums}.game-shell.compact-game .turn-chip{margin:0;padding:.25rem .45rem;font-size:.75rem;white-space:normal}.game-shell.compact-game .turn-stats{grid-area:totals;gap:.35rem}.game-shell.compact-game .stat{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:.2rem .4rem;min-height:0;padding:.35rem .5rem;border-radius:.5rem}.game-shell.compact-game .stat>span{font-size:.75rem;letter-spacing:.025em}.game-shell.compact-game .stat strong{font-size:1.25rem;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.game-shell.compact-game .stat em,.game-shell.compact-game .stat small{font-size:.75rem;text-align:left}.game-shell.compact-game .scoreboard{grid-area:scores;padding:.4rem;border-radius:.6rem;box-shadow:none}.game-shell.compact-game .panel-title-row{flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;margin-bottom:.25rem}.game-shell.compact-game .panel h2{font-size:.875rem}.game-shell.compact-game .score-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem;max-height:none;overflow:visible}.game-shell.compact-game .score-row{align-items:center;padding:0 .25rem;gap:.3rem;border-color:#73816b40}.game-shell.compact-game .score-seat{font-size:.75rem;flex:0 0 auto}.game-shell.compact-game .score-name{flex:1;min-width:0;font-size:.875rem}.game-shell.compact-game .score-name summary{display:grid;align-content:center;min-height:44px;cursor:pointer;list-style:none}.game-shell.compact-game .score-name summary::-webkit-details-marker{display:none}.game-shell.compact-game .score-display-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-shell.compact-game .score-display-name:before{content:"+ ";color:#dcc394}.game-shell.compact-game .score-name[open] .score-display-name{overflow:visible;white-space:normal;overflow-wrap:anywhere}.game-shell.compact-game .score-name[open] .score-display-name:before{content:"− "}.game-shell.compact-game .score-meta{display:flex;flex-wrap:wrap;gap:.2rem}.game-shell.compact-game .score-name small{margin:0;font-size:.75rem;letter-spacing:0}.game-shell.compact-game .score-name-help{margin:0 0 .35rem;font-size:.75rem;overflow-wrap:anywhere;color:#d4ddca}.game-shell.compact-game .score-value{font-size:1.25rem;flex:0 0 auto;font-variant-numeric:tabular-nums}.game-shell.compact-game .tie-score-list{padding-top:.4rem;margin-top:.4rem}.game-shell.compact-game .tie-score-list h3{margin-bottom:.2rem;font-size:.875rem}.game-shell.compact-game .tie-score-list h3 .muted{font-size:.75rem;letter-spacing:0}.game-shell.compact-game .tie-score-row{gap:.5rem;padding:.2rem;font-size:.875rem}.game-shell.compact-game .tie-score-row span{min-width:0;overflow-wrap:anywhere}.game-shell.compact-game .opponent-table{grid-area:table;min-width:0}.game-shell.compact-game .play-table{padding:.35rem;border-bottom-width:3px}.game-shell.compact-game .play-felt .dice-panel{padding:.4rem}.game-shell.compact-game .play-felt .panel-title-row{padding-bottom:.25rem;margin:0 0 .2rem}.game-shell.compact-game .table-surface{min-height:0;padding:.25rem 0;gap:.25rem;border-radius:.5rem}.game-shell.compact-game .table-dice{min-height:0;gap:.25rem}.game-shell.compact-game .table-zone .die-piece,.game-shell.compact-game .table-zone-ready .die-piece,.game-shell.compact-game .table-zone:not(.table-zone-ready) .table-dice:has(.die-piece:nth-child(2)) .die-piece,.game-shell.compact-game .table-zone:not(.table-zone-ready) .table-dice:has(.die-piece:nth-child(3)) .die-piece{flex:0 0 var(--primary-die)}.game-shell.compact-game .die-visual{width:var(--primary-die)}.game-shell.compact-game .die-piece:not(.die-revealed) .die-visual{width:var(--primary-die)}.game-shell.compact-game .die-color,.game-shell.compact-game .die-note,.game-shell.compact-game .zone-label{font-size:.75rem;letter-spacing:0}.game-shell.compact-game .die-face{font-size:2rem}.game-shell.compact-game .zone-label{padding-top:.25rem;min-height:0;overflow-wrap:anywhere}.game-shell.compact-game .empty-dice{margin:.5rem 0;font-size:.875rem;line-height:1.4}.game-shell.compact-game .table-hint{margin:.35rem 0 0;font-size:.75rem;line-height:1.35}.game-shell.compact-game .set-aside-tray{margin:.3rem 0 0;padding:.35rem}.game-shell.compact-game .set-aside-heading{margin-bottom:.2rem;gap:.2rem .5rem;font-size:.75rem}.game-shell.compact-game .set-aside-heading strong,.game-shell.compact-game .set-aside-label,.game-shell.compact-game .set-aside-empty,.game-shell.compact-game .set-aside-recycled{font-size:.75rem;letter-spacing:0}.game-shell.compact-game .set-aside-groups{grid-template-columns:minmax(0,1fr) minmax(0,.4fr);gap:.4rem}.game-shell.compact-game .set-aside-dice{gap:2px}.game-shell.compact-game .set-aside-dice img{width:28px;height:28px}.game-shell.compact-game .action-panel{position:static;padding:.4rem;background:#11251542;border:0;border-top:1px solid #dfd8ac40;border-radius:0}.game-shell.compact-game .action-panel p{margin:0 0 .35rem;font-size:.875rem;line-height:1.35;overflow-wrap:anywhere}.game-shell.compact-game .button-row{align-items:stretch;gap:.4rem}.game-shell.compact-game .button-row .button{flex:1 1 7rem;min-width:0}.game-shell.compact-game .button{min-height:44px;padding:.5rem .6rem;border-radius:.5rem;font-size:.875rem;letter-spacing:0;overflow-wrap:anywhere}.game-shell.compact-game .cup-draw{display:grid;grid-template-columns:3rem minmax(0,1fr);grid-template-rows:auto auto;flex:1 1 9rem;align-content:center;align-items:center;gap:.15rem .4rem;padding:.25rem .4rem;min-height:44px;border:1px solid #b6ab7559;background:#0c211147}.game-shell.compact-game .cup-draw-art{grid-column:1;grid-row:1 / 3;width:3rem}.game-shell.compact-game .cup-draw-label{grid-column:2;font-size:.875rem;text-align:left;overflow-wrap:anywhere}.game-shell.compact-game .cup-draw-note{grid-column:2;font-size:.75rem;text-align:left;overflow-wrap:anywhere}.game-shell.compact-game .event-commentary{grid-area:commentary;padding:.4rem .6rem}.game-shell.compact-game .event-eyebrow{font-size:.75rem;letter-spacing:.035em}.game-shell.compact-game .event-commentary h2{font-size:1.125rem}.game-shell.compact-game .event-commentary p{font-size:.875rem;line-height:1.4}.game-shell.compact-game .event-commentary .moment-flavor{margin-top:.35rem;padding-top:.35rem;font-size:.875rem}.game-shell.compact-game .event-history{grid-area:history;font-size:.875rem}.game-shell.compact-game .event-history summary,.game-shell.compact-game .debug-panel summary{min-height:44px;padding:.5rem .25rem}.game-shell.compact-game .event-list{max-height:none;overflow:visible;font-size:.875rem}.game-shell.compact-game .debug-panel{margin-top:.5rem}.game-shell.compact-game .stage-banner{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin-top:.5rem;padding:.4rem .6rem;border-radius:.6rem}.game-shell.compact-game .stage-banner h2{font-size:1rem}.game-shell.compact-game .stage-banner p:last-child{font-size:.875rem;line-height:1.35}.game-shell.compact-game .stage-banner p,.game-shell.compact-game .winner-banner p,.game-shell.compact-game .winner-banner h2{overflow-wrap:anywhere}.game-shell.compact-game .winner-banner{margin-top:.5rem;padding:.75rem}.game-shell.compact-game .winner-banner h2{font-size:1.75rem}@media(max-width:359px){.game-shell.compact-game .score-seat{display:none}}@media(min-width:900px)and (min-aspect-ratio:1/1){.game-shell.compact-game{--primary-die: clamp(56px, 5vw, 72px);width:min(calc(100% - 2rem),80rem);padding-top:1rem;font-size:1rem}.game-shell.compact-game .game-header h1{font-size:1.75rem}.game-shell.compact-game .game-grid{grid-template-columns:minmax(0,1fr) clamp(14rem,24vw,19rem);grid-template-areas:"turn scores" "totals scores" "table scores" "commentary history";gap:.75rem 1rem;margin-top:.75rem}.game-shell.compact-game .turn-heading h2{font-size:1.375rem}.game-shell.compact-game .scoreboard{padding:.65rem}.game-shell.compact-game .score-list{grid-template-columns:minmax(0,1fr);gap:.35rem}.game-shell.compact-game .score-row{padding:.2rem .35rem}.game-shell.compact-game .score-name,.game-shell.compact-game .panel h2,.game-shell.compact-game .button,.game-shell.compact-game .cup-draw-label{font-size:1rem}.game-shell.compact-game .stat{padding:.5rem .65rem}.game-shell.compact-game .play-table{padding:.6rem}.game-shell.compact-game .play-felt .dice-panel{padding:.65rem}.game-shell.compact-game .table-surface{min-height:8rem}.game-shell.compact-game .set-aside-dice img{width:36px;height:36px}.game-shell.compact-game .action-panel{padding:.65rem}.game-shell.compact-game .cup-draw{grid-template-columns:4rem minmax(0,1fr);flex-basis:13rem}.game-shell.compact-game .cup-draw-art{width:4rem}}@media(min-width:560px)and (max-height:500px){.game-shell.compact-game{--primary-die: 48px;width:calc(100% - 1rem);padding-top:.35rem;font-size:.875rem}.game-shell.compact-game .game-header{padding-bottom:.3rem}.game-shell.compact-game .game-header h1{font-size:1.375rem}.game-shell.compact-game .game-grid{grid-template-columns:minmax(0,1fr) minmax(0,16rem);grid-template-areas:"table turn" "table totals" "table scores" "table actions" "commentary history";gap:.25rem .5rem;margin-top:.35rem}.game-shell.compact-game .turn-heading{flex-wrap:nowrap;gap:.35rem}.game-shell.compact-game .turn-identity{flex:1 1 0}.game-shell.compact-game .turn-heading h2{font-size:1rem}.game-shell.compact-game .turn-status{flex-direction:column;align-items:flex-end;flex-shrink:0;gap:.15rem;max-width:50%}.game-shell.compact-game .stat{padding:.25rem .35rem;gap:.15rem .3rem}.game-shell.compact-game .scoreboard{padding:.3rem}.game-shell.compact-game .score-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem}.game-shell.compact-game .score-row{padding:0 .2rem;gap:.25rem}.game-shell.compact-game .opponent-table,.game-shell.compact-game .play-table,.game-shell.compact-game .play-felt{display:contents}.game-shell.compact-game .play-felt .dice-panel{grid-area:table;align-self:stretch;padding:.5rem;border:.35rem solid #48311f;border-radius:.5rem;background-color:#243824;background-image:linear-gradient(#07170b40,#07170b40),url(/surface/worn-felt.webp);background-size:cover;box-shadow:inset 0 0 0 1px #a9986d66}.game-shell.compact-game .table-surface{min-height:0}.game-shell.compact-game .set-aside-dice img{width:28px;height:28px}.game-shell.compact-game .action-panel{grid-area:actions;padding:.3rem;border:1px solid #a9986d66;border-radius:.5rem;background-color:#243824;background-image:linear-gradient(#07170b60,#07170b60),url(/surface/worn-felt.webp);background-size:cover}.game-shell.compact-game .button-row .button{flex-basis:6rem}.game-shell.compact-game .cup-draw{grid-template-columns:2.25rem minmax(0,1fr);flex-basis:8rem;padding:.2rem;gap:.15rem .25rem}.game-shell.compact-game .cup-draw-art{width:2.25rem}}@media(prefers-reduced-motion:reduce){.game-shell.compact-game .button{transition:none}.game-shell.compact-game .button:not(:disabled):hover{transform:none}}.game-shell.compact-game .table-surface{display:flex;align-items:stretch;justify-content:center}.game-shell.compact-game .table-zone{flex:1 1 0}.game-shell.compact-game .table-zone:not(:has(.die-piece)){display:none}.game-shell.compact-game .table-zone:has(.die-piece:nth-child(2)){flex-grow:2}.game-shell.compact-game .table-zone:has(.die-piece:nth-child(3)){flex-grow:3}.game-shell.compact-game .table-zone-ready{flex:1 1 100%}.game-shell.compact-game .table-zone .die-piece,.game-shell.compact-game .table-zone-ready .die-piece,.game-shell.compact-game .table-zone:not(.table-zone-ready) .table-dice:has(.die-piece:nth-child(2)) .die-piece,.game-shell.compact-game .table-zone:not(.table-zone-ready) .table-dice:has(.die-piece:nth-child(3)) .die-piece{flex:0 0 calc(var(--primary-die) + 16px)}.game-shell.compact-game .turn-identity .eyebrow,.game-shell.compact-game .dice-panel .eyebrow{display:none}@media(max-width:650px){.game-shell.compact-game .game-header{flex-wrap:wrap;gap:.4rem}.game-shell.compact-game .game-header>div:first-child{flex:1 1 9rem;min-width:0}.game-shell.compact-game .game-header h1{font-size:1.25rem}.game-shell.compact-game .game-header .eyebrow{font-size:.75rem}.game-shell.compact-game .stat small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.game-shell.compact-game .button-row .button{flex:1 1 5rem}.game-shell.compact-game .cup-draw{flex:2 1 10rem;grid-template-columns:2.25rem minmax(0,1fr)}.game-shell.compact-game .cup-draw-art{width:2.25rem}}@media(min-width:560px)and (max-height:500px){.game-shell.compact-game .turn-identity .eyebrow{display:none}.game-shell.compact-game .stat small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.game-shell.compact-game .game-header .eyebrow{font-size:.75rem}}@media(max-width:359px){.game-shell.compact-game .zone-label,.game-shell.compact-game .set-aside-heading>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.game-shell.compact-game .button-row .button{flex:0 1 4.25rem}.game-shell.compact-game .button-row .button:only-child{flex:1 1 100%}.game-shell.compact-game .game-grid{gap:.375rem}.game-shell.compact-game .cup-draw{flex:1 1 10rem}.game-shell.compact-game .game-header .eyebrow{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}@media(min-width:560px)and (max-height:500px){.game-shell.compact-game .game-header .eyebrow{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.game-shell.compact-game .button-row .button{flex:0 1 4.25rem}.game-shell.compact-game .button-row .button:only-child{flex:1 1 100%}.game-shell.compact-game .cup-draw{flex:1 1 9rem}}@media(max-width:359px){.game-shell.compact-game{padding-top:0}.game-shell.compact-game .game-header{padding-bottom:.2rem}.game-shell.compact-game .game-grid{gap:.25rem}.game-shell.compact-game .stat{padding-top:.2rem;padding-bottom:.2rem}.game-shell.compact-game .scoreboard,.game-shell.compact-game .play-felt .dice-panel,.game-shell.compact-game .play-table{padding:.25rem}.game-shell.compact-game .table-hint{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.game-shell.compact-game .game-header>div:first-child{flex:1 1 6rem}.game-shell.compact-game .target-pill>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}@media(min-width:560px)and (max-height:500px){.game-shell.compact-game .game-header{padding-bottom:.1rem}.game-shell.compact-game .game-grid{margin-top:.2rem}}@media(min-width:600px)and (min-height:600px){.game-shell.compact-game{--game-text: clamp( 1rem, min( calc(.65rem + 1vw) , calc(.65rem + 1vh) ), 1.09375rem );--game-small: calc(var(--game-text) * .857143);--game-heading: calc(var(--game-text) * 1.285714);--game-number: calc(var(--game-text) * 1.428571);--game-gap: clamp(.625rem, 1vw, .875rem);--game-inset: clamp(.5rem, 1.4vw, .875rem);--primary-die: clamp(60px, min(9vw, 9vh), 72px);font-size:var(--game-text)}.game-shell.compact-game :is(.active-score,.score-name,.panel h2,.button,.cup-draw-label,.action-panel p,.empty-dice,.event-commentary p,.event-commentary .moment-flavor,.event-history,.event-list,.tie-score-list h3,.tie-score-row,.stage-banner p:last-child){font-size:var(--game-text)}.game-shell.compact-game :is(.eyebrow,.game-header .eyebrow,.game-header .mp-status,.target-pill span,.muted,.turn-chip,.stat>span,.stat em,.stat small,.score-seat,.score-name small,.score-name-help,.tie-score-list h3 .muted,.die-color,.die-note,.zone-label,.table-hint,.set-aside-heading,.set-aside-heading strong,.set-aside-label,.set-aside-empty,.set-aside-recycled,.cup-draw-note,.event-eyebrow){font-size:var(--game-small)}.game-shell.compact-game .game-header h1{font-size:calc(var(--game-text) * 1.75)}.game-shell.compact-game :is(.turn-heading h2,.event-commentary h2,.target-pill strong,.active-score strong,.stage-banner h2){font-size:var(--game-heading)}.game-shell.compact-game :is(.stat strong,.score-value){font-size:var(--game-number)}.game-shell.compact-game .game-grid{gap:var(--game-gap) 1rem}.game-shell.compact-game :is(.scoreboard,.play-table,.play-felt .dice-panel,.action-panel){padding:var(--game-inset)}.game-shell.compact-game .stat{padding:.5rem .65rem}.game-shell.compact-game .stat small{position:static;width:auto;height:auto;overflow:visible;clip-path:none}.game-shell.compact-game :is(.button,.cup-draw,.score-name summary){min-height:max(44px,calc(var(--game-text) * 3.142857))}.game-shell.compact-game .table-surface{min-height:clamp(8.75rem,min(19vw,19vh),10.5rem);padding-block:.5rem;gap:.5rem}.game-shell.compact-game .set-aside-tray{padding:.5rem}.game-shell.compact-game .set-aside-dice img{width:36px;height:36px}}.game-shell.compact-game .game-main,.game-shell.compact-game .game-aside{display:contents}.game-shell.compact-game .game-header>.button{flex:0 0 auto}.game-shell.compact-game .game-header .mp-status{display:block;padding:0;border:0;border-radius:0;background:none;white-space:normal;overflow-wrap:anywhere;font-size:.75rem;line-height:1.35}.game-scroll-region{display:contents}.staged-commentary{grid-area:commentary}.game-shell.compact-game[data-action-dock=true]{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.game-shell.compact-game[data-action-dock=true] .game-scroll-region{display:block;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding-bottom:.75rem;scrollbar-gutter:stable}.game-shell.compact-game[data-action-dock=true]>.action-panel{position:static;z-index:3;flex:0 0 auto;width:100%;max-height:45dvh;overflow-y:auto;margin:0;padding:.5rem max(.5rem,env(safe-area-inset-right)) calc(.5rem + env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));border:1px solid #a3ad94;border-radius:.75rem .75rem 0 0;background:#12251c;box-shadow:0 -4px 18px #0008}.turn-stats[data-roll-pending=true] strong,.action-panel[data-roll-pending=true] .cup-draw-label,.action-panel[data-roll-pending=true] .cup-draw-note,.set-aside-tray[data-roll-pending=true]{visibility:hidden}.staged-commentary[hidden],.winner-banner[hidden],.table-hint[hidden]{display:none}.mp-inactivity.mp-inactivity-target p{color:#ff8f8f}.mp-inactivity.mp-inactivity-target p[role=status]{font-weight:800}.solo-nav{width:min(1180px,calc(100% - 24px));margin:16px auto 0}.solo-nav .button{min-height:44px}.solo-count{display:block;width:100%;min-height:48px;margin-top:8px;padding:10px;border-radius:8px;border:1px solid #8f815b;color:#f0eadb;background:#252d27;font:inherit}.solo-count:focus-visible{outline:3px solid #e4bf75;outline-offset:3px}.mp-entry.online-entry{width:min(1060px,calc(100% - 40px));max-width:none;padding:clamp(32px,6vh,64px) 0 32px;text-align:left}.mp-entry.online-private-entry{padding-top:40px}.online-entry-header{margin-bottom:28px}.online-entry-header h1{font-size:clamp(2.25rem,5vw,3.3rem)}.mp-entry .online-entry-header .setup-intro{max-width:none;margin:12px 0 0;font-size:.95rem;color:#bdc5b9}.online-lobby-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);align-items:start;gap:20px}.online-lobby-grid>*,.online-lobby-options>*{min-width:0}.online-lobby-options{display:grid;gap:20px}.mp-entry.online-entry .setup-card{display:grid;gap:12px;padding:26px;border-radius:18px;background:#252d27;border-color:#47564a;box-shadow:0 12px 35px #080e0a40}.mp-entry.online-entry .setup-card h2{margin:0;font-size:1.6rem}.mp-entry.online-entry .setup-card p{margin:0;line-height:1.55;font-size:.9rem;color:#bec7b8}.mp-entry.online-entry .setup-card .eyebrow{color:#d2ae6c;font-size:.68rem}.online-table-list{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:10px}.online-table-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #435348;border-radius:12px;background:#1b241e}.online-table-list li>div{min-width:0}.online-table-list h3{margin:0 0 5px;font-size:1rem;font-weight:800;color:#f1ecdf}.mp-entry.online-entry .online-table-list p{font-size:.8rem;font-variant-numeric:tabular-nums;color:#b9c7b4}.online-table-list .button{flex:0 0 auto;min-height:44px;padding:10px 14px;border-radius:9px;font-size:.85rem}.online-size-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:6px}.online-size-options .button{min-width:0;min-height:94px;padding:14px 8px;border-radius:12px;background:#374034;border-color:#8f815b;color:#f0eadb}.online-size-options .button:not(:disabled):hover{background:#49503e;border-color:#d6b575}.online-size-options .online-size-number{display:block;margin-bottom:4px;font-size:1.85rem;line-height:1.05;color:#f0cd8b;font-variant-numeric:tabular-nums}.online-size-options .online-size-label{font-size:.8rem;font-weight:650}.mp-entry.online-entry .online-private .button-row{gap:10px;margin-top:6px}.mp-entry.online-entry .online-private .button{font-size:.86rem;padding:12px;flex-basis:175px}.online-session{margin-top:22px;color:#b3beb0;text-align:left;font-size:.8rem}.online-session summary{min-height:44px;width:fit-content;max-width:100%;padding:12px 0;cursor:pointer}.online-session p{margin:8px 0 0;max-width:760px;line-height:1.65}.mp-lobby.online-waiting{margin:28px auto}.online-waiting .online-occupancy{width:fit-content;padding:8px 12px;border:1px solid #626b47;border-radius:8px;color:#e8d5a0;background:#343a2b;font-size:.9rem;font-weight:750;font-variant-numeric:tabular-nums}.online-waiting>.button{margin-bottom:18px;min-height:48px}.mp-entry .mp-back{min-height:44px}.mp-entry.online-private-entry .setup-player{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px}.mp-entry.online-private-entry .setup-player input{width:100%;min-width:0}.mp-entry textarea:focus-visible,.online-session summary:focus-visible{outline:3px solid #e4bf75;outline-offset:3px}.online-connecting .setup-card{margin-top:28px}@media(max-width:700px){.mp-entry.online-entry{width:calc(100% - 24px);padding-top:28px}.online-lobby-grid{grid-template-columns:minmax(0,1fr);gap:16px}.online-lobby-options{gap:16px}.mp-entry.online-entry .setup-card{padding:20px}.online-entry-header{margin-bottom:22px}.online-size-options{gap:8px}.online-size-options .button{min-height:82px}}@media(prefers-reduced-motion:reduce){.online-entry .button,.online-waiting .button{transition:none}.online-entry .button:not(:disabled):hover,.online-waiting .button:not(:disabled):hover{transform:none}}:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#efece1;background:#171b19;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100vh;background:radial-gradient(circle at 50% -20%,#324037 0,#171b19 43%,#111513)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e4bf75;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,5vw,3.7rem);letter-spacing:-.06em;line-height:1;margin-bottom:0}h2{letter-spacing:-.035em}.eyebrow{color:#d2ae6c;font-size:.68rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase;margin-bottom:.6rem}.muted{color:#a5aba1;font-size:.74rem;letter-spacing:.05em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button{border:1px solid transparent;border-radius:12px;min-height:52px;padding:.85rem 1.25rem;font-weight:800;letter-spacing:.02em;transition:transform .13s ease,background .13s ease}.rules-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:underline;text-underline-offset:.15em}.game-shell.compact-game .turn-identity-with-help{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem;flex-basis:13rem}.game-shell.compact-game .turn-identity-with-help .rules-link{white-space:nowrap}.game-shell.compact-game .turn-heading:has(.rules-link){flex-wrap:wrap}.game-shell.compact-game .turn-heading.turn-heading-network-help{display:grid;grid-template-columns:minmax(0,1fr)}.game-shell.compact-game .turn-heading-network-help .turn-information{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;min-width:0}.game-shell.compact-game .turn-heading-network-help .turn-status{flex:1 1 9rem;min-width:0;max-width:100%;flex-direction:row}.game-shell.compact-game .turn-heading-network-help .rules-link{margin-left:auto;white-space:nowrap}.button:not(:disabled):hover{transform:translateY(-2px)}.button-primary{color:#1b1b16;background:#e7c485;border-color:#f7dcac}.button-primary:hover{background:#f6d79e}.button-secondary{color:#ece9dc;background:#353d38;border-color:#526057}.button-secondary:hover{background:#425149}.button-bank{color:#172518;background:#a8d39c;border-color:#c2e9b7}.button-bank:hover{background:#c0e6b5}.button-ghost{color:#f0eddf;background:transparent;border-color:#758078}.button-row{display:flex;flex-wrap:wrap;gap:.75rem}.button-row .button{flex:1 1 160px}.intro-shell{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:12px;padding:16px}.intro-artwork{display:block;width:min(100%,1160px,calc((100dvh - 80px)*1.7768));padding:0;border:2px solid #657b69;border-radius:12px;overflow:hidden;background:#202720;box-shadow:0 18px 55px #050905a8}.intro-artwork:hover{border-color:#e7c485}.intro-artwork img{display:block;width:100%;height:auto}.intro-hint{margin:0;color:#d4ddcf;font-size:.85rem;text-align:center}.setup-shell{width:min(620px,calc(100% - 32px));margin:0 auto;padding:clamp(44px,9vh,112px) 0 42px;text-align:center}.brand-mark{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 28px;background:#d8b573;color:#1b211c;border-radius:14px;transform:rotate(-7deg);font-weight:950;letter-spacing:-.1em;box-shadow:0 12px 34px #0a0e0b66}.setup-shell h1{margin-bottom:15px}.setup-intro{max-width:420px;margin:0 auto 34px;color:#b7bcb3;line-height:1.6}.setup-card{background:#272e29;border:1px solid #465047;border-radius:22px;padding:clamp(20px,5vw,34px);box-shadow:0 20px 70px #0a0d0b7a;text-align:left}.section-heading,.panel-title-row{display:flex;justify-content:space-between;align-items:end;gap:12px}.section-heading h2{margin-bottom:0;font-size:1.45rem}.section-heading .muted{text-align:right}.setup-players{display:grid;gap:9px;margin:25px 0 13px}.setup-player{display:flex;align-items:center;gap:12px;min-width:0}.seat-number{color:#abaf9f;font-size:.78rem;font-weight:800;width:24px}.field-grow{flex:1;min-width:0}.setup-player input,.player-kind,.target-field input{width:100%;color:#f3f1e7;background:#181e1a;border:1px solid #4c5a4e;border-radius:10px;min-height:49px;padding:.65rem .8rem}.player-kind{width:116px;flex:0 0 116px}.icon-button{border:1px solid #4c574c;border-radius:10px;width:44px;min-width:44px;height:48px;color:#f2dccb;background:#303830;font-size:1.4rem}.icon-button:hover{background:#553d38}.text-button{color:#e9c98e;border:0;background:transparent;font-weight:800;padding:10px 0}.text-button:hover{text-decoration:underline}.setup-footer{border-top:1px solid #4b554b;padding-top:22px;margin-top:16px;display:flex;align-items:end;justify-content:space-between;gap:18px}.target-field{display:grid;gap:7px;width:150px;font-size:.78rem;font-weight:700;color:#bfc4b9}.target-field input{font-size:1.08rem;font-weight:750}.setup-footer .button{min-width:180px}.form-hint{color:#f2b1a2;font-size:.8rem;margin:13px 0 0}.setup-note{margin:22px 0 0;font-size:.76rem;color:#8a978d}.game-shell{width:min(1250px,calc(100% - 40px));margin:0 auto;padding:38px 0 54px}.game-header{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:25px;border-bottom:1px solid #3a463e}.game-header .eyebrow{margin-bottom:9px}.target-pill{display:flex;gap:9px;align-items:baseline;color:#e3c68c;background:#2a332c;border:1px solid #58664f;border-radius:100px;padding:.6rem .95rem;white-space:nowrap}.target-pill span{font-size:.65rem;font-weight:800;letter-spacing:.09em}.target-pill strong{color:#fff1d2;font-size:1.45rem;line-height:1}.game-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.85fr);gap:20px;align-items:start;margin-top:28px}.game-main,.game-aside{min-width:0;display:grid;gap:18px}.panel{background:#252d27;border:1px solid #415044;border-radius:18px;padding:24px;box-shadow:0 14px 34px #0b100d35}.panel h2{font-size:1.15rem;margin-bottom:0}.panel-title-row{margin-bottom:20px}.panel-title-row .muted{font-size:.65rem;text-align:right}.turn-heading{display:flex;justify-content:space-between;align-items:end;gap:16px}.turn-heading h2{font-size:clamp(1.7rem,3vw,2.35rem);margin:0}.turn-chip{color:#e4d0a7;background:#39483e;border:1px solid #566c59;border-radius:30px;padding:.45rem .8rem;font-size:.72rem;font-weight:800;white-space:nowrap}.turn-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat{border-radius:16px;padding:16px 20px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:3px;border:1px solid #52604a;background:#2e392f}.stat>span{grid-column:1 / -1;color:#c0c8b6;font-size:.69rem;font-weight:800;letter-spacing:.1em}.stat strong{font-size:2.2rem;line-height:1}.stat small{color:#adb9aa;font-size:.7rem;text-align:right}.stat em{font-style:normal;font-size:.9rem;color:#aeb9a9}.stat-liver{background:#3c302c;border-color:#72534b}.stat-liver>span{color:#e4bab0}.dice-panel{min-height:245px}.dice-panel .eyebrow{margin-bottom:6px}.table-surface{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:268px;gap:4px;padding:18px 12px 14px;border:1px solid #69816a80;border-radius:22px;background:radial-gradient(ellipse at 50% 15%,#42674a,#284631,#1b3026);box-shadow:inset 0 0 0 5px #14251b6b,inset 0 18px 28px #090f0a45,0 14px 28px #0d171189}.table-bust{border-color:#d88462;box-shadow:inset 0 0 0 5px #7d35282b,inset 0 0 28px #d269383d,0 14px 28px #0d171189}.table-impact{animation:table-jolt .42s ease-out both}.moment-copy.bust-impact{animation:bust-stamp .38s ease-out both;transform-origin:left center}@keyframes table-jolt{0%{transform:translate(0)}12%{transform:translate(-5px) rotate(-.35deg);box-shadow:inset 0 0 0 4px #f28c57ad,inset 0 0 34px #e171507a,0 0 22px #d05c3740}30%{transform:translate(4px) rotate(.25deg)}48%{transform:translate(-3px)}68%{transform:translate(2px)}to{transform:translate(0)}}@keyframes bust-stamp{0%{opacity:.6;transform:scale(1.07)}42%{opacity:1;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.table-surface-ready{grid-template-columns:1fr}.table-surface:not(.table-surface-ready):has(.table-zone:nth-child(1) .die-piece:nth-child(2)){grid-template-columns:1.6fr .7fr .7fr}.table-surface:not(.table-surface-ready):has(.table-zone:nth-child(2) .die-piece:nth-child(2)){grid-template-columns:.7fr 1.6fr .7fr}.table-surface:not(.table-surface-ready):has(.table-zone:nth-child(3) .die-piece:nth-child(2)){grid-template-columns:.7fr .7fr 1.6fr}.table-surface:not(.table-surface-ready):has(.table-zone:nth-child(1) .die-piece:nth-child(3)){grid-template-columns:2.2fr .4fr .4fr}.table-surface:not(.table-surface-ready):has(.table-zone:nth-child(2) .die-piece:nth-child(3)){grid-template-columns:.4fr 2.2fr .4fr}.table-surface:not(.table-surface-ready):has(.table-zone:nth-child(3) .die-piece:nth-child(3)){grid-template-columns:.4fr .4fr 2.2fr}.table-zone{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:space-between;position:relative}.table-zone-center{background:radial-gradient(ellipse at 50% 47%,#89b37626,transparent 70%)}.table-dice{display:flex;width:100%;min-height:209px;flex:1;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;gap:1px 3px}.die-piece{position:relative;display:flex;flex:0 1 156px;min-width:0;flex-direction:column;align-items:center;text-align:center;color:#e8eee4}.table-zone-ready .die-piece{flex-basis:172px}.table-zone:not(.table-zone-ready) .table-dice:has(.die-piece:nth-child(2)) .die-piece{flex-basis:calc(50% - 3px)}.table-zone:not(.table-zone-ready) .table-dice:has(.die-piece:nth-child(3)) .die-piece{flex-basis:calc(33.333% - 3px)}.die-visual{position:relative;display:grid;width:min(100%,162px);aspect-ratio:1;place-items:center}.die-piece:not(.die-revealed) .die-visual{width:min(100%,144px);border:2px solid #ffffff5c;border-radius:21%;background:linear-gradient(145deg,var(--die-back-light),var(--die-back));box-shadow:inset 0 4px 8px #ffffff52,inset 0 -10px 8px #10181045,0 10px 12px #08130d88}.die-green{--die-back: #138a4d;--die-back-light: #39c276}.die-yellow{--die-back: #e1af18;--die-back-light: #ffe26a}.die-red{--die-back: #b82a2b;--die-back-light: #eb5951}.die-art{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 8px #07110e88)}.die-landing .die-art{animation:die-land .56s cubic-bezier(.17,.76,.26,1) both}.die-retained .die-visual:after{content:"";position:absolute;z-index:1;inset:7%;border:2px dashed #e6f5a8;border-radius:23%;pointer-events:none;opacity:.75}.die-color{text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;font-weight:900;text-shadow:0 1px 3px #0b180dbb}.die-face{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:900;color:#f2f9ef;text-shadow:0 3px 6px #0a1a0bbc}.die-note{font-size:.66rem;font-weight:750;line-height:1.2}.zone-label{display:block;min-height:24px;padding-top:8px;text-align:center;color:#d1e1cb;font-size:.61rem;font-weight:850;letter-spacing:.09em}.empty-dice{grid-column:1 / -1;place-self:center;text-align:center;color:#e0e9d9;max-width:260px;line-height:1.6;font-size:.88rem}.table-hint{margin:14px 0 0;color:#c4d8bf;font-size:.76rem;line-height:1.5}@keyframes die-land{0%{opacity:.3;transform:translateY(-34px) rotate(-26deg) scale(.78)}58%{opacity:1;transform:translateY(5px) rotate(7deg) scale(1.05)}82%{transform:translateY(-3px) rotate(-3deg) scale(.98)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@media(prefers-reduced-motion:reduce){.die-landing .die-art{animation:none}}.action-panel{background:#303a31;border:1px solid #566a56;border-radius:16px;padding:20px 23px}.action-panel p{margin:0 0 14px;color:#cad4c7;font-size:.85rem}.action-panel p.restriction{color:#ffdcaa;font-weight:750}.action-panel p:last-child{margin:0}.event-commentary{min-width:0;padding:10px 18px 12px 20px;border-left:3px solid #9bb88d;border-radius:3px;background:linear-gradient(90deg,#92b0841c,transparent 80%);color:#e9e9db}.event-eyebrow{display:block;color:#b6c7a3;font-size:.6rem;font-weight:900;letter-spacing:.16em}.event-commentary h2{margin:3px 0 4px;font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.12;letter-spacing:-.035em}.event-commentary p{margin:0;font-size:.94rem;line-height:1.5;overflow-wrap:anywhere}.event-commentary .moment-flavor{margin-top:8px;padding-top:7px;border-top:1px solid #cad4c72b;color:#c8d3be;font-size:.85rem;font-style:italic;line-height:1.45}.moment-bust{border-color:#f07755;background:linear-gradient(90deg,#c452392b,transparent 90%)}.moment-bust h2{color:#ffb69a}.moment-bank{border-color:#9fcb83;background:linear-gradient(90deg,#83a15b30,transparent 90%)}.moment-bank h2{color:#cce7b1}.moment-final,.moment-win{border-color:#ecc076;background:linear-gradient(90deg,#c096492c,transparent 90%)}.moment-final h2,.moment-win h2{color:#ffe0a2}.moment-enter{animation:moment-arrive .48s ease-out both}@keyframes moment-arrive{0%{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.moment-enter{animation:none}}.stage-banner,.winner-banner{margin-top:22px;border-radius:18px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px}.stage-banner h2{margin:0;font-size:1.55rem}.stage-banner p:last-child{max-width:520px;margin:0;color:#e9dfc6;line-height:1.5;font-size:.88rem}.stage-final{background:#574332;border:1px solid #a78559}.stage-tie{background:#334453;border:1px solid #7194a3}.stage-tie .eyebrow{color:#b7dbe4}.winner-banner{display:block;background:#55442e;border:1px solid #d0ab69;position:relative;overflow:hidden;box-shadow:inset 0 0 24px #e1b66812}.win-celebrate{animation:winner-glow 1s ease-out both}.win-celebrate h2{animation:winner-pop .52s ease-out both;transform-origin:left center}.win-sparks{position:absolute;inset:6px;pointer-events:none;overflow:hidden}.win-spark{position:absolute;width:6px;height:6px;border-radius:2px;background:#ffe2a2;box-shadow:0 0 7px #f0bd62;opacity:0;animation:winner-spark .9s ease-out both;--spark-x: 8px}.win-spark:nth-child(1){left:5%;top:28%;--spark-x: -8px}.win-spark:nth-child(2){left:14%;top:9%;animation-delay:40ms}.win-spark:nth-child(3){left:38%;top:7%;animation-delay:.1s}.win-spark:nth-child(4){right:8%;top:22%;animation-delay:60ms}.win-spark:nth-child(5){right:5%;bottom:24%;animation-delay:.12s}.win-spark:nth-child(6){right:27%;bottom:7%;animation-delay:80ms;--spark-x: -10px}.win-spark:nth-child(7){left:11%;bottom:7%;animation-delay:.14s;--spark-x: -6px}.win-spark:nth-child(8){right:38%;top:8%;animation-delay:20ms}@keyframes winner-glow{0%{box-shadow:inset 0 0 24px #e1b66812}25%{box-shadow:inset 0 0 32px #f6c35a3b,0 0 22px #e0af4540;border-color:#ffe2a2}to{box-shadow:inset 0 0 24px #e1b66812}}@keyframes winner-pop{0%{transform:scale(.96)}45%{transform:scale(1.025)}to{transform:scale(1)}}@keyframes winner-spark{0%{opacity:0;transform:translateY(10px) scale(.5) rotate(0)}28%{opacity:1}to{opacity:0;transform:translate(var(--spark-x),-18px) scale(.3) rotate(90deg)}}@media(prefers-reduced-motion:reduce){.table-impact,.moment-copy.bust-impact,.win-celebrate,.win-celebrate h2{animation:none;transform:none}.win-sparks{display:none}}.winner-banner h2{font-size:clamp(2rem,5vw,3.3rem);margin-bottom:8px}.winner-banner p:not(.eyebrow){color:#eee0c5}.winner-banner .button-row{max-width:360px}.score-list{display:grid;gap:7px;max-height:340px;overflow-y:auto}.score-row{display:flex;gap:10px;align-items:center;padding:10px 9px;border-radius:9px;border:1px solid transparent;min-width:0}.score-row.is-active{background:#394c3d;border-color:#69916b}.score-seat{color:#a1b09d;font-size:.7rem;font-weight:800}.score-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:.86rem}.score-name small{display:block;color:#a4d5a5;font-size:.57rem;font-weight:900;letter-spacing:.12em;margin-top:3px}.score-value{font-size:1.45rem;color:#f4dfab}.tie-score-list{border-top:1px solid #4b5c50;padding-top:17px;margin-top:17px}.tie-score-list h3{font-size:.83rem;margin-bottom:10px}.tie-score-list h3 .muted{display:block;font-size:.55rem;margin-top:3px}.tie-score-row{display:flex;justify-content:space-between;padding:8px 4px;font-size:.82rem;color:#d9e9ed}.event-history{min-width:0;border-top:1px solid #455646;color:#bdc8bd;font-size:.77rem}.event-history summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:12px 5px;font-weight:750}.event-history summary::-webkit-details-marker{display:none}.event-history summary:after{content:"+";font-size:1.2rem;line-height:1;color:#c8d9c5}.event-history[open] summary:after{content:"−"}.event-history summary:hover{color:#eef5ea}.event-history summary:focus-visible{outline:2px solid #b6db9b;outline-offset:2px}.log-empty{line-height:1.5;padding:0 8px}.event-list{margin:4px 0 0;padding:0 4px 2px 28px;max-height:320px;overflow-y:auto;color:#bdc8bd;font-size:.75rem;line-height:1.5}.event-list li{margin-bottom:10px;padding-left:4px;overflow-wrap:anywhere}.event-list li:last-child{color:#f2e9ce;font-weight:750}.debug-panel{margin-top:26px;color:#98a699;font-size:.75rem}.debug-panel summary{cursor:pointer;width:fit-content}.debug-panel pre{overflow:auto;background:#0f1511;border:1px solid #38443b;border-radius:10px;padding:15px;line-height:1.45}.error-banner{position:fixed;z-index:10;left:16px;right:16px;top:12px;max-width:600px;margin:auto;background:#70392e;color:#fff;border:1px solid #eead9b;border-radius:10px;padding:13px 18px}@media(max-width:900px){.game-grid{grid-template-columns:1fr}.game-aside{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.game-shell{width:min(100% - 24px,540px);padding-top:25px}.game-aside{grid-template-columns:1fr}.panel{padding:17px}.stage-banner{align-items:start;flex-direction:column;gap:8px}.table-surface{min-height:195px;gap:2px;padding:12px 6px 10px}.table-dice{min-height:152px}.die-piece{flex-basis:98px}.table-zone-ready .die-piece{flex-basis:96px}.table-zone:not(.table-zone-ready) .table-dice:has(.die-piece:nth-child(2)) .die-piece{flex-basis:calc(50% - 3px)}.table-zone:not(.table-zone-ready) .table-dice:has(.die-piece:nth-child(3)) .die-piece{flex-basis:calc(33.333% - 3px)}.die-color{font-size:.52rem}.die-face{font-size:2rem}.die-note{font-size:.54rem}.zone-label{font-size:.47rem;letter-spacing:.035em}.turn-stats{gap:8px}.stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:116px;padding:13px}.stat strong{font-size:1.8rem;white-space:nowrap}.stat small{text-align:left}.setup-footer{flex-wrap:wrap}.setup-footer .button,.target-field{width:100%}.section-heading .muted{display:none}}@media(max-width:365px){.game-header{align-items:start}.target-pill{flex-direction:column;gap:1px;align-items:center}.turn-heading{flex-wrap:wrap}.turn-chip{margin-left:auto}}.mp-entry{max-width:680px}.mp-entry .setup-card{display:grid;gap:20px}.mp-entry .button-row{display:flex}.mp-entry .button-row .button{min-width:0}.mp-back{margin:20px auto 0;min-height:42px}.mp-form h2{margin-bottom:4px}.mp-form label{display:grid;gap:8px;font-size:.85rem;font-weight:750;color:#d6d7c9}.mp-form input,.mp-form select,.mp-form textarea,.mp-invite textarea{width:100%;background:#161e19;border:1px solid #586b5c;border-radius:12px;color:#f3eedf;padding:12px 14px;font:inherit}.mp-form input,.mp-form select{min-height:48px}.mp-form textarea,.mp-invite textarea{resize:vertical;line-height:1.5}.mp-form .setup-player input{flex:1;min-width:0}.mp-form .setup-player select{width:128px;flex:0 0 128px}.mp-fields{display:grid;gap:12px;margin:8px 0 4px}.mp-shell{width:min(100% - 32px,1100px);margin:0 auto;padding:28px 0 70px}.mp-shell .game-shell:not(.compact-game){width:100%;padding-top:10px}.mp-shell.mp-compact-game{width:100%;padding:0}.mp-shell.mp-compact-game>.error-banner,.mp-shell.mp-compact-game>.mp-inactivity{width:min(calc(100% - 1rem),80rem);margin-inline:auto}.mp-shell.mp-compact-game>.error-banner{position:static;max-width:none;margin-block:.5rem;overflow-wrap:anywhere}.mp-game-status{display:flex;justify-content:flex-end;min-height:36px}.mp-header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #455847;padding:0 0 22px}.mp-header h1{font-size:clamp(1.6rem,4vw,2.5rem)}.mp-status{white-space:nowrap;color:#e9d6a0;border:1px solid #726c45;background:#383a2a;border-radius:999px;padding:9px 16px;font-size:.76rem;font-weight:800}.mp-lobby{width:min(100%,700px);margin:45px auto}.mp-lobby h2{font-size:2rem;margin-bottom:10px}.mp-lobby>.muted{line-height:1.6;font-size:.88rem}.mp-seats{list-style:none;padding:0;margin:26px 0;display:grid;gap:10px}.mp-seats li{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #435847;border-radius:13px;padding:16px;background:#1d2620}.mp-seats li span{color:#d1b977;font-size:.8rem;font-weight:750;text-align:right}.mp-invite{display:grid;gap:10px;border-top:1px solid #475449;padding-top:20px;margin-top:15px;font-size:.85rem;font-weight:750}.mp-invite textarea{font-size:.75rem;overflow-wrap:anywhere}.mp-invite button{justify-self:start}@media(max-width:650px){.mp-shell{width:min(100% - 24px,540px);padding-top:20px}.mp-header{flex-direction:column;align-items:flex-start;gap:12px}.mp-status{white-space:normal}.mp-form .setup-player{flex-wrap:wrap}.mp-form .setup-player select{margin-left:36px;flex:1 1 100%}}
