html{background:#f6f8f4;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,Microsoft YaHei,PingFang SC,sans-serif}body{margin:0}#root{min-height:100vh}:root{--color-forest:#286b5f;--color-sage:#8da39b;--color-mint:#e5efe8;--color-linen:#f6f8f4;--color-cream:#fffaf0;--color-gold:#e7b957;--color-charcoal:#20312d;--color-muted-amber:#8a6420;--color-soft-blue:#e8f0fa;--color-card:#fff;--color-border:#dfe7de;--space-xs:.35rem;--space-sm:.65rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.25rem;--radius-card:8px;--radius-button:8px;--radius-pill:999px;--shadow-soft:0 14px 36px #2a403714;--shadow-card:0 10px 24px #2a403712;color:#20312d;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f8f4;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,Microsoft YaHei,PingFang SC,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{color:#fff;cursor:pointer;font:inherit;background:#286b5f;border:0;border-radius:8px;min-height:48px;padding:.72rem 1.05rem;font-size:.96rem;font-weight:750;transition:transform .16s,box-shadow .16s,background .16s}button:hover{background:#1f594f;transform:translateY(-1px);box-shadow:0 8px 20px #164a4029}button:focus-visible{outline-offset:3px;outline:3px solid #f2b84b}button.secondary{color:#23443d;background:#e5efe8}button.quiet{color:#286b5f;background:0 0;box-shadow:inset 0 0 0 1px #b9cdc5}.action-button{text-align:left;justify-content:flex-start;align-items:center;gap:.75rem;min-width:176px;min-height:64px;padding:.7rem .95rem;display:inline-flex}.action-button.primary{color:#fff;background:#286b5f}.action-button.secondary{color:#23443d;background:#e5efe8}.action-button.quiet{color:#286b5f;background:#fff;box-shadow:inset 0 0 0 1px #b9cdc5}.action-button.selected{box-shadow:inset 0 0 0 2px #f2b84b,0 10px 24px #2a40371f}.action-icon-wrap{color:#286b5f;background:#fffaf0f2;border-radius:8px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.action-button.secondary .action-icon-wrap,.action-button.quiet .action-icon-wrap{background:#f6f8f4}.action-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;width:30px;height:30px}.action-icon-text{fill:currentColor;stroke:none;font-size:9px;font-weight:850}.action-button-copy{gap:.08rem;min-width:0;display:grid}.action-button-copy strong,.action-button-copy small{line-height:1.15;display:block}.action-button-copy small{color:currentColor;opacity:.78;font-size:.78rem;font-weight:700}.app-shell{min-height:100vh}.topbar{-webkit-backdrop-filter:blur(12px);z-index:10;background:#f6f8f4eb;border-bottom:1px solid #dfe7de;justify-content:space-between;align-items:center;padding:.85rem clamp(1rem,3vw,2rem);display:flex;position:sticky;top:0}.topbar-actions,.screen-heading-row{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.topbar-actions{flex-wrap:wrap;gap:.5rem .75rem}.language-toggle{transform-origin:100%;background:#eef3ee;border:1px solid #d3dfd8;border-radius:999px;align-items:center;gap:.2rem;padding:.2rem;display:inline-flex;transform:scale(.72)}.language-pill{box-shadow:none;color:#38534c;background:0 0;border-radius:999px;min-width:32px;min-height:32px;padding:.32rem .55rem}.language-pill:hover{box-shadow:none;background:#dfeae3;transform:none}.language-pill.active{color:#fff;background:#286b5f}.brand-button{color:#20312d;background:0 0;align-items:center;gap:.65rem;padding:0;display:inline-flex}.brand-button:hover{box-shadow:none;background:0 0}.brand-mark{color:#fff;background:#286b5f;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:.8rem;font-weight:850;display:inline-flex}.model-note{color:#65746f;font-size:.88rem}.screen{max-width:1120px;margin:0 auto;padding:clamp(1.2rem,4vw,3rem)}.welcome-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:stretch;gap:1rem;display:grid}.welcome-grid>*,.screen>*,.hero-copy>*{min-width:0}.hero-copy,.info-panel,.panel,.feedback-panel,.metric,.quiz-card,.badge-screen{background:#fff;border:1px solid #dfe7de;border-radius:8px;box-shadow:0 14px 36px #2a403714}.hero-copy{min-height:460px;padding:clamp(1.5rem,6vw,4.5rem)}.welcome-hero-graphic{object-fit:contain;width:min(100%,520px);max-width:100%;height:auto;max-height:240px;margin:.75rem 0 1rem;display:block}.hero-copy h1,.screen h1{letter-spacing:0;margin:0 0 1rem;font-size:clamp(2.15rem,7vw,5rem);line-height:.96}.hero-copy p,.screen>p,.info-panel p{color:#536761;max-width:720px;font-size:1.05rem}.info-panel{align-self:start;padding:1.35rem}.info-panel h2,.panel h2{margin:0 0 .6rem}.button-row{flex-wrap:wrap;gap:.75rem;margin-top:1.4rem;display:flex}.lesson-actions{background:#fff;border:1px solid #dfe7de;border-left:5px solid #286b5f;border-radius:8px;margin-top:0;padding:.85rem;box-shadow:0 10px 24px #2a403712}.lesson-actions .action-button{flex:210px;max-width:320px}.weekly-day-actions{justify-content:space-between;align-items:center}.weekly-day-actions div{gap:.15rem;display:grid}.weekly-day-actions p{color:#536761;margin:0}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.module-card{color:#20312d;text-align:left;background:#fff;border:1px solid #dfe7de;flex-direction:column;align-items:flex-start;gap:.35rem;min-height:160px;padding:1.2rem;display:flex}.module-card-badge{aspect-ratio:1;object-fit:contain;pointer-events:none;align-self:center;width:clamp(108px,20vw,140px);max-width:44%;margin:-.15rem auto .45rem;display:block}.module-card span,.section-label{color:#286b5f;text-transform:uppercase;margin:0 0 .35rem;font-size:.78rem;font-weight:850}.module-card strong{font-size:1.35rem}.module-card small{color:#65746f;font-size:.95rem}.lesson-layout{gap:1rem;display:grid}.lesson-hero{grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);align-items:center;gap:1rem;display:grid}.lesson-hero.text-only{grid-template-columns:1fr}.module-hero-badge{object-fit:contain;justify-self:end;width:min(100%,280px);max-width:100%;height:auto;max-height:220px;display:block}.sprite-insulin-switch{justify-self:end;justify-items:center;gap:.35rem;width:min(100%,310px);margin:0;display:grid}.sprite-switch-frame{aspect-ratio:4/3;background-image:url(/game-assets/processed/switch-sprite/insulin-switch-sprite-sheet.png?v=3);background-position:calc(var(--switch-frame) * 25%) 0;outline-offset:4px;background-repeat:no-repeat;background-size:500% 100%;border-radius:8px;width:100%;max-width:100%;transition:filter .18s,transform .18s;display:block}.sprite-mode-store .sprite-switch-frame{filter:drop-shadow(0 0 16px #5cbe5847)}.sprite-mode-fatUse .sprite-switch-frame{filter:drop-shadow(0 0 18px #40b6514d)}.sprite-mode-neutral .sprite-switch-frame{filter:drop-shadow(0 8px 18px #2a403714)}.sprite-switch-frame[role=button]{cursor:pointer}.sprite-switch-frame[role=button]:hover,.sprite-switch-frame[role=button]:focus-visible{filter:saturate(1.05);transform:translateY(-1px)}.sprite-switch-caption{color:#20312d;text-align:center;gap:.08rem;display:grid}.sprite-switch-caption strong{color:#20312d;font-size:.92rem;font-weight:850}.sprite-switch-caption span{color:#536761;font-size:.78rem;line-height:1.25}.animated-insulin-switch{color:#286b5f;justify-self:end;gap:.45rem;width:min(100%,340px);min-width:0;max-width:360px;margin:0;display:grid}.animated-switch-svg{width:100%;height:auto;display:block}.switch-card-bg{fill:#fffaf0;stroke:#dfe7de;stroke-width:1.5px}.switch-left-glow,.switch-right-glow,.switch-side,.switch-curve{transition:opacity .56s,transform .56s}.switch-left-glow,.switch-right-glow{opacity:.16}.is-store .switch-left-glow,.is-fatUse .switch-right-glow,.is-settling .switch-left-glow,.is-settling .switch-right-glow{opacity:.78}.switch-side{opacity:.46;transform-box:fill-box;transform-origin:50%}.is-store .switch-store-side,.is-fatUse .switch-fatuse-side,.is-settling .switch-side{opacity:1;transform:scale(1.02)}.switch-line{fill:none;stroke:#286b5f;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.switch-line-fill,.switch-soft-fill{fill:#d9eadc;stroke:#286b5f;stroke-linejoin:round;stroke-width:3px}.switch-track{fill:#d9eadc;stroke:#286b5f;stroke-width:4px}.switch-knob{fill:#fffaf0;stroke:#286b5f;stroke-width:4px;transition:cx .56s}.switch-baseline{fill:none;opacity:.55;stroke:#8faf9c;stroke-dasharray:6 8;stroke-linecap:round;stroke-width:3px}.switch-curve{fill:none;stroke:#8faf9c;stroke-linecap:round;stroke-width:5px}.is-store .switch-curve{stroke:#b6953f}.is-fatUse .switch-curve{stroke:#286b5f}.switch-energy-dot{fill:#286b5f;opacity:.55}.is-store .store-dot{animation:1.8s ease-in-out infinite store-dot-flow}.is-fatUse .fatuse-dot{animation:1.8s ease-in-out infinite fatuse-dot-flow}.switch-label{fill:#536761;text-anchor:middle;font-size:.66rem;font-weight:800}.animated-switch-caption{text-align:center;justify-items:center;gap:.18rem;display:grid}.animated-switch-caption strong{color:#20312d;font-size:1rem}.animated-switch-caption span,.animated-switch-caption small{color:#536761;font-size:.82rem;line-height:1.25}.animated-switch-caption small{font-weight:800}.animated-insulin-switch.presentation{width:min(100%,500px);max-width:520px}@keyframes store-dot-flow{0%,to{opacity:.35;transform:translateY(-2px)}50%{opacity:1;transform:translateY(8px)}}@keyframes fatuse-dot-flow{0%,to{opacity:.35;transform:translate(-2px)}50%{opacity:1;transform:translate(8px)}}.dashboard,.weekly-play-layout{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:1rem;display:grid}.visuals{gap:1rem;display:grid}.graph-flow{gap:1rem;min-width:0;display:grid}.graph-flow .graph-panel,.graph-flow .feedback-panel{grid-column:auto}.panel{padding:1rem}.panel-title{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.panel-title span{color:#65746f;font-size:.88rem}.panel-title strong{color:#20312d;font-size:1.25rem}.time-badge{color:#20312d;white-space:nowrap;align-items:center;gap:20px;display:inline-flex}.time-badge strong{color:inherit;font-size:1rem;font-weight:850}.time-badge.compact{gap:20px}.time-badge.compact strong{font-size:.88rem}.time-clock{background:#fff;border:2px solid #286b5f;border-radius:999px;width:26px;height:26px;display:inline-block;position:relative;box-shadow:inset 0 0 0 2px #e5efe8}.time-badge.compact .time-clock{width:22px;height:22px}.time-clock:after{content:"";background:#286b5f;border-radius:999px;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.clock-hand{transform-origin:50% 100%;background:#286b5f;border-radius:999px;position:absolute;top:50%;left:50%}.clock-hand.hour{width:3px;height:7px;margin-top:-7px;margin-left:-1.5px}.clock-hand.minute{width:2px;height:9px;margin-top:-9px;margin-left:-1px}.time-badge.compact .clock-hand.hour{height:6px;margin-top:-6px}.time-badge.compact .clock-hand.minute{height:8px;margin-top:-8px}.time-sky{flex:none;width:22px;height:22px;display:inline-block;position:relative}.time-badge.compact .time-sky{width:18px;height:18px}.time-sky.sun{background:#f3c14b;border-radius:999px;box-shadow:0 0 0 3px #f3c14b2e}.time-sky.sun:before{content:"";border:2px solid #f3c14b;border-radius:999px;position:absolute;inset:-5px}.time-sky.moon{background:#48617e;border-radius:999px;box-shadow:0 0 0 3px #48617e29}.time-sky.moon:after{content:"";background:#fff;border-radius:999px;width:18px;height:18px;position:absolute;top:-2px;right:-2px}.time-badge.compact .time-sky.moon:after{width:15px;height:15px}.combined-status-card{gap:1.1rem;min-width:0;padding:clamp(1rem,3vw,1.35rem);display:grid;overflow:hidden}.combined-meter{border-bottom:1px solid #e5eee6;gap:.1rem;min-width:0;padding-bottom:1rem;display:grid;overflow:hidden}.combined-meter-title{justify-content:space-between;align-items:center;display:flex}.combined-meter-title span{color:#536761;font-size:1.05rem}.combined-meter-title strong{color:#20312d;font-size:clamp(1.35rem,5vw,1.65rem);font-weight:900}.meter-track{background:#e9eee9;border-radius:999px;width:100%;min-width:0;max-width:100%;height:28px;margin:1.7rem 0 .8rem;position:relative;overflow:hidden}.meter-fill{border-radius:inherit;background:linear-gradient(90deg,#69b68c,#e7b957);min-width:4px;height:100%;transition:width .26s ease-out}.marker{color:#41534e;font-size:.72rem;font-weight:800;position:absolute;top:-1.45rem;transform:translate(-50%)}.marker.baseline{left:0;transform:none}.marker.fat{left:18.75%}.marker.transition{left:37.5%}.meter-labels{color:#65746f;justify-content:space-between;min-width:0;font-size:.76rem;display:flex}.dashboard-switch{place-self:center;width:min(100%,240px)}.dashboard-switch .sprite-switch-caption{display:none}.combined-mode-copy{gap:.55rem;display:grid}.combined-mode-copy h2{margin:0;font-size:clamp(1.45rem,6vw,1.85rem);line-height:1.08}.combined-mode-copy p{color:#536761;margin:0;font-size:clamp(1rem,4.4vw,1.08rem);line-height:1.5}.mode-number{color:#286b5f;background:#eff6f1;border-radius:999px;align-self:start;padding:.34rem .7rem;font-weight:850;display:inline-flex}.graph-panel svg{width:100%;height:auto;display:block;overflow:visible}.graph-coach-note{overflow:visible}.graph-coach-copy{color:#41534e;background:#ffffffeb;border-left:4px solid #e7b957;border-radius:8px;min-height:48px;padding:.55rem .7rem;font-size:.82rem;line-height:1.35;box-shadow:0 8px 18px #2a403714}.lesson-progress{grid-template-columns:repeat(3,1fr);align-items:center;gap:.5rem;width:100%;max-width:520px;margin:0 auto;display:grid}.lesson-progress span{color:#71807b;justify-content:center;align-items:center;gap:.4rem;font-size:.78rem;font-weight:800;display:flex}.lesson-progress i{background:#e9eee9;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.72rem;font-style:normal;display:inline-flex}.lesson-progress .current{color:#20312d}.lesson-progress .current i,.lesson-progress .done i{color:#fff;background:#286b5f}.latest-point .curve-dot{animation:.32s ease-out latest-point-pulse}@keyframes latest-point-pulse{50%{stroke-width:8px}}.report-takeaway{margin-top:1rem}.report-details{background:#fff;border:1px solid #dbe4dc;border-radius:8px;margin-top:1rem;padding:.9rem 1rem}.report-details summary{color:#286b5f;cursor:pointer;font-weight:850}.report-details[open] summary{margin-bottom:.9rem}.graph-panel{overflow:hidden}.graph-inline-actions{box-shadow:none;background:0 0;border:0;justify-content:flex-end;margin:0;padding:0}.graph-inline-actions .action-button{flex:0 auto;gap:.5rem;min-width:150px;min-height:46px;padding:.45rem .65rem}.graph-inline-actions .action-icon-wrap{width:34px;height:34px}.graph-inline-actions .action-icon{width:24px;height:24px}.graph-inline-actions .action-button-copy strong{font-size:.88rem}.graph-inline-actions .action-button-copy small{font-size:.68rem}.free-play-screen>div:first-child h1{font-size:clamp(2.4rem,6vw,4.6rem)}.free-play-actions{flex:100%;grid-template-columns:repeat(2,minmax(150px,1fr));justify-content:stretch;gap:.65rem;width:100%;max-width:none;display:grid}.free-play-actions .action-button{width:100%;min-width:0;max-width:none}.free-play-actions .action-button:last-child{grid-column:1/-1}.threshold-line{stroke-dasharray:7 7;stroke-width:2px}.fat-line{stroke:#74b28b}.transition-line{stroke:#deb24a}.curve-line{fill:none;stroke:#286b5f;stroke-linecap:round;stroke-linejoin:round;stroke-width:5px;stroke-dasharray:1200;stroke-dashoffset:0;animation:.7s both curve-draw}.current-time-line{stroke:#20312d47;stroke-width:2px}.curve-dot{fill:#fff;stroke:#286b5f;stroke-width:3px}.story-illustration{color:#286b5f;width:100%;height:auto;min-height:150px;max-height:220px;display:block}.story-illustration.compact{min-height:76px;max-height:92px}.illustration-bg{fill:#f4f7f2;stroke:#dfe7de;stroke-width:2px}.guide-head{fill:#e5efe8;stroke:#286b5f;stroke-width:4px}.guide-body,.guide-smile,.energy-icon,.mini-curve,.switch-mark,.reset-curve,.reset-arrow{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:5px}.guide-body{fill:#fff}.mode-block{fill:#fff;stroke:#dfe7de;stroke-width:2px}.active-store{fill:#fff3d8;stroke:#8a6420}.active-fat{fill:#edf7ef;stroke:#286b5f}.switch-core{fill:#fff;stroke:#dfe7de;stroke-width:4px}.active-transition{fill:#e8f0fa;stroke:#365d85}.baseline-sketch{stroke:#8da39b;stroke-dasharray:6 7;stroke-width:3px}.reset-curve{stroke:#286b5f}.snack-dot{fill:#fff3d8;stroke:#8a6420;stroke-width:4px}.reset-arrow{stroke:#8a6420}.glow{filter:drop-shadow(0 0 8px #69b68c61)}.journey-map{grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem;width:100%;min-width:0;max-width:100%;margin:1rem 0;display:grid}.journey-map span{background:#fff;border:1px solid #dfe7de;border-radius:8px;place-items:center;gap:.25rem;min-height:68px;padding:.55rem;display:grid}.journey-map strong{color:#286b5f;background:#e5efe8;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.journey-map small{color:#536761;text-align:center;font-size:.72rem;line-height:1.15}.journey-map span.active{background:#fffaf0;border-color:#e0c982}.journey-map.compact{grid-template-columns:repeat(7,34px);gap:.3rem;margin:0}.journey-map.compact span{min-height:34px;padding:.15rem}.journey-map.compact strong{width:24px;height:24px}.weekly-progress-wrap{gap:.65rem;display:grid}svg text{fill:#65746f;font-size:.8rem;font-weight:800}.feedback-panel{grid-column:1/-1;padding:1rem}.feedback-panel>strong,.feedback-panel .time-badge{color:#286b5f}.feedback-panel p{color:#41534e;margin:.35rem 0 0}.timeline-chip{color:#23443d;background:#e5efe8;border-radius:999px;justify-self:start;padding:.55rem .85rem;font-weight:800;display:inline-flex}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin:1.4rem 0;display:grid}.metric{padding:1rem}.metric span{color:#65746f;min-height:2.4em;font-size:.8rem;display:block}.metric strong{margin-top:.4rem;font-size:1.65rem;display:block}.lesson-text{background:#fff;border-left:5px solid #286b5f;border-radius:8px;padding:1rem}.quiz-card,.badge-screen{max-width:760px}.answer-list{gap:.75rem;display:grid}.answer-button{color:#20312d;text-align:left;background:#fff;border:1px solid #d3e2d7}.score-line{color:#286b5f;font-size:1.25rem;font-weight:850}.badge{color:#fff;text-align:center;background:radial-gradient(circle at 30% 25%,#fff4cc,#e7b957 45%,#286b5f 46%);border-radius:50%;justify-content:center;align-items:center;width:160px;height:160px;margin-bottom:1.2rem;font-size:1.05rem;font-weight:900;display:flex}.polished-badge-screen{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:1.2rem;max-width:980px;display:grid}.polished-badge-screen .button-row,.polished-badge-screen .badge-list{grid-column:1/-1}.learning-badge{width:100%;max-width:180px;height:auto;display:block}.learning-badge.compact{width:54px;height:54px}.badge-ring{fill:#fffaf0;stroke:#e7b957;stroke-width:8px}.badge-core{fill:#e5efe8;stroke:#286b5f;stroke-width:4px}.badge-stroke{fill:none;stroke:#286b5f;stroke-linecap:round;stroke-linejoin:round;stroke-width:7px}.badge-symbol-fill{fill:#fff;stroke:#286b5f;stroke-width:5px}.badge-lens{fill:#ffffffc7;stroke:#365d85;stroke-width:6px}.badge-dot{fill:#8a6420}.learning-badge text{fill:#20312d;font-size:.78rem;font-weight:900}@media (width<=860px){.topbar{flex-direction:column;align-items:flex-start;gap:.4rem}.welcome-grid,.dashboard,.weekly-play-layout,.presentation-mode .dashboard,.presentation-mode .weekly-play-layout,.module-grid,.lesson-hero{grid-template-columns:1fr}.dashboard>.graph-flow,.weekly-play-layout>.graph-flow{order:-1}.hero-copy{min-height:auto}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-hero,.polished-badge-screen{grid-template-columns:1fr}.polished-badge-screen .learning-badge{justify-self:center}}@media (width<=520px){body{background:#f6f8f4}.screen{padding:.9rem}.hero-copy h1,.screen h1{font-size:clamp(2.1rem,12vw,3rem);line-height:1}.button-row button{width:100%}.action-button{justify-content:flex-start;min-width:0}.topbar{padding:.75rem .9rem}.topbar-actions{align-items:stretch;width:100%}.model-note{display:none}.progress-tracker{padding:.55rem .9rem}.hero-copy,.info-panel,.panel,.feedback-panel,.metric,.quiz-card,.badge-screen,.prediction-panel,.report-panel,.comparison-card,.challenge-card,.challenge-result,.timeline-event,.daily-summary-card,.weekly-mini-card,.slot-card{border-radius:8px;box-shadow:0 8px 20px #2a40370f}.hero-copy{padding:1rem}.lesson-actions{z-index:8;margin-left:-.9rem;margin-right:-.9rem;position:sticky;bottom:0}.graph-inline-actions{justify-content:flex-end;margin-left:0;margin-right:0;position:static;bottom:auto}.graph-inline-actions .action-button{width:auto;min-width:138px}.weekly-day-actions,.prediction-panel,.screen-heading-row{flex-direction:column;align-items:stretch}.combined-status-card{gap:1rem;padding:1rem}.dashboard-switch{width:min(100%,230px)}.combined-mode-copy{text-align:left}.meter-labels{font-size:.72rem}.graph-panel{padding:.75rem .55rem}.graph-panel svg text{font-size:.72rem}.curve-line{stroke-width:6px}.curve-dot{stroke-width:4px}.graph-legend{justify-content:flex-end;gap:.7rem;font-size:.82rem}.metric-table{border:0;gap:.55rem;overflow:visible}.metric-row,.metric-table.compact .metric-row{background:#fff;border:1px solid #dfe7de;border-radius:8px;grid-template-columns:1fr auto}.summary-grid,.comparison-card-header{grid-template-columns:1fr}.comparison-card-header .story-illustration,.comparison-card-header .journey-map,.comparison-card-header .comparison-badge-image{justify-self:stretch}.visual-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-map{width:100%;max-width:100%;padding-bottom:.2rem;display:flex;overflow-x:auto}.journey-map span{flex:0 0 84px}.journey-map.compact span{flex-basis:34px}}.presentation-mode{font-size:1.08rem}.presentation-mode .screen{max-width:1180px}.presentation-mode .dashboard,.presentation-mode .weekly-play-layout{grid-template-columns:minmax(420px,.85fr) minmax(0,1.15fr)}.presentation-mode .screen h1{font-size:clamp(2.7rem,7vw,5.6rem)}.presentation-mode button{min-height:56px;font-size:1.08rem}.presentation-mode .action-button{min-width:220px;min-height:76px}.presentation-mode .action-icon-wrap{width:50px;height:50px}.presentation-mode .action-icon{width:35px;height:35px}.presentation-mode .combined-status-card{gap:1.35rem;padding:1.35rem}.presentation-mode .combined-meter-title span{font-size:1.25rem}.presentation-mode .combined-meter-title strong{font-size:1.9rem}.presentation-mode .meter-track{height:34px}.presentation-mode .dashboard-switch{width:min(100%,260px)}.presentation-mode .combined-status-card .dashboard-switch{justify-self:center}.presentation-mode .combined-mode-copy h2{font-size:2rem}.presentation-mode .combined-mode-copy p{font-size:1.25rem}.presentation-mode .metric-table small,.presentation-mode .weekly-mini-card small,.presentation-mode .model-note,.presentation-mode .weekly-card-grid,.presentation-mode .badge-list,.presentation-mode .trend-bars,.presentation-mode .rhythm-editor,.presentation-mode .metric-table{display:none}.presentation-mode .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.presentation-mode .summary-grid .metric:nth-child(n+4){display:none}.presentation-mode .graph-panel svg{min-height:320px}@media (width<=520px){.presentation-mode{font-size:1rem}.presentation-mode .topbar{flex-direction:row;align-items:center;gap:.55rem;padding:.45rem .65rem}.presentation-mode .brand-button{gap:.45rem}.presentation-mode .brand-button span:last-child{font-size:.9rem}.presentation-mode .brand-mark{border-radius:7px;width:30px;height:30px}.presentation-mode .topbar-actions{justify-content:flex-end;align-items:center;width:auto}.presentation-mode .language-toggle{transform-origin:100%;gap:.12rem;margin-left:auto;padding:.1rem;transform:scale(.56)}.presentation-mode .language-pill{min-width:24px;min-height:24px;padding:.2rem .38rem}.presentation-mode .progress-tracker{gap:.3rem;padding:.35rem .65rem}.presentation-mode .progress-tracker span{padding:.25rem .45rem;font-size:.68rem}.presentation-mode .screen{max-width:100%;padding:.55rem .65rem .8rem}.presentation-mode .lesson-layout,.presentation-mode .dashboard,.presentation-mode .weekly-play-layout,.presentation-mode .graph-flow,.presentation-mode .visuals{gap:.55rem}.presentation-mode .dashboard,.presentation-mode .weekly-play-layout{background:#fff;border:1px solid #dfe7de;border-radius:8px;grid-template-columns:1fr;gap:0;overflow:hidden;box-shadow:0 8px 20px #2a40370f}.presentation-mode .dashboard>.visuals,.presentation-mode .weekly-play-layout>.visuals{background:#fff;border-bottom:1px solid #e5eee6;padding:0}.presentation-mode .dashboard>.graph-flow,.presentation-mode .weekly-play-layout>.graph-flow{background:#fff;padding:0}.presentation-mode .lesson-hero{gap:.15rem}.presentation-mode .section-label{margin-bottom:.2rem;font-size:.68rem}.presentation-mode .screen h1{margin-bottom:.3rem;font-size:clamp(1.75rem,9vw,2.35rem);line-height:.95}.presentation-mode .dashboard>.graph-flow,.presentation-mode .weekly-play-layout>.graph-flow{order:0}.presentation-mode .combined-status-card{box-shadow:none;border:0;grid-template-columns:minmax(0,.9fr) minmax(120px,1fr);align-items:center;gap:.55rem .65rem;padding:.7rem}.presentation-mode .combined-meter{grid-column:1/-1;gap:0;padding-bottom:.55rem}.presentation-mode .combined-meter-title span{font-size:.9rem}.presentation-mode .combined-meter-title strong{font-size:1.35rem}.presentation-mode .meter-track{height:18px;margin:1.1rem 0 .45rem}.presentation-mode .marker{font-size:.66rem;top:-1.25rem}.presentation-mode .meter-labels{display:none}.presentation-mode .dashboard-switch{justify-self:center;width:min(100%,145px)}.presentation-mode .combined-mode-copy{gap:.28rem}.presentation-mode .combined-mode-copy h2{font-size:1.15rem}.presentation-mode .combined-mode-copy p{font-size:.82rem;line-height:1.28}.presentation-mode .mode-number{padding:.24rem .55rem;font-size:.78rem}.presentation-mode .graph-panel{box-shadow:none;border:0;border-radius:0;padding:.55rem}.presentation-mode .panel-title{margin-bottom:.4rem}.presentation-mode .panel-title span{font-size:.8rem}.presentation-mode .time-badge,.presentation-mode .time-badge.compact{gap:10px}.presentation-mode .graph-panel svg{height:218px;min-height:0}.presentation-mode .graph-control-row{flex-direction:column;align-items:stretch;gap:.55rem;margin:.25rem 0 .45rem}.presentation-mode .graph-legend{flex-wrap:wrap;flex:auto;justify-content:center;gap:.75rem;font-size:.78rem;overflow:hidden}.presentation-mode .graph-legend span{gap:.2rem}.presentation-mode .graph-legend-icon{width:32px;height:32px}.presentation-mode .graph-legend-icon .action-icon{width:22px;height:22px}.presentation-mode .graph-inline-actions .action-button{min-width:128px;min-height:48px;padding:.4rem .55rem}.presentation-mode .graph-inline-actions .action-icon-wrap{width:34px;height:34px}.presentation-mode .graph-inline-actions .action-icon{width:23px;height:23px}.presentation-mode .graph-inline-actions .action-button-copy strong{font-size:.82rem}.presentation-mode .graph-inline-actions .action-button-copy small,.presentation-mode .graph-insight,.presentation-mode .feedback-panel{display:none}}@keyframes curve-draw{0%{stroke-dashoffset:120px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.meter-fill,.latest-point .curve-dot{transition:none;animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.progress-tracker{border-bottom:1px solid #dfe7de;align-items:center;gap:.45rem;padding:.65rem clamp(1rem,3vw,2rem);display:flex;overflow-x:auto}.progress-tracker span{color:#65746f;background:#fff;border:1px solid #dfe7de;border-radius:999px;flex:none;padding:.38rem .65rem;font-size:.78rem;font-weight:800}.progress-tracker span.active{color:#23443d;background:#e5efe8;border-color:#a8c7bb}.inline-note{background:#e5efe8;border-radius:8px;margin-top:1rem;padding:.85rem;color:#23443d!important}.prediction-panel,.report-panel,.comparison-card,.challenge-card,.challenge-result{background:#fff;border:1px solid #dfe7de;border-radius:8px;padding:1rem;box-shadow:0 14px 36px #2a403714}.prediction-panel p,.report-panel p,.comparison-card p,.challenge-card p,.challenge-result p{color:#536761;margin:.35rem 0 0}.prediction-panel{justify-content:space-between;align-items:center;gap:1rem;display:flex}.prediction-panel .story-illustration{flex:0 0 110px}.prediction-panel h2,.comparison-card h2,.report-panel h2,.challenge-card h2,.challenge-result h2{margin:0;font-size:1.25rem;line-height:1.2}.preview-buttons{flex-wrap:wrap;flex:none;gap:.5rem;display:flex}.comparison-grid,.report-grid,.challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem;display:grid}.report-graph-review{margin-top:1rem}.comparison-card{gap:.9rem;display:grid}.comparison-screen{gap:1rem;display:grid}.comparison-hero{background:linear-gradient(135deg,#fff 0%,#fffaf0 100%);border:1px solid #dfe7de;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(220px,.5fr);align-items:center;gap:1rem;padding:clamp(1rem,3vw,1.5rem);display:grid;box-shadow:0 14px 36px #2a403714}.comparison-badge-image{aspect-ratio:1;object-fit:contain;justify-self:end;width:116px;max-width:100%;height:auto;display:block}.comparison-badge-image.wide{aspect-ratio:1;justify-self:center;width:min(100%,210px)}.comparison-visual-card{background:linear-gradient(#fff 0%,#f8fbf7 100%);align-content:start;overflow:hidden}.comparison-visual-card.frequent{border-top:5px solid #8a6420}.comparison-visual-card.spaced,.comparison-visual-card.player{border-top:5px solid #286b5f}.comparison-card-header{grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:.75rem;display:grid}.comparison-card-header h2{font-size:clamp(1.4rem,3vw,2rem)}.comparison-card-header .story-illustration,.comparison-card-header .journey-map,.comparison-card-header .comparison-badge-image{justify-self:end}.comparison-message{background:#f4f7f2;border-radius:8px;padding:.85rem}.insight-card{color:#fff;background:#20312d;border-radius:8px;padding:1rem}.insight-card p{color:#e5efe8;margin:.35rem 0 0}.visual-metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}.visual-metric-pill{background:#fffaf0;border:1px solid #e6d6a4;border-radius:8px;gap:.1rem;padding:.7rem;display:grid}.visual-metric-pill small{color:#65746f;font-size:.74rem;font-weight:800}.visual-metric-pill strong{color:#20312d;font-size:1.18rem}.metric-table{background:#fff;border:1px solid #dfe7de;border-radius:8px;margin-top:1rem;display:grid;overflow:hidden}.metric-table.compact{margin-top:0}.metric-row{border-bottom:1px solid #edf2ec;grid-template-columns:minmax(120px,.8fr) minmax(48px,.25fr) minmax(180px,1.2fr);align-items:center;gap:.6rem;padding:.75rem;display:grid}.metric-table.compact .metric-row{grid-template-columns:minmax(120px,1fr) auto}.metric-row:last-child{border-bottom:0}.metric-row strong{color:#20312d}.metric-row span{color:#286b5f;font-weight:850}.metric-row small{color:#65746f}.challenge-result{border-left:5px solid #deb24a;margin-bottom:1rem}.challenge-result.achieved{border-left-color:#69b68c}.challenge-card-header{align-items:center;gap:.65rem;display:flex}.zone{opacity:.5}.store-zone{fill:#fff3d8}.transition-zone{fill:#e8f0fa}.fat-zone{fill:#edf7ef}.baseline-line{stroke:#8da39b}.curve-dot.meal{stroke:#8a6420}.curve-dot.snack{stroke:#365d85}.snack-reset-label{fill:#20312d;font-size:.66rem;font-weight:900}.graph-action-marker circle{fill:#fff;stroke:#286b5f;stroke-width:2px}.graph-action-marker.meal circle{stroke:#8a6420}.graph-action-marker.snack circle{stroke:#365d85}.graph-action-marker .marker-line{fill:none;stroke:#286b5f;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35px}.graph-action-marker.meal .marker-line{stroke:#8a6420}.graph-action-marker.snack .marker-line{stroke:#365d85}.snack-reset-label{fill:#365d85}.graph-control-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.8rem 1rem;margin:-.1rem 0 .35rem;display:flex}.graph-control-row.legend-only{justify-content:flex-start}.graph-legend{color:#65746f;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;margin:0;padding-right:.1rem;font-size:.86rem;display:flex}.graph-legend span{align-items:center;gap:.3rem;display:inline-flex}.graph-legend-icon{color:#286b5f;background:#f4f7f2;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.graph-legend-icon.meal{color:#8a6420}.graph-legend-icon.snack{color:#365d85}.graph-legend-icon .action-icon{stroke-width:3.2px;width:30px;height:30px}.graph-legend-icon .action-icon-text{display:none}.graph-insight{background:#f4f7f2;border-left:5px solid #286b5f;border-radius:8px;align-items:start;gap:.2rem;margin:.8rem 0 0;padding:.75rem;display:grid}.graph-insight strong{color:#20312d}.graph-insight span{color:#536761}.graph-insight.rise{border-left-color:#8a6420}.graph-insight.reset{border-left-color:#365d85}@media (width<=860px){.comparison-grid,.report-grid,.challenge-grid{grid-template-columns:1fr}.prediction-panel{flex-direction:column;align-items:stretch}.prediction-panel .story-illustration{flex-basis:auto}}@media (prefers-reduced-motion:reduce){.switch-left-glow,.switch-right-glow,.switch-side,.switch-curve,.switch-knob{transition-duration:1ms}.switch-energy-dot{animation:none!important}.sprite-switch-frame{transition:none}}@media (width<=520px){.module-card-badge{width:116px;max-width:38%}.metric-row{grid-template-columns:1fr;align-items:start}.metric-table.compact .metric-row{grid-template-columns:1fr auto}}.weekly-progress{gap:.45rem;display:flex;overflow-x:auto}.weekly-progress span{color:#65746f;background:#fff;border:1px solid #dfe7de;border-radius:999px;flex:none;padding:.38rem .65rem;font-size:.78rem;font-weight:800}.weekly-progress span.active{color:#23443d;background:#e5efe8;border-color:#a8c7bb}.daily-timeline{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem;display:grid}.timeline-event,.daily-summary-card,.weekly-mini-card,.slot-card{background:#fff;border:1px solid #dfe7de;border-radius:8px;padding:.85rem;box-shadow:0 10px 24px #2a403712}.timeline-event{border-left:5px solid #8da39b;gap:.18rem;min-height:104px;padding:.7rem .85rem;display:grid}.slot-card .time-badge{align-self:start}.timeline-event .time-badge{grid-template-columns:auto auto 1fr;align-items:center;column-gap:20px;width:100%;display:grid}.timeline-event .time-badge strong{justify-self:end}.timeline-event.meal{border-left-color:#8a6420}.timeline-event.snack{border-left-color:#365d85}.timeline-event.wait{border-left-color:#74b28b}.timeline-event.done{background:#f4f7f2;border-color:#b9cdc5}.timeline-event.current{box-shadow:0 0 0 3px #e7b95747,0 10px 24px #2a403712}.timeline-event.upcoming{opacity:.72}.timeline-event strong,.timeline-event span,.timeline-event small{display:block}.timeline-event>span:not(.time-badge){margin-top:.2rem;font-size:.95rem;line-height:1.15}.timeline-event>small{font-size:.78rem;line-height:1.15}.timeline-event small,.weekly-mini-card small,.slot-card span{color:#65746f}.daily-summary-card h2,.weekly-mini-card h2{margin:0 0 .35rem}.slot-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;display:grid}.rhythm-editor{background:#fff;border:1px solid #dfe7de;border-radius:8px;padding:.85rem;box-shadow:0 10px 24px #2a403712}.rhythm-editor summary{color:#286b5f;cursor:pointer;min-height:48px;padding:.65rem 0;font-weight:850}.rhythm-editor[open] .slot-grid{margin-top:.75rem}.slot-card{gap:.55rem;display:grid}.slot-card div{flex-wrap:wrap;gap:.4rem;display:flex}.slot-card button{min-height:48px;padding:.55rem .65rem}.slot-card .action-button{gap:.4rem;min-width:0;min-height:46px;padding:.45rem .55rem}.slot-card .action-icon-wrap{width:30px;height:30px}.slot-card .action-icon{width:21px;height:21px}.slot-card .action-button-copy small{display:none}.weekly-card-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1.2rem 0;display:grid}.weekly-mini-card .graph-panel{box-shadow:none;padding:.5rem}.weekly-mini-card .graph-legend,.weekly-mini-card .panel-title{display:none}.continuous-week-graph{overflow:hidden}.continuous-week-graph .curve-line{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.day-separator{stroke:#b9cdc5;stroke-dasharray:4 8;stroke-width:1.5px}.trend-bars{grid-template-columns:repeat(7,minmax(34px,1fr));align-items:end;gap:.7rem;height:180px;margin-top:1rem;display:grid}.trend-bar{grid-template-rows:1fr auto auto;place-items:center;gap:.3rem;height:100%;display:grid}.trend-bar span{background:#69b68c;border-radius:6px 6px 0 0;align-self:end;width:100%;min-height:8px;display:block}.trend-bar small{color:#65746f;font-size:.72rem}.trend-bar strong{color:#20312d}.rhythm-badge{max-width:none;margin:1.2rem 0;padding:1rem}.weekly-aha-card{color:#fff;background:linear-gradient(135deg,#20312d 0%,#286b5f 100%);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:1rem;margin:1rem 0;padding:clamp(1rem,3vw,1.35rem);display:grid}.weekly-aha-card .section-label,.weekly-aha-card h2,.weekly-aha-card p{color:#fff}.weekly-aha-card h2{margin:0;font-size:clamp(1.65rem,4vw,2.6rem);line-height:1.05}.weekly-aha-card .visual-metric-pill{background:#fffaf0f5}.badge-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:1rem;display:grid}.badge-list div{background:#f4f7f2;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.45rem;padding:.85rem;display:grid}.badge-list div p{grid-column:2;margin:0}@media (width<=520px){.weekly-aha-card{grid-template-columns:1fr}.trend-bars{gap:.35rem}.trend-bar small{writing-mode:vertical-rl}.daily-timeline{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.timeline-event{min-height:96px;padding:.65rem .75rem}.timeline-event .time-badge{grid-template-columns:auto auto 1fr}.presentation-mode .screen{padding:.45rem .55rem .7rem}.presentation-mode .lesson-layout{gap:.4rem}.presentation-mode .lesson-hero{margin-bottom:-.05rem}.presentation-mode .lesson-hero h1{margin-bottom:.1rem;font-size:clamp(1.55rem,8vw,2rem)}.presentation-mode .dashboard,.presentation-mode .weekly-play-layout{margin-top:0}.presentation-mode .combined-status-card{gap:.42rem .55rem;padding:.58rem}.presentation-mode .combined-meter{padding-bottom:.42rem}.presentation-mode .combined-meter-title span{font-size:.82rem}.presentation-mode .combined-meter-title strong{font-size:1.18rem}.presentation-mode .meter-track{height:15px;margin:.9rem 0 .28rem}.presentation-mode .marker{font-size:.6rem;top:-1.08rem}.presentation-mode .dashboard-switch{width:min(100%,128px)}.presentation-mode .combined-mode-copy h2{font-size:1.02rem}.presentation-mode .combined-mode-copy p{font-size:.76rem;line-height:1.22}.presentation-mode .mode-number{font-size:.72rem}.presentation-mode .panel-title{margin-bottom:.18rem}.presentation-mode .graph-panel{padding:.45rem .5rem .55rem}.presentation-mode .graph-panel svg{height:172px}.presentation-mode .graph-control-row{flex-wrap:wrap;align-items:flex-end;gap:.35rem;margin:.1rem 0 0}.presentation-mode .graph-legend{gap:.35rem;font-size:.7rem}.presentation-mode .graph-legend-icon{width:28px;height:28px}.presentation-mode .graph-legend-icon .action-icon{width:19px;height:19px}.presentation-mode .graph-inline-actions .action-button{min-width:132px;min-height:44px;padding:.34rem .46rem}.presentation-mode .graph-inline-actions{flex:none;place-items:flex-end stretch;gap:.35rem;display:grid}.presentation-mode .graph-inline-actions .action-button-copy{min-width:0}.presentation-mode .graph-inline-actions .action-button-copy strong{white-space:nowrap;overflow:visible}.presentation-mode .graph-inline-actions .action-icon-wrap{width:30px;height:30px}.presentation-mode .graph-inline-actions .action-icon{width:20px;height:20px}.presentation-mode .free-play-screen>div:first-child h1{font-size:clamp(1.6rem,8vw,2.1rem)}.presentation-mode .free-play-actions{flex:100%;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:none}.presentation-mode .free-play-actions .action-button{min-width:0}.presentation-mode .free-play-actions .action-button-copy strong{white-space:normal}.presentation-mode .double-buttons{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.presentation-mode .comparison-screen{gap:.55rem}.presentation-mode .comparison-hero{grid-template-columns:minmax(0,1fr) 86px;align-items:center;gap:.55rem;padding:.75rem}.presentation-mode .comparison-hero h1{margin-bottom:.35rem;font-size:clamp(1.55rem,9vw,2.15rem)}.presentation-mode .comparison-hero .lesson-text{padding:.55rem;font-size:.82rem;line-height:1.3}.presentation-mode .comparison-hero .comparison-badge-image{width:82px}.presentation-mode .comparison-graph-frame{background:#fff;border:1px solid #dfe7de;border-radius:8px;grid-template-columns:1fr;gap:0;margin-top:0;display:grid;overflow:hidden;box-shadow:0 8px 20px #2a40370f}.presentation-mode .comparison-graph-frame .comparison-card{box-shadow:none;border:0;border-radius:0;gap:.35rem;padding:.45rem}.presentation-mode .comparison-graph-frame .comparison-card:first-child{border-bottom:1px solid #e5eee6;border-right:0}.presentation-mode .comparison-graph-frame .comparison-visual-card.frequent,.presentation-mode .comparison-graph-frame .comparison-visual-card.spaced{border-top-width:4px}.presentation-mode .comparison-graph-frame .comparison-card-header{display:block}.presentation-mode .comparison-graph-frame .comparison-card-header .section-label{margin-bottom:.18rem;font-size:.58rem}.presentation-mode .comparison-graph-frame .comparison-card-header h2{margin:0;font-size:.92rem;line-height:1.05}.presentation-mode .comparison-graph-frame .comparison-card-header .comparison-badge-image{display:none}.presentation-mode .comparison-graph-frame .graph-panel{padding:.2rem 0}.presentation-mode .comparison-graph-frame .panel-title{display:none}.presentation-mode .comparison-graph-frame .graph-panel svg{height:132px}.presentation-mode .comparison-graph-frame .graph-control-row,.presentation-mode .comparison-graph-frame .visual-metric-row{display:none}.presentation-mode .comparison-graph-frame .comparison-message{padding:.38rem;font-size:.66rem;line-height:1.25}.presentation-mode .insight-card{padding:.75rem}.presentation-mode .comparison-screen>.button-row{margin-top:.1rem}.welcome-hero-graphic{max-height:160px;margin:.5rem 0 .7rem}.hero-copy{min-height:0}.hero-copy>p{font-size:.92rem}.info-panel{padding:.85rem}.info-panel p{font-size:.82rem;line-height:1.35}.info-panel h2{font-size:1rem}.module-card{gap:.22rem;min-height:130px;padding:.85rem}.module-card-badge{width:clamp(88px,16vw,106px);margin:-.05rem auto .35rem}.module-card strong{font-size:1.1rem}.module-card small{font-size:.82rem}.module-card span{margin-bottom:.15rem;font-size:.68rem}.graph-coach-copy{min-height:40px;padding:.45rem .55rem;font-size:.75rem;line-height:1.25}}.v22-living-lab{--lab-forest:#125548;--lab-forest-dark:#0c3c34;--lab-mint:#e8f2ec;--lab-sage:#76a58f;--lab-gold:#e7ad2f;--lab-blue:#436d96;--lab-coral:#c96755;--lab-ink:#172d28;--lab-muted:#5d706a;--lab-line:#d7e2da;color:var(--lab-ink);background:#fbfcf8}.v22-living-lab .topbar{border-color:var(--lab-line);background:#fbfcf8f5;min-height:64px;padding-block:.65rem}.v22-living-lab .brand-button{box-shadow:none;color:var(--lab-ink);background:0 0;gap:.65rem}.v22-living-lab .brand-button:hover{box-shadow:none;background:0 0;transform:none}.v22-living-lab .brand-mark{background:var(--lab-forest);border-radius:6px;width:36px;height:36px;font-size:.82rem}.v22-living-lab .language-toggle{border-color:var(--lab-line);background:#f3f7f3}.v22-living-lab .language-pill.active{background:var(--lab-forest)}.v22-living-lab .language-pill:not(.active),.v22-living-lab .language-pill:not(.active):hover{box-shadow:none;color:var(--lab-ink);background:0 0;transform:none}.v22-living-lab.active-play .topbar{position:relative}.v22-living-lab.active-play .model-note{display:none}.v22-living-lab .screen{max-width:1180px}.v22-living-lab.active-play .lesson-layout{gap:.75rem;padding-top:1.15rem}.v22-living-lab.active-play .lesson-hero{align-items:end;min-height:0;margin:0}.v22-living-lab.active-play .lesson-hero h1{color:var(--lab-ink);margin:.12rem 0 0;font-size:clamp(2.2rem,5vw,4.2rem);line-height:.98}.v22-living-lab .section-label{color:var(--lab-forest)}.v22-living-lab .lesson-progress{max-width:560px;margin:0}.v22-living-lab .lesson-progress span{color:#71817c;position:relative}.v22-living-lab .lesson-progress span:not(:last-child):after{background:var(--lab-line);content:"";width:calc(100% - 64px);height:2px;position:absolute;top:50%;left:calc(50% + 32px)}.v22-living-lab .lesson-progress .done:not(:last-child):after{background:var(--lab-sage)}.v22-living-lab .lesson-progress i{border:1px solid var(--lab-line);color:var(--lab-muted);z-index:1;background:#f1f4f1;width:30px;height:30px}.v22-living-lab .lesson-progress .current i,.v22-living-lab .lesson-progress .done i{background:var(--lab-forest);border-color:var(--lab-forest)}.v22-living-lab .dashboard,.v22-living-lab .weekly-play-layout{grid-template-columns:minmax(245px,.55fr) minmax(0,1.45fr);gap:.9rem}.v22-living-lab .panel{border-color:var(--lab-line)}.v22-living-lab .combined-status-card{border:1px solid var(--lab-line);background:#fff;align-content:start;gap:.85rem;padding:1rem;box-shadow:0 10px 28px #1b443a12}.v22-living-lab .combined-meter-title span{color:var(--lab-muted);text-transform:uppercase;font-size:.82rem;font-weight:750}.v22-living-lab .combined-meter-title strong{color:var(--lab-forest-dark);font-variant-numeric:tabular-nums;font-size:2rem}.v22-living-lab .meter-track{height:18px;margin-top:1.35rem}.v22-living-lab .meter-fill{background:linear-gradient(90deg, #69b68c, var(--lab-gold))}.v22-living-lab .dashboard-switch{width:min(100%,210px)}.v22-living-lab .combined-mode-copy{border-top:1px solid var(--lab-line);gap:.4rem;padding-top:.85rem}.v22-living-lab .combined-mode-copy h2{color:var(--lab-forest-dark);font-size:1.35rem}.v22-living-lab .combined-mode-copy p{color:var(--lab-muted);font-size:.92rem;line-height:1.45}.v22-living-lab .mode-number{background:var(--lab-mint);color:var(--lab-forest);font-size:.8rem}.v22-living-lab .graph-panel{border:1px solid var(--lab-line);background:#fff;padding:.9rem 1rem 1rem;box-shadow:0 10px 28px #1b443a12}.v22-living-lab .panel-title{margin-bottom:.4rem}.v22-living-lab .panel-title>span{color:var(--lab-forest-dark);text-transform:uppercase;font-size:.78rem;font-weight:850}.v22-living-lab .graph-coach-copy{border-left-color:var(--lab-sage);box-shadow:none;color:var(--lab-ink);background:#f5f9f5;font-size:1rem}.v22-living-lab .curve-line{stroke:var(--lab-forest)}.v22-living-lab .graph-control-row{border-top:1px solid #edf1ed;align-items:center;gap:.75rem;margin-top:.25rem;padding-top:.7rem}.v22-living-lab .graph-legend{flex:auto;justify-content:flex-start}.v22-living-lab .graph-legend span{color:var(--lab-muted)}.v22-living-lab .graph-legend span:first-child .graph-legend-icon{color:#936814}.v22-living-lab .graph-legend span:nth-child(2) .graph-legend-icon{color:var(--lab-blue)}.v22-living-lab .graph-legend span:nth-child(3) .graph-legend-icon{color:var(--lab-forest)}.v22-living-lab .graph-inline-actions{flex:none}.v22-living-lab .graph-inline-actions .action-button{background:var(--lab-forest);border-radius:8px;min-height:52px;box-shadow:0 8px 18px #1255482e}.v22-living-lab .graph-inline-actions .action-button.secondary{background:var(--lab-mint);box-shadow:none;color:var(--lab-forest-dark)}.v22-living-lab .graph-insight{border-left-color:var(--lab-forest);background:#f5f8f4;margin-top:.65rem}.v22-living-lab .graph-insight.rise{border-left-color:var(--lab-gold)}.v22-living-lab .graph-insight.reset{border-left-color:var(--lab-coral)}.v22-living-lab .timeline-chip{background:var(--lab-mint);color:var(--lab-forest-dark);margin:0}.v22-living-lab .feedback-panel{display:none}.v22-living-lab .module-card,.v22-living-lab .report-panel,.v22-living-lab .comparison-card,.v22-living-lab .quiz-card,.v22-living-lab .challenge-card,.v22-living-lab .weekly-mini-card{border-color:var(--lab-line);box-shadow:0 8px 24px #1b443a0f}.v22-living-lab .module-card{color:var(--lab-ink);background:#fff}.v22-living-lab .module-card:hover{border-color:var(--lab-sage);color:var(--lab-ink);background:#f7faf7}.v22-living-lab .comparison-graph-frame{border:1px solid var(--lab-line);background:#fff;border-radius:8px;gap:0;overflow:hidden}.v22-living-lab .comparison-graph-frame .comparison-card{box-shadow:none;border:0;border-radius:0}.v22-living-lab .comparison-graph-frame .comparison-card+.comparison-card{border-left:1px solid var(--lab-line)}.v22-living-lab .report-graph-review .graph-panel{box-shadow:none}.v22-living-lab .report-details{border-color:var(--lab-line)}.v22-living-lab button{background:var(--lab-forest)}.v22-living-lab button.secondary{background:var(--lab-mint);color:var(--lab-forest-dark)}.v22-living-lab button:hover{background:var(--lab-forest-dark)}.v22-living-lab .answer-button{box-shadow:none;color:var(--lab-ink);background:#edf6f1;border:1px solid #c9ddd2}.v22-living-lab .answer-button:nth-child(2){background:#fff8e8;border-color:#ead9a9}.v22-living-lab .answer-button:nth-child(3){background:#eef4fa;border-color:#cbd9e7}.v22-living-lab .answer-button:hover{border-color:var(--lab-forest);color:var(--lab-ink);background:#fff;box-shadow:0 6px 16px #1255481a}@media (width<=760px){.v22-living-lab .topbar{flex-direction:row;align-items:center;min-height:54px;padding:.5rem .75rem}.v22-living-lab .brand-button span:last-child{font-size:.92rem;display:inline}.v22-living-lab .brand-mark{width:32px;height:32px}.v22-living-lab .topbar-actions{align-items:center;width:auto}.v22-living-lab.active-play .screen{padding:.65rem .75rem max(.9rem, env(safe-area-inset-bottom))}.v22-living-lab.active-play .lesson-layout{gap:.55rem}.v22-living-lab.active-play .lesson-hero h1{font-size:clamp(1.75rem,8vw,2.35rem)}.v22-living-lab.active-play .section-label{font-size:.68rem}.v22-living-lab .lesson-progress{gap:.2rem;max-width:none}.v22-living-lab .lesson-progress span{gap:.3rem;font-size:.72rem}.v22-living-lab .lesson-progress i{width:26px;height:26px}.v22-living-lab .dashboard,.v22-living-lab .weekly-play-layout{grid-template-columns:1fr;gap:.55rem;display:grid}.v22-living-lab .dashboard>.visuals,.v22-living-lab .weekly-play-layout>.visuals{order:0}.v22-living-lab .dashboard>.graph-flow,.v22-living-lab .weekly-play-layout>.graph-flow{order:1}.v22-living-lab .combined-status-card{grid-template-columns:minmax(0,1.25fr) minmax(110px,.75fr);align-items:center;gap:.5rem .7rem;padding:.7rem;display:grid}.v22-living-lab .combined-meter{border-bottom:0;grid-area:1/1;padding:0}.v22-living-lab .combined-meter-title span{font-size:.68rem}.v22-living-lab .combined-meter-title strong{font-size:1.55rem}.v22-living-lab .meter-track{height:14px;margin:1.05rem 0 .25rem}.v22-living-lab .meter-labels{font-size:.58rem}.v22-living-lab .dashboard-switch{grid-area:1/2;width:min(100%,132px)}.v22-living-lab .combined-mode-copy{border-top:1px solid var(--lab-line);grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center;gap:.2rem .55rem;padding-top:.5rem;display:grid}.v22-living-lab .combined-mode-copy h2{white-space:nowrap;grid-row:1;font-size:1rem}.v22-living-lab .combined-mode-copy p{grid-area:1/2/span 2;font-size:.72rem;line-height:1.25}.v22-living-lab .mode-number{grid-area:2/1;padding:.2rem .45rem;font-size:.62rem}.v22-living-lab .graph-panel{border-radius:8px;padding:.55rem .65rem .65rem}.v22-living-lab .graph-panel svg{height:255px}.v22-living-lab .graph-control-row{flex-wrap:nowrap;align-items:center;gap:.45rem;padding-top:.5rem}.v22-living-lab .graph-legend{justify-content:flex-start;gap:.3rem;min-width:0}.v22-living-lab .graph-legend span{gap:.18rem;font-size:.64rem}.v22-living-lab .graph-legend-icon{width:28px;height:28px}.v22-living-lab .graph-inline-actions{flex:none}.v22-living-lab .graph-inline-actions .action-button{min-width:130px;min-height:48px;padding:.35rem .5rem}.v22-living-lab .graph-inline-actions .action-button-copy strong{font-size:.78rem}.v22-living-lab .graph-inline-actions .action-button-copy small{display:none}.v22-living-lab .graph-inline-actions .action-icon-wrap{width:34px;height:34px}.v22-living-lab .graph-inline-actions .action-icon{width:22px;height:22px}.v22-living-lab .graph-insight{margin-top:.5rem;padding:.55rem .65rem}.v22-living-lab .graph-insight strong{font-size:.78rem}.v22-living-lab .graph-insight span{font-size:.7rem;line-height:1.25}.v22-living-lab .timeline-chip{padding:.35rem .65rem;font-size:.72rem}.v22-living-lab .comparison-graph-frame{grid-template-columns:1fr}.v22-living-lab .comparison-graph-frame .comparison-card+.comparison-card{border-left:0;border-top:1px solid var(--lab-line)}}@media (width<=420px){.v22-living-lab .brand-button span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.v22-living-lab .language-pill{min-width:36px;min-height:32px;padding:.2rem .35rem}.v22-living-lab .graph-panel svg{height:235px}.v22-living-lab .graph-legend span{font-size:.6rem}.v22-living-lab .graph-inline-actions .action-button{min-width:118px}}.weekly-focus-progress{grid-template-columns:auto minmax(140px,1fr) auto;align-items:center;gap:.65rem;display:grid}.weekly-focus-progress strong,.weekly-focus-progress small{color:var(--lab-forest-dark);white-space:nowrap}.weekly-progress-dots{grid-template-columns:repeat(7,1fr);gap:.35rem;display:grid}.weekly-progress-dots span{background:#dfe7e1;border-radius:999px;height:7px}.weekly-progress-dots .done{background:var(--lab-sage)}.weekly-progress-dots .current{background:var(--lab-gold)}.weekly-day-heading{gap:.2rem;display:grid}.weekly-day-heading h1,.weekly-day-heading p{margin:0}.current-event-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.current-event-strip>span{border-bottom:3px solid #dfe7e1;min-width:0;padding:.35rem .45rem;display:grid}.current-event-strip>span.current{background:var(--lab-mint);border-color:var(--lab-forest)}.current-event-strip>span.done{border-color:var(--lab-sage)}.current-event-strip small{color:var(--lab-muted);text-transform:uppercase;font-size:.65rem;font-weight:800}.current-event-strip strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rhythm-view-toggle{background:#edf2ee;border-radius:8px;grid-template-columns:1fr 1fr;align-self:start;padding:3px;display:inline-grid}.v22-living-lab .rhythm-view-toggle button{box-shadow:none;color:var(--lab-muted);background:0 0;min-height:36px;padding:.3rem .75rem}.v22-living-lab .rhythm-view-toggle button.active{color:var(--lab-forest-dark);background:#fff;box-shadow:0 2px 8px #1255481a}.weekly-graph-actions{gap:.45rem;display:grid}.weekly-choice-toggle{grid-template-columns:1fr 1fr;gap:.35rem;display:grid}.weekly-choice-label{color:var(--lab-muted);margin:0;font-size:.72rem;font-weight:800}.v22-living-lab .weekly-choice-toggle button{box-shadow:none;color:var(--lab-forest-dark);background:#eef4f0;justify-content:center;align-items:center;gap:.35rem;min-height:44px;padding:.3rem .5rem;font-size:.75rem;display:flex}.v22-living-lab .weekly-choice-toggle button.active{background:var(--lab-forest);color:#fff}.weekly-choice-toggle .action-icon{width:22px;height:22px}.day-complete-banner,.weekly-day-details{border:1px solid var(--lab-line);background:#fff;border-radius:8px;padding:.75rem .9rem}.day-complete-banner div{gap:.15rem;display:grid}.day-complete-banner strong,.weekly-day-details summary{color:var(--lab-forest);font-weight:850}.day-complete-banner span{color:var(--lab-muted)}.weekly-day-details summary{cursor:pointer}.weekly-day-details[open] summary{margin-bottom:.75rem}@media (width<=760px){.weekly-focus-progress{grid-template-columns:auto 1fr;gap:.45rem}.weekly-focus-progress small{display:none}.weekly-focus-progress strong{font-size:.78rem}.weekly-day-heading .section-label{display:none}.weekly-day-heading h1{font-size:1.45rem;line-height:1.05}.weekly-day-heading .inline-note{padding:.45rem .6rem;font-size:.72rem}.current-event-strip{gap:.25rem}.current-event-strip>span{padding:.25rem .3rem}.current-event-strip strong{font-size:.7rem}.rhythm-view-toggle{justify-self:end;position:static}.weekly-play-layout .graph-flow{position:relative}.weekly-play-layout .graph-panel{margin-top:0}.weekly-play-layout .graph-control-row{flex-flow:column wrap;align-items:flex-start;width:100%}.weekly-play-layout .graph-legend{flex:100%}.weekly-graph-actions{grid-template-columns:1fr;align-content:start;gap:.35rem;width:100%;height:auto;display:grid}.weekly-choice-toggle{display:grid}.v22-living-lab .weekly-choice-toggle button{min-width:0;height:52px;line-height:1.1}.weekly-graph-actions .graph-inline-actions{display:flex}.weekly-graph-actions .graph-inline-actions .action-button{width:100%;min-width:0;max-width:none;height:52px}.weekly-graph-actions .graph-inline-actions .action-button-copy small,.v22-living-lab .free-play-actions .action-button-copy small{display:block}.weekly-play-layout .graph-panel svg{height:210px}.weekly-play-layout .combined-mode-copy{grid-template-columns:1fr auto}.weekly-play-layout .combined-mode-copy p{display:none}.weekly-day-details{font-size:.78rem}.weekly-day-details .daily-timeline{grid-template-columns:1fr 1fr}}
