.bingo .board,.ludo .board{min-height:800px;display:flow-root}.bingo-caller{justify-content:center;align-items:center;gap:18px;margin:10px 0 24px;display:flex}.bingo-ball{color:#2a493b;text-align:center;background:radial-gradient(circle at 32% 26%,#fffef5 0 39%,#d99c56 41% 62%,#95632d 100%);border:2px solid #91682b;border-radius:50%;flex:0 0 85px;place-content:center;width:85px;height:85px;font-size:14px;font-weight:700;display:grid;box-shadow:0 6px 10px #3e4b2525}.bingo-ball b{font-size:28px;line-height:1}.bingo-grid{background:#2c5845;border-radius:16px;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-width:480px;margin:auto;padding:12px;display:grid}.bingo-grid>strong{text-align:center;color:#fff6dc;font:700 24px Georgia,serif}.bingo-grid button{aspect-ratio:1;position:relative;color:#304d3d!important;background:#fff7e5!important;min-height:44px!important;padding:0!important;font:700 clamp(17px,3vw,27px) Georgia,serif!important}.bingo-grid .marked{color:#fff!important;background:#a44758!important;border:3px double #fff0c8!important}.bingo-grid .called:not(.marked){box-shadow:inset 0 0 0 3px #b58838}.bingo-grid .winning-cell{box-shadow:0 0 0 3px #dba935}.bingo-claim{margin:18px auto 0;display:block;color:#fff!important;background:#295c46!important;min-height:44px!important}.called-list{background:#fff6;border-radius:12px;padding:12px}.called-list p{font-size:13px;line-height:2}.ludo-board{width:100%;max-width:580px;margin:auto;display:block}.ludo-scroll{overflow:auto}.ludo-die{color:#2c5845;text-align:center;min-width:60px;font-size:56px;line-height:1}.ludo-token{cursor:pointer}.ludo-token.hinted circle,.ludo-token:focus circle{stroke:#eac025;stroke-width:6px}.ludo-token{outline:none;transition:transform .2s}.ludo-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:15px 0;display:grid}.ludo-choices button{overflow-wrap:anywhere;min-height:48px!important}.ludo-choices .hinted{box-shadow:inset 0 0 0 3px #c08c22}.board-zoomed .ludo-board{min-width:650px}.bingo .game-toolbar-actions button,.ludo .game-toolbar-actions button{min-height:44px!important}@media (width<=620px){.bingo-grid{gap:5px;padding:9px}.bingo-grid>strong{font-size:20px}.bingo-caller{gap:10px}.bingo-ball{flex-basis:65px;width:65px;height:65px}.bingo-ball b{font-size:24px}.ludo-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.bingo .board{min-height:720px}.ludo .board{min-height:650px}}[data-theme=dark] .ludo-die{color:#f3e8c8}[data-theme=dark] .called-list{background:#1e3b32}@media (prefers-reduced-motion:reduce){.ludo-token{transition:none}}[data-motion=off] .ludo-token{transition:none}.dress-up .board,.basketball .board,.soccer .board{min-height:850px;display:flow-root}.dress-workbench{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.dress-picture{max-width:300px;margin:auto}.dress-picture svg{border-radius:22px;width:100%;height:auto;display:block;box-shadow:0 5px 15px #27422b18}.dress-workbench>div>button{margin:12px auto;display:block}.dress-tabs{flex-wrap:wrap;gap:5px;margin:12px 0;display:flex}.dress-tabs [aria-pressed=true]{color:#fff!important;background:#2c5c46!important}.dress-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:510px;padding:4px;display:grid;overflow:auto}.dress-items button{align-content:start;place-items:center;gap:6px;display:grid;min-width:0!important;min-height:105px!important;padding:8px!important}.dress-items svg{width:100%;height:50px}.dress-items small{overflow-wrap:anywhere;font-size:10px;line-height:1.4}.dress-items strong{font-size:11px}.dress-items [aria-pressed=true]{box-shadow:inset 0 0 0 3px #729d71}.dress-items .hinted{outline-offset:0;outline:3px solid #af6f24}.dress-conditions{background:#fff8;border:1px solid #91ab83;border-radius:14px;margin:18px 0;padding:16px}.dress-conditions li{margin:7px 0;list-style:none}.dress-conditions ul{padding:0}.condition-met{color:#235c35;font-weight:700}.saved-looks{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0;display:grid}.saved-looks>div{gap:5px;display:grid}.saved-looks button{overflow-wrap:anywhere;font-size:11px!important}.sport-hud{flex-wrap:wrap;justify-content:space-between;gap:12px;margin:10px 0 16px;display:flex}.sport-viewport{border:2px solid #a0b395;border-radius:20px;max-width:760px;margin:auto;overflow:auto}.sport-viewport canvas{touch-action:none;cursor:crosshair;width:100%;height:auto;display:block}.sport-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.soccer .sport-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.sport-range{gap:4px;display:grid}.sport-range>span{justify-content:space-between;gap:8px;font-size:13px;display:flex}.sport-range input{accent-color:#2c644a;width:100%;min-width:0;height:44px}.sport-shoot{min-width:130px;margin:auto;display:block;color:#fff!important;background:#2a6147!important;min-height:48px!important}.board-zoomed .sport-viewport canvas{min-width:700px}.board-zoomed .dress-picture{min-width:420px}@media (width<=700px){.dress-workbench{grid-template-columns:1fr;gap:10px}.dress-picture{max-width:240px}.dress-items{grid-template-columns:repeat(4,minmax(0,1fr));max-height:340px}.dress-items button{min-height:90px!important;padding:6px!important}.dress-items svg{height:43px}.dress-up .board{min-height:1350px}.dress-tabs{justify-content:center}.dress-tabs button{padding:8px!important;font-size:11px!important}.saved-looks{grid-template-columns:1fr}.saved-looks>div{grid-template-columns:1fr 1fr}.basketball .board,.soccer .board{min-height:680px}.sport-controls,.soccer .sport-controls{grid-template-columns:1fr;gap:4px}.sport-range input{height:44px}.sport-hud{font-size:13px}.sport-range>span{font-size:12px}}[data-theme=dark] .dress-conditions{background:#25432e}[data-theme=dark] .condition-met{color:#c3e3a5}.car-racing .board,.piano .board{min-height:880px;display:flow-root}.race-viewport{border:2px solid #a4b493;border-radius:20px;max-width:900px;margin:auto;overflow:hidden}.race-viewport canvas{width:100%;height:auto;display:block}.race-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.race-controls button{touch-action:none;user-select:none;overflow-wrap:anywhere;min-height:54px!important;font-size:13px!important}.race-controls button:active{color:#fff!important;background:#2e6047!important}.car-racing [data-action=race-start],.piano [data-action=piano-start]{margin:16px auto;display:block;color:#fff!important;background:#2a6147!important;min-height:48px!important}.car-racing .setting-row{max-width:420px;margin:auto}.piano-key-scroll{overscroll-behavior-x:contain;padding:12px 4px 24px;overflow-x:auto}.piano-keys{--key-width:calc(100% / 14);min-width:924px;height:260px;position:relative}.piano-keys button{left:calc(var(--key-pos)*var(--key-width));touch-action:pan-x;user-select:none;justify-content:center;align-items:flex-end;display:flex;position:absolute;min-width:0!important;padding:0!important}.piano-keys .white-key{width:var(--key-width);border:1px solid #acb5a7;border-radius:0 0 8px 8px;height:250px;box-shadow:0 6px #a4af9d;color:#294b3f!important;background:linear-gradient(#fffdf5,#efe9dc)!important}.piano-keys .black-key{z-index:1;width:calc(var(--key-width)*.68);border-radius:0 0 6px 6px;height:157px;box-shadow:0 5px #12241b;color:#fff7df!important;background:linear-gradient(#3b5049,#1e332c)!important}.piano-keys span{padding-bottom:12px;font-size:12px}.piano-keys .key-down{box-shadow:none;transform:translateY(4px);background:#d8b96d!important}.piano-recent{text-align:center;overflow-wrap:anywhere;min-height:50px;padding:12px;font-size:18px}#piano-canvas{border-radius:20px;width:100%;max-width:620px;height:auto;margin:auto;display:block}.piano-pads{grid-template-columns:repeat(4,1fr);gap:8px;max-width:620px;margin:12px auto;display:grid}.piano-pads button{touch-action:manipulation;height:60px;font-size:20px!important}.piano-pads button:first-child{background:#dfb364!important}.piano-pads button:nth-child(2){background:#d99799!important}.piano-pads button:nth-child(3){background:#8dbfcf!important}.piano-pads button:nth-child(4){background:#ae9bcc!important}.piano-pads .key-down{transform:translateY(2px);box-shadow:inset 0 0 0 4px #2e6047}.piano [data-action=piano-sound]{white-space:normal;overflow-wrap:anywhere;max-width:100%;min-height:48px!important}.piano .phase4-toolbar{align-items:center}.board-zoomed .race-viewport{overflow:auto}.board-zoomed #race-canvas{min-width:850px}@media (width<=700px){.car-racing .board{min-height:650px}.piano .board{min-height:800px}.race-controls{grid-template-columns:1fr 1fr}.race-controls button{font-size:12px!important}.piano .phase4-toolbar{gap:12px;display:grid}.piano .phase4-toolbar select{max-width:100%}.piano-pads button{min-height:52px!important}.piano-key-scroll{margin:0 -8px}.piano-keys{height:240px}.piano-keys .white-key{height:225px}.piano-keys .black-key{height:147px}}.piano-piece-picker{margin:22px 0}.piano-piece-picker h2{font-size:18px}.piano-piece-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.piano-piece-picker button{text-align:left;grid-template-columns:28px 1fr;gap:4px 8px;display:grid;min-height:75px!important;padding:12px!important}.piano-piece-picker button>span{color:#6b8363;grid-row:span 2;font-size:28px}.piano-piece-picker strong{overflow-wrap:anywhere;font-size:13px}.piano-piece-picker small{font-size:12px}@media (width<=700px){.piano-piece-picker>div{grid-template-columns:1fr 1fr}.piano-piece-picker button{grid-template-columns:1fr}.piano-piece-picker button>span{display:none}}.game-intro{justify-content:space-between;align-items:center;gap:20px;padding-block:26px 24px;display:flex}.game-intro h1{margin:0 0 7px;font-size:clamp(27px,3vw,38px)}.game-intro p{color:var(--muted);margin:0;font-size:13px}.game-intro>a{white-space:nowrap;text-underline-offset:4px;font-size:12px}.game-shell{background:#fffefa;border:1px solid #d9e0d4;border-radius:15px;position:relative;overflow:hidden}.game-toolbar{border-bottom:1px solid #d9e0d4;justify-content:space-between;align-items:center;gap:16px;padding:17px 23px;display:flex}.mode-control{color:#5d6b5f;align-items:center;gap:9px;font-size:12px;display:flex}.mode-control select{color:#2e4938;background:#f5f6ee;border:1px solid #d2dbc9;border-radius:7px;max-width:140px;padding:8px 23px 8px 10px;font-size:12px}.game-numbers{color:#647460;gap:20px;font-size:11px;display:flex}.game-numbers b{color:#324b39;font-variant-numeric:tabular-nums;min-width:20px;margin-right:2px;font-size:15px;font-weight:600;display:inline-block}.game-toolbar-actions{gap:8px;display:flex}.game-shell button:not(.playing-card,.mahjong-tile,.stock,.empty-pile,.puzzle-cell,.jigsaw-piece,.block-piece){color:#37533e;background:#fffefa;border:1px solid #d8dfd0;border-radius:7px;min-height:36px;padding:8px 13px;font-size:12px}.game-shell .new-game-button{align-items:center;gap:13px;display:flex;color:#fff!important;background:#2c5a43!important;border-color:#2c5a43!important}.game-stage{overscroll-behavior-x:contain;scrollbar-color:#9dab92 #e6eddf;background:#e6eddf;min-height:480px;padding:26px 25px 24px;position:relative;overflow:auto}.mahjong-solitaire .game-stage{background:#e9eee2;min-height:510px}.board{width:100%;min-height:430px;margin:auto;position:relative}.loading-board{text-align:center;color:#60715a;padding:120px 0}.board-tools{border-bottom:1px solid #e3e7dc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 19px;display:flex}.board-tools>div{flex-wrap:wrap;gap:7px;display:flex}.board-tools button{background:0 0!important;border-color:#0000!important}.board-tools button:hover:not(:disabled){background:#eef2e8!important}.board-tools button span{vertical-align:-1px;margin-right:4px;font-size:18px}.game-status{color:#5d715e;min-height:43px;margin:0;padding:12px 22px;font-size:12px}.storage-notice{color:#775123;background:#fff0d4;margin:0;padding:12px 20px;font-size:12px}.daily-badge{color:#67532a;background:#f2e7cb;border-radius:4px;align-self:center;padding:3px 7px;font-size:10px}.card-table{--columns:7;--gap:14px;--card-w:calc((100% - (var(--columns) - 1)*var(--gap))/var(--columns));--card-h:clamp(65px,10.5vw,139px);--step:clamp(22px,2.9vw,34px);--down-step:clamp(9px,1.2vw,14px);max-width:1000px;margin:auto;position:relative}.card-table.spider{--columns:10;--gap:9px;--card-h:clamp(48px,8.6vw,117px);--step:clamp(19px,2.6vw,30px);--down-step:clamp(8px,1vw,12px)}.card-top{gap:var(--gap);grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;margin-bottom:24px;display:grid}.card-table.spider .card-top{grid-template-columns:repeat(10,minmax(0,1fr));margin-bottom:22px}.card-pile{min-height:var(--card-h);border-radius:8px;position:relative}.tableau{grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:var(--gap);align-items:start;display:grid}.tableau .card-pile{height:var(--pile-height);min-height:var(--card-h);position:relative}.playing-card,.stock,.empty-pile{color:#233e33;left:0;top:var(--top,0);height:var(--card-h);-webkit-user-select:none;user-select:none;touch-action:pan-y;background:#fffef9;border:1px solid #c7cfbc;border-radius:7px;width:100%;padding:0;font-family:Georgia,Times New Roman,serif;line-height:1;transition:box-shadow .12s;position:absolute;overflow:hidden;box-shadow:0 2px 2px #32432b15}.playing-card{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.playing-card:focus-visible,.mahjong-tile:focus-visible{outline-offset:1px;outline:3px solid #b07826;z-index:300!important}.playing-card.red{color:#b04039}.card-corner{pointer-events:none;flex-direction:column;align-items:center;gap:2px;padding:6px 7px;font-size:clamp(14px,1.8vw,23px);font-weight:600;display:flex}.card-corner small{font-size:.8em}.card-center{pointer-events:none;align-self:center;font-size:clamp(23px,3.8vw,45px);line-height:1;position:absolute;top:40%;left:50%;transform:translate(-50%)}.card-bottom{pointer-events:none;font-size:clamp(13px,1.7vw,20px);position:absolute;bottom:5px;right:7px;transform:rotate(180deg)}.card-back,.stock.has-cards{color:#fff;background:#54765e repeating-linear-gradient(45deg,#0000,#0000 5px,#ffffff0b 5px 6px);border-color:#d5dccb;box-shadow:inset 0 0 0 4px #f7f8ed,inset 0 0 0 5px #71916b,0 2px 2px #32432b15}.card-back{cursor:default}.stock{flex-direction:column;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-size:13px;display:flex}.stock strong{font-size:25px;font-weight:400}.stock .stock-count{font-size:12px}.stock:not(.has-cards){color:#5e7351;box-shadow:none;background:#dbe4d1;border-style:dashed}.empty-pile{color:#526444;box-shadow:none;background:#dae3d0;border:1px dashed #acbba0;justify-content:center;align-items:center;font-size:27px;display:flex}.empty-pile .pile-label{font:10px system-ui;position:absolute;bottom:10px}.playing-card.selected,.mahjong-tile.selected{outline-offset:0;outline:3px solid #ad7529;box-shadow:0 0 0 4px #f6d493a0}.playing-card.hinted,.mahjong-tile.hinted,.empty-pile.hinted{outline-offset:0;outline:3px solid #52854a;box-shadow:0 0 0 5px #b3d48b80}.card-pile.destination{outline-offset:3px;outline:3px dashed #a7792f}.completed-label{color:#556c4b;grid-column:span 5;align-self:center;font-size:12px}.completed-label b{margin-right:6px;font-size:23px}.mahjong-board{aspect-ratio:1.4;min-width:420px;max-width:950px;margin:0 auto;position:relative}.mahjong-tile{left:var(--x);top:var(--y);width:var(--w);height:var(--h);color:#315c43;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#fffef4;border:1px solid #b8c7a5;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:2px;font-family:Georgia,Times New Roman,serif;line-height:1;display:flex;position:absolute;box-shadow:2px 3px #b4c39d,3px 4px 2px #49643822}.mahjong-tile.blocked{color:#536e4e;cursor:default;background:#e3e7d7;box-shadow:2px 3px #a9b997}.mahjong-tile .tile-face{pointer-events:none;font-size:clamp(18px,3.2vw,39px);line-height:1}.mahjong-tile .tile-mini{pointer-events:none;margin-top:2px;font:600 clamp(8px,1vw,11px) system-ui}.mahjong-tile .tile-red{color:#aa443a}.mahjong-tile .tile-blue{color:#3d6082}.mahjong-tile svg{pointer-events:none;width:92%;height:92%}.mahjong-count{text-align:center;color:#506444;min-height:35px;padding-top:15px;font-size:12px}.game-stage.enlarged .board{min-width:840px}.game-stage.enlarged .mahjong-board{width:900px}.game-stage.enlarged .card-table{--card-h:120px;--step:30px;--down-step:12px}.game-stage.enlarged .card-table.spider{--card-h:103px}.game-stage.enlarged .card-corner{font-size:21px}.game-stage.enlarged .card-center{font-size:36px}.game-stage.enlarged .mahjong-tile .tile-face{font-size:34px}dialog{color:#2c4535;background:#fffdf7;border:1px solid #d8dfcc;border-radius:16px;width:min(440px,100% - 32px);padding:30px;box-shadow:0 20px 70px #162b3040}dialog::backdrop{background:#20332d70}dialog h2{margin-bottom:15px;font-size:27px}dialog p{color:#5a6b5d;white-space:pre-line;font-size:14px;line-height:1.8}dialog .dialog-close{position:absolute;top:10px;right:12px;border:0!important;padding:2px 9px!important;font-size:22px!important}dialog .eyebrow{margin-bottom:18px}dialog .dialog-actions{justify-content:flex-end;gap:9px;margin-top:24px;display:flex}dialog .primary{color:#fff!important;background:#2c5a43!important;border-color:#2c5a43!important}.game-help{grid-template-columns:minmax(0,760px) 280px;gap:50px;padding-top:45px;padding-bottom:30px;display:grid}.game-help h2{font-size:27px}.game-help p,.game-help li{color:#536458;font-size:14px;line-height:1.9}.game-help .article-aside{margin-top:5px}.game-help details{border-top:1px solid var(--line);padding:17px 0}.game-help summary{cursor:pointer;font-size:15px;font-weight:600}.game-help details p{margin:12px 0 0}.rules-list{padding-left:20px}.rules-list li{padding:5px 0}@media (width<=900px){.game-toolbar{flex-wrap:wrap;gap:10px;padding:14px}.game-numbers{gap:14px}.game-stage{padding:20px 16px}.game-help{grid-template-columns:1fr;gap:20px}.game-help .article-aside{position:static}.game-stage,.mahjong-solitaire .game-stage{min-height:420px}.board{min-height:370px}.card-table{--gap:9px}.card-table.spider{--gap:6px}}@media (width<=620px){.game-intro{align-items:flex-start;padding-block:22px 17px}.game-intro p{max-width:250px;font-size:11px}.game-intro>a{margin-top:9px;font-size:11px}.game-shell{border-radius:10px}.game-toolbar{gap:12px;padding:12px}.mode-control{font-size:11px}.mode-control select{max-width:125px;padding:7px;font-size:11px}.game-numbers{gap:10px;margin-left:auto;font-size:10px}.game-numbers b{font-size:13px}.game-toolbar-actions{justify-content:space-between;width:100%}.game-toolbar-actions button{min-height:34px!important;padding:7px 12px!important;font-size:11px!important}.game-stage{min-height:415px;padding:15px 8px 20px}.mahjong-solitaire .game-stage{min-height:260px;padding-top:23px}.board{min-height:355px}.mahjong-solitaire .board{min-height:205px}.mahjong-board{aspect-ratio:1.4}.mahjong-count{padding-top:16px;font-size:10px}.mahjong-tile{border-radius:3px;padding:1px;box-shadow:1px 2px #b4c39d}.mahjong-tile.blocked{box-shadow:1px 2px #a9b997}.mahjong-tile .tile-face{font-size:17px}.mahjong-tile .tile-mini{margin-top:1px;font-size:7px}.card-table{--gap:5px;--card-h:clamp(60px,16vw,95px);--step:24px;--down-step:10px}.card-table.spider{--gap:3px;--card-h:clamp(45px,12vw,69px);--step:23px;--down-step:8px}.card-corner{flex-direction:row;gap:1px;padding:4px 3px;font-size:14px}.card-corner small{font-size:11px}.card-table.spider .card-corner{padding:4px 2px;font-size:12px}.card-table.spider .card-corner small{font-size:10px}.card-center{font-size:25px;top:43%}.card-bottom{display:none}.card-top{margin-bottom:20px}.playing-card,.stock,.empty-pile{border-radius:4px}.empty-pile{font-size:23px}.empty-pile .pile-label{font-size:8px;bottom:5px}.stock strong{font-size:18px}.stock .stock-count{font-size:9px}.stock{gap:3px}.completed-label{font-size:10px}.completed-label b{font-size:18px}.board-tools{gap:5px;padding:9px 7px}.board-tools>div{gap:1px}.game-shell .board-tools button{min-height:34px;padding:7px 6px;font-size:10px}.board-tools button span{margin-right:2px;font-size:16px}.game-status{min-height:52px;padding:10px 12px;font-size:11px}.storage-notice{padding:10px 12px;font-size:11px}.daily-badge{padding:2px 5px;font-size:9px}.game-help{padding-top:28px}.game-help h2{font-size:23px}.game-help p,.game-help li{font-size:13px}.game-stage.enlarged .mahjong-board{aspect-ratio:1.4}.game-stage.enlarged .card-corner{font-size:21px}.game-stage.enlarged .card-corner small{font-size:17px}}.game-stage.fit-to-screen .mahjong-board{min-width:0}.puzzle-score{text-align:center;font-variant-numeric:tabular-nums;color:#fff6df;margin:0 0 16px;font-size:1.05rem;font-weight:750}.puzzle-grid{grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:4px;margin:auto;display:grid}.puzzle-cell{appearance:none;aspect-ratio:1;cursor:pointer;color:#fff8e8;background:#ffffff14;border:0;border-radius:9px;place-items:center;min-width:0;min-height:0;padding:0;font-size:clamp(14px,2.6vw,25px);display:grid;position:relative;box-shadow:inset 0 1px #ffffff35,0 2px 3px #05291e30}.puzzle-cell:focus-visible,.jigsaw-piece:focus-visible,.block-piece:focus-visible{outline-offset:2px;z-index:3;outline:3px solid #ffe2a0}.puzzle-cell.hinted{outline-offset:-3px;background:#f5df843d;outline:3px solid #f8d376}.puzzle-cell.selected,.jigsaw-piece.selected,.block-piece.selected{outline-offset:-3px;outline:3px solid #f8d376}.jewel-grid,.block-grid{width:min(100%,440px)}.jewel-grid{touch-action:none;gap:5px}.jewel-grid .puzzle-cell{background:#153e35;overflow:hidden}.gem{text-shadow:0 2px 1px #173e4350;filter:drop-shadow(0 2px 2px #0004);place-items:center;width:85%;height:85%;font-size:clamp(20px,4vw,36px);display:grid}.gem-0{color:#ff899d}.gem-1{color:#85d6ff}.gem-2{color:#ffd777}.gem-3{color:#9de9ba}.gem-4{color:#cbb4ff}.gem-5{color:#ffc6a1}.puzzle-subtools{color:#fff6df;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:14px;display:flex}.puzzle-subtools button,.puzzle-subtools select{min-height:44px;font:inherit;color:#194f41;background:#fff8eb;border:1px solid #e2e8df;border-radius:10px;max-width:100%;padding:8px 12px}.puzzle-subtools button[aria-pressed=true]{color:#173e32;background:#eed19c}.puzzle-subtools label{align-items:center;gap:8px;display:flex}.mine-grid{grid-template-columns:repeat(var(--cols),34px);gap:3px;width:max-content;padding:4px}.mine-grid .puzzle-cell{color:#1e4c3b;touch-action:pan-x pan-y;background:linear-gradient(145deg,#f5eddb,#bdd1ba);border-radius:5px;width:34px;height:34px;font-size:19px;font-weight:800}.mine-grid .opened{background:#d8e5d7;box-shadow:inset 0 0 0 1px #47775b45}.mine-grid .number-1{color:#234f91}.mine-grid .number-2{color:#22613c}.mine-grid .number-3{color:#98313a}.mine-grid .number-4{color:#503280}.mine-grid .bomb{background:#fac3b8}.jigsaw-field{aspect-ratio:3/2;background:#102f2870;border:2px solid #eed9ad70;border-radius:8px;width:min(100%,620px);margin:auto;position:relative}.jigsaw-grid{gap:0;width:100%;height:100%;position:relative}.jigsaw-grid .puzzle-cell{aspect-ratio:auto;background:0 0;border-radius:0;box-shadow:inset 0 0 0 1px #b7d6ba20}.jigsaw-grid .puzzle-cell svg{pointer-events:none;width:140%;max-width:none;height:140%;position:absolute}.jigsaw-grid .placed{z-index:1}.jigsaw-preview{opacity:.35;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.piece-tray{overscroll-behavior:contain;background:#143f34aa;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:7px;max-width:640px;max-height:220px;margin:14px auto 0;padding:14px 6px;display:flex;overflow:auto}.jigsaw-piece{touch-action:none;background:0 0;border:0;border-radius:6px;flex:none;width:70px;height:60px;padding:0}.jigsaw-piece svg{pointer-events:none;width:100%;height:100%}.block-hand{justify-content:center;gap:12px;margin-top:18px;display:flex}.block-piece{touch-action:none;background:#143e32;border:1px solid #bce0bd50;border-radius:12px;width:100px;min-width:0;height:100px;padding:5px}.block-piece svg{fill:#f0c782;filter:drop-shadow(0 2px 1px #0003);pointer-events:none;width:100%;height:100%}.block-grid .filled{color:#795721;background:linear-gradient(145deg,#f4d394,#c69753)}.block-grid .legal-target{outline-offset:-2px;background:#94c8ab;outline:2px solid #c6ecc6}.used-block{color:#b5d8bd;place-items:center;width:100px;font-size:2rem;display:grid}.puzzle-drag-ghost{z-index:2400;opacity:.85;filter:drop-shadow(0 6px 10px #0006);margin:0;pointer-events:none!important;position:fixed!important}.jewel-match #board,.minesweeper #board,.jigsaw-puzzles #board,.block-puzzle #board{min-width:0;min-height:480px;padding:16px 8px 24px;display:block}.minesweeper #board{width:100%;min-width:0}.jigsaw-puzzles .zoomed #board{min-width:760px}.jewel-match .zoomed #board,.block-puzzle .zoomed #board{min-width:580px}.minesweeper .zoomed .mine-grid{grid-template-columns:repeat(var(--cols),46px)}.minesweeper .zoomed .puzzle-cell{width:46px;height:46px}.jigsaw-puzzles .game-stage,.minesweeper .game-stage{overscroll-behavior:contain}.game-art .art-puzzle-grid{grid-template-columns:repeat(4,1fr);gap:8px;width:65%;margin:auto;display:grid;transform:rotate(-8deg)}.art-puzzle-grid span{aspect-ratio:1;color:#215a46;background:#f5e8c8;border-radius:10px;place-items:center;font-size:30px;display:grid;box-shadow:0 5px #becdb8,0 10px 18px #17402a25}@media (width<=480px){.puzzle-subtools{font-size:14px}.jewel-match #board,.block-puzzle #board{padding:12px 2px 22px}.jewel-grid,.block-grid{gap:3px}.block-piece{height:88px}.jigsaw-piece{width:62px;height:56px}.mine-grid{grid-template-columns:repeat(var(--cols),29px);gap:2px}.mine-grid .puzzle-cell{width:29px;height:29px;font-size:16px}.puzzle-score{font-size:.95rem}.jigsaw-puzzles #board{padding:12px 2px}.jigsaw-field{min-width:284px}.puzzle-cell{border-radius:6px}}.game-shell .puzzle-cell{border-radius:6px;min-height:0;padding:0;font-size:20px}.game-shell .jigsaw-piece{min-height:56px;padding:0}.game-shell .block-piece{padding:5px}.jewel-match .game-stage,.jigsaw-puzzles .game-stage,.minesweeper .game-stage,.block-puzzle .game-stage{background:radial-gradient(at 50% 15%,#316751,#174737)}.game-shell .puzzle-cell:focus-visible{outline-color:#ffe2a0}.game-shell .puzzle-cell.number-1{color:#234f91}.game-shell .jigsaw-grid .puzzle-cell{border-radius:0}.art-jewel-match .art-cards,.art-jigsaw-puzzles .art-cards,.art-minesweeper .art-cards,.art-block-puzzle .art-cards{display:none}:is(.jewel-match,.jigsaw-puzzles,.minesweeper,.block-puzzle) .game-toolbar-actions button,:is(.jewel-match,.jigsaw-puzzles,.minesweeper,.block-puzzle) .board-tools button{min-width:44px;min-height:44px!important}.jewel-match .game-stage,.block-puzzle .game-stage{padding:20px 12px}.jewel-grid .gem{width:100%;height:100%;font-size:clamp(24px,5vw,38px);line-height:1}.game-shell .jewel-grid .puzzle-cell{background:linear-gradient(145deg,#396c59,#204e3e);border:1px solid #96b89245}.game-shell .jigsaw-piece{background:0 0;border:0}.game-shell .block-piece{background:#143e32;border:1px solid #bce0bd50}.game-shell .mine-grid .puzzle-cell{font-size:18px}.game-shell .block-grid .puzzle-cell{font-size:20px}.game-shell .jewel-grid .puzzle-cell,.game-shell .block-grid .puzzle-cell{aspect-ratio:1}@media (width<=480px){.jewel-match .game-stage,.block-puzzle .game-stage{padding:16px 7px}.jewel-match #board,.block-puzzle #board{min-height:370px}.game-shell .mine-grid .puzzle-cell{font-size:16px}}.game-shell .puzzle-subtools button,.game-shell .puzzle-subtools select{min-width:44px;min-height:44px}.table-score{flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 0 16px;font-size:.92rem;display:flex}.spades-table{color:#fff8df;background:radial-gradient(at 50% 40%,#36735e,#164733);border-radius:44%;min-height:315px;position:relative;box-shadow:inset 0 0 0 9px #82a18955,inset 0 0 40px #001a1844}.seat{text-align:center;gap:4px;font-size:.9rem;display:grid;position:absolute}.seat-2{width:50%;top:14px;left:25%}.seat-1{top:40%;left:12px}.seat-3{top:40%;right:12px}.seat-0{width:100%;bottom:15px}.seat small{font-size:.7rem}.trick-cards{justify-content:center;align-items:center;gap:5px;min-height:300px;padding:70px 80px;display:flex}.trick-cards>div{text-align:center;gap:4px;font-size:.65rem;display:grid}.table-emblem{color:#ffffff25;font-size:72px}.table-card{color:#243b34;text-align:left;background:linear-gradient(130deg,#fffef7,#f2edda);border:1px solid #c9c0a8;border-radius:7px;flex-direction:column;justify-content:space-between;width:63px;height:88px;padding:5px;display:flex;box-shadow:1px 3px #c0b395,2px 5px 9px #0002}.table-card b{font-size:16px}.table-card i{text-align:center;font-size:29px;font-style:normal}.red-suit{color:#ae3948}.player-hand{gap:7px;min-height:125px;padding:12px 3px 18px;display:flex;overflow-x:auto}.player-hand button{flex:0 0 64px;transition:transform .15s;background:0 0!important;border:0!important;width:64px!important;min-width:64px!important;min-height:90px!important;padding:0!important}.player-hand button:disabled{opacity:.88}.player-hand button:not(:disabled):hover,.player-hand .hinted{transform:translateY(-7px)}.bid-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.bid-picker button{min-height:44px;padding:5px}.turn-label{text-align:center;margin:12px 0;font-weight:700}.phase4-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:12px 0;display:flex}.phase4-toolbar button,.phase4-toolbar select{min-height:44px}.chess-grid{aspect-ratio:1;border:5px solid #425d4a;grid-template-columns:repeat(8,1fr);max-width:560px;margin:auto;display:grid}.chess-grid button{color:#15231c;aspect-ratio:1;line-height:1;position:relative;background:#f0e4c7!important;border:0!important;border-radius:0!important;min-width:0!important;min-height:0!important;padding:0!important}.chess-grid .dark-square{background:#7d9d85!important}.chess-grid button svg{filter:drop-shadow(0 2px 1px #0003);width:85%;height:85%}.chess-grid .selected{box-shadow:inset 0 0 0 4px #d48a2c}.chess-grid .legal-square:after{content:"";background:#204d4b66;border-radius:50%;width:24%;height:24%;position:absolute;top:38%;left:38%}.chess-grid .hinted{box-shadow:inset 0 0 0 4px #bf642c}.chess-files{text-align:center;grid-template-columns:repeat(8,1fr);max-width:560px;margin:auto;font-size:.7rem;display:grid}.chess-history{background:#fff6;border-radius:10px;min-height:45px;max-height:100px;padding:10px;font-size:.85rem;overflow:auto}.hidden-scroll{touch-action:pan-x pan-y;background:#e8dac4;border:3px solid #688874;border-radius:15px;max-height:640px;overflow:auto}.hidden-scene{width:100%;min-width:600px;height:auto;display:block}.hidden-object{cursor:pointer;outline:none}.hidden-object:focus .object-ring,.hidden-object.hinted .object-ring{stroke:#9e431c;stroke-width:5px;stroke-dasharray:5 3}.hidden-object.found{opacity:.18;pointer-events:none}.object-ring{fill:#0000;stroke:#0000}.hidden-targets{grid-template-columns:repeat(6,1fr);gap:7px;margin-top:12px;display:grid}.hidden-targets button{overflow-wrap:anywhere;place-items:center;gap:2px;font-size:.7rem;display:grid;min-height:77px!important;padding:6px!important}.hidden-targets svg{width:35px;height:35px}.hidden-targets .found{opacity:.5;text-decoration:line-through}.board-zoomed .hidden-scene{min-width:1100px}.board-zoomed .chess-grid{min-width:600px}.phase4-art{place-items:center;width:100%;height:100%;padding:25px;display:grid}.phase4-art svg{max-width:100%;height:100%}.phase4-example{max-width:320px;margin:auto}.phase4-example svg{width:100%;height:auto}@media (width<=600px){.spades-table{border-radius:30px;min-height:290px}.trick-cards{min-height:275px;padding:75px 48px}.trick-cards .table-card{width:40px;height:65px;padding:3px}.trick-cards .table-card b{font-size:12px}.trick-cards .table-card i{font-size:20px}.seat{font-size:.75rem}.seat small{max-width:70px;font-size:.62rem}.seat-1{left:7px}.seat-3{right:7px}.table-score{font-size:.8rem}.hidden-targets{grid-template-columns:repeat(4,1fr)}.chess-grid{border-width:2px}.chess-grid button{min-height:35px!important}.bid-picker{grid-template-columns:repeat(5,minmax(0,1fr))}}[data-theme=dark] .chess-history{background:#223b34}[data-theme=dark] .hidden-scroll{border-color:#668a77}[data-theme=dark] .table-score{color:#f4eddc}@media (prefers-reduced-motion:reduce){.player-hand button{transition:none}}.game-shell:is(.spades,.chess,.hidden-objects) .game-toolbar-actions button{min-height:44px!important}.game-shell:is(.spades,.chess,.hidden-objects) .board{display:flow-root}.spades .board{min-height:680px}.hidden-objects .board{min-height:930px}.chess .board{min-height:810px}@media (width<=620px){.hidden-objects .board{min-height:850px}.chess .board{min-height:680px}}
