body{background:var(--bg);color:var(--ink)}[hidden]{display:none!important}
.site-header{height:60px;padding:0 24px;display:flex;align-items:center;gap:24px;background:var(--surface);border-bottom:1px solid var(--line);position:relative;z-index:20}
.brand{gap:9px;font-size:20px;letter-spacing:-.6px;white-space:nowrap}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--accent);color:white;border-radius:11px;font-size:30px;line-height:1}
.header-nav{display:flex;gap:20px;font-size:14px;font-weight:600}.header-nav a:hover{color:var(--accent-ink)}
.catalog-menu{margin-left:auto;position:relative}.catalog-menu>summary,.appearance>summary{list-style:none;cursor:pointer;min-height:38px;display:flex;align-items:center;gap:12px;border-radius:10px;padding:8px 12px;font-size:14px;background:var(--surface-alt)}
summary::-webkit-details-marker{display:none}.catalog-menu>summary span{font-size:22px;line-height:1}.appearance{position:relative}.appearance>summary>span:first-child{font-size:21px;line-height:1}
.quick-games,.appearance-panel{position:absolute;top:calc(100% + 12px);right:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px;z-index:30}
.quick-games{width:440px;max-width:calc(100vw - 24px);max-height:min(70dvh,540px);overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:5px}.quick-games a{padding:10px;border-radius:8px;font-size:14px}.quick-games a:hover{background:var(--accent-soft);color:var(--accent-ink)}
.appearance-panel{width:260px;display:grid;gap:10px}.appearance-panel label{font-size:13px;color:var(--muted);margin-top:4px}.appearance-panel small{font-size:12px;color:var(--muted);line-height:1.5}
summary:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px}
.page{margin:0}main{max-width:1600px;padding:14px 24px 24px;margin:auto;min-width:0}
.game-card .partner-art{aspect-ratio:4/3;min-height:0;background:var(--surface-alt)}.partner-art img{display:block;width:100%;height:100%;object-fit:cover}.partner-art:has(img){animation:none}
main:has(.play-layout){max-width:1120px}.play-layout .game-shell{width:100%;max-width:780px;margin-inline:auto}body:is([data-game=spider],[data-game=klondike],[data-game=durak]) .game-shell{max-width:none}
.site-header .brand{min-width:0;max-width:40%}.site-header .brand>span:last-child{overflow:hidden;text-overflow:ellipsis}.brand-mark{flex-shrink:0}
h1{font-size:30px;letter-spacing:-.8px;line-height:1.2}.play-heading{margin:0 0 10px;gap:12px;min-height:30px}.play-heading h1{font-size:23px;letter-spacing:-.5px;margin:0}.quiet-link{font-size:13px;color:var(--muted);white-space:nowrap}.quiet-link:hover{color:var(--accent-ink)}
.breadcrumbs{font-size:12px;color:var(--muted);gap:7px;margin:18px 0 8px;line-height:1.5}.breadcrumbs a:hover{color:var(--accent-ink)}
.button,.small-button{border-radius:9px}.button.dark{background:var(--accent);color:#fff}.small-button{background:var(--surface-alt);color:var(--ink);border:1px solid var(--line);padding:9px 12px}.button:hover,button:hover{transform:none}.button.dark:hover{filter:brightness(1.08)}
.button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-color:var(--accent-ink)}
.immersive-game{padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}
#immersive-screen{border-radius:0;height:calc(100vh - 184px);height:calc(100dvh - 184px);min-height:260px;max-height:900px;background:#0b101a}
#immersive-screen:fullscreen{height:100vh;min-height:0;max-height:none}
.immersive-toolbar{padding:10px 14px;margin:0;gap:8px;align-items:center;flex-wrap:wrap}.immersive-toolbar .small-button{font-size:13px}.immersive-toolbar .player-caption{margin:0 auto 0 0;font-size:12px;color:var(--muted)}
#immersive-status{margin:0;padding:0 14px 10px;font-size:12px;color:var(--muted);line-height:1.4}#immersive-placeholder{background:radial-gradient(ellipse at 50% 40%,#222d4b,#0b101a);color:#fff}#immersive-placeholder strong{font-size:25px}#immersive-placeholder p{font-size:14px}
.play-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.game-shell{padding:12px 16px 10px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.scorebar{max-width:640px;margin:0 auto 10px;gap:20px}.scorebar strong{font-size:21px}.scorebar small{font-size:10px;letter-spacing:.5px;margin-bottom:2px}.scorebar .button{padding:9px 14px;font-size:13px}
.game-tools{margin:0 auto 8px;max-width:760px}.game-status{margin:8px 0 0;font-size:13px;min-height:0}.controls{margin:8px auto 0;gap:6px}.controls:empty,.game-tools:empty{display:none}.controls button{background:var(--surface-alt);color:var(--ink);border:1px solid var(--line);border-radius:8px}
/* Only the outside size changes: each game's grid rows/columns stay intact. */
.board{max-width:min(480px,calc(100svh - 245px));min-width:0}.board.arcade-board{max-width:min(560px,calc(100svh - 245px))}.board-words{max-width:min(340px,calc((100svh - 340px)*.8333))}.board.cards-board,.board.durak-board{max-width:1100px}.game-guide{max-width:none!important;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.game-guide h2{font-size:18px;margin:0 0 8px}.game-guide p{font-size:14px;margin-bottom:8px;color:var(--muted)}.game-guide h3{font-size:14px;margin:16px 0 8px}.guide-note{background:var(--surface-alt);color:var(--muted);font-size:12px;border:0;padding:10px 12px;border-radius:8px}.other-game{display:inline-flex!important;gap:15px;margin:0 8px 6px 0!important;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px}.other-game:hover{background:var(--accent-soft);color:var(--accent-ink)}
.about{padding:18px 20px;margin:18px 0 0;border:1px solid var(--line);background:var(--surface);border-radius:14px}.about p{max-width:1100px;font-size:14px}.about h2{font-size:18px}.about .hint{margin-top:8px;font-size:12px}
.reviews,.rating-panel{padding:20px;margin-top:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.reviews h2,.rating-panel h2{font-size:19px}.reviews form{max-width:760px}.reviews article{border-color:var(--line)}.rating-row.own{background:var(--accent-soft)}.rating-row:nth-child(-n+3)>span:first-child{color:var(--accent-ink)}
input,textarea,select,.reviews input,.reviews textarea,.reviews select,.rating-panel input,.rating-panel select,.catalogue-controls input,.catalogue-controls select,.game-select,.admin-card input,.admin-card textarea,.admin-card select{background:var(--surface-alt);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-width:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.hint{color:var(--muted)}
.home-heading{margin:12px 0 20px}.home-heading h1{font-size:34px;margin-bottom:6px}.home-heading p{font-size:14px;max-width:none}.orange-dot{color:var(--accent-ink)}.section-heading{margin:20px 0 12px}.section-heading h2{font-size:19px}.catalogue-controls{margin-bottom:16px;gap:10px}.catalogue-controls #catalogue-status:empty{display:none}.game-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.game-card{background:var(--surface);border-color:var(--line);border-radius:14px}.game-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent)}.game-card .art{min-height:148px}.game-card .new-art{animation:none}.card-copy{padding:12px 14px 14px}.game-card .card-copy h3{font-size:17px}.card-copy p{font-size:12px}.category{margin-bottom:7px;font-size:11px}.category>span{display:none}footer{max-width:1552px;margin:16px auto 0;padding:20px 24px;font-size:12px;border-color:var(--line)}
.admin-card{background:var(--surface);border-color:var(--line)}.admin-card select{display:block;width:100%;margin:8px 0 16px}.admin-card details{border-color:var(--line)}.notice{background:var(--accent-soft);color:var(--ink)}.notice.error{background:#ffe4df;color:#8c2424}
/* Neutral puzzle surfaces adapt; semantic piece colours and card faces remain readable. */
[data-theme=dark] .board-lines{background:#2a3040}[data-theme=dark] .lines-cell{background:#414a5c}[data-theme=dark] .lines-cell.selected{background:#58627a;box-shadow:inset 0 0 0 3px #d2c1ff}
[data-theme=dark] .board-match3{background:#303044}[data-theme=dark] .gem{background:#47435b}[data-theme=dark] .gem.selected,[data-theme=dark] .gem.suggested{background:#5b627b;box-shadow:inset 0 0 0 3px #dcc4ff}
[data-theme=dark] .sudoku-cell{background:#252e3d;color:#88e7c4}[data-theme=dark] .sudoku-cell.given{background:#354154;color:#f0f4fa}[data-theme=dark] .sudoku-cell.selected{background:#365a58}[data-theme=dark] .sudoku-cell.conflict{background:#713c49;color:#fff}[data-theme=dark] .sudoku-cell .notes{color:#c3d5e8}
[data-theme=dark] .word-cell:not(.correct):not(.present):not(.absent){background:var(--surface-alt);border-color:var(--line)}[data-theme=dark] .board.durak-board{background:#243f37}
@media(max-width:1200px){.game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-header{gap:16px;padding-inline:16px}main{padding:12px 16px 20px}}
@media(max-width:600px){.site-header{height:54px;padding:0 10px;gap:8px}.brand{font-size:16px;gap:6px}.brand-mark{width:29px;height:29px;font-size:26px}.header-nav{display:none}.catalog-menu>summary{font-size:12px;padding:8px}.appearance>summary{padding:8px 10px}.appearance-label{display:none}.quick-games{position:fixed;top:60px;left:12px;right:12px;width:auto}.appearance-panel{right:0;max-width:calc(100vw - 24px)}main{padding:10px}.play-heading{margin-bottom:8px}.play-heading h1{font-size:20px}.quiet-link{font-size:12px}.immersive-game{border-radius:10px}#immersive-screen{height:calc(100svh - 215px);min-height:250px;max-height:620px}.immersive-toolbar{padding:8px;gap:6px}.immersive-toolbar .player-caption{display:none}.immersive-toolbar .small-button{font-size:12px;padding:8px}#immersive-status{padding:0 8px 8px;font-size:11px}.game-shell{padding:10px;border-radius:10px}.scorebar{gap:12px}.scorebar strong{font-size:19px}.scorebar .button{padding:8px 10px;font-size:12px}.board,.board.arcade-board{max-width:min(480px,calc(100svh - 240px))}.board-words{max-width:min(300px,calc((100svh - 320px)*.8333))}.board.cards-board,.board.durak-board{max-width:100%}.play-layout{gap:12px}.game-guide,.about,.reviews,.rating-panel{padding:14px;border-radius:10px}.game-guide p,.about p{font-size:13px}.home-heading{margin:8px 0 16px}.home-heading h1{font-size:28px}.home-heading p{font-size:13px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-card .art{min-height:132px}.game-card .card-copy h3{font-size:16px}.card-copy{padding:10px}.card-copy p{min-height:0}.catalogue-controls label{font-size:12px}.catalogue-controls input{flex-basis:100%}footer{margin:10px;padding:16px 0}.breadcrumbs{margin-top:12px}.reviews h2{font-size:18px}}
@media(max-height:540px) and (orientation:landscape){.board,.board.arcade-board{max-width:320px}.board-words{max-width:260px}#immersive-screen{min-height:260px}}

.catalogue-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:24px 0}.catalogue-pagination a,.catalogue-pagination span{padding:8px 12px;border:1px solid currentColor;border-radius:8px}.catalogue-pagination [aria-current]{font-weight:800}.catalogue-controls{flex-wrap:wrap}.seo-pick{display:flex;flex-wrap:wrap;gap:10px}.seo-pick a{padding:6px 10px}

.category-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;margin-bottom:12px}.category-chips a{white-space:nowrap}.category-chips a,.category-tiles a{background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:10px 14px;border-radius:12px;text-decoration:none}.category-chips span,.category-tiles span{margin-left:9px;color:var(--muted);font-size:12px}.category-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:12px 0 30px}.category-tiles a{display:flex;align-items:center;justify-content:space-between;min-height:68px;font-weight:700}.category-chips a:hover,.category-tiles a:hover{border-color:var(--accent);background:var(--accent-soft)}.game-category-link{margin-top:14px}.catalogue-controls{gap:10px}.catalogue-controls select{max-width:230px}.catalogue-controls button{min-height:40px}
@media(min-width:1400px){.game-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:600px){.catalogue-controls{display:flex;flex-wrap:wrap}.catalogue-controls input{width:100%}.catalogue-controls select{max-width:100%}.header-nav{gap:10px}.category-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.category-tiles a{padding:10px;font-size:13px}}

.site-footer{display:block;padding-block:24px}.site-footer .footer-top,.site-footer nav{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}.site-footer nav{justify-content:flex-start;margin:18px 0}.site-footer p{font-size:12px;line-height:1.65;max-width:1000px;color:var(--muted)}.info-page{max-width:880px;margin:auto;line-height:1.75}.info-page h1{font-size:clamp(28px,5vw,42px);line-height:1.2;margin:18px 0}.info-page h2{margin-top:28px;font-size:23px}.info-page ul{padding-left:22px}.info-page li{margin:8px 0}.info-page a{color:var(--accent-ink)}.contact-form{display:grid;gap:10px;margin:24px 0}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;padding:12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;font:inherit;box-sizing:border-box}.contact-consent{font-size:14px;line-height:1.5}.contact-success,.contact-error{padding:16px;border:1px solid var(--line);background:var(--surface-alt);border-radius:12px}.contact-error{border-color:#cc5555}.contact-form button{justify-self:start}.site-footer a:focus-visible,.info-page a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
