@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0d1210;--bg-glow: #15201b;--bg2: #141b18;--panel: #18201c;--panel-2: #1e2823;--ink: #eef1ea;--ink2: #a6b0a7;--ink3: #707c73;--line: #27322c;--line-strong: #34423a;--accent: #4fbf7a;--accent-ink: #07130c;--accent-soft: #1b3426;--seal: #e0533d;--seal-soft: #3a1f1a;--gold: #e8b44a;--gold-soft: #3a2f17;--info: #6fa8f2;--info-soft: #1a2738;--bad: var(--seal);--bad-soft: var(--seal-soft);--warn: var(--gold);--warn-soft: var(--gold-soft);--sq-light: #e9dfc8;--sq-dark: #6f8f74;--last-move: rgba(232, 180, 74, .42);--selected: rgba(79, 191, 122, .5);--shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 12px 32px rgba(0, 0, 0, .35);--radius: 16px;--display: "Fraunces Variable", "Iowan Old Style", Georgia, serif;--sans: "Bricolage Grotesque Variable", "Segoe UI", system-ui, sans-serif;--mono: "Cascadia Mono", Consolas, monospace;--topbar-h: 60px;--side-w: clamp(340px, 28vw, 520px);--board: min(calc(100vh - var(--topbar-h) - 120px), calc(100vw - var(--side-w) - 120px));color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f4efe4;--bg-glow: #ebe3d1;--bg2: #ece5d6;--panel: #fffcf5;--panel-2: #f7f1e5;--ink: #1b221e;--ink2: #5a645d;--ink3: #8a938c;--line: #e0d7c4;--line-strong: #cfc4ad;--accent: #2b8f55;--accent-ink: #ffffff;--accent-soft: #dcefe2;--seal: #c8432f;--seal-soft: #f8e1dc;--gold: #b8841b;--gold-soft: #f6ead0;--info: #2f6fc4;--info-soft: #e1ebf8;--shadow: 0 1px 2px rgba(40, 30, 10, .06), 0 10px 28px rgba(40, 30, 10, .08);color-scheme:light}}*{box-sizing:border-box}html,body{margin:0;color:var(--ink);font-family:var(--sans);font-size:15.5px;line-height:1.5;background:var(--bg);-webkit-font-smoothing:antialiased}body{background:radial-gradient(1200px 600px at 75% -10%,var(--bg-glow),transparent 70%),radial-gradient(900px 500px at -10% 110%,var(--bg-glow),transparent 70%),var(--bg);background-attachment:fixed;min-height:100vh}h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:2rem}h2{font-size:1.35rem}h3{font-size:1.12rem}.display{font-family:var(--display);font-size:clamp(2rem,3.2vw,3rem);font-weight:650;letter-spacing:-.02em;font-variation-settings:"SOFT" 60,"WONK" 1}a{color:var(--accent);cursor:pointer}code,pre{font-family:var(--mono)}.small{font-size:.86rem}.block{display:block}.big{font-size:1.5rem;font-weight:700}.huge{font-size:4.5rem;font-family:var(--display);margin:.1em 0}.lead{color:var(--ink2);font-size:1.08rem;max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--ink2);margin:0 0 6px}.good-text{color:var(--accent);font-weight:600}.bad-text{color:var(--seal);font-weight:600}.warn-text{color:var(--gold)}.think{background:var(--info-soft);border-radius:12px;padding:10px 12px}.note{font-size:1.05rem}button,.button{font:inherit;font-weight:550;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--ink);border-radius:12px;padding:8px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,border-color .15s,transform .08s,box-shadow .15s}button:hover,.button:hover{border-color:var(--accent)}button:active{transform:translateY(1px) scale(.99)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700;box-shadow:0 6px 18px #4fbf7a40}button.primary:hover{filter:brightness(1.06)}button.ghost{background:transparent;border-color:transparent}button.ghost:hover{border-color:var(--line-strong)}button.small{padding:5px 11px;font-size:.85rem}.huge-btn{font-size:1.12rem!important;padding:14px 26px!important;border-radius:14px!important}input,select,textarea{font:inherit;color:var(--ink);background:var(--bg2);border:1px solid var(--line-strong);border-radius:11px;padding:9px 12px}input[type=range]{width:100%;padding:0;accent-color:var(--accent);background:none;border:none}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}.chip{border-radius:99px;padding:6px 14px;background:var(--bg2)}.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chip-row,.rating-picker{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.segmented{display:inline-flex;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:4px;gap:4px}.segmented button{border:none;background:transparent;border-radius:10px}.segmented button.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--ink);font-weight:650}.segmented button:not(.on):hover:not(:disabled){background:var(--panel)}.pill{display:inline-block;border-radius:99px;padding:2px 10px;font-size:.78rem;font-weight:700;background:var(--bg2);color:var(--ink2);white-space:nowrap}.pill-good{background:var(--accent-soft);color:var(--accent)}.pill-bad{background:var(--seal-soft);color:var(--seal)}.pill-warn{background:var(--gold-soft);color:var(--gold)}.pill-info{background:var(--info-soft);color:var(--info)}.badge{background:var(--seal);color:#fff;border-radius:99px;font-size:.72rem;padding:0 7px;font-weight:700;margin-left:6px}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 24px;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{justify-self:start;border:none;background:none;padding:0;font-family:var(--display);font-size:1.25rem;font-weight:500}.brand b{font-weight:750}.mainnav{display:flex;gap:4px;height:100%}.mainnav button{border:none;background:none;border-radius:0;padding:0 16px;height:100%;font-size:1rem;color:var(--ink2);position:relative}.mainnav button:hover,.mainnav button.on{color:var(--ink)}.mainnav button.on:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--accent)}.topbar-right{justify-self:end;display:flex;align-items:center;gap:14px}.streak{font-weight:700;color:var(--gold)}.claude-dot{font-weight:800;font-size:1.1rem;color:var(--ink3)}.claude-dot.on{color:#d97757;text-shadow:0 0 12px rgba(217,119,87,.7)}.claude-dot.idle{color:var(--ink2)}.menu-wrap{position:relative}.avatar-btn{border:1px solid var(--line);background:var(--panel);border-radius:99px;padding:3px 12px 3px 3px}.avatar{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;font-size:1.15rem}.avatar.big{flex-basis:48px;width:48px;height:48px;font-size:1.6rem}.avatar.claude{background:#d9775729;color:#d97757;font-weight:800}.menu{position:absolute;right:0;top:calc(100% + 8px);width:270px;background:var(--panel);border:1px solid var(--line-strong);border-radius:16px;box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;animation:pop-in .15s ease-out}.menu-head{display:flex;gap:10px;align-items:center;padding:8px 8px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.menu button{border:none;background:none;justify-content:flex-start;border-radius:10px;padding:9px 10px;width:100%}.menu button:hover,.menu button.on{background:var(--bg2)}main{min-width:0}.page{padding:28px 32px 64px;max-width:1240px;margin:0 auto;animation:fade-up .3s ease-out}.page.wide{max-width:none;padding:18px 28px 28px}.page.narrow{max-width:760px}.page-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.page-head h1{margin:0;font-size:1.6rem}.center-page{text-align:center;padding-top:60px}.center-page .lead{margin-left:auto;margin-right:auto}.center{justify-content:center}.row{display:flex;gap:14px;align-items:flex-start}.row.wrap{flex-wrap:wrap}.grow{flex:1 1 320px}.spacer{flex:1}.grid{display:grid;gap:16px}.grid.cards,.grid.tiles{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid.students{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid.moments{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.grid.personas{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);margin-bottom:16px}.card-title{font-size:1.1rem}.card p:last-child{margin-bottom:0}.card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}.stats{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 20px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 18px;min-width:150px}.stat-value{font-family:var(--display);font-size:1.8rem;font-weight:700}.stat-label,.stat-sub{color:var(--ink2);font-size:.85rem}.bar{height:8px;background:var(--bg2);border-radius:99px;overflow:hidden;margin:6px 0}.bar-fill{height:100%;border-radius:99px;transition:width .4s}.bar-accent{background:var(--accent)}.bar-bad{background:var(--seal)}.bar-warn{background:var(--gold)}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 18px;align-items:center}.tabs button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px 18px;margin:10px 0}.form-grid label{display:flex;flex-direction:column;gap:5px;font-size:.92rem}label.check,label.toggle{display:flex;align-items:flex-start;gap:10px;margin:10px 0;cursor:pointer}label.toggle input{margin-top:3px}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th,.table td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line)}.table th{color:var(--ink2);font-weight:600}pre.code{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;overflow-x:auto;font-size:.82rem}details summary{cursor:pointer}.advanced{margin:18px 0;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 16px}.tile-section h2{margin-top:24px}.tile{flex-direction:column;align-items:flex-start;text-align:left;gap:6px;padding:18px;border-radius:18px;background:var(--panel);border:1px solid var(--line);min-height:150px;position:relative;animation:fade-up .35s ease-out both;box-shadow:var(--shadow)}.tile:hover{transform:translateY(-2px);border-color:var(--accent)}.tile-icon{font-size:1.9rem}.tile-title{font-family:var(--display);font-size:1.2rem;font-weight:650}.tile-text{color:var(--ink2);font-size:.92rem;font-weight:400}.tile-badge{position:absolute;top:14px;right:14px;font-size:.78rem;font-weight:700;color:var(--gold);background:var(--gold-soft);border-radius:99px;padding:2px 10px}.train-hero{margin-bottom:20px}.train-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.session-card{background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line-strong);border-radius:24px;padding:26px;box-shadow:var(--shadow);position:relative;overflow:hidden}.session-card:before{content:"";position:absolute;inset:-40% -20% auto auto;width:360px;height:360px;background:radial-gradient(circle,rgba(79,191,122,.16),transparent 70%);pointer-events:none}.session-card-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}.session-card-head h2{margin:0;font-size:1.6rem}.session-steps{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:8px}.session-steps li{display:flex;gap:14px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--bg2);border:1px solid transparent;animation:fade-up .35s ease-out both}.session-steps li:nth-child(2){animation-delay:60ms}.session-steps li:nth-child(3){animation-delay:.12s}.session-steps li:nth-child(4){animation-delay:.18s}.session-steps li.current{border-color:var(--accent)}.session-steps li.done{opacity:.6}.step-icon{width:38px;height:38px;border-radius:12px;background:var(--panel);display:grid;place-items:center;font-size:1.15rem;flex:0 0 38px}.session-steps li.done .step-icon{background:var(--accent);color:var(--accent-ink);font-weight:800}.step-text{flex:1;display:flex;flex-direction:column}.train-side{display:flex;flex-direction:column;gap:12px}.info-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}.info-label{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--ink2)}.info-value{font-family:var(--display);font-size:2rem;font-weight:700}.info-value.small-value{font-size:1.15rem}.quick{margin-top:28px}.quick-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.quick-card{justify-content:flex-start;text-align:left;gap:14px;padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--line)}.quick-card .arrow{margin-left:auto;color:var(--ink2)}.quick-card:hover .arrow{color:var(--accent);transform:translate(3px)}.session-top{padding-bottom:0!important}.session-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sb-step{border-radius:99px;padding:5px 14px 5px 6px;background:var(--panel);font-weight:500;font-size:.88rem;max-width:280px}.sb-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--bg2)}.sb-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-step.done .sb-icon{background:var(--accent);color:var(--accent-ink);font-weight:800}.sb-step.current{border-color:var(--accent);background:var(--accent-soft)}.celebrate{font-size:4rem;animation:pop-in .4s cubic-bezier(.2,1.6,.4,1)}.done-banner{display:flex;align-items:center;gap:14px;justify-content:space-between;background:var(--accent-soft);border:1px solid var(--accent);border-radius:14px;padding:12px 16px}.play-setup{max-width:980px}.step-title{display:flex;align-items:center;gap:10px;margin-top:26px}.step-num{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-family:var(--sans);font-size:.95rem;font-weight:800}.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.choice-grid.four{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.choice-grid.five{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}.students-row{margin-top:12px}.choice{flex-direction:column;align-items:flex-start;text-align:left;gap:4px;padding:16px;border-radius:16px;background:var(--panel);border:1.5px solid var(--line);font-weight:500}.choice.compact{padding:12px 14px}.choice.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px #4fbf7a26}.choice-icon{font-size:1.7rem}.play-setup>.huge-btn{margin-top:26px}.stage{display:grid;grid-template-columns:auto var(--side-w);gap:24px;align-items:start;justify-content:center}.stage-board-row{display:flex;gap:10px;align-items:stretch}.stage-board{width:var(--board);max-width:100%}.stage-below{margin-top:10px}.stage-side{height:calc(var(--board) + 54px);min-height:420px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.stage-head{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stage-scroll{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px}.stage-scroll>*{flex-shrink:0}.stage-scroll .card{margin-bottom:0;box-shadow:none;background:var(--panel-2)}.persona{font-family:var(--display);font-size:1.1rem}.bubble-row{display:flex;gap:12px;align-items:flex-start;animation:pop-in .25s ease-out}.bubble{background:var(--panel-2);border:1px solid var(--line);border-radius:4px 18px 18px;padding:12px 15px;line-height:1.55;flex:1;font-size:1.02rem}.bubble p{margin:0 0 6px;white-space:pre-line}.feed-item>span:last-child{white-space:pre-line}.claude-answer{scroll-margin:12px}.bubble p:last-child{margin:0}.bubble-row.good .bubble{background:var(--accent-soft);border-color:transparent}.bubble-row.bad .bubble{background:var(--seal-soft);border-color:transparent}.bubble-row.hint .bubble{background:var(--gold-soft);border-color:transparent}.instruction{font-family:var(--display);font-size:1.35rem;font-weight:650;padding:2px;line-height:1.25}.card.caught{border-color:var(--seal);box-shadow:0 0 0 3px var(--seal-soft)}.card.hint-card{border-color:var(--accent)}.card.radar{border-color:var(--info);background:var(--info-soft)}.hints{padding-left:0;list-style:none}.aware{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.9rem;margin:8px 0}.review .count{display:inline-block;margin-right:10px;white-space:nowrap}.coach-log summary{padding:4px 0}.feed{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-top:8px}.feed-item{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;padding:6px 8px;border-radius:10px;background:var(--bg2)}.feed-item.claude{border-left:3px solid #d97757}.feed-who{font-weight:700;min-width:18px}.ask{display:flex;gap:6px}.ask input{flex:1;min-width:0}.mode-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-tile{justify-content:flex-start;text-align:left;padding:10px 12px;background:var(--bg2);border-color:transparent}.mode-tile.on{background:var(--accent);color:var(--accent-ink)}.mode-icon{font-size:1.3rem}.mode-text{display:flex;flex-direction:column;line-height:1.2}.mode-count{margin-left:auto;font-weight:700}.progress-line{height:6px;background:var(--bg2);border-radius:99px;overflow:hidden}.progress-line>div{height:100%;background:var(--accent);transition:width .4s}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar input{min-width:160px;flex:1}.who{font-weight:650}.split{display:grid;grid-template-columns:auto var(--side-w);gap:24px;align-items:start;justify-content:center}.split>:first-child{width:var(--board);max-width:100%}.split>:first-child .board-row .board-wrap{flex:1;min-width:0}.split>.card:last-child{min-height:min(var(--board),620px);margin:0}.board-row{display:flex;gap:10px;align-items:stretch}.board-wrap{position:relative;width:100%;border-radius:10px;overflow:hidden;box-shadow:0 18px 48px #00000073,0 0 0 1px #00000040}.promo{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0e0c99;display:flex;align-items:center;justify-content:center;gap:10px;z-index:5}.promo button{font-size:2.6rem;width:76px;height:76px;justify-content:center}.evalbar{width:26px;flex:0 0 26px;border-radius:8px;background:#2b2f2c;position:relative;overflow:hidden;display:flex;flex-direction:column-reverse}.evalbar.flip{flex-direction:column}.evalbar-white{background:#f1ece0;transition:height .5s}.evalbar-label{position:absolute;left:0;right:0;text-align:center;font-size:.62rem;font-weight:800;writing-mode:vertical-rl;transform:rotate(180deg)}.evalbar .evalbar-label.low{bottom:4px;color:#222}.evalbar .evalbar-label.high{top:4px;color:#eee}.evalbar.flip .evalbar-label.low{bottom:auto;top:4px}.evalbar.flip .evalbar-label.high{top:auto;bottom:4px}.sq-badge{position:absolute;top:-6%;right:-6%;width:36%;height:36%;min-width:18px;min-height:18px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:clamp(9px,calc(var(--board) / 50),19px);color:#fff;z-index:5;box-shadow:0 2px 8px #0006;animation:pop-in .25s cubic-bezier(.2,1.6,.4,1);pointer-events:none}.sq-badge-best,.sq-badge-excellent,.sq-badge-right{background:#2f9e5b}.sq-badge-good,.sq-badge-book,.sq-badge-forced{background:#6b9d7a}.sq-badge-inaccuracy{background:#d9a03a}.sq-badge-mistake{background:#e2702b}.sq-badge-blunder,.sq-badge-wrong{background:#d64040}.movelist{background:var(--bg2);border-radius:14px;padding:8px;max-height:240px;overflow-y:auto}.mvrow{display:grid;grid-template-columns:34px 1fr 1fr;gap:4px}.mvn{color:var(--ink3);text-align:right;padding:3px 4px;font-size:.85rem}.mv{border:none;background:transparent;padding:2px 6px;justify-content:flex-start;font-family:var(--mono);font-size:.92rem;border-radius:7px;font-weight:500}.mv.active{background:var(--accent-soft)}.grade{font-weight:800;font-size:.8rem;border-radius:6px;padding:0 5px;font-family:var(--sans)}.grade-best,.grade-excellent{color:var(--accent)}.grade-good{color:#7fb08d}.grade-book,.grade-forced{color:var(--ink2)}.grade-inaccuracy{color:var(--gold)}.grade-mistake{color:#e2702b}.grade-blunder{color:#fff;background:var(--seal)}.line{font-family:var(--mono);font-size:.88rem;margin:4px 0}.moves-text{font-family:var(--mono);font-size:1.1rem;background:var(--bg2);padding:10px;border-radius:12px}.leak{margin-bottom:12px}.leak-head{display:flex;justify-content:space-between}.moment{display:flex;flex-direction:column;gap:6px}.student-rating{display:flex;align-items:baseline;gap:8px;margin:6px 0}.student-rating .big{font-family:var(--display);font-size:2.4rem}.spark-line{fill:none;stroke:var(--accent);stroke-width:2}.spark-zero{stroke:var(--line);stroke-dasharray:3 3}.log{list-style:none;padding:0;font-size:.88rem;max-height:260px;overflow-y:auto}.persona-card{flex-direction:column;align-items:flex-start;text-align:left;gap:4px;padding:12px;height:100%;font-weight:500}.persona-card.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.persona-emoji{font-size:1.8rem}.sample{font-style:italic;color:var(--ink2)}.opening-info{margin-bottom:14px}.opening-info summary{padding:4px 0 10px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080699;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--panel);border:1px solid var(--line-strong);border-radius:20px;padding:22px 24px;max-width:460px;width:calc(100% - 32px);box-shadow:var(--shadow)}.onboarding{min-height:100vh;display:flex;flex-direction:column}.ob-top{display:flex;align-items:center;gap:20px;padding:16px 28px;border-bottom:1px solid var(--line)}.brand-mark{display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:1.2rem}.ob-progress{display:flex;gap:6px;list-style:none;margin:0 auto;padding:0;flex-wrap:wrap}.ob-progress li{display:flex;align-items:center;gap:8px;color:var(--ink3);font-weight:600;font-size:.9rem;padding:0 10px}.ob-progress li+li:before{content:"";width:26px;height:2px;background:var(--line-strong);margin-right:8px}.ob-progress .dot{width:26px;height:26px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;font-size:.78rem}.ob-progress li.current{color:var(--ink)}.ob-progress li.current .dot{border-color:var(--accent);color:var(--accent)}.ob-progress li.done{color:var(--ink2)}.ob-progress li.done .dot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ob-anim{animation:fade-up .4s ease-out}.ob-welcome,.ob-tour,.ob-accounts{max-width:780px;margin:0 auto;padding:7vh 24px 60px;text-align:center}.ob-welcome .lead,.ob-tour .lead,.ob-accounts .lead{margin:0 auto 10px}.ob-panda{width:120px;height:120px;animation:float 4s ease-in-out infinite;filter:drop-shadow(0 12px 30px rgba(79,191,122,.25))}.tour-card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:40px 36px;box-shadow:var(--shadow)}.tour-icon{font-size:3.4rem;display:block;margin-bottom:8px}.tour-dots{display:flex;gap:8px;justify-content:center;margin:18px 0 4px}.tour-dots button{width:10px;height:10px;padding:0;border-radius:99px;border:none;background:var(--line-strong)}.tour-dots button.on{width:28px;background:var(--accent)}.ob-profile{max-width:860px;margin:0 auto;padding:5vh 24px 60px}.ob-field{margin:22px 0}.ob-field>label{display:block;font-family:var(--display);font-size:1.2rem;font-weight:600;margin-bottom:10px}.name-row{display:flex;gap:10px;align-items:center}.name-row input{flex:1;font-size:1.15rem;padding:12px 14px}.avatar-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.avatar-grid button{width:46px;height:46px;font-size:1.4rem;justify-content:center;padding:0;border-radius:12px}.avatar-grid button.on{border-color:var(--accent);background:var(--accent-soft)}.persona-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.persona-pick{flex-direction:column;align-items:flex-start;text-align:left;gap:3px;padding:12px;border-radius:14px;font-weight:500;background:var(--panel)}.persona-pick.on{border-color:var(--accent);background:var(--accent-soft)}.ob-placement{padding:18px 28px 28px}.level-preview{display:flex;gap:10px;justify-content:center;margin:18px 0}.level-chip{border-radius:99px;padding:3px 12px;font-weight:700;font-size:.82rem}.level-0{background:var(--accent-soft);color:var(--accent)}.level-1{background:var(--gold-soft);color:var(--gold)}.level-2{background:var(--seal-soft);color:var(--seal)}.result-flash{border-radius:14px;padding:14px 16px;font-weight:700;font-size:1.05rem;animation:pop-in .3s cubic-bezier(.2,1.6,.4,1)}.result-flash.good{background:var(--accent-soft);color:var(--accent)}.result-flash.bad{background:var(--seal-soft);color:var(--seal)}.big-rating{font-family:var(--display);font-size:clamp(5rem,12vw,9rem);font-weight:750;line-height:1;background:linear-gradient(180deg,var(--ink),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.placement-path{display:flex;gap:8px;justify-content:center;margin:16px 0}.path-step{border-radius:99px;padding:4px 14px;font-weight:700}.path-step.good{background:var(--accent-soft);color:var(--accent)}.path-step.bad{background:var(--seal-soft);color:var(--seal)}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0 12px;text-align:left}.account-card{background:var(--panel);border:1.5px solid var(--line);border-radius:18px;padding:18px}.account-card.linked{border-color:var(--accent)}.linked-account{background:var(--bg2);border-radius:14px;padding:10px 12px;margin-bottom:10px}.linked-account-head{display:flex;align-items:center;gap:4px}.linked-account .rating-row{margin-top:6px}.linked-account .rating-chip{background:var(--panel)}.segmented.wrap{flex-wrap:wrap}.account-head{display:flex;justify-content:space-between;margin-bottom:10px;font-family:var(--display);font-size:1.2rem}.rating-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.rating-chip{display:flex;flex-direction:column;background:var(--bg2);border-radius:12px;padding:6px 12px;min-width:76px}.rating-chip b{font-family:var(--display);font-size:1.3rem}.plan-card{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px;margin:22px 0;text-align:left}.plan-card>div{display:flex;flex-direction:column}@keyframes pop-in{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fade-up{0%{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}@keyframes float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:1100px){:root{--board: min( calc(100vw - 90px) , calc(100vh - var(--topbar-h) - 120px))}.stage,.split,.train-grid{grid-template-columns:1fr}.stage-side{height:auto;min-height:0}.split>.card:last-child{min-height:0}}@media(max-width:760px){:root{--board: calc(100vw - 68px) }.topbar{gap:10px;padding:0 12px}.brand span,.avatar-name,.ob-progress{display:none}.mainnav button{padding:0 8px}.page{padding:16px}.account-grid,.plan-card{grid-template-columns:1fr 1fr}}.menu-streak{display:none}@media(max-width:480px){.topbar{gap:6px;padding:0 8px}.mainnav{gap:0}.mainnav button{min-width:44px;padding:0 6px;font-size:.95rem;justify-content:center}.mainnav button.on:after{left:4px;right:4px}.mainnav .badge{position:absolute;top:5px;right:0;margin:0;padding:0 5px;line-height:1.45}.topbar-right{gap:8px}.topbar-right .streak,.avatar-btn>.muted{display:none}.menu-streak{display:inline}.avatar-btn{min-width:44px;min-height:44px;padding:4px;justify-content:center}.menu button{min-height:44px}}.setting-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:10px 0}.engine-line{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.tour-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.tour-spot{position:fixed;border-radius:16px;box-shadow:0 0 0 9999px #040705bd,0 0 0 2px var(--accent),0 0 32px #4fbf7a59;transition:left .35s ease,top .35s ease,width .35s ease,height .35s ease;pointer-events:none}.tour-dim{position:fixed;top:0;right:0;bottom:0;left:0;background:#040705bd}.tour-bubble{position:fixed;width:min(380px,calc(100vw - 24px));background:var(--panel);border:1px solid var(--line-strong);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow);animation:pop-in .25s ease-out;transition:left .35s ease,top .35s ease}.tour-bubble p{margin:8px 0 12px;line-height:1.55}.tour-bubble-head{display:flex;align-items:center;gap:10px}.tour-bubble-head b{font-family:var(--display);font-size:1.15rem;flex:1}.tour-actions{display:flex;gap:8px;align-items:center}:root{--topbar-zoom: 1}@media(min-width:1800px)and (min-height:900px){:root{--topbar-zoom: 1.08}}@media(min-width:2200px)and (min-height:1000px){:root{--topbar-zoom: 1.12}}@media(min-width:2700px)and (min-height:1150px){:root{--topbar-zoom: 1.18}}@media(min-width:3200px)and (min-height:1250px){:root{--topbar-zoom: 1.25}}:root{--topbar-h: calc(60px * var(--topbar-zoom))}@media(min-width:761px){.topbar{padding:0 calc(24px * var(--topbar-zoom))}}.topbar>*{zoom:var(--topbar-zoom)}.page:not(.wide){zoom:var(--page-zoom, 1)}.board-wrap.ghost{box-shadow:0 18px 48px #00000073,0 0 0 3px #a0b4ff8c}.ghost-tag{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;max-width:calc(100% - 20px);padding:6px 14px;border-radius:999px;background:#101622d1;color:#dfe6ff;font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.ghost-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}.ghost-card{border-color:#a0b4ff73}.ghost-card.good{border-color:var(--accent)}.ghost-steps{margin:0 0 8px;padding-left:22px}.ghost-steps li{margin:4px 0;color:var(--ink3)}.ghost-steps li.done{color:var(--ink2)}.ghost-steps li.now{color:var(--ink);font-weight:650}.linkish{border:none;background:none;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.linkish:hover{text-decoration:underline}.ask-note{margin:-8px 0 0}.think-ask{display:flex;align-items:flex-end;gap:10px;width:100%;border:1px solid transparent;color:inherit;font:inherit;text-align:left;line-height:inherit;cursor:pointer}.think-ask:hover{border-color:var(--info)}.think-cta{margin-left:auto;flex-shrink:0;font-size:.85rem;font-weight:650;color:var(--info)}.local-chat{margin-top:10px}.model-list{display:flex;flex-direction:column;gap:8px}.model-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg2)}.model-row.on{border-color:var(--accent)}.model-name{flex:1}.model-progress{display:flex;flex-direction:column;gap:4px;width:180px}.avatar.chat{background:var(--info-soft)}.quick-questions{display:flex;flex-wrap:wrap;gap:6px}.board-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:10px}.board-nav button{height:44px;font-size:1.25rem;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);color:var(--ink)}.board-nav button:hover:not(:disabled){background:var(--line-strong)}.board-nav.ghost-nav button{border-color:#a0b4ff8c;color:#dfe6ff}.board-nav button:disabled{opacity:.35}.sub-toggle{margin-left:28px}.stage-above{margin-bottom:6px}.player-bar{display:flex;align-items:center;gap:8px;height:34px;padding:0 8px;border-radius:10px;margin-bottom:6px}.player-bar.to-move{background:var(--panel);box-shadow:inset 3px 0 0 var(--accent)}.player-swatch{width:14px;height:14px;border-radius:4px;border:1px solid var(--line-strong)}.player-swatch.white{background:#f2efe6}.player-swatch.black{background:#1a1a1a}.player-avatar{font-size:1.2rem}.player-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-captures{font-size:1.05rem;letter-spacing:-2px;color:var(--ink2);white-space:nowrap}.player-captures .small{letter-spacing:0}.player-turn{font-size:.8rem;font-weight:700;color:var(--accent)}.stage.with-bars{--board: min(calc(100vh - var(--topbar-h) - 236px), calc(100vw - var(--side-w) - 120px))}@media(max-width:1100px){.stage.with-bars{--board: min( calc(100vw - 90px) , calc(100vh - var(--topbar-h) - 236px))}}@media(max-width:760px){.stage.with-bars{--board: calc(100vw - 68px) }}.offline-banner{padding:8px 24px;background:var(--seal-soft);color:var(--ink);border-bottom:1px solid var(--seal);font-size:.92rem;text-align:center}.line .line-ghost{padding:0 6px;min-height:0;line-height:1.5;vertical-align:baseline}.toolbar .ghost-step{border-color:#a0b4ff8c;color:#dfe6ff}.arrow-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:20}.page-loading{min-height:60vh}.master-card .card-title{display:flex;align-items:center;gap:10px}.master-emoji{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gold-soft);border:1px solid rgba(232,180,74,.35);font-size:1.15rem;flex:none}.master-emoji.big{width:64px;height:64px;font-size:2rem}.master-head{display:flex;align-items:center;gap:16px;margin:8px 0 18px}.master-head h2{margin:0;font-family:var(--display)}.master-head p{margin:4px 0 0}.principles{margin:12px 0 4px;padding-left:20px}.principles li{margin:6px 0}.lesson-list{margin:0;padding-left:22px}.lesson-list li{margin:4px 0}.lesson-row{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:8px 10px;border-radius:10px;text-align:left}.lesson-row:hover{background:var(--panel-2)}.engine-verdict p{margin:6px 0}.coach-style{align-items:center;gap:12px;margin-top:12px}.coach-style select{margin-left:6px}.ob-test-notice{max-width:460px;margin:0 auto 12px;display:grid;justify-items:center;gap:8px}.turnstile{min-height:65px;margin-top:8px}.stage-track{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.stage-step{padding:4px 12px;border-radius:999px;border:1px solid var(--line);font-size:.9em;opacity:.7}.stage-step.done{border-color:var(--accent);color:var(--accent);opacity:1}.stage-step.current{background:var(--accent-soft);border-color:var(--accent);font-weight:600;opacity:1}.class-home .progress-line{margin-bottom:14px}.class-steps li{margin-bottom:6px}.class-table{width:100%;border-collapse:collapse;margin-bottom:8px}.class-table th,.class-table td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--line)}.class-table td:nth-child(2),.class-table td:nth-child(3){text-align:center}.hint-card,.caught-box{border:1px solid var(--accent);border-radius:10px;padding:8px 12px;margin:8px 0}.caught-box{border-color:var(--seal)}.class-alone .done-banner{margin:0 auto 10px;max-width:1200px}.sq-mark{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:min(8vw,52px);color:var(--gold);text-shadow:0 1px 0 rgba(0,0,0,.45),0 0 10px rgba(232,180,74,.55);pointer-events:none;z-index:1;animation:pop-in .3s ease-out}.basics-home{display:flex;flex-direction:column;gap:18px}.basics-hero{display:flex;flex-direction:column;gap:14px}.basics-hero h1{margin:0}.basics-progress{display:flex;align-items:center;gap:12px}.basics-progress .progress-line{flex:1}.basics-continue{width:100%;min-height:56px}.unlock-next{display:flex;gap:12px;align-items:center;background:var(--gold-soft);border-radius:14px;padding:12px 16px;animation:fade-up .3s ease-out}.unlock-next-icon{font-size:1.8rem}.unlocked-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.unlocked-row .chip{min-height:40px}.basics-chapters{display:flex;flex-direction:column;gap:12px}.chapter{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px 14px}.chapter-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.chapter-head b{flex:1}.chapter-num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);font-weight:700;font-size:.9rem}.chapter.done .chapter-num{background:var(--accent);color:var(--accent-ink)}.chapter-lessons{display:flex;flex-wrap:wrap;gap:8px}.lesson-chip{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:8px 14px;border-radius:12px;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--ink);font:inherit;font-weight:600}.lesson-chip-icon{font-size:1.1rem;width:1.3em;text-align:center}.lesson-chip.done{background:var(--accent-soft);border-color:transparent}.lesson-chip.done .lesson-chip-icon{color:var(--accent)}.lesson-chip.current{border:2px solid var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.lesson-chip.later{color:var(--ink3);border-style:dashed;background:transparent;font-weight:500}.basics-skip{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.basics-skip p{margin:0}.lesson-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}.lesson-title{font-family:var(--display);font-size:1.1rem;flex:1;min-width:8em}.step-dots{display:inline-flex;gap:5px;align-items:center}.step-dots .dot{width:10px;height:10px;border-radius:50%;background:var(--line-strong)}.step-dots .dot.challenge{box-shadow:0 0 0 2px var(--gold-soft)}.step-dots .dot.done{background:var(--accent)}.step-dots .dot.now{background:var(--ink);transform:scale(1.25)}.challenge-tag{background:var(--gold-soft);color:var(--gold);border-radius:999px;padding:3px 10px;font-size:.82rem;font-weight:700}.lesson-status{font-size:1.25rem;letter-spacing:.08em;color:var(--gold);white-space:pre}.choose-list{display:flex;flex-direction:column;gap:8px}.choose-btn{min-height:54px;text-align:left;font-size:1.05rem;padding:12px 16px;border-radius:14px}.choose-btn.right{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);opacity:1}.choose-btn.wrong{background:var(--seal-soft);color:var(--seal);border-color:transparent}.result-flash.hint{background:var(--gold-soft);color:var(--gold)}.lesson-hint{margin:0;color:var(--ink2)}.lesson-outcome{display:flex;flex-direction:column;gap:12px;scroll-margin-bottom:12px}.lesson-actions{display:flex;gap:10px;flex-wrap:wrap}.lesson-actions>button{flex:1;min-height:52px}.link-btn{background:none;border:none;color:var(--accent);text-decoration:underline;padding:10px 0;min-height:44px;cursor:pointer;align-self:flex-start}.basics-lesson .stage-side{min-height:0}.basics-game .page-pad{padding:12px 28px 0}.first-game-done{display:flex;flex-direction:column;gap:8px;margin:12px 28px 0;border-color:var(--accent);animation:pop-in .3s ease-out}.basics-done,.basics-game-intro{display:flex;flex-direction:column;align-items:center;gap:14px}.basics-game-intro .lesson-head{text-align:left}.unlock-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:210;background:#040705b8;display:grid;place-items:center;padding:16px}.unlock-card{background:var(--panel);border:1px solid var(--line-strong);border-radius:20px;padding:22px 20px;width:min(440px,100%);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;text-align:center;animation:pop-in .3s cubic-bezier(.2,1.6,.4,1)}.unlock-card h2{margin:0;font-family:var(--display)}.unlock-card .bubble-row{text-align:left}.unlock-icon{font-size:2rem}.unlock-icon.big{font-size:3.2rem}.unlock-card.inline{flex-direction:row;align-items:flex-start;text-align:left;width:min(560px,100%);border-color:var(--gold)}.unlock-card.inline p{margin:4px 0 8px}@media(max-width:760px){.basics-lesson{--board: calc(100vw - 32px) }.basics-lesson.page.wide{padding:12px 16px 24px}.basics-lesson .stage{gap:12px}.basics-lesson .stage-side{height:auto}.basics-lesson .stage-scroll{padding:12px 14px}.basics-lesson .instruction{font-size:1.15rem}.basics-lesson .bubble{padding:9px 12px;font-size:.97rem;line-height:1.45}.basics-lesson .stage-head{padding:10px 14px}.basics-lesson .stage-scroll{gap:10px}.lesson-chip{flex:1 1 calc(50% - 8px)}.basics-game .page-pad{padding:10px 16px 0}.first-game-done{margin:10px 16px 0}}.checklist{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.checklist p{margin:0}.checklist-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.checklist-head h2{margin:0;font-size:1.15rem}.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.check-item{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--panel-2);text-align:left}.check-item.done{background:var(--accent-soft)}.check-box{flex:none;width:24px;height:24px;border-radius:7px;border:2px solid var(--line-strong);display:grid;place-items:center;font-weight:800;color:var(--accent-ink)}.check-item.done .check-box{background:var(--accent);border-color:var(--accent)}.check-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.check-count{flex:none;font-weight:700;color:var(--ink2);font-variant-numeric:tabular-nums}.tick-note{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:220;width:min(460px,calc(100vw - 32px));display:flex;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--accent);border-radius:16px;padding:12px 16px;box-shadow:var(--shadow);animation:pop-in .3s cubic-bezier(.2,1.6,.4,1);cursor:pointer}.tick-mark{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:1.1rem}.ob-profile-result{max-width:640px}.ob-profile-result .checklist{width:100%;text-align:left}.profile-games{width:100%;text-align:left;display:flex;flex-direction:column;gap:6px}.profile-games ul{margin:0;padding-left:1.2em;line-height:1.5}.profile-start{margin:0}.report-group{margin:10px 0 4px}.report-head{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);margin:0 0 4px}.report-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.report-line{display:flex;gap:8px;align-items:baseline;line-height:1.4}.report-mark{flex:0 0 1.1em;font-weight:800;text-align:center}.report-line.better .report-mark{color:var(--accent)}.report-line.worse .report-mark{color:var(--bad)}.report-line.same .report-mark{color:var(--ink3)}.report-focus{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--accent-soft)}.report-focus p{margin:0 0 8px}.report-focus .card-actions{flex-direction:row;flex-wrap:wrap;gap:8px}.report-focus button{min-height:44px}.week-short .report-lines{margin:4px 0;font-size:.92rem}.week-short .report-focus{padding:10px 12px;margin:6px 0}.week-short .report-focus p{font-size:.92rem}.then-now{margin-top:14px}.then-now-pair{display:flex;flex-wrap:wrap;gap:12px}.then-now-pair figure{margin:0;flex:0 1 136px;max-width:136px;display:flex;flex-direction:column;gap:6px}.then-now-pair figure>:first-child{max-width:100%}.report-trends{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:14px}.report-trends>div{display:flex;flex-direction:column;gap:2px;max-width:100%}.report-trends svg{max-width:100%;height:auto}.habit-line,.habit-followup{margin:4px 0 12px;padding:10px 12px;border-left:3px solid var(--gold);background:var(--gold-soft);border-radius:8px;line-height:1.45}.habit-followup{max-width:520px;text-align:left}.review-ready{border-color:var(--gold);gap:6px}.review-ready button{min-height:44px;margin-top:4px}.review-top{display:flex;align-items:center;gap:8px;padding-bottom:0}.daily-switch{display:flex;gap:8px;align-items:flex-start;margin-top:8px;line-height:1.4;cursor:pointer}.daily-switch input{margin-top:2px;flex:0 0 auto}.progress-trends>.card{flex:1 1 320px;min-width:0}.skill-chart,.forecast-chart{width:100%;max-width:520px;height:auto;display:block;margin:4px 0 10px}.chart-grid{stroke:var(--line);stroke-width:1}.chart-label{fill:var(--ink3);font-size:9px;font-family:var(--sans)}.skill-line{stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.skill-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.skill-list li{display:grid;grid-template-columns:12px minmax(0,8.5em) 2.4em minmax(0,1fr);gap:8px;align-items:baseline}.skill-dot{width:10px;height:10px;border-radius:50%;align-self:start;margin-top:.4em}.how-list{margin:6px 0 0;padding-left:1.2em;line-height:1.5;color:var(--ink2)}.forecast+.forecast{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.forecast p{margin:0 0 6px}.forecast-band{fill:var(--info-soft);stroke:none}.forecast-line{stroke:var(--info);stroke-width:2;stroke-dasharray:5 4}.forecast-dot{fill:var(--ink2)}.rival-card{gap:6px}.rival-head{display:flex;align-items:center;gap:10px}.rival-emoji{font-size:1.8rem;line-height:1}.rival-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.milestone{margin:4px 0;padding:10px 12px;border-radius:12px;background:var(--gold-soft);border:1px solid var(--gold)}.milestone p{margin:0 0 8px}.rename{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rename input{min-width:0;flex:1 1 8em}.rep-line{font-family:var(--mono, ui-monospace, monospace);line-height:1.8}.rep-line .mine{color:var(--accent);font-weight:700}.rep-line .theirs{color:var(--ink2)}ul.plain{margin:0;padding-left:1.1em}.prep-plan{margin:8px 0;padding-left:1.3em}.prep-plan li{margin:4px 0}.prep-side{margin-top:10px}.prep-side summary{cursor:pointer;font-weight:650}.access-level{display:inline-block;margin-top:4px;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft)}.sign-in-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.sign-in-card{width:min(100%,420px);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.sign-in-card .display{margin:4px 0 0}.sign-in-card h2{margin:18px 0 0}.sign-in-form{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.sign-in-form .row{width:100%}.sign-in-form.big input{min-height:46px;font-size:1rem}.sign-in-or{width:100%;display:flex;align-items:center;gap:12px;margin:14px 0 2px;color:var(--ink2);font-size:.9rem}.sign-in-or:before,.sign-in-or:after{content:"";flex:1;border-top:1px solid var(--line)}.visitor-btn{width:100%;min-height:46px;font-weight:700}.sign-in-form .row button{flex:none;white-space:nowrap}.visitor-btn{justify-content:center;text-align:center}:root{--fs-display: clamp(2.1rem, 1.35rem + 3vw, 3.4rem);--fs-h1: clamp(1.75rem, 1.25rem + 2vw, 2.5rem);--fs-h2: clamp(1.3rem, 1.08rem + .9vw, 1.7rem);--fs-h3: clamp(1.08rem, 1rem + .35vw, 1.22rem);--fs-body: 1rem;--fs-small: .875rem;--fs-label: .72rem;--surface: linear-gradient(180deg, color-mix(in srgb, var(--panel) 92%, #ffffff 8%) 0%, var(--panel) 38%);--surface-hi: inset 0 1px 0 rgba(255, 255, 255, .05);--lift: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 18px 40px -12px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .25);--radius: 18px;--radius-sm: 12px;--ease: cubic-bezier(.2, .7, .2, 1);--tap: 40px}@media(prefers-color-scheme:light){:root{--surface: linear-gradient(180deg, #ffffff 0%, var(--panel) 45%);--surface-hi: inset 0 1px 0 rgba(255, 255, 255, .7);--lift: 0 1px 2px rgba(40, 30, 10, .06), 0 16px 34px -14px rgba(40, 30, 10, .22)}}@media(pointer:coarse){:root{--tap: 44px}}html,body{font-size:16px;line-height:1.6;text-rendering:optimizeLegibility}body{overflow-x:clip}body:before{content:"";position:fixed;inset:0 0 auto 0;height:70vh;z-index:-1;pointer-events:none;background-image:conic-gradient(var(--ink) 25%,transparent 0 50%,var(--ink) 0 75%,transparent 0);background-size:64px 64px;opacity:.025;-webkit-mask-image:radial-gradient(80% 90% at 70% 0%,#000 0%,transparent 75%);mask-image:radial-gradient(80% 90% at 70% 0%,#000 0%,transparent 75%)}.page{padding:clamp(18px,3vw,36px) clamp(16px,3.2vw,40px) 72px;animation:page-in .38s var(--ease) both}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}.grid>*,.stats>*{animation:page-in .42s var(--ease) both}.grid>:nth-child(2),.stats>:nth-child(2){animation-delay:40ms}.grid>:nth-child(3),.stats>:nth-child(3){animation-delay:80ms}.grid>:nth-child(4),.stats>:nth-child(4){animation-delay:.12s}.grid>:nth-child(n+5),.stats>:nth-child(n+5){animation-delay:.16s}h1,h2,h3{font-family:var(--display);font-optical-sizing:auto;color:var(--ink);text-wrap:balance}h1{font-size:var(--fs-h1);font-weight:650;letter-spacing:-.02em;line-height:1.08}h2{font-size:var(--fs-h2);font-weight:600;letter-spacing:-.015em;line-height:1.15;margin:1.4em 0 .6em}h2:first-child{margin-top:0}h3{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.01em;line-height:1.25}h4{font-family:var(--sans);font-size:.98rem;font-weight:700;letter-spacing:0}.display{font-size:var(--fs-display);font-weight:680;letter-spacing:-.03em;line-height:1.02;font-variation-settings:"SOFT" 80,"WONK" 1}.eyebrow,.label,.info-label,.stat-label{font-family:var(--sans);font-size:var(--fs-label);font-weight:750;letter-spacing:.13em;text-transform:uppercase;line-height:1.3}.eyebrow{color:var(--gold);margin:0 0 8px}.label,.info-label,.stat-label{color:var(--ink3)}.lead{font-size:clamp(1.02rem,.96rem + .3vw,1.14rem);line-height:1.55;max-width:62ch;color:var(--ink2)}.small{font-size:var(--fs-small)}.muted{color:var(--ink2)}.num,.stat-value,.info-value,.big{font-variant-numeric:tabular-nums}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:clamp(18px,2.4vw,28px)}.page-head h1{margin:0;font-size:var(--fs-h1)}.page-head h1.display{font-size:var(--fs-display)}.page-head .lead{margin:8px 0 0;flex:0 0 100%;max-width:none;padding-right:max(0px,calc(100% - 62ch))}.page>h1:first-child,.page>h1.display:first-child{margin-bottom:.45em}.card,.info-card,.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--surface-hi),var(--shadow)}.card{padding:clamp(16px,2vw,22px);margin-bottom:18px}.card-title{font-size:var(--fs-h3);margin:0 0 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card-actions{gap:10px;margin-top:16px}.info-card{padding:16px 18px;gap:4px}.info-value{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);line-height:1.1;letter-spacing:-.02em}.stat{padding:14px 18px}.stat-value{font-size:clamp(1.5rem,1.25rem + 1vw,2rem);line-height:1.1;letter-spacing:-.02em}@media(hover:hover){.grid.cards>.card,.quick-card,.tile{transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s}.grid.cards>.card:hover,.quick-card:hover,.tile:hover{transform:translateY(-2px);box-shadow:var(--lift);border-color:var(--line-strong)}}button,.button{min-height:var(--tap);padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;line-height:1.2;background:color-mix(in srgb,var(--panel-2) 88%,#ffffff 4%);box-shadow:var(--surface-hi);transition:background .15s,border-color .15s,transform .1s var(--ease),box-shadow .18s var(--ease),filter .15s}button:hover:not(:disabled),.button:hover{border-color:color-mix(in srgb,var(--accent) 70%,var(--line-strong))}button.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#ffffff 12%),var(--accent));border-color:transparent;color:var(--accent-ink);font-weight:750;box-shadow:inset 0 1px #ffffff40,0 8px 22px -8px color-mix(in srgb,var(--accent) 70%,transparent)}button.primary:hover:not(:disabled){filter:brightness(1.05);box-shadow:inset 0 1px #ffffff40,0 12px 28px -8px color-mix(in srgb,var(--accent) 80%,transparent)}button.ghost{background:transparent;box-shadow:none}button.small{min-height:32px;padding:5px 12px;font-size:.85rem;border-radius:10px}@media(pointer:coarse){button.small{min-height:40px}}.huge-btn{min-height:52px;font-size:1.08rem!important}input,select,textarea{min-height:var(--tap);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg2) 85%,#000000 15%);transition:border-color .15s,box-shadow .15s}input[type=range],input[type=checkbox],input[type=radio]{min-height:0}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}@media(max-width:760px),(pointer:coarse){:root{--fs-label: .8125rem}}@media(max-width:760px){input,select,textarea{font-size:16px}}.pill{padding:3px 10px;font-size:.75rem;letter-spacing:.01em;border:1px solid color-mix(in srgb,currentColor 18%,transparent)}@media(max-width:760px),(pointer:coarse){.pill{font-size:.8125rem}}@media(max-width:760px){.segmented{flex-wrap:wrap;max-width:100%}.segmented button{padding-inline:12px}}.tabs{gap:6px;margin:6px 0 20px}.tabs button{border-radius:999px;padding:7px 16px;background:transparent;box-shadow:none;color:var(--ink2)}.tabs button:hover:not(:disabled){color:var(--ink)}.tabs button.on{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}@media(max-width:760px){.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1*clamp(16px,3.2vw,40px));padding-inline:clamp(16px,3.2vw,40px)}.tabs::-webkit-scrollbar{display:none}.tabs>*{flex:none}.tabs .spacer{display:none}}.topbar{background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom-color:color-mix(in srgb,var(--line) 80%,transparent)}.brand{font-size:1.3rem;letter-spacing:-.01em}.mainnav button{font-weight:600;letter-spacing:.005em;min-height:0;box-shadow:none}.menu{border-radius:var(--radius);box-shadow:var(--lift)}.menu [role=menuitem]{box-shadow:none}@media(max-width:360px){.topbar{gap:4px;padding:0 6px}.mainnav button{min-width:40px;padding:0 4px;font-size:.9rem}.topbar-right{gap:4px}.avatar-btn{min-width:40px;min-height:40px;padding:2px}}@media(prefers-reduced-motion:reduce){.page,.grid>*,.stats>*{animation:none}}.update-notice{position:fixed;top:calc(var(--topbar-h) + 10px);left:12px;right:12px;z-index:60;max-width:560px;margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;padding:12px 14px 12px 18px;background:var(--surface);background-color:var(--panel);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:var(--radius);box-shadow:var(--lift);animation:page-in .3s var(--ease) both}.update-notice p{margin:0;flex:1 1 240px;font-size:var(--fs-small);line-height:1.45}@media(max-width:600px){:root{--fs-display: 1.85rem;--fs-h1: 1.6rem;--fs-h2: 1.3rem;--fs-h3: 1.06rem;--fs-small: .875rem;--fs-label: .875rem}html,body{font-size:15px;line-height:1.55}.lead{font-size:1rem}.pill,.level,button.small{font-size:.875rem}.eyebrow,.label,.info-label,.stat-label{letter-spacing:.07em}.card{padding:14px}.page{padding-top:16px}}@media(max-width:600px){.mainnav .badge{font-size:13px;padding:0 5px;line-height:1.35}}@media(min-width:761px)and (max-width:1100px){.avatar-name{display:inline-block;max-width:10ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}}.home,.progress,.scout,.students-page{--gap: clamp(14px, 2.2vw, 22px);max-width:1180px}.home>*+*,.progress>*+*,.scout>*+*,.students-page>*+*{margin-top:var(--gap)}.home .card,.progress .card,.scout .card,.students-page .card{margin-bottom:0}.home .num,.progress .num,.scout .num,.students-page .num{font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px;-webkit-overflow-scrolling:touch}.table-wrap .table{min-width:520px}.pair{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap);align-items:start}@media(min-width:880px){.pair{grid-template-columns:repeat(2,minmax(0,1fr))}}.pair>:only-child{grid-column:1 / -1}.trend-chart{display:block;width:100%;max-width:560px;height:auto;overflow:visible}.trend-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:2 4}.trend-axis{fill:var(--ink3);font-size:10px}.trend-value{fill:var(--ink);font-size:12px;font-weight:700}.trend-line{fill:none;stroke:var(--trend, var(--info));stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.trend-dot{fill:var(--trend, var(--info));stroke:var(--panel);stroke-width:2}.trend-fill-top{stop-color:var(--trend, var(--info));stop-opacity:.28}.trend-fill-bottom{stop-color:var(--trend, var(--info));stop-opacity:0}.trend-good{--trend: var(--accent)}.trend-bad{--trend: var(--bad)}.home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:0}.home-head-text{min-width:0;flex:1 1 420px}.home-head-text .display{margin:4px 0 6px}.home-head-text .lead{margin:0}.home-badges{display:flex;gap:8px;flex-wrap:wrap}.home-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:var(--panel);border:1px solid var(--line);color:var(--ink2);white-space:nowrap}.home-badge b{color:var(--ink)}.streak-badge{background:var(--gold-soft);border-color:color-mix(in srgb,var(--gold) 40%,transparent);color:var(--gold)}.streak-badge b{color:var(--gold)}.home-hero.session-card{padding:clamp(18px,3.4vw,34px);border-radius:26px;isolation:isolate}.home-art{position:absolute;inset:0 0 auto auto;width:min(46%,420px);aspect-ratio:1;z-index:-1;pointer-events:none;background:repeating-conic-gradient(color-mix(in srgb,var(--accent) 16%,transparent) 0 25%,transparent 0 50%) 0 0 / 25% 25%;-webkit-mask-image:radial-gradient(circle at 100% 0,#000 0,transparent 70%);mask-image:radial-gradient(circle at 100% 0,#000 0,transparent 70%)}.home-piece{position:absolute;right:6%;top:4%;font-size:clamp(64px,11vw,150px);line-height:1;color:color-mix(in srgb,var(--accent) 34%,transparent);transform:rotate(-8deg);animation:home-bob 6s ease-in-out infinite}@keyframes home-bob{50%{transform:rotate(-4deg) translateY(-6px)}}.home-hero-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.home-hero-head h2{margin:2px 0 0}.home-hero-head .label{margin:0}.coach-say{position:relative;margin:0 0 18px;padding:12px 16px;border-radius:16px 16px 16px 4px;background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);line-height:1.5;max-width:70ch}.coach-say-who{display:block;font-weight:700;color:var(--gold);margin-bottom:2px}.home-steps{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:20px}.home-steps li{align-items:flex-start;min-width:0;background:color-mix(in srgb,var(--bg2) 82%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.home-steps .step-text{min-width:0}.home-steps .step-text b{overflow-wrap:anywhere}.home-steps .step-min{white-space:nowrap;padding-top:2px}@media(min-width:900px){.home-steps{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.home-steps li{flex-direction:column;gap:10px;padding:14px}.home-steps .step-min{padding:0}}.home-start{width:100%}@media(min-width:900px){.home-start{width:auto;min-width:320px}}.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:var(--gap);align-items:stretch}.home-cards:empty{display:none}.home-card{gap:8px;padding:18px;min-width:0}.home-card h3,.home-card .label{margin:0}.home-card-head{display:flex;flex-direction:column;gap:4px}.review-ready{border-color:color-mix(in srgb,var(--gold) 60%,transparent);background:linear-gradient(160deg,var(--gold-soft),var(--panel) 65%)}.review-board{align-self:center;margin:4px 0;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #0000004d}.review-ready>button,.rival-card .primary{min-height:44px;margin-top:auto}.rival-card{border-color:color-mix(in srgb,var(--info) 45%,transparent);background:linear-gradient(160deg,var(--info-soft),var(--panel) 65%)}.rival-head{display:flex;align-items:center;gap:12px}.rival-emoji{width:56px;height:56px;flex:0 0 56px;border-radius:50%;display:grid;place-items:center;font-size:30px;background:var(--panel-2);border:1px solid var(--line-strong)}.rival-rating{margin:2px 0 0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.rival-rating b{font-family:var(--display);font-size:1.6rem}.rival-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}.rival-card .trend-chart{margin:2px 0}.week-short{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:linear-gradient(160deg,var(--accent-soft),var(--panel) 65%)}.week-short .report-focus{background:color-mix(in srgb,var(--bg2) 70%,transparent)}.week-more{align-self:flex-start;margin-top:auto}.home .checklist-head,.progress .checklist-head,.scout .checklist-head,.students-page .checklist-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}.home .checklist-head h2,.progress .checklist-head h2,.scout .checklist-head h2,.students-page .checklist-head h2{margin:0}.home .check-list,.progress .check-list,.scout .check-list,.students-page .check-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}@media(min-width:900px){.home .checklist-short .check-list,.progress .checklist-short .check-list,.scout .checklist-short .check-list,.students-page .checklist-short .check-list{grid-template-columns:repeat(3,minmax(0,1fr))}.home .checklist-short .check-item,.progress .checklist-short .check-item,.scout .checklist-short .check-item,.students-page .checklist-short .check-item{height:100%}}.home .check-item,.progress .check-item,.scout .check-item,.students-page .check-item{min-width:0}.home .check-text,.progress .check-text,.scout .check-text,.students-page .check-text{min-width:0;overflow-wrap:anywhere}.home-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--gap)}.fact{gap:4px;min-width:0}.fact .label,.fact p{margin:0}.fact-value{font-family:var(--display);font-size:clamp(2rem,4vw,2.6rem);font-weight:700;line-height:1.05}.fact-text{font-weight:700;font-size:1.05rem}.fact-ratings{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.fact-ratings li{display:flex;flex-direction:column;gap:4px}.fact-chips{display:flex;gap:6px;flex-wrap:wrap}.quick h2{margin:0 0 12px}.quick-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.quick-card{min-height:76px;padding:16px 18px;transition:transform .15s ease,border-color .15s ease}.quick-card:hover{transform:translateY(-2px)}.quick-text{min-width:0}.quick-card .tile-icon{width:48px;height:48px;flex:0 0 48px;border-radius:14px;display:grid;place-items:center;font-size:24px}.quick-green .tile-icon{background:var(--accent-soft)}.quick-gold .tile-icon{background:var(--gold-soft)}.quick-blue .tile-icon{background:var(--info-soft)}.quick-green:hover{border-color:var(--accent)}.quick-gold:hover{border-color:var(--gold)}.quick-blue:hover{border-color:var(--info)}.week-report{padding:clamp(18px,3vw,28px)}.week-report-head .label,.week-report-head h2{margin:0}.week-report-head h2{margin-top:2px}.week-report-head .lead{margin:6px 0 0}.report-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px}@media(min-width:760px){.report-columns{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}.report-columns:empty{display:none}.report-group{margin:0;padding:14px 16px;border-radius:14px;background:var(--bg2);border:1px solid var(--line)}.report-group.report-better{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.report-group.report-worse{border-color:color-mix(in srgb,var(--bad) 45%,transparent)}.week-short .report-group{padding:0;background:none;border:0}.report-longer{margin:12px 0 0;padding-left:12px;border-left:3px solid var(--accent)}.report-bottom{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}@media(min-width:880px){.report-bottom{grid-template-columns:minmax(0,1fr) auto}}.report-bottom .report-focus,.report-bottom .then-now{margin:0}.report-focus .card-actions button{min-height:44px}.report-trends{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:18px}@media(min-width:760px){.report-trends{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.report-trend{margin:0;padding:12px 14px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);min-width:0}.report-trend figcaption{margin-bottom:4px}.report-trends>div{max-width:none}@media(max-width:480px){.home-hero .avatar.big{width:44px;height:44px;font-size:1.4rem}.home-badge{padding:6px 12px}.coach-say{padding:10px 12px}}@media(max-width:600px){.home-steps{gap:6px;margin-bottom:16px}.home-steps li{padding:8px 10px;align-items:center}.home-steps .step-text .muted{display:none}.home-steps .step-icon{width:32px;height:32px;flex-basis:32px}.home-steps .step-min{padding:0}.home-hero-head{margin-bottom:12px}.coach-say{margin-bottom:14px}}@media(max-width:480px){.home-head .lead,.home-badges{display:none}.home-hero.session-card{padding:16px}}.progress .page-head,.scout .page-head,.students-page .page-head{margin-bottom:0}.progress .page-head .display,.scout .page-head .display,.students-page .page-head .display{margin:4px 0 6px}.progress .page-head .lead,.scout .page-head .lead,.students-page .page-head .lead{margin:0;max-width:68ch}.progress-stats,.scout-stats,.students-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px}.progress-stats .stat,.scout-stats .stat,.students-stats .stat{min-width:0}.accuracy-now{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 6px}.accuracy-now b{font-family:var(--display);font-size:2rem;line-height:1}.home .leak-list,.progress .leak-list,.scout .leak-list,.students-page .leak-list{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 28px;margin-top:8px}@media(min-width:760px){.home .leak-list,.progress .leak-list,.scout .leak-list,.students-page .leak-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.home .leak,.progress .leak,.scout .leak,.students-page .leak{padding:10px 0;border-bottom:1px solid var(--line);min-width:0}.home .leak p,.progress .leak p,.scout .leak p,.students-page .leak p{margin:4px 0 0}.home .leak-head,.progress .leak-head,.scout .leak-head,.students-page .leak-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.phase-line{margin:12px 0 0}.progress .grid.moments,.scout .grid.moments{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:16px}.home .moment,.progress .moment,.scout .moment,.students-page .moment{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);min-width:0}.home .moment>:first-child,.progress .moment>:first-child,.scout .moment>:first-child,.students-page .moment>:first-child{max-width:100%;align-self:center}.home .moment p,.progress .moment p,.scout .moment p,.students-page .moment p{margin:0}.home .moment button,.progress .moment button,.scout .moment button,.students-page .moment button{align-self:flex-start;margin-top:auto}.skill-profile,.rating-forecast{min-width:0}.skill-chart,.forecast-chart{max-width:none}.skill-list{gap:2px}.skill-list li{grid-template-columns:12px minmax(0,1fr) 2.6em minmax(0,auto);padding:8px 0;border-bottom:1px solid var(--line)}.skill-list li>b{font-family:var(--display);font-size:1.15rem;text-align:right;font-variant-numeric:tabular-nums}.skill-list li>.muted{text-align:right}.forecast-line-text,.forecast>p:nth-child(2){font-size:1.05rem;line-height:1.45}.forecast-band{fill:color-mix(in srgb,var(--info) 22%,transparent)}.forecast-dot{fill:color-mix(in srgb,var(--ink2) 70%,transparent)}.how-list li+li{margin-top:4px}.scout .account-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));margin:var(--gap) 0 0;gap:var(--gap)}.scout .account-card{min-width:0;display:flex;flex-direction:column}.scout .account-card .name-row{margin-top:auto}.home .name-row,.progress .name-row,.scout .name-row,.students-page .name-row{display:flex;gap:8px;min-width:0}.home .name-row input,.progress .name-row input,.scout .name-row input,.students-page .name-row input{flex:1 1 auto;min-width:0}.home .name-row button,.progress .name-row button,.scout .name-row button,.students-page .name-row button{flex:0 0 auto;min-height:40px}.home .linked-account-head b,.progress .linked-account-head b,.scout .linked-account-head b,.students-page .linked-account-head b{overflow-wrap:anywhere;min-width:0}.scan-card .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.scan-card .segmented,.report-picker{max-width:100%;flex-wrap:wrap}.scan-card .chip-row{flex-wrap:wrap}.scan-card .card-actions{flex-direction:row;flex-wrap:wrap}.scout-report>*+*{margin-top:var(--gap)}.scout-report-head .label,.scout-report-head h2{margin:0}.scout-report-head h2{margin-top:2px;overflow-wrap:anywhere}.result-bar{margin-top:10px;max-width:520px}.result-bar p{margin:6px 0 0}.result-track{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--bg2)}.result-win{background:var(--accent)}.result-draw{background:var(--ink3)}.result-loss{background:var(--bad)}.scout-trio{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap);align-items:start}@media(min-width:900px){.scout-trio{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.scout-trio .leaks-card{grid-row:span 2}}.clock-figure{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 8px}.clock-figure b{font-family:var(--display);font-size:2.2rem;line-height:1}.scout .table td a{white-space:nowrap}.students-how{max-width:68ch}.students-how summary{cursor:pointer;color:var(--accent);font-weight:600;min-height:40px;display:flex;align-items:center}.students-how p{margin:4px 0 0}.student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--gap);align-items:stretch}.student{display:flex;flex-direction:column;gap:10px;min-width:0}.student>*{margin:0}.student.is-rival{border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:linear-gradient(170deg,var(--accent-soft),var(--panel) 55%)}.student-head{display:flex;align-items:flex-start;gap:12px}.student-avatar{width:60px;height:60px;flex:0 0 60px;border-radius:18px;display:grid;place-items:center;font-size:32px;background:var(--panel-2);border:1px solid var(--line-strong)}.student-name{flex:1 1 auto;min-width:0}.student-name h3{margin:0;display:flex;align-items:center;gap:4px;overflow-wrap:anywhere}.student-name p{margin:4px 0 0}.rename-btn{min-width:36px}.student .rename{display:flex;gap:6px;flex-wrap:wrap}.student .rename input{flex:1 1 120px;min-width:0}.student-rating{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.student-rating b{font-family:var(--display);font-size:2.6rem;line-height:1}.student-xp p{margin:6px 0 0}.student-nochart{padding:14px;border-radius:12px;background:var(--bg2);text-align:center}.student-record{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--ink2)}.student-record b{color:var(--ink)}.student-actions{margin-top:auto;flex-direction:row;flex-wrap:wrap}.student-actions button{min-height:40px}.camp-card .split{gap:var(--gap)}.student-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:8px}.student-actions .primary{grid-column:1 / -1}@media(max-width:600px){.home button,.progress button,.scout button,.students-page button,.scout select,.scout input:not([type=checkbox]){min-height:40px}.home .daily-switch,.progress .daily-switch,.scout .daily-switch,.students-page .daily-switch{min-height:40px;align-items:center;padding:4px 0}.home .daily-switch input,.progress .daily-switch input,.scout .daily-switch input,.students-page .daily-switch input{width:22px;height:22px;margin:0}.scout .table td a{display:inline-flex;align-items:center;min-height:40px}}.report-label{margin:0 0 6px}@media(max-width:480px){.progress-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.progress-stats .stat{padding:10px}}.student-name>.pill{display:inline-block;margin-bottom:4px}.student-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.student-actions button{white-space:nowrap}@media(max-width:600px){.home,.progress,.scout,.students-page{--gap: 12px;padding-bottom:32px}.home .page-head .display,.progress .page-head .display,.scout .page-head .display,.students-page .page-head .display{margin:2px 0 4px}.home-hero.session-card{padding:14px;border-radius:18px}.home-piece{font-size:48px}.home-hero-head{gap:10px;margin-bottom:10px}.home-hero .avatar.big{width:40px;height:40px;font-size:1.25rem}.coach-say{padding:8px 12px;margin-bottom:10px;line-height:1.45}.home-steps{gap:4px;margin-bottom:12px}.home-steps li{padding:6px 10px;gap:10px;border-radius:12px}.home-steps .step-icon{width:28px;height:28px;flex-basis:28px;font-size:1rem;border-radius:9px}.home-start.huge-btn{min-height:48px;padding-top:10px;padding-bottom:10px}.home-card{padding:12px 14px;gap:6px}.review-board{margin:2px 0}.rival-emoji{width:44px;height:44px;flex-basis:44px;font-size:24px}.rival-rating b{font-size:1.35rem}.home .fact{padding:12px 14px}.fact-value{font-size:1.6rem}.fact-text{font-size:1rem}.quick h2{margin-bottom:8px}.quick-row{gap:8px}.quick-card{min-height:60px;padding:10px 12px;gap:12px}.quick-card .tile-icon{width:40px;height:40px;flex-basis:40px;font-size:20px;border-radius:12px}.home .checklist-head{margin-bottom:6px}.home .check-list,.progress .check-list{gap:6px}.week-report{padding:14px}.report-columns,.report-bottom,.report-trends{gap:10px;margin-top:12px}.report-group,.report-trend{padding:10px 12px;border-radius:12px}.accuracy-now b{font-size:1.5rem}.progress .leak{padding:8px 0}.skill-list li{padding:6px 0}.skill-list li>b{font-size:1.05rem}.scout .account-card{padding:14px;border-radius:16px}.scout .linked-account{padding:8px 10px}.scout .rating-chip b{font-size:1.1rem}.clock-figure b{font-size:1.6rem}.result-bar{margin-top:8px}.students-how summary{min-height:40px}.student{gap:8px}.student-head{gap:10px}.student-avatar{width:48px;height:48px;flex-basis:48px;font-size:26px;border-radius:14px}.student-rating b{font-size:1.9rem}.student-nochart{padding:10px}}@media(max-width:600px){.progress .grid.moments,.scout .grid.moments{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.progress .moment,.scout .moment{padding:8px;gap:6px}.progress .moment>:first-child,.scout .moment>:first-child{width:100%!important}}.home-minutes-phone{display:none;font-family:var(--sans);font-size:var(--fs-small, .875rem);font-weight:500}@media(max-width:600px){.home-minutes{display:none}.home-minutes-phone{display:inline}}@media(max-width:600px){.progress-stats,.scout-stats,.students-stats{gap:6px}.progress-stats .stat,.scout-stats .stat,.students-stats .stat{padding:8px 10px}}@media(max-width:600px){.scout .account-head{margin-bottom:6px}.scout .account-hint{margin:0 0 10px}}.progress-stats .stat-sub,.scout-stats .stat-sub,.students-stats .stat-sub{font-size:max(.85rem,13px)}.whos-on{--gap: clamp(12px, 2vw, 20px);max-width:1240px}.whos-on>*+*{margin-top:var(--gap)}.whos-on .page-head{margin-bottom:0}.whos-on .page-head .display{margin:4px 0 6px}.whos-on .page-head .lead{margin:0}.who-updated{margin:4px 0 0}.who-error{margin:0;padding:10px 14px;border-radius:12px;background:var(--bad-soft);color:var(--bad)}.who-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px}.who-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap);align-items:start}@media(min-width:980px){.who-columns{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}.who-card{margin:0;min-width:0}.who-card h2{margin:0 0 6px}.who-card>p{margin:0 0 8px}.who-list,.who-recent{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}.who-row,.who-recent-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}.who-row:first-child,.who-recent-row:first-child{border-top:0}.who-recent-row{align-items:center;padding:10px 0}.who-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:22px;background:var(--panel-2);border:1px solid var(--line-strong)}.who-avatar.small-avatar{width:36px;height:36px;font-size:18px}.who-main{min-width:0}.who-main p{margin:0}.who-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.who-name b{overflow-wrap:anywhere}.who-screen{margin-top:2px!important;font-weight:600;color:var(--ink)}.who-meta{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:2px!important}.who-state{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding-top:2px}.who-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px}.who-dot.on{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}.who-dot.idle{background:var(--ink3)}.who-dot.off{background:transparent;border:1.5px solid var(--line-strong)}.who-row.is-idle .who-screen{color:var(--ink2)}.who-row.is-idle .who-state{color:var(--ink3)}.who-empty{margin:8px 0 0}.who-more{margin-top:10px;min-height:40px}@media(max-width:600px){.who-row,.who-recent-row{gap:10px;padding:10px 0}.who-avatar{width:40px;height:40px;font-size:20px}.who-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.who-stats .stat{padding:8px 10px}.who-more{width:100%}}@media(max-width:380px){.who-row{grid-template-columns:auto minmax(0,1fr)}.who-row .who-state{grid-column:2;padding-top:0}}.who-country{padding:0 6px;border-radius:6px;border:1px solid var(--line-strong);font-weight:600;letter-spacing:.04em}.board-thumb{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;width:100%;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px #00000059,0 10px 24px -12px #0009}.board-thumb .sq{display:grid;place-items:center}.board-thumb .sq.light{background:var(--sq-light)}.board-thumb .sq.dark{background:var(--sq-dark)}.board-thumb .sq svg{width:92%;height:92%}.grid.cards.study-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:16px}button.study-card{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:start;min-height:0;margin:0;padding:16px;text-align:left;font-weight:400;color:var(--ink);cursor:pointer}button.study-card:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--line-strong))}.study-body{display:flex;flex-direction:column;gap:6px;min-width:0}.study-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.study-title{font-family:var(--display);font-size:var(--fs-h3);font-weight:620;letter-spacing:-.01em;line-height:1.2}.study-summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.study-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.study-pills:empty{display:none}.level{font-size:.72rem;font-weight:700;text-transform:capitalize;padding:1px 8px;border-radius:999px}@media(max-width:760px),(pointer:coarse){.level{font-size:max(.8125rem,13px)}}.level-beginner{color:var(--accent);background:var(--accent-soft)}.level-intermediate{color:var(--gold);background:var(--gold-soft)}.level-advanced{color:var(--seal);background:var(--seal-soft)}@media(max-width:400px){button.study-card{grid-template-columns:88px 1fr;gap:12px;padding:14px}}.learn-page .tabs select{margin-left:auto}@media(max-width:760px){.learn-page .tabs select{margin-left:0}}.settings-page .section-links{position:sticky;top:calc(var(--topbar-h) + 6px);z-index:5;padding-block:6px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.settings-page .card{scroll-margin-top:calc(var(--topbar-h) + 64px)}.class-home .row>.card{min-width:0;flex:1 1 300px}.class-branches{list-style:none;margin:0 0 12px;padding:0}.class-branches li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;border-bottom:1px solid var(--line)}.branch-name{flex:1 1 160px;font-weight:600}.branch-stages{display:flex;gap:6px}.stage-chip{font-size:max(.75rem,13px);font-weight:650;padding:2px 9px;border-radius:999px;color:var(--ink3);background:var(--bg2)}.stage-chip.done{color:var(--accent);background:var(--accent-soft)}@media(max-width:600px){.voice-table,.voice-table tbody{display:block}.voice-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;padding:10px 0;border-bottom:1px solid var(--line)}.voice-table td{display:block;padding:0;border:0}.voice-table td:first-child{grid-column:1 / -1;font-weight:650}.voice-table select{width:100%;min-width:0}}.settings-page .pill{white-space:normal;max-width:100%;overflow-wrap:anywhere}.page.wide.opening-page{max-width:1320px;margin-inline:auto}.opening-page .back-link{margin:0 0 12px -10px}.opening-head{display:grid;grid-template-columns:132px minmax(0,1fr);gap:24px;align-items:center;margin-bottom:16px}.opening-head .board-thumb{width:132px}.opening-head-text{min-width:0}.opening-head .study-meta{margin:0}.opening-head h1.display{margin:6px 0 8px}.opening-head .lead{margin:0;max-width:62ch}.opening-info{margin-bottom:18px}.opening-info summary{display:inline-flex;align-items:center;min-height:var(--tap);padding:0;color:var(--accent);font-weight:650;cursor:pointer}.opening-info summary:hover{text-decoration:underline}.opening-info[open] summary{margin-bottom:10px}.opening-page .line-tabs{margin-top:-10px}@media(max-width:600px){.opening-head{grid-template-columns:76px minmax(0,1fr);column-gap:14px;row-gap:0}.opening-head .board-thumb{width:76px;grid-row:1 / 3}.opening-head-text{display:contents}.opening-head .study-meta,.opening-head h1.display{grid-column:2}.opening-head h1.display{margin:2px 0 0}.opening-head .lead{grid-column:1 / -1;margin-top:14px}}.settings-page pre.code{font-size:max(.82rem,13px)}.onboarding{--ob-pad: clamp(16px, 4vw, 40px);min-height:100vh;display:flex;flex-direction:column}.onboarding .ob-top{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px 20px;padding:12px var(--ob-pad);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.onboarding .brand-mark{white-space:nowrap}.onboarding .ob-progress{display:flex;flex-wrap:nowrap;justify-content:center;margin:0;min-width:0}.onboarding .ob-progress li{padding:0 6px;white-space:nowrap}.onboarding .ob-progress li+li:before{width:clamp(10px,2.4vw,28px);margin-right:6px}.onboarding .ob-progress li.current .dot{box-shadow:0 0 0 4px var(--accent-soft)}.onboarding button.ob-skip{justify-self:end;min-height:40px}.onboarding .ob-top-links{justify-self:end;display:flex;align-items:center;gap:4px}.onboarding .ob-top-links button{min-height:40px;white-space:nowrap}.onboarding button.ob-sign-in{color:var(--accent)}.ob-sign-in-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);animation:ob-rise .25s var(--ease)}.basics-lesson button.link-btn,.basics-lesson .lesson-head button,.basics-game .lesson-head button,.basics-game-intro .lesson-head button{min-height:40px}.onboarding .ob-progress button.ob-dot-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:40px;min-height:40px;padding:0 4px;border:0;border-radius:999px;background:transparent;box-shadow:none;color:inherit;font:inherit;cursor:pointer}.onboarding .ob-progress button.ob-dot-btn:hover .dot,.onboarding .ob-progress button.ob-dot-btn:focus-visible .dot{box-shadow:0 0 0 4px var(--accent-soft)}.onboarding .ob-progress button.ob-dot-btn:hover .ob-step-label{color:var(--ink)}.onboarding button.ob-back{min-height:52px;padding:8px 18px;color:var(--ink2);font-size:1.02rem}.onboarding button.ob-back:hover:not(:disabled){color:var(--ink)}.onboarding .ob-back-row{margin-bottom:6px}.onboarding .ob-back-row button.ob-back{min-height:40px;padding:6px 12px 6px 4px}.ob-level .ob-kept{text-align:center}.ob-level .ob-actions{justify-content:center}.ob-cta.ob-done-back{margin-top:8px}.ob-meter{grid-column:1 / -1;height:3px;margin:2px calc(var(--ob-pad) * -1) -13px;background:transparent}.ob-meter>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));border-radius:0 3px 3px 0;transition:width .5s var(--ease)}.page-head.ob-head{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:0}.page-head.ob-head .eyebrow{margin-bottom:10px}.page-head.ob-head .lead{margin-top:12px}.ob-profile,.ob-accounts,.ob-level,.ob-result,.ob-done{width:100%;max-width:920px;margin:0 auto;padding:clamp(24px,5vh,56px) var(--ob-pad) 40px;text-align:left}.ob-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 14px;margin-top:28px}.ob-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:24px}.ob-cta.center{justify-content:center}.ob-hero{width:100%;max-width:1180px;margin:0 auto;padding:clamp(24px,6vh,72px) var(--ob-pad) 48px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(28px,5vw,72px)}.ob-hero-text{order:1;min-width:0}.ob-hero-art{order:2;min-width:0;display:flex;justify-content:center}.ob-hero-text .display{margin:0}.ob-hero-text .lead{margin:16px 0 0}.ob-board-card{position:relative;width:min(100%,380px);padding:16px 16px 14px;border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);background:var(--surface);box-shadow:var(--lift);transform:rotate(-1.5deg);animation:ob-rise .6s var(--ease) both}.ob-board-card>div:first-child,.sign-in-art>div:first-child{width:100%!important}.ob-board-card .board-wrap,.sign-in-art .board-wrap{max-width:100%!important}.ob-hero-panda{position:absolute;top:-40px;right:-40px;width:78px;height:78px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.45));animation:float 4s ease-in-out infinite}.ob-board-caption{margin:12px 2px 0;font-size:var(--fs-small);color:var(--ink2)}.ob-next{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ob-next li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel) 70%,transparent);animation:ob-rise .5s var(--ease) both}.ob-next li:nth-child(2){animation-delay:60ms}.ob-next li:nth-child(3){animation-delay:.12s}.ob-next li:nth-child(4){animation-delay:.18s}.ob-next-icon{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);font-size:1.05rem}.onboarding .ob-test-notice{max-width:none;margin:22px 0 0;justify-items:start;text-align:left}.onboarding .ob-test-notice p{margin:0}.onboarding .ob-field{margin:0 0 16px;padding:clamp(16px,2.4vw,24px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--surface-hi)}.ob-q{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:var(--fs-h3)}.ob-q label{cursor:pointer}.ob-q-num{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-family:var(--sans);font-size:max(.85rem,13px);font-weight:800}.ob-q-help{margin:-6px 0 12px 42px}.onboarding .name-row input{min-width:0}.onboarding .avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;margin-top:14px}.onboarding .avatar-grid button{width:auto;height:auto;aspect-ratio:1;min-height:44px;transition:transform .15s var(--ease),background .15s}.onboarding .avatar-grid button:hover{transform:translateY(-2px)}.onboarding .avatar-grid button.on{box-shadow:0 0 0 3px var(--accent-soft);transform:scale(1.06)}.onboarding .choice-grid.five{grid-template-columns:repeat(auto-fill,minmax(min(100%,124px),1fr))}.onboarding .choice.compact{min-height:76px;justify-content:flex-start}.onboarding .persona-row{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr))}.onboarding .persona-pick{min-height:96px;background:color-mix(in srgb,var(--panel-2) 80%,transparent)}.onboarding .persona-pick .small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.persona-emoji{font-size:1.5rem}.ob-accounts .account-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));margin:4px 0 16px}.ob-accounts .account-card{min-width:0;background:var(--surface);box-shadow:var(--surface-hi)}.ob-accounts .account-card input{min-width:0}.ob-privacy{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px 14px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel) 60%,transparent);color:var(--ink2)}.ob-level{max-width:820px}.ob-ladder{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:rung}.ob-rung{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--line);border-top:3px solid currentColor;border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);animation:ob-rise .5s var(--ease) both}.ob-rung.level-0{border-top-color:var(--accent)}.ob-rung.level-1{border-top-color:var(--gold);animation-delay:80ms}.ob-rung.level-2{border-top-color:var(--seal);animation-delay:.16s}.ob-rung .level-chip{align-self:flex-start;margin-bottom:6px}.ob-rung-text{display:flex;flex-direction:column;align-items:flex-start}.ob-rung-board>div{width:100%!important}.ob-rung-board .board-wrap{max-width:100%!important;border-radius:8px;overflow:hidden}.ob-rung .small{color:var(--ink2)}.ob-rung+.ob-rung:before{content:"→";position:absolute;left:-14px;top:50%;transform:translate(-50%,-50%);color:var(--ink3);font-weight:800}.onboarding .ob-level .muted.small{margin-top:14px}.onboarding .ob-placement{width:100%;max-width:1400px;margin:0 auto;padding:18px var(--ob-pad) 28px;--board: min(calc(100vh - var(--topbar-h) - 166px), calc(100vw - var(--side-w) - 120px))}.ob-result{max-width:1120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:18px 28px}.ob-result-main,.ob-result-goals{display:flex;flex-direction:column;gap:16px;min-width:0}.ob-result .ob-actions{grid-column:1 / -1}.ob-score{padding:clamp(18px,3vw,28px);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:radial-gradient(420px 220px at 50% -20%,var(--accent-soft),transparent 70%),var(--surface);box-shadow:var(--lift);text-align:center}.ob-score .eyebrow{margin-bottom:4px}.ob-score .big-rating{font-size:clamp(4.2rem,3rem + 7vw,7.5rem);margin:4px 0 2px}.ob-score .label{margin:0}.ob-score .placement-path{flex-wrap:wrap;margin:16px 0 12px}.ob-score .lead{margin:0 auto}.ob-start{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface)}.ob-start p{margin:0}.ob-start .label{margin-bottom:4px}.ob-start-icon{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);font-size:1.35rem}.ob-result .profile-games h3{margin:0 0 4px}.ob-result .checklist{margin:0}.ob-basics-offer{margin:0;padding:14px 16px;border-radius:var(--radius-sm);background:var(--gold-soft)}.ob-done{max-width:760px;text-align:center}.ob-done .page-head.ob-head{align-items:center}.ob-done .page-head.ob-head .lead{margin-left:auto;margin-right:auto}.ob-done-avatar{display:inline-grid;place-items:center;width:84px;height:84px;margin-bottom:14px;border-radius:50%;background:var(--accent-soft);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent-soft) 50%,transparent);font-size:2.6rem;animation:ob-pop .5s var(--ease) both}.ob-plan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0 0;text-align:left}.ob-plan>div{padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.ob-plan dt{margin:0 0 6px}.ob-plan dd{margin:0;font-family:var(--display);font-size:var(--fs-h3);font-weight:650}.sign-in-page{min-height:100vh;width:100%;max-width:1140px;margin:0 auto;padding:clamp(20px,5vh,64px) clamp(16px,4vw,40px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:center;gap:clamp(28px,6vw,80px)}.sign-in-brand{min-width:0}.sign-in-logo{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-family:var(--display);font-size:1.35rem}.sign-in-logo img{animation:float 4s ease-in-out infinite}.sign-in-brand .display{margin:0}.sign-in-brand .lead{margin:14px 0 0}.sign-in-art{width:min(100%,300px);margin-top:26px;padding:14px;border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--surface);box-shadow:var(--lift);transform:rotate(-1.2deg);animation:ob-rise .6s var(--ease) both}.sign-in-art p{margin:10px 2px 0;color:var(--ink2)}.sign-in-page .sign-in-card{width:100%;align-items:stretch;gap:10px;text-align:left;padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--surface);box-shadow:var(--lift)}.sign-in-page .sign-in-card .eyebrow,.sign-in-page .sign-in-card h2,.sign-in-page .sign-in-card p{margin:0}.sign-in-page .sign-in-form{align-items:stretch;margin-top:8px}.sign-in-label{margin:4px 0 -2px}.sign-in-page .sign-in-form input{width:100%;min-height:48px}.sign-in-submit{width:100%;justify-content:center}.sign-in-page .sign-in-or{margin:10px 0 2px}.sign-in-page .visitor-btn{width:100%}.onboarding .turnstile,.sign-in-page .turnstile{max-width:100%}@media(max-width:400px){.sign-in-page{padding-left:12px;padding-right:12px}.sign-in-page .sign-in-card{padding:18px 14px}}@media(max-width:339px){.onboarding .turnstile,.sign-in-page .turnstile{transform:scale(.86);transform-origin:left top;margin-bottom:-9px}}.basics-home .basics-hero{position:relative;padding:clamp(18px,3vw,28px);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:radial-gradient(520px 260px at 100% 0%,var(--accent-soft),transparent 70%),var(--surface);box-shadow:var(--lift);overflow:hidden}.basics-home .basics-hero:after{content:"";position:absolute;top:-20px;right:-20px;width:160px;height:160px;background:conic-gradient(var(--sq-dark) 0 25%,transparent 0 50%,var(--sq-dark) 0 75%,transparent 0) 0 0 / 40px 40px;opacity:.12;transform:rotate(12deg);-webkit-mask-image:radial-gradient(circle at 70% 30%,#000 30%,transparent 72%);mask-image:radial-gradient(circle at 70% 30%,#000 30%,transparent 72%);pointer-events:none}.basics-home .basics-hero>*{position:relative;z-index:1}.basics-home .basics-hero .eyebrow{margin:0}.basics-home .basics-progress .muted{white-space:nowrap}.basics-home .basics-chapters{position:relative;gap:14px}.basics-home .basics-chapters:before{content:"";position:absolute;left:27px;top:24px;bottom:24px;width:2px;background:linear-gradient(var(--accent),var(--line-strong));opacity:.6}.basics-home .chapter{position:relative;padding:14px 16px 16px 58px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--surface-hi)}.basics-home .chapter-head{min-height:30px}.basics-home .chapter-head .chapter-num{position:absolute;left:13px;top:14px;width:30px;height:30px;border:2px solid var(--line-strong);background:var(--bg2)}.basics-home .chapter.done .chapter-num{border-color:var(--accent)}.basics-home .chapter-head b{font-family:var(--display);font-size:var(--fs-h3)}.basics-home .lesson-chip{transition:transform .15s var(--ease),border-color .15s}.basics-home button.lesson-chip:hover{transform:translateY(-2px)}.basics-home .lesson-chip.current{animation:ob-glow 2.4s ease-in-out infinite}.basics-home .basics-skip{background:var(--surface)}.basics-done .unlock-card.inline{animation:ob-rise .5s var(--ease) both}.basics-done .tour-icon{animation:ob-pop .5s var(--ease) both}@media(max-width:1100px){.basics-lesson .stage{display:flex;flex-direction:column}.basics-lesson .stage-side{display:contents}.basics-lesson .stage-head{order:-1;padding:0 0 4px;border:0}.basics-lesson .stage-left{order:0;align-self:center}.basics-lesson .stage-scroll{order:1;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.onboarding .ob-placement{--board: min( calc(100vw - 90px) , calc(100vh - var(--topbar-h) - 166px))}.ob-placement .stage{display:flex;flex-direction:column}.ob-placement .stage-side,.ob-placement .stage-scroll{display:contents}.ob-placement .stage-head{order:-2;border:0;padding:0}.ob-placement .instruction{order:-1}.ob-placement .stage-left{order:0;align-self:center}.ob-placement .stage-scroll>:not(.instruction){order:1}}@media(max-width:1000px){.ob-result{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.ob-hero{grid-template-columns:minmax(0,1fr);gap:18px}.ob-hero-art{order:0}.ob-board-card{width:min(100%,260px);padding:10px 10px 8px}.ob-hero-panda{width:58px;height:58px;top:-22px;right:-16px}.ob-board-caption{display:none}.sign-in-page{grid-template-columns:minmax(0,1fr);align-items:start;max-width:520px;gap:22px}.sign-in-brand{text-align:center}.sign-in-logo{justify-content:center;margin-bottom:12px}.sign-in-brand .lead{margin-left:auto;margin-right:auto}.sign-in-art{display:none}}@media(max-width:760px){.onboarding .ob-top{grid-template-columns:auto auto;gap:10px}.onboarding .ob-progress{display:flex;grid-column:1 / -1;grid-row:2;justify-content:flex-start}.onboarding .ob-progress{gap:6px}.onboarding .ob-progress li{padding:0}.onboarding .ob-progress li+li:before{display:none}.onboarding .ob-progress li:not(.current) .ob-step-label{display:none}.onboarding .ob-progress .dot{width:26px;height:26px}.onboarding .ob-progress li.current{padding-right:6px}.ob-board-card{width:min(100%,220px)}.onboarding .ob-placement{--board: calc(100vw - 2 * var(--ob-pad))}.onboarding .brand-mark span,.onboarding .brand-mark{font-size:1.05rem}.ob-next{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}.ob-next li{align-items:center;padding:10px;gap:10px}.ob-next li .muted.small{display:none}.ob-next-icon{width:30px;height:30px}.ob-ladder{grid-template-columns:minmax(0,1fr)}.ob-rung{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:14px}.ob-rung+.ob-rung:before{content:"↓";left:50%;top:-12px}.ob-plan{grid-template-columns:repeat(2,minmax(0,1fr))}.ob-actions{position:sticky;bottom:0;z-index:5;justify-content:stretch;margin:28px calc(var(--ob-pad) * -1) 0;padding:26px var(--ob-pad) max(14px,env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent 0,var(--bg) 22px)}.ob-actions>button{flex:1 1 0;min-width:0}.ob-actions>button.ob-back{flex:0 0 auto;padding:8px 14px}.ob-actions>button.ob-wide{flex:1 1 100%;order:-1}.onboarding .ob-progress button.ob-dot-btn{padding:0}.ob-actions>.muted{width:100%;text-align:center}.ob-q-help{margin-left:0}.onboarding .avatar-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.onboarding .persona-row{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding .persona-pick{min-height:0;padding:10px}.basics-home .chapter{padding-left:52px}.basics-home .basics-chapters:before{left:24px}.basics-home .chapter-head .chapter-num{left:10px}}@media(max-width:380px){.onboarding .persona-row{grid-template-columns:minmax(0,1fr)}.onboarding button.ob-skip,.onboarding button.ob-sign-in{padding-left:8px;padding-right:8px}}@media(max-width:760px),(pointer:coarse){.onboarding .ob-progress .dot{font-size:max(.82rem,13px)}}@media(max-width:350px){.onboarding .ob-skip-word{display:none}}.tour-layer{--tour-ms: .42s;animation:tour-in .28s ease-out;transition:opacity .24s ease-out}.tour-layer.closing,.tour-layer.closing *{pointer-events:none}.tour-layer.closing{opacity:0}.tour-layer .tour-spot{left:0;top:0;box-shadow:0 0 0 9999px #040705bd;transition:none;will-change:transform,width,height}.tour-layer .tour-spot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 0 2px var(--accent),0 0 32px #4fbf7a59;transition:opacity .2s ease-out}.tour-layer .tour-spot.closed:after{opacity:0}.tour-layer .tour-spot.glide{transition:transform var(--tour-ms) var(--ease),width var(--tour-ms) var(--ease),height var(--tour-ms) var(--ease)}.tour-layer .tour-spot.close{transition:transform .2s ease-in,width .2s ease-in,height .2s ease-in}.tour-layer .tour-bubble{left:0;top:0;animation:none;transition:opacity .22s ease-out,scale .22s ease-out}.tour-layer .tour-bubble.glide{transition:translate var(--tour-ms) var(--ease),opacity .22s ease-out,scale .22s ease-out}.tour-layer .tour-bubble.away{opacity:.75;scale:.97}.tour-layer .tour-bubble.pre{opacity:0;pointer-events:none}.tour-words{position:relative;overflow:hidden}.tour-text.from-right{animation:tour-text-right .3s var(--ease) 70ms both}.tour-text.from-left{animation:tour-text-left .3s var(--ease) 70ms both}.tour-text.out{position:absolute;inset:0 0 auto;pointer-events:none}.tour-text.out.to-left{animation:tour-text-out-left .14s ease-in forwards}.tour-text.out.to-right{animation:tour-text-out-right .14s ease-in forwards}@keyframes tour-in{0%{opacity:0}}@keyframes tour-text-right{0%{opacity:0;transform:translate(28px)}}@keyframes tour-text-left{0%{opacity:0;transform:translate(-28px)}}@keyframes tour-text-out-left{to{opacity:0;transform:translate(-28px)}}@keyframes tour-text-out-right{to{opacity:0;transform:translate(28px)}}@media(prefers-reduced-motion:reduce){.tour-layer,.tour-layer .tour-spot,.tour-layer .tour-spot:after,.tour-layer .tour-bubble,.tour-text{transition:none!important;animation:none!important}}@keyframes ob-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes ob-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}}@keyframes ob-glow{50%{box-shadow:0 0 0 6px var(--accent-soft)}}@media(prefers-reduced-motion:reduce){.ob-sign-in-layer,.ob-board-card,.ob-next li,.ob-rung,.ob-done-avatar,.sign-in-art,.sign-in-logo img,.ob-hero-panda,.basics-home .lesson-chip.current,.basics-done .unlock-card.inline,.basics-done .tour-icon{animation:none}}.play-page{--frame: #3a2e22;--frame-edge: rgba(255, 255, 255, .07)}@media(prefers-color-scheme:light){.play-page{--frame: #b8976a;--frame-edge: rgba(255, 255, 255, .5)}}.play-page .board-wrap{border-radius:6px;box-shadow:0 0 0 1px #00000059,0 0 0 6px var(--frame),0 0 0 7px var(--frame-edge),0 26px 50px -16px #000000a6}.play-page .board-wrap.ghost{box-shadow:0 0 0 1px #00000059,0 0 0 6px #788cdcbf,0 0 0 7px #becdff59,0 26px 50px -16px #000000a6}.play-page .stage-board-row,.play-page .board-row{gap:14px}.play-page .evalbar{border-radius:6px;box-shadow:0 0 0 1px var(--line)}.play-page .legend-tile .board-thumb{--thumb: 96px;flex:none;width:var(--thumb);height:var(--thumb);border-radius:5px;box-shadow:0 0 0 3px var(--frame, #3a2e22),0 8px 18px -6px #00000080}.play-page .stage-above{margin-bottom:14px}.play-page .stage-below{margin-top:14px}.play-page .player-bar{height:auto;min-height:44px;padding:6px 12px 6px 8px;gap:10px;margin:0;border-radius:var(--radius-sm, 12px);background:color-mix(in srgb,var(--panel) 72%,transparent);border:1px solid var(--line);transition:border-color .25s,background .25s}.play-page .player-bar.to-move{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--panel));box-shadow:inset 3px 0 0 var(--accent)}.play-page .player-avatar{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--bg2)}.play-page .player-name{min-width:0}.play-page .player-rating{padding:1px 9px;border-radius:99px;background:var(--bg2)}.play-page .player-turn{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;background:var(--accent-soft);font-size:var(--fs-small, .875rem);white-space:nowrap}.play-page .player-turn:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);animation:play-pulse 1.6s ease-in-out infinite}@keyframes play-pulse{50%{opacity:.35;transform:scale(.75)}}.play-page .board-nav{margin:10px 0 0;gap:6px}.play-page .board-nav button{height:44px;border-radius:var(--radius-sm, 12px)}.play-page .toolbar[data-tour=game-toolbar]{margin-top:12px;justify-content:flex-end}.play-page .stage-below>.toolbar:only-child{gap:10px}.play-page .stage-side{background:var(--surface, var(--panel));box-shadow:var(--lift, var(--shadow));border-radius:var(--radius, 18px)}.play-page .stage-head{padding:12px 16px;gap:8px 10px;background:color-mix(in srgb,var(--bg2) 55%,transparent)}.play-page .stage-head:empty{display:none}.play-page .persona{display:inline-flex;align-items:center;gap:9px}.play-page .persona-face{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent)}.play-page .stage-scroll{padding:16px 18px 18px;gap:14px}.play-page .bubble-row{gap:10px}.play-page .bubble-row>.avatar{flex:0 0 38px;width:38px;height:38px}.play-page .bubble{position:relative;border-radius:4px 18px 18px;padding:12px 15px;background:var(--panel-2);border:1px solid var(--line);box-shadow:0 6px 16px -10px #00000080}.play-page .bubble:before{content:"";position:absolute;left:-7px;top:10px;width:12px;height:12px;background:inherit;border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg);clip-path:polygon(0 0,0 100%,100% 100%)}.play-page .bubble-row.good .bubble:before,.play-page .bubble-row.bad .bubble:before,.play-page .bubble-row.hint .bubble:before{border-color:transparent}.play-page .instruction{font-size:clamp(1.08rem,1rem + .35vw,1.25rem);line-height:1.3;padding:10px 14px;border-radius:var(--radius-sm, 12px);background:color-mix(in srgb,var(--accent) 9%,transparent);border-left:3px solid var(--accent)}.play-page .stage-scroll .card{border-radius:14px;padding:14px 16px;border-left-width:4px}.play-page .stage-scroll .card p{line-height:1.55}.play-page .stage-scroll .card.hint-card{border-color:var(--line);border-left-color:var(--accent)}.play-page .stage-scroll .card.caught{border-color:color-mix(in srgb,var(--seal) 45%,var(--line));border-left-color:var(--seal);box-shadow:none}.play-page .stage-scroll .card.radar{border-left-color:var(--info)}.play-page .stage-scroll .card.review{border-left-color:var(--gold)}.play-page .hints{display:flex;flex-direction:column;gap:6px;margin:10px 0}.play-page .hints li{padding:8px 12px;border-radius:10px;background:var(--gold-soft)}.play-page .stage-scroll .card-actions{margin-top:12px}.play-page .coach-section{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--line)}.play-page .coach-section>.label{margin:0}.play-page .coach-ask .ask-note{margin:0}.play-page .ask input{min-height:var(--tap, 40px)}.play-page .quick-questions{gap:8px}.play-page .quick-questions .chip{min-height:var(--tap, 40px);white-space:nowrap}.play-page .movelist{padding:4px;border-radius:var(--radius-sm, 12px);max-height:232px;border:1px solid var(--line)}.play-page .mvrow{grid-template-columns:40px 1fr 1fr;gap:2px;border-radius:8px}.play-page .mvrow:nth-child(2n){background:color-mix(in srgb,var(--ink) 4%,transparent)}.play-page .mvn{align-self:center;font-variant-numeric:tabular-nums}.play-page .mv{min-height:32px}.play-page .mv.active{background:var(--accent);color:var(--accent-ink)}.play-page .coach-log summary{padding:10px 0;cursor:pointer}.play-page .stage-scroll>p{margin:0}.play-page .stage.with-bars{--board: min(calc(100vh - var(--topbar-h) - 276px), calc(100vw - var(--side-w) - 120px))}@media(max-width:1100px){.play-page .stage.with-bars{--board: min( calc(100vw - 90px) , calc(100vh - var(--topbar-h) - 276px))}.play-page .stage,.play-page .split{grid-template-columns:minmax(0,1fr)}}@media(min-width:1101px){.play-page .stage{gap:28px;align-items:stretch}.play-page .stage-side{height:auto;min-height:440px;contain:size}.play-page .stage-scroll{min-height:0}}@media(min-width:761px)and (max-width:1100px){.play-page .stage-side{width:min(100%,calc(var(--board) + 40px));justify-self:center}.play-page .stage-left{justify-self:center}}@media(max-width:760px){.play-page.page.wide,.play-page .page.wide{padding:12px 12px 32px}.play-page .stage{display:flex;flex-direction:column;align-items:stretch;gap:0}.play-page .stage-left,.play-page .stage-below{display:contents}.play-page .stage-above{order:1;margin-bottom:12px}.play-page .stage-board-row{order:2;gap:12px}.play-page .stage-board{width:auto;flex:1;min-width:0}.play-page .stage-below>*{order:3}.play-page .stage-below>.player-bar{margin-top:12px}.play-page .stage-below>.board-nav{order:4}.play-page .stage-below>.toolbar{order:4;margin-top:14px}.play-page .stage-side{order:5;margin-top:16px;height:auto;min-height:0}.play-page .stage-below>.toolbar[data-tour=game-toolbar]{order:6}.play-page .evalbar{flex-basis:8px;width:8px}.play-page .evalbar-label{display:none}.play-page .stage-head{padding:10px 14px}.play-page .stage-scroll{padding:14px;gap:12px}.play-page .bubble{padding:10px 13px}.play-page .player-bar{padding:5px 10px 5px 6px;gap:8px}.play-page .toolbar[data-tour=game-toolbar]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.play-page .toolbar[data-tour=game-toolbar]>.spacer{display:none}.play-page .toolbar[data-tour=game-toolbar]>.pill{grid-column:1 / -1;justify-self:start}.play-page .toolbar[data-tour=game-toolbar]>button:first-of-type,.play-page .toolbar[data-tour=game-toolbar]>.primary{grid-column:1 / -1}.play-page .toolbar[data-tour=game-toolbar]>button.ghost{background:var(--panel-2);border:1px solid var(--line)}.play-page button.small{min-height:40px}.play-page .toolbar>button,.play-page .card-actions>button{min-height:44px;justify-content:center}.play-page .stage-below>.toolbar:not([data-tour])>button,.play-page .stage-scroll .card-actions>button{flex:1 1 auto}.play-page .quick-questions{flex-wrap:nowrap;overflow-x:auto;margin:0 -14px;padding:2px 14px 4px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 28px),transparent)}.play-page .quick-questions::-webkit-scrollbar{display:none}.play-page .quick-questions .chip{flex:none}.play-page .mv{min-height:40px}.play-page .movelist{max-height:210px}.play-page .ask button{min-height:44px}.play-page .ask-note a{display:inline-block;padding:10px 4px;margin:-10px 0}.play-page .mv .grade{font-size:13px}.play-page .line .line-ghost{min-width:40px;min-height:40px;justify-content:center}}@media(max-width:600px){.play-page.page.wide,.play-page .page.wide{padding:8px 10px 24px}.play-page .stage-above{margin-bottom:9px}.play-page .stage-board-row{gap:10px}.play-page .stage-below>.player-bar{margin-top:9px}.play-page .player-bar{min-height:40px;padding:3px 8px 3px 4px;gap:7px}.play-page .player-avatar{width:28px;height:28px}.play-page .player-turn{padding:2px 8px}.play-page .board-nav{margin-top:8px;gap:5px}.play-page .board-nav button{height:40px;font-size:1.1rem}.play-page .stage-side{margin-top:10px;border-radius:14px}.play-page .stage-head{padding:7px 10px;gap:4px 8px}.play-page .persona{font-size:1rem;gap:7px}.play-page .persona-face{width:28px;height:28px;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--accent) 40%,transparent)}.play-page .stage-head .progress-line{height:4px}.play-page .stage-scroll{padding:10px 10px 12px;gap:9px}.play-page .stage-scroll>.bubble-row>.avatar:not(.claude):not(.chat){display:none}.play-page .stage-scroll>.bubble-row>.avatar:not(.claude):not(.chat)+.bubble{border-radius:12px}.play-page .stage-scroll>.bubble-row>.avatar:not(.claude):not(.chat)+.bubble:before{display:none}.play-page .bubble{padding:8px 11px;font-size:1rem;line-height:1.45}.play-page .instruction{font-size:1rem;padding:7px 10px}.play-page .stage-scroll .card{padding:10px 12px;border-radius:12px}.play-page .stage-scroll .card p{line-height:1.45;margin:0 0 6px}.play-page .stage-scroll .card-actions{margin-top:8px;gap:6px}.play-page .hints{margin:6px 0}.play-page .hints li{padding:6px 10px}.play-page .coach-section{padding-top:9px;gap:6px}.play-page .movelist{max-height:168px}.play-page .quick-questions{margin:0 -10px;padding:2px 10px 4px;gap:6px}.play-page .quick-questions .chip{padding:6px 12px}.play-page .toolbar>button,.play-page .card-actions>button,.play-page .ask button,.play-page .ask input{min-height:40px}.play-page .grade,.play-page .mvn{font-size:13px}.play-page .stage-below>.toolbar,.play-page .toolbar[data-tour=game-toolbar]{margin-top:10px;gap:6px}.play-page .board-row+.toolbar{margin-top:12px}}@media(max-width:760px){.play-page .split{gap:16px}.play-page .split>:first-child{width:100%}.play-page .toolbar input{flex:1 1 100%;min-width:0}}.analysis-page>h1{margin-bottom:.3em}.play-page .board-row+.toolbar{margin-top:16px}.analysis-page .card p{overflow-wrap:anywhere}.play-page.play-setup{max-width:1040px}.play-setup .step-title{margin:34px 0 14px}.play-setup .choice-grid{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px}.play-setup .choice{position:relative;display:grid;grid-template-columns:auto 1fr;align-content:start;column-gap:14px;row-gap:3px;padding:16px 18px;background:var(--surface, var(--panel));transition:transform .2s var(--ease, ease),border-color .2s,box-shadow .2s}.play-setup .choice>:not(.choice-icon){grid-column:2}.play-setup .choice-icon{grid-row:1 / span 3;width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:var(--bg2)}.play-setup .choice.compact .choice-icon{width:40px;height:40px;border-radius:12px;font-size:1.35rem}.play-setup .choice.on .choice-icon{background:color-mix(in srgb,var(--accent) 22%,var(--bg2))}.play-setup .choice.on:after{content:"✓";position:absolute;top:10px;right:12px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-weight:800}@media(hover:hover){.play-setup .choice:hover:not(.on){transform:translateY(-2px);border-color:var(--line-strong)}}.play-setup .students-row{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:12px}.play-setup .rating-picker .chip{min-width:64px;min-height:var(--tap, 40px);justify-content:center;font-variant-numeric:tabular-nums}.play-setup .advanced summary{padding:9px 0;cursor:pointer}.play-setup input[type=range]{min-height:var(--tap, 40px)}.play-setup>.huge-btn{margin-top:28px}@media(max-width:760px){.play-setup .choice-grid,.play-setup .students-row{grid-template-columns:1fr;gap:10px}.play-setup .choice{padding:12px 14px}.play-setup .choice-icon{width:44px;height:44px;border-radius:12px}.play-setup .row.wrap{gap:10px}.play-setup .segmented{display:flex;width:100%}.play-setup .segmented button{flex:1 1 0;min-height:44px;justify-content:center;text-align:center}.play-setup .coach-style label,.play-setup .coach-style select{width:100%}.play-setup>.huge-btn{position:sticky;bottom:12px;z-index:5;width:100%;justify-content:center;box-shadow:0 14px 30px -8px #0009}}@media(max-width:600px){.play-setup .step-title{margin:20px 0 10px;gap:8px}.play-setup .step-num{width:26px;height:26px}.play-setup .choice-grid,.play-setup .students-row{gap:8px}.play-setup .students-row{margin-top:8px}.play-setup .choice{padding:9px 12px;column-gap:11px;border-radius:14px}.play-setup .choice-icon{width:38px;height:38px;border-radius:10px;font-size:1.35rem}.play-setup .choice.compact .choice-icon{width:34px;height:34px;font-size:1.2rem}.play-setup .choice.on:after{top:8px;right:10px;width:20px;height:20px}.play-setup .rating-picker{gap:6px}.play-setup .rating-picker .chip{min-width:56px}.play-setup .segmented button{min-height:40px}.play-setup>.huge-btn{margin-top:18px}}.practice-home .tile-section{margin-top:30px}.practice-home .tile-section h2{margin:0 0 14px}.practice-home .tiles{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.practice-home .tile{--tone: var(--accent);--tone-soft: var(--accent-soft);display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon text";align-content:start;column-gap:16px;row-gap:4px;min-height:0;padding:18px 18px 22px;overflow:hidden;background:var(--surface, var(--panel));box-shadow:var(--lift, var(--shadow));transition:transform .22s var(--ease, ease),border-color .22s,box-shadow .22s}.practice-home .tone-drills .tile{--tone: var(--gold);--tone-soft: var(--gold-soft)}.practice-home .tile:after{content:"";position:absolute;right:0;bottom:0;width:120px;height:88px;pointer-events:none;background-image:conic-gradient(var(--tone) 25%,transparent 0 50%,var(--tone) 0 75%,transparent 0);background-size:22px 22px;background-position:right bottom;opacity:.09;-webkit-mask-image:radial-gradient(circle at 100% 100%,#000 10%,transparent 72%);mask-image:radial-gradient(circle at 100% 100%,#000 10%,transparent 72%);transition:opacity .22s}@media(hover:hover){.practice-home .tile:hover{border-color:color-mix(in srgb,var(--tone) 70%,transparent)}.practice-home .tile:hover:after{opacity:.18}.practice-home .tile:hover .tile-icon{transform:scale(1.06) rotate(-4deg)}}.practice-home .tile-icon{grid-area:icon;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--tone-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 30%,transparent);transition:transform .25s var(--ease, ease)}.practice-home .tile-title{grid-area:title;align-self:end;padding-right:64px}.practice-home .tile-text{grid-area:text;position:relative;z-index:1}.practice-home .tile-badge{top:14px;right:14px}@media(max-width:760px){.practice-home .tile-section{margin-top:22px}.practice-home .tiles{grid-template-columns:1fr;gap:10px}.practice-home .tile{padding:14px 14px 16px;column-gap:14px}.practice-home .tile-icon{width:46px;height:46px;border-radius:14px}.practice-home .tile-badge{font-size:13px}}.practice-activity .activity-head{display:grid;grid-template-columns:auto 1fr;align-items:center;justify-content:start;gap:8px 14px}.practice-activity .activity-back{grid-column:1 / -1;justify-self:start}.practice-activity .activity-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--accent-soft)}.practice-activity .activity-icon.tone-drills{background:var(--gold-soft)}.practice-activity .activity-words h1{margin:0}.practice-activity .activity-words p{margin:2px 0 0}@media(max-width:760px){.practice-activity .activity-head{margin-bottom:14px}.practice-activity .activity-icon{width:44px;height:44px}}@media(max-width:600px){.practice-home .tile-section{margin-top:16px}.practice-home .tile-section h2{margin-bottom:8px}.practice-home .tiles{gap:8px}.practice-home .tile{padding:11px 12px 12px;column-gap:12px;row-gap:2px;border-radius:14px}.practice-home .tile-icon{width:40px;height:40px;border-radius:12px;font-size:1.45rem}.practice-home .tile-title{font-size:1.06rem;padding-right:56px}.practice-home .tile-text{font-size:.875rem;line-height:1.4}.practice-home .tile-badge{top:10px;right:10px}.practice-home .tile:after{width:90px;height:64px;background-size:16px 16px}.practice-activity .activity-head{gap:4px 10px;margin-bottom:10px}.practice-activity .activity-icon{width:36px;height:36px;border-radius:11px;font-size:1.25rem}}.play-page .legend-tiles{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.play-page .legend-tile{flex-direction:row;align-items:center;gap:16px;min-height:0;padding:14px;background:var(--surface, var(--panel))}.play-page .legend-tile.solved{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.play-page .legend-words{display:flex;flex-direction:column;gap:3px;min-width:0}.play-page .legend-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.play-page .legend-meta .stars{color:var(--gold);letter-spacing:1px}@media(max-width:760px){.play-page .legend-tiles{grid-template-columns:1fr;gap:10px}.play-page .legend-tile .board-thumb{--thumb: 84px}}.play-page .session-bar{gap:8px}.play-page .sb-step{min-height:var(--tap, 40px)}.play-page .celebrate{width:112px;height:112px;margin:8px auto 6px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 70%)}@media(max-width:760px){.play-page .session-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.play-page .sb-step{flex:none}.play-page .done-banner{flex-direction:column;align-items:stretch}.play-page .card-actions.center>button{flex:1 1 100%}}@media(max-width:600px){.play-page .legend-tile{padding:10px;gap:12px}.play-page .legend-tile .board-thumb{--thumb: 72px}.play-page .session-bar{gap:6px}}.play-intro{--k: 1;--size: min(78vw, 46vh, 400px);--frame: #3a2e22;position:fixed;inset:var(--topbar-h, 60px) 0 0 0;z-index:60;pointer-events:none;display:grid;place-items:center;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--bg) 80%,transparent) 0%,var(--bg) 70%);animation:pi-out calc(.35s * var(--k)) ease-in calc(1.15s * var(--k)) both}.play-intro.quick{--k: .34}.play-intro.skip{animation:pi-out .17s ease-in both}@media(prefers-color-scheme:light){.play-intro{--frame: #b8976a}}.pi-stage{position:relative;width:var(--size);height:var(--size);animation:pi-settle calc(.35s * var(--k)) ease-in calc(1.15s * var(--k)) both}.pi-board{position:relative;z-index:1;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:100%;height:100%}.pi-board:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:6px;box-shadow:0 0 0 6px var(--frame),0 30px 60px -20px #000000b3;animation:pi-fade calc(.3s * var(--k)) ease-out both}.pi-sq{position:relative;display:grid;place-items:center;animation:pi-sq calc(.26s * var(--k)) cubic-bezier(.2,.8,.3,1.25) calc(var(--d) * 18ms * var(--k)) both}.pi-sq.light{background:var(--sq-light)}.pi-sq.dark{background:var(--sq-dark)}.pi-sq:nth-child(1){border-top-left-radius:6px}.pi-sq:nth-child(8){border-top-right-radius:6px}.pi-sq:nth-child(57){border-bottom-left-radius:6px}.pi-sq:nth-child(64){border-bottom-right-radius:6px}.pi-piece{width:100%;height:100%;animation:pi-drop calc(.3s * var(--k)) cubic-bezier(.3,1.55,.5,1) calc((.38s + var(--w) * .18s + var(--f) * 18ms) * var(--k)) both}.pi-piece svg{display:block;width:100%;height:100%}.pi-panda{position:absolute;z-index:0;left:50%;top:0;width:30%;translate:-50% 0;transform-origin:50% 85%;animation:pi-peek calc(.42s * var(--k)) cubic-bezier(.2,.9,.3,1.35) calc(.76s * var(--k)) both,pi-nod calc(.28s * var(--k)) ease-in-out calc(1.06s * var(--k)) both}@keyframes pi-sq{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}@keyframes pi-drop{0%{opacity:0;transform:translateY(-75%) scale(1.15)}50%{opacity:1}to{opacity:1;transform:none}}@keyframes pi-peek{0%{opacity:0;transform:translateY(15%)}25%{opacity:1}to{transform:translateY(-64%)}}@keyframes pi-nod{0%,to{rotate:0deg}35%{rotate:-10deg}70%{rotate:7deg}}@keyframes pi-fade{0%{opacity:0}}@keyframes pi-out{to{opacity:0}}@keyframes pi-settle{to{transform:translateY(-14px) scale(.9)}}@media(max-width:760px),(pointer:coarse){.practice-home .tile-badge,.play-page .evalbar-label{font-size:13px}}.resting-note{margin:12px 0;padding:8px 12px;border-left:3px solid var(--line-strong);border-radius:8px;background:color-mix(in srgb,var(--panel) 70%,transparent);font-size:.875rem;line-height:1.45}
