/* Shared cell geometry: rewards and board cells use the same square dimensions. */
.board-prize-scroll{container-type:inline-size;width:100%;overflow-x:auto;padding-block:4px;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#ad9469 #4a3f31}.board-prize-scroll:focus-visible{outline:2px solid #e7c77c;outline-offset:3px}.board-prize-layout{--prize-size:5;--six-cell:66.25px;--reward-cell:min(var(--six-cell),calc(100cqw/8));width:max-content;margin:0 auto}
.board-prize-grid{width:calc(var(--reward-cell)*(var(--prize-size) + 2));display:grid;grid-template-columns:var(--reward-cell) calc(var(--reward-cell)*var(--prize-size)) var(--reward-cell);grid-template-rows:var(--reward-cell) auto;gap:0;box-shadow:0 0 0 3px #332c2677}
.board-prize-grid .chalkboard-frame:has(.board){width:100%;min-width:0;max-width:none;margin:0;border:0;padding:0;border-radius:0;box-shadow:none;grid-column:2;grid-row:2}
.top-left-prize{grid-column:1;grid-row:1}.top-right-prize{grid-column:3;grid-row:1}
.top-left-prize,.top-right-prize{display:grid;min-width:0;min-height:0}
.column-prizes{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(var(--prize-size),minmax(0,1fr));padding-inline:0;min-width:0}
.row-prizes{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(var(--prize-size),minmax(0,1fr));padding-block:0;min-height:0}
.line-prize-slot{display:grid;place-items:center;min-width:0;min-height:0;width:100%;height:100%}
.line-prize{position:relative;display:grid;place-items:center;width:var(--reward-cell);height:var(--reward-cell);border:1px solid #a08a5f;border-radius:0;background:linear-gradient(#eee3c6,#cdb88c);box-shadow:inset 0 0 0 1px #fff4;opacity:.85}
.line-prize img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;image-rendering:pixelated;padding:4px}
.line-prize.is-earned{opacity:1;border-color:#f8d36d;background:#ffe2a3;box-shadow:0 0 8px #efb84966,inset 0 0 0 1px #fff9}
.line-prize-check{position:absolute;right:-4px;top:-5px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#f5d37a;color:#3e5638;font-size:11px;font-weight:900;line-height:1;border:1px solid #9a7d37}

.board-prize-layout[data-size="3"]{--prize-size:3}.board-prize-layout[data-size="4"]{--prize-size:4}.board-prize-layout[data-size="5"]{--prize-size:5}.board-prize-layout[data-size="6"]{--prize-size:6}.board-prize-layout[data-size="7"]{--prize-size:7}.board-prize-layout[data-size="8"]{--prize-size:8}.board-prize-layout[data-size="9"]{--prize-size:9}
.board-prize-layout[data-phase="lobby"]{--six-cell:61.25px}
@media(min-width:701px) and (max-height:800px){.board-prize-layout{--six-cell:53.75px}.board-prize-layout[data-phase="lobby"]{--six-cell:48.75px}}
@media(max-width:700px){.board-prize-layout{--six-cell:56.25px}.board-prize-layout[data-phase="lobby"]{--six-cell:51.25px}.line-prize{border-width:1px;border-radius:3px}.line-prize img{padding:2px}.line-prize-check{width:12px;height:12px;right:-3px;top:-4px;font-size:9px}}
.board-prize-grid .board{border:0;border-radius:0}.board-prize-grid .chalk-lines{inset:0;width:100%;height:100%}.line-prize-check{right:1px;top:1px}
.line-prize.is-taken{opacity:.4;filter:grayscale(1)}.line-prize-taken{position:absolute;right:1px;top:1px;font-size:12px;font-weight:900;line-height:1;color:#914b38;background:#e5d7ba;border-radius:3px;padding:1px 3px}.reward-summary{grid-column:1/-1;border-top:1px solid #cbbd9b;margin-top:18px;padding-top:12px}.reward-summary summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;font-size:15px;font-weight:700;color:#78603b;list-style:none}.reward-summary summary:after{content:"⌄";margin-left:auto}#rewardClaimCount{font-size:11px;font-weight:400;margin-left:auto;color:#9a855f}#rewardSummaryList{list-style:none;margin:10px 0 0;padding:0;max-height:280px;overflow:auto;scrollbar-width:thin}.reward-player{border-top:1px solid #cbbd9b66;padding:10px 0}.reward-player:first-child{border-top:0}.reward-player-heading{display:flex;justify-content:space-between;gap:6px;align-items:baseline;font-size:12px}.reward-player-heading strong{overflow-wrap:anywhere}.reward-player-heading>span{white-space:nowrap;color:#9c865e;font-size:10px}.reward-item{display:flex;align-items:center;gap:5px;font-size:11px;margin-top:6px}.reward-item img{object-fit:contain;image-rendering:pixelated;flex:none}.reward-item>strong{margin-left:auto;white-space:nowrap;color:#866522}.reward-none{font-size:11px;color:#a08f6e;margin:5px 0 0}.reward-summary[open] summary{margin-bottom:8px}
:is(#game,#next-game)[data-phase="finished"] .history-card #lastNumber{width:64px;height:64px;font-size:36px;margin:14px auto 8px}:is(#game,#next-game)[data-phase="finished"] .history-card>.fine{display:none}:is(#game,#next-game)[data-phase="finished"] :is(#winner,#next-winner){font-size:15px;line-height:1.5;margin-top:12px}:is(#game,#next-game)[data-phase="finished"] #history{gap:5px;margin-top:12px}:is(#game,#next-game)[data-phase="finished"] #history span{width:24px;height:24px}:is(#game,#next-game)[data-phase="finished"] .reward-summary{margin-top:12px}

.board-prize-grid .board .cell{font-size:clamp(23px,2.7vw,32px)}@media(max-width:700px){.board-prize-grid .board .cell{font-size:clamp(21px,6vw,32px)}}

.board-prize-grid .board[data-size]{gap:0}.board-prize-grid .board .cell{width:var(--reward-cell);height:var(--reward-cell);min-width:0;min-height:0}

:is(#gameResultsDialog,#next-gameResultsDialog){width:min(560px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:26px;border:2px solid #b29866;border-radius:14px;background:linear-gradient(100deg,#e9dfc5,#f4ecd7 50%,#e7dbc0);color:#514735;box-shadow:0 15px 60px #0006}:is(#gameResultsDialog,#next-gameResultsDialog)::backdrop{background:#171811b3}:is(#gameResultsTitle,#next-gameResultsTitle){text-align:center;margin:0;font-size:30px}.results-subtitle{text-align:center;margin:8px 0 20px;font-size:21px;font-weight:700;color:#866522}:is(#gameResultsList,#next-gameResultsList){list-style:none;padding:0;margin:0 0 22px;max-height:50dvh;overflow:auto}:is(#gameResultsList,#next-gameResultsList) .reward-player-heading{font-size:20px}:is(#gameResultsList,#next-gameResultsList) .reward-player-heading>span,:is(#gameResultsList,#next-gameResultsList) .reward-item,:is(#gameResultsList,#next-gameResultsList) .reward-none{font-size:16px}:is(#gameResultsList,#next-gameResultsList) .reward-item img{width:36px;height:36px}:is(#closeGameResults,#next-closeGameResults){display:block;margin:auto;font-size:16px}:is(#viewGameResults,#next-viewGameResults){width:100%;margin-top:12px;font-size:13px}

.history-card.rewards-card{display:block}.rewards-card .reward-summary,:is(#game,#next-game)[data-phase="finished"] .rewards-card .reward-summary{margin-top:0;padding-top:0;border-top:0}.rewards-card :is(#winner,#next-winner):not(:empty){margin:0 0 14px}

.game-layout{grid-template-columns:280px minmax(340px,1fr)}.game-result-actions{text-align:center;margin-top:12px}.game-result-actions:has(:is(#viewGameResults,#next-viewGameResults)[hidden]){display:none}.game-result-actions :is(#viewGameResults,#next-viewGameResults){width:auto;margin-top:8px}@media(min-width:1450px){.game-layout{grid-template-columns:270px minmax(340px,1fr)}}@media(min-width:701px) and (max-width:1050px){.game-layout{grid-template-columns:210px minmax(320px,1fr)}}@media(max-width:700px){.game-layout{grid-template-columns:1fr}}

.draw-card-panel{position:relative;padding:22px 16px;text-align:center;background:linear-gradient(100deg,#e9dfc5,#f4ecd7 50%,#e7dbc0);border:1px solid #b6a17c;color:#514735;box-shadow:0 5px 16px #0002,inset 0 0 0 4px #fff4}.draw-card-panel:before{content:'';position:absolute;width:60px;height:17px;top:-9px;left:calc(50% - 30px);background:#bfae7b99;transform:rotate(-3deg)}.draw-card-panel h2{font-size:21px;margin:0 0 18px}.draw-card-display{display:grid;place-items:center;min-height:230px;perspective:700px;margin-bottom:16px}.draw-card-back{display:grid;place-items:center;width:138px;height:208px;border:5px double #d9bc74;border-radius:12px;background:repeating-linear-gradient(45deg,#e4c77b0a 0 2px,transparent 2px 9px),radial-gradient(ellipse,#54685d,#293e37);box-shadow:5px 4px 0 #a39165,8px 7px 0 #756446,0 10px 16px #0003}.draw-card-back span{font-size:72px;color:#e4ca80;text-shadow:0 0 18px #e4ca8055}.draw-card-panel #drawCard{width:100%;font-size:15px;padding:10px}.draw-card-hint{font-size:11px;margin:10px 0 0;color:#9a855e}.draw-card-face{width:152px;min-height:218px;animation:draw-card-reveal .4s ease-out}.draw-card-display.is-drawing .draw-card-back{animation:draw-card-shuffle .55s ease-in-out}.draw-card-face .spell-art{font-size:56px}.draw-card-face .spell-name{font-size:17px}.draw-card-face .spell-description{font-size:12px}@keyframes draw-card-shuffle{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-12px) rotate(-9deg)}65%{transform:translateY(-5px) rotate(9deg)}}@keyframes draw-card-reveal{from{opacity:0;transform:rotateY(90deg) translateY(-12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.draw-card-face,.draw-card-display.is-drawing .draw-card-back{animation:none}}@media(min-width:1051px){.game-layout{grid-template-columns:280px minmax(340px,1fr) 220px}}@media(min-width:701px) and (max-width:1050px){.draw-card-panel{grid-column:1/-1}.draw-card-display{min-height:218px}}@media(max-width:700px){.draw-card-panel{grid-row:3}.draw-card-display{min-height:218px}}

:is(#drawnCardDialog,#next-drawnCardDialog){width:min(430px,calc(100vw - 32px));max-height:85dvh;overflow:auto;text-align:center;padding:24px;border:2px solid #b29866;border-radius:14px;background:linear-gradient(100deg,#e9dfc5,#f4ecd7 50%,#e7dbc0);color:#514735;box-shadow:0 15px 60px #0006}:is(#drawnCardDialog,#next-drawnCardDialog)::backdrop{background:#171811b3}.drawn-card-caption{font-size:14px;color:#927740;margin:0 0 8px}:is(#drawnCardTitle,#next-drawnCardTitle){font-size:26px;margin:0 0 16px}:is(#drawnCardContent,#next-drawnCardContent) .draw-card-face{margin:0 auto;min-height:195px}.drawn-card-effect{font-size:18px;line-height:1.6;font-weight:700;margin:18px 0}:is(#closeDrawnCard,#next-closeDrawnCard){font-size:16px;padding:10px 28px}.draw-card-panel .draw-card-display{margin-bottom:0}
