@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Prompt:wght@400;500;600&display=swap";:root{--font-qdt-display: Prompt, "Gotham SSm", Gotham, Montserrat, "Avenir Next", "Helvetica Neue", Arial, ui-sans-serif, system-ui, "Segoe UI", sans-serif;--font-qdt-body: "Gotham SSm", Gotham, Montserrat, "Avenir Next", "Helvetica Neue", Arial, ui-sans-serif, system-ui, "Segoe UI", sans-serif;--font-qdt-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--color-google-blue: #1a73e8;--color-google-green: #34a853;--color-google-yellow: #fbbc04;--color-google-red: #ea4335;--color-action-primary: var(--color-google-blue);--color-action-primary-strong: #174ea6;--color-success: var(--color-google-green);--color-reward: var(--color-google-yellow);--color-attention: var(--color-google-red);--color-special: #5f8f93;--color-surface: #ffffff;--color-surface-strong: #f8fafd;--color-surface-blue: #eaf4ff;--color-surface-green: #ecf7ef;--color-surface-yellow: #fff8df;--color-surface-red: #fff0ee;--color-text-primary: #202124;--color-text-secondary: #5f6368;--color-border: #dadce0;--color-border-strong: #9aa0a6;--color-nav: #09245a;--shadow-panel: 0 10px 30px rgb(60 64 67 / .1);--shadow-soft: 0 4px 14px rgb(60 64 67 / .08);color:var(--color-text-primary);background:var(--color-surface-strong);font-family:var(--font-qdt-body);font-synthesis:none;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit;font-family:var(--font-qdt-body)}button{min-height:38px;border:0;border-radius:6px;background:var(--color-action-primary);color:#fff;cursor:pointer;font-size:.92rem;font-weight:500;line-height:1.15;padding:0 18px}.compact-button{min-height:32px;padding:0 13px}button:hover:not(:disabled){background:var(--color-action-primary-strong)}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--color-reward);outline-offset:3px}a{color:var(--color-action-primary);font-weight:600}.button-link{display:inline-grid;min-height:38px;place-items:center;border-radius:999px;padding:0 18px;text-decoration:none}.modal-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:start center;overflow-y:auto;background:#09245a57;padding:clamp(18px,6vh,56px) 16px}.upload-modal{position:relative;display:grid;gap:10px;width:min(680px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 24px 70px #20212438;padding:12px}.modal-close-button{justify-self:end;min-height:30px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-size:.82rem;padding:0 12px}.modal-close-button:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-strong)}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand-lockup strong,.product-tagline,.phase-label,.step-label,.test-label,legend{font-family:var(--font-qdt-display)}h1,h2,h3{letter-spacing:0}.app-shell{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;background:linear-gradient(180deg,#f8fbff,#fff 42%,#f8fafd),var(--color-surface-strong)}.topbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:10px clamp(16px,4vw,52px);background:var(--color-nav);border-bottom:1px solid rgb(255 255 255 / .14)}.topbar:after{position:absolute;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg,var(--color-google-blue) 0 25%,var(--color-google-red) 25% 50%,var(--color-google-yellow) 50% 75%,var(--color-google-green) 75% 100%);content:""}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup span,.fine-print,footer,.mission-card p,.panel p,.welcome-copy p{color:var(--color-text-secondary)}.topbar .brand-lockup strong,.topbar .brand-lockup span{color:#fff}.brand-logo{width:36px;height:36px;flex:0 0 auto;border:1px solid rgb(255 255 255 / .28);border-radius:8px;background:#fff;object-fit:contain;padding:2px;box-shadow:none}.notice{max-width:920px;margin:12px auto 0;border:1px solid rgb(0 113 227 / .22);border-radius:12px;background:var(--color-surface-blue);padding:11px 14px;font-size:.9rem;font-weight:500}.notice:before{display:block;width:120px;height:4px;margin-bottom:10px;border-radius:999px;background:linear-gradient(90deg,#4285f4 0 25%,#34a853 25% 50%,#fbbc04 50% 75%,#ea4335 75% 100%);content:""}.welcome-screen,.today-screen,.form-screen{padding:clamp(14px,2.5vw,26px) clamp(12px,3vw,32px)}.welcome-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:clamp(24px,6vw,72px);align-items:center;min-height:64vh;background:var(--color-surface-strong)}.welcome-copy{max-width:760px}.phase-label,.step-label{color:var(--color-text-secondary);font-size:.72rem;font-weight:500;letter-spacing:0;text-transform:uppercase}.welcome-copy h1,.today-screen h1{margin-bottom:10px;font-size:3.35rem;font-weight:500;line-height:1.03}.welcome-copy p,.mission-copy p{max-width:720px;font-size:1.12rem;line-height:1.6}.welcome-copy .product-tagline{color:var(--color-text-primary);font-size:1.35rem;font-weight:400;line-height:1.24}.legal-screen{display:grid;width:min(100%,820px);gap:18px;align-content:start;margin:0 auto;padding:clamp(34px,6vw,72px) clamp(18px,5vw,56px)}.legal-screen h1{margin:0;font-size:3rem;font-weight:500;line-height:1}.legal-copy{display:grid;gap:14px;border-top:1px solid var(--color-border);padding-top:18px}.legal-copy p,.legal-copy li{color:var(--color-text-secondary);font-size:1rem;line-height:1.7}.legal-copy p,.legal-copy ul{margin:0}.legal-copy ul{display:grid;gap:10px;padding-left:22px}.action-row,.social-row,.small-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.secondary-button,.ghost-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary)}.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled){background:var(--color-surface-blue)}.text-button{min-height:0;padding:0;border-radius:0;background:transparent;color:var(--color-action-primary);text-align:left}.text-button:hover:not(:disabled){background:transparent;color:var(--color-action-primary-strong)}.danger-text{color:var(--color-attention)}.danger-button{border-color:var(--color-attention);color:var(--color-attention)}.danger-zone{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid rgb(220 38 38 / .35);border-radius:8px;background:var(--color-surface-red);padding:14px}.danger-zone strong{color:var(--color-text-primary)}.robot-stage{display:grid;justify-items:center;gap:0}.robot-stage img{width:min(56vw,240px);aspect-ratio:1;border:1px solid var(--color-border);border-radius:24px;background:var(--color-surface);object-fit:cover;box-shadow:var(--shadow-soft)}.form-screen{display:grid;min-height:70vh;place-items:center}.panel{display:grid;width:min(100%,520px);gap:14px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:var(--shadow-panel);padding:clamp(20px,4vw,30px)}.auth-panel{width:min(100%,620px);border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft)}.panel h1{font-size:2.35rem;font-weight:500;line-height:1.04}.auth-panel h1{margin-bottom:4px;color:var(--color-text-primary);font-size:2.1rem;text-align:center}.auth-choice-list,.email-auth-fields{display:grid;gap:14px}.auth-choice-button{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;width:100%;min-height:54px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);color:var(--color-text-primary);font-size:1.08rem;font-weight:500;line-height:1.2;padding:0 18px;text-align:center;text-decoration:none}.auth-choice-button:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-blue)}.google-mark{font-weight:700;background:conic-gradient(#4285f4,#34a853,#fbbc05,#ea4335,#4285f4);-webkit-background-clip:text;background-clip:text;color:transparent}.mail-mark{justify-self:center;width:30px;height:22px;border:3px solid var(--color-text-primary);border-radius:5px;background:linear-gradient(32deg,transparent 47%,var(--color-text-primary) 48%,var(--color-text-primary) 52%,transparent 53%),linear-gradient(-32deg,transparent 47%,var(--color-text-primary) 48%,var(--color-text-primary) 52%,transparent 53%)}.apple-mark{color:var(--color-text-primary);font-size:.86rem;font-weight:700}.auth-more-button{min-height:44px;background:transparent;color:var(--color-text-primary);font-size:1.08rem;font-weight:500}.auth-more-button:hover:not(:disabled){background:transparent;color:var(--color-action-primary-strong)}.email-auth-fields{border-top:1px solid var(--color-border);padding-top:18px}.auth-divider{height:1px;margin-top:8px;background:var(--color-border)}.auth-alternate{margin:0;color:var(--color-text-primary);text-align:center}label{display:grid;gap:8px;font-weight:500}input,select,textarea{width:100%;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text-primary);padding:10px 12px}input,select{min-height:40px}textarea{min-height:260px;resize:vertical;font-family:var(--font-qdt-mono);font-size:.9rem;line-height:1.45}.password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.icon-button{min-width:72px;padding:0 12px}fieldset{margin:0;border:0;padding:0}legend{margin-bottom:10px;font-weight:600}.segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.segmented-control label{position:relative;display:block}.segmented-control input{position:absolute;opacity:0}.segmented-control span{display:grid;min-height:40px;place-items:center;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-weight:600}.segmented-control input:checked+span{border-color:var(--color-action-primary);background:var(--color-surface-blue);color:var(--color-action-primary-strong)}.privacy-note{display:grid;gap:4px;border-left:6px solid var(--color-success);background:var(--color-surface-green);padding:14px}.today-screen{width:min(100%,1240px);margin:0 auto}.learning-frame{display:grid;grid-template-columns:260px minmax(0,1fr);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-soft)}.lesson-sidebar{display:grid;grid-template-rows:auto auto 1fr;gap:12px;border-right:1px solid var(--color-border);background:linear-gradient(180deg,#fff,#f8fbff);padding:18px 0}.lesson-sidebar-head{display:grid;grid-template-columns:6px minmax(0,1fr);gap:12px;align-items:center;padding:0 18px 12px;border-bottom:1px solid var(--color-border)}.lesson-sidebar-head strong,.lesson-sidebar-head span{display:block}.lesson-sidebar-head span{color:var(--color-text-secondary);font-size:.78rem;font-weight:500}.lesson-color-strip{align-self:stretch;min-height:42px;border-radius:999px;background:linear-gradient(180deg,var(--color-google-blue) 0 25%,var(--color-google-red) 25% 50%,var(--color-google-yellow) 50% 75%,var(--color-google-green) 75% 100%)}.lesson-nav{display:grid;align-content:start;gap:0}.lesson-nav-item{display:grid;justify-items:start;min-height:58px;border-radius:0;border-left:4px solid transparent;background:transparent;color:var(--color-text-primary);padding:10px 18px 10px 22px;text-align:left}.lesson-nav-item:hover:not(:disabled),.lesson-nav-item[aria-current=page]{border-left-color:var(--color-action-primary);background:#e8f0fe}.lesson-nav-item:nth-child(2):hover:not(:disabled),.lesson-nav-item:nth-child(2)[aria-current=page]{border-left-color:var(--color-google-yellow);background:var(--color-surface-yellow)}.lesson-nav-item span{color:var(--color-text-secondary);font-size:.72rem;font-weight:600;letter-spacing:0;text-transform:uppercase}.lesson-nav-item strong{margin-top:2px;font-size:.94rem;font-weight:600}.lesson-timeline{display:grid;align-content:start;gap:12px;border-top:1px solid var(--color-border);padding:14px 18px 0}.lesson-timeline-head{display:grid;gap:10px}.lesson-timeline-head h2{margin:2px 0 0;font-size:1rem;font-weight:600}.lesson-timeline-head button{width:100%;min-height:38px}.lesson-brick-stack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:8px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.lesson-brick{display:block;height:18px;border-radius:3px;border:1px solid var(--color-border);background:var(--color-surface-strong)}.lesson-brick-complete.lesson-brick-math{border-color:var(--color-google-red);background:var(--color-google-red)}.lesson-brick-complete.lesson-brick-reading{border-color:var(--color-google-blue);background:var(--color-google-blue)}.lesson-brick-complete.lesson-brick-mixed{border-color:var(--color-google-blue);background:linear-gradient(90deg,var(--color-google-red) 0 33%,var(--color-google-blue) 33% 66%,var(--color-google-green) 66% 100%)}.lesson-brick-current{border-color:var(--color-text-primary);box-shadow:inset 0 0 0 2px #fff}.lesson-brick-caption{margin:-4px 0 0;color:var(--color-text-secondary);font-size:.78rem;font-weight:600}.lesson-timeline-list{display:grid;gap:0}.lesson-timeline-item{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;padding:0 0 14px}.lesson-timeline-item:before{position:absolute;top:14px;bottom:0;left:7px;width:1px;background:var(--color-border);content:""}.lesson-timeline-item:last-child{padding-bottom:0}.lesson-timeline-item:last-child:before{display:none}.lesson-timeline-dot{position:relative;z-index:1;width:15px;height:15px;margin-top:4px;border:3px solid #ffffff;border-radius:50%;background:var(--color-action-primary);box-shadow:0 0 0 1px var(--color-action-primary)}.lesson-timeline-math .lesson-timeline-dot{background:var(--color-google-red);box-shadow:0 0 0 1px var(--color-google-red)}.lesson-timeline-reading .lesson-timeline-dot{background:var(--color-google-blue);box-shadow:0 0 0 1px var(--color-google-blue)}.lesson-timeline-mixed .lesson-timeline-dot{background:linear-gradient(90deg,var(--color-google-red) 0 33%,var(--color-google-blue) 33% 66%,var(--color-google-green) 66% 100%)}.lesson-timeline-current .lesson-timeline-copy{border-color:#20212438;box-shadow:inset 0 0 0 1px #2021240d}.lesson-timeline-copy{display:grid;gap:5px;min-width:0;border:1px solid var(--color-border);border-radius:8px;background:#fff;padding:9px 10px}.lesson-timeline-copy .block-time{width:fit-content;min-width:0;aspect-ratio:auto;border-radius:999px;padding:3px 7px}.lesson-timeline-copy strong,.lesson-timeline-copy span{display:block}.lesson-timeline-copy strong{font-size:.9rem;font-weight:600}.lesson-timeline-copy>span:not(.block-time){color:var(--color-text-secondary);font-size:.78rem;font-weight:500}.lesson-workspace{display:grid;align-content:start;gap:12px;min-width:0;padding:18px 22px 22px}.mission-copy{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:0;text-align:left}.mission-copy h1{margin:0;font-size:1.85rem;font-weight:500;letter-spacing:0}.mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}.mission-card{min-height:210px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);padding:18px}.mission-card h2{margin:16px 0 10px;font-size:2rem}.student-workbench{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:start;margin-top:-4px}.status-badge{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 12px;font-size:.82rem;font-weight:500}.status-blue{background:var(--color-surface-blue);color:var(--color-action-primary-strong)}.status-green{background:var(--color-surface-green);color:var(--color-success)}.status-yellow{background:var(--color-surface-yellow);color:#b06000}.status-purple{background:#eef8f8;color:var(--color-special)}.runner-panel{display:grid;gap:12px;margin:10px 0 0;border-top:1px solid var(--color-border);padding-top:16px}.mission-plan-panel{display:grid;gap:10px;margin:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);padding:14px 16px}.rewards-panel{display:grid;gap:18px;margin:30px 0;border-top:1px solid var(--color-border);padding-top:28px}.reward-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reward-stats span,.reward-list article,.creative-grid article{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);padding:14px}.reward-stats strong,.reward-list strong{font-size:1.1rem;font-weight:600}.reward-list,.creative-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reward-list article span{color:var(--color-action-primary-strong);font-weight:600}.reward-list p,.creative-grid p{margin:0;color:var(--color-text-secondary);line-height:1.45}.creative-grid h3{margin:0;font-size:1rem}.activity-list{display:grid;gap:10px}.activity-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;border-top:1px solid var(--color-border);padding-top:8px}.activity-row:first-child{border-top:0;padding-top:0}.activity-row p{margin:4px 0 0;color:var(--color-text-secondary);line-height:1.45}.activity-meta{color:var(--color-text-secondary);font-size:.9rem;font-weight:600;text-align:right}.practice-block-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.practice-block{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:8px;background:#fff;padding:10px}.practice-block-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.practice-block-head strong,.practice-block-head span{display:block}.practice-block-head span{color:var(--color-text-secondary);font-size:.85rem;font-weight:500}.block-time{display:grid;width:38px;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--color-surface-blue);color:var(--color-action-primary-strong);font-size:.7rem;font-weight:500;text-align:center}.block-progress{height:6px;overflow:hidden;border-radius:999px;background:var(--color-surface-strong)}.block-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-action-primary)}.lesson-timeline-math .block-progress span{background:var(--color-google-red)}.lesson-timeline-reading .block-progress span{background:var(--color-google-blue)}.lesson-timeline-mixed .block-progress span{background:linear-gradient(90deg,var(--color-google-red) 0 33%,var(--color-google-blue) 33% 66%,var(--color-google-green) 66% 100%)}.upload-progress{display:grid;gap:8px;color:var(--color-text-secondary);font-size:.95rem;font-weight:500}.upload-progress span{display:block;height:6px;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,#4285f4 0 18%,#34a853 18% 36%,#fbbc04 36% 54%,#ea4335 54% 72%,#4285f4 72% 100%) 0 0 / 180% 100%;animation:upload-progress-slide 1.1s linear infinite}@keyframes upload-progress-slide{to{background-position-x:180%}}.skill-map-panel{display:grid;gap:18px;margin:34px 0;border-top:1px solid var(--color-border);padding-top:28px}.skill-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.skill-state-card{display:grid;gap:14px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);padding:14px}.skill-state-head{display:grid;gap:10px}.mastery-meter{height:14px;overflow:hidden;border-radius:999px;background:var(--color-surface-blue)}.mastery-meter span{display:block;height:100%;border-radius:inherit;background:var(--color-success)}.skill-state-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.skill-state-card dt{color:var(--color-text-secondary);font-size:.78rem;font-weight:500;text-transform:uppercase}.skill-state-card dd{margin:4px 0 0;font-weight:600}.runner-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.section-toggle{display:flex;flex-wrap:wrap;gap:8px}.toggle-active{background:var(--color-special)}.question-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:12px;align-items:start}.question-layout-solo{grid-template-columns:minmax(0,1fr)}.question-card,.result-panel{display:grid;gap:12px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);padding:16px}.question-card{background:var(--color-surface)}.answer-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:12px;align-items:start}.answer-action-panel{position:sticky;top:76px;display:grid;gap:10px;border:1px solid var(--color-border);border-radius:14px;background:#fbfdff;padding:10px}.correction-note{margin:0;color:var(--color-text-strong);font-weight:600}.inline-result-panel{display:grid;gap:10px;border:1px solid var(--color-border);border-radius:14px;background:#fbfdfc;padding:12px}.inline-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.inline-result-panel p{margin:0;color:var(--color-text-primary);line-height:1.45}.diagnostic-panel{display:grid;gap:12px;border-top:1px solid var(--color-border);padding-top:14px}.diagnostic-panel h3{margin:0;font-size:1rem}.cognitive-panel{display:grid;gap:12px;border:1px solid var(--color-border);border-radius:16px;background:#f5fbfb;padding:14px}.cognitive-panel h3{margin:0;font-size:1rem}.tutor-panel{display:grid;gap:12px;border:1px solid rgb(0 113 227 / .24);border-radius:16px;background:var(--color-surface-blue);padding:14px}.tutor-panel h3{margin:0;font-size:1rem}.desmos-panel{display:grid;gap:12px;border:1px solid rgb(95 143 147 / .34);border-radius:16px;background:#f5fbfb;padding:14px}.desmos-panel h3{margin:0;font-size:1rem}.desmos-frame{position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.desmos-api-mount{width:100%;height:380px}.desmos-status{position:absolute;inset:0;display:grid;place-items:center;margin:0;background:#ffffffd6;color:var(--color-text-secondary);font-size:.84rem;font-weight:600;text-align:center;padding:16px}.strategy-list{display:grid;gap:8px}.strategy-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);padding:8px 10px}.strategy-list p{margin:0;color:var(--color-text-secondary);font-size:.78rem;line-height:1.3}.signal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.signal-grid span{display:grid;gap:2px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);padding:10px}.history-panel,.validation-panel,.privacy-ops-panel,.admin-ops-panel{display:grid;gap:10px;border:1px solid var(--color-border);border-radius:8px;background:#fff;padding:14px}.forecast-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-items:start;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:linear-gradient(180deg,#1a73e80d,#fff 36%),#fff;padding:9px 10px 10px}.forecast-panel:before{position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,var(--color-google-blue) 0 25%,var(--color-google-red) 25% 50%,var(--color-google-yellow) 50% 75%,var(--color-google-green) 75% 100%);content:""}.forecast-panel p{margin:0}.forecast-panel .runner-head{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:12px;min-height:30px}.forecast-panel .runner-head>div{min-width:0}.forecast-panel .runner-head button{flex:0 0 auto}.forecast-range{display:grid;gap:2px;grid-column:1;grid-row:2;padding:0}.forecast-range strong{color:var(--color-text-primary);font-size:1.65rem;font-weight:600;line-height:1}.forecast-range span{color:var(--color-text-secondary);font-size:.88rem;font-weight:500}.score-timeline{display:grid;gap:12px}.score-track{position:relative;height:44px}.score-track:before{position:absolute;top:23px;right:0;left:0;height:8px;border-radius:999px;background:var(--color-border);content:""}.score-range-band{position:absolute;top:19px;height:16px;border-radius:999px;background:var(--color-surface-blue)}.score-marker{position:absolute;top:0;transform:translate(-50%);display:grid;gap:4px;justify-items:center;color:var(--color-text-secondary);font-size:.72rem;font-weight:600;text-transform:uppercase}.score-marker:after{display:block;width:18px;height:18px;border:3px solid var(--color-surface);border-radius:50%;background:var(--color-action-primary);box-shadow:var(--shadow-soft);content:""}.score-marker-target:after{background:var(--color-reward)}.score-scale{display:flex;align-items:center;justify-content:space-between;color:var(--color-text-secondary);font-weight:600}.score-scale strong{color:var(--color-text-primary)}.score-line-card{display:grid;gap:5px;grid-column:1 / -1;width:100%;min-width:0;border-top:1px solid var(--color-border);padding:7px 0 0;color:var(--color-action-primary)}.score-chart-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--color-text-secondary);font-size:.74rem;font-weight:600;letter-spacing:0;text-transform:uppercase}.score-chart-topline strong{color:var(--color-text-primary);font-size:1rem;font-weight:650;line-height:1}.score-line-chart{display:block;width:100%;height:170px;min-height:170px;overflow:visible}.score-grid-line{stroke:#d9e2ef;stroke-width:1}.score-grid-line-vertical{stroke:#eef3f8}.score-axis-label{fill:var(--color-text-secondary);font-size:.66rem;font-weight:600}.score-history-line{stroke:var(--color-action-primary);stroke-width:3}.score-forecast-cone{fill:url(#scoreForecastCone);stroke:#34a8533d;stroke-width:1}.score-forecast-center{stroke:var(--color-success);stroke-dasharray:8 7;stroke-linecap:round;stroke-width:2.25}.score-point circle,.score-point-goal circle{fill:#fff;stroke-width:3}.score-point circle{stroke:var(--color-action-primary)}.score-point-goal circle{stroke:var(--color-success)}.score-point-score,.score-point-date{fill:var(--color-text-primary);font-weight:600;text-anchor:middle}.score-point-score{font-size:.78rem}.score-point-date{fill:var(--color-text-secondary);font-size:.68rem;font-weight:600}.score-range-label{fill:var(--color-text-secondary);font-size:.62rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.score-range-value{fill:var(--color-text-primary);font-size:.7rem;font-weight:700}.score-line-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 12px;color:var(--color-text-secondary);font-size:.72rem;font-weight:600;text-align:left}.score-line-summary span{display:inline-flex;align-items:baseline;gap:5px;border:0;border-radius:0;background:transparent;padding:0}.score-line-summary strong{display:block;color:var(--color-text-primary);font-size:.92rem;font-weight:600;line-height:1}.score-line-card p{color:var(--color-text-secondary);font-size:.78rem;font-weight:500;display:none}.history-panel p{margin:0}.history-panel>p,.privacy-note{font-size:.95rem;line-height:1.45}.report-upload-box{display:grid;gap:8px;min-height:96px;align-content:center;border:1px dashed var(--color-border-strong);border-radius:8px;background:var(--color-surface-strong);padding:14px;text-align:center}.report-upload-box span{color:var(--color-text-primary);font-weight:600}.report-upload-box small{color:var(--color-text-secondary);font-size:.85rem;font-weight:500}.report-upload-box input{min-width:0}.session-import-box{display:grid;gap:12px;padding-top:10px}.session-import-box>div:first-child{display:grid;gap:3px}.session-import-box strong{color:var(--color-text-primary)}.session-import-box span,.session-import-grid span{color:var(--color-text-secondary);font-size:.85rem;font-weight:500}.session-import-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.session-import-grid label{display:grid;gap:6px}.session-import-grid input{width:100%;min-width:0}.selected-files{display:flex;flex-wrap:wrap;gap:8px}.selected-files span{border:1px solid var(--color-border);border-radius:999px;background:#fff;color:var(--color-text-secondary);font-size:.82rem;font-weight:500;padding:5px 9px}.mini-stats{display:flex;flex-wrap:wrap;gap:8px;color:var(--color-text-secondary);font-size:.86rem;font-weight:500}.mini-stats span{border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-strong);padding:5px 9px}.quiet-details,.practice-drawer,.utility-drawer{border-top:1px solid var(--color-border);padding-top:10px}.quiet-details summary,.practice-drawer summary,.utility-drawer summary{cursor:pointer;color:var(--color-text-secondary);font-size:.9rem;font-weight:500}.privacy-ops-panel p,.validation-panel p,.admin-ops-panel p{margin:0}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.history-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.history-facts div{display:grid;gap:2px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);padding:12px}.history-facts strong{color:var(--color-text-primary);font-size:1.18rem}.history-facts span{color:var(--color-text-secondary);font-size:.85rem;font-weight:500}.gap-list,.button-row{display:flex;flex-wrap:wrap;gap:8px}.history-panel .button-row button,.history-panel .button-row .button-link{flex:1 1 170px}.practice-drawer,.utility-drawer{margin-top:12px;background:transparent}.practice-drawer>summary{display:none}.practice-drawer[open],.utility-drawer[open]{display:grid;gap:16px}.practice-drawer[open] summary,.utility-drawer[open] summary{margin-bottom:2px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.metric-grid article{display:grid;gap:6px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-strong);padding:12px}.metric-grid strong,.metric-grid span{display:block}.metric-grid span{color:var(--color-action-primary-strong);font-size:1.25rem;font-weight:600}.metric-grid p{color:var(--color-text-secondary);font-size:.85rem;font-weight:500}.diagnostic-options{display:grid;grid-template-columns:1fr;gap:8px}.explanation-list{display:grid;gap:10px}.explanation-list article{display:grid;gap:4px;border:1px solid var(--color-border);border-radius:8px;padding:10px}.explanation-list p{margin:0}.question-prompt{display:grid;gap:14px}.question-console-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--color-border);padding-bottom:12px}.question-console-head div{display:grid;gap:3px}.question-console-head span,.test-label{margin:0;color:var(--color-text-secondary);font-size:.76rem;font-weight:500;letter-spacing:0;text-transform:uppercase}.info-button,.icon-button{display:grid;width:34px;min-width:34px;min-height:34px;aspect-ratio:1;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;background:var(--color-surface);color:var(--color-action-primary-strong);font-size:1rem;font-weight:600;line-height:1;padding:0}.info-button:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--color-surface-blue)}.question-passage{border:1px solid var(--color-border);border-left:3px solid var(--color-action-primary);border-radius:14px;background:var(--color-surface-strong);padding:12px 14px}.question-passage p,.question-stem{margin:0}.question-passage p{color:var(--color-text-primary);font-size:.97rem;font-weight:400;line-height:1.48}.question-stem{color:var(--color-text-primary);font-size:1.04rem;font-weight:500;line-height:1.46}.skill-line{display:flex;flex-wrap:wrap;gap:8px}.choice-grid{display:grid;gap:10px}.choice-grid label{position:relative}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;min-height:46px;align-items:center;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);padding:9px 11px}.choice-grid input:checked+span{border-color:var(--color-action-primary);background:var(--color-surface-blue)}.confidence-control{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-strong);padding:12px}.confidence-head,.confidence-scale{display:flex;align-items:center;justify-content:space-between;gap:12px}.confidence-head span{color:var(--color-text-primary);font-weight:600}.confidence-head p{margin:2px 0 0;color:var(--color-text-secondary);font-size:.82rem;font-weight:500}.confidence-head strong{color:var(--color-action-primary);font-size:.95rem;white-space:nowrap}.confidence-control input{width:100%}.confidence-scale{color:var(--color-text-secondary);font-size:.72rem;font-weight:500}.analysis-panel{display:grid;gap:14px;width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid rgb(0 113 227 / .28);border-radius:18px;background:#fbfdfc;box-shadow:0 24px 70px #20212438;padding:16px}.analysis-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.analysis-head h3{margin:0;font-size:1rem}.analysis-source-note{margin:0;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text-secondary);font-size:.84rem;line-height:1.45;padding:10px}.analysis-plain-summary{display:grid;gap:4px;border:1px solid rgb(26 115 232 / .22);border-radius:10px;background:var(--color-surface-blue);padding:12px}.analysis-plain-summary strong{color:var(--color-text-strong);font-size:.98rem;font-weight:700}.analysis-plain-summary p{margin:0;color:var(--color-text-primary);font-size:.86rem;line-height:1.45}.analysis-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.analysis-metrics article,.system-list article{display:grid;gap:4px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);padding:10px}.analysis-metrics span,.loss-gate span,.system-list span{color:var(--color-text-secondary);font-size:.72rem;font-weight:600;letter-spacing:0;text-transform:uppercase}.analysis-metrics strong{font-size:1.05rem;font-weight:600}.analysis-metrics p{margin:0;color:var(--color-text-secondary);font-size:.78rem;line-height:1.35}.loss-gate{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-strong);padding:12px}.loss-gate div:first-child{display:flex;justify-content:space-between;gap:10px}.loss-gate p,.analysis-panel details p,.system-list p{margin:0;color:var(--color-text-secondary);line-height:1.4}.threshold-track{height:8px;overflow:hidden;border-radius:999px;background:#e8e1d8}.threshold-track span{display:block;max-width:100%;height:100%;border-radius:inherit;background:var(--color-action-primary)}.analysis-panel details{border-top:1px solid var(--color-border);padding-top:10px}.analysis-panel summary{cursor:pointer;font-weight:600}.system-list{display:grid;gap:8px;margin-top:10px}footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;padding:12px clamp(16px,4vw,48px);border-top:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:.72rem;font-weight:400}footer a{color:var(--color-text-secondary);text-decoration:none}footer a:hover{color:var(--color-action-primary);text-decoration:underline}@media(max-width:860px){.learning-frame{grid-template-columns:1fr}.lesson-sidebar{border-right:0;border-bottom:1px solid var(--color-border)}.lesson-nav{grid-auto-columns:minmax(160px,1fr);grid-auto-flow:column;overflow-x:auto}.lesson-nav-item{border-left:0;border-bottom:4px solid transparent;padding:10px 14px}.lesson-nav-item:hover:not(:disabled),.lesson-nav-item[aria-current=page]{border-bottom-color:var(--color-action-primary);border-left-color:transparent}.welcome-screen,.student-workbench,.forecast-panel,.mission-grid,.question-layout,.answer-entry,.activity-row,.reward-stats,.reward-list,.creative-grid,.metric-grid,.session-import-grid,.skill-map-grid{grid-template-columns:1fr}.activity-meta{text-align:left}.analysis-metrics{grid-template-columns:1fr}.forecast-panel .runner-head button,.forecast-range,.score-line-card{grid-column:1;grid-row:auto}.robot-stage{order:-1}}@media(max-width:520px){.topbar{align-items:flex-start;flex-direction:column}.today-screen{padding:10px}.lesson-workspace{padding:14px 12px}.mission-copy{align-items:flex-start;flex-direction:column;gap:2px}.welcome-copy h1,.today-screen h1{font-size:1.65rem}.legal-screen h1,.panel h1{font-size:2rem}.auth-panel h1{font-size:1.85rem}.welcome-copy .product-tagline{font-size:1.12rem}.forecast-range strong{font-size:1.85rem}.segmented-control,.password-row,.inline-form,.danger-zone,.history-facts,.skill-state-card dl{grid-template-columns:1fr}.runner-head{align-items:flex-start;flex-direction:column}.answer-action-panel{position:static}.desmos-api-mount{height:300px}.strategy-list article{align-items:stretch;flex-direction:column}}
