.game-icon{--icon-bg: #315947;--icon-ink: #f5edda;--icon-accent: #edb94b;--icon-soft: #df6a4d;display:grid;width:var(--game-icon-size, 44px);height:var(--game-icon-size, 44px);overflow:hidden;border:1px solid rgba(29,46,37,.16);border-radius:13px;background:var(--icon-bg);box-shadow:inset 0 1px #ffffff1f,0 3px #1d2e251a;place-items:center;flex:0 0 auto}.game-icon svg{width:76%;height:76%;overflow:visible}.game-icon svg *{fill:none;stroke:var(--icon-ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.game-icon svg .accent{fill:var(--icon-accent);stroke:var(--icon-accent)}.game-icon svg .soft{fill:var(--icon-soft);stroke:var(--icon-soft)}.game-icon svg .cut{fill:var(--icon-ink);stroke:var(--icon-ink)}.game-icon-2048,.game-icon-sliding-puzzle{--icon-bg: #bd792e;--icon-accent: #f0c553}.game-icon-minesweeper,.game-icon-bomber{--icon-bg: #394b46;--icon-soft: #e35d42}.game-icon-tetris,.game-icon-memory-match{--icon-bg: #68547a;--icon-accent: #f0ba47}.game-icon-sudoku,.game-icon-gomoku{--icon-bg: #29483d;--icon-accent: #df6a4d}.game-icon-breakout,.game-icon-bubble-shooter{--icon-bg: #315f78;--icon-soft: #8c6ca5}.game-icon-sokoban,.game-icon-whack-mole{--icon-bg: #765237;--icon-accent: #e0a746}.game-icon-match3,.game-icon-link-match{--icon-bg: #456a5b;--icon-accent: #efbd4d;--icon-soft: #dd6a54}.game-icon-pipe-connect,.game-icon-fishing{--icon-bg: #356c70;--icon-accent: #e9c04f}.game-icon-flappy,.game-icon-maze{--icon-bg: #416d55;--icon-accent: #efb949}.game-icon-air-shooter,.game-icon-battleship{--icon-bg: #294f61;--icon-accent: #e55d45}.game-icon-lane-racer,.game-icon-dinosaur{--icon-bg: #565b52;--icon-accent: #e8b84a}.game-icon-flight-chess{--icon-bg: #567c8e;--icon-accent: #e8654d}.game-icon-bullet-survivor{--icon-bg: #173f3b;--icon-accent: #ed674d;--icon-soft: #e9bc4e}.game-icon-chinese-chess{--icon-bg: #c89452;--icon-ink: #432b1d;--icon-accent: #b9362a}.game-icon-pinball{--icon-bg: #173f49;--icon-accent: #edbd4d;--icon-soft: #df654d}.game-icon-watermelon-merge{--icon-bg: #487c54;--icon-accent: #edbf4f;--icon-soft: #e85e55}.game-icon-chinese-chess svg .board{fill:#dfb36f;stroke:var(--icon-ink)}.game-icon-chinese-chess svg .grid{stroke:var(--icon-ink);stroke-width:1.6}.game-icon-chinese-chess svg .black-piece{fill:#30251e;stroke:#ead4aa}.game-icon-chinese-chess svg .red-piece{fill:#b9362a;stroke:#f1d7a7}html[data-theme=dark] .game-icon{border-color:#ffffff24;box-shadow:inset 0 1px #ffffff1f,0 3px #00000038}.game-card [aria-hidden=true]>img{display:block;width:100%;height:100%;object-fit:cover}.snake-art,.art-2048,.mine-art,.tetris-art,.sudoku-art,.breakout-art,.sokoban-art,.match3-art,.link-match-art,.pipe-connect-art,.gomoku-art,.memory-art,.flappy-art,.maze-art,.whack-art,.sliding-art,.air-art,.racer-art,.fishing-art,.flight-chess-art,.dinosaur-art,.battleship-art,.bubble-shooter-art,.bullet-survivor-art,.bomber-art,.chinese-chess-art,.pinball-art,.watermelon-art{position:relative;height:190px;overflow:hidden;background:#e9dfc9}.game-card-2048{background:#9d4b35}.game-card-minesweeper{background:#394b67}.game-card-tetris{background:#583f72}.game-card-sudoku{background:#315f78}.game-card-breakout{background:#8f493a}.game-card-sokoban{background:#49604f}.game-card-match3{background:#4f5840}.game-card-link-match{background:#355b5f}.game-card-pipe-connect{background:#315c60}.game-card-gomoku{background:#382e27}.game-card-memory-match{background:#67527b}.game-card-flappy{background:#356d68}.game-card-maze{background:#315a46}.game-card-whack-mole{background:#79543a}.game-card-sliding-puzzle{background:#3f6579}.game-card-air-shooter{background:#284d60}.game-card-lane-racer{background:#526747}.game-card-fishing{background:#315c60}.game-card-dinosaur{background:#4f5653}.game-card-battleship{background:#274b5a}.game-card-bubble-shooter{background:#674f78}.game-card-bullet-survivor{background:#173e42}.game-card-bomber{background:#3f5439}.game-card-chinese-chess{background:#4a3020}.game-card-pinball{background:#173d47}.game-card-watermelon-merge{background:#4d7650}html[data-theme=dark] .flight-chess-art{filter:brightness(.78)}.game-directory-trigger{grid-template:auto auto/38px auto!important;min-width:156px!important;padding:9px 14px 9px 10px!important;border:0!important;border-radius:18px 18px 4px;background:#274d36!important;color:#f6eedf!important;box-shadow:5px 6px #1d2e2533!important;transition:transform .18s ease,box-shadow .18s ease}.game-directory-trigger:hover{transform:translateY(-2px);box-shadow:5px 8px #1d2e252e!important}.game-directory-trigger:focus-visible{outline:3px solid #dca640;outline-offset:3px}.game-directory-trigger>span{width:38px;height:38px;grid-template-columns:repeat(2,8px)!important;grid-template-rows:repeat(2,8px)!important;align-content:center;justify-content:center;gap:3px!important;border-radius:12px;background:#ffffff1a}.game-directory-trigger>span i{width:8px!important;height:8px!important;border-radius:3px;background:#f5e8cc!important}.game-directory-trigger>span i:nth-child(2),.game-directory-trigger>span i:nth-child(3){background:#e45a3a!important}.game-directory-trigger strong{color:inherit;font-size:12px!important;letter-spacing:.1em!important}.game-directory-trigger small{color:#ffffff94!important;font-size:7px!important}.game-directory-backdrop{align-items:center!important;padding:24px!important;background:#0b1711b8!important;-webkit-backdrop-filter:blur(8px) saturate(.8)!important;backdrop-filter:blur(8px) saturate(.8)!important}.game-directory{width:min(100%,548px)!important;max-height:min(88dvh,790px)!important;padding:0 22px 24px!important;border:1px solid rgba(29,46,37,.2)!important;border-radius:24px 24px 8px;background:linear-gradient(rgba(29,46,37,.035) 1px,transparent 1px) 0 0/100% 34px,#f2ead9!important;box-shadow:12px 14px #07100b52!important;scrollbar-gutter:stable}.game-directory>header{position:sticky;z-index:4;top:0;align-items:center!important;margin:0 -22px;padding:21px 22px 17px!important;border-bottom:1px solid rgba(29,46,37,.14)!important;border-radius:24px 24px 0 0;background:#f2ead9f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-directory>header span{color:#e45a3a!important;font-size:7px!important;letter-spacing:.24em!important}.game-directory>header h2{margin-top:5px!important;font-size:25px!important;letter-spacing:.1em!important}.game-directory>header button{width:40px!important;height:40px!important;border:0!important;border-radius:13px!important;background:#1d2e2512!important;color:#1d2e25;transition:color .15s ease,background .15s ease,transform .15s ease}.game-directory>header button:hover{background:#e45a3a!important;color:#fff;transform:rotate(4deg)}.game-directory>header button:focus-visible{outline:3px solid rgba(228,90,58,.35);outline-offset:2px}.directory-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding-top:18px}.directory-search{display:grid;grid-template-columns:20px minmax(0,1fr) 28px;align-items:center;min-width:0;height:42px;padding:0 7px 0 11px;border:1px solid rgba(29,46,37,.16);border-radius:14px 14px 5px;background:#ffffff6b}.directory-search>svg{width:17px;fill:none;stroke:#1d2e2580;stroke-linecap:round;stroke-width:1.7}.directory-search input{min-width:0;height:100%;border:0;outline:0;background:transparent;color:#1d2e25;font:10px var(--font-sans)}.directory-search input::placeholder{color:#1d2e2566}.directory-search input::-webkit-search-cancel-button{display:none}.directory-search>button{display:grid;width:26px;height:26px;padding:0;border:0;border-radius:9px;background:#1d2e2512;color:#1d2e259e;font-size:17px;cursor:pointer;place-items:center}.directory-search:focus-within{border-color:#e45a3a;box-shadow:0 0 0 3px #e45a3a1c}.directory-random{display:flex;align-items:center;gap:7px;height:42px;padding:0 13px;border:0;border-radius:14px 14px 5px;background:#274d36;color:#fff;font:700 9px var(--font-sans);cursor:pointer;box-shadow:0 3px #1d2e2526}.directory-random svg{width:17px;fill:none;stroke:#dca640;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.directory-random:hover:not(:disabled){background:#315f42;transform:translateY(-1px)}.directory-random:focus-visible{outline:3px solid rgba(228,90,58,.3);outline-offset:2px}.directory-random:disabled{opacity:.4;cursor:default}.directory-categories{display:flex;gap:6px;overflow-x:auto;padding:11px 1px 3px;scrollbar-width:none}.directory-categories::-webkit-scrollbar{display:none}.directory-categories button{display:flex;align-items:center;gap:6px;min-width:max-content;height:30px;padding:0 9px;border:1px solid rgba(29,46,37,.13);border-radius:11px;background:#ffffff47;color:#1d2e259e;font:700 8px var(--font-sans);cursor:pointer}.directory-categories button small{display:grid;min-width:16px;height:16px;padding:0 4px;border-radius:7px;background:#1d2e2512;color:#1d2e2575;font-size:6px;place-items:center}.directory-categories button.active{border-color:#e45a3a;background:#e45a3a;color:#fff}.directory-categories button.active small{background:#fff3;color:#fff}.directory-categories button:focus-visible{outline:3px solid rgba(228,90,58,.25);outline-offset:2px}.directory-section{padding-top:22px!important}.directory-label{align-items:center!important;margin-bottom:12px!important}.directory-label span{display:flex;align-items:center;gap:8px;font-size:12px!important;letter-spacing:.06em}.directory-label span:before{width:7px;height:7px;border-radius:2px;background:#e45a3a;content:"";transform:rotate(45deg)}.directory-label small{padding:4px 7px;border-radius:9px;background:#1d2e250f;color:#1d2e257a!important;font-size:6px!important}.directory-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;overflow:visible;padding:3px 0 2px}.continue-game-card{position:relative;min-width:0}.continue-game-card .directory-game-card{border-color:#274d364d;background:linear-gradient(135deg,#274d3614,#ffffff7a)}.continue-game-age{position:absolute;z-index:1;right:31px;bottom:7px;display:inline-flex;align-items:center;gap:4px;color:#274d36c7;font:700 7px var(--font-mono);letter-spacing:.02em;pointer-events:none}.continue-game-age i{width:5px;height:5px;border-radius:50%;background:#274d36;box-shadow:0 0 0 3px #274d361c}.directory-game-card{position:relative;min-width:0;min-height:64px;border:1px solid rgba(29,46,37,.12);border-radius:16px 16px 5px;background:#ffffff5c;box-shadow:0 3px #1d2e2511;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.directory-game-card:hover{border-color:#e45a3a94;background:#ffffff9e;transform:translateY(-2px);box-shadow:0 5px #1d2e2514}.directory-game-launch{display:grid;width:100%;min-height:62px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px;padding:8px 27px 8px 8px;border:0;border-radius:inherit;background:transparent;color:#1d2e25;text-align:left;cursor:pointer}.directory-game-launch:focus-visible{outline:3px solid rgba(228,90,58,.3);outline-offset:2px}.directory-game-launch>.game-icon{--game-icon-size: 40px;grid-column:1}.directory-game-copy{display:block;min-width:0}.directory-game-copy strong,.directory-game-copy small{display:block;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.directory-game-copy strong{font:800 11px var(--font-serif);letter-spacing:.04em}.directory-game-copy small{margin-top:4px;color:#1d2e257a;font-size:7px;letter-spacing:.04em}.directory-game-number{position:absolute;top:6px;right:6px;color:#1d2e2547;font:700 6px var(--font-mono)}.directory-favorite{position:absolute;z-index:2;right:5px;bottom:5px;display:grid;width:23px;height:23px;padding:0;border:0;border-radius:8px;background:#1d2e250f;color:#1d2e2561;cursor:pointer;place-items:center}.directory-favorite svg{width:14px;fill:none;stroke:currentColor;stroke-linejoin:round;stroke-width:1.7}.directory-favorite:hover,.directory-favorite:focus-visible{background:#dca6402e;color:#a36c13}.directory-favorite:focus-visible{outline:2px solid rgba(220,166,64,.5);outline-offset:1px}.directory-favorite.active{background:#dca64033;color:#b67913}.directory-favorite.active svg{fill:currentColor}.directory-all-games{padding-top:3px}.directory-empty-state{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;border:1px dashed rgba(29,46,37,.18);border-radius:14px 14px 5px;background:#ffffff2e}.directory-empty-state img{display:block;width:76px;height:48px;object-fit:contain}.directory-empty-state strong,.directory-empty-state p{display:block;margin:0}.directory-empty-state strong{font:800 10px var(--font-serif)}.directory-empty-state p{margin-top:4px;color:#1d2e2585;font-size:7px;line-height:1.45}.directory-empty-state button{padding:7px 9px;border:1px solid rgba(29,46,37,.18);border-radius:9px;background:transparent;color:#1d2e25;font:700 7px var(--font-sans);cursor:pointer}.directory-empty{display:flex;align-items:center;min-height:190px;justify-content:center;padding:24px;border:1px dashed rgba(29,46,37,.2);border-radius:18px 18px 6px;background:#fff3;flex-direction:column;text-align:center}.directory-empty>img{display:block;width:120px;height:75px;margin-bottom:8px;object-fit:contain}.directory-empty strong{font:800 13px var(--font-serif);letter-spacing:.06em}.directory-empty p{margin:6px 0 13px;color:#1d2e2580;font-size:8px}.directory-empty button{padding:8px 13px;border:1px solid rgba(29,46,37,.18);border-radius:10px;background:transparent;color:#1d2e25;font:700 8px var(--font-sans);cursor:pointer}.directory-enter-active .game-directory,.directory-leave-active .game-directory{transition:transform .24s cubic-bezier(.2,.8,.2,1)!important}.directory-enter-from .game-directory,.directory-leave-to .game-directory{transform:translateY(24px) scale(.98)!important}html[data-theme=dark] .game-directory-trigger{background:#b84d39!important;box-shadow-color:#09100c!important}html[data-theme=dark] .game-directory{border-color:#ffffff24!important;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px) 0 0/100% 34px,#1d2b24!important;color:#eee4d1!important}html[data-theme=dark] .game-directory>header{border-color:#ffffff1f!important;background:#1d2b24f5}html[data-theme=dark] .game-directory>header button{background:#ffffff14!important;color:#eee4d1}html[data-theme=dark] .directory-label small{background:#ffffff12;color:#ffffff7a!important}html[data-theme=dark] .directory-search{border-color:#ffffff21;background:#09130e3d}html[data-theme=dark] .directory-search>svg{stroke:#ffffff80}html[data-theme=dark] .directory-search input{color:#eee4d1}html[data-theme=dark] .directory-search input::placeholder{color:#fff6}html[data-theme=dark] .directory-search>button{background:#ffffff14;color:#ffffff9e}html[data-theme=dark] .directory-random{background:#b84d39}html[data-theme=dark] .directory-categories button{border-color:#ffffff1c;background:#09130e38;color:#ffffff9e}html[data-theme=dark] .directory-categories button small{background:#ffffff14;color:#ffffff75}html[data-theme=dark] .directory-categories button.active{border-color:#e45a3a;background:#e45a3a;color:#fff}html[data-theme=dark] .directory-game-card{border-color:#ffffff1c!important;background:#09130e3d!important;box-shadow-color:rgba(0,0,0,.2)}html[data-theme=dark] .directory-game-card:hover{border-color:#e45a3ab3!important;background:#e45a3a17!important}html[data-theme=dark] .continue-game-card .directory-game-card{border-color:#274d365c!important;background:linear-gradient(135deg,#274d3621,#09130e3d)!important}html[data-theme=dark] .continue-game-age{color:#b9dfc9c7}html[data-theme=dark] .directory-game-launch{color:#eee4d1}html[data-theme=dark] .directory-game-copy small{color:#ffffff7a!important}html[data-theme=dark] .directory-game-number{color:#ffffff57!important}html[data-theme=dark] .directory-favorite{background:#ffffff12;color:#fff6}html[data-theme=dark] .directory-empty,html[data-theme=dark] .directory-empty-state{border-color:#ffffff24;background:#09130e2e}html[data-theme=dark] .directory-empty-state p{color:#ffffff7a}html[data-theme=dark] .directory-empty-state button{border-color:#ffffff2e;color:#eee4d1}html[data-theme=dark] .directory-empty p{color:#ffffff7a}html[data-theme=dark] .directory-empty button{border-color:#ffffff2e;color:#eee4d1}@media(max-width:560px){.game-directory-backdrop{align-items:flex-end!important;padding:0!important}.game-directory{width:100%!important;max-height:91dvh!important;padding-right:15px!important;padding-bottom:max(20px,env(safe-area-inset-bottom))!important;padding-left:15px!important;border-right:0!important;border-bottom:0!important;border-left:0!important;border-radius:24px 24px 0 0;box-shadow:0 -8px 30px #07100b4d!important}.game-directory>header{margin-right:-15px;margin-left:-15px;padding-right:17px!important;padding-left:17px!important}.directory-toolbar{grid-template-columns:minmax(0,1fr) 44px}.directory-random{justify-content:center;width:44px;padding:0;font-size:0}.directory-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.directory-empty-state{grid-template-columns:64px minmax(0,1fr)}.directory-empty-state img{width:64px}.directory-empty-state button{grid-column:2;justify-self:start}}@media(max-width:370px){.directory-card-grid{grid-template-columns:1fr!important}}@media(prefers-reduced-motion:reduce){.game-directory-trigger,.directory-game-card,.directory-random{transition:none!important}}.settings-panel{max-height:min(88dvh,760px);overflow-y:auto}.settings-data-group{margin-top:22px;border-top:1px solid rgba(30,50,39,.16)}.settings-data-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px}.settings-data-actions button{min-height:76px;padding:12px;border:1px solid rgba(30,50,39,.18);background:#ffffff40;color:inherit;text-align:left;transition:border-color .18s,background .18s}.settings-data-actions strong,.settings-data-actions small{display:block}.settings-data-actions strong{font:700 11px var(--font-serif)}.settings-data-actions small{margin-top:6px;color:#1e322785;font-family:var(--font-sans);font-size:8px;line-height:1.55}.settings-data-actions button.confirming{border-color:#c45c3c;background:#c45c3c1a}.settings-data-actions button.confirming strong{color:#a74329}.settings-data-status{min-height:15px;margin:10px 0 0;color:#4d7559;font-family:var(--font-sans);font-size:9px}html[data-theme=dark] .settings-data-group{border-color:#eadfca29}html[data-theme=dark] .settings-data-actions button{border-color:#eadfca2b;background:#0e16113d}html[data-theme=dark] .settings-data-actions small{color:#eadfca85}html[data-theme=dark] .settings-data-actions button.confirming{border-color:#db7b59;background:#db7b591f}html[data-theme=dark] .settings-data-actions button.confirming strong{color:#e79576}html[data-theme=dark] .settings-data-status{color:#8fbd98}@media(max-width:420px){.settings-data-actions{grid-template-columns:1fr}.settings-data-actions button{min-height:62px}}@font-face{font-family:"Arcade Serif";src:local("Songti SC"),local("STSong"),local("SimSun"),local("Noto Serif CJK SC"),local("Noto Serif SC");font-style:normal;font-weight:700 900}@font-face{font-family:Arcade Mono;src:local("SFMono-Regular"),local("SF Mono"),local("Cascadia Mono"),local("Consolas"),local("Liberation Mono"),local("Courier New");font-style:normal;font-weight:400 700}:root{--font-serif: "Noto Serif SC", "Arcade Serif", "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", sans-serif;--font-mono: "Space Mono", "Arcade Mono", "SFMono-Regular", "Cascadia Mono", Consolas, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box;scrollbar-color:rgba(39,77,54,.62) rgba(29,46,37,.08);scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#1d2e2512}*::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#274d369e;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:#e45a3a}*::-webkit-scrollbar-corner{background:transparent}html{min-height:100%;overflow-y:auto;scrollbar-gutter:stable both-edges}body,#app{min-height:100%}body{margin:0;color:#1d2e25;background:#efe8d8;font-family:var(--font-mono);font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body :where(p,small,button){font-family:var(--font-sans)}body :where(.game-number,.eyebrow,[class*=dashboard] strong,[class*=stats] strong,[class*=scoreboard] strong,[class*=timer] b){font-family:var(--font-mono)}body :where(h1,h2,h3,h4,.game-info h4,[class*=intro] strong,[class*=overlay] h2,[class*=panel] h2){font-family:var(--font-serif)}button{color:inherit;font:inherit}button:focus-visible{outline:3px solid #e45a3a;outline-offset:3px}.app-shell{position:relative;min-height:100dvh;overflow:hidden}.home-page{width:100%}.home-view{width:min(100%,520px);min-height:100dvh;margin:0 auto;padding:max(24px,env(safe-area-inset-top)) 22px max(28px,env(safe-area-inset-bottom))}.route-feedback{position:absolute;z-index:40;inset:0;min-height:100dvh;background:#efe8d8f0;color:#1d2e25;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.route-loading{display:grid;align-content:center;justify-items:center;gap:16px;padding:24px}.route-loading>i{width:32px;height:32px;border:3px solid rgba(39,77,54,.2);border-top-color:#e45a3a;border-radius:50%;animation:route-loading-spin .8s linear infinite}.route-loading>strong{font:900 15px var(--font-serif);letter-spacing:.1em}.route-error{display:grid;align-content:center;padding:28px}.route-error>div{width:min(100%,390px);margin:0 auto;padding:25px;border:1px solid rgba(29,46,37,.22);background:#efe8d8;box-shadow:8px 8px #1d2e2529}.route-error span,.route-error strong,.route-error small{display:block}.route-error span{color:#e45a3a;font-size:8px;font-weight:700;letter-spacing:.2em}.route-error strong{margin-top:7px;font:900 21px var(--font-serif);letter-spacing:.06em}.route-error small{margin-top:10px;color:#1d2e2599;font-size:10px;line-height:1.7}.route-error-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.route-error-actions button{padding:9px 13px;border:1px solid rgba(29,46,37,.24);background:transparent;font-size:10px;font-weight:700;cursor:pointer}.route-error-actions button.primary{border-color:#e45a3a;background:#e45a3a;color:#fff}@keyframes route-loading-spin{to{transform:rotate(360deg)}}.word-cloud-panel{width:100%;margin:0 0 52px;padding:20px;border:1px solid rgba(29,46,37,.18);background:#e6ddca;box-shadow:7px 7px #d2c5af}.word-cloud-panel>header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid rgba(29,46,37,.16)}.word-cloud-panel>header span{color:#e45a3a;font-size:8px;font-weight:700;letter-spacing:.14em}.word-cloud-panel>header h2{margin:5px 0 0;font:900 18px var(--font-serif);letter-spacing:.08em}.word-cloud-panel>header>i{width:10px;height:10px;margin-top:5px;background:#e45a3a;transform:rotate(45deg)}.word-cloud{position:relative;height:250px;overflow:hidden;margin-top:16px;border:1px solid rgba(39,77,54,.13);background-color:#f5efdf99;background-image:radial-gradient(rgba(39,77,54,.14) 1px,transparent 1px);background-size:17px 17px}.word-cloud>span{position:absolute;z-index:2;left:var(--x);top:var(--y);font-size:var(--size);font-weight:700;line-height:1;white-space:nowrap;cursor:default;transform:translate(-50%,-50%) rotate(var(--rotate));transition:color .2s,transform .2s}.word-cloud>span:hover{z-index:3;color:#e45a3a;transform:translate(-50%,-50%) rotate(0) scale(1.12)}.word-cloud .tone-green{color:#274d36}.word-cloud .tone-orange{color:#e45a3a}.word-cloud .tone-gold{color:#bd8127}.word-cloud .tone-muted{color:#1d2e2578}.cloud-orbit{position:absolute;top:50%;left:50%;width:180px;height:180px;border:1px dashed rgba(39,77,54,.17);border-radius:50%;transform:translate(-50%,-50%) rotate(-12deg)}.cloud-dot{position:absolute;z-index:1;width:7px;height:7px;background:#e7b544;transform:rotate(45deg)}.dot-one{top:17%;left:38%}.dot-two{right:11%;bottom:24%;background:#274d36}.word-cloud-panel>footer{justify-content:space-between;padding-top:15px;color:#1d2e2580;letter-spacing:0}.word-cloud-panel>footer span{font-size:8px}.word-cloud-panel>footer span i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#e45a3a}.word-cloud-panel>footer p{margin:0;font-family:var(--font-sans);font-size:9px}.home-header,.game-header{display:flex;align-items:center;justify-content:space-between}.brand-mark{width:43px;height:43px;flex:0 0 auto}.brand-copy{flex:1;margin-left:18px}.brand-copy p,.game-header span{margin:0 0 2px;color:#e45a3a;font-size:9px;font-weight:700;letter-spacing:.2em}.brand-copy h1,.game-header h1{margin:0;font:900 20px/1.1 var(--font-serif);letter-spacing:.12em}.icon-button,.round-button{display:grid;width:42px;height:42px;padding:10px;border:1px solid rgba(29,46,37,.25);border-radius:50%;background:transparent;place-items:center}.icon-button svg,.round-button svg{width:100%;fill:none;stroke:currentColor;stroke-width:1.8}.round-button:disabled{opacity:.35}.settings-backdrop{position:fixed;z-index:20;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:20px;background:#111b168f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-panel{width:min(100%,470px);padding:24px;border:1px solid rgba(29,46,37,.2);background:#efe8d8;box-shadow:8px 8px #111b1647}.settings-panel>header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid rgba(29,46,37,.18)}.settings-panel>header span{color:#e45a3a;font-size:8px;font-weight:700;letter-spacing:.2em}.settings-panel>header h2{margin:5px 0 0;font:900 22px var(--font-serif);letter-spacing:.08em}.settings-panel>header button{display:grid;width:38px;height:38px;padding:9px;border:1px solid rgba(29,46,37,.22);border-radius:50%;background:transparent;place-items:center}.settings-panel>header svg{width:100%;fill:none;stroke:currentColor;stroke-width:1.8}.settings-group{padding-top:22px}.settings-label>span,.settings-label>small{display:block}.settings-label>span{font:700 13px var(--font-serif)}.settings-label>small{margin-top:4px;color:#1d2e2580;font-family:var(--font-sans);font-size:9px}.theme-options{display:grid;gap:9px;margin-top:15px}.theme-options>button{display:flex;align-items:center;gap:13px;width:100%;padding:11px;border:1px solid rgba(29,46,37,.15);background:#ffffff40;text-align:left;transition:border-color .18s,background .18s}.theme-options>button.active{border-color:#e45a3a;background:#e45a3a12}.theme-options>button>span{flex:1;font-family:var(--font-sans);font-size:12px;font-weight:700}.theme-options>button small{display:block;margin-top:3px;color:#1d2e257a;font-size:8px;font-weight:400}.theme-options>button em{width:12px;height:12px;border:1px solid rgba(29,46,37,.3);border-radius:50%}.theme-options>button.active em{border:3px solid #efe8d8;background:#e45a3a;box-shadow:0 0 0 1px #e45a3a}.theme-preview{display:flex;width:48px;height:34px;overflow:hidden;border:1px solid rgba(29,46,37,.2);background:#efe8d8}.theme-preview b{width:50%;height:100%;background:#efe8d8}.theme-preview b:last-child{background:#274d36}.theme-preview-dark,.theme-preview-dark b{background:#17221c}.theme-preview-dark b:last-child{background:#e1a744}.theme-preview-system b:first-child{background:#efe8d8}.theme-preview-system b:last-child{background:#17221c}.settings-panel>footer{justify-content:space-between;padding-top:24px}.settings-enter-active,.settings-leave-active{transition:opacity .2s}.settings-enter-active .settings-panel,.settings-leave-active .settings-panel{transition:transform .22s ease}.settings-enter-from,.settings-leave-to{opacity:0}.settings-enter-from .settings-panel,.settings-leave-to .settings-panel{transform:translateY(30px)}html.directory-open,html.modal-open{overflow:hidden}.game-directory-trigger{position:fixed;z-index:12;right:max(18px,(100vw - 570px) / 2 + 18px);bottom:max(18px,env(safe-area-inset-bottom));display:grid;grid-template:auto auto/34px auto;align-items:center;column-gap:10px;min-width:142px;padding:10px 13px;border:1px solid rgba(29,46,37,.2);background:#f1e9d8;color:#1d2e25;box-shadow:5px 5px #1d2e252e;cursor:pointer;transform-origin:right bottom}.game-directory-trigger>span{display:grid;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);grid-row:1/3;gap:3px}.game-directory-trigger>span i{width:7px;height:7px;background:#274d36}.game-directory-trigger>span i:nth-child(2),.game-directory-trigger>span i:nth-child(3){background:#e45a3a}.game-directory-trigger strong,.game-directory-trigger small{display:block;text-align:left}.game-directory-trigger strong{align-self:end;font:700 11px var(--font-serif);letter-spacing:.08em}.game-directory-trigger small{align-self:start;margin-top:2px;color:#1d2e2580;font-size:6px;letter-spacing:.14em}.directory-trigger-enter-active{transition:opacity .2s ease,transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease}.directory-trigger-leave-active{transition:opacity .14s ease,transform .14s ease,box-shadow .14s ease}.directory-trigger-enter-from,.directory-trigger-leave-to{opacity:0;box-shadow:0 0 0 transparent;transform:scale(.86)}.game-directory-backdrop{position:fixed;z-index:30;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:20px;background:#111b169e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.game-directory{width:min(100%,500px);max-height:min(84dvh,720px);overflow-y:auto;padding:22px;border:1px solid rgba(29,46,37,.2);background:#efe8d8;color:#1d2e25;box-shadow:8px 8px #111b164d}.game-directory>header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid rgba(29,46,37,.18)}.game-directory>header span{color:#e45a3a;font-size:8px;font-weight:700;letter-spacing:.2em}.game-directory>header h2{margin:4px 0 0;font:900 22px var(--font-serif);letter-spacing:.08em}.game-directory>header button{display:grid;width:37px;height:37px;padding:0;border:1px solid rgba(29,46,37,.22);border-radius:50%;background:transparent;font-size:22px;line-height:1;cursor:pointer;place-items:center}.directory-section{padding-top:18px}.directory-label{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:9px}.directory-label span{font:700 11px var(--font-serif)}.directory-label small{color:#1d2e256b;font-size:6px;letter-spacing:.16em}.directory-enter-active,.directory-leave-active{transition:opacity .2s}.directory-enter-active .game-directory,.directory-leave-active .game-directory{transition:transform .22s ease}.directory-enter-from,.directory-leave-to{opacity:0}.directory-enter-from .game-directory,.directory-leave-to .game-directory{transform:translateY(32px)}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px;border-bottom:1px solid rgba(29,46,37,.25)}.section-title h3{margin:0 0 10px;font:900 17px var(--font-serif)}.section-title span{margin-bottom:10px;color:#1d2e258c;font-size:9px}.game-card{width:100%;overflow:hidden;padding:0;border:0;border-radius:2px;background:#274d36;color:#f5eedf;text-align:left;box-shadow:9px 9px #d9ceba;cursor:pointer;content-visibility:auto;contain-intrinsic-size:auto 320px}.game-card+.game-card{margin-top:30px}.game-info{display:flex;align-items:flex-end;gap:16px;padding:22px}.game-info>div{flex:1}.game-number{color:#edbd52;font-size:8px;letter-spacing:.15em}.game-info h4{margin:7px 0;font:900 27px var(--font-serif);letter-spacing:.1em}.game-info p{margin:0;color:#ffffffb3;font-family:var(--font-sans);font-size:11px;line-height:1.7}.play-button{display:grid;width:46px;height:46px;flex:0 0 auto;border-radius:50%;background:#e45a3a;place-items:center}.play-button svg{width:24px;fill:#fff}.fish-art-image{display:block;width:100%;height:auto;object-fit:contain}.coming-card{display:flex;align-items:center;gap:15px;margin-top:24px;padding:18px;border:1px dashed rgba(29,46,37,.32)}.coming-card>span{display:grid;width:42px;height:42px;border-radius:50%;background:#1d2e2514;font-size:24px;place-items:center}.coming-card strong,.coming-card small{display:block}.coming-card strong{font:700 13px var(--font-serif)}.coming-card small{margin-top:5px;color:#1d2e2580;font-size:9px}footer{display:flex;align-items:center;justify-content:center;gap:13px;padding-top:48px;color:#1d2e2559;font-size:7px;letter-spacing:.18em}footer i{width:4px;height:4px;border-radius:50%;background:#e45a3a}.game-header>div{text-align:center}.game-header h1{letter-spacing:.16em}.scoreboard{display:flex;justify-content:center;gap:34px;margin:30px auto 22px}.scoreboard div{min-width:82px;text-align:center}.scoreboard span{display:block;margin-bottom:3px;color:#1d2e258c;font-family:var(--font-sans);font-size:10px}.scoreboard strong{font-size:27px;line-height:1}.scoreboard i{width:1px;background:#1d2e2533;transform:rotate(16deg)}.restart-button svg{stroke-linecap:round;stroke-linejoin:round}.page-enter-active,.page-leave-active{transition:opacity .2s,transform .2s}.page-enter-from{opacity:0;transform:translate(12px)}.page-leave-to{opacity:0;transform:translate(-12px)}.overlay-enter-active,.overlay-leave-active{transition:opacity .18s}.overlay-enter-from,.overlay-leave-to{opacity:0}html[data-theme=dark] *{scrollbar-color:rgba(215,169,87,.72) rgba(8,13,10,.35)}html[data-theme=dark] *::-webkit-scrollbar-track{background:#080d0a52}html[data-theme=dark] *::-webkit-scrollbar-thumb{background-color:#d7a957b8}html[data-theme=dark] *::-webkit-scrollbar-thumb:hover{background-color:#e45a3a}html[data-theme=dark] body{color:#eadfca;background:#121b16}html[data-theme=dark] .app-shell{background:#19241e}html[data-theme=dark] .route-feedback{background:#19241ef0;color:#eadfca}html[data-theme=dark] .route-error>div{border-color:#eadfca33;background:#202e26;box-shadow-color:rgba(8,12,10,.55)}html[data-theme=dark] .route-error small{color:#eadfca9e}html[data-theme=dark] .route-error-actions button{border-color:#eadfca42}html[data-theme=dark] .icon-button,html[data-theme=dark] .round-button,html[data-theme=dark] .settings-panel>header button{border-color:#eadfca47}html[data-theme=dark] .section-title span,html[data-theme=dark] .scoreboard span{color:#eadfca9e}html[data-theme=dark] .section-title{border-color:#eadfca33}html[data-theme=dark] .word-cloud-panel{border-color:#eadfca24;background:#202e26;box-shadow-color:#101813}html[data-theme=dark] .word-cloud-panel>header{border-color:#eadfca29}html[data-theme=dark] .word-cloud{border-color:#eadfca1f;background-color:#111a15b3;background-image:radial-gradient(rgba(234,223,202,.14) 1px,transparent 1px)}html[data-theme=dark] .word-cloud .tone-green{color:#75a880}html[data-theme=dark] .word-cloud .tone-gold{color:#e0ae4c}html[data-theme=dark] .word-cloud .tone-muted{color:#eadfca7a}html[data-theme=dark] .cloud-orbit{border-color:#eadfca29}html[data-theme=dark] .word-cloud-panel>footer{color:#eadfca7a}html[data-theme=dark] .game-card{box-shadow-color:#101813}html[data-theme=dark] .settings-panel{border-color:#eadfca33;background:#202e26;color:#eadfca;box-shadow-color:rgba(8,12,10,.55)}html[data-theme=dark] .game-directory-trigger{border-color:#eadfca33;background:#26362d;color:#eadfca;box-shadow-color:#0b110d}html[data-theme=dark] .game-directory-trigger small{color:#eadfca80}html[data-theme=dark] .game-directory-trigger>span i{background:#78a985}html[data-theme=dark] .game-directory{border-color:#eadfca33;background:#202e26;color:#eadfca;box-shadow-color:rgba(8,12,10,.6)}html[data-theme=dark] .game-directory>header{border-color:#eadfca2e}html[data-theme=dark] .game-directory>header button{border-color:#eadfca3d}html[data-theme=dark] .directory-label small{color:#eadfca6b}html[data-theme=dark] .settings-panel>header{border-color:#eadfca2e}html[data-theme=dark] .settings-label>small,html[data-theme=dark] .theme-options>button small{color:#eadfca80}html[data-theme=dark] .theme-options>button{border-color:#eadfca26;background:#0e16113d}html[data-theme=dark] .theme-options>button.active{border-color:#e45a3a;background:#e45a3a1f}html[data-theme=dark] .theme-options>button em{border-color:#eadfca59}html[data-theme=dark] .theme-options>button.active em{border-color:#202e26}html[data-theme=dark] footer{color:#eadfca59}@media(min-width:700px){body{background:#dcd1bd}.app-shell{width:570px;margin:0 auto;background:#efe8d8;box-shadow:0 0 70px #1d2e2524}.home-view{padding-right:35px;padding-left:35px}html[data-theme=dark] body{background:#0d1410}html[data-theme=dark] .app-shell{background:#19241e;box-shadow:0 0 70px #05080680}}@media(max-width:420px){.route-error{padding:18px}.route-error>div{padding:21px}.route-error-actions{flex-direction:column-reverse}.route-error-actions button{width:100%}.game-directory-trigger{right:14px;bottom:max(14px,env(safe-area-inset-bottom));min-width:0;grid-template-columns:28px auto;padding:9px 11px}.game-directory-trigger>span{grid-template-columns:repeat(2,6px);grid-template-rows:repeat(2,6px)}.game-directory-trigger>span i{width:6px;height:6px}.game-directory-backdrop{padding:12px}.game-directory{padding:18px}}@media(prefers-reduced-motion:reduce){.route-loading>i{animation:none}.directory-trigger-enter-active,.directory-trigger-leave-active{transition:none}}.pwa-notice{position:fixed;z-index:50;right:max(16px,(100vw - 570px) / 2 + 16px);bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:11px;width:min(100vw - 32px,430px);padding:12px 13px;border:1px solid rgba(29,46,37,.22);background:#f3ebda;color:#1d2e25;box-shadow:6px 6px #1d2e2533;font-family:var(--font-sans)}.pwa-notice>i{width:9px;height:9px;flex:0 0 auto;background:#e45a3a;transform:rotate(45deg)}.pwa-notice-art{display:block;width:38px;height:30px;flex:0 0 auto;object-fit:contain}.pwa-notice>div{min-width:0;flex:1}.pwa-notice strong,.pwa-notice small{display:block}.pwa-notice strong{font-size:11px}.pwa-notice small{margin-top:3px;color:#1d2e258f;font-size:8px;line-height:1.4}.pwa-notice button{padding:8px 10px;border:1px solid rgba(29,46,37,.22);background:transparent;font-size:9px;font-weight:700;cursor:pointer}.pwa-notice button.primary{border-color:#e45a3a;background:#e45a3a;color:#fff}.pwa-notice-enter-active,.pwa-notice-leave-active{transition:opacity .2s ease,transform .2s ease}.pwa-notice-enter-from,.pwa-notice-leave-to{opacity:0;transform:translateY(14px)}html[data-theme=dark] .pwa-notice{border-color:#ffffff2e;background:#223129;color:#f0e8d7;box-shadow:6px 6px #00000047}html[data-theme=dark] .pwa-notice small{color:#ffffff94}html[data-theme=dark] .pwa-notice button{border-color:#ffffff3d}@media(max-width:520px){.pwa-notice{right:16px;left:16px;width:auto}.pwa-update{flex-wrap:wrap}.pwa-update>div{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.pwa-notice-enter-active,.pwa-notice-leave-active{transition:none}}
