:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy:#0f172a;--navy-soft:#1e293b;--ink:var(--navy);--muted-strong:#475569;--muted:#64748b;--line:#e2e8f0;--line-strong:#cbd5e1;--surface:#fff;--surface-subtle:#f6f8fb;--surface-blue:#eff6ff;--brand:#2563eb;--brand-dark:#1e40af;--brand-deep:#1d4ed8;--brand-soft:#dbeafe;--purple:#7c3aed;--purple-dark:#5b21b6;--purple-soft:#ede9fe;--green:#059669;--green-dark:#047857;--green-soft:#d1fae5;--orange:#d97706;--orange-dark:#b45309;--orange-soft:#fef3c7;--success:var(--green-dark);--warning:var(--orange-dark);--danger:#b91c1c;--danger-soft:#fee2e2;--radius:16px;--radius-small:12px;--shadow-small:0 1px 2px #0f172a0d, 0 4px 14px #0f172a0d;--shadow:0 12px 34px #0f172a1a;--shadow-brand:0 10px 24px #2563eb38;--nav-height:66px}*{box-sizing:border-box}html{background:var(--surface-subtle);-webkit-text-size-adjust:100%;min-height:100%}body{min-height:100vh;color:var(--ink);background:var(--surface-subtle);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}::selection{color:var(--navy);background:#2563eb33}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,label{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #2563eb66}svg{display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--navy);text-wrap:balance;letter-spacing:-.02em}h1{margin-bottom:12px;font-size:clamp(1.9rem,4.5vw,2.6rem);line-height:1.12}h2{margin-bottom:8px;font-size:clamp(1.35rem,3vw,1.7rem);line-height:1.2}h3{margin-bottom:6px;font-size:1.05rem;line-height:1.3}p{margin-bottom:12px}p:last-child{margin-bottom:0}.page{width:min(100%,1080px);padding:22px 18px calc(var(--nav-height) + 40px);margin:0 auto}.page-narrow{width:min(100%,760px)}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 20px;margin-bottom:20px;display:flex}.page-heading>div:first-child{flex:320px;min-width:0}.page-heading h1,.page-heading h2{margin-bottom:4px}.page-heading p{max-width:640px;color:var(--muted);margin-bottom:0}.page-actions,.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.section{margin-top:28px}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:12px;display:flex}.section-header h2{margin-bottom:0}.section-header p{color:var(--muted);margin:2px 0 0;font-size:.92rem}.eyebrow{color:var(--brand-dark);letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;font-size:.74rem;font-weight:800}.lede{max-width:640px;color:var(--muted-strong);font-size:clamp(1rem,2vw,1.15rem);line-height:1.6}.muted{color:var(--muted)}.back-link{min-height:40px;color:var(--muted-strong);align-items:center;gap:6px;margin-bottom:10px;font-size:.92rem;font-weight:700;display:inline-flex}.back-link:hover{color:var(--brand-dark)}.brand{letter-spacing:-.03em;align-items:center;gap:10px;min-width:0;font-weight:800;display:inline-flex}.brand-mark{width:42px;height:42px;color:var(--navy);flex:none;display:block;position:relative}.brand-mark-compact{width:34px;height:34px}.brand-mark svg{width:100%;height:100%;overflow:visible}.brand-flask{fill:#fff;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.brand-flask-rim{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:5px}.brand-liquid{fill:var(--brand)}.brand-liquid-accent{fill:var(--purple)}.brand-liquid-highlight{fill:#ffffffd1}.brand-bubble{fill:var(--brand)}.brand-bubble-two{fill:var(--purple)}.brand-bubble-three{fill:var(--brand-dark)}.brand-type{gap:0;min-width:0;line-height:.95;display:grid}.brand-name,.brand-study{white-space:nowrap;display:block}.brand-name{color:var(--navy);font-size:1rem;font-weight:850}.brand-study{color:var(--brand-dark);font-size:.92rem;font-weight:800}.brand-type-compact .brand-name{font-size:.9rem}.brand-type-compact .brand-study{font-size:.82rem}.app-header{z-index:30;padding:max(10px, env(safe-area-inset-top)) 18px 10px;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;position:sticky;top:0}.app-header-inner,.public-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.app-header-inner{width:min(100%,1080px);min-height:44px;margin:0 auto}.brand-app{flex:0 auto}.app-main{min-height:calc(100vh - 64px)}.desktop-nav{align-items:center;gap:2px;display:none}.nav-link{min-height:42px;color:var(--muted-strong);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:.9rem;font-weight:700;transition:color .12s,background-color .12s;display:inline-flex;position:relative}.nav-link:hover{color:var(--navy);background:var(--surface-subtle)}.nav-link[aria-current=page]{color:var(--brand-dark);background:var(--surface-blue)}.nav-icon{flex:none;width:18px;height:18px}.nav-divider{background:var(--line);width:1px;height:24px;margin:0 6px}.nav-student-mode{color:var(--purple-dark);background:var(--purple-soft)}.nav-student-mode:hover{color:var(--purple-dark);background:#e4dcff}.desktop-nav .nav-scan{color:#fff;background:var(--brand)}.desktop-nav .nav-scan:hover{color:#fff;background:var(--brand-dark)}.button-reset{cursor:pointer;background-color:#0000;border:0}.mobile-nav{z-index:40;padding:6px 8px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav .nav-link{align-content:center;place-items:center;gap:3px;min-height:52px;padding:6px 2px;font-size:.66rem;font-weight:700;display:grid}.mobile-nav .nav-icon{width:22px;height:22px}.mobile-nav .nav-scan{color:#fff;background:var(--brand);box-shadow:var(--shadow-brand);border-radius:14px}.mobile-nav .nav-scan:hover,.mobile-nav .nav-scan[aria-current=page]{color:#fff;background:var(--brand-dark)}.button{text-align:center;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 18px;font-weight:750;line-height:1.15;transition:background-color .12s,border-color .12s,box-shadow .12s,transform .12s;display:inline-flex}.button:active{transform:translateY(1px)}.button-primary{color:#fff;background:var(--brand);box-shadow:var(--shadow-brand)}.button-primary:hover{color:#fff;background:var(--brand-dark)}.button-secondary{border-color:var(--line-strong);color:var(--navy-soft);background:#fff}.button-secondary:hover{color:var(--navy-soft);background:#fff;border-color:#9fb0c6}.button-quiet{color:var(--muted-strong);background:0 0}.button-quiet:hover{color:var(--navy);background:var(--surface-subtle)}.button-danger{color:#fff;background:var(--danger)}.button-success{color:#fff;background:var(--green)}.button-success:hover{color:#fff;background:var(--green-dark)}.button-large{border-radius:14px;min-height:56px;padding:14px 24px;font-size:1.05rem}.button-block{width:100%}.button[disabled]{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.button-icon{flex:none;width:20px;height:20px}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-small)}.card-grid,.stat-grid,.feature-grid,.pillar-grid,.workflow-grid{grid-template-columns:1fr;gap:14px;display:grid}.content-card,.stat-card,.feature-card,.pillar-card{padding:20px}.content-card>h2:first-child,.content-card>.eyebrow+h2{margin-bottom:8px}.content-card p,.stat-card p,.feature-card p,.pillar-card p{color:var(--muted)}.stat-card{min-height:0}.stat-kicker{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px;font-size:.74rem;font-weight:800;display:block}.stat-value{color:var(--navy);letter-spacing:-.04em;margin-bottom:4px;font-size:2rem;font-weight:850;line-height:1;display:block}.stat-inline{color:var(--brand-deep);font-weight:750}.badge,.chip{min-height:26px;color:var(--brand-deep);background:var(--brand-soft);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:4px 10px;font-size:.74rem;font-weight:800;line-height:1.1;display:inline-flex}.badge{text-transform:capitalize}.badge-warning,.chip-orange{color:var(--orange-dark);background:var(--orange-soft)}.badge-success,.chip-green{color:var(--green-dark);background:var(--green-soft)}.chip-purple{color:var(--purple-dark);background:var(--purple-soft)}.chip-danger{color:var(--danger);background:var(--danger-soft)}.chip-neutral{color:var(--muted-strong);background:var(--surface-subtle)}.chip-dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.chip-busy .chip-dot{animation:1.2s ease-in-out infinite chip-pulse}@keyframes chip-pulse{0%,to{opacity:.35}50%{opacity:1}}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:12px 14px;transition:border-color .12s,box-shadow .12s;display:flex}a.list-row:hover,.list-row-link:hover{box-shadow:var(--shadow-small);border-color:#2563eb59}.list-row-main{flex:auto;gap:3px;min-width:0;display:grid}.list-row-title{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-weight:750;display:block;overflow:hidden}.list-row-meta{color:var(--muted);font-size:.86rem;line-height:1.4;display:block}.list-row-side{flex:none;align-items:center;gap:10px;display:flex}.avatar{color:#fff;background:var(--brand);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:1rem;font-weight:850;display:inline-grid}.avatar-large{width:64px;height:64px;font-size:1.4rem}.avatar-purple{background:var(--purple)}.avatar-green{background:var(--green)}.avatar-orange{background:var(--orange)}.form{gap:16px;margin-top:18px;display:grid}.form:first-child{margin-top:0}.compact-form{gap:10px;margin-top:10px}.field{gap:6px;display:grid}.field label,.label{color:var(--navy-soft);font-size:.88rem;font-weight:750}.field input,.field select,.field textarea{border:1px solid var(--line-strong);width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:12px;padding:11px 13px;font-size:1rem;transition:border-color .12s,box-shadow .12s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 4px #2563eb1f}.field textarea{resize:vertical;min-height:120px}input[type=radio],input[type=checkbox]{accent-color:var(--brand)}.help-text,.form-message{color:var(--muted);margin:0;font-size:.86rem;line-height:1.45}.form-message-error{color:var(--danger);font-weight:650}.choice-fieldset{border:0;margin:0;padding:0}.choice-fieldset legend{color:var(--navy-soft);margin-bottom:8px;font-size:.88rem;font-weight:750}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.choice-card{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex}.choice-card:has(input:checked){border-color:var(--brand);background:var(--surface-blue)}.choice-card input{flex:none;width:18px;height:18px}.pick-row{flex-wrap:wrap;gap:8px;display:flex}.pick-chip{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;min-height:46px;padding:6px 14px 6px 6px;font-weight:750;display:inline-flex}.pick-chip .avatar{width:32px;height:32px;font-size:.8rem}.pick-chip:has(input:checked){border-color:var(--brand);background:var(--surface-blue);color:var(--brand-deep)}.pick-chip input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.pick-chip:focus-within{outline-offset:2px;outline:3px solid #2563eb66}.notice{color:var(--brand-deep);background:var(--surface-blue);border:1px solid #bfd7ff;border-radius:14px;padding:14px 16px;font-size:.94rem;line-height:1.5}.notice h3{color:inherit;margin-bottom:4px}.notice.warning,.notice-warning{color:#92400e;background:#fffbeb;border-color:#f7d58a}.notice.danger,.notice-danger{color:var(--danger);background:#fff1f0;border-color:#f5b7b1}.notice.success,.notice-success{color:var(--green-dark);background:#ecfdf5;border-color:#a7e3cd}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius);text-align:center;background:#fff;padding:clamp(24px,5vw,40px)}.empty-state h3{margin-bottom:6px}.empty-state p{max-width:480px;color:var(--muted);margin:0 auto 14px}.empty-state p:last-child{margin-bottom:0}.table-scroll{border:1px solid var(--line);background:var(--surface);-webkit-overflow-scrolling:touch;border-radius:14px;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:640px}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:12px 14px}.data-table thead th{color:var(--muted-strong);background:var(--surface-subtle);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:800}.data-table tbody th{color:var(--navy);font-weight:750}.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}.auth-shell{place-items:center;min-height:100svh;padding:24px 18px;display:grid}.auth-card{width:min(100%,520px);padding:clamp(22px,5vw,34px)}.auth-card .brand{margin-bottom:22px}.auth-card .lede{font-size:1rem}.auth-card .form{margin-top:16px}.public-page{min-height:100vh;padding:18px 18px 60px}.public-shell{width:min(100%,1000px);margin:0 auto}.public-header{min-height:52px}.hero{padding:clamp(40px,8vw,88px) 0 30px}.hero-title{letter-spacing:-.045em;max-width:720px;font-size:clamp(2.3rem,6.5vw,4.4rem);line-height:1.02}.hero-title-accent{color:var(--brand-dark);display:block}.hero .actions{margin-top:24px}.steps-grid{grid-template-columns:1fr;gap:12px;margin-top:36px;display:grid}.step-card{padding:20px}.step-number{width:34px;height:34px;color:var(--brand-deep);background:var(--brand-soft);border-radius:10px;place-items:center;margin-bottom:12px;font-weight:850;display:inline-grid}.home-hero{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-small);border-radius:20px;gap:16px;padding:clamp(20px,4vw,30px);display:grid}.home-hero h1{margin-bottom:6px}.home-hero p{max-width:560px;color:var(--muted);margin-bottom:0}.home-hero .button-large{align-self:start}.student-cards{grid-template-columns:1fr;gap:10px;display:grid}.student-card{align-items:center;gap:14px;padding:14px 16px;transition:border-color .12s,box-shadow .12s;display:flex}.student-card:hover{border-color:#2563eb59}.student-card-copy{flex:auto;gap:2px;min-width:0;display:grid}.student-card-copy strong{color:var(--navy);font-size:1.05rem}.student-card-copy span{color:var(--muted);font-size:.86rem}.arrow{color:var(--line-strong);font-size:1.3rem}.test-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.test-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:1fr;gap:8px;padding:14px 16px;transition:border-color .12s,box-shadow .12s;display:grid}.test-row:hover{box-shadow:var(--shadow-small);border-color:#2563eb59}.test-row-main{gap:2px;min-width:0;display:grid}.test-row-title{color:var(--navy);overflow-wrap:anywhere;font-weight:750}.test-row-meta{color:var(--muted);font-size:.86rem}.test-row-shell{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.test-row-shell .test-row{min-width:0}.delete-test-control{justify-items:end;gap:6px;display:grid}.delete-test-button{white-space:nowrap;min-height:42px;padding:9px 14px}.delete-test-control .form-message{text-align:right;max-width:260px;margin:0;font-size:.78rem}@media (max-width:640px){.test-row-shell{grid-template-columns:1fr}.delete-test-control,.delete-test-button{width:100%}}.scan-layout{gap:18px;display:grid}.capture-zone{border:2px dashed var(--line-strong);text-align:center;background:#fff;border-radius:18px;align-content:center;place-items:center;gap:10px;min-height:200px;padding:24px;transition:border-color .12s,background-color .12s;display:grid;position:relative}.capture-zone:focus-within,.capture-zone.is-dragging{border-color:var(--brand);background:var(--surface-blue)}.capture-zone strong{color:var(--navy);font-size:1.05rem}.capture-zone p{max-width:380px;color:var(--muted);margin:0;font-size:.9rem}.capture-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.photo-strip{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.photo-thumb{border:1px solid var(--line);background:#fff;border-radius:12px;gap:6px;padding:8px;display:grid;position:relative}.photo-thumb img{aspect-ratio:3/4;object-fit:cover;background:var(--surface-subtle);border-radius:8px;width:100%;display:block}.photo-thumb-label{color:var(--muted-strong);justify-content:space-between;align-items:center;gap:6px;font-size:.78rem;font-weight:700;display:flex}.photo-thumb-remove{border:1px solid var(--line-strong);min-width:36px;min-height:36px;color:var(--muted-strong);cursor:pointer;background:#fff;border-radius:8px;padding:0 8px;font-size:.8rem;font-weight:750}.photo-thumb-remove:hover{color:var(--danger);border-color:#f5b7b1}.photo-pdf{background:var(--surface-subtle);min-height:120px;color:var(--muted-strong);border-radius:8px;place-items:center;font-weight:800;display:grid}.scan-footer{gap:10px;display:grid}.test-layout{gap:18px;display:grid}.stage-steps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.stage-step{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.stage-step strong{color:var(--navy-soft);font-weight:750}.stage-step-mark{background:var(--surface-subtle);width:30px;height:30px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:grid}.stage-step[data-state=done] .stage-step-mark{color:#fff;background:var(--green)}.stage-step[data-state=active]{background:var(--surface-blue);border-color:#2563eb66}.stage-step[data-state=active] .stage-step-mark{color:#fff;background:var(--brand);animation:1.2s ease-in-out infinite chip-pulse}.stage-step[data-state=failed] .stage-step-mark{color:#fff;background:var(--danger)}.scan-viewer{gap:10px;display:grid}.scan-viewer-main{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:14px;width:100%;max-height:70vh;display:block}.scan-viewer-pdf{border:1px solid var(--line);min-height:160px;color:var(--muted-strong);text-align:center;background:#fff;border-radius:14px;place-items:center;display:grid}.scan-viewer-thumbs{flex-wrap:wrap;gap:8px;display:flex}.scan-viewer-thumbs button{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;width:56px;height:72px;padding:0;overflow:hidden}.scan-viewer-thumbs button[aria-pressed=true]{border-color:var(--brand)}.scan-viewer-thumbs img{object-fit:cover;width:100%;height:100%}.action-bar{z-index:5;bottom:calc(var(--nav-height) + 8px);border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffffa;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky}.action-bar-copy{flex:220px;min-width:0}.action-bar-copy strong{color:var(--navy);display:block}.action-bar-copy span{color:var(--muted);font-size:.88rem}.action-bar .actions{flex:auto;justify-content:flex-end;min-width:0}.action-bar .actions .button{flex:150px;max-width:100%}.result-summary{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:14px 16px;display:flex}.pin-inputs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.device-list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.handoff-card{background:linear-gradient(160deg,#fff 0%,#f7f4ff 100%);border-color:#d8ccff}.handoff-card .eyebrow{color:var(--purple-dark)}.score-hero{flex-wrap:wrap;align-items:center;gap:16px 24px;padding:clamp(20px,4vw,28px);display:flex}.score-ring{background:radial-gradient(closest-side, #fff 78%, transparent 80% 100%), conic-gradient(var(--score-color,var(--brand)) calc(var(--score,0) * 1%), var(--line) 0);width:108px;height:108px;color:var(--navy);letter-spacing:-.04em;border-radius:50%;flex:none;place-items:center;font-size:1.6rem;font-weight:850;display:grid}.score-hero-copy{flex:240px;gap:4px;min-width:0;display:grid}.score-hero-copy h1,.score-hero-copy h2{margin-bottom:0}.score-facts{color:var(--muted-strong);flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;font-size:.92rem;list-style:none;display:flex}.score-facts strong{color:var(--navy)}.review-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.review-item{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:34px 1fr;gap:12px;padding:14px 16px;display:grid}.review-mark{width:32px;height:32px;color:var(--muted-strong);background:var(--surface-subtle);border-radius:50%;place-items:center;font-size:.9rem;font-weight:850;display:grid}.review-item[data-result=correct] .review-mark{color:var(--green-dark);background:var(--green-soft)}.review-item[data-result=incorrect] .review-mark{color:var(--danger);background:var(--danger-soft)}.review-item[data-result=skipped] .review-mark{color:var(--orange-dark);background:var(--orange-soft)}.review-prompt{color:var(--navy);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:8px;font-weight:650}.review-answers{color:var(--muted-strong);gap:4px;margin:0;font-size:.92rem;display:grid}.review-answers dt{font-weight:750;display:inline}.review-answers dd{overflow-wrap:anywhere;margin:0;display:inline}.review-answers div{display:block}.review-explanation{background:var(--surface-subtle);color:var(--muted-strong);border-radius:10px;margin:8px 0 0;padding:10px 12px;font-size:.9rem;line-height:1.5}.details-card{padding:0}.details-card summary{min-height:52px;color:var(--navy);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;font-weight:750;list-style:none;display:flex}.details-card summary::-webkit-details-marker{display:none}.details-card summary:after{content:"+";color:var(--brand-dark);font-size:1.2rem}.details-card[open] summary:after{content:"−"}.details-card-body{padding:0 18px 18px}.student-shell{width:min(100%,860px);margin:0 auto;padding:16px 18px 60px}.student-topbar{justify-content:space-between;align-items:center;gap:12px;min-height:52px;margin-bottom:14px;display:flex}.student-greeting{align-items:center;gap:14px;margin:10px 0 22px;display:flex}.student-greeting h1{margin-bottom:2px;font-size:clamp(1.6rem,5vw,2.2rem)}.student-greeting p{color:var(--muted);margin:0}.student-tests{gap:12px;margin:0;padding:0;list-style:none;display:grid}.big-test-card{border:1px solid var(--line);box-shadow:var(--shadow-small);background:#fff;border-radius:18px;gap:12px;padding:18px 18px 16px;display:grid}.big-test-card h2{margin-bottom:0;font-size:1.25rem}.big-test-card p{color:var(--muted);margin:0;font-size:.92rem}.big-test-card-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 12px;display:flex}.big-test-card[data-state=done]{border-color:#a7e3cd}.big-test-card[data-state=in_progress]{border-color:#2563eb73}.name-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:8px;display:grid}.name-card{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:18px;align-content:center;place-items:center;gap:10px;min-height:140px;padding:18px 12px;font-size:1.05rem;font-weight:800;transition:border-color .12s,transform .12s;display:grid}.name-card:hover{border-color:var(--brand)}.name-card .avatar{width:58px;height:58px;font-size:1.3rem}.name-card small{color:var(--muted);font-size:.78rem;font-weight:650}.name-card-parent{background:linear-gradient(180deg, #fff 0%, var(--purple-soft) 100%);border-color:#c4b5fd}.parent-mode-avatar{color:#fff;background:var(--purple);border-radius:50%;place-items:center;width:58px;height:58px;display:inline-grid}.parent-mode-avatar svg{width:29px;height:29px}.parent-mode-avatar-large{width:68px;height:68px}.pin-screen{text-align:center;justify-items:center;gap:18px;display:grid}.pin-dots{gap:12px;display:flex}.pin-dot{border:2px solid var(--line-strong);background:#fff;border-radius:50%;width:16px;height:16px;transition:background-color .1s,border-color .1s}.pin-dot[data-filled=true]{border-color:var(--brand);background:var(--brand)}.pin-pad{grid-template-columns:repeat(3,72px);gap:10px;display:grid}.pin-key{border:1px solid var(--line-strong);height:64px;color:var(--navy);cursor:pointer;background:#fff;border-radius:16px;font-size:1.5rem;font-weight:750}.pin-key:hover{background:var(--surface-subtle)}.pin-key:active{background:var(--surface-blue)}.pin-key-quiet{color:var(--muted-strong);background:0 0;border-color:#0000;font-size:1rem}.test-page{width:min(100%,860px);padding-bottom:140px}.student-context{color:var(--muted);margin-bottom:8px;font-size:.86rem;font-weight:700}.test-player{gap:14px;display:grid}.test-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.test-header .eyebrow{margin-bottom:2px}.test-header h2{margin-bottom:0;font-size:1.2rem}.test-status-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.timer-pill{color:var(--muted-strong);background:var(--surface-subtle);font-variant-numeric:tabular-nums;border-radius:10px;align-items:baseline;gap:8px;padding:6px 10px;display:inline-flex}.timer-pill span,.autosave-status{font-size:.8rem;font-weight:700}.timer-pill strong{color:var(--navy);font-size:1rem}.autosave-status{color:var(--muted)}.progress-track{background:#e6ecf4;border-radius:999px;height:8px;overflow:hidden}.progress-fill,.progress-track>span{border-radius:inherit;background:var(--brand);height:100%;transition:width .22s;display:block}.question-counter{color:var(--muted);margin:0;font-size:.86rem;font-weight:700}.question-card{border-radius:18px;padding:clamp(20px,4vw,30px)}.question-prompt{color:var(--navy);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:18px;font-size:clamp(1.15rem,3vw,1.4rem);font-weight:650;line-height:1.45}.compact-question{margin-bottom:8px;font-size:1.05rem}.question-card input,.question-card textarea{border:1px solid var(--line-strong);border-radius:12px;width:100%;min-height:54px;padding:13px 14px;font-size:1.05rem}.question-card textarea{resize:vertical;min-height:120px}.question-card input:focus,.question-card textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 4px #2563eb1f}.answer-grid{gap:10px;display:grid}.answer-choice{border:2px solid var(--line);min-height:56px;color:var(--navy-soft);text-align:left;cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;font-size:1.02rem;font-weight:600;transition:border-color .12s,background-color .12s;display:flex}.answer-choice:before{content:"";border:2px solid var(--line-strong);background:#fff;border-radius:50%;flex:none;width:20px;height:20px}.answer-choice:hover:not([disabled]){border-color:#2563eb80}.answer-choice-selected,.answer-choice-selected:hover:not([disabled]){border-color:var(--brand);background:var(--surface-blue);color:var(--brand-dark)}.answer-choice-selected:before{border-color:var(--brand);background:radial-gradient(circle, var(--brand) 45%, #fff 50%)}.answer-choice[disabled]{cursor:default;opacity:.8}.test-controls{z-index:5;bottom:max(12px, env(safe-area-inset-bottom));border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffffa;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px;display:flex;position:sticky}.test-controls .button-primary{flex:200px}.submit-panel{background:#ecfdf5;border:1px solid #a7e3cd;border-radius:16px;padding:20px}.submit-panel h3{color:var(--green-dark);margin-bottom:4px}.submit-panel p{color:var(--muted-strong);margin-bottom:14px}.learning-break-card{background:linear-gradient(160deg,#fff 0%,#f6f3ff 100%);border:1px solid #d8ccff;border-radius:18px;padding:clamp(20px,4vw,30px)}.learning-break-card .eyebrow{color:var(--purple-dark)}.learning-break-explanation{max-width:64ch;color:var(--muted-strong);font-size:1.02rem;line-height:1.65}.lesson-answer{background:#fff;border:1px solid #7c3aed33;border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:14px 0;padding:12px 14px;display:flex}.lesson-answer span{color:var(--muted);font-size:.84rem;font-weight:750}.lesson-steps{gap:8px;margin:14px 0 18px;padding-left:22px;line-height:1.55;display:grid}.learning-break-card .form{margin-top:14px}.learning-break-card .form input{border:1px solid var(--line-strong);border-radius:12px;width:100%;min-height:52px;padding:12px 14px;font-size:1.05rem}.spelling-prompt{border:1px solid var(--brand-soft);background:var(--surface-blue);border-radius:16px;gap:10px;margin-top:18px;padding:18px;display:grid}.spelling-prompt-compact{margin-top:12px;padding:14px}.spelling-prompt-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spelling-play{background:var(--brand);color:#fff;min-height:56px;font:inherit;cursor:pointer;border:0;border-radius:16px;align-items:center;gap:10px;padding:12px 22px;font-size:1.05rem;font-weight:780;display:inline-flex;box-shadow:0 8px 22px #3882f647}.spelling-play:hover{background:var(--brand-dark)}.spelling-play:focus-visible{outline:3px solid var(--brand-deep);outline-offset:3px}.spelling-play:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.spelling-play svg{flex:none}.spelling-sentence{min-height:48px}.spelling-status{min-height:1.4em;color:var(--muted-strong);margin:0;font-size:.92rem;font-weight:650}.spelling-status-warning{color:var(--warning)}.spelling-input{letter-spacing:.06em;margin-top:16px;font-size:1.35rem}.spelling-letters{color:var(--brand-deep);letter-spacing:.04em;flex-basis:100%;font-size:1rem;font-weight:720}.spelling-answer-cell{letter-spacing:.03em;font-weight:650}@media print{.spelling-prompt{display:none!important}}@media (min-width:640px){.student-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.test-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.steps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid,.stat-grid,.feature-grid,.pillar-grid,.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center}}@media (min-width:960px){:root{--nav-height:0px}.desktop-nav{display:flex}.mobile-nav{display:none}.page{padding-top:32px;padding-bottom:60px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.test-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}.test-layout>.scan-column{position:sticky;top:84px}.action-bar,.test-controls{bottom:12px}}@media (max-width:480px){.page-heading{align-items:stretch}.action-bar{gap:8px;padding:10px 12px}.action-bar-copy span{display:none}.action-bar .actions .button{flex:120px;min-height:44px;padding:8px 10px;font-size:.92rem}.page-actions .button{flex:auto}.pin-pad{grid-template-columns:repeat(3,64px)}.test-header{align-items:stretch}.test-status-group{justify-content:space-between}}.source-text-preview{border:1px solid var(--line);max-height:70vh;color:var(--navy);font:inherit;white-space:pre-wrap;background:#fffef9;border-radius:16px;margin:0;padding:clamp(16px,3vw,28px);line-height:1.65;overflow:auto}.study-pack-hero{background:linear-gradient(135deg,#eef8ff,#fff8e8);border:1px solid #cfe0ef;border-radius:24px;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding:clamp(22px,5vw,42px);display:flex}.study-pack-hero h1{margin:2px 0 8px}.study-pack-hero p:last-child{margin-bottom:0;font-weight:700}.study-mode-nav{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.study-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;display:grid}.study-flashcard{min-height:220px;color:var(--navy);text-align:left;cursor:pointer;background:#fff;border:1px solid #c9d8e8;border-radius:22px;align-content:center;gap:12px;padding:28px;display:grid;box-shadow:0 8px 24px #172b4610}.study-flashcard strong{font-size:1.25rem;line-height:1.45}.study-flashcard small,.study-source{color:var(--muted-strong)}.study-learn-list,.study-vocabulary-list{gap:16px;display:grid}.study-learn-list .content-card,.study-vocabulary-list .content-card{margin:0}.study-action-card{gap:14px;max-width:760px;margin:0 auto;display:grid}.study-action-card .list{margin-bottom:8px}.mastery-grid{gap:8px;display:grid}.mastery-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.mastery-row:last-child{border-bottom:0}.printable-study-pack{color:#111;background:#fff}.printable-study-pack section{margin:28px 0}.printable-study-pack article{break-inside:avoid;border-bottom:1px solid #ccc;padding:10px 0}.print-flashcard{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:640px){.study-pack-hero{display:grid}.study-pack-hero .button{width:100%}}@media print{.app-header,.mobile-nav,.no-print{display:none!important}.app-main,.page{max-width:none;margin:0;padding:0}.printable-study-pack{font-size:11pt}.printable-study-pack h1{font-size:24pt}.printable-study-pack h2{break-after:avoid}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.app-header,.mobile-nav,.action-bar,.test-controls{display:none!important}.page{padding:0}}.kid-practice{gap:22px;max-width:820px;margin:0 auto}.practice-banner{--practice-tint:#e6efff;--practice-edge:#d3e3fb;--practice-green-ink:#065f46;--practice-amber-ink:#92400e;border:1px solid var(--practice-edge);background:radial-gradient(130% 150% at 100% 0%, #fff 0%, #fff0 58%), linear-gradient(135deg, var(--practice-tint), #f9fcff 72%);border-radius:24px;gap:14px;padding:clamp(14px,3vw,20px);display:grid;box-shadow:0 10px 26px #172b4612}.practice-exit{border:1px solid var(--practice-edge);min-height:44px;color:var(--brand-dark);background:#ffffffd9;border-radius:999px;justify-self:start;padding:8px 16px;font-size:.95rem}.practice-exit:hover:not([disabled]){border-color:var(--brand);background:#fff}.practice-banner-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;display:flex}.practice-banner-main h2{color:var(--navy);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.35rem,4vw,1.9rem);line-height:1.15}.practice-banner .eyebrow{margin-bottom:2px}.practice-counter{border:1px solid var(--practice-edge);color:var(--brand-dark);white-space:nowrap;background:#fff;border-radius:999px;align-items:baseline;gap:6px;margin:0;padding:6px 14px;font-size:.9rem;font-weight:750;display:inline-flex}.practice-counter strong{color:var(--navy);font-variant-numeric:tabular-nums;font-size:1.2rem}.practice-progress{gap:12px;display:grid}.practice-steps{flex-wrap:wrap;align-items:center;gap:clamp(10px,1.5vw,14px);margin:0;padding:4px;list-style:none;display:flex}.practice-step{aspect-ratio:1;color:#4c5f76;background:#fff;border:1px solid #cfdcec;border-radius:999px;flex:none;place-items:center;width:clamp(36px,5vw,42px);font-size:1rem;font-weight:800;line-height:1;display:grid}.practice-step-mark{place-items:center;width:1.25em;height:1.25em;line-height:1;display:grid}.practice-step[data-status=correct]{border-color:var(--green-dark);color:#fff;background:var(--green-dark)}.practice-step[data-status=practice]{border-color:var(--orange-dark);color:#fff;background:var(--orange-dark)}.practice-step[data-status=saved]{color:var(--navy-soft);background:#e7edf5;border-color:#9fb0c6}.practice-step[data-current=true]{outline:2px solid var(--brand);outline-offset:3px}.practice-step[data-current=true][data-status=open]{border-color:var(--brand);color:var(--brand-dark);background:var(--brand-soft)}.practice-score{flex-wrap:wrap;gap:8px;margin:0;display:flex}.practice-score-chip{border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:6px 14px;font-size:.92rem;font-weight:700;display:inline-flex}.practice-score-chip strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.practice-score-mark{place-items:center;width:1.15em;font-size:1rem;line-height:1;display:inline-grid}.practice-score-chip[data-tone=right]{color:var(--practice-green-ink);background:var(--green-soft);border-color:#a4e0c5}.practice-score-chip[data-tone=practice]{color:var(--practice-amber-ink);background:var(--orange-soft);border-color:#ecd18f}.practice-score-chip[data-zero=true]{border-color:var(--line-strong);color:var(--muted-strong);background:#eef2f7}.study-scope .practice-banner{--practice-tint:var(--study-tint,#e6efff);--practice-edge:var(--study-line,#d3e3fb)}.study-scope .practice-exit,.study-scope .practice-counter{color:var(--study-accent,var(--brand-dark))}.study-scope .practice-counter strong{color:var(--study-ink,var(--navy))}.study-scope .practice-step[data-current=true]{outline-color:var(--study-accent,var(--brand))}.study-scope .practice-step[data-current=true][data-status=open]{border-color:var(--study-accent,var(--brand));color:var(--study-accent,var(--brand-dark));background:#fff}.kid-practice .progress-track{height:10px}.kid-practice .question-card{border:1px solid var(--line);background:#fffefa;padding:clamp(18px,4vw,32px);box-shadow:0 8px 30px #172b4610}.practice-word-row{align-items:center;gap:10px;display:flex}.practice-word-row .question-prompt{flex:1;min-width:0;margin:0 0 12px}.practice-word-row .practice-word{flex:0 auto;font-size:clamp(2rem,6vw,3rem);font-weight:800;line-height:1.15}.practice-instruction{color:var(--navy);margin:0 0 24px;font-size:1.15rem}.practice-pronunciation{color:var(--brand);flex:none}.practice-pronunciation .button{min-width:44px;min-height:44px;padding:8px}.practice-pronunciation span{max-width:130px;font-size:.8rem;display:block}.kid-practice .answer-choice{overflow-wrap:anywhere;min-height:64px;font-size:1.1rem;font-weight:500;line-height:1.5}.kid-practice .answer-choice:focus-visible,.kid-practice .button:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.practice-primary{width:100%;min-height:54px;margin-top:24px;font-size:1.05rem}.practice-primary:disabled{color:#516375;opacity:1;box-shadow:none;cursor:default;background:#e0e9f0}.practice-helper{text-align:center;color:var(--muted-strong);margin:10px 0 0;font-size:.9rem}.practice-buddy{justify-content:center;align-items:center;gap:14px;display:flex}.practice-buddy>:first-child{flex:0 0 72px;width:72px;height:72px}.practice-buddy p{color:#235f64;background:#e5f3f1;border-radius:18px;margin:0;padding:12px 16px;font-size:.95rem}.practice-navigation{border-top:1px solid var(--line);justify-content:space-between;gap:8px;padding-top:10px;display:flex}.practice-navigation .button{min-height:44px;color:var(--brand)}.practice-feedback{overflow-wrap:anywhere;background:#f0f5fa;border-radius:14px;padding:18px}.practice-feedback h3{margin:0 0 12px;font-size:1.4rem}.practice-feedback p{margin:10px 0 0;font-size:1.1rem;line-height:1.6}.practice-feedback-correct{color:#205c39;background:#ebf7ef}.practice-feedback-incorrect{color:#694b24;background:#fff5e6}.practice-correct-answer{color:#205c39}@media (max-width:480px){.kid-practice{gap:16px}.kid-practice .answer-choice{padding:12px;font-size:1rem}.practice-navigation .button{padding:10px 8px}.practice-buddy>:first-child{flex-basis:56px;width:56px;height:56px}.practice-banner{border-radius:20px;gap:12px}.practice-exit{padding:8px 14px;font-size:.9rem}.practice-counter{padding:5px 12px;font-size:.84rem}.practice-counter strong{font-size:1.08rem}.practice-steps{gap:10px}.practice-step{font-size:.95rem}.practice-score-chip{padding:5px 12px;font-size:.86rem}.practice-score-chip strong{font-size:1.05rem}}
.break-anywhere{overflow-wrap:anywhere;word-break:break-word}.table-scroll{border:1px solid var(--line);background:var(--surface);width:100%;box-shadow:var(--shadow-small);-webkit-overflow-scrolling:touch;border-radius:17px;overflow-x:auto}.data-table{border-collapse:collapse;background:var(--surface);width:100%;min-width:880px}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;padding:14px 15px}.data-table thead th{color:var(--muted-strong);background:linear-gradient(180deg, #fbfdff, var(--surface-subtle));letter-spacing:.06em;text-transform:uppercase;font-size:.73rem;font-weight:850}.data-table tbody th{color:var(--navy);font-weight:800}.data-table tbody tr{transition:background-color .14s}.data-table tbody tr:hover{background:#eff6ff9e}.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}.button-primary{background:linear-gradient(135deg, var(--brand-dark) 0%, var(--brand-deep) 100%)}.button-primary:hover{background:linear-gradient(135deg, var(--brand-deep) 0%, #1e40af 100%)}@media (max-width:420px){.mobile-nav .nav-link{font-size:.62rem}.mobile-nav .nav-icon{width:18px;height:18px}}


.list-row-main{gap:4px;min-width:0;display:grid}.list-row-title{margin-bottom:0}.password-toggle{min-width:44px;min-height:40px;padding:6px 10px}.button-primary:focus-visible{color:#fff}.button-quiet:focus-visible,.nav-link:focus-visible,.password-toggle:focus-visible,a.list-row:focus-visible .list-row-title,.student-profile-radio:focus-visible+.student-profile-card .student-profile-name{color:var(--navy)}a.list-row:focus-visible .list-row-meta,.student-profile-radio:focus-visible+.student-profile-card .student-profile-grade{color:var(--muted-strong)}@media (hover:hover){.button-primary:not([disabled]):hover{color:#fff}.button-quiet:not([disabled]):hover,.nav-link:hover,.password-toggle:hover,a.list-row:hover .list-row-title{color:var(--navy)}a.list-row:hover .list-row-meta{color:var(--muted-strong)}.answer-choice:hover:not([disabled]):not(.answer-choice-selected){color:var(--navy-soft)}.answer-choice-selected:hover:not([disabled]){color:var(--brand-deep)}.student-profile-option:hover .student-profile-name{color:var(--navy)}.student-profile-option:hover .student-profile-grade{color:var(--muted-strong)}}
.onboarding-shell{min-height:100svh;padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));place-items:center;display:grid;position:relative;overflow-x:hidden}.onboarding-shell:before,.onboarding-shell:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.onboarding-shell:before{filter:blur(2px);background:#3882f61f;width:420px;height:420px;top:-180px;left:-150px}.onboarding-shell:after{filter:blur(4px);background:#8b5cf617;width:480px;height:480px;bottom:-210px;right:-170px}.onboarding-layout{z-index:1;background:#fff;border:1px solid #cbd5e1d1;border-radius:30px;grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr);width:min(100%,1020px);min-height:620px;display:grid;position:relative;overflow:hidden;box-shadow:0 32px 90px #0f172a24,0 2px 8px #0f172a0a}.onboarding-intro{color:#fff;background:radial-gradient(circle at 85% 12%,#8b5cf680,#0000 14rem),radial-gradient(circle at 8% 92%,#10b98140,#0000 16rem),linear-gradient(155deg,#0f172a 0%,#172554 54%,#1d4ed8 120%);flex-direction:column;min-width:0;padding:clamp(30px,4vw,46px);display:flex;position:relative}.onboarding-intro:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:250px;height:250px;position:absolute;bottom:-94px;right:-78px;box-shadow:0 0 0 28px #ffffff09,0 0 0 62px #ffffff05}.onboarding-brand{z-index:1;background:#fffffff5;border:1px solid #ffffffb8;border-radius:16px;width:fit-content;margin-bottom:clamp(42px,8vh,76px);padding:10px 13px;position:relative;box-shadow:0 14px 34px #0f172a2e}.onboarding-intro-copy{z-index:1;position:relative}.onboarding-time,.onboarding-profile-badge{letter-spacing:.04em;border-radius:999px;align-items:center;min-height:32px;padding:6px 10px;font-size:.72rem;font-weight:850;display:inline-flex}.onboarding-time{color:#dbeafe;background:#ffffff1f;margin-bottom:20px;box-shadow:inset 0 0 0 1px #ffffff24}.onboarding-intro h1{color:#fff;letter-spacing:-.06em;max-width:10ch;margin-bottom:18px;font-size:clamp(2.1rem,4.5vw,3.35rem);line-height:1.01}.onboarding-intro-copy>p{color:#ffffffc2;max-width:34ch;margin-bottom:0;font-size:.98rem;line-height:1.62}.onboarding-benefits{z-index:1;gap:14px;margin:34px 0 0;padding:0;list-style:none;display:grid;position:relative}.onboarding-benefits li{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;display:grid}.onboarding-check{color:#d1fae5;background:#10b98133;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.76rem;font-weight:900;display:grid}.onboarding-benefits strong,.onboarding-benefits small{display:block}.onboarding-benefits strong{color:#fff;margin-bottom:2px;font-size:.85rem}.onboarding-benefits small{color:#ffffff9e;font-size:.77rem;line-height:1.42}.onboarding-privacy{z-index:1;color:#ffffff8c;align-items:center;gap:8px;margin:auto 0 0;padding-top:28px;font-size:.72rem;line-height:1.4;display:flex;position:relative}.onboarding-privacy span{color:#34d399;font-size:.55rem}.onboarding-panel{background:linear-gradient(#f8fafc80,#0000 180px),#fff;flex-direction:column;min-width:0;padding:clamp(32px,5vw,58px);display:flex}.onboarding-form{gap:24px;margin:0;display:grid}.onboarding-profile-badge{width:fit-content;color:var(--brand-deep);background:var(--surface-blue);box-shadow:inset 0 0 0 1px #3882f61f}.onboarding-steps{grid-template-columns:minmax(0,1fr) minmax(34px,.34fr) minmax(0,1fr);align-items:center;gap:10px;display:grid}.onboarding-step{min-width:0;color:var(--muted);align-items:center;gap:10px;display:flex}.onboarding-step-number{border:1px solid var(--line-strong);width:34px;height:34px;color:var(--muted-strong);background:#fff;border-radius:50%;flex:none;place-items:center;font-size:.78rem;font-weight:900;display:grid}.onboarding-step strong,.onboarding-step small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.onboarding-step strong{color:inherit;margin-bottom:2px;font-size:.78rem}.onboarding-step small{color:var(--muted);font-size:.68rem}.onboarding-step-active{color:var(--brand-deep)}.onboarding-step-active .onboarding-step-number{border-color:var(--brand);color:#fff;background:var(--brand-dark);box-shadow:0 7px 18px #2563eb3b}.onboarding-step-complete{color:var(--green-dark)}.onboarding-step-complete .onboarding-step-number{color:var(--green-dark);background:var(--green-soft);border-color:#a7e3cd}.onboarding-step-line{background:var(--line);border-radius:999px;height:2px;display:block}.onboarding-step-line-complete{background:#6ee7b7}.onboarding-form-header{gap:8px;display:grid}.onboarding-form-header .eyebrow{margin-bottom:0}.onboarding-form-header h2{max-width:14ch;margin-bottom:0;font-size:clamp(2rem,4vw,2.7rem);line-height:1.02}.onboarding-form-header h2:focus{outline:none}.onboarding-form-header>p:last-child{max-width:58ch;color:var(--muted);margin-bottom:0;font-size:.96rem;line-height:1.6}.onboarding-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.onboarding-field{align-content:start;gap:8px;min-width:0}.onboarding-label-row{justify-content:space-between;align-items:baseline;gap:12px;min-height:20px;display:flex}.onboarding-label-row label{color:var(--navy);font-size:.87rem;font-weight:820}.onboarding-label-row span{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:.68rem;font-weight:780}.onboarding-field input{border-width:1.5px;border-radius:15px;min-height:54px;padding:13px 15px;font-size:1rem}.onboarding-field input::placeholder{color:#94a3b8}.onboarding-field .help-text{min-height:2.5em;font-size:.76rem;line-height:1.4}.onboarding-preview{background:radial-gradient(circle at 100% 0%, #8b5cf614, transparent 12rem), var(--surface-blue);border:1px solid #3882f629;border-radius:17px;align-items:center;gap:13px;min-width:0;padding:14px 15px;display:flex}.onboarding-preview-avatar{color:#fff;background:linear-gradient(145deg, var(--brand), var(--purple-dark));letter-spacing:.02em;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;font-size:.8rem;font-weight:900;display:grid;box-shadow:0 9px 22px #3882f633}.onboarding-preview-copy{min-width:0}.onboarding-preview-copy small,.onboarding-preview-copy strong{display:block}.onboarding-preview-copy small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;font-size:.68rem;font-weight:760}.onboarding-preview-copy strong{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.onboarding-note{border:1px solid var(--line);background:var(--surface-subtle);border-radius:15px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:13px 14px;display:grid}.onboarding-note>span{width:22px;height:22px;color:var(--brand-deep);background:var(--brand-soft);border-radius:50%;place-items:center;font-size:.72rem;font-weight:900;display:grid}.onboarding-note p{color:var(--muted-strong);margin:0;font-size:.78rem;line-height:1.45}.onboarding-error{background:#fff1f0;border:1px solid #f5b7b1;border-radius:13px;padding:12px 14px}.onboarding-actions{grid-template-columns:1fr;gap:10px;display:grid}.onboarding-actions-with-back{grid-template-columns:auto minmax(0,1fr)}.onboarding-primary-button{border-radius:16px;width:100%;min-height:54px;font-size:.95rem}.onboarding-primary-button span{font-size:1.15rem;transition:transform .15s}.onboarding-primary-button:hover span{transform:translate(2px)}.onboarding-back-button{border:1px solid var(--line-strong);min-height:54px;color:var(--muted-strong);cursor:pointer;background:#fff;border-radius:16px;justify-content:center;align-items:center;gap:7px;padding:12px 16px;font-weight:790;display:inline-flex}.onboarding-back-button:hover{color:var(--navy);background:var(--surface-subtle);border-color:#b6c4d6}.onboarding-back-button[disabled]{cursor:not-allowed;opacity:.55}.onboarding-account-switch{border-top:1px solid var(--line);color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 9px;margin-top:auto;padding-top:26px;font-size:.78rem;display:flex}.onboarding-signout{justify-items:center;display:grid}.onboarding-signout-button{min-height:44px;color:var(--brand-deep);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 4px;font-weight:820}.onboarding-signout-button:hover{color:#173eae;text-underline-offset:3px;text-decoration:underline}.onboarding-signout-button[disabled]{cursor:not-allowed;opacity:.55}.onboarding-signout .form-message{margin-top:4px}@media (max-width:899px){.onboarding-shell{background:#fff;padding:0;display:block}.onboarding-shell:before,.onboarding-shell:after{display:none}.onboarding-layout{width:100%;min-height:100svh;box-shadow:none;border:0;border-radius:0;grid-template-columns:1fr}.onboarding-intro{min-height:auto;padding:max(18px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 24px max(20px, env(safe-area-inset-left));background:radial-gradient(circle at 88% 0,#8b5cf675,#0000 12rem),linear-gradient(145deg,#0f172a 0%,#172554 58%,#1d4ed8 130%)}.onboarding-intro:after,.onboarding-benefits,.onboarding-privacy{display:none}.onboarding-brand{border-radius:14px;margin-bottom:24px;padding:8px 11px}.onboarding-intro-copy{display:block}.onboarding-time{width:fit-content;margin-bottom:14px}.onboarding-intro h1{max-width:18ch;margin-bottom:0;font-size:clamp(1.65rem,7vw,2.15rem);line-height:1.04}.onboarding-intro-copy>p{display:none}.onboarding-panel{min-height:0;padding:30px max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left))}.onboarding-form{gap:22px}.onboarding-form-header h2{font-size:clamp(2rem,8vw,2.45rem)}.onboarding-fields{grid-template-columns:1fr}.onboarding-field .help-text{min-height:0}.onboarding-account-switch{margin-top:30px}}@media (max-width:899px) and (max-height:520px) and (orientation:landscape){.onboarding-intro{padding:max(12px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 12px max(20px, env(safe-area-inset-left));flex-direction:row;align-items:center;gap:18px;display:flex}.onboarding-brand{flex:none;margin-bottom:0}.onboarding-intro-copy{min-width:0}.onboarding-time{display:none}.onboarding-intro h1{max-width:none;font-size:1.3rem}.onboarding-panel{padding-top:22px}}@media (max-width:460px){.onboarding-intro{padding-left:16px;padding-right:16px}.onboarding-brand{margin-bottom:20px}.onboarding-panel{padding:26px 16px max(22px, env(safe-area-inset-bottom))}.onboarding-steps{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:6px}.onboarding-step{gap:7px}.onboarding-step-number{width:31px;height:31px}.onboarding-step small{display:none}.onboarding-form-header>p:last-child{font-size:.9rem}.onboarding-actions-with-back{grid-template-columns:1fr}.onboarding-back-button{background:0 0;border-color:#0000;order:2;min-height:48px}.onboarding-primary-button{min-height:56px}.onboarding-account-switch{gap:0;padding-top:22px;display:grid}}@media (min-width:900px) and (max-height:760px){.onboarding-shell{place-items:start center}.onboarding-layout{min-height:auto}.onboarding-brand{margin-bottom:38px}}@media (prefers-reduced-motion:reduce){.onboarding-primary-button span{transition:none}}
@media (max-width:899px){.onboarding-layout{grid-template-rows:auto minmax(0,1fr)}}@media (min-width:640px) and (max-width:899px){.onboarding-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.book-page-heading,.book-heading-actions,.book-card-topline,.book-section-row,.student-page-range,.student-book-submit,.student-book-card{align-items:center;display:flex}.book-page-heading{justify-content:space-between;gap:24px}.book-heading-actions{flex-wrap:wrap;gap:10px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.book-card{grid-template-columns:12px 1fr;gap:18px;min-height:250px;display:grid;position:relative;overflow:hidden}.book-spine{background:linear-gradient(180deg, var(--brand), var(--purple));border-radius:999px;width:12px;height:100%}.book-card-body{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.book-card-body .button{margin-top:auto}.book-card-topline{width:100%;color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:20px;font-size:.8rem;font-weight:750}.book-status{border:1px solid var(--line);min-height:30px;color:var(--muted-strong);background:var(--surface-subtle);border-radius:999px;align-items:center;padding:5px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.book-status-ready{color:var(--green-dark);background:var(--green-soft);border-color:#10b98142}.book-status-review_required{color:var(--orange-dark);background:var(--orange-soft);border-color:#f59e0b47}.book-status-failed{color:var(--danger);background:var(--danger-soft);border-color:#b4231833}.book-form-grid,.book-section-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.book-import-fields{border:0;min-width:0;margin:0;padding:0}.book-field-wide{grid-column:1/-1}.book-consent{border:1px solid var(--line);border-radius:var(--radius-small);color:var(--muted-strong);background:var(--surface-subtle);align-items:flex-start;gap:12px;padding:16px;line-height:1.5;display:flex}.book-consent input{flex:none;width:22px;height:22px}.book-upload-progress{border-radius:var(--radius-small);background:var(--brand-soft);height:54px;position:relative;overflow:hidden}.book-upload-progress span{background:#3882f647;transition:width .18s;position:absolute;inset:0 auto 0 0}.book-upload-progress p{z-index:1;margin:0;padding:16px;font-weight:750;position:relative}.book-setup-stack{gap:18px;display:grid}.book-warning{border-radius:var(--radius-small);color:var(--orange-dark);background:var(--orange-soft);border:1px solid #f59e0b52;padding:18px 20px}.book-warning ul{margin-bottom:0}.book-inline-form{align-items:flex-end;gap:14px;display:flex}.book-inline-form .field{flex:1}.book-section-list{gap:10px;margin:20px 0;display:grid}.book-section-row{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface-subtle);justify-content:space-between;gap:20px;min-height:62px;padding:12px 14px}.book-section-row span:first-child{gap:4px;display:grid}.book-section-row small{color:var(--muted)}.book-section-reject{min-height:42px;padding:8px 12px}.book-loader{border:5px solid var(--brand-soft);border-top-color:var(--brand);border-radius:50%;width:42px;height:42px;margin-bottom:22px;animation:.9s linear infinite book-spin;display:block}@keyframes book-spin{to{transform:rotate(360deg)}}.student-books-page{max-width:920px}.student-book-heading{margin:34px 0 26px}.student-book-heading h1{margin-bottom:12px;font-size:clamp(2.2rem,8vw,4.1rem)}.student-book-grid{gap:14px;display:grid}.student-book-card{border:1px solid var(--line);border-radius:var(--radius);min-height:118px;box-shadow:var(--shadow-small);background:#ffffffeb;gap:18px;padding:16px}.student-book-card:hover{border-color:#3882f659;transform:translateY(-1px)}.student-book-cover{color:#fff;background:linear-gradient(90deg, #0f172a33 0 7px, transparent 7px), linear-gradient(145deg, var(--brand), var(--purple));border-radius:8px 14px 14px 8px;flex:none;place-items:center;width:70px;height:88px;font-weight:900;display:grid;box-shadow:0 10px 20px #2563eb33}.student-book-card-copy{flex:1;gap:5px;min-width:0;display:grid}.student-book-card-copy strong{font-size:1.12rem}.student-book-card-copy small{color:var(--muted)}.student-book-arrow{color:var(--brand-dark);font-size:1.5rem;font-weight:900}.student-back-link{min-height:48px;color:var(--brand-deep);align-items:center;font-weight:800;display:inline-flex}.student-book-builder{gap:16px;padding-bottom:110px;display:grid}.student-page-range{gap:14px}.student-page-range .field{flex:1}.student-book-builder select,.student-book-builder button{min-height:52px}.student-book-submit{z-index:5;bottom:calc(12px + env(safe-area-inset-bottom));border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #3882f640;justify-content:space-between;gap:14px;padding:14px;position:sticky}.student-book-submit div{gap:3px;display:grid}.student-book-submit span{color:var(--muted);font-size:.82rem}.student-build-page{align-content:start;min-height:70vh;display:grid}.student-build-card{text-align:center;max-width:650px;margin:40px auto}.student-build-card .book-loader{margin-left:auto;margin-right:auto}.student-build-icon{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 22px;font-size:1.7rem;font-weight:900;display:grid}.student-build-icon-warn{background:var(--orange)}.book-skeleton{border-radius:var(--radius);background:linear-gradient(100deg, var(--surface-subtle) 20%, var(--brand-soft) 40%, var(--surface-subtle) 60%);background-size:220% 100%;min-height:118px;animation:1.2s ease-in-out infinite book-shimmer}.book-skeleton-title{width:55%;min-height:70px;margin:34px 0 26px}.book-skeleton-panel{min-height:240px;margin:18px 0}@keyframes book-shimmer{to{background-position-x:-220%}}@media (max-width:720px){.book-page-heading,.book-inline-form,.student-book-submit{flex-direction:column;align-items:stretch}.book-grid,.book-form-grid,.book-section-form{grid-template-columns:1fr}.book-field-wide{grid-column:auto}.book-heading-actions .button,.book-inline-form .button,.student-book-submit .button{width:100%}.student-page-range{flex-direction:column;align-items:stretch}.student-book-card{gap:12px}.student-book-cover{width:58px;height:76px}}@media (prefers-reduced-motion:reduce){.book-loader,.book-skeleton{animation:none}}
