@import url('style-sudoku.css?v=1');
.game-board.snake-board{width:100%;max-width:560px}.snake-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));aspect-ratio:1;gap:1px;padding:5px;background:#102b23;border:1px solid #beaa6a77;border-radius:10px;touch-action:none}.snake-cell{position:relative;min-width:0;aspect-ratio:1;border-radius:3px;background:#19392d}.snake-body{background:linear-gradient(135deg,#83d4a8,#278360);box-shadow:inset 1px 1px 1px #c3f6c66b,0 1px 2px #0007}.snake-head{background:linear-gradient(135deg,#f5d484,#ad8740);border-radius:4px 8px 8px 4px;z-index:1}.snake-head:before,.snake-head:after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:#142b20;right:4px;top:4px}.snake-head:after{top:auto;bottom:4px}.snake-food{border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff1aa,#cf932d 65%);box-shadow:0 0 13px #f6cd6966;transform:scale(.85);animation:apple-glow 1.5s ease-in-out infinite alternate}.snake-caption{text-align:center;color:#d6c69a;font-size:12px;margin:12px 0 3px}.game-tools:has([data-dir]){display:grid;grid-template-columns:repeat(3,64px);gap:6px}.game-tools [data-dir]{font-size:26px;min-height:48px;padding:3px}.game-tools [data-dir='3']{grid-column:2;grid-row:1}.game-tools [data-dir='2']{grid-column:1;grid-row:2}.game-tools [data-dir='1']{grid-column:2;grid-row:2}.game-tools [data-dir='0']{grid-column:3;grid-row:2}.game-scroll:has(.snake-board){max-height:none}@keyframes apple-glow{to{box-shadow:0 0 22px #ffd674aa;filter:brightness(1.2)}}@media(prefers-reduced-motion:reduce){.snake-food,.gem-fall,.just-cleared{animation:none!important}}
.game-board.fifteen-board{width:100%;max-width:540px}.sliding-grid{position:relative;aspect-ratio:1;border-radius:12px;background:#0c261e;box-shadow:inset 0 2px 15px #0007}.slide-tile{position:absolute;display:grid;place-items:center;width:calc(100% / var(--slide-size) - 8px);height:calc(100% / var(--slide-size) - 8px);border:1px solid #f5e7bb;border-radius:10px;background:linear-gradient(130deg,#fff3ce,#d4bd8c);color:#244a37;font-size:clamp(26px,7vw,44px);font-weight:800;box-shadow:inset 0 3px 3px #fff8,inset 0 -4px 3px #76592244,0 4px 5px #0005}.slide-tile.correct{background:linear-gradient(130deg,#e1ebca,#a8c098);border-color:#d4e8bd}.slide-tile.movable{outline:2px solid #e5bd6a;outline-offset:-3px}.slide-caption{text-align:center;font-size:12px;color:#d3c598;margin-top:16px}.game-scroll:has(.fifteen-board){max-height:none}
.game-board.words-board{width:100%;max-width:620px}.word-theme{font-size:16px;color:#efdcaa;text-align:center;padding:7px 0 15px}.letter-grid{display:grid;grid-template-columns:repeat(var(--word-size),minmax(0,1fr));gap:3px;touch-action:none}.letter-cell{min-width:0;aspect-ratio:1;padding:0;border:1px solid #c7b98155;border-radius:5px;background:linear-gradient(140deg,#f4e8c8,#cabc93);color:#183f32;font-size:clamp(13px,3.8vw,25px);font-weight:800;box-shadow:0 2px 3px #0004}.letter-cell.word-found{box-shadow:inset 0 0 0 1px #ffffff66}.found-1{background:#b8d4ac!important;color:#163e28!important}.found-2{background:#e3c786!important;color:#443216!important}.found-3{background:#94becd!important;color:#1b3a48!important}.found-4{background:#d6aaad!important;color:#4e2631!important}.found-5{background:#c5afd4!important;color:#402d56!important}.word-preview{background:#ffe398!important;outline:2px solid #e2b258;outline-offset:-2px}.word-list{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:17px}.word-list span{font-size:11px;letter-spacing:.05em;padding:6px 9px;border:1px solid #b6ad7380;border-radius:20px;color:#efe3b7}.word-list .word-done{text-decoration:line-through;animation:complete .5s ease}.game-scroll:has(.words-board){max-height:none}
.game-board.match-board{width:100%;max-width:570px}.match-summary{font-size:13px;text-align:center;color:#e7d7b0;margin:4px 0 12px}.match-progress{height:4px;background:#122f23;border-radius:4px;margin:0 0 14px;overflow:hidden}.match-progress i{display:block;height:100%;background:linear-gradient(90deg,#48b88c,#f2d497);transition:width .5s}.jewel-cell{min-width:0;aspect-ratio:1;border:1px solid #b0bd8140;border-radius:9px;padding:4px;background:#102d26;display:grid;place-items:center}.gem{display:grid;place-items:center;position:relative;width:100%;height:100%;border-radius:7px;font-size:clamp(15px,4vw,29px);font-weight:900;text-shadow:0 1px 2px #0008;box-shadow:inset 2px 2px 3px #ffffff66,inset -3px -3px 4px #0006,0 3px 5px #0007}.gem-0{background:linear-gradient(135deg,#8ed7ff,#1e5090);color:#e9faff;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.gem-1{background:radial-gradient(circle at 30% 25%,#fffdf0,#c2b695);color:#6d613c;border-radius:50%}.gem-2{background:linear-gradient(135deg,#f09788,#971e37);color:#ffe7db}.gem-3{background:linear-gradient(135deg,#dca5ef,#632d8b);color:#f9e8ff;clip-path:polygon(50% 0,100% 100%,0 100%);padding-top:6px}.gem-4{background:linear-gradient(135deg,#ffe599,#b67a1c);color:#64441a;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.gem-5{background:linear-gradient(135deg,#82e3b8,#086745);color:#d7ffe8}.gem-fall{animation:gem-fall .5s cubic-bezier(.2,.8,.2,1) both}@keyframes gem-fall{from{transform:translateY(-60%);opacity:.1;filter:brightness(2)}to{transform:translateY(0);opacity:1;filter:brightness(1)}}.game-scroll:has(.blocks-board),.game-scroll:has(.mahjong-board),.game-scroll:has(.match-board){max-height:none}
.game-board.blocks-board{width:100%;max-width:530px}.square-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;aspect-ratio:1}.block-cell{border:1px solid #c5be9530;border-radius:6px;min-width:0;padding:0;background:#0c2b24;aspect-ratio:1}.tone-1{background:linear-gradient(145deg,#ffe39a,#b67c22)!important}.tone-2{background:linear-gradient(145deg,#72d5b3,#258368)!important}.tone-3{background:linear-gradient(145deg,#8fb7de,#45648e)!important}.tone-4{background:linear-gradient(145deg,#db9d95,#a25348)!important}.tone-5{background:linear-gradient(145deg,#c6afd7,#87658b)!important}.block-cell:not(.tone-0),.mini-block{box-shadow:inset 0 2px 2px #fff7,inset 0 -3px 2px #0003,0 2px 3px #0003}.block-cell.ghost{opacity:.6;outline:2px solid #fff1be;outline-offset:-2px}.block-tray{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.piece-choice{display:grid;place-items:center;min-height:87px;background:#102c22;border:1px solid #bdac7077;border-radius:13px;color:#bbae7f}.mini-piece{display:grid;gap:2px;justify-content:center}.mini-block,.mini-gap{width:15px;height:15px;border-radius:3px}.just-cleared{animation:line-clear .7s ease-out}@keyframes line-clear{0%{background:#fff4c5;box-shadow:0 0 20px #e3c56f}100%{background:#0c2b24}}
.game-board.mahjong-board{width:100%;max-width:680px;padding:0;min-width:280px}.mah-tile{position:absolute;width:calc(100% / var(--mah-cols) - 3px);height:calc(100% / var(--mah-cols) * 1.35);height:auto;aspect-ratio:1/1.35;border:1px solid #f9e8bf;border-radius:6px;background:linear-gradient(130deg,#fff7dc,#d9cda8);box-shadow:2px 4px 0 #8e885e,3px 6px 5px #0008;color:#1e5b50;white-space:pre-line;padding:2px;font:bold clamp(16px,4vw,29px)/1.05 Georgia,serif;transition:filter .15s,box-shadow .15s}.mah-tile.characters{color:#a93634}.mah-tile.circles{color:#244d88}.mah-tile.blocked{filter:brightness(.68);border-color:#c0b28b}.mah-tile.free:hover{box-shadow:2px 4px 0 #d4b565,0 0 15px #eed07b99}.mah-tile.selected-item{z-index:999!important}
.casual-app .intro h1{font-size:clamp(43px,10vw,72px);line-height:1.1;overflow-wrap:anywhere}.casual-app .intro p{font-size:24px;white-space:pre-line}.casual-app .levels{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.casual-app .levels button{display:flex;flex-direction:column;padding:14px 12px}.casual-app .levels small{line-height:1.5}.casual-app #экран-игры{max-width:850px;min-width:0}.casual-app .game-heading h1{font-size:30px}.game-window{position:relative;border:1px solid #bca36a;border-radius:18px;overflow:hidden;background:linear-gradient(130deg,#284f3b,#133326);box-shadow:0 20px 50px #0004}.game-scroll{overflow:auto;max-height:60dvh;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c5a65f #173324}.game-board{position:relative;margin:auto;padding:12px;width:max-content;max-width:none;user-select:none;-webkit-user-select:none}.game-tools{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:13px 0}.game-tools>button{border:1px solid #ac986a66;border-radius:12px;background:#1d332b;color:#e8d7ab;min-height:42px;padding:10px 16px;font-size:13px}.game-tools>button.active{background:#6a5b32;border-color:#eed49a}.casual-app button{touch-action:manipulation}.casual-app .status{gap:22px}.casual-app #message{min-height:34px}.casual-app .bottom-actions{grid-template-columns:repeat(3,1fr)}.casual-app .bottom-actions button{font-size:12px}.game-window #resume{background:#183a2e}.game-window:has(#resume:not([hidden])) .game-scroll{visibility:hidden}.mines-board{display:grid;grid-template-columns:repeat(var(--cols),var(--cell));gap:2px;padding:8px}.mine-cell{width:var(--cell);height:var(--cell);padding:0;border:1px solid #aec7a040;border-radius:5px;background:linear-gradient(140deg,#426d53,#234f3a);box-shadow:inset 0 2px #ffffff20,inset 0 -3px #00180f66;color:#f5dfaf;font-size:20px;font-weight:800}.mine-cell.revealed{background:#e4ddc3;color:#235e65;box-shadow:none;border-color:#b5b197}.mine-cell[data-number='2'].revealed{color:#447046}.mine-cell[data-number='3'].revealed{color:#b64b39}.mine-cell[data-number='4'].revealed{color:#6b477c}.mine-cell.flagged{color:#ffce86}.mine-cell.exploded{background:#ba563d!important;color:#fff1c9}.result-art{font-size:70px;text-align:center;color:#e6c77f}.game-window.won{box-shadow:0 0 35px #d1a74955}.game-window.won .game-board{animation:complete .8s ease-in-out 2}.hint-cell{outline:3px solid #ffe290!important;outline-offset:-3px}.selected-item{outline:3px solid #efcb73!important;outline-offset:1px;filter:brightness(1.15)}
@media(min-width:800px){.casual-app #экран-игры{max-width:850px;width:100%}.casual-app:has(.mines-board) #экран-игры{max-width:700px}.casual-app .cover{aspect-ratio:1}.casual-app #экран-лобби{grid-template-columns:1fr 1.1fr}}
@media(max-width:599px){.casual-app .game-heading h1{font-size:26px}.game-scroll{max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 310px);min-height:200px}.casual-app .game-tools{margin:8px 0}.casual-app #save-status{font-size:9px}.game-board{padding:6px}.mines-board{gap:1px}.mine-cell{font-size:17px}.casual-app .bottom-actions{gap:6px}}
.solitaire-board{--card-h:110px;--card-step:27px;width:100%;min-width:300px;padding:14px;min-height:400px}.solitaire-top{display:flex;align-items:flex-start;gap:8px;margin-bottom:22px}.solitaire-top>.playing-card,.solitaire-top>.card-slot{width:calc((100% - 48px)/7);flex:none;position:relative}.foundations,.free-cells{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;width:calc(4 * (100% - 48px)/7 + 21px);margin-left:auto}.tableau{display:grid;grid-template-columns:repeat(var(--piles),minmax(0,1fr));gap:8px}.card-pile{position:relative;min-width:0}.playing-card,.card-slot{position:relative;width:100%;height:var(--card-h);border:1px solid #f2dfb0;border-radius:9px;background:linear-gradient(135deg,#fff1d0,#d8ceb5);padding:0;color:#1e2d28;box-shadow:0 3px 7px #00191077;overflow:hidden;text-align:left;touch-action:manipulation}.playing-card.red-card{color:#a33b32}.card-pile>.playing-card{position:absolute;left:0}.card-corner{position:absolute;left:6px;top:4px;display:flex;align-items:center;gap:3px;font-size:21px;font-weight:800;line-height:1.1}.card-corner i{font-style:normal;font-size:18px}.card-suit{position:absolute;inset:25px 0 0;display:grid;place-items:center;font-size:43px}.card-mirror{position:absolute;right:4px;bottom:3px;transform:rotate(180deg);font-size:12px}.playing-card.back-card{background:repeating-linear-gradient(45deg,#194a37 0 5px,#2d5c42 5px 7px);border-color:#c9b176;box-shadow:inset 0 0 0 3px #bda166,0 3px 6px #0005;color:#e3c77b;text-align:center;font-size:35px}.card-slot:empty,.empty-pile,.card-slot:not(.playing-card){background:#092b2380;border:1px dashed #bcb38888;box-shadow:none;color:#b4b28b;display:grid;place-items:center;font-size:25px}.stock small{position:absolute;bottom:4px;right:7px;color:#fff0bd;font-size:12px}.spider-complete{margin:auto 0 auto auto;color:#e2cb92;font-size:14px}.freecell .free-cells{width:48%;margin:0}.freecell .foundations{width:48%}.freecell .solitaire-top{justify-content:space-between}.spider{min-width:530px;--card-h:85px;--card-step:25px}.spider .solitaire-top>.stock{width:48px}.spider .card-corner{font-size:17px;left:3px}.spider .card-corner i{font-size:15px}
@media(max-width:599px){.solitaire-board{--card-h:73px;--card-step:24px;padding:7px}.tableau{gap:4px}.solitaire-top{gap:4px;margin-bottom:16px}.solitaire-top>.playing-card,.solitaire-top>.card-slot{width:calc((100% - 24px)/7)}.foundations{width:calc(4 * (100% - 24px)/7 + 12px);gap:4px}.free-cells{gap:4px}.card-corner{left:3px;top:3px;font-size:16px;gap:1px}.card-corner i{font-size:13px}.card-suit{font-size:27px;inset:19px 0 0}.card-mirror{font-size:8px;right:2px}.playing-card,.card-slot{border-radius:5px}.solitaire-board.freecell{min-width:355px}.solitaire-board.spider{min-width:525px;--card-h:80px}.freecell .card-corner{font-size:15px}}

.mah-marks{display:grid;grid-template-columns:repeat(3,1fr);align-content:center;justify-content:center;padding:3px;gap:1px;height:100%}.mah-marks i{font-style:normal;font-size:clamp(10px,2.4vw,20px);line-height:1.1}.mah-tile.bamboo .mah-marks i{font-weight:900;text-shadow:0 2px #a49152}

.casual-app .bottom-actions:has(#undo[hidden]){grid-template-columns:repeat(2,1fr)}
/* Ссылка «Рейтинг» в лобби (блоки/три в ряд/змейка) — тот же класс
   secondary, что у кнопки «Продолжить», но это <a>, а не <button>: без
   этих трёх строк ссылка осталась бы строчной, с подчёркиванием и не во
   всю ширину, хотя по цвету и отступам уже одета как кнопка (.secondary
   в style-sudoku.css). Цвет и отступы не трогаем — только форма. */
a.secondary{display:block;width:100%;text-align:center;text-decoration:none}
#рейтинг-ссылка{margin-top:10px}
