[hidden]{display:none!important}
html:has(.arcade-player){scroll-behavior:auto}
.games-main{padding-top:48px}
.games-heading{margin-bottom:32px}
.games-intro{color:var(--muted);font-size:15px;line-height:1.7;margin-top:18px}
.arcade-library-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}
.arcade-library-top p{font-size:12px;color:var(--muted)}
.game-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.game-choice{display:flex;align-items:center;gap:20px;min-width:0;text-align:left;border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--surface,#fffdf7);transition:transform .18s,border-color .18s,background .18s}
.game-choice:hover{transform:translateY(-3px);border-color:#b99a00;background:var(--blue)}
.cow-icon{width:64px;height:64px;object-fit:contain;flex-shrink:0}
.game-choice-copy{min-width:0}
.game-choice h2{font-size:22px;letter-spacing:-.6px;line-height:1.2;margin-top:6px}
.game-choice-type{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);font-weight:650}
.game-choice-arrow{margin-left:auto;font-size:18px;color:var(--muted)}
.desktop-download{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:28px;margin-top:38px}
.desktop-download h2{font-family:var(--font);font-size:15px;letter-spacing:0}
.desktop-download p{font-size:12px;color:var(--muted);margin-top:7px}
.desktop-download .text-link{white-space:nowrap}
.games-main:has(#arcade-player:not([hidden]))>.games-heading{display:none}
.arcade-player{scroll-margin-top:25px;border:1px solid var(--line);background:var(--surface,#fffdf7);border-radius:20px;padding:28px;overflow:hidden}
.player-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid var(--line)}
.player-heading h2{font-size:32px;letter-spacing:-1px}
.player-heading-actions{display:flex;gap:10px}
.arcade-button{border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:650;min-height:42px;padding:10px 16px;line-height:1.4}
.arcade-button:hover:enabled{background:var(--blue)}
.arcade-button:disabled{opacity:.45;cursor:default}
.arcade-settings{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding-top:20px}
.arcade-settings:empty{display:none}
.arcade-field{display:flex;flex-direction:column;gap:6px;min-width:110px;font-size:11px;color:var(--muted)}
.arcade-field select{font:inherit;font-size:12px;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:9px 12px;border-radius:7px;min-height:39px;max-width:100%}
.game-status{font-size:14px;font-weight:600;text-align:center;min-height:24px;line-height:1.6;margin:22px 0 18px}
.game-stage{position:relative;min-height:200px;max-width:100%;margin:auto;outline-offset:8px}
.game-stage:focus:not(:focus-visible){outline:none}
.game-stage.game-paused::after{content:'Paused';position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:#172234da;color:#fff9e7;font-family:var(--display);font-size:38px;border-radius:12px;backdrop-filter:blur(3px)}
.game-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px}
.game-help{font-size:12px;line-height:1.8;color:var(--muted);max-width:700px;margin:22px auto 0;text-align:center}
.play-grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));max-width:520px;margin:auto;gap:8px;touch-action:manipulation}
.board-cell{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-family:var(--display);font-size:clamp(30px,7vw,70px);line-height:1;padding:0}
.board-cell:disabled{cursor:default}
.board-cell:hover:enabled{background:var(--blue)}
.tic-board{max-width:420px}
.tic-board .player-1{color:#a87900}.tic-board .player-2{color:#317d9e}
.connect-board{padding:15px;border-radius:16px;background:#263b59;gap:9px;max-width:600px}
.connect-board .board-cell{background:#152034;border:0;border-radius:50%}
.connect-board .player-1,.reversi-board .player-1::after{background:#f8d76b}
.connect-board .player-2,.reversi-board .player-2::after{background:#78c4df}
.connect-board .board-cell:hover:enabled{box-shadow:inset 0 0 0 3px #f8d76b}
.number-tile{aspect-ratio:1;display:grid;place-items:center;border-radius:9px;border:1px solid var(--line);background:var(--blue);color:var(--ink);font-family:var(--display);font-size:clamp(22px,5vw,40px);font-weight:650;padding:0}
.merge-board{background:#b9b4a4;border:8px solid #b9b4a4;border-radius:14px;gap:8px;touch-action:none}
.merge-board .number-tile{border:0;background:#d0cbbb;color:#332e27}
.number-tile[data-value='2']{background:#f2ecde}.number-tile[data-value='4']{background:#eee0b6}.number-tile[data-value='8']{background:#f2b479}.number-tile[data-value='16']{background:#f19c68}.number-tile[data-value='32']{background:#ed8265}.number-tile[data-value='64']{background:#de695d}.number-tile[data-value='128']{background:#efd477}.number-tile[data-value='256']{background:#efcc59}.number-tile[data-value='512']{background:#edc741}.number-tile[data-value='1024']{background:#e3bb2e}.number-tile[data-value='2048']{background:#f8db32}
.sliding-board .blank{visibility:hidden}
.direction-pad{display:grid;grid-template-columns:repeat(3,44px);gap:5px}
.direction-pad [data-direction='up']{grid-column:2}.direction-pad [data-direction='left']{grid-column:1}.direction-pad .arcade-button{padding:8px;font-size:19px}
.memory-card{aspect-ratio:1;border-radius:12px;border:1px solid var(--line);background:var(--blue);display:grid;place-items:center;color:var(--ink);font-size:38px;padding:6px}
.memory-card .cow-icon{width:80%;height:80%;max-width:100px;max-height:100px}
.memory-card.matched{background:#d5e9d1;border-color:#8da786}.is-dark .memory-card.matched{background:#294b3c;border-color:#53755d}
.mines-board{max-width:480px;gap:3px;padding:6px;background:var(--line);border-radius:10px}
.mine-cell{aspect-ratio:1;border:0;border-radius:3px;background:var(--paper);font-size:clamp(12px,3vw,21px);font-weight:750;padding:0}
.mine-cell.revealed{background:var(--blue);box-shadow:inset 0 0 0 1px var(--line)}.mine-cell.bomb{background:#f3a0a0;color:#511b1b}
.mine-cell[data-number='1']{color:#3b70cf}.mine-cell[data-number='2']{color:#34804a}.mine-cell[data-number='3']{color:#bb5151}
.reversi-board{gap:2px;background:#365c4d;padding:5px;border-radius:9px}
.reversi-board .board-cell{border:0;background:#204839;border-radius:0}
.reversi-board .board-cell::after{content:'';position:absolute;inset:12%;border-radius:50%}
.reversi-board .legal::after{inset:40%;background:#ffffff6b}
.chess-board{gap:0;border:5px solid #414a55;border-radius:5px}
.chess-square{position:relative;border:0;border-radius:0;aspect-ratio:1;padding:0;display:grid;place-items:center;min-width:0}
.chess-light{background:#e8e4d4}.chess-dark{background:#75918a}
.chess-square.selected{background:#ebcb67}.chess-square.hinted{box-shadow:inset 0 0 0 4px #df9345}
.chess-square.legal::after{content:'';position:absolute;inset:39%;border-radius:50%;background:#2a4b6d80}
.chess-square.legal:has(.chess-piece)::after{inset:3%;background:transparent;border:3px solid #2a4b6d80}
.chess-piece{font-size:clamp(25px,6vw,50px);line-height:1;font-family:'Segoe UI Symbol','Arial Unicode MS',serif}
.white-piece{color:#fffdf1;text-shadow:1px 1px 0 #25302b,-1px -1px 0 #25302b,-1px 1px 0 #25302b,1px -1px 0 #25302b}.black-piece{color:#202d35}
.square-coordinate{position:absolute;left:3px;bottom:2px;font-family:Arial,sans-serif;font-size:9px;color:#233c35}
.promotion-picker{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:18px;font-size:14px}
.canvas-wrap{max-width:600px;margin:auto}.arcade-canvas{width:100%;height:auto;display:block;border-radius:12px;touch-action:none;background:#172234}
.simon-board{max-width:450px;gap:14px}
.simon-pad{aspect-ratio:1;border:4px solid #00000012;border-radius:20px;font-size:38px;font-weight:700;color:#172234;opacity:.65}
.simon-0{background:#f8d76b}.simon-1{background:#78c4df}.simon-2{background:#e991ae}.simon-3{background:#a8ba7c}
.simon-pad.lit{opacity:1;box-shadow:inset 0 0 0 7px #fff,0 0 18px #ffffff55;transform:scale(.97)}
.whack-board{max-width:490px;gap:15px}
.whack-hole{aspect-ratio:1;position:relative;border:1px solid var(--line);border-radius:50%;background:var(--blue);padding:0;overflow:hidden}
.whack-hole .cow-icon{position:absolute;width:82%;height:82%;left:9%;top:10%;opacity:0;transform:translateY(70%);transition:transform .1s,opacity .1s}
.whack-hole.cow-up .cow-icon{transform:translateY(0);opacity:1}.hole-number{position:absolute;bottom:8px;left:0;right:0;font-size:11px;color:var(--muted)}
.trivia-board{max-width:690px;margin:auto}.trivia-topic{font-size:11px;color:var(--muted);line-height:1.5;margin-bottom:17px}.trivia-question{font-size:clamp(23px,3vw,33px);letter-spacing:-.5px;line-height:1.3;margin-bottom:25px}
.trivia-answers{display:grid;grid-template-columns:1fr;gap:10px}.trivia-answer{display:flex;align-items:center;gap:15px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px;font-size:14px;line-height:1.5;min-height:55px}
.answer-number{width:26px;flex-shrink:0;color:var(--muted)}.trivia-answer.correct{border-color:#5f9c6b;background:#d8ecd5;color:#173e26}.trivia-answer.incorrect{border-color:#c27676;background:#f5dddd;color:#642727}.trivia-answer.eliminated{opacity:.25;text-decoration:line-through}.trivia-cow{width:110px;height:110px;object-fit:contain;margin:8px auto 15px}.trivia-feedback{font-size:13px;line-height:1.7;min-height:24px;margin-top:18px;color:var(--muted)}
.solitaire-table{--stack-gap:clamp(18px,2.5vw,30px);--card-height:clamp(57px,11vw,145px);background:#204839;padding:20px;border-radius:14px;max-width:920px;margin:auto}
.solitaire-top,.solitaire-columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.solitaire-top{margin-bottom:20px}.solitaire-pile,.stock-pile{position:relative;aspect-ratio:5/7;min-width:0;border-radius:7px;background:#173b2e;border:1px solid #ffffff18;color:#b6cbba;display:grid;place-items:center;font-size:25px;padding:0}
.solitaire-column{position:relative;height:calc(var(--card-height) + var(--stack-count)*var(--stack-gap));min-height:var(--card-height);background:#173b2e6b;border-radius:7px}
.playing-card{position:absolute;inset:0 auto auto 0;width:100%;height:var(--card-height);border-radius:7px;background:#fff9e7;color:#202728;border:1px solid #d8d0b9;text-align:left;padding:5px;touch-action:none;user-select:none}
.solitaire-pile .playing-card{height:100%}.solitaire-column .playing-card{top:calc(var(--card-index)*var(--stack-gap))}
.red-card{color:#b6404b}.face-down{background:#544776;border-color:#74698d}
.card-rank{position:absolute;top:4px;left:5px;font-weight:700;font-size:clamp(10px,1.7vw,18px);line-height:1}
.card-cow{position:absolute;width:73%;height:65%;object-fit:contain;bottom:2px;left:13%;pointer-events:none}
.card-back-cow{width:76%;height:76%;object-fit:contain;pointer-events:none;margin:auto}
.face-down .card-back-cow{position:absolute;inset:0}
.playing-card.selected{outline:3px solid #f8d76b;outline-offset:-3px}
.pile-label{font-size:clamp(10px,2.4vw,28px);color:#b6cbba}
.empty-pile-target{position:absolute;inset:0;width:100%;height:var(--card-height);border:1px dashed #ffffff33;border-radius:7px;background:transparent;color:#b6cbba;font-size:18px}
.foundation .empty-pile-target{height:100%}.solitaire-table .hinted,.solitaire-table .drop-target{box-shadow:0 0 0 3px #f8d76b}.solitaire-table.dragging{cursor:grabbing}
.card-drag-ghost{position:fixed;z-index:1000;pointer-events:none;filter:drop-shadow(0 8px 10px #0005)}.card-drag-ghost *{pointer-events:none}.solitaire-table.dragging .playing-card.selected{opacity:.35}
@media(max-width:1100px){.game-choice{padding:20px;gap:14px}.game-choice h2{font-size:19px}.game-choice .cow-icon{width:50px;height:50px}}
@media(max-width:850px){.game-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.arcade-player{padding:20px}.solitaire-table{padding:12px}.solitaire-top,.solitaire-columns{gap:6px}}
@media(max-width:600px){.games-main{padding-top:32px}.game-picker{gap:10px}.game-choice{padding:17px 13px;gap:10px;flex-wrap:wrap;position:relative}.game-choice .cow-icon{width:48px;height:48px}.game-choice-copy{flex-basis:100%}.game-choice h2{font-size:18px;letter-spacing:-.3px}.game-choice-arrow{position:absolute;top:24px;right:14px}.game-choice-type{font-size:8px}.arcade-player{padding:16px 12px;border-radius:14px;margin-inline:-8px}.player-heading h2{font-size:27px}.player-heading{gap:14px;padding-bottom:18px}.player-heading-actions{width:100%}.player-heading-actions .arcade-button{flex:1}.arcade-settings{gap:10px}.arcade-field{flex:1;min-width:110px}.game-status{font-size:12px;margin-block:18px 14px}.game-help{font-size:11px;text-align:left}.game-controls{gap:8px}.arcade-button{padding:9px 12px;font-size:11px}.play-grid{gap:5px}.connect-board{gap:6px;padding:10px}.chess-board{gap:0}.mines-board{gap:2px;padding:4px}.reversi-board{gap:2px}.square-coordinate{font-size:7px;left:2px}.desktop-download{align-items:flex-start;flex-direction:column}.desktop-download h2{font-size:14px}.game-choice:focus-visible{outline-offset:2px}.solitaire-table{padding:7px;--card-height:clamp(55px,16vw,90px);--stack-gap:20px}.solitaire-top,.solitaire-columns{gap:4px}.solitaire-top{margin-bottom:14px}.playing-card{padding:2px;border-radius:4px}.card-rank{left:2px;top:3px;font-size:11px}.empty-pile-target{border-radius:4px}.game-stage:has(.solitaire-table){margin-inline:-5px}.whack-board{gap:10px}.trivia-answer{padding:12px;font-size:13px}.trivia-question{font-size:23px}.simon-board{gap:10px}}
@media(prefers-reduced-motion:reduce){.game-choice,.whack-hole .cow-icon{transition:none}.simon-pad.lit{transform:none}}
