/* The new boards share the arcade palette while keeping each control surface distinct. */
.card-image:is(.art-words,.art-four,.art-warehouse,.art-lanes),.history-art:is(.art-words,.art-four,.art-warehouse,.art-lanes){background-size:cover;background-position:center}
.card-image.art-words,.history-art.art-words{background-image:url('/assets/words.webp')}.card-image.art-four,.history-art.art-four{background-image:url('/assets/four.webp')}.card-image.art-warehouse,.history-art.art-warehouse{background-image:url('/assets/warehouse.webp')}.card-image.art-lanes,.history-art.art-lanes{background-image:url('/assets/lanes.webp')}
.card-image:is(.art-words,.art-four,.art-warehouse,.art-lanes):before{display:none}
#game-dialog:is([data-game=words],[data-game=four],[data-game=warehouse],[data-game=lanes]) .game-viewport{aspect-ratio:auto;min-height:540px;height:min(650px,74dvh)}
#game-dialog #board-game.collection-board{position:absolute;inset:0;height:100%;padding:0;display:block;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;background:radial-gradient(ellipse at 50% 0,#3d4b7055,transparent 75%),#121621}
.collection-game{box-sizing:border-box;min-height:100%;height:100%;max-width:800px;margin:auto;padding:18px 24px;display:grid;grid-template-rows:auto minmax(180px,1fr) auto auto;gap:10px;color:#f3f5fb;line-height:1.5;font-size:1rem}
.collection-heading{text-align:center}.collection-prompt{font-size:clamp(1.15rem,2.6vw,1.6rem);margin:0;line-height:1.3;text-wrap:balance}.collection-detail{font-size:.875rem;color:#afbde4;margin:6px 0 0}.collection-surface{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:0;padding:6px 0}
.collection-game button{min-height:46px;min-width:44px;border:1px solid #6275a9;border-radius:12px;background:#252d44;color:#f8f9fc;font:inherit;font-weight:650;padding:9px 14px;cursor:pointer;touch-action:manipulation}
.collection-game button:hover:not(:disabled){background:#343f5e;border-color:var(--collection-accent)}.collection-game button:focus-visible{outline:3px solid #fff;outline-offset:2px}.collection-game button:disabled{opacity:.35;cursor:default}.collection-game button[aria-pressed=true],.collection-game button[data-hint=true]{background:var(--collection-accent);color:#181d2c;border-color:var(--collection-accent)}
.collection-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding-top:8px;border-top:1px solid #3d4a6e;background:#121622}.collection-actions .collection-primary{background:var(--collection-accent);color:#161b29;border-color:var(--collection-accent)}.collection-notice{margin:0;min-height:1.5em;text-align:center;color:var(--collection-accent);font-size:.875rem}.collection-small{font-size:.875rem;color:#a7b6e2;margin:5px}
.word-tokens,.word-slots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;max-width:620px}.word-tokens button{font-size:clamp(1.2rem,3vw,1.7rem);min-width:48px;min-height:54px;background:linear-gradient(155deg,#313c59,#20273b);box-shadow:0 4px 0 #0d1017}
.word-answer{width:100%;min-height:90px;padding:14px;border:1px dashed #7384b2;border-radius:18px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;background:#1b2132;box-sizing:border-box}.word-answer>span{color:#9eafdf}.word-answer button{background:#ffd0de;color:#422135;font-size:1.35rem}
.word-slot{display:grid;place-items:center;min-width:35px;height:50px;border-bottom:3px solid #8a98be;font-size:1.6rem}.word-hole{background:#75445f;border-radius:10px;color:#ffd1e4}.word-search{display:grid;grid-template-columns:repeat(var(--cols),1fr);width:min(100%,360px);gap:6px}.word-search button{min-width:0;min-height:44px;aspect-ratio:1;padding:2px;font-size:1.4rem;border-radius:9px}
.word-solved{text-align:center}.word-solved>span{display:block;font-size:2.5rem;color:#a6edbc}.word-solved>strong{display:block;color:var(--collection-accent);font-size:clamp(1.6rem,5vw,3rem);overflow-wrap:anywhere}.word-solved p{margin:10px 0;color:#acbbe3}.word-solved>b{display:block;margin-top:18px;font-size:1.4rem}
.four-wrap{width:min(100%,410px);display:grid;gap:8px}.four-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;background:linear-gradient(145deg,#4a5a86,#263d58);padding:10px;border:1px solid #95a2c5;border-bottom:6px solid #161b28;border-radius:18px;box-shadow:0 12px 24px #0005}
.four-cell{aspect-ratio:1;border-radius:50%;background:#141823;display:grid;place-items:center;color:#2b354f;font-weight:800;font-size:clamp(.9rem,3vw,1.4rem);box-shadow:inset 0 4px 7px #0007}.four-cell[data-player="1"]{background:linear-gradient(150deg,#b8c5e8,#7f8eb8);box-shadow:inset 0 0 0 4px #95a2c5,inset 0 -4px 0 #4d5e8c}.four-cell[data-player="2"]{background:linear-gradient(150deg,#ffc0c1,#f06c8d);color:#76314a;box-shadow:inset 0 0 0 4px #f78ba6,inset 0 -4px 0 #a53f61}.four-cell[data-player="-1"]{border-radius:6px;background:#697bad;color:#1e2436}.four-cell[data-last=true]{outline:2px solid white;outline-offset:1px}.four-cell[data-winning=true]{box-shadow:0 0 18px #fff;border:2px solid #fff}
.four-drops{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:0 10px}.four-drops button{min-width:0;padding:7px 0;font-size:.9375rem;border-radius:9px}.four-wrap.is-sideways{grid-template-columns:minmax(0,1fr) 54px;width:min(100%,455px)}.four-side-drops{display:grid;grid-template-rows:repeat(6,1fr);gap:5px;padding:9px 0}.four-side-drops button{min-width:0;min-height:0;padding:2px;font-size:.9375rem;border-radius:8px}
.warehouse-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:5px;width:min(100%,360px);padding:8px;background:#1a2e38;border:1px solid #557781;border-radius:16px;box-sizing:border-box;box-shadow:0 12px 22px #0004}.warehouse-cell{aspect-ratio:1;background:#284950;border-radius:7px;display:grid;place-items:center;position:relative;font-size:clamp(1rem,3vw,1.7rem);font-weight:750;color:#d4f5e8;border:1px solid #3f686f}
.warehouse-cell[data-wall=true]{background:repeating-linear-gradient(135deg,#384653,#384653 6px,#2c3946 6px,#2c3946 8px);border-color:#68747e;box-shadow:0 3px 0 #111d28}.warehouse-cell[data-goal=true]{background:#32674e;border:2px solid #a2efab;color:#c9ffcb}.warehouse-cell[data-box=true]{background:linear-gradient(135deg,#909dc2,#586b9f);color:#232b40;border-color:#adbce4;box-shadow:inset 0 0 0 3px #6e7faf,0 2px 0 #313c5a}.warehouse-cell[data-player=true]{background:#9eefe9;color:#175060;border:2px solid #edffff;box-shadow:0 0 13px #8bffea66}.warehouse-cell[data-locked=true]{background:#4b5c89;color:#e5e9f6;border-color:#a1b2e0}.warehouse-cell[data-ice=true]:not([data-wall=true]):not([data-player=true]){background:linear-gradient(145deg,#245a73,#408593);color:#b6edff;border-color:#73b9c8}
.warehouse-directions{display:flex;justify-content:center;gap:8px;width:100%}.warehouse-directions button{font-size:1.6rem;min-height:50px;min-width:56px}.warehouse-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.warehouse-tools button{font-size:.875rem;min-height:42px}
.lanes-arena{height:100%;min-height:160px;width:min(100%,600px);display:grid;grid-template-columns:1fr 1fr;gap:16px}.lanes-field{position:relative;overflow:hidden;border:1px solid #507b92;border-radius:16px;background:linear-gradient(#14233c,#203b50);min-width:0}.lanes-right{border-color:#94618c;background:linear-gradient(#22293d,#2c354f)}.lane-guide{position:absolute;top:0;bottom:0;left:33.333%;border-left:1px dashed #8ea2d955}.lane-guide:nth-child(2){left:66.666%}.lane-line{position:absolute;top:82%;left:0;right:0;border-top:2px dashed #d6ddf170}
.lane-player,.lane-object{position:absolute;left:calc((var(--lane) + .5) * 100% / 3);transform:translate(-50%,-50%);display:grid;place-items:center;width:clamp(26px,4vw,40px);height:clamp(26px,4vw,40px);font-size:clamp(20px,3vw,30px)}.lane-player{top:82%;border-radius:50%;color:#154b62;background:#a7eeff;border:2px solid #fff;box-shadow:0 0 24px #67daff99;z-index:2}.lanes-right .lane-player{background:#ffb5e6;color:#5b2854;box-shadow:0 0 24px #fc82cf99}.lane-player[data-active=false]{opacity:.45;box-shadow:none}.lane-object{top:var(--progress)}.lane-object.is-block{border-radius:6px;background:#c0cbea;color:#3b486b;border:2px solid #e0e5f4}.lane-object.is-gem{color:#a6b6e2;text-shadow:0 0 15px #9aa6c8}
.lanes-controls{width:min(100%,600px);display:grid;grid-template-columns:1fr 1fr;gap:16px}.lanes-control{padding:7px;border:1px solid #689baa;border-radius:13px;background:#183441}.lanes-control[data-side="1"]{background:#45283f;border-color:#a8769b}.lanes-control>span{display:block;text-align:center;font-size:.875rem;margin-bottom:5px}.lanes-control>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lanes-control button{font-size:1.7rem;min-height:57px;padding:5px;background:#31677a}.lanes-control[data-side="1"] button{background:#754566}.lanes-control[data-active=false]{opacity:.55}.lanes-control[data-active=true]{outline:2px solid #fff}
.lane-object[hidden]{display:none}.lane-player{transition:left .08s ease-out}
@media(max-width:700px){#game-dialog:is([data-game=words],[data-game=four],[data-game=warehouse],[data-game=lanes]) .game-viewport{min-height:0;height:auto;flex:1}.collection-game{padding:12px;gap:8px}.collection-surface{gap:14px}.four-board{gap:5px;padding:7px;border-radius:12px}.four-drops{padding:0 7px;gap:3px}.four-drops button{font-size:.875rem}.collection-actions button{padding:8px 11px}.word-search{gap:5px}.word-search button{font-size:1.25rem}.word-tokens{gap:7px}.word-tokens button{min-width:44px;min-height:48px}.word-answer{min-height:70px;padding:10px}.lanes-arena,.lanes-controls{gap:10px}.lanes-control button{min-height:54px}.lanes-control>span{font-size:.875rem}}
#game-dialog:is([data-game=words],[data-game=four],[data-game=warehouse],[data-game=lanes]).is-expanded .game-viewport{min-height:0;height:auto;flex:1}
@media(max-height:500px) and (orientation:landscape){.collection-game{height:auto;min-height:100%;padding:10px 20px;grid-template-rows:auto minmax(200px,1fr) auto auto}.collection-prompt{font-size:1.15rem}.four-wrap{max-width:300px}.warehouse-grid{max-width:250px}.word-search{max-width:285px}.word-search button{min-height:36px}.collection-board[data-collection=lanes] .collection-game{height:100%;grid-template-columns:minmax(0,1fr) 215px;grid-template-rows:1fr auto;padding:8px;gap:8px}.collection-board[data-collection=lanes] .collection-heading{display:none}.collection-board[data-collection=lanes] .collection-surface{grid-column:1;grid-row:1/3;padding:0}.collection-board[data-collection=lanes] .collection-actions{grid-column:2;grid-row:1;align-self:center;border:0;padding:0}.collection-board[data-collection=lanes] .collection-notice{grid-column:2;grid-row:2}.lanes-controls{gap:8px}.lanes-control{padding:4px}.lanes-control>div{gap:4px}.lanes-control button{min-width:0}.lanes-arena{min-height:100px}}
@media(prefers-reduced-motion:reduce){.collection-game *{animation:none!important;scroll-behavior:auto!important}}
