@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito+Sans:wght@500;600;700;800&display=swap";.not-found{--nf-ink:#392c26;--nf-muted:#78645a;color:var(--nf-ink);font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:calc(100svh - 235px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px 24px}.not-found .signoff{margin:48px 0 0;font-size:12px;color:var(--nf-muted);line-height:1.6}:root:not([data-theme=light]) .not-found{--nf-ink:var(--fg);--nf-muted:var(--muted)}.not-found .scene{position:relative;width:min(460px,100%);height:230px;display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:31px}.not-found .digit{font-size:198px;font-weight:900;line-height:1;letter-spacing:-13px;transform:rotate(-9deg)}.not-found .buddy+.digit{transform:rotate(9deg)}.not-found .buddy{width:144px;height:155px;flex-shrink:0;overflow:visible;transform:rotate(-7deg)}.not-found .star{position:absolute;left:9%;top:10px;width:28px;color:#cd7651;transform:rotate(15deg)}.not-found .spark{position:absolute;right:7%;bottom:4px;font-size:33px;color:#987e45}.not-found .squiggle{position:absolute;right:5%;top:12px;width:50px;height:25px}.not-found .eyebrow{margin:0 0 13px;font-size:11px;font-weight:800;letter-spacing:2.5px;color:var(--nf-muted)}.not-found h1{max-width:650px;font-size:clamp(29px,4.5vw,43px);line-height:1.16;letter-spacing:-1.6px;margin:0 0 17px;font-weight:850}.not-found .description{max-width:420px;font-size:16px;line-height:1.75;color:var(--nf-muted);margin:0}.not-found .actions{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:30px;flex-wrap:wrap}.not-found .primary{background:#ffc1a7;border:2px solid var(--nf-ink);border-radius:15px;text-decoration:none;padding:14px 23px;font-size:15px;font-weight:800;box-shadow:3px 4px 0 var(--nf-ink);transition:transform .15s,box-shadow .15s}.not-found .primary:hover{transform:translate(1px,2px);box-shadow:2px 2px 0 var(--nf-ink)}.not-found .secondary{min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:700;text-underline-offset:5px;text-decoration-thickness:1px}.not-found .arrow{margin-left:12px}.not-found .primary{color:#392c26;border-color:#392c26;box-shadow:3px 4px #392c26}@media(max-width:420px){.not-found{padding:30px 8px 24px}.not-found .scene{height:184px;margin-bottom:27px;gap:3px}.not-found .digit{font-size:154px;letter-spacing:-10px}.not-found .buddy{width:116px;height:130px}.not-found .star{left:5%;width:21px}.not-found .squiggle{right:0;width:37px}.not-found h1{letter-spacing:-1px}.not-found .actions{gap:23px}}@media(max-width:360px){.not-found .digit{font-size:128px;letter-spacing:-8px}.not-found .buddy{width:96px;height:110px}.not-found .scene{height:160px;gap:0}}@media(prefers-reduced-motion:reduce){.not-found .primary{transition:none}}.remaining-art .preview-panel{fill:#302a38;stroke:#75667c;stroke-width:2}.remaining-art .preview-tile{fill:#443b4b;stroke:#74657d}.remaining-art .preview-selected{fill:#a7bed1}.remaining-art text{font-family:Nunito Sans,system-ui,sans-serif;font-weight:800;text-anchor:middle}.remaining-art .preview-number{fill:#e5d8c5;font-size:25px}.remaining-art .preview-letter{fill:#f4ead6;font-size:18px}.remaining-art .preview-clue{fill:#c2c0be;font-size:12px}.remaining-art .preview-accent-text{fill:#334b61}.remaining-art .preview-box-line{stroke:#b4a3bb;stroke-width:3;fill:none}.remaining-art .preview-glass{fill:#34303d;stroke:#a895b4;stroke-width:3}.remaining-art .preview-glass-rim{fill:none;stroke:#c5b4cc;stroke-width:4;stroke-linecap:round}:root[data-theme=light] .card-art .remaining-art .preview-panel{fill:#eee1cf;stroke:#bea991}:root[data-theme=light] .card-art .remaining-art .preview-tile{fill:#fff3df;stroke:#d2bfa8}:root[data-theme=light] .card-art .remaining-art .preview-number,:root[data-theme=light] .card-art .remaining-art .preview-letter{fill:#57473c}:root[data-theme=light] .card-art .remaining-art .preview-clue{fill:#776653}:root[data-theme=light] .card-art .remaining-art .preview-accent-text{fill:#334b61}:root[data-theme=light] .card-art .remaining-art .preview-glass{fill:#f4ebdf;stroke:#a895b4}.remaining-art .preview-peer{fill:#687e8d;opacity:.3}.remaining-art .preview-sudoku-minor path{fill:none;stroke:#9c8e9d;stroke-width:.6}.remaining-art .preview-sudoku-major path{fill:none;stroke:#b5a5b7;stroke-width:2}.remaining-art .preview-sudoku-number{fill:#eee2cd;font-size:14px;font-weight:700}.remaining-art .preview-sudoku-number.preview-accent-text{fill:#334b61}:root[data-theme=light] .card-art .remaining-art .preview-sudoku-number{fill:#57473c}:root[data-theme=light] .card-art .remaining-art .preview-sudoku-major path{stroke:#a48b7e}:root[data-theme=light] .card-art .remaining-art .preview-sudoku-minor path{stroke:#ccb8a0}.remaining-art .fly-preview-sky{fill:#283f69}:root[data-theme=light] .remaining-art .fly-preview-sky{fill:#76ced7}.remaining-art .zigzag-preview-bg{fill:#302b3d}:root[data-theme=light] .remaining-art .zigzag-preview-bg{fill:#eee3d1}.remaining-art .vine-preview-sky{fill:#294b48}:root[data-theme=light] .remaining-art .vine-preview-sky{fill:#c4d9b3}.remaining-art .pool-preview-felt{fill:#285b53}:root[data-theme=light] .remaining-art .pool-preview-felt{fill:#397f6d}.gc-pass-through{display:contents}.gc-container{scroll-margin-top:16px;position:relative;width:min(100%,960px);margin:8px auto 32px;isolation:isolate}.gc-container>.bg-shell,.gc-container>.game-page,.gc-container>.puzzle-page,.gc-container>.new-puzzle,.gc-container>.sudoku9-page{width:100%;max-width:none;margin:0}.gc-container .gc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:14px 0 18px;border-bottom:1px solid var(--border-strong)}.gc-title,.gc-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gc-container .gc-title h1{font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-size:25px;font-weight:500;line-height:1.2;letter-spacing:-.3px;margin:0 0 0 4px}.gc-container .gc-toolbar button{font:inherit;font-size:13px;font-weight:800;min-height:44px;padding:9px 12px;border:2px solid var(--border-strong);border-radius:12px;background:var(--control-bg);color:var(--fg);cursor:pointer}.gc-container .gc-toolbar button:hover:not(:disabled){background:var(--control-hover)}.gc-container .gc-toolbar button:disabled{opacity:.45;cursor:default}.gc-container .gc-toolbar button:focus-visible{outline:3px solid #73a5b7;outline-offset:3px}.gc-container :is(.gc-modal){position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;background:var(--board-overlay);border:0;border-radius:16px}.gc-container :is(.gc-modal)>:is(section,.result-panel,.overlay-card){width:min(100%,460px);max-height:min(100%,calc(100svh - 40px));overflow-y:auto;margin:auto;background:var(--control-bg);border:2px solid var(--border-strong);border-radius:20px;padding:26px;box-shadow:0 6px #211a2c33;text-align:center}@media(max-width:600px){.gc-container{margin-top:0}.gc-container .gc-toolbar{gap:12px;padding-top:10px;margin-bottom:14px}.gc-title{width:100%}.gc-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.gc-container .gc-toolbar button{font-size:12px;padding:9px 8px}.gc-container .gc-title h1{font-size:23px}.gc-container :is(.gc-modal){padding:14px}.gc-container :is(.gc-modal)>:is(section,.result-panel,.overlay-card){max-height:min(100%,calc(100svh - 28px));padding:20px}}.gc-extras{width:100%;display:flex;align-items:center;gap:8px}.gc-container .bg-board{max-width:720px;margin-inline:auto}.gc-container .puzzle-stage{max-width:620px;margin-inline:auto}.gc-container .sudoku9-board{max-width:560px;margin-inline:auto}.gc-container .np-stage{max-width:620px;margin-inline:auto}.gc-container .puzzle-overlay.mines-result{background:transparent}.gc-container .gc-title,.gc-container .gc-actions{position:relative;z-index:81}.gc-container .bg-board.wch-board-wrap{width:min(100%,480px)}.gc-container .bg-board.xch-board-wrap{width:min(100%,460px)}.gc-container .bg-board.cc-board{width:min(100%,560px)}.site-footer{width:100%;max-width:1280px;margin:40px auto 0;padding:22px 40px 26px;border-top:1px solid var(--border-strong);color:var(--muted);font-size:13px}.site-footer-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.site-footer-signature{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0;line-height:1.6}.site-footer-signature>span:first-child{font-weight:800;color:var(--fg)}.site-footer nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}.site-footer nav a,.site-footer nav button{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.site-footer nav :is(a,button):hover{color:var(--fg);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.site-footer :is(a,button,summary):focus-visible{outline:3px solid #73a5b7;outline-offset:4px;border-radius:4px}.site-footer-storage{margin:10px 0 0;font-size:12px;line-height:1.6}@media(max-width:600px){.site-footer{margin-top:28px;padding-top:18px}.site-footer-row{align-items:flex-start;gap:8px}.site-footer nav{width:100%;gap:4px 20px}.site-footer-tagline{font-size:12px}}@media(max-width:1000px){.site-footer{padding-inline:28px}}@media(max-width:760px){.site-footer{padding-inline:19px}}.site-footer nav a[aria-current=page]{color:var(--fg);text-decoration:underline;text-underline-offset:5px}.catalog-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;border:2px dashed var(--border-strong);border-radius:18px;padding:45px 20px;margin-top:12px;color:var(--fg)}.catalog-empty-state>svg{width:32px;height:32px;color:var(--muted);flex-shrink:0}.catalog-empty-state h2{font:500 25px/1.25 Fredoka,ui-rounded,system-ui,sans-serif;letter-spacing:-.3px;margin:15px 0 6px}.catalog-empty-state p{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 18px}.catalog-empty-state button{font:inherit;font-weight:800;min-height:44px;padding:9px 14px;border:2px solid var(--border-strong);border-radius:12px;background:var(--control-bg);color:var(--fg);cursor:pointer}.catalog-empty-state button:hover{background:var(--control-hover)}.catalog-empty-state button:focus-visible{outline:3px solid #73a5b7;outline-offset:3px}.ct-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.ct-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}.ct-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 12px;border:2px solid var(--border-strong);border-radius:12px;background:var(--control-bg);color:var(--fg);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.ct-toolbar button svg{width:18px;height:18px;flex-shrink:0}.ct-toolbar .ct-tag[aria-pressed=true]{background:color-mix(in srgb,#df9a73 22%,var(--control-bg));border-color:#bd8066}.ct-toolbar .ct-tag:hover:not([aria-pressed=true]){background:var(--control-hover)}.ct-toolbar button:disabled{opacity:.45;cursor:default}.ct-toolbar button:focus-visible{outline:3px solid #73a5b7;outline-offset:3px}@media(max-width:600px){.ct-toolbar{flex-direction:column;gap:10px}.ct-tags{gap:6px}.ct-toolbar .ct-tag{font-size:12px;padding:7px 10px}}header>nav{gap:10px}.home-intro{padding:28px 0 18px;text-align:center}.home-intro h1{font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-weight:500;font-size:clamp(25px,2.5vw,34px);line-height:1.25;letter-spacing:-.6px;margin:0}.home-intro h1>span{color:#ffb49b}.home-intro>p{font-size:14px;color:var(--muted);margin:9px 0 0}.home-intro nav.home-tabs{display:flex;align-items:center;gap:5px;width:fit-content;max-width:100%;padding:5px;margin:22px auto 0;border:1px solid var(--border-strong);border-radius:15px;background:var(--panel)}.home-tab{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;min-width:145px;padding:8px 18px;border-radius:10px;font-weight:800;font-size:15px;color:var(--muted);transition:background .14s ease,color .14s ease}.home-tab:hover{background:var(--control-hover);color:var(--fg)}.home-tab.active{background:#f1d08a;color:#49362e;box-shadow:0 2px #281f2722}.home-games.games-section{padding-top:8px}:root[data-theme=light] .home-intro h1>span{color:#ad4b3e}@media(max-width:760px){.home-intro{padding-top:24px}.home-tab{min-width:132px}.home-intro h1>span{display:block}.home-intro nav.home-tabs{margin-top:18px}}@media(max-width:350px){.home-tab{min-width:116px;padding-inline:10px;font-size:14px}.home-intro h1{font-size:24px}}@media(prefers-reduced-motion:reduce){.home-tab{transition:none}}.language-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;width:58px;height:44px;border:1px solid var(--border-strong);border-radius:12px;background:var(--panel);color:var(--muted);transition:background .15s ease,color .15s ease}.language-picker:hover,.language-picker:focus-within{background:var(--control-hover);color:var(--fg)}.language-picker:focus-within{outline:2px solid #f1d08a;outline-offset:3px}.language-picker>svg{width:21px;height:21px;pointer-events:none}.language-picker>.language-chevron{width:12px;height:12px}.language-picker select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.language-picker option{background:var(--panel);color:var(--fg)}@media(prefers-reduced-motion:reduce){.language-picker{transition:none}}@media(max-width:760px){header>.brand{font-size:23px}header>nav{gap:7px}header .wallet{gap:4px;padding:7px}}@media(max-width:380px){header .wallet>span:last-child{display:none}header>.brand{font-size:21px}}@media(max-width:480px){header>nav>.wallet{display:none}header>.brand{gap:8px}header>.brand .brandmark svg{width:25px}}:root[lang=zh-CN]{font-family:Nunito Sans,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.brandmark img{display:block;width:32px;height:32px}@media(max-width:480px){header>.brand .brandmark img{width:28px;height:28px}}header>.brand{font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:23px;font-weight:850;letter-spacing:-1px;gap:9px;min-height:44px}:root header>.brand .brandmark{width:27px;height:27px;flex:none;background:#fb8e75;color:#392c26;border:2px solid #392c26;border-radius:9px;display:grid;place-items:center;transform:rotate(-9deg);font-size:17px;line-height:1}.not-found-main{max-width:1100px;width:100%;margin-inline:auto}@media(max-width:420px){header>.brand{font-size:21px}}:root{--bg: #191820;--fg: #fff5e9;--fg-soft: #e4d7da;--muted-2: #a79aa9;--border-strong: #65576a;--game-bg: #25232e;--control-bg: #332e3c;--control-hover: #403749;--tile-bg: #332b3e;--thumb-bg: #302b3b;--overlay-shade: #1a12256b;--modal-bg: #302a3b;--board-gradient: linear-gradient(145deg, #302b3a, #25212f);--board-shadow: 0 18px 50px #0004;--tile-face: #3b3448;--tile-border: #7b678448;--tile-fixed: #51435e;--board-ink: #fff4e5;--clue-ink: #d4d9bf;--board-overlay: #211b2af0;--focus: #ff9d7a}:root[data-theme=light]{--bg: #fff9ef;--fg: #382c32;--fg-soft: #584652;--muted: #7b656e;--muted-2: #816e78;--line: #e0d1c2;--panel: #fffdf8;--border-strong: #c6adaf;--game-bg: #f6eee6;--control-bg: #fff7ea;--control-hover: #f7e8dc;--tile-bg: #f4e9df;--thumb-bg: #f4eceb;--overlay-shade: #fff4e56b;--modal-bg: #fffaf0;--board-gradient: linear-gradient(145deg, #fffdf8, #f7ecdf);--board-shadow: 0 12px 34px #233b6712;--tile-face: #fffaf3;--tile-border: #d9c4b6;--tile-fixed: #ead9dc;--board-ink: #453044;--clue-ink: #576445;--board-overlay: #fff8eef0;--focus: #ab392c}:root{font-family:Nunito Sans,ui-sans-serif,system-ui,sans-serif;color:var(--fg);background:var(--bg);font-synthesis:none;font-weight:500;--muted: #c0b2bc;--line: #49414e;--green: #ff735c;--panel: #25232e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,.playfield:focus-visible{outline:3px solid var(--focus);outline-offset:5px}header{max-width:1280px;margin:auto;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font-family:Fredoka,sans-serif;font-size:27px;font-weight:600;letter-spacing:-1.4px}.brandmark{font-size:28px;display:inline-flex;align-items:center;width:31px;position:relative;color:var(--green)}.brandmark>span{font-size:25px;position:absolute;left:10px;top:-4px}nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:500}.wallet{display:flex;gap:8px;align-items:center;background:#171c23;border:1px solid #323b39;padding:10px 15px;border-radius:7px}.wallet svg{color:var(--green)}.wallet strong{color:#e3fbc9}.wallet>span{font-size:11px;color:#a5b49e}main{max-width:1200px;margin:auto}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.7px;line-height:1.5;color:var(--muted)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Fredoka,sans-serif}h1{font-size:64px;line-height:1.04;letter-spacing:-3px;font-weight:500;margin:18px 0;position:relative}.lede{font-size:14px;line-height:1.75;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:46px;padding:12px 20px;background:var(--green);color:#382026;font-size:12px;font-weight:600;border:1px solid var(--green);border-radius:6px;transition:background .15s,transform .15s,box-shadow .15s}.button:hover:not(:disabled){background:#ff8c70;transform:translateY(-2px);box-shadow:0 3px 20px #a8e96620}.games-section{padding:30px 0 28px}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.game-card{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel);transition:transform .2s,box-shadow .2s,border-color .2s}.game-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #0006;border-color:#7b6e9c}.card-art{height:172px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.card-art-stack{background:radial-gradient(ellipse at 50% 80%,#55307e55,transparent 75%),#171124}.card-art-bounce{background:radial-gradient(ellipse at 50% 80%,#15506566,transparent 75%),#0e1b24}.card-art-keeper{background:radial-gradient(ellipse at 50% 80%,#315c3255,transparent 75%),#131e17}.art{width:100%;height:100%;color:#d1c0f5}.art-bounce{color:#8be5ff}.art-keeper{color:#a6f28e}.storage-note{max-width:1200px;margin:0 auto 24px;padding-top:16px;border-top:1px solid var(--line);font-size:10px;color:var(--muted-2)}.game-title{padding:16px 17px;font-size:16px;font-weight:500;letter-spacing:-.5px}.game-page{--accent: #bd94ff;--accent-bg: #291b42;padding:20px 0 30px;max-width:560px;margin:auto}.game-heading{display:flex;align-items:center;gap:20px;margin-bottom:14px}.game-heading h1{font-size:22px;font-weight:500;letter-spacing:-.6px;margin:0;line-height:1.3}.game-heading .back-link{margin-right:auto;font-size:12px}.game-layout{display:flex;flex-direction:column}.play-column{width:100%;border:1px solid var(--border-strong);border-radius:10px;overflow:hidden;background:var(--game-bg);box-shadow:0 10px 50px #0005}.playfield{position:relative;width:100%;height:min(64svh,570px);min-height:300px;touch-action:none;outline-offset:-4px!important}.game-page-orbit .play-column{width:min(100%,477px,calc(78svh * 400 / 620));align-self:center}.game-page-orbit .playfield{height:auto;min-height:0;aspect-ratio:400 / 620}.play-instructions{font-size:11px;line-height:1.7;text-align:center;color:var(--muted);margin:14px 0}.stats-toggle{width:100%;min-height:44px;padding:11px 16px;border:1px solid var(--line);border-radius:6px;background:var(--control-bg);color:var(--fg-soft);font-size:12px;display:flex;justify-content:space-between;align-items:center}.stats-toggle:hover{background:var(--control-hover)}.stats-panel{width:100%;margin-top:9px;border:1px solid var(--line);border-radius:7px;background:var(--game-bg);padding:16px}.stats-panel dl{margin:0}.stats-panel dl>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 0}.stats-panel dt{font-size:11px;color:var(--muted)}.stats-panel dd{margin:0;font-family:Fredoka;font-size:21px;color:var(--accent-ink, var(--accent))}.stats-panel p{font-size:10px;color:var(--muted-2);line-height:1.7;margin-top:12px;border-top:1px solid #273143;padding-top:12px}.game-page-bounce{--accent: #7fe6fa;--accent-bg: #15333e}.game-page-keeper{--accent: #b2ed87;--accent-bg: #24351f}.back-link{border:0;background:none;color:var(--muted);font-size:12px;padding:10px 0;min-height:44px}.back-link:hover{color:var(--fg)}.play-top{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:1px;height:61px;color:var(--muted)}.play-top strong{font-family:Fredoka;font-size:26px;margin-left:9px;font-weight:500;color:var(--accent-ink, var(--accent))}.play-actions{display:flex;gap:8px}.play-actions button{border:1px solid var(--border-strong);background:var(--control-bg);color:var(--fg-soft);border-radius:5px;padding:8px 10px;font-size:10px;min-height:40px}.play-actions button:hover:not(:disabled){background:var(--control-hover)}.canvas-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.canvas-host canvas{display:block}.game-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-shade);display:flex;align-items:center;justify-content:center;padding:25px}.overlay-card{text-align:center;width:100%;max-width:310px;padding:27px 24px;border:1px solid #7686aa47;border-radius:16px;background:var(--modal-bg);box-shadow:0 15px 50px #0006,inset 0 1px #ffffff0d}.overlay-card>.eyebrow{font-size:8px;letter-spacing:1.4px;color:var(--accent-ink, var(--accent))}.overlay-card h2{font-size:35px;line-height:1.12;letter-spacing:-1.5px;font-weight:500;margin:0 0 18px}.overlay-card p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:24px}.overlay-card .button{width:100%}.play-hint{text-align:center;min-height:45px;display:flex;align-items:center;justify-content:center;padding:10px;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}@media(max-width:1300px){main,.storage-note{margin-left:40px;margin-right:40px}}@media(max-width:1000px){header{padding:0 28px}main,.storage-note{margin-left:28px;margin-right:28px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card-art{height:158px}}@media(max-width:760px){header{height:74px;padding:0 22px}.brand{font-size:25px}nav{gap:18px}.wallet{padding:9px 11px;gap:6px}.wallet>span{display:none}main,.storage-note{margin-left:22px;margin-right:22px}.games-section{padding-top:23px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.card-art{height:132px}.storage-note{font-size:9px;line-height:1.6}.play-top{height:55px;padding:9px 14px}.play-hint{font-size:10px;min-height:39px}.overlay-card h2{font-size:31px}.overlay-card p{font-size:12px}.overlay-card .button{min-height:46px}.game-overlay{padding:20px}.back-link{font-size:11px}.play-actions button{min-height:36px}}@media(max-width:760px){.game-page{padding:10px 0 25px}.game-heading{gap:12px;margin-bottom:10px}.game-heading h1{font-size:18px}.playfield{height:58svh;min-height:290px}.play-instructions{font-size:10px;margin:12px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.catalog-toolbar{display:flex;align-items:center;gap:18px;margin:0 0 21px}.random-button{min-height:46px;display:inline-flex;align-items:center;gap:10px;border:2px solid #5d302f;border-radius:7px;background:#ff735c;color:#382026;padding:11px 19px;font-size:13px;font-weight:600}.random-button:hover:not(:disabled){background:#ff8c70;box-shadow:0 4px 25px #b3f36c18}.catalog-count{font-size:11px;color:var(--muted-2)}.filter-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:24px}.filter-chip{min-height:42px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:7px;padding:9px 14px;background:var(--panel);color:var(--muted);font-size:12px}.filter-chip span{font-size:10px;color:var(--muted-2)}.filter-chip.selected{background:#273022;border-color:#50643d;color:#d8f6bd}.filter-chip.selected span{color:#a9cb8d}.filter-chip:hover{border-color:#647054}.more-filters{margin-left:auto;min-height:42px;padding:9px 0 9px 12px;display:flex;gap:16px;background:none;border:0;color:var(--muted-2);font-size:11px}.extra-filters{display:flex;align-items:flex-end;gap:17px;flex-wrap:wrap;padding:18px;border:1px solid var(--line);background:var(--panel);border-radius:8px;margin:-10px 0 24px}.extra-filters label{display:flex;flex-direction:column;gap:8px;font-size:10px;color:var(--muted)}.extra-filters select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;min-height:42px;min-width:180px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:5px;background:var(--control-bg);color:var(--fg);font:inherit;font-size:12px;color-scheme:dark}.extra-filters select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.reset-filters{min-height:42px;background:none;border:0;color:var(--muted);font-size:11px;padding:10px}.empty-games{padding:60px 20px;text-align:center;border:1px dashed #30384a;border-radius:8px;color:var(--muted);font-size:14px}.empty-games button{border:0;border-bottom:1px solid #97c263;background:none;color:#ffb49b;margin-top:20px;padding:10px;min-height:44px;font-size:12px}.card-art{background:radial-gradient(ellipse at 50% 80%,color-mix(in srgb,var(--card-accent, #b793ff) 18%,transparent),transparent 78%),var(--thumb-bg)}.game-card:hover{border-color:var(--card-accent, #756390)}.loading-game{max-width:560px;margin:60px auto;padding:60px 20px;text-align:center;color:var(--muted);border:1px solid #2a3448;border-radius:10px;font-size:14px}.game-heading{gap:15px}.game-heading h1{margin-right:auto}.game-heading .back-link{margin-right:0}.another-game{flex-shrink:0;min-height:44px;border:0;background:none;color:var(--muted);font-size:10px;padding:8px 0 8px 10px}.another-game:hover{color:var(--fg)}@media(max-width:760px){.filter-row{gap:7px;margin-bottom:20px}.filter-chip{font-size:10px;padding:9px 10px;gap:7px}.more-filters{margin-left:0;font-size:10px;padding-left:4px}.extra-filters{gap:12px;padding:15px}.extra-filters label{flex:1;min-width:120px}.extra-filters select{min-width:0;width:100%;font-size:11px}.catalog-toolbar{margin-bottom:17px}.game-heading{gap:10px}.game-heading h1{font-size:16px}.another-game{font-size:9px;padding-left:0}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--fg-soft);font-size:11px}.theme-toggle:hover{border-color:var(--border-strong);background:var(--control-hover)}.game-page{--accent-ink: var(--accent)}:root[data-theme=light] .game-page{--accent-ink: color-mix(in srgb, var(--accent) 33%, #162b46)}:root[data-theme=light] .wallet{background:#edf4e6;border-color:#cbdcbc}:root[data-theme=light] .wallet strong{color:#355b24}:root[data-theme=light] .wallet svg{color:#49712d}:root[data-theme=light] .wallet>span{color:#567147}:root[data-theme=light] .filter-chip.selected{background:#e4efd9;border-color:#9eb98b;color:#315721}:root[data-theme=light] .filter-chip.selected span{color:#4a6b36}:root[data-theme=light] .extra-filters select{color-scheme:light}:root[data-theme=light] .card-art-stack,:root[data-theme=light] .card-art-bounce,:root[data-theme=light] .card-art-keeper{background:radial-gradient(ellipse at 50% 80%,color-mix(in srgb,var(--card-accent) 20%,transparent),transparent 75%),var(--thumb-bg)}:root[data-theme=light] .play-column{box-shadow:var(--board-shadow)}:root[data-theme=light] .overlay-card{border-color:#aebdd455;box-shadow:0 15px 45px #1836601c,inset 0 1px #fff}:root[data-theme=light] .stats-panel{background:#f4f7fc;border-color:var(--line)}@media(max-width:760px){nav{gap:9px}.theme-toggle{padding:9px;gap:6px;font-size:10px}}:root[data-theme=light] .empty-games button{color:#a64b39}:root[data-theme=light] .filter-chip span{color:var(--muted-2)}:root[data-theme=light] .game-number{color:#596582}.catalog-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:11px 0 31px}.intro-eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:var(--muted-2);display:flex;align-items:center;gap:8px}.intro-eyebrow>span{width:6px;height:6px;border-radius:50%;background:#ff735c;box-shadow:0 0 0 4px #b3f36c0c}.catalog-intro h1{font-size:39px;line-height:1.17;letter-spacing:-1.8px;margin:13px 0 9px;font-weight:500}.catalog-intro h1>span{color:#bbd68a}.intro-subtitle{font-size:13px;line-height:1.7;color:var(--muted)}.intro-stamp{width:72px;height:72px;color:#aa91df;transform:rotate(-8deg);margin-right:13px;flex-shrink:0}.intro-stamp svg{display:block;width:100%;height:100%}.catalog-toolbar{padding:0 0 21px;border-bottom:1px solid var(--line);margin-bottom:20px}.random-button{border-radius:8px;box-shadow:inset 0 1px #ffffff4d;letter-spacing:-.15px}.filter-chip{min-height:44px;border-radius:8px;transition:background .15s,border-color .15s}.favorites-filter{gap:8px}.favorites-filter svg{width:15px;height:15px}.more-filters{min-height:44px}.game-card-link{display:block;border-radius:inherit}.game-card-link:focus-visible{outline-offset:-3px;outline-width:3px}.game-card{box-shadow:0 3px 10px #0000000b}.game-card:hover{transform:translateY(-3px);box-shadow:0 9px 20px #0002}.favorite-button{position:absolute;right:9px;top:9px;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid #ffffff25;background:#101624b8;color:#e2e8f4;z-index:1;transition:background .15s,border-color .15s,color .15s}.favorite-button:hover{border-color:#c1d99b;background:#283323}.favorite-button.saved{color:#c3ed8d;background:#1a2a18ed;border-color:#75955180}.empty-games{padding:45px 20px;background:var(--panel)}.empty-games>svg{color:var(--muted-2);width:26px;height:26px;margin-bottom:12px}.empty-games h2{font-size:21px;letter-spacing:-.6px;margin-bottom:9px}.empty-games p{font-size:12px;line-height:1.7}.storage-note{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;padding-top:21px}.footer-signature{font-family:Fredoka,sans-serif;font-size:17px;font-weight:500;letter-spacing:-.6px;color:var(--fg-soft)}:root[data-theme=light] .brandmark{color:#43642d}:root[data-theme=light] .intro-eyebrow>span{background:#5f7e3d}:root[data-theme=light] .catalog-intro h1>span{color:#526d35}:root[data-theme=light] .intro-stamp{color:#a083cc}:root[data-theme=light] .favorite-button{background:#ffffffe8;border-color:#bbc4d3;color:#53627a;box-shadow:0 2px 6px #25354d0c}:root[data-theme=light] .favorite-button.saved{background:#e1edcf;color:#496b2e;border-color:#b2c794}:root[data-theme=light] .favorite-button:hover{background:#f0f4e8;border-color:#8f9d78}:root[data-theme=light] .card-art svg [stroke]:not([stroke=none]){stroke:color-mix(in srgb,var(--card-accent) 45%,#26334c)}:root[data-theme=light] .card-art svg text{fill:color-mix(in srgb,var(--card-accent) 32%,#27344d)}@media(max-width:1000px){.catalog-intro h1{font-size:34px}.catalog-intro{padding-bottom:28px}.intro-stamp{width:59px;height:59px}.game-title{font-size:15px;padding:14px 15px}}@media(max-width:760px){header{padding-inline:19px}main,.storage-note{margin-inline:19px}.catalog-intro{padding:4px 0 25px;gap:12px}.catalog-intro h1{font-size:29px;letter-spacing:-1.25px;line-height:1.17;max-width:330px}.catalog-intro h1>span{display:block}.intro-eyebrow{font-size:8px;letter-spacing:1.6px}.intro-subtitle{font-size:11px}.intro-stamp{width:45px;height:45px;margin-right:0}.catalog-toolbar{padding-bottom:17px;margin-bottom:16px}.random-button{font-size:12px;padding:11px 15px}.catalog-count{font-size:10px;margin-left:auto}.filter-row{gap:7px;margin-bottom:18px}.filter-chip{padding:8px 10px;font-size:10px;gap:7px}.filter-chip span{font-size:9px}.more-filters{padding-left:4px;margin-left:0}.favorite-button{width:44px;height:44px;right:5px;top:5px}.favorite-button svg{width:17px;height:17px}.game-title{font-size:13px;letter-spacing:-.35px;padding:14px 12px;line-height:1.3;min-height:44px}.storage-note{align-items:flex-start;gap:14px}.storage-note>span:last-child{max-width:230px;font-size:8px;line-height:1.7}.footer-signature{font-size:15px}}@media(max-width:350px){.game-grid{grid-template-columns:1fr}.card-art{height:170px}.catalog-intro h1{font-size:26px}.intro-stamp{display:none}}.brand{font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-weight:500;letter-spacing:-.8px;font-size:30px}.brandmark{color:#ff917b;width:31px}.brandmark svg{display:block}button,.button{font-weight:600}h1,h2,h3{font-weight:500}.catalog-intro h1{font-weight:500;letter-spacing:-1px}.catalog-intro h1>span{color:#ffb49b}.intro-eyebrow>span{background:#ff917b;box-shadow:none}.intro-stamp{color:#c0a2e4}.game-title{font-weight:500;letter-spacing:0}.card-art svg>rect[fill^=url]{display:none}.game-card{border-width:2px;border-radius:16px;box-shadow:0 3px #100c1850}.game-card:hover{box-shadow:0 5px #100c1850;transform:translateY(-2px)}.favorite-button{background:#302638eb;border:2px solid #756079;color:#ead9ef;box-shadow:0 2px #140c1c55}.favorite-button.saved{color:#f8d47e;background:#4a3b35;border-color:#b18c5a}.favorite-button:hover{background:#51404b;border-color:#c2a47d}.filter-chip{border-width:2px;border-radius:12px;font-weight:600}.filter-chip.selected{background:#f0c978;border-color:#7e5a38;color:#443026}.filter-chip.selected span{color:#654531}.filter-chip:hover{border-color:#ae827d}.random-button{border:2px solid #794036;border-radius:12px;box-shadow:0 3px #64352f;font-size:14px;font-weight:700}.random-button:hover:not(:disabled){background:#ff8b74;box-shadow:0 3px #64352f}.wallet{background:#332b37;border:2px solid #5d485e;border-radius:12px}.wallet strong{color:#ffd7b1}.wallet svg{color:#ffac8b}.wallet>span{color:#cbb0b5}.theme-toggle{min-height:44px;border-width:2px;border-radius:12px;font-size:12px;font-weight:600}.game-heading h1{font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-size:21px;letter-spacing:0;font-weight:500}.game-heading .back-link,.another-game{font-size:12px;min-height:44px;font-weight:600}.play-column{border-width:2px;border-radius:16px;box-shadow:0 4px #140f2050}.play-top{height:68px;font-size:12px;font-weight:700;letter-spacing:.7px}.play-top strong{font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-weight:500;font-variant-numeric:tabular-nums;font-size:31px;color:var(--fg)}.play-actions button,.stats-toggle{min-height:44px;border-width:2px;border-radius:10px;font-size:12px;font-weight:700}.play-actions button{padding:8px 11px}.play-hint,.play-instructions{font-size:12px;line-height:1.6;font-weight:500}.play-hint{min-height:46px}.stats-panel dt,.stats-panel p{font-size:12px;font-weight:500}.stats-panel dd{font-weight:500}.result-panel{width:100%;max-width:320px;max-height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px;border:2px solid var(--border-strong);border-radius:18px;background:var(--modal-bg);box-shadow:0 5px #130d2055;display:flex;flex-direction:column;gap:13px;text-align:center}.result-panel h2{font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-size:29px!important;font-weight:500;letter-spacing:-.4px;line-height:1.12;color:var(--fg);margin:0}.result-panel p{font-size:13px;line-height:1.55;font-weight:500;color:var(--muted);margin:0}.result-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:1px 0}.result-metrics>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px 6px;border:2px solid var(--line);border-radius:12px;background:var(--tile-bg)}.result-metrics dt{font-size:12px;line-height:1.3;font-weight:700;color:var(--muted)}.result-metrics dd{font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-size:36px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.1;margin:0;color:var(--fg)}.result-metrics>div:last-child dd{color:#f8ce8b}.result-panel .result-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:10px 14px;border:2px solid #774036;border-radius:12px;background:#ff735c;color:#382026;font-size:15px;font-weight:700;box-shadow:0 3px #64352f}.result-panel .result-action:hover:not(:disabled){background:#ff8c74;box-shadow:0 3px #64352f;transform:none}.result-panel .result-secondary{width:100%;min-height:44px;padding:9px 12px;border:2px solid var(--line);border-radius:12px;background:transparent;color:var(--fg-soft);font-size:13px;font-weight:600;box-shadow:none}.result-panel .result-secondary:hover:not(:disabled){background:var(--control-hover);border-color:var(--border-strong)}:root[data-theme=light] .brandmark{color:#bb4e3c}:root[data-theme=light] .catalog-intro h1>span{color:#ad4b3e}:root[data-theme=light] .intro-eyebrow>span{background:#b85d42}:root[data-theme=light] .filter-chip.selected{background:#f5d894;border-color:#c8a164;color:#573c24}:root[data-theme=light] .filter-chip.selected span{color:#725332}:root[data-theme=light] .favorite-button{background:#fff7e9;border-color:#cdb9b1;color:#897168;box-shadow:0 2px #c3aaa64d}:root[data-theme=light] .favorite-button.saved{background:#f9dfa5;color:#856128;border-color:#c6a15a}:root[data-theme=light] .favorite-button:hover{background:#ffeac7;border-color:#b89670}:root[data-theme=light] .wallet{background:#fbe8d9;border-color:#d9bfa9}:root[data-theme=light] .wallet strong{color:#7a4b30}:root[data-theme=light] .wallet svg{color:#ab5a35}:root[data-theme=light] .wallet>span{color:#825d4a}:root[data-theme=light] .play-column{box-shadow:0 4px #d9c7bc}:root[data-theme=light] .result-panel{box-shadow:0 4px #cdbab5}:root[data-theme=light] .result-metrics>div:last-child dd{color:#a65f26}@media(max-width:760px){.game-heading h1{font-size:19px}.game-heading .back-link,.another-game{font-size:12px}.play-top{height:64px;padding:9px 12px;font-size:11px}.play-top strong{font-size:29px}.play-actions button{font-size:12px;min-height:44px;padding:8px 9px}.play-hint,.play-instructions{font-size:12px}.result-panel{padding:18px;gap:11px}.result-panel h2{font-size:27px!important}.result-metrics dd{font-size:33px}.filter-chip{font-size:11px}.game-title{font-size:14px}.catalog-intro h1{font-size:31px}.theme-toggle{font-size:12px}}.game-page-fly .play-column{width:min(100%,440px,calc(72svh * 400 / 470));margin-inline:auto;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.game-page-fly .play-top{height:54px;padding:0 0 10px;border:0;background:transparent;justify-content:flex-end}.game-page-fly .playfield{height:auto;min-height:0;aspect-ratio:400 / 470;border-radius:6px;overflow:hidden;background:#79c8d3;box-shadow:0 0 0 2px #403747,0 5px #211a2c55}:root[data-theme=light] .game-page-fly .play-column{box-shadow:none}@media(max-width:450px){.game-page-fly .play-column{width:min(100%,400px)}.game-page-fly .play-actions button{min-height:40px;padding:6px 10px}}.game-page-fly .canvas-host canvas{image-rendering:pixelated}.game-page-zigzag .play-column{width:min(100%,440px,calc(72svh * 400 / 470));margin-inline:auto;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.game-page-zigzag .play-top{height:54px;padding:0 0 10px;border:0;background:transparent;justify-content:flex-end}.game-page-zigzag .playfield{height:auto;min-height:0;aspect-ratio:400 / 470;border-radius:10px;overflow:hidden;background:var(--game-bg);box-shadow:0 0 0 2px var(--border-strong),0 5px #211a2c33}:root[data-theme=light] .game-page-zigzag .play-column{box-shadow:none}@media(max-width:450px){.game-page-zigzag .play-column{width:min(100%,400px)}.game-page-zigzag .play-actions button{min-height:40px;padding:6px 10px}}.game-page-bricks .play-column{width:min(100%,460px,calc(74svh * 400 / 470));margin-inline:auto;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.game-page-bricks .play-top{height:54px;padding:0 0 10px;border:0;background:transparent;justify-content:flex-end}.game-page-bricks .playfield{height:auto;min-height:0;aspect-ratio:400 / 470;border-radius:10px;overflow:hidden;background:var(--game-bg);box-shadow:0 0 0 2px var(--border-strong),0 5px #211a2c33}:root[data-theme=light] .game-page-bricks .play-column{box-shadow:none}@media(max-width:450px){.game-page-bricks .play-column{width:min(100%,400px)}.game-page-bricks .play-actions button{min-height:44px;padding:6px 10px}}.game-page-hop .play-column{width:min(100%,460px,calc(74svh * 400 / 470));margin-inline:auto;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.game-page-hop .play-top{height:54px;padding:0 0 10px;border:0;background:transparent;justify-content:flex-end}.game-page-hop .playfield{height:auto;min-height:0;aspect-ratio:400 / 470;border-radius:10px;overflow:hidden;background:var(--game-bg);box-shadow:0 0 0 2px var(--border-strong),0 5px #211a2c33}:root[data-theme=light] .game-page-hop .play-column{box-shadow:none}@media(max-width:450px){.game-page-hop .play-column{width:min(100%,400px)}.game-page-hop .play-actions button{min-height:44px;padding:6px 10px}}.game-page-pool .play-column{width:min(100%,460px,calc(74svh * 400 / 560));margin-inline:auto;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.game-page-pool .play-top{height:54px;padding:0 0 10px;border:0;background:transparent;justify-content:flex-end}.game-page-pool .playfield{height:auto;min-height:0;aspect-ratio:400 / 560;border-radius:10px;overflow:hidden;background:var(--game-bg);box-shadow:0 0 0 2px var(--border-strong),0 5px #211a2c33}:root[data-theme=light] .game-page-pool .play-column{box-shadow:none}@media(max-width:450px){.game-page-pool .play-column{width:min(100%,400px)}.game-page-pool .play-actions button{min-height:44px;padding:6px 10px}}.pool-mode-choice{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:10px 0}.pool-mode-choice button{flex:1;min-height:44px}.pool-mode-choice button[aria-pressed=true]{background:#8cb8a7;color:#263c35;border-color:#668d7c}.pool-mode-choice p{flex-basis:100%;font-size:13px;line-height:1.5;margin:2px 0 8px!important}html.content-scroll-snap{scroll-snap-type:y proximity}html.content-scroll-snap #root>header{scroll-snap-align:start;scroll-snap-stop:normal}.content-snap-target{scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:16px}
