.auth-panel{width:100%;max-width:560px;margin:32px auto;padding:clamp(24px,4vw,40px);border-top:5px solid var(--green-dark)}.auth-heading{display:flex;align-items:center;gap:16px;margin-bottom:28px}.auth-heading h1{min-width:0;margin:0;font-size:clamp(1.7rem,4vw,2.2rem);line-height:1.2;overflow-wrap:anywhere}.auth-panel>.auth-message,.auth-panel>[role=alert]{margin-block:0 20px}.auth-form{display:grid;gap:20px}.auth-form>label{display:grid;gap:8px;font-weight:700}.auth-form input:not([type=checkbox]){width:100%}.auth-password-help{color:var(--muted);font-size:var(--text-s);font-weight:400;line-height:1.6}.auth-form>.auth-consent{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:14px;border-radius:var(--radius-s);background:var(--green-wash);font-size:var(--text-s);font-weight:400;cursor:pointer}.auth-consent input{margin-top:3px}.auth-form>.button,.auth-footer>.button{width:100%;min-height:48px;white-space:normal}.auth-message{margin:0;padding:14px;border:1px solid var(--border-control);border-inline-start:4px solid var(--info);border-radius:var(--radius-s);background:var(--surface);overflow-wrap:anywhere}.auth-footer{display:grid;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line);text-align:center}.auth-footer p{margin:4px 0 0}.auth-footer a{display:inline-flex;align-items:center;min-height:44px}.account-signout{display:grid;gap:8px;max-width:240px;min-width:0}.account-signout>button{min-height:44px;white-space:normal}.account-signout>[role=alert]{font-size:var(--text-s);overflow-wrap:anywhere}@media (max-width: 600px){.auth-panel{margin-block:16px;padding:24px 20px}.auth-heading{gap:12px}.auth-heading>.kazu{width:60px;height:60px}}.abacus-widget{width:100%;margin:16px auto 0;padding:16px;background:var(--surface);border:2px solid var(--cream);border-radius:var(--radius-l);box-shadow:var(--shadow)}.abacus-widget-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.abacus-widget-head>div:first-child{display:grid;gap:2px}.abacus-widget-head b{font-size:var(--text-m);color:var(--navy)}.abacus-widget-head span{color:var(--muted);font-size:var(--text-s)}.abacus-tools{display:flex;gap:8px}.abacus-tool{min-height:var(--tap);min-width:var(--tap);padding:0 16px;border:2px solid var(--cream);border-radius:999px;background:var(--surface);color:var(--navy);font-weight:700;font-size:var(--text-s);cursor:pointer}.abacus-tool:hover{border-color:var(--green)}.abacus-tool[aria-pressed=false]{opacity:.75}.abacus-use{background:var(--green);border-color:var(--green);color:#fff}.abacus-use:hover{background:var(--green-dark);border-color:var(--green-dark)}.abacus-scroll{margin-top:12px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:4px}.abacus-svg{display:block;width:100%;min-width:calc(var(--rods, 5) * 52px);max-width:calc(var(--rods, 5) * 96px + 40px);margin-inline:auto;height:auto;filter:drop-shadow(0 6px 10px rgba(92,50,29,.25));-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.abacus-digit{font:800 26px var(--font);fill:var(--brown)}.abacus-place{font:700 10.5px var(--font);fill:var(--wood-light);letter-spacing:.04em}.abacus-bead{transition:transform .2s cubic-bezier(.3,1.5,.55,1);touch-action:manipulation}.abacus-svg.is-interactive .abacus-bead{cursor:pointer}.abacus-svg.is-interactive .abacus-bead:hover path:first-of-type{stroke:var(--orange-dark)}.abacus-bead.is-active path:first-of-type{filter:drop-shadow(0 0 3px rgba(245,178,93,.9))}.abacus-rod-group{outline:none}.abacus-focus{fill:none;stroke:transparent;stroke-width:3;pointer-events:none}.abacus-rod-group:focus-visible .abacus-focus{stroke:var(--green);fill:#34bf491a}.abacus-readout{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:12px;color:var(--muted);font-size:var(--text-s)}.abacus-readout b{min-width:3ch;text-align:center;color:var(--brown);font-size:var(--text-xl);font-weight:800;font-variant-numeric:tabular-nums}.abacus-hint{margin:8px 0 0;text-align:center;color:var(--muted);font-size:var(--text-xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.digital-soroban{display:grid;justify-items:start;gap:8px;margin-block:16px}.digital-soroban-toggle{min-height:var(--tap)}.digital-soroban-panel{justify-self:stretch}.digital-soroban-panel .abacus-widget{margin-top:0;box-shadow:none}.digital-soroban-panel .abacus-svg{max-width:min(100%,640px)}.digital-soroban[data-track=mental] .abacus-bead{transition:none;pointer-events:none}.digital-soroban-dock{position:sticky;inset-block-end:0;z-index:2;justify-items:end;margin-block:16px 0;padding-block:8px;background:var(--surface);border-top:1px solid var(--cream)}.digital-soroban-dock .digital-soroban-panel{overflow:visible}.digital-soroban-dock .abacus-widget-head>div:first-child,.digital-soroban-dock .abacus-hint{display:none}.digital-soroban-dock .abacus-tools{margin-inline-start:auto}.digital-soroban-dock .abacus-svg{width:auto;height:245px;min-width:0;max-width:none}.digital-soroban-dock .abacus-readout{margin-top:4px}@media (max-width: 560px){.digital-soroban-dock{padding-block:4px}.digital-soroban-dock .abacus-widget{padding:4px 8px}.digital-soroban-dock .abacus-svg{height:220px}.digital-soroban-dock .abacus-scroll{margin-top:2px}.digital-soroban-dock .abacus-readout{font-size:.75rem}}@media (max-height: 500px){.digital-soroban-dock{position:static}}.runner-fullscreen{grid-template-rows:minmax(0,1fr) auto;overflow-y:auto}.runner-fullscreen .digital-soroban-dock{position:static;margin:0;padding:8px 16px;color:var(--ink)}.adventure-home{--trail-gold: #b47712}.adventure-home .panel{padding:24px;min-width:0}.adventure-home h2{color:var(--navy)}.adventure-home a{text-underline-offset:3px}.adventure-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:24px;padding:36px;border-radius:28px;background:linear-gradient(120deg,#e5f4dd,#fff4d8);border:1px solid #d5e5c7;overflow:hidden}.adventure-hero h2{font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.15;max-width:620px;margin-block:14px}.adventure-hero p{max-width:620px;line-height:1.7;margin-bottom:24px}.adventure-ribbon{font-size:.8rem;font-weight:900;color:#355a27;text-transform:uppercase;letter-spacing:.08em}.adventure-hero-art{position:relative;display:grid;place-items:center;min-height:220px;border-radius:50%;background:#fff9}.adventure-orbit{position:absolute;inset-block-start:4px;inset-inline-start:14px;font-size:40px;color:var(--trail-gold)}.adventure-trophy{position:absolute;inset-block-end:0;inset-inline-end:0;font-size:64px;transform:rotate(12deg)}.adventure-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block:24px 12px}.adventure-stats article{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center;padding-inline-end:56px}.adventure-stats .help-tip{position:absolute;inset-block-start:12px;inset-inline-end:12px}.adventure-stats article>span{grid-row:span 2;font-size:30px}.adventure-stats strong{font-size:1.7rem;color:var(--navy)}.adventure-stats p{margin:0;color:var(--muted);font-size:.85rem}.adventure-note{font-size:.82rem;color:var(--muted);line-height:1.6}.adventure-map{margin-block:24px;background:linear-gradient(#fff,#f8fbf2)}.adventure-finish{font-size:48px}.adventure-tracks{display:flex;flex-wrap:wrap;gap:12px;margin-block:18px}.adventure-progress{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-weight:800;color:var(--navy)}.adventure-progress progress{accent-color:var(--green-dark);width:min(100%,300px);height:14px}.adventure-trail{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 12px;padding:32px 0;margin:0}.adventure-trail li{position:relative;min-width:0}.adventure-trail li:nth-child(2n){margin-top:20px}.adventure-trail li:before{content:"";position:absolute;inset-block-start:40px;inset-inline:-10px;height:6px;background:#dce6d0}.adventure-trail a{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:12px 4px;border:2px solid transparent;border-radius:20px;text-decoration:none;color:var(--navy);background:#f8fbf2;height:100%}.trail-medal{display:grid;place-items:center;font-size:32px;width:68px;height:68px;border:3px solid #d5dec8;background:#fff;border-radius:50%;box-shadow:0 5px #e7ecdf}.adventure-trail strong{font-size:.9rem}.adventure-trail small{color:var(--muted)}.trail-status{font-size:.72rem;font-weight:800}.trail-reached .trail-medal{border-color:#b88120;background:#fff0be}.trail-current a{border-color:var(--green-dark);background:#eaf5e2;box-shadow:0 0 0 4px #eaf5e2}.trail-current .trail-status{color:#286322}.adventure-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;margin-block:24px;align-items:start}.badge-shelf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.collection-badge{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;color:var(--navy);border:1px dashed #b5c3a9;border-radius:16px;text-decoration:none;background:#f6f7f3}.collection-badge>span{font-size:28px;filter:grayscale(1);opacity:.6}.collection-badge b{color:#526647}.collection-badge small{font-size:.7rem}.collection-badge strong{font-size:.72rem;text-align:center;overflow-wrap:anywhere}.badge-earned{border:2px solid #b88120;background:#fff3cf}.badge-earned>span{filter:none;opacity:1}.effort-badges{display:grid;gap:12px}.effort-badges article{display:flex;align-items:center;gap:16px;padding:14px;border:1px dashed #bccab3;border-radius:16px}.effort-badges article>span{font-size:32px}.effort-badges p{font-size:.82rem;margin-block:4px}.effort-badges .effort-earned{background:#eff8e6;border-style:solid}.competition-panel{padding:24px;margin-block:24px}.competition-panel select{max-width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit}.competition-control{margin-block:16px}.competition-table{border-collapse:collapse;width:100%;margin-top:20px}.competition-table th,.competition-table td{text-align:start;padding:14px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.competition-me{background:#eff8e6}.adventure-home a:focus-visible,.adventure-home button:focus-visible{outline:3px solid var(--navy);outline-offset:4px}@media (max-width: 900px){.adventure-columns{grid-template-columns:1fr}.adventure-hero{grid-template-columns:minmax(0,1fr) 160px;padding:24px}.adventure-hero-art{min-height:160px}.adventure-hero-art .kazu{width:140px;height:140px}.adventure-trail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.adventure-hero{grid-template-columns:1fr;gap:12px;padding:20px}.adventure-hero-art{grid-row:1;width:150px;justify-self:center;min-height:140px}.adventure-trophy{font-size:42px}.adventure-stats{grid-template-columns:1fr;gap:10px}.adventure-home .panel{padding:16px}.adventure-trail{gap:12px 8px}.adventure-trail li:nth-child(2n){margin-top:0}.badge-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}}.guest-shell{min-height:100dvh}.guest-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:16px var(--space-page);background:var(--surface);border-bottom:1px solid var(--line)}.guest-header>.brand{grid-column:1;grid-row:1;margin:0;min-height:44px}.guest-language{grid-column:3;grid-row:1;padding-inline-start:20px;border-inline-start:1px solid var(--line)}.guest-navigation{grid-column:2;grid-row:1;justify-self:end;display:flex;flex-wrap:wrap;align-items:center;justify-content:end;gap:12px}.guest-navigation>a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:var(--text-s);text-decoration:none}.guest-navigation .guest-try{color:var(--green-dark);font-weight:700;padding:10px 12px;border-radius:12px}.guest-navigation .guest-try:hover,.guest-navigation .guest-try[aria-current=page]{background:var(--green-wash)}.guest-navigation>a[aria-current=page]{outline:2px solid var(--green-dark);outline-offset:3px}.guest-header a{overflow-wrap:anywhere}.guest-main{max-width:1150px;margin:auto;padding:var(--space-page)}.guest-welcome,.guest-samples{display:grid;gap:24px}.guest-hero{display:flex;align-items:center;gap:32px;padding-block:36px}.guest-hero h1{font-size:clamp(2rem,5vw,3rem);max-width:700px}.guest-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.guest-sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.guest-samples>.button{justify-self:start}@media (max-width: 900px){.guest-header{grid-template-columns:minmax(0,1fr) auto;gap:12px}.guest-language{grid-column:2;padding:0;border:0}.guest-navigation{grid-column:1 / -1;grid-row:2;width:100%;justify-content:stretch;padding-block-start:12px;border-top:1px solid var(--line)}.guest-navigation>a{flex:1 1 0;min-width:0;padding-inline:10px;white-space:normal}}@media (max-width: 650px){.guest-hero{flex-direction:column-reverse;align-items:start;padding-block:8px}.guest-hero>svg{max-height:120px}.guest-benefits,.guest-sample-grid{grid-template-columns:minmax(0,1fr)}.guest-header{padding:12px 16px}.guest-header .brand{gap:6px}.guest-header .brand-name{font-size:1rem}.guest-header .brand>svg{width:32px;height:40px}.guest-navigation{gap:8px}.guest-navigation>a{font-size:.8rem}}.learner-progress{display:grid;gap:20px;min-width:0}.learner-progress .page-heading,.progress-section-heading,.progress-profile{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.progress-profile{background:linear-gradient(120deg,var(--green-wash),var(--surface));border:1px solid var(--line);border-radius:20px;padding:24px}.progress-profile>div{flex:1 1 240px;min-width:0}.progress-profile .kazu-says{flex:1 1 280px;margin:0}.progress-profile h2{margin-block:8px;overflow-wrap:anywhere}.progress-nav{display:flex;flex-wrap:wrap;gap:10px}.progress-nav a{padding:10px 16px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--navy);text-decoration:none;font-weight:700;font-size:var(--text-s)}.progress-nav a:hover,.progress-nav a:focus-visible{background:var(--green-wash);border-color:var(--green-dark)}.learner-progress [id^=progress-]{scroll-margin-block-start:24px}.progress-grade-card{background:linear-gradient(var(--surface),var(--green-wash))}.progress-grade-card h2,.progress-section-heading h2{margin:0}.progress-current-grade{font-size:1.5rem;color:var(--green-dark);margin-block:16px 4px}.progress-section-heading p{color:var(--muted);font-size:var(--text-s);margin-block:6px 0}.progress-period{flex-wrap:wrap;font-size:var(--text-s)}.progress-help{border-block:1px solid var(--line);margin-block:12px;color:var(--muted);font-size:var(--text-s)}.progress-help p{line-height:1.7;max-width:75ch}.progress-disclosure>summary{font-size:var(--text-l);font-weight:800;color:var(--navy)}.progress-disclosure>summary span{font-size:var(--text-s);background:var(--green-wash);padding:4px 10px;border-radius:16px;margin-inline-start:12px}.learner-progress>h2{margin:0}.progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.learner-progress .panel,.progress-chart,.progress-quiz{min-width:0;overflow-wrap:anywhere}.progress-notice{color:var(--muted);margin:0}.progress-ladder{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;gap:8px;list-style:none}.progress-ladder li{color:var(--muted);border:1px solid var(--line);border-radius:12px;padding:8px;text-align:center}.progress-ladder li.earned{color:var(--green-dark);background:var(--green-wash);border-color:var(--green-dark);font-weight:800}.progress-ladder svg{width:100%;max-height:100px}.progress-lessons progress{width:min(70%,400px);margin-inline-end:16px}.progress-period{display:flex;align-items:center;gap:12px}.progress-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.progress-stats .panel{display:grid;gap:12px}.progress-stats strong{font-size:var(--text-l);color:var(--navy)}.progress-filters{display:grid;grid-template-columns:1fr 3fr;gap:16px;margin-block:16px}.progress-filters label{display:grid;gap:8px;min-width:0}.progress-filters select{width:100%;min-width:0}.progress-chart{margin:16px 0}.progress-chart figcaption{font-weight:800}.progress-chart svg{width:100%;height:auto;overflow:visible}.progress-chart text{font-size:11px;fill:var(--muted)}.chart-grid{stroke:var(--line);stroke-width:1}.chart-line{stroke:var(--info);stroke-width:3;fill:none}.chart-target{stroke:var(--green-dark);stroke-width:1.5;stroke-dasharray:6 4}.progress-chart circle{fill:var(--info)}.learner-progress summary{cursor:pointer;padding-block:10px}.learner-progress .table-scroll{overflow-x:auto}.learner-progress th,.learner-progress td{padding:8px;text-align:start}.progress-answer-bars,.progress-skills,.progress-weekly{list-style:none;padding:0;display:grid;gap:12px}.progress-answer-bars li{display:grid;grid-template-columns:100px 1fr;gap:8px;align-items:center}.progress-answer-bars small{grid-column:1 / -1}.answer-bar{display:flex;background:var(--line);border-radius:6px;height:18px;overflow:hidden}.answer-part-0{background:var(--green-dark)}.answer-part-1{background:#b94a48}.answer-part-2{background:#a6aebc}.answer-legend{display:flex;flex-wrap:wrap;gap:16px}.answer-legend span:before{content:"";display:inline-block;width:12px;height:12px;margin-inline-end:6px}.legend-correct:before{background:var(--green-dark)}.legend-incorrect:before{background:#b94a48}.legend-unanswered:before{background:#a6aebc}.progress-skills li{display:grid;grid-template-columns:1fr 2fr auto;gap:12px;align-items:center}.progress-skills meter{width:100%}.progress-skills small{grid-column:1 / -1}.progress-calendar{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:6px;max-width:600px}.progress-calendar>span{aspect-ratio:1;border-radius:4px;background:var(--line)}.progress-calendar .active-day{background:var(--green-dark)}.progress-weekly li{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.progress-weekly li>span{display:block;height:12px;background:var(--info)}.progress-homework{display:grid;gap:16px}.progress-homework article,.progress-quiz{border:1px solid var(--line);border-radius:12px;padding:16px}.progress-homework h3{margin-block:8px}.progress-events{padding-inline-start:24px}.progress-events li{padding:12px;border-bottom:1px solid var(--line)}.progress-events time,.progress-events strong,.progress-events li>span{display:block;margin-block-end:4px}@media (max-width: 760px){.progress-grid,.progress-filters{grid-template-columns:minmax(0,1fr)}.progress-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-skills li{grid-template-columns:1fr auto}.progress-skills meter{grid-column:1 / -1}.progress-calendar{grid-template-columns:repeat(10,minmax(0,1fr))}}.assignment-recipients{min-width:0;border:1px solid var(--border-control);border-radius:var(--radius-s);padding:12px 16px}.assignment-recipients legend{padding-inline:6px;font-weight:700}.assignment-form .assignment-recipients label{display:flex;align-items:center;gap:12px;min-height:44px;overflow-wrap:anywhere;cursor:pointer}.assignment-form .assignment-recipients input{width:20px;height:20px;padding:0;flex-shrink:0}.assignment-fields{border:0;padding:0;margin:0;min-width:0}.assignment-fields>.assignment-form-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr);margin-bottom:16px}.assignment-fields>p{font-size:var(--text-s);color:var(--muted)}.assignment-student-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:4px 16px;margin-top:12px;max-height:320px;overflow-y:auto}.assignment-student-picker p{grid-column:1 / -1;margin:4px 0}.assignment-form fieldset:disabled label{cursor:default}.assignment-row small{overflow-wrap:anywhere}.teacher-assignment-list{display:grid;gap:12px;margin-top:24px}.teacher-assignment-list .assignment-row{padding:20px 0;gap:16px}.teacher-assignment-list .assignment-row>div{min-width:0}.teacher-assignment-list .assignment-row>.assignment-delete{flex:0 1 200px;display:grid;gap:8px}.assignment-delete>button{min-height:44px}.assignment-delete>p{margin:0;font-size:var(--text-s);overflow-wrap:anywhere}.teacher-tabs{margin-block:24px}@media (max-width: 760px){.assignment-fields>.assignment-form-row{grid-template-columns:1fr}}.family-shell{max-width:1280px;margin:0 auto;padding:20px}.family-header,.family-actions,.family-child-banner{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.family-header{justify-content:space-between;padding-bottom:24px}.family-shell main{display:grid;gap:24px}.family-shell .panel{min-width:0;overflow-wrap:anywhere}.family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}.family-child-card{display:flex;flex-direction:column;gap:12px}.family-child-card h2,.family-child-card p{margin:0;overflow-wrap:anywhere}.family-child-card .family-actions{margin-top:auto}.family-child-banner{padding:12px 24px;background:var(--color-lilac-light, #f1edfc);justify-content:space-between}.family-child-banner>span{min-width:0;flex:1 1 200px;overflow-wrap:anywhere}.family-invitation summary{cursor:pointer;font-weight:800;padding:8px 0}.family-invite-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));align-items:end;gap:16px}.family-invite-form label,.family-secret{display:grid;gap:8px}.family-invite-form input,.family-secret input,.family-shell input,.family-shell select,.family-shell textarea{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d5d0e5;border-radius:10px;font:inherit;background:#fff;color:#242135}.family-secret{margin-top:20px}.family-invite-list{list-style:none;margin:20px 0 0;padding:0}.family-invite-list li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 0;border-top:1px solid #e8e4ef}.family-invite-list li>div{display:grid;gap:5px;overflow-wrap:anywhere}.family-account-id{display:block;font-size:.75rem;overflow-wrap:anywhere}.family-report{min-width:0}.family-role-form{border-top:1px solid #e8e4ef;margin-top:24px;padding-top:16px}.workspace-nav{display:flex;flex-wrap:wrap;gap:8px;padding:16px 24px;margin-block-end:24px;border-block:1px solid var(--line);background:#fff}.family-shell>.workspace-nav{border:1px solid var(--line);border-radius:16px;padding:12px}.workspace-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 16px;border-radius:10px;color:var(--navy);font-weight:800;text-decoration:none}.workspace-link:hover,.workspace-link.active{background:#e7f2df;color:#245c24}.workspace-link:focus-visible,.workspace-card:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.workspace-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}.workspace-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:var(--navy);text-decoration:none;border:2px solid var(--line)}.workspace-card h2,.workspace-card p{margin:0}.workspace-card p{color:var(--muted);line-height:1.6}.workspace-card-primary{background:#f0f7eb;border-color:#668f52}.workspace-card-icon{font-size:2rem}.workspace-card-action{margin-block-start:auto;padding-block-start:12px;font-weight:800}.adventure-collection{margin-block-start:20px}@media (max-width: 600px){.family-shell{padding:16px}.family-header{gap:20px}.family-child-banner{padding:12px 16px}.workspace-nav{padding:12px 16px;gap:4px}.workspace-link{padding:10px 12px;flex:1 1 160px}}.jsf-track-picker,.jsf-grade-picker,.jsf-drills,.jsf-guide-list{display:flex;flex-wrap:wrap;gap:10px;margin-block:18px}.jsf-grade-picker .rod-choice{padding-inline:16px}.jsf-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-block:24px}.jsf-metrics strong{font-size:1.8rem;color:var(--navy)}.jsf-metrics h3{margin-top:0}.jsf-metrics p{color:var(--muted);font-size:var(--text-xs)}.jsf-plan,.jsf-history,.jsf-supplement{margin-block:24px;padding:24px}.jsf-plan h3{margin-top:28px;color:var(--navy)}.jsf-guide-list .button{text-align:start}.jsf-history table{border-collapse:collapse;width:100%}.jsf-history th,.jsf-history td{text-align:start;padding:12px;border-bottom:1px solid var(--line)}.table-scroll{overflow-x:auto}.jsf-supplement .button{display:inline-flex;align-items:center;margin-inline-end:10px;text-decoration:none}.jsf-paper-dialog{width:min(1200px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0 24px 24px;border:0;border-radius:16px;color:var(--ink);background:#fff}.jsf-paper-dialog::backdrop{background:#2d465ea6}.paper-toolbar{position:sticky;inset-block-start:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;background:#fff;border-bottom:2px solid var(--navy);padding-block:16px;z-index:1}.paper-toolbar h2{font-size:1.1rem;margin:0}.exam-clock{font:800 1.1rem var(--font);font-variant-numeric:tabular-nums;color:var(--navy)}.paper-section{margin:24px 0;padding:12px;border:1px solid #444;min-inline-size:0}.paper-section legend{font-weight:800;padding-inline:8px}.paper-mitori-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:0}.paper-wide-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.paper-arithmetic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:0}.paper-question{display:flex;flex-direction:column;padding:10px;border:1px solid #777;gap:8px;font-size:1rem;color:#111}.paper-number{color:#333;font-size:.85rem}.paper-column{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap;font-family:ui-monospace,monospace;line-height:1.7;font-variant-numeric:tabular-nums;direction:ltr}.paper-question input{margin-top:auto;width:100%;min-height:44px;border:1px solid #555;padding:8px;border-radius:3px;background:#fff;color:#111;font-size:1rem;text-align:end}.paper-question input:invalid{outline:2px solid var(--bad)}.paper-expression{font-family:ui-monospace,monospace;direction:ltr;overflow-wrap:anywhere}.jsf-result{padding-block:24px}.paper-instructions{padding-block:24px;line-height:1.7}.presentation-settings{margin-block:18px}.presentation-settings select{font:inherit;padding:10px;border:1px solid #777;border-radius:8px}.item-playback,.presented-question{padding:20px;text-align:center}.playback-value{font-size:clamp(1.5rem,5vw,3rem);min-height:100px;display:grid;place-items:center;overflow-wrap:anywhere;direction:ltr;font-variant-numeric:tabular-nums}.presented-question input{display:block;margin:16px auto;padding:12px;max-width:100%;font:inherit;border:1px solid #555}.free-paper-question{max-width:450px;margin:20px auto;padding:24px;border:1px solid #777;background:#fff;font-size:1.4rem}@media (max-width: 600px){.jsf-metrics{grid-template-columns:1fr}.jsf-paper-dialog{padding-inline:12px}.jsf-plan,.jsf-history,.jsf-supplement{padding:16px}}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font: "Nunito Variable", "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--green: #34bf49;--green-dark: #1f7d34;--green-light: #7ed957;--green-wash: #e9f8e6;--navy: #2d465e;--navy-soft: #4b6580;--orange: #f5b25d;--orange-dark: #9c640a;--orange-wash: #fdf0dc;--brown: #5c321d;--cream: #efe7dd;--paper: #fbf8f2;--surface: #ffffff;--ok: #1f7d34;--ok-wash: #e4f6e6;--bad: #c2410c;--bad-wash: #fde8dc;--info: #2563a8;--info-wash: #e3eefa;--ink: #2a2f36;--muted: #5f6b78;--line: #e6dfd3;--radius-s: 10px;--radius: 16px;--radius-l: 24px;--shadow: 0 2px 0 rgba(92, 50, 29, .08), 0 8px 24px rgba(45, 70, 94, .08);--shadow-press: 0 1px 0 rgba(92, 50, 29, .12);--text-xs: .8125rem;--text-s: .9375rem;--text-m: 1rem;--text-l: 1.25rem;--text-xl: 1.75rem;--text-xxl: 2.25rem;--tap: 44px;--sidebar: 260px;--border-control: #9ba8b2;--focus: #2563a8;--space-page: clamp(16px, 3vw, 40px);--wood-dark: #5c321d;--wood: #8a5430;--wood-light: #b57a45;--bead: #f5b25d;--bead-edge: #9c640a;--bead-idle: #efe7dd;font-family:var(--font);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.5}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.kazu{display:block;flex:none;overflow:visible}.kazu-body,.kazu-pencil,.kazu-eye{transform-box:fill-box}@media (prefers-reduced-motion: reduce){.kazu *,.kazu{animation:none!important}}.kazu-bg{transform-origin:50% 50%}.kazu-body{transform-origin:50% 100%}.kazu-pencil{transform-origin:20% 90%}.kazu-eye{transform-origin:50% 50%;animation:kazu-blink 5.5s infinite}.kazu[data-mood=idle] .kazu-body{animation:kazu-breathe 3.6s ease-in-out infinite}.kazu[data-mood=write] .kazu-pencil{animation:kazu-write .9s ease-in-out infinite}.kazu[data-mood=write] .kazu-body{animation:kazu-breathe 2.4s ease-in-out infinite}.kazu[data-mood=cheer] .kazu-body{animation:kazu-jump .7s ease-in-out 3}.kazu[data-mood=cheer] .kazu-pencil{animation:kazu-wave .7s ease-in-out 3}.kazu[data-mood=think] .kazu-body{animation:kazu-tilt 2.8s ease-in-out infinite}.kazu[data-mood=think] .kazu-pencil{animation:kazu-wave 2.8s ease-in-out infinite}.kazu[data-mood=oops] .kazu-body{animation:kazu-droop 1.2s ease-out forwards}.kazu[data-mood=sleep] .kazu-eye{animation:none;transform:scaleY(.12)}.kazu[data-mood=sleep] .kazu-body{animation:kazu-breathe 5s ease-in-out infinite}@keyframes kazu-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes kazu-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.012)}}@keyframes kazu-jump{0%,to{transform:translateY(0)}40%{transform:translateY(-14px) rotate(-2deg)}}@keyframes kazu-wave{0%,to{transform:rotate(0)}50%{transform:rotate(-8deg)}}@keyframes kazu-write{0%,to{transform:rotate(0)}50%{transform:rotate(-3deg) translateY(2px)}}@keyframes kazu-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(3deg)}}@keyframes kazu-droop{to{transform:translateY(4px) rotate(-2deg)}}.kazu-says{display:flex;align-items:flex-end;gap:12px}.kazu-says.reverse{flex-direction:row-reverse}.kazu-bubble{position:relative;max-width:46ch;padding:12px 16px;background:var(--surface);border:2px solid var(--cream);border-radius:var(--radius) var(--radius) var(--radius) 4px;font-size:var(--text-s);color:var(--navy);box-shadow:var(--shadow)}.kazu-says.reverse .kazu-bubble{border-radius:var(--radius) var(--radius) 4px var(--radius)}.kazu-bubble :first-child{margin-top:0}.kazu-bubble :last-child{margin-bottom:0}[dir=rtl] .kazu-bubble{border-radius:var(--radius) var(--radius) 4px var(--radius)}:root{font-family:var(--font);color:#2a2f36;background:#fbf8f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--purple: #34bf49;--purple-dark: #23903a}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #7ed957;outline-offset:2px}.app-shell{min-height:100vh}.sidebar{width:248px;position:fixed;inset-block:0;inset-inline-start:0;background:#fff;border-inline-end:1px solid #eeeeF4;display:flex;flex-direction:column;padding:28px 17px 16px;z-index:4}.brand{display:flex;align-items:center;gap:11px;padding:0 12px;text-decoration:none;color:var(--ink);margin-bottom:53px}.brand-mark{width:31px;height:31px;border-radius:10px;background:#34bf49;display:grid;grid-template-columns:repeat(2,1fr);place-items:center;padding:6px;transform:rotate(-7deg)}.brand-mark span{width:7px;height:7px;border-radius:50%;background:#fff}.brand-name{font:800 20px var(--font);letter-spacing:-1px}.brand-name span{color:var(--purple)}.side-label,.panel-kicker{color:#5f6b78;font-weight:700;font-size:13px;letter-spacing:1.35px}.side-label{padding:0 13px;margin-bottom:13px}.primary-nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;text-decoration:none;text-align:start;padding:12px 13px;color:#4b6580;border-radius:10px;display:flex;align-items:center;gap:13px;font-weight:600;font-size:13px;position:relative;transition:.2s}.nav-item:hover{color:var(--purple);background:#f1faee}.nav-item.active{background:#e9f8e6;color:#23903a}.nav-icon{width:19px;text-align:center;font-size:19px;line-height:18px}.nav-dot{margin-inline-start:auto;width:7px;height:7px;border-radius:50%;background:#ee9a74}.sidebar-spacer{flex:1}.journey-mini{margin:0 4px 18px;padding:16px 15px 15px;background:#f1faee;border:1px solid #d9efd4;border-radius:13px}.mini-top{color:#5f6b78;font-size:13px;letter-spacing:1px;display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:700}.mini-top span{font-size:17px}.journey-mini strong{font:700 14px/1.5 var(--font);display:block}.mini-progress,.progress-track{height:6px;border-radius:99px;background:#e6dfd3;overflow:hidden}.mini-progress{margin:13px 0 8px}.mini-progress span,.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#34bf49,#7ed957);transition:width .35s}.journey-mini small{font-size:13px;color:#5f6b78}.sidebar-bottom{border-top:1px solid #f0f0f5;padding-top:12px}.settings-button{width:100%;margin-bottom:10px}.profile-card{border:0;border-top:1px solid #f0f0f5;padding:15px 6px 0;background:transparent;display:flex;width:100%;align-items:center;gap:10px;text-align:start}.avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:50%;font-size:13px;font-weight:700;color:#23903a}.avatar-purple{background:#e9f8e6;color:#23903a}.avatar-coral{background:#ffe1d8;color:#a85e49}.avatar-blue{background:#dcecff;color:#4675ad}.avatar-lilac{background:#ede1ff;color:#23903a}.avatar-mint{background:#dcf3e9;color:#46836a}.avatar-gold{background:#fff0cc;color:#9a6b22}.profile-text{display:grid;gap:3px;flex:1}.profile-text strong{font-size:13px}.profile-text small{font-size:13px;color:#5f6b78}.chevron{color:#999}.main-area{margin-inline-start:248px;min-height:100vh}.topbar{height:69px;background:#ffffffd1;border-bottom:1px solid #ededf3;display:flex;justify-content:space-between;align-items:center;padding:0 45px}.breadcrumbs{display:flex;gap:11px;align-items:center;color:#5f6b78;font-size:13px}.breadcrumbs b{color:#d0d0da;font-weight:400}.breadcrumbs strong{color:#51516a;font-weight:600}.topbar-actions{display:flex;align-items:center;gap:17px}.streak-pill{background:#fff8e9;border:1px solid #f6e9cd;border-radius:99px;padding:7px 11px;font-size:13px;font-weight:600;color:#876b39}.streak-pill span{font-size:13px;margin-right:3px}.icon-button{border:0;background:transparent;color:#78788d;font-size:19px;position:relative}.notification-button i{position:absolute;right:0;top:1px;width:6px;height:6px;border-radius:50%;background:#eaa27e;border:1px solid white}.top-avatar{width:31px;height:31px;font-size:13px}.page-content{max-width:1370px;margin:0 auto;padding:31px 45px 60px}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.eyebrow{color:#216d31;font-size:13px;font-weight:700;letter-spacing:1.45px;margin-bottom:9px}.sparkle{color:#7ed957;font-size:13px;margin-right:5px}h1,h2,h3,p{margin-top:0}h1{font:800 27px/1.25 var(--font);letter-spacing:-.8px;margin-bottom:7px}.subtitle{font-size:13px;color:#9292a6;margin:0}.wave{font-size:21px}.button{border:0;border-radius:8px;padding:11px 15px;font-size:13px;font-weight:700;transition:.2s;display:inline-flex;align-items:center;justify-content:center;gap:9px}.button:hover{transform:translateY(-1px);filter:brightness(.98)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button-light{color:#23903a;background:#fff;border:1px solid #ece8f8}.button-primary{background:var(--purple);color:#fff;box-shadow:0 5px 12px #34bf492b}.button-primary:hover{background:var(--purple-dark)}.button-white{background:#fff;color:#23903a}.button-outline{background:#fff;color:#23903a;border:1px solid #e6e0f6}.button-success{color:#317d5e;background:#e4f6ed}.full-button{width:100%}.hero-card{min-height:250px;position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(105deg,#23903a,#7ed957 55%,#7ed957);color:#fff;padding:30px 35px;display:flex;align-items:center}.hero-content{position:relative;z-index:2}.hero-overline{font-size:13px;letter-spacing:1.5px;font-weight:700;color:#e7dfff;margin-bottom:12px}.hero-star{color:#ffdf9d;margin-right:6px;font-size:14px}.hero-content h2{font:800 29px/1.1 var(--font);letter-spacing:-.9px;margin:0 0 11px}.hero-content h2 em{color:#ffdf9d;font-style:normal}.hero-content p{font-size:13px;color:#e6defc;line-height:1.65;margin-bottom:17px}.hero-content .button{padding:10px 13px;font-size:13px}.hero-art{position:absolute;inset-inline-end:5%;top:0;bottom:0;width:48%}.sun-orb{position:absolute;width:152px;height:152px;background:#ffd886;border-radius:50%;right:25%;top:48px;opacity:.95;box-shadow:0 0 50px #ffdd9b80}.orbit{border:1px solid #ffffff45;border-radius:50%;position:absolute;right:4%;top:16px;width:335px;height:220px;transform:rotate(-26deg)}.orbit-two{width:280px;height:180px;right:13%;top:43px;transform:rotate(39deg)}.hero-beads{position:absolute;right:34%;top:82px;display:grid;grid-template-columns:repeat(2,1fr);gap:13px;font-size:20px;color:#7ed957;transform:rotate(-11deg)}.hero-number{font:800 22px var(--font);color:#23903a;position:absolute;right:37%;top:138px;transform:rotate(-8deg)}.float-card{position:absolute;display:flex;align-items:center;gap:8px;color:var(--ink);background:#fff;border-radius:10px;padding:9px 11px;box-shadow:0 9px 25px #43259126}.float-card>span{font-size:18px}.float-card div{display:grid;gap:3px}.float-card b{font-size:13px}.float-card small{color:#99a;font-size:13px}.float-badge{top:35px;right:7%}.float-grade{bottom:27px;right:27%}.hero-decoration{position:absolute;right:3%;bottom:11px;color:#ffffff52;font-size:33px}.section-heading,.journey-section-title{display:flex;justify-content:space-between;align-items:end;gap:15px}.stats-heading{margin:27px 0 13px}.section-heading h2,.journey-section-title h2{font:700 16px var(--font);margin:0 0 5px;letter-spacing:-.3px}.section-heading p,.journey-section-title p{color:#99a;font-size:13px;margin:0}.text-link{padding:6px 0;border:0;background:transparent;color:#23903a;font-size:13px;font-weight:700;white-space:nowrap}.text-link span{margin-left:4px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stat-card{background:#fff;border:1px solid #eeeff4;border-radius:12px;min-height:135px;padding:14px 15px;display:flex;flex-direction:column;align-items:flex-start}.stat-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;font-size:15px;margin-bottom:8px}.peach{background:#fff0e8;color:#b66b47}.lilac{background:#f0eafe;color:#23903a}.gold{background:#fff5db;color:#b58536}.mint{background:#e6f6ec;color:#4c8c69}.blue{background:#e9f2ff;color:#577cb6}.stat-label{color:#9292a5;font-size:13px}.stat-value{font:700 16px var(--font);margin:4px 0 3px}.stat-card small{font-size:13px;color:#aab}.dashboard-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin-top:15px}.panel{border:1px solid #eeeff4;background:#fff;border-radius:12px;padding:18px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-heading h3{font:700 14px var(--font);letter-spacing:-.25px;margin:5px 0 0}.panel-kicker{font-size:13px}.panel-emoji{font-size:21px}.lesson-strip{margin:16px 0 13px;display:flex;align-items:center;gap:12px}.lesson-thumbnail{width:65px;height:57px;border-radius:9px;background:#f1edff;position:relative;display:grid;place-items:center;overflow:hidden;color:#7ed957;font-size:22px}.lesson-info{flex:1;display:grid;gap:5px}.lesson-info strong{font-size:13px}.lesson-info small{color:#9b9bac;font-size:13px}.tag{padding:4px 6px;border-radius:4px;width:fit-content;font-size:13px;letter-spacing:.5px;font-weight:700}.tag-purple{background:#f1edff;color:#23903a}.tag-green{background:#e8f6ed;color:#4c8a65}.round-arrow{width:27px;height:27px;background:#f5f3fb;border:0;border-radius:50%;color:#23903a}.continue-panel .full-button{padding:9px;font-size:13px}.inline-success{margin:9px 0 0;color:#418166;font-size:13px}.next-panel{background:linear-gradient(145deg,#fff 75%,#fbf9ff)}.next-icon{font-size:18px;color:#c29a49}.next-grade-row{display:flex;align-items:center;gap:12px;margin:18px 0 16px}.grade-medallion{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#fff4d9;font-size:22px}.next-grade-row div{display:grid;gap:3px}.next-grade-row small{font-size:13px;letter-spacing:1px;color:#ad9a73;font-weight:700}.next-grade-row strong{font:700 13px var(--font)}.next-grade-row div span{color:#5f6b78;font-size:13px}.progress-label{display:flex;justify-content:space-between;font-size:13px;color:#8d8da0;margin-bottom:7px}.progress-label b{color:#23903a}.progress-track{background:#efedf5}.next-panel .progress-track{margin-bottom:14px}.next-panel .button{font-size:13px;padding:9px}.microcopy{text-align:center;font-size:13px;color:#aab;margin:8px 0 0}.class-heading{margin:25px 0 12px}.classmates-panel{padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:20px}.class-summary{display:flex;align-items:center;gap:10px}.class-icon{width:35px;height:35px;display:grid;place-items:center;background:#f3efff;color:#23903a;border-radius:10px;font-size:18px}.class-summary div:nth-child(2){display:grid;gap:4px}.class-summary strong{font-size:13px}.class-summary small{font-size:13px;color:#99a}.class-happy{color:#8c8c9d;font-size:13px;border-inline-start:1px solid #eee;padding-inline-start:15px}.mini-classmates{display:flex;align-items:center}.mini-classmate{position:relative;margin-left:-4px}.mini-classmate .avatar{border:2px solid white;width:30px;height:30px;font-size:13px}.mini-grade-dot{position:absolute;bottom:-4px;right:-3px;font-size:13px}.journey-welcome{margin-bottom:20px}.journey-trophy{font-size:36px;margin-right:8%}.journey-banner{background:linear-gradient(100deg,#f0ebff,#faf8ff);border:1px solid #e9e2fa;border-radius:12px;padding:18px 21px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:27px}.journey-banner>div:first-child{display:grid;gap:6px}.journey-banner b{font:700 13px var(--font)}.journey-banner span{font-size:13px;color:#4b6580}.banner-progress{width:170px;display:grid;gap:5px;flex-shrink:0}.banner-progress strong{text-align:end;font:700 13px var(--font);color:#23903a}.banner-progress small{text-align:end;font-size:13px;color:#5f6b78}.journey-section-title{margin:0 0 14px}.demo-note,.privacy-pill{padding:6px 9px;border-radius:99px;color:#4b6580;background:#f1f0f6;font-size:13px}.grade-list{display:grid;gap:8px}.grade-card{display:flex;align-items:center;gap:13px;padding:11px 14px;border:1px solid #ededf3;border-radius:10px;background:#fff;min-height:62px}.grade-achieved{background:#fcfffd;border-color:#e6f1e9}.grade-next{border-color:#d8cff5;box-shadow:0 3px 12px #7657d80e}.grade-icon{width:35px;height:35px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;font-size:16px;font-weight:700}.grade-achieved .grade-icon{background:#e6f6ed;color:#4e956a}.grade-copy{flex:1;display:grid;gap:4px}.grade-copy strong{font-size:13px}.grade-copy span{font-size:13px;color:#9d9dad}.grade-status{font-size:13px;font-weight:700;letter-spacing:.5px}.grade-status.earned{color:#4c9368}.mini-medal{font-size:17px}.grade-challenge{background:transparent;border:1px solid #e9e5f3;border-radius:6px;padding:7px 10px;color:#4b6580;font-size:13px}.grade-challenge span{color:#23903a;margin-left:5px}.grade-challenge.challenge-primary{color:#fff;background:#34bf49;border-color:#34bf49}.challenge-primary span{color:#fff}.disclaimer{color:#a0a0b0;font-size:13px;line-height:1.6;margin:15px 0 0}.practice-score{display:grid;grid-template-columns:25px auto;align-items:center;column-gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px}.practice-score span{grid-row:span 2;width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:#e7f7ee;color:#4c956d}.practice-score b{font:700 14px var(--font)}.practice-score small{color:#9898a9;font-size:13px}.practice-tabs{display:flex;gap:8px;margin:25px 0 15px;border-bottom:1px solid #e9e9f0}.practice-tabs button{border:0;background:transparent;color:#89899d;padding:0 13px 12px;font-size:13px;display:flex;gap:7px;align-items:center;border-bottom:2px solid transparent}.practice-tabs button.selected{color:#23903a;border-color:#34bf49;font-weight:700}.practice-workspace{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px}.practice-session-head{display:flex;justify-content:space-between;gap:15px}.practice-session-head h2{font:700 17px var(--font);margin:10px 0 5px}.practice-session-head p{font-size:13px;color:#9595a7;margin:0}.session-counter{color:#5f6b78;font:600 13px var(--font)}.session-counter i{color:#c5c4cf;font-style:normal;padding:0 3px}.practice-question{margin:26px auto 20px;width:min(100%,490px);min-height:146px;background:#f1faee;border:1px solid #efebfa;border-radius:13px;display:flex;align-items:center;justify-content:center;font:800 38px var(--font);color:#23903a;gap:14px}.practice-question.flash-question{background:#2a2f36;color:#fff;border:0}.speak-button{border:0;background:#eee9ff;border-radius:9px;width:40px;height:40px;font-size:19px}.reveal-button{display:block;margin:-11px auto 15px;border:0;background:transparent;color:#23903a;font-size:13px;font-weight:700}.upper-bead{margin:1px 0 3px}.lower-bead{flex-shrink:0}.answer-form{max-width:490px;margin:0 auto}.answer-form label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.answer-form>div{display:flex;gap:8px}.answer-form input{flex:1;min-width:0;border:1px solid #e6e6ef;border-radius:7px;background:#fff;padding:10px 12px;font-size:13px;color:var(--ink)}.answer-form input::placeholder{color:#b4b4c2}.answer-form .button{font-size:13px;white-space:nowrap}.feedback{max-width:490px;min-height:35px;margin:11px auto 0;padding:9px 11px;border-radius:7px;background:#f8f7fb;color:#5f6b78;font-size:13px}.feedback-good{color:#398262;background:#eff9f3}.feedback-side{float:right;color:#5f6b78}.practice-options{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 17px}.practice-options>div{display:flex;align-items:center;gap:10px}.option-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;font-size:16px}.practice-options>div>div{display:grid;gap:4px}.practice-options b{font-size:13px}.practice-options small{font-size:13px;color:#9b9bab}.class-big-icon{font-size:40px;margin-right:8%}.class-banner{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;margin-bottom:25px}.class-banner>div:nth-child(2){display:grid;gap:5px}.class-banner>div:nth-child(2) strong{font:700 13px var(--font)}.class-banner>div:nth-child(2) span{color:#9595a7;font-size:13px}.class-banner-note{margin-inline-start:auto;padding-inline-start:20px;border-inline-start:1px solid #eee;font-size:13px;color:#99a;line-height:1.6}.class-banner-note b{color:#23903a}.privacy-pill{background:#eff8f3;color:#56846a}.classmate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.classmate-card{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px}.classmate-card>div:nth-child(2){flex:1;display:grid;gap:5px}.classmate-card>div:nth-child(2) strong{font-size:13px}.classmate-card>div:nth-child(2) span{color:#99a;font-size:13px}.classmate-badges{display:flex;align-items:center;gap:4px;color:#8d7440;font-size:13px;background:#fff9e9;padding:5px 7px;border-radius:7px}.teacher-welcome{align-items:end}.teacher-tabs{display:flex;gap:20px;border-bottom:1px solid #e8e8ef;margin:22px 0 16px}.teacher-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:#9494a5;padding:0 1px 10px;font-size:13px}.teacher-tabs button.active{color:#23903a;border-color:#34bf49;font-weight:700}.teacher-stats{margin-bottom:15px}.teacher-panel{padding:18px 0 0}.teacher-panel .panel-heading{padding:0 18px 14px}.table-wrap{overflow-x:auto}.student-table{width:100%;border-collapse:collapse;min-width:740px}.student-table th{background:#fafafd;color:#a1a1b0;font-size:13px;letter-spacing:.7px;text-align:start;padding:10px 13px;font-weight:700}.student-table td{border-top:1px solid #f0f0f4;padding:10px 13px;font-size:13px;white-space:nowrap}.student-table td:first-child{display:flex;align-items:center;gap:8px}.table-avatar{width:26px;height:26px;font-size:13px}.table-grade{color:#23903a;background:#f3f0fb;padding:5px 7px;border-radius:5px}.completion-pill{background:#eff8f3;color:#538566;border-radius:99px;padding:5px 7px;font-size:13px}.learning-note{color:#858597}.insight-panel{display:flex;align-items:center;gap:12px;margin-top:13px;background:#fffdf8;border-color:#f3eddd}.insight-emoji{font-size:23px}.insight-panel>div{flex:1}.insight-panel b{font-size:13px}.insight-panel p{margin:4px 0 0;color:#5f6b78;font-size:13px;line-height:1.5}.teacher-footer{margin-top:13px}.assignment-panel .panel-heading{margin-bottom:14px}.assignment-row{border-top:1px solid #f0f0f4;padding:13px 0;display:flex;align-items:center;gap:12px}.assignment-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f1edff;font-size:17px}.assignment-row>div{display:grid;gap:5px;flex:1}.assignment-row b{font-size:13px}.assignment-row small{color:#99a;font-size:13px}.assignment-progress{font-size:13px;color:#75758b}.success-banner{background:#edf8f1;color:#438363;padding:10px;border-radius:7px;font-size:13px;margin-bottom:10px}.settings-panel{max-width:700px}.settings-panel h3{font:700 15px var(--font)}.settings-panel>p{font-size:13px;color:#99a}.settings-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid #f0f0f4;padding:15px 0}.settings-row>div{display:grid;gap:5px}.settings-row b{font-size:13px}.settings-row span:not(.tag){font-size:13px;color:#99a}.storage-warning{background:#fff6e8;border-bottom:1px solid #f3e6cd;color:#8a6631;padding:9px 45px;font-size:13px}.offline-banner{background:#f1edff;border-bottom:1px solid var(--line);color:var(--purple-dark);padding:9px 45px;font-size:13px}.pwa-toast{position:fixed;inset-inline:16px;bottom:calc(16px + env(safe-area-inset-bottom));margin-inline:auto;width:fit-content;max-width:calc(100vw - 32px);display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-size:13px;box-shadow:0 8px 28px #29294329;z-index:20}.pwa-toast-close{background:none;border:0;color:var(--muted);padding:4px 6px}.lesson-feature{display:flex;align-items:center;gap:17px;background:linear-gradient(100deg,#fff,#f9f6ff)}.lesson-feature-icon{display:grid;place-items:center;width:55px;height:55px;border-radius:15px;background:#eee8ff;font-size:26px;flex:0 0 auto}.lesson-feature>div{flex:1}.lesson-feature h2{font:700 15px var(--font);margin:5px 0}.lesson-feature p{color:#5f6b78;font-size:13px;line-height:1.55;margin:0}.lesson-feature .button{flex:0 0 auto}.lessons-title{margin-top:25px}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.lesson-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px}.lesson-card-art{min-height:105px;padding:15px;display:flex;align-items:center;justify-content:space-between;background:#f2edff}.lesson-card-art>span{font-size:33px}.lesson-card-art small{padding:5px 7px;border-radius:5px;background:#ffffffb8;color:#23903a;font-size:13px}.lesson-art-1{background:#fff1e9}.lesson-art-2{background:#eaf6ef}.lesson-art-3{background:#edf3ff}.lesson-card-content{padding:13px 15px 14px}.lesson-meta{display:flex;justify-content:space-between;color:#7ed957;font-size:13px}.lesson-meta span:last-child{color:#9b9bab}.lesson-card h3{font:700 13px var(--font);margin:9px 0 5px}.lesson-card p{min-height:29px;color:#5f6b78;font-size:13px;line-height:1.55;margin:0 0 7px}.lesson-card .text-link{font-size:13px}.lesson-dialog{position:relative;width:min(100%,490px);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:16px;padding:25px;box-shadow:0 20px 80px #20154740}.lesson-dialog-icon{display:block;font-size:36px;margin-bottom:10px}.lesson-dialog h2{font:800 19px var(--font);margin:10px 0 7px}.lesson-dialog>p{color:#9090a1;font-size:13px;line-height:1.6}.lesson-step{display:grid;gap:5px;padding:11px 12px;border:1px solid #f0edf8;border-radius:8px;margin:9px 0;background:#fcfbff}.lesson-step b{font-size:13px;color:#23903a}.lesson-step span{color:#77778c;font-size:13px;line-height:1.6}.lesson-example-bead{position:absolute;z-index:1;width:25px;height:12px;border:1px solid #23903a;border-radius:8px;background:#7ed957;left:56px}.upper-example{top:16px}.lower-example-one{top:49px}.lower-example-two{top:63px}.assignment-form{padding:14px;border:1px solid #ece8f6;border-radius:9px;background:#fbfaff;margin:0 0 12px}.assignment-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#4b6580}.assignment-form input,.assignment-form select{min-width:0;width:100%;border:1px solid #e6e5ee;border-radius:6px;background:#fff;padding:9px 10px;color:#414158;font-size:13px}.assignment-form-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px}.assignment-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:13px}.assignment-form-actions>span{color:#5f6b78;font-size:13px}.assignment-panel .success-banner{margin-top:10px}.pdf-seed{display:flex;gap:6px}.pdf-seed .button{padding:6px 10px;font-size:13px;white-space:nowrap}.pdf-help{color:#5f6b78;font-size:13px;margin:10px 0 0}.assignment-form .pdf-check{display:flex;align-items:center;gap:7px;margin-top:10px}.assignment-form .pdf-check input{width:auto}.pdf-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:13px}.practice-options .pdf-actions{margin-top:0}@media (max-width: 760px){.pdf-form .assignment-form-row{grid-template-columns:1fr}}.assignment-row+.assignment-row{border-top:1px solid #f0f0f4}.homework-section{margin-top:21px}.homework-section .section-heading{margin-bottom:10px}.homework-list{display:grid;gap:8px}.homework-row{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff}.homework-row>div{flex:1;display:grid;gap:5px}.homework-row strong{font-size:13px}.homework-row small{color:#99a;font-size:13px}.homework-row .button{font-size:13px;padding:8px 10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#24203980;display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.exam-modal{position:relative;width:min(100%,440px);background:#fff;border-radius:17px;padding:30px;box-shadow:0 20px 80px #20154740}.modal-close{position:absolute;top:13px;inset-inline-end:15px;border:0;border-radius:50%;width:28px;height:28px;background:#f5f4f8;color:#4b6580;font-size:20px;line-height:1}.exam-intro,.exam-result{text-align:center}.exam-icon{display:block;font-size:38px;margin:4px 0 13px}.exam-intro .tag{margin:0 auto 11px}.exam-modal h2{font:800 20px var(--font);letter-spacing:-.4px;margin:4px 0 9px}.exam-modal p{color:#89899b;font-size:13px;line-height:1.6;margin-bottom:17px}.exam-facts{display:flex;justify-content:center;gap:13px;color:#4b6580;font-size:13px;margin:17px 0}.exam-notice{background:#f1faee;color:#23903a;border-radius:7px;padding:10px;font-size:13px;line-height:1.5;margin:0 0 16px}.modal-cancel{margin-top:9px}.exam-question-view>.tag{margin-bottom:14px}.exam-progress{height:5px;border-radius:99px;background:#efedf5;overflow:hidden;margin-bottom:22px}.exam-progress span{display:block;height:100%;border-radius:inherit;background:#7ed957;transition:width .2s}.skill-breakdown{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:6px}.skill-breakdown li{display:flex;justify-content:space-between;background:#f1faee;border-radius:7px;padding:8px 10px;font-size:13px;color:#23903a}.kind-row{display:flex;gap:8px;margin-top:8px}.kind-row .button{flex:1}.grade-challenges{display:inline-flex;gap:6px;flex-wrap:wrap}.runner-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#23903a;color:#fff;display:grid}.runner-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;min-height:100%}.runner-progress{width:min(90vw,520px);background:#ffffff26;margin-bottom:0}.runner-progress span{background:#d9efd4}.runner-count{color:#c9c3e6;font-size:13px}.runner-stage{text-align:center}.runner-stage p{color:#c9c3e6;font-size:13px;margin-top:14px}.runner-number{font:800 clamp(64px,22vw,180px)/1.1 var(--font);letter-spacing:-2px;min-height:1.2em}.runner-countdown{color:#d9efd4}.runner-answer{display:grid;gap:14px;width:min(90vw,360px);text-align:center}.runner-answer h2{font:800 22px var(--font)}.runner-answer input{font:800 28px var(--font);text-align:center;padding:12px;border-radius:12px;border:0}.runner-degraded{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:21;width:min(92vw,520px)}.exam-question-view h2{margin-bottom:5px}.exam-question-view p{margin-bottom:17px}.exam-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:17px}.exam-options button{border:1px solid #e9e7f0;background:#fff;border-radius:8px;min-height:47px;font:700 14px var(--font)}.exam-options button:hover,.exam-options button.option-selected{color:#23903a;border-color:#7ed957;background:#f6f3ff}.exam-private{display:block;text-align:center;color:#a0a0af;font-size:13px;margin-top:11px}.result-emoji{display:block;font-size:43px;margin:4px 0 10px}.result-score{background:#fff6ed;color:#ac7348;border-radius:9px;margin:16px auto;padding:13px;display:grid;gap:4px;width:145px}.result-score.score-pass{background:#eff9f2;color:#468664}.result-score strong{font:800 22px var(--font)}.result-score span{font-size:13px}.earned-badge{display:block;margin:-5px 0 15px;color:#23903a;font-size:13px;font-weight:700}@media (min-width: 1450px){.page-content{padding-left:55px;padding-right:55px}}@media (max-width: 1100px){.sidebar{width:215px}.main-area{margin-inline-start:215px}.topbar{padding:0 28px}.page-content{padding:28px}.hero-art{inset-inline-end:0;width:45%}.sun-orb{inset-inline-end:23%}.float-badge{inset-inline-end:0}.float-grade{inset-inline-end:18%}.stats-grid{gap:9px}.stat-card{padding:12px}}@media (max-width: 820px){.sidebar{width:68px;padding:21px 9px 12px;align-items:center}.brand{padding:0;margin-bottom:45px}.brand-name,.side-label,.nav-item:not(.settings-button){font-size:0}.primary-nav{width:100%}.nav-item{justify-content:center;padding:12px 5px}.nav-icon{font-size:19px}.nav-dot{position:absolute;right:8px;top:8px;width:6px;height:6px}.journey-mini{display:none}.sidebar-bottom{width:100%}.settings-button{font-size:0;justify-content:center}.profile-card{justify-content:center;padding:13px 0 0}.profile-text,.chevron{display:none}.main-area{margin-inline-start:68px}.topbar{padding:0 22px}.page-content{padding:26px 22px 45px}.storage-warning{padding-left:22px;padding-right:22px}.hero-card{min-height:230px;padding-left:25px}.hero-art{opacity:.8;inset-inline-end:-6%}.sun-orb{width:125px;height:125px;top:55px}.float-card{padding:7px}.float-grade{inset-inline-end:15%}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.classmates-panel{align-items:flex-start;flex-direction:column}.class-happy{display:none}.mini-classmates{margin-left:5px}}@media (max-width: 570px){.sidebar{width:58px;padding-left:6px;padding-right:6px}.brand-mark{width:29px;height:29px}.main-area{margin-inline-start:58px}.topbar{height:57px;padding:0 13px}.breadcrumbs{font-size:13px;gap:6px}.topbar-actions{gap:8px}.streak-pill{font-size:0;padding:6px 8px}.streak-pill span{font-size:13px;margin:0}.icon-button{display:none}.page-content{padding:22px 13px 34px}.storage-warning{padding:8px 13px;font-size:13px}.welcome-row{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:18px}h1{font-size:21px}.subtitle{font-size:13px}.welcome-row>.button{align-self:flex-start}.hero-card{min-height:212px;padding:23px 17px}.hero-content h2{font-size:24px}.hero-content p{font-size:13px}.hero-art{inset-inline-end:-27%;width:58%;opacity:.54}.float-badge{display:none}.float-grade{inset-inline-end:20%;bottom:18px}.sun-orb{width:108px;height:108px;inset-inline-end:28%;top:52px}.hero-number{top:126px}.section-heading,.journey-section-title{align-items:flex-start}.section-heading h2,.journey-section-title h2{font-size:14px}.text-link{font-size:13px}.stats-grid{gap:8px}.stat-card{min-height:122px;padding:11px}.stat-value{font-size:14px}.stat-card small{font-size:13px}.dashboard-columns{grid-template-columns:1fr;gap:9px}.panel{padding:14px}.lesson-thumbnail{width:55px}.class-heading{margin-top:20px}.journey-banner{flex-direction:column;align-items:flex-start;gap:14px}.banner-progress{width:100%}.banner-progress strong,.banner-progress small{text-align:start}.journey-section-title{gap:8px}.demo-note,.privacy-pill{white-space:nowrap}.grade-card{gap:8px;padding:9px}.grade-icon{width:31px;height:31px}.grade-status{display:none}.grade-challenge{padding:6px}.grade-copy span{font-size:13px}.mini-medal{font-size:14px}.practice-tabs{overflow-x:auto}.practice-tabs button{padding-left:9px;padding-right:9px;flex-shrink:0}.practice-workspace{padding:16px 12px}.practice-session-head h2{font-size:15px}.practice-question{min-height:125px;font-size:32px;margin:20px auto 16px}.answer-form>div{flex-direction:column}.answer-form .button{width:100%}.feedback-side{float:none;display:block;margin-top:5px}.practice-options{align-items:flex-start}.practice-options small{line-height:1.5}.lesson-feature{align-items:flex-start;flex-wrap:wrap;padding:13px}.lesson-feature>div{min-width:calc(100% - 75px)}.lesson-feature .button{width:100%}.lesson-grid{grid-template-columns:1fr}.lesson-card-art{min-height:80px}.assignment-form-row{grid-template-columns:1fr 1fr}.assignment-form-actions{align-items:flex-start;flex-direction:column}.classmate-grid{grid-template-columns:1fr}.class-banner{align-items:flex-start}.class-banner-note{display:none}.classmate-card{padding:10px}.teacher-welcome{gap:14px}.teacher-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-panel{align-items:flex-start;flex-wrap:wrap}.assignment-panel .panel-heading{align-items:flex-start;flex-direction:column}.assignment-row{flex-wrap:wrap;gap:8px}.assignment-row>div{min-width:calc(100% - 55px)}.assignment-progress{margin-inline-start:42px}.homework-row{flex-wrap:wrap}.homework-row>div{min-width:calc(100% - 55px)}.homework-row .button{margin-inline-start:45px}.exam-modal{padding:26px 19px 20px}.exam-facts{gap:8px}}.lesson-player{width:min(100%,640px)}.lesson-player .abacus-widget{width:100%;overflow-x:auto}.lesson-text{color:#4b6580;font-size:13px;line-height:1.7;margin:10px 0;white-space:pre-line}.lesson-text strong{color:#23903a}.lesson-stage{margin:8px 0}.lesson-caption{min-height:34px;margin:8px 0;padding:9px 11px;border-radius:7px;background:#f6f3ff;color:#23903a;font-size:13px}.lesson-controls,.lesson-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lesson-nav{justify-content:space-between;margin-top:16px}.lesson-value{margin-inline-start:auto;color:#5f6b78;font-size:13px}.lesson-value b{color:#23903a;font:700 13px var(--font)}.lesson-practice-card .button,.lesson-placeholder{width:fit-content}.lesson-prereq{display:block;margin:-2px 0 7px;color:#b0814f;font-size:13px}.quiz-item{margin:10px 0 14px}.quiz-choices{display:grid;gap:6px}.quiz-choices button{border:1px solid #e9e7f0;background:#fff;border-radius:8px;padding:9px 11px;text-align:start;font-size:13px}.quiz-choices button:not(:disabled):hover{border-color:#7ed957;background:#f6f3ff}.quiz-choices button.quiz-correct{border-color:#6cb995;background:#eff9f3;color:#2f7a59}.quiz-choices button.quiz-wrong{border-color:#e39a9a;background:#fff1f1;color:#a24b4b}.flash-runner{text-align:center}.flash-runner .practice-question{margin-bottom:14px}.practice-sequence{font-size:24px;flex-wrap:wrap;text-align:center;padding:14px}.practice-settings{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0;font-size:13px;color:#5f6b78}.practice-settings select{border:1px solid #e6e6ef;border-radius:6px;padding:5px 7px;font-size:13px}.teacher-tabs a{color:#9494a5;padding:0 1px 10px;font-size:13px;text-decoration:none;border-block-end:2px solid transparent}.teacher-tabs a:hover{color:#23903a}.analytics-page{display:grid;gap:14px;font-size:13px}.analytics-page h1{margin:2px 0}.analytics-page h2{margin:0}.analytics-page h3{margin:10px 0 6px;font-size:13px}.analytics-page .page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.analytics-privacy{margin:0;color:var(--muted)}.analytics-picker{display:flex;align-items:center;gap:8px}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.analytics-bars,.analytics-suggestions,.analytics-attempts,.analytics-facts,.analytics-legend{list-style:none;margin:0;padding:0;display:grid;gap:6px}.analytics-suggestions{list-style:disc;padding-inline-start:18px}.analytics-bar-row{display:grid;grid-template-columns:minmax(80px,1.2fr) 2fr auto auto;align-items:center;gap:8px}.analytics-kind-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.analytics-bar{display:block;block-size:8px;border-radius:4px;background:var(--line);overflow:hidden}.analytics-fill{display:block;block-size:100%}.analytics-heatmap th,.analytics-heatmap td{text-align:center;white-space:nowrap}.analytics-heatmap th[scope=row]{text-align:start}.analytics-cell{font-weight:700}.tone-low{background:#fde3e1;color:#9b2c24}.tone-mid{background:#fff1cf;color:#7a5600}.tone-high{background:#dff3e6;color:#25683f}.tone-none{background:transparent;color:var(--muted)}.analytics-fill.tone-low{background:#d9534f}.analytics-fill.tone-mid{background:#e8a83a}.analytics-fill.tone-high{background:#3f9d62}.analytics-fill.tone-level{background:var(--purple)}.analytics-legend{grid-auto-flow:column;justify-content:start;gap:14px;margin-block-start:8px;color:var(--muted)}.analytics-swatch{display:inline-block;inline-size:10px;block-size:10px;margin-inline-end:4px;border-radius:2px}.analytics-sort{border:0;background:transparent;font:inherit;font-weight:700;cursor:pointer;padding:0;color:inherit}.tag-risk{background:#fde3e1;color:#9b2c24;margin-inline-end:4px}.analytics-drawer{position:fixed;inset-block:0;inset-inline-end:0;inline-size:min(420px,100%);overflow-y:auto;z-index:20;box-shadow:-8px 0 30px #2929432e;background:#fff}.analytics-attempts li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.visually-hidden{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (max-width: 800px){.analytics-grid{grid-template-columns:1fr}}.runner-cancel{position:absolute;inset-block-start:16px;inset-inline-end:16px;z-index:3}.runner-clock{position:absolute;inset-block-start:16px;inset-inline-start:16px;z-index:3}.runner-clock .exam-clock{color:#fff}body{font-family:var(--font);font-size:1rem;line-height:1.5;color:var(--ink);background:var(--paper)}button,input,select{font-family:inherit}button,.button{min-height:var(--tap)}.nav-item{min-height:var(--tap);font-size:var(--text-s)}.brand-kazu{flex:0 0 auto}.brand{margin-bottom:32px}.brand-name{color:var(--navy)}.sidebar{background:var(--surface);border-inline-end:1px solid var(--line)}.topbar{border-bottom:1px solid var(--line)}.hero-card{background:linear-gradient(135deg,var(--green-dark),var(--green));color:#fff}.hero-number{color:#fff}h1{color:var(--navy);font-size:var(--text-xl)}.button-primary{background:var(--green-dark);box-shadow:var(--shadow-press)}.button-primary:hover{background:#1b7230}.button-outline{border:2px solid var(--line);background:var(--surface);color:var(--navy);font-weight:700}.button-outline:hover{border-color:var(--green)}.kind-title{margin:12px 0 8px;font-weight:800;color:var(--navy)}.kind-row{display:flex;flex-wrap:wrap;gap:8px}.kind-row .button{flex:1 1 auto}.grade-challenges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.grade-challenge{min-height:var(--tap);padding:8px 14px;border:2px solid var(--line);border-radius:999px;background:var(--surface);color:var(--navy);font-weight:700;font-size:var(--text-s)}.grade-challenge:hover{border-color:var(--green)}.grade-challenge.challenge-primary{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.clearing-name{display:block;color:var(--muted);font-size:var(--text-xs)}.kazu-line{font-weight:700;color:var(--navy)}.rod-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;color:var(--muted);font-weight:700}.rod-choice{min-width:var(--tap);border:2px solid var(--line);border-radius:999px;background:var(--surface);font-weight:800;color:var(--navy)}.rod-choice.active{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.story-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#2d465e99}.story-card{width:min(100%,460px);display:grid;justify-items:center;gap:12px;padding:28px 24px;text-align:center;background:var(--paper);border-radius:var(--radius-l);box-shadow:var(--shadow)}.story-text{margin:0;font-size:var(--text-l);line-height:1.4;color:var(--navy);font-weight:700}.story-dots{display:flex;gap:8px}.story-dots i{width:10px;height:10px;border-radius:50%;background:var(--cream)}.story-dots i.on{background:var(--green)}.story-actions{display:flex;gap:12px}:root{--purple: var(--green-dark);--purple-dark: #1b7230}body{line-height:1.6}a{color:var(--info);text-underline-offset:.2em}button,input,select,textarea{font:inherit}button,.button,.primary-button{font-size:var(--text-s)}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:var(--tap);max-width:100%;min-width:0;padding:10px 12px;color:var(--ink);background:var(--surface);border:1px solid var(--border-control);border-radius:var(--radius-s);font-size:var(--text-m)}input[type=checkbox],input[type=radio]{accent-color:var(--green-dark);width:20px;height:20px;flex-shrink:0}input:disabled,select:disabled{background:#f1f3f4;color:var(--muted)}button:disabled{opacity:.65}button:not(:disabled),summary{touch-action:manipulation}.button,.primary-button{border-radius:var(--radius-s);text-decoration:none;padding:11px 18px;line-height:1.4}.button-primary,.primary-button{color:#fff;background:var(--green-dark);border:1px solid var(--green-dark)}.button-outline,.button-light{color:var(--navy);border:1px solid #b6c5b5;background:#fff}.button-outline:hover,.button-light:hover{background:#f0f7ed;border-color:var(--green-dark)}.text-link,.link-button{min-height:var(--tap);display:inline-flex;align-items:center;color:var(--green-dark);font-size:var(--text-s)}.skip-link{position:fixed;inset-block-start:10px;inset-inline-start:16px;z-index:100;padding:12px 20px;border-radius:10px;background:#fff;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.main-area:focus{outline:none}.sidebar{width:var(--sidebar);padding:24px 16px 16px;overflow-y:auto}.main-area{margin-inline-start:var(--sidebar)}.brand{gap:8px;padding-inline:8px;margin-bottom:28px}.brand-name{font-size:21px;letter-spacing:-.6px}.nav-item{font-size:var(--text-s);gap:10px;padding:12px;min-height:48px}.nav-label{font-size:var(--text-s)}.nav-item.active{color:#1b7230;background:#e5f3df;box-shadow:inset 3px 0 var(--green-dark)}[dir=rtl] .nav-item.active{box-shadow:inset -3px 0 var(--green-dark)}.side-label{font-size:var(--text-xs);letter-spacing:.06em}.sidebar-bottom .settings-button{margin-bottom:8px}.profile-card{min-height:56px;border-radius:10px}.profile-card:hover{background:var(--green-wash)}.secondary-nav>summary{min-height:48px;padding:12px;cursor:pointer;font-weight:700;color:var(--navy)}.secondary-nav>div{background:#fff;border-radius:var(--radius-s)}.native-modal{border:0;background:transparent;padding:0;width:fit-content;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}.native-modal::backdrop{background:#141e288c}.native-modal .lesson-dialog,.native-modal .exam-modal{max-height:none}.native-modal .analytics-drawer{position:static;inline-size:min(620px,calc(100vw - 24px));box-shadow:none}.native-modal-fullscreen{width:100vw;height:100dvh;max-width:none;max-height:none}.adventure-disclosure>summary,.paper-review>summary{min-height:44px;padding-block:10px;cursor:pointer;font-weight:700}.paper-review ol{padding-inline-start:24px}.paper-review li{border-top:1px solid var(--line);padding-block:12px}.paper-review .paper-column{width:fit-content;margin-inline:auto}.profile-text strong,.profile-text small{font-size:var(--text-xs)}.profile-text{min-width:0}.profile-text strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.journey-mini{margin-block:24px 20px}.journey-mini a{display:inline-flex;min-height:var(--tap);align-items:center;font-size:var(--text-xs)}.topbar{min-height:72px;height:auto;padding:12px var(--space-page);gap:12px 24px}.topbar,.topbar-actions{flex-wrap:wrap}.topbar-actions{gap:10px;margin-inline-start:auto}.topbar-profile{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:4px 10px;border-radius:24px;color:var(--navy);text-decoration:none}.topbar-profile:hover,.topbar-settings:hover,.topbar-settings[aria-current=page]{background:var(--green-wash)}.topbar-profile .avatar{width:34px;height:34px;font-size:.75rem}.topbar-profile-name{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-s);font-weight:700}.topbar-settings{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;color:var(--navy);background:var(--surface)}.topbar-settings svg{width:22px;height:22px}.topbar .account-signout>button{font-size:var(--text-s);padding-inline:12px;border-color:var(--line)}.language-control{display:inline-flex;align-items:center;gap:6px;padding-inline-start:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);min-height:44px;min-width:0}.language-control>svg{width:18px;height:18px;flex-shrink:0}.language-control>.language-picker{border:0;background-color:transparent;padding-inline:4px 22px;max-width:130px;min-height:42px;border-radius:12px}.language-control:focus-within{outline:2px solid var(--green-dark);outline-offset:2px}.breadcrumbs{flex-wrap:wrap;font-size:var(--text-xs)}.page-content{max-width:1280px;padding:32px var(--space-page) 64px}.page-content>.welcome-row p{color:var(--muted);max-width:72ch;margin-bottom:0}h1{font-size:clamp(1.6rem,2.5vw,2rem);line-height:1.2;letter-spacing:-.04em}.welcome-row>div{min-width:0}.welcome-row h1{overflow-wrap:anywhere}h2{color:var(--navy);font-size:var(--text-l);line-height:1.4}h3{color:var(--navy);line-height:1.4}.subtitle,.disclaimer,.pdf-help,.analytics-privacy{color:var(--muted);font-size:var(--text-s)}.panel{border-radius:var(--radius);border-color:var(--line);box-shadow:0 2px 8px #2d465e0a;min-width:0}.panel-heading,.section-heading,.page-heading{gap:16px;flex-wrap:wrap}.panel-heading h2,.section-heading h2{font-size:var(--text-l)}.panel>p{line-height:1.65}.kazu-says{align-items:center;margin-block:20px}.kazu-bubble{max-width:72ch;box-shadow:none;border-width:1px;line-height:1.6}.kazu-says .kazu{max-width:72px;max-height:72px}.control-heading{font-size:var(--text-s);color:var(--navy);font-weight:800;margin-bottom:12px}.journey-selection{margin-block:24px;padding:24px}.journey-selection .jsf-track-picker{margin-top:0}.jsf-grade-picker{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.jsf-grade-picker .rod-choice{padding-inline:6px;border-radius:10px;font-size:var(--text-xs)}.presentation-settings{padding:20px;background:#f1f6ef;border:1px solid #d3dfcf;border-radius:var(--radius)}.presentation-settings .kind-row{display:flex;width:fit-content;max-width:100%;gap:6px;margin-bottom:12px}.presentation-settings .kind-row .button{flex:0 1 auto;min-width:90px}.presentation-settings>p:not(.control-heading){color:var(--muted);font-size:var(--text-s);max-width:80ch;margin-block:10px 0}.presentation-settings>label{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-weight:700}.jsf-metrics{gap:16px}.jsf-metrics .panel{padding:20px;border-block-start:3px solid #c9dabd}.jsf-metrics h3{font-size:var(--text-s)}.jsf-metrics strong{font-size:2rem;font-variant-numeric:tabular-nums}.jsf-metrics p{margin-bottom:0}.journey-steps{display:grid;gap:16px;margin-top:24px}.journey-step{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:#fcfdfb}.journey-step h3{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:0;font-size:var(--text-l)}.journey-step h3 small{margin-inline-start:auto;background:#fff;padding:4px 12px;border-radius:99px;border:1px solid var(--line);font-size:var(--text-s)}.step-number{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--green-wash);color:#1b7230;font-weight:900}.journey-step-test{background:#fff8e9;border-color:#e6d4aa}.journey-step-test .kind-row .button{flex:0 1 auto}.journey-step>p:last-child{margin-bottom:0}.jsf-guide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.jsf-guide-list .button{justify-content:flex-start}.jsf-supplement .button{margin-block:6px}.practice-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:start;justify-content:stretch}.practice-settings label{display:grid;gap:8px;color:var(--navy);font-weight:700;font-size:var(--text-s)}.practice-settings select{width:100%;font-size:var(--text-m)}.practice-workspace h2{font-size:var(--text-l);text-align:center;margin-top:24px}.practice-score{display:flex;align-items:center;gap:12px;min-width:0}.practice-score b{font-size:var(--text-l)}.practice-score small{color:var(--muted)}.free-paper-question{background:#f7faef;border-color:#cad9bb;border-radius:16px;max-width:540px;padding:28px;font-size:clamp(1.25rem,3vw,1.7rem)}.answer-form{max-width:540px}.answer-form label{font-size:var(--text-s)}.answer-form input{font-size:1.25rem}.practice-workspace>.button:last-child{display:flex;margin:24px auto 0}.feedback{padding:16px;font-size:var(--text-s);border:1px solid var(--line)}.feedback-good{color:#1b7230;border-color:#a8cca3}.practice-options{flex-wrap:wrap;padding:20px}.practice-options b,.practice-options small{font-size:var(--text-s)}.practice-options small{color:var(--muted)}.pdf-actions{flex-wrap:wrap;gap:10px}.pdf-print .pdf-actions{align-items:stretch}.settings-panel{margin-bottom:20px;max-width:880px;padding:24px}.settings-panel h3{font-size:var(--text-l)}.settings-panel>p,.settings-row span:not(.tag){color:var(--muted);font-size:var(--text-s)}.settings-row b{font-size:var(--text-s)}.settings-row{gap:24px}.settings-row>div{min-width:0}.settings-row>button{padding:10px 14px;border:1px solid #b6c5b5;border-radius:10px;background:#fff;color:var(--navy)}.settings-row select{flex-shrink:0}.teacher-shell{background:#f4f6f8}.teacher-shell .journey-mini{background:#f4f6f8;border-color:#d8e0e5}.teacher-tabs{gap:8px;flex-wrap:wrap;padding-bottom:8px}.teacher-tabs button,.teacher-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;font-size:var(--text-s);border-radius:10px;color:var(--muted);line-height:1.4;text-decoration:none}.teacher-tabs a:hover,.teacher-tabs button:hover{background:var(--green-wash);color:var(--green-dark)}.teacher-tabs button.active{background:var(--green-wash);color:#1b7230}.teacher-shell .panel{border-color:#d8e0e5;box-shadow:none}.analytics-page h3{font-size:var(--text-s);margin-block:16px 8px}.analytics-page .page-heading,.analytics-picker{flex-wrap:wrap}.analytics-legend{display:flex;flex-wrap:wrap}.analytics-bar-row{grid-template-columns:minmax(100px,1fr) minmax(60px,1fr) auto auto}.analytics-drawer{padding:24px}.student-table th{color:var(--muted);background:#f4f6f8}.student-table td{padding:14px}.table-wrap,.table-scroll{position:relative;max-width:100%}.table-wrap table,.table-scroll table{font-size:var(--text-s)}.table-scroll th{color:var(--muted);background:#f4f6f8}.table-scroll tbody tr:hover,.student-table tbody tr:hover{background:#f7faf4}.assignment-form-row{gap:14px}.assignment-form-row label,.pdf-fields label{font-size:var(--text-s)}.assignment-row small,.homework-row small,.classmate-card>div:nth-child(2) span,.learning-note{color:var(--muted)}.lesson-text{font-size:var(--text-m);color:var(--ink);line-height:1.8}.lesson-caption,.quiz-choices button{font-size:var(--text-s)}.quiz-choices button{min-height:48px;padding:12px 16px}.lesson-nav{gap:12px;border-top:1px solid var(--line);padding-top:20px}.lesson-grid{gap:20px}.lesson-player,.exam-modal{max-height:calc(100dvh - 32px);overflow-y:auto}.jsf-paper-dialog{border-radius:20px;box-shadow:var(--shadow)}.paper-toolbar{gap:12px}.paper-instructions .button{margin-top:12px}.paper-toolbar .button{margin-inline-start:auto}.item-playback{max-width:640px;margin-inline:auto}.playback-value{border:1px solid #c9dabd;border-radius:16px;background:#f4f8ed;padding:24px 12px;margin-bottom:16px;min-height:150px}.adventure-trail strong,.collection-badge strong,.collection-badge small,.trail-status{font-size:var(--text-xs)}.adventure-note,.adventure-stats p,.effort-badges p{font-size:var(--text-s)}.badge-shelf{gap:10px}.collection-badge{min-width:0;padding:14px 8px}@media (max-width: 1000px){:root{--sidebar: 220px}.brand-name{font-size:18px}.jsf-grade-picker{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width: 820px){.sidebar{position:relative;inset:auto;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 16px;overflow:visible;border-inline-end:0;border-bottom:1px solid var(--line)}.brand{margin:0;padding:0}.brand-name{display:inline;font-size:18px}.brand{min-width:0}.brand-kazu{width:36px;height:36px}.side-label,.sidebar-spacer,.journey-mini{display:none}.primary-nav{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;overflow:visible;padding:0;gap:2px;width:100%}.primary-nav>.nav-item{justify-content:center;flex-direction:column;padding:6px 2px;gap:2px}.primary-nav .nav-label{font-size:.75rem;overflow-wrap:anywhere}.secondary-nav{position:relative}.secondary-nav>summary{padding-inline:8px}.secondary-nav[open]>div{position:absolute;z-index:20;inset-inline-end:0;min-width:190px;padding:8px;border:1px solid var(--line);box-shadow:var(--shadow)}.nav-item,.nav-item:not(.settings-button){font-size:var(--text-s);justify-content:flex-start;flex-shrink:0;padding:10px 12px}.nav-icon{font-size:18px}.nav-dot,.sidebar-bottom{display:none}.sidebar-bottom .settings-button{margin:0;width:auto}.sidebar-bottom .settings-button .nav-label{display:none}.profile-card{width:auto;min-height:44px;border:0;padding:4px;justify-content:center}.profile-text,.chevron{display:none}.main-area{margin-inline-start:0}.topbar{padding:12px 20px}.page-content{padding:24px 20px 48px}.practice-settings{gap:12px}.analytics-grid{grid-template-columns:1fr}}@media (max-width: 600px){.page-content{padding:24px 16px 40px}.topbar{padding-inline:16px;min-height:52px}.topbar .breadcrumbs{flex-basis:100%}.topbar-actions{width:100%;justify-content:space-between;gap:6px}.topbar-profile{padding:4px}.topbar-profile-name{display:none}.topbar .account-signout{flex:0 1 auto;max-width:140px}.topbar .account-signout>button{font-size:.8rem;padding-inline:8px}.topbar .language-control{padding-inline-start:4px}.topbar .language-control>svg{display:none}.topbar .language-control>.language-picker{width:90px;max-width:105px;padding-inline-start:6px}.breadcrumbs>span,.breadcrumbs>b{display:none}.welcome-row{gap:16px}.panel,.adventure-home .panel,.jsf-plan,.jsf-history,.jsf-supplement,.journey-selection{padding:18px}.practice-settings,.jsf-guide-list,.pdf-fields,.assignment-form-row{grid-template-columns:1fr}.practice-workspace{padding:18px}.presentation-settings{padding:16px}.presentation-settings .kind-row{width:100%}.presentation-settings .kind-row .button{min-width:0;flex:1;padding-inline:12px}.journey-step{padding:16px}.journey-step h3{font-size:1.125rem;gap:8px}.journey-step h3 small{margin-inline-start:0}.journey-step .kind-row .button{width:100%}.settings-row{align-items:flex-start;flex-wrap:wrap;gap:12px}.settings-row select{width:100%}.practice-options{align-items:stretch}.practice-options>div{min-width:0}.practice-options>div>div{min-width:0}.pdf-actions{width:100%}.pdf-actions .button,.pdf-actions .text-link{flex:1 1 100%;justify-content:center}.pdf-seed{flex-wrap:wrap}.pdf-seed input{width:100%}.analytics-bar-row{grid-template-columns:1fr 1fr auto}.analytics-bar-row>:first-child{grid-column:1 / -1}.adventure-hero{text-align:start}.adventure-home .welcome-row h1{font-size:1.5rem}.adventure-home .welcome-row p,.adventure-hero-art{display:none}.adventure-hero h2{font-size:1.4rem}.adventure-hero p{line-height:1.5;margin-block-end:16px}.adventure-stats{position:relative;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.adventure-home .adventure-stats article{position:static;display:flex;flex-direction:column;padding:12px 6px;gap:6px;text-align:center}.adventure-stats article>span{font-size:24px}.adventure-stats strong{font-size:1.3rem}.adventure-stats p{font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}.adventure-stats .help-tip{position:static;margin-block-start:auto}.adventure-stats .help-tip-body{inset-block-start:100%;inset-inline:0;width:100%}.adventure-map .section-heading h2{font-size:1.3rem}.adventure-finish{display:none}.badge-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.paper-toolbar{padding-block:12px}.paper-toolbar h2{width:100%}}.adventure-entry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-block:28px}.adventure-choice{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,4vw,40px);border-top:6px solid var(--green-dark)}.adventure-choice>.button{margin-top:auto;width:100%}.adventure-choice>.grade-badge{margin-bottom:24px}.homework-row h2{font-size:var(--text-l);margin:0;overflow-wrap:anywhere}.homework-row p{margin:0}.homework-row>div{min-width:0}.homework-page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block:24px}.homework-page>.homework-list{gap:16px}.homework-page .homework-row{padding:20px;gap:20px}.homework-page .homework-row>div{gap:10px}.homework-page .homework-row>.button{flex-shrink:0;min-height:44px}@media (max-width: 600px){.homework-row .button{margin-inline-start:0;width:100%}}.adventure-choice-mental{border-top-color:var(--info)}.adventure-choice-icon{font-size:56px}.adventure-choice h2{font-size:2rem}.adventure-choice p{line-height:1.65}.journey-heading{margin-bottom:24px}.journey-heading h1{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.journey-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:24px;align-items:start}.journey-actions,.journey-progress{min-width:0}.journey-actions .journey-steps{grid-template-columns:1fr}.journey-options,.journey-metrics,.journey-history{padding:24px;margin-block:20px}.journey-options summary,.journey-progress summary{font-weight:800;cursor:pointer;min-height:44px}.journey-metrics h2{font-size:var(--text-l);margin:0}.journey-metrics-scope{margin-block:6px 16px}.journey-metrics dl{margin:0 0 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.journey-metrics dl>div{padding:10px;background:var(--green-wash);border-radius:var(--radius-s);min-width:0}.journey-metrics dt{font-size:var(--text-xs);font-weight:700;overflow-wrap:anywhere}.journey-metrics dd{font-size:1.4rem;margin:4px 0 0;font-weight:800;color:var(--green-dark)}.journey-metrics dd small{font-size:var(--text-xs);font-weight:400}.journey-progress-link{width:100%}.journey-metric-help{margin-block-start:12px}.journey-metric-help .metric-definitions{grid-template-columns:minmax(0,1fr);gap:8px}.journey-metric-help .metric-definitions dt{font-size:var(--text-s)}.journey-metric-help .metric-definitions dd{font-size:var(--text-s);font-weight:400;color:var(--muted);line-height:1.7}.language-picker{max-width:160px;min-width:0;font-size:var(--text-s)}.journey-metrics p,.journey-history p{font-size:var(--text-s);color:var(--muted)}.journey-history ol{padding:0;list-style:none}.journey-history li{display:grid;gap:6px;padding-block:16px;border-top:1px solid var(--line);font-size:var(--text-s);overflow-wrap:anywhere}.journey-history time{color:var(--muted)}.journey-current-setting{color:var(--green-dark);font-weight:700}.journey-learn-link{color:var(--muted)}@media (max-width: 1050px){.journey-workspace{grid-template-columns:1fr}}@media (max-width: 600px){.adventure-entry{grid-template-columns:1fr}}.grade-badge{display:inline-flex;gap:12px;align-items:center;text-align:start}.grade-badge-emblem{display:grid;place-items:center;width:60px;height:68px;background:var(--orange-wash);border:2px solid #d6b36b;border-radius:20px 20px 30px 30px;font-size:32px;flex:none}.grade-badge-earned .grade-badge-emblem{background:var(--green-wash);border-color:var(--green-dark)}.ranking-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.ranking-toolbar h2{flex:1;margin:0;min-width:min(100%,220px)}.ranking-filter-menu{margin-inline-start:auto}.ranking-filter-menu[open]{flex-basis:100%}.ranking-filter-menu summary,.ranking-info summary{min-height:44px;padding-block:10px;cursor:pointer;color:var(--muted);font-size:var(--text-s)}.ranking-filter-menu summary{width:fit-content;margin-inline-start:auto}.ranking-filter-count{display:inline-block;margin-inline-start:8px;padding-inline:8px;border-radius:12px;background:var(--green-wash);color:var(--green-dark);font-weight:800}.ranking-scope{color:var(--muted);font-size:var(--text-s);margin-block:8px 16px}.ranking-boards{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px 4px}.ranking-boards .button{min-height:40px;padding-inline:14px;font-size:var(--text-s)}.ranking-info{margin-block-start:16px;border-top:1px solid var(--line)}.ranking-info p{font-size:var(--text-s);color:var(--muted)}.help-tip{position:relative;display:inline-block}.help-tip>summary{display:grid;place-items:center;width:44px;height:44px;list-style:none;cursor:pointer;border:2px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-weight:900}.help-tip>summary::-webkit-details-marker{display:none}.help-tip>summary:hover,.help-tip[open]>summary{background:var(--green-wash);border-color:var(--green-dark)}.help-tip>summary:focus-visible{outline:3px solid var(--navy);outline-offset:2px}.help-tip-body{position:absolute;z-index:30;inset-block-start:calc(100% + 8px);inset-inline-end:0;width:min(340px,calc(100vw - 32px));padding:16px;border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;box-shadow:var(--shadow);color:var(--ink);font-size:var(--text-s);line-height:1.55;text-align:start}.help-tip-body h3{margin-block:0 8px;font-size:1rem}.help-tip-body p,.help-tip-body ul{margin-block:0 8px}.help-tip-body ul{padding-inline-start:18px}.section-title-help{display:flex;align-items:center;gap:10px}.section-title-help .help-tip-body{inset-inline-end:auto;inset-inline-start:0}.homework-status{display:grid;gap:4px;margin-block-end:10px}.homework-status strong{font-size:var(--text-m)}.homework-status-done{color:var(--green-dark)}.homework-status-done strong{font-size:var(--text-l)}.homework-status span{font-size:var(--text-s)}.homework-row.homework-row-done{background:var(--green-wash);border:2px solid var(--green-dark)}.homework-section .tag-green{background:var(--green-wash);color:var(--green-dark)}.competition-panel .table-scroll{overflow-x:auto}.ranking-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:8px 16px}.ranking-filters label,.ranking-preferences label{display:grid;gap:8px}.ranking-preferences{display:grid;gap:16px;max-width:560px}.ranking-preferences .ranking-opt-in{display:flex;align-items:center;gap:12px}.ranking-opt-in input{width:24px;height:24px;flex:none}.ranking-opt-in,.presentation-timing summary{min-height:44px}.presentation-timing summary{cursor:pointer;padding-block:12px;font-weight:700}@media (max-width:600px){.ranking-filters{grid-template-columns:1fr}}.grade-badge>span:last-child{display:grid;gap:4px}.grade-badge strong{font-size:var(--text-m)}.grade-badge small{font-size:var(--text-s);font-weight:600;color:var(--muted)}.jsf-grade-picker .rod-choice{border-radius:var(--radius);padding:12px;width:100%;background:#fff}.jsf-grade-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width: 600px){.jsf-grade-picker{grid-template-columns:1fr}}
