.shell{background:radial-gradient(90% 60% at 80% -10%, #4d7fff12, transparent 60%), var(--bg);grid-template-columns:232px 1fr;min-height:100svh;display:grid}.shell-side{border-right:1px solid var(--line-faint);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b0e1499;flex-direction:column;height:100svh;padding:1.4rem 1rem;display:flex;position:sticky;top:0}.shell-brand{margin:.2rem 0 2rem .6rem}.shell-nav{flex-direction:column;gap:.25rem;display:flex}.shell-link{color:var(--ink-dim);border-radius:10px;align-items:center;gap:.8rem;padding:.6rem .8rem;font-size:.92rem;font-weight:500;transition:background .2s,color .2s;display:flex}.shell-link:hover{color:var(--ink);background:#ffffff0a}.shell-link.active{color:var(--ink);background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.shell-glyph{text-align:center;width:1.4rem;color:var(--accent);font-size:.95rem}.shell-badge{background:var(--accent);color:#fff;border-radius:999px;margin-left:auto;padding:.1rem .5rem;font-size:.68rem}.shell-secondary{border-top:1px solid var(--line-faint);margin-top:auto;padding-top:1.5rem}.shell-sec-label{color:var(--muted-solid);text-transform:uppercase;letter-spacing:.18em;margin:0 0 .5rem .8rem;font-size:.65rem}.shell-link.small{padding:.45rem .8rem;font-size:.84rem}.shell-main{flex-direction:column;min-width:0;display:flex}.shell-top{z-index:5;border-bottom:1px solid var(--line-faint);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b0e14b8;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem clamp(1.2rem,3.5vw,3rem);display:flex;position:sticky;top:0}.shell-top-stats{align-items:center;gap:1.6rem;display:flex}.shell-account{align-items:center;display:flex}.shell-account form{align-items:center;gap:.7rem;display:flex}.shell-account-email{color:var(--ink-dim);font-size:.78rem}.top-stat{color:var(--ink-dim);align-items:center;gap:.5rem;font-size:.78rem;display:inline-flex}.top-stat-key{color:var(--accent);letter-spacing:.12em;font-size:.68rem}.top-xpbar{background:#ffffff1a;border-radius:3px;width:72px;height:3px;overflow:hidden}.top-xpbar span{background:var(--accent);border-radius:3px;height:100%;display:block}.shell-content{width:100%;max-width:1200px;padding:clamp(1.6rem,4vh,3rem) clamp(1.2rem,3.5vw,3rem) 6rem}.shell-mobile{display:none}.page{width:100%}.page-wide{max-width:none}.page-head{max-width:44rem;margin-bottom:2.4rem}.page-head h1{letter-spacing:-.025em;font-size:clamp(1.9rem,3.6vw,2.7rem)}.page-sub{color:var(--ink-dim);margin-top:.8rem;font-size:1rem}.page-head .eyebrow{margin-bottom:.8rem}.page-head .eyebrow a{color:inherit}.page-head .eyebrow a:hover{color:#fff}.linklike{color:var(--accent);text-underline-offset:3px;cursor:pointer;text-decoration:underline}.chip{font-family:var(--font-mono);letter-spacing:.05em;color:var(--silver);border:1px solid var(--line);background:#ffffff06;border-radius:999px;padding:.24rem .7rem;font-size:.7rem;display:inline-block}.chip.clickable{cursor:pointer;transition:all .2s}.chip.clickable:hover{color:var(--ink);border-color:#4d7fff80}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.chip.solved{color:#6fd3a3;border-color:#1fa86380}.demo-note{color:var(--muted-solid);margin-top:2rem;font-size:.72rem}.learn-track{grid-template-columns:1.2fr auto 1fr;align-items:center;gap:2rem;margin-bottom:2rem;padding:1.8rem 2rem;display:grid}.learn-track-picker{flex-wrap:wrap;gap:.4rem;margin:.7rem 0 1rem;display:flex}.learn-track-pred{color:var(--ink-dim);font-size:.95rem}.learn-track-pred strong{color:var(--ink);font-size:1.15rem}.learn-recs{flex-direction:column;gap:.5rem;display:flex}.learn-rec{border:1px solid var(--line-faint);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;font-size:.9rem;transition:border-color .2s,background .2s;display:flex}.learn-rec:hover{background:var(--accent-soft);border-color:#4d7fff80}.learn-rec .mono{color:var(--muted-solid);white-space:nowrap;font-size:.7rem}.path-grid{grid-template-columns:repeat(2,1fr);gap:1.2rem;display:grid}.path-card{flex-direction:column;gap:.6rem;padding:1.8rem;transition:transform .35s cubic-bezier(.2,.8,.25,1),border-color .3s;display:flex}.path-card:hover{border-color:#4d7fff73;transform:translateY(-4px)}.path-card h2{font-size:1.5rem}.path-desc{color:var(--ink-dim);font-size:.92rem}.path-meter{background:#ffffff12;border-radius:4px;height:4px;margin-top:.6rem;overflow:hidden}.path-meter span{background:linear-gradient(90deg, var(--accent), #7ea4ff);border-radius:4px;height:100%;display:block}.unit{margin-bottom:2.6rem}.unit-title{color:var(--silver);margin-bottom:1rem;font-size:1.25rem}.unit-lessons{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.lesson-card{flex-direction:column;gap:.5rem;padding:1.4rem 1.6rem;transition:border-color .25s,transform .3s;display:flex}.lesson-card:hover{border-color:#4d7fff73;transform:translateY(-3px)}.lesson-card.done{border-color:#1fa86359}.lesson-card.locked{opacity:.7}.lesson-card-top{justify-content:space-between;gap:1rem;display:flex}.lesson-card-meta{color:var(--muted-solid);letter-spacing:.06em;font-size:.66rem}.lesson-card-state{color:var(--accent);font-size:.66rem}.lesson-card.done .lesson-card-state{color:#6fd3a3}.lesson-card h3{font-size:1.1rem}.lesson-card-sum{color:var(--ink-dim);font-size:.88rem}.lesson-card-obj{color:var(--muted-solid);border-top:1px solid var(--line-faint);flex-direction:column;gap:.25rem;margin-top:.3rem;padding-top:.7rem;font-size:.8rem;list-style:none;display:flex}.lesson-card-obj li:before{content:"— ";color:var(--accent)}.lesson-card-lock{color:#d9a05a;font-size:.68rem}.page-lesson{max-width:780px}.lesson-player .lp-head{margin-bottom:2rem}.lesson-player h1{margin:.4rem 0 1rem;font-size:clamp(1.8rem,3.4vw,2.5rem)}.lp-objectives{color:var(--ink-dim);flex-direction:column;gap:.3rem;font-size:.92rem;list-style:none;display:flex}.lp-objectives li:before{content:"◆ ";color:var(--accent);font-size:.7rem}.lp-progressbar{background:#ffffff14;border-radius:3px;height:3px;margin-top:1.4rem;overflow:hidden}.lp-progressbar span{background:var(--accent);height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);display:block}.lp-block{margin-bottom:1.6rem;animation:.55s cubic-bezier(.2,.7,.3,1) lp-in}@keyframes lp-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.lp-intro{color:var(--ink);font-size:1.12rem;line-height:1.7}.lp-tag{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;margin-bottom:.8rem;font-size:.68rem}.lp-panel{background:var(--glass);border:1px solid var(--line);color:var(--ink-dim);border-radius:14px;padding:1.5rem 1.7rem;font-size:.98rem}.lp-panel.insight{border-left:2px solid var(--accent)}.lp-panel.pitfall{border-left:2px solid #d9a05a}.lp-panel.pitfall .lp-tag{color:#d9a05a}.lp-panel.proof{border-left:2px solid var(--silver)}.lp-proof-par{margin-bottom:.7rem}.lp-qed{text-align:right;color:var(--accent)}.lp-diagram{background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:1.4rem}.dg-svg{width:100%;height:auto;display:block}.lp-caption{color:var(--muted-solid);margin-top:.8rem;font-size:.84rem}.dg-slider{flex-direction:column;flex:1;gap:.3rem;margin-top:.8rem;display:flex}.dg-slider .mono{color:var(--silver);font-size:.72rem}.dg-slider input[type=range]{accent-color:var(--accent);width:100%}.dg-row{flex-wrap:wrap;gap:1.2rem;display:flex}.lp-example{border:1px solid var(--line);background:linear-gradient(160deg, #4d7fff0d, var(--glass));border-radius:14px;padding:1.5rem 1.7rem}.lp-example-problem{color:var(--ink);margin-bottom:1rem;font-size:1.05rem}.lp-steps{color:var(--ink-dim);flex-direction:column;gap:.6rem;padding-left:1.3rem;font-size:.96rem;display:flex}.lp-step{animation:.4s lp-in}.lp-example .btn{margin-top:1rem}.lp-takeaway{border-top:1px solid var(--line-faint);color:var(--ink);margin-top:1.1rem;padding-top:1rem;font-size:.94rem}.lp-takeaway .mono{color:var(--accent);letter-spacing:.14em;font-size:.7rem}.lp-quiz{background:var(--accent-soft);border:1px solid #4d7fff59;border-radius:14px;padding:1.5rem 1.7rem}.lp-quiz.correct{border-color:#1fa8638c}.lp-quiz.wrong{border-color:#e0596e8c}.lp-quiz-q{color:var(--ink);margin-bottom:1rem;font-size:1.05rem}.lp-choices{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.lp-choice{text-align:left;border:1px solid var(--line);color:var(--ink);background:#0b0e1473;border-radius:10px;align-items:center;gap:.9rem;padding:.75rem 1rem;font-size:.98rem;transition:border-color .2s,background .2s;display:flex}.lp-choice:hover:not(:disabled){border-color:#4d7fff99}.lp-choice.picked{border-color:var(--accent);background:#4d7fff24}.lp-choice.right{background:#1fa86324;border-color:#1fa863}.lp-choice:disabled{cursor:default;opacity:.85}.lp-choice-letter{color:var(--accent);font-size:.75rem}.lp-numeric{width:100%;max-width:260px;font:inherit;font-family:var(--font-mono);color:var(--ink);border:1px solid var(--line);background:#0b0e148c;border-radius:10px;margin-bottom:1rem;padding:.7rem 1rem;display:block}.lp-numeric:focus{border-color:var(--accent);outline:none}.lp-feedback{margin-top:.6rem;font-size:.9rem}.lp-feedback.right{color:#6fd3a3}.lp-feedback.wrong{color:#ef8296}.lp-explain{border-top:1px solid var(--line-faint);color:var(--ink-dim);margin-top:1rem;padding-top:1rem;font-size:.94rem}.lp-practice-list{flex-direction:column;gap:.5rem;display:flex}.lp-practice-item{border:1px solid var(--line-faint);color:var(--ink);border-radius:10px;align-items:center;gap:1rem;padding:.7rem .9rem;font-size:.9rem;transition:border-color .2s,background .2s;display:flex}.lp-practice-item:hover{background:var(--accent-soft);border-color:#4d7fff80}.lp-practice-stmt{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lp-practice-src{color:var(--muted-solid);white-space:nowrap;font-size:.66rem}.lp-practice-intro{margin-bottom:.8rem}.lp-diff{color:var(--accent);letter-spacing:.12em;white-space:nowrap;font-size:.6rem}.lp-panel.summary ul{flex-direction:column;gap:.4rem;padding-left:1.2rem;display:flex}.lp-formulas{flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;display:flex}.lp-formula{color:var(--ink);background:#4d7fff14;border:1px solid #4d7fff59;border-radius:8px;padding:.45rem .8rem;font-size:.9rem}.lp-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.8rem;display:grid}.lp-card{border:1px solid var(--line);min-height:120px;color:var(--ink);text-align:left;background:#0b0e1480;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;font-size:.88rem;transition:border-color .2s,transform .25s;display:flex}.lp-card:hover{border-color:#4d7fff8c;transform:translateY(-2px)}.lp-card.flipped{border-color:var(--accent);background:#4d7fff1a}.lp-card-side{color:var(--accent);font-size:.66rem}.lp-foot{border-top:1px solid var(--line-faint);align-items:center;gap:1.2rem;margin-top:2rem;padding-top:1.6rem;display:flex}.lp-count{color:var(--muted-solid);margin-left:auto;font-size:.72rem}.lp-done{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.lp-done-mark{color:#6fd3a3;font-size:.85rem}.outline-panel{margin-bottom:1.4rem;padding:1.7rem 1.9rem}.outline-note{color:var(--ink-dim);margin-top:1rem;font-size:.95rem}.pb-filters{flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.pb-select,.pb-search{font:inherit;color:var(--ink);border:1px solid var(--line);background:#ffffff0a;border-radius:10px;padding:.55rem .9rem;font-size:.85rem}.pb-select:focus,.pb-search:focus{border-color:var(--accent);outline:none}.pb-select option{background:var(--bg-raised)}.pb-search{flex:1;min-width:180px}.pb-bands{gap:.4rem;display:flex}.pb-count{color:var(--muted-solid);margin-bottom:1rem;font-size:.72rem}.pb-list{flex-direction:column;gap:.6rem;display:flex}.pb-row{align-items:center;gap:1.2rem;padding:.9rem 1.2rem;transition:border-color .2s,transform .25s;display:flex}.pb-row:hover{border-color:#4d7fff80;transform:translate(3px)}.pb-row.solved{border-color:#1fa8634d}.pb-diff{width:30px;height:30px;color:var(--accent);border:1px solid #4d7fff73;border-radius:8px;flex-shrink:0;place-items:center;font-size:.8rem;display:grid}.pb-statement{min-width:0;color:var(--ink);flex:1;font-size:.93rem}.pb-meta{color:var(--muted-solid);white-space:nowrap;align-items:center;gap:1rem;font-size:.66rem;display:flex}.pb-solved{color:#6fd3a3;font-size:.85rem}.pw-back{margin-bottom:1.2rem}.pw-back a{color:inherit}.pw{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1.6rem;display:grid}.pw-main{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 2.2rem}.pw-meta{color:var(--muted-solid);flex-wrap:wrap;gap:1.2rem;margin-bottom:1.2rem;font-size:.68rem;display:flex}.pw-time.over{color:#d9a05a}.pw-statement{color:var(--ink);margin-bottom:1rem;font-size:1.15rem;line-height:1.7}.pw-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:1.6rem;display:flex}.pw-choices,.pw-numeric{margin-top:.4rem}.pw-actions{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.4rem;display:flex}.pw-giveup{opacity:.75}.pw-hints{flex-direction:column;gap:.6rem;margin-top:1.4rem;display:flex}.pw-hint{border-left:2px solid var(--accent);background:var(--accent-soft);color:var(--ink-dim);border-radius:0 10px 10px 0;align-items:baseline;gap:1rem;padding:.8rem 1rem;font-size:.94rem;animation:.4s lp-in;display:flex}.pw-hint .mono{color:var(--accent);white-space:nowrap;font-size:.68rem}.pw-solution{border-top:1px solid var(--line-faint);color:var(--ink-dim);margin-top:1.8rem;padding-top:1.6rem;font-size:.98rem;animation:.5s lp-in}.pw-alt,.pw-mistakes{margin-top:1.3rem}.pw-mistakes ul{flex-direction:column;gap:.3rem;padding-left:1.2rem;display:flex}.pw-after{gap:1.4rem;margin-top:1.6rem;display:grid}.pw-related{border:1px solid var(--line-faint);color:var(--ink);border-radius:10px;margin-bottom:.5rem;padding:.6rem .9rem;font-size:.86rem;transition:border-color .2s;display:block}.pw-related:hover{border-color:#4d7fff80}.pw-side{position:sticky;top:84px}.coach{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.coach.standalone{max-width:720px;min-height:480px}.coach-head{border-bottom:1px solid var(--line-faint);align-items:center;gap:.9rem;padding:1rem 1.2rem;display:flex}.coach-mark{width:34px;height:34px;color:var(--accent);border:1px solid #4d7fff80;border-radius:10px;place-items:center;font-size:1rem;display:grid}.coach-title{font-family:var(--font-display);font-size:.95rem;font-weight:650}.coach-sub{color:var(--muted-solid);font-size:.64rem}.coach-dot{background:var(--muted-solid);border-radius:50%;width:8px;height:8px;margin-left:auto}.coach-dot.live{background:#1fa863;box-shadow:0 0 8px #1fa863cc}.coach-fallback{color:var(--ink-dim);padding:1.2rem;font-size:.88rem}.coach-fallback code{color:var(--accent);font-size:.78rem}.coach-nudge{color:var(--accent);margin-top:.8rem;font-size:.72rem}.coach-scroll{flex-direction:column;flex:1;gap:.7rem;min-height:220px;max-height:420px;padding:1.2rem;display:flex;overflow-y:auto}.coach.standalone .coach-scroll{max-height:480px}.coach-empty{color:var(--muted-solid);font-size:.8rem}.coach-openers{flex-direction:column;gap:.5rem;margin-top:.9rem;display:flex}.coach-opener{text-align:left;border:1px solid var(--line);color:var(--ink-dim);border-radius:10px;padding:.6rem .9rem;font-size:.86rem;transition:border-color .2s,color .2s}.coach-opener:hover{color:var(--ink);border-color:#4d7fff80}.coach-msg{border-radius:12px;max-width:88%;padding:.7rem 1rem;font-size:.92rem;line-height:1.6}.coach-msg.user{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.coach-msg.assistant{border:1px solid var(--line-faint);color:var(--ink);background:#ffffff0d;border-bottom-left-radius:4px;align-self:flex-start}.coach-msg.thinking{color:var(--muted-solid)}.coach-inputrow{border-top:1px solid var(--line-faint);gap:.6rem;padding:.9rem 1.1rem;display:flex}.coach-input{font:inherit;color:var(--ink);border:1px solid var(--line);background:#0b0e1480;border-radius:10px;flex:1;padding:.6rem .9rem;font-size:.9rem}.coach-input:focus{border-color:var(--accent);outline:none}.contest-grid{grid-template-columns:repeat(2,1fr);gap:1.2rem;display:grid}.contest-card{flex-direction:column;gap:.9rem;padding:1.7rem 1.9rem;display:flex}.contest-card h2{font-size:1.35rem}.contest-meta{color:var(--muted-solid);font-size:.66rem}.contest-card-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.contest-desc{color:var(--ink-dim);font-size:.92rem}.contest-stats{color:var(--muted-solid);flex-wrap:wrap;gap:1.2rem;font-size:.72rem;display:flex}.contest-stats strong{color:var(--ink)}.contest-history{margin-top:2rem;padding:1.6rem 1.8rem}.ch-table{border-collapse:collapse;width:100%;font-size:.88rem}.ch-table th{text-align:left;color:var(--muted-solid);letter-spacing:.1em;text-transform:uppercase;padding:.4rem .8rem .6rem 0;font-size:.64rem}.ch-table td{border-top:1px solid var(--line-faint);color:var(--ink-dim);padding:.45rem .8rem .45rem 0}.cr-brief{max-width:640px;padding:2.4rem 2.6rem}.cr-brief h1{margin:.6rem 0 1rem;font-size:1.9rem}.cr-desc{color:var(--ink-dim);margin-bottom:1.4rem}.cr-rules{color:var(--ink-dim);flex-direction:column;gap:.5rem;margin-bottom:1.8rem;padding-left:1.2rem;font-size:.94rem;display:flex}.cr-proofnote{color:#d9a05a}.cr-topbar{background:var(--glass);border:1px solid var(--line);border-radius:12px;align-items:center;gap:1.4rem;margin-bottom:1.2rem;padding:.8rem 1.2rem;display:flex}.cr-topbar .mono{color:var(--ink-dim);font-size:.76rem}.cr-timer{font-variant-numeric:tabular-nums;margin-left:auto;color:var(--ink)!important;font-size:1.1rem!important}.cr-timer.low{color:#ef8296!important}.cr-body{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:1.2rem;display:grid}.cr-problem{padding:1.8rem 2rem}.cr-nav{gap:.7rem;margin-top:1.4rem;display:flex}.cr-sheet{padding:1.2rem 1.3rem;position:sticky;top:84px}.cr-grid{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.cr-cell{aspect-ratio:1;border:1px solid var(--line);color:var(--ink-dim);font-family:var(--font-mono);border-radius:8px;place-items:center;font-size:.78rem;transition:all .15s;display:grid;position:relative}.cr-cell:hover{border-color:#4d7fff99}.cr-cell.current{border-color:var(--accent);color:#fff}.cr-cell.answered{color:#fff;background:#4d7fff38}.cr-cell.flagged:after{content:"⚑";color:#d9a05a;font-size:.6rem;position:absolute;top:-6px;right:-3px}.cr-sheet-note{color:var(--muted-solid);margin-top:.8rem;font-size:.62rem}.cr-results{flex-direction:column;gap:1.2rem;max-width:780px;display:flex}.cr-score{text-align:center;padding:2rem 2.2rem}.cr-score-big{font-family:var(--font-display);letter-spacing:-.03em;font-size:3.4rem;font-weight:700}.cr-score-max{color:var(--muted-solid);font-size:1.4rem;font-weight:500}.cr-breakdown{justify-content:center;gap:1.6rem;margin-top:.6rem;font-size:.8rem;display:flex}.cr-perproblem,.cr-suggest{padding:1.6rem 1.8rem}.cr-row{align-items:center;gap:.8rem;display:flex}.cr-row>:first-child{flex:1}.cr-review-link{color:var(--accent);white-space:nowrap;font-size:.7rem}.cr-actions{flex-wrap:wrap;gap:.8rem;display:flex}.review-empty{color:var(--ink-dim);max-width:620px;padding:2rem 2.2rem}.review-empty-actions{gap:.8rem;margin-top:1.3rem;display:flex}.review-upcoming{color:var(--muted-solid);margin-top:1.2rem;font-size:.72rem}.review-list{flex-direction:column;gap:1rem;max-width:680px;display:flex}.review-item{padding:1.4rem 1.6rem}.review-card{width:100%;min-height:90px}.review-stmt{color:var(--ink);margin-bottom:1rem;font-size:1rem}.review-actions{flex-wrap:wrap;gap:.6rem;margin-top:.9rem;display:flex}.dash-head{justify-content:space-between;align-items:end;gap:1.5rem;max-width:none;display:flex}.dash-empty{color:var(--ink-dim);margin-bottom:1.6rem;padding:1.6rem 1.9rem}.stat-tiles{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.4rem;display:grid}.stat-tile{padding:1.3rem 1.5rem}.stat-tile-v{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.stat-tile-v span{color:var(--muted-solid);font-size:1rem;font-weight:500}.stat-tile-k{color:var(--muted-solid);text-transform:uppercase;letter-spacing:.12em;margin-top:.3rem;font-size:.64rem}.dash-predict{align-items:center;gap:2.4rem;margin-bottom:1.4rem;padding:1.8rem 2.2rem;display:flex}.dash-predict-main{flex:1}.dash-predict-score{font-family:var(--font-display);letter-spacing:-.03em;font-size:3rem;font-weight:700}.dash-predict-score .mono{color:var(--muted-solid);font-size:1.1rem}.dash-predict-qual{color:var(--ink-dim);margin-top:.3rem}.dash-predict-qual strong{color:var(--accent);font-size:1.15rem}.dash-predict-note{color:var(--muted-solid);margin-top:.8rem;font-size:.66rem}.dash-cols{grid-template-columns:1fr 1fr;align-items:start;gap:1.2rem;margin-bottom:1.4rem;display:grid}.dash-stack{flex-direction:column;gap:1.2rem;display:flex}.dash-panel{padding:1.6rem 1.8rem}.dash-none{color:var(--muted-solid);font-size:.86rem}.ch-barrow{align-items:center;gap:.9rem;margin-bottom:.55rem;display:flex}.ch-bar-label{width:40%;min-width:120px;color:var(--ink-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.ch-bar-track{background:#ffffff0f;border-radius:4px;flex:1;height:8px;overflow:hidden}.ch-bar-fill{border-radius:4px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);display:block}.ch-bar-value{color:var(--muted-solid);white-space:nowrap;text-align:right;min-width:44px;font-size:.66rem}.dash-heat{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.dash-heat.wide{grid-template-columns:repeat(6,1fr)}.dash-heat-cell{color:#fff;cursor:default;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;gap:.15rem;min-height:48px;padding:.55rem .6rem;font-size:.68rem;display:flex}.dash-heat-cell .mono{opacity:.85;font-size:.62rem}.ch-activity{align-items:flex-end;gap:3px;height:64px;display:flex}.ch-act-col{flex:1;height:100%;display:flex}.ch-act-track{align-items:flex-end;width:100%;display:flex}.ch-act-fill{background:var(--accent);opacity:.85;border-radius:3px 3px 0 0;width:100%;min-height:0;transition:height .5s}.ch-act-col:hover .ch-act-fill{opacity:1}.ch-ring{text-align:center;flex-shrink:0}.ch-ring-label{color:var(--muted-solid);text-transform:uppercase;letter-spacing:.14em;margin-top:.4rem;font-size:.62rem}.badge-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.badge{border:1px solid var(--line-faint);color:var(--muted-solid);border-radius:10px;align-items:center;gap:.6rem;padding:.55rem .8rem;font-size:.8rem;display:flex}.badge.earned{color:var(--ink);background:var(--accent-soft);border-color:#4d7fff66}.badge-mark{color:var(--accent)}.dash-attempt{border-bottom:1px solid var(--line-faint);color:var(--ink-dim);align-items:center;gap:.8rem;padding:.55rem .2rem;font-size:.85rem;display:flex}.dash-attempt:last-child{border-bottom:none}.dash-attempt:hover{color:var(--ink)}.dash-attempt-dot{background:#e0596e;border-radius:50%;flex-shrink:0;width:8px;height:8px}.dash-attempt-dot.ok{background:#1fa863}.dash-attempt-txt{flex:1}.dash-attempt .mono{color:var(--muted-solid);font-size:.64rem}.mentor-lesson{border-bottom:1px solid var(--line-faint);color:var(--ink-dim);justify-content:space-between;gap:1rem;padding:.4rem 0;font-size:.86rem;display:flex}.mentor-lesson:last-child{border-bottom:none}.mentor-lesson .mono{color:var(--muted-solid);font-size:.66rem}.parent-line{color:var(--ink-dim);margin-bottom:.9rem;font-size:.95rem}.parent-quote{color:var(--ink);border-left:2px solid var(--accent);padding-left:1rem;font-size:.95rem;font-style:italic}.katex{font-size:1.02em}.math-display{margin:.6rem 0;display:block;overflow-x:auto}@media (max-width:1080px){.pw{grid-template-columns:1fr}.pw-side{position:static}.dash-cols{grid-template-columns:1fr}.learn-track{grid-template-columns:1fr;gap:1.4rem}.contest-grid,.cr-body{grid-template-columns:1fr}.cr-sheet{position:static}}@media (max-width:860px){.shell{grid-template-columns:1fr}.shell-side{display:none}.shell-content{padding-bottom:7rem}.shell-mobile{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--line-faint);padding:.5rem .4rem calc(.5rem + env(safe-area-inset-bottom));background:#0b0e14e0;display:flex;position:fixed;bottom:0;left:0;right:0}.shell-mlink{color:var(--muted-solid);border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:.15rem;padding:.3rem 0;font-size:.62rem;display:flex}.shell-mlink .mono{font-size:.9rem}.shell-mlink.active{color:var(--accent)}.path-grid,.unit-lessons{grid-template-columns:1fr}.stat-tiles{grid-template-columns:repeat(2,1fr)}.dash-heat,.dash-heat.wide{grid-template-columns:repeat(3,1fr)}.dash-predict{flex-direction:column;align-items:flex-start;gap:1.4rem}.pw-main{padding:1.4rem 1.5rem}.cr-grid{grid-template-columns:repeat(6,1fr)}}@media (prefers-reduced-motion:reduce){.lp-block,.lp-step,.pw-hint,.pw-solution{animation:none}}
