/* Full-page, same-tab game views. */
[hidden]{display:none!important}body.playing{overflow:auto!important;background:#0b151b}body.playing>header,body.playing>main,body.playing>footer{display:none!important}#game{position:relative;inset:auto;width:100%;max-width:none;min-height:100svh;max-height:none;border:0;border-radius:0;padding:0;margin:0;color:#f7f0de;overflow:visible;box-sizing:border-box}#game[open]{display:flex;flex-direction:column}#game::backdrop{display:none}#game:fullscreen{overflow:auto;background:#111b21}#game[data-theme=table]{background-color:#6e4e32;background-image:linear-gradient(#25140722,#25140722),url('assets/table/oak.svg');background-size:auto,900px 900px}#game[data-game=mahjong]{background-color:#573b29;background-image:radial-gradient(ellipse at 50% 35%,#9c6d3a33,#1f13085c),url('assets/table/walnut.svg');background-size:auto,900px 900px}#game[data-game=spider],#game[data-game=belote],#game[data-game=tarot]{background-color:#245d49;background-image:radial-gradient(ellipse at 50% 35%,#3b8265b3,#123f34d9),repeating-linear-gradient(45deg,#ffffff05 0,#ffffff05 1px,transparent 1px,transparent 4px);box-shadow:inset 0 0 0 9px #38261c,inset 0 0 0 13px #96744b,inset 0 0 65px #0007}#game[data-theme=arcade]{background-color:#0c1822;background-image:radial-gradient(ellipse at 50% 15%,#1d3b50 0,transparent 65%),radial-gradient(#82d9ec29 .7px,transparent .9px);background-size:auto,26px 26px}#game[data-theme=paper]{background:#e7e3d6;color:#283e43;background-image:repeating-linear-gradient(0deg,#fff3 0,#fff3 1px,transparent 1px,transparent 5px)}.stage-header{position:sticky;top:0;z-index:500;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:83px;padding:15px 28px;background:#11232aeF;border-bottom:1px solid #ffffff1f;box-shadow:0 4px 18px #0003;backdrop-filter:blur(15px)}#game[data-theme=table] .stage-header{background:#211a14eF;border-bottom-color:#b99a6445}.stage-back{justify-self:start;border:1px solid #e0d6be40;border-radius:8px;padding:12px 17px;background:#fff1;color:#f4ebd7;font-size:13px;cursor:pointer;min-height:42px}.stage-back:hover{background:#fff2}.stage-heading{text-align:center}.stage-heading small{color:#b2bda6;font-size:9px;letter-spacing:2px}.stage-heading h1{color:#f7f0de;font-size:26px;letter-spacing:-.7px;line-height:1.2;margin:3px 0 0;font-weight:650}.stage-top-tools{display:flex;justify-content:flex-end;align-items:center;gap:15px}.stage-clock{font-variant-numeric:tabular-nums;font-size:20px;color:#eddfb9;display:flex;align-items:center;gap:8px}.stage-clock:before{content:'◷';font-size:24px;color:#a9b59c}.stage-tool{border:1px solid #e0d6be35;background:transparent;color:#e8e5d7;border-radius:8px;min-height:40px;padding:9px 13px;font-size:12px;cursor:pointer}.stage-tool:hover{background:#fff1}.stage-settings{display:flex;align-items:center;justify-content:center;padding:10px 25px;min-height:0;gap:20px;border-bottom:1px solid #eed9b521;background:#00000018}.stage-settings:empty{display:none}.stage-settings:has(.card-level-options[hidden]){display:none}.card-level-options{max-width:850px;width:100%;display:flex!important;justify-content:space-between;background:none;border:0;padding:0;margin:0}.card-level-options[hidden]{display:none!important}.card-level-options label{color:#fff2d1;font-size:13px;display:flex;align-items:center;gap:12px;flex:none}.card-level-options select{min-width:130px;background:#1a2824ee;border-color:#c1b2886b;padding:8px 10px;color:#f4edda;margin:0}.card-level-options small{max-width:none;color:#e3d5bda8;font-size:11px}.stage-help{margin:16px auto 0;padding:17px 23px;border:1px solid #d8c18d55;border-radius:12px;background:#102327ed;max-width:900px;width:calc(100% - 40px);box-shadow:0 4px 18px #0002}.stage-help .rules{color:#ecdfc4;margin:0;font-size:13px;line-height:1.9}.stage-surface{flex:1;min-width:0;width:100%;display:flex;align-items:center;justify-content:center;padding:28px 35px 35px;min-height:calc(100svh - 199px)}#game #area{width:100%;margin:0 auto;text-align:center;max-width:1000px;padding:0;overflow:visible}.stage-footer{position:sticky;bottom:0;z-index:450;background:#11232af2;backdrop-filter:blur(16px);box-shadow:0 -5px 24px #0003;border-top:1px solid #f7ebc52a;padding:13px 26px;display:grid;grid-template-columns:1fr minmax(190px,1.3fr) 1fr;align-items:center;gap:18px;min-height:81px}.stage-footer .status{color:#dbeabf;font-size:13px;line-height:1.6;margin:0;min-height:0}.stage-footer .primary{background:linear-gradient(#d8efae,#bad488);color:#28391c;border:1px solid #f0ffd07a;border-radius:9px;box-shadow:0 3px 0 #6c8449,0 4px 15px #0003;white-space:nowrap;font-weight:700;min-height:43px;padding:11px 19px}.stage-footer .primary:hover{transform:translateY(-1px)}#game[data-theme=table] .stage-footer{background:#211c16f2;border-top-color:#dec18e45}.stage-footer-right{display:flex;justify-content:flex-end;align-items:center;gap:10px}.stage-proxies{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.stage-action{color:#eee7d4;background:linear-gradient(#53634b,#3b4b35);border:1px solid #b5c39b65;border-radius:8px;font-size:12px;min-height:40px;padding:9px 12px;box-shadow:0 2px 0 #1b281c;cursor:pointer}.stage-action:disabled{opacity:.35;cursor:default}.stage-original-action{display:none!important}#game #result-actions{max-width:900px;margin:0 auto 18px}#game .secondary{box-shadow:0 2px 0 #0003;border-radius:9px}#game[data-theme=table] .secondary{background:#263c2a;color:#eee3c6;border:1px solid #a1a47b8c}#game[data-theme=paper] .secondary{color:#243f43;background:#cfddd7;border-color:#6f9189}#game .game-hud{max-width:680px;font-size:14px;font-weight:600;letter-spacing:.3px;margin-bottom:20px;color:#f1e5bc}#game .game-hud span{padding:9px 15px;background:#0003;border:1px solid #ffffff1f;border-radius:8px}#game .small{color:#b7c5ad;font-size:12px}#game .playing-card{border-radius:7px;min-width:0;border:0;box-shadow:0 2px 0 #593a2a80,1px 4px 6px #20140866;background-color:transparent;transition:transform .12s,filter .12s,box-shadow .12s;touch-action:manipulation}.playing-card.illustrated{background-color:transparent!important;background-size:100% 100%!important;background-repeat:no-repeat!important;color:transparent!important;font-size:0!important;padding:0!important;line-height:0}.playing-card.illustrated.red{color:transparent!important}.playing-card.illustrated:disabled:not(.back){opacity:1}.playing-card.illustrated.chosen{outline:3px solid #f5df77;outline-offset:2px;box-shadow:0 0 22px #ffe49688,0 8px 10px #0006;transform:translateY(-8px)}.playing-card.illustrated.back{border:0;background-color:transparent}.playing-card:not(:disabled):hover{filter:brightness(1.06);box-shadow:0 0 0 2px #f2e0a581,0 5px 10px #0005}.card-space{border:2px solid #4f341a44;background:#4e34142b;color:#ffe8c073;font-size:12px;border-radius:10px}.solitaire-top{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;margin:0 auto 26px;align-items:start;width:100%}.solitaire-top>.playing-card,.solitaire-top>.card-space{aspect-ratio:5/7;min-height:0;width:100%}.solitaire-top>.foundation:nth-child(3){grid-column:4}.solitaire-top .foundation{display:grid;place-items:center;font-size:42px!important;line-height:1;color:#fff2c161;background:#35230c2b!important;border:2px solid #4f341a36!important;box-shadow:inset 0 2px 9px #0002}.solitaire-top .foundation.illustrated{border:0!important;box-shadow:0 3px 7px #0005}.solitaire-tableau{gap:14px;margin:0 auto;min-height:330px}.solitaire-tableau .card-column{min-height:240px;position:relative;align-items:stretch}.column-target{min-height:28px;font-size:10px;background:#3e2c192a;border:1px solid #e9d9b945;color:#f6e3bd9e;margin-bottom:9px;border-radius:6px}.card-column .playing-card{width:100%;aspect-ratio:5/7;height:auto;min-height:0;display:block;flex-shrink:0;margin-top:-102%;overflow:visible}.card-column .playing-card.back{min-height:0;aspect-ratio:5/7;margin-top:-119%}.card-column .column-target+.playing-card,.card-column .column-target+.playing-card.back{margin-top:0}.spider-tableau{gap:11px;min-width:650px;margin:0;min-height:350px}.spider-tableau .card-column{min-height:280px}.spider-tableau .playing-card{border-radius:5px}.card-game-area{overflow-x:auto!important;overflow-y:visible!important;padding:10px 10px 32px!important;max-width:1250px!important}#game[data-game=klondike] #area{max-width:1080px}#game[data-game=spider] #area{max-width:1320px}#game[data-game=klondike] .stage-surface,#game[data-game=spider] .stage-surface{align-items:flex-start;padding-top:25px}.card-hand{gap:10px;margin:22px auto 8px;max-width:1100px;padding:8px 5px;align-items:flex-end}.card-hand .playing-card{width:clamp(58px,6.2vw,94px);aspect-ratio:5/7;min-height:0;height:auto}.card-hand .playing-card:disabled{opacity:.4!important;filter:saturate(.55)}.card-hand .playing-card.hint{opacity:1!important;box-shadow:0 0 0 3px #f4d981,0 0 25px #ffe68d;transform:translateY(-8px)}#game[data-game=tarot] .card-hand .playing-card{width:clamp(55px,5.2vw,78px)}.trick-players{grid-template-columns:repeat(4,1fr);max-width:900px;margin:0 auto 18px;gap:15px}.trick-players>div{border:1px solid #e6d6a843;background:#16382bd9;border-radius:35px;color:#c7d8be;padding:14px 12px;font-size:12px;box-shadow:0 3px 8px #0002}.trick-players .active{border-color:#ebce81;box-shadow:0 0 16px #e5d38c22;color:#fff0c8}.trick-mat{width:min(100%,640px);min-height:240px;margin:15px auto 22px;border-radius:120px;background:radial-gradient(ellipse,#20704f33,#143f2c55);border:2px solid #cdb67b48;box-shadow:inset 0 1px 12px #0003;gap:22px;color:#d0d9b787;font-family:Georgia,serif;font-style:italic;font-size:17px}.trick-mat>div{gap:9px}.trick-mat .playing-card:disabled{width:88px;min-height:0;aspect-ratio:5/7;opacity:1}.trick-mat small{font-family:system-ui;font-size:10px;color:#e5d8b3;font-style:normal}.turned-card{color:#f2e2b8;font-size:14px;margin:5px auto 14px}.turned-card .playing-card{width:68px;aspect-ratio:5/7;min-height:0}.bid-controls{margin:16px auto;gap:12px}.bid-controls .secondary{font-size:14px;min-width:90px;background:#243d2a;padding:12px 22px}#game .play-area details{background:#16362873;border-color:#b6be9566;max-width:800px;margin:12px auto;color:#e0d9bd}#game .play-area details .card-hand .playing-card{width:58px}.mahjong-scorebar{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto 30px;font-size:12px;color:#e6d6b7}.mahjong-scorebar span{display:flex;align-items:center;gap:8px;background:#21130955;border:1px solid #cfb2833a;padding:11px 20px;border-radius:12px;box-shadow:inset 0 2px 5px #0002}.mahjong-scorebar b{font-size:24px;font-variant-numeric:tabular-nums;font-weight:650;color:#f4dd96}.mahjong-table{position:relative;margin:20px auto 15px;width:min(100%,1120px);max-height:none;isolation:isolate}.real-mahjong-tile{position:absolute;border:0;border-radius:5px;background-color:#eee2b7;background-size:100% 100%;background-repeat:no-repeat;padding:0;box-shadow:2px 4px 0 #b3935c,3px 6px 0 #d3bb82,4px 8px 4px #160d08a6;cursor:pointer;transition:filter .15s,box-shadow .15s;touch-action:manipulation}.real-mahjong-tile.blocked{filter:brightness(.88) saturate(.9);cursor:default}.real-mahjong-tile.free:hover{filter:brightness(1.12);box-shadow:0 0 0 2px #efda83,2px 4px 0 #b3935c,4px 7px 8px #0009}.real-mahjong-tile.selected,.real-mahjong-tile.hint{outline:3px solid #f7dd78;outline-offset:0;box-shadow:0 0 18px #fff397,2px 4px 0 #bc9e63,4px 7px 9px #0008;filter:brightness(1.1)}#game[data-game=mahjong] #area{max-width:1120px}#game[data-game=mahjong] .stage-surface{padding:30px 55px 45px}.stage-help+ .stage-surface{flex:1}.tic-controls{display:flex;justify-content:center;gap:20px;margin:0 auto 22px;font-size:12px;color:#aac7d2}.tic-controls label{display:flex;align-items:center;gap:10px}.tic-controls select{font:inherit;background:#142b38;border:1px solid #59788a;color:#e8f4f4;border-radius:8px;padding:9px 12px}.tic-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:min(100%,510px);margin:auto;padding:16px;border-radius:24px;background:linear-gradient(145deg,#254a5c,#132c3c);border:1px solid #7ba9b344;box-shadow:0 20px 40px #0005,inset 0 1px 0 #a4deef22}.tic-cell{aspect-ratio:1;padding:8px;background:linear-gradient(145deg,#203f50,#122b3b);border:1px solid #729ca84f;border-radius:15px;box-shadow:inset 0 2px 9px #0003,0 2px 0 #7da6ad22;cursor:pointer}.tic-cell svg{width:100%;height:100%;stroke:#c7efa2;fill:none;stroke-width:10;stroke-linecap:round;filter:drop-shadow(0 4px 1px #101c20)}.tic-cell.circle svg{stroke:#c1a5f5}.tic-cell.win{background:#3c5c45;border-color:#def5a2;box-shadow:0 0 20px #c5f49e44}.tic-scores{display:flex;justify-content:center;gap:60px;margin:24px auto 0;font-size:12px;color:#9fb6c2}.tic-scores span{display:flex;flex-direction:column;gap:4px}.tic-scores b{font-size:27px;font-weight:550;color:#cdebb4}#game[data-game=snake] canvas{max-width:none;width:min(100%,610px,calc(100svh - 250px));border:12px solid #273e47;border-radius:20px;box-shadow:0 0 0 1px #7f9e9b66,0 20px 50px #0007}#game[data-game=snake] .arrows{margin:16px auto;grid-template-columns:repeat(3,55px)}#game[data-game=snake] #area{max-width:1000px}#game[data-game=road] .stage-surface{padding:20px;align-items:center}#game[data-game=road] .road-canvas{height:min(69svh,calc(100svh - 245px));max-height:820px;width:auto;max-width:100%;border-radius:15px;border:4px solid #405b68;box-shadow:0 0 0 1px #9acbd65c,0 16px 70px #0009}#game[data-game=road] .game-hud{max-width:450px;margin-bottom:12px;gap:15px;font-size:13px}#game[data-game=road] .road-controls{max-width:450px;gap:12px;margin:14px auto 8px}#game[data-game=road] .road-controls button{font-size:14px;min-height:44px;background:#243e49;color:#d8e6dc;border:1px solid #70929965}#game[data-game=road] .road-controls .primary{color:#182b1f;background:#c5f49e}#game[data-game=road] .small{margin:10px 0 0;color:#afc8c8}#game[data-game=merge] .merge-grid{max-width:520px;padding:13px;gap:12px;background:#243d46;border:1px solid #85b6b24a;border-radius:22px;box-shadow:0 20px 60px #0006,inset 0 2px 1px #a7cfd31a}.merge-tile{font-size:46px;border-radius:13px;box-shadow:inset 0 2px 0 #ffffff38,0 4px 0 #061b2438}.merge-tile[data-value="0"]{background:#142d37;box-shadow:inset 0 3px 12px #0003}.merge-tile[data-value="128"],.merge-tile[data-value="256"],.merge-tile[data-value="512"]{font-size:40px}.merge-tile[data-value="1024"],.merge-tile[data-value="2048"]{font-size:32px}.connect-columns,.connect-grid{max-width:620px;gap:10px}.connect-columns{padding:0 19px}.connect-columns button{min-height:39px;background:#30546e;border:1px solid #8bb9d14d}.connect-grid{padding:19px;border:1px solid #6dadd4;border-radius:22px;background:linear-gradient(130deg,#2d7bb5,#154378);box-shadow:inset 0 3px 0 #8bc5ed66,inset 0 -5px 0 #082c55,0 16px 40px #0005}.connect-cell{background:#0d2334;box-shadow:inset 0 5px 8px #0008,0 2px 0 #7fbbdd44;border:2px solid #0c3e68}.connect-cell.p1{background:radial-gradient(circle at 35% 30%,#ffe19a,#dfac31);box-shadow:inset 0 0 0 5px #e2b84b,0 2px 1px #151d2b;border-color:#f7cd6b}.connect-cell.p2{background:radial-gradient(circle at 35% 30%,#ff9d91,#d7444e);box-shadow:inset 0 0 0 5px #d54f56,0 2px 1px #151d2b;border-color:#f47d83}.memory{width:min(100%,620px);gap:16px;margin:auto}.memory .tile{aspect-ratio:.9;border-radius:12px;background:#f0e9d3;border:2px solid #ddd1a4;box-shadow:0 5px 0 #ae9870,0 10px 20px #0004;font-size:clamp(35px,5vw,66px);color:#172f27}.memory .tile[data-side=back]{background-image:url('assets/table/back.svg');background-size:100% 100%;color:transparent;border:0;font-size:0;background-color:transparent}.memory .tile.matched{background:#d1e4b3;border-color:#91b877;box-shadow:0 3px 0 #6d9556}.simon-grid{position:relative;aspect-ratio:1;width:min(100%,530px);max-width:530px;border:15px solid #18282e;border-radius:50%;padding:14px;gap:14px;background:#112026;box-shadow:0 0 0 1px #6d8a8844,0 20px 45px #0007}.simon-grid:after{content:'SIMON';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:26%;aspect-ratio:1;border:9px solid #17272d;border-radius:50%;display:grid;place-items:center;background:radial-gradient(#394a50,#1e3037);box-shadow:0 6px 8px #0007;color:#c7d7d5;font-size:20px;letter-spacing:2px;pointer-events:none}.simon-pad{border-width:4px;box-shadow:inset 0 3px 10px #ffffff0a,inset 0 -9px 10px #0004;font-size:50px}.simon-pad:nth-child(1){border-radius:100% 18px 18px 18px}.simon-pad:nth-child(2){border-radius:18px 100% 18px 18px}.simon-pad:nth-child(3){border-radius:18px 18px 18px 100%}.simon-pad:nth-child(4){border-radius:18px 18px 100% 18px}.simon-pad.lit{box-shadow:inset 0 0 0 4px #ffffff77,0 0 24px currentColor;filter:brightness(1.2)}.sudoku-grid{max-width:570px;border:3px solid #52666b;background:#fffdf3;box-shadow:0 18px 50px #37484233}.sudoku-cell{color:#246b82;background:#fffdf4;font-size:28px;border-color:#c8cdc1}.sudoku-cell.given{background:#eeeada;color:#314a51}.sudoku-cell.selected{background:#c0dce4;box-shadow:inset 0 0 0 2px #3782a1}.sudoku-cell.conflict{background:#f1c4bd;color:#a13f3f}.sudoku-cell:nth-child(3n){border-color:#52666b}.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom-color:#52666b}.sudoku-pad{max-width:570px;gap:8px}.sudoku-pad button{background:#d6e2dd;color:#324a4e;border-color:#9cafaa;font-size:25px}.mines-grid{max-width:510px;padding:12px;gap:4px;background:#2b4650;border:1px solid #759a9f6b;border-radius:18px;box-shadow:0 20px 40px #0005}.mine-cell{font-size:23px;background:linear-gradient(145deg,#69858a,#405f69);border-color:#9bb2ae88;border-radius:5px;box-shadow:inset 2px 2px 0 #bed0c22e,inset -2px -2px 0 #223e4966}.mine-cell.open{background:#172e38;border-color:#3c535d;box-shadow:inset 0 2px 4px #0003}.mine-cell.bomb{background:#874b48;color:#ffcf9a}.taquin-grid{max-width:510px;padding:16px;gap:13px;background:linear-gradient(140deg,#58462d,#2f2e25);border:2px solid #a88f5c;border-radius:21px;box-shadow:0 20px 50px #0006,inset 0 2px 0 #e6c98c66}.taquin-tile{font-size:54px;background:linear-gradient(135deg,#f6e4b6,#d6ba7b);color:#665035;border:1px solid #f7e3af;box-shadow:0 6px 0 #a2834d,0 8px 10px #0005;border-radius:13px;font-family:Georgia,serif}.taquin-tile.blank{background:#251e14;box-shadow:inset 0 3px 9px #000a;border:1px solid #413823}.taquin-meta{font-size:14px;gap:35px;color:#c5d1bf}.reflex{max-width:820px;min-height:min(52svh,500px);border:2px solid #8da6a37a;border-radius:28px;font-size:clamp(25px,4vw,42px);box-shadow:inset 0 2px 0 #ffffff2a,0 18px 70px #0006;white-space:pre-line}.number-art{width:min(100%,460px);aspect-ratio:1;position:relative;display:grid;place-items:center;margin:0 auto 25px}.number-orbit{position:absolute;inset:9%;border:1px solid #749fa05c;border-radius:50%;box-shadow:0 0 70px #c5f49e0c,inset 0 0 45px #87bbbd0f}.number-orbit:before,.number-orbit:after{content:'';position:absolute;inset:10%;border:1px dashed #729aa74f;border-radius:50%;transform:rotate(30deg)}.number-orbit:after{inset:-9%;border-style:solid;border-color:#486b7b33}.number-question{font-size:clamp(100px,15vw,180px);font-weight:250;color:#c5f49e;line-height:1;text-shadow:0 4px 30px #c5f49e33}.number-range{display:flex;position:absolute;bottom:0;width:80%;align-items:center;gap:15px;color:#88a8b3;font-size:13px}.number-range i{height:1px;flex:1;background:linear-gradient(90deg,transparent,#77a69a88,transparent)}.guess input{width:170px;font-size:25px;padding:15px;background:#142e3d;border-color:#71949b8a;color:#f4f2de;text-align:center}.guess .primary{font-size:17px;padding:15px 25px;background:#c5f49e}.stage-footer .result-actions{display:none}.arrows button{box-shadow:0 3px 0 #0c2128}.stage-footer .stage-tool{min-width:40px}.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}
@media(min-width:1400px){.solitaire-tableau{min-height:440px}.stage-surface{padding-left:70px;padding-right:70px}.spider-tableau{min-height:440px}}
@media(max-width:900px){.stage-header{padding:13px 17px;gap:12px;min-height:74px}.stage-heading h1{font-size:23px}.stage-heading small{font-size:8px;letter-spacing:1px}.stage-back{padding:10px 12px;font-size:12px}.stage-top-tools{gap:10px}.stage-clock{font-size:17px}.stage-clock:before{font-size:21px}.stage-footer{padding:12px 17px;gap:14px;grid-template-columns:1fr 1.3fr 1fr}.stage-footer .status{font-size:12px}.stage-action{font-size:11px;padding:9px}.stage-footer .primary{font-size:12px;padding:10px 13px}.stage-surface{padding:24px}.solitaire-top,.solitaire-tableau{gap:10px}.card-column .playing-card{margin-top:-100%}.card-column .playing-card.back{margin-top:-116%}.solitaire-tableau{min-height:280px}#game[data-game=mahjong] .stage-surface{padding:25px 35px}.card-hand{gap:7px}.trick-mat{min-height:215px}.trick-players{gap:8px}.trick-players>div{font-size:10px;padding:12px 8px}.stage-footer-right .stage-tool{display:none}.mahjong-scorebar{margin-bottom:25px}.mahjong-scorebar span{padding:9px 12px}}
@media(max-width:600px){.stage-header{grid-template-columns:70px 1fr 70px;gap:6px;padding:10px 10px;min-height:67px}.stage-heading h1{font-size:19px;letter-spacing:-.4px}.stage-heading small{font-size:7px;letter-spacing:.8px}.stage-back{font-size:0;padding:0;width:42px;min-height:39px;border-radius:9px}.stage-back:before{content:'←';font-size:24px}.stage-top-tools{gap:8px;flex-wrap:wrap;justify-content:flex-end}.stage-clock{font-size:13px}.stage-clock:before{font-size:17px}.stage-top-tools .stage-tool{font-size:9px;padding:5px 8px;min-height:27px}.stage-settings{padding:9px 13px}.card-level-options{gap:10px}.card-level-options label{font-size:11px;gap:9px}.card-level-options select{font-size:12px;padding:7px 8px;min-width:112px}.card-level-options small{font-size:9px;line-height:1.5;max-width:135px}.stage-help{padding:13px 16px;width:calc(100% - 25px);margin-top:12px}.stage-help .rules{font-size:12px}.stage-surface{padding:24px 15px;min-height:calc(100svh - 220px)}.stage-footer{padding:10px 12px;gap:10px;grid-template-columns:1fr auto;min-height:95px}.stage-footer .status{grid-row:1;grid-column:1/-1;font-size:11px;text-align:center}.stage-proxies{gap:7px}.stage-action{font-size:10px;min-height:35px;padding:8px 10px}.stage-footer .primary{font-size:11px;min-height:35px;padding:8px 13px}.stage-footer-right{gap:5px}.stage-footer-right .stage-tool{display:none}.playing-card.illustrated{border-radius:4px}.solitaire-top{gap:5px;margin-bottom:18px}.solitaire-top>.foundation{font-size:25px!important;border-radius:5px}.solitaire-top>.card-space{font-size:7px;border-radius:5px}.solitaire-tableau{gap:5px;min-height:260px}.column-target{min-height:24px;font-size:8px;margin-bottom:7px}.card-column .playing-card{border-radius:4px;margin-top:-95%}.card-column .playing-card.back{margin-top:-116%}.card-game-area{padding:8px 2px 24px!important}.spider-tableau{gap:8px;min-width:600px;padding-bottom:12px}.spider-tableau .playing-card{margin-top:-94%}.spider-tableau .playing-card.back{margin-top:-117%}#game[data-game=spider] .stage-surface{padding:18px 12px;display:block}#game[data-game=spider] .card-game-area{overflow-x:auto!important}.card-hand{gap:5px;margin:14px auto 5px}.card-hand .playing-card{width:calc((100vw - 65px)/6);max-width:68px;min-width:0}.card-hand .playing-card.chosen{transform:translateY(-5px)}#game[data-game=tarot] .card-hand .playing-card{width:calc((100vw - 65px)/7);max-width:60px}.trick-players{grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:12px}.trick-players>div{padding:9px 7px;font-size:9px}.trick-mat{min-height:175px;gap:12px;margin:12px auto 15px;border-radius:70px;font-size:14px}.trick-mat .playing-card:disabled{width:54px;min-width:0;aspect-ratio:5/7;min-height:0}.trick-mat small{font-size:8px}.bid-controls .secondary{font-size:12px;min-width:75px;padding:10px 15px}.turned-card{font-size:12px}.turned-card .playing-card{width:50px}.mahjong-scorebar{gap:6px;margin-bottom:25px;font-size:8px;justify-content:space-between}.mahjong-scorebar span{gap:5px;padding:7px 8px;border-radius:8px;flex-direction:column;flex:1}.mahjong-scorebar b{font-size:21px}#game[data-game=mahjong] .stage-surface{padding:22px 20px 30px}.mahjong-table{width:100%;margin-top:25px}.real-mahjong-tile{border-radius:3px;box-shadow:1px 3px 0 #b3935c,2px 4px 0 #d3bb82,3px 5px 3px #160d08a6}.real-mahjong-tile.selected,.real-mahjong-tile.hint{outline-width:2px}.tic-controls{gap:12px;font-size:10px;flex-wrap:wrap;margin-bottom:18px}.tic-controls label{gap:7px}.tic-controls select{padding:8px;font-size:11px}.tic-board{gap:10px;padding:12px;border-radius:18px}.tic-cell{border-radius:12px}.tic-scores{gap:45px;margin-top:20px;font-size:10px}.tic-scores b{font-size:23px}#game[data-game=snake] canvas{width:min(100%,calc(100svh - 315px));border-width:8px;border-radius:15px}#game[data-game=snake] .arrows{grid-template-columns:repeat(3,48px);gap:7px;margin:14px auto}.arrows button{font-size:19px;min-height:40px;padding:7px}.arrows{grid-template-columns:repeat(3,48px);margin:16px auto}#game[data-game=road] .stage-surface{padding:15px 15px 20px}#game[data-game=road] .road-canvas{height:min(58svh,calc(100svh - 260px));max-width:100%;border-width:3px}#game[data-game=road] .game-hud{max-width:330px;margin-bottom:10px;font-size:11px;gap:8px}#game[data-game=road] .game-hud span{padding:7px 10px}#game[data-game=road] .road-controls{max-width:330px;gap:8px;margin-top:12px}#game[data-game=road] .road-controls button{min-height:39px;font-size:11px;padding:8px}#game[data-game=road] .small{font-size:10px}#game .game-hud{font-size:11px;margin-bottom:15px;gap:8px}#game .game-hud span{padding:8px 10px}#game .merge-grid{padding:10px;gap:9px;border-radius:17px}.merge-tile{font-size:34px;border-radius:9px}.merge-tile[data-value="128"],.merge-tile[data-value="256"],.merge-tile[data-value="512"]{font-size:30px}.merge-tile[data-value="1024"],.merge-tile[data-value="2048"]{font-size:25px}.connect-columns,.connect-grid{gap:5px}.connect-grid{padding:11px;border-radius:16px}.connect-columns{padding:0 11px;margin-bottom:10px}.connect-columns button{min-height:35px;font-size:21px}.connect-cell.p1,.connect-cell.p2{box-shadow:inset 0 0 0 3px #e6d49844}.memory{gap:11px}.memory .tile{border-radius:8px;font-size:40px;box-shadow:0 4px 0 #ae9870,0 8px 15px #0004}.simon-grid{border-width:10px;padding:10px;gap:10px}.simon-grid:after{border-width:7px;font-size:14px;letter-spacing:1px}.simon-pad{font-size:35px;border-width:3px}.simon-pad small{font-size:10px}.sudoku-grid{border-width:2px}.sudoku-cell{font-size:21px}.sudoku-pad{gap:4px;margin:14px auto}.sudoku-pad button{font-size:19px;min-height:41px}.mines-grid{padding:8px;gap:3px;border-radius:13px}.mine-cell{font-size:18px}.taquin-grid{padding:12px;gap:11px;border-radius:17px}.taquin-tile{font-size:43px;border-radius:10px;box-shadow:0 5px 0 #a2834d,0 6px 8px #0005}.taquin-meta{font-size:11px;gap:25px}.reflex{min-height:43svh;border-radius:23px;font-size:27px;padding:25px}.number-art{max-width:300px;margin-bottom:24px}.number-question{font-size:120px}.guess input{width:140px;font-size:23px;padding:13px}.guess .primary{padding:12px 20px;font-size:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

#game .playing-card{position:relative}.solitaire-top>.back:after{content:attr(data-count);position:absolute;bottom:9px;left:50%;transform:translateX(-50%);background:#173c55e8;color:#e5ecd9;line-height:1;font:600 12px system-ui;padding:5px 9px;border:1px solid #d7e2d377;border-radius:20px}.card-column .playing-card.back{margin-top:-132%}.card-column .playing-card.back+.playing-card:not(.back){margin-top:-130%}
@media(min-width:601px){#game[data-game=klondike] #area{max-width:min(1080px,calc((100svh - 240px)*1.85))!important}#game[data-game=snake] #area{display:grid;grid-template-columns:minmax(0,610px) auto;justify-content:center;column-gap:25px;align-items:center;max-width:850px}#game[data-game=snake] canvas{grid-column:1;grid-row:1/4;width:min(100%,calc(100svh - 220px))}#game[data-game=snake] .arrows,#game[data-game=snake] #pause{grid-column:2}#game[data-game=snake] #pause{justify-self:center}#game[data-game=merge] #area{display:grid;grid-template-columns:minmax(0,520px) auto;justify-content:center;column-gap:24px;align-items:center;max-width:750px}#game[data-game=merge] .game-hud{grid-column:1/-1;width:100%}#game[data-game=merge] .merge-grid{grid-column:1;width:min(100%,calc(100svh - 270px))}#game[data-game=merge] .arrows{grid-column:2}#game[data-game=road] .road-canvas{height:min(69svh,calc(100svh - 325px))}}
.tic-board{width:min(100%,510px,calc(100svh - 325px))}.memory{width:min(100%,620px,calc((100svh - 230px)*.9))}.simon-grid{width:min(100%,530px,calc(100svh - 280px))}.sudoku-grid,.sudoku-pad{width:min(100%,570px,calc(100svh - 360px))}.mines-grid{width:min(100%,510px,calc(100svh - 280px))}.connect-grid,.connect-columns{width:min(100%,620px,calc((100svh - 290px)*1.1))}.taquin-grid{width:min(100%,510px,calc(100svh - 300px))}.number-art{width:min(100%,460px,calc(100svh - 320px))}
@media(max-width:600px){.playing-card.illustrated:not(.back):before{content:attr(data-short);position:absolute;left:2px;top:3px;color:#25312e;background:#fffdf5;line-height:1;font:700 11px Georgia,serif;padding:1px;border-radius:2px}.playing-card.illustrated.red:before{color:#b4283b}.card-hand .playing-card.illustrated:before{font-size:13px}.card-column .playing-card.back{margin-top:-130%}.card-column .playing-card.back+.playing-card:not(.back){margin-top:-125%}.solitaire-top>.back:after{font-size:8px;bottom:4px;padding:3px 5px}.sudoku-grid,.sudoku-pad{width:min(100%,calc(100svh - 360px))}.number-art{width:min(100%,300px,calc(100svh - 320px))}#game[data-game=merge] .merge-grid{width:min(100%,calc(100svh - 340px))}}

.stage-surface{min-height:0}#game[data-game=mahjong] .stage-surface{padding:18px 25px 25px}#game[data-game=mahjong] #area{overflow-x:auto;padding:7px 15px}#game[data-game=mahjong] .stage-settings{gap:35px}#game[data-game=mahjong] .card-level-options{width:auto;max-width:none}#game[data-game=mahjong] .card-level-options small{display:none}.stage-settings .mahjong-scorebar{margin:0;gap:22px}.stage-settings .mahjong-scorebar span{padding:0;background:none;box-shadow:none;border:0;font-size:11px}.stage-settings .mahjong-scorebar b{font-size:20px}.stage-settings .mahjong-scorebar span:last-child{display:none}.mahjong-table.zoomed{max-width:none}.mahjong-table{margin:14px auto 15px}
@media(max-width:600px){#game[data-game=mahjong] .stage-settings{gap:10px;padding:9px 10px}.stage-settings .mahjong-scorebar{gap:10px}.stage-settings .mahjong-scorebar span{font-size:8px;gap:3px;flex-direction:column;white-space:nowrap}.stage-settings .mahjong-scorebar b{font-size:16px}#game[data-game=mahjong] .card-level-options label{font-size:0;gap:0}#game[data-game=mahjong] .card-level-options select{font-size:11px;min-width:100px}#game[data-game=mahjong] .stage-surface{padding:20px 13px}#game[data-game=mahjong] #area{padding:8px 12px}.stage-footer{grid-template-columns:minmax(0,1fr) auto}.stage-proxies{gap:5px}.stage-action{padding:8px;font-size:9px}.stage-settings .mahjong-scorebar span:last-child{display:none}}

@media(min-width:601px){#game[data-game=road] #area{display:grid;grid-template-columns:minmax(130px,200px) minmax(0,590px) minmax(130px,200px);gap:22px;justify-content:center;align-items:center;max-width:1100px}#game[data-game=road] .road-canvas{grid-column:2;grid-row:1/3;height:calc(100svh - 210px);max-height:870px;max-width:100%;margin:0 auto}#game[data-game=road] .game-hud{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:16px;font-size:17px;width:100%;margin:0}#game[data-game=road] .game-hud span{padding:24px 15px;border-radius:14px;box-shadow:inset 0 1px 0 #a2c9d022,0 10px 25px #0002}#game[data-game=road] .game-hud:after{content:'La vitesse augmente à chaque instant.';font-size:12px;font-weight:400;color:#9fbdc0;line-height:1.8;letter-spacing:0;padding:0 10px}#game[data-game=road] .road-controls{grid-column:3;grid-row:1;flex-direction:column;width:100%;gap:13px;margin:0}#game[data-game=road] .road-controls:before{content:'GARDE LE CAP';font-size:10px;color:#a1c2c5;letter-spacing:2px;margin-bottom:4px}#game[data-game=road] .road-controls:after{content:'← → au clavier, ou balayage sur la route.';font-size:12px;line-height:1.8;color:#a0bdc1;margin-top:8px}#game[data-game=road] .road-controls button{min-height:48px;font-size:14px;border-radius:10px}#game[data-game=road] #road-best{grid-column:1;grid-row:2;align-self:start;margin:0;color:#d0dfc6;font-size:13px}#game[data-game=road] .stage-surface{padding:20px 30px}}

.card-hand .playing-card:disabled{opacity:1!important;filter:none}.card-hand[data-action=play] .playing-card:disabled,.card-hand[data-action=discard] .playing-card:disabled{opacity:.42!important;filter:saturate(.65)}
@media(min-width:601px){#game[data-game=morpion] #area{display:grid;grid-template-columns:180px minmax(0,510px) 130px;gap:30px;align-items:center;justify-content:center;max-width:1000px}.tic-controls{grid-column:1;grid-row:1;flex-direction:column;align-items:stretch;margin:0;gap:24px}.tic-controls label{flex-direction:column;align-items:flex-start;font-size:12px;gap:10px}.tic-controls select{width:100%;padding:12px}.tic-board{grid-column:2;grid-row:1;width:min(100%,calc(100svh - 220px))}.tic-scores{grid-column:3;grid-row:1;flex-direction:column;gap:30px;margin:0}.tic-scores b{font-size:35px}#game[data-game=belote] #area,#game[data-game=tarot] #area{display:grid;grid-template-columns:minmax(0,700px) minmax(200px,280px);gap:12px 26px;max-width:1100px;align-items:center}#game[data-game=belote] .stage-surface,#game[data-game=tarot] .stage-surface{padding:16px 30px}#game[data-game=belote] .game-hud,#game[data-game=tarot] .game-hud{grid-column:1/-1;margin:0 0 4px;max-width:none;width:100%;font-size:12px}#game[data-game=belote] .trick-players,#game[data-game=tarot] .trick-players{grid-column:2;grid-row:2;grid-template-columns:1fr;max-width:none;gap:8px;margin:0}#game[data-game=belote] .trick-players>div,#game[data-game=tarot] .trick-players>div{padding:9px 10px;font-size:11px}.trick-mat{grid-column:1;grid-row:2/4;min-height:clamp(150px,calc(100svh - 520px),270px);margin:0;width:100%;max-width:650px}.trick-mat .playing-card:disabled{width:75px;aspect-ratio:5/7}#game[data-game=belote] .bid-controls,#game[data-game=tarot] .bid-controls{grid-column:2;grid-row:3;gap:8px;margin:0}#game[data-game=belote] .bid-controls .secondary,#game[data-game=tarot] .bid-controls .secondary{padding:10px 12px;font-size:12px;min-width:70px}#game[data-game=belote] .turned-card{grid-column:1;grid-row:2/4;z-index:1;align-self:center;justify-self:center;flex-direction:column;pointer-events:none}#game[data-game=belote] .trick-mat:has(+.bid-controls){font-size:0}#game[data-game=belote] .card-hand,#game[data-game=tarot] .card-hand{grid-column:1/-1;grid-row:4;flex-wrap:nowrap;margin:8px auto 0;padding:8px 4px;gap:9px;width:100%}#game[data-game=tarot] .card-hand.large-hand{gap:0}#game[data-game=tarot] .large-hand>.playing-card{margin-left:-26px;flex-shrink:0}#game[data-game=tarot] .huge-hand>.playing-card{margin-left:-40px}#game[data-game=tarot] .large-hand>.playing-card:first-child{margin-left:0}#game[data-game=tarot] #area>details{grid-column:2;grid-row:3;margin:0;width:100%;padding:9px}#game[data-game=tarot] details .card-hand{flex-wrap:wrap;gap:6px}#game[data-game=tarot] details .card-hand .playing-card{width:40px;margin:0}#game[data-game=tarot] .card-hand .playing-card{width:clamp(55px,5.2vw,78px)}#game[data-game=belote] .card-hand .playing-card{width:clamp(58px,6.2vw,85px)}}

.sudoku-pad .erase{background:#c5d6cf;color:#2d494b;border-color:#88a69d}.solitaire-top .foundation.illustrated{font-size:0!important;color:transparent!important}
