:root{color:#121826;background:#f3f5f8;font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}.app-shell{gap:1rem;max-width:900px;margin:0 auto;padding:1.25rem;display:grid}.app-header,.app-footer{background:#fff;border:1px solid #d5dbe5;border-radius:12px;padding:1rem 1.25rem}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.app-header h1{margin:0;font-size:2rem}.header-tools{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:inline-flex}.user-badge{position:relative}.user-badge-button{font:inherit;cursor:pointer;background:#fff;border:1px solid #d5dbe5;border-radius:999px;align-items:center;gap:.45rem;min-height:42px;padding:.25rem .7rem .25rem .3rem;display:inline-flex}.user-badge-button:hover,.user-badge-button[aria-expanded=true]{background:#f8faff;border-color:#4f46e5}.user-badge-avatar{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:999px;place-items:center;width:1.9rem;height:1.9rem;font-weight:700;display:grid}.user-badge-name{color:#374151;text-overflow:ellipsis;white-space:nowrap;max-width:9rem;font-weight:600;overflow:hidden}.user-badge-caret{color:#6b7280;font-size:.8rem}.user-menu{z-index:20;background:#fff;border:1px solid #d5dbe5;border-radius:12px;gap:.15rem;min-width:13rem;padding:.4rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 10px 25px #0f172a24}.user-menu-identity{border-bottom:1px solid #eef0f4;gap:.1rem;margin-bottom:.15rem;padding:.45rem .6rem .55rem;display:grid}.user-menu-grade{color:#4b5563;font-size:.85rem}.user-menu-item{text-align:left;font:inherit;color:#374151;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem .6rem;font-weight:600}.user-menu-item:hover{color:#3730a3;background:#eef2ff}.user-menu-signout{color:#b91c1c}.user-menu-signout:hover{color:#991b1b;background:#fef2f2}.user-menu-grade-picker{color:#374151;align-items:center;gap:.4rem;padding:.45rem .6rem;font-size:.95rem;display:flex}.user-menu-language{border-top:1px solid #eef0f4;border-radius:0 0 8px 8px;margin-top:.15rem;padding-top:.55rem}.lang-switch{border:1px solid #d5dbe5;border-radius:8px;display:inline-flex;overflow:hidden}.lang-option{color:#374151;font:inherit;cursor:pointer;background:#fff;border:none;padding:.4rem .75rem;font-weight:600}.lang-option+.lang-option{border-left:1px solid #d5dbe5}.lang-option:hover{color:#4f46e5;background:#eef2ff}.lang-option.active{color:#fff;background:#4f46e5}.app-main{background:#fff;border:1px solid #d5dbe5;border-radius:12px;padding:1.25rem}.app-footer{color:#4a5568;font-weight:600}.read-and-answer-page,.story-library{gap:1rem;display:grid}.story-library h2{margin:0}.story-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.library-card{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:#fafbfc;border:1px solid #d5dbe5;border-radius:10px;gap:.35rem;padding:1rem;display:grid}.library-card:hover{background:#eef2ff;border-color:#4f46e5}.library-card .story-genre{text-transform:uppercase;letter-spacing:.04em;color:#4f46e5;background:#eef2ff;border-radius:999px;align-self:start;padding:.15rem .6rem;font-size:.8rem;font-weight:700}.library-card:hover .story-genre{background:#fff}.library-card-title{font-size:1.25rem;font-weight:700}.library-card .story-meta{margin:0}.back-button,.guest-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d5dbe5;border-radius:8px;justify-self:start;min-height:40px;padding:.5rem .9rem;font-size:.95rem;font-weight:600}.back-button:hover,.guest-button:hover{color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.story-card,.questions,.quiz-question,.score-summary{background:#fafbfc;border:1px solid #d5dbe5;border-radius:10px;padding:1rem}.story-meta{color:#374151;margin-top:0}.story-body{white-space:pre-wrap}.story-controls{flex-wrap:wrap;gap:.5rem;margin:0 0 .75rem;display:flex}.speaker-button,.speed-button,.voice-button{color:#3730a3;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;min-height:40px;padding:.4rem .9rem;font-size:.95rem;font-weight:600}.speaker-button:hover,.speed-button:hover,.voice-button:hover{background:#e0e7ff}.speaker-button[aria-pressed=true]{color:#fff;background:#4f46e5;border-color:#4f46e5}.choices{gap:.6rem;display:grid}.choice{border:1px solid #0000;border-radius:8px;align-items:center;gap:.6rem;padding:.6rem;display:flex}.choice.selected{background:#eef2ff;border-color:#4f46e5}.choice input{width:1.15rem;height:1.15rem}.feedback{margin-bottom:0;font-weight:600}.feedback.correct{color:#166534}.feedback.incorrect{color:#b91c1c}.check-answers,.primary-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;min-height:48px;padding:.9rem 1.2rem;font-size:1rem;font-weight:700}.check-answers:hover:not(:disabled),.primary-button:hover:not(:disabled){background:#1d4ed8}.check-answers:disabled,.primary-button:disabled{cursor:not-allowed;background:#94a3b8}.check-answers-hint{color:#4a5568;margin:.25rem 0 0;font-size:.95rem}.quiz-after{gap:1rem;scroll-margin-top:.75rem;display:grid}.quiz-goals{background:#fafbfc;border:1px solid #d5dbe5;border-radius:10px;padding:1rem}.quiz-goals h3{margin:0 0 .6rem}.quiz-goal-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.quiz-goal{gap:.35rem;display:grid}.quiz-goal-words{flex-wrap:wrap;justify-content:space-between;gap:.6rem;display:flex}.quiz-goal-status{color:#374151;white-space:nowrap;font-weight:600}.quiz-goal.achieved .quiz-goal-status{color:#166534}.quiz-goal.achieved .goal-bar-fill{background:#16a34a}.quiz-retry-hint{color:#b45309;margin:0;font-weight:600}.quiz-retry-hint.passed-before{color:#4a5568}.quiz-complete{color:#166534;margin:0;font-size:1.05rem;font-weight:700}.quiz-next{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.evidence{color:#374151;margin-top:.25rem;font-style:italic}.typed-answer{align-items:center;gap:.6rem;margin:.25rem 0 .35rem;display:flex}.typed-answer-label{color:#4a5568;font-weight:600}.typed-answer-input{font:inherit;color:#1e1b4b;background:#fff;border:1px solid #94a3b8;border-radius:8px;padding:.5rem .7rem;font-size:1.05rem}.typed-answer-input:focus{background:#eef2ff;border-color:#4f46e5}.typed-answer-input:disabled{color:#4a5568;background:#f4f5f7}.typed-answer-hint{color:#4a5568;margin:0 0 .5rem;font-size:.9rem}.choices-chips{grid-auto-columns:max-content;grid-auto-flow:column;gap:.5rem;padding-bottom:.25rem;overflow-x:auto}.choices-chips .choice{white-space:nowrap;background:#fff;border:1px solid #d5dbe5;border-radius:999px;gap:.4rem;padding:.5rem .85rem}.choices-chips .choice.selected{background:#eef2ff;border-color:#4f46e5}.word-bank-sentence,.analogy-expression{margin:.25rem 0 .75rem;font-size:1.05rem;line-height:1.7}.word-bank-blank,.analogy-blank{text-align:center;color:#4a5568;border-bottom:2px solid #4f46e5;min-width:4rem;margin:0 .15rem;padding:0 .4rem;font-weight:600;display:inline-block}.word-bank-blank.filled,.analogy-blank.filled{color:#1e1b4b;background:#eef2ff;border-radius:4px}.analogy-sep{color:#4a5568;font-weight:700}.chart-scroll{background:#fff;border:1px solid #d5dbe5;border-radius:8px;margin:.5rem 0 .75rem;overflow-x:auto}.data-chart{border-collapse:collapse;width:100%;font-size:.95rem}.data-chart caption{caption-side:top;text-align:left;color:#374151;background:#f3f5f8;border-bottom:1px solid #d5dbe5;padding:.5rem .75rem;font-weight:600}.data-chart th,.data-chart td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:.5rem .75rem}.data-chart thead th{color:#1f2937;background:#f8fafc;font-weight:700}.data-chart tbody tr:last-child td{border-bottom:none}.dictionary-entry{background:#fff;border:1px solid #d5dbe5;border-radius:8px;margin:.25rem 0 .75rem;padding:.75rem 1rem}.dictionary-word{color:#1f2937;margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.dictionary-senses{gap:.35rem;margin:0;padding-left:0;list-style:none;display:grid}.dictionary-letter{color:#4f46e5;margin-right:.15rem;font-weight:700}.dictionary-sentence{color:#374151;margin:0 0 .75rem;font-style:italic}.library-filters{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.library-filter{color:#374151;align-items:center;gap:.4rem;font-size:.95rem;display:inline-flex}.library-filter select{font:inherit;background:#fff;border:1px solid #d5dbe5;border-radius:6px;min-height:36px;padding:.4rem .55rem}.library-empty{color:#4a5568;margin:.5rem 0 0}.library-grade-note{color:#374151;margin:0 0 .5rem}.library-loading{color:#4a5568;margin:.5rem 0 0}.grade-list{margin:.5rem 0 0;padding:0;list-style:none}.grade-link{width:100%;font:inherit;color:#1f2937;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.85rem 1rem;font-weight:600;display:flex}.grade-link:hover{color:#2563eb;background:#f5f8ff;border-color:#2563eb}.grade-link-arrow{color:#6b7280;font-size:1.3rem;line-height:1}.grade-link:hover .grade-link-arrow{color:#2563eb}.library-card .story-subject{text-transform:uppercase;letter-spacing:.04em;color:#0f766e;background:#ccfbf1;border-radius:999px;margin-left:.35rem;padding:.15rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.library-card .story-subject.science{color:#0369a1;background:#e0f2fe}.library-card .story-subject.language{color:#9a3412;background:#ffedd5}.library-card .story-subject.reading{color:#6b21a8;background:#f3e8ff}.library-card .story-subject.math{color:#be123c;background:#ffe4e6}.library-card .story-bilingual{color:#3730a3;background:#e0e7ff;border-radius:999px;margin-left:.35rem;padding:.15rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.library-card.passed{opacity:.75;background:#f6f7f9;border-color:#e2e8f0}.library-card.passed:hover{opacity:1;background:#eef2ff;border-color:#4f46e5}.library-card .story-passed{color:#166534;background:#dcfce7;border-radius:999px;margin-left:.35rem;padding:.15rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.library-progress{color:#374151;margin:0 0 .25rem;font-weight:600}.grade-done{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;gap:.5rem;padding:1rem;display:grid}.grade-done-note{color:#166534;margin:0;font-weight:700}.move-up{justify-items:start;gap:.5rem;display:grid}.move-up-note{color:#374151;margin:0}.move-up-button{color:#fff;font:inherit;cursor:pointer;background:#16a34a;border:none;border-radius:8px;min-height:44px;padding:.6rem 1.1rem;font-weight:700}.move-up-button:hover{background:#15803d}.score-value{margin:0;font-size:2rem;font-weight:700}.sign-in-page{gap:1.25rem;display:grid}.sign-in-section{gap:.75rem;display:grid}.sign-in-section h2,.sign-in-section h3{margin:0}.sign-in-hint{color:#4a5568;margin:0}.sign-in-hero{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:14px;justify-items:start;gap:.5rem;padding:1.5rem;display:grid}.sign-in-hero h2{margin:0;font-size:1.6rem}.sign-in-hero-icon{font-size:2rem;line-height:1}.sign-in-hero-tagline{color:#e0e7ff;margin:0 0 .5rem}.sign-in-hero-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:#c7d2fe;margin:0;font-size:.82rem;font-weight:700}.sign-in-hero-button{color:#3730a3;font:inherit;cursor:pointer;background:#fff;border:none;border-radius:999px;min-height:42px;padding:.6rem 1.4rem;font-weight:700}.sign-in-hero-button:hover{background:#eef2ff}.sign-in-hero-hint{color:#e0e7ff;margin:0;font-size:.9rem}.sign-in-hero-error{color:#b91c1c;background:#fff;border-radius:8px;margin:.25rem 0 0;padding:.5rem .75rem;font-weight:600}.grown-up-home{gap:1.25rem;display:grid}.learner-shelf{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.learner-block{gap:.5rem;display:grid}.learner-row{align-items:stretch;gap:.5rem;display:flex}.learner-door{font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d5dbe5;border-radius:12px;flex:1;justify-items:start;gap:.3rem;padding:1rem 1.1rem;display:grid}.learner-door:hover{background:#f8faff;border-color:#818cf8}.learner-door-name{font-size:1.2rem;font-weight:700}.learner-door-grade{color:#4b5563;font-size:.88rem}.learner-door-glance{flex-wrap:wrap;gap:.4rem;margin-top:.2rem;display:flex}.learner-glance-pill{color:#3730a3;background:#eef2ff;border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:600}.learner-more{color:#4b5563;font:inherit;cursor:pointer;background:#fff;border:1px solid #d5dbe5;border-radius:8px;align-self:center;padding:.4rem .7rem;font-size:.85rem;font-weight:600}.learner-more:hover,.learner-more[aria-expanded=true]{color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.learner-tools{background:#fafbfc;border:1px solid #e5e9f0;border-radius:10px;justify-items:start;gap:.6rem;padding:.75rem;display:grid}.learner-tools[hidden]{display:none}.pass-mark-row{gap:.25rem;display:grid}.pass-mark-hint{color:#6b7280;max-width:34rem;margin:0;font-size:.85rem}.send-message-form{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.send-message-label{color:#374151;flex:18rem;align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.send-message-label input{font:inherit;background:#fff;border:1px solid #d5dbe5;border-radius:6px;flex:auto;min-height:36px;padding:.4rem .55rem}.send-message-sent{color:#166534;font-size:.9rem;font-weight:600}.form-toggles{flex-wrap:wrap;gap:.6rem;display:flex}.form-toggle{color:#374151;font:inherit;cursor:pointer;background:#fff;border:1px dashed #94a3b8;border-radius:8px;min-height:40px;padding:.5rem .9rem;font-weight:600}.form-toggle:hover{color:#4f46e5;border-color:#4f46e5}.form-toggle[aria-expanded=true]{color:#3730a3;background:#eef2ff;border-style:solid;border-color:#4f46e5}.pin-form,.new-learner-form{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.pin-form label,.new-learner-form label{color:#374151;align-items:center;gap:.4rem;font-size:.95rem;display:inline-flex}.new-learner-form input,.pin-input{font:inherit;background:#fff;border:1px solid #d5dbe5;border-radius:6px;min-height:36px;padding:.45rem .6rem}.pin-input{text-align:center;letter-spacing:.35ch;width:6.5ch;font-weight:700}.form-error{color:#b91c1c;margin:0;font-weight:600}.remove-learner{font:inherit;color:#b91c1c;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600;text-decoration:underline}.parent-dashboard{gap:1rem;display:grid}.parent-dashboard h2{margin:0}.progress-card{background:#fafbfc;border:1px solid #d5dbe5;border-radius:10px;gap:.5rem;padding:1rem;display:grid}.progress-card h3{margin:0}.reader-home{gap:1rem;display:grid}.goals-panel{background:#fafbfc;border:1px solid #d5dbe5;border-radius:10px;gap:.75rem;padding:1rem;display:grid}.goals-panel h2{margin:0}.goal-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.goal-item{background:#fff;border:1px solid #d5dbe5;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:.35rem .6rem;padding:.6rem .75rem;display:grid}.goal-item.achieved{background:#f0fdf4;border-color:#16a34a}.goal-info{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.goal-text{font-weight:600}.goal-status{color:#374151;font-weight:600}.goal-item.achieved .goal-status{color:#166534}.goal-bar{background:#e5e7eb;border-radius:999px;grid-column:1;height:.5rem;overflow:hidden}.goal-bar-fill{background:#2563eb;border-radius:999px;height:100%}.goal-item.achieved .goal-bar-fill{background:#16a34a}.goal-streak-hint{color:#6b7280;grid-column:1;margin:0;font-size:.85rem}.goal-item.achieved .goal-streak-hint{color:#166534}.goal-remove{color:#b91c1c;font:inherit;cursor:pointer;background:#fff;border:1px solid #d5dbe5;border-radius:6px;grid-area:1/2/span 2;padding:.2rem .5rem;font-weight:700}.goal-remove:hover{background:#fef2f2;border-color:#b91c1c}.goal-form{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.goal-form label{color:#374151;align-items:center;gap:.4rem;font-size:.95rem;display:inline-flex}.goal-form select{font:inherit;background:#fff;border:1px solid #d5dbe5;border-radius:6px;min-height:36px;padding:.4rem .55rem}.goal-summary{color:#374151;gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.goal-chip{white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .6rem;font-size:.8rem;font-weight:700;display:inline-flex}.goal-chip.done{color:#14532d;background:#bbf7d0}.goal-chip.on-track{color:#166534;background:#dcfce7}.goal-chip.push{color:#92400e;background:#fef3c7}.goal-from{color:#3730a3;white-space:nowrap;background:#eef2ff;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.goal-tags{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.goal-period-line{color:#6b7280;grid-column:1;margin:0;font-size:.85rem}.counted{color:#166534;white-space:nowrap;font-size:.85rem;font-weight:700}.set-goal{border-top:1px dashed #d5dbe5;gap:.6rem;padding-top:.75rem;display:grid}.set-goal h4{margin:0;font-size:.98rem}.set-goal-hint{color:#6b7280;margin:0;font-size:.85rem}.window-picker{background:#fff;border:1px solid #d5dbe5;border-radius:999px;flex-wrap:wrap;gap:.2rem;width:fit-content;padding:.2rem;display:inline-flex}.window-picker button{font:inherit;color:#4b5563;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.35rem .75rem;font-size:.88rem;font-weight:600}.window-picker button.active{color:#fff;background:#4f46e5}.today-box{background:#fff;border:1px solid #d5dbe5;border-radius:8px;gap:.35rem;padding:.6rem .75rem;display:grid}.today-box h4{margin:0;font-size:.95rem}.today-row{color:#374151;justify-content:space-between;gap:.5rem;font-size:.92rem;display:flex}.today-row .today-score{white-space:nowrap;font-weight:700}.today-summary{color:#166534;margin:0;font-size:.88rem;font-weight:600}.today-empty{color:#6b7280;margin:0;font-size:.92rem}.glance-today{white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:700}.glance-today.done{color:#166534;background:#dcfce7}.glance-today.none{color:#6b7280;background:#f3f4f6}.grade-split{color:#374151;margin:0;font-size:.92rem}.grade-split-pill{color:#3730a3;background:#eef2ff;border-radius:999px;margin:.1rem .35rem .1rem 0;padding:.12rem .6rem;font-weight:600;display:inline-flex}.grade-split-note{color:#6b7280;margin:0;font-size:.8rem}.grade-fit{border-radius:8px;margin:0;padding:.6rem .75rem;font-size:.92rem;font-weight:600}.grade-fit.move-up{color:#3730a3;background:#eef2ff}.grade-fit.step-down{color:#92400e;background:#fef3c7}.goal-rows{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.goal-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:.45rem .6rem;display:grid}.goal-row .goal-words{min-width:0}.goal-row:not(:has(.goal-chip)) .goal-words{grid-column:1/3}.goal-row .goal-sub{color:#6b7280;font-size:.85rem}.goal-row .goal-remove{grid-area:auto/3;place-self:center end}.stats-line{background:#fafbfc;border:1px solid #d5dbe5;border-radius:10px;gap:.2rem;padding:.8rem 1rem;display:grid}.stats-line h3{margin:0;font-size:1.05rem}.stats-line p{color:#374151;margin:0}.side-notes-panel{background:#fafbfc;border:1px solid #d5dbe5;border-radius:10px;gap:.75rem;padding:1rem;display:grid}.side-notes-panel h2{margin:0}.side-note-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.side-note{background:#fffbeb;border:1px solid #f5c451;border-left-width:5px;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.6rem .75rem;display:grid}.side-note-bell{font-size:1.2rem;line-height:1}.side-note-text{color:#3f3210;overflow-wrap:anywhere;font-weight:600}.side-note-done{color:#166534;font:inherit;cursor:pointer;background:#fff;border:1px solid #16a34a;border-radius:6px;padding:.3rem .7rem;font-weight:700}.side-note-done:hover{background:#f0fdf4}.side-note-form{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.side-note-label{color:#374151;flex:16rem;align-items:center;gap:.4rem;font-size:.95rem;display:inline-flex}.side-note-label input{font:inherit;background:#fff;border:1px solid #d5dbe5;border-radius:6px;flex:auto;min-height:36px;padding:.4rem .55rem}.grown-up-messages-panel{background:#f5f9ff;border:1px solid #bfdbfe;border-radius:10px;gap:.75rem;padding:1rem;display:grid}.grown-up-messages-panel h2{margin:0}.grown-up-message-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.grown-up-message{background:#eff6ff;border:1px solid #93c5fd;border-left:5px solid #3b82f6;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.6rem .75rem;display:grid}.grown-up-message-icon{font-size:1.2rem;line-height:1}.grown-up-message-text{color:#1e3a5f;overflow-wrap:anywhere;font-weight:600}.grown-up-message-done{color:#1d4ed8;font:inherit;cursor:pointer;background:#fff;border:1px solid #2563eb;border-radius:6px;padding:.3rem .7rem;font-weight:700}.grown-up-message-done:hover{background:#eff6ff}.guest-corner{border-top:1px solid #d5dbe5;padding-top:1rem}.guest-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.pretend-corner{background:repeating-linear-gradient(45deg,#fffbeb,#fffbeb 10px,#fef3c7 10px 20px);border:1px dashed #b45309;border-radius:10px;padding:.9rem 1rem}.pretend-button{color:#92400e;cursor:pointer;background:#fff;border:1px solid #b45309;border-radius:8px;justify-self:start;min-height:40px;padding:.5rem .9rem;font-size:.95rem;font-weight:600}.pretend-button:hover{background:#fef3c7}.pretend-notice{color:#92400e;background:#fffbeb;border:1px dashed #b45309;border-radius:8px;margin:0;padding:.6rem .8rem;font-weight:600}.free-review-panel{background:#fafbfc;border:1px solid #d5dbe5;border-radius:10px;gap:.75rem;padding:1rem;display:grid}.free-review-panel h2{margin:0}.free-review-hint,.free-review-count{color:#4b5563;margin:0}.free-review-count{font-size:.9rem}.free-review-choose{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.free-review-choose select{font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;max-width:100%;padding:.4rem .5rem}.free-review-start{color:#fff;font:inherit;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:.45rem 1.1rem;font-weight:600}.free-review-start:hover{background:#1d4ed8}.practice-room-header{gap:.35rem;display:grid}.practice-room-header h2{margin:0}.practice-room-hint{color:#4b5563;margin:0}.spiral-card{color:#fff;background:linear-gradient(135deg,#0d9488,#2563eb);border-radius:14px;justify-items:start;gap:.5rem;padding:1.25rem 1.5rem;display:grid}.spiral-card h2{margin:0;font-size:1.35rem}.spiral-hint{color:#ccfbf1;margin:0}.spiral-from{color:#99f6e4;margin:0;font-size:.9rem}.spiral-start{color:#115e59;font:inherit;cursor:pointer;background:#fff;border:none;border-radius:999px;margin-top:.35rem;padding:.6rem 1.4rem;font-weight:700}.spiral-start:hover{background:#ccfbf1}.skill-area{background:#fafbfc;border:1px solid #d5dbe5;border-radius:10px;gap:.75rem;padding:1rem;display:grid}.skill-area h2{margin:0}.skill-area-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1.25rem;display:flex}.skill-area-progress{color:#4b5563;white-space:nowrap;flex:1;align-items:center;gap:.6rem;max-width:20rem;font-size:.9rem;display:flex}.skill-area-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.skill-check-start{color:#fff;font:inherit;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:.45rem 1.1rem;font-weight:600}.skill-check-start:hover{background:#1d4ed8}.skill-mixed-start{font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem 1.1rem;font-weight:600}.skill-mixed-start:hover{background:#eef2ff;border-color:#a5b4fc}.skill-last-check{color:#4b5563;font-size:.9rem}.skill-check-hint{color:#64748b;margin:-.35rem 0 0;font-size:.85rem}.skill-ramp{margin:0;padding:0;list-style:none}.skill-row{border-left:2px solid #e2e8f0;align-items:baseline;gap:.85rem;margin-left:.9rem;padding:.5rem 0 .5rem 1rem;display:flex}.skill-number{color:#475569;text-align:center;background:#e2e8f0;border-radius:999px;flex:0 0 1.9rem;height:1.9rem;margin-left:-2rem;font-size:.85rem;line-height:1.9rem}.skill-row.is-mastered>.skill-number,.skill-row.is-rusty>.skill-number{color:#b45309;background:#fef3c7}.skill-row-body{flex-wrap:wrap;flex:1;align-items:baseline;gap:.35rem .6rem;display:flex}.skill-name{font-weight:600}.skill-row.is-new .skill-name{font-weight:400}.skill-state{border-radius:999px;padding:.05rem .5rem;font-size:.78em;font-weight:600}.skill-state.is-new{color:#475569;background:#e2e8f0}.skill-state.is-practicing{color:#1d4ed8;background:#dbeafe}.skill-state.is-ready{color:#15803d;background:#dcfce7}.skill-state.is-mastered{color:#92400e;background:#fef3c7}.skill-state.is-rusty{color:#c2410c;background:#ffedd5}.skill-actions{gap:.5rem;margin-left:auto;display:flex}.skill-actions button{font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.3rem .85rem;font-size:.85rem}.skill-actions button:hover{background:#eef2ff;border-color:#a5b4fc}.skill-actions .skill-challenge{color:#92400e;background:#fffbeb;border-color:#fcd34d}.skill-actions .skill-challenge:hover{background:#fef3c7;border-color:#f59e0b}.skill-actions .skill-prove{color:#3730a3;background:#eef2ff;border-color:#c7d2fe;font-weight:600}.skill-actions .skill-prove:hover{background:#e0e7ff;border-color:#4f46e5}.skill-actions .skill-prove.is-leading{color:#fff;background:#4f46e5;border-color:#4f46e5}.skill-actions .skill-prove.is-leading:hover{background:#3730a3;border-color:#3730a3}@media (width<=768px){.skill-row{gap:.6rem;margin-left:.8rem;padding-left:.8rem}.skill-actions{margin-left:0}.skill-area-progress{max-width:none}}.skill-actions .skill-learn{color:#3730a3;background:#eef2ff;border-color:#c7d2fe;font-weight:600}.skill-actions .skill-learn:hover{background:#e0e7ff;border-color:#4f46e5}.skill-lesson-note{color:#c2410c;font-size:.8rem}.fact-sheet{border-top:1px solid #e2e8f0;margin-top:.5rem;padding-top:.5rem}.fact-sheet-toggle{font:inherit;color:#4f46e5;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600}.fact-sheet-toggle:hover{color:#3730a3;text-decoration:underline}.fact-sheet-list{gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.fact-sheet-list li{gap:.15rem;display:grid}.fact-sheet-skill{font-size:.85rem;font-weight:600}.fact-sheet-summary{color:#4b5563;font-size:.9rem}.skill-breakdown{margin-top:1rem}.skill-breakdown h3{margin:0 0 .35rem;font-size:1rem}.skill-breakdown-list{margin:0;padding:0;list-style:none}.skill-breakdown-row{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;padding:.5rem 0;display:flex}.skill-breakdown-mark{color:#15803d;font-weight:700}.skill-breakdown-row.is-missed .skill-breakdown-mark,.skill-breakdown-row.is-missed .skill-breakdown-score{color:#b91c1c}.skill-breakdown-name{font-weight:600}.skill-breakdown-score{color:#4b5563;font-size:.9rem;font-weight:600}.reread-lesson{color:#3730a3;font:inherit;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;margin-left:auto;padding:.3rem .85rem;font-size:.85rem;font-weight:600}.reread-lesson:hover{background:#e0e7ff;border-color:#4f46e5}.lesson-open-book{color:#4b5563;margin:0;font-style:italic}.room-group-header{letter-spacing:.09em;text-transform:uppercase;color:#6b7280;align-items:center;gap:.75rem;margin:.4rem 0 0;font-size:.78rem;font-weight:700;display:flex}.room-group-header:after{content:"";background:#d5dbe5;flex:1;height:1px}.area-fold{gap:.5rem;display:grid}.area-fold-row{width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d5dbe5;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;padding:.75rem 1rem;display:flex}.area-fold-row:hover{background:#f8fafc;border-color:#a5b4fc}.area-fold-chevron{color:#64748b;font-size:.85rem}.area-fold-name{font-weight:600}.area-fold-note{color:#64748b;font-size:.85rem}.area-fold-note.is-rusty{color:#c2410c;font-weight:600}.area-fold-body{margin-left:.75rem}.starting-line-card.is-fresh{background:#f0fdfa;border:1px solid #99f6e4;border-radius:14px;justify-items:start;gap:.5rem;padding:1.25rem 1.5rem;display:grid}.starting-line-card.is-fresh h2{color:#115e59;margin:0;font-size:1.35rem}.starting-line-hint{color:#0f766e;margin:0}.starting-line-start{color:#fff;font:inherit;cursor:pointer;background:#0d9488;border:none;border-radius:999px;margin-top:.35rem;padding:.6rem 1.4rem;font-weight:700}.starting-line-start:hover{background:#0f766e}.starting-line-card.is-retake{background:#fff;border:1px solid #d5dbe5;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.85rem 1rem;display:flex}.starting-line-card.is-retake .starting-line-hint{color:#64748b;font-size:.85rem}.starting-line-title{margin:0;font-weight:600}.starting-line-retake{font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;margin-left:auto;padding:.45rem 1rem;font-weight:600}.starting-line-retake:hover{background:#f0fdfa;border-color:#0d9488}.placement-trail{background:#fff;border:1px solid #d5dbe5;border-radius:10px;gap:.5rem;margin-bottom:1rem;padding:.85rem 1rem;display:grid}.placement-trail-title{letter-spacing:.06em;text-transform:uppercase;color:#6b7280;margin:0;font-size:.78rem;font-weight:700}.placement-trail-chips{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.placement-chip{border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.placement-chip.is-clean{color:#15803d;background:#dcfce7}.placement-chip.is-frontier{color:#c2410c;background:#ffedd5}.placement-chip.is-now{color:#3730a3;background:#eef2ff;border:1px solid #a5b4fc}.placement-trail-hint{color:#64748b;margin:0;font-size:.85rem}.placement-summary{background:#fafbfc;border:1px solid #d5dbe5;border-radius:10px;gap:.25rem;margin-bottom:1rem;padding:.85rem 1rem;display:grid}.placement-summary-title{margin:0;font-weight:700}.placement-summary-areas{color:#4b5563;margin:0}.placement-guest-note{color:#64748b;font-size:.9rem}.practice-header{gap:.35rem;margin-bottom:1rem;display:grid}.practice-header h2{margin:0}.practice-closed-book{color:#4b5563;margin:0;font-style:italic}.practice-short,.practice-empty{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;margin:0;padding:.6rem .75rem}.capstone-banner{background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.capstone-star{color:#b45309;font-size:1.3rem;line-height:1.3}.capstone-title{color:#92400e;margin:0;font-weight:700}.capstone-hint{color:#92400e;margin:0;font-size:.95rem}@media (width<=768px){.app-shell{padding:.75rem}.app-header h1{font-size:1.65rem}}.quest-panel,.quest-page{margin:1.5rem 0}.draft-badge{color:#92400e;vertical-align:middle;background:#fef3c7;border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.72em;font-weight:600}.quest-shelf-list{margin:.5rem 0 0;padding:0;list-style:none}.quest-open{border:1px solid var(--card-border,#e2e8f0);background:var(--card-bg,#fff);width:100%;font:inherit;text-align:left;cursor:pointer;border-radius:.6rem;justify-content:space-between;gap:1rem;padding:.7rem .9rem;display:flex}.quest-open:hover{border-color:#818cf8}.quest-open-progress{color:#64748b;white-space:nowrap}.quest-stages{margin:1rem 0 0;padding:0;list-style:none}.quest-stage+.quest-stage{margin-top:.35rem}.quest-stage-label{color:#64748b;margin:.5rem 0 0 1.9rem;font-size:.82rem}.quest-path{margin:0;padding:0;list-style:none}.quest-step{border-left:2px solid #e2e8f0;align-items:baseline;gap:.85rem;margin-left:.9rem;padding:.6rem 0 .6rem 1rem;display:flex}.quest-step-number{color:#475569;text-align:center;background:#e2e8f0;border-radius:999px;flex:0 0 1.9rem;height:1.9rem;margin-left:-2rem;font-size:.85rem;line-height:1.9rem}.quest-step.is-done>.quest-step-number{color:#166534;background:#bbf7d0}.quest-step.is-suggested>.quest-step-number{color:#fff;background:#4f46e5}.quest-step-body{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.quest-step-open{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.quest-step.is-review .quest-step-title{color:#64748b;font-style:italic}.quest-step-missing{color:#94a3b8;font-style:italic}.quest-step-done{color:#166534;font-size:.85em}.quest-step.is-extra>.quest-step-number{color:#92400e;background:#fef3c7}.quest-step.is-waiting .quest-step-title,.quest-step.is-waiting>.quest-step-number{opacity:.55}.quest-step-waiting{color:#64748b;font-size:.82em}.quest-extras{color:#64748b;margin-left:.6rem}.quest-step-next{color:#3730a3;background:#eef2ff;border-radius:999px;padding:.05rem .45rem;font-size:.78em;font-weight:600}.review-intro{color:#475569}.review-short,.review-empty{color:#3730a3;background:#eef2ff;border-radius:.6rem;padding:.6rem .9rem}.quest-step-review{font-style:italic}.saga-capstone{border-top:1px solid #e2e8f0;margin-top:.75rem;padding-top:.75rem}.learner-home{gap:1.25rem;display:grid}.learner-home .quest-panel{gap:.75rem;margin:0;display:grid}.learner-home .quest-panel h2{margin:0}.home-hero{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:14px;justify-items:start;gap:.5rem;padding:1.25rem 1.5rem;display:grid}.home-hero h2{margin:0;font-size:1.5rem}.home-hero-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:#c7d2fe;margin:0;font-size:.82rem;font-weight:700}.home-hero-next{color:#e0e7ff;margin:0}.home-hero-progress{color:#e0e7ff;white-space:nowrap;align-items:center;gap:.6rem;width:100%;max-width:24rem;margin:0;font-size:.9rem;display:flex}.home-hero-button{color:#3730a3;font:inherit;cursor:pointer;background:#fff;border:none;border-radius:999px;margin-top:.35rem;padding:.6rem 1.4rem;font-weight:700}.home-hero-button:hover{background:#eef2ff}.meter{background:#64748b40;border-radius:999px;flex:1;min-width:3.5rem;height:.5rem;display:inline-block;overflow:hidden}.meter-fill{background:#4f46e5;border-radius:999px;height:100%;display:block}.home-hero .meter{background:#ffffff4d}.home-hero .meter-fill{background:#fff}.saga-doors{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem;display:grid}.saga-door{font:inherit;text-align:left;cursor:pointer;background:#fafbfc;border:1px solid #d5dbe5;border-radius:12px;align-content:start;justify-items:start;gap:.4rem;padding:1rem 1.1rem;display:grid}.saga-door:hover{background:#f8faff;border-color:#818cf8}.saga-door-name{font-size:1.05rem;font-weight:700}.saga-door-blurb{color:#4b5563;font-size:.9rem}.saga-door-progress{color:#475569;align-items:center;gap:.6rem;width:100%;font-size:.85rem;display:flex}.saga-door-count{color:#64748b;white-space:nowrap}.saga-page{justify-items:start;gap:.75rem;display:grid}.saga-page h2{margin:0}.saga-page-blurb{color:#4b5563;margin:0}.saga-page-progress{color:#475569;align-items:center;gap:.6rem;width:100%;max-width:28rem;margin:0;font-size:.9rem;display:flex}.saga-page-count{color:#64748b;white-space:nowrap}.saga-page .quest-shelf-list,.saga-page .saga-capstone{width:100%}.quest-open{grid-template-columns:1fr auto;align-items:center;gap:.2rem 1rem;display:grid}.quest-open-name{font-weight:600}.quest-open-meter{grid-column:1;align-items:center;gap:.6rem;min-width:0;display:flex}.quest-open-progress{font-size:.85rem}.quest-open-status{color:#3730a3;white-space:nowrap;background:#eef2ff;border-radius:999px;grid-area:1/2/span 2;padding:.25rem .8rem;font-size:.85rem;font-weight:600}.quest-open-status.is-done{color:#166534;background:#dcfce7}.quest-shelf-list li+li{margin-top:.5rem}.home-doors{gap:.75rem;display:grid}.home-doors h2{margin:0}.home-door-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem;display:grid}.home-door{font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d5dbe5;border-radius:12px;justify-items:start;gap:.25rem;padding:1rem 1.1rem;display:grid}.home-door:hover{background:#f8faff;border-color:#818cf8}.home-door-icon{font-size:1.5rem}.home-door-name{font-weight:700}.home-door-hint{color:#4b5563;font-size:.88rem}.home-door-progress{color:#3730a3;background:#eef2ff;border-radius:999px;margin-top:.2rem;padding:.15rem .6rem;font-size:.8rem;font-weight:600}.home-hint{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;align-items:center;gap:.75rem;padding:.6rem .9rem;display:flex}.home-hint-text{flex:1}.home-hint-open{color:#92400e;font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #f59e0b;border-radius:999px;padding:.3rem .8rem;font-size:.85rem;font-weight:600}.home-hint-open:hover{background:#fef3c7}.home-hint-dismiss{color:#b45309;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.15rem .45rem}.home-hint-dismiss:hover{background:#fef3c7}.my-page,.practice-picker{justify-items:start;gap:1rem;display:grid}.my-page h2{margin:0}.my-page .goals-panel,.my-page .side-notes-panel,.practice-picker .practice-room-header,.practice-picker .spiral-card,.practice-picker .skill-area,.practice-picker .free-review-panel{width:100%}
