:root{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#203027;background:#f7f8f4;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}.shell{width:min(100% - 40px,960px);margin:auto}.site-header{height:76px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dfe5dc}.brand-link{border:0;background:none;padding:0;font-size:25px;font-weight:800;letter-spacing:-1px;color:#203027}.brand-link span,.home-heading h1 span{color:#5d9569}.text-button{border:0;background:none;padding:10px;color:#42664a;font-size:13px;font-weight:700}.kicker{display:block;color:#718b75;font-size:11px;font-weight:800;letter-spacing:1.4px}.home-screen{max-width:560px;margin:0 auto}.home-heading{text-align:center;padding:43px 0 30px}.home-heading h1{font-size:54px;line-height:1;margin:12px 0 13px;letter-spacing:-2px}.home-heading p{color:#6c7b6e;font-size:15px;margin:0}.home-card{background:#fff;border:1px solid #dce5dc;border-radius:14px;padding:22px;margin-bottom:15px}.home-card-top,.random-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.home-card h2{font-size:22px;letter-spacing:-.5px;margin:7px 0 3px}.home-card p{margin:0;color:#78867a;font-size:13px}.main-action,.random-card>button,.primary{border:0;border-radius:9px;background:#326b48;color:#fff;padding:12px 23px;font-size:14px;font-weight:800;white-space:nowrap}.main-action:hover:not(:disabled),.random-card>button:hover:not(:disabled),.primary:hover:not(:disabled){background:#27573a}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;border-top:1px solid #e5ebe4;border-bottom:1px solid #e5ebe4;margin-top:20px;padding:14px 0}.week-strip button{min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid transparent;background:none;border-radius:8px;padding:7px 0;color:#556c59}.week-strip button:hover:not(:disabled){background:#f0f5ef}.week-strip button.today{background:#e5efe4;border-color:#a7c2a9}.week-strip small{font-size:10px;text-transform:uppercase;color:#819284}.week-strip strong{font-size:17px}.week-strip span{height:13px;font-size:12px;color:#cc9852}.archive-link{display:flex;width:100%;justify-content:space-between;border:0;background:none;color:#326b48;font-size:13px;font-weight:800;padding:15px 2px 0;text-align:left}.archive-link:hover{text-decoration:underline}.random-card{padding:19px 22px}.random-card h2{font-size:19px}.random-card>button{background:#f1f5f0;color:#326b48;border:1px solid #c8dbca}.random-card>button:hover:not(:disabled){background:#e6efe5;color:#326b48}.resume-link{width:100%;display:flex;justify-content:space-between;border:1px solid #c2d9c5;background:#eaf3e9;color:#326b48;border-radius:9px;padding:13px 15px;margin-bottom:15px;text-align:left;font-size:13px;font-weight:700}.rules{position:relative;max-width:760px;background:#edf3eb;border:1px solid #d6e6d6;border-radius:11px;padding:18px 43px 18px 20px;margin:20px auto 0}.rules strong{font-size:14px}.rules p{font-size:13px;line-height:1.6;color:#506b56;margin:6px 0 0}.close{position:absolute;right:13px;top:9px;border:0;background:none;color:#6a836f;font-size:23px}.loading{color:#63776a;text-align:center;padding:25px}.error{color:#9e3d35;background:#fbeeea;border-radius:8px;padding:10px 12px;margin:12px 0;font-size:13px}.back-link{border:0;background:none;padding:0;color:#4b7054;font-size:13px;font-weight:700;text-align:left}.back-link:hover{text-decoration:underline}.archive-screen{max-width:760px;margin:30px auto 60px}.archive-screen>.kicker{margin-top:36px}.archive-screen h1{font-size:38px;letter-spacing:-1px;margin:7px 0}.archive-screen>p{color:#718073;margin:0 0 22px;font-size:14px}.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px}.archive-grid button{display:flex;flex-direction:column;align-items:start;gap:3px;border:1px solid #dce5dc;border-radius:10px;background:#fff;padding:15px;text-align:left;color:#304936;min-height:110px}.archive-grid button:hover:not(:disabled){border-color:#83aa87;background:#f3f8f2}.archive-grid strong{font-size:23px}.archive-grid span{font-size:12px}.archive-grid small{font-size:11px;color:#7c907e}.play-screen{max-width:760px;margin:27px auto 0}.game-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px;color:#768678;font-size:12px}.game-card{background:#fff;border:1px solid #dce5dc;border-radius:14px;padding:25px}.card-top{display:flex;justify-content:space-between;color:#809382;font-size:11px;font-weight:800;letter-spacing:1.3px;margin-bottom:22px}.round-mark{color:#77ab7f}.guess-form label{display:block;font-size:20px;font-weight:800;margin-bottom:11px}.input-row{display:flex;gap:9px}.input-row input{height:48px;min-width:0;flex:1;border:1px solid #cbdacc;border-radius:8px;padding:0 14px;font-size:16px;outline:0}.input-row input:focus,.player-form input:focus{border-color:#5d9967;box-shadow:0 0 0 3px #e2f0e4}.primary{height:48px;min-width:128px}.field-note{font-size:12px;color:#819184;margin:9px 0 0}.controls{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #e7ece6;padding-top:18px;margin-top:22px}.controls button,.retry-score{border:1px solid #d7e5d8;background:#f7faf6;border-radius:8px;padding:9px 12px;color:#456e4c;font-size:12px;font-weight:700}.controls button:hover:not(:disabled),.retry-score:hover{background:#e7f1e7}.controls .surrender{margin-left:auto;color:#8b8f88;background:none;border-color:transparent}.hint-help{font-size:12px;color:#6f8172;line-height:1.5;margin:17px 0 0}.letter-hint{margin-top:16px;border-radius:8px;background:#eaf3e9;padding:10px 13px;color:#3f6b49;font-size:13px}.letter-hint strong{font-size:19px;margin-left:5px}.result{display:flex;gap:14px;border-radius:9px;padding:18px;background:#f5f3eb;color:#4d5c4d}.result.success{background:#eaf3e9;color:#365e40}.result-icon{font-size:25px;line-height:1}.result strong{font-size:18px}.result p{margin:5px 0 0;font-size:13px}.stars{font-size:24px;letter-spacing:2px;margin-top:10px;color:#d09b3e}.stars small{font-size:12px;letter-spacing:0;color:#667967;margin-left:7px}.retry-score{margin-top:12px}.history{margin:30px 0 55px}.history-header{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:14px}.history h2{font-size:23px;letter-spacing:-.5px;margin:0}.counters{display:flex;flex-wrap:wrap;gap:14px;color:#7b8d7e;font-size:12px}.counters b{color:#2c4932;font-size:15px}.empty{border:1px dashed #d3ded3;border-radius:10px;padding:24px;color:#879489;text-align:center;font-size:13px}.entry-list{display:grid;gap:7px}.entry{background:#fff;border:1px solid #dfe7df;border-radius:9px;padding:13px 16px}.entry.latest{border-color:#83b28b;background:#f8fbf7}.entry-line{display:flex;justify-content:space-between;gap:10px;align-items:center}.entry-word{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.entry-word strong{font-size:15px}.tag{border-radius:4px;background:#f1eee4;color:#8d7d52;padding:3px 5px;font-size:10px}.tag.last{background:#e3f0e2;color:#5a8b62}.rank{font-size:18px;font-weight:800;color:#426f4b;white-space:nowrap}.track{height:4px;background:#e9eeea;border-radius:5px;margin-top:9px;overflow:hidden}.fill{height:100%}.scale-note{color:#94a096;font-size:11px;margin-top:12px}.leaderboard{margin:35px 0 55px}.leaderboard h2{font-size:23px;letter-spacing:-.5px;margin:6px 0}.leaderboard>p{font-size:13px;line-height:1.5;color:#758477;margin:0 0 17px}.player-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px}.player-form label{font-size:12px;font-weight:800;color:#667e6b}.player-form input{height:38px;min-width:0;flex:1;border:1px solid #d3dfd3;border-radius:7px;padding:0 10px;outline:0}.player-form button{border:1px solid #cddfce;border-radius:7px;background:#edf5ec;color:#416b49;padding:9px 12px;font-size:12px;font-weight:700}.leaderboard-list{display:grid;gap:6px}.leaderboard-row{display:flex;align-items:center;gap:10px;border:1px solid #dfe7df;border-radius:8px;background:#fff;padding:10px 12px}.leaderboard-row.mine{border-color:#94bf9b;background:#f7fbf6}.leaderboard-place{width:24px;color:#729178;font-weight:800}.leaderboard-name{min-width:0;flex:1;display:flex;flex-direction:column}.leaderboard-name strong{font-size:13px;overflow-wrap:anywhere}.leaderboard-name small{font-size:11px;color:#8a9a8c}.leaderboard-score{display:flex;flex-direction:column;align-items:end;color:#386b43}.leaderboard-score strong{font-size:19px}.leaderboard-score small{font-size:10px}.shell footer{border-top:1px solid #e0e6df;color:#a0aca2;font-size:11px;padding:22px 0 34px;margin-top:45px}.last-guess{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 14px;margin-top:15px;padding:11px 13px;border:1px solid #c8dec9;border-radius:8px;background:#f0f7ef;color:#42634a;font-size:13px}.last-guess strong{color:#263f2c}.last-guess b{font-size:16px;color:#326b48;white-space:nowrap}.solver-screen{max-width:760px;margin:30px auto 60px}.solver-screen>.kicker{margin-top:34px}.solver-screen h1{font-size:36px;letter-spacing:-1px;margin:7px 0}.solver-screen>p{font-size:13px;line-height:1.6;color:#718073;margin:0 0 20px}.solver-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px}.solver-controls button{border:1px solid #cddfce;border-radius:8px;background:#edf5ec;color:#416b49;padding:9px 12px;font-size:12px;font-weight:700}.solver-controls span{margin-left:auto;color:#788a7b;font-size:12px}.solver-list{display:grid;gap:7px}.solver-number{color:#9aab9c;font-size:12px;width:25px}.solver-finish{margin-top:18px;padding:16px;border:1px solid #b9d9be;border-radius:9px;background:#eaf3e9;color:#326b48;font-weight:800}.controls .ai-hint{border-color:#b9d5bd;background:#eaf3e9;color:#326b48}.controls .ai-hint:hover:not(:disabled){background:#dceedd}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#18261c7a}.confirm-dialog{width:min(100%,430px);max-height:min(90vh,600px);overflow:auto;background:#fff;border:1px solid #dce5dc;border-radius:12px;padding:25px;box-shadow:0 20px 60px #1627192e}.confirm-dialog h2{font-size:21px;margin:0 0 10px}.confirm-dialog p{font-size:14px;line-height:1.55;color:#5b6d5f;margin:0 0 22px}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px}.dialog-actions button{border-radius:8px;padding:10px 14px;font-size:13px;font-weight:700}.dialog-cancel{border:1px solid #d5e2d6;background:#fff;color:#3e6246}.dialog-confirm{border:1px solid #326b48;background:#326b48;color:#fff}.dialog-cancel:hover{background:#f1f6f0}.dialog-confirm:hover{background:#27573a}.home-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0 0 22px;padding:4px;border:1px solid #dce5dc;border-radius:10px;background:#edf2eb}.home-switch button{border:0;border-radius:7px;background:none;color:#65796a;padding:11px;font-size:14px;font-weight:700}.home-switch button.active{background:#fff;color:#2c603c;box-shadow:0 1px 3px #1f39241a}.home-switch button:hover:not(.active){color:#2c603c}.game-ranking{margin:24px 0 0;padding:22px;border:1px solid #dce5dc;border-radius:14px;background:#fff}.game-ranking-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:15px}.game-ranking-heading h2{font-size:22px;letter-spacing:-.5px;margin:5px 0 0}.game-ranking-heading>span{color:#819184;font-size:12px}.game-ranking-list{display:grid;gap:7px}.game-ranking-row{display:flex;align-items:center;gap:12px;min-width:0;border:1px solid #e2e9e1;border-radius:8px;padding:11px 13px}.game-ranking-row.mine{border-color:#9fc5a4;background:#f4faf3}.game-ranking-place{width:24px;flex:none;color:#77947c;font-weight:800}.game-ranking-player{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.game-ranking-player strong{font-size:14px;overflow-wrap:anywhere}.game-ranking-player small{font-size:12px;color:#748577;line-height:1.4}.game-ranking-stars{flex:none;color:#9c7132;font-size:13px;font-weight:800}.game-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:15px}.game-stats div{display:flex;flex-direction:column;gap:5px;min-width:0;border-radius:8px;background:#f3f6f1;padding:13px}.game-stats span{color:#718273;font-size:11px;line-height:1.3}.game-stats strong{color:#2f5f3b;font-size:19px}.solver-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0 0 18px;padding:4px;border:1px solid #dce5dc;border-radius:10px;background:#edf2eb}.solver-mode-tabs button{border:0;border-radius:7px;background:none;color:#65796a;padding:10px;font-size:13px;font-weight:700}.solver-mode-tabs button.active{background:#fff;color:#2c603c;box-shadow:0 1px 3px #1f39241a}.solver-mode-tabs button:hover:not(.active):not(:disabled){color:#2c603c}.solver-budget{margin:-7px 0 12px!important;color:#69816e!important;font-size:12px!important}.solver-list{max-height:420px;overflow:auto;align-content:start;padding-right:3px}.solver-current{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:0 0 13px;padding:11px 13px;border:1px solid #c8dec9;border-radius:8px;background:#f0f7ef;color:#42634a;font-size:13px}.solver-current strong{color:#263f2c}.solver-current b{color:#326b48;font-size:16px;white-space:nowrap}@media(max-width:600px){.game-ranking{padding:17px}.game-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.game-ranking-row{padding:10px}.game-ranking-player small{font-size:11px}}@media(max-width:600px){.shell{width:min(100% - 28px,960px)}.site-header{height:64px}.home-heading{padding:31px 0 24px}.home-heading h1{font-size:46px}.home-heading p{font-size:13px}.home-card{padding:18px}.home-card-top{align-items:end}.home-card h2{font-size:20px}.main-action{padding:10px 15px}.week-strip{gap:1px}.week-strip button{padding:6px 0}.week-strip strong{font-size:15px}.random-card{align-items:stretch}.random-card>button{padding:10px 14px}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card{padding:18px}.input-row{flex-direction:column}.input-row input,.primary{width:100%}.controls .surrender{margin-left:0}.history-header{align-items:start;flex-direction:column}.player-form label{width:100%}.counters{gap:9px}}.solver-failure{margin-top:18px;padding:16px;border:1px solid #e3d5b8;border-radius:9px;background:#fbf6ea;color:#6b5527}.solver-failure strong{display:block;font-size:14px}.solver-failure p{margin:6px 0 12px;font-size:12px;line-height:1.55;color:#7d6a42}.solver-failure button{border:1px solid #326b48;border-radius:8px;background:#326b48;color:#fff;padding:9px 13px;font-size:12px;font-weight:700}.solver-failure button:hover:not(:disabled){background:#27573a}.input-note{color:#819184;font-weight:400}.nearest-panel{margin:24px 0 0;padding:22px;border:1px solid #dce5dc;border-radius:14px;background:#fff}.nearest-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px}.nearest-heading h2{font-size:22px;letter-spacing:-.5px;margin:5px 0 0}.nearest-panel>p{font-size:12px;line-height:1.55;color:#718073;margin:0 0 14px}.nearest-actions{display:flex;gap:7px;flex:none}.nearest-actions button{border:1px solid #cddfce;border-radius:8px;background:#edf5ec;color:#416b49;padding:9px 12px;font-size:12px;font-weight:700}.nearest-actions button:hover:not(:disabled){background:#e0efe0}.nearest-note{color:#8a6b3d!important;background:#fbf6ea;border-radius:7px;padding:9px 11px}.nearest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:420px;overflow:auto;padding-right:3px}.nearest-row{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid #e2e9e1;border-radius:7px;padding:8px 10px;font-size:13px}.nearest-rank{flex:none;color:#819184;font-size:11px}.nearest-row strong{overflow-wrap:anywhere}@media(max-width:600px){.nearest-panel{padding:17px}.nearest-heading{align-items:flex-start;flex-direction:column}.nearest-grid{grid-template-columns:1fr}}:root{color-scheme:light;--bg:#f7f8f4;--text:#203027;--surface:#fff;--surface-soft:#edf3eb;--border:#dce5dc;--border-soft:#e7ece6;--muted:#718073;--muted-2:#819184;--accent:#326b48;--accent-strong:#27573a;--input-bg:#fff;--focus-ring:#e2f0e4;--track:#e9eeea;--tag-bg:#f1eee4;--tag-text:#8d7d52;--tag-last-bg:#e3f0e2;--tag-last-text:#5a8b62;--danger:#9e3d35;--danger-bg:#fbeeea;--star:#d09b3e;--rank-near:#47a476;--rank-mid:#d9a347;--rank-far:#8fa3a6}html[data-theme=dark]{color-scheme:dark;--bg:#0f1411;--text:#e8eee9;--surface:#171e19;--surface-soft:#1d2a20;--border:#2a352d;--border-soft:#243029;--muted:#9aaba0;--muted-2:#8fa697;--accent:#8fd29b;--accent-strong:#a9e0b3;--input-bg:#111713;--focus-ring:#1e3323;--track:#2a352e;--tag-bg:#2b2a22;--tag-text:#c7b27a;--tag-last-bg:#203326;--tag-last-text:#9fd1a8;--danger:#f0a39a;--danger-bg:#2e1b1a;--star:#e3b35c;--rank-near:#5fbf8a;--rank-mid:#e0b05a;--rank-far:#6f8378}html[data-theme],body{background:var(--bg);color:var(--text)}body{min-height:100vh}.header-actions{display:flex;align-items:center;gap:4px}.theme-toggle{font-variant-numeric:tabular-nums}html[data-theme=dark] .site-header{border-color:var(--border)}html[data-theme=dark] .brand-link{color:var(--text)}html[data-theme=dark] .brand-link span,html[data-theme=dark] .home-heading h1 span,html[data-theme=dark] .text-button,html[data-theme=dark] .archive-link,html[data-theme=dark] .back-link{color:var(--accent)}html[data-theme=dark] .kicker,html[data-theme=dark] .card-top,html[data-theme=dark] .game-top{color:var(--muted-2)}html[data-theme=dark] .home-heading p,html[data-theme=dark] .home-card p,html[data-theme=dark] .random-card p,html[data-theme=dark] .archive-screen>p,html[data-theme=dark] .leaderboard>p,html[data-theme=dark] .solver-screen>p,html[data-theme=dark] .field-note,html[data-theme=dark] .scale-note,html[data-theme=dark] .hint-help,html[data-theme=dark] .game-ranking-heading>span,html[data-theme=dark] .game-ranking-player small,html[data-theme=dark] .leaderboard-name small,html[data-theme=dark] .archive-grid small,html[data-theme=dark] .solver-number,html[data-theme=dark] .solver-budget,html[data-theme=dark] .counters,html[data-theme=dark] .stars small,html[data-theme=dark] .nearest-rank,html[data-theme=dark] .input-note{color:var(--muted)}html[data-theme=dark] .home-card,html[data-theme=dark] .game-card,html[data-theme=dark] .game-ranking,html[data-theme=dark] .nearest-panel,html[data-theme=dark] .leaderboard-row,html[data-theme=dark] .entry,html[data-theme=dark] .archive-grid button,html[data-theme=dark] .confirm-dialog{background:var(--surface);border-color:var(--border)}html[data-theme=dark] .week-strip{border-color:var(--border)}html[data-theme=dark] .week-strip button{color:#b7c5ba}html[data-theme=dark] .week-strip button:hover:not(:disabled){background:#202a22}html[data-theme=dark] .week-strip button.today{background:#263b2b;border-color:#4f7a5a}html[data-theme=dark] .week-strip small{color:var(--muted-2)}html[data-theme=dark] .week-strip strong{color:var(--text)}html[data-theme=dark] .resume-link{background:var(--surface-soft);border-color:#35513b;color:var(--accent)}html[data-theme=dark] .random-card>button{background:var(--surface-soft);border-color:#35513b;color:var(--accent)}html[data-theme=dark] .random-card>button:hover:not(:disabled){background:#243428;color:var(--accent)}html[data-theme=dark] .rules{background:#182119;border-color:#2e4032}html[data-theme=dark] .rules p{color:var(--muted)}html[data-theme=dark] .close{color:var(--muted-2)}html[data-theme=dark] .loading,html[data-theme=dark] .empty{color:var(--muted)}html[data-theme=dark] .empty{border-color:#35463a}html[data-theme=dark] .error{background:var(--danger-bg);color:var(--danger)}html[data-theme=dark] .archive-grid button:hover:not(:disabled){background:#202a22;border-color:#4f7a5a}html[data-theme=dark] .input-row input,html[data-theme=dark] .player-form input{background:var(--input-bg);border-color:#36453a;color:var(--text)}html[data-theme=dark] .input-row input:focus,html[data-theme=dark] .player-form input:focus{border-color:#6fbf83;box-shadow:0 0 0 3px var(--focus-ring)}html[data-theme=dark] .controls{border-color:var(--border-soft)}html[data-theme=dark] .controls button,html[data-theme=dark] .retry-score,html[data-theme=dark] .solver-controls button,html[data-theme=dark] .player-form button,html[data-theme=dark] .nearest-actions button{background:var(--surface-soft);border-color:#314236;color:var(--accent)}html[data-theme=dark] .controls button:hover:not(:disabled),html[data-theme=dark] .retry-score:hover,html[data-theme=dark] .solver-controls button:hover:not(:disabled),html[data-theme=dark] .player-form button:hover,html[data-theme=dark] .nearest-actions button:hover:not(:disabled){background:#243428}html[data-theme=dark] .controls .surrender{background:none;border-color:transparent;color:#8b9a8f}html[data-theme=dark] .letter-hint,html[data-theme=dark] .last-guess{background:var(--surface-soft);border-color:#35513b;color:#b9e0c1}html[data-theme=dark] .last-guess strong{color:var(--text)}html[data-theme=dark] .last-guess b{color:var(--accent)}html[data-theme=dark] .result{background:#1b231d;color:#d7e1d9}html[data-theme=dark] .result.success{background:#1d2a20;color:#b9e0c1}html[data-theme=dark] .stars{color:var(--star)}html[data-theme=dark] .entry.latest{background:var(--surface-soft);border-color:#4f7a5a}html[data-theme=dark] .tag{background:var(--tag-bg);color:var(--tag-text)}html[data-theme=dark] .tag.last{background:var(--tag-last-bg);color:var(--tag-last-text)}html[data-theme=dark] .rank{color:var(--accent)}html[data-theme=dark] .track{background:var(--track)}html[data-theme=dark] .counters b{color:var(--text)}html[data-theme=dark] .home-switch,html[data-theme=dark] .solver-mode-tabs{background:#1a231c;border-color:var(--border)}html[data-theme=dark] .home-switch button,html[data-theme=dark] .solver-mode-tabs button{color:#a9b9ad}html[data-theme=dark] .home-switch button.active,html[data-theme=dark] .solver-mode-tabs button.active{background:#26332a;color:#b9e0c1;box-shadow:0 1px 3px #00000040}html[data-theme=dark] .game-ranking-row,html[data-theme=dark] .nearest-row{border-color:var(--border)}html[data-theme=dark] .game-ranking-row.mine{background:var(--surface-soft);border-color:#4f7a5a}html[data-theme=dark] .game-stats div{background:var(--surface-soft)}html[data-theme=dark] .game-stats span{color:var(--muted)}html[data-theme=dark] .game-stats strong{color:var(--accent)}html[data-theme=dark] .solver-current{background:var(--surface-soft);border-color:#35513b;color:#b9e0c1}html[data-theme=dark] .solver-current strong{color:var(--text)}html[data-theme=dark] .solver-current b{color:var(--accent)}html[data-theme=dark] .solver-finish{background:var(--surface-soft);border-color:#35513b;color:var(--accent)}html[data-theme=dark] .solver-failure{background:#2b2418;border-color:#4a3d25;color:#e0c58a}html[data-theme=dark] .solver-failure p{color:#c9b07a}html[data-theme=dark] .confirm-dialog p{color:var(--muted)}html[data-theme=dark] .dialog-cancel{background:var(--surface-soft);border-color:#314236;color:var(--accent)}html[data-theme=dark] .dialog-cancel:hover{background:#243428}html[data-theme=dark] .nearest-panel>p{color:var(--muted)}html[data-theme=dark] .nearest-note{background:#2b2418;color:#e0c58a!important}html[data-theme=dark] .shell footer{border-color:var(--border);color:#73857a}@media(max-width:600px){.header-actions{gap:0}.theme-toggle{font-size:12px;padding:8px 6px}}html[data-theme=dark] .archive-grid button{color:var(--text)}html[data-theme=dark] .player-form label{color:var(--muted)}html[data-theme=dark] .leaderboard-row.mine{background:var(--surface-soft);border-color:#4f7a5a}html[data-theme=dark] .leaderboard-place,html[data-theme=dark] .game-ranking-place{color:var(--muted-2)}html[data-theme=dark] .leaderboard-score,html[data-theme=dark] .leaderboard-score strong{color:var(--accent)}html[data-theme=dark] .leaderboard-score small{color:var(--muted)}html[data-theme=dark] .game-ranking-stars{color:var(--star)}html[data-theme=dark] .home-switch button:hover:not(.active),html[data-theme=dark] .solver-mode-tabs button:hover:not(.active):not(:disabled){color:var(--accent)}html[data-theme=dark] .week-strip button.today{color:var(--text)}.game-calendar{border-top:1px solid var(--border-soft);margin-top:19px;padding-top:15px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.calendar-heading>strong{font-size:13px;color:var(--text)}.calendar-navigation{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.calendar-navigation span{min-width:112px;text-align:center}.calendar-navigation button{width:27px;height:27px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--accent);font-size:20px;line-height:1}.calendar-navigation button:hover:not(:disabled){background:var(--surface-soft)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{text-align:center;color:var(--muted-2);font-size:10px;font-weight:700;padding:3px 0}.calendar-day{min-width:0;min-height:39px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);font-size:13px;font-weight:700}.calendar-day:hover:not(:disabled){background:var(--surface-soft);border-color:var(--border)}.calendar-day.today{border-color:var(--accent);color:var(--accent)}.calendar-day.won{background:#e9f4e8;color:#316b42}.calendar-day.surrendered{background:#f3f0e8;color:#756850}.calendar-day small{height:9px;color:#c58f35;font-size:9px;line-height:1}.calendar-day.playing small{color:var(--accent)}html[data-theme=dark] .calendar-day.won{background:#243b29;color:#9bdaa4}html[data-theme=dark] .calendar-day.surrendered{background:#302b23;color:#d0b98e}@media(max-width:600px){.calendar-heading{align-items:flex-start}.calendar-heading>strong{padding-top:6px}.calendar-grid{gap:2px}.calendar-day{min-height:37px}}.home-card .daily-streak{margin-top:8px;color:var(--muted);font-size:12px}.daily-streak b{color:var(--accent)}.personal-stats{margin:0 0 20px;padding:21px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.personal-stats h2{margin:6px 0 16px;font-size:22px;letter-spacing:-.5px}.personal-stats h3{margin:20px 0 11px;font-size:14px}.personal-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.personal-stats-grid div{display:flex;flex-direction:column;gap:5px;min-width:0;padding:11px;border-radius:8px;background:var(--surface-soft)}.personal-stats-grid strong{font-size:21px;line-height:1.1;color:var(--accent)}.personal-stats-grid span{font-size:11px;line-height:1.3;color:var(--muted)}.stars-distribution{display:grid;gap:8px}.distribution-row{display:grid;grid-template-columns:37px minmax(0,1fr) 23px;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.distribution-row b{text-align:right;color:var(--text)}.distribution-track{height:8px;overflow:hidden;border-radius:8px;background:var(--track)}.distribution-track div{height:100%;border-radius:8px;background:var(--star)}.personal-stats>p{margin:16px 0 0;color:var(--muted);font-size:12px;line-height:1.5}@media(max-width:600px){.personal-stats{padding:17px}.personal-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.tutorial{position:relative;margin:0 0 15px;padding:20px 43px 18px 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.tutorial h2{margin:8px 0;font-size:20px;letter-spacing:-.4px}.tutorial p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.tutorial-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.tutorial-actions button{border:1px solid var(--border);border-radius:7px;padding:8px 13px;background:var(--surface-soft);color:var(--accent);font-size:12px;font-weight:700}.tutorial-actions .tutorial-next{border-color:#326b48;background:#326b48;color:#fff}.tutorial-actions .tutorial-next:hover{background:#27573a}.retry-load{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--accent);padding:10px 14px;font-size:13px;font-weight:700}.day-number{display:inline-block;margin-left:7px;color:var(--muted-2);font-size:13px;font-weight:600;letter-spacing:0}.settings-toggle{font-size:17px;line-height:1}.settings-dialog{width:min(100%,520px);max-height:min(90vh,700px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:0 20px 60px #1627192e}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.settings-heading h2{margin:0;font-size:22px;letter-spacing:-.4px}.settings-close{border:0;background:none;color:var(--muted-2);font-size:25px;line-height:1;padding:0 3px}.settings-section{padding:15px 0;border-top:1px solid var(--border-soft)}.settings-section h3{margin:0 0 6px;font-size:14px}.settings-section p{margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.55}.settings-section .settings-credits{font-size:11px}.settings-actions,.theme-options{display:flex;flex-wrap:wrap;gap:7px}.settings-section button{border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);color:var(--accent);padding:9px 12px;font-size:12px;font-weight:700}.settings-section button:hover:not(:disabled){background:var(--track)}.theme-options button.active{border-color:var(--accent);background:var(--surface);color:var(--accent)}.share-status{margin:9px 0 0!important;color:var(--accent)!important}@media(max-width:600px){.settings-toggle{font-size:16px;padding:8px 5px}.settings-dialog{padding:18px}}.marathon-screen{max-width:760px;margin:30px auto 60px}.marathon-screen h1{font-size:38px;letter-spacing:-1px;margin:8px 0}.marathon-screen>p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 20px}.marathon-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}.marathon-summary div{display:flex;flex-direction:column;gap:5px;border-radius:9px;background:var(--surface-soft);padding:14px}.marathon-summary strong{color:var(--accent);font-size:22px}.marathon-summary span{color:var(--muted);font-size:11px;line-height:1.3}.marathon-actions{display:flex;flex-wrap:wrap;gap:8px}.marathon-actions button{border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);color:var(--accent);padding:10px 14px;font-size:13px;font-weight:700}.marathon-actions button.main-action{background:#326b48;border-color:#326b48;color:#fff}@media(max-width:600px){.marathon-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.marathon-screen h1{font-size:31px}}.home-card.marathon-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px}.marathon-card h2{font-size:19px}.marathon-card p{margin:0;color:var(--muted);font-size:13px}.marathon-card>button{border:1px solid #c8dbca;border-radius:9px;background:var(--surface-soft);color:var(--accent);padding:12px 20px;font-size:14px;font-weight:800;white-space:nowrap}.marathon-card>button:hover:not(:disabled){background:var(--track)}@media(max-width:600px){.home-card.marathon-card{align-items:stretch;flex-direction:column;gap:12px}.marathon-card>button{width:100%}}.duel-screen{max-width:760px;margin:30px auto 60px}.duel-screen h1{font-size:38px;letter-spacing:-1px;margin:8px 0}.duel-screen>p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 20px}.duel-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0}.duel-player{display:flex;flex-direction:column;gap:5px;min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:14px}.duel-player.mine{border-color:#9fc5a4;background:var(--surface-soft)}.duel-player strong{font-size:15px;overflow-wrap:anywhere}.duel-player>span:last-child{color:var(--muted);font-size:12px;line-height:1.4}.duel-player.waiting{border-style:dashed}.duel-link{margin:18px 0;padding:15px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.duel-link-row{display:flex;gap:7px;margin-top:9px}.duel-link-row input{flex:1;min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);padding:10px 12px;font-size:12px}.duel-link-row button{border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);color:var(--accent);padding:10px 13px;font-size:12px;font-weight:700;white-space:nowrap}.duel-link-row button:hover:not(:disabled){background:var(--track)}.duel-join{margin:18px 0;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.duel-join p{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.55}.duel-rounds{margin:24px 0 0;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.duel-rounds h2{margin:0 0 13px;font-size:20px;letter-spacing:-.4px}.duel-round{display:grid;grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid var(--border-soft);padding:10px 0}.duel-round:first-of-type{border-top:0}.duel-round-number{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface-soft);color:var(--muted);font-size:11px;font-weight:800}.duel-round-side{display:flex;flex-direction:column;gap:2px;min-width:0}.duel-round-side strong{font-size:13px}.duel-round-side small{color:var(--muted);font-size:11px;line-height:1.35}.duel-round-result{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted-2);white-space:nowrap}.duel-round.win .duel-round-result{color:var(--rank-near)}.duel-round.loss .duel-round-result{color:var(--danger)}.duel-round.draw .duel-round-result{color:var(--star)}.duel-round.forfeit .duel-round-result{color:var(--muted)}.duel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px}.duel-actions button{border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);color:var(--accent);padding:10px 14px;font-size:13px;font-weight:700}.duel-actions button.main-action{background:#326b48;border-color:#326b48;color:#fff}.duel-actions button:hover:not(:disabled){background:var(--track)}.duel-actions button.main-action:hover:not(:disabled){background:#27573a}.duel-wait{color:var(--muted);font-size:13px}html[data-theme=dark] .duel-player.mine{border-color:#4f7a5a}html[data-theme=dark] .duel-round.win .duel-round-result{color:var(--rank-near)}@media(max-width:600px){.duel-screen h1{font-size:31px}.duel-players{grid-template-columns:1fr}.duel-link-row{flex-wrap:wrap}.duel-link-row input{flex-basis:100%}.duel-round{grid-template-columns:24px minmax(0,1fr) auto;row-gap:5px}.duel-round-side:nth-child(3){grid-column:2}.duel-round-result{grid-column:3;grid-row:1}}.settings-section a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
