:root{font-family:system-ui,sans-serif;color:#15323a;background:#f4f8f8}body{margin:0;min-height:100vh}main{max-width:1200px;margin:0 auto;padding:1.5rem clamp(20px,5vw,40px)}h1{font-size:1.6rem}h2{font-size:1.3rem}h3{margin-top:0;font-size:1.05rem;color:#42606a}nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;row-gap:.6rem;padding:.8rem clamp(20px,5vw,40px);border-bottom:1px solid #e0ecec;background:#fff}.brand{color:#157a78;font-size:1.15rem}.brand-lg{color:#157a78;text-align:center}.tagline{text-align:center;color:#42606a;text-wrap:balance}.nav-toggle{display:flex;gap:.4rem}.nav-toggle button{background:#fff;border:1px solid #d6e8e6;border-radius:10px;padding:.45rem .9rem;cursor:pointer}nav .nav-toggle button:disabled{background:#157a78;color:#fff;border-color:#157a78;opacity:1}.nav-spacer{flex:1}button{cursor:pointer;font:inherit}button.primary{background:#157a78;color:#fff;border:none;border-radius:10px;padding:.6rem 1.2rem;font-weight:600;min-height:42px}button.primary:hover{background:#0f615f}button.primary:disabled{background:#9bb0b5;cursor:default}button.link{background:none;border:none;color:#157a78;padding:0;font-weight:600}button:not(.primary):not(.link){background:#fff;border:1px solid #d6e8e6;border-radius:10px;padding:.5rem 1rem}.card{background:#fff;border:1px solid #e0ecec;border-radius:16px;padding:1.25rem;margin:.8rem 0;box-shadow:0 12px 30px -24px #15323a4d}.centered-card{text-align:center;max-width:30rem;margin:3rem auto}.placeholder{border:1px dashed #9bb0b5;border-radius:12px;padding:1.5rem;color:#42606a;margin-top:1rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#15323a73;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;overflow-y:auto}.modal{position:relative;width:100%;max-width:30rem}.modal>.card{margin:0;box-shadow:0 24px 60px -20px #15323a80}.modal button.modal-close{position:absolute;top:.5rem;right:.6rem;z-index:1;background:none;border:none;border-radius:8px;font-size:1.5rem;line-height:1;color:#6b8189;cursor:pointer;padding:.05rem .5rem}.modal button.modal-close:hover{color:#15323a;background:#eef4f4}.muted{color:#6b8189}.error{color:#b3261e}.auth-split{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-hero{position:relative;overflow:hidden;color:#eafaf7;background:#0f5f5d;padding:clamp(1.75rem,3.5vw,3rem) clamp(2.5rem,5vw,4.25rem);display:flex;flex-direction:column;justify-content:space-between;gap:2rem}.hero-blob{position:absolute;border-radius:50%;pointer-events:none}.hero-blob-a{top:-180px;right:-140px;width:460px;height:460px;background:#157a78;opacity:.45}.hero-blob-b{bottom:-220px;left:-120px;width:420px;height:420px;background:#0a4a48;opacity:.55}.hero-brand{position:relative;display:flex;align-items:center;gap:.875rem;font-size:1.94rem;font-weight:800;letter-spacing:-.02em}.hero-dot{width:33px;height:33px;border-radius:50%;background:#eafaf7}.hero-body{position:relative;max-width:37.5rem;margin:0 auto}.hero-h1{font-size:clamp(2.5rem,4vw,3.375rem);line-height:1.08;font-weight:800;letter-spacing:-.03em;margin:0 0 1.25rem}.hero-lead{font-size:1.31rem;line-height:1.55;color:#c6e9e4;margin:0 0 2.5rem}.hero-snap{background:#ffffff14;border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:1.625rem}.snap-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;font-size:1.125rem;font-weight:700}.snap-ok{color:#7fe0b0;font-size:1rem;font-weight:700}.snap-skill{margin-bottom:1.125rem}.snap-skill:last-child{margin-bottom:0}.snap-row{display:flex;justify-content:space-between;font-size:1.025rem;font-weight:500;margin-bottom:.4375rem}.snap-pct{color:#bfe7e0}.snap-bar{height:9px;border-radius:999px;background:#ffffff29;overflow:hidden}.snap-bar span{display:block;height:100%;border-radius:999px;background:#7fe0b0}.hero-foot{position:relative;font-size:1.025rem;color:#a9d9d2;font-weight:500}.auth-panel{display:flex;align-items:center;justify-content:center;padding:3.75rem 2.5rem;background:#f9fcfc}.panel-inner{width:100%;max-width:31.25rem}.panel-head{margin-bottom:1.875rem}.panel-head h2{font-size:2.19rem;font-weight:800;letter-spacing:-.02em;color:#15323a;margin:0 0 .4375rem}.panel-head p{font-size:1.25rem}.auth-tabs{display:flex;gap:.4375rem;padding:.375rem;background:#e9f1f0;border-radius:15px;margin-bottom:1.875rem}.auth-panel .auth-tabs button{flex:1;padding:.75rem;border:none;background:none;border-radius:10px;font-weight:700;font-size:1.125rem;color:#6b8189;cursor:pointer}.auth-panel .auth-tabs button.on{background:#fff;color:#157a78;box-shadow:0 1px 3px #0000001a}.auth-form{display:flex;flex-direction:column;gap:1.25rem;animation:authFloat .28s ease}@keyframes authFloat{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.btn-block{width:100%;margin-top:.25rem}.auth-panel button.primary{padding:.75rem 1.5rem;font-size:1.125rem;border-radius:13px;min-height:52px}.switch-prompt{text-align:center;font-size:1.125rem;color:#6b8189;margin:1.75rem 0 0}.auth-panel label{display:block;margin:.25rem 0;font-weight:700;font-size:1.025rem;color:#2f4a52}.auth-panel input:not([type=checkbox]),.auth-panel select{display:block;width:100%;box-sizing:border-box;margin-top:.5rem;padding:.875rem 1.0625rem;border:1.5px solid #d6e8e6;border-radius:15px;font-size:1.25rem;background:#fdfefe;color:#15323a}.child-form label{display:block;margin:.2rem 0;font-weight:700;font-size:.82rem;color:#2f4a52}.child-form input,.child-form select{display:block;width:100%;box-sizing:border-box;margin-top:.4rem;padding:.7rem .85rem;border:1.5px solid #d6e8e6;border-radius:12px;font:inherit;background:#fdfefe;color:#15323a}.child-form button{margin-top:.4rem}.form-actions{display:flex;justify-content:flex-end;margin-top:.8rem}.login-handle{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#eef7f6;border:1px dashed #9ccfcb;border-radius:8px;padding:.12rem .5rem;color:#0f615f;white-space:nowrap}.login-form{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap;margin-top:.6rem}.login-form label{flex:0 1 240px;display:block;font-weight:700;font-size:.82rem;color:#2f4a52}.login-form input{display:block;width:100%;box-sizing:border-box;margin-top:.4rem;padding:.7rem .85rem;border:1.5px solid #d6e8e6;border-radius:12px;font:inherit;background:#fdfefe;color:#15323a;letter-spacing:.25em}.login-form input:focus{border-color:#157a78}.login-form button{margin-bottom:.2rem;white-space:nowrap}@media(max-width:820px){.auth-split{grid-template-columns:1fr}.auth-hero{display:none}.auth-panel{min-height:100vh}}nav select{display:inline-block;width:auto;max-width:100%;min-width:0;padding:.5rem .7rem;border:1px solid #d6e8e6;border-radius:10px;font:inherit;background:#fff}@media(max-width:560px){.nav-spacer{display:none}}.auth .checkbox,.card .checkbox{display:flex;gap:.6rem;align-items:flex-start;font-weight:500;margin:.9rem 0;line-height:1.4}.auth .checkbox input,.card .checkbox input{width:auto;margin-top:.2rem}.tabs{display:flex;gap:0;margin-bottom:.8rem;border-bottom:1px solid #e0ecec}.card .tabs button{flex:1;border:none;background:none;border-radius:0;padding:.6rem;color:#6b8189;font-weight:600}.card .tabs button.active{color:#157a78;font-weight:700;border-bottom:2px solid #157a78}.card .tabs button:not(.active):hover{color:#157a78}.alert-error{background:#fdf1ef;color:#b3261e;border:1px solid #f3c9c4;border-radius:10px;padding:.6rem .8rem;font-size:.9rem;margin:.8rem 0 0}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #157a78;outline-offset:2px}.auth-panel input:focus,.auth-panel select:focus,.child-form input:focus,.child-form select:focus{border-color:#157a78}.row-between{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.child-dash{margin:.2rem 0 .6rem;display:grid;gap:.8rem}.child-goal{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:linear-gradient(120deg,#eef7f6,#f5fbfa);border-color:#cde8e4}.child-goal .goal-l{flex:1;min-width:220px}.goal-t{font-size:.7rem;font-weight:800;letter-spacing:.06em;color:#6b8189;text-transform:uppercase}.goal-h{font-size:1.15rem;font-weight:800;color:#15323a;margin:.25rem 0 .6rem}.goal-bar{height:10px;background:#d7ece8;border-radius:8px;overflow:hidden}.goal-bar span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#157a78,#3aa99a)}.goal-pct{font-size:.82rem;margin-top:.45rem}.goal-badges{display:flex;flex-direction:column;gap:.5rem}.child-badge{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid #d6e8e6;border-radius:999px;padding:.4rem .85rem;font-weight:700;font-size:.85rem;white-space:nowrap}.child-badge .bi{font-size:1rem}.hunit{font-size:1rem;font-weight:500;color:#6b8189}.topic-list{display:grid;gap:.6rem}.topic-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.topic-actions{display:flex;gap:.5rem;margin-top:.7rem}.mastery{display:inline-flex;align-items:center;gap:.5rem}.mastery-track{width:110px;height:8px;border-radius:999px;background:#e9f4f3;overflow:hidden;display:inline-block}.mastery-fill{display:block;height:100%;background:#157a78;border-radius:999px}.mastery-label{font-size:.8rem;color:#42606a}.stem{font-size:1.15rem;font-weight:600}.option-row{display:flex;gap:.6rem;align-items:center;padding:.55rem .7rem;border:1px solid #e0ecec;border-radius:10px;margin:.4rem 0}.numeric{padding:.55rem .7rem;border:1px solid #d6e8e6;border-radius:10px;font:inherit;margin-right:.6rem}.feedback{margin-top:.9rem;padding:.8rem;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.feedback.good{background:#eaf5ee;color:#2e7d54}.feedback.try{background:#fdf1ef;color:#8a4a42}progress{width:100%;accent-color:#157a78}.tutorial-body h3{color:#15323a;margin:1.1rem 0 .3rem}.tutorial-body p,.tutorial-body li{line-height:1.55;color:#2f4a52}.tut-hook{font-size:1.2rem;font-weight:700;color:#0a5c46;line-height:1.4;margin:.6rem 0 .4rem}.concept-card{background:#f4faf6;border-color:#cde8d6}.concept-card h3{margin:0 0 .35rem;color:#15323a}.concept-card p{line-height:1.55;color:#2f4a52;margin:0}.worked-example .working{margin-top:.6rem}.worked-example button,.check-in button,.fact-triangle button{border:1px solid #d6e8e6;background:#fff;color:#157a78;border-radius:10px;padding:.5rem .9rem;font:inherit;font-weight:700;cursor:pointer;margin-top:.6rem}.worked-example button:hover,.fact-triangle button:hover{background:#f0f8f6}.watch-out{background:#fdf7ee;border-color:#f0dcb8}.watch-tag{display:inline-block;background:#fbeccb;color:#8a5a1a;font-size:.75rem;font-weight:700;border-radius:999px;padding:2px 10px;margin-bottom:.4rem}.watch-out p{line-height:1.55;color:#5c4a2f;margin:0}.check-in{background:#f7fbfa}.check-in-options{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.check-in-options button{margin-top:0}.check-in-options button.on{background:#157a78;color:#fff;border-color:#157a78}.check-in-ack{color:#2e7d54;font-weight:600;margin:.6rem 0 0}.fact-triangle{text-align:center}.fact-list{list-style:none;padding:0;margin:.6rem auto 0;max-width:220px;display:grid;gap:.35rem}.fact-list li{background:#eaf5ee;color:#15323a;font-weight:700;border-radius:8px;padding:.4rem .6rem}.beats{margin:.4rem 0}.beat-dots{display:flex;gap:8px;justify-content:center;margin-bottom:14px}.beat-dot{width:10px;height:10px;border-radius:50%;background:#c8dedc;transition:all .3s}.beat-dot.on{background:#157a78;transform:scale(1.25)}.beat-dot.done{background:#f5b83d}.eyebrow{display:inline-block;font-weight:800;font-size:.78rem;letter-spacing:.1em;color:#2c8a84;background:#d7ebe9;padding:4px 12px;border-radius:999px;margin-bottom:10px;text-transform:uppercase}.beat-body{animation:beat-in .45s ease both}@keyframes beat-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.btn-row{text-align:center;margin:10px 0}.beat-btn{border:1px solid #d6e8e6;background:#fff;color:#157a78;border-radius:12px;padding:.55rem 1rem;font:inherit;font-weight:800;cursor:pointer;margin-top:.6rem}.beat-btn:hover{background:#f0f8f6}.mascot-dialog{margin:.4rem 0}.bubble-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.bubble-row .avatar{flex:0 0 46px;margin-top:2px}.bubble{position:relative;background:#fff;border-radius:4px 16px 16px;padding:12px 44px 12px 16px;box-shadow:0 4px 14px #134e4a1a;font-weight:700;font-size:1.02rem;line-height:1.45}.say-btn{position:absolute;top:9px;right:9px;width:28px;height:28px;border:none;border-radius:50%;background:#d7ebe9;cursor:pointer;font-size:.8rem;line-height:1}.say-btn:hover{background:#c2e0dd}.jar-card,.nl-card,.eq-card,.spinner-card{text-align:center}.jar-count,.walk-count{font-weight:800;color:#157a78;min-height:1.5em;margin-top:.5rem}.numberline{display:flex;justify-content:center;gap:3px;flex-wrap:wrap}.nl-cell{position:relative;width:38px;padding-top:30px;text-align:center;font-weight:700;color:#4c6866}.nl-cell .num{display:inline-block;width:100%;border-top:3px solid #c8dedc;padding-top:6px}.nl-cell.visited .num{color:#2c8a84}.nl-cell.startpoint .num{color:#d99a1b;font-size:1.15em}.nl-cell .walker{position:absolute;top:0;left:0;right:0;display:none}.nl-cell.here .walker{display:block;animation:hop .4s ease}@keyframes hop{0%{transform:translateY(-8px)}50%{transform:translateY(-14px)}to{transform:none}}.flip-stage .flip-row{font-weight:800;font-size:1.5rem;margin:0}.flip-arrow{font-weight:800;color:#2c8a84;margin:8px 0;transition:transform .6s}.flip-stage.flipped .flip-arrow{transform:rotate(180deg)}.flip-answer{font-weight:800;font-size:1.5rem;color:#157a78;opacity:0;transform:scale(.6);transition:all .5s .2s;margin:0}.flip-stage.flipped .flip-answer{opacity:1;transform:scale(1)}.flip-stage{text-align:center}.hl-gold{background:#fdeec8;border-radius:8px;padding:0 8px}.choice-reveal{text-align:center}.cr-equation{font-weight:800;font-size:1.5rem;margin:.4rem 0}.choices{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:.5rem 0}.choice{font-weight:800;font-size:1.25rem;min-width:64px;padding:12px 18px;border-radius:14px;border:3px solid #d7ebe9;background:#fff;color:#134e4a;cursor:pointer;box-shadow:0 4px #d7ebe9;transition:all .12s;font-family:inherit}.choice:hover:not(:disabled){transform:translateY(-2px);border-color:#2c8a84}.choice.correct{background:#f5b83d;border-color:#d99a1b;box-shadow:0 4px #d99a1b}.choice.wrong{background:#fdeceb;border-color:#e8705f;box-shadow:0 4px #e3a79f;animation:shake .35s}.choice:disabled{cursor:default;opacity:.55}.choice.correct:disabled,.choice.wrong:disabled{opacity:1}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.cr-feedback{font-weight:800;border-radius:12px;padding:10px 14px;margin:.5rem 0 0}.cr-feedback.good{background:#eaf6ee;color:#1c7d43}.cr-feedback.bad{background:#fdeceb;color:#b6483a}.cr-feedback.hint{background:#fff6e3;color:#9a6c0c}.check-result{font-weight:800;font-size:1.3rem;color:#1c7d43;margin:.5rem 0 0}.badge-card{background:linear-gradient(140deg,#1f6f6b,#134e4a);color:#fff;text-align:center}.badge-card h2{margin:.4rem 0 .2rem}.badge-card p{color:#cfe7e5;font-weight:700;margin:0}.badge-medal{width:84px;height:84px;border-radius:50%;margin:0 auto 8px;background:radial-gradient(circle at 35% 30%,#ffe08a,#f5b83d 60%,#d99a1b);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px #f5b83d47;animation:medal .8s ease both}@keyframes medal{0%{transform:scale(0) rotate(-30deg)}70%{transform:scale(1.15) rotate(6deg)}to{transform:none}}.star-pill{display:inline-flex;gap:6px;margin-top:10px;background:#ffffff26;border-radius:999px;padding:6px 16px;font-weight:800}.fbar-row{display:flex;align-items:center;gap:10px;margin:.4rem 0}.fbar-label{font-weight:800;width:44px;text-align:right}.fbar{display:flex;flex:1;border:2px solid #157a78;border-radius:8px;overflow:hidden;height:30px}.fbar-cell{flex:1;border-right:1px solid #157a78;background:#fff}.fbar-cell:last-child{border-right:none}.fbar-cell.filled{background:#9fe1cb}.spinner-legend{font-weight:700;color:#4c6866;margin:.4rem 0 0}.chart-bars{display:flex;gap:12px;align-items:flex-end;justify-content:center;padding:.5rem 0 0}.chart-col{display:flex;flex-direction:column;align-items:center;gap:4px}.chart-bar{width:38px;background:#2c8a84;border-radius:6px 6px 0 0}.chart-val{font-weight:800;color:#157a78}.chart-label{font-weight:700;font-size:.85rem;color:#4c6866}.pv-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.pv-cell{display:flex;flex-direction:column;align-items:center;background:#f7fbfa;border:1px solid #d6e8e6;border-radius:10px;padding:8px 12px}.stemleaf-card{text-align:center}.stemleaf{margin:.4rem auto 0;border-collapse:collapse;font-variant-numeric:tabular-nums}.stemleaf th{font-size:.75rem;text-transform:uppercase;color:#4c6866;padding:2px 14px}.stemleaf td{padding:3px 14px;font-weight:700;font-size:1.05rem}.stemleaf td:first-child{text-align:right;border-right:3px solid #157a78;color:#134e4a}.stemleaf td:last-child{text-align:left;letter-spacing:.35em;color:#2f4a52}.stemleaf-key{color:#6b8189;font-size:.85rem;margin:.4rem 0 0}.pv-digit{font-weight:800;font-size:1.5rem;color:#134e4a}.pv-place{font-size:.72rem;font-weight:700;color:#4c6866;text-transform:uppercase}.pv-value{font-weight:700;color:#157a78;font-size:.85rem}@media(prefers-reduced-motion:reduce){.beat-body,.nl-cell.here .walker,.badge-medal,.choice.wrong{animation:none}.flip-arrow,.flip-answer,.beat-dot,.choice{transition:none}}.review-console{max-width:720px}.review-token{display:flex;gap:.6rem;margin:.8rem 0}.review-token input{flex:1;padding:.55rem .7rem;border:1px solid #d6e8e6;border-radius:10px;font:inherit}.review-error{background:#fdeceb;color:#b6483a;border-radius:10px;padding:.6rem 1rem}.review-coverage table{width:100%;border-collapse:collapse;margin-top:.5rem}.review-coverage th,.review-coverage td{text-align:left;padding:4px 8px;border-bottom:1px solid #e0ecec;font-size:.9rem}.review-list{list-style:none;padding:0;display:grid;gap:.4rem}.review-validated{background:#eaf6ee;border-radius:10px;padding:.6rem 1rem;display:grid;gap:.4rem;margin:.6rem 0;font-weight:600}.review-meta{padding:.7rem 1rem;margin:.6rem 0}.review-actions{display:flex;gap:.6rem;margin:.6rem 0 1rem}.danger-btn{background:#fff;border:1px solid #d78078;color:#b3261e;border-radius:10px;padding:.5rem 1rem;font:inherit;cursor:pointer}.danger-btn:hover{background:#fdf1ef}.verify-notice{background:#eaf5ee;color:#2e7d54;border-radius:10px;padding:.7rem 1rem;text-align:center}button.danger{background:#fff;border:1px solid #d78078;color:#b3261e;border-radius:10px;padding:.5rem 1rem;margin-left:.6rem}button.danger:hover{background:#fdf1ef}button.danger:disabled{color:#c9a5a2;border-color:#ecd6d4;cursor:default}.privacy-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}.consent-history{padding-left:1.1rem;color:#42606a;font-size:.9rem}.privacy details{margin:.6rem 0}.privacy summary{cursor:pointer;color:#6b8189;font-size:.9rem}.privacy details input{padding:.5rem .7rem;border:1px solid #d6e8e6;border-radius:10px;font:inherit;margin:.4rem 0}.child-chips{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.chip{background:#fff;border:1px solid #d6e8e6;border-radius:999px;padding:.3rem .8rem;font-size:.85rem;font-weight:700}.continue-card{border-color:#157a78;border-width:2px}.continue-card h3{margin-bottom:.3rem}.lesson-steps{display:flex;gap:8px;margin:.8rem 0}.lesson-steps .step{flex:1;text-align:center;font-size:.8rem;font-weight:700;color:#9bb0b5;padding-bottom:6px;border-bottom:3px solid #e0ecec}.lesson-steps .step.on{color:#157a78;border-color:#157a78}.lesson-steps .step.done{color:#2e7d54;border-color:#2e7d54}.interactive{background:#f7fbfa}.slider-row{display:flex;align-items:center;gap:.8rem;font-weight:700;font-size:.9rem;color:#42606a;margin:.4rem 0}.slider-row input[type=range]{flex:1;accent-color:#157a78}.readout{text-align:center;font-weight:700;margin-top:.5rem}.strand-grid{display:grid;gap:.4rem}.strand-row{display:flex;align-items:center;gap:.7rem}.strand-name{width:92px;font-weight:600;font-size:.9rem}.strand-detail{font-size:.85rem}.class-chip{font-size:.75rem;font-weight:700;border-radius:6px;padding:2px 8px;width:84px;text-align:center}.class-chip.strong{background:#eaf5ee;color:#2e7d54}.class-chip.developing{background:#fdf6df;color:#8a6d00}.class-chip.focus{background:#fdf1ef;color:#8a4a42}.class-chip.unseen{background:#eef2f2;color:#6b8189}.analytics{margin-bottom:.8rem}.heroes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin-bottom:.8rem}.hero{background:#fff;border:1px solid #e0ecec;border-radius:16px;padding:1rem 1.2rem;box-shadow:0 12px 30px -24px #15323a4d}.hlbl{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b8189}.hbig{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:.3rem 0 .1rem}.hbig.readiness{font-size:1.4rem;margin-top:.5rem}.hbig.readiness.good{color:#2e7d54}.hbig.readiness.mid{color:#8a6d00}.hbig.readiness.muted{color:#6b8189;font-size:1.1rem}.hsub{font-size:.78rem;color:#9bb0b5}.chart-legend{font-size:.8rem;margin-top:.6rem}.sw,.sw-solid,.sw-dash{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle}.sw-solid{background:#157a78}.sw-dash{border:2px dashed #9bb0b5;border-radius:0;height:8px}.seg{display:inline-flex;gap:.35rem}.card .seg button{border:1px solid #d6e8e6;background:#fff;border-radius:8px;font-size:.75rem;font-weight:700;color:#6b8189;padding:.3rem .7rem}.card .seg button.on{background:#157a78;color:#fff;border-color:#157a78}.focus-panel{border-color:#f2ddb6;background:#fffdf7}.focus-panel h3{color:#8a5a00}.focus-panel p{color:#5c4a2a}.delta-list{display:grid;gap:.5rem}.delta-row{display:flex;align-items:center;gap:.6rem}.dname{width:92px;font-weight:600;font-size:.85rem}.dbar{flex:1;height:8px;background:#e9f4f3;border-radius:999px;overflow:hidden}.dfill{display:block;height:100%;background:#157a78;border-radius:999px}.dpct{width:40px;text-align:right;font-weight:700;font-size:.85rem}.ddelta{width:46px;text-align:right;font-size:.8rem;font-weight:700}.ddelta.up{color:#2e7d54}.ddelta.down{color:#b3261e}.ddelta.flat{color:#9bb0b5}.habits{padding-left:1.1rem;color:#2f4a52}.habits li{line-height:1.5;margin:.3rem 0}table.sessions{width:100%;border-collapse:collapse;font-size:.85rem}table.sessions th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#9bb0b5;font-weight:700;padding:0 .5rem .5rem;border-bottom:1px solid #e0ecec}table.sessions td{padding:.6rem .5rem;border-bottom:1px solid #eef4f4}.stag{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:6px;text-transform:capitalize}.stag.practice{background:#eef2f2;color:#42606a}.stag.test{background:#e4effe;color:#2563eb}.stag.placement{background:#f2e9fd;color:#7c3aed}.review-list{display:grid;gap:.7rem}.review-item{border:1px solid #eef4f4;border-radius:12px;padding:.8rem 1rem}.rstem{font-weight:600;margin:0 0 .3rem}.rmis{color:#8a5a00;font-size:.88rem}.feeling-tap{margin:1rem 0}.feeling-row{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin:.5rem 0}.feeling-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:64px;background:#fff;border:1px solid #d6e8e6;border-radius:12px;padding:.5rem .4rem}.feeling-btn:hover{border-color:#157a78;background:#f4faf9}.feeling-btn .fe{font-size:1.4rem}.feeling-btn .fl{font-size:.68rem;color:#42606a}.feeling-thanks{text-align:center}.scene-lead{margin:.6rem 0}.scene-tag{display:inline-block;background:#eaf5ee;color:#2e7d54;font-size:.75rem;font-weight:800;padding:3px 10px;border-radius:20px;letter-spacing:.04em}.scene{background:#f4faf6;border-color:#cde8d6}.working{background:#f8f9fc;border:1px dashed #d6e8e6;border-radius:12px;padding:.4rem 1rem;margin-top:.6rem}.working-line{margin:.45rem 0;color:#2f4a52}.review-thread{margin-top:.8rem;font-size:.9rem}.review-thread .link{font-size:inherit}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem}.dash-grid.standing{grid-template-columns:1fr}@media(min-width:700px){.dash-grid.standing{grid-template-columns:repeat(2,minmax(0,1fr))}}.table-scroll{overflow-x:auto}.big-stat{font-size:2.2rem;font-weight:700;margin:.2rem 0}.big-stat .unit{font-size:1rem;font-weight:500;color:#6b8189}.big-stat.band{font-size:1.5rem;color:#157a78}.trend{font-size:1rem;line-height:1.5}.next-step{border-color:#157a78}.assessment-list{padding-left:1.1rem;color:#42606a;font-size:.9rem}
