:root{--bg:#f5f6f8;--card:#fff;--text:#17191d;--muted:#666d78;--line:#e1e5ea;--accent:#17191d;--soft:#eef1f4;--good:#19734a;--goodbg:#edf8f2;--warn:#94620b;--bad:#a93636;--badbg:#fff1f1;--radius:20px;--shadow:0 12px 34px rgba(25,29,36,.065);--focus:#7b8da8}
*{box-sizing:border-box}[hidden]{display:none!important}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);scroll-behavior:smooth}body{margin:0;min-height:100vh}.wrap{width:min(1120px,calc(100% - 32px));margin:auto}.topbar{position:sticky;top:0;z-index:20;background:rgba(245,246,248,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(225,229,234,.85)}.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:850;letter-spacing:-.035em;text-decoration:none;color:var(--text);font-size:20px}.brand small{font-size:11px;color:var(--muted);font-weight:800;border:1px solid var(--line);border-radius:999px;padding:4px 7px;margin-left:7px;vertical-align:2px}.navlinks{display:flex;gap:8px;align-items:center}.navlinks a,.ghostbtn{color:var(--text);text-decoration:none;border:1px solid var(--line);background:var(--card);padding:9px 12px;border-radius:12px;font-weight:700;font-size:14px}.hero{padding:58px 0 26px}.eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:var(--card);color:var(--muted);font-size:13px;font-weight:750}.hero h1{font-size:clamp(40px,7vw,76px);line-height:.97;letter-spacing:-.058em;margin:18px 0;max-width:880px}.hero p{font-size:clamp(17px,2vw,20px);line-height:1.55;color:var(--muted);max-width:720px;margin:0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.todaybar{display:grid;grid-template-columns:1.55fr .75fr .75fr .75fr;gap:12px;margin:30px 0}.metric{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:var(--shadow)}.metric small{color:var(--muted);font-weight:750}.metric strong{display:block;font-size:27px;margin-top:7px;letter-spacing:-.04em}.progress{height:9px;border-radius:999px;background:var(--soft);overflow:hidden;margin-top:12px}.progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .35s ease}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:42px 0 16px}.sectionhead h2{margin:0;font-size:30px;letter-spacing:-.04em}.sectionhead p{margin:4px 0 0;color:var(--muted)}.gamegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gamecard{display:flex;flex-direction:column;min-height:218px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:21px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;position:relative;overflow:hidden}.gamecard:hover{transform:translateY(-3px);border-color:#c7cdd5;box-shadow:0 15px 40px rgba(25,29,36,.085)}.gamecard.is-done:after{content:'✓';position:absolute;right:16px;top:15px;width:28px;height:28px;border-radius:50%;background:var(--goodbg);color:var(--good);display:grid;place-items:center;font-weight:900}.gameicon{width:44px;height:44px;border-radius:14px;background:var(--soft);display:grid;place-items:center;font-size:20px;font-weight:800}.gameicon.small{display:inline-grid;width:32px;height:32px;border-radius:10px;font-size:14px;margin-right:10px}.gamecard h3{font-size:23px;letter-spacing:-.04em;margin:18px 0 7px}.gamecard p{color:var(--muted);line-height:1.45;margin:0}.gamefoot{margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;align-items:center;font-weight:780}.pill{display:inline-flex;align-items:center;font-size:12px;background:var(--soft);border-radius:999px;padding:6px 9px;color:var(--muted);font-weight:800}.done{color:var(--good)}.btn{appearance:none;border:1px solid var(--accent);background:var(--accent);color:white;border-radius:13px;padding:11px 15px;font-weight:800;cursor:pointer;font-size:15px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;line-height:1.2}.btn:hover{filter:brightness(1.06)}.btn.secondary{background:var(--card);color:var(--text);border-color:var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed}.cta{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0 68px}.cta.compact{margin:22px 0 0}.footer{border-top:1px solid var(--line);padding:26px 0 40px;color:var(--muted);font-size:14px}.gamepage{padding:32px 0 72px;max-width:880px}.gameheader{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px}.gameheader h1{font-size:clamp(38px,6vw,52px);letter-spacing:-.052em;margin:8px 0}.gameheader p{color:var(--muted);margin:0;line-height:1.5;max-width:650px}.scorebox{min-width:128px;text-align:right}.scorebox small{color:var(--muted);font-weight:750}.scorebox strong{font-size:31px;display:block;letter-spacing:-.04em}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.status{margin-top:16px;padding:12px 14px;background:var(--soft);border-radius:12px;color:var(--muted);font-weight:680;line-height:1.45}.status.good{color:var(--good);background:var(--goodbg)}.status.bad{color:var(--bad);background:var(--badbg)}.field{display:flex;gap:9px;margin:18px 0}.field input,.field textarea,.choicebtn{width:100%;border:1px solid var(--line);background:white;border-radius:13px;padding:13px 14px;font:inherit}.field input:focus,.field textarea:focus,.choicebtn:focus,.btn:focus,.mode-tab:focus,.kbd button:focus,.sudoku input:focus{outline:3px solid rgba(123,141,168,.32);outline-offset:2px}.choices{display:grid;gap:10px;margin-top:18px}.choicebtn{text-align:left;cursor:pointer;font-weight:720;display:flex;gap:10px;align-items:center}.choicebtn:hover{border-color:#aeb6c0}.choicebtn.correct{border-color:#82bd9d;background:var(--goodbg)}.choicebtn.wrong{border-color:#d6a2a2;background:var(--badbg)}.choice-key{width:27px;height:27px;border-radius:8px;background:var(--soft);display:grid;place-items:center;color:var(--muted);font-size:12px;flex:0 0 auto}.question{font-size:clamp(23px,4vw,29px);line-height:1.28;letter-spacing:-.032em;margin:5px 0 10px}.subtle{color:var(--muted);font-size:14px;line-height:1.5}.mode-switch{display:inline-flex;padding:3px;background:#e9edf1;border-radius:12px;margin:0 0 20px}.mode-tab{padding:8px 13px;border-radius:9px;color:var(--muted);font-weight:800;text-decoration:none;font-size:13px}.mode-tab.active{background:#fff;color:var(--text);box-shadow:0 2px 7px rgba(20,24,31,.08)}.wordrows{display:grid;gap:7px;margin:22px auto;max-width:300px}.wordgrid{display:grid;grid-template-columns:repeat(5,52px);gap:7px;justify-content:center;margin:0}.tile{width:52px;height:52px;border-radius:10px;border:2px solid var(--line);display:grid;place-items:center;font-weight:900;font-size:23px;text-transform:uppercase;background:white}.tile.hit{background:#dff2e7;border-color:#78b890}.tile.near{background:#fff3d7;border-color:#ddb75e}.tile.miss{background:#edf0f3;border-color:#c8cdd4;color:#727780}.kbd{display:grid;grid-template-columns:repeat(20,1fr);gap:5px;max-width:650px;margin:16px auto 0}.kbd button{grid-column:span 2;border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:9px 2px;font-weight:800;cursor:pointer;min-width:0}.kbd button.wide{grid-column:span 3}.kbd button.hit{background:#dff2e7}.kbd button.near{background:#fff3d7}.kbd button.miss{background:#dde2e7;color:#727780}.number-chips{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0}.numchip{border:1px solid var(--line);background:var(--card);border-radius:13px;padding:10px 14px;font-weight:850;font-size:18px;cursor:pointer}.operatorbar{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.operatorbar button{border:1px solid var(--line);background:var(--soft);border-radius:10px;padding:8px 12px;font-weight:850;cursor:pointer}.sudoku{display:grid;grid-template-columns:repeat(9,48px);justify-content:center;margin:24px auto;border:2px solid #59606b;width:max-content}.sudoku input{width:48px;height:48px;text-align:center;font-size:22px;font-weight:800;border:0;border-right:1px solid #c6cbd2;border-bottom:1px solid #c6cbd2;background:#fff}.sudoku input:nth-child(3n){border-right:2px solid #59606b}.sudoku input:nth-child(9n){border-right:0}.sudoku input:nth-child(n+19):nth-child(-n+27),.sudoku input:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #59606b}.sudoku input:nth-child(n+73){border-bottom:0}.sudoku input.given{background:var(--soft);color:#4f5660}.sudoku input.conflict{background:var(--badbg);color:var(--bad)}.inline{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.resultbig{font-size:54px;font-weight:920;letter-spacing:-.06em;margin:14px 0}.divider{height:1px;background:var(--line);margin:22px 0}.notice{background:#fff9e8;border:1px solid #ead8a2;border-radius:14px;padding:13px 15px;color:#735514;font-size:14px;line-height:1.45}.completion{text-align:center;padding:16px 8px 4px}.completion-kicker{font-size:12px;font-weight:900;letter-spacing:.11em;color:var(--muted)}.completion-title{font-size:25px;font-weight:850;letter-spacing:-.03em}.completion-detail{max-width:540px;margin:9px auto}.perfect-banner{background:var(--goodbg);color:var(--good);border:1px solid #b8dcc8;border-radius:13px;padding:12px 14px;margin:18px auto 0;max-width:600px;font-weight:750}.history{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.history.fourteen{grid-template-columns:repeat(14,1fr)}.daycell{min-height:78px;border:1px solid var(--line);border-radius:13px;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.daycell small{font-size:10px;color:var(--muted);font-weight:800}.daycell strong{font-size:18px}.daycell span{font-size:10px;color:#9aa0a9}.daycell.played{background:#f1f3f6}.daycell.played span{color:var(--text);font-weight:800}.daycell.perfect{background:var(--goodbg);border-color:#b8dcc8}.statsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.statcard{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:var(--shadow)}.statcard small{color:var(--muted);font-weight:750}.statcard strong{display:block;font-size:30px;letter-spacing:-.04em;margin-top:5px}.stat-table{margin-top:14px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.stathead,.statrow{display:grid;grid-template-columns:1.5fr repeat(6,.62fr);gap:8px;align-items:center;padding:12px 14px}.stathead{background:var(--soft);font-size:11px;color:var(--muted);font-weight:850;text-transform:uppercase}.statrow{border-top:1px solid var(--line);font-size:14px}.statrow>div{display:flex;align-items:center}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#17191d;color:#fff;padding:11px 14px;border-radius:12px;font-weight:750;opacity:0;pointer-events:none;transition:.18s;z-index:99}.toast.show{opacity:1;transform:translate(-50%,0)}.preview-note{background:#fff9e8;border-bottom:1px solid #ead8a2;color:#735514;text-align:center;padding:8px 16px;font-size:12px;font-weight:750}
@media(max-width:900px){.todaybar{grid-template-columns:1.4fr 1fr 1fr}.todaybar .metric:last-child{display:none}.gamegrid{grid-template-columns:repeat(2,1fr)}.history.fourteen{grid-template-columns:repeat(7,1fr)}.stathead,.statrow{grid-template-columns:1.4fr repeat(5,.62fr);font-size:12px}}
@media(max-width:620px){.wrap{width:min(100% - 22px,1120px)}.hero{padding-top:34px}.hero h1{font-size:42px}.nav{min-height:60px}.navlinks a:not(.keep-mobile){display:none}.todaybar,.gamegrid,.statsgrid{grid-template-columns:1fr}.todaybar .metric:last-child{display:block}.gameheader{flex-direction:column}.scorebox{text-align:left}.panel{padding:18px}.field{flex-direction:column}.gamecard{min-height:190px}.wordgrid{grid-template-columns:repeat(5,46px)}.tile{width:46px;height:46px}.kbd{grid-template-columns:repeat(20,1fr);gap:4px}.kbd button{font-size:11px;padding:9px 0}.sudoku{grid-template-columns:repeat(9,calc((100vw - 56px)/9));max-width:100%}.sudoku input{width:calc((100vw - 56px)/9);height:calc((100vw - 56px)/9);font-size:clamp(16px,5vw,21px)}.history{gap:5px}.daycell{min-height:66px}.stat-table{overflow-x:auto}.stathead,.statrow{min-width:680px}.cta .btn{flex:1 1 auto}.resultbig{font-size:48px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.gamecard:hover{transform:none}}

/* v0.3 */
.achievement-strip{margin:18px 0 44px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow)}.achievement-strip>div:first-child{display:flex;flex-direction:column}.achievement-strip small{color:var(--muted);font-weight:750}.achievement-strip strong{font-size:16px}.achievement-strip>a{margin-left:auto;color:var(--text);font-weight:800;text-decoration:none}.achievement-mini{display:flex;gap:6px}.achievement-mini span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--goodbg);color:var(--good);font-weight:900}.achievement-mini .locked-mini{background:var(--soft);color:#9aa0a9}.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.achievement-card{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:var(--shadow)}.achievement-card.locked{opacity:.58;box-shadow:none}.achievement-icon{width:46px;height:46px;border-radius:14px;background:var(--goodbg);color:var(--good);display:grid;place-items:center;font-size:20px;font-weight:900;flex:0 0 auto}.achievement-card.locked .achievement-icon{background:var(--soft);color:#9aa0a9}.achievement-card small{font-size:10px;letter-spacing:.08em;color:var(--muted);font-weight:850}.achievement-card h3{margin:3px 0 5px;font-size:20px;letter-spacing:-.03em}.achievement-card p{margin:0;color:var(--muted);line-height:1.4}.achievement-card span{display:inline-block;margin-top:8px;font-size:12px;color:var(--good);font-weight:750}.score-ring{--score:0;width:150px;height:150px;border-radius:50%;margin:16px auto;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,var(--card) 58%,transparent 60%),conic-gradient(var(--good) var(--score),var(--soft) 0)}.score-ring strong{font-size:34px;letter-spacing:-.045em}.score-ring small{color:var(--muted);font-weight:750}.anagram-word{font-size:clamp(42px,10vw,72px);letter-spacing:.13em;font-weight:920;text-align:center;margin:30px 0 12px}.math-question{font-size:clamp(44px,10vw,72px);font-weight:900;letter-spacing:-.04em;text-align:center;margin:28px 0}.memory-grid{display:grid;grid-template-columns:repeat(4,72px);gap:8px;justify-content:center;margin:28px auto}.memory-cell{width:72px;height:72px;border:1px solid var(--line);border-radius:14px;background:var(--soft);cursor:pointer;transition:transform .12s ease,background .14s ease,border-color .14s ease}.memory-cell.flash,.memory-cell.answer{background:#9cc9b0;border-color:#5f9d79;transform:scale(.96)}.memory-cell.selected{background:#dce8f5;border-color:#86a5c4}.memory-cell.wrongpick{background:var(--badbg);border-color:#d6a2a2}.practice-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:-4px 0 16px}.practice-options a{border:1px solid var(--line);background:var(--card);padding:7px 10px;border-radius:10px;color:var(--text);text-decoration:none;font-size:13px;font-weight:750}
@media(max-width:620px){.achievement-grid{grid-template-columns:1fr}.achievement-strip{align-items:flex-start;flex-wrap:wrap}.achievement-strip>a{margin-left:0;width:100%}.memory-grid{grid-template-columns:repeat(4,calc((100vw - 78px)/4));gap:7px}.memory-cell{width:calc((100vw - 78px)/4);height:calc((100vw - 78px)/4)}.anagram-word{letter-spacing:.08em}}


/* v0.4 */
.performance-note{display:inline-flex;margin:12px auto 0;padding:8px 11px;border-radius:999px;background:#eef4ff;color:#3d5f86;font-size:13px;font-weight:850}.range-tabs{display:flex;gap:6px;flex-wrap:wrap}.range-tab{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:8px 10px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;color:var(--muted)}.range-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.compact-history{grid-template-columns:repeat(15,1fr);gap:5px}.compact-history .daycell{min-height:34px;border-radius:8px;padding:0}.compact-history .daycell span{font-size:10px;font-weight:800;color:#9aa0a9}.compact-history .daycell.played span,.compact-history .daycell.perfect span{color:var(--text)}.wordsearch-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;width:min(100%,540px);margin:22px auto}.ws-cell{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:8px;font:inherit;font-weight:850;font-size:clamp(13px,3vw,18px);cursor:pointer}.ws-cell:hover{border-color:#aeb6c0}.ws-cell.selected{background:#dce8f5;border-color:#86a5c4}.ws-cell.found{background:var(--goodbg);border-color:#82bd9d;color:var(--good)}.ws-cell.hint{box-shadow:inset 0 0 0 3px #d9a52a}.word-list{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.word-list span{padding:7px 9px;border-radius:9px;background:var(--soft);font-size:12px;font-weight:800;color:var(--muted)}.word-list span.found{background:var(--goodbg);color:var(--good);text-decoration:line-through}.link-clues{font-size:clamp(26px,5vw,38px);text-align:center;padding:12px 0}.visual-prompt{text-align:center;font-size:22px;font-weight:850;margin:14px 0}.target-swatch{display:inline-block;width:18px;height:18px;border-radius:5px;background:#222831;vertical-align:-3px}.visual-grid{--cols:6;display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:6px;width:min(100%,520px);margin:18px auto}.visual-tile{aspect-ratio:1;border-radius:9px;background:#e4e8ed;border:1px solid #d5dae0}.visual-tile.target{background:#222831;border-color:#222831}.visual-answer{max-width:360px;margin-left:auto;margin-right:auto}.visual-answer input{text-align:center;font-size:24px;font-weight:850}.statsgrid{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.compact-history{grid-template-columns:repeat(15,1fr)}.statsgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.compact-history{grid-template-columns:repeat(10,1fr)}.compact-history .daycell{min-height:30px}.wordsearch-grid{gap:3px}.ws-cell{border-radius:6px}.visual-grid{gap:5px}.statsgrid{grid-template-columns:1fr 1fr}}

.mode-tab.unavailable{cursor:default;opacity:.62}

/* v0.5 */
.reset-note{margin-top:12px;color:var(--muted);font-size:13px}.reset-note strong{color:var(--text)}
.gamecard-wrap{position:relative}.gamecard-wrap .gamecard{height:100%}.favorite-btn{position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.94);font:inherit;font-size:20px;line-height:1;cursor:pointer;color:#9aa0a9;z-index:2}.favorite-btn:hover,.favorite-btn:focus-visible{border-color:#aeb6c0;color:#6e7680}.favorite-btn.active{color:#b57e00;background:#fff9e8;border-color:#ead8a2}
.history .daycell[href]{text-decoration:none;color:inherit;transition:transform .12s ease,border-color .12s ease}.history .daycell[href]:hover{transform:translateY(-1px);border-color:#aeb6c0}
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.insight-card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:var(--shadow)}.insight-card small{color:var(--muted);font-weight:750}.insight-card strong{display:block;font-size:18px;line-height:1.25;margin-top:7px;letter-spacing:-.02em}
.archive-summary{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;margin:18px 0 32px}.archive-summary>div{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:15px}.archive-summary small{display:block;color:var(--muted);font-weight:750;margin-bottom:5px}.archive-summary strong{font-size:18px}
.archive-game-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.archive-game{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px 16px;background:var(--card);border:1px solid var(--line);border-radius:15px;text-decoration:none;color:var(--text);box-shadow:var(--shadow)}.archive-game:hover{border-color:#aeb6c0}.archive-game.replayed{background:#f7fbf8;border-color:#c7dfd1}.archive-game div{display:flex;flex-direction:column}.archive-game small{color:var(--muted);margin-top:3px}.archive-game>span:last-child{font-size:12px;font-weight:850;color:var(--muted)}
.archive-day-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.archive-day{display:flex;flex-direction:column;gap:2px;min-height:58px;justify-content:center;padding:8px;border-radius:11px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--text);text-align:center}.archive-day span{font-size:10px;color:var(--muted)}.archive-day.played{background:#f1f3f6}.archive-day.perfect{background:var(--goodbg);border-color:#b8dcc8}.archive-day.active{box-shadow:inset 0 0 0 2px var(--accent);border-color:var(--accent)}
@media(max-width:900px){.archive-summary{grid-template-columns:repeat(2,1fr)}.archive-day-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:620px){.insight-grid,.archive-game-list{grid-template-columns:1fr}.archive-summary{grid-template-columns:1fr 1fr}.archive-day-grid{grid-template-columns:repeat(3,1fr)}.favorite-btn{right:10px;top:10px}}


/* v0.6 competitor-parity quality pass */
.skip-link{position:fixed;left:12px;top:10px;z-index:1000;transform:translateY(-180%);background:var(--accent);color:#fff;padding:10px 14px;border-radius:10px;font-weight:800;text-decoration:none}.skip-link:focus-visible{transform:none}
.daily-status{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch;margin:10px 0 2px}.daily-status>div{border:1px solid var(--line);background:rgba(255,255,255,.66);border-radius:15px;padding:13px 15px}.daily-status small,.daily-status span{display:block;color:var(--muted);font-size:12px;font-weight:700}.daily-status strong{display:block;font-size:18px;margin:3px 0}.daily-status .reset-note{margin:0}.daily-status .reset-note strong{display:inline;font-size:inherit}.daily-status .reset-note span{margin-top:4px}
.gamecard.in-progress{border-color:#b7c9dd;background:linear-gradient(180deg,#fff,#f7faff)}.gamecard.in-progress:before{content:'IN PROGRESS';position:absolute;right:15px;top:17px;font-size:9px;font-weight:900;letter-spacing:.08em;color:#52708f}
.practice-toolbar{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:0 0 16px;flex-wrap:wrap}.practice-search{display:flex;flex-direction:column;gap:5px;min-width:min(330px,100%)}.practice-search span{font-size:11px;font-weight:850;color:var(--muted);letter-spacing:.04em}.practice-search input{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:11px 13px;font:inherit;min-height:44px}.practice-search input:focus{outline:3px solid rgba(123,141,168,.28);outline-offset:2px}.filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.filter-tab{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 11px;font:inherit;font-size:12px;font-weight:800;color:var(--muted);cursor:pointer;min-height:38px}.filter-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.catalog-count{font-size:13px;color:var(--muted);font-weight:800}.empty-state{grid-column:1/-1;padding:32px;border:1px dashed #cbd1d8;border-radius:18px;text-align:center;color:var(--muted)}.empty-state strong,.empty-state span{display:block}.empty-state strong{color:var(--text);font-size:18px;margin-bottom:5px}
.game-guide{margin:-4px 0 18px;border:1px solid var(--line);background:rgba(255,255,255,.68);border-radius:15px;overflow:hidden}.game-guide summary{list-style:none;cursor:pointer;padding:12px 15px;display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:850}.game-guide summary::-webkit-details-marker{display:none}.game-guide summary:after{content:'+';font-size:20px;color:var(--muted)}.game-guide[open] summary:after{content:'−'}.game-guide summary small{margin-left:auto;color:var(--muted);font-weight:650}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 15px 15px}.guide-grid>div{background:var(--soft);border-radius:12px;padding:12px}.guide-grid strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.guide-grid p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.question-progress{height:6px;background:var(--soft);border-radius:999px;overflow:hidden;margin:10px 0 18px}.question-progress span{display:block;width:0;height:100%;background:var(--accent);transition:width .2s ease}.result-context{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:12px auto}.result-context span{background:var(--soft);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;color:var(--muted)}
.sudoku input.peer{background:#f7f9fb}.sudoku input.given.peer{background:#e7ebef}.sudoku input.focus-cell{box-shadow:inset 0 0 0 2px #7892ad;background:#f2f7fb}.sudoku input.conflict{background:var(--badbg)!important}
.form{font-weight:850}.form.up{color:var(--good)}.form.down{color:var(--bad)}.archive-nav{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:900px){.guide-grid{grid-template-columns:1fr}.practice-toolbar{align-items:stretch}.practice-search{width:100%}.stathead,.statrow{min-width:790px}}
@media(max-width:620px){.daily-status{grid-template-columns:1fr}.game-guide summary small{display:none}.archive-nav{width:100%}.archive-nav .btn{flex:1}.filter-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.filter-tab{white-space:nowrap}.todaybar{grid-template-columns:1fr 1fr!important}.metric{padding:15px}.metric strong{font-size:22px}}


/* v0.7 per-game competitor-quality pass */
.word-settings{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin:-4px 0 14px}.toggle{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:8px 10px;cursor:pointer}.toggle input{accent-color:var(--accent)}.toggle span{font-size:13px;font-weight:850}.toggle small{font-size:11px;color:var(--muted)}.text-btn{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 12px;font:inherit;font-size:12px;font-weight:850;color:var(--muted);cursor:pointer}.text-btn[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}.word-panel{cursor:text}.word-capture{position:fixed;left:-9999px;top:0;opacity:0;pointer-events:none;width:1px;height:1px}.wordrows{display:flex;flex-direction:column;gap:6px;align-items:center;margin:4px auto 18px}.wordgrid{display:grid;grid-template-columns:repeat(5,56px);gap:6px}.tile{width:56px;height:56px;border:2px solid #d3d6da;background:#fff;display:grid;place-items:center;font-size:28px;font-weight:900;text-transform:uppercase;transition:transform .12s ease,background .2s ease,border-color .2s ease,color .2s ease}.tile.filled{border-color:#878a8c;animation:wordPop .08s ease}.tile.hit{background:#6aaa64;border-color:#6aaa64;color:#fff}.tile.near{background:#c9b458;border-color:#c9b458;color:#fff}.tile.miss{background:#787c7e;border-color:#787c7e;color:#fff}.tile.reveal{animation:wordFlip .46s ease both}.active-row .tile{box-shadow:0 0 0 1px rgba(0,0,0,.02)}.word-kbd{display:flex;flex-direction:column;gap:7px;max-width:560px;margin:18px auto 0}.kbd-row{display:flex;gap:5px;justify-content:center}.word-kbd button{height:52px;min-width:38px;flex:1 1 0;border:0;border-radius:7px;background:#d3d6da;color:#111;font:inherit;font-size:13px;font-weight:850;cursor:pointer;padding:0 5px}.word-kbd button.wide{flex:1.5 1 0;font-size:11px}.word-kbd button.hit{background:#6aaa64;color:#fff}.word-kbd button.near{background:#c9b458;color:#fff}.word-kbd button.miss{background:#787c7e;color:#fff}.word-high-contrast .tile.hit,.word-high-contrast .word-kbd button.hit{background:#85c0f9;border-color:#85c0f9}.word-high-contrast .tile.near,.word-high-contrast .word-kbd button.near{background:#f5793a;border-color:#f5793a}@keyframes wordFlip{0%{transform:rotateX(0)}45%{transform:rotateX(90deg)}55%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}@keyframes wordPop{50%{transform:scale(1.08)}}@keyframes wordShake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}.wordgrid.shake{animation:wordShake .34s ease}
.number-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.attempt-meter{text-align:right}.attempt-meter small{display:block;color:var(--muted);font-weight:750}.attempt-meter strong{font-size:20px}.calc-expression{margin:14px 0 18px;padding:12px 14px;border-radius:12px;background:var(--soft);text-align:center;color:var(--muted);font-size:13px;font-weight:800;min-height:44px}.calc-cards{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:18px auto}.calc-card{min-width:105px;min-height:92px;border:2px solid var(--line);background:#fff;border-radius:18px;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease}.calc-card:hover{transform:translateY(-2px);border-color:#aeb6c0}.calc-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px rgba(80,101,126,.12)}.calc-card strong{font-size:30px}.calc-card small{max-width:160px;color:var(--muted);font-size:11px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calc-ops{display:flex;gap:8px;justify-content:center;margin:16px auto}.calc-ops button{width:54px;height:48px;border:1px solid var(--line);border-radius:13px;background:var(--card);font:inherit;font-size:21px;font-weight:900;cursor:pointer}.calc-ops button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.calc-ops button:disabled{opacity:.4;cursor:not-allowed}
.sudoku-panel{max-width:860px;margin-left:auto;margin-right:auto}.sudoku-meta{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}.sudoku-meta>span:not(.pill){display:flex;gap:6px;align-items:baseline}.sudoku-meta small{color:var(--muted);font-weight:750}.sudoku-board{display:grid;grid-template-columns:repeat(9,1fr);width:min(100%,612px);aspect-ratio:1;margin:0 auto;border:3px solid #31363d;background:#31363d;gap:1px}.s-cell{position:relative;min-width:0;border:0;background:#fff;color:var(--text);font:inherit;font-size:clamp(18px,3.7vw,28px);font-weight:700;cursor:pointer;display:grid;place-items:center;padding:0}.s-cell:nth-child(3n){border-right:2px solid #31363d}.s-cell:nth-child(9n){border-right:0}.s-cell:nth-child(n+19):nth-child(-n+27),.s-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #31363d}.s-cell.given{background:#f1f3f5;font-weight:900;color:#20242a}.s-cell.peer{background:#f4f8fb}.s-cell.given.peer{background:#e9eef2}.s-cell.same{background:#e6f0f8}.s-cell.selected{box-shadow:inset 0 0 0 3px #6c8baa;background:#eef6fc;z-index:1}.s-cell.conflict{background:var(--badbg)!important;color:var(--bad)}.cell-value{line-height:1}.note-grid{position:absolute;inset:4px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);font-size:clamp(7px,1.3vw,10px);font-weight:750;color:#68717c}.note-grid i{font-style:normal;display:grid;place-items:center}.sudoku-pad{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;width:min(100%,612px);margin:14px auto 10px}.numkey{border:1px solid var(--line);border-radius:11px;background:var(--card);min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.numkey strong{font-size:22px}.numkey small{font-size:9px;color:var(--muted)}.numkey:disabled{opacity:.35}.sudoku-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;width:min(100%,612px);margin:0 auto 14px}.tool-btn{border:1px solid var(--line);background:var(--soft);border-radius:12px;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:inherit;cursor:pointer}.tool-btn strong{font-size:12px}.tool-btn small{font-size:9px;color:var(--muted);margin-top:2px}.tool-btn.active{background:#e6f0f8;border-color:#89a8c3;color:#375874}.tool-btn:disabled{opacity:.4}
.memory-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:520px;margin:0 auto 12px}.memory-meta>div{background:var(--soft);border-radius:12px;padding:10px 12px;text-align:center}.memory-meta small{display:block;color:var(--muted);font-weight:750}.memory-meta strong{font-size:17px}.memory-stage{position:relative;min-height:360px;display:grid;place-items:center}.memory-countdown{position:absolute;top:5px;left:50%;transform:translateX(-50%);z-index:3;border-radius:999px;background:#17191d;color:#fff;padding:6px 10px;font-size:11px;font-weight:850;min-width:70px;text-align:center}.memory-countdown:empty{display:none}.memory-grid{--memory-size:4;display:grid;grid-template-columns:repeat(var(--memory-size),minmax(0,1fr));gap:7px;width:min(100%,420px);margin:30px auto 10px}.memory-cell{width:auto;height:auto;aspect-ratio:1;border:1px solid var(--line);border-radius:12px;background:var(--soft);cursor:pointer;transition:transform .12s ease,background .14s ease,border-color .14s ease}.memory-cell.flash,.memory-cell.answer{background:#82bd9d;border-color:#5f9d79;transform:scale(.95)}.memory-cell.selected{background:#dce8f5;border-color:#86a5c4}.memory-cell.wrongpick{background:var(--badbg);border-color:#d6a2a2}
@media(prefers-reduced-motion:reduce){.tile.reveal,.tile.filled,.wordgrid.shake,.memory-cell,.calc-card{animation:none!important;transition:none!important}}
@media(max-width:620px){.word-settings{justify-content:stretch}.toggle{flex:1}.text-btn{flex:1}.wordgrid{grid-template-columns:repeat(5,min(15vw,52px))}.tile{width:min(15vw,52px);height:min(15vw,52px);font-size:25px}.word-kbd{width:100%}.word-kbd button{min-width:0;height:48px;font-size:12px;padding:0 2px}.calc-card{min-width:88px;min-height:80px}.calc-card strong{font-size:26px}.sudoku-board{width:100%}.sudoku-pad,.sudoku-actions{width:100%}.s-cell{font-size:clamp(17px,5.8vw,24px)}.note-grid{inset:2px;font-size:7px}.numkey{min-height:48px}.numkey small{display:none}.memory-stage{min-height:300px}.memory-grid{width:min(100%,360px);gap:5px}.memory-cell{border-radius:9px}}


/* v0.8 specialist quality pass */
.anagram-panel{max-width:780px;margin-left:auto;margin-right:auto}.round-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.anagram-clue{text-align:center;max-width:620px;margin:18px auto 12px;font-size:14px}.anagram-build,.anagram-rack{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;min-height:64px;margin:12px auto}.anagram-slot,.letter-tile{width:54px;height:58px;border-radius:12px;font:inherit;font-size:24px;font-weight:900;display:grid;place-items:center}.anagram-slot{border:2px solid var(--line);background:#fff;color:var(--text)}.anagram-slot.filled{border-color:#8a9cad;background:#f4f8fb;cursor:pointer}.letter-tile{border:1px solid #c9ced4;background:var(--soft);box-shadow:0 3px 0 #c6ccd2;cursor:pointer;transition:transform .1s ease}.letter-tile:hover{transform:translateY(-2px)}.letter-tile:active{transform:translateY(2px);box-shadow:none}.anagram-actions{justify-content:center}.anagram-actions .btn{min-width:110px}
.wordsearch-grid{touch-action:none;user-select:none;-webkit-user-select:none}.ws-cell{touch-action:none}.ws-cell.tracing{background:#e2edf7!important;box-shadow:inset 0 0 0 2px #7f9ab3;transform:scale(.96)}
.mental-panel{max-width:760px;margin-left:auto;margin-right:auto}.mental-progress{margin-top:13px}.difficulty-label{width:max-content;margin:10px auto 2px;border-radius:999px;padding:6px 10px;background:var(--soft);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.difficulty-label[data-level="hard"]{background:#f7ece7;color:#85513b}.difficulty-label[data-level="easy"]{background:#eaf4ec;color:#4e7357}.mental-difficulty{margin-bottom:12px}.mental-difficulty a{border:1px solid var(--line);border-radius:999px;padding:6px 9px;text-decoration:none;font-size:12px;font-weight:800;color:var(--muted)}
.visual-meta{display:flex;justify-content:center;gap:8px;margin:8px auto 12px}.visual-meta span{background:var(--soft);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850;color:var(--muted)}.visual-tile{position:relative;overflow:hidden}.visual-tile i{position:absolute;inset:24%;border-radius:50%;border:2px solid #7d8792}.visual-tile.target i{inset:19%;background:#384550;border-color:#384550}.visual-tile.distractor.v1 i{border-radius:3px}.visual-tile.distractor.v2 i{transform:rotate(45deg);border-radius:2px}.visual-tile.target.v1 i,.visual-tile.target.v2 i{border-radius:50%;transform:none}
@media(max-width:620px){.anagram-slot,.letter-tile{width:min(12vw,48px);height:min(13vw,52px);font-size:21px}.anagram-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.anagram-actions .btn{min-width:0}.visual-tile i{border-width:1.5px}}

.question-topic{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;margin:-6px 0 12px;border-radius:999px;background:#eef4f8;color:#4f6578;font-size:11px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.answer-feedback{display:grid;gap:4px}.answer-feedback strong{font-size:14px}.answer-feedback span{line-height:1.45}
.quiz-review{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.review-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.review-head small{font-size:10px;letter-spacing:.08em;font-weight:900;color:var(--muted)}.review-head h3{margin:3px 0 0;font-size:22px}.topic-scoreboard{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.topic-scoreboard span{display:flex;gap:5px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:11px;color:var(--muted)}.topic-scoreboard strong{color:var(--text)}.review-list{display:grid;gap:8px;margin-top:14px}.review-item{border:1px solid var(--line);border-radius:13px;background:var(--card);overflow:hidden}.review-item summary{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;padding:11px 12px;cursor:pointer;list-style:none}.review-item summary::-webkit-details-marker{display:none}.review-item.ok summary>span{color:var(--good)}.review-item.miss summary>span{color:#b06b29}.review-item summary strong{font-size:12px}.review-item summary em{font-style:normal;font-size:10px;color:var(--muted)}.review-item p{margin:0;padding:0 12px 9px;font-size:12px;line-height:1.48}.review-item .review-q{font-weight:800;padding-top:2px}.review-item .muted{color:var(--muted)}
@media(max-width:620px){.review-head{display:grid}.topic-scoreboard{justify-content:flex-start}.review-item summary{grid-template-columns:24px 1fr auto}.practice-options{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.practice-options a{white-space:nowrap}}

@media(max-width:620px){.wordsearch-page .preview-note{display:none}.wordsearch-page .topbar{position:static}.wordsearch-page .gamepage{padding-top:10px}.wordsearch-page .mode-switch{margin:0 0 8px}.wordsearch-page .gameheader{margin:0 0 8px;gap:8px;align-items:center}.wordsearch-page .gameheader h1{font-size:27px;margin:2px 0}.wordsearch-page .gameheader p{display:none}.wordsearch-page .scorebox{padding:8px 10px;min-width:76px}.wordsearch-page .panel{padding:12px}.wordsearch-page .wordsearch-grid{margin:10px auto}.wordsearch-page .word-list{gap:4px}.wordsearch-page .word-list span{padding:5px 7px;font-size:10px}.wordsearch-page .status{margin-top:8px}.wordsearch-page .cta{margin-top:8px}}


/* v0.10 weekly progression */
.weekly-preview{margin:18px 0 8px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#fff,#f7f9fb);padding:18px;box-shadow:var(--shadow)}.weekly-preview-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.weekly-preview-head small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em}.weekly-preview-head strong{display:block;margin-top:3px;font-size:18px}.weekly-preview-head>span{border-radius:999px;background:var(--soft);padding:7px 10px;font-size:11px;font-weight:850;color:var(--muted)}.weekly-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.weekly-preview-grid>div{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px}.weekly-preview-grid small{display:block;color:var(--muted);font-size:10px;font-weight:800}.weekly-preview-grid strong{display:block;margin-top:3px;font-size:19px}.weekly-preview p{margin:8px 0;color:var(--muted);font-size:12px}.weekly-preview>a{font-size:13px;font-weight:850;color:var(--text)}
.week-nav{display:flex;justify-content:space-between;gap:10px;margin:-4px 0 16px}.recap-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 6px}.recap-hero>div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:17px;box-shadow:var(--shadow)}.recap-hero small,.recap-hero span{display:block;color:var(--muted);font-size:11px}.recap-hero strong{display:block;font-size:28px;margin:4px 0;letter-spacing:-.04em}.recap-hero .up,.up{color:var(--good)!important}.recap-hero .down,.down{color:var(--bad)!important}.recap-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.recap-day{min-height:116px;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:11px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:3px}.recap-day small{color:var(--muted);font-weight:800}.recap-day strong{font-size:25px}.recap-day span{margin-top:auto;font-weight:850}.recap-day em{font-style:normal;color:var(--muted);font-size:11px}.recap-day.played{border-color:#bdd6c7;background:#f6fbf8}.recap-day.perfect{background:var(--goodbg);border-color:#94c2a7}.recap-day.future{opacity:.45;background:var(--soft)}.recap-table{overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--card)}.recap-game-head,.recap-game-row{display:grid;grid-template-columns:minmax(170px,1.6fr) repeat(4,minmax(70px,.65fr));align-items:center;gap:8px;min-width:590px;padding:10px 12px}.recap-game-head{background:var(--soft);font-size:10px;color:var(--muted);font-weight:850;text-transform:uppercase}.recap-game-row{border-top:1px solid var(--line);font-size:12px}.recap-game-row>div{display:flex;align-items:center}.recap-game-row .form{font-weight:850}.recap-insights{grid-template-columns:repeat(3,1fr)}
@media(max-width:700px){.weekly-preview-grid{grid-template-columns:1fr 1fr}.weekly-preview-head{align-items:flex-start}.recap-hero{grid-template-columns:1fr 1fr}.recap-days{grid-template-columns:repeat(7,minmax(58px,1fr));overflow-x:auto;padding-bottom:4px}.recap-day{min-height:100px}.recap-page .gameheader{align-items:flex-start}.recap-insights{grid-template-columns:1fr}.week-nav{display:grid;grid-template-columns:1fr 1fr}}

/* v0.11 personal progress + specialist practice */
.progress-preview{margin:10px 0 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:16px 18px;box-shadow:var(--shadow)}.progress-preview-head,.progress-preview-body{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-preview-head small,.progress-preview-body small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.06em}.progress-preview-head strong,.progress-preview-body strong{display:block;margin-top:3px}.progress-preview-head a{font-size:13px;font-weight:850;color:var(--text)}.progress-preview-body{justify-content:flex-start;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.progress-preview-body>div{flex:1}.progress-preview-body p{margin:4px 0 0;color:var(--muted);font-size:12px}.trend-chip{border-radius:999px;padding:7px 9px;background:var(--soft);font-size:11px;font-weight:900;white-space:nowrap}.progress-summary{grid-template-columns:repeat(3,1fr)}.next-challenge{margin:18px 0 28px;padding:22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fff,#f5f8fb);box-shadow:var(--shadow)}.next-challenge h2{margin:6px 0 2px;font-size:26px}.next-challenge>strong{display:block;font-size:18px}.next-challenge p{color:var(--muted);margin:6px 0 15px}.progress-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.progress-card{border:1px solid var(--line);border-radius:20px;background:var(--card);padding:17px;box-shadow:var(--shadow)}.progress-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center}.progress-card-head small{color:var(--muted);font-size:10px;font-weight:900}.progress-card-head h2{font-size:18px;margin:2px 0}.progress-card-head .btn{padding:8px 10px;min-height:38px}.progress-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.progress-kpis>div{background:var(--soft);border-radius:12px;padding:9px}.progress-kpis small,.progress-kpis span{display:block;color:var(--muted);font-size:10px}.progress-kpis strong{display:block;margin:3px 0;font-size:15px}.spark-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.spark-row>div>small{display:block;color:var(--muted);font-size:10px;font-weight:800;margin-bottom:5px}.spark-bars{height:52px;display:flex;gap:3px;align-items:end;padding:5px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.spark-bars i{display:block;flex:1;min-width:3px;height:var(--h);max-height:100%;background:#9aaec4;border-radius:4px 4px 2px 2px;position:relative}.spark-bars i span{position:absolute;opacity:0;pointer-events:none}.spark-empty{height:52px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:10px}.practice-options{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:-2px 0 14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.practice-options label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:10px;font-weight:850}.practice-options select{min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:7px 10px;font:inherit;font-size:13px}.level-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 14px}.level-tabs a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;text-decoration:none;color:var(--muted);font-size:12px;font-weight:850}.level-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.memory-lives{display:none}.memory-lives.active{display:block}.memory-lives strong{letter-spacing:.1em}
@media(max-width:820px){.progress-grid{grid-template-columns:1fr}.progress-summary{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.progress-summary{grid-template-columns:1fr 1fr}.progress-summary .statcard:last-child{grid-column:1/-1}.progress-card{padding:14px}.progress-kpis{grid-template-columns:1fr 1fr}.progress-kpis>div:last-child{grid-column:1/-1}.spark-row{grid-template-columns:1fr}.progress-preview-body{align-items:flex-start}.progress-card-head{grid-template-columns:auto 1fr}.progress-card-head .btn{grid-column:1/-1}.practice-options{align-items:stretch}.practice-options label{flex:1 1 140px}}


/* v0.12 mastery + deduction + endurance polish */
.logic-style-tabs{margin-bottom:8px}.logic-style-tabs a{min-width:110px;text-align:center}.deduction-panel{padding:22px}.deduction-head{margin-bottom:16px}.deduction-head h2{margin:7px 0 4px;font-size:28px}.deduction-head p{margin:0;color:var(--muted);line-height:1.55}.topic-badge{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;letter-spacing:.06em;color:var(--muted)}.deduction-layout{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:18px;align-items:start}.deduction-clues{border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:15px}.deduction-clues>small{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.deduction-clues ol{margin:0;padding-left:20px;display:grid;gap:9px}.deduction-clues li{padding-left:2px;font-size:13px;line-height:1.48}.deduction-grids{display:grid;gap:14px}.deduction-grid-wrap{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:12px;overflow:auto}.deduction-grid-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.deduction-grid-title strong{font-size:14px}.deduction-grid-title small{color:var(--muted);font-size:10px}.deduction-grid{display:grid;grid-template-columns:minmax(72px,1.15fr) repeat(var(--ded-size,3),minmax(58px,1fr));gap:4px;min-width:300px}.deduction-grid>strong{display:flex;align-items:center;justify-content:center;min-height:34px;text-align:center;font-size:10px;line-height:1.15;padding:3px;color:var(--muted)}.deduction-grid>strong:nth-of-type(n+4){justify-content:flex-start;color:var(--text);font-size:11px}.ded-cell{min-height:48px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit;font-size:20px;font-weight:900;cursor:pointer;transition:transform .1s ease,background .12s ease,border-color .12s ease}.ded-cell:hover{transform:translateY(-1px);border-color:#a9b7c5}.ded-cell.no{background:#f6f7f8;color:#8b96a2}.ded-cell.yes{background:#e4f3ea;border-color:#76aa8d;color:#2f7350}.ded-cell.conflict{background:var(--badbg);border-color:#d59a9a;color:#a34d4d}.deduction-actions{margin-top:14px}.memory-best{display:none}.memory-best.active{display:block}.memory-level-track{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;width:min(100%,520px);margin:0 auto 10px}.memory-level-track span{height:24px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--soft);font-size:9px;font-weight:900;color:var(--muted)}.memory-level-track span.done{background:#dfeee6;border-color:#91b5a2;color:#397152}.memory-level-track span.current{background:#17191d;border-color:#17191d;color:#fff;box-shadow:0 0 0 3px rgba(23,25,29,.08)}.practice-options select#geoRound{min-width:118px}
@media(max-width:760px){.deduction-layout{grid-template-columns:1fr}.deduction-clues{order:0}.deduction-grids{order:1}.deduction-grid-wrap{padding:10px}.deduction-panel{padding:14px}.deduction-head h2{font-size:24px}.deduction-grid{grid-template-columns:minmax(62px,.9fr) repeat(var(--ded-size,3),minmax(48px,1fr))}.ded-cell{min-height:46px}.deduction-actions .btn{flex:1 1 42%}}
@media(max-width:620px){.memory-meta{grid-template-columns:1fr 1fr}.memory-best.active{display:block}.memory-level-track{gap:3px}.memory-level-track span{height:22px;font-size:8px}.logic-style-tabs{overflow-x:auto;flex-wrap:nowrap}.logic-style-tabs a{white-space:nowrap}.deduction-clues li{font-size:12px}}

/* V0.13 specialist feedback */
.memory-streak{display:none}.memory-streak.active{display:block}.memory-cell.hit{background:#82bd9d;border-color:#4b8e69}.memory-cell.missed{background:#fff2c7;border-color:#d3a83c;box-shadow:inset 0 0 0 2px rgba(211,168,60,.18)}.memory-stage.life-lost .memory-grid{animation:memoryNudge .28s ease}.memory-countdown.loss{background:#9b4b4b}.memory-countdown.perfect{background:#2f7350}@keyframes memoryNudge{0%,100%{transform:translateX(0)}35%{transform:translateX(-5px)}65%{transform:translateX(5px)}}@media(prefers-reduced-motion:reduce){.memory-stage.life-lost .memory-grid{animation:none}}@media(max-width:620px){.deduction-grid[style*="--ded-size:4"]{min-width:360px}.deduction-grid[style*="--ded-size:4"] .ded-cell{min-height:42px}.deduction-grid[style*="--ded-size:4"]>strong{font-size:9px}.memory-streak.active{display:block}}

.completion:focus{outline:none}


/* v0.14 guided-solving + mastery polish */
.route-meter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 14px;padding:11px 13px;border:1px solid #bdd8c9;border-radius:14px;background:#f1f8f4}.route-meter span:first-child{display:grid;gap:2px}.route-meter strong{font-size:12px;color:#2f7350}.route-meter small{font-size:10px;color:var(--muted)}.route-meter.blocked{border-color:#e0b7b7;background:#fff5f5}.route-meter.blocked strong{color:#9b4b4b}.hint-count{font-size:10px;font-weight:900;color:var(--muted);white-space:nowrap}.quiz-practice-options{margin:0 0 14px}.quiz-practice-options a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;text-decoration:none;color:var(--muted);font-size:12px;font-weight:850}.quiz-practice-options a.active{background:var(--accent);border-color:var(--accent);color:#fff}.sudoku-actions{flex-wrap:wrap}.sudoku-actions .tool-btn{flex:1 1 118px}.sudoku-meta{flex-wrap:wrap}
@media(max-width:620px){.route-meter{align-items:flex-start}.sudoku-actions .tool-btn{flex:1 1 42%}.quiz-practice-options{overflow-x:auto;flex-wrap:nowrap}.quiz-practice-options a{white-space:nowrap}}

/* v0.15 trust + calibration polish */
.s-cell.mistake:not(.given){box-shadow:inset 0 0 0 2px rgba(196,62,62,.75);background:color-mix(in srgb,var(--danger,#c43e3e) 10%,var(--surface,#fff));}
.s-cell.technique-focus:not(.given){box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent,#5b69e8) 72%,transparent);background:color-mix(in srgb,var(--accent,#5b69e8) 10%,var(--surface,#fff));}
.number-head #difficultyLabel{font-weight:800;color:var(--text,#1e2430)}


/* v0.18 review queue + deeper Sudoku coaching */
.review-preview{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:var(--card);padding:14px 16px}.review-preview-head,.review-preview-body{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-preview-head small,.review-preview-body small{display:block;color:var(--muted);font-size:10px;font-weight:850}.review-preview-head strong{display:block;margin-top:3px}.review-preview-head a{font-size:13px;font-weight:850;color:var(--text)}.review-preview-body{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);align-items:stretch}.review-preview-body>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;min-width:150px}.review-preview-body>div small{grid-column:2}.review-preview-body p{margin:0;color:var(--muted);font-size:12px;align-self:center}.review-summary{grid-template-columns:repeat(3,1fr)}.review-guide{display:grid;gap:5px;margin:16px 0 20px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.review-guide span{color:var(--muted);font-size:13px;line-height:1.5}.review-queue-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.review-queue-card{border:1px solid var(--line);border-radius:20px;background:var(--card);padding:17px;box-shadow:var(--shadow)}.review-queue-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center}.review-queue-card-head h2{margin:2px 0;font-size:20px}.review-queue-card-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.review-queue-card-head small{color:var(--muted);font-size:10px;font-weight:900}.review-queue-card-head .btn{padding:9px 11px}.queue-clear{font-size:12px;font-weight:900;color:#397152;background:#e4f3ea;border-radius:999px;padding:8px 10px}.review-queue-list{display:grid;gap:8px;margin-top:14px}.review-queue-list>div:not(.empty-state){display:grid;gap:4px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}.review-queue-list span{font-size:9px;font-weight:900;color:var(--muted);letter-spacing:.05em}.review-queue-list strong{font-size:12px;line-height:1.35}.review-queue-list small{font-size:10px;color:var(--muted)}.review-actions{flex-wrap:wrap}
@media(max-width:760px){.review-queue-grid{grid-template-columns:1fr}.review-preview-body{align-items:flex-start;flex-wrap:wrap}.review-preview-body p{flex-basis:100%}}
@media(max-width:620px){.review-summary{grid-template-columns:repeat(3,1fr)}.review-queue-card-head{grid-template-columns:auto 1fr}.review-queue-card-head .btn,.review-queue-card-head .queue-clear{grid-column:1/-1}.review-preview-body>div{min-width:130px;flex:1}}

/* v0.19 transparent spaced review */
.review-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px}.review-steps span{display:grid;place-items:center;min-height:34px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:10px;font-weight:900;color:var(--muted)}.review-queue-list>div.is-due{border-color:#e3c58f;background:#fffaf0}.review-queue-list>div.is-due span{color:#8a641b}.review-queue-list>div.is-scheduled{background:#f7faf8}.review-queue-list>div.is-scheduled span{color:#52705e}@media(max-width:620px){.review-steps{grid-template-columns:repeat(3,1fr)}}

/* V0.20 transparent review strength */
.review-summary{grid-template-columns:repeat(4,1fr)}
.review-strength,.memory-progress{margin:16px 0 22px;padding:17px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow)}
.review-strength-head,.memory-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.review-strength-head small,.memory-progress-head small{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.06em}.review-strength-head strong{display:block;margin-top:3px;font-size:18px}.review-strength-head>span{border-radius:999px;background:var(--soft);padding:7px 10px;font-size:11px;font-weight:900;color:var(--muted)}
.review-strength-ladder,.memory-progress-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.review-strength-ladder>div,.memory-progress-grid>div{display:grid;gap:2px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fafbfc}.review-strength-ladder small,.memory-progress-grid small{font-size:9px;font-weight:850;color:var(--muted)}.review-strength-ladder strong,.memory-progress-grid strong{font-size:22px}.review-strength-ladder span,.memory-progress-grid span{font-size:11px;font-weight:900}.review-strength-ladder .learning{background:#fff8ef}.review-strength-ladder .building{background:#f7f9ff}.review-strength-ladder .strong{background:#f3f8fb}.review-strength-ladder .maintained{background:#f1f8f4}.review-strength>p,.memory-progress-note,.memory-progress-head p{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.memory-progress-head h2{margin:3px 0 0;font-size:22px}.memory-progress-head p{font-size:12px}.review-band{font:inherit}.review-band.learning{color:#9a641f}.review-band.building{color:#596f9c}.review-band.strong{color:#38677e}.review-band.maintained{color:#397152}.review-stage-dots{display:flex!important;gap:4px!important;letter-spacing:0!important;margin-top:2px}.review-stage-dots i{width:7px;height:7px;border-radius:50%;background:#dbe1e7}.review-stage-dots i.on{background:#6e879f}
@media(max-width:700px){.review-summary{grid-template-columns:1fr 1fr}.review-strength-ladder,.memory-progress-grid{grid-template-columns:1fr 1fr}.review-strength-head,.memory-progress-head{flex-direction:column}.memory-progress-head .btn{width:100%}}

.review-forecast{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.review-forecast>div:first-child small{display:block;color:var(--muted);font-size:9px;font-weight:900}.review-forecast>div:first-child strong{display:block;margin-top:3px}.review-forecast-bars{height:74px;display:grid;grid-template-columns:repeat(7,1fr);gap:5px;align-items:end}.review-forecast-bars>span{height:100%;display:grid;grid-template-rows:1fr auto auto;align-items:end;justify-items:center;gap:2px}.review-forecast-bars i{width:min(18px,80%);height:var(--h);min-height:5px;max-height:45px;border-radius:5px 5px 2px 2px;background:#91a7bb}.review-forecast-bars b{font-size:10px}.review-forecast-bars small{font-size:8px;color:var(--muted);white-space:nowrap}@media(max-width:620px){.review-forecast{grid-template-columns:1fr}.review-forecast-bars{height:68px}.review-forecast-bars small{font-size:7px}}


/* V0.21 acquisition + discoverability surfaces */
.topic-select{display:inline-flex;align-items:center;gap:7px;margin-left:auto}.topic-select select{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 30px 8px 11px;font:inherit;font-size:12px;font-weight:800;color:var(--text)}
.acq-page{padding:38px 0 80px}.acq-hero{padding:26px 0 12px}.acq-hero h1{font-size:clamp(42px,7vw,72px);line-height:.98;letter-spacing:-.055em;margin:16px 0;max-width:900px}.acq-hero p{max-width:760px;color:var(--muted);font-size:18px;line-height:1.6}.acq-kicker{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.acq-kicker span{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850;color:var(--muted)}
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.hub-card,.challenge-card,.acq-panel{border:1px solid var(--line);background:var(--card);border-radius:19px;padding:19px;box-shadow:var(--shadow)}.hub-card{text-decoration:none;color:var(--text);display:flex;flex-direction:column;min-height:210px}.hub-card:hover,.challenge-card:hover{border-color:#c7cdd5;transform:translateY(-2px)}.hub-card small,.challenge-card small{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.06em}.hub-card h2,.hub-card h3,.challenge-card h3{margin:8px 0;font-size:23px;letter-spacing:-.035em}.hub-card p,.challenge-card p,.acq-panel p{margin:0;color:var(--muted);line-height:1.55}.hub-card .arrow{margin-top:auto;padding-top:18px;font-weight:850}.challenge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.challenge-card{display:block;text-decoration:none;color:var(--text);transition:.16s ease}.challenge-card h3{font-size:19px}.challenge-card .challenge-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.challenge-card .challenge-meta span{background:var(--soft);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;color:var(--muted)}
.acq-section{margin-top:42px}.acq-section>.sectionhead{margin-top:0}.acq-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.acq-info-grid .acq-panel h3{margin:0 0 7px;font-size:17px}.acq-list{margin:9px 0 0;padding-left:20px;color:var(--muted);line-height:1.65}.acq-breadcrumbs{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:18px}.acq-breadcrumbs a{color:inherit}.play-box{display:grid;grid-template-columns:1.4fr .8fr;gap:16px;align-items:center;border:1px solid var(--line);background:linear-gradient(135deg,#fff,#f4f6f8);border-radius:22px;padding:22px;margin:24px 0}.play-box h2{font-size:30px;letter-spacing:-.04em;margin:5px 0 8px}.play-box p{margin:0;color:var(--muted);line-height:1.55}.play-box .play-actions{display:grid;gap:8px}.acq-copy{max-width:820px}.acq-copy h2{font-size:28px;letter-spacing:-.035em;margin:34px 0 9px}.acq-copy p{color:var(--muted);line-height:1.7;margin:0 0 14px}.acq-related{display:flex;gap:8px;flex-wrap:wrap}.acq-related a{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 11px;text-decoration:none;color:var(--text);font-size:12px;font-weight:800}.traffic-surface{margin-top:16px;padding:14px 16px;border-radius:15px;border:1px solid var(--line);background:var(--soft);font-size:12px;color:var(--muted);line-height:1.55}.home-explore{margin-top:28px}.home-explore .hub-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.hub-grid,.home-explore .hub-grid{grid-template-columns:1fr 1fr}.acq-info-grid{grid-template-columns:1fr}.play-box{grid-template-columns:1fr}.challenge-grid{grid-template-columns:1fr}}
@media(max-width:620px){.hub-grid,.home-explore .hub-grid{grid-template-columns:1fr}.acq-hero{padding-top:10px}.acq-hero h1{font-size:42px}.topic-select{width:100%;margin-left:0;justify-content:space-between}.topic-select select{flex:1}.play-box{padding:17px}.play-box h2{font-size:25px}}

/* V0.22 focused arithmetic + flag practice */
.practice-options label{display:inline-flex;align-items:center;gap:7px}.practice-options select{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 28px 7px 10px;font:inherit;font-size:12px;font-weight:800;color:var(--text)}.difficulty-links{display:inline-flex;gap:6px}.geo-flag-mode .question{font-size:clamp(28px,7vw,44px);line-height:1.15;letter-spacing:-.025em}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.geo-flag-mode .question .flag-emoji{display:block;font-size:64px;line-height:1;margin-bottom:14px}.geo-flag-mode .question .flag-copy{font-size:clamp(24px,6vw,36px)}

/* V0.24 U.S. visual geography */
.geo-map-mode .gamepage{max-width:1040px}.map-quiz-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;margin-bottom:16px}.map-quiz-head>div>small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.07em}.map-prompt{font-size:clamp(27px,4.5vw,38px);font-weight:900;letter-spacing:-.04em;line-height:1.08;margin-top:6px}.map-kpis{display:grid;grid-template-columns:repeat(4,minmax(68px,1fr));gap:7px}.map-kpis span{display:grid;gap:2px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--soft);min-width:76px}.map-kpis small{font-size:9px;font-weight:850;color:var(--muted)}.map-kpis strong{font-size:16px}.state-map-wrap{border:1px solid var(--line);border-radius:18px;background:#f8fafb;padding:12px;overflow:hidden}.state-map{width:100%;max-width:920px;margin:auto}.state-map svg{display:block;width:100%;height:auto;touch-action:manipulation}.state-map path[data-code]{fill:#dfe4e8!important;stroke:#fff!important;stroke-width:1.3!important;cursor:pointer;transition:fill .14s ease,opacity .14s ease,filter .14s ease}.state-map path[data-code]:hover:not(.is-outside){fill:#c9d2da!important}.state-map path[data-code]:focus{outline:none;filter:drop-shadow(0 0 4px rgba(57,76,96,.75));fill:#c4d2df!important}.state-map path.is-outside{opacity:.2;cursor:default}.state-map path.is-correct{fill:#7eb594!important}.state-map path.is-revealed{fill:#dfb95e!important}.state-map path.is-wrong{fill:#d77d7d!important}.map-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 2px 0;color:var(--muted);font-size:11px;font-weight:750}.map-legend span{display:inline-flex;align-items:center;gap:5px}.map-dot{width:9px;height:9px;border-radius:50%;background:#dfe4e8;border:1px solid rgba(0,0,0,.08)}.map-dot.solved{background:#7eb594}.map-dot.reveal{background:#dfb95e}.map-alt{margin-top:10px;font-size:11px}.map-alt a{color:var(--muted);font-weight:800}.geo-shape-mode .question{font-size:20px;text-align:center}.state-shape-figure{height:260px;display:grid;place-items:center;margin:4px auto 8px;border:1px solid var(--line);border-radius:18px;background:#f8fafb;overflow:hidden}.state-shape-figure svg{width:min(90%,440px);height:225px;overflow:visible}.state-shape-target{fill:#56616d!important;stroke:#fff!important;stroke-width:1.2!important}.shape-copy{display:block;font-size:clamp(22px,4vw,29px);font-weight:900;letter-spacing:-.035em;margin-top:8px}.geo-shape-mode .choices{max-width:680px;margin-left:auto;margin-right:auto}
@media(max-width:760px){.map-quiz-head{grid-template-columns:1fr}.map-kpis{grid-template-columns:1fr 1fr}.state-map-wrap{padding:6px;border-radius:15px}.geo-map-mode .panel{padding:16px}.state-shape-figure{height:220px}.state-shape-figure svg{height:190px}}
@media(max-width:420px){.map-kpis span{min-width:0;padding:8px}.map-kpis strong{font-size:14px}.map-prompt{font-size:26px}.state-shape-figure{height:200px}}
/* V0.25 world-country visual geography */
.world-map-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin:0 0 9px}.world-map-toolbar .btn{padding:7px 10px;font-size:11px}.world-map-toolbar strong{min-width:46px;text-align:center;font-size:11px;color:var(--muted)}
.world-map-wrap{border:1px solid var(--line);border-radius:18px;background:#f8fafb;padding:8px;overflow:auto;max-height:680px;overscroll-behavior:contain}.world-map{--world-scale:1;width:100%;min-width:100%}.world-map svg{display:block;width:calc(100% * var(--world-scale));min-width:100%;height:auto;touch-action:pan-x pan-y}
.world-map .quiz-country path,.world-map path.quiz-country,.world-map .quiz-country polygon,.world-map polygon.quiz-country{fill:#dfe4e8!important;stroke:#fff!important;stroke-width:1.25!important;transition:fill .14s ease,opacity .14s ease,filter .14s ease}.world-map .quiz-country:not(.is-outside){cursor:pointer}.world-map .quiz-country:not(.is-outside):hover path,.world-map path.quiz-country:not(.is-outside):hover{fill:#c9d2da!important}.world-map .quiz-country:focus{outline:none;filter:drop-shadow(0 0 5px rgba(57,76,96,.8))}.world-map .quiz-country.is-outside{opacity:.23;pointer-events:none}.world-map .quiz-country.is-correct path,.world-map path.quiz-country.is-correct,.world-map .quiz-country.is-correct polygon{fill:#7eb594!important}.world-map .quiz-country.is-revealed path,.world-map path.quiz-country.is-revealed,.world-map .quiz-country.is-revealed polygon{fill:#dfb95e!important}.world-map .quiz-country.is-wrong path,.world-map path.quiz-country.is-wrong,.world-map .quiz-country.is-wrong polygon{fill:#d77d7d!important}.world-map .quiz-country-dot{display:inline!important;opacity:1!important;fill:#dfe4e8!important;stroke:#fff!important;stroke-width:2!important;pointer-events:all}.world-map .quiz-country.is-correct .quiz-country-dot{fill:#7eb594!important}.world-map .quiz-country.is-revealed .quiz-country-dot{fill:#dfb95e!important}.world-map .quiz-country.is-wrong .quiz-country-dot{fill:#d77d7d!important}.world-map .quiz-country.is-outside .quiz-country-dot{opacity:.2!important}
.country-entry{display:grid;gap:7px;margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}.country-entry>label{font-size:11px;font-weight:900;letter-spacing:.025em}.country-entry>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.country-entry input{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:11px 12px;font:inherit;font-size:15px;color:var(--text);outline:none}.country-entry input:focus{border-color:#9aaab8;box-shadow:0 0 0 3px rgba(93,113,130,.11)}.country-entry small{color:var(--muted);font-size:10px}.country-latest{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:var(--soft);font-size:11px}.country-latest strong{white-space:nowrap}.country-latest span{color:var(--muted);line-height:1.5}
@media(max-width:760px){.world-map-wrap{padding:4px;border-radius:15px;max-height:520px}.world-map-toolbar{justify-content:center;flex-wrap:wrap}.country-entry>div{grid-template-columns:1fr 1fr}.country-entry input{grid-column:1/-1}.country-entry .btn{width:100%}.geo-world-map-mode .panel{padding:14px}.world-map svg{width:calc(100% * max(var(--world-scale),1.15))}}
@media(max-width:420px){.world-map-toolbar .btn{padding:6px 8px}.country-latest{display:grid}.world-map-wrap{max-height:460px}}
/* V0.26 Word Search depth */
.wordsearch-grid{grid-template-columns:repeat(var(--ws-size,10),1fr)}
.wordsearch-grid.dense{gap:2px;width:min(100%,620px)}
.wordsearch-grid.dense .ws-cell{border-radius:5px;font-size:clamp(9px,1.85vw,14px)}
.word-list .ws-hidden-note{background:#eef1f5;color:var(--text);border:1px dashed #b8c0ca;text-decoration:none}
@media(max-width:620px){.wordsearch-grid.dense{gap:1px;margin-left:-4px;margin-right:-4px;width:calc(100% + 8px)}.wordsearch-grid.dense .ws-cell{border-radius:4px;font-size:clamp(8px,2.6vw,12px);padding:0}}

/* V0.27 Logic Grid depth */
.deduction-local-stats{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 2px}.deduction-local-stats span{display:inline-flex;gap:5px;align-items:center;padding:6px 9px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:var(--muted);font-size:11px}.deduction-local-stats strong{color:var(--text);font-size:12px}
.deduction-head-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.deduction-pool{font-size:11px;font-weight:800;color:var(--muted)}.deduction-daily-note{display:inline-flex;margin:2px 0 8px;padding:5px 8px;border-radius:999px;background:#edf5ff;color:#40607f;font-size:11px;font-weight:800}.deduction-utility{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.btn.small{padding:8px 10px;font-size:11px}.deduction-clue-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.deduction-clue-head small{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.deduction-clue-head span{font-size:10px;color:var(--muted)}.deduction-clues ol{padding-left:22px}.ded-clue{appearance:none;border:0;background:transparent;padding:0;text-align:left;color:inherit;font:inherit;line-height:1.48;cursor:pointer;border-radius:5px}.ded-clue:hover{text-decoration:underline;text-underline-offset:2px}.ded-clue.used{color:#8b96a2;text-decoration:line-through;text-decoration-thickness:1px}.ded-clue:focus-visible{outline:2px solid #5f83a8;outline-offset:3px}.deduction-proof{margin:10px 2px 0;font-size:11px}.logic-print-ready .deduction-head{padding-bottom:4px}
@media(max-width:620px){.deduction-utility{display:grid;grid-template-columns:1fr 1fr}.deduction-utility .btn:last-child{grid-column:1/-1}.deduction-head-row{align-items:flex-start}.deduction-clue-head span{font-size:9px}}
@media print{
  @page{margin:12mm}
  body{background:#fff!important;color:#111!important;font-size:11pt}.preview-note,.topbar,.mode-switch,.gameheader>.scorebox,.logic-style-tabs,[data-logic-levels],.deduction-utility,.deduction-local-stats,.deduction-actions,.status,.deduction-proof,.footer,.skip-link{display:none!important}.wrap,.gamepage{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.gameheader{margin:0 0 8mm!important}.gameheader h1{font-size:18pt!important;margin:0!important}.gameheader p{display:none!important}.panel,.deduction-panel{border:0!important;box-shadow:none!important;padding:0!important;background:#fff!important}.deduction-head{margin-bottom:6mm!important}.deduction-head h2{font-size:20pt!important;margin:2mm 0!important}.deduction-head p{color:#333!important;font-size:10pt!important}.deduction-pool,.topic-badge,.deduction-daily-note{border:1px solid #bbb!important;background:#fff!important;color:#333!important}.deduction-layout{display:block!important}.deduction-clues{break-inside:avoid;border:1px solid #bbb!important;background:#fff!important;margin-bottom:6mm!important;padding:4mm!important}.ded-clue,.ded-clue.used{color:#111!important;text-decoration:none!important}.deduction-grids{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5mm!important}.deduction-grid-wrap{break-inside:avoid;border:1px solid #aaa!important;border-radius:0!important;padding:3mm!important;overflow:visible!important}.deduction-grid{min-width:0!important;gap:1mm!important}.ded-cell{min-height:12mm!important;border:1px solid #777!important;border-radius:0!important;background:#fff!important;color:#111!important}.ded-cell.no,.ded-cell.yes,.ded-cell.conflict{background:#fff!important;color:#111!important}.ded-cell{font-size:0!important}.deduction-grid>strong{color:#111!important;font-size:8pt!important}.deduction-grid-title small{display:none!important}
}

/* V0.28 Sudoku depth */
.sudoku-utility{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:min(100%,612px);margin:0 auto 14px}.sudoku-utility .tool-btn{min-height:58px}.utility-link{text-decoration:none;color:inherit}.sudoku-print-heading{display:none}.sudoku-print-ready .sudoku-panel{border-color:#c7d4df}.sudoku-print-ready #status:before{content:"Print-ready · ";font-weight:900}.sudoku-meta{justify-content:center}.sudoku-meta .pill{margin-right:auto}
@media(max-width:620px){.sudoku-utility{grid-template-columns:1fr 1fr}.sudoku-utility .utility-link{grid-column:1/-1}.sudoku-meta .pill{width:100%;margin-right:0}.sudoku-meta>span:not(.pill){flex:1 1 28%;justify-content:center}}
@media print{body{background:#fff!important}.preview-note,.topbar,.mode-switch,.gameheader,.practice-options,.sudoku-utility,.sudoku-pad,.sudoku-actions,#status,.cta,.footer,.toast{display:none!important}.wrap,.gamepage,.panel,.sudoku-panel{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}.sudoku-meta{margin:0 0 12mm!important;justify-content:flex-start!important;gap:7mm!important}.sudoku-meta span:nth-child(n+5){display:none!important}.sudoku-print-heading{display:flex!important;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 7mm;font-size:12pt}.sudoku-print-heading strong{font-size:22pt}.sudoku-board{width:150mm!important;height:150mm!important;margin:0 auto!important;break-inside:avoid;background:#222!important;border-color:#222!important}.s-cell{font-size:17pt!important;background:#fff!important;color:#111!important;box-shadow:none!important}.s-cell.given{background:#f1f1f1!important;font-weight:900!important}.s-cell:not(.given) .cell-value,.s-cell:not(.given) .note-grid{visibility:hidden!important}.s-cell.selected,.s-cell.peer,.s-cell.same,.s-cell.conflict,.s-cell.technique-focus,.s-cell.mistake{background:#fff!important;color:#111!important;box-shadow:none!important}.s-cell.given.selected,.s-cell.given.peer,.s-cell.given.same{background:#f1f1f1!important}}
/* V0.29 Mental Math fluency */
.mental-flow-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:-2px 0 10px}.mental-flow-tabs a{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;text-decoration:none;color:var(--muted);font-size:12px;font-weight:900}.mental-flow-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.mental-flow-tabs [data-weak-count]{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--soft);color:var(--text);font-size:10px}.mental-flow-tabs a.active [data-weak-count]{background:rgba(255,255,255,.2);color:#fff}.mental-fluency-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}.mental-fluency-strip>div{display:grid;gap:2px;border:1px solid var(--line);border-radius:14px;background:var(--soft);padding:11px 13px}.mental-fluency-strip small{font-size:9px;font-weight:900;letter-spacing:.07em;color:var(--muted)}.mental-fluency-strip strong{font-size:16px}.mental-fluency-strip span{font-size:10px;line-height:1.35;color:var(--muted)}.mental-timer{margin-left:auto;font-variant-numeric:tabular-nums}.mental-timer.urgent{background:#fff0ed;border-color:#e5b4aa;color:#a34735}.mental-empty{padding:24px;text-align:center}.mental-empty h2{margin:8px 0 7px;font-size:26px}.mental-empty p{max-width:620px;margin:0 auto 18px;color:var(--muted);line-height:1.6}.mental-empty .cta{justify-content:center}.mental-difficulty #mentalSecondsWrap select{min-width:112px}
@media(max-width:620px){.mental-fluency-strip{grid-template-columns:1fr}.mental-flow-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:8px;padding-bottom:2px}.mental-flow-tabs a{justify-content:center;white-space:normal;text-align:center;min-height:44px}.mental-timer{margin-left:0}.mental-panel .round-meta{flex-wrap:wrap}}

/* V0.30 Trivia depth */
.mode-mini-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:.55rem .8rem;font:inherit;font-weight:700;cursor:pointer}.mode-mini-btn:hover{border-color:var(--text)}

/* V0.32 Link Up Group Grid */
.group-grid-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:18px}.group-grid-head h2{margin:3px 0 6px;font-size:clamp(24px,5vw,34px);letter-spacing:-.035em}.group-grid-head p{margin:0;color:var(--muted);max-width:680px}.group-mistakes{flex:0 0 auto;text-align:right;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:10px 12px}.group-mistakes small{display:block;color:var(--muted);font-weight:750}.group-mistakes strong{display:block;letter-spacing:.12em;margin-top:4px}.group-word-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:16px 0}.group-word{min-height:68px;border:1px solid var(--line);border-radius:13px;background:var(--card);font:inherit;font-weight:850;font-size:clamp(13px,2.5vw,17px);letter-spacing:.015em;color:var(--text);cursor:pointer;padding:10px 6px;overflow-wrap:anywhere;transition:transform .12s ease,background .12s ease,border-color .12s ease}.group-word:hover{transform:translateY(-1px)}.group-word.selected{background:#e0e8f4;border-color:#8097b4;box-shadow:inset 0 0 0 1px #8097b4}.group-solved{display:grid;gap:8px}.group-solved-row{border-radius:14px;padding:12px 14px;border:1px solid var(--line)}.group-solved-row>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.group-solved-row small{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.group-solved-row strong{font-size:18px}.group-solved-row span{display:block;font-weight:800;margin-top:4px;word-spacing:.12em}.group-solved-row p{margin:5px 0 0;font-size:12px;color:#3f4650}.group-solved-row.easy{background:#f4edbd}.group-solved-row.standard{background:#dcefdc}.group-solved-row.hard{background:#dce8f5}.group-solved-row.tricky{background:#e9dcf2}.group-solved-row.revealed{opacity:.78}.group-specialist-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 12px}.group-specialist-stats>div{border:1px solid var(--line);border-radius:13px;background:var(--soft);padding:9px 11px}.group-specialist-stats small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.group-specialist-stats strong{display:block;margin-top:3px;font-size:18px;font-variant-numeric:tabular-nums}.group-archive-bar{display:grid;grid-template-columns:minmax(150px,1fr) minmax(140px,190px) auto auto;gap:8px;align-items:end;border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:10px 12px;margin:0 0 14px}.group-archive-bar>div small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.07em}.group-archive-bar>div strong{display:block;margin-top:2px}.group-archive-bar label{display:grid;gap:3px;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}.group-archive-bar input{min-height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px 9px;font:inherit;font-size:12px;color:var(--text)}.group-archive-bar .btn{min-height:38px;padding:8px 11px;font-size:11px}.group-guess-history{margin:10px 0 0;border:1px solid var(--line);border-radius:14px;background:#fafbfc;padding:10px 12px}.group-guess-history-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.group-guess-history-head small{font-size:9px;font-weight:900;letter-spacing:.07em;color:var(--muted)}.group-guess-history-head span{font-size:10px;color:var(--muted)}#groupGuessRows{display:grid;gap:5px;margin-top:7px}.group-guess-row{display:grid;grid-template-columns:75px minmax(0,1fr);gap:8px;align-items:center;padding:6px 8px;border-radius:9px;background:#fff;border:1px solid var(--line)}.group-guess-row span{font-size:9px;font-weight:900;text-transform:uppercase;color:var(--muted)}.group-guess-row.one-away span{color:#8b6810}.group-guess-row strong{font-size:11px;line-height:1.35;overflow-wrap:anywhere}.group-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.group-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:800;margin-top:12px}@media(max-width:700px){.group-specialist-stats{grid-template-columns:repeat(3,1fr)}.group-archive-bar{grid-template-columns:1fr 1fr}.group-archive-bar>div{grid-column:1/-1}.group-archive-bar label{grid-column:1/-1}.group-archive-bar .btn{width:100%}}@media(max-width:560px){.group-grid-head{display:block}.group-mistakes{text-align:left;margin-top:12px}.group-word-grid{gap:6px}.group-word{min-height:58px;font-size:12px;padding:7px 3px}.group-solved-row>div{display:block}.group-specialist-stats{grid-template-columns:repeat(2,1fr)}.group-specialist-stats>div:last-child{grid-column:1/-1}.group-guess-history-head{display:block}.group-guess-history-head span{display:block;margin-top:3px}.group-guess-row{grid-template-columns:66px minmax(0,1fr)}.group-actions .btn{flex:1 1 calc(50% - 8px);padding-inline:8px}}
.word-practice-tools{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}.word-mode-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.word-difficulty-tabs{margin:0}.word-difficulty-tabs a{min-width:68px;text-align:center}.word-fresh{flex:0 0 auto;min-height:38px;padding:8px 12px}.word-pool-note{margin-top:8px;color:var(--muted);font-size:11px;font-weight:800}.word-stat-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px;margin:0 0 14px}.word-stat-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.word-stat-kpis>div,.word-distribution{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:12px}.word-stat-kpis small,.word-distribution small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.word-stat-kpis strong{display:block;font-size:24px;margin-top:3px}.word-distribution{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:start}.word-distribution p{font-size:10px;color:var(--muted);margin:4px 0 0;line-height:1.4}.word-dist-row{display:grid;grid-template-columns:18px 1fr;gap:6px;align-items:center;margin:4px 0}.word-dist-row>strong{font-size:11px;text-align:center}.word-dist-row>span{display:block;position:relative;height:20px;border-radius:5px;background:var(--soft);overflow:hidden}.word-dist-row i{display:block;height:100%;background:#7ea28d;border-radius:5px;min-width:0}.word-dist-row em{position:absolute;left:7px;top:2px;color:#1f2a24;font-size:10px;font-style:normal;font-weight:900}.word-round-actions{display:flex;justify-content:center;margin-top:12px}.word-round-actions .text-btn{min-width:110px}
@media(max-width:620px){.word-mode-row{align-items:stretch;flex-direction:column}.word-difficulty-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap}.word-difficulty-tabs a{white-space:nowrap;min-width:auto}.word-fresh{width:100%}.word-stat-panel{grid-template-columns:1fr}.word-distribution{grid-template-columns:1fr}.word-stat-kpis strong{font-size:21px}}

/* V0.35 Geography mastery review */
.geo-review-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin:0 0 14px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#f8fbff,#f6faf7)}.geo-review-strip small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.08em}.geo-review-strip strong{display:block;margin:3px 0;font-size:17px}.geo-review-strip span{color:var(--muted);font-size:11px;line-height:1.4}.geo-review-links{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.geo-review-links .btn{padding:8px 10px;font-size:11px}.geo-review-links .is-empty{opacity:.62}.geo-review-mode .map-quiz-head{border-bottom:1px solid var(--line);padding-bottom:12px}.geography-review-empty{padding:28px 20px;text-align:center}.geography-review-empty>span{display:block;max-width:660px;margin:8px auto 16px;color:var(--muted);line-height:1.55}.geography-review-empty .cta{justify-content:center}.review-preview-body>div{min-width:138px}.review-queue-card .review-actions{margin:10px 0 -2px}.review-queue-card .review-actions .btn{font-size:10px;padding:7px 9px}
@media(max-width:720px){.geo-review-strip{grid-template-columns:1fr}.geo-review-links{justify-content:flex-start}.geo-review-links .btn{flex:1 1 42%}.review-preview-body>div{min-width:120px}}
/* V0.36 Visual Count depth */
.visual-controls{margin-bottom:14px}.visual-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.visual-controls .field{margin:0}.visual-controls .cta{margin-top:12px;align-items:center}.visual-prompt{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}.target-swatch{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f1f3f6;border:1px solid var(--line);font-size:25px;line-height:1;color:#26313b}.visual-grid{user-select:none}.visual-tile{display:grid;place-items:center;background:#f5f6f8;border-color:#d8dde3}.visual-tile.target{background:#eef3f8;border-color:#b7c6d6}.visual-tile i{position:static!important;inset:auto!important;border:0!important;background:transparent!important;width:auto!important;height:auto!important;border-radius:0!important;transform:none!important;font-style:normal;font-size:clamp(21px,4.1vw,32px);line-height:1;color:#26313b}.visual-tile.target i{color:#1f4d78}.visual-meta #visualTimer{background:#fff3d8;color:#7a5410}.visual-answer input{font-variant-numeric:tabular-nums}
@media(max-width:620px){.visual-control-grid{grid-template-columns:1fr 1fr}.visual-control-grid #secondsField{grid-column:1/-1}.visual-controls .cta{align-items:stretch}.visual-controls .cta .btn{width:100%}.visual-tile i{font-size:clamp(18px,5.8vw,28px)}}

/* V0.37 Memory Sequence */
.memory-style-tabs{display:inline-flex;padding:3px;background:#e9edf1;border-radius:12px;margin:0 0 16px}.memory-style-tabs a{padding:8px 13px;border-radius:9px;color:var(--muted);font-weight:800;text-decoration:none;font-size:13px}.memory-style-tabs a.active{background:#fff;color:var(--text);box-shadow:0 2px 7px rgba(20,24,31,.08)}.memory-grid.sequence-grid{--memory-size:3;width:min(100%,330px);gap:10px}.memory-grid.sequence-grid .memory-cell{border-radius:18px;background:#f0f2f5;border-color:#d7dce2}.memory-grid.sequence-grid .memory-cell.flash,.memory-grid.sequence-grid .memory-cell.answer{background:#6f9fc9;border-color:#497ba7;transform:scale(.94);box-shadow:0 0 0 4px rgba(73,123,167,.10)}.memory-grid.sequence-grid .memory-cell.sequence-ok{background:#dfeee6;border-color:#82b197}.memory-grid.sequence-grid .memory-cell.sequence-wrong{background:var(--badbg);border-color:#d6a2a2}.memory-sequence-note{max-width:520px;margin:0 auto 8px;color:var(--muted);font-size:12px;text-align:center;line-height:1.45}@media(max-width:620px){.memory-style-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.memory-style-tabs a{text-align:center}.memory-grid.sequence-grid{width:min(100%,300px);gap:7px}.memory-grid.sequence-grid .memory-cell{border-radius:14px}}
/* V0.38 Number Target 6 */
.number-style-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px}.number-style-tabs a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;text-decoration:none;color:var(--muted);font-size:12px;font-weight:850}.number-style-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.target6-controls{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}.target6-controls label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.target6-controls select{min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:7px 28px 7px 10px;font:inherit;font-size:13px;font-weight:800;color:var(--text)}.target6-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}.target6-stats>div{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:11px 13px}.target6-stats small{display:block;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.target6-stats strong{display:block;margin-top:3px;font-size:20px}.target6-ready{text-align:center;padding:34px 18px}.target6-ready h2{margin:7px 0 8px;font-size:28px}.target6-ready p{max-width:650px;margin:0 auto 18px;color:var(--muted);line-height:1.6}.target6-timer{display:none}
@media(max-width:620px){.target6-controls{align-items:stretch}.target6-controls label{flex:1 1 130px}.target6-controls .btn{flex:1 1 100%}.target6-stats{grid-template-columns:repeat(3,1fr)}.target6-stats strong{font-size:17px}.target6-ready{padding:26px 8px}.target6-ready h2{font-size:24px}}
/* V0.39 compact mobile quiz controls */
@media(max-width:620px){
  .quiz-practice-options{overflow:visible;flex-wrap:wrap;align-items:center;padding-bottom:12px}
  .quiz-practice-options>a,.quiz-practice-options>.mode-mini-btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:40px;text-align:center;white-space:normal}
  .quiz-practice-options>.subtle{flex:1 1 100%}
  .quiz-practice-options .topic-select{flex:1 1 100%}
}
/* V0.42 Group Grid result/readability polish */
.group-grid-panel .status strong,.group-grid-panel .status span{display:block}.group-grid-panel .status span{margin-top:3px}
@media(max-width:560px){.group-solved-row>div small,.group-solved-row>div strong{display:block}.group-solved-row>div strong{margin-top:2px}}

/* V0.43 Word Search specialist + maker */
.wordsearch-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 14px}.wordsearch-stats>div{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:11px 13px}.wordsearch-stats small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.wordsearch-stats strong{display:block;margin-top:3px;font-size:20px}.wordsearch-page .practice-options .btn{align-self:end;min-height:42px}.maker-page{padding-bottom:38px}.maker-privacy{display:grid;gap:2px;min-width:160px;border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:12px 14px}.maker-privacy small,.maker-step small,.maker-explainer small{font-size:9px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.maker-privacy strong{font-size:17px}.maker-privacy span{font-size:10px;color:var(--muted)}.maker-builder{display:grid;gap:14px}.maker-step{display:flex;align-items:center;gap:10px;padding-top:4px}.maker-step>span{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--accent);color:#fff;font-weight:900}.maker-step h2{margin:2px 0 0;font-size:20px}.maker-fields label,.maker-settings label,.maker-theme-row label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.maker-fields input,.maker-fields textarea,.maker-settings input,.maker-settings select,.maker-theme-row select{width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 11px;font:inherit;color:var(--text)}.maker-fields textarea{resize:vertical;min-height:190px;line-height:1.45;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;text-transform:none}.maker-fields label>span{font-size:10px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--muted)}.maker-content-fields{display:grid;grid-template-columns:.72fr 1.28fr;gap:12px;align-items:start}.maker-content-fields>label:first-child{grid-column:1/-1}.maker-theme-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.maker-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}.maker-settings .btn,.maker-theme-row .btn{min-height:42px}.maker-problems{border:1px solid #dfb2b2;border-radius:14px;background:var(--badbg);padding:12px 14px;color:#8d4444}.maker-problems strong{display:block;font-size:12px}.maker-problems ul{margin:7px 0 0;padding-left:18px}.maker-problems li{font-size:11px;line-height:1.45;margin:3px 0}.maker-generate-row{align-items:center}.maker-generate-row .subtle{max-width:640px;font-size:10px;line-height:1.45}.maker-workspace{scroll-margin-top:18px}.maker-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:11px}.maker-preview-head h2{margin:4px 0;font-size:26px}.maker-preview-meta{display:flex;gap:7px;flex-wrap:wrap}.maker-preview-meta span{border:1px solid var(--line);border-radius:999px;background:var(--soft);padding:5px 8px;color:var(--muted);font-size:9px;font-weight:900}.maker-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.maker-actions .btn{padding:8px 10px;font-size:10px}.maker-answer-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.maker-answer-toggle label{font-size:11px;font-weight:900}.maker-answer-toggle span{font-size:10px;color:var(--muted)}.maker-grid{margin-top:8px}.maker-grid .ws-cell.answer-key:not(.found){background:#fff2c7;border-color:#d3a83c;box-shadow:inset 0 0 0 1px rgba(211,168,60,.22)}.maker-word-list{margin-top:12px}.maker-keyboard-note{margin:10px 0 0;text-align:center;color:var(--muted);font-size:10px}.maker-explainer{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--soft)}.maker-explainer h2{margin:4px 0 6px}.maker-explainer p{margin:0;color:var(--muted);line-height:1.55;font-size:12px}.maker-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.maker-facts>div{border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px}.maker-facts strong{display:block;font-size:21px}.maker-facts span{font-size:9px;color:var(--muted)}
@media(max-width:760px){.maker-content-fields{grid-template-columns:1fr}.maker-content-fields>label:first-child{grid-column:auto}.maker-settings{grid-template-columns:1fr 1fr}.maker-settings .btn{grid-column:1/-1}.maker-preview-head{display:block}.maker-actions{justify-content:flex-start;margin-top:10px}.maker-explainer{grid-template-columns:1fr}}
@media(max-width:620px){.wordsearch-stats{grid-template-columns:1fr 1fr}.wordsearch-stats strong{font-size:18px}.wordsearch-page .practice-options .btn,.wordsearch-page .practice-options>a.btn{flex:1 1 42%;width:auto}.maker-theme-row{grid-template-columns:1fr}.maker-settings{grid-template-columns:1fr}.maker-settings .btn{grid-column:auto}.maker-preview-head h2{font-size:23px}.maker-actions .btn{flex:1 1 calc(50% - 7px)}.maker-answer-toggle{align-items:flex-start;flex-direction:column}.maker-facts{grid-template-columns:1fr 1fr}}
@media print{body.wordsearch-maker-page{background:#fff}.wordsearch-maker-page .preview-note,.wordsearch-maker-page .topbar,.wordsearch-maker-page .gameheader,.wordsearch-maker-page .maker-builder,.wordsearch-maker-page .maker-actions,.wordsearch-maker-page .maker-answer-toggle span,.wordsearch-maker-page .maker-explainer,.wordsearch-maker-page .footer,.wordsearch-maker-page .maker-keyboard-note,.wordsearch-maker-page #makerStatus{display:none!important}.wordsearch-maker-page .maker-page{max-width:none;padding:0}.wordsearch-maker-page .maker-workspace{border:0;box-shadow:none;padding:0}.wordsearch-maker-page .maker-preview-head{display:block;margin-bottom:12px}.wordsearch-maker-page .maker-preview-meta{display:none}.wordsearch-maker-page .maker-answer-toggle{display:block;border:0;background:transparent;padding:0;margin:0 0 8px}.wordsearch-maker-page .maker-answer-toggle label{font-size:10px}.wordsearch-maker-page .wordsearch-grid{max-width:7.2in;margin:0 auto;break-inside:avoid}.wordsearch-maker-page .word-list{max-width:7.2in;margin:12px auto 0;break-inside:avoid}.wordsearch-maker-page .ws-cell{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* V0.44 Memory specialist */
.memory-number-mode{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.memory-number-mode a{border:1px solid var(--line);background:var(--card);padding:8px 11px;border-radius:10px;color:var(--text);text-decoration:none;font-size:13px;font-weight:800}.memory-number-mode a.active{background:#17191d;color:#fff;border-color:#17191d}.number-memory-controls{margin:4px auto 16px;max-width:620px}.number-memory-stage{min-height:285px;border:1px solid var(--line);border-radius:18px;background:var(--soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px 20px;margin:16px auto;max-width:620px}.number-memory-display{font-size:clamp(38px,9vw,72px);font-weight:920;letter-spacing:.08em;font-variant-numeric:tabular-nums;text-align:center;max-width:100%;overflow-wrap:anywhere}.number-memory-recall{display:flex;align-items:end;gap:10px;width:min(100%,460px)}.number-memory-recall .field{flex:1}.number-memory-recall input{font-size:24px;font-weight:850;letter-spacing:.06em;font-variant-numeric:tabular-nums}.number-memory-answer{display:flex;flex-direction:column;gap:4px;text-align:center}.number-memory-answer strong{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.number-memory-answer span{font-size:28px;font-weight:900;letter-spacing:.06em;font-variant-numeric:tabular-nums}.number-memory-answer small{color:var(--muted)}
@media(max-width:620px){.number-memory-recall{align-items:stretch;flex-direction:column}.number-memory-recall .btn{width:100%}.number-memory-display{letter-spacing:.045em}.number-memory-stage{min-height:250px;padding:22px 14px}}

/* V0.45 Anagram specialist + Sprint */
.anagram-specialist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px}.anagram-specialist>div{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:11px 13px}.anagram-specialist small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.anagram-specialist strong{display:block;margin-top:3px;font-size:20px;font-variant-numeric:tabular-nums}.anagram-specialist>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:10px;line-height:1.45}.anagram-sprint-times{margin-top:-8px}.anagram-timer{font-variant-numeric:tabular-nums;min-width:58px;text-align:center}.anagram-timer.urgent{background:#fff1ed;border-color:#e4b0a5;color:#9d4636}.anagram-progress{display:none;max-width:620px;margin:10px auto 0;height:5px}.anagram-page.sprint-mode .anagram-progress{display:block}.anagram-progress>span{display:block;width:0;height:100%;border-radius:999px;background:var(--accent);transition:width .1s linear}.anagram-actions #startSprint{grid-column:1/-1;min-width:180px}.anagram-actions button:disabled{opacity:.46;cursor:not-allowed;transform:none!important;box-shadow:none}.anagram-page .practice-options a.active{border-color:#8ea6bc;background:#eef5fb;color:#294a67}.anagram-page .practice-options .btn{min-height:39px}
@media(max-width:620px){.anagram-specialist{grid-template-columns:1fr 1fr}.anagram-specialist strong{font-size:18px}.anagram-sprint-times>a{flex:1 1 28%;text-align:center}.anagram-actions #startSprint{grid-column:1/-1}.anagram-actions #submit{grid-column:1/-1}.anagram-timer{min-width:0}}

/* V0.45 Anagram Sprint mobile timer alignment */
.anagram-sprint-times{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center}
.anagram-sprint-times .subtle{white-space:nowrap}
@media(max-width:520px){.anagram-sprint-times{grid-template-columns:repeat(3,minmax(0,1fr))}.anagram-sprint-times .subtle{grid-column:1/-1}}

/* V0.46 platform launch-readiness: IA, navigation, completion flow and accessibility */
.navlinks{position:relative}.navlinks>a.active{background:var(--accent);border-color:var(--accent);color:#fff}.site-more{position:relative}.site-more summary{list-style:none;cursor:pointer;color:var(--text);border:1px solid var(--line);background:var(--card);padding:9px 12px;border-radius:12px;font-weight:800;font-size:14px;min-height:40px;display:flex;align-items:center;gap:6px}.site-more summary::-webkit-details-marker{display:none}.site-more summary:after{content:'⌄';font-size:12px;color:var(--muted)}.site-more[open] summary{border-color:#b8c0c9}.site-menu{position:absolute;right:0;top:calc(100% + 8px);width:min(310px,calc(100vw - 24px));padding:7px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 46px rgba(20,24,31,.16);display:grid;gap:3px;z-index:40}.site-menu a{display:grid!important;gap:2px!important;border:0!important;background:transparent!important;border-radius:10px!important;padding:10px 11px!important;color:var(--text)!important}.site-menu a:hover{background:var(--soft)!important}.site-menu a>span{font-size:10px;font-weight:650;color:var(--muted)}.mobile-dock{display:none}.path-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0 0}.path-strip a{display:grid;gap:3px;text-decoration:none;color:var(--text);border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:16px;padding:14px 15px}.path-strip a:hover{border-color:#b9c1cb;background:#fff}.path-strip small{font-size:9px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.path-strip strong{font-size:17px}.path-strip span{font-size:11px;line-height:1.45;color:var(--muted)}.completion-next{margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.completion-next>small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em}.completion-next .cta{justify-content:center;margin-top:9px}.completion-next .btn{min-height:43px}a,button,input,select,textarea,summary,[tabindex]{scroll-margin-top:88px}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid rgba(75,103,139,.34)!important;outline-offset:3px!important}.gamecard:focus-visible,.hub-card:focus-visible,.challenge-card:focus-visible{border-color:#71869e;box-shadow:0 0 0 4px rgba(75,103,139,.16),var(--shadow)}
@media(max-width:760px){.path-strip{grid-template-columns:1fr}.path-strip a{grid-template-columns:auto 1fr;column-gap:10px}.path-strip small{grid-column:1/-1}.path-strip span{grid-column:2}.hero-actions .btn{min-height:44px}}
@media(max-width:620px){body{padding-bottom:74px}.preview-note{font-size:10px;padding:6px 10px}.topbar{top:0}.nav{min-height:56px}.brand{font-size:18px}.brand small{font-size:9px}.navlinks>a.desktop-primary{display:none!important}.site-more{display:block}.site-more summary{min-height:42px;padding:8px 11px}.site-menu{position:fixed;right:11px;top:66px;width:min(330px,calc(100vw - 22px));max-height:calc(100vh - 150px);overflow:auto}.mobile-dock{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid rgba(207,213,220,.95);border-radius:17px;padding:5px;box-shadow:0 14px 40px rgba(20,24,31,.2)}.mobile-dock a{min-height:50px;display:grid;place-items:center;align-content:center;gap:1px;text-decoration:none;color:var(--muted);border-radius:12px}.mobile-dock a>span{font-size:15px;line-height:1}.mobile-dock a>strong{font-size:9px}.mobile-dock a.active,.mobile-dock a[aria-current="page"]{background:var(--accent);color:#fff}.footer{padding-bottom:28px}.btn,.choicebtn,.filter-tab,.mode-tab,.practice-options a,.practice-options button,.level-tabs a,.memory-style-tabs a,.numchip,.operatorbar button{min-height:44px}.completion-next .cta{display:grid;grid-template-columns:1fr 1fr}.completion-next .btn{width:100%}.completion-next .btn:first-child{grid-column:1/-1}.toast{bottom:84px}.skip-link:focus-visible{top:8px}}
@media print{.mobile-dock,.site-more{display:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.gamecard:hover,.group-word:hover{transform:none!important}}

/* V0.47 Visual Count specialist */
.flash-stage{position:relative!important;display:block!important;width:min(100%,520px);height:300px;margin:18px auto;border:1px solid var(--line);border-radius:18px;background:#fbfcfd;overflow:hidden}
.flash-ready{position:absolute;inset:0;display:grid;place-content:center;gap:6px;text-align:center;color:var(--muted)}.flash-ready strong{font-size:22px;color:var(--text)}
.flash-dot{position:absolute;display:block;border-radius:999px;background:#26313b;transform:translate(-50%,-50%);box-shadow:0 1px 0 rgba(0,0,0,.08)}
.flash-stage.flash-mask{background:#f5f7f9}.flash-noise{position:absolute;inset:0;background-image:radial-gradient(circle,#c7ced6 1.2px,transparent 1.5px);background-size:12px 12px;opacity:.78}
.visual-flash-stats .sectionhead{margin-bottom:12px}.visual-flash-stats .statsgrid{margin-top:0}
@media(max-width:620px){.visual-control-grid #exposureField{grid-column:1/-1}.flash-stage{height:260px;border-radius:14px}.visual-controls .cta #startFlash{width:100%}}
@media(prefers-reduced-motion:reduce){.flash-dot{transition:none!important}}


/* V0.48 accessibility: explicit state markers, higher-contrast preference and forced-colors resilience. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.choice-result{margin-left:auto;font-size:11px;font-weight:900;letter-spacing:.01em;white-space:nowrap}.choicebtn.correct .choice-result{color:var(--good)}.choicebtn.wrong .choice-result{color:var(--bad)}
.status.good,.status.bad{border-left:4px solid currentColor}.group-word[aria-pressed="true"]{outline:2px solid #6c8baa;outline-offset:1px}.ded-cell.yes{outline:2px solid #5d8d71;outline-offset:-3px}.ded-cell.no{outline:1px dashed #7d858e;outline-offset:-3px}.ded-cell.conflict{outline:3px double var(--bad);outline-offset:-4px}.ws-cell[aria-pressed="true"],.maker-grid .ws-cell.answer-key{outline:2px solid currentColor;outline-offset:-3px}
@media(prefers-contrast:more){
  :root{--muted:#4d535d;--line:#b8bec6;--focus:#405c7e}
  .panel,.metric,.gamecard,.hub-card,.challenge-card,.statcard,.progress-card,.archive-game,.archive-day,.wordsearch-stats>div,.group-specialist-stats>div{border-width:2px}
  :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-width:4px!important;outline-color:#405c7e!important}
  .choicebtn.correct,.group-word[aria-pressed="true"],.ws-cell.found,.s-cell.selected,.ded-cell.yes{outline-width:3px}
  .choicebtn.wrong,.s-cell.conflict,.s-cell.mistake,.ded-cell.conflict{outline:3px dashed currentColor;outline-offset:-3px}
}
@media(forced-colors:active){
  :root{--bg:Canvas;--card:Canvas;--text:CanvasText;--muted:CanvasText;--line:ButtonBorder;--accent:Highlight;--soft:Canvas;--good:CanvasText;--goodbg:Canvas;--bad:CanvasText;--badbg:Canvas;--warn:CanvasText;--shadow:none}
  html,body,.topbar,.mobile-dock,.site-menu,.panel,.metric,.gamecard,.hub-card,.challenge-card,.statcard,.progress-card,.archive-game,.archive-day,.maker-workspace,.number-memory-stage,.flash-stage{background:Canvas!important;color:CanvasText!important}
  .topbar,.mobile-dock,.site-menu,.panel,.metric,.gamecard,.hub-card,.challenge-card,.statcard,.progress-card,.archive-game,.archive-day,.maker-workspace,.number-memory-stage,.flash-stage{border:2px solid CanvasText!important;box-shadow:none!important}
  .btn,.navlinks a,.site-more summary,.mode-tab,.filter-tab,.level-tabs a,.memory-style-tabs a,.memory-number-mode a,.numkey,.tool-btn,.choicebtn,.group-word,.ws-cell,.ded-cell,.kbd button,input,select,textarea{border:2px solid ButtonBorder!important;box-shadow:none!important}
  .btn:not(.secondary),.navlinks>a.active,.mobile-dock a.active,.mobile-dock a[aria-current="page"],.mode-tab.active,.filter-tab.active,.level-tabs a.active,.memory-style-tabs a.active,.memory-number-mode a.active{background:Highlight!important;color:HighlightText!important;border-color:Highlight!important;forced-color-adjust:none!important}
  :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid Highlight!important;outline-offset:3px!important}
  .choicebtn.correct,.group-word[aria-pressed="true"],.ws-cell.found,.ws-cell[aria-pressed="true"],.s-cell.selected,.ded-cell.yes,.tool-btn.active{outline:4px solid Highlight!important;outline-offset:-4px!important}
  .choicebtn.wrong,.s-cell.conflict,.s-cell.mistake,.ded-cell.conflict{outline:4px double CanvasText!important;outline-offset:-5px!important}
  .ded-cell.no{outline:3px dashed CanvasText!important;outline-offset:-4px!important}
  .tile.hit,.kbd button.hit{outline:4px solid Highlight!important}.tile.near,.kbd button.near{outline:3px dashed CanvasText!important}.tile.miss,.kbd button.miss{outline:2px dotted CanvasText!important}
  .word-list span.found{text-decoration:line-through 3px!important}.group-solved-row{border:3px solid CanvasText!important}.group-solved-row.revealed{border-style:dashed!important}
  .status.good,.status.bad,.notice,.perfect-banner{border:3px solid CanvasText!important;background:Canvas!important;color:CanvasText!important}
  .flash-dot,.visual-tile.target,.target-swatch{forced-color-adjust:none!important;background:CanvasText!important;border-color:CanvasText!important}.visual-tile.distractor{background:Canvas!important;border:2px solid CanvasText!important}.flash-noise{background:Canvas!important;background-image:none!important}
  .progress{border:1px solid CanvasText!important;background:Canvas!important}.progress span{background:Highlight!important}
  .spark-bars i{background:CanvasText!important}.gamecard.is-done:after{background:Canvas!important;color:CanvasText!important;border:2px solid CanvasText!important}
  *{text-shadow:none!important}
}

/* V0.49 Pattern specialist */
.pattern-flow-tabs{margin-top:-2px;margin-bottom:14px}.pattern-local-stats{margin:0 0 14px}.pattern-local-stats span{flex-wrap:wrap}.pattern-local-stats span strong{display:inline-block}.pattern-sprint-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}.pattern-sprint-head h2{font-size:clamp(26px,4vw,34px);letter-spacing:-.04em;margin:8px 0}.pattern-sprint-head p{color:var(--muted);line-height:1.5;margin:0}.pattern-timer{min-width:92px;text-align:center;border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:12px}.pattern-timer small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em}.pattern-timer strong{display:block;font-size:30px;letter-spacing:-.04em;margin-top:2px}.pattern-sprint-controls{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}.pattern-sprint-controls .level-tabs{margin:0}.pattern-sprint-play{border-top:1px solid var(--line);padding-top:18px}.pattern-sprint-panel .question{font-variant-numeric:tabular-nums}.pattern-sprint-panel .choices{max-width:680px}.pattern-sprint-panel.is-running .pattern-sprint-controls,.pattern-sprint-panel.is-running [data-pattern-stats]{display:none}
@media(max-width:620px){.pattern-flow-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.pattern-flow-tabs a{text-align:center;justify-content:center;padding-left:7px;padding-right:7px}.pattern-sprint-head{grid-template-columns:1fr auto;gap:10px}.pattern-timer{min-width:76px;padding:10px}.pattern-timer strong{font-size:25px}.pattern-sprint-controls{align-items:stretch}.pattern-sprint-controls .level-tabs{display:grid;grid-template-columns:1fr 1fr;flex:1}.pattern-sprint-controls .btn{width:100%}.pattern-sprint-panel.is-running .pattern-sprint-head{display:flex;justify-content:flex-end;margin-bottom:6px}.pattern-sprint-panel.is-running .pattern-sprint-head>div:first-child{display:none}.pattern-sprint-panel.is-running .pattern-sprint-play{padding-top:10px}}

/* V0.50 My Practice Mix */
.home-mix{padding-top:4px}
.mix-preview{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,var(--card),var(--soft));box-shadow:var(--shadow-sm)}
.mix-preview-copy{min-width:0}.mix-preview-copy>small,.mix-session-head small{display:block;font-size:.72rem;font-weight:800;letter-spacing:.09em;color:var(--muted);margin-bottom:5px}.mix-preview-copy>strong{font-size:1.15rem}.mix-preview-copy p{margin:7px 0 0;color:var(--muted);max-width:720px}
.mix-preview-icons{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.mix-preview-icons span{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-weight:800}.mix-preview-icons b{font-size:.68rem;color:var(--muted)}
.mix-page{padding-top:34px;padding-bottom:60px}.mix-hero{max-width:800px;margin-bottom:26px}.mix-hero h1{font-size:clamp(2.15rem,6vw,4rem);letter-spacing:-.045em;margin:.15em 0}.mix-hero>p{font-size:1.08rem;line-height:1.65;color:var(--muted);max-width:760px}.mix-section{margin:24px 0;padding:22px;border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:var(--shadow-sm)}
.mix-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mix-pick{appearance:none;width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;text-align:left;gap:10px;min-height:62px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--soft);color:var(--text);cursor:pointer}.mix-pick span:nth-child(2){display:flex;flex-direction:column;gap:2px}.mix-pick small{font-size:.68rem;color:var(--muted)}.mix-pick>b{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);background:var(--card)}.mix-pick.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.mix-pick.selected>b{background:var(--accent);border-color:var(--accent);color:#fff}
.mix-order{display:grid;gap:9px}.mix-order-row{display:grid;grid-template-columns:32px 38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}.mix-order-row>div:nth-of-type(1){min-width:0}.mix-order-row strong{display:block}.mix-order-row small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mix-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:var(--text);color:var(--bg);font-weight:800}.mix-order-actions{display:flex;gap:5px}.mix-order-actions button{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font-weight:900}.mix-order-actions button:disabled{opacity:.35}
.mix-session-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.mix-session-head h2{margin:0}.mix-session-head p{margin:6px 0 0;color:var(--muted)}.mix-session-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.mix-session-row{display:grid;grid-template-columns:28px 1fr;gap:2px 8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.mix-session-row>span{grid-row:1/3;width:26px;height:26px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);font-weight:800}.mix-session-row small{color:var(--muted)}.mix-session-row.done>span{background:var(--goodbg);border-color:var(--good)}.mix-session-row.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.mix-history{display:grid;gap:8px}.mix-history-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.mix-history-row div{display:flex;flex-direction:column}.mix-history-row small{color:var(--muted)}.mix-trust{max-width:800px;margin:30px 0}.mix-trust p{color:var(--muted);line-height:1.65}
@media(max-width:720px){.mix-preview,.mix-session-head{align-items:stretch;flex-direction:column}.mix-preview .cta,.mix-session-head .btn{width:100%}.mix-preview .btn{flex:1}.mix-section{padding:16px;border-radius:20px}.mix-catalog{grid-template-columns:1fr 1fr}.mix-session-list{grid-template-columns:1fr 1fr}.mix-order-row{grid-template-columns:30px 34px minmax(0,1fr)}.mix-order-actions{grid-column:1/-1;justify-content:flex-end}.mix-order-row small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mix-page{padding-top:22px}}
@media(max-width:430px){.mix-catalog,.mix-session-list{grid-template-columns:1fr}.mix-pick{min-height:56px}.mix-history-row{align-items:flex-start;flex-direction:column}}
@media(forced-colors:active){.mix-pick.selected,.mix-session-row.active{outline:2px solid Highlight;outline-offset:1px}.mix-pick.selected>b{background:Highlight;color:HighlightText;forced-color-adjust:none}.mix-rank{background:CanvasText;color:Canvas;forced-color-adjust:none}}
.mix-inline-handoff{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:14px 16px;border:2px solid var(--accent);border-radius:16px;background:var(--soft)}.mix-inline-handoff>div{display:grid;gap:2px}.mix-inline-handoff small{font-size:.7rem;font-weight:900;letter-spacing:.08em;color:var(--muted)}.mix-inline-handoff strong{font-size:1rem}.mix-inline-handoff span{font-size:.78rem;color:var(--muted)}
@media(max-width:620px){.mix-inline-handoff{align-items:stretch;flex-direction:column}.mix-inline-handoff .btn{width:100%}}
@media(forced-colors:active){.mix-inline-handoff{border-color:Highlight}}

/* V0.52 Make 24 specialist */
.make24-controls{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}
.make24-controls label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.make24-controls select{min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:7px 28px 7px 10px;font:inherit;font-size:13px;font-weight:800;color:var(--text)}
.make24-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 12px}
.make24-stats>div{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:11px 13px}
.make24-stats small{display:block;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.make24-stats strong{display:block;margin-top:3px;font-size:20px}
.make24-ready .eyebrow{display:inline-block}.make24-ready p{max-width:680px}
@media(max-width:620px){.make24-controls{align-items:stretch}.make24-controls label{flex:1 1 130px}.make24-controls .btn{flex:1 1 100%}.make24-stats{grid-template-columns:repeat(2,1fr)}.make24-stats strong{font-size:18px}.number-style-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.number-style-tabs a{text-align:center;padding-inline:6px}}

/* V0.53 Matching Pairs specialist */
.memory-style-tabs{display:flex;gap:7px;flex-wrap:wrap}.memory-style-tabs a{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 11px;text-decoration:none;color:var(--muted);font-size:12px;font-weight:850}.memory-style-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.memory-match-controls{margin:4px auto 14px;max-width:620px}.memory-match-settings{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(150px,.7fr) auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}.memory-match-settings fieldset{border:0;padding:0;margin:0;min-width:0}.memory-match-settings legend,.memory-match-settings .field>span{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:850}.memory-match-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.memory-match-tabs button{min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font:inherit;font-size:11px;font-weight:850;padding:7px 6px;cursor:pointer}.memory-match-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.memory-match-stage{max-width:620px;margin:0 auto}.memory-match-board{--match-cols:4;display:grid;grid-template-columns:repeat(var(--match-cols),minmax(0,1fr));gap:8px;width:min(100%,520px);margin:18px auto}.memory-match-card{min-width:0;aspect-ratio:1/1;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#f1f4f7,#e5eaf0);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font:inherit;font-weight:900;transition:transform .16s ease,background .16s ease,border-color .16s ease}.memory-match-card>span{font-size:clamp(24px,7vw,38px);line-height:1}.memory-match-card>small{font-size:9px;color:var(--muted);font-weight:850}.memory-match-card.flipped{background:var(--card);border-color:#9eb3c7;box-shadow:0 5px 16px rgba(25,42,62,.08);transform:translateY(-1px)}.memory-match-card.matched{background:var(--goodbg);border-color:#76a98b;color:var(--good)}.memory-match-card:disabled{cursor:default;opacity:1}.memory-match-card:focus-visible{outline:3px solid Highlight;outline-offset:2px}.memory-match-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 auto 14px;max-width:520px}.memory-match-summary span{background:var(--soft);border-radius:11px;padding:9px;text-align:center}.memory-match-summary small{display:block;color:var(--muted);font-size:9px;font-weight:850}.memory-match-summary strong{display:block;margin-top:2px;font-size:15px}
@media(max-width:620px){.memory-style-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.memory-style-tabs a{text-align:center;border-radius:11px}.memory-match-settings{grid-template-columns:1fr}.memory-match-tabs button{font-size:10px}.memory-match-board{gap:6px;width:100%}.memory-match-card{border-radius:10px}.memory-match-card>span{font-size:clamp(23px,9vw,34px)}.memory-match-summary{grid-template-columns:repeat(4,1fr);gap:5px}.memory-match-summary span{padding:8px 4px}.memory-match-summary strong{font-size:13px}}
@media(forced-colors:active){.memory-match-card{border:2px solid ButtonText;background:Canvas;color:CanvasText}.memory-match-card.flipped{border-style:dashed}.memory-match-card.matched{border:3px double Highlight;color:HighlightText;background:Highlight;forced-color-adjust:none}.memory-match-tabs button.active{background:Highlight;color:HighlightText;forced-color-adjust:none}}

/* V0.54 Word Ladder specialist */
.ladder-panel{max-width:780px;margin-inline:auto}.ladder-mode-tabs,.ladder-practice-options{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.ladder-mode-tabs a,.ladder-practice-options a{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 12px;text-decoration:none;color:var(--muted);font-size:12px;font-weight:850}.ladder-mode-tabs a.active,.ladder-practice-options a.active{background:var(--accent);border-color:var(--accent);color:#fff}.ladder-day-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:10px 0 14px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.ladder-day-nav>span{text-align:center}.ladder-day-nav small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.06em}.ladder-day-nav strong{display:block;margin-top:2px;font-size:13px}.ladder-meta,.ladder-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.ladder-meta>div,.ladder-stats>div{border:1px solid var(--line);border-radius:13px;background:var(--soft);padding:10px;text-align:center}.ladder-meta small,.ladder-stats small{display:block;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.ladder-meta strong,.ladder-stats strong{display:block;margin-top:3px;font-size:17px}.ladder-goal{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:18px 0}.ladder-goal>div{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card);text-align:center}.ladder-goal small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.08em}.ladder-goal strong{display:block;margin-top:4px;font-size:clamp(24px,7vw,38px);letter-spacing:.14em}.ladder-goal>span{font-size:22px;color:var(--muted)}.ladder-route{display:grid;gap:7px;list-style:none;margin:14px 0;padding:0}.ladder-route li{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border:1px solid var(--line);border-radius:13px;background:var(--card)}.ladder-route li span{font-size:9px;font-weight:900;color:var(--muted);letter-spacing:.06em}.ladder-route li strong{font-size:19px;letter-spacing:.12em}.ladder-route li.start{border-color:#9db5ca;background:#f5f9fc}.ladder-route li.target{border-color:#7bad91;background:var(--goodbg)}.ladder-route li.ghost{border-style:dashed;background:var(--soft);opacity:.72}.ladder-entry{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin:14px 0 10px}.ladder-entry input{text-transform:uppercase;letter-spacing:.18em;font-weight:900;font-size:18px}.ladder-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:8px 0 12px}.ladder-tools .tool-btn{min-height:42px}.ladder-guide{grid-template-columns:repeat(3,1fr)}
@media(max-width:620px){.ladder-mode-tabs,.ladder-practice-options{display:grid;grid-template-columns:repeat(2,1fr)}.ladder-mode-tabs a,.ladder-practice-options a{text-align:center;border-radius:11px;padding-inline:6px}.ladder-day-nav{grid-template-columns:1fr 1fr}.ladder-day-nav>span{grid-column:1/-1;grid-row:1}.ladder-day-nav .btn{width:100%}.ladder-meta,.ladder-stats{grid-template-columns:repeat(2,1fr)}.ladder-entry{grid-template-columns:1fr}.ladder-entry .btn{width:100%}.ladder-tools{grid-template-columns:repeat(2,1fr)}.ladder-goal strong{font-size:25px}.ladder-guide{grid-template-columns:1fr}}
@media(forced-colors:active){.ladder-mode-tabs a.active,.ladder-practice-options a.active{background:Highlight;color:HighlightText;forced-color-adjust:none}.ladder-route li.target{border:3px double Highlight}.ladder-route li.ghost{border-style:dashed}}

.specialist-callout{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 16px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}.specialist-callout>div:first-child{display:grid;gap:3px}.specialist-callout small{font-size:9px;font-weight:900;letter-spacing:.07em;color:var(--muted)}.specialist-callout strong{font-size:14px}.specialist-callout span{font-size:12px;color:var(--muted);line-height:1.45}.specialist-callout .cta{margin:0;flex-wrap:nowrap}
@media(max-width:700px){.specialist-callout{align-items:stretch;flex-direction:column}.specialist-callout .cta{display:grid;grid-template-columns:1fr 1fr}.specialist-callout .btn{width:100%}}

/* V0.55 Japanese Kana / Learn */
.kana-page{max-width:940px}.kana-flow-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:22px 0 14px}.kana-flow-tabs a{min-height:44px;display:grid;place-items:center;text-decoration:none;color:var(--muted);font-weight:850;font-size:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.kana-flow-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.kana-stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 14px}.kana-stats-strip>div{display:grid;gap:2px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:11px 12px}.kana-stats-strip small{font-size:9px;font-weight:900;letter-spacing:.06em;color:var(--muted)}.kana-stats-strip strong{font-size:18px}.kana-stats-strip span{font-size:10px;color:var(--muted)}.kana-setup{margin:0 0 14px}.kana-options{justify-content:flex-start}.kana-row-picker{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.kana-row-chip{min-height:38px;border:1px solid var(--line);border-radius:999px;padding:7px 11px;background:var(--card);color:var(--muted);font-weight:800;cursor:pointer}.kana-row-chip.active{background:#e8eef4;border-color:#9fb0c3;color:#27384a}.kana-setup-note{margin:8px 2px 0;color:var(--muted);font-size:11px}.kana-panel{min-height:400px}.kana-round-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.kana-stage{display:grid;place-items:center;min-height:300px}.kana-ready{text-align:center;max-width:590px;padding:22px}.kana-ready small,.kana-prompt-card small{font-size:10px;letter-spacing:.08em;font-weight:900;color:var(--muted)}.kana-ready h2{font-size:30px;margin:7px 0}.kana-ready p{color:var(--muted);line-height:1.55}.kana-prompt-card{width:min(650px,100%);display:grid;justify-items:center;gap:14px;text-align:center}.kana-glyph{font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:clamp(84px,19vw,138px);font-weight:750;line-height:1;padding:16px 28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#fff,#f7f8fa);min-width:180px}.kana-romaji{font-size:clamp(52px,11vw,84px);font-weight:900;letter-spacing:-.04em}.kana-answer{width:min(440px,100%);display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left}.kana-answer span{grid-column:1/-1;font-size:11px;font-weight:800;color:var(--muted)}.kana-answer input{min-width:0;border:1px solid var(--line);border-radius:13px;padding:12px 14px;font:inherit;font-size:20px}.kana-choices{width:min(580px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.kana-choice{min-height:104px;border:1px solid var(--line);border-radius:18px;background:var(--card);font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:44px;font-weight:750;cursor:pointer}.kana-choice:hover{border-color:#9cabbc}.kana-choice.correct{border:3px solid #487c5c}.kana-choice.wrong{border:3px solid #a75c5c;text-decoration:line-through}.kana-choice:disabled{opacity:.55}.kana-chart{width:100%;display:grid;gap:22px}.kana-chart-note{display:grid;gap:3px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.kana-chart-note span{font-size:11px;color:var(--muted)}.kana-chart section h2{font-size:20px;margin:0 0 9px}.kana-chart-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.kana-ref{display:grid;grid-template-columns:1fr 1fr;gap:2px;align-items:center;text-align:center;border:1px solid var(--line);background:var(--card);border-radius:13px;padding:9px}.kana-ref>span{font-size:27px;font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif}.kana-ref strong{grid-column:1/-1;font-size:12px}.kana-ref small{grid-column:1/-1;color:var(--muted);font-size:8px}.learn-page section{margin-bottom:30px}.learn-feature{border-color:#aebdca;background:linear-gradient(180deg,#fff,#f4f7fa)}.trust-panel{border:1px solid var(--line);background:var(--soft);border-radius:20px;padding:20px}.trust-panel small{font-weight:900;letter-spacing:.08em;color:var(--muted)}.trust-panel h2{margin:6px 0}.trust-panel p{margin:0;color:var(--muted);line-height:1.6}
@media(max-width:760px){.kana-flow-tabs{grid-template-columns:repeat(3,1fr)}.kana-stats-strip{grid-template-columns:1fr 1fr}.kana-chart-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.kana-options{overflow:visible;padding-bottom:12px}.kana-flow-tabs{grid-template-columns:1fr 1fr}.kana-flow-tabs a{font-size:11px}.kana-options{display:grid;grid-template-columns:1fr 1fr}.kana-options label{min-width:0}.kana-options .btn{width:100%}.kana-choices{grid-template-columns:1fr 1fr}.kana-choice{min-height:92px}.kana-chart-grid{grid-template-columns:repeat(3,1fr)}.kana-glyph{font-size:94px}.kana-answer{grid-template-columns:1fr}.kana-answer .btn{width:100%}}
@media(forced-colors:active){.kana-row-chip.active,.kana-flow-tabs a.active,.kana-choice.correct,.kana-choice.wrong{forced-color-adjust:none}.kana-row-chip.active,.kana-flow-tabs a.active{background:Highlight!important;color:HighlightText!important;border-color:Highlight!important}.kana-choice.correct{border:3px solid CanvasText!important}.kana-choice.wrong{border:3px dashed CanvasText!important}}

/* V0.56 Nonogram specialist */
.nonogram-page{max-width:980px}.nonogram-flow-tabs,.nonogram-size-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 10px}.nonogram-flow-tabs a,.nonogram-size-tabs a{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:9px 13px;text-decoration:none;color:var(--muted);font-size:12px;font-weight:850}.nonogram-flow-tabs a.active,.nonogram-size-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.nonogram-day-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:10px 0 14px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.nonogram-day-nav>span{text-align:center}.nonogram-day-nav small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.06em}.nonogram-day-nav strong{display:block;margin-top:2px;font-size:13px}.nonogram-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 14px}.nonogram-stats>div{display:grid;gap:2px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.nonogram-stats small{font-size:9px;font-weight:900;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.nonogram-stats strong{font-size:18px}.nonogram-stats span{font-size:9px;color:var(--muted)}.nonogram-panel{max-width:900px;margin-inline:auto}.nonogram-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.nonogram-tools,.nonogram-actions{display:flex;gap:7px;flex-wrap:wrap}.nonogram-tools button,.nonogram-actions button{min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text);padding:8px 11px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.nonogram-tools button{display:flex;align-items:center;gap:7px}.nonogram-tools button.active{background:var(--accent);border-color:var(--accent);color:#fff}.tool-symbol{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:4px}.tool-symbol.filled{background:currentColor;box-shadow:inset 0 0 0 3px rgba(255,255,255,.35)}.tool-symbol.cross{font-size:17px;font-weight:900;border:0}.tool-symbol.clear{background:transparent}.nonogram-options{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:10px 0;color:var(--muted);font-size:11px}.nonogram-options label{display:flex;align-items:center;gap:7px;font-weight:750;color:var(--text)}.nonogram-options input{width:17px;height:17px}.nonogram-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0 14px}.nonogram-meta span{display:grid;gap:2px;text-align:center;border:1px solid var(--line);border-radius:11px;padding:8px;background:var(--soft)}.nonogram-meta small{font-size:8px;font-weight:900;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.nonogram-meta strong{font-size:15px}.nonogram-board-scroll{overflow:auto;overscroll-behavior:contain;padding:8px 2px 14px;scrollbar-width:thin}.nonogram-shell{--cell:30px;display:grid;grid-template-columns:76px max-content;grid-template-rows:76px max-content;width:max-content;max-width:none;margin:0 auto}.nonogram-shell.n5{--cell:46px}.nonogram-shell.n10{--cell:30px}.nonogram-shell.n15{--cell:22px}.nonogram-corner{display:grid;place-items:center;position:relative;border-right:2px solid var(--text);border-bottom:2px solid var(--text);font-size:8px;font-weight:900;color:var(--muted);overflow:hidden}.nonogram-corner:after{content:"";position:absolute;width:120%;height:1px;background:var(--line);transform:rotate(45deg)}.nonogram-corner span:first-child{align-self:end;justify-self:start;padding:0 0 6px 7px}.nonogram-corner span:last-child{align-self:start;justify-self:end;padding:6px 7px 0 0}.nonogram-col-clues{display:grid;grid-template-columns:repeat(var(--n,10),var(--cell));height:76px;border-bottom:2px solid var(--text)}.nonogram-row-clues{display:grid;grid-template-rows:repeat(var(--n,10),var(--cell));width:76px;border-right:2px solid var(--text)}.nonogram-clue{font-variant-numeric:tabular-nums;font-size:10px;font-weight:850;color:var(--text)}.nonogram-clue span{line-height:1}.col-clue{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;padding:4px 1px}.row-clue{display:flex;justify-content:flex-end;align-items:center;gap:4px;padding:1px 6px}.nonogram-clue.done{color:var(--muted);text-decoration:line-through;opacity:.62}.nonogram-grid{display:grid;grid-template-columns:repeat(var(--n),var(--cell));grid-template-rows:repeat(var(--n),var(--cell));touch-action:none;background:var(--text);gap:1px;padding:1px}.nonogram-cell{width:var(--cell);height:var(--cell);min-width:0;min-height:0;padding:0;border:0;background:#fff;color:#354052;display:grid;place-items:center;font:inherit;font-size:calc(var(--cell)*.72);line-height:1;cursor:crosshair;user-select:none;-webkit-user-select:none}.nonogram-cell.filled{background:#2f3b49}.nonogram-cell.crossed{background:#fff}.nonogram-cell.group-r{box-shadow:inset -2px 0 0 #2f3b49}.nonogram-cell.group-b{box-shadow:inset 0 -2px 0 #2f3b49}.nonogram-cell.mistake{animation:nonogram-shake .18s linear 2;background:#f6dddd}.nonogram-cell:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;z-index:2}.nonogram-mobile-tip{display:none;margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.nonogram-guide{grid-template-columns:repeat(3,1fr)}.nonogram-reveal{display:grid;gap:1px;width:min(250px,72vw);aspect-ratio:1;margin:12px auto 16px;background:var(--text);padding:2px;border-radius:10px;overflow:hidden}.nonogram-reveal>div{display:grid;grid-template-columns:repeat(var(--reveal-n,1),1fr);gap:1px}.nonogram-reveal i{display:block;background:#fff}.nonogram-reveal i.on{background:#2f3b49}.nonogram-completion .nonogram-reveal>div{grid-template-columns:repeat(var(--n,10),1fr)}
@keyframes nonogram-shake{0%,100%{transform:translateX(0)}50%{transform:translateX(2px)}}
@media(max-width:760px){.nonogram-page{display:flex;flex-direction:column}.nonogram-panel{order:1;min-width:0;width:100%}.nonogram-stats{order:2}.nonogram-guide{order:3}.nonogram-stats{grid-template-columns:1fr 1fr}.nonogram-toolbar{grid-template-columns:1fr}.nonogram-tools,.nonogram-actions{display:grid;grid-template-columns:repeat(3,1fr)}.nonogram-actions{grid-template-columns:repeat(4,1fr)}.nonogram-tools button,.nonogram-actions button{justify-content:center;padding-inline:6px}.nonogram-guide{grid-template-columns:1fr}.nonogram-options{align-items:flex-start;flex-direction:column}.nonogram-mobile-tip{display:block}}
@media(max-width:520px){.nonogram-flow-tabs,.nonogram-size-tabs{display:grid;grid-template-columns:1fr 1fr}.nonogram-size-tabs{grid-template-columns:repeat(3,1fr)}.nonogram-flow-tabs a,.nonogram-size-tabs a{text-align:center;border-radius:11px;padding:9px 4px;font-size:10px}.nonogram-day-nav{grid-template-columns:1fr 1fr}.nonogram-day-nav>span{grid-column:1/-1;grid-row:1}.nonogram-day-nav .btn{width:100%}.nonogram-meta{grid-template-columns:1fr 1fr}.nonogram-actions{grid-template-columns:1fr 1fr}.nonogram-shell{grid-template-columns:60px max-content;grid-template-rows:60px max-content}.nonogram-shell.n5{--cell:44px}.nonogram-shell.n10{--cell:26px}.nonogram-shell.n15{--cell:18px}.nonogram-col-clues{height:60px}.nonogram-row-clues{width:60px}.nonogram-clue{font-size:8px}.col-clue{gap:2px;padding-bottom:3px}.row-clue{gap:3px;padding-right:4px}.nonogram-cell{font-size:calc(var(--cell)*.75)}}
@media(forced-colors:active){.nonogram-flow-tabs a.active,.nonogram-size-tabs a.active,.nonogram-tools button.active{background:Highlight!important;color:HighlightText!important;border-color:Highlight!important;forced-color-adjust:none}.nonogram-cell.filled{background:CanvasText!important}.nonogram-cell.crossed{border:1px solid CanvasText}.nonogram-cell:focus-visible{outline:3px solid Highlight}}

/* V0.57 Japanese Vocabulary */
.vocab-page{max-width:980px}.vocab-flow-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:16px 0 12px}.vocab-flow-tabs a{display:grid;place-items:center;min-height:42px;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);font-size:11px;font-weight:850;text-align:center;text-decoration:none}.vocab-flow-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.vocab-setup{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:16px;align-items:end;padding:14px 16px}.vocab-setup label{display:block;margin-bottom:5px;font-size:10px;font-weight:900;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.vocab-setup select,.vocab-bank-head input{width:100%;min-height:43px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text);padding:9px 11px;font:inherit}.vocab-setup p{margin:0 0 10px;color:var(--muted);font-size:11px;line-height:1.5}.vocab-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:11px 0 14px}.vocab-stats>div{display:grid;gap:2px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.vocab-stats small{font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.vocab-stats strong{font-size:19px}.vocab-stats span{font-size:9px;color:var(--muted)}.vocab-panel{max-width:780px;margin-inline:auto}.vocab-live{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;color:var(--muted);font-size:11px;font-weight:850}.vocab-live strong{font-size:18px;color:var(--text)}.vocab-ready{display:grid;place-items:center;text-align:center;min-height:270px;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,var(--soft))}.vocab-ready small,.vocab-card>small{font-size:9px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.vocab-ready h2{margin:7px 0 8px;font-size:24px}.vocab-ready p{max-width:580px;margin:0 0 18px;color:var(--muted);line-height:1.6}.vocab-card{display:grid;place-items:center;text-align:center;min-height:300px;padding:22px 18px}.vocab-word{margin:12px 0 4px;font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:66px;font-weight:900;line-height:1.1;overflow-wrap:anywhere}.vocab-word.english{font-family:inherit;font-size:38px}.vocab-reading{font-size:18px;font-weight:800;color:var(--muted)}.vocab-hint{margin-top:8px;color:var(--muted);font-size:13px}.vocab-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(620px,100%);margin:22px auto 0}.vocab-choice{min-height:70px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text);padding:12px;font:inherit;cursor:pointer}.vocab-choice strong{display:block;font-size:14px}.vocab-choice small{display:block;margin-top:4px;color:var(--muted)}.vocab-choice.correct{border:3px solid #2f6549;background:#edf7f1}.vocab-choice.wrong{border:2px dashed #8d4040;background:#fbefef}.vocab-answer{display:grid;grid-template-columns:1fr auto;gap:9px;width:min(520px,100%);margin:22px auto 0;text-align:left}.vocab-answer span{grid-column:1/-1;font-size:10px;font-weight:900;color:var(--muted);text-transform:uppercase}.vocab-answer input{min-width:0;min-height:46px;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font:inherit;font-size:18px}.vocab-bank-head{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:end;margin:4px 0 14px}.vocab-bank-head label{font-size:10px;font-weight:900;color:var(--muted);text-transform:uppercase}.vocab-bank-head span{color:var(--muted);font-size:10px}.vocab-bank{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.vocab-ref{display:grid;gap:3px;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:12px}.vocab-ref small{font-size:8px;font-weight:900;color:var(--muted);text-transform:uppercase}.vocab-ref strong{font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:23px}.vocab-ref span{font-size:11px;color:var(--muted)}.vocab-ref p{margin:4px 0;font-size:12px}.vocab-ref em{font-style:normal;font-size:9px;color:var(--muted)}.vocab-guide{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.vocab-flow-tabs{grid-template-columns:repeat(4,1fr)}.vocab-stats{grid-template-columns:repeat(3,1fr)}.vocab-bank{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.vocab-page{display:flex;flex-direction:column}.vocab-panel{order:1;min-width:0;width:100%}.vocab-stats{order:2}.vocab-guide{order:3}.vocab-flow-tabs{grid-template-columns:repeat(2,1fr)}.vocab-flow-tabs a:last-child{grid-column:1/-1}.vocab-setup{grid-template-columns:1fr}.vocab-stats{grid-template-columns:1fr 1fr}.vocab-word{font-size:56px}.vocab-word.english{font-size:31px}.vocab-choices{grid-template-columns:1fr}.vocab-answer{grid-template-columns:1fr}.vocab-answer .btn{width:100%}.vocab-bank{grid-template-columns:1fr}.vocab-bank-head{grid-template-columns:1fr}.vocab-guide{grid-template-columns:1fr}}
@media(forced-colors:active){.vocab-flow-tabs a.active,.vocab-choice.correct,.vocab-choice.wrong{forced-color-adjust:none}.vocab-flow-tabs a.active{background:Highlight!important;color:HighlightText!important;border-color:Highlight!important}.vocab-choice.correct{border:3px solid CanvasText!important}.vocab-choice.wrong{border:3px dashed CanvasText!important}}

/* V0.58 Minesweeper Specialist */
.minesweeper-page{max-width:1080px}.mines-flow-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 12px}.mines-flow-tabs a,.mines-difficulty-tabs a{border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);text-decoration:none;font-weight:850;text-align:center}.mines-flow-tabs a{padding:11px}.mines-flow-tabs a.active,.mines-difficulty-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.mines-day-nav{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:0 0 12px}.mines-day-nav>span{text-align:center}.mines-day-nav small,.mines-day-nav strong{display:block}.mines-day-nav small{font-size:9px;letter-spacing:.08em;color:var(--muted);font-weight:900}.mines-difficulty-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 13px}.mines-difficulty-tabs a{display:grid;gap:2px;padding:10px}.mines-difficulty-tabs span{font-size:9px;font-weight:700;opacity:.8}.mines-panel{min-width:0}.mines-topline{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-bottom:12px}.mines-counter{border:1px solid var(--line);border-radius:13px;background:var(--soft);padding:9px 12px}.mines-counter:last-child{text-align:right}.mines-counter small{display:block;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}.mines-counter strong{display:block;margin-top:2px;font-size:22px;font-variant-numeric:tabular-nums}.mines-face{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:var(--card);font-size:22px;font-weight:900}.mines-toolbar{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-bottom:10px}.mines-tools,.mines-actions{display:flex;gap:7px;flex-wrap:wrap}.mines-tools button,.mines-actions button{min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text);padding:8px 12px;font:inherit;font-size:11px;font-weight:850;cursor:pointer}.mines-tools button.active{background:var(--accent);border-color:var(--accent);color:#fff}.mines-actions{justify-content:flex-end}.mines-options{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:10px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:var(--soft);font-size:10px;color:var(--muted)}.mines-options label{display:flex;gap:6px;align-items:center;font-weight:800;color:var(--text)}.mines-options>span{margin-left:auto}.mines-daily-start{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#fff,var(--soft))}.mines-daily-start small,.mines-daily-start span{display:block}.mines-daily-start small{font-size:8px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.mines-daily-start strong{display:block;margin:3px 0;font-size:13px}.mines-daily-start span{font-size:10px;color:var(--muted)}.mines-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px}.mines-meta span{display:grid;gap:2px;border:1px solid var(--line);border-radius:11px;background:var(--card);padding:8px 10px}.mines-meta small{font-size:8px;font-weight:900;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}.mines-meta strong{font-size:12px}.mines-board-scroll{width:100%;max-width:100%;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:15px;background:#e8ecf0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mines-grid{display:grid;grid-template-columns:repeat(var(--w),var(--cell));grid-auto-rows:var(--cell);width:max-content;margin:auto;gap:1px;padding:2px;background:#727d89;border:1px solid #59636d;touch-action:pan-x pan-y}.mines-cell{width:var(--cell);height:var(--cell);min-width:0;min-height:0;padding:0;border:0;border-radius:2px;font:inherit;font-size:calc(var(--cell)*.53);font-weight:900;line-height:1;display:grid;place-items:center;user-select:none;-webkit-user-select:none;cursor:pointer}.mines-cell.covered{background:#dce2e7;box-shadow:inset 2px 2px 0 #fff,inset -2px -2px 0 #aab3bc}.mines-cell.covered:hover{background:#e7ebef}.mines-cell.revealed{background:#f7f8f9;box-shadow:inset 0 0 0 1px #c6cdd4}.mines-cell.flagged{font-size:calc(var(--cell)*.5)}.mines-cell.mine,.mines-cell.solution-mine{background:#f1dddd}.mines-cell.bad-flag{background:#f8e5e5;text-decoration:line-through}.mines-cell.hint-safe{outline:3px solid #2f7350;outline-offset:-3px;z-index:2}.mines-cell.hint-mine{outline:3px dashed #8d4040;outline-offset:-3px;z-index:2}.mines-cell.n1{color:#285fb2}.mines-cell.n2{color:#2f7350}.mines-cell.n3{color:#9b3f3f}.mines-cell.n4{color:#4f4b94}.mines-cell.n5{color:#7f4a34}.mines-cell.n6{color:#367c7c}.mines-cell.n7{color:#383d44}.mines-cell.n8{color:#707984}.mines-cell:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;z-index:3}.mines-keyhelp{margin-top:9px;color:var(--muted);font-size:9px;line-height:1.45}.mines-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.mines-stats>div{display:grid;gap:2px;border:1px solid var(--line);border-radius:13px;background:var(--card);padding:10px 12px}.mines-stats small{font-size:8px;font-weight:900;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.mines-stats strong{font-size:19px}.mines-stats span{font-size:9px;color:var(--muted)}.mines-guide{grid-template-columns:repeat(3,1fr)}.mines-guide small,.mines-guide strong{display:block}.mines-guide small{margin-bottom:3px}.mines-guide strong{margin-bottom:6px}.mines-result-face{display:grid;place-items:center;width:78px;height:78px;margin:12px auto;border:1px solid var(--line);border-radius:22px;background:var(--soft);font-size:42px;font-weight:900}.mines-result-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px auto;max-width:680px}.mines-result-metrics>div{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:10px}.mines-result-metrics small{display:block;font-size:8px;font-weight:900;color:var(--muted);text-transform:uppercase}.mines-result-metrics strong{display:block;margin-top:3px;font-size:18px}
@media(max-width:760px){.minesweeper-page{display:flex;flex-direction:column}.mines-panel{order:1;width:100%}.mines-stats{order:2}.mines-guide{order:3}.mines-toolbar{grid-template-columns:1fr}.mines-tools,.mines-actions{display:grid;grid-template-columns:1fr 1fr}.mines-actions{grid-template-columns:repeat(2,1fr)}.mines-actions button,.mines-tools button{justify-content:center}.mines-options>span{margin-left:0;flex-basis:100%}.mines-guide{grid-template-columns:1fr}.mines-board-scroll{padding:8px}.mines-grid{margin:0 auto}}
@media(max-width:520px){.mines-flow-tabs{grid-template-columns:1fr 1fr}.mines-difficulty-tabs{grid-template-columns:repeat(3,1fr)}.mines-difficulty-tabs a{padding:8px 3px;font-size:10px}.mines-difficulty-tabs span{font-size:8px}.mines-day-nav{grid-template-columns:1fr 1fr}.mines-day-nav>span{grid-column:1/-1;grid-row:1}.mines-day-nav .btn{width:100%}.mines-meta,.mines-stats,.mines-result-metrics{grid-template-columns:1fr 1fr}.mines-daily-start{align-items:stretch;flex-direction:column}.mines-daily-start .btn{width:100%}.mines-topline{gap:7px}.mines-counter{padding:8px}.mines-counter strong{font-size:18px}.mines-face{width:40px;height:40px}.mines-keyhelp{display:none}}
@media(forced-colors:active){.mines-flow-tabs a.active,.mines-difficulty-tabs a.active,.mines-tools button.active{background:Highlight!important;color:HighlightText!important;border-color:Highlight!important;forced-color-adjust:none}.mines-cell.covered,.mines-cell.revealed{border:1px solid CanvasText;box-shadow:none}.mines-cell.hint-safe,.mines-cell.hint-mine,.mines-cell:focus-visible{outline:3px solid Highlight}}

/* V0.59 Killer Sudoku specialist */
.killer-page{max-width:1120px}.killer-flow-tabs,.killer-difficulty-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}.killer-difficulty-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.killer-flow-tabs a,.killer-difficulty-tabs a{border:1px solid var(--line);border-radius:13px;background:var(--card);padding:11px 12px;text-decoration:none;color:var(--text);font-weight:850;text-align:center}.killer-difficulty-tabs a span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.killer-flow-tabs a.active,.killer-difficulty-tabs a.active{background:#e7f1f7;border-color:#8caec4;color:#315b73}.killer-panel{max-width:980px;margin-left:auto;margin-right:auto}.killer-meta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:12px}.killer-meta>span{background:var(--soft);border-radius:11px;padding:8px;text-align:center;min-width:0}.killer-meta small{display:block;color:var(--muted);font-weight:750;font-size:9px}.killer-meta strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.killer-workspace{display:grid;grid-template-columns:minmax(0,612px) minmax(230px,1fr);gap:16px;align-items:start}.killer-board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));width:min(100%,612px);aspect-ratio:1;border:3px solid #31363d;background:#31363d;gap:1px}.ks-cell{--ct:0;--cb:0;--cl:0;--cr:0;position:relative;min-width:0;border:0;background:#fff;color:var(--text);font:inherit;font-size:clamp(17px,3.6vw,27px);font-weight:750;display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:inset 0 var(--ct) 0 #73808a,inset 0 calc(-1 * var(--cb)) 0 #73808a,inset var(--cl) 0 0 #73808a,inset calc(-1 * var(--cr)) 0 0 #73808a}.ks-cell:nth-child(3n){border-right:2px solid #31363d}.ks-cell:nth-child(9n){border-right:0}.ks-cell:nth-child(n+19):nth-child(-n+27),.ks-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #31363d}.ks-cell.given{background:#f1f3f5;font-weight:900}.ks-cell.peer{background:#f6f8fa}.ks-cell.selected{background:#eaf4fa;outline:3px solid #6e94ad;outline-offset:-3px;z-index:2}.ks-cell.conflict{background:var(--badbg)!important;color:var(--bad)}.ks-sum{position:absolute;top:3px;left:4px;font-size:clamp(7px,1.15vw,10px);line-height:1;font-weight:900;color:#44515b}.killer-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:min(100%,612px);margin:0 auto 14px}.killer-cage-card{position:sticky;top:76px;border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:14px}.killer-cage-card>small{display:block;color:var(--muted);font-size:9px;font-weight:850}.killer-cage-card>strong{display:block;font-size:20px;margin:3px 0 10px}.killer-cage-card p{font-size:12px;color:var(--muted);line-height:1.55}.killer-remainder{display:grid;grid-template-columns:1fr auto;gap:5px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0;margin:8px 0}.killer-remainder span{font-size:11px;color:var(--muted)}.killer-remainder b{text-align:right}.killer-combos{display:flex;flex-wrap:wrap;gap:6px;max-height:240px;overflow:auto}.killer-combos span{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 7px;font-size:10px;font-weight:800}.killer-combos em{font-size:11px;color:var(--bad)}.killer-toggle{margin-top:12px;font-size:11px}.killer-keyhelp{font-size:11px;color:var(--muted);text-align:center;margin-top:8px}.killer-guide{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.killer-workspace{grid-template-columns:1fr}.killer-cage-card{position:static;order:2}.killer-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.killer-guide{grid-template-columns:1fr}.killer-board{width:100%}.killer-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.ks-sum{top:2px;left:2px}.killer-cage-card{padding:12px}.killer-combos{max-height:140px}}
@media(max-width:420px){.killer-panel{padding-left:10px;padding-right:10px}.killer-meta{gap:5px}.killer-meta>span{padding:6px 4px}.killer-difficulty-tabs a,.killer-flow-tabs a{padding:9px 5px;font-size:11px}.killer-actions{gap:5px}.killer-actions .tool-btn{min-height:48px}.ks-cell{font-size:18px}.note-grid{inset:2px;font-size:7px}}

/* V0.60 2048 specialist */
.game2048-page{max-width:1080px}.g2048-flow-tabs,.g2048-variant-tabs{display:grid;gap:8px;margin:0 0 10px}.g2048-flow-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.g2048-variant-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.g2048-flow-tabs a,.g2048-variant-tabs a{border:1px solid var(--line);border-radius:13px;background:var(--card);padding:11px 12px;color:var(--text);text-decoration:none;text-align:center;font-weight:850}.g2048-flow-tabs a.active,.g2048-variant-tabs a.active{background:#edf3ee;border-color:#9eb7a5}.g2048-variant-tabs span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.g2048-day-nav{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:0 0 10px}.g2048-day-nav>span{text-align:center}.g2048-day-nav small,.g2048-day-nav strong{display:block}.g2048-day-nav small{font-size:8px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.g2048-panel{position:relative;max-width:760px;margin-left:auto;margin-right:auto;overflow:hidden}.g2048-head{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:8px;align-items:stretch;margin-bottom:10px}.g2048-head>div{display:grid;align-content:center;min-width:0;border:1px solid var(--line);border-radius:13px;background:var(--soft);padding:9px 10px;text-align:center}.g2048-head small{font-size:8px;font-weight:900;letter-spacing:.07em;color:var(--muted)}.g2048-head strong{display:block;font-size:21px}.g2048-target span{font-size:9px;color:var(--muted);line-height:1.25}.g2048-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:9px}.g2048-actions button,.g2048-pad button{min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text);font:inherit;font-size:11px;font-weight:850;cursor:pointer}.g2048-actions button:hover,.g2048-pad button:hover{background:var(--soft)}.g2048-actions button:disabled{opacity:.45;cursor:not-allowed}.g2048-actions button span{display:block;font-size:8px;color:var(--muted)}.g2048-runmeta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}.g2048-runmeta>span{display:grid;gap:1px;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:7px 9px}.g2048-runmeta small{font-size:8px;font-weight:850;color:var(--muted);text-transform:uppercase}.g2048-runmeta strong{font-size:12px;overflow:hidden;text-overflow:ellipsis}.g2048-board-shell{width:min(100%,560px);margin:0 auto;padding:9px;border-radius:18px;background:#b7afa4;touch-action:none;user-select:none;-webkit-user-select:none}.g2048-board{--g2048-gap:9px;display:grid;grid-template-columns:repeat(var(--g2048-size),minmax(0,1fr));gap:var(--g2048-gap);width:100%;aspect-ratio:1;outline:none}.g2048-board:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:11px}.g2048-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border-radius:10px;background:rgba(238,228,218,.52);overflow:hidden}.g2048-tile{display:grid;place-items:center;width:100%;height:100%;border-radius:10px;background:#eee4da;color:#655c54;font-size:clamp(21px,7vw,50px);font-weight:950;letter-spacing:-.055em;line-height:1;box-shadow:0 1px 1px rgba(0,0,0,.06)}.g2048-board[style*="--g2048-size: 5"] .g2048-tile{font-size:clamp(16px,5.3vw,36px)}.g2048-tile.t4{background:#ede0c8}.g2048-tile.t8{background:#f2b179;color:#fff}.g2048-tile.t16{background:#f59563;color:#fff}.g2048-tile.t32{background:#f67c5f;color:#fff}.g2048-tile.t64{background:#f65e3b;color:#fff}.g2048-tile.t128{background:#edcf72;color:#fff;font-size:clamp(18px,6vw,42px)}.g2048-tile.t256{background:#edcc61;color:#fff;font-size:clamp(18px,6vw,42px)}.g2048-tile.t512{background:#edc850;color:#fff;font-size:clamp(18px,6vw,42px)}.g2048-tile.t1024{background:#edc53f;color:#fff;font-size:clamp(15px,5.3vw,36px)}.g2048-tile.t2048,.g2048-result-tile.t2048{background:#edc22e;color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.3) inset,0 3px 18px rgba(180,137,35,.24)}.g2048-tile.tsuper,.g2048-result-tile.tsuper{background:#3c3a32;color:#fff;font-size:clamp(13px,4.5vw,31px)}.g2048-tile.spawned{animation:g2048spawn .16s ease-out}.g2048-tile.merged{animation:g2048merge .18s ease-out}@keyframes g2048spawn{from{transform:scale(.15);opacity:.3}to{transform:scale(1);opacity:1}}@keyframes g2048merge{0%{transform:scale(.86)}55%{transform:scale(1.12)}100%{transform:scale(1)}}.g2048-pad{display:grid;grid-template-columns:repeat(3,54px);gap:6px;justify-content:center;margin:11px auto 4px}.g2048-pad button{min-height:48px;font-size:20px}.g2048-keyhelp{margin-top:8px;text-align:center;color:var(--muted);font-size:9px;line-height:1.4}.g2048-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.g2048-stats>div{display:grid;gap:2px;border:1px solid var(--line);border-radius:13px;background:var(--card);padding:10px 12px}.g2048-stats small{font-size:8px;font-weight:900;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.g2048-stats strong{font-size:20px}.g2048-stats span{font-size:9px;color:var(--muted)}.g2048-guide{grid-template-columns:repeat(3,minmax(0,1fr))}.g2048-guide small,.g2048-guide strong{display:block}.g2048-guide small{margin-bottom:3px}.g2048-guide strong{margin-bottom:6px}.g2048-overlay{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:18px;background:rgba(250,248,244,.9);backdrop-filter:blur(4px)}.g2048-overlay-card{width:min(100%,470px);border:1px solid var(--line);border-radius:20px;background:var(--card);padding:24px;text-align:center;box-shadow:0 14px 50px rgba(40,35,30,.12)}.g2048-overlay-card>small{font-size:9px;font-weight:900;letter-spacing:.1em;color:var(--muted)}.g2048-overlay-card>strong{display:block;margin:4px 0;font-size:42px}.g2048-overlay-card h2{margin:3px 0 8px}.g2048-overlay-card p{color:var(--muted);font-size:12px;line-height:1.55}.g2048-result-tile{display:grid;place-items:center;width:94px;height:94px;margin:14px auto;border-radius:18px;background:#edc22e;color:#fff;font-size:28px;font-weight:950}.g2048-result-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:650px;margin:12px auto}.g2048-result-metrics>div{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:9px}.g2048-result-metrics small{display:block;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.g2048-result-metrics strong{display:block;margin-top:2px;font-size:18px}
@media(max-width:760px){.game2048-page{display:flex;flex-direction:column}.g2048-panel{order:1;width:100%}.g2048-stats{order:2}.g2048-guide{order:3;grid-template-columns:1fr}.g2048-board-shell{width:min(100%,500px)}.g2048-board{--g2048-gap:7px}.g2048-cell,.g2048-tile{border-radius:8px}}
@media(max-width:520px){.g2048-panel{padding-left:10px;padding-right:10px}.g2048-flow-tabs a,.g2048-variant-tabs a{padding:9px 5px;font-size:10px}.g2048-day-nav{grid-template-columns:1fr 1fr}.g2048-day-nav>span{grid-column:1/-1;grid-row:1}.g2048-day-nav .btn{width:100%}.g2048-head{grid-template-columns:1fr 1.25fr 1fr;gap:5px}.g2048-head>div{padding:7px 4px}.g2048-head strong{font-size:17px}.g2048-actions{grid-template-columns:1fr 1fr}.g2048-runmeta,.g2048-stats,.g2048-result-metrics{grid-template-columns:1fr 1fr}.g2048-board-shell{padding:7px;border-radius:15px}.g2048-board{--g2048-gap:6px}.g2048-tile{font-size:clamp(20px,9vw,38px)}.g2048-board[style*="--g2048-size: 5"] .g2048-tile{font-size:clamp(14px,6.8vw,28px)}.g2048-pad{grid-template-columns:repeat(3,50px)}.g2048-keyhelp{display:none}.g2048-overlay{padding:10px}.g2048-overlay-card{padding:18px 14px}}
@media(forced-colors:active){.g2048-flow-tabs a.active,.g2048-variant-tabs a.active{background:Highlight!important;color:HighlightText!important;border-color:Highlight!important;forced-color-adjust:none}.g2048-board-shell,.g2048-cell,.g2048-tile{border:1px solid CanvasText}.g2048-board:focus-visible{outline:3px solid Highlight}}

/* V0.61 Japanese Kanji specialist */
.kanji-page .vocab-word{font-size:78px}.kanji-choice-char{font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:31px!important}.kanji-ref strong{font-size:34px}.kanji-source-note{margin-top:14px;padding:14px 16px}.kanji-source-note small{font-size:9px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.kanji-source-note p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.6}@media(max-width:520px){.kanji-page .vocab-word{font-size:64px}.kanji-choice-char{font-size:28px!important}}

/* V0.62 Calcudoku specialist */
.calcudoku-page{max-width:1120px}.calcudoku-flow-tabs,.calcudoku-difficulty-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}.calcudoku-difficulty-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.calcudoku-flow-tabs a,.calcudoku-difficulty-tabs a{border:1px solid var(--line);border-radius:13px;background:var(--card);padding:11px 12px;text-decoration:none;color:var(--text);font-weight:850;text-align:center}.calcudoku-difficulty-tabs a span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.calcudoku-flow-tabs a.active,.calcudoku-difficulty-tabs a.active{background:#e9f2ee;border-color:#91b4a1;color:#315e48}.calcudoku-panel{max-width:980px;margin-left:auto;margin-right:auto}.calcudoku-meta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:12px}.calcudoku-meta>span{background:var(--soft);border-radius:11px;padding:8px;text-align:center;min-width:0}.calcudoku-meta small{display:block;color:var(--muted);font-weight:750;font-size:9px}.calcudoku-meta strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calcudoku-workspace{display:grid;grid-template-columns:minmax(0,612px) minmax(230px,1fr);gap:16px;align-items:start}.calcudoku-play{min-width:0}.calcudoku-board{--n:5;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));width:min(100%,612px);aspect-ratio:1;border:3px solid #31363d;background:#31363d;gap:1px;margin:0 auto}.calc-cell{--ct:0;--cb:0;--cl:0;--cr:0;position:relative;min-width:0;border:0;background:#fff;color:var(--text);font:inherit;font-size:clamp(20px,5vw,32px);font-weight:800;display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:inset 0 var(--ct) 0 #64756c,inset 0 calc(-1 * var(--cb)) 0 #64756c,inset var(--cl) 0 0 #64756c,inset calc(-1 * var(--cr)) 0 0 #64756c}.calc-cell.peer{background:#f6f9f7}.calc-cell.selected{background:#eaf5ef;outline:3px solid #6d9b82;outline-offset:-3px;z-index:2}.calc-cell.conflict{background:var(--badbg)!important;color:var(--bad)}.calc-clue{position:absolute;top:4px;left:5px;font-size:clamp(8px,1.4vw,11px);line-height:1;font-weight:950;color:#3e5147}.calc-note-grid{position:absolute;inset:5px;display:grid;grid-template-columns:repeat(var(--n),1fr);grid-template-rows:repeat(var(--n),1fr);font-size:clamp(7px,1.2vw,10px);font-weight:750;color:#6a7770}.calc-note-grid i{font-style:normal;display:grid;place-items:center}.calcudoku-pad{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:6px;width:min(100%,612px);margin:14px auto 10px}.calcudoku-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:min(100%,612px);margin:0 auto 14px}.calcudoku-cage-card{position:sticky;top:76px;border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:14px}.calcudoku-cage-card>small{display:block;color:var(--muted);font-size:9px;font-weight:850}.calcudoku-cage-card>strong{display:block;font-size:20px;margin:3px 0 10px}.calcudoku-cage-card p{font-size:12px;color:var(--muted);line-height:1.55}.calcudoku-remainder{display:grid;grid-template-columns:1fr auto;gap:5px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0;margin:8px 0}.calcudoku-remainder span{font-size:11px;color:var(--muted)}.calcudoku-remainder b{text-align:right}.calcudoku-combos{display:flex;flex-wrap:wrap;gap:6px;max-height:240px;overflow:auto}.calcudoku-combos span{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 7px;font-size:10px;font-weight:800}.calcudoku-combos em{font-size:11px;color:var(--bad)}.calcudoku-toggle{margin-top:12px;font-size:11px}.calcudoku-keyhelp{font-size:11px;color:var(--muted);text-align:center;margin-top:8px}.calcudoku-guide{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.calcudoku-workspace{grid-template-columns:1fr}.calcudoku-cage-card{position:static;order:2}.calcudoku-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.calcudoku-guide{grid-template-columns:1fr}.calcudoku-board{width:100%}.calcudoku-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.calc-clue{top:3px;left:3px}.calcudoku-cage-card{padding:12px}.calcudoku-combos{max-height:140px}}
@media(max-width:420px){.calcudoku-panel{padding-left:10px;padding-right:10px}.calcudoku-meta{gap:5px}.calcudoku-meta>span{padding:6px 4px}.calcudoku-difficulty-tabs a,.calcudoku-flow-tabs a{padding:9px 5px;font-size:11px}.calcudoku-actions{gap:5px}.calcudoku-actions .tool-btn{min-height:48px}.calc-cell{font-size:clamp(18px,8vw,27px)}.calc-clue{font-size:8px}.calc-note-grid{inset:3px;font-size:7px}.calcudoku-pad .numkey{min-height:46px}}
@media(forced-colors:active){.calc-cell{border:1px solid CanvasText!important;box-shadow:none!important}.calc-cell.selected{outline:3px solid Highlight!important}.calcudoku-cage-card{border:2px solid CanvasText!important}.calcudoku-combos span{border:1px solid CanvasText!important}}
/* V0.63 Typing Test */
.typing-page{padding-bottom:96px}.typing-flow-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0}.typing-flow-tabs a,.typing-choice-row button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:12px;padding:12px 10px;text-align:center;font-weight:800;text-decoration:none}.typing-flow-tabs a.active,.typing-choice-row button.active{background:var(--text);color:var(--bg);border-color:var(--text)}.typing-overview{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.typing-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.typing-stat-strip>div,.typing-weak-summary{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:12px}.typing-stat-strip small,.typing-live small,.typing-result-grid small{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.typing-stat-strip strong{font-size:1.05rem}.typing-weak-summary{display:flex;gap:7px;align-items:center;overflow:auto}.typing-weak-summary>span{flex:0 0 auto;border:1px solid var(--line);border-radius:10px;padding:7px 9px;display:grid;gap:2px}.typing-weak-summary>span strong{font-size:1rem}.typing-weak-summary>span small{font-size:.68rem;color:var(--muted)}.typing-no-weak{min-width:100%;border:0!important;padding:0!important}.typing-panel{min-height:360px}.typing-setup{display:grid;gap:14px}.typing-choice-row{display:flex;gap:8px;flex-wrap:wrap}.typing-choice-row button{min-width:90px;cursor:pointer}.typing-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.typing-toggle-grid label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card)}.typing-toggle-grid input{margin-top:3px}.typing-toggle-grid span{display:grid;gap:3px}.typing-toggle-grid small{color:var(--muted)}.typing-setup-note{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--soft)}.typing-setup-note p{margin:5px 0 0;color:var(--muted)}.typing-stage{display:grid;gap:14px}.typing-live{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.typing-live>span{background:var(--soft);border-radius:12px;padding:9px 10px;min-width:0}.typing-live strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.typing-target{height:188px;overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--card);padding:18px;font-size:1.35rem;line-height:1.9;letter-spacing:.012em;font-variant-ligatures:none;scroll-behavior:smooth}.typing-target span{border-radius:3px}.typing-target .typed-correct{color:var(--muted)}.typing-target .typed-wrong{color:#b42318;background:rgba(180,35,24,.1);text-decoration:underline}.typing-target .typing-current{background:var(--text);color:var(--bg);outline:2px solid var(--text)}.typing-target .typing-space.typing-current{background:transparent;color:inherit;box-shadow:inset 0 -3px 0 var(--text);outline:0}.typing-capture-wrap{display:grid;gap:6px}.typing-capture-wrap>span{font-size:.78rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.typing-capture{width:100%;min-height:60px;resize:none;border:1px solid var(--line);border-radius:14px;background:var(--soft);color:var(--text);font:inherit;padding:12px;outline:none}.typing-capture:focus{border-color:var(--text);box-shadow:0 0 0 3px rgba(30,41,59,.08)}.typing-status{margin:0;color:var(--muted)}.typing-stage-actions{display:flex;gap:8px;flex-wrap:wrap}.typing-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.typing-result-grid>div{border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:14px;text-align:center}.typing-result-grid strong{font-size:1.65rem}.typing-daily-streak{font-weight:700}.typing-problem-row{margin:12px 0;display:grid;gap:8px}.typing-problem-row>small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.typing-problem-row>div{display:flex;gap:8px;flex-wrap:wrap}.typing-problem-row span{border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-weight:900}.typing-explain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.typing-explain article{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:16px}.typing-explain small{color:var(--muted);font-weight:900;letter-spacing:.08em}.typing-explain h2{font-size:1rem;margin:7px 0}.typing-explain p{color:var(--muted);margin:0;line-height:1.55}
@media(max-width:760px){.typing-flow-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-flow-tabs a:first-child{grid-column:span 2}.typing-overview{grid-template-columns:1fr}.typing-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-toggle-grid{grid-template-columns:1fr}.typing-live{grid-template-columns:repeat(3,minmax(0,1fr))}.typing-target{height:205px;padding:14px;font-size:1.18rem;line-height:1.85}.typing-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-explain{grid-template-columns:1fr}.typing-stage-actions .btn{flex:1}.typing-capture{font-size:16px}}
@media(max-width:420px){.typing-page,.typing-panel,.typing-target,.typing-stage,.typing-overview{min-width:0}.typing-live{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-choice-row button{flex:1;min-width:0}.typing-flow-tabs a{padding:10px 6px;font-size:.84rem}}

/* V0.64 Times Tables */
.tables-page{max-width:1080px}.tt-tabs{display:flex;gap:8px;overflow:auto;margin:18px 0 16px;padding-bottom:4px}.tt-tabs a{white-space:nowrap;padding:10px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--muted);font-weight:700}.tt-tabs a.active{background:var(--text);color:var(--paper);border-color:var(--text)}.tt-stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.tt-stat-strip>div,.tt-live span{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:12px}.tt-stat-strip small,.tt-live small{display:block;color:var(--muted);font-size:.72rem}.tt-stat-strip strong,.tt-live strong{font-size:1.05rem}.tt-setup{display:grid;gap:14px}.tt-table-picker{display:grid;grid-template-columns:repeat(12,1fr);gap:7px}.tt-table-chip{min-height:44px;border:1px solid var(--line);background:var(--paper);border-radius:10px;font-weight:800;cursor:pointer}.tt-table-chip.active{background:var(--text);color:var(--paper);border-color:var(--text)}.tt-picker-actions{display:flex;gap:8px;flex-wrap:wrap}.tt-live{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.tt-question{text-align:center;font-size:clamp(2.8rem,10vw,5.8rem);font-weight:900;letter-spacing:-.05em;padding:30px 10px 20px}.tt-answer-row{max-width:440px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.tt-answer-row label span{display:block;font-size:.75rem;color:var(--muted);font-weight:700;margin-bottom:5px}.tt-answer-row input{width:100%;font:inherit;font-size:1.6rem;font-weight:800;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.tt-feedback{min-height:60px;max-width:680px;margin:16px auto 0;text-align:center;color:var(--muted)}.tt-grid-wrap{overflow:auto;margin:16px 0}.tt-fact-grid{border-collapse:separate;border-spacing:4px;min-width:720px;width:100%}.tt-fact-grid th{font-size:.78rem;color:var(--muted)}.tt-fact-grid td{min-width:48px;text-align:center;border:1px solid var(--line);border-radius:8px;padding:7px 4px;background:var(--paper)}.tt-fact-grid td strong{display:block}.tt-fact-grid td small{display:block;color:var(--muted);font-size:.65rem}@media(max-width:700px){.tt-stat-strip,.tt-live{grid-template-columns:repeat(2,1fr)}.tt-table-picker{grid-template-columns:repeat(6,1fr)}.tt-question{padding-top:22px}.tt-answer-row{grid-template-columns:1fr}.tt-answer-row .btn{width:100%}.tables-page .typing-explain{grid-template-columns:1fr}}

/* V0.65 Four in a Row specialist */
.four-page{max-width:1080px}.four-flow-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}.four-flow-tabs a{padding:10px 12px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--muted);font-weight:800;text-align:center;background:var(--card)}.four-flow-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.four-day-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.four-day-nav>span{text-align:center;display:grid}.four-day-nav small{font-size:.68rem;color:var(--muted);letter-spacing:.08em;font-weight:900}.four-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.7fr);gap:16px;align-items:start}.four-game-panel,.four-side{min-width:0}.four-setup{display:grid;gap:12px;margin-bottom:12px}.four-setup>div>small,.four-side-head small,.four-tactic-brief small,.four-analysis small{display:block;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.08em}.four-difficulty{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:6px}.four-difficulty button{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 7px;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}.four-difficulty button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.four-difficulty button:disabled{opacity:.42;cursor:not-allowed}.four-side-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.four-side-row label{display:grid;gap:5px;font-size:.72rem;color:var(--muted);font-weight:800}.four-side-row select{width:100%;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:9px 10px;font:inherit}.four-live{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 12px}.four-live>span{background:var(--soft);border-radius:11px;padding:9px 10px;min-width:0}.four-live small{display:block;color:var(--muted);font-size:.68rem}.four-live strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.four-tactic-brief{display:grid;gap:5px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--soft);margin:0 0 10px}.four-tactic-brief strong{font-size:1.02rem}.four-tactic-brief span{color:var(--muted);font-size:.82rem;line-height:1.4}.four-column-pad{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;width:min(100%,560px);margin:0 auto 6px}.four-column-pad button{border:1px solid var(--line);background:var(--card);border-radius:9px;min-height:34px;font:inherit;font-weight:850;cursor:pointer}.four-column-pad button:hover,.four-column-pad button.selected{background:var(--soft);border-color:#aeb6c0}.four-board-shell{width:min(100%,560px);margin:auto;overflow:hidden;border-radius:18px;background:#244d77;padding:10px}.four-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;outline:none}.four-cell{appearance:none;aspect-ratio:1;border:0;border-radius:50%;background:#f6f7f9;padding:0;min-width:0;cursor:pointer;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.four-cell span{width:82%;height:82%;border-radius:50%;display:block;background:#f8fafc;box-shadow:inset 0 2px 5px rgba(0,0,0,.08)}.four-cell.p1 span{background:#d94a49;box-shadow:inset 0 -4px 0 rgba(90,0,0,.12)}.four-cell.p2 span{background:#efc94c;box-shadow:inset 0 -4px 0 rgba(92,63,0,.12)}.four-cell.win span{outline:4px solid #fff;outline-offset:-5px;box-shadow:0 0 0 3px rgba(20,25,32,.35)}.four-board:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.four-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}.four-actions button{flex:1 1 110px;border:1px solid var(--line);background:var(--card);border-radius:11px;padding:10px;font:inherit;font-weight:800;cursor:pointer}.four-actions button:disabled{opacity:.45;cursor:not-allowed}.four-side{display:grid;gap:13px}.four-side-head{display:grid;gap:4px}.four-side-head strong{font-size:1.08rem}.four-side>p{margin:0;color:var(--muted);line-height:1.55}.four-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.four-stats>div{background:var(--soft);border-radius:12px;padding:11px}.four-stats small{display:block;color:var(--muted);font-size:.68rem}.four-stats strong{font-size:1.25rem}.four-analysis{border-top:1px solid var(--line);padding-top:12px}.four-analysis p{margin:6px 0 0;color:var(--muted);line-height:1.5;font-size:.9rem}.four-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.four-guide>div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px}.four-guide small{color:var(--muted);font-weight:900;letter-spacing:.08em}.four-guide strong{display:block;margin:6px 0}.four-guide p{margin:0;color:var(--muted);line-height:1.5}
@media(max-width:820px){.four-workspace{grid-template-columns:1fr}.four-side{order:2}.four-guide{grid-template-columns:1fr}.four-board-shell{max-width:560px}}
@media(max-width:560px){.four-page{min-width:0}.four-flow-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.four-game-panel{display:flex;flex-direction:column}.four-setup{order:1}.four-tactic-brief{order:2}.four-column-pad{order:3}.four-board-shell{order:4}.four-actions{order:5}.four-game-panel>.status{order:6}.four-live{order:7;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.four-side-row{grid-template-columns:1fr}.four-difficulty{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.four-difficulty button{padding:8px 2px;font-size:.72rem}.four-board-shell{padding:7px;border-radius:14px}.four-board{gap:4px}.four-column-pad{gap:4px}.four-column-pad button{min-height:31px;padding:4px}.four-cell.win span{outline-width:3px}.four-actions button{flex-basis:calc(50% - 8px)}.four-day-nav .btn{padding:9px 10px;font-size:.82rem}}
/* V0.66 Checkers specialist */
.checkers-page{max-width:1080px}.checkers-flow-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}.checkers-flow-tabs a{padding:10px 12px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--muted);font-weight:800;text-align:center;background:var(--card)}.checkers-flow-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.checkers-day-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.checkers-day-nav>span{text-align:center;display:grid}.checkers-day-nav small{font-size:.68rem;color:var(--muted);letter-spacing:.08em;font-weight:900}.checkers-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.72fr);gap:16px;align-items:start}.checkers-game-panel,.checkers-side{min-width:0}.checkers-setup{display:grid;gap:12px;margin-bottom:12px}.checkers-setup>div>small,.checkers-side-head small,.checkers-tactic-brief small,.checkers-analysis small{display:block;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.08em}.checkers-difficulty{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:6px}.checkers-difficulty button{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 7px;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}.checkers-difficulty button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.checkers-difficulty button:disabled{opacity:.42;cursor:not-allowed}.checkers-side-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checkers-side-row label{display:grid;gap:5px;font-size:.72rem;color:var(--muted);font-weight:800}.checkers-side-row select{width:100%;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:9px 10px;font:inherit}.checkers-turnbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 12px}.checkers-turnbar>span{background:var(--soft);border-radius:11px;padding:9px 10px;min-width:0}.checkers-turnbar small{display:block;color:var(--muted);font-size:.68rem}.checkers-turnbar strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkers-tactic-brief{display:grid;gap:5px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--soft);margin:0 0 10px}.checkers-tactic-brief strong{font-size:1.02rem}.checkers-tactic-brief span{color:var(--muted);font-size:.82rem;line-height:1.4}.checkers-board-shell{width:min(100%,590px);margin:auto;border-radius:18px;overflow:hidden;border:1px solid rgba(20,24,30,.18);box-shadow:0 7px 22px rgba(22,27,35,.08)}.checkers-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));aspect-ratio:1;background:#e7d8bd}.checkers-cell{appearance:none;position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1;border:0;padding:0;font:inherit}.checkers-cell.light{background:#eadbc4;cursor:default}.checkers-cell.dark{background:#75604c;cursor:pointer}.checkers-cell.dark:hover{filter:brightness(1.04)}.checkers-cell.movable::after{content:"";position:absolute;width:20%;height:20%;border-radius:50%;background:rgba(255,255,255,.45);bottom:7%;right:7%}.checkers-cell.target::after{content:"";position:absolute;width:25%;height:25%;border-radius:50%;background:#f4e58a;box-shadow:0 0 0 3px rgba(31,42,54,.25)}.checkers-cell.selected{box-shadow:inset 0 0 0 4px #f3cf63}.checkers-cell.last{box-shadow:inset 0 0 0 3px rgba(255,255,255,.42)}.checkers-cell:focus-visible{z-index:3;outline:4px solid var(--focus);outline-offset:-4px}.checkers-piece{width:72%;height:72%;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 -5px 0 rgba(0,0,0,.16),0 2px 4px rgba(0,0,0,.2);border:2px solid rgba(255,255,255,.42)}.checkers-cell.p1 .checkers-piece{background:#c94343}.checkers-cell.p2 .checkers-piece{background:#202934}.checkers-piece b{display:grid;place-items:center;width:55%;height:55%;border-radius:50%;font-size:clamp(.63rem,2.2vw,1rem);color:#fff;border:2px solid rgba(255,255,255,.78);line-height:1}.checkers-dot{width:0;height:0}.checkers-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}.checkers-actions button{flex:1 1 110px;border:1px solid var(--line);background:var(--card);border-radius:11px;padding:10px;font:inherit;font-weight:800;cursor:pointer}.checkers-actions button:disabled{opacity:.45;cursor:not-allowed}.checkers-side{display:grid;gap:13px}.checkers-side-head{display:grid;gap:4px}.checkers-side-head strong{font-size:1.08rem}.checkers-side>p{margin:0;color:var(--muted);line-height:1.55}.checkers-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checkers-stats>div{background:var(--soft);border-radius:12px;padding:11px}.checkers-stats small{display:block;color:var(--muted);font-size:.68rem}.checkers-stats strong{font-size:1.25rem}.checkers-analysis{border-top:1px solid var(--line);padding-top:12px}.checkers-analysis p{margin:6px 0 0;color:var(--muted);line-height:1.5;font-size:.9rem}.checkers-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.checkers-guide>div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px}.checkers-guide small{color:var(--muted);font-weight:900;letter-spacing:.08em}.checkers-guide strong{display:block;margin:6px 0}.checkers-guide p{margin:0;color:var(--muted);line-height:1.5}
@media(max-width:820px){.checkers-workspace{grid-template-columns:1fr}.checkers-side{order:2}.checkers-guide{grid-template-columns:1fr}.checkers-board-shell{max-width:590px}}
@media(max-width:560px){.checkers-page{min-width:0}.checkers-flow-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.checkers-game-panel{display:flex;flex-direction:column}.checkers-setup{order:1}.checkers-tactic-brief{order:2}.checkers-board-shell{order:3}.checkers-actions{order:4}.checkers-game-panel>.status{order:5}.checkers-turnbar{order:6;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.checkers-side-row{grid-template-columns:1fr}.checkers-difficulty{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.checkers-difficulty button{padding:8px 2px;font-size:.72rem}.checkers-board-shell{border-radius:13px}.checkers-actions button{flex-basis:calc(50% - 8px)}.checkers-day-nav .btn{padding:9px 10px;font-size:.82rem}.checkers-piece{width:70%;height:70%}.checkers-cell.selected{box-shadow:inset 0 0 0 3px #f3cf63}}
/* V0.67 Reversi specialist */
.reversi-flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.reversi-flow-tabs a{padding:10px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:800;background:var(--card)}.reversi-flow-tabs a.active{background:var(--text);color:var(--bg);border-color:var(--text)}.reversi-day-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 14px}.reversi-day-nav span{text-align:center}.reversi-day-nav small{display:block;color:var(--muted);font-weight:800}.reversi-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.8fr);gap:16px;align-items:start}.reversi-game-panel{min-width:0}.reversi-setup{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:12px}.reversi-setup small{display:block;margin-bottom:6px;color:var(--muted);font-weight:800}.reversi-difficulty{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.reversi-difficulty button,.reversi-actions button{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 10px;font-weight:800}.reversi-difficulty button.active{background:var(--text);color:var(--bg);border-color:var(--text)}.reversi-side-row{display:flex;gap:8px}.reversi-side-row label{display:grid;gap:5px;font-size:.8rem;color:var(--muted);font-weight:800}.reversi-side-row select{min-height:39px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);padding:0 9px;font-weight:700}.reversi-tactic-brief{display:grid;gap:3px;padding:11px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.reversi-tactic-brief small{font-weight:900;color:var(--accent)}.reversi-tactic-brief span{font-size:.84rem;color:var(--muted)}.reversi-turnbar{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px}.reversi-turnbar span{border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center;background:var(--card)}.reversi-turnbar small{display:block;color:var(--muted);font-size:.68rem;font-weight:800}.reversi-turnbar strong{display:block;margin-top:2px}.reversi-board-shell{max-width:590px;margin:auto;background:#1f6f48;padding:8px;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.reversi-board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;background:#2c8b5d;border:1px solid rgba(0,0,0,.28)}.reversi-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border:0;border-right:1px solid rgba(0,0,0,.23);border-bottom:1px solid rgba(0,0,0,.23);background:transparent;cursor:pointer;padding:0}.reversi-cell:nth-child(8n){border-right:0}.reversi-cell:nth-last-child(-n+8){border-bottom:0}.reversi-cell:focus-visible{outline:3px solid #fff;outline-offset:-4px;z-index:2}.reversi-cell.legal:hover,.reversi-cell.legal:focus-visible{background:rgba(255,255,255,.11)}.reversi-cell.hint{box-shadow:inset 0 0 0 4px #ffd166}.reversi-disc{width:76%;aspect-ratio:1;border-radius:50%;display:block;box-shadow:inset 0 2px 4px rgba(255,255,255,.2),0 2px 4px rgba(0,0,0,.28)}.reversi-disc.black{background:#17191d;border:1px solid #050607}.reversi-disc.white{background:#f7f4ed;border:1px solid #c9c5bb}.reversi-dot{width:20%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.55)}.reversi-cell.corner::after{content:'';position:absolute;inset:4px;border:1px solid rgba(255,255,255,.18);border-radius:6px;pointer-events:none}.reversi-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:10px}.reversi-side{display:grid;gap:14px}.reversi-side-head small,.reversi-analysis small{font-weight:900;color:var(--accent)}.reversi-side-head strong{display:block;margin-top:4px;font-size:1.08rem}.reversi-side>p,.reversi-analysis p{margin:0;color:var(--muted);line-height:1.55}.reversi-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reversi-stats div{border:1px solid var(--line);border-radius:10px;padding:10px}.reversi-stats small{display:block;color:var(--muted);font-weight:800}.reversi-stats strong{font-size:1.25rem}.reversi-guide{margin-top:18px}
@media(max-width:760px){.reversi-workspace{display:flex;flex-direction:column}.reversi-game-panel{order:1;width:100%}.reversi-side{order:2;width:100%}.reversi-setup{display:grid;gap:9px}.reversi-difficulty{grid-template-columns:repeat(4,1fr)}.reversi-difficulty button{padding:8px 4px;font-size:.78rem}.reversi-side-row{display:grid;grid-template-columns:1fr 1fr}.reversi-board-shell{width:100%;max-width:calc(100vw - 44px);padding:6px;border-radius:13px}.reversi-turnbar{gap:5px}.reversi-turnbar span{padding:7px 3px}.reversi-turnbar strong{font-size:.84rem}.reversi-actions button{flex:1 1 20%;padding:9px 5px}.reversi-flow-tabs{display:grid;grid-template-columns:1fr 1fr}.reversi-flow-tabs a{text-align:center;padding:9px 7px;font-size:.84rem}}

@media(max-width:760px){.reversi-page{padding-top:18px}.reversi-page .gameheader{margin-bottom:10px;gap:8px}.reversi-page .gameheader h1{margin:5px 0;font-size:38px}.reversi-page .gameheader p{font-size:15px;line-height:1.38}.reversi-page .scorebox{display:none}.reversi-page .reversi-flow-tabs{margin-bottom:9px;gap:6px}.reversi-page .reversi-setup{margin-bottom:8px}.reversi-page .reversi-turnbar{margin-bottom:7px}}

/* V0.68 Code Breaker specialist */
.cb-page{max-width:1080px}.cb-flow-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.cb-flow-tabs a{padding:10px 12px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--muted);font-weight:850;text-align:center;background:var(--card)}.cb-flow-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.cb-day-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.cb-day-nav>span{text-align:center;display:grid}.cb-day-nav small,.cb-setup>small,.cb-side-head small,.cb-candidate-card>small,.cb-teach>small,.cb-guide small,.cb-compose>small,.cb-reveal>small{font-size:.68rem;color:var(--muted);font-weight:900;letter-spacing:.09em}.cb-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.72fr);gap:16px;align-items:start}.cb-game-panel,.cb-side{min-width:0}.cb-setup{margin-bottom:10px}.cb-difficulty{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:6px}.cb-difficulty button{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 6px;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}.cb-difficulty button.active{background:var(--accent);border-color:var(--accent);color:#fff}.cb-live{display:grid;grid-template-columns:.8fr .8fr 1.5fr .9fr;gap:7px;margin:10px 0 12px}.cb-live span{background:var(--soft);border-radius:11px;padding:8px 9px;min-width:0}.cb-live small{display:block;color:var(--muted);font-size:.66rem}.cb-live strong{display:block;font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cb-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 12px}.cb-legend>span{display:grid;grid-template-columns:24px 1fr;column-gap:7px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:8px;background:#fff}.cb-legend strong{font-size:.78rem}.cb-legend small{grid-column:2;color:var(--muted);font-size:.67rem;line-height:1.25}.cb-history{display:grid;gap:7px;min-height:70px;max-height:420px;overflow:auto;padding-right:2px}.cb-empty{border:1px dashed var(--line);border-radius:12px;padding:18px;text-align:center;color:var(--muted);font-size:.88rem}.cb-row{display:grid;grid-template-columns:24px minmax(0,1fr) 114px;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:7px 9px;background:#fff}.cb-row-num{font-size:.72rem;color:var(--muted);font-weight:900}.cb-code{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}.cb-peg,.cb-slot,.cb-palette{--cb:#64748b}.cb-peg{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--cb);color:#fff;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12);font-size:1.05rem}.cb-feedbacks{display:grid;grid-template-columns:repeat(3,22px);gap:4px;justify-content:end}.cb-feedback{width:22px;height:22px;border-radius:7px;display:inline-grid;place-items:center;font-size:.69rem;font-weight:950;border:1px solid var(--line)}.cb-feedback.exact{background:#263241;color:#fff;border-color:#263241}.cb-feedback.color{background:#fff;color:#263241;border-color:#8793a3}.cb-feedback.miss{background:var(--soft);color:var(--muted)}.cb-compose{border-top:1px solid var(--line);margin-top:14px;padding-top:13px}.cb-current{display:flex;gap:7px;margin:8px 0 10px}.cb-slot{appearance:none;width:64px;height:64px;border:2px solid color-mix(in srgb,var(--cb) 70%,#fff);border-radius:16px;background:var(--cb);color:#fff;display:grid;place-items:center;align-content:center;cursor:pointer;font:inherit;box-shadow:inset 0 -4px 0 rgba(0,0,0,.1)}.cb-slot b{font-size:1.25rem}.cb-slot small{font-size:.57rem;font-weight:800}.cb-slot.empty{--cb:#fff;color:var(--muted);border:2px dashed var(--line);box-shadow:none}.cb-slot.empty b{font-size:1.35rem}.cb-palette-wrap{margin-top:8px}.cb-palette{display:flex;gap:7px;flex-wrap:wrap}.cb-palette button{appearance:none;width:46px;height:46px;border:0;border-radius:13px;background:var(--cb);color:#fff;display:grid;place-items:center;align-content:center;cursor:pointer;font:inherit;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)}.cb-palette button b{font-size:1rem}.cb-palette button small{font-size:.58rem;font-weight:900;opacity:.95}.cb-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.cb-actions button{flex:1 1 108px;border:1px solid var(--line);background:var(--card);border-radius:11px;padding:10px 8px;font:inherit;font-weight:820;cursor:pointer}.cb-actions #cbSubmit{background:var(--accent);border-color:var(--accent);color:#fff}.cb-actions button:disabled{opacity:.42;cursor:not-allowed}.cb-reveal{display:grid;gap:7px;margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--soft)}.cb-side{display:grid;gap:13px}.cb-side-head strong{display:block;margin-top:4px;font-size:1.05rem}.cb-side>p,.cb-teach p,.cb-candidate-card p{margin:0;color:var(--muted);line-height:1.55}.cb-candidate-card{display:grid;gap:6px;border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--soft)}.cb-candidate-card>strong{font-size:1.3rem}.cb-candidate-card{min-width:0;overflow:hidden}.cb-candidate-card #cbCandidateBox{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-width:0;max-width:100%}.cb-candidate-card #cbCandidateBox span{min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-align:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:5px 6px;font-weight:850;letter-spacing:.03em}.cb-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cb-stats div{border:1px solid var(--line);border-radius:10px;padding:10px}.cb-stats small{display:block;color:var(--muted);font-weight:800}.cb-stats strong{font-size:1.22rem}.cb-guide{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cb-guide strong{display:block;margin:5px 0}.cb-guide p{margin:0;color:var(--muted);line-height:1.5}.cb-page .c0{--cb:#c85454}.cb-page .c1{--cb:#3e6fae}.cb-page .c2{--cb:#b98a25}.cb-page .c3{--cb:#4d8664}.cb-page .c4{--cb:#765ca0}.cb-page .c5{--cb:#397f82}.cb-page .c6{--cb:#a65d7a}.cb-page .c7{--cb:#596372}.cb-slot:focus-visible,.cb-palette button:focus-visible,.cb-actions button:focus-visible,.cb-difficulty button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media(max-width:820px){.cb-workspace{grid-template-columns:1fr}.cb-side{order:2}.cb-guide{grid-template-columns:1fr}.cb-history{max-height:none}}
@media(max-width:560px){.cb-page{padding-top:18px}.cb-page .gameheader{margin-bottom:8px}.cb-page .gameheader h1{font-size:38px;margin:5px 0}.cb-page .scorebox{display:none}.cb-flow-tabs{margin:9px 0}.cb-game-panel{padding:16px}.cb-live{grid-template-columns:repeat(2,minmax(0,1fr))}.cb-legend{grid-template-columns:1fr}.cb-legend>span{grid-template-columns:24px 1fr auto}.cb-legend small{grid-column:3}.cb-row{grid-template-columns:18px minmax(0,1fr) 92px;padding:6px}.cb-peg{width:32px;height:32px;border-radius:10px}.cb-feedbacks{grid-template-columns:repeat(3,19px)}.cb-feedback{width:19px;height:19px}.cb-current{justify-content:center}.cb-slot{width:54px;height:58px;border-radius:13px}.cb-palette{justify-content:center}.cb-palette button{width:42px;height:42px}.cb-actions button{flex-basis:calc(50% - 8px)}.cb-difficulty{gap:4px}.cb-difficulty button{padding:8px 3px;font-size:.75rem}}

/* V0.69 Word Grid specialist */
.wg-page{max-width:1120px}.wg-flow-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.wg-flow-tabs a{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);text-align:center;text-decoration:none;color:var(--muted);font-weight:850}.wg-flow-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.wg-day-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.wg-day-nav>span{text-align:center;display:grid}.wg-day-nav small,.wg-style-wrap>small,.wg-side-head small,.wg-found small,.wg-guide small,.wg-current small{font-size:.68rem;color:var(--muted);font-weight:900;letter-spacing:.08em}.wg-style-wrap{margin:10px 0 14px}.wg-style-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:6px}.wg-style-tabs button{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 7px;font:inherit;font-size:.8rem;font-weight:850;cursor:pointer}.wg-style-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.wg-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.72fr);gap:16px;align-items:start}.wg-game-panel,.wg-side{min-width:0}.wg-live{display:grid;grid-template-columns:1fr .8fr .8fr 1fr;gap:7px;margin-bottom:8px}.wg-live span{background:var(--soft);border-radius:11px;padding:8px 10px;min-width:0}.wg-live small{display:block;color:var(--muted);font-size:.65rem}.wg-live strong{display:block;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wg-progress{height:9px;border-radius:99px;background:#e8ebef;position:relative;overflow:visible;margin:9px 1px 13px}.wg-progress>span{display:block;height:100%;width:0;border-radius:inherit;background:var(--accent);transition:width .18s ease}.wg-progress>i{position:absolute;left:60%;top:-3px;width:2px;height:15px;background:#88919c;border-radius:2px}.wg-current{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:8px 0}.wg-current strong{font-size:1.05rem;letter-spacing:.08em;min-height:1.4em}.wg-board{--wg-size:4;display:grid;grid-template-columns:repeat(var(--wg-size),minmax(0,1fr));gap:8px;width:min(100%,500px);margin:10px auto 12px;touch-action:none;user-select:none;-webkit-user-select:none}.wg-cell{aspect-ratio:1;border:1px solid #cbd1d8;border-radius:16px;background:#fff;font:inherit;font-weight:900;font-size:clamp(25px,6vw,42px);color:var(--text);display:grid;place-items:center;position:relative;cursor:pointer;touch-action:none;box-shadow:0 2px 0 rgba(32,42,52,.08);transition:transform .08s ease,background .08s ease}.wg-cell b{line-height:1}.wg-cell small{position:absolute;right:6px;top:5px;display:grid;place-items:center;min-width:19px;height:19px;border-radius:99px;background:#eaf1f8;color:#41627f;font-size:.61rem;font-weight:900}.wg-cell.selected{background:#dce9f6;border-color:#7899ba;transform:scale(.96);box-shadow:inset 0 0 0 2px #7899ba}.wg-cell.hint{box-shadow:inset 0 0 0 4px #d7a72d,0 2px 0 rgba(32,42,52,.08)}.wg-cell:focus-visible,.wg-style-tabs button:focus-visible,.wg-actions button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.wg-board.big{width:min(100%,530px);gap:6px}.wg-board.big .wg-cell{border-radius:13px;font-size:clamp(21px,5vw,34px)}.wg-keyboard{text-align:center;margin:7px 0 0}.wg-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.wg-actions button{flex:1 1 105px;border:1px solid var(--line);background:var(--card);border-radius:11px;padding:10px 8px;font:inherit;font-weight:820;cursor:pointer}.wg-actions #wgNew{background:var(--accent);border-color:var(--accent);color:#fff}.wg-actions button:disabled{opacity:.42;cursor:not-allowed}.wg-side{display:grid;gap:13px}.wg-side-head strong{display:block;margin-top:4px;font-size:1.05rem}.wg-lengths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.wg-lengths>div{border:1px solid var(--line);border-radius:10px;padding:8px 9px;background:var(--soft)}.wg-lengths small{display:block;color:var(--muted);font-size:.65rem}.wg-lengths strong{font-size:1.02rem}.wg-found{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:11px}.wg-found>div:first-child{display:flex;justify-content:space-between;align-items:center}.wg-found>div:first-child strong{font-size:1.15rem}.wg-wordchips{display:flex;flex-wrap:wrap;gap:5px;max-height:160px;overflow:auto}.wg-wordchips span{padding:5px 7px;border-radius:8px;background:var(--soft);font-size:.68rem;font-weight:800;color:var(--muted)}.wg-found.bonus .wg-wordchips span{background:#fff7dd;color:#725d23}.wg-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wg-stats div{border:1px solid var(--line);border-radius:10px;padding:10px}.wg-stats small{display:block;color:var(--muted);font-size:.65rem;font-weight:800}.wg-stats strong{font-size:1.18rem}.wg-guide{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.wg-guide strong{display:block;margin:5px 0}.wg-guide p{margin:0;color:var(--muted);line-height:1.5}.wg-page .status{margin-top:11px}.wg-day-nav .disabled{pointer-events:none;opacity:.45}
@media(max-width:840px){.wg-workspace{grid-template-columns:1fr}.wg-side{order:2}.wg-guide{grid-template-columns:1fr}.wg-wordchips{max-height:none}}
@media(max-width:560px){.wg-page{padding-top:17px}.wg-page .gameheader{margin-bottom:7px}.wg-page .gameheader h1{font-size:38px;margin:5px 0}.wg-page .scorebox{display:none}.wg-flow-tabs{margin:8px 0}.wg-style-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.wg-game-panel{padding:14px}.wg-live{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.wg-board{gap:6px;width:min(100%,390px);margin:8px auto 10px}.wg-cell{border-radius:13px;font-size:clamp(25px,9vw,38px)}.wg-board.big{gap:4px;width:100%}.wg-board.big .wg-cell{border-radius:10px;font-size:clamp(20px,7vw,30px)}.wg-actions button{flex-basis:calc(50% - 8px)}.wg-keyboard{font-size:.68rem}.wg-current{margin-bottom:4px}}
/* V0.70 Mahjong Solitaire Specialist */
.mj-page{padding-top:24px}.mj-flow-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.mj-flow-tabs a{padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--card);text-align:center;text-decoration:none;color:var(--muted);font-weight:850}.mj-flow-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.mj-day-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.mj-day-nav>span{text-align:center;display:grid}.mj-day-nav small,.mj-layout-wrap>small,.mj-side-head small,.mj-guide small,.mj-meter small{font-size:.68rem;color:var(--muted);font-weight:900;letter-spacing:.08em}.mj-layout-wrap{margin:8px 0 12px}.mj-layout-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:6px}.mj-layout-tabs button{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 7px;font:inherit;font-size:.8rem;font-weight:850;cursor:pointer}.mj-layout-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.mj-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.68fr);gap:16px;align-items:start}.mj-game-panel,.mj-side{min-width:0}.mj-live{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:8px}.mj-live span{background:var(--soft);border-radius:11px;padding:8px 10px;min-width:0}.mj-live small{display:block;color:var(--muted);font-size:.65rem}.mj-live strong{display:block;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mj-board-shell{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#dce8df,#edf3ef);padding:12px;overflow:hidden}.mj-board{width:min(100%,600px);margin:auto;position:relative;isolation:isolate}.mj-tile{position:absolute;aspect-ratio:.8;border:1px solid #aab4aa;border-radius:7px;background:linear-gradient(135deg,#fffdf4 0 78%,#d6ddcf 79%);box-shadow:calc(var(--z)*2px + 2px) calc(var(--z)*2px + 3px) 0 #8e9a8a,0 4px 9px rgba(38,51,42,.15);padding:0;display:grid;place-items:center;transform:translate(calc(var(--z)*2px),calc(var(--z)*-3px));transition:filter .1s ease,transform .1s ease,box-shadow .1s ease;overflow:hidden}.mj-tile.free{cursor:pointer}.mj-tile.blocked{filter:saturate(.55) brightness(.86);cursor:not-allowed}.mj-tile.selected{outline:4px solid #d39b2a;outline-offset:1px;transform:translate(calc(var(--z)*2px),calc(var(--z)*-5px)) scale(1.035)}.mj-tile.hint{box-shadow:0 0 0 5px rgba(211,155,42,.42),calc(var(--z)*2px + 2px) calc(var(--z)*2px + 3px) 0 #8e9a8a}.mj-tile:focus-visible,.mj-actions button:focus-visible,.mj-layout-tabs button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.mj-face{display:grid;place-items:center;line-height:1;width:100%;height:100%}.mj-face b{font-size:clamp(11px,2.8vw,23px);font-weight:900}.mj-face small{font-size:clamp(5px,.7vw,8px);text-transform:uppercase;letter-spacing:.03em;color:#687269;margin-top:2px;max-width:90%;overflow:hidden}.mj-face.dots b{color:#315f85}.mj-face.bamboo b{color:#397153}.mj-face.characters b,.mj-face.dragons b{color:#9b493f}.mj-face.winds b{color:#3d4e58}.mj-face.flowers b{color:#92548b}.mj-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.mj-actions button{flex:1 1 110px;border:1px solid var(--line);background:var(--card);border-radius:11px;padding:10px 8px;font:inherit;font-weight:820;cursor:pointer}.mj-actions #mjNew{background:var(--accent);border-color:var(--accent);color:#fff}.mj-side{display:grid;gap:13px}.mj-side-head strong{display:block;margin:4px 0}.mj-side-head p,.mj-teach p{margin:4px 0 0;color:var(--muted);line-height:1.5}.mj-meter{border-top:1px solid var(--line);padding-top:11px}.mj-meter strong{display:block;margin:3px 0 7px}.mj-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mj-stats div{border:1px solid var(--line);border-radius:10px;padding:10px}.mj-stats small{display:block;color:var(--muted);font-size:.65rem;font-weight:800}.mj-stats strong{font-size:1.18rem}.mj-teach{border-top:1px solid var(--line);padding-top:10px}.mj-guide{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mj-guide strong{display:block;margin:5px 0}.mj-guide p{margin:0;color:var(--muted);line-height:1.5}
@media(max-width:840px){.mj-workspace{grid-template-columns:1fr}.mj-side{order:2}.mj-guide{grid-template-columns:1fr}.mj-board{width:min(100%,560px)}}
@media(max-width:560px){.mj-page{padding-top:16px}.mj-page .gameheader{margin-bottom:7px}.mj-page .gameheader h1{font-size:36px;margin:5px 0}.mj-page .scorebox{display:none}.mj-flow-tabs{margin:8px 0}.mj-game-panel{padding:12px}.mj-live{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.mj-layout-tabs{gap:5px}.mj-layout-tabs button{font-size:.72rem;padding:8px 4px}.mj-board-shell{padding:7px;border-radius:14px}.mj-board{width:100%}.mj-tile{border-radius:5px}.mj-face b{font-size:clamp(10px,4.6vw,18px)}.mj-face small{display:none}.mj-actions button{flex-basis:calc(50% - 8px);padding:9px 6px}}

/* V0.71 Cryptogram specialist */
.cg-page{padding-bottom:92px}.cg-flow-tabs{display:flex;gap:8px;margin:0 0 14px;flex-wrap:wrap}.cg-flow-tabs a,.cg-difficulty button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:10px 14px;text-decoration:none;font-weight:800}.cg-flow-tabs a.active,.cg-difficulty button.active{background:var(--text);color:#fff;border-color:var(--text)}.cg-day-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.cg-day-nav span{text-align:center;display:grid}.cg-day-nav small,.cg-side small,.cg-live small,.cg-selected small,.cg-meta small,.cg-stats small{font-size:.68rem;letter-spacing:.08em;color:var(--muted);font-weight:800}.cg-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:16px;align-items:start}.cg-main{min-width:0}.cg-setup{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cg-difficulty{display:flex;gap:6px;flex-wrap:wrap}.cg-difficulty button{padding:8px 11px;cursor:pointer}.cg-live{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.cg-live span,.cg-meta span{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:9px 10px;display:grid;gap:2px}.cg-live strong,.cg-meta strong{font-size:.9rem;overflow-wrap:anywhere}.cg-live strong.warn{color:#9b4b00}.cg-text{display:flex;align-items:flex-end;align-content:flex-start;flex-wrap:wrap;gap:10px 8px;min-height:180px;padding:16px;border:1px solid var(--line);background:var(--soft);border-radius:16px;line-height:1}.cg-word{display:inline-flex;align-items:flex-end;gap:2px;max-width:100%}.cg-cell{width:27px;min-width:27px;height:44px;padding:2px 1px;border:0;border-bottom:2px solid #9da5b2;border-radius:5px 5px 2px 2px;background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer}.cg-cell small{font-size:.59rem;color:var(--muted);line-height:1}.cg-cell strong{font-size:1rem;line-height:1}.cg-cell:hover,.cg-cell.selected{background:var(--card);outline:2px solid var(--text);outline-offset:1px}.cg-cell.locked{background:rgba(38,103,74,.09);border-bottom-color:#26704a}.cg-cell.correct{background:rgba(38,112,74,.13);border-bottom-color:#26704a}.cg-cell.wrong{background:rgba(174,73,58,.12);border-bottom-color:#a94c3c}.cg-punct{display:inline-grid;place-items:end center;min-width:8px;height:34px;font-weight:900}.cg-selected{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:12px 0 8px}.cg-keyboard{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:5px}.cg-keyboard button{min-height:38px;padding:0;border:1px solid var(--line);background:var(--card);border-radius:8px;font-weight:900;cursor:pointer}.cg-keyboard button:hover,.cg-keyboard button:focus-visible{background:var(--text);color:#fff}.cg-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.cg-actions button{min-height:40px}.cg-after{margin-top:12px;padding:12px;border-radius:12px;background:var(--soft);line-height:1.55}.cg-side{display:grid;gap:16px;position:sticky;top:76px}.cg-side p{margin:.45rem 0 0;line-height:1.6}.cg-side>div>small{display:block;margin-bottom:4px}.cg-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cg-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cg-stats div{padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--soft);display:grid}.cg-stats strong{font-size:1.25rem}.cg-teach{border-top:1px solid var(--line);padding-top:13px}.cg-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}.cg-guide>div{min-width:0}.cg-guide strong{display:block;margin:.2rem 0 .45rem}.cg-guide p{margin:0;line-height:1.55}.cg-guide small{font-weight:900;color:var(--muted);letter-spacing:.07em}.cg-page .status{margin-top:10px}
@media(max-width:760px){.cg-workspace{grid-template-columns:1fr}.cg-side{position:static}.cg-guide{grid-template-columns:1fr}.cg-live{grid-template-columns:1fr 1fr}.cg-keyboard{grid-template-columns:repeat(7,minmax(0,1fr))}.cg-text{padding:12px 9px;gap:9px 6px}.cg-cell{width:21px;min-width:21px;height:39px}.cg-cell strong{font-size:.9rem}.cg-cell small{font-size:.52rem}.cg-day-nav .btn{padding:9px 10px}.cg-setup{align-items:flex-start;flex-direction:column}.cg-difficulty{width:100%}.cg-difficulty button{flex:1 1 22%}}
@media(max-width:390px){.cg-text{padding-left:7px;padding-right:7px}.cg-cell{width:19px;min-width:19px}.cg-word{gap:1px}.cg-keyboard{gap:4px}.cg-keyboard button{min-height:36px}.cg-actions button{flex:1 1 calc(33% - 8px)}}

/* V0.72 FreeCell Strategy Specialist */
.freecell-page{max-width:1180px}.freecell-flow-tabs{display:flex;gap:8px;margin:14px 0}.freecell-flow-tabs a{padding:10px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:800;color:var(--muted);background:var(--card)}.freecell-flow-tabs a.active{background:var(--text);color:white;border-color:var(--text)}.freecell-panel{padding:16px}.freecell-meta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px}.freecell-meta span{padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.freecell-meta small{display:block;color:var(--muted);font-size:.72rem}.freecell-meta strong{display:block;margin-top:2px;font-size:.98rem}.freecell-meta .assisted{color:var(--accent)}.freecell-dealbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:0 0 12px}.freecell-dealbar label{font-size:.78rem;color:var(--muted);font-weight:700}.freecell-dealbar input{display:block;width:116px;margin-top:4px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font:inherit}.freecell-samples{display:flex;gap:6px;flex-wrap:wrap}.freecell-samples button{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:8px 10px;font:inherit;font-size:.78rem;font-weight:800}.freecell-table{--fcw:clamp(38px,9.6vw,72px);--fch:calc(var(--fcw)*1.38);border-radius:18px;padding:12px;background:linear-gradient(145deg,#126747,#0b543a);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);overflow:hidden}.freecell-top{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.fc-group>small{display:block;color:rgba(255,255,255,.72);font-size:.64rem;letter-spacing:.08em;font-weight:900;margin-bottom:5px}.fc-slots{display:grid;grid-template-columns:repeat(4,var(--fcw));gap:4px}.fc-slot{position:relative;width:var(--fcw);height:var(--fch);border:1px dashed rgba(255,255,255,.34);border-radius:8px;background:rgba(255,255,255,.06);color:white;padding:0;font:inherit}.fc-slot:not(:empty){border-style:solid;background:#fff;color:#15171a;box-shadow:0 2px 7px rgba(0,0,0,.18)}.fc-slot-mark{font-size:.52rem;color:rgba(255,255,255,.52);font-weight:900}.fc-foundation-mark{font-size:1.35rem;color:rgba(255,255,255,.48)}.fc-columns{display:grid;grid-template-columns:repeat(8,minmax(0,var(--fcw)));gap:4px;align-items:start}.fc-column{position:relative;min-width:0;height:calc(var(--fch) + (var(--count) - 1)*clamp(24px,6.2vw,37px));border-radius:8px;outline:1px solid transparent}.fc-column.empty{min-height:var(--fch);outline:1px dashed rgba(255,255,255,.28)}.fc-empty-label{display:none;position:absolute;inset:0;align-items:center;justify-content:center;color:rgba(255,255,255,.35);font-size:.52rem;font-weight:900}.fc-column.empty .fc-empty-label{display:flex}.fc-card{position:absolute;left:0;top:calc(var(--i)*clamp(24px,6.2vw,37px));width:var(--fcw);height:var(--fch);border:1px solid #d7d9dc;border-radius:8px;background:#fff;color:#15171a;box-shadow:0 2px 5px rgba(0,0,0,.2);padding:4px;touch-action:none;user-select:none;font:inherit;text-align:left;transition:transform .12s,box-shadow .12s}.fc-card:hover{transform:translateY(-1px)}.fc-card:focus-visible,.fc-slot:focus-visible{outline:3px solid #f7c948;outline-offset:1px;z-index:80}.fc-card.fc-selected,.fc-slot.fc-selected{box-shadow:0 0 0 3px #f7c948,0 5px 14px rgba(0,0,0,.3);z-index:90}.fc-rank{display:block;font-size:clamp(.72rem,2.3vw,1rem);font-weight:950;line-height:1}.fc-suit{display:block;text-align:center;font-size:clamp(1rem,4vw,1.7rem);line-height:1.1;margin-top:4px}.fc-rank.red,.fc-suit.red,.fc-card.red{color:#c83349}.freecell-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.freecell-coach{display:grid;grid-template-columns:1.5fr .7fr;gap:12px;margin-top:12px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.freecell-coach small{display:block;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.08em}.freecell-coach strong{display:block;margin:3px 0 4px}.freecell-coach p{margin:0;color:var(--muted)}.freecell-cap{align-self:center;padding-left:12px;border-left:1px solid var(--line)}.freecell-cap span{display:block;font-size:.74rem;color:var(--muted)}.freecell-cap strong{font-size:1.05rem}.freecell-guide{grid-template-columns:repeat(3,1fr)}
@media(max-width:700px){.freecell-panel{padding:10px}.freecell-meta{grid-template-columns:repeat(3,1fr)}.freecell-table{--fcw:calc((100vw - 58px)/8);padding:8px}.freecell-top{gap:8px}.fc-slots,.fc-columns{gap:3px}.fc-group>small{font-size:.56rem}.fc-card{padding:3px}.freecell-actions{grid-template-columns:repeat(2,1fr)}.freecell-actions .tool-btn:last-child{grid-column:1/-1}.freecell-coach{grid-template-columns:1fr}.freecell-cap{padding:8px 0 0;border-left:0;border-top:1px solid var(--line)}.freecell-guide{grid-template-columns:1fr}.freecell-dealbar .btn{padding:9px 10px}.freecell-samples{width:100%}.freecell-samples button{flex:1}.freecell-keyhelp{font-size:.72rem}}

@media(max-width:560px){.freecell-page{padding-top:16px}.freecell-page .gameheader{margin-bottom:6px;gap:8px}.freecell-page .gameheader h1{font-size:36px;margin:5px 0}.freecell-page .gameheader p{font-size:14px;line-height:1.34;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.freecell-page .scorebox{display:none}.freecell-flow-tabs{margin:7px 0;gap:5px}.freecell-flow-tabs a{padding:8px 10px;font-size:.82rem}.freecell-panel{padding:8px}.freecell-meta{gap:5px;margin-bottom:7px}.freecell-meta span{padding:6px 8px;border-radius:9px}.freecell-meta small{font-size:.64rem}.freecell-meta strong{font-size:.88rem}.freecell-dealbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;margin-bottom:7px}.freecell-dealbar label{min-width:0}.freecell-dealbar input{width:100%;padding:7px 8px}.freecell-dealbar #fcRandomDeal{grid-column:1/-1;padding:8px}.freecell-samples{grid-column:1/-1;display:flex;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.freecell-samples::-webkit-scrollbar{display:none}.freecell-samples button{flex:0 0 auto;padding:6px 8px}.freecell-table{border-radius:14px}.freecell-top{margin-bottom:9px}.freecell-actions{margin-top:8px;gap:5px}.freecell-coach{margin-top:8px}.freecell-page .status{margin-top:8px}.freecell-keyhelp{margin-top:6px}}

/* V0.73 Spider Solitaire specialist */
.spider-page{max-width:1240px}.spider-flow-tabs{display:flex;gap:8px;margin:0 0 10px}.spider-flow-tabs a,.spider-suitbar button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:11px;padding:9px 12px;font-weight:800;text-decoration:none}.spider-flow-tabs a.active,.spider-suitbar button.active{background:var(--text);color:#fff;border-color:var(--text)}.spider-panel{padding:14px}.spider-meta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:10px}.spider-meta span{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--card)}.spider-meta small{display:block;color:var(--muted);font-size:.68rem}.spider-meta strong{display:block;margin-top:2px;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spider-suitbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.spider-suitbar>span{font-size:.78rem;font-weight:800;color:var(--muted)}.spider-suitbar>div{display:flex;gap:6px}.spider-suitbar button small{display:block;font-size:.62rem;font-weight:650;opacity:.72}.spider-date-nav{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.spider-table{border-radius:18px;background:linear-gradient(180deg,#176448,#0f5039);padding:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.spider-stock-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:10px;color:#ecfff7}.sp-stock{min-width:112px;border:1px solid rgba(255,255,255,.35);background:#123f32;color:#fff;border-radius:11px;padding:8px 12px;text-align:left;cursor:pointer}.sp-stock:disabled{opacity:.45;cursor:not-allowed}.sp-stock small{display:block;opacity:.75}.sp-rule-note{font-size:.72rem;opacity:.8}.sp-columns{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;align-items:start;min-height:430px}.sp-column{position:relative;min-width:0;min-height:400px;border-radius:8px;background:rgba(255,255,255,.035);outline:1px dashed rgba(255,255,255,.08)}.sp-empty{position:absolute;inset:6px 2px auto;text-align:center;font-size:.55rem;color:rgba(255,255,255,.45);pointer-events:none}.sp-card{position:absolute;left:2px;right:2px;height:54px;border-radius:7px;border:1px solid rgba(0,0,0,.28);background:#fff;color:#111;padding:4px 3px;text-align:left;font-weight:900;box-shadow:0 1px 2px rgba(0,0,0,.25);touch-action:none;cursor:pointer;overflow:hidden}.sp-card span{font-size:.76rem}.sp-card b{display:block;font-size:.78rem;line-height:1}.sp-card.red{color:#b82738}.sp-card.down{background:repeating-linear-gradient(135deg,#294d9b 0 5px,#1f3e82 5px 10px);border-color:#d8e1ff}.sp-card.selected{outline:3px solid #ffd35a;z-index:80;transform:translateY(-1px)}.sp-card.run-selected{outline:2px solid rgba(255,211,90,.75);z-index:70}.sp-column .sp-card:nth-of-type(n){top:calc((var(--sp-i,0))*1px)}.spider-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.spider-coach{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:10px;padding:11px 12px;border:1px solid var(--line);border-radius:13px}.spider-coach small{display:block;color:var(--muted);font-size:.67rem;font-weight:800}.spider-coach strong{display:block;margin:2px 0}.spider-coach p{margin:0;color:var(--muted);font-size:.85rem}.sp-run-guide{text-align:right}.sp-run-guide span{display:block;color:var(--muted);font-size:.7rem}.spider-keyhelp{margin-top:7px;color:var(--muted);font-size:.73rem}.spider-guide{grid-template-columns:repeat(3,minmax(0,1fr))}
.sp-column .sp-card{top:calc(var(--card-top,0px))}
@media(max-width:720px){.spider-page{padding-left:8px;padding-right:8px}.spider-panel{padding:8px}.spider-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:7px}.spider-meta span{padding:6px 7px;border-radius:9px}.spider-meta small{font-size:.61rem}.spider-meta strong{font-size:.78rem}.spider-suitbar{align-items:stretch;flex-direction:column;gap:5px}.spider-suitbar>div{display:grid;grid-template-columns:repeat(3,1fr)}.spider-suitbar button{padding:7px 5px;font-size:.76rem}.spider-table{padding:7px;border-radius:13px}.spider-stock-row{margin-bottom:6px;gap:6px}.sp-rule-note{font-size:.61rem}.sp-stock{min-width:88px;padding:6px 8px;font-size:.72rem}.sp-columns{gap:2px;min-height:330px}.sp-column{min-height:315px;border-radius:5px}.sp-card{left:1px;right:1px;height:42px;border-radius:4px;padding:2px 1px}.sp-card span,.sp-card b{font-size:.6rem}.spider-actions{gap:5px;margin-top:7px}.spider-coach{grid-template-columns:1fr;margin-top:7px;padding:8px}.sp-run-guide{text-align:left}.spider-guide{grid-template-columns:1fr}.spider-page .status{margin-top:7px}.spider-keyhelp{font-size:.65rem}}

/* V0.74 Mancala / Kalah specialist */
.mancala-page{max-width:1180px}.mancala-flow-tabs{display:flex;gap:8px;margin:14px 0}.mancala-flow-tabs a{padding:10px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:800;color:var(--muted);background:var(--card)}.mancala-flow-tabs a.active{background:var(--text);color:#fff;border-color:var(--text)}.mancala-day-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}.mancala-day-nav span{text-align:center}.mancala-day-nav small{display:block;color:var(--muted);font-size:.68rem;font-weight:900}.mancala-day-nav strong{display:block;margin-top:2px}.mancala-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.7fr);gap:14px;align-items:start}.mancala-game-panel{padding:16px}.mancala-setup{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:12px}.mancala-setup>div>small,.mancala-side-row label>span{display:block;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.06em;margin-bottom:5px}.mancala-difficulty{display:flex;gap:6px;flex-wrap:wrap}.mancala-difficulty button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:8px 11px;font:inherit;font-size:.8rem;font-weight:800}.mancala-difficulty button.active{background:var(--text);color:#fff;border-color:var(--text)}.mancala-side-row{display:flex;gap:8px}.mancala-side-row select{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font:inherit}.mancala-tactic-brief{display:grid;gap:3px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.mancala-tactic-brief small{color:var(--muted);font-weight:900;font-size:.68rem}.mancala-tactic-brief span{color:var(--muted);font-size:.8rem}.mancala-turnbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}.mancala-turnbar span{padding:8px 9px;border:1px solid var(--line);border-radius:11px;background:var(--soft)}.mancala-turnbar small{display:block;color:var(--muted);font-size:.65rem}.mancala-turnbar strong{display:block;margin-top:2px;font-size:.9rem}.mancala-board{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;gap:8px;align-items:stretch;padding:12px;border-radius:22px;background:linear-gradient(145deg,#b87836,#8b5524);box-shadow:inset 0 0 0 2px rgba(73,38,13,.18),0 9px 24px rgba(56,32,13,.12)}.mancala-pits{display:grid;grid-template-rows:1fr 1fr;gap:9px}.mancala-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.mancala-pit,.mancala-store{min-width:0;border:2px solid rgba(79,42,13,.28);background:radial-gradient(circle at 45% 38%,#f5d39b,#d99a54);color:#3f260f;box-shadow:inset 0 5px 10px rgba(75,39,12,.22),0 1px 0 rgba(255,255,255,.28);font:inherit}.mancala-pit{aspect-ratio:1;border-radius:50%;padding:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s,box-shadow .12s}.mancala-pit span{font-size:clamp(1rem,3vw,1.45rem);font-weight:950;line-height:1}.mancala-pit small{font-size:.62rem;opacity:.62;margin-top:3px}.mancala-pit.legal:not(:disabled){box-shadow:inset 0 5px 10px rgba(75,39,12,.22),0 0 0 3px rgba(255,239,155,.9);transform:translateY(-1px)}.mancala-pit.hint{box-shadow:inset 0 5px 10px rgba(75,39,12,.22),0 0 0 4px #fff36a!important}.mancala-pit:disabled{cursor:default;opacity:.76}.mancala-store{border-radius:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px}.mancala-store small{font-size:.65rem;opacity:.7;font-weight:900}.mancala-store strong{font-size:1.65rem;margin-top:4px}.mancala-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.mancala-side{padding:16px}.mancala-side-head small{display:block;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.08em}.mancala-side-head strong{display:block;margin:3px 0 8px}.mancala-side>p{color:var(--muted);margin:0 0 14px}.mancala-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mancala-stats div{border:1px solid var(--line);border-radius:11px;padding:9px;background:var(--soft)}.mancala-stats small{display:block;color:var(--muted);font-size:.65rem}.mancala-stats strong{display:block;margin-top:2px}.mancala-analysis{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.mancala-analysis small{color:var(--muted);font-size:.67rem;font-weight:900}.mancala-analysis p{color:var(--muted);font-size:.84rem;margin:5px 0 0}.mancala-guide{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:820px){.mancala-workspace{grid-template-columns:1fr}.mancala-side{display:none}.mancala-guide{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.mancala-page{padding-left:8px;padding-right:8px;padding-top:16px}.mancala-page .gameheader{margin-bottom:6px;gap:6px}.mancala-page .gameheader h1{font-size:35px;margin:4px 0}.mancala-page .gameheader p{font-size:14px;line-height:1.34;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mancala-page .scorebox{display:none}.mancala-flow-tabs{margin:7px 0;gap:5px}.mancala-flow-tabs a{padding:8px 8px;font-size:.78rem;flex:1;text-align:center}.mancala-game-panel{padding:8px}.mancala-setup{margin-bottom:7px;gap:6px;align-items:stretch;flex-direction:column}.mancala-difficulty{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.mancala-difficulty button{padding:7px 4px;font-size:.72rem}.mancala-side-row{display:grid;grid-template-columns:1fr 1fr}.mancala-side-row select{width:100%;padding:7px}.mancala-turnbar{gap:4px;margin-bottom:7px}.mancala-turnbar span{padding:6px 5px}.mancala-turnbar small{font-size:.57rem}.mancala-turnbar strong{font-size:.78rem}.mancala-board{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;padding:7px;border-radius:16px}.mancala-pits{gap:5px}.mancala-row{gap:3px}.mancala-pit{border-width:1px;padding:2px}.mancala-pit span{font-size:clamp(.82rem,4.3vw,1.1rem)}.mancala-pit small{font-size:.5rem;margin-top:1px}.mancala-store{border-width:1px;border-radius:24px;padding:3px}.mancala-store small{font-size:.52rem}.mancala-store strong{font-size:1.15rem}.mancala-actions{gap:5px;margin-top:7px}.mancala-page .status{margin-top:7px}.mancala-guide{grid-template-columns:1fr}.mancala-tactic-brief{padding:7px 8px;margin-bottom:7px}}
/* V0.74 Mancala guide cards */
.mancala-guide{display:grid;gap:10px;margin:14px 0 24px;border:0;background:transparent;border-radius:0;overflow:visible}
.mancala-guide>div{min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 5px 18px rgba(24,32,46,.04)}
.mancala-guide small{display:block;color:var(--muted);font-size:.67rem;font-weight:900;letter-spacing:.07em}
.mancala-guide strong{display:block;margin-top:4px;font-size:.94rem;line-height:1.25}
.mancala-guide p{margin:7px 0 0;color:var(--muted);font-size:.84rem;line-height:1.48}
@media(max-width:560px){.mancala-guide{gap:8px;margin-top:10px;margin-bottom:86px}.mancala-guide>div{padding:11px 12px}.mancala-guide strong{font-size:.9rem}.mancala-guide p{font-size:.82rem}}

/* V0.75 Dominoes strategy specialist */
.domino-page{max-width:1180px}.domino-flow-tabs{display:flex;gap:7px;margin:14px 0;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.domino-flow-tabs a{flex:0 0 auto;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);font-weight:850;text-decoration:none;white-space:nowrap}.domino-flow-tabs a.active{background:var(--text);color:#fff;border-color:var(--text)}.domino-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.65fr);gap:14px;align-items:start}.domino-game-panel,.domino-side{padding:15px}.domino-day-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.domino-day-nav span{text-align:center}.domino-day-nav small,.domino-setup>div>small{display:block;color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.07em}.domino-day-nav strong{display:block;margin-top:2px}.domino-setup{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:10px}.domino-mode-buttons,.domino-difficulty{display:flex;gap:5px;flex-wrap:wrap}.domino-mode-buttons button,.domino-difficulty button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:7px 10px;font:inherit;font-size:.77rem;font-weight:850}.domino-mode-buttons button.active,.domino-difficulty button.active{background:var(--text);color:#fff;border-color:var(--text)}.domino-tactic-brief{padding:10px 12px;border:1px solid var(--line);background:var(--soft);border-radius:12px;margin-bottom:9px}.domino-tactic-brief small{display:block;color:var(--muted);font-size:.65rem;font-weight:900;letter-spacing:.08em}.domino-tactic-brief strong{display:block;margin:2px 0}.domino-tactic-brief span{display:block;color:var(--muted);font-size:.8rem}.domino-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:9px}.domino-meta>span{padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:var(--soft);min-width:0}.domino-meta small{display:block;color:var(--muted);font-size:.6rem}.domino-meta strong{display:block;margin-top:2px;font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.domino-opponent{margin-bottom:8px}.domino-row-label{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:5px 1px}.domino-row-label span{font-size:.76rem;font-weight:900}.domino-row-label small{color:var(--muted);font-size:.68rem}.domino-hand{display:flex;gap:6px;align-items:center;min-height:68px;overflow-x:auto;padding:4px 2px 7px;scrollbar-width:thin}.domino-hand.opponent{min-height:54px}.domino-hand-wrap{position:relative;min-height:74px}.domino-pass-shield{position:absolute;inset:0;z-index:20;border:1px solid var(--line);border-radius:13px;background:var(--card);display:flex;align-items:center;justify-content:center;gap:9px;padding:8px;text-align:center}.domino-pass-shield[hidden]{display:none}.domino-pass-shield strong{font-size:.86rem}.domino-pass-shield span{color:var(--muted);font-size:.72rem}.domino-pass-shield .btn{padding:7px 10px}.dm-tile{flex:0 0 auto;width:46px;height:72px;border:1px solid #bbb5aa;border-radius:8px;background:#fffdf7;color:#171717;padding:3px;display:grid;grid-template-rows:1fr 2px 1fr;box-shadow:0 2px 5px rgba(20,25,32,.12);touch-action:none;cursor:pointer;position:relative}.dm-tile.horizontal{width:72px;height:40px;grid-template-columns:1fr 2px 1fr;grid-template-rows:1fr;padding:3px}.dm-divider{background:#777;border-radius:2px}.dm-half{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:1px;padding:1px}.dm-half i{width:5px;height:5px;border-radius:50%;background:transparent;align-self:center;justify-self:center}.dm-half i.on{background:#171717}.dm-tile.back{display:block;width:34px;height:52px;background:repeating-linear-gradient(135deg,#3e5f9f 0 5px,#2f4d87 5px 10px);border-color:#c9d2e7;cursor:default}.dm-tile.legal{box-shadow:0 0 0 2px rgba(48,124,92,.24),0 2px 5px rgba(20,25,32,.12)}.dm-tile.selected,.dm-tile.hint{outline:3px solid #f2b632;transform:translateY(-2px)}.dm-tile.kbd-focus{box-shadow:0 0 0 3px rgba(70,104,190,.22),0 2px 5px rgba(20,25,32,.12)}.domino-board{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;gap:7px;align-items:stretch;padding:10px;border-radius:18px;background:linear-gradient(145deg,#286452,#17483e);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 7px 20px rgba(26,50,44,.15);min-width:0}.domino-chain{display:flex;align-items:center;gap:4px;min-height:58px;overflow-x:auto;padding:6px 5px;border-radius:11px;background:rgba(255,255,255,.07);scrollbar-width:thin;min-width:0}.domino-chain .dm-tile{pointer-events:none}.domino-chain-empty{color:rgba(255,255,255,.7);font-size:.76rem;margin:auto}.domino-end{border:1px solid rgba(255,255,255,.28);border-radius:11px;background:rgba(255,255,255,.1);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px;min-width:0}.domino-end small{font-size:.55rem;opacity:.72}.domino-end strong{font-size:1.2rem;margin-top:2px}.domino-end.target:not(:disabled){outline:3px solid #ffe36f;background:rgba(255,227,111,.18);cursor:pointer}.domino-end:disabled{opacity:.62}.domino-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:8px}.domino-keyhelp{margin-top:7px;color:var(--muted);font-size:.68rem}.domino-side-head small{display:block;color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.08em}.domino-side-head strong{display:block;margin:3px 0 7px}.domino-side>p{margin:0 0 12px;color:var(--muted);font-size:.84rem;line-height:1.45}.domino-pip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.domino-pip-grid div{border:1px solid var(--line);border-radius:10px;padding:7px 8px;background:var(--soft);display:grid;grid-template-columns:auto 1fr;column-gap:7px}.domino-pip-grid strong{grid-row:1/3;font-size:1.05rem}.domino-pip-grid span{font-size:.7rem;font-weight:800}.domino-pip-grid small{font-size:.62rem;color:var(--muted)}.domino-local-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.domino-local-stats div{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--soft)}.domino-local-stats small{display:block;color:var(--muted);font-size:.62rem}.domino-local-stats strong{display:block;margin-top:2px}.domino-analysis{margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}.domino-analysis small{color:var(--muted);font-size:.65rem;font-weight:900}.domino-analysis p{margin:4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.domino-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0 24px}.domino-guide>div{padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:var(--card)}.domino-guide small{display:block;color:var(--muted);font-size:.65rem;font-weight:900;letter-spacing:.06em}.domino-guide strong{display:block;margin-top:4px;font-size:.9rem}.domino-guide p{margin:6px 0 0;color:var(--muted);font-size:.79rem;line-height:1.45}.domino-empty-hand{color:var(--muted);font-size:.8rem;padding:10px}
@media(max-width:820px){.domino-workspace{grid-template-columns:1fr}.domino-side{display:none}.domino-guide{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.domino-page{padding-left:8px;padding-right:8px;padding-top:14px}.domino-page .gameheader{margin-bottom:5px;gap:5px}.domino-page .gameheader h1{font-size:34px;margin:3px 0}.domino-page .gameheader p{font-size:13.5px;line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.domino-page .scorebox{display:none}.domino-flow-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin:6px 0;gap:4px;padding-bottom:0}.domino-flow-tabs a{min-width:0;padding:6px 5px;font-size:.67rem;line-height:1.15;text-align:center;white-space:normal;display:flex;align-items:center;justify-content:center}.domino-game-panel{padding:8px}.domino-setup{flex-direction:column;align-items:stretch;gap:5px;margin-bottom:7px}.domino-mode-buttons{display:grid;grid-template-columns:1fr 1fr}.domino-difficulty{display:grid;grid-template-columns:repeat(4,1fr)}.domino-mode-buttons button,.domino-difficulty button{padding:6px 4px;font-size:.68rem}.domino-meta{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin-bottom:6px}.domino-meta>span{padding:5px 4px;border-radius:8px}.domino-meta small{font-size:.5rem}.domino-meta strong{font-size:.67rem}.domino-opponent{margin-bottom:3px}.domino-row-label{margin:3px 0}.domino-row-label span{font-size:.68rem}.domino-row-label small{font-size:.58rem}.domino-hand{gap:4px;min-height:59px;padding:2px 1px 5px}.domino-hand.opponent{min-height:42px}.domino-hand-wrap{min-height:63px}.dm-tile{width:38px;height:58px;border-radius:6px;padding:2px}.dm-tile.horizontal{width:56px;height:32px}.dm-half i{width:4px;height:4px}.dm-tile.back{width:27px;height:40px}.domino-board{grid-template-columns:48px minmax(0,1fr) 48px;gap:4px;padding:6px;border-radius:13px}.domino-chain{min-height:45px;padding:4px 3px;gap:3px}.domino-end{padding:3px}.domino-end small{font-size:.46rem}.domino-end strong{font-size:1rem}.domino-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:6px}.domino-actions .tool-btn{padding:7px 3px}.domino-actions .tool-btn strong{font-size:.68rem}.domino-actions .tool-btn small{font-size:.52rem}.domino-page .status{margin-top:6px;font-size:.75rem}.domino-keyhelp{font-size:.58rem;margin-top:5px}.domino-guide{grid-template-columns:1fr;gap:7px;margin-top:9px;margin-bottom:86px}.domino-guide>div{padding:10px 11px}.domino-tactic-brief{padding:7px 8px;margin-bottom:6px}.domino-day-nav{margin-bottom:6px}.domino-pass-shield{gap:5px;flex-wrap:wrap}.domino-pass-shield span{display:none}}
/* V0.76 Geography Mastery */
.geo-country-shape-mode .question{font-size:20px;text-align:center}.country-shape-figure{height:270px;display:grid;place-items:center;margin:4px auto 8px;border:1px solid var(--line);border-radius:18px;background:#f8fafb;overflow:hidden}.country-shape-figure svg{width:min(92%,470px);height:235px;overflow:visible}.country-shape-target,.country-shape-target path,.country-shape-target polygon,.country-shape-target circle{fill:#56616d!important;stroke:#fff!important;stroke-width:1.2!important}.geo-country-shape-mode .choices{max-width:680px;margin-left:auto;margin-right:auto}
.blitz-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;margin-bottom:14px}.blitz-head small,.atlas-head small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em}.blitz-head h2,.atlas-head h2{margin:4px 0 5px;font-size:clamp(24px,4vw,34px);letter-spacing:-.04em}.blitz-head p,.atlas-head p{margin:0;color:var(--muted);line-height:1.5}.blitz-clock{min-width:96px;border:1px solid var(--line);border-radius:16px;padding:12px;text-align:center;background:var(--soft)}.blitz-clock small{display:block;color:var(--muted);font-size:9px;font-weight:900}.blitz-clock strong{font-size:26px;font-variant-numeric:tabular-nums}.blitz-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px}.blitz-kpis span{display:grid;gap:2px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.blitz-kpis small{font-size:9px;color:var(--muted);font-weight:850}.blitz-kpis strong{font-size:18px}.geo-blitz-mode .question .flag-emoji{display:block;font-size:62px;line-height:1;margin-bottom:10px}.geo-blitz-mode .question .flag-copy{display:block;font-size:clamp(22px,5vw,32px);font-weight:900}
.atlas-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;margin-bottom:14px}.atlas-count{display:grid;place-items:center;min-width:86px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}.atlas-count strong{font-size:28px}.atlas-count span{font-size:10px;color:var(--muted);font-weight:800}.atlas-tools{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.atlas-tools label{display:grid;gap:5px;font-size:10px;font-weight:900;color:var(--muted)}.atlas-tools input,.atlas-tools select{min-width:210px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--card);color:var(--text);font:inherit}.atlas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.atlas-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:12px;background:var(--card)}.atlas-flag{font-size:34px}.atlas-copy small{font-size:9px;font-weight:850;color:var(--muted);text-transform:uppercase}.atlas-copy h3{margin:2px 0 4px;font-size:17px}.atlas-copy p{margin:0;color:var(--muted);font-size:11px}.atlas-skills{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.atlas-skill{font-size:8px;font-weight:850;padding:4px 6px;border-radius:999px;background:var(--soft);color:var(--muted)}.atlas-skill.learning{background:#fff0ef;color:#9a4840}.atlas-skill.building{background:#fff7df;color:#8b6a1f}.atlas-skill.strong{background:#eaf4ff;color:#35698b}.atlas-skill.maintained{background:#eaf7ef;color:#37734e}.atlas-actions{display:grid;gap:5px;text-align:right}.atlas-actions a{font-size:9px;font-weight:850;color:var(--muted)}
@media(max-width:760px){.country-shape-figure{height:220px}.country-shape-figure svg{height:190px}.blitz-head,.atlas-head{grid-template-columns:1fr}.blitz-clock,.atlas-count{justify-self:start}.blitz-kpis{grid-template-columns:1fr 1fr}.atlas-grid{grid-template-columns:1fr}.atlas-card{grid-template-columns:auto minmax(0,1fr)}.atlas-actions{grid-column:1/-1;display:flex;text-align:left}.atlas-tools label,.atlas-tools input,.atlas-tools select{width:100%;min-width:0}.atlas-tools label{flex:1 1 44%}}
/* V0.76 Geography special-mode first-viewport density */
@media(max-width:760px){
  .geo-special-mode .geo-review-strip{display:none!important}
  .geo-special-mode .practice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:5px 0 8px;padding:8px;border-radius:14px;overflow:visible}
  .geo-special-mode .practice-options label{min-width:0;gap:3px;font-size:9px}
  .geo-special-mode .practice-options select{width:100%;min-width:0;min-height:36px;padding:6px 7px;font-size:11px}
  .geo-special-mode .gameheader{margin-bottom:7px}
  .geo-special-mode .gameheader p{margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .geo-special-mode .panel{padding:13px}
}
/* V0.77 Kakuro specialist */
.kakuro-page{max-width:1120px}.kakuro-flow-tabs,.kakuro-difficulty-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}.kakuro-difficulty-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.kakuro-flow-tabs a,.kakuro-difficulty-tabs a{border:1px solid var(--line);border-radius:13px;background:var(--card);padding:11px 12px;text-decoration:none;color:var(--text);font-weight:850;text-align:center}.kakuro-difficulty-tabs a span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.kakuro-flow-tabs a.active,.kakuro-difficulty-tabs a.active{background:#e9f2ee;border-color:#91b4a1;color:#315e48}.kakuro-panel{max-width:1000px;margin-left:auto;margin-right:auto}.kakuro-meta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:12px}.kakuro-meta>span{background:var(--soft);border-radius:11px;padding:8px;text-align:center;min-width:0}.kakuro-meta small{display:block;color:var(--muted);font-weight:750;font-size:9px}.kakuro-meta strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kakuro-workspace{display:grid;grid-template-columns:minmax(0,620px) minmax(250px,1fr);gap:16px;align-items:start}.kakuro-play{min-width:0}.kakuro-board{--n:7;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));width:min(100%,620px);aspect-ratio:1;border:2px solid #2c3431;background:#2c3431;gap:1px;margin:0 auto}.kakuro-cell,.kakuro-clue-cell{position:relative;min-width:0;border:0}.kakuro-cell{background:#fff;color:var(--text);font:inherit;font-size:clamp(19px,4vw,31px);font-weight:850;display:grid;place-items:center;padding:0;cursor:pointer}.kakuro-cell.peer{background:#f5f9f6}.kakuro-cell.selected{background:#e8f4ed;outline:3px solid #669277;outline-offset:-3px;z-index:2}.kakuro-cell.conflict{background:var(--badbg)!important;color:var(--bad)}.kakuro-clue-cell{background:#303a36;color:#fff}.kakuro-diagonal{position:absolute;inset:0;background:linear-gradient(to top right,transparent 49%,rgba(255,255,255,.72) 49.4%,rgba(255,255,255,.72) 50.6%,transparent 51%)}.kakuro-clue-cell b{position:absolute;font-size:clamp(8px,1.35vw,12px);line-height:1;font-weight:900;color:#fff;text-shadow:0 1px rgba(0,0,0,.22)}.kakuro-down{top:8%;right:9%}.kakuro-across{left:9%;bottom:8%}.kakuro-note-grid{position:absolute;inset:5px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);font-size:clamp(7px,1vw,10px);font-weight:750;color:#6a7770}.kakuro-note-grid i{font-style:normal;display:grid;place-items:center}.kakuro-pad{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;width:min(100%,620px);margin:14px auto 10px}.kakuro-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;width:min(100%,620px);margin:0 auto 14px}.kakuro-run-card{position:sticky;top:76px;border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:14px}.kakuro-run-card>small{display:block;color:var(--muted);font-size:9px;font-weight:850}.kakuro-run-card>strong{display:block;font-size:18px;margin:3px 0 5px}.kakuro-run-card>p{font-size:11px;color:var(--muted);line-height:1.5}.kakuro-run-row{border-top:1px solid var(--line);padding:10px 0}.kakuro-run-row>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.kakuro-run-row b{font-size:13px}.kakuro-run-row span{font-size:10px;color:var(--muted)}.kakuro-run-row small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.kakuro-combos{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.kakuro-combos span{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 6px;font-size:9px!important;font-weight:800;color:var(--text)!important}.kakuro-combos em{font-size:10px;color:var(--bad)}.kakuro-toggle{margin-top:9px;font-size:11px}.kakuro-keyhelp{font-size:11px;color:var(--muted);text-align:center;margin-top:8px}.kakuro-guide{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.kakuro-workspace{grid-template-columns:1fr}.kakuro-run-card{position:static;order:2}.kakuro-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.kakuro-guide{grid-template-columns:1fr}.kakuro-board{width:100%;max-width:560px}.kakuro-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.kakuro-pad{gap:3px}.kakuro-pad .numkey{min-width:0;padding-left:2px;padding-right:2px}.kakuro-pad .numkey small{display:none}}
@media(max-width:420px){.kakuro-panel{padding-left:8px;padding-right:8px}.kakuro-meta{gap:5px}.kakuro-meta>span{padding:6px 4px}.kakuro-difficulty-tabs a,.kakuro-flow-tabs a{padding:9px 4px;font-size:10px}.kakuro-board{width:100%}.kakuro-cell{font-size:clamp(18px,7vw,26px)}.kakuro-clue-cell b{font-size:8px}.kakuro-note-grid{inset:2px;font-size:7px}.kakuro-actions{gap:5px}.kakuro-actions .tool-btn{min-height:48px}.kakuro-pad .numkey{min-height:42px}.kakuro-run-card{padding:12px}}
@media print{body:has(.kakuro-page) .topbar,body:has(.kakuro-page) .preview-note,body:has(.kakuro-page) .mobile-dock,body:has(.kakuro-page) .kakuro-flow-tabs,body:has(.kakuro-page) .kakuro-difficulty-tabs,body:has(.kakuro-page) .kakuro-pad,body:has(.kakuro-page) .kakuro-actions,body:has(.kakuro-page) .kakuro-run-card,body:has(.kakuro-page) .game-guide,body:has(.kakuro-page) .kakuro-keyhelp,body:has(.kakuro-page) .status{display:none!important}.kakuro-board{width:150mm!important;max-width:150mm!important;margin:10mm auto!important}.kakuro-cell{color:#000!important}.kakuro-clue-cell{background:#222!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media(forced-colors:active){.kakuro-cell,.kakuro-clue-cell{border:1px solid CanvasText!important}.kakuro-cell.selected{outline:3px solid Highlight!important}.kakuro-run-card{border:2px solid CanvasText!important}.kakuro-combos span{border:1px solid CanvasText!important}}
/* V0.78 Sudoku Mastery */
.sudoku-utility{grid-template-columns:repeat(4,1fr)}
.s-cell.technique-source{box-shadow:inset 0 0 0 3px #4f7f65;background:#edf7f0;z-index:2}.s-cell.technique-target{box-shadow:inset 0 0 0 2px #b3884f;background:#fff7e9;z-index:1}
.sudoku-mastery-panel{max-width:920px}.sudoku-mastery-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.sudoku-mastery-head h2{margin:8px 0 5px}.mastery-quick{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:290px}.mastery-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:thin}.mastery-tabs a{white-space:nowrap;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:#fff;color:var(--muted);font-size:11px;font-weight:850}.mastery-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.mastery-meta{margin-bottom:11px}.mastery-brief{width:min(100%,612px);margin:0 auto 10px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:var(--soft);display:grid;gap:3px}.mastery-brief strong{font-size:14px}.mastery-brief span{font-size:11px;color:var(--muted)}.mastery-board .s-cell:not(.given){cursor:pointer}.mastery-board .mastery-picked{box-shadow:inset 0 0 0 3px #6c8baa;background:#eef6fc;z-index:2}.mastery-board .mastery-source{box-shadow:inset 0 0 0 3px #4f7f65;background:#eaf6ee;z-index:3}.mastery-board .mastery-target{box-shadow:inset 0 0 0 2px #c5964f;background:#fff6e5;z-index:1}.mastery-board .mastery-notes{font-size:clamp(7px,1.3vw,10px);color:#556371}.mastery-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;width:min(100%,612px);margin:12px auto}.mastery-actions .tool-btn{min-height:52px}
@media(max-width:620px){.sudoku-utility{grid-template-columns:1fr 1fr}.sudoku-utility .utility-link{grid-column:auto}.sudoku-mastery-head{display:grid;gap:10px}.mastery-quick{min-width:0;width:100%}.mastery-meta>span:not(.pill){flex:1 1 27%}.mastery-actions{grid-template-columns:repeat(3,1fr)}.mastery-actions .tool-btn:nth-child(4),.mastery-actions .tool-btn:nth-child(5){grid-column:span 1}.mastery-board .mastery-notes{font-size:7px}}
@media(max-width:620px){
  #sudokuGame{display:flex;flex-direction:column}
  #sudokuGame .sudoku-meta{order:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:8px}
  #sudokuGame .sudoku-meta .pill{grid-column:1/-1;width:auto;margin:0;text-align:center;padding:5px 8px}
  #sudokuGame .sudoku-meta>span:not(.pill){display:grid;gap:0;justify-items:center;line-height:1.05;min-width:0}
  #sudokuGame .sudoku-meta small{font-size:8px}#sudokuGame .sudoku-meta strong{font-size:11px}
  #sudokuGame .sudoku-board{order:2}
  #sudokuGame .sudoku-pad{order:3}
  #sudokuGame .sudoku-actions{order:4}
  #sudokuGame #status{order:5}
  #sudokuGame .cta{order:6}
  #sudokuGame .sudoku-utility{order:7;margin:12px auto 0}
  #sudokuGame .sudoku-print-heading{order:8}
  #sudokuLab:not([hidden]){display:flex;flex-direction:column}
  #sudokuLab .sudoku-mastery-head{display:contents}
  #sudokuLab .sudoku-mastery-head>div:first-child{order:1}
  #sudokuLab .sudoku-mastery-head>div:first-child p{display:none}
  #sudokuLab .mastery-tabs{order:2;padding-bottom:6px}
  #sudokuLab .mastery-meta{order:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:7px}
  #sudokuLab .mastery-meta .pill{grid-column:1/-1;width:auto;margin:0;text-align:center;padding:5px 8px}
  #sudokuLab .mastery-meta>span:not(.pill){display:grid;gap:0;justify-items:center;line-height:1.05;min-width:0}
  #sudokuLab .mastery-meta small{font-size:8px}#sudokuLab .mastery-meta strong{font-size:11px}
  #sudokuLab .mastery-brief{order:4;margin-bottom:7px;padding:8px 10px}
  #sudokuLab .mastery-board{order:5}
  #sudokuLab .mastery-actions{order:6}
  #sudokuLab #masteryFeedback{order:7}
  #sudokuLab .mastery-quick{order:8;margin-top:10px}
}
@media(max-width:620px){
  .sudoku-page{padding-top:14px;padding-left:0;padding-right:0}
  .sudoku-page .mode-switch{margin-bottom:8px}
  .sudoku-page .gameheader{margin-bottom:8px;gap:8px}
  .sudoku-page .gameheader h1{font-size:35px;margin:4px 0}
  .sudoku-page .gameheader p{font-size:13.5px;line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .sudoku-page .scorebox{display:none}
  .sudoku-page .quiz-practice-options{margin-bottom:8px;padding-bottom:0}
  .sudoku-page .sudoku-panel{padding:11px}
  .sudoku-page .sudoku-meta{margin-top:0}
  .sudoku-page .status{margin-top:9px;padding:9px 10px;font-size:12px}
  .sudoku-page .cta.compact{margin-top:10px}
}

/* V0.79 Typing Mastery */
.typing-flow-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.typing-mastery-overview{display:grid;gap:12px;margin:14px 0}.typing-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.typing-insight-grid>div,.typing-keyboard-card,.typing-mastery-result{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:14px}.typing-insight-grid small,.typing-keyboard-card small,.typing-analysis-grid>div>small,.typing-insight-head small{display:block;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.typing-insight-grid strong{display:block;margin:4px 0;font-size:1.05rem}.typing-insight-grid span,.typing-keyboard-card p{display:block;color:var(--muted);font-size:.78rem;line-height:1.4}.typing-keyboard-card{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:16px;align-items:center}.typing-keyboard-card p{margin:5px 0 0}.typing-keyboard{display:grid;gap:5px;max-width:560px}.typing-key-row{display:flex;gap:5px;justify-content:center}.typing-key-row:nth-child(2){padding-inline:5%}.typing-key-row:nth-child(3){padding-inline:12%}.typing-key-row>span{flex:1;min-width:0;max-width:48px;border:1px solid var(--line);border-radius:9px;padding:7px 3px;text-align:center;background:var(--soft)}.typing-key-row>span strong,.typing-key-row>span small{display:block}.typing-key-row>span strong{font-size:.82rem}.typing-key-row>span small{font-size:.62rem;color:var(--muted)}.typing-key-row>span.heat-1{box-shadow:inset 0 -2px 0 rgba(180,83,9,.25)}.typing-key-row>span.heat-2{box-shadow:inset 0 -4px 0 rgba(180,83,9,.34)}.typing-key-row>span.heat-3{box-shadow:inset 0 -6px 0 rgba(180,35,24,.34)}.typing-key-row>span.heat-4{box-shadow:inset 0 -8px 0 rgba(180,35,24,.48)}.typing-mastery-result{margin:14px 0;background:var(--soft)}.typing-insight-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.typing-insight-head h3{margin:3px 0 0;font-size:1.05rem}.typing-mastery-result .typing-insight-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0}.typing-analysis-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:12px}.typing-analysis-grid>div{border-top:1px solid var(--line);padding-top:12px;min-width:0}.typing-pace-bars{height:112px;display:flex;align-items:end;gap:4px;padding-top:8px}.typing-pace-bars>span{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;min-width:4px}.typing-pace-bars i{display:block;width:100%;max-width:18px;height:var(--pace);min-height:5px;border-radius:5px 5px 2px 2px;background:var(--text);opacity:.72}.typing-pace-bars small{font-size:.55rem;color:var(--muted)}
@media(max-width:760px){.typing-flow-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-flow-tabs a:first-child{grid-column:auto}.typing-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-keyboard-card{grid-template-columns:1fr}.typing-mastery-result .typing-insight-grid,.typing-analysis-grid{grid-template-columns:1fr}.typing-insight-head{align-items:flex-start}.typing-keyboard{max-width:none}.typing-key-row>span{max-width:none}}
@media(max-width:420px){.typing-insight-grid{grid-template-columns:1fr 1fr}.typing-key-row{gap:3px}.typing-key-row>span{padding:6px 2px;border-radius:7px}.typing-key-row>span strong{font-size:.76rem}.typing-key-row>span small{font-size:.55rem}}

/* V0.80 Minesweeper Mastery */
.mines-flow-tabs{grid-template-columns:repeat(3,1fr)}.mines-meta{grid-template-columns:repeat(4,1fr)}
.pattern-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.pattern-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.pattern-filters button,.pattern-actions button{min-height:40px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text);padding:8px 12px;font:inherit;font-size:11px;font-weight:850;cursor:pointer}.pattern-filters button.active{background:var(--accent);border-color:var(--accent);color:#fff}.pattern-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 10px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}.pattern-head small,.pattern-head strong,.pattern-head span{display:block}.pattern-head small{font-size:9px;font-weight:900;color:var(--muted);text-transform:uppercase}.pattern-head strong{margin:3px 0;font-size:13px}.pattern-head span{font-size:9px;color:var(--muted)}.pattern-badge{min-width:58px;text-align:center;padding:8px 10px;border-radius:999px;font-size:9px;font-weight:950;letter-spacing:.05em;border:1px solid var(--line)}.pattern-badge.safe{background:#e7f3ec;color:#225d3f}.pattern-badge.mine{background:#f8e6e6;color:#873b3b}.pattern-grid .mines-cell.pattern-selected{outline:3px solid var(--accent);outline-offset:-3px;z-index:2}.pattern-grid .mines-cell.pattern-source-hint{box-shadow:inset 0 0 0 3px #aa7d23}.pattern-grid .mines-cell.pattern-correct-safe{outline:3px solid #2f7350;outline-offset:-3px}.pattern-grid .mines-cell.pattern-correct-mine{outline:3px dashed #8d4040;outline-offset:-3px}.pattern-grid .mines-cell.pattern-wrong{animation:patternShake .22s linear 2;background:#f8dede}.pattern-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.pattern-explain{margin-top:9px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);font-size:11px;line-height:1.5}.pattern-stats{margin-top:10px}@keyframes patternShake{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
.mines-completion .mines-coach{margin:10px auto;max-width:680px;border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:10px 12px;text-align:left;font-size:11px;line-height:1.5}.mines-completion .mines-coach small{display:block;font-size:8px;font-weight:900;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;margin-bottom:3px}
@media(max-width:760px){.minesweeper-page .gameheader{margin-bottom:6px}.minesweeper-page .gameheader h1{font-size:30px;line-height:1.05}.minesweeper-page .gameheader p{font-size:11px;line-height:1.35;margin-top:5px}.minesweeper-page .scorebox{display:none}.minesweeper-page .preview-note{font-size:9px}.mines-flow-tabs{margin:8px 0}.mines-flow-tabs a{padding:8px 5px;font-size:10px}.minesweeper-page .mines-difficulty-tabs{margin-bottom:8px}.minesweeper-page .mines-panel{padding:10px}.minesweeper-page .mines-topline{margin-bottom:8px}.minesweeper-page .mines-toolbar{margin-bottom:7px}.minesweeper-page .mines-options{padding:6px 8px;margin-bottom:7px}.minesweeper-page .mines-meta{margin-bottom:7px;grid-template-columns:repeat(4,1fr)}.minesweeper-page .mines-meta span{padding:6px}.minesweeper-page .mines-board-scroll{padding:6px}.pattern-head{margin-top:4px;padding:8px}.pattern-scroll{margin-top:4px}.pattern-actions{grid-template-columns:1fr 1fr}.pattern-stats{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.mines-flow-tabs{grid-template-columns:repeat(3,1fr)}.minesweeper-page .mines-options>span{display:none}.minesweeper-page .mines-meta span:nth-child(2),.minesweeper-page .mines-meta span:nth-child(4){display:none}.minesweeper-page .mines-meta{grid-template-columns:repeat(4,1fr)}.pattern-toolbar .btn{flex:1}.pattern-grid{--cell:34px!important}}
/* V0.80 Minesweeper mobile first-play ordering: keep the cell tool before the board; move secondary controls below. */
@media(max-width:760px){
  .minesweeper-page .mines-panel:has(#minesGrid){display:flex;flex-direction:column}
  .minesweeper-page .mines-panel:has(#minesGrid) .mines-topline{order:1}
  .minesweeper-page .mines-panel:has(#minesGrid) .mines-toolbar{display:contents}
  .minesweeper-page .mines-panel:has(#minesGrid) .mines-tools{order:2;margin:0 0 7px}
  .minesweeper-page .mines-panel:has(#minesGrid) .mines-daily-start{order:3;margin-bottom:7px}
  .minesweeper-page .mines-panel:has(#minesGrid) .mines-board-scroll{order:4;margin-top:0}
  .minesweeper-page .mines-panel:has(#minesGrid) .mines-actions{order:5;margin-top:7px}
  .minesweeper-page .mines-panel:has(#minesGrid) .mines-options{order:6;margin-top:7px}
  .minesweeper-page .mines-panel:has(#minesGrid) .mines-meta{order:7;margin-top:7px}
  .minesweeper-page .mines-panel:has(#minesGrid) .status{order:8}
  .minesweeper-page .mines-panel:has(#minesGrid) .mines-keyhelp{order:9}
}

/* V0.81 Klondike Solitaire */
.kl-flow-tabs{display:flex;gap:8px;margin:0 0 12px}.kl-flow-tabs a,.kl-rulebar button{border:1px solid var(--line);border-radius:999px;padding:8px 12px;text-decoration:none;background:var(--surface,#fff);color:inherit}.kl-flow-tabs .active,[data-draw].active{font-weight:800;border-color:currentColor}.kl-panel{overflow:hidden}.kl-meta{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:10px}.kl-meta span,.kl-stats span{display:grid;gap:2px}.kl-meta small,.kl-stats small,.kl-stock-note small{font-size:11px;color:var(--muted)}.kl-rulebar,.kl-date-nav,.kl-actions,.kl-coach,.kl-top-row,.kl-stock-group,.kl-foundations{display:flex;align-items:center;gap:8px}.kl-rulebar{justify-content:space-between;margin:0 0 10px}.kl-date-nav{margin:0 0 10px}.kl-table{max-width:860px;margin:auto}.kl-top-row{justify-content:space-between;margin-bottom:12px}.kl-foundations{margin-left:auto}.kl-slot,.kl-card{width:72px;height:96px;border:1px solid #9aa4b2;border-radius:8px;background:#fff;position:relative;color:#1c2430}.kl-slot{display:grid;place-items:center}.kl-stock{background:#20324d;color:#fff}.kl-waste.red,.kl-card.red{color:#b4232a}.kl-rank{position:absolute;left:7px;top:5px;font-weight:800}.kl-suit{font-size:32px}.kl-foundation-mark,.kl-slot-mark{opacity:.45;font-weight:800}.kl-columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;align-items:start;min-height:320px}.kl-column{position:relative;min-width:0;height:var(--kl-height);border-radius:8px}.kl-card{position:absolute;left:0;top:var(--kl-top);width:100%;max-width:72px}.kl-card.down{background:linear-gradient(135deg,#253c5e,#385d8c);box-shadow:inset 0 0 0 3px rgba(255,255,255,.3)}.kl-column.empty{outline:1px dashed #b8c0ca;min-height:96px}.kl-empty-label{display:none}.kl-column.empty .kl-empty-label{display:grid;place-items:center;height:94px;opacity:.25;font-size:28px}.kl-card.selected,.kl-slot.selected{outline:3px solid #2563eb;z-index:100}.kl-card.hinted,.kl-slot.hinted,.kl-column.hinted-dest{outline:3px solid #f59e0b}.kl-actions{flex-wrap:wrap;margin-top:14px}.kl-coach{justify-content:space-between;align-items:flex-start;border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.kl-coach>div:first-child{max-width:620px}.kl-stats{display:flex;gap:18px}.kl-date-nav[hidden],.kl-rulebar[hidden]{display:none!important}
@media(max-width:600px){.klondike-page .gameheader{margin-bottom:8px}.klondike-page .gameheader h1{font-size:28px;margin-bottom:4px}.klondike-page .gameheader p{font-size:13px;line-height:1.35;margin:0}.klondike-page .scorebox{display:none}.kl-flow-tabs{margin-bottom:8px}.kl-panel{padding:10px}.kl-meta{grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:6px}.kl-meta span:nth-child(n+4){display:none}.kl-rulebar{margin-bottom:6px;gap:5px}.kl-rulebar>span{display:none}.kl-rulebar button,.kl-rulebar .btn{padding:6px 8px;font-size:12px}.kl-top-row{margin-bottom:8px}.kl-slot{width:40px;height:56px;border-radius:5px}.kl-suit{font-size:20px}.kl-rank{font-size:11px;left:4px;top:3px}.kl-stock-note{display:none}.kl-foundations{gap:4px}.kl-stock-group{gap:4px}.kl-columns{gap:3px;min-height:230px}.kl-card{height:62px;border-radius:5px}.kl-column{height:var(--kl-height)!important}.kl-column.empty{min-height:62px}.kl-column.empty .kl-empty-label{height:60px;font-size:20px}.kl-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:8px}.kl-actions .tool-btn{padding:7px 3px}.kl-actions small{display:none}.kl-coach{margin-top:8px;padding-top:8px}.kl-coach p{margin:3px 0;font-size:12px}.kl-stats{display:none}.kl-date-nav{margin-bottom:6px}.kl-date-nav .btn{padding:6px 8px}.klondike-page .game-guide{margin-top:12px}}
@media(min-width:1000px){.kl-slot,.kl-card{width:82px;height:108px}.kl-card{max-width:82px}.kl-columns{gap:12px}.kl-table{max-width:950px}}

/* V0.82 Letter Hive */
.lh-flow-tabs{display:flex;gap:8px;margin:0 0 14px}.lh-flow-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:800;color:var(--muted)}.lh-flow-tabs a.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.lh-day-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.lh-day-nav span{text-align:center;display:grid;gap:2px}.lh-day-nav small,.lh-live small,.lh-side small,.lh-current small{font-size:.7rem;letter-spacing:.08em;color:var(--muted);font-weight:800}
.lh-workspace{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(270px,.72fr);gap:16px;align-items:start}.lh-game{min-width:0}.lh-live{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.lh-live span,.lh-stats div{padding:9px 10px;border:1px solid var(--line);border-radius:12px;display:grid;gap:2px}.lh-live strong{font-size:.95rem}.lh-progress{height:9px;background:var(--soft);border-radius:999px;overflow:hidden;margin:0 0 14px}.lh-progress span{display:block;height:100%;width:0;background:currentColor;border-radius:inherit;transition:width .2s ease}.lh-current{text-align:center;min-height:68px;display:grid;place-content:center;gap:3px}.lh-current strong{font-size:clamp(1.45rem,4vw,2.15rem);letter-spacing:.08em;min-height:1.2em}
.lh-hive{width:min(100%,360px);height:330px;margin:0 auto 8px;position:relative}.lh-letter{position:absolute;width:92px;height:80px;border:1px solid var(--line);background:var(--paper);font-size:1.7rem;font-weight:900;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);display:grid;place-items:center;cursor:pointer;transition:transform .08s ease,filter .08s ease}.lh-letter:hover{filter:brightness(.97)}.lh-letter:active{transform:scale(.96)}.lh-letter.center{left:134px;top:125px;background:var(--ink);color:var(--paper);border-color:var(--ink)}.lh-letter.outer:nth-child(1){left:134px;top:28px}.lh-letter.outer:nth-child(2){left:218px;top:77px}.lh-letter.outer:nth-child(3){left:218px;top:174px}.lh-letter.outer:nth-child(4){left:134px;top:222px}.lh-letter.outer:nth-child(5){left:50px;top:174px}.lh-letter.outer:nth-child(6){left:50px;top:77px}
.lh-rule{text-align:center;margin:2px auto 12px;max-width:580px}.lh-type-actions,.lh-secondary-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.lh-type-actions{margin-bottom:8px}.lh-type-actions button{min-width:96px}.lh-secondary-actions button{font-size:.86rem}.lh-side{display:grid;gap:14px}.lh-side-head{display:grid;gap:3px}.lh-side-head>strong{font-size:1.25rem}.lh-side-head>span{color:var(--muted);font-size:.85rem}.lh-found{display:grid;gap:8px}.lh-found>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.lh-wordchips{display:flex;flex-wrap:wrap;gap:6px;max-height:220px;overflow:auto;align-content:flex-start}.lh-wordchips span{font-size:.78rem;padding:5px 8px;border-radius:999px;background:var(--soft);border:1px solid var(--line)}.lh-wordchips span.pangram{font-weight:900}.lh-found.bonus .lh-wordchips span{opacity:.78}.lh-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lh-stats div strong{font-size:1rem}.lh-reveal{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;max-height:220px;overflow:auto}.lh-reveal p{font-size:.82rem;line-height:1.6;word-break:break-word}.lh-guide{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.lh-guide>div{display:grid;gap:5px}.lh-guide p{margin:0;color:var(--muted);line-height:1.55}
@media(max-width:760px){.lh-page{padding-top:12px}.lh-page .gameheader{margin-bottom:10px}.lh-page .gameheader h1{font-size:1.75rem}.lh-page .gameheader p{font-size:.9rem;line-height:1.45}.lh-page .scorebox{display:none}.lh-flow-tabs{margin-bottom:9px}.lh-workspace{grid-template-columns:1fr;gap:10px}.lh-game{padding:12px}.lh-live{margin-bottom:7px}.lh-live span{padding:6px 7px}.lh-progress{margin-bottom:8px}.lh-current{min-height:49px}.lh-current strong{font-size:1.45rem}.lh-hive{width:300px;height:267px;margin-top:-2px}.lh-letter{width:76px;height:66px;font-size:1.35rem}.lh-letter.center{left:112px;top:101px}.lh-letter.outer:nth-child(1){left:112px;top:22px}.lh-letter.outer:nth-child(2){left:181px;top:62px}.lh-letter.outer:nth-child(3){left:181px;top:141px}.lh-letter.outer:nth-child(4){left:112px;top:180px}.lh-letter.outer:nth-child(5){left:43px;top:141px}.lh-letter.outer:nth-child(6){left:43px;top:62px}.lh-rule{font-size:.78rem;margin:0 0 8px}.lh-type-actions,.lh-secondary-actions{gap:6px}.lh-type-actions button,.lh-secondary-actions button{min-height:40px;padding:7px 10px}.lh-side{padding:12px}.lh-wordchips{max-height:160px}.lh-guide{grid-template-columns:1fr;padding:13px}.lh-day-nav .btn{padding:7px 9px;font-size:.8rem}}
/* V0.83 Hearts specialist */
.hearts-page{max-width:1180px}.hearts-flow-tabs{display:flex;gap:7px;margin:14px 0}.hearts-flow-tabs a{padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);font-weight:850;text-decoration:none}.hearts-flow-tabs a.active{background:var(--text);color:#fff;border-color:var(--text)}.hearts-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.65fr);gap:14px;align-items:start}.hearts-game-panel,.hearts-side{padding:15px}.hearts-day-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.hearts-day-nav span{text-align:center}.hearts-day-nav small,.hearts-rulebar small{display:block;color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.07em}.hearts-rulebar{display:grid;grid-template-columns:minmax(210px,1.8fr) repeat(4,minmax(76px,.55fr));gap:6px;align-items:end;margin-bottom:8px}.hearts-difficulty{display:flex;gap:5px}.hearts-difficulty button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:7px 10px;font:inherit;font-size:.75rem;font-weight:850}.hearts-difficulty button.active{background:var(--text);color:#fff;border-color:var(--text)}.hearts-round-chip{padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--soft);min-width:0}.hearts-round-chip strong{display:block;font-size:.78rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hearts-table{position:relative;min-height:350px;border-radius:28px;background:radial-gradient(circle at 50% 45%,#2d7a5b,#176044 68%,#0d4933);box-shadow:inset 0 0 0 1px rgba(255,255,255,.13),0 9px 24px rgba(21,56,43,.18);overflow:hidden}.hearts-seat{position:absolute;color:#fff;z-index:3}.hearts-seat>span{display:flex;gap:7px;align-items:baseline;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:5px 9px}.hearts-seat small{font-size:.63rem;opacity:.78}.hearts-seat strong{font-size:.78rem}.hearts-seat.north{top:10px;left:50%;transform:translateX(-50%);text-align:center}.hearts-seat.south{bottom:8px;left:50%;transform:translateX(-50%)}.hearts-seat.west{left:8px;top:50%;transform:translateY(-50%)}.hearts-seat.east{right:8px;top:50%;transform:translateY(-50%)}.hearts-card-backs{display:flex;justify-content:center;margin-top:4px}.hearts-card-backs.vertical{flex-direction:column;align-items:center;margin-top:4px}.ht-back{width:24px;height:34px;border-radius:4px;border:1px solid #d5d9e6;background:repeating-linear-gradient(135deg,#445b93 0 4px,#304679 4px 8px);box-shadow:0 1px 2px rgba(0,0,0,.18);margin-left:-13px}.hearts-card-backs.vertical .ht-back{margin-left:0;margin-top:-22px}.hearts-card-backs b{font-size:.62rem;background:rgba(0,0,0,.22);border-radius:999px;padding:2px 5px;margin-left:3px}.hearts-trick{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:260px;height:210px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:rgba(255,255,255,.06)}.ht-trick-slot{position:absolute;width:58px;height:78px;display:flex;align-items:center;justify-content:center}.ht-trick-slot.north{top:4px;left:50%;transform:translateX(-50%)}.ht-trick-slot.south{bottom:4px;left:50%;transform:translateX(-50%)}.ht-trick-slot.west{left:5px;top:50%;transform:translateY(-50%)}.ht-trick-slot.east{right:5px;top:50%;transform:translateY(-50%)}.ht-trick-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;text-align:center;width:105px}.ht-trick-center small{display:block;font-size:.61rem;opacity:.78;line-height:1.25}.ht-trick-center strong{display:block;font-size:.72rem;margin-top:4px}.hearts-passbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 5px;padding:9px 11px;border:1px solid #d8c27f;background:#fff8dc;border-radius:12px}.hearts-passbar[hidden]{display:none}.hearts-passbar small{display:block;color:#7c6a34;font-size:.61rem;font-weight:900}.hearts-passbar strong{display:block;font-size:.8rem;margin-top:2px}.hearts-passbar span{display:block;color:#71694e;font-size:.7rem;margin-top:2px}.hearts-hand{display:flex;align-items:flex-end;justify-content:center;gap:0;min-height:101px;padding:8px 16px 5px;overflow-x:auto;scrollbar-width:thin}.ht-card{width:54px;height:78px;flex:0 0 54px;border:1px solid #bcb9b1;border-radius:7px;background:#fffdf9;color:#171717;box-shadow:0 2px 5px rgba(20,25,32,.14);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:4px 5px;font:inherit;font-weight:900;cursor:pointer;position:relative;transition:transform .12s,box-shadow .12s;margin-left:-9px}.ht-card:first-child{margin-left:0}.ht-card strong{font-size:1.35rem;line-height:1;align-self:center}.ht-card small{align-self:flex-end}.ht-card.red{color:#ba2734}.ht-card.legal{box-shadow:0 0 0 2px rgba(49,128,91,.22),0 2px 5px rgba(20,25,32,.14)}.ht-card.selected,.ht-card.hinted{transform:translateY(-8px);outline:3px solid #f2b632;z-index:4}.ht-card:disabled{cursor:default}.ht-card.ghost{opacity:.72;pointer-events:none;margin:0}.hearts-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:5px}.hearts-keyhelp{margin-top:7px;color:var(--muted);font-size:.68rem}.hearts-side-head small{display:block;color:var(--muted);font-size:.65rem;font-weight:900;letter-spacing:.08em}.hearts-side-head strong{display:block;margin:3px 0 7px}.hearts-side>p{margin:0 0 11px;color:var(--muted);font-size:.82rem;line-height:1.45}.hearts-scorecard{display:grid;gap:3px}.hearts-scorecard>div{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:4px;align-items:center;padding:5px 7px;border-radius:8px;background:var(--soft);font-size:.72rem}.hearts-scorecard>div:first-child{background:transparent;color:var(--muted);padding-bottom:2px}.hearts-scorecard span{text-align:right}.hearts-public,.hearts-local-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.hearts-public div,.hearts-local-stats div{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--soft)}.hearts-public small,.hearts-local-stats small{display:block;color:var(--muted);font-size:.61rem}.hearts-public strong,.hearts-local-stats strong{display:block;margin-top:2px;font-size:.8rem}.hearts-analysis{margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}.hearts-analysis small{color:var(--muted);font-size:.64rem;font-weight:900}.hearts-analysis p{margin:4px 0 0;color:var(--muted);font-size:.77rem;line-height:1.45}.hearts-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 24px}.hearts-guide>div{padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:var(--card)}.hearts-guide small{display:block;color:var(--muted);font-size:.64rem;font-weight:900;letter-spacing:.06em}.hearts-guide strong{display:block;margin-top:4px;font-size:.9rem}.hearts-guide p{margin:6px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}
@media(max-width:820px){.hearts-workspace{grid-template-columns:1fr}.hearts-side{display:none}.hearts-guide{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.hearts-workspace,.hearts-game-panel{min-width:0}.hearts-page{padding-left:8px;padding-right:8px;padding-top:14px}.hearts-page .gameheader{margin-bottom:4px}.hearts-page .gameheader h1{font-size:32px;margin:3px 0}.hearts-page .gameheader p{font-size:13px;line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hearts-page .scorebox{display:none}.hearts-flow-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:6px 0}.hearts-flow-tabs a{padding:6px 4px;text-align:center;font-size:.67rem}.hearts-game-panel{padding:8px}.hearts-day-nav{margin-bottom:5px}.hearts-day-nav .btn{padding:6px 7px;font-size:.67rem}.hearts-rulebar{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,.7fr));gap:3px;margin-bottom:5px;min-width:0}.hearts-rulebar>*{min-width:0}.hearts-rulebar>div:first-child small{display:none}.hearts-difficulty{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;min-width:0}.hearts-difficulty button{padding:5px 2px;font-size:.6rem}.hearts-round-chip{padding:4px 4px}.hearts-round-chip small{font-size:.45rem}.hearts-round-chip strong{font-size:.58rem}.hearts-table{min-height:260px;border-radius:18px}.hearts-trick{width:190px;height:160px;border-radius:20px}.ht-trick-slot{width:46px;height:64px}.ht-trick-center{width:80px}.ht-trick-center small{font-size:.52rem}.ht-trick-center strong{font-size:.6rem}.hearts-seat>span{padding:3px 6px}.hearts-seat small{font-size:.52rem}.hearts-seat strong{font-size:.63rem}.ht-back{width:18px;height:26px;margin-left:-11px}.hearts-card-backs.vertical .ht-back{margin-top:-18px}.hearts-passbar{padding:6px 7px;margin:5px 0 2px}.hearts-passbar span{display:none}.hearts-passbar .btn{padding:6px 8px;font-size:.66rem}.hearts-hand{justify-content:flex-start;min-height:82px;padding:8px 4px 4px}.ht-card{width:43px;height:64px;flex-basis:43px;margin-left:-12px;border-radius:5px;padding:3px 4px;font-size:.7rem}.ht-card strong{font-size:1.05rem}.ht-card.selected,.ht-card.hinted{transform:translateY(-6px)}.hearts-actions{grid-template-columns:repeat(5,1fr);gap:3px}.hearts-actions .tool-btn{padding:6px 2px}.hearts-actions .tool-btn strong{font-size:.64rem}.hearts-actions .tool-btn small{display:none}.hearts-page .status{margin-top:5px;font-size:.72rem}.hearts-keyhelp{font-size:.56rem;margin-top:4px}.hearts-guide{grid-template-columns:1fr;gap:6px;margin-top:9px;margin-bottom:86px}.hearts-guide>div{padding:9px 10px}}


/* V0.84 Spades specialist */
.spades-page{max-width:1180px}.spades-flow-tabs{display:flex;gap:7px;margin:14px 0}.spades-flow-tabs a{padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);font-weight:850;text-decoration:none}.spades-flow-tabs a.active{background:var(--text);color:#fff;border-color:var(--text)}.spades-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.65fr);gap:14px;align-items:start}.spades-game-panel,.spades-side{padding:15px;min-width:0}.spades-day-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.spades-day-nav span{text-align:center}.spades-day-nav small,.spades-rulebar small{display:block;color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.07em}.spades-rulebar{display:grid;grid-template-columns:minmax(210px,1.8fr) repeat(4,minmax(76px,.55fr));gap:6px;align-items:end;margin-bottom:8px}.spades-difficulty{display:flex;gap:5px}.spades-difficulty button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:7px 10px;font:inherit;font-size:.75rem;font-weight:850}.spades-difficulty button.active{background:var(--text);color:#fff;border-color:var(--text)}.spades-round-chip{padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--soft);min-width:0}.spades-round-chip strong{display:block;font-size:.78rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spades-table{position:relative;min-height:350px;border-radius:28px;background:radial-gradient(circle at 50% 45%,#325c7e,#244663 68%,#18344d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.13),0 9px 24px rgba(21,42,60,.18);overflow:hidden}.spades-team-label{position:absolute;top:8px;font-size:.58rem;font-weight:900;letter-spacing:.05em;color:rgba(255,255,255,.72);z-index:2}.spades-team-label.us{left:10px}.spades-team-label.them{right:10px}.spades-seat{position:absolute;color:#fff;z-index:3}.spades-seat>span{display:flex;gap:7px;align-items:baseline;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:5px 9px}.spades-seat small{font-size:.63rem;opacity:.78}.spades-seat strong{font-size:.72rem}.spades-seat.north{top:28px;left:50%;transform:translateX(-50%);text-align:center}.spades-seat.south{bottom:8px;left:50%;transform:translateX(-50%)}.spades-seat.west{left:8px;top:50%;transform:translateY(-50%)}.spades-seat.east{right:8px;top:50%;transform:translateY(-50%)}.spades-card-backs{display:flex;justify-content:center;margin-top:4px}.spades-card-backs.vertical{flex-direction:column;align-items:center;margin-top:4px}.sp-back{width:24px;height:34px;border-radius:4px;border:1px solid #d5d9e6;background:repeating-linear-gradient(135deg,#59627b 0 4px,#353d56 4px 8px);box-shadow:0 1px 2px rgba(0,0,0,.18);margin-left:-13px}.spades-card-backs.vertical .sp-back{margin-left:0;margin-top:-22px}.spades-card-backs b{font-size:.62rem;background:rgba(0,0,0,.22);border-radius:999px;padding:2px 5px;margin-left:3px}.spades-trick{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:260px;height:210px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:rgba(255,255,255,.06)}.sp-trick-slot{position:absolute;width:58px;height:78px;display:flex;align-items:center;justify-content:center}.sp-trick-slot.north{top:4px;left:50%;transform:translateX(-50%)}.sp-trick-slot.south{bottom:4px;left:50%;transform:translateX(-50%)}.sp-trick-slot.west{left:5px;top:50%;transform:translateY(-50%)}.sp-trick-slot.east{right:5px;top:50%;transform:translateY(-50%)}.sp-trick-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;text-align:center;width:110px}.sp-trick-center small{display:block;font-size:.61rem;opacity:.78;line-height:1.25}.sp-trick-center strong{display:block;font-size:.72rem;margin-top:4px}.spades-bidbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 5px;padding:9px 11px;border:1px solid #b7c8dc;background:#f2f7fc;border-radius:12px}.spades-bidbar[hidden]{display:none}.spades-bidbar small{display:block;color:#516a86;font-size:.61rem;font-weight:900}.spades-bidbar strong{display:block;font-size:.8rem;margin-top:2px}.spades-bidbar span{display:block;color:#687687;font-size:.7rem;margin-top:2px}.spades-bid-controls{display:flex;gap:6px;align-items:center}.spades-bid-controls select{min-width:88px;border:1px solid var(--line);border-radius:9px;background:var(--card);padding:8px;font:inherit;font-weight:800}.spades-hand{display:flex;align-items:flex-end;justify-content:center;gap:0;min-height:101px;padding:8px 16px 5px;overflow-x:auto;scrollbar-width:thin}.sp-card{width:54px;height:78px;flex:0 0 54px;border:1px solid #bcb9b1;border-radius:7px;background:#fffdf9;color:#171717;box-shadow:0 2px 5px rgba(20,25,32,.14);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:4px 5px;font:inherit;font-weight:900;cursor:pointer;position:relative;transition:transform .12s,box-shadow .12s;margin-left:-9px}.sp-card:first-child{margin-left:0}.sp-card strong{font-size:1.35rem;line-height:1;align-self:center}.sp-card small{align-self:flex-end}.sp-card.red{color:#ba2734}.sp-card.legal{box-shadow:0 0 0 2px rgba(56,98,146,.24),0 2px 5px rgba(20,25,32,.14)}.sp-card.hinted{transform:translateY(-8px);outline:3px solid #f2b632;z-index:4}.sp-card:disabled{cursor:default}.sp-card.ghost{opacity:.72;pointer-events:none;margin:0}.spades-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:5px}.spades-keyhelp{margin-top:7px;color:var(--muted);font-size:.68rem}.spades-side-head small{display:block;color:var(--muted);font-size:.65rem;font-weight:900;letter-spacing:.08em}.spades-side-head strong{display:block;margin:3px 0 7px}.spades-side>p{margin:0 0 11px;color:var(--muted);font-size:.82rem;line-height:1.45}.spades-scorecard{display:grid;gap:3px}.spades-scorecard>div{display:grid;grid-template-columns:1.35fr repeat(4,.55fr);gap:4px;align-items:center;padding:5px 7px;border-radius:8px;background:var(--soft);font-size:.69rem}.spades-scorecard>div:first-child{background:transparent;color:var(--muted);padding-bottom:2px}.spades-scorecard span{text-align:right}.spades-public,.spades-local-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.spades-public div,.spades-local-stats div{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--soft)}.spades-public small,.spades-local-stats small{display:block;color:var(--muted);font-size:.61rem}.spades-public strong,.spades-local-stats strong{display:block;margin-top:2px;font-size:.8rem}.spades-analysis{margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}.spades-analysis small{color:var(--muted);font-size:.64rem;font-weight:900}.spades-analysis p{margin:4px 0 0;color:var(--muted);font-size:.77rem;line-height:1.45}.spades-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 24px}.spades-guide>div{padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:var(--card)}.spades-guide small{display:block;color:var(--muted);font-size:.64rem;font-weight:900;letter-spacing:.06em}.spades-guide strong{display:block;margin-top:4px;font-size:.9rem}.spades-guide p{margin:6px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}
@media(max-width:820px){.spades-workspace{grid-template-columns:1fr}.spades-side{display:none}.spades-guide{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.spades-workspace,.spades-game-panel{min-width:0}.spades-page{padding-left:8px;padding-right:8px;padding-top:14px}.spades-page .gameheader{margin-bottom:4px}.spades-page .gameheader h1{font-size:32px;margin:3px 0}.spades-page .gameheader p{font-size:13px;line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spades-page .scorebox{display:none}.spades-flow-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:6px 0}.spades-flow-tabs a{padding:6px 4px;text-align:center;font-size:.67rem}.spades-game-panel{padding:8px}.spades-day-nav{margin-bottom:5px}.spades-day-nav .btn{padding:6px 7px;font-size:.67rem}.spades-rulebar{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,.7fr));gap:3px;margin-bottom:5px;min-width:0}.spades-rulebar>*{min-width:0}.spades-rulebar>div:first-child small{display:none}.spades-difficulty{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;min-width:0}.spades-difficulty button{padding:5px 2px;font-size:.6rem}.spades-round-chip{padding:4px}.spades-round-chip small{font-size:.45rem}.spades-round-chip strong{font-size:.58rem}.spades-table{min-height:260px;border-radius:18px}.spades-trick{width:190px;height:160px;border-radius:20px}.sp-trick-slot{width:46px;height:64px}.sp-trick-center{width:80px}.sp-trick-center small{font-size:.52rem}.sp-trick-center strong{font-size:.6rem}.spades-seat>span{padding:3px 6px}.spades-seat small{font-size:.5rem}.spades-seat strong{font-size:.58rem}.sp-back{width:18px;height:26px;margin-left:-11px}.spades-card-backs.vertical .sp-back{margin-top:-18px}.spades-team-label{font-size:.48rem}.spades-bidbar{padding:6px 7px;margin:5px 0 2px}.spades-bidbar span{display:none}.spades-bid-controls{gap:3px}.spades-bid-controls select{min-width:74px;padding:6px 4px;font-size:.66rem}.spades-bidbar .btn{padding:6px 8px;font-size:.66rem}.spades-hand{justify-content:flex-start;min-height:82px;padding:8px 4px 4px}.sp-card{width:43px;height:64px;flex-basis:43px;margin-left:-12px;border-radius:5px;padding:3px 4px;font-size:.7rem}.sp-card strong{font-size:1.05rem}.sp-card.hinted{transform:translateY(-6px)}.spades-actions{grid-template-columns:repeat(5,1fr);gap:3px}.spades-actions .tool-btn{padding:6px 2px}.spades-actions .tool-btn strong{font-size:.64rem}.spades-actions .tool-btn small{display:none}.spades-page .status{margin-top:5px;font-size:.72rem}.spades-keyhelp{font-size:.56rem;margin-top:4px}.spades-guide{grid-template-columns:1fr;gap:6px;margin-top:9px;margin-bottom:86px}.spades-guide>div{padding:9px 10px}}

/* V0.85 Backgammon specialist */
.backgammon-page{padding-bottom:110px}.backgammon-flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.backgammon-flow-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.84rem;font-weight:800;background:var(--card)}.backgammon-flow-tabs a.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.backgammon-workspace{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(260px,.72fr);gap:16px;align-items:start}.backgammon-game-panel,.backgammon-side{min-width:0}.backgammon-day-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.backgammon-day-nav>span{text-align:center}.backgammon-day-nav small,.backgammon-rulebar small,.backgammon-side small,.backgammon-turn-tools small{display:block;font-size:.66rem;letter-spacing:.09em;color:var(--muted);font-weight:900}.backgammon-rulebar{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(3,minmax(78px,.55fr));gap:8px;margin-bottom:10px}.backgammon-rulebar>div{border:1px solid var(--line);border-radius:12px;padding:9px 10px;min-width:0}.backgammon-difficulty{display:flex;gap:4px;margin-top:4px}.backgammon-difficulty button{border:0;background:transparent;border-radius:8px;padding:5px 7px;font-weight:800;color:var(--muted);cursor:pointer}.backgammon-difficulty button.active{background:var(--ink);color:var(--paper)}.backgammon-board-shell{display:grid;grid-template-columns:62px minmax(0,1fr) 62px;gap:8px;align-items:stretch}.backgammon-board{position:relative;display:grid;grid-template-rows:1fr 1fr;min-height:440px;border-radius:18px;border:6px solid #34291f;background:#d7b17b;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(255,255,255,.22)}.backgammon-half{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));position:relative}.backgammon-half.top{align-items:start}.backgammon-half.bottom{align-items:end}.bg-point{position:relative;border:0;background:transparent;min-width:0;height:100%;padding:0;cursor:pointer;overflow:visible}.bg-point::before{content:"";position:absolute;inset-inline:2px;height:82%;background:#7a4e39;opacity:.9}.bg-point:nth-child(even)::before{background:#ece1c7}.bg-point.top::before{top:0;clip-path:polygon(0 0,100% 0,50% 100%)}.bg-point.bottom::before{bottom:0;clip-path:polygon(50% 0,100% 100%,0 100%)}.bg-point-num{position:absolute;z-index:3;font-size:.58rem;font-weight:900;color:#3b2e22;left:50%;transform:translateX(-50%)}.bg-point.top .bg-point-num{top:3px}.bg-point.bottom .bg-point-num{bottom:3px}.bg-stack{position:absolute;z-index:4;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;width:88%}.bg-point.top .bg-stack{top:18px}.bg-point.bottom .bg-stack{bottom:18px;flex-direction:column-reverse}.bg-checker{display:block;width:min(27px,88%);aspect-ratio:1;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.35),inset 0 0 0 2px rgba(255,255,255,.35)}.bg-checker.player{background:#f9f4e8;border:2px solid #40362d}.bg-checker.opponent{background:#2d3945;border:2px solid #15202a}.bg-stack-count{position:absolute;z-index:5;top:52%;left:50%;transform:translate(-50%,-50%);border-radius:999px;background:#fff;color:#111;padding:2px 5px;font-size:.65rem}.bg-point.legal-source{outline:3px solid rgba(31,111,235,.78);outline-offset:-3px}.bg-point.legal-dest::after{content:"";position:absolute;z-index:6;left:50%;top:50%;width:11px;height:11px;border-radius:50%;background:#1f6feb;transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(255,255,255,.62)}.backgammon-bar{position:absolute;z-index:8;left:50%;top:0;bottom:0;width:42px;transform:translateX(-50%);background:#594332;border-inline:2px solid rgba(0,0,0,.18);display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.bg-bar-zone{pointer-events:auto;border:0;background:transparent;color:#fff;height:45%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.bg-bar-zone strong{font-size:1.35rem}.bg-bar-zone.legal-source{box-shadow:inset 0 0 0 3px #70a5ff}.bg-bar-line{height:1px;background:rgba(255,255,255,.25)}.backgammon-off{border:1px solid var(--line);border-radius:14px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--soft)}.backgammon-off small{font-size:.58rem;letter-spacing:.08em;color:var(--muted);font-weight:900}.backgammon-off strong{font-size:1.7rem;margin-top:5px}.backgammon-turn-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 8px}.backgammon-dice-row{display:flex;gap:6px;min-height:38px}.bg-die{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;border:1px solid var(--line);background:var(--paper);font-size:1.05rem;font-weight:900;box-shadow:0 2px 0 rgba(0,0,0,.06)}.backgammon-moves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-height:60px}.bg-move{border:1px solid var(--line);background:var(--card);border-radius:11px;padding:8px 9px;text-align:left;cursor:pointer;min-width:0}.bg-move strong{display:block;font-size:.82rem}.bg-move small{display:block;margin-top:2px;color:var(--muted);font-size:.68rem}.bg-move:hover,.bg-move.hinted{border-color:#1f6feb;box-shadow:0 0 0 2px rgba(31,111,235,.13)}.bg-move.source-filter{background:var(--soft)}.backgammon-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:10px}.backgammon-keyhelp{margin-top:8px;font-size:.73rem;color:var(--muted)}.backgammon-side-head{margin-bottom:8px}.backgammon-side-head strong{display:block;font-size:1.05rem;margin-top:2px}.backgammon-scorecard{margin:12px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.backgammon-scorecard>div{display:grid;grid-template-columns:1.25fr repeat(3,.62fr);gap:4px;align-items:center;padding:8px;border-top:1px solid var(--line);font-size:.75rem}.backgammon-scorecard>div:first-child{border-top:0;background:var(--soft)}.backgammon-scorecard span{text-align:center}.backgammon-public,.backgammon-local-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.backgammon-public>div,.backgammon-local-stats>div{border:1px solid var(--line);border-radius:10px;padding:8px}.backgammon-public strong,.backgammon-local-stats strong{display:block;margin-top:2px}.backgammon-analysis{margin-top:12px;padding:10px;border-radius:12px;background:var(--soft)}.backgammon-analysis p{margin:4px 0 0;font-size:.78rem;line-height:1.45}.backgammon-guide{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.backgammon-workspace{grid-template-columns:1fr}.backgammon-side{order:2}.backgammon-board{min-height:410px}.backgammon-guide{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.backgammon-page{padding-inline:12px}.backgammon-rulebar{grid-template-columns:minmax(0,1.45fr) repeat(3,minmax(0,.58fr));gap:5px}.backgammon-rulebar>div{padding:7px 6px}.backgammon-difficulty{gap:1px}.backgammon-difficulty button{padding:4px 5px;font-size:.7rem}.backgammon-board-shell{grid-template-columns:minmax(0,1fr);gap:0}.backgammon-board-shell>.backgammon-off{display:none}.backgammon-board{min-height:390px;border-width:4px;border-radius:14px}.backgammon-bar{width:30px}.bg-point::before{inset-inline:1px}.bg-checker{width:min(23px,92%)}.bg-point-num{font-size:.5rem}.bg-point.top .bg-stack{top:15px}.bg-point.bottom .bg-stack{bottom:15px}.backgammon-off small{font-size:.46rem}.backgammon-off strong{font-size:1.25rem}.backgammon-moves{grid-template-columns:1fr 1fr}.backgammon-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.backgammon-actions .tool-btn:last-child{grid-column:span 2}.backgammon-guide{grid-template-columns:1fr}.backgammon-day-nav .btn{padding-inline:9px;font-size:.75rem}.backgammon-turn-tools{align-items:flex-end}.bg-die{width:34px;height:34px}.backgammon-scorecard>div{grid-template-columns:1.2fr repeat(3,.58fr);font-size:.7rem}}
/* V0.85 Backgammon guide hierarchy */
.backgammon-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 24px;border:0;background:transparent;border-radius:0;overflow:visible}
.backgammon-guide>div{padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:var(--card);min-width:0}
.backgammon-guide small{display:block;color:var(--muted);font-size:.64rem;font-weight:900;letter-spacing:.06em;line-height:1.25}
.backgammon-guide strong{display:block;margin-top:4px;font-size:.9rem;line-height:1.3}
.backgammon-guide p{margin:6px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}
@media(max-width:900px){.backgammon-guide{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.backgammon-guide{grid-template-columns:1fr;gap:6px;margin-top:9px;margin-bottom:86px}.backgammon-guide>div{padding:9px 10px}}


/* V0.86 Chess specialist */
.chess-page{padding-bottom:110px}.chess-flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.chess-flow-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.84rem;font-weight:800;background:var(--card);color:var(--text)}.chess-flow-tabs a.active{background:var(--text);color:#fff;border-color:var(--text)}.chess-shell{padding:16px}.chess-topline{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.chess-topline strong{display:block;margin-top:5px;font-size:1.05rem}.chess-state{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.chess-state span{border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:850;background:var(--soft)}.chess-state .danger{background:var(--badbg);color:var(--bad);border-color:#e3b2b2}.chess-layout{display:grid;grid-template-columns:minmax(300px,1.3fr) minmax(245px,.72fr);gap:16px;align-items:start}.chess-board-wrap{min-width:0}.chess-board{width:min(100%,640px);aspect-ratio:1;display:grid;grid-template-columns:repeat(8,1fr);border:6px solid #2e3339;border-radius:16px;overflow:hidden;box-shadow:0 12px 28px rgba(20,24,31,.12);margin:auto}.chess-square{position:relative;border:0;padding:0;min-width:0;aspect-ratio:1;display:grid;place-items:center;cursor:pointer}.chess-square.light{background:#e9edf1}.chess-square.dark{background:#8796a8}.chess-square .chess-piece{font-size:clamp(27px,5.5vw,50px);line-height:1;filter:drop-shadow(0 1px 0 rgba(255,255,255,.35));transform:translateY(-1px)}.chess-square .chess-piece.b{color:#16191d;text-shadow:0 1px 0 rgba(255,255,255,.16)}.chess-square .chess-piece.w{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.72),0 0 1px #000}.chess-square small{position:absolute;right:3px;bottom:2px;font-size:.48rem;font-weight:900;opacity:.65;color:#20242a}.chess-square.dark small{color:#fff}.chess-square.legal-source::before{content:"";position:absolute;inset:5px;border-radius:8px;border:2px solid rgba(22,25,29,.28)}.chess-square.legal-dest::after{content:"";position:absolute;width:18%;aspect-ratio:1;border-radius:50%;background:rgba(31,111,235,.74);box-shadow:0 0 0 4px rgba(255,255,255,.38)}.chess-square.selected{box-shadow:inset 0 0 0 4px #1f6feb}.chess-square.last{box-shadow:inset 0 0 0 3px rgba(255,211,77,.78)}.chess-square:focus-visible{z-index:3;outline:3px solid #1f6feb;outline-offset:-3px}.chess-board-meta{display:flex;justify-content:space-between;gap:10px;margin:8px auto 0;width:min(100%,640px);font-size:.75rem;color:var(--muted)}.chess-panel{min-width:0;display:grid;gap:10px}.chess-controls-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chess-controls-row label{font-size:.68rem;font-weight:850;color:var(--muted);display:grid;gap:4px}.chess-controls-row select{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff;font:inherit;color:var(--text)}.difficulty-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.difficulty-row button{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:8px 6px;font-weight:800;cursor:pointer}.difficulty-row button.active{background:var(--text);color:#fff;border-color:var(--text)}.chess-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.chess-actions .btn{padding:9px 8px;font-size:.8rem}.chess-day-nav{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.chess-day-nav button{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:8px 10px}.chess-day-nav strong{text-align:center;font-size:.78rem}.statusline{margin:0;padding:10px 11px;border-radius:11px;background:var(--soft);color:var(--muted);font-size:.78rem;line-height:1.45;min-height:48px}.chess-coach{border:1px solid var(--line);border-radius:12px;padding:10px 11px}.chess-coach .eyebrow{font-size:.62rem;padding:5px 7px}.chess-coach strong{display:block;margin-top:7px;font-size:.9rem}.chess-coach p{margin:5px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.chess-moves{display:grid;grid-template-columns:36px 1fr 1fr;gap:5px 8px;max-height:220px;overflow:auto;font-size:.82rem}.chess-moves em{grid-column:1/-1;color:var(--muted)}.chess-move-no{color:var(--muted);font-weight:800}.chess-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px}.chess-stats>div{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 11px;min-width:0}.chess-stats small{display:block;color:var(--muted);font-size:.66rem;font-weight:850}.chess-stats strong{display:block;margin-top:3px;font-size:1.05rem}.chess-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 24px;background:transparent;border:0;padding:0;box-shadow:none}.chess-guide>div{border:1px solid var(--line);border-radius:13px;background:var(--card);padding:13px;min-width:0}.chess-guide .eyebrow{font-size:.6rem;padding:5px 7px}.chess-guide h2{font-size:.92rem;line-height:1.28;margin:8px 0 0}.chess-guide p{font-size:.76rem;line-height:1.48;color:var(--muted);margin:6px 0 0}
@media(max-width:800px){.chess-layout{grid-template-columns:1fr}.chess-panel{grid-template-columns:1fr 1fr}.chess-panel>.statusline,.chess-panel>.chess-coach,.chess-panel>.chess-actions,.chess-panel>.chess-day-nav{grid-column:1/-1}.chess-guide{grid-template-columns:1fr 1fr}.chess-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.chess-page{padding-inline:12px}.chess-shell{padding:10px}.chess-topline{align-items:flex-start}.chess-layout{gap:10px}.chess-board{border-width:4px;border-radius:11px;width:100%}.chess-square .chess-piece{font-size:clamp(30px,10.2vw,42px)}.chess-square small{font-size:.42rem}.chess-panel{grid-template-columns:1fr}.chess-panel>*{grid-column:1!important}.chess-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.chess-guide{grid-template-columns:1fr;margin-bottom:86px}.chess-stats{grid-template-columns:repeat(2,1fr)}}

/* V0.87 Go specialist */
.go-page .gameheader h1 small{font-size:.42em;color:var(--muted);font-weight:800;vertical-align:middle;margin-left:8px}.go-flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.go-flow-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:13px;font-weight:850;color:var(--muted)}.go-flow-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.go-shell{overflow:hidden}.go-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.go-topline>div:first-child{display:flex;flex-direction:column;gap:4px}.go-state{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.go-state span{font-size:12px;font-weight:850;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--soft)}.go-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.go-board-wrap{min-width:0}.go-board{--go-size:9;width:min(100%,600px);aspect-ratio:1;display:grid;grid-template-columns:repeat(var(--go-size),minmax(0,1fr));grid-template-rows:repeat(var(--go-size),minmax(0,1fr));margin:auto;padding:18px;background:#d8b36a;border:1px solid #b88e49;border-radius:20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);touch-action:manipulation}.go-point{position:relative;appearance:none;border:0;background:transparent;min-width:0;min-height:0;padding:0;cursor:pointer;display:grid;place-items:center;overflow:visible}.go-line-h,.go-line-v{position:absolute;display:block;background:rgba(65,46,22,.62);pointer-events:none}.go-line-h{height:1px;left:0;right:0;top:50%}.go-line-v{width:1px;top:0;bottom:0;left:50%}.go-point:nth-child(-n+9) .go-line-v{}.go-point .go-stone{position:absolute;width:78%;height:78%;border-radius:50%;z-index:2;box-shadow:0 2px 5px rgba(0,0,0,.3)}.go-point.black .go-stone{background:radial-gradient(circle at 35% 30%,#555 0,#171717 45%,#050505 100%)}.go-point.white .go-stone{background:radial-gradient(circle at 35% 30%,#fff 0,#f4f1e8 58%,#cfc9b8 100%);border:1px solid rgba(0,0,0,.18)}.go-point.legal:hover:after,.go-point.legal:focus-visible:after{content:"";position:absolute;width:38%;height:38%;border-radius:50%;background:rgba(40,40,40,.22);z-index:1}.go-point.hint:after{content:"";position:absolute;width:42%;height:42%;border-radius:50%;background:var(--accent);opacity:.72;z-index:1}.go-point small{position:absolute;z-index:3;font-size:8px;line-height:1;color:rgba(55,38,17,.75);font-weight:900;left:2px;bottom:2px;pointer-events:none}.go-board-meta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:12px}.go-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.go-controls-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.go-controls-row label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:850;color:var(--muted)}.go-controls-row select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--card);font:inherit;padding:8px}.go-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.go-actions .btn{width:100%;justify-content:center}.go-day-nav{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:7px}.go-day-nav button{min-height:38px;border:1px solid var(--line);background:var(--card);border-radius:10px}.go-day-nav strong{text-align:center;font-size:12px}.go-coach{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}.go-coach strong,.go-coach p{display:block}.go-coach strong{margin:3px 0 5px}.go-coach p{font-size:13px;color:var(--muted);line-height:1.5;margin:0}.go-moves{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.go-moves span{display:block;padding:8px 10px;border-radius:10px;background:var(--soft);font-size:12px;min-width:0}.go-moves em{color:var(--muted)}.go-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.go-guide>div{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--soft);min-width:0}.go-guide h2{font-size:1rem;margin:5px 0 7px}.go-guide p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}.go-stats{margin-top:16px}
@media(max-width:840px){.go-layout{grid-template-columns:1fr}.go-panel{max-width:600px;width:100%;margin:auto}.go-board{width:min(100%,520px)}.go-guide{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.go-page{padding-top:20px}.go-shell{padding:14px}.go-topline{align-items:flex-start}.go-state{justify-content:flex-start}.go-board{width:100%;padding:12px;border-radius:15px}.go-board.size-13{padding:9px}.go-board-meta{gap:8px}.go-controls-row{grid-template-columns:1fr 1fr}.go-actions{grid-template-columns:1fr 1fr}.go-moves{grid-template-columns:1fr 1fr}.go-guide{grid-template-columns:1fr}.go-point small{font-size:7px}}

/* V0.88 Xiangqi specialist */
.xiangqi-page .gameheader h1 small{font-size:.42em;color:var(--muted);font-weight:800;vertical-align:middle;margin-left:8px}.xq-flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.xq-flow-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:13px;font-weight:850;color:var(--muted)}.xq-flow-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.xq-shell{overflow:hidden}.xq-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.xq-topline>div:first-child{display:flex;flex-direction:column;gap:4px}.xq-state{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.xq-state span{font-size:12px;font-weight:850;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--soft)}.xq-layout{display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(250px,.7fr);gap:18px;align-items:start}.xq-board-wrap{min-width:0;position:relative}.xq-board{width:min(100%,560px);aspect-ratio:9/10;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(10,minmax(0,1fr));margin:auto;padding:18px;background:#d6ad62;border:7px solid #7d5426;border-radius:18px;box-shadow:0 12px 28px rgba(48,30,12,.18);touch-action:manipulation;position:relative}.xq-square{position:relative;appearance:none;border:0;background:transparent;padding:0;min-width:0;min-height:0;display:grid;place-items:center;cursor:pointer}.xq-cross{position:absolute;display:block;background:rgba(73,43,18,.62);pointer-events:none}.xq-h{height:1px;left:0;right:0;top:50%}.xq-v{width:1px;top:0;bottom:0;left:50%}.xq-square:nth-child(9n+1) .xq-h{left:50%}.xq-square:nth-child(9n) .xq-h{right:50%}.xq-square:nth-child(-n+9) .xq-v{top:50%}.xq-square:nth-last-child(-n+9) .xq-v{bottom:50%}.xq-square.river-top .xq-v{bottom:50%}.xq-square.river-bottom .xq-v{top:50%}.xq-piece{z-index:4;width:72%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#f4dfb7;border:2px solid currentColor;box-shadow:0 2px 4px rgba(48,30,12,.25),inset 0 0 0 2px rgba(255,255,255,.45);font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;font-weight:900;font-size:clamp(20px,4.5vw,36px);line-height:1}.xq-piece.r{color:#b22922}.xq-piece.b{color:#202020}.xq-square small{position:absolute;z-index:5;right:2px;bottom:1px;font-size:7px;font-weight:900;color:rgba(77,50,25,.72);pointer-events:none}.xq-square.legal-source:before{content:"";position:absolute;z-index:2;width:84%;height:84%;border-radius:50%;border:2px solid rgba(31,111,235,.28)}.xq-square.legal-dest:after{content:"";position:absolute;z-index:3;width:20%;aspect-ratio:1;border-radius:50%;background:#1f6feb;box-shadow:0 0 0 4px rgba(255,255,255,.42)}.xq-square.selected{box-shadow:inset 0 0 0 3px #1f6feb}.xq-square.last{background:rgba(255,214,75,.2)}.xq-square:focus-visible{outline:3px solid #1f6feb;outline-offset:-2px;z-index:6}.xq-river-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(calc(100% - 70px),490px);display:flex;justify-content:space-around;gap:20px;pointer-events:none;z-index:2;color:rgba(88,51,18,.74);font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;font-size:clamp(15px,2.3vw,22px);font-weight:900;letter-spacing:.16em}.xq-board-meta{display:flex;justify-content:space-between;gap:10px;margin:8px auto 0;width:min(100%,560px);font-size:.75rem;color:var(--muted)}.xq-panel{min-width:0;display:grid;gap:10px}.xq-panel>label{font-size:.68rem;font-weight:850;color:var(--muted);display:grid;gap:4px}.xq-panel select{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff;font:inherit;color:var(--text)}.xq-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.xq-actions .btn{padding:9px 8px;font-size:.8rem}.xq-day-nav{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.xq-day-nav button{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:8px 10px}.xq-day-nav strong{text-align:center;font-size:.78rem}.xq-coach{border:1px solid var(--line);border-radius:12px;padding:10px 11px}.xq-coach .eyebrow{font-size:.62rem;padding:5px 7px}.xq-coach strong{display:block;margin-top:7px;font-size:.9rem}.xq-coach p{margin:5px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.xq-moves{display:grid;grid-template-columns:36px 1fr 1fr;gap:5px 8px;max-height:220px;overflow:auto;font-size:.82rem}.xq-moves em{grid-column:1/-1;color:var(--muted)}.xq-move-no{color:var(--muted);font-weight:800}.xq-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px}.xq-stats>div{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 11px;min-width:0}.xq-stats small{display:block;color:var(--muted);font-size:.66rem;font-weight:850}.xq-stats strong{display:block;margin-top:3px;font-size:1.05rem}.xq-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 24px;background:transparent;border:0;padding:0;box-shadow:none}.xq-guide>div{border:1px solid var(--line);border-radius:13px;background:var(--card);padding:13px;min-width:0}.xq-guide .eyebrow{font-size:.6rem;padding:5px 7px}.xq-guide h2{font-size:.92rem;line-height:1.28;margin:8px 0 0}.xq-guide p{font-size:.76rem;line-height:1.48;color:var(--muted);margin:6px 0 0}
@media(max-width:800px){.xq-layout{grid-template-columns:1fr}.xq-panel{grid-template-columns:1fr 1fr}.xq-panel>.statusline,.xq-panel>.xq-coach,.xq-panel>.xq-actions,.xq-panel>.xq-day-nav{grid-column:1/-1}.xq-guide{grid-template-columns:1fr 1fr}.xq-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.xiangqi-page{padding-inline:12px}.xq-shell{padding:10px}.xq-topline{align-items:flex-start}.xq-layout{gap:10px}.xq-board{border-width:4px;border-radius:11px;width:100%;padding:12px}.xq-piece{font-size:clamp(21px,7.4vw,31px)}.xq-square small{font-size:6px}.xq-panel{grid-template-columns:1fr}.xq-panel>*{grid-column:1!important}.xq-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.xq-guide{grid-template-columns:1fr;margin-bottom:86px}.xq-stats{grid-template-columns:repeat(2,1fr)}.xq-river-label{width:calc(100% - 48px);font-size:14px}}

/* V0.89 Shogi specialist */
.shogi-page .gameheader h1 small{font-size:.42em;color:var(--muted);font-weight:800;vertical-align:middle;margin-left:8px}.sg-flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.sg-flow-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:13px;font-weight:850;color:var(--muted)}.sg-flow-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.sg-shell{overflow:hidden}.sg-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.sg-topline>div:first-child{display:flex;flex-direction:column;gap:4px}.sg-state{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.sg-state span{font-size:12px;font-weight:850;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--soft)}.sg-layout{display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(250px,.7fr);gap:18px;align-items:start}.sg-board-wrap{min-width:0}.sg-board{width:min(100%,560px);aspect-ratio:1;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));margin:auto;background:#d7ae66;border:7px solid #79502a;border-radius:14px;box-shadow:0 12px 28px rgba(48,30,12,.18);touch-action:manipulation;overflow:hidden}.sg-square{position:relative;appearance:none;border:0;border-right:1px solid rgba(74,44,19,.5);border-bottom:1px solid rgba(74,44,19,.5);background:transparent;padding:0;min-width:0;min-height:0;display:grid;place-items:center;cursor:pointer}.sg-square:nth-child(9n){border-right:0}.sg-square:nth-last-child(-n+9){border-bottom:0}.sg-piece{z-index:3;width:72%;height:80%;display:grid;place-items:center;background:#f1cf86;color:#1d1711;border:1.5px solid #6f4823;clip-path:polygon(14% 8%,86% 8%,100% 100%,0 100%);box-shadow:0 2px 3px rgba(48,30,12,.18);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;font-weight:900;font-size:clamp(20px,4.8vw,34px);line-height:1}.sg-piece.w{transform:rotate(180deg)}.sg-square small{position:absolute;z-index:4;right:2px;bottom:1px;font-size:7px;font-weight:900;color:rgba(77,50,25,.62);pointer-events:none}.sg-square.legal-source:before{content:"";position:absolute;z-index:1;width:84%;height:84%;border-radius:8px;border:2px solid rgba(31,111,235,.25)}.sg-square.legal-dest:after{content:"";position:absolute;z-index:2;width:20%;aspect-ratio:1;border-radius:50%;background:#1f6feb;box-shadow:0 0 0 4px rgba(255,255,255,.38)}.sg-square.selected{box-shadow:inset 0 0 0 3px #1f6feb}.sg-square.last{background:rgba(255,214,75,.25)}.sg-square:focus-visible{outline:3px solid #1f6feb;outline-offset:-3px;z-index:6}.sg-hand-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;width:min(100%,560px);margin:7px auto}.sg-hand-row>span{font-size:.67rem;font-weight:850;color:var(--muted);white-space:nowrap}.sg-hand{display:flex;gap:5px;flex-wrap:wrap;min-height:34px;align-items:center}.sg-hand em{color:var(--muted);font-size:.8rem}.sg-hand-piece{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line);background:var(--card);border-radius:9px;padding:4px 7px;cursor:pointer}.sg-hand-piece span{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;font-weight:900;font-size:1rem}.sg-hand-piece small{font-weight:850;color:var(--muted)}.sg-hand-piece.selected{border-color:#1f6feb;box-shadow:0 0 0 2px rgba(31,111,235,.15)}.sg-hand-piece:disabled{opacity:.58;cursor:default}.sg-board-meta{display:flex;justify-content:space-between;gap:10px;margin:8px auto 0;width:min(100%,560px);font-size:.75rem;color:var(--muted)}.sg-panel{min-width:0;display:grid;gap:10px}.sg-panel>label{font-size:.68rem;font-weight:850;color:var(--muted);display:grid;gap:4px}.sg-panel select{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff;font:inherit;color:var(--text)}.sg-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sg-actions .btn{padding:9px 8px;font-size:.8rem}.sg-day-nav{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.sg-day-nav button{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:8px 10px}.sg-day-nav strong{text-align:center;font-size:.78rem}.sg-coach{border:1px solid var(--line);border-radius:12px;padding:10px 11px}.sg-coach .eyebrow{font-size:.62rem;padding:5px 7px}.sg-coach strong{display:block;margin-top:7px;font-size:.9rem}.sg-coach p{margin:5px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.sg-moves{display:grid;grid-template-columns:36px 1fr;gap:5px 8px;max-height:220px;overflow:auto;font-size:.82rem}.sg-moves em{grid-column:1/-1;color:var(--muted)}.sg-move-no{color:var(--muted);font-weight:800}.sg-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px}.sg-stats>div{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 11px;min-width:0}.sg-stats small{display:block;color:var(--muted);font-size:.66rem;font-weight:850}.sg-stats strong{display:block;margin-top:3px;font-size:1.05rem}.sg-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 24px;background:transparent;border:0;padding:0;box-shadow:none}.sg-guide>div{border:1px solid var(--line);border-radius:13px;background:var(--card);padding:13px;min-width:0}.sg-guide .eyebrow{font-size:.6rem;padding:5px 7px}.sg-guide h2{font-size:.92rem;line-height:1.28;margin:8px 0 0}.sg-guide p{font-size:.76rem;line-height:1.48;color:var(--muted);margin:6px 0 0}.sg-promotion{position:fixed;inset:0;z-index:40;background:rgba(20,24,30,.5);display:grid;place-items:center;padding:20px}.sg-promotion[hidden]{display:none}.sg-promotion>div{width:min(92vw,380px);background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 24px 60px rgba(0,0,0,.24)}.sg-promotion h2{margin:8px 0 4px}.sg-promotion p{color:var(--muted)}.sg-promotion>div>div{display:flex;gap:8px;margin-top:14px}
@media(max-width:820px){.sg-layout{grid-template-columns:1fr}.sg-panel{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.sg-panel>label,.sg-coach,.sg-day-nav,.sg-panel>.statusline{grid-column:1/-1}.sg-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.shogi-page{padding-inline:12px}.sg-shell{padding:10px}.sg-topline{align-items:flex-start}.sg-layout{gap:10px}.sg-board{border-width:4px;border-radius:9px;width:100%}.sg-piece{font-size:clamp(20px,7.1vw,29px)}.sg-square small{font-size:6px}.sg-panel{grid-template-columns:1fr}.sg-panel>*{grid-column:1!important}.sg-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.sg-guide{grid-template-columns:1fr;margin-bottom:86px}.sg-stats{grid-template-columns:repeat(2,1fr)}.sg-hand-row{grid-template-columns:68px minmax(0,1fr)}.sg-hand-piece{padding:3px 6px}}

/* V0.90 Gin Rummy specialist */
.gin-rummy-page .gameheader h1 small{font-size:.42em;color:var(--muted);font-weight:800;vertical-align:middle;margin-left:8px}.gr-flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.gr-flow-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:13px;font-weight:850;color:var(--muted)}.gr-flow-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.gr-shell{overflow:hidden}.gr-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.gr-topline>div:first-child{display:flex;flex-direction:column;gap:4px}.gr-topline small{color:var(--muted)}.gr-state{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.gr-state span{font-size:12px;font-weight:850;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--soft)}.gr-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.62fr);gap:18px;align-items:start}.gr-table{min-width:0;border-radius:18px;background:linear-gradient(160deg,#1f6547,#184d39);padding:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 12px 28px rgba(18,46,33,.16);color:#fff}.gr-opponent-head,.gr-your-label{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.72rem;font-weight:850;color:rgba(255,255,255,.78)}.gr-opponent{height:86px;display:flex;align-items:flex-start;justify-content:center;padding:9px 0 2px}.gr-opponent .gr-card{margin-left:-28px}.gr-opponent .gr-card:first-child{margin-left:0}.gr-center{min-height:160px;display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 0}.gr-pile{width:84px;height:112px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:.68rem;font-weight:850}.gr-pile.stock{appearance:none;border:2px solid rgba(255,255,255,.7);background:repeating-linear-gradient(135deg,#284f7b 0 5px,#f4f7fb 5px 8px);color:#fff;box-shadow:0 5px 12px rgba(0,0,0,.2);cursor:pointer}.gr-pile.stock span,.gr-pile.stock b{background:rgba(10,29,49,.75);padding:3px 6px;border-radius:6px}.gr-pile.discard{border:1px dashed rgba(255,255,255,.35);color:rgba(255,255,255,.72)}.gr-pile.discard .gr-card{margin-top:0}.gr-scorebox{text-align:center;min-width:86px}.gr-scorebox small{display:block;color:rgba(255,255,255,.72);font-size:.66rem}.gr-scorebox strong{display:block;font-size:1.45rem;margin-top:4px}.gr-hand{display:flex;align-items:flex-end;justify-content:center;min-height:126px;padding:8px 2px 3px;overflow:visible}.gr-hand .gr-card{margin-left:-18px}.gr-hand .gr-card:first-child{margin-left:0}.gr-card{position:relative;width:72px;height:102px;flex:0 0 72px;border:1px solid #d6dae0;border-radius:10px;background:#fff;color:#181b20;box-shadow:0 4px 9px rgba(0,0,0,.17);padding:6px;display:grid;grid-template-rows:auto 1fr auto;text-align:left;line-height:1;user-select:none}.gr-card.red{color:#c1262d}.gr-card strong{font-size:1.75rem;display:grid;place-items:center}.gr-card small{text-align:right;font-weight:900}.gr-card:not(:disabled){cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.gr-card:not(:disabled):hover,.gr-card.hinted{transform:translateY(-8px);box-shadow:0 0 0 3px rgba(255,218,84,.8),0 10px 18px rgba(0,0,0,.18)}.gr-card.back{background:repeating-linear-gradient(45deg,#274e78 0 5px,#e9eef5 5px 7px);border:4px solid #fff}.gr-card:disabled{opacity:1}.gr-meld-strip{margin-top:9px;display:grid;grid-template-columns:1.2fr 1fr;gap:8px}.gr-meld-strip>div{min-width:0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);border-radius:11px;padding:9px}.gr-meld-strip small{display:block;color:rgba(255,255,255,.7);font-size:.63rem;font-weight:850;margin-bottom:5px}.gr-meld-strip #grMelds{display:flex;gap:5px;flex-wrap:wrap}.gr-meld-strip #grMelds span,.gr-meld-strip strong{font-size:.72rem}.gr-meld-strip #grMelds span{padding:4px 6px;border-radius:7px;background:rgba(255,255,255,.14)}.gr-meld-strip em{font-size:.72rem;color:rgba(255,255,255,.72)}.gr-panel{min-width:0;display:grid;gap:10px}.gr-actions-primary,.gr-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.gr-actions-primary .btn,.gr-actions .btn{padding:9px 8px;font-size:.8rem}.gr-actions-primary>:only-child{grid-column:1/-1}.gr-diff{border:1px solid var(--line);border-radius:12px;padding:10px}.gr-diff>small{display:block;color:var(--muted);font-size:.67rem;font-weight:850;margin-bottom:7px}.gr-diff>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.gr-diff button{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:8px 5px;font-size:.72rem;font-weight:850}.gr-diff button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.gr-day-nav{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.gr-day-nav button{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:8px 10px}.gr-day-nav strong{text-align:center;font-size:.78rem}.gr-coach{border:1px solid var(--line);border-radius:12px;padding:10px 11px}.gr-coach .eyebrow{font-size:.62rem;padding:5px 7px}.gr-coach strong{display:block;margin-top:7px;font-size:.9rem}.gr-coach p{margin:5px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.gr-stats{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:14px}.gr-stats>div{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 11px;min-width:0}.gr-stats small{display:block;color:var(--muted);font-size:.66rem;font-weight:850}.gr-stats strong{display:block;margin-top:3px;font-size:1.05rem}.gr-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 24px}.gr-guide>div{border:1px solid var(--line);border-radius:13px;background:var(--card);padding:13px;min-width:0}.gr-guide .eyebrow{font-size:.6rem;padding:5px 7px}.gr-guide h2{font-size:.92rem;line-height:1.28;margin:8px 0 0}.gr-guide p{font-size:.76rem;line-height:1.48;color:var(--muted);margin:6px 0 0}
@media(max-width:820px){.gr-layout{grid-template-columns:1fr}.gr-panel{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gr-panel>.gr-actions-primary,.gr-panel>.gr-actions,.gr-panel>.statusline,.gr-panel>.gr-coach,.gr-panel>.gr-day-nav{grid-column:1/-1}.gr-stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.gin-rummy-page{padding-inline:12px}.gr-shell{padding:10px}.gr-topline{align-items:flex-start}.gr-layout{gap:10px}.gr-table{padding:10px;border-radius:13px}.gr-opponent{height:66px}.gr-opponent .gr-card{margin-left:-31px}.gr-center{min-height:134px;gap:10px}.gr-pile{width:66px;height:92px}.gr-card{width:54px;height:78px;flex-basis:54px;padding:4px;border-radius:8px}.gr-card strong{font-size:1.3rem}.gr-card span,.gr-card small{font-size:.68rem}.gr-hand{min-height:98px}.gr-hand .gr-card{margin-left:-16px}.gr-meld-strip{grid-template-columns:1fr}.gr-panel{grid-template-columns:1fr}.gr-panel>*{grid-column:1!important}.gr-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.gr-stats{grid-template-columns:repeat(2,1fr)}.gr-guide{grid-template-columns:1fr;margin-bottom:86px}}

/* V0.91 Cribbage */
.cribbage-page{padding-bottom:110px}.cb-flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.cb-flow-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.84rem;font-weight:800;background:var(--card)}.cb-flow-tabs a.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cb-shell{padding:14px}.cb-topline{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:10px}.cb-topline strong{display:block}.cb-topline small{color:var(--muted)}.cb-state{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.cb-state span{border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:800}.cb-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr);gap:14px;align-items:start}.cb-table,.cb-panel{min-width:0}.cb-scoretrack{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.cb-scoretrack>div{display:grid;grid-template-columns:auto 34px minmax(80px,1fr);gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:7px 9px}.cb-scoretrack small{font-weight:800}.cb-scoretrack strong{text-align:right}.cb-scoretrack span{height:8px;border-radius:999px;background:var(--soft);overflow:hidden}.cb-scoretrack i{display:block;height:100%;width:0;background:currentColor;border-radius:inherit}.cb-opponent-head,.cb-your-label{display:flex;justify-content:space-between;align-items:center;font-size:.76rem;color:var(--muted);font-weight:800}.cb-opponent,.cb-hand{display:flex;justify-content:center;gap:clamp(2px,.7vw,8px);min-height:82px;margin:7px 0 10px}.cb-card{width:clamp(38px,7.2vw,58px);aspect-ratio:.72;border:1px solid #cbc4b9;border-radius:9px;background:#fff;color:#202020;display:grid;grid-template-rows:auto 1fr auto;padding:5px;box-shadow:0 2px 5px rgba(0,0,0,.09);font-weight:900;cursor:pointer;min-width:0}.cb-card strong{font-size:1.45rem;display:grid;place-items:center}.cb-card small{text-align:right}.cb-card.red{color:#b62828}.cb-card.back{background:repeating-linear-gradient(45deg,#344356,#344356 6px,#43566d 6px,#43566d 12px);border:3px solid #f2eee6}.cb-card.selected{transform:translateY(-8px);box-shadow:0 0 0 3px #1f6feb,0 5px 12px rgba(0,0,0,.12)}.cb-card.hinted{box-shadow:0 0 0 3px #e0a100,0 5px 12px rgba(0,0,0,.12)}.cb-card:disabled{cursor:default;opacity:.82}.cb-center{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.cb-pile{border:1px solid var(--line);background:var(--soft);border-radius:12px;min-height:72px;padding:8px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.cb-pile small{color:var(--muted);font-weight:900;letter-spacing:.05em}.cb-card-slot{margin-top:4px;font-size:1.35rem;font-weight:900}.cb-played{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;margin-top:4px;font-size:.72rem}.cb-breakdown{margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--soft);font-size:.78rem;line-height:1.5}.cb-breakdown strong{display:block;margin-bottom:4px}.cb-actions-primary{display:grid;grid-template-columns:1fr;gap:7px}.cb-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.cb-diff,.cb-coach{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:12px}.cb-diff small{display:block;color:var(--muted);font-weight:900;margin-bottom:5px}.cb-diff>div{display:flex;gap:4px}.cb-diff button{border:0;background:var(--soft);padding:6px 8px;border-radius:8px;font-weight:800}.cb-diff button.active{background:var(--ink);color:var(--paper)}.cb-day-nav{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.cb-day-nav button{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:5px 9px}.cb-coach strong{display:block;margin:4px 0}.cb-coach p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.cb-stats{margin-top:12px}.cb-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 24px}.cb-guide>div{padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:var(--card);min-width:0}.cb-guide .eyebrow{font-size:.64rem}.cb-guide h2{font-size:.92rem;line-height:1.3;margin:4px 0 0}.cb-guide p{margin:6px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}
@media(max-width:900px){.cb-layout{grid-template-columns:1fr}.cb-guide{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cribbage-page{padding-inline:12px}.cb-shell{padding:10px}.cb-topline{align-items:flex-start;flex-direction:column}.cb-state{justify-content:flex-start}.cb-scoretrack>div{grid-template-columns:auto 28px minmax(60px,1fr);padding:6px}.cb-card{width:clamp(35px,13vw,48px);padding:4px}.cb-opponent,.cb-hand{gap:2px;min-height:72px}.cb-center{gap:5px}.cb-pile{padding:6px;min-height:64px}.cb-actions{grid-template-columns:1fr 1fr}.cb-guide{grid-template-columns:1fr}}

/* V0.92 Euchre specialist */
.eu-flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.eu-flow-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:700;background:var(--card)}.eu-flow-tabs a.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.eu-shell{padding:18px}.eu-topline{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.eu-topline>div:first-child{display:grid;gap:3px}.eu-topline strong{font-size:1.12rem}.eu-topline small{color:var(--muted)}.eu-state{display:flex;flex-wrap:wrap;gap:8px}.eu-state span{border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:6px 9px;font-size:.83rem}.eu-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px}.eu-table{min-width:0;border:1px solid var(--line);border-radius:18px;padding:14px;background:linear-gradient(180deg,#fbfcfd,#f5f7f9)}.eu-score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.eu-score>div{border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px;display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}.eu-score small,.eu-score span{color:var(--muted)}.eu-score strong{font-size:1.5rem}.eu-public{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.eu-public>div{min-width:0;border:1px solid var(--line);background:#fff;border-radius:13px;padding:9px;text-align:center}.eu-public small{display:block;color:var(--muted);margin-bottom:4px}.eu-public .eu-card{margin:auto}.eu-trick{position:relative;min-height:230px;border-radius:18px;border:1px dashed #cbd1d8;background:#edf3ef;margin:8px 0 10px;overflow:hidden}.eu-seat{position:absolute;display:grid;gap:4px;text-align:center;min-width:86px}.eu-seat small{font-size:.75rem;color:#5e6872}.eu-seat-0{bottom:10px;left:50%;transform:translateX(-50%)}.eu-seat-2{top:10px;left:50%;transform:translateX(-50%)}.eu-seat-1{left:10px;top:50%;transform:translateY(-50%)}.eu-seat-3{right:10px;top:50%;transform:translateY(-50%)}.eu-seat.inactive{opacity:.55}.eu-opponent,.eu-your-label{font-size:.83rem;color:var(--muted);margin:7px 0}.eu-hand{display:flex;justify-content:center;gap:6px;min-height:92px;align-items:flex-end;overflow:visible}.eu-card{width:58px;height:82px;border-radius:10px;border:1px solid #c8ced5;background:white;box-shadow:0 2px 7px rgba(20,30,40,.08);display:grid;align-content:center;justify-items:center;font-family:inherit}.eu-card strong{font-size:1.02rem}.eu-card span{font-size:1.35rem}.eu-card.red{color:#b02a37}.eu-card.black{color:#1f2933}.eu-card:disabled{opacity:1}.eu-card:not(:disabled){cursor:pointer}.eu-card:not(:disabled):hover,.eu-card:not(:disabled):focus-visible,.eu-card.hinted{transform:translateY(-7px);outline:2px solid #4e6f65;outline-offset:1px}.eu-panel{min-width:0;display:grid;align-content:start;gap:12px}.eu-bids{display:grid;gap:8px}.eu-bids .eu-call{width:100%}.eu-alone{display:flex;gap:7px;align-items:center;font-size:.86rem}.eu-stick{font-size:.82rem;color:var(--muted)}.eu-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.eu-actions .btn{width:100%}.eu-diff,.eu-coach{border:1px solid var(--line);border-radius:14px;background:var(--soft);padding:10px}.eu-diff small{display:block;margin-bottom:6px;color:var(--muted)}.eu-diff>div{display:flex;gap:5px}.eu-diff button,.eu-day-nav button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 8px}.eu-day-nav{display:flex;justify-content:space-between;align-items:center}.eu-coach strong{display:block;margin:4px 0}.eu-coach p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.45}.eu-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.eu-guide>div{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:16px}.eu-guide h2{font-size:1rem;margin:5px 0 8px}.eu-guide p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.52}
@media(max-width:760px){.eu-shell{padding:12px}.eu-topline{display:grid}.eu-layout{grid-template-columns:1fr}.eu-table{padding:10px;min-width:0}.eu-trick{min-height:205px}.eu-hand{gap:4px}.eu-card{width:52px;height:76px}.eu-panel{grid-template-columns:1fr}.eu-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.eu-guide{grid-template-columns:1fr}.eu-public{grid-template-columns:1fr 1fr 1fr}.eu-seat{min-width:72px}.eu-seat-1{left:4px}.eu-seat-3{right:4px}}
@media(max-width:390px){.eu-card{width:50px}.eu-actions{grid-template-columns:1fr 1fr}.eu-public{font-size:.86rem}}

/* V0.93 Block Puzzle specialist */
.block-puzzle-page{padding-bottom:110px}.bp-flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.bp-flow-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:800;background:var(--card)}.bp-flow-tabs a.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.bp-day-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin:-4px 0 12px}.bp-day-nav button{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:6px 10px}.bp-shell{padding:16px}.bp-topline{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:13px}.bp-topline>div:first-child{display:grid;gap:3px}.bp-topline small{color:var(--muted)}.bp-state{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.bp-state span{border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:6px 9px;font-size:.78rem}.bp-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:18px;align-items:start}.bp-main{min-width:0}.bp-board-wrap{display:grid;place-items:center}.bp-board{width:min(100%,520px);aspect-ratio:1;display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:8px;background:#dfe6e2;border:1px solid #c6d0ca;border-radius:18px;touch-action:manipulation}.bp-cell{min-width:0;min-height:0;border:0;border-radius:6px;background:#f8faf9;box-shadow:inset 0 0 0 1px rgba(44,62,54,.07);padding:0}.bp-cell.filled{background:#456d61;box-shadow:inset 0 -2px 0 rgba(0,0,0,.12)}.bp-cell.anchor:not(.filled):hover,.bp-cell.anchor:not(.filled):focus-visible{outline:2px solid #456d61;outline-offset:-2px;background:#eaf3ee}.bp-cell.hint-anchor{outline:3px solid #d79a18!important;outline-offset:-3px;background:#fff2cc!important}.bp-tray-head{display:flex;justify-content:space-between;gap:10px;margin:13px 1px 7px;font-size:.8rem;font-weight:800}.bp-tray-head small{color:var(--muted);font-weight:600}.bp-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bp-piece{min-width:0;min-height:108px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px 6px;display:grid;place-items:center;align-content:center;gap:6px;cursor:pointer}.bp-piece small{color:var(--muted)}.bp-piece.selected{outline:3px solid #456d61;outline-offset:-3px;background:#f3f8f5}.bp-piece.hinted{box-shadow:0 0 0 3px #d79a18 inset}.bp-piece.used{opacity:.35}.bp-mini{--mw:1;--mh:1;display:grid;grid-template-columns:repeat(var(--mw),14px);grid-template-rows:repeat(var(--mh),14px);gap:2px;min-height:46px;align-content:center}.bp-mini i{display:block;border-radius:3px}.bp-mini i.on{background:#456d61;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15)}.bp-panel{display:grid;align-content:start;gap:11px;min-width:0}.bp-next,.bp-coach{border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:11px}.bp-next small,.bp-next span{display:block;color:var(--muted)}.bp-next strong{display:block;font-size:1.18rem;margin:2px 0}.bp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bp-actions .btn{width:100%}.bp-coach strong{display:block;margin:4px 0}.bp-coach p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.48}.bp-stats{margin-top:12px}.bp-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:16px 0 24px}.bp-guide>div{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:15px}.bp-guide h2{font-size:1rem;margin:5px 0 7px}.bp-guide p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}
@media(max-width:760px){.bp-shell{padding:11px}.bp-topline{display:grid}.bp-state{justify-content:flex-start}.bp-layout{grid-template-columns:1fr}.bp-board{width:min(100%,430px);gap:3px;padding:6px;border-radius:14px}.bp-tray{gap:6px}.bp-piece{min-height:92px;padding:7px 4px}.bp-panel{grid-template-columns:1fr 1fr}.bp-panel>.bp-actions{grid-column:1/-1}.bp-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.bp-guide{grid-template-columns:1fr}.bp-tray-head{font-size:.75rem}}
@media(max-width:390px){.block-puzzle-page{padding-inline:10px}.bp-board{width:100%}.bp-piece{min-height:86px}.bp-mini{grid-template-columns:repeat(var(--mw),12px);grid-template-rows:repeat(var(--mh),12px)}.bp-panel{grid-template-columns:1fr}.bp-actions{grid-template-columns:1fr 1fr}}
.block-puzzle-page .gameheader h1 small{display:block;font-size:.5em;line-height:1.25;color:var(--muted);font-weight:750;margin-top:2px}

/* V0.94 Pyramid Solitaire specialist */
.pyramid-page{--pyra-card-w:clamp(38px,10.4vw,68px);--pyra-card-h:calc(var(--pyra-card-w)*1.38)}
.pyra-flow-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}.pyra-flow-tabs a{padding:.65rem .9rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:800}.pyra-flow-tabs a.active{background:var(--ink);color:var(--paper)}
.pyra-panel{overflow:hidden}.pyra-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-bottom:.85rem}.pyra-meta span,.pyra-stats span{padding:.65rem .7rem;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.pyra-meta small,.pyra-stats small{display:block;color:var(--muted);font-size:.72rem}.pyra-meta strong,.pyra-stats strong{display:block;margin-top:.14rem;font-size:1.02rem}
.pyra-rulebar{display:flex;align-items:center;gap:.75rem;justify-content:space-between;flex-wrap:wrap;padding:.7rem .8rem;border:1px solid var(--line);border-radius:16px;margin-bottom:.9rem}.pyra-rulebar>div{display:flex;gap:.35rem}.pyra-rulebar [data-passes]{border:1px solid var(--line);background:var(--paper);padding:.48rem .7rem;border-radius:10px;font-weight:800}.pyra-rulebar [data-passes].active{background:var(--ink);color:var(--paper)}
.pyra-table{padding:clamp(.7rem,2vw,1.15rem);border-radius:22px;background:linear-gradient(145deg,#173f35,#0e2f29);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.pyra-pyramid{display:flex;flex-direction:column;gap:clamp(2px,.8vw,7px);align-items:center;min-height:calc(var(--pyra-card-h)*7 + 36px)}.pyra-row{display:flex;justify-content:center;gap:clamp(2px,.7vw,6px);width:100%}
.pyra-card,.pyra-pile{width:var(--pyra-card-w);height:var(--pyra-card-h);border-radius:9px;border:1px solid rgba(0,0,0,.24);background:#fffdf8;color:#17201d;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 7px rgba(0,0,0,.2);font-weight:900;transition:transform .12s ease,opacity .12s ease,box-shadow .12s ease}.pyra-card:disabled{cursor:default}.pyra-card.covered{opacity:.58;filter:saturate(.7)}.pyra-card.exposed:not(:disabled){box-shadow:0 0 0 2px rgba(255,255,255,.12),0 3px 9px rgba(0,0,0,.25)}.pyra-card.selected{transform:translateY(-5px);box-shadow:0 0 0 3px #ffd86b,0 5px 12px rgba(0,0,0,.3)}.pyra-card.hinted,.pyra-stock.hinted{box-shadow:0 0 0 4px #ffe28b,0 4px 14px rgba(0,0,0,.28)}.pyra-rank{position:absolute;left:6px;top:4px;font-size:clamp(.72rem,2.3vw,1rem)}.pyra-suit{font-size:clamp(1rem,3.8vw,1.7rem)}.pyra-rank.red,.pyra-suit.red{color:#b52e37}.pyra-slot-mark{font-size:.58rem;color:#7a827f;letter-spacing:.06em}.pyra-stock-row{display:flex;justify-content:center;align-items:center;gap:.7rem;margin-top:1rem}.pyra-stock{background:repeating-linear-gradient(45deg,#243e62 0 6px,#335984 6px 12px);color:white}.pyra-stock small{position:absolute;right:5px;bottom:4px;background:rgba(0,0,0,.45);border-radius:8px;padding:.08rem .3rem}.pyra-back{font-size:1.35rem}.pyra-stock-copy{color:white;min-width:115px}.pyra-stock-copy strong,.pyra-stock-copy small{display:block}.pyra-stock-copy small{opacity:.75;margin-top:.15rem}
.pyra-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:.8rem}.pyra-coach{display:grid;grid-template-columns:1.4fr 1fr;gap:.8rem;margin-top:.8rem;padding:.9rem;border:1px solid var(--line);border-radius:18px}.pyra-coach>div>small{color:var(--muted);font-weight:900;letter-spacing:.08em}.pyra-coach p{margin:.35rem 0 0;color:var(--muted)}.pyra-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
@media(max-width:760px){.pyramid-page{--pyra-card-w:min(11.8vw,43px)}.pyra-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.pyra-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.pyra-coach{grid-template-columns:1fr}.pyra-pyramid{min-height:auto}.pyra-table{padding:.65rem .35rem}.pyra-row{gap:2px}.pyra-stock-row{margin-top:.75rem}.pyra-stock-copy{min-width:96px;font-size:.82rem}}

.pyramid-page .game-guide>div>small,.pyramid-page .pyra-coach>div>small{display:block;margin-bottom:.32rem}.pyramid-page .game-guide>div>strong,.pyramid-page .pyra-coach>div>strong{display:block}
/* V0.95 Yacht Dice specialist */
.yacht-dice-page{padding-bottom:110px}.yacht-dice-page .gameheader h1 small{display:block;font-size:.5em;line-height:1.25;color:var(--muted);font-weight:750;margin-top:2px}.yd-flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.yd-flow-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:800;background:var(--card)}.yd-flow-tabs a.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.yd-day-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin:-4px 0 12px}.yd-day-nav button{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:6px 10px}.yd-shell{padding:16px}.yd-topline{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.yd-topline>div:first-child{display:grid;gap:3px}.yd-topline small{color:var(--muted)}.yd-state{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.yd-state span{border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:6px 9px;font-size:.78rem}.yd-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.yd-play{min-width:0;display:grid;gap:13px}.yd-dice{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-width:620px}.yd-die{aspect-ratio:1;border:1px solid var(--line);border-radius:18px;background:#fff;display:grid;place-items:center;align-content:center;gap:2px;box-shadow:0 5px 16px rgba(26,36,32,.06);cursor:pointer}.yd-die strong{font-size:clamp(1.8rem,5vw,3.1rem);line-height:1}.yd-die small{font-size:.62rem;color:var(--muted);font-weight:800}.yd-die.held{background:#eef6f1;outline:3px solid #456d61;outline-offset:-3px}.yd-die.hinted{box-shadow:0 0 0 4px #d79a18 inset}.yd-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:620px}.yd-actions .btn{width:100%}.yd-status{margin:0;min-height:48px;padding:11px 13px;border-radius:12px;background:var(--soft);color:var(--muted);line-height:1.45;max-width:620px}.yd-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:620px}.yd-summary>div{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.yd-summary small{display:block;color:var(--muted);font-size:.7rem}.yd-summary strong{font-size:1.2rem}.yd-score-head{display:flex;justify-content:space-between;gap:8px;align-items:end;margin-bottom:7px;font-weight:850}.yd-score-head small{font-size:.7rem;color:var(--muted);font-weight:600}.yd-scorecard{display:grid;gap:5px}.yd-score-row{min-width:0;width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;text-align:left;cursor:pointer}.yd-score-row span{font-size:.82rem;font-weight:750}.yd-score-row strong{font-size:.92rem}.yd-score-row.filled{background:var(--soft);color:var(--muted)}.yd-score-row.hinted{outline:3px solid #d79a18;outline-offset:-3px;background:#fff7db}.yd-stats{margin-top:12px}.yd-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:16px 0 24px}.yd-guide>div{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:15px}.yd-guide .eyebrow{display:block;margin-bottom:5px}.yd-guide h2{font-size:1rem;margin:0 0 7px}.yd-guide p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}
@media(max-width:760px){.yd-shell{padding:11px}.yd-topline{display:grid}.yd-state{justify-content:flex-start}.yd-layout{grid-template-columns:1fr}.yd-dice{gap:6px}.yd-die{border-radius:14px}.yd-die strong{font-size:2rem}.yd-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.yd-guide{grid-template-columns:1fr}.yd-scorecard{grid-template-columns:1fr 1fr}.yd-score-row{padding:8px}.yd-score-row span{font-size:.76rem}}
@media(max-width:390px){.yacht-dice-page{padding-inline:10px}.yd-actions{grid-template-columns:1fr 1fr}.yd-dice{gap:5px}.yd-die small{font-size:.55rem}.yd-scorecard{grid-template-columns:1fr 1fr}.yd-score-row span{font-size:.72rem}.yd-summary{gap:6px}}


/* V0.96 Binary Puzzle specialist */
.binary-puzzle-page{padding-bottom:56px}.bp-flow-tabs,.bp-day-nav,.bp-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.bp-flow-tabs a,.bp-options a,.bp-day-nav button{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:var(--card);font-weight:700;text-decoration:none;color:var(--text)}.bp-flow-tabs a.active,.bp-options a:hover{border-color:var(--text)}.bp-options>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.bp-options small{font-weight:800;margin-right:3px}.bp-shell{padding:18px}.bp-topline{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.bp-topline>div:first-child{display:grid;gap:4px}.bp-topline small{color:var(--muted)}.bp-state{display:flex;gap:8px;flex-wrap:wrap}.bp-state span{background:var(--soft);border-radius:999px;padding:7px 10px;font-size:13px}.bp-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:22px;align-items:start}.bp-board{--bp-n:8;display:grid;grid-template-columns:repeat(var(--bp-n),1fr);width:min(520px,100%);aspect-ratio:1;margin:auto;border:2px solid var(--text);background:var(--line);gap:1px}.bp-cell{appearance:none;border:0;border-radius:0;background:var(--card);font:800 clamp(14px,3.2vw,26px)/1 system-ui;color:var(--text);min-width:0;cursor:pointer}.bp-cell:hover:not(:disabled){background:var(--soft)}.bp-cell.given{background:var(--soft);color:var(--muted);cursor:default}.bp-cell.conflict{box-shadow:inset 0 0 0 2px #b42318}.bp-cell.hinted{box-shadow:inset 0 0 0 3px #8a6d1d}.bp-side{display:grid;gap:14px}.bp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bp-actions .btn{width:100%;padding-left:10px;padding-right:10px}.bp-facts{display:grid;gap:10px}.bp-facts div{padding:12px;border:1px solid var(--line);border-radius:14px;display:grid;gap:4px}.bp-facts small{color:var(--muted)}.bp-status{margin:14px auto 0;max-width:620px;color:var(--muted);line-height:1.55}.bp-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.bp-guide>div{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.bp-guide h2{font-size:18px;margin:6px 0}.bp-guide p{color:var(--muted);line-height:1.6;margin:0}.bp-stats{margin-top:16px}
@media(max-width:760px){.bp-layout{grid-template-columns:1fr}.bp-board{width:min(100%,326px)}.bp-side{width:100%}.bp-actions{grid-template-columns:repeat(2,1fr)}.bp-guide{grid-template-columns:1fr}.bp-topline{flex-direction:column}.bp-shell{padding:12px}}

/* V0.97 Futoshiki specialist */
.futoshiki-page{padding-bottom:56px}.ft-flow-tabs,.ft-day-nav,.ft-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.ft-flow-tabs a,.ft-options a,.ft-day-nav button{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:var(--card);font-weight:700;text-decoration:none;color:var(--text)}.ft-flow-tabs a.active,.ft-options a:hover{border-color:var(--text)}.ft-options>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.ft-options small{font-weight:800;margin-right:3px}.ft-shell{padding:18px}.ft-topline{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.ft-topline>div:first-child{display:grid;gap:4px}.ft-topline small{color:var(--muted)}.ft-state{display:flex;gap:8px;flex-wrap:wrap}.ft-state span{background:var(--soft);border-radius:999px;padding:7px 10px;font-size:13px}.ft-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:22px;align-items:start}.ft-play{min-width:0}.ft-board{--ft-n:5;display:grid;grid-template-columns:repeat(var(--ft-n),1fr);width:min(520px,100%);aspect-ratio:1;margin:auto;border:2px solid var(--text);background:var(--line);gap:1px;position:relative;overflow:visible}.ft-cell{appearance:none;border:0;border-radius:0;background:var(--card);font:800 clamp(16px,4vw,30px)/1 system-ui;color:var(--text);min-width:0;cursor:pointer;position:relative;z-index:1}.ft-cell:hover:not(:disabled),.ft-cell.selected{background:var(--soft)}.ft-cell.selected{box-shadow:inset 0 0 0 3px var(--text)}.ft-cell.given{background:#eef1ee;color:var(--text);cursor:default}.ft-cell.conflict{box-shadow:inset 0 0 0 2px #b42318}.ft-cell.hinted{box-shadow:inset 0 0 0 3px #8a6d1d}.ft-ineq{position:absolute;z-index:3;pointer-events:none;display:grid;place-items:center;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:999px;background:var(--paper);color:var(--text);font:900 17px/1 ui-monospace,monospace}.ft-ineq.vertical{transform:rotate(90deg)}.ft-pad{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:14px auto 0;max-width:520px}.ft-pad button{min-width:46px;min-height:44px;border:1px solid var(--line);border-radius:11px;background:var(--card);font-weight:850;font-size:1rem}.ft-pad button:hover{background:var(--soft)}.ft-pad .erase{min-width:72px;color:var(--muted)}.ft-side{display:grid;gap:14px}.ft-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ft-actions .btn{width:100%;padding-left:10px;padding-right:10px}.ft-facts{display:grid;gap:10px}.ft-facts div{padding:12px;border:1px solid var(--line);border-radius:14px;display:grid;gap:4px}.ft-facts small{color:var(--muted)}.ft-status{margin:14px auto 0;max-width:620px;color:var(--muted);line-height:1.55}.ft-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.ft-guide>div{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.ft-guide h2{font-size:18px;margin:6px 0}.ft-guide p{color:var(--muted);line-height:1.6;margin:0}.ft-stats{margin-top:16px}
@media(max-width:760px){.ft-layout{grid-template-columns:1fr}.ft-board{width:min(100%,326px)}.ft-side{width:100%}.ft-actions{grid-template-columns:repeat(2,1fr)}.ft-guide{grid-template-columns:1fr}.ft-topline{flex-direction:column}.ft-shell{padding:12px}.ft-pad button{min-width:42px}.ft-ineq{width:16px;height:16px;margin:-8px 0 0 -8px;font-size:15px}}
/* V0.98 Hitori specialist */
.hitori-page{padding-bottom:56px}.ht-flow-tabs,.ht-day-nav,.ht-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.ht-flow-tabs a,.ht-options a,.ht-day-nav button{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:var(--card);font-weight:700;text-decoration:none;color:var(--text)}.ht-flow-tabs a.active,.ht-options a:hover{border-color:var(--text)}.ht-options>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.ht-options small{font-weight:800;margin-right:3px}.ht-shell{padding:18px}.ht-topline{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.ht-topline>div:first-child{display:grid;gap:4px}.ht-topline small{color:var(--muted)}.ht-state{display:flex;gap:8px;flex-wrap:wrap}.ht-state span{background:var(--soft);border-radius:999px;padding:7px 10px;font-size:13px}.ht-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:22px;align-items:start}.ht-play{min-width:0}.ht-tools{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 auto 12px}.ht-tools button{min-height:42px;padding:8px 13px;border:1px solid var(--line);border-radius:11px;background:var(--card);font-weight:800;color:var(--text)}.ht-tools button.active{box-shadow:inset 0 0 0 2px var(--text);background:var(--soft)}.ht-tools b{margin-right:5px}.ht-board{--ht-n:5;display:grid;grid-template-columns:repeat(var(--ht-n),1fr);width:min(520px,100%);aspect-ratio:1;margin:auto;border:2px solid var(--text);background:var(--line);gap:1px}.ht-cell{appearance:none;border:0;border-radius:0;background:var(--card);font:800 clamp(16px,4vw,29px)/1 system-ui;color:var(--text);min-width:0;cursor:pointer;position:relative}.ht-cell:hover{background:var(--soft)}.ht-cell.shaded{background:#242724;color:#fff}.ht-cell.shaded span{opacity:.18}.ht-cell.kept i{position:absolute;inset:18%;border:2px solid currentColor;border-radius:50%;pointer-events:none}.ht-cell.conflict{box-shadow:inset 0 0 0 3px #b42318}.ht-cell.hinted{box-shadow:inset 0 0 0 3px #8a6d1d}.ht-side{display:grid;gap:14px}.ht-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ht-actions .btn{width:100%;padding-left:10px;padding-right:10px}.ht-facts{display:grid;gap:10px}.ht-facts div{padding:12px;border:1px solid var(--line);border-radius:14px;display:grid;gap:4px}.ht-facts small{color:var(--muted)}.ht-status{margin:14px auto 0;max-width:620px;color:var(--muted);line-height:1.55}.ht-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.ht-guide>div{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.ht-guide h2{font-size:18px;margin:6px 0}.ht-guide p{color:var(--muted);line-height:1.6;margin:0}.ht-stats{margin-top:16px}
@media(max-width:760px){.ht-layout{grid-template-columns:1fr}.ht-board{width:min(100%,326px)}.ht-side{width:100%}.ht-actions{grid-template-columns:repeat(2,1fr)}.ht-guide{grid-template-columns:1fr}.ht-topline{flex-direction:column}.ht-shell{padding:12px}.ht-tools button{flex:1;min-width:92px}.ht-cell.kept i{inset:16%}}
/* V0.99 Skyscrapers specialist */
.skyscrapers-page .ss-flow-tabs,.skyscrapers-page .ss-day-nav,.skyscrapers-page .ss-options{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}.ss-flow-tabs a,.ss-options a,.ss-day-nav button{border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:var(--card);text-decoration:none;color:inherit}.ss-flow-tabs a.active{font-weight:800;border-color:currentColor}.ss-options>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.ss-options small{font-weight:800;margin-right:4px}.ss-shell{padding:18px}.ss-topline,.ss-state{display:flex;justify-content:space-between;gap:12px;align-items:center}.ss-topline small{display:block;margin-top:3px}.ss-state{justify-content:flex-end;flex-wrap:wrap}.ss-state span{border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:.84rem}.ss-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px;align-items:start;margin-top:16px}.ss-play{min-width:0}.ss-city{width:min(100%,520px);margin:0 auto;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;grid-template-rows:34px minmax(0,1fr) 34px;gap:4px;align-items:stretch}.ss-board{display:grid;grid-template-columns:repeat(var(--ss-n),1fr);aspect-ratio:1;border:2px solid var(--ink);border-radius:10px;overflow:hidden;background:var(--line)}.ss-cell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);min-width:0;min-height:0;font:inherit;font-size:clamp(1rem,3.4vw,1.65rem);font-weight:750;cursor:pointer;position:relative}.ss-cell.given{background:var(--soft);font-weight:900;cursor:default}.ss-cell.selected{outline:3px solid currentColor;outline-offset:-3px}.ss-cell.hinted{box-shadow:inset 0 0 0 3px currentColor}.ss-cell.conflict{background:color-mix(in srgb,#ef4444 15%,var(--card))}.ss-cell.line-focus:not(.conflict){background:color-mix(in srgb,currentColor 7%,var(--card))}.ss-cell small{font-size:.56rem;line-height:1.15;font-weight:650;letter-spacing:.04em;word-spacing:.1em;display:block;padding:3px}.ss-edge{display:grid;gap:1px}.ss-top,.ss-bottom{grid-template-columns:repeat(var(--ss-n),1fr)}.ss-left,.ss-right{grid-template-rows:repeat(var(--ss-n),1fr)}.ss-clue{border:0;background:transparent;font:inherit;font-weight:850;color:var(--ink);border-radius:7px;min-width:0;min-height:0;padding:0;cursor:pointer}.ss-clue.empty{cursor:default}.ss-clue.active{background:var(--soft)}.ss-clue.conflict{background:color-mix(in srgb,#ef4444 18%,transparent);color:#b91c1c}.ss-pad{width:min(100%,520px);margin:12px auto 0;display:grid;grid-template-columns:repeat(7,minmax(42px,1fr));gap:7px}.ss-pad button{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--card);font:inherit;font-weight:800}.ss-pad .erase{grid-column:auto/span 2}.ss-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ss-actions .active{outline:2px solid currentColor}.ss-facts{display:grid;gap:10px;margin-top:14px}.ss-facts div{border-top:1px solid var(--line);padding-top:10px}.ss-facts small,.ss-facts strong{display:block}.ss-status{text-align:center;min-height:2.8em;margin:12px auto 0;max-width:620px}.ss-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.ss-guide>div{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--card)}.ss-guide h2{font-size:1.05rem;margin:5px 0 8px}.ss-guide p{margin:0}.ss-stats{margin-top:14px}
@media(max-width:760px){.ss-layout{grid-template-columns:1fr}.ss-side{display:flex;flex-direction:column}.ss-city{width:min(100%,360px);grid-template-columns:28px minmax(0,1fr) 28px;grid-template-rows:28px minmax(0,1fr) 28px;gap:3px}.ss-pad{width:min(100%,360px);grid-template-columns:repeat(5,minmax(44px,1fr))}.ss-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-guide{grid-template-columns:1fr}.ss-topline{align-items:flex-start}.ss-state{max-width:45%}}
/* V0.100 Slitherlink specialist */
.slitherlink-page{padding-bottom:56px}.sl-flow-tabs,.sl-day-nav,.sl-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.sl-flow-tabs a,.sl-options a,.sl-day-nav button{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:var(--card);font-weight:700;text-decoration:none;color:var(--text)}.sl-flow-tabs a.active{font-weight:850;border-color:var(--text)}.sl-options>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.sl-options small{font-weight:800;margin-right:3px}.sl-shell{padding:18px}.sl-topline{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.sl-topline>div:first-child{display:grid;gap:4px}.sl-topline small{color:var(--muted)}.sl-state{display:flex;gap:8px;flex-wrap:wrap}.sl-state span{background:var(--soft);border-radius:999px;padding:7px 10px;font-size:13px}.sl-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:22px;align-items:start}.sl-play{min-width:0}.sl-tools{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 auto 12px}.sl-tools button{min-height:42px;padding:8px 13px;border:1px solid var(--line);border-radius:11px;background:var(--card);font-weight:800;color:var(--text)}.sl-tools button.active{box-shadow:inset 0 0 0 2px var(--text);background:var(--soft)}.sl-tools b{margin-right:5px}.sl-board{position:relative;width:min(520px,100%);aspect-ratio:1;margin:auto;background:var(--card);border-radius:16px;padding:10px;box-sizing:border-box;overflow:hidden;touch-action:manipulation}.sl-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--text);transform:translate(-50%,-50%);z-index:4;pointer-events:none}.sl-clue{position:absolute;transform:translate(-50%,-50%);z-index:2;display:grid;place-items:center;width:clamp(22px,8%,34px);height:clamp(22px,8%,34px);font:850 clamp(14px,3.5vw,22px)/1 system-ui;color:var(--text);pointer-events:none}.sl-clue.conflict{color:#b42318;background:color-mix(in srgb,#ef4444 12%,transparent);border-radius:8px}.sl-edge{appearance:none;position:absolute;border:0;background:transparent;z-index:3;padding:0;cursor:pointer;border-radius:8px}.sl-edge.horizontal{transform:translateY(-50%)}.sl-edge.vertical{transform:translateX(-50%)}.sl-edge::before{content:"";position:absolute;background:var(--line);border-radius:999px;opacity:.48}.sl-edge.horizontal::before{left:10%;right:10%;top:50%;height:3px;transform:translateY(-50%)}.sl-edge.vertical::before{top:10%;bottom:10%;left:50%;width:3px;transform:translateX(-50%)}.sl-edge.line::before{background:var(--text);opacity:1}.sl-edge.line.horizontal::before{height:5px}.sl-edge.line.vertical::before{width:5px}.sl-edge.cross::after{content:"×";position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);font:800 17px/1 system-ui;color:var(--muted);background:var(--card);padding:0 2px}.sl-edge.conflict::before{background:#b42318!important;opacity:1}.sl-edge.hinted{outline:3px solid #8a6d1d;outline-offset:-2px}.sl-side{display:grid;gap:14px}.sl-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sl-actions .btn{width:100%;padding-left:10px;padding-right:10px}.sl-facts{display:grid;gap:10px}.sl-facts div{padding:12px;border:1px solid var(--line);border-radius:14px;display:grid;gap:4px}.sl-facts small{color:var(--muted)}.sl-status{margin:14px auto 0;max-width:640px;color:var(--muted);line-height:1.55;text-align:center}.sl-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.sl-guide>div{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.sl-guide h2{font-size:18px;margin:6px 0}.sl-guide p{color:var(--muted);line-height:1.6;margin:0}.sl-stats{margin-top:16px}
@media(max-width:760px){.sl-layout{grid-template-columns:1fr}.sl-board{width:min(100%,326px);padding:8px}.sl-side{width:100%}.sl-actions{grid-template-columns:repeat(2,1fr)}.sl-guide{grid-template-columns:1fr}.sl-topline{flex-direction:column}.sl-shell{padding:12px}.sl-tools button{flex:1;min-width:86px}.sl-dot{width:7px;height:7px}.sl-edge.cross::after{font-size:15px}}
/* V0.101 Light Up / Akari specialist */
.ak-flow-tabs,.ak-day-nav,.ak-options,.ak-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ak-flow-tabs{margin:14px 0}.ak-flow-tabs a,.ak-options a,.ak-tools button{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:var(--card);color:var(--text);font-weight:700;text-decoration:none}.ak-flow-tabs a.active,.ak-tools button.active{background:var(--ink,#171717);color:#fff}.ak-day-nav{justify-content:center;margin:10px 0}.ak-options{justify-content:space-between;margin:12px 0}.ak-options>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.ak-shell{padding:18px}.ak-topline{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.ak-state{display:flex;gap:8px}.ak-state span{border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:.8rem;font-weight:800}.ak-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:22px;align-items:start}.ak-tools{justify-content:center;margin-bottom:12px}.ak-board{--ak-n:6;width:min(100%,520px);aspect-ratio:1;margin:auto;display:grid;grid-template-columns:repeat(var(--ak-n),1fr);border:2px solid var(--text);border-radius:12px;overflow:hidden;background:var(--line);gap:1px}.ak-cell{min-width:0;min-height:0;border:0;border-radius:0;display:grid;place-items:center;font:800 clamp(.78rem,3.8vw,1.25rem)/1 system-ui;position:relative}.ak-cell.white{background:var(--card);color:var(--text);cursor:pointer}.ak-cell.white.lit{background:#fff4bf}.ak-cell.white.bulb{background:#ffe477}.ak-cell.white.crossed{color:var(--muted);font-size:1.5rem}.ak-cell.wall{background:#27272a;color:#fff}.ak-cell.conflict{box-shadow:inset 0 0 0 3px #d33}.ak-cell.hinted{box-shadow:inset 0 0 0 3px #5b7cff}.ak-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ak-status{min-height:2.8em;text-align:center;margin:12px 0 0;color:var(--muted)}.ak-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.ak-guide>div{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--card)}.ak-guide h2{font-size:1rem;margin:5px 0}.ak-guide p{margin:0;color:var(--muted)}@media(max-width:760px){.ak-layout{grid-template-columns:1fr}.ak-actions{grid-template-columns:repeat(3,1fr)}.ak-board{width:min(100%,326px)}.ak-guide{grid-template-columns:1fr}.ak-topline{flex-direction:column}.ak-options{justify-content:flex-start}}

.featured-practice-links{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-top:1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.featured-practice-links strong{margin-right:.25rem}.featured-practice-links a{display:inline-flex;align-items:center;min-height:38px;padding:.45rem .7rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:700;background:var(--surface-2)}
/* V0.144 Typing curriculum + Custom Text deepening */
.typing-flow-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.typing-mastery-overview .typing-insight-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.typing-lesson-setup,.typing-custom-setup{display:grid;gap:14px}
.typing-lesson-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.typing-lesson-head p{margin:4px 0 0;color:var(--muted);max-width:720px}
.typing-lesson-progress{min-width:110px;border:1px solid var(--line);border-radius:14px;background:var(--soft);padding:10px 12px;text-align:center}
.typing-lesson-progress small,.typing-lesson-progress strong{display:block}.typing-lesson-progress small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.typing-lesson-progress strong{font-size:1.15rem;margin-top:3px}
#typingLessonGroups{display:grid;gap:14px}
.typing-lesson-group{display:grid;gap:8px}
.typing-lesson-stage{display:flex;gap:10px;align-items:baseline;justify-content:space-between}
.typing-lesson-stage span{color:var(--muted);font-size:.78rem;text-align:right}
.typing-lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.typing-lesson-card{display:grid;gap:4px;text-align:left;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:13px;padding:11px;cursor:pointer;min-height:86px}
.typing-lesson-card small{color:var(--muted);font-size:.65rem;font-weight:900;letter-spacing:.06em}.typing-lesson-card strong{font-size:.9rem}.typing-lesson-card span{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.typing-lesson-card.active{outline:2px solid var(--text);outline-offset:1px}.typing-lesson-card.mastered{box-shadow:inset 0 -3px 0 var(--text)}
.typing-lesson-detail-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.typing-lesson-detail-row small,.typing-lesson-detail-row strong{display:block}.typing-lesson-detail-row small{color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.07em}.typing-lesson-detail-row strong{margin-top:4px}
.typing-custom-setup label{display:grid;gap:5px}.typing-custom-setup label small{color:var(--muted);line-height:1.45}.typing-custom-setup textarea{width:100%;min-height:150px;resize:vertical;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text);font:inherit;line-height:1.55;padding:13px}.typing-custom-setup textarea:focus{outline:2px solid var(--text);outline-offset:2px}.typing-custom-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.75rem}
.typing-lesson-result{display:grid;gap:4px;border:1px solid var(--line);border-radius:14px;background:var(--soft);padding:12px;margin:12px 0}.typing-lesson-result small{color:var(--muted);font-weight:900;letter-spacing:.07em}.typing-lesson-result span,.typing-custom-privacy{color:var(--muted)}.typing-lesson-result.mastered{box-shadow:inset 4px 0 0 var(--text)}
@media(max-width:900px){.typing-mastery-overview .typing-insight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.typing-flow-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-mastery-overview .typing-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-lesson-head,.typing-lesson-stage,.typing-custom-meta{align-items:flex-start;flex-direction:column}.typing-lesson-stage span{text-align:left}.typing-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-lesson-detail-row{grid-template-columns:1fr}}
@media(max-width:420px){.typing-lesson-grid{grid-template-columns:1fr}.typing-mastery-overview .typing-insight-grid{grid-template-columns:1fr 1fr}}
/* V0.145 Geography typed recall */
.geo-recall-mode .gamepage{max-width:980px}.recall-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;margin-bottom:16px}.recall-head>div>small,.recall-card>small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em}.recall-head h2{margin:4px 0 5px;font-size:clamp(25px,4vw,34px);letter-spacing:-.04em}.recall-head p{max-width:610px;margin:0;color:var(--muted);line-height:1.55}.recall-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--card),var(--soft))}.geo-recall-mode .recall-card .question{min-height:88px;margin:7px 0 13px;display:grid;place-items:center;text-align:center;font-size:clamp(25px,5vw,36px);line-height:1.16}.geo-recall-mode .country-entry{margin-bottom:11px;background:var(--card)}.geo-recall-mode .status{margin-top:8px}.geo-recall-mode .map-alt{text-align:center}
@media(max-width:760px){.recall-head{grid-template-columns:1fr;gap:10px}.geo-recall-mode .panel{padding:14px}.recall-card{padding:14px}.geo-recall-mode .recall-card .question{min-height:72px}.recall-head .map-kpis{grid-template-columns:1fr 1fr}}
/* V0.146 Minesweeper Pattern & Efficiency Academy */
.pattern-curriculum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}.pattern-track-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:14px;color:inherit}.pattern-track-card:hover,.pattern-track-card:focus-visible{border-color:var(--ink);transform:translateY(-1px)}.pattern-track-card small{font-size:.72rem;letter-spacing:.06em}.pattern-track-card strong{font-size:1rem}.pattern-track-card span{font-size:.82rem;color:var(--muted);line-height:1.35}.pattern-library{margin:0 0 14px;border:1px solid var(--line);border-radius:14px;padding:14px;background:color-mix(in srgb,var(--card) 84%,var(--bg))}.pattern-library>div{display:grid;gap:5px}.pattern-library small{font-size:.72rem;letter-spacing:.06em}.pattern-library strong{font-size:1rem}.pattern-library span{color:var(--muted);line-height:1.5}.efficiency-hero{display:grid;gap:6px;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px;background:var(--card)}.efficiency-hero small{font-size:.72rem;letter-spacing:.07em}.efficiency-hero strong{font-size:1.15rem}.efficiency-hero span{color:var(--muted);line-height:1.45}.efficiency-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.efficiency-card{border:1px solid var(--line);border-radius:16px;padding:15px;background:var(--card)}.efficiency-card h3{margin:.2rem 0 .8rem}.efficiency-card dl{margin:0;display:grid;gap:7px}.efficiency-card dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:6px}.efficiency-card dt{color:var(--muted);font-size:.84rem}.efficiency-card dd{margin:0;font-weight:700}.efficiency-card .cta{margin-top:12px}.efficiency-notes{margin-top:18px}.mines-flow-tabs{flex-wrap:wrap}@media(max-width:760px){.pattern-curriculum,.efficiency-grid{grid-template-columns:1fr}.pattern-track-card{min-height:0}.efficiency-card dl div{font-size:.92rem}}

/* V0.147 Sudoku Technique Academy */
.sudoku-academy-panel .mastery-tabs{margin:12px 0 14px}.sudoku-academy-panel .mastery-meta strong{max-width:160px}.sudoku-academy-panel #academyNext{white-space:normal;line-height:1.15}.sudoku-academy-panel .mastery-brief{margin-bottom:12px}
@media(max-width:640px){.sudoku-academy-panel .mastery-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.sudoku-academy-panel .mastery-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V0.150 Kana Mastery */
.km-shell{display:grid;gap:18px}.km-overview{display:grid;grid-template-columns:1fr 1.25fr;gap:14px}.km-summary,.km-recommend,.km-stage{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:18px}.km-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.km-summary div{display:grid;gap:3px}.km-summary small,.km-recommend small{font-size:.72rem;letter-spacing:.08em;color:var(--muted)}.km-summary strong{font-size:1.35rem}.km-recommend{display:grid;align-content:center;gap:7px}.km-recommend strong{font-size:1.05rem}.km-recommend p{margin:0;color:var(--muted)}.km-recommend .btn{justify-self:start}.km-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.km-scope-card{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:13px 14px;text-decoration:none;background:var(--card)}.km-scope-card span{display:grid;gap:3px}.km-scope-card small{color:var(--muted)}.km-scope-card i{font-style:normal;font-weight:800}.km-scope-card.active{outline:2px solid currentColor;outline-offset:1px}.km-scope-card.mastered i{font-size:1.2rem}.km-stage{display:grid;gap:15px}.km-step-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.km-step-nav a{display:grid;gap:2px;border:1px solid var(--line);border-radius:12px;padding:10px;text-decoration:none}.km-step-nav a span{font-size:.72rem;color:var(--muted)}.km-step-nav a small{font-size:.7rem;color:var(--muted)}.km-step-nav a.active{outline:2px solid currentColor;outline-offset:1px}.km-step-nav a.passed small{font-weight:800}.km-study-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.km-study-list li{display:flex;justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:10px}.km-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.km-pair-grid article{border:1px solid var(--line);border-radius:12px;padding:11px;display:grid;gap:4px}.km-pair-grid article strong{font-size:1.15rem}.km-pair-grid article span{font-size:.86rem;color:var(--muted)}.km-question{display:grid;gap:12px;text-align:center}.km-question>small{letter-spacing:.08em;color:var(--muted)}.km-pair-label{font-size:1.65rem;font-weight:800}.km-pair-note{margin:0;color:var(--muted)}.km-transfer{border-top:1px solid var(--line);padding-top:14px}.km-transfer p{color:var(--muted)}.kana-choices.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:360px;margin-inline:auto}
@media(max-width:760px){.km-overview{grid-template-columns:1fr}.km-summary{grid-template-columns:repeat(3,1fr)}.km-scope-grid{grid-template-columns:1fr}.km-step-nav{grid-template-columns:1fr 1fr}.km-study-list{grid-template-columns:1fr 1fr}.km-pair-grid{grid-template-columns:1fr}}

/* V0.151 Japanese Vocabulary Mastery */
.vm-academy{display:grid;gap:18px;margin-top:18px}.vm-academy[hidden]{display:none}.vm-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:18px;align-items:start;padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--card)}.vm-hero h2{margin:5px 0 8px}.vm-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vm-summary span{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.vm-summary strong{font-size:1.15rem}.vm-recommend{padding:15px 18px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.vm-recommend strong{display:block;margin:4px 0}.vm-recommend p{margin:0;color:var(--muted)}.vm-themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.vm-theme-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-decoration:none;color:inherit}.vm-theme-card small{display:block;color:var(--muted);margin-top:3px}.vm-theme-card i{font-style:normal;font-weight:800}.vm-theme-card.active{outline:2px solid currentColor;outline-offset:1px}.vm-theme-card.mastered i{font-size:1.15rem}.vm-work{display:grid;grid-template-columns:minmax(250px,.42fr) minmax(0,1fr);gap:16px}.vm-steps{display:grid;gap:8px}.vm-steps a{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit}.vm-steps a>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--bg);font-weight:800}.vm-steps small{color:var(--muted)}.vm-steps a.active{outline:2px solid currentColor;outline-offset:1px}.vm-steps a.passed small{font-weight:700}.vm-stage{min-height:390px}.vm-study-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.vm-study-list article{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.vm-study-list strong{font-size:1.2rem;margin-right:8px}.vm-study-list span{color:var(--muted)}.vm-study-list p{margin:3px 0 0}.vm-question{display:grid;gap:14px;padding-top:12px}.vm-meaning{font-size:clamp(1.5rem,4vw,2.4rem);font-weight:800;line-height:1.2}.vm-word-choice{display:grid!important;gap:2px}.vm-word-choice span{font-size:.86rem;color:var(--muted)}
@media(max-width:780px){.vm-hero,.vm-work{grid-template-columns:1fr}.vm-themes{grid-template-columns:1fr 1fr}.vm-study-list{grid-template-columns:1fr}.vm-summary{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.vm-themes{grid-template-columns:1fr}.vm-summary{grid-template-columns:1fr 1fr}}

/* V0.152 Kanji Mastery */
#kanjiMasteryAcademy .vm-study-list strong{font-size:2rem;line-height:1}#kanjiMasteryAcademy .vocab-choice strong{font-size:1.8rem}#kanjiMasteryAcademy .vm-themes{align-items:stretch}

/* V0.154 Nonogram Logic Coach */
.nonogram-logic-academy{display:grid;gap:18px}.nonogram-logic-academy[hidden]{display:none!important}.nl-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.nl-top h2{margin:.2rem 0 .45rem}.nl-top p{max-width:72ch;margin:0;color:var(--muted)}.nl-summary{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(150px,.7fr) minmax(260px,1.6fr);gap:10px}.nl-summary>div{border:1px solid var(--line);border-radius:16px;padding:13px 14px;background:var(--soft)}.nl-summary small,.nl-source-meta small{display:block;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nl-summary strong{display:block;margin-top:4px}.nl-recommend #nlRecommendation{display:grid;gap:3px}.nl-recommend span{color:var(--muted);font-size:.88rem;line-height:1.35}.nl-track-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.nl-track-nav a,.nl-step-nav a{border:1px solid var(--line);border-radius:14px;padding:10px 11px;text-decoration:none;color:inherit;background:var(--soft)}.nl-track-nav a{display:grid;gap:3px;min-width:0}.nl-track-nav span{color:var(--muted);font-size:.78rem}.nl-track-nav a.active,.nl-step-nav a.active{outline:2px solid var(--accent);outline-offset:1px}.nl-step-nav{display:flex;flex-wrap:wrap;gap:8px}.nl-step-nav a{font-weight:750;font-size:.88rem}.nl-stage{min-height:280px;border-top:1px solid var(--line);padding-top:18px}.nl-study,.nl-result{max-width:760px;margin:0 auto}.nl-study h2,.nl-result h2,.nl-session-head h2{margin:.3rem 0 .55rem}.nl-study p,.nl-study li,.nl-result p{color:var(--muted);line-height:1.55}.nl-session-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.nl-session-head p{margin:.2rem 0 0;color:var(--muted)}.nl-score{display:grid;text-align:right}.nl-score strong{font-size:1.15rem}.nl-score span{color:var(--muted);font-size:.82rem}.nl-exercise{display:grid;gap:14px}.nl-source-meta{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.nl-source-meta>span{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--soft)}.nl-source-meta strong{display:block;margin-top:3px}.nl-line{display:grid;grid-template-columns:repeat(var(--nl-cells),minmax(30px,46px));justify-content:center;gap:4px;padding:14px 6px;overflow-x:auto}.nl-cell{width:100%;aspect-ratio:1;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;font-weight:900;min-width:30px}.nl-cell.unknown{background:var(--soft);cursor:pointer}.nl-cell.known{background:var(--bg)}.nl-cell.known.fill,.nl-tool-fill{background:currentColor}.nl-cell.known.cross{font-size:1.25rem}.nl-cell.hinted{outline:3px solid var(--accent);outline-offset:2px}.nl-tools{display:flex;justify-content:center;gap:8px}.nl-tools button{min-width:110px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:var(--soft);color:inherit;font-weight:800}.nl-tools button.active{outline:2px solid var(--accent);outline-offset:1px}.nl-tool-fill{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px;vertical-align:-1px}.nl-feedback{min-height:54px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--soft);line-height:1.45}.nl-actions,.nl-result-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.nl-boundary{border-top:1px solid var(--line);padding-top:14px}.nl-boundary p{margin:.3rem 0 0;color:var(--muted);line-height:1.45}.nl-sprint-clock{text-align:center;font-size:1.25rem;font-weight:900;margin-bottom:10px}
@media(max-width:760px){.nl-top{display:grid}.nl-top .btn{width:100%;text-align:center}.nl-summary{grid-template-columns:1fr 1fr}.nl-recommend{grid-column:1/-1}.nl-track-nav{grid-template-columns:1fr 1fr}.nl-track-nav a:last-child{grid-column:1/-1}.nl-step-nav{display:grid;grid-template-columns:1fr 1fr}.nl-session-head{display:grid}.nl-score{text-align:left;display:flex;gap:10px;align-items:baseline}.nl-source-meta{grid-template-columns:1fr 1fr}.nl-source-meta>span:first-child{grid-column:1/-1}.nl-line{justify-content:start}.nl-cell{min-width:34px}.nl-tools{position:sticky;bottom:74px;z-index:5;background:var(--card);padding:8px;border-radius:14px;border:1px solid var(--line)}}

/* V0.155 2048 Strategy Coach */
.g2048-strategy-academy{margin-top:8px}.g2048-strategy-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.g2048-strategy-summary>div{display:grid;gap:2px;border:1px solid var(--line);border-radius:13px;background:var(--card);padding:10px 12px}.g2048-strategy-summary small{font-size:8px;font-weight:900;letter-spacing:.06em;color:var(--muted)}.g2048-strategy-summary strong{font-size:15px}.g2048-strategy-summary span{font-size:9px;color:var(--muted);line-height:1.35}.g2048-strategy-tracks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:8px}.g2048-strategy-tracks a,.g2048-strategy-steps a{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:9px;color:var(--text);text-decoration:none;text-align:center}.g2048-strategy-tracks a.active,.g2048-strategy-steps a.active{background:#edf3ee;border-color:#9eb7a5}.g2048-strategy-tracks strong,.g2048-strategy-tracks span{display:block}.g2048-strategy-tracks strong{font-size:10px}.g2048-strategy-tracks span{margin-top:2px;font-size:8px;color:var(--muted)}.g2048-strategy-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:10px}.g2048-strategy-steps a{font-size:10px;font-weight:850}.g2048-strategy-stage{max-width:820px;margin:0 auto}.g2048-study>small,.g2048-lab>small{font-size:8px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.g2048-study h2,.g2048-lab h2{margin:4px 0 6px}.g2048-study>p,.g2048-lab>p{color:var(--muted);line-height:1.55}.g2048-strategy-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:min(100%,430px);aspect-ratio:1;margin:14px auto;padding:8px;border-radius:17px;background:#b7afa4}.g2048-strategy-cell{display:grid;place-items:center;min-width:0;min-height:0;border:0;border-radius:9px;background:rgba(238,228,218,.52);padding:0;overflow:hidden}.g2048-strategy-cell .g2048-tile{font-size:clamp(19px,7vw,38px)}button.g2048-strategy-cell{cursor:pointer}.g2048-study-callout,.g2048-hint{margin:12px 0;border:1px solid var(--line);border-radius:13px;background:var(--soft);padding:11px 13px}.g2048-study-callout strong,.g2048-hint strong{display:block}.g2048-study-callout p,.g2048-hint p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.g2048-score-table{display:grid;gap:6px;margin:10px 0 14px}.g2048-score-row{display:grid;grid-template-columns:1.1fr repeat(5,minmax(0,1fr));gap:5px;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:8px 9px;font-size:9px}.g2048-score-row.best{border-color:#87a88f;background:#edf3ee}.g2048-score-row strong{font-size:10px}.g2048-task-head{display:grid;grid-template-columns:1fr 1fr;gap:8px}.g2048-task-head>span{display:grid;border:1px solid var(--line);border-radius:11px;background:var(--soft);padding:8px 10px}.g2048-task-head small{font-size:8px;color:var(--muted);font-weight:900}.g2048-task-head strong{font-size:13px}.g2048-question{text-align:center;font-weight:750;line-height:1.45}.g2048-answer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.g2048-answer-grid button{min-height:46px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text);font:inherit;font-weight:900;cursor:pointer}.g2048-answer-grid button:hover{background:var(--soft)}.g2048-answer-grid button:disabled{opacity:.28;cursor:not-allowed}.g2048-answer-grid button.wrong{border-color:#c98f8f;background:#fff1f1}.g2048-task-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:10px 0}.g2048-strategy-result{text-align:center}.g2048-lab .g2048-strategy-board.editable .g2048-tile{font-size:clamp(16px,6vw,34px)}
@media(max-width:760px){.g2048-strategy-summary{grid-template-columns:1fr}.g2048-strategy-tracks{grid-template-columns:1fr 1fr}.g2048-strategy-tracks a:last-child{grid-column:1/-1}.g2048-strategy-steps{grid-template-columns:repeat(3,1fr)}.g2048-score-row{grid-template-columns:1fr 1fr 1fr;font-size:8px}.g2048-answer-grid{grid-template-columns:1fr 1fr}.g2048-strategy-board{width:min(100%,390px)}}
@media(max-width:420px){.g2048-strategy-stage{padding-left:9px;padding-right:9px}.g2048-strategy-board{gap:5px;padding:6px}.g2048-strategy-cell,.g2048-strategy-cell .g2048-tile{border-radius:7px}}
@media(forced-colors:active){.g2048-strategy-tracks a.active,.g2048-strategy-steps a.active,.g2048-score-row.best{background:Highlight!important;color:HighlightText!important;border-color:Highlight!important;forced-color-adjust:none}.g2048-strategy-cell{border:1px solid CanvasText}}
/* V0.156 Klondike Solitaire authority */
.kl-authority-strip{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:-2px 0 10px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--surface,#fff) 88%,#16a34a 12%);border:1px solid color-mix(in srgb,var(--line) 70%,#16a34a 30%)}.kl-authority-strip>span{font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:5px 8px;border-radius:999px;background:#dcfce7;color:#166534}.kl-authority-strip>span.random{background:#eef2f7;color:#475569}.kl-authority-strip p{margin:0;flex:1;min-width:240px;font-size:12px;color:var(--muted)}
.kl-settings-panel{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:11px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff)}.kl-settings-panel[hidden]{display:none!important}.kl-settings-panel>div{display:flex;gap:14px;flex-wrap:wrap}.kl-settings-panel label{display:grid;gap:5px;font-size:12px;font-weight:700}.kl-settings-panel label:has(input){display:flex;align-items:center;gap:6px}.kl-settings-panel select{min-width:150px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface,#fff);color:inherit}.kl-settings-panel p{font-size:11px;color:var(--muted);margin:2px 0;max-width:260px}
.kl-calendar{border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:0 0 10px;background:var(--surface,#fff)}.kl-calendar[hidden]{display:none!important}.kl-calendar-head{display:flex;justify-content:space-between;align-items:center}.kl-calendar-head button{width:34px;height:30px;border:1px solid var(--line);border-radius:8px;background:transparent;color:inherit}.kl-calendar-week,.kl-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.kl-calendar-week{margin:8px 0 4px}.kl-calendar-week span{text-align:center;font-size:10px;color:var(--muted);font-weight:800}.kl-calendar-grid button,.kl-calendar-grid>span{min-height:34px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;position:relative}.kl-calendar-grid button:hover:not(:disabled){background:color-mix(in srgb,var(--surface,#fff) 80%,#2563eb 20%)}.kl-calendar-grid button.current{border-color:#2563eb;font-weight:900}.kl-calendar-grid button.won{background:#dcfce7;color:#166534}.kl-calendar-grid button.assisted{background:#fef3c7;color:#92400e}.kl-calendar-grid button:disabled{opacity:.3}.kl-calendar-grid i{position:absolute;right:4px;bottom:2px;font-size:9px;font-style:normal}.kl-calendar p{margin:7px 0 0;font-size:10px;color:var(--muted)}.kl-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:2px}.kl-dot.won{background:#22c55e}.kl-dot.assisted{background:#f59e0b}
.kl-move-coach{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--line) 65%,#f59e0b 35%);border-radius:14px;background:color-mix(in srgb,var(--surface,#fff) 92%,#f59e0b 8%)}.kl-move-coach small{font-size:10px;font-weight:900;letter-spacing:.08em;color:#a16207}.kl-move-coach strong{display:block;margin-top:2px}.kl-move-coach p{margin:4px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}.kl-move-coach>span{white-space:nowrap;font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:var(--surface,#fff);border:1px solid var(--line)}
.kl-performance{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px}.kl-performance>div:first-child{min-width:175px}.kl-performance small{font-size:10px;color:var(--muted);font-weight:800}.kl-performance-grid{flex:1;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.kl-performance-grid span{display:grid;gap:3px}.kl-performance-grid strong{font-size:16px}.kl-guide-authority{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kl-guide-authority>div{min-height:150px}
.kl-panel:fullscreen{overflow:auto;padding:22px;background:var(--bg,#f7f8fb)}.kl-panel:fullscreen .kl-table{max-width:1100px}
body[data-kl-theme="green"] .kl-panel{--kl-felt:#eaf7ef}body[data-kl-theme="midnight"] .kl-panel{--kl-felt:#e8eef8}body[data-kl-theme="slate"] .kl-panel{--kl-felt:#eef1f4}body[data-kl-theme="sand"] .kl-panel{--kl-felt:#faf3e7}.kl-table{padding:12px;border-radius:16px;background:var(--kl-felt,#eaf7ef);box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)}
body[data-kl-back="navy"] .kl-card.down,body[data-kl-back="navy"] .kl-stock{background:linear-gradient(135deg,#20324d,#385d8c)}body[data-kl-back="ruby"] .kl-card.down,body[data-kl-back="ruby"] .kl-stock{background:repeating-linear-gradient(45deg,#8b1e2d 0 8px,#b52d45 8px 16px)}body[data-kl-back="forest"] .kl-card.down,body[data-kl-back="forest"] .kl-stock{background:linear-gradient(135deg,#14532d,#2f855a)}body[data-kl-back="mono"] .kl-card.down,body[data-kl-back="mono"] .kl-stock{background:repeating-linear-gradient(135deg,#334155 0 6px,#64748b 6px 12px)}
.kl-large-cards .kl-table{max-width:1040px}.kl-large-cards .kl-slot,.kl-large-cards .kl-card{width:88px;height:116px}.kl-large-cards .kl-card{max-width:88px}.kl-reduced-motion .kl-card,.kl-reduced-motion .kl-slot,.kl-reduced-motion .btn,.kl-reduced-motion .tool-btn{transition:none!important;animation:none!important}
@media(max-width:760px){.kl-authority-strip{padding:7px 8px}.kl-authority-strip p{min-width:180px}.kl-authority-strip .btn{padding:6px 8px;font-size:11px}.kl-settings-panel{display:grid}.kl-settings-panel p{max-width:none}.kl-move-coach{display:grid;gap:7px}.kl-move-coach>span{justify-self:start}.kl-performance{display:grid}.kl-performance-grid{grid-template-columns:repeat(3,1fr)}.kl-guide-authority{grid-template-columns:1fr!important}.kl-calendar-grid button,.kl-calendar-grid>span{min-height:30px;font-size:11px}}
@media(max-width:600px){.kl-flow-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.kl-flow-tabs a{text-align:center;padding:7px 5px;font-size:11px}.kl-meta{grid-template-columns:repeat(4,1fr)}.kl-meta span:nth-child(n+5){display:none}.kl-actions{grid-template-columns:repeat(4,1fr)}.kl-actions .tool-btn:nth-child(n+5){grid-column:auto}.kl-move-coach p{font-size:11px}.kl-performance-grid{gap:6px}.kl-performance-grid strong{font-size:14px}.kl-table{padding:7px}.kl-large-cards .kl-slot{width:43px;height:59px}.kl-large-cards .kl-card{height:65px;max-width:none;width:100%}}
/* V0.157 FreeCell Strategy Lab */
body[data-fc-theme="midnight"] .freecell-table{background:linear-gradient(145deg,#242736,#151823)}body[data-fc-theme="blue"] .freecell-table{background:linear-gradient(145deg,#155f86,#0d4162)}body[data-fc-theme="plum"] .freecell-table{background:linear-gradient(145deg,#6e3f69,#4b2a4f)}body.fc-large-cards .freecell-table{--fcw:clamp(42px,10.3vw,78px)}body.fc-reduce-motion .freecell-page *,body.fc-reduce-motion .fc-settings-dialog *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
.freecell-actions{grid-template-columns:repeat(9,minmax(0,1fr))}.freecell-actions .tool-btn{min-width:0}.freecell-actions .tool-btn:disabled{opacity:.45;cursor:not-allowed}.freecell-planner:empty{display:none}.freecell-planner{margin-top:10px;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}.fc-plan-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;background:linear-gradient(135deg,var(--soft),var(--card))}.fc-plan-head small,.fc-section-head small,.fc-strategy-intro small,.fc-lab-head small,.fc-settings-dialog small{display:block;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.08em}.fc-plan-head strong{display:block;font-size:1.15rem;margin:3px 0}.fc-plan-head p{margin:0;color:var(--muted);font-size:.88rem}.fc-plan-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fc-plan-metrics span{background:var(--card);padding:10px}.fc-plan-metrics small{display:block;color:var(--muted);font-size:.68rem}.fc-plan-metrics strong{display:block;margin-top:2px}.fc-plan-list{padding:8px 12px}.fc-plan-row{display:grid;grid-template-columns:28px minmax(0,1.2fr) 70px minmax(0,1fr);gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--line)}.fc-plan-row:last-child{border-bottom:0}.fc-plan-row.best{background:var(--soft);border-radius:10px}.fc-plan-rank{font-weight:950;color:var(--muted);text-align:center}.fc-plan-row strong{display:block;font-size:.88rem}.fc-plan-row small{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}.fc-plan-score{text-align:right;font-weight:950;font-variant-numeric:tabular-nums}.fc-plan-deltas{font-size:.72rem;color:var(--muted)}.fc-disclosure{margin:0;padding:10px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}
.freecell-strategy-lab{margin-top:18px}.fc-strategy-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--soft),var(--card));align-items:center}.fc-strategy-intro h2,.fc-section-head h2,.fc-lab-head h2,.fc-settings-dialog h2{margin:3px 0 7px}.fc-strategy-intro p{margin:0;color:var(--muted)}.fc-band-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fc-band-actions button{border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text);padding:12px;text-align:left;font:inherit;cursor:pointer}.fc-band-actions button:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.fc-band-actions strong,.fc-band-actions span{display:block}.fc-band-actions span{margin-top:4px;color:var(--muted);font-size:.75rem}.fc-strategy-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.fc-section-head{display:flex;align-items:center;justify-content:space-between}.fc-recent-deals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.fc-recent-deals button{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:10px;text-align:left;color:var(--text);font:inherit}.fc-recent-deals strong,.fc-recent-deals span{display:block}.fc-recent-deals span{font-size:.72rem;color:var(--muted);margin-top:3px}.fc-empty-copy{color:var(--muted);font-size:.86rem}.fc-strategy-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.fc-strategy-stats>div{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:10px}.fc-strategy-stats small,.fc-strategy-stats strong,.fc-strategy-stats span{display:block}.fc-strategy-stats small{color:var(--muted);font-size:.67rem}.fc-strategy-stats strong{font-size:1.05rem;margin:3px 0}.fc-strategy-stats span{color:var(--muted);font-size:.68rem}.fc-decision-shell{margin-top:12px}.fc-lab-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.fc-lab-head>div:last-child{text-align:right}.fc-lab-head>div:last-child strong{font-size:1.35rem}.fc-lab-top{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 10px}.fc-lab-top>div{padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.fc-lab-top small{display:block;color:var(--muted);font-size:.65rem;font-weight:900;margin-bottom:5px}.fc-lab-top span{display:flex;gap:5px;min-height:26px;align-items:center}.fc-lab-top i{font-style:normal;border:1px dashed var(--line);border-radius:7px;min-width:28px;padding:4px;text-align:center;color:var(--muted)}.fc-mini-card{display:inline-flex;align-items:center;justify-content:center;min-width:30px;border:1px solid #d7d9dc;border-radius:6px;background:#fff;color:#15171a;padding:4px 5px;font-weight:900;font-size:.72rem;box-shadow:0 1px 2px rgba(0,0,0,.08)}.fc-mini-card.red{color:#c83349}.fc-lab-columns{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;padding:10px;border-radius:14px;background:var(--soft);border:1px solid var(--line);align-items:start}.fc-lab-columns>div{display:flex;flex-direction:column;gap:3px;min-width:0}.fc-lab-columns small{color:var(--muted);font-size:.62rem;font-weight:900;text-align:center}.fc-lab-columns .fc-mini-card{min-width:0;width:100%;padding:4px 2px}.fc-decision-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.fc-decision-options button{border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);padding:12px;text-align:left;font:inherit;cursor:pointer}.fc-decision-options button:hover{background:var(--soft)}.fc-decision-options button.wrong{border-color:#d46b6b;background:#fff3f3}.fc-decision-options strong,.fc-decision-options span{display:block}.fc-decision-options span{margin-top:4px;color:var(--muted);font-size:.77rem}.fc-lab-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.fc-decision-explain{margin-top:10px;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--soft)}.fc-decision-explain p{margin:5px 0 0;color:var(--muted)}
.freecell-guide{grid-template-columns:repeat(3,1fr)}.fc-settings-dialog{width:min(460px,calc(100vw - 28px));border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);padding:0;box-shadow:0 24px 70px rgba(0,0,0,.28)}.fc-settings-dialog::backdrop{background:rgba(0,0,0,.5)}.fc-settings-dialog form{padding:18px}.fc-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.fc-dialog-head button{border:0;background:transparent;color:var(--text);font-size:1.6rem;cursor:pointer}.fc-settings-dialog label{display:block;margin:14px 0;font-size:.82rem;font-weight:800}.fc-settings-dialog select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text)}.fc-settings-dialog .fc-check{display:flex;gap:8px;align-items:center;font-weight:700}
@media(max-width:960px){.freecell-actions{grid-template-columns:repeat(3,1fr)}.fc-strategy-stats{grid-template-columns:repeat(2,1fr)}.fc-plan-row{grid-template-columns:28px minmax(0,1fr) 60px}.fc-plan-deltas{grid-column:2/-1}.fc-recent-deals{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.fc-strategy-intro,.fc-strategy-grid{grid-template-columns:1fr}.fc-band-actions{grid-template-columns:1fr 1fr 1fr}.fc-plan-head{align-items:flex-start;flex-direction:column}.fc-plan-metrics{grid-template-columns:repeat(3,1fr)}.fc-lab-columns{gap:3px;padding:7px}.fc-mini-card{font-size:.62rem;padding:3px 2px}.fc-decision-options{grid-template-columns:1fr}.freecell-guide{grid-template-columns:1fr}}
@media(max-width:560px){.freecell-actions{grid-template-columns:repeat(3,1fr)}.freecell-actions .tool-btn:last-child{grid-column:auto}.freecell-actions .tool-btn{padding:8px 5px}.freecell-actions .tool-btn strong{font-size:.78rem}.freecell-actions .tool-btn small{font-size:.6rem}.fc-band-actions{grid-template-columns:1fr}.fc-plan-metrics{grid-template-columns:repeat(2,1fr)}.fc-plan-row{grid-template-columns:22px minmax(0,1fr) 50px;gap:6px}.fc-strategy-stats{grid-template-columns:repeat(2,1fr)}.fc-lab-top{grid-template-columns:1fr}.fc-lab-columns{overflow-x:auto;grid-template-columns:repeat(8,minmax(42px,1fr))}.fc-recent-deals{grid-template-columns:1fr 1fr}}
/* V0.157 FreeCell performance parity */
.fc-strategy-grid .fc-performance-panel{grid-column:1/-1}.fc-performance-stats{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:720px){.fc-performance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-performance-stats>div:last-child{grid-column:1/-1}}

/* V0.158 Spider Solitaire deep authority */
.spider-v158{max-width:1180px}.sp-v158-actions{grid-template-columns:repeat(8,minmax(0,1fr))}.sp-v158-actions .tool-btn{min-width:0}.sp-planner-panel,.sp-opening-lab,.sp-calendar-panel,.sp-decision-lab{margin-top:14px}.sp-section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.sp-section-head small{display:block;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.06em}.sp-section-head h2{margin:3px 0 5px;font-size:1.12rem}.sp-section-head p{margin:0;color:var(--muted);font-size:.84rem;max-width:720px}.sp-readiness-card{min-width:180px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}.sp-readiness-card strong,.sp-readiness-card span{display:block}.sp-readiness-card strong{margin:2px 0;font-size:.92rem}.sp-readiness-card span{color:var(--muted);font-size:.74rem}.sp-planner-rows{display:grid;gap:7px;margin-top:12px}.sp-plan-row{display:grid;grid-template-columns:34px minmax(0,1fr) 82px;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.sp-plan-rank{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--soft);font-weight:900}.sp-plan-row strong{font-size:.86rem}.sp-plan-row p{margin:2px 0;color:var(--muted);font-size:.76rem}.sp-plan-row small{color:var(--muted);font-size:.67rem}.sp-plan-score{text-align:right}.sp-plan-score b{display:block;font-size:1rem}.sp-plan-score button{margin-top:4px;border:1px solid var(--line);border-radius:8px;background:var(--text);color:#fff;padding:5px 8px;font:inherit;font-size:.7rem;font-weight:800}.sp-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.sp-band-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.sp-band-buttons button{border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);padding:10px;text-align:left;font:inherit}.sp-band-buttons strong,.sp-band-buttons small{display:block}.sp-band-buttons small{margin-top:2px;color:var(--muted);font-size:.68rem}.sp-opening-truth{margin-top:9px;padding:9px 10px;border-radius:10px;background:var(--soft);color:var(--muted);font-size:.76rem}.sp-recent-deals{display:grid;gap:5px;margin-top:8px}.sp-recent-deals>span{display:flex;justify-content:space-between;gap:8px;padding:7px 8px;border:1px solid var(--line);border-radius:9px;font-size:.72rem}.sp-recent-deals small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-calendar{margin-top:12px}.sp-cal-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:7px}.sp-cal-title span{color:var(--muted);font-size:.72rem}.sp-cal-week,.sp-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.sp-cal-week small{text-align:center;color:var(--muted);font-size:.62rem;font-weight:800}.sp-cal-grid button,.sp-cal-grid .blank{min-height:43px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);font:inherit;padding:4px}.sp-cal-grid button b,.sp-cal-grid button small{display:block}.sp-cal-grid button small{font-size:.54rem;color:var(--muted)}.sp-cal-grid button.solved{background:var(--soft)}.sp-cal-grid button.clean{outline:2px solid rgba(42,155,98,.28)}.sp-cal-grid button.active{border-color:var(--text)}.sp-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.sp-stat-grid>div{padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--card)}.sp-stat-grid small,.sp-stat-grid strong{display:block}.sp-stat-grid small{color:var(--muted);font-size:.66rem}.sp-stat-grid strong{margin-top:3px;font-size:.88rem}.sp-mini-board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin-top:12px;padding:8px;border-radius:13px;background:var(--soft)}.sp-mini-board>div{min-width:0;padding:6px 4px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.sp-mini-board b,.sp-mini-board small,.sp-mini-board span{display:block}.sp-mini-board b{font-size:.68rem}.sp-mini-board small{color:var(--muted);font-size:.56rem}.sp-mini-board span{margin-top:4px;font-size:.61rem;line-height:1.35;overflow-wrap:anywhere}.sp-mini-meta{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0}.sp-mini-meta span{padding:5px 8px;border-radius:999px;background:var(--soft);font-size:.68rem;color:var(--muted)}.sp-decision-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sp-decision-options button{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text);padding:9px;text-align:left;font:inherit}.sp-decision-options button b{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--soft)}.sp-decision-options button span{font-size:.77rem}.sp-decision-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.sp-decision-actions span{color:var(--muted);font-size:.76rem}.sp-empty-copy{padding:12px;color:var(--muted);font-size:.8rem;text-align:center}.sp-settings-dialog{max-width:420px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--text);padding:18px}.sp-settings-dialog::backdrop{background:rgba(0,0,0,.5)}.sp-settings-dialog label{display:block;margin-top:12px;font-size:.8rem;font-weight:800}.sp-settings-dialog select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);padding:9px;font:inherit}.sp-settings-dialog .sp-check{display:flex;gap:8px;align-items:center}.sp-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}[data-sp-theme="blue"] .spider-table{background:linear-gradient(180deg,#195a7a,#123d5d)}[data-sp-theme="plum"] .spider-table{background:linear-gradient(180deg,#6d345f,#47243f)}.sp-large-cards .spider-table .sp-card{height:60px}.sp-large-cards .spider-table .sp-card span,.sp-large-cards .spider-table .sp-card b{font-size:.84rem}.sp-reduce-motion .spider-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.sp-v158-guide{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.sp-v158-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.sp-two-col{grid-template-columns:1fr}.sp-mini-board{gap:2px}.sp-mini-board>div{padding:5px 2px}.sp-mini-board span{font-size:.55rem}}
@media(max-width:720px){.sp-v158-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-section-head{display:block}.sp-readiness-card{margin-top:9px;min-width:0}.sp-plan-row{grid-template-columns:28px minmax(0,1fr) 62px;gap:6px;padding:7px}.sp-plan-rank{width:26px;height:26px}.sp-plan-row strong{font-size:.76rem}.sp-plan-row p{font-size:.68rem}.sp-plan-row small{font-size:.59rem}.sp-plan-score button{padding:4px 5px}.sp-band-buttons{grid-template-columns:1fr}.sp-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-mini-board{grid-template-columns:repeat(5,minmax(0,1fr))}.sp-decision-options{grid-template-columns:1fr}.sp-decision-actions{align-items:flex-start;flex-direction:column}.sp-cal-grid button,.sp-cal-grid .blank{min-height:38px}.sp-v158-guide{grid-template-columns:1fr}.sp-large-cards .spider-table .sp-card{height:46px}.sp-large-cards .spider-table .sp-card span,.sp-large-cards .spider-table .sp-card b{font-size:.66rem}}
/* V0.158 Spider guide polish: keep label, title and explanation visually distinct. */
.sp-v158-guide>div small,.sp-v158-guide>div strong{display:block}.sp-v158-guide>div small{margin-bottom:3px}.sp-v158-guide>div strong{margin-bottom:5px;line-height:1.25}.sp-v158-guide>div p{margin:0}
/* V0.159 Mahjong Solitaire Strategy Lab */
.mj-v159{--mj-table:#dfece3;--mj-table2:#eef5f0}.mj-v159[data-theme="slate"]{--mj-table:#d9e1e8;--mj-table2:#eef2f6}.mj-v159[data-theme="sand"]{--mj-table:#eee4cf;--mj-table2:#f7f1e5}.mj-v159 .mj-layout-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.mj-v159 .mj-layout-title>div{display:grid}.mj-v159 .mj-layout-title small,.mj-section-head small,.mj-atlas-total span,.mj-lab-count span{font-size:.68rem;color:var(--muted);font-weight:900;letter-spacing:.08em}.mj-v159 .mj-live{grid-template-columns:repeat(5,minmax(0,1fr))}.mj-v159 .mj-board-shell{background:linear-gradient(145deg,var(--mj-table),var(--mj-table2));position:relative}.mj-v159 .mj-board{width:min(100%,720px)}.mj-v159 .mj-tile{touch-action:manipulation}.mj-v159 .mj-tile.planner-target{box-shadow:0 0 0 5px rgba(40,105,170,.28),calc(var(--z)*2px + 2px) calc(var(--z)*2px + 3px) 0 #8e9a8a}.mj-v159 .mj-tile.lab-choice{outline:4px solid var(--focus);outline-offset:1px}.mj-v159.mj-high-contrast .mj-tile.free{filter:saturate(1.2) brightness(1.06);border-color:#65756a}.mj-v159.mj-high-contrast .mj-tile.blocked{filter:grayscale(.5) brightness(.68)}.mj-v159.mj-large-tiles .mj-board{width:min(100%,820px)}.mj-v159.mj-reduce-motion *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.mj-v159-actions button{display:grid;gap:2px;min-width:96px}.mj-v159-actions button strong{font-size:.84rem}.mj-v159-actions button small{font-size:.64rem;color:var(--muted);font-weight:700}.mj-v159-actions button:disabled{opacity:.45;cursor:not-allowed}.mj-v159-actions #mjNew{background:var(--accent);border-color:var(--accent);color:#fff}.mj-v159-actions #mjNew small{color:rgba(255,255,255,.78)}.mj-keyhelp{margin-top:8px;color:var(--muted);font-size:.74rem;line-height:1.5}.mj-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.mj-section-head h2{margin:4px 0 5px;font-size:clamp(1.2rem,2.1vw,1.7rem)}.mj-section-head p{margin:0;color:var(--muted);line-height:1.55;max-width:780px}.mj-planner-panel,.mj-atlas-panel,.mj-decision-lab{margin-top:16px}.mj-readiness,.mj-atlas-total,.mj-lab-count{flex:0 0 auto;min-width:130px;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:var(--soft);display:grid;align-content:start}.mj-readiness strong,.mj-atlas-total strong,.mj-lab-count strong{font-size:1.28rem}.mj-readiness span{font-size:.72rem;color:var(--muted);max-width:180px}.mj-planner-rows{display:grid;gap:8px;margin-top:14px}.mj-empty-copy{border:1px dashed var(--line);border-radius:12px;padding:16px;color:var(--muted);text-align:center}.mj-planner-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:11px;background:var(--card)}.mj-plan-rank{display:grid;text-align:center}.mj-plan-rank small{font-size:.62rem;color:var(--muted);font-weight:900}.mj-plan-rank strong{font-size:1.2rem}.mj-plan-main p{margin:3px 0 6px;color:var(--muted);font-size:.83rem}.mj-plan-metrics{display:flex;gap:5px;flex-wrap:wrap}.mj-plan-metrics span{background:var(--soft);border-radius:999px;padding:4px 7px;font-size:.67rem;font-weight:780}.mj-layout-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.mj-layout-card{appearance:none;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:13px;padding:11px;font:inherit;cursor:pointer;min-width:0}.mj-layout-card:disabled{cursor:default}.mj-layout-card.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.mj-layout-card>span{display:flex;justify-content:space-between;gap:8px}.mj-layout-card>span small{font-size:.63rem;color:var(--muted);font-weight:850}.mj-layout-card p{min-height:38px;margin:6px 0 9px;color:var(--muted);font-size:.74rem;line-height:1.4}.mj-layout-card>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.mj-layout-card>div span{background:var(--soft);border-radius:8px;padding:6px;display:grid}.mj-layout-card b{font-size:.8rem}.mj-layout-card>div small{font-size:.57rem;color:var(--muted)}.mj-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.mj-calendar,.mj-performance{margin-top:12px}.mj-cal-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.mj-cal-head span{color:var(--muted);font-size:.72rem}.mj-cal-week,.mj-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mj-cal-week span{text-align:center;color:var(--muted);font-size:.6rem;font-weight:800}.mj-cal-days a,.mj-cal-days>span{aspect-ratio:1;display:grid;place-items:center;border-radius:8px;font-size:.72rem;text-decoration:none;color:inherit}.mj-cal-days a{background:var(--soft);border:1px solid transparent}.mj-cal-days a.done{background:#e3f2e8}.mj-cal-days a.assisted{background:#f4ead7}.mj-cal-days a.current{border-color:var(--accent);font-weight:900}.mj-performance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mj-performance>div{border:1px solid var(--line);border-radius:10px;padding:9px;display:grid}.mj-performance small{font-size:.59rem;color:var(--muted);font-weight:850}.mj-performance strong{font-size:1.1rem}.mj-performance span{font-size:.65rem;color:var(--muted)}.mj-lab-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.72fr);gap:14px;margin-top:14px}.mj-lab-board-shell{border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,var(--mj-table),var(--mj-table2));padding:10px;overflow:hidden}.mj-lab-board{width:min(100%,600px)}.mj-lab-side{display:grid;gap:9px;align-content:start}.mj-lab-health{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.mj-lab-health span{background:var(--soft);border-radius:9px;padding:7px;display:grid}.mj-lab-health small{font-size:.57rem;color:var(--muted)}.mj-lab-health strong{font-size:.82rem}.mj-lab-options{display:grid;gap:7px}.mj-lab-option{border:1px solid var(--line);background:var(--card);border-radius:11px;padding:9px;display:grid;grid-template-columns:34px 1fr;gap:8px;text-align:left;font:inherit;cursor:pointer}.mj-lab-option>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-weight:900}.mj-lab-option div{display:grid}.mj-lab-option small{color:var(--muted);font-size:.67rem}.mj-lab-option.chosen{border-color:var(--accent)}.mj-lab-result{border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--soft);display:grid;gap:4px;font-size:.78rem}.mj-lab-result span{color:var(--muted);line-height:1.45}.mj-lab-nav{display:flex;gap:8px}.mj-lab-nav button{flex:1}.mj-v159-guide{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.mj-settings-dialog{border:0;border-radius:18px;padding:0;box-shadow:0 22px 70px rgba(0,0,0,.25);width:min(92vw,520px)}.mj-settings-dialog::backdrop{background:rgba(20,27,23,.55)}.mj-settings-dialog form{padding:20px;display:grid;gap:12px}.mj-settings-dialog label{display:flex;justify-content:space-between;gap:14px;align-items:center;font-weight:760}.mj-settings-dialog select{min-width:160px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--card);font:inherit}.mj-settings-dialog .mj-check{justify-content:flex-start}.mj-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
@media(max-width:980px){.mj-layout-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mj-secondary-grid{grid-template-columns:1fr}.mj-lab-grid{grid-template-columns:1fr}.mj-v159-guide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.mj-v159 .mj-live{grid-template-columns:repeat(2,minmax(0,1fr))}.mj-v159 .mj-live span:last-child{grid-column:span 2}.mj-section-head{display:grid}.mj-readiness,.mj-atlas-total,.mj-lab-count{min-width:0}.mj-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mj-planner-row{grid-template-columns:46px minmax(0,1fr)}.mj-planner-row>button{grid-column:1/-1;width:100%}.mj-performance{grid-template-columns:repeat(2,minmax(0,1fr))}.mj-v159-guide{grid-template-columns:1fr}.mj-lab-health{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.mj-v159 .mj-game-panel{padding:10px}.mj-v159 .mj-board-shell{padding:4px}.mj-v159 .mj-tile{border-radius:4px}.mj-v159 .mj-face b{font-size:clamp(8px,4.1vw,16px)}.mj-v159-actions button{flex-basis:calc(50% - 5px);min-width:0}.mj-layout-grid{grid-template-columns:1fr}.mj-layout-card p{min-height:0}.mj-lab-board-shell{padding:4px}.mj-calendar-panel,.mj-performance-panel,.mj-atlas-panel,.mj-planner-panel,.mj-decision-lab{padding:12px}}

/* V0.164 Word Ladder / Explainable Route Coach deep authority */
.v0164-ladder-page{max-width:1180px}.wl-primary-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}.wl-primary-tabs a{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:var(--card);text-decoration:none;color:var(--text);font-weight:900}.wl-primary-tabs a span{font-size:10px;color:var(--muted);font-weight:700}.wl-primary-tabs a.active{border-color:#6d8f7b;background:#edf6f1;color:#28563f}.wl-primary-tabs a.active span{color:#527060}.ladder-shell{display:grid;gap:12px}.wl-toolbar{padding:12px}.v0164-ladder-page .ladder-practice-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 10px}.v0164-ladder-page .ladder-practice-options a{display:grid;place-items:center;gap:1px;min-height:42px;border-radius:11px}.v0164-ladder-page .ladder-practice-options a span{font-size:9px;opacity:.72}.wl-utility-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.wl-run-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.wl-run-summary>div{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:10px 12px;text-align:center}.wl-run-summary small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.wl-run-summary strong{display:block;margin-top:3px;font-size:18px}.wl-integrity.clean{color:#2f6b4d}.wl-integrity.assisted{color:#8a6429}.wl-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.72fr);gap:12px;align-items:start}.wl-board-panel{max-width:none;margin:0}.wl-side-stack{display:grid;gap:12px;position:sticky;top:72px}.wl-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.wl-panel-heading>div{display:grid;gap:2px}.wl-panel-heading small{font-size:9px;font-weight:900;letter-spacing:.07em;color:var(--muted)}.wl-panel-heading strong{font-size:15px}.wl-panel-heading>span{font-size:10px;color:var(--muted)}.wl-source-pill{border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:var(--soft);white-space:nowrap}.v0164-ladder-page .ladder-route li{grid-template-columns:58px minmax(0,1fr) auto;min-height:52px}.wl-word{display:flex!important;gap:4px;letter-spacing:0!important}.wl-letter{display:grid;place-items:center;width:34px;height:36px;border-radius:8px;background:var(--soft);font-size:19px;line-height:1}.wl-letter.changed{background:#e7f3eb;box-shadow:inset 0 0 0 1px #9bb9a7}.wl-change{font-size:9px;color:var(--muted);font-weight:850}.v0164-ladder-page .ladder-tools{grid-template-columns:repeat(6,minmax(0,1fr))}.tool-btn.emphasized{border-color:#779c87;background:#edf6f1;color:#315e48}.tool-btn.danger-soft{border-color:#d4b7a6;background:#fff7f1;color:#80553d}.wl-integrity-card p,.wl-coach-card>p,.wl-proof-card>p,.wl-settings-panel>p{font-size:11px;color:var(--muted);line-height:1.55;margin:0}.wl-integrity-legend{display:grid;gap:7px;margin-top:11px}.wl-integrity-legend span{display:flex;align-items:center;gap:7px;font-size:10px}.wl-integrity-legend i{width:10px;height:10px;border-radius:999px;background:#7aa38b}.wl-integrity-legend i.assisted{background:#c59a5f}.wl-coach-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0}.wl-coach-metrics span{padding:8px;border-radius:10px;background:var(--soft)}.wl-coach-metrics small,.wl-proof-grid small{display:block;font-size:8px;color:var(--muted);font-weight:850}.wl-coach-metrics strong{display:block;margin-top:2px;font-size:16px}.wl-coach-choices{display:grid;gap:6px}.wl-candidate{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:8px 10px;text-align:left;cursor:pointer}.wl-candidate strong{font-size:13px;letter-spacing:.06em}.wl-candidate span{font-size:9px;color:var(--muted);text-align:right}.wl-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:10px}.wl-proof-grid span{padding:8px;border-radius:10px;background:var(--soft)}.wl-proof-grid strong{display:block;font-size:16px;margin-top:1px}.wl-proof-grid em{display:block;font-size:8px;color:var(--muted);font-style:normal}.wl-v164-stats{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:0}.wl-archive-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}.wl-archive-grid a{display:grid;gap:1px;padding:8px 4px;border:1px solid var(--line);border-radius:10px;background:var(--card);text-decoration:none;color:var(--text);text-align:center}.wl-archive-grid a strong{font-size:10px}.wl-archive-grid a span{font-size:8px;color:var(--muted)}.wl-archive-grid a.solved{border-color:#8bb09a;background:#edf7f0}.wl-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:8px}.wl-settings-grid label{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:var(--soft);font-size:10px;font-weight:800}.wl-settings-grid input{width:18px;height:18px}.wl-lab-shell{display:grid;gap:12px}.wl-lab-head{display:grid;grid-template-columns:1fr minmax(280px,.7fr);gap:18px;align-items:end}.wl-lab-head h2{margin:5px 0}.wl-lab-head p{margin:0;color:var(--muted);max-width:700px}.wl-lab-diff-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.wl-lab-diff-tabs a{padding:9px 4px;border:1px solid var(--line);border-radius:10px;text-align:center;text-decoration:none;color:var(--muted);font-size:9px;font-weight:850}.wl-lab-diff-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.wl-lab-card{max-width:880px;margin-inline:auto}.wl-lab-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.wl-lab-meta span{padding:9px;border-radius:11px;background:var(--soft);text-align:center}.wl-lab-meta small{display:block;font-size:8px;color:var(--muted);font-weight:850}.wl-lab-meta strong{display:block;margin-top:2px;font-size:13px;letter-spacing:.05em}.wl-lab-card h3{text-align:center;margin:20px 0 12px}.wl-lab-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.wl-lab-option{display:grid;gap:3px;min-height:66px;border:1px solid var(--line);border-radius:13px;background:var(--card);padding:10px 12px;cursor:pointer}.wl-lab-option strong{font-size:17px;letter-spacing:.1em}.wl-lab-option span{font-size:9px;color:var(--muted)}.wl-lab-option.correct{border-color:#6f9a80;background:#edf7f0}.wl-lab-option.wrong{border-color:#c9937f;background:#fff2ed}.wl-lab-guide{grid-template-columns:repeat(3,minmax(0,1fr))}.wl-v164-guide{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.wl-trust-panel{margin-top:12px}.wl-trust-panel small{font-size:9px;color:var(--muted);font-weight:900;letter-spacing:.07em}.wl-trust-panel h2{margin:6px 0}.wl-trust-panel p{margin:0;color:var(--muted);line-height:1.6}.wl-large .v0164-ladder-page .wl-letter{width:40px;height:42px;font-size:22px}.wl-contrast .v0164-ladder-page .wl-letter{background:#fff;border:2px solid #1f2c27;color:#111}.wl-contrast .v0164-ladder-page .wl-letter.changed{background:#dff1e5;border-color:#235b3d}.wl-hide-timer .v0164-ladder-page .wl-time-stat{display:none}.wl-reduced .v0164-ladder-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
@media(max-width:900px){.wl-workspace{grid-template-columns:1fr}.wl-side-stack{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.wl-proof-card{grid-column:1/-1}.wl-v164-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.wl-archive-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.wl-v164-guide{grid-template-columns:repeat(2,minmax(0,1fr))}.wl-lab-head{grid-template-columns:1fr}}
@media(max-width:620px){.wl-primary-tabs{grid-template-columns:1fr}.wl-primary-tabs a{padding:10px 12px}.v0164-ladder-page .ladder-practice-options{grid-template-columns:repeat(2,minmax(0,1fr))}.v0164-ladder-page .ladder-practice-options a:first-child{grid-column:1/-1}.wl-utility-row{grid-template-columns:repeat(2,minmax(0,1fr))}.wl-run-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.wl-workspace{display:block}.wl-side-stack{grid-template-columns:1fr;margin-top:12px}.v0164-ladder-page .ladder-route li{grid-template-columns:46px minmax(0,1fr) auto;padding:7px 8px}.wl-letter{width:30px;height:34px;font-size:17px}.v0164-ladder-page .ladder-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.wl-v164-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.wl-archive-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.wl-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wl-lab-diff-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.wl-lab-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.wl-lab-meta span:last-child{grid-column:1/-1}.wl-lab-options{grid-template-columns:1fr}.wl-lab-guide,.wl-v164-guide{grid-template-columns:1fr}.wl-large .v0164-ladder-page .wl-letter{width:34px;height:38px;font-size:19px}}
@media(max-width:390px){.v0164-ladder-page .panel{padding-left:10px;padding-right:10px}.wl-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wl-word{gap:2px}.wl-letter{width:27px;height:32px}.wl-change{font-size:8px}.wl-settings-grid{grid-template-columns:1fr}.wl-proof-grid{grid-template-columns:1fr 1fr}}
@media print{body:has(.v0164-ladder-page) .topbar,body:has(.v0164-ladder-page) .preview-note,body:has(.v0164-ladder-page) .mobile-dock,body:has(.v0164-ladder-page) .wl-primary-tabs,body:has(.v0164-ladder-page) .wl-toolbar,body:has(.v0164-ladder-page) .ladder-entry,body:has(.v0164-ladder-page) .ladder-tools,body:has(.v0164-ladder-page) .wl-side-stack,body:has(.v0164-ladder-page) .wl-history-panel,body:has(.v0164-ladder-page) .wl-archive-panel,body:has(.v0164-ladder-page) .wl-settings-panel,body:has(.v0164-ladder-page) .wl-v164-guide,body:has(.v0164-ladder-page) .wl-trust-panel,body:has(.v0164-ladder-page) .footer{display:none!important}.v0164-ladder-page{max-width:none}.wl-board-panel{border:0!important;box-shadow:none!important}.ladder-route{width:120mm;margin:10mm auto!important}.wl-letter{border:1px solid #555!important;background:#fff!important;color:#000!important}}
@media(forced-colors:active){.wl-primary-tabs a.active,.wl-lab-diff-tabs a.active{background:Highlight;color:HighlightText;forced-color-adjust:none}.wl-letter,.wl-candidate,.wl-lab-option,.wl-proof-grid span{border:1px solid CanvasText}.wl-lab-option.correct{outline:3px solid Highlight}.wl-integrity.clean,.wl-integrity.assisted{color:CanvasText}}
