:root{--lp-primary: #6c4dff;--lp-primary-strong: #4b32c3;--lp-ink: #120a2a;--lp-ink-2: #2b1e55;--lp-muted: #665887;--lp-surface: #fffaff;--lp-surface-2: #f7edff;--lp-border: #d8b4ff;--lp-border-soft: #e3c8ff;--lp-sidebar: linear-gradient(180deg, #4b32c3, #120a2a);--lp-success: #1f7a4d;--lp-warning: #9a5b00;--lp-danger: #b3261e;--lp-info: #1c5fb8;--lp-neutral: #6b6880;--lp-family-bg: #fdfbff}:root{font-family:Inter,Noto Sans TC,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#120a2a;background:#f1e6ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{font:inherit}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#f7edff}.auth-intro{position:relative;isolation:isolate;min-height:100vh;padding:clamp(2rem,5.4vw,5rem);display:flex;flex-direction:column;color:#120a2a;overflow:hidden;background:linear-gradient(145deg,#f7edff,#e3c8ff 45%,#6c4dff)}.auth-intro:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.4;background-image:radial-gradient(circle at 14% 18%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 75% 77%,#fff 0 1px,transparent 1.5px);background-size:38px 38px,52px 52px}.auth-intro:after{content:"";position:absolute;right:-18%;bottom:-30%;width:min(40rem,80vw);aspect-ratio:1;border-radius:50%;z-index:-1;background:radial-gradient(circle,#d8b4ff 0%,#6c4dff70 37%,transparent 70%)}.portal-brand{display:flex;align-items:center;gap:.7rem;font-size:1.3rem;line-height:1}.portal-brand strong{display:block;letter-spacing:-.04em}.portal-brand small{display:block;margin-top:.35rem;font-size:.76rem;letter-spacing:.1em}.brand-mark{display:grid;place-items:center;width:2.55rem;height:2.55rem;border-radius:50% 50% 47% 47%;background:#fffaff;color:#4b32c3;font-weight:900;font-size:1rem;box-shadow:0 7px 18px #4b32c340}.intro-copy{margin:auto 0;max-width:34rem}.eyebrow,.panel-kicker{font-size:.76rem;font-weight:800;letter-spacing:.13em}.auth .eyebrow{color:#4b32c3}.auth h1{margin:.7rem 0 1.2rem;font-size:clamp(2.5rem,4.3vw,4.6rem);line-height:1.13;letter-spacing:-.06em}.auth h1 em{color:#4b32c3;font-style:normal}.auth-intro p{font-size:1.08rem;line-height:1.85;max-width:31rem;color:#2b1e55}.intro-link{display:inline-flex;gap:.45rem;margin-top:1.65rem;color:#120a2a;font-weight:700;text-underline-offset:.4rem}.learning-note{display:flex;align-items:center;gap:.85rem;margin:0;font-size:.88rem!important}.learning-steps{display:flex}.learning-steps i{display:grid;place-items:center;width:2rem;height:2rem;margin-right:-.36rem;border:2px solid #a47af7;border-radius:50%;font-style:normal;font-size:.67rem;font-weight:800;background:#f7edff;color:#4b32c3}.learning-steps i:nth-child(2){background:#d8b4ff}.learning-steps i:nth-child(3){background:#6c4dff;color:#fff}.auth-panel{display:grid;place-items:center;padding:2rem;background:linear-gradient(145deg,#fffaff,#f1e6ff)}.card{width:min(100%,25rem);padding:2.35rem 2.15rem;border:1px solid #d8b4ff;border-radius:1.25rem;background:#f7edffcc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#120a2a;box-shadow:0 20px 55px #6c4dff26,0 0 0 1px #ffffff75}.lock-badge{display:grid;place-items:center;width:2.7rem;height:2.7rem;margin-bottom:1.8rem;border-radius:50%;background:#4b32c3;color:#fff;font-size:1.55rem;font-weight:900;box-shadow:0 0 22px #d8b4ff}.panel-kicker{color:#4b32c3}.card h2{margin:.6rem 0;font-size:2rem;letter-spacing:-.05em}.card>p:not(.error){margin:0 0 1.65rem;color:#574a76;line-height:1.65}.button,button{display:flex;justify-content:center;align-items:center;gap:.55rem;width:100%;border:0;border-radius:.65rem;padding:1rem 1.1rem;background:#6c4dff;color:#fff;text-decoration:none;font-weight:800;box-shadow:0 10px 18px #6c4dff40;cursor:pointer;transition:transform .18s,background .18s}.button:hover{background:#4b32c3;transform:translateY(-1px)}.error{margin:0 0 1rem;padding:.75rem .9rem;border-radius:.6rem;background:#fff0eb;color:#a4351d;font-size:.9rem;line-height:1.5}.card-footer{margin-top:1.8rem;padding-top:1.35rem;border-top:1px solid #dfc7fa;color:#665887;font-size:.86rem;line-height:1.65;text-align:center}.loading{min-height:100vh;display:grid;place-items:center;color:#4b32c3}.app-shell{min-height:100vh;display:grid;grid-template-columns:255px minmax(0,1fr)}aside{background:linear-gradient(180deg,#4b32c3,#120a2a);color:#f2eaff;padding:1.55rem;display:flex;flex-direction:column}.brand{display:flex;gap:.65rem;align-items:center;font-size:1.05rem;font-weight:750;letter-spacing:-.02em}.app-shell .brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.62rem;background:#d8b4ff;color:#4b32c3;font-weight:900}.portal-name{color:#d8b4ff;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin:2.7rem .75rem 1rem}nav{display:grid;gap:.35rem}nav a{display:flex;align-items:center;gap:.8rem;padding:.78rem .85rem;color:#e4dcf5;text-decoration:none;border-radius:.6rem;font-size:.95rem}nav a.active,nav a:hover{background:#ffffff20;color:#fff}.icon{display:inline-grid;place-items:center;width:1.2rem;font-weight:700}.side-note{margin-top:auto;padding:1rem;color:#e2d8f9;background:#120a2a8c;border:1px solid #d8b4ff3d;border-radius:.7rem;font-size:.75rem;line-height:1.55}.side-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:99px;background:#d8b4ff;margin-right:.45rem}main{min-width:0}header{height:77px;background:#fffaff;border-bottom:1px solid #e4d6f5;display:flex;align-items:center;padding:0 clamp(1.25rem,4vw,3.5rem);gap:1rem}.crumb{font-size:.9rem;color:#665887}.crumb span{padding:0 .4rem;color:#b6a9cd}.profile{margin-left:auto;display:flex;align-items:center;gap:.8rem;text-align:right}.profile strong{display:block;font-size:.84rem;color:#2b1e55}.profile small{display:block;margin-top:.18rem;color:#83779e;font-size:.72rem}.avatar{border:0;width:2.45rem;height:2.45rem;border-radius:50%;background:#d8b4ff;color:#4b32c3;font-weight:850;cursor:pointer}.content{max-width:1200px;margin:0 auto;padding:clamp(2rem,4vw,4rem)}.hero{min-height:248px;border-radius:1.2rem;background:linear-gradient(116deg,#4b32c3,#6c4dff);color:#fff;padding:clamp(1.75rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;box-shadow:0 14px 34px #6c4dff26}.hero .eyebrow{color:#d8b4ff}.hero h1{letter-spacing:-.04em;line-height:1.05;font-size:clamp(2rem,4vw,3.35rem);margin:.25rem 0 .8rem}.hero p:not(.eyebrow){max-width:610px;color:#f1e6ff;line-height:1.6;margin:0}.hero-card{min-width:210px;max-width:250px;border:1px solid #d8b4ff;background:#ffffff18;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;padding:1.2rem}.hero-card span{font-size:.65rem;letter-spacing:.12em;color:#d8b4ff;font-weight:850;text-transform:uppercase}.hero-card strong{display:block;margin:.75rem 0 .35rem;font-size:1.08rem}.hero-card p{font-size:.84rem!important}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-top:3.4rem;margin-bottom:1.25rem}.section-heading h2{margin:0;color:#120a2a;letter-spacing:-.03em;font-size:1.65rem}.text-button{background:transparent;border:0;color:#4b32c3;font-weight:750;cursor:pointer;font-size:.9rem}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.activity-card,.empty-card{background:#f7edffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #d8b4ff;border-radius:1rem;padding:1.55rem;box-shadow:0 5px 16px #6c4dff12}.activity-card{min-height:255px}.activity-icon{width:2.75rem;height:2.75rem;border-radius:50%;display:grid;place-items:center;font-size:1.2rem;margin-bottom:1.25rem;background:#4b32c3!important;color:#fff!important;box-shadow:0 0 16px #d8b4ff}.tag{margin:0;color:#6c4dff;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:850}.activity-card h3,.empty-card h3{font-size:1.1rem;color:#120a2a;margin:.65rem 0}.activity-card>p:not(.tag),.empty-card p{font-size:.9rem;line-height:1.6;color:#62577d;margin:0}.status{display:inline-block;margin-top:1.2rem;padding:.38rem .6rem;border-radius:99px;background:#6c4dff;color:#fff;font-size:.72rem;font-weight:700}.empty-card{max-width:640px;text-align:center;margin:0 auto;padding:3rem}.empty-card .activity-icon{margin:0 auto 1rem}@media(max-width:760px){.auth{grid-template-columns:1fr}.auth-intro{min-height:31rem;padding:2rem}.auth-panel{padding:2rem 1.25rem}.app-shell{grid-template-columns:1fr}aside{display:none}.content{padding:1.25rem}.hero{align-items:flex-start;flex-direction:column}.hero-card{max-width:none;width:100%}.activity-grid{grid-template-columns:1fr}.section-heading{margin-top:2.3rem}.profile strong{max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media(max-width:380px){.auth-intro{min-height:27rem}.card{padding:1.75rem 1.4rem}.auth h1{font-size:2.35rem}}.goal-progress-ring{width:5rem;height:5rem;border-radius:50%;display:grid;place-items:center;font-weight:800;background:conic-gradient(var(--primary,#6d4aff) var(--goal-progress),#e8e5f2 0);position:relative}.goal-progress-ring:before{content:"";position:absolute;top:.55rem;right:.55rem;bottom:.55rem;left:.55rem;border-radius:50%;background:#fff}.goal-progress-ring{isolation:isolate}.goal-progress-ring:after{content:attr(aria-label);position:absolute;font-size:0}.goal-progress-ring{color:#332a55}.goal-progress-ring>*{position:relative}.goal-progress-ring{line-height:5rem;text-align:center}.practice-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;margin-top:1rem}.practice-calendar-grid button{min-height:5rem;border:1px solid #d9d5e6;border-radius:.65rem;background:#fff;display:flex;flex-direction:column;align-items:flex-start;padding:.55rem}.practice-calendar-grid button.completed{border-color:#6d4aff;background:#f2efff}.practice-calendar-grid button.exempt{background:#ececec;color:#666}@media(max-width:600px){.practice-calendar-grid{gap:.2rem}.practice-calendar-grid button{min-height:3.5rem;padding:.25rem;font-size:.72rem}.practice-calendar-grid button span{display:none}}.dashboard-content{display:grid;gap:1.25rem;align-content:start;max-width:980px;min-height:calc(100vh - 77px)}.welcome-panel,.account-panel{border:1px solid #d8b4ff;border-radius:1.25rem;background:#f7edffb8;box-shadow:0 12px 32px #6c4dff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.welcome-panel{padding:clamp(2rem,5vw,4rem);background:linear-gradient(120deg,#f7edff,#e3c8ff)}.welcome-panel .eyebrow{margin:0 0 .75rem;color:#4b32c3}.welcome-panel h1{margin:0;color:#120a2a;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.05em}.welcome-panel p:last-child{margin:.9rem 0 0;color:#574a76;font-size:1.02rem}.account-panel{padding:1.5rem}.account-panel h2{margin:0 0 1.1rem;color:#120a2a;font-size:1.1rem}.account-panel dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0}.account-panel dl div{min-width:0;padding:1rem;border-radius:.85rem;background:#fffaff9e}.account-panel dt{margin-bottom:.4rem;color:#776b92;font-size:.72rem;font-weight:800;letter-spacing:.08em}.account-panel dd{margin:0;overflow-wrap:anywhere;color:#2b1e55;font-weight:700}@media(max-width:760px){.dashboard-content{min-height:auto}.account-panel dl{grid-template-columns:1fr}}.teacher-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem;border-radius:1rem;background:linear-gradient(120deg,#4b32c3,#6c4dff);color:#fff}.teacher-hero h1{margin:.25rem 0;font-size:clamp(1.8rem,3vw,2.6rem)}.teacher-hero p{margin:.35rem 0;color:#f1e6ff}.teacher-hero .eyebrow{color:#e3c8ff}.teacher-hero .help-trigger{width:auto;border-color:#fff7;background:#ffffff18;color:#fff}.dashboard-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dashboard-action{display:grid;grid-template-columns:auto 1fr;column-gap:.9rem;padding:1.35rem;border:1px solid #d8b4ff;border-radius:1rem;background:#fff;color:#2b1e55;text-decoration:none;box-shadow:0 8px 22px #6c4dff12}.dashboard-action>span{grid-row:1/3;display:grid;place-items:center;width:3rem;height:3rem;border-radius:.8rem;background:#6c4dff;color:#fff;font-size:1.4rem}.dashboard-action strong{font-size:1.08rem}.dashboard-action small{color:#665887}.dashboard-action.ai>span{background:#126a62}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.dashboard-kpis article{display:grid;gap:.25rem;padding:1rem;border:1px solid #eadcff;border-radius:.85rem;background:#fff}.dashboard-kpis span,.dashboard-kpis small{color:#776b92}.dashboard-kpis strong{color:#120a2a;font-size:1.8rem}.dashboard-progress h2{margin:.2rem 0}.progress-track{height:.7rem;margin:1rem 0;border-radius:1rem;background:#eee7f5;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:#26a269}.dashboard-recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.8rem}.dashboard-recent-grid a{color:inherit;text-decoration:none}.dashboard-recent-grid h3{margin:.7rem 0 .3rem}.dashboard-recent-grid p{margin:0;color:#665887}.class-overview{display:grid;gap:1rem}.compact-field{display:grid;gap:.3rem;color:#665887;font-size:.82rem}.compact-field select{min-width:8rem;padding:.7rem;border:1px solid #d8b4ff;border-radius:.65rem;background:#fff}.class-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.class-summary-grid article{display:grid;gap:.3rem;padding:1rem;border-radius:.8rem;background:#f8f2ff}.class-summary-grid span{color:#665887}.class-summary-grid strong{font-size:1.65rem}.class-overview table{width:100%;border-collapse:collapse}.class-overview th,.class-overview td{padding:.75rem;text-align:left;border-bottom:1px solid #eadcff}.class-overview a{color:#4b32c3;font-weight:700}@media(max-width:800px){.dashboard-kpis,.class-summary-grid{grid-template-columns:repeat(2,1fr)}.responsive-table{overflow:auto}}@media(max-width:560px){.teacher-hero{align-items:flex-start;flex-direction:column}.dashboard-primary-actions,.dashboard-recent-grid{grid-template-columns:1fr}}.student-home-v2{display:grid;gap:1.2rem}.student-home-hero{padding:clamp(1.5rem,4vw,2.7rem);border-radius:1.2rem;background:linear-gradient(120deg,#4b32c3,#6c4dff);color:#fff}.student-home-hero h1{margin:.35rem 0;font-size:clamp(2rem,4vw,3rem)}.student-home-hero p{color:#f1e6ff}.student-main-actions{display:flex;gap:.75rem;margin-top:1.25rem}.student-main-actions a{min-height:4rem}.student-task-row,.student-shelf a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;margin-top:.7rem;padding:1rem;border:1px solid #eadcff;border-radius:.8rem;color:#2b1e55;text-decoration:none}.student-task-row span,.student-shelf span{padding:.35rem .55rem;border-radius:99px;background:#eee7f5;color:#4b32c3;font-weight:800}.student-task-row small,.student-shelf small{color:#665887}.word-grid,.student-shelf{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.word-card{padding:1rem;border:1px solid #eadcff;border-radius:.8rem;background:#fff}.word-card>div:first-child{display:flex;gap:.25rem;font-size:1.65rem;font-weight:900}.word-card.large-word>div:first-child{font-size:2.4rem}.character-grid span{position:relative;display:grid;place-items:center;width:2.5rem;aspect-ratio:1;border:1px solid #cbb6e8;background:linear-gradient(45deg,transparent 49%,#eadcff 50%,transparent 51%),linear-gradient(-45deg,transparent 49%,#eadcff 50%,transparent 51%)}.word-actions{display:flex;gap:.35rem}.word-actions button{width:auto;padding:.5rem;box-shadow:none}.positive-empty{padding:1rem;border-radius:.75rem;background:#edf8f2;color:#176b36}@media(max-width:650px){.student-main-actions{display:block}.student-main-actions a{width:100%}.student-task-row{grid-template-columns:1fr}.student-home-hero h1{font-size:2rem}}.permission-aware-disabled{cursor:not-allowed;opacity:.72;box-shadow:none}.permission-aware-disabled:hover{transform:none}.permission-aware-reason{display:block;grid-column:1/-1;margin-top:.35rem;color:#6f627d;font-weight:650;line-height:1.45}.dashboard-empty-action{margin:.8rem auto 0}.access-unavailable{display:grid;min-height:65vh;place-items:center}.access-unavailable .empty-state-panel{max-width:38rem}.access-unavailable h1{margin:.15rem 0;color:#120a2a;font-size:clamp(1.6rem,3vw,2.2rem)}.read-only-fieldset{min-width:0;margin:0;padding:0;border:0}.read-only-fieldset:disabled{opacity:1}.student-home-v2>aside.module-card strong{color:#24153f}.student-home-v2>aside.module-card p{color:#665887}nav button,nav a{display:flex;align-items:center;gap:.8rem;padding:.78rem .85rem;color:#e4dcf5;border:0;border-radius:.6rem;background:transparent;font-size:.95rem;text-align:left;cursor:pointer}nav button.active,nav button:hover,nav a.active,nav a:hover{background:#ffffff20;color:#fff}.module-page{max-width:1200px;margin:0 auto;padding:clamp(2rem,4vw,4rem)}.module-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.module-heading .eyebrow{margin:0 0:.5rem;color:#4b32c3}.module-heading h1{margin:0;color:#120a2a;font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.04em}.module-heading p:not(.eyebrow){margin:.5rem 0 0;color:#665887}.primary-action{display:inline-flex;align-items:center;justify-content:center;width:auto;padding:.72rem 1rem;background:#6c4dff;color:#fff;border:0;border-radius:.65rem;font-weight:800;cursor:pointer;box-shadow:0 8px 18px #6c4dff35}.notice{padding:.85rem 1rem;background:#f7edff;border:1px solid #d8b4ff;border-radius:.7rem;color:#4b32c3}.module-card,.permission-card{background:#f7edffb8;border:1px solid #d8b4ff;border-radius:1rem;padding:1.5rem;box-shadow:0 8px 22px #6c4dff12}.permission-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.25rem}.role-list{padding:1rem;background:#f7edffb8;border:1px solid #d8b4ff;border-radius:1rem}.role-list>p{margin:0 0 .75rem;color:#776b92;font-size:.76rem;font-weight:800;letter-spacing:.1em}.role-list button{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:.22rem;padding:.8rem;border:0;border-radius:.65rem;background:transparent;color:#2b1e55;text-align:left;cursor:pointer}.role-list button.selected{background:#6c4dff;color:#fff}.role-list small{opacity:.72}.permission-title{display:flex;align-items:center;gap:.75rem}.permission-title h2,.permission-card h3{margin:0;color:#120a2a}.role-chip,.category{display:inline-block;padding:.28rem .55rem;border-radius:99px;background:#e3c8ff;color:#4b32c3;font-size:.72rem;font-weight:800}.permission-help{color:#665887;line-height:1.6}.permission-rows{display:grid;gap:.65rem}.permission-rows label{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#fffaffa3;border-radius:.7rem;color:#2b1e55;font-weight:700}.settings-tabs{margin-bottom:1rem}.settings-tabs button{padding:.6rem 1rem;border:1px solid #d8b4ff;border-radius:.55rem;background:#f7edff;color:#4b32c3;font-weight:800}.settings-stack{display:grid;gap:.8rem}.setting-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.5rem;background:#f7edffb8;border:1px solid #d8b4ff;border-radius:1rem}.setting-card h2{margin:.55rem 0 0;color:#120a2a;font-size:1rem}.setting-editor{display:flex;gap:.7rem;width:min(100%,34rem)}.setting-editor input{min-width:0;flex:1;padding:.72rem .8rem;border:1px solid #d8b4ff;border-radius:.6rem;background:#fffaff;color:#2b1e55}@media(max-width:760px){.module-heading,.setting-card{flex-direction:column}.permission-layout{grid-template-columns:1fr}.setting-editor{width:100%}}.permission-section+.permission-section{margin-top:1.5rem}.permission-section h3,.settings-group h2{margin:0 0 .8rem;color:#120a2a;font-size:1rem;letter-spacing:-.01em}.settings-group+.settings-group{margin-top:1.75rem}.setting-card p{margin:.35rem 0 0;color:#776b92;font-size:.78rem}.feature-toggle{display:inline-flex;align-items:center;gap:.55rem;color:#4b32c3;font-weight:850}.feature-toggle input{width:1.1rem;height:1.1rem;accent-color:#6c4dff}.placeholder-card h2{margin:.9rem 0 .45rem;color:#120a2a}.placeholder-card p{margin:0;color:#665887;line-height:1.7}.feature-chip-list{display:flex;flex-wrap:wrap;gap:.55rem}.feature-chip-list span{display:inline-flex;padding:.4rem .7rem;border-radius:999px;background:#e3c8ff;color:#4b32c3;font-size:.78rem;font-weight:850}.phase-two-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.25rem;align-items:start}.material-list{display:grid;gap:.55rem;margin-top:1rem}.material-list button{display:grid;justify-items:start;gap:.25rem;width:100%;padding:.85rem;border:1px solid #e3c8ff;border-radius:.7rem;background:#fffaffa3;color:#2b1e55;text-align:left;box-shadow:none}.material-list button.selected{background:#6c4dff;color:#fff;border-color:#6c4dff}.material-list button span{font-size:.78rem;opacity:.76}.phase-two-copy{color:#665887;line-height:1.65}.material-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.material-facts div{padding:.8rem;border-radius:.7rem;background:#fffaffa3}.material-facts dt{color:#776b92;font-size:.72rem;font-weight:850}.material-facts dd{margin:.25rem 0 0;color:#120a2a;font-weight:750;word-break:break-word}.material-form{margin-top:1.25rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1rem 0}.form-grid.single{grid-template-columns:1fr}.form-grid label{display:grid;gap:.4rem;color:#2b1e55;font-weight:750}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #d8b4ff;border-radius:.6rem;background:#fffaff;color:#2b1e55;padding:.72rem .8rem;font:inherit}.form-grid textarea{min-height:145px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem}.button-row{display:flex;flex-wrap:wrap;gap:.7rem}.secondary-action{display:inline-flex;align-items:center;justify-content:center;width:auto;padding:.72rem 1rem;background:#fffaff;color:#4b32c3;border:1px solid #d8b4ff;border-radius:.65rem;font-weight:800;box-shadow:none}.phase-two-section{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid #e3c8ff}.phase-two-section h3{margin:0;color:#120a2a}.linked-goals{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.linked-goals span{display:inline-flex;padding:.35rem .65rem;border-radius:999px;background:#e3c8ff;color:#4b32c3;font-weight:800;font-size:.78rem}@media(max-width:860px){.phase-two-layout,.form-grid,.material-facts{grid-template-columns:1fr}}.permission-matrix{overflow:auto;border:1px solid #e3c8ff;border-radius:.9rem;background:#fffaffa3}.permission-matrix-head,.permission-matrix-row{display:grid;grid-template-columns:minmax(14rem,1.8fr) repeat(15,minmax(5.25rem,.62fr));align-items:stretch;min-width:94rem}.permission-matrix-head{position:sticky;top:0;z-index:1;background:#ede0ff;color:#4b32c3;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.permission-matrix-head span,.permission-matrix-row>*{padding:.65rem;border-right:1px solid #e3c8ff;border-bottom:1px solid #e3c8ff}.permission-matrix-head span:last-child,.permission-matrix-row>*:last-child{border-right:0}.permission-matrix-row:last-child>*{border-bottom:0}.permission-menu-cell{display:grid;gap:.18rem;background:#fff;color:#120a2a}.permission-menu-cell strong{font-size:.88rem}.permission-menu-cell small{color:#776b92;font-size:.72rem}.matrix-toggle{display:flex;align-items:center;justify-content:center;gap:.35rem;color:#2b1e55;font-size:.72rem;font-weight:850}.matrix-toggle.disabled{color:#a99dbe;background:#faf5ff}.matrix-toggle span{white-space:nowrap}@media(max-width:900px){.permission-matrix-head,.permission-matrix-row{grid-template-columns:minmax(13rem,1.8fr) repeat(15,minmax(4.75rem,.62fr));min-width:86rem}}.permission-tabs{display:flex;gap:.55rem}.permission-tabs button[aria-selected=true]{background:#6c4dff;color:#fff}.staff-scope-card{display:grid;gap:1.25rem}.staff-search-bar{display:flex;align-items:end;gap:.75rem}.staff-search-bar label{display:grid;flex:1;gap:.4rem;color:#3c255f;font-size:.8rem;font-weight:800}.staff-search-bar input,.chip-select input{min-height:2.75rem;padding:.65rem .8rem;border:1px solid #cbb6e7;border-radius:.65rem;background:#fff;color:#24153f;font:inherit}.staff-result-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.65rem}.staff-result-list>button{display:grid;gap:.3rem;padding:1rem;border:1px solid #d8c7eb;border-radius:.75rem;background:#fff;text-align:left;color:#24153f;cursor:pointer}.staff-result-list>button.selected{border-color:#6c4dff;box-shadow:0 0 0 2px #6c4dff22}.staff-result-list span,.staff-result-list small,.staff-scope-meta{color:#776b92}.staff-scope-editor{display:grid;gap:1rem;padding:1.2rem;border-top:1px solid #dfd1ee}.staff-scope-editor h2{margin:.4rem 0;color:#120a2a}.staff-scope-editor p{margin:.2rem 0}.chip-select{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.chip-select>span{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border-radius:999px;background:#e3c8ff;color:#4b32c3;font-weight:800}.chip-select>span button{border:0;background:transparent;color:inherit;font-size:1.1rem;cursor:pointer}.chip-select>div{display:flex;gap:.4rem}.chip-select>div button{padding:.55rem .8rem;border:1px solid #bba4dd;border-radius:.6rem;background:#fff;color:#4b32c3;font-weight:800;cursor:pointer}@media(max-width:760px){.staff-search-bar{align-items:stretch;flex-direction:column}.staff-search-bar .primary-action{width:100%}.staff-result-list{grid-template-columns:1fr}.chip-select>div{width:100%}.chip-select input{min-width:0;flex:1}}.approval-layout{display:grid;grid-template-columns:minmax(14rem,22rem) minmax(0,1fr);gap:1rem}.approval-policy-card{display:grid;gap:.35rem;padding:1rem;border:1px solid #d8c7eb;border-radius:.75rem;background:#fff;text-align:left;color:#24153f;cursor:pointer}.approval-policy-card span,.approval-policy-card small{color:#776b92}.approval-form{display:grid;gap:1rem}.approval-form>label{display:grid;gap:.4rem;color:#3c255f;font-weight:800}.approval-form input[type=text],.approval-form>label>input:not([type]){min-height:2.75rem;padding:.65rem .8rem;border:1px solid #cbb6e7;border-radius:.65rem}.approval-form fieldset{display:flex;flex-wrap:wrap;gap:.75rem;border:1px solid #d8c7eb;border-radius:.75rem;padding:1rem}.approval-form legend{color:#3c255f;font-weight:800}.approval-form fieldset label{display:flex;gap:.35rem;align-items:center}@media(max-width:760px){.approval-layout{grid-template-columns:1fr}}.staff-picker-search{display:flex;width:100%;gap:.55rem}.staff-picker-search input{min-width:0;flex:1;min-height:2.75rem;padding:.65rem .8rem;border:1px solid #cbb6e7;border-radius:.65rem}.staff-picker-search button,.selected-chip{border:1px solid #bba4dd;border-radius:.6rem;background:#fff;color:#4b32c3;font-weight:800;cursor:pointer}.staff-picker-search button{padding:.55rem .9rem}.chip-row{display:flex;flex-wrap:wrap;gap:.45rem;width:100%}.selected-chip{padding:.4rem .65rem;border-radius:999px;background:#e3c8ff}.staff-picker-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.55rem;width:100%}.approval-form fieldset .staff-picker-results label{padding:.7rem;border:1px solid #eadcff;border-radius:.65rem;background:#fff}.staff-picker-results label span{display:grid}.staff-picker-results small{color:#776b92}@media(max-width:760px){.staff-picker-search{flex-direction:column}.staff-picker-results{grid-template-columns:1fr}}.speech-settings-stack,.speech-setting-card{display:grid;gap:1rem}.speech-setting-card h2{margin:0;color:#120a2a}.speech-setting-card p{margin:0;color:#665887}.file-action{cursor:pointer}.file-action input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.retention-options{display:flex;flex-wrap:wrap;gap:1rem}.retention-options label{display:flex;align-items:center;gap:.45rem;color:#2b1e55;font-weight:800}.retention-options input[type=number]{width:6rem;min-height:2.5rem;padding:.45rem;border:1px solid #d8c8ff;border-radius:.55rem}.warning-banner{padding:.85rem 1rem;border:1px solid #e2b15d;border-radius:.7rem;background:#fff4e0;color:#7b4600!important}.settings-meta{color:#776b92;font-size:.78rem;text-align:right}.wide-field{grid-column:1/-1}.json-preview{max-height:28rem;overflow:auto;padding:1rem;border:1px solid #e3c8ff;border-radius:.75rem;background:#fffaff;color:#2b1e55;font-size:.84rem;line-height:1.55;white-space:pre-wrap}.material-list article.setting-card{margin-bottom:.75rem}.material-list article.setting-card:last-child{margin-bottom:0}.module-card,.setting-card{background:#fff;border-color:#eadcff}.module-card{box-shadow:0 12px 30px #3b1d7c10}.setting-card{box-shadow:0 8px 20px #3b1d7c0c}.material-list button{background:#fff;border-color:#eadcff;min-height:3.1rem}.form-grid{gap:.9rem}.form-grid label{font-size:.82rem;letter-spacing:.01em}.form-grid input,.form-grid select,.form-grid textarea,.setting-editor input{min-height:2.55rem;border-color:#d8c8ff;background:#fff;color:#1f143d}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.setting-editor input:focus{outline:2px solid #c7b6ff;outline-offset:1px;border-color:#6c4dff}.primary-action,.secondary-action{min-height:2.45rem;border-radius:.6rem}.practice-card{display:grid;gap:1rem}.inline-control{display:inline-grid;grid-template-columns:auto minmax(5rem,8rem);align-items:center;gap:.5rem;color:#2b1e55;font-size:.82rem;font-weight:750}.inline-control input{min-height:2.45rem;border:1px solid #d8c8ff;border-radius:.6rem;padding:.5rem .65rem}.mobile-role-select,.permission-accordion{display:none}.data-scope-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin-top:1.25rem;border:0;padding:0}.data-scope-options legend{margin-bottom:.8rem;color:#3c255f;font-weight:850}.data-scope-options label{display:flex;align-items:center;gap:.65rem;padding:1rem;border:1px solid #d8c7eb;border-radius:.75rem;background:#fff;cursor:pointer}.data-scope-options input{width:1.1rem;height:1.1rem;accent-color:#6c4dff}.data-scope-options span{display:grid}.data-scope-options small{color:#776b92}.mapping-card{display:grid;gap:1.25rem}.mapping-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.75rem;align-items:end}.mapping-form label{display:grid;gap:.4rem;color:#3c255f;font-size:.8rem;font-weight:800}.mapping-form input,.mapping-form select,.mobile-role-select select{min-height:2.75rem;padding:.65rem .8rem;border:1px solid #cbb6e7;border-radius:.65rem;background:#fff;color:#24153f;font:inherit}.mapping-list{display:grid;gap:.5rem}.mapping-list button{display:grid;grid-template-columns:7rem 1fr auto 1fr;gap:.7rem;align-items:center;padding:.8rem 1rem;border:1px solid #e3d4f3;border-radius:.7rem;background:#fff;color:#24153f;text-align:left;cursor:pointer}.mapping-list span{color:#776b92}.permission-controls:not(.cells){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.75rem}.permission-controls:not(.cells) .matrix-toggle{justify-content:flex-start;min-height:2.3rem;padding:.4rem .55rem;border:1px solid #eadcff;border-radius:.55rem}@media(max-width:900px){.role-list,.permission-matrix-desktop{display:none}.permission-layout{grid-template-columns:1fr}.mobile-role-select{display:grid;gap:.4rem;color:#3c255f;font-weight:800}.permission-accordion{display:grid;gap:.55rem}.permission-accordion details{border:1px solid #e3d4f3;border-radius:.7rem;background:#fff}.permission-accordion summary{padding:.85rem 1rem;color:#24153f;font-weight:850;cursor:pointer}.mapping-form{grid-template-columns:1fr 1fr}.permission-tabs{overflow-x:auto}.permission-tabs button{white-space:nowrap}}@media(max-width:600px){.mapping-form{grid-template-columns:1fr}.mapping-list button{grid-template-columns:1fr auto 1fr}.mapping-list button span:first-child{grid-column:1/-1}.permission-controls:not(.cells){grid-template-columns:1fr}}.curriculum-admin{display:grid;gap:1.25rem}.curriculum-admin .module-heading{margin-bottom:0}.curriculum-filter-bar{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(9rem,.7fr) minmax(14rem,1.4fr);gap:.75rem;padding:1rem;border:1px solid #eadcff;border-radius:.9rem;background:#fff}.curriculum-filter-bar label,.curriculum-level-help label{display:grid;gap:.35rem;color:#3c255f;font-size:.8rem;font-weight:850}.curriculum-filter-bar input,.curriculum-filter-bar select,.curriculum-level-help select{min-height:2.75rem;padding:.65rem .8rem;border:1px solid #cbb6e7;border-radius:.65rem;background:#fff;color:#24153f;font:inherit}.curriculum-browser{display:grid;grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);gap:1rem;align-items:start}.curriculum-tree{display:grid;gap:.65rem}.curriculum-tree details{border:1px solid #eadcff;border-radius:.7rem;background:#fff}.curriculum-tree summary{padding:.8rem;color:#3c255f;font-weight:900;cursor:pointer}.curriculum-tree-branch{display:grid;gap:.3rem;padding:.35rem .7rem .75rem}.curriculum-tree-branch>strong{padding:.4rem;color:#776b92;font-size:.76rem}.curriculum-tree-branch button{display:grid;grid-template-columns:5.2rem 1fr;gap:.45rem;width:100%;padding:.65rem;border:0;border-radius:.55rem;background:#faf6ff;color:#2b1e55;text-align:left;cursor:pointer}.curriculum-tree-branch button.selected{background:#6c4dff;color:#fff}.curriculum-tree-branch button span{font-size:.74rem;font-weight:900}.curriculum-detail{min-height:18rem}.curriculum-detail h2{margin:.35rem 0 1rem;color:#120a2a}.curriculum-detail h3{margin:1.2rem 0 .45rem;color:#3c255f;font-size:.9rem}.curriculum-detail p,.curriculum-detail li{color:#665887;line-height:1.6}.curriculum-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.danger-action,.text-action{border:0;background:transparent;color:#a12649;font-weight:850;cursor:pointer}.danger-action{min-height:2.45rem;padding:.65rem .9rem;border:1px solid #e8b8c6;border-radius:.6rem;background:#fff6f8}.empty-state{color:#776b92;line-height:1.6}.curriculum-tabs{display:flex;gap:.55rem;overflow-x:auto}.curriculum-tabs button{min-height:2.65rem;padding:.6rem 1rem;border:1px solid #d8c7eb;border-radius:.65rem;background:#fff;color:#4b32c3;font-weight:850;white-space:nowrap;cursor:pointer}.curriculum-tabs button[aria-selected=true]{border-color:#6c4dff;background:#6c4dff;color:#fff}.curriculum-level-help{display:flex;align-items:end;gap:1rem}.curriculum-level-help label{min-width:12rem}.curriculum-level-help p{margin:0;color:#665887;line-height:1.55}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.card-title-row h2{margin:0;color:#120a2a}.curriculum-level-list{display:grid;gap:.55rem;margin-top:1rem}.curriculum-level-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.7rem;padding:.8rem;border:1px solid #eadcff;border-radius:.7rem;background:#fff}.curriculum-level-list article div{display:grid;gap:.2rem}.curriculum-level-list small{color:#776b92}.drag-handle{color:#978aa9}.status-pill{padding:.3rem .55rem;border-radius:999px;font-size:.72rem;font-weight:900}.status-pill.active{background:#e1f5e8;color:#176b36}.status-pill.inactive{background:#f0edf4;color:#71677c}.curriculum-import{display:grid;gap:1rem}.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:0;counter-reset:wizard}.wizard-steps li{list-style:none;padding:.7rem;border-radius:.6rem;background:#f5efff;color:#4b32c3;font-size:.78rem;font-weight:850}.import-preview{padding:1rem;border:1px solid #dfd1ee;border-radius:.75rem;background:#faf7ff}.import-error{color:#9a3c20}.import-ok{color:#176b36}.import-preview .primary-action{margin-top:.8rem}@media(max-width:900px){.curriculum-browser,.curriculum-form-grid{grid-template-columns:1fr}.curriculum-filter-bar{grid-template-columns:1fr 1fr}.curriculum-filter-bar label:last-child{grid-column:1/-1}.curriculum-level-help{align-items:stretch;flex-direction:column}.wizard-steps{grid-template-columns:1fr 1fr}}@media(max-width:600px){.curriculum-filter-bar{grid-template-columns:1fr}.curriculum-filter-bar label:last-child{grid-column:auto}.card-title-row{align-items:flex-start;flex-direction:column}.curriculum-level-list article{grid-template-columns:auto 1fr auto}.curriculum-level-list .text-action{grid-column:2/-1;justify-self:start}.wizard-steps{grid-template-columns:1fr}.curriculum-admin .module-heading .button-row,.curriculum-admin .module-heading .button-row>*{width:100%}}.assignment-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:.45rem;padding:0;margin:0 0 1rem}.assignment-steps li{display:flex;align-items:center;gap:.4rem;min-height:2.75rem;padding:.55rem;border:1px solid #e2d4f4;border-radius:.65rem;background:#fff;color:#776b92;font-size:.76rem;font-weight:850;list-style:none}.assignment-steps li span{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:#eee7f7}.assignment-steps li.current{border-color:#6c4dff;color:#4b32c3}.assignment-steps li.current span,.assignment-steps li.done span{background:#6c4dff;color:#fff}.assignment-workspace{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:1rem;align-items:start}.assignment-wizard h2,.assignment-list h2{margin-top:0}.assignment-content-grid,.assignment-mode-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.assignment-content-grid button,.assignment-mode-cards button{display:grid;justify-items:start;gap:.35rem;padding:1rem;border:1px solid #e2d4f4;border-radius:.75rem;background:#fff;color:#2b1e55;text-align:left;box-shadow:none}.assignment-content-grid button.selected,.assignment-mode-cards button.selected{border-color:#6c4dff;background:#f5efff}.assignment-content-grid span,.assignment-mode-cards span,.assignment-content-grid small,.field-help{color:#776b92;font-size:.78rem}.segmented{display:flex;gap:.5rem;margin-bottom:1rem}.segmented button{width:auto;padding:.65rem .9rem;border:1px solid #d8c7eb;background:#fff;color:#4b32c3;box-shadow:none}.segmented button.selected{background:#6c4dff;color:#fff}.wizard-field{display:grid;gap:.4rem;font-weight:800}.wizard-field input,.inline-fields input,.inline-fields select{min-height:2.6rem;padding:.65rem;border:1px solid #d8c7eb;border-radius:.6rem;background:#fff;font:inherit}.inline-fields{display:grid;grid-template-columns:1fr 6rem;gap:.5rem}.inline-warning{padding:.75rem;border:1px solid #efc17e;border-radius:.65rem;background:#fff7e9;color:#81500c}.phone-preview{width:min(100%,22rem);margin:1rem auto;padding:1.25rem;border:9px solid #2b1e55;border-radius:1.6rem;background:#fff;box-shadow:0 12px 28px #2b1e5520}.phone-preview h3{color:#120a2a}.phone-preview button{margin-top:1rem}.assignment-summary{display:grid;gap:.6rem}.assignment-summary div{display:grid;grid-template-columns:8rem 1fr;gap:.7rem;padding:.7rem;border-bottom:1px solid #eee4fa}.assignment-summary dt{color:#776b92;font-weight:800}.assignment-summary dd{margin:0;color:#2b1e55}.wizard-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #eee4fa}.assignment-list{display:grid;gap:.7rem}.assignment-list article{display:grid;gap:.6rem;padding:.8rem;border:1px solid #eee4fa;border-radius:.7rem}.assignment-list h3{margin:.45rem 0}.assignment-list p{margin:0;color:#776b92}.toggle-row{display:flex!important;grid-column:1/-1;align-items:center;gap:.55rem}.toggle-row input{width:1.1rem!important;min-height:auto!important}@media(max-width:960px){.assignment-steps{grid-template-columns:repeat(3,1fr)}.assignment-workspace{grid-template-columns:1fr}.assignment-list{order:-1}}@media(max-width:600px){.assignment-steps,.assignment-content-grid,.assignment-mode-cards,.assignment-summary div{grid-template-columns:1fr}.wizard-actions>*{flex:1}.assignment-list{display:none}}.curriculum-level-list article>div:nth-child(2){display:grid;gap:.2rem}.level-actions{display:flex!important;flex-wrap:wrap;justify-content:flex-end;gap:.25rem}.level-actions button{min-width:2rem;min-height:2rem}.level-actions button:disabled{color:#a99dbe;cursor:not-allowed}.content-admin{display:grid;gap:1rem}.content-filter-bar{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:.6rem;padding:1rem;border:1px solid #eadcff;border-radius:.85rem;background:#fff}.content-filter-bar input,.content-filter-bar select{min-height:2.75rem;padding:.6rem .75rem;border:1px solid #cbb6e7;border-radius:.6rem;background:#fff;color:#24153f}.content-table{overflow:auto;border:1px solid #eadcff;border-radius:.85rem;background:#fff}.content-table-head,.content-table>button{display:grid;grid-template-columns:minmax(13rem,2fr) repeat(5,minmax(7rem,1fr));align-items:center;min-width:58rem}.content-table-head{background:#f1e8fb;color:#4b32c3;font-size:.75rem;font-weight:900}.content-table-head span,.content-table>button>*{padding:.8rem;border-bottom:1px solid #eee4f7;text-align:left}.content-table>button{border:0;border-radius:0;background:#fff;color:#2b1e55;box-shadow:none;font-size:.84rem}.content-table>button:hover{background:#faf7ff}.content-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:1rem;background:#120a2a99}.content-modal{width:min(100%,58rem);max-height:92vh;overflow:auto;padding:1.5rem;border-radius:1rem;background:#fff;color:#24153f;box-shadow:0 20px 60px #120a2a55}.content-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0}.content-type-grid>label{display:grid;gap:.25rem;padding:1rem;border:1px solid #dfd1ee;border-radius:.7rem;cursor:pointer}.content-type-grid>label.selected{border-color:#6c4dff;background:#f5efff}.content-type-grid input{position:absolute;opacity:0}.content-type-grid small{color:#776b92}.objective-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem;max-height:10rem;overflow:auto;padding:.7rem;border:1px solid #eadcff;border-radius:.6rem}.objective-picker label{display:flex;align-items:flex-start;gap:.4rem;font-weight:600}.content-editor-head{display:flex;align-items:center;gap:.7rem;padding:1rem;border:1px solid #eadcff;border-radius:.8rem;background:#fff}.content-editor-head>input{min-width:12rem;flex:1;padding:.6rem;border:1px solid transparent;border-radius:.5rem;color:#120a2a;font-size:1.25rem;font-weight:900}.content-status{padding:.3rem .55rem;border-radius:999px;background:#f1eff6;color:#6b6880;font-size:.72rem;font-weight:900}.content-status.in_review{background:#fff4e0;color:#9a5b00}.content-status.approved,.content-status.ai{background:#e8f0fd;color:#1c5fb8}.content-status.published{background:#e6f6ee;color:#1f7a4d}.content-status.withdrawn{background:#ffeaed;color:#a12649}.version-bar{display:flex;gap:.5rem;overflow:auto}.version-bar button{width:auto;min-width:max-content;padding:.55rem .8rem;border:1px solid #dfd1ee;background:#fff;color:#4b32c3;box-shadow:none}.version-bar button.selected{background:#6c4dff;color:#fff}.content-editor-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(18rem,.8fr);gap:1rem;align-items:start}.dictation-editor{display:grid;gap:1rem}.dictation-editor>label{display:grid;gap:.4rem;font-weight:800}.dictation-editor textarea{min-height:5rem;padding:.7rem;border:1px solid #d8c8ff;border-radius:.6rem}.dictation-editor fieldset{display:flex;flex-wrap:wrap;gap:1rem;border:1px solid #eadcff;border-radius:.7rem}.dictation-editor fieldset label{display:flex;gap:.35rem}.dictation-rows{display:grid;gap:.5rem}.dictation-rows article{display:grid;grid-template-columns:2rem minmax(7rem,.8fr) minmax(7rem,.7fr) minmax(10rem,1.3fr) auto;align-items:center;gap:.4rem;padding:.55rem;border:1px solid #eadcff;border-radius:.65rem}.dictation-rows input{min-width:0;padding:.55rem;border:1px solid #d8c8ff;border-radius:.5rem}.dictation-rows article>div{display:flex;gap:.2rem}.dictation-rows button{width:auto;min-height:2rem;padding:.35rem .5rem;box-shadow:none}.content-preview{position:sticky;top:1rem}.content-preview li{margin:.7rem 0;color:#2b1e55;font-size:1.1rem}.content-preview small{display:block;color:#776b92}.editor-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:.6rem;padding:1rem;border:1px solid #eadcff;border-radius:.8rem;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-edit-warning{display:none;padding:.7rem;border-radius:.6rem;background:#fff4e0;color:#9a5b00}@media(max-width:900px){.content-filter-bar{grid-template-columns:1fr 1fr}.content-type-grid{grid-template-columns:repeat(2,1fr)}.content-editor-grid{grid-template-columns:1fr}.content-preview{position:static}.dictation-rows article{grid-template-columns:2rem 1fr 1fr}.dictation-rows article>input:nth-of-type(3){grid-column:2/-1}.dictation-rows article>div{grid-column:2/-1}.mobile-edit-warning{display:block}}@media(max-width:600px){.content-filter-bar,.content-type-grid,.objective-picker{grid-template-columns:1fr}.content-editor-head{align-items:stretch;flex-direction:column}.content-editor-head>input{width:100%}.dictation-rows article{grid-template-columns:2rem 1fr}.dictation-rows article>input{grid-column:2}.editor-actions{flex-direction:column}.editor-actions>*{width:100%}}.structured-editor,.question-stack{display:grid;gap:1rem}.structured-editor>label,.question-card>label{display:grid;gap:.4rem;color:#3c255f;font-weight:800}.structured-editor input,.structured-editor select,.structured-editor textarea,.question-card input,.question-card select,.question-card textarea,.resource-row input{min-height:2.55rem;padding:.6rem .7rem;border:1px solid #d8c8ff;border-radius:.6rem;background:#fff;color:#24153f;font:inherit}.structured-editor textarea,.question-card textarea{min-height:5rem;resize:vertical}.structured-editor .long-copy{min-height:13rem}.question-card{display:grid;gap:.75rem;padding:1rem;border:1px solid #eadcff;border-radius:.75rem;background:#faf7ff}.question-card-head{display:grid;grid-template-columns:minmax(9rem,1fr) auto auto;gap:.6rem;align-items:end}.question-card-head label{display:grid;gap:.25rem;font-size:.75rem}.question-card-head input{width:5rem}.question-card fieldset{display:flex;gap:1rem;border:1px solid #eadcff;border-radius:.6rem}.inline-fields{display:flex;flex-wrap:wrap;gap:1rem}.inline-fields label{display:flex;align-items:center;gap:.5rem;color:#3c255f;font-weight:800}.inline-fields input[type=number]{width:5rem}.sentence-row,.resource-row{display:grid;grid-template-columns:auto minmax(10rem,1fr) minmax(10rem,1fr) auto;gap:.6rem;align-items:end;padding:.75rem;border:1px solid #eadcff;border-radius:.7rem}.sentence-row label{display:grid;gap:.3rem;color:#3c255f;font-size:.78rem;font-weight:800}.resource-row{grid-template-columns:minmax(10rem,1fr) auto minmax(10rem,1fr) auto}.resource-picker{width:max-content;cursor:pointer}.resource-picker input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.field-help{margin:0;color:#776b92;font-size:.8rem}.preview-tabs{display:flex;gap:.35rem;margin-bottom:1rem}.preview-tabs button{min-height:2.35rem;padding:.5rem .65rem;border:1px solid #d8c8ff;border-radius:.55rem;background:#fff;color:#4b32c3;box-shadow:none;font-weight:800}.preview-tabs button.selected{background:#6c4dff;color:#fff}.preview-sheet{padding:1rem;border:1px solid #eadcff;border-radius:.7rem;background:#fff}.preview-sheet.print{font-family:serif;color:#111;box-shadow:0 0 0 6px #f2f2f2}.preview-sheet .reading-copy{white-space:pre-wrap;line-height:1.8}.preview-sheet li>ol{margin-top:.5rem}.preview-sheet small{margin-top:.25rem;color:#176b36;font-weight:800}@media(max-width:700px){.question-card-head,.sentence-row,.resource-row{grid-template-columns:1fr}.content-preview{overflow:auto}.preview-tabs{overflow-x:auto}.preview-tabs button{white-space:nowrap}}.version-history{display:grid;gap:1rem;padding:1.25rem;border:1px solid #eadcff;border-radius:.85rem;background:#fff}.version-history-list{display:grid;gap:.55rem}.version-history-list article{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.7rem;padding:.7rem;border:1px solid #eadcff;border-radius:.65rem}.version-history-list article>button{display:grid;justify-items:start;gap:.25rem;border:0;background:transparent;color:#24153f;text-align:left;box-shadow:none}.version-history-list span,.version-history-list small{color:#776b92}.version-compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.version-compare section{padding:1rem;border:1px solid #eadcff;border-radius:.7rem}.version-compare .changed{padding:.25rem;background:#fff1ae}.review-queue{display:grid;gap:.65rem}.review-queue>button{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:.7rem;align-items:center;padding:1rem;border:1px solid #eadcff;border-radius:.75rem;background:#fff;color:#24153f;text-align:left;box-shadow:none}.review-queue small{grid-column:1/-1;color:#776b92}.review-decision{display:grid;gap:1rem}.review-decision h2{margin:0}.review-decision label{display:grid;gap:.4rem;color:#3c255f;font-weight:800}.review-decision textarea{min-height:6rem;padding:.7rem;border:1px solid #d8c8ff;border-radius:.6rem}.read-only-editor{pointer-events:none;opacity:.9}@media(max-width:760px){.version-compare{grid-template-columns:1fr}.review-queue>button{grid-template-columns:1fr 1fr}.review-queue>button strong,.review-queue>button small{grid-column:1/-1}}.compact-modal{width:min(100%,34rem)}.compact-modal>label{display:grid;gap:.45rem;margin:1rem 0;color:#3c255f;font-weight:800}.compact-modal textarea{min-height:6rem;padding:.7rem;border:1px solid #d8c8ff;border-radius:.6rem}.safety-confirm{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start}.safety-confirm input{width:1.15rem;height:1.15rem}.goal-search{display:flex;gap:.6rem}.goal-search input{min-width:0;flex:1;padding:.65rem .8rem;border:1px solid #d8c8ff;border-radius:.6rem}.goal-options,.goal-links{display:grid;gap:.6rem;margin:1rem 0}.goal-options article,.goal-links article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem;border:1px solid #eadcff;border-radius:.65rem}.goal-options article>div{display:grid;gap:.3rem}.goal-options small,.goal-links code{color:#776b92}.goal-links article{display:grid;grid-template-columns:1fr 1fr auto}.goal-links code{overflow:hidden;text-overflow:ellipsis}@media(max-width:600px){.goal-search{flex-direction:column}.goal-links article{grid-template-columns:1fr}.goal-options article{align-items:stretch;flex-direction:column}}.ai-builder,.ai-form{display:grid;gap:1rem}.ai-form>label{display:grid;gap:.4rem;color:#3c255f;font-weight:800}.ai-form textarea{min-height:7rem;padding:.7rem;border:1px solid #d8c8ff;border-radius:.6rem}.ai-form fieldset{display:flex;flex-wrap:wrap;gap:.75rem;border:1px solid #eadcff;border-radius:.7rem}.ai-form fieldset label{display:flex;align-items:center;gap:.35rem}.ai-results{display:grid;gap:1rem}.variant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.variant-grid h3{margin:0;color:#24153f}@media(max-width:850px){.variant-grid{grid-template-columns:1fr}}.demo-mode-banner,.usage-banner{margin:0;padding:.9rem 1rem;border-radius:.75rem;background:#fff4df;color:#7a4c00}.usage-banner{background:#e8f5ef;color:#176b36}.ai-wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0;padding:0}.ai-wizard-steps li{display:flex;align-items:center;gap:.45rem;padding:.75rem;border:1px solid #e0d6eb;border-radius:.7rem;background:#fff;color:#776b92;font-weight:800;list-style:none}.ai-wizard-steps li span{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#eee7f5}.ai-wizard-steps li.active{border-color:#6c4dff;color:#4b32c3}.ai-wizard-steps li.active span,.ai-wizard-steps li.done span{background:#6c4dff;color:#fff}.ai-wizard-card{min-height:24rem}.wizard-pane{display:grid;gap:1rem}.wizard-pane>label{display:grid;gap:.4rem;font-weight:800}.wizard-pane input,.wizard-pane textarea,.wizard-pane select{min-height:2.75rem;padding:.7rem;border:1px solid #d8c8ff;border-radius:.6rem}.wizard-pane textarea{min-height:6rem}.wizard-pane fieldset{display:flex;flex-wrap:wrap;gap:.8rem;border:1px solid #eadcff;border-radius:.7rem}.wizard-pane fieldset label{display:flex;gap:.35rem}.variant-grid article{padding:1rem;border:1px solid #eadcff;border-radius:.8rem;background:#faf7ff}.variant-grid article h3{margin:.7rem 0}.example-prompt{padding:.8rem;border-radius:.6rem;background:#f3eef9;color:#574a76}.wizard-footer,.completion-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.4rem}.wizard-footer button,.completion-actions button,.help-trigger{width:auto}.help-dialog ol{display:grid;gap:.75rem;padding-left:1.4rem;line-height:1.6}.empty-state-panel{display:grid;justify-items:center;gap:.45rem;padding:2.2rem;text-align:center}.empty-state-panel h2,.empty-state-panel p{margin:0}.empty-state-panel p{max-width:34rem;color:#665887}.empty-state-panel .primary-action{width:auto;margin-top:.7rem}.empty-state-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:#f1e8fb;color:#4b32c3;font-size:1.25rem;font-weight:900}.loading-card{text-align:center;color:#665887}@media(max-width:700px){.ai-wizard-steps{grid-template-columns:repeat(2,1fr)}.wizard-footer,.completion-actions{flex-direction:column-reverse}.wizard-footer button,.completion-actions button{width:100%}}.pdf-options{display:grid;gap:.8rem;margin:1.2rem 0}.pdf-options label{display:flex;align-items:center;gap:.55rem;padding:.7rem;border:1px solid #eadcff;border-radius:.6rem;color:#3c255f;font-weight:800}.pdf-options input{width:1.1rem;height:1.1rem}.library-search{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.library-search label{display:grid;gap:.35rem;min-width:140px;flex:1;font-weight:800}.library-search input,.library-search select{min-height:2.65rem;padding:.65rem;border:1px solid #d8c8ff;border-radius:.6rem;background:#fff}.library-search .favourite-filter{display:flex;align-items:center;gap:.45rem;min-height:2.65rem}.library-search .favourite-filter input{min-height:auto}.school-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.library-card{display:flex;flex-direction:column;gap:10px}.library-card .primary-action{margin-top:auto}.library-card-meta,.library-badges,.variant-badges{display:flex;justify-content:space-between;align-items:center;gap:8px}.library-badges,.variant-badges{justify-content:flex-start;flex-wrap:wrap}.content-status.new{background:#fff1c7;color:#704d00}.favourite-star{width:2.2rem;height:2.2rem;padding:0;border:1px solid #d8c8ff;background:#fff;color:#aaa;box-shadow:none}.favourite-star.selected{color:#805700;background:#fff1c7}.variant-badges span{padding:.3rem .55rem;border-radius:99px;background:#eee7f5;color:#4b3265;font-size:.75rem;font-weight:800}.variant-badges .variant-support{background:#e5f4ed;color:#176b36}.variant-badges .variant-challenge{background:#fff1c7;color:#704d00}.school-library-page .empty-state{text-align:center;padding:32px 20px}.global-page-help{margin-left:auto}.global-page-help .help-trigger{min-height:2.35rem;padding:.45rem .7rem;box-shadow:none}.audit-meta-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.audit-meta-list div{padding:.55rem;border-radius:.5rem;background:#f7f2fb}.audit-meta-list dt{color:#776b92;font-size:.72rem}.audit-meta-list dd{margin:.2rem 0 0;overflow-wrap:anywhere}@media(max-width:620px){.global-page-help{display:none}}.reading-mode{margin:1rem 0;border:1px solid #d8c8ff;border-radius:.9rem;background:#fff;padding:.75rem}.reading-toolbar{position:sticky;top:.5rem;z-index:2;display:flex;flex-wrap:wrap;gap:.55rem;padding:.55rem;border-radius:.7rem;background:#f4edff;box-shadow:0 5px 14px #4b32c31f}.reading-toolbar button{width:auto;min-height:44px;padding:.65rem .85rem;box-shadow:none}.reading-font-controls{display:flex;gap:.35rem;margin-left:auto}.reading-font-controls button{min-width:44px;background:#fff;color:#4b32c3;border:1px solid #bfa9f2}.reading-font-controls button[aria-pressed=true]{background:#4b32c3;color:#fff}.reading-status{min-height:1.4rem;margin:.55rem .35rem;color:#665887;font-weight:700}.reading-copy{font-size:var(--reading-scale,125%);line-height:1.75;color:#241642}.reading-copy p{margin:.6rem 0;padding:.3rem .45rem;border-radius:.4rem;transition:background .18s,outline .18s}.reading-copy p.reading-active{background:#fff1a8;outline:2px solid #8a6800}.reading-detail-modal{width:min(92vw,760px);max-height:88vh;overflow:auto}.family-reading-card>div{width:100%}@media(max-width:600px){.reading-toolbar{top:.25rem}.reading-font-controls{width:100%;margin-left:0}.reading-font-controls button{flex:1}.reading-copy{line-height:1.7}}.homework-publisher{display:grid;gap:1rem;margin-bottom:1.25rem}.homework-lines{display:grid;gap:1rem}.homework-lines>article{display:grid;gap:.8rem;padding:1rem;border:1px solid #dccdff;border-radius:.8rem;background:#faf7ff}.homework-links{display:grid;gap:.55rem}.homework-publisher .file-action{width:auto}.family-homework-card>div:first-child{min-width:0;flex:1}.homework-resource-list{padding-left:1.2rem}.homework-resource-list a{color:#4b32c3;font-weight:800}.homework-audio{margin:.7rem 0}.homework-audio figcaption{margin-bottom:.35rem;font-weight:800}.homework-audio audio{width:min(100%,28rem)}@media(max-width:680px){.homework-lines .inline-fields{display:grid;grid-template-columns:1fr}.homework-publisher .button-row{align-items:stretch;flex-direction:column}.homework-publisher .button-row>*{width:100%}}.confidential-banner{margin-bottom:1rem;padding:.75rem 1rem;border:1px solid #9f2140;border-radius:.65rem;background:#fff1f4;color:#7f1731;font-weight:900}.exam-filters{display:grid;gap:1rem}.exam-filters>.secondary-action{width:auto;justify-self:end}.exam-filters .feature-chip-list button{width:auto;padding:.6rem .85rem;border:1px solid #d8c8ff;background:#fff;color:#4b32c3;box-shadow:none}.exam-filters .feature-chip-list button.selected{border-color:#6c4dff;background:#6c4dff;color:#fff}.exam-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.7rem;margin:1rem 0}.exam-summary article{display:grid;gap:.2rem;padding:1rem;border:1px solid #dccdff;border-radius:.75rem;background:#fff}.exam-summary strong{font-size:1.7rem;color:#4b32c3}.exam-summary span{font-size:.82rem;color:#665887}.exam-class-sheet{margin-bottom:1rem}.exam-class-sheet>header{display:flex;justify-content:space-between;gap:1rem}.exam-class-sheet h2,.exam-class-sheet p{margin:.2rem 0}.exam-class-sheet table{width:100%;border-collapse:collapse}.exam-class-sheet th,.exam-class-sheet td{padding:.65rem;border:1px solid #d8c8ff;text-align:left;vertical-align:top}.accommodation-labels{display:flex;flex-wrap:wrap;gap:.35rem}.accommodation-labels span{padding:.25rem .45rem;border-radius:99px;background:#eee5ff;color:#3f278d;font-weight:800;font-size:.78rem}.exam-class-sheet>footer{display:none}@media print{@page{size:A4 landscape;margin:10mm}.app-shell>aside,.app-shell>main>header,.family-bottom-nav,.no-print,.confidential-banner{display:none!important}.app-shell{display:block}.content{max-width:none;padding:0}.exam-accommodations-page>.module-heading{display:none}.exam-summary{display:none}.exam-class-sheet{border:0;box-shadow:none;break-after:page;padding:0}.exam-class-sheet>footer{display:block;position:fixed;bottom:0;width:100%;padding-top:4mm;border-top:1px solid #555;text-align:center;font-weight:900}.exam-class-sheet table{font-size:10pt}.exam-class-sheet th,.exam-class-sheet td{padding:4px}}.content-modal .card-title-row{position:relative;padding-right:3rem}.modal-close{position:absolute;top:0;right:0;width:2.75rem;height:2.75rem;padding:0;border:1px solid #c7b7dd;border-radius:50%;background:#fff;color:#2b1e55;box-shadow:none;font-size:1.25rem}@media print{html,body,.app-shell,main,.module-page,.module-card,.exam-class-sheet{background:#fff!important;color:#000!important;box-shadow:none!important}h1,h2,h3,p,span,th,td,time{color:#000!important}}.app-shell>aside{padding:1rem}.app-shell>aside .brand{min-height:3.5rem;padding:0 .25rem 1rem;border-bottom:1px solid #ffffff22}.app-shell>aside .portal-name{margin:1.5rem .75rem .65rem;font-size:.75rem;letter-spacing:.1em}.sidebar-view-switcher{display:grid;gap:.4rem;margin:0 .55rem 1rem;padding:.75rem;border:1px solid #ffffff24;border-radius:.75rem;background:#ffffff12;color:#f3ecff}.sidebar-view-switcher span{color:#d8b4ff;font-size:.68rem;font-weight:850;letter-spacing:.1em}.sidebar-view-switcher select{width:100%;min-height:2.45rem;padding:.55rem .65rem;border:1px solid #ffffff30;border-radius:.55rem;background:#fff;color:#2b1e55;font:inherit;font-weight:750}.app-shell>aside nav{gap:.25rem;overflow-y:auto;padding-right:.1rem}.app-shell>aside .nav-group{display:grid;gap:.2rem}.app-shell>aside .nav-group+.nav-group{margin-top:.95rem}.app-shell>aside .nav-group>p{margin:0 .75rem .25rem;color:#d8b4ff;font-size:.68rem;font-weight:850;letter-spacing:.1em}.app-shell>aside nav button,.app-shell>aside nav a{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:40px;gap:.75rem;padding:.625rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:400;line-height:1.25rem;text-align:left}.app-shell>aside nav button .icon,.app-shell>aside nav a .icon{flex:0 0 1.25rem;width:1.25rem;text-align:center}.app-shell>aside nav button.active,.app-shell>aside nav a.active{font-weight:500}.app-shell>aside nav a{border:0;box-shadow:0 10px 18px #6c4dff40;cursor:pointer;transition:transform .18s,background .18s}.profile{display:none}.account-menu{position:relative;margin-left:auto}.account-trigger{display:grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid #d8b4ff;border-radius:50%;background:#fffaff;cursor:pointer}.account-trigger:hover{border-color:#6c4dff;background:#f7edff}.account-avatar{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:linear-gradient(145deg,#6c4dff,#b779ef);color:#fff;font-size:.7rem;font-weight:850}.account-avatar.large{width:2.7rem;height:2.7rem;font-size:1rem}.account-popover{position:absolute;top:calc(100% + .7rem);right:0;z-index:20;width:min(20rem,calc(100vw - 2rem));padding:1.15rem;border:1px solid #d8b4ff;border-radius:.9rem;background:#fffaff;box-shadow:0 18px 42px #4b32c324}.account-summary{display:flex;align-items:center;gap:.8rem}.account-summary strong{display:block;color:#120a2a;font-size:.92rem}.account-summary span:not(.account-avatar){display:block;margin-top:.25rem;overflow-wrap:anywhere;color:#665887;font-size:.77rem}.account-divider{height:1px;margin:1rem 0;background:#e3d3f6}.account-section-label{margin:0 0 .8rem;color:#665887;font-size:.86rem}.global-sign-out{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:.6rem .45rem;border:0;border-radius:.45rem;background:transparent;color:#d53d3d;font:inherit;font-size:.86rem;font-weight:750;cursor:pointer}.global-sign-out:hover{background:#fff1f1}.global-sign-out:disabled{opacity:.6;cursor:wait}.logout-error{margin:.55rem 0 0;color:#b42318;font-size:.78rem;line-height:1.4}@media(max-width:760px){.account-popover{right:-.25rem}}.module-page{max-width:64rem;margin:0;padding:1.5rem}.module-heading{margin-bottom:1.25rem}.module-heading .eyebrow{display:none}.module-heading h1{margin:0;color:#120a2a;font-size:1.5rem;letter-spacing:-.025em}.module-heading h1,.module-heading h2,.module-card h2,.module-card h3{color:#120a2a}.module-heading p:not(.eyebrow){margin:.25rem 0 0;color:#665887;font-size:.875rem;line-height:1.55}.primary-action{min-height:2.25rem;padding:.5rem .8rem;border:1px solid #6c4dff;border-radius:.55rem;font-size:.875rem;font-weight:750}.notice{margin:0 0 1rem;padding:.65rem .8rem;border-radius:.55rem;font-size:.82rem}.permission-layout{grid-template-columns:18rem minmax(0,1fr);gap:0;overflow:hidden;border:1px solid #d8b4ff;border-radius:.9rem;background:#fffaff;box-shadow:0 2px 8px #4b32c314}.role-list{padding:.75rem;border:0;border-right:1px solid #e2d3f1;border-radius:0;background:#fcf9ff}.role-list>p{margin:.2rem .3rem .45rem;color:#80629e;font-size:.75rem;letter-spacing:.08em}.role-list button{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border-radius:.55rem;color:#513774;font-size:.875rem}.role-list button:hover{background:#f2eaff}.role-list button.selected{background:#e8d8ff;color:#4b32c3;font-weight:750}.role-list button small{padding:.15rem .38rem;border:1px solid #d4b5fa;border-radius:999px;color:#6c4dff;font-size:.68rem;font-weight:700}.role-list button.selected small{border-color:#aa81ef}.module-card.permission-card{padding:1.5rem;border:0;border-radius:0;background:#fffaff;box-shadow:none}.permission-title{gap:.65rem}.permission-title h2{font-size:1.25rem}.role-chip,.category{padding:.22rem .48rem;font-size:.72rem;font-weight:750}.permission-card h3{margin:1.4rem 0 .2rem;color:#3c255f;font-size:.875rem}.permission-help{max-width:48rem;margin:0 0 .9rem;font-size:.75rem;line-height:1.5}.permission-rows{gap:0;overflow:hidden;border:1px solid #e0d2ef;border-radius:.75rem}.permission-rows label{display:grid;grid-template-columns:1fr auto;gap:.7rem;padding:.78rem 1rem;border-radius:0;border-bottom:1px solid #ece2f6;background:#fffaff;color:#3c255f;font-size:.875rem}.permission-rows label:last-child{border-bottom:0}.permission-rows input{width:1.1rem;height:1.1rem;accent-color:#6c4dff}.settings-tabs{margin-bottom:1rem;padding:.22rem;border-radius:.7rem;background:#eee3fb}.settings-tabs button{padding:.45rem 1rem;border:0;border-radius:.52rem;background:#fffaff;color:#4b32c3;font-size:.875rem;box-shadow:0 1px 2px #4b32c318}.settings-stack{gap:1rem}.setting-card{padding:1rem;border:1px solid #dfcfef;border-radius:.75rem;background:#fffaff;box-shadow:0 2px 6px #4b32c30b}.setting-card h2{margin:.4rem 0 0;color:#3c255f;font-size:.875rem}.setting-editor{gap:.5rem}.setting-editor input{height:2.25rem;padding:.5rem .75rem;border:1px solid #d4bde9;border-radius:.55rem;background:#fdfaff;font-size:.875rem}@media(max-width:760px){.module-page{padding:1.5rem 1.25rem}.module-heading{align-items:flex-start;flex-direction:column}.permission-layout{grid-template-columns:1fr}.role-list{display:flex;gap:.35rem;overflow:auto;border-right:0;border-bottom:1px solid #e2d3f1}.role-list>p{display:none}.role-list button{min-width:9rem}.setting-card{align-items:stretch;flex-direction:column}.setting-editor{width:100%}}.practice-groups-page .module-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.group-layout{display:grid;grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);gap:1rem;align-items:start}.group-list{display:grid;gap:.6rem}.group-list button{min-height:5.5rem;padding:1rem;text-align:left;border:1px solid var(--lp-border-soft);border-radius:10px;background:var(--lp-surface);color:var(--lp-ink)}.group-list button.selected{border-color:var(--lp-primary);box-shadow:0 0 0 2px #6c4dff22}.group-list strong,.group-list span{display:block}.group-list span{margin-top:.25rem;color:var(--lp-muted);font-size:.86rem}.group-detail>header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.group-detail h2,.group-detail h3{margin-top:0}.attendance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.attendance-grid article{padding:.9rem;border:1px solid var(--lp-border-soft);border-radius:10px}.attendance-grid article>div:first-child{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.attendance-row{display:grid;grid-template-columns:1fr minmax(7rem,9rem);gap:.5rem;align-items:center;margin-top:.45rem}.attendance-row select{min-height:3rem}.group-form{margin-bottom:1rem}.group-form textarea{width:100%;font-size:1rem}.group-form small{display:block;color:var(--lp-muted)}@media(max-width:899px){.group-layout{grid-template-columns:1fr}.group-list{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-grid{grid-template-columns:1fr}}@media(max-width:599px){.practice-groups-page .module-heading,.group-detail>header{display:block}.group-list{grid-template-columns:1fr}.practice-groups-page .primary-action{width:100%;margin-top:.75rem}.attendance-row{grid-template-columns:1fr}.attendance-row select{width:100%;min-height:3.5rem}}.home-path-drafts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.home-path-drafts article>header{display:flex;justify-content:space-between;gap:.75rem}.gate-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.gate-row span{padding:.35rem .65rem;border-radius:999px;font-weight:700}.gate-done{color:var(--lp-success);background:#e6f6ee}.gate-pending{color:var(--lp-warning);background:#fff4e0}.privacy-note{color:var(--lp-muted);font-size:.9rem}.home-path-generator{margin-bottom:1rem}.toggle-row{display:flex!important;align-items:center;gap:.6rem}.toggle-row input{width:1.2rem;height:1.2rem}@media(max-width:760px){.home-path-drafts{grid-template-columns:1fr}}.module-page:has(.settings-tabs) .module-heading h1{font-size:1.25rem}.module-page:has(.settings-tabs) .module-heading p:not(.eyebrow){font-size:.875rem}.module-page:has(.settings-tabs) .settings-tabs{display:flex;width:100%;margin:0 0 1rem;padding:.22rem;background:#eee3fb}.module-page:has(.settings-tabs) .settings-tabs button{min-width:4rem;text-align:center}.module-page:has(.settings-tabs) .settings-stack{gap:1rem}.module-page:has(.settings-tabs) .setting-card{display:grid;grid-template-columns:minmax(12rem,.72fr) minmax(20rem,1.28fr);align-items:center;min-height:7.25rem;padding:1rem 1.25rem}.module-page:has(.settings-tabs) .setting-card>div:first-child{min-width:0}.module-page:has(.settings-tabs) .setting-card h2{overflow-wrap:anywhere;font-size:.875rem;font-weight:700}.module-page:has(.settings-tabs) .setting-editor{width:100%;align-items:center}.module-page:has(.settings-tabs) .setting-editor input{height:2.25rem;font-size:.875rem}.module-page:has(.settings-tabs) .setting-editor .primary-action{flex:0 0 auto;min-width:4.5rem}@media(max-width:760px){.module-page:has(.settings-tabs) .setting-card{grid-template-columns:1fr;min-height:0}}.permission-rows input[type=checkbox],.matrix-toggle input[type=checkbox]{position:relative;display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #d9c8e9;border-radius:.35rem;background:#fffaff;color:#76688e;cursor:pointer;transition:background .15s,border-color .15s}.permission-rows input[type=checkbox]:checked,.matrix-toggle input[type=checkbox]:checked{border-color:#6c4dff;background:#6c4dff;color:#fff;box-shadow:0 6px 14px #6c4dff35}.permission-rows input[type=checkbox]:checked:after,.matrix-toggle input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:.82rem;font-weight:900}.permission-rows input[type=checkbox]:hover,.matrix-toggle input[type=checkbox]:hover{border-color:#8a70ff}.permission-rows input[type=checkbox]:focus-visible,.matrix-toggle input[type=checkbox]:focus-visible{outline:3px solid #d8b4ff99;outline-offset:2px}.matrix-toggle input[type=checkbox]:disabled{opacity:.25;cursor:not-allowed}@media(max-width:480px){.permission-rows input[type=checkbox],.matrix-toggle input[type=checkbox]{width:1.15rem}}.child-switcher{display:flex;align-items:center;gap:.5rem;margin-left:auto;color:#665887;font-size:.85rem;font-weight:700}.child-switcher select{padding:.45rem .7rem;border:1px solid #d8b4ff;border-radius:.6rem;background:#fffaff;color:#2b1e55;font:inherit}.child-switcher+.account-menu{margin-left:.75rem}.app-shell>aside{z-index:30;background:var(--lp-sidebar)}.app-shell>main>header{position:sticky;top:0;z-index:20;height:64px;background:var(--lp-surface)}.mobile-menu-trigger,.rail-toggle{width:auto;min-width:48px;min-height:48px;padding:.65rem;border:1px solid #ffffff24;box-shadow:none}.mobile-menu-trigger{display:none;background:var(--lp-surface-2);color:var(--lp-primary-strong);border-color:var(--lp-border)}.rail-toggle{justify-content:flex-start;margin:.25rem 0 .75rem;background:#ffffff12;color:#fff}.nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;border:0;border-radius:0;background:#120a2a88;box-shadow:none}.family-bottom-nav,.family-more-backdrop{display:none}.session-expiry-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:1rem;background:#120a2aaa}.session-expiry-modal{width:min(100%,28rem);padding:1.5rem;border-radius:1rem;background:var(--lp-surface);color:var(--lp-ink);box-shadow:0 20px 60px #120a2a55}.session-expiry-modal h2{margin:0}.session-expiry-modal p{color:var(--lp-muted)}.session-expiry-modal button{min-height:48px}.preview-banner{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;background:#fff4d8;border-bottom:1px solid #e2b15d;color:#633b00}.preview-banner span{font-weight:800}.preview-banner button{min-height:40px;padding:.45rem .75rem;border:1px solid #b97800;border-radius:.55rem;background:#fff;color:#633b00;font-weight:800}.preview-dialog{display:grid;gap:1rem}.preview-dialog label{display:grid;gap:.4rem;color:var(--lp-ink);font-weight:800}.preview-dialog input{min-height:48px;padding:.7rem .8rem;border:1px solid var(--lp-border);border-radius:.6rem;font:inherit}@media(min-width:900px)and (max-width:1199px){.staff-shell{grid-template-columns:72px minmax(0,1fr)}.staff-shell>aside{width:72px;padding:.75rem .55rem;overflow:hidden;transition:width .2s ease}.staff-shell>aside .brand>span:last-child,.staff-shell>aside .portal-name,.staff-shell>aside .nav-group>p,.staff-shell>aside .nav-label,.staff-shell>aside .side-note,.staff-shell>aside .sidebar-view-switcher,.staff-shell>aside .rail-toggle span{display:none}.staff-shell>aside nav a{justify-content:center;padding:.7rem}.staff-shell.rail-expanded{grid-template-columns:260px minmax(0,1fr)}.staff-shell.rail-expanded>aside{position:sticky;inset:0 auto auto 0;width:260px;height:100dvh;box-shadow:none}.staff-shell.rail-expanded>aside .brand>span:last-child,.staff-shell.rail-expanded>aside .portal-name,.staff-shell.rail-expanded>aside .nav-group>p,.staff-shell.rail-expanded>aside .nav-label,.staff-shell.rail-expanded>aside .side-note,.staff-shell.rail-expanded>aside .sidebar-view-switcher,.staff-shell.rail-expanded>aside .rail-toggle span{display:initial}.staff-shell.rail-expanded>aside nav a{justify-content:flex-start}.family-shell{grid-template-columns:96px minmax(0,1fr);background:var(--lp-family-bg)}.family-shell>aside{width:96px;padding:.75rem .6rem}.family-shell>aside .brand>span:last-child,.family-shell>aside .portal-name,.family-shell>aside .nav-group>p,.family-shell>aside .nav-label,.family-shell>aside .side-note{display:none}.family-shell>aside nav a{min-height:64px;justify-content:center;padding:.7rem;font-size:1.1rem}}@media(min-width:1200px){.staff-shell,.family-shell{grid-template-columns:260px minmax(0,1fr)}.staff-shell .rail-toggle{display:none}.family-shell{background:var(--lp-family-bg)}}@media(max-width:899px){.app-shell{display:block;min-height:100dvh}.staff-shell>aside{display:flex!important;position:fixed;inset:0 auto 0 0;width:min(86vw,320px);transform:translate(-105%);transition:transform .2s ease;box-shadow:12px 0 30px #120a2a44}.staff-shell>aside.nav-open{transform:translate(0)}.staff-shell .mobile-menu-trigger{display:inline-flex}.staff-shell .rail-toggle{display:none}.family-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom));background:var(--lp-family-bg)}.family-shell>aside{display:none!important}.family-bottom-nav{position:fixed;inset:auto 0 0;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:.4rem max(.4rem,env(safe-area-inset-right)) calc(.4rem + env(safe-area-inset-bottom)) max(.4rem,env(safe-area-inset-left));border-top:1px solid var(--lp-border-soft);background:var(--lp-surface);box-shadow:0 -8px 24px #120a2a12}.family-bottom-nav a,.family-bottom-nav button{display:grid;justify-items:center;gap:.2rem;min-height:56px;padding:.4rem .25rem;border:0;border-radius:.65rem;background:transparent;box-shadow:none;color:var(--lp-muted);font-size:.72rem;text-decoration:none}.family-bottom-nav a.active{background:var(--lp-surface-2);color:var(--lp-primary-strong)}.family-bottom-nav .icon{font-size:1.15rem}.family-more-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:flex-end;background:#120a2a66}.family-more-menu{width:100%;max-height:75vh;padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom));overflow:auto;border-radius:1.2rem 1.2rem 0 0;background:var(--lp-surface);color:var(--lp-text)}.family-more-menu .card-title-row{margin-bottom:.75rem}.family-more-menu .card-title-row h2{margin:0}.family-more-menu .card-title-row button{width:auto;padding:.55rem .8rem}.family-more-menu nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.family-more-menu nav a{padding:.85rem;border:1px solid var(--lp-border-soft);border-radius:.75rem;background:var(--lp-surface-2);color:var(--lp-text);text-decoration:none}.app-shell>main>header{padding:0 1rem}.crumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.family-shell .crumb{display:none}.module-page{padding:1.5rem 1rem}.preview-banner{align-items:flex-start;flex-direction:column;gap:.35rem}.preview-banner button{width:100%}}.chinese-date-field{position:relative;display:grid;gap:.35rem}.chinese-date-display{min-height:2.75rem;display:flex;align-items:center;gap:.55rem;padding:0 .8rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1f13320d}.chinese-date-display.placeholder{color:var(--muted)}.chinese-date-field input{position:absolute;top:1.55rem;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.chinese-file-field input{position:absolute;width:1px;height:1px;opacity:0}.calendar-month-nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.75rem}.calendar-month-nav button{min-width:2.75rem;min-height:2.75rem}.calendar-weekdays strong{text-align:center;color:var(--text)}.calendar-blank{min-height:4rem}.practice-focus-shell>aside,.practice-focus-shell main>header{display:none}.practice-focus-shell>main{margin:0!important;padding:0!important}.practice-focus-page{min-height:100dvh;background:var(--lp-family-bg,#fdfbff);color:var(--lp-ink,#120a2a);font-size:18px}.practice-top{display:grid!important;grid-template-columns:7rem 1fr 7rem!important;align-items:center;min-height:64px;padding:0 1rem;border-bottom:1px solid var(--lp-border-soft,#e3c8ff);background:#fff!important;text-align:center}.practice-top button{min-height:48px;border:0;background:transparent;color:var(--lp-primary-strong,#4b32c3);font-weight:800;text-align:left}.practice-top span{text-align:right}.practice-start,.practice-question,.practice-review,.practice-result{width:min(100% - 2rem,720px);margin:0 auto;padding:clamp(1.5rem,5vw,3rem) 0}.practice-start{text-align:center}.practice-type{display:grid;place-items:center;width:64px;height:64px;margin:auto;border-radius:18px;background:var(--lp-surface-2,#f7edff);color:var(--lp-primary-strong,#4b32c3);font-size:2rem;font-weight:900}.practice-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.practice-mode-grid button{display:grid;gap:.35rem;justify-items:center;min-height:160px;padding:1rem;border:2px solid var(--lp-border-soft,#e3c8ff);border-radius:16px;background:#fff;color:var(--lp-ink,#120a2a)}.practice-mode-grid button.selected{border-color:var(--lp-primary,#6c4dff);background:var(--lp-surface-2,#f7edff)}.practice-mode-grid span{font-size:2.2rem}.practice-mode-grid strong{font-size:1.2rem}.practice-mode-grid small,.practice-help{color:var(--lp-muted,#665887)}.practice-main-button{min-height:72px;padding:1rem 2rem!important;border:0!important;border-radius:14px!important;background:var(--lp-primary,#6c4dff)!important;color:#fff!important;font-size:1.15rem!important;font-weight:900!important}.practice-main-button:disabled{opacity:.5}.practice-dots{display:flex;justify-content:center;gap:8px;padding:1rem}.practice-dots i{width:12px;height:12px;border-radius:50%;background:#e2dced}.practice-dots i.done{background:var(--lp-success,#1f7a4d)}.practice-dots i.current{background:var(--lp-primary,#6c4dff);box-shadow:0 0 0 5px #6c4dff22}.practice-question{text-align:center}.practice-audio{display:grid;place-items:center;width:112px;height:112px;margin:1rem auto;border:0;border-radius:50%;background:var(--lp-surface-2,#f7edff);color:var(--lp-primary-strong,#4b32c3);font-size:2.4rem}.practice-audio small{font-size:.75rem}.parent-word{display:grid;gap:.4rem;margin:2rem 0;padding:2rem;border:1px solid var(--lp-border-soft,#e3c8ff);border-radius:16px;background:#fff}.parent-word span{font-family:Kaiti TC,DFKai-SB,serif;font-size:48px}.parent-word small{color:var(--lp-muted,#665887)}.parent-mark-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.parent-mark-buttons button{min-height:72px;border:2px solid var(--lp-border-soft,#e3c8ff);border-radius:14px;background:#fff;color:var(--lp-ink,#120a2a);font-size:1.1rem;font-weight:900}.parent-mark-buttons button:first-child{border-color:var(--lp-success,#1f7a4d);color:var(--lp-success,#1f7a4d)}.dictation-input input{width:100%;min-height:80px;padding:1rem;border:2px solid var(--lp-border,#d8b4ff);border-radius:16px;background:#fff;color:var(--lp-ink,#120a2a);font-size:32px;text-align:center}.practice-navigation,.practice-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.practice-navigation button:not(.practice-main-button),.practice-actions .secondary-action{min-height:56px}.practice-review{display:grid;gap:.75rem}.practice-review>button:not(.practice-main-button){display:flex;justify-content:space-between;min-height:64px;padding:1rem;border:1px solid var(--lp-border-soft,#e3c8ff);border-radius:12px;background:#fff;color:var(--lp-ink,#120a2a)}.practice-result{text-align:center}.practice-stars{color:#f0a400;font-size:3rem;letter-spacing:.2rem}.practice-score{font-size:1.3rem;font-weight:900}.practice-result-list{display:grid;gap:.5rem;text-align:left}.practice-result-list>div{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-radius:12px;background:#fff}.practice-result-list .correct{background:#e6f6ee}.practice-result-list .retry{background:#fff4e0}.large-print{font-size:22px}.large-print .dictation-input input{font-size:40px;min-height:96px}.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}.worksheet-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.worksheet-options button,.word-bank button{min-height:64px;padding:1rem;border:2px solid var(--lp-border-soft,#e3c8ff);border-radius:14px;background:#fff;color:var(--lp-ink,#120a2a);font-size:1.05rem}.worksheet-options button.selected{border-color:var(--lp-primary,#6c4dff);background:var(--lp-surface-2,#f7edff)}.fill-blanks,.matching-list,.ordering-list,.picture-label,.short-answer{display:grid;gap:.75rem}.fill-blanks input,.matching-list select,.picture-label input,.short-answer textarea{min-height:58px;padding:.8rem;border:2px solid var(--lp-border,#d8b4ff);border-radius:12px;background:#fff;font:inherit}.word-bank{display:flex;flex-wrap:wrap;gap:.5rem}.matching-list label,.picture-label label,.ordering-list>div{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(10rem,1fr);align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--lp-border-soft,#e3c8ff);border-radius:12px;background:#fff;text-align:left}.ordering-list>div{grid-template-columns:1fr auto auto}.ordering-list button{min-width:48px;min-height:48px}.picture-label img{max-width:100%;max-height:360px;object-fit:contain}.short-answer{text-align:left}.short-answer textarea{min-height:150px}.short-answer small{color:var(--lp-muted,#665887)}.reading-passage{margin:1rem 0;padding:1rem;border:1px solid var(--lp-border-soft,#e3c8ff);border-radius:12px;background:#fff;text-align:left}.record-card{width:100%;border:1px solid var(--lp-border-soft,#e3c8ff);background:#fff;color:inherit;text-align:left}@media(max-width:600px){.practice-top{grid-template-columns:5.5rem 1fr 5.5rem!important;padding:0 .5rem}.practice-mode-grid,.worksheet-options{grid-template-columns:1fr}.practice-start,.practice-question,.practice-review,.practice-result{width:min(100% - 1.5rem,720px)}.practice-actions,.practice-navigation{align-items:stretch}.practice-actions>*{flex:1}.parent-word span{font-size:44px}.matching-list label,.picture-label label{grid-template-columns:1fr}}.parent-home-v2{display:grid;gap:1rem}.parent-home-hero{padding:clamp(1.5rem,4vw,2.6rem);border-radius:1.1rem;background:linear-gradient(120deg,#245f55,#178273);color:#fff}.parent-home-hero h1{margin:.3rem 0;font-size:clamp(1.9rem,4vw,2.8rem)}.parent-home-hero p{color:#e6fff8}.parent-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.parent-summary-grid article{display:grid;gap:.3rem;padding:1rem;border-radius:.8rem;background:#f1faf7}.parent-summary-grid span{color:#4d6f68}.parent-summary-grid strong{font-size:1.8rem;color:#174e45}.family-comment-list{display:grid;gap:.65rem}.family-comment-list blockquote{display:grid;gap:.5rem;margin:0;padding:1rem;border-left:4px solid #178273;border-radius:.4rem;background:#f1faf7}.family-comment-list small{color:#58716c}.family-due-list{display:grid;gap:.6rem}.family-due-list a{display:flex;justify-content:space-between;gap:1rem;padding:.9rem;border:1px solid #d7eae5;border-radius:.7rem;color:#174e45;text-decoration:none}@media(max-width:620px){.parent-summary-grid{grid-template-columns:1fr}.family-due-list a{flex-direction:column}}.student-picker{display:grid;gap:.65rem;margin:0;padding:1rem;border:1px solid var(--lp-border-soft);border-radius:.8rem;background:var(--lp-surface-2)}.student-picker legend{padding:0 .35rem;color:var(--lp-ink);font-weight:900}.student-picker-fields{display:grid;grid-template-columns:minmax(10rem,.7fr) minmax(14rem,1.3fr);gap:.75rem}.student-picker-fields label{display:grid;gap:.35rem;font-weight:800}.student-picker-selection{margin:0;color:var(--lp-muted);font-weight:700}.student-profile-page{padding:1.5rem}.student-profile-breadcrumb{margin:0 0 1rem;color:var(--lp-muted);font-size:.85rem;font-weight:750}.student-profile-breadcrumb span{padding:0 .35rem;color:var(--lp-border)}.student-profile-header{display:grid;height:auto;min-height:8.5rem;gap:.7rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--lp-border-soft);border-radius:.8rem;background:#fff}.student-profile-header>a{width:max-content}.student-profile-header h1,.student-profile-header p{margin:.15rem 0}.student-profile-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;padding-bottom:.4rem}.student-profile-tabs button{width:auto;min-width:max-content;padding:.65rem .85rem;border:1px solid var(--lp-border);background:#fff;color:var(--lp-primary-strong);box-shadow:none}.student-profile-tabs button.active{background:var(--lp-primary);color:#fff}.student-progress-panel{display:grid;gap:1rem}.student-progress-panel .summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.student-progress-panel .summary-grid article{display:grid;gap:.25rem;padding:1rem;border:1px solid var(--lp-border-soft);border-radius:.75rem;background:#fff}.student-progress-panel .summary-grid strong{color:var(--lp-primary-strong);font-size:1.5rem}.student-progress-panel .summary-grid span{color:var(--lp-muted);font-weight:750}@media(max-width:640px){.student-picker-fields{grid-template-columns:1fr}.student-profile-page{padding:1rem}.student-progress-panel .summary-grid{grid-template-columns:repeat(2,1fr)}}.content-editor-title{min-width:0;flex:1;margin:0;overflow-wrap:anywhere;color:var(--lp-ink);font-size:1.35rem}.content-editor-title-input{min-width:12rem;flex:1;padding:.6rem;border:1px solid var(--lp-border);border-radius:.55rem;background:#fff;color:var(--lp-ink);font:900 1.25rem/1.35 inherit;resize:vertical}.content-status-row{display:flex;flex-wrap:wrap;gap:.4rem}.read-only-editor input,.read-only-editor textarea,.read-only-editor select,.read-only-editor button{display:none!important}.editor-actions{z-index:5;margin-top:1rem;margin-bottom:1.5rem}.editor-more{position:relative;margin-right:auto}.editor-more summary{min-height:44px;padding:.7rem 1rem;border:1px solid var(--lp-border);border-radius:.65rem;background:#fff;color:var(--lp-primary-strong);font-weight:900;cursor:pointer}.editor-more>div{position:absolute;right:0;bottom:calc(100% + .4rem);z-index:6;display:grid;min-width:12rem;padding:.45rem;border:1px solid var(--lp-border);border-radius:.7rem;background:#fff;box-shadow:0 12px 30px #120a2a30}.editor-more button{justify-content:flex-start;width:100%;padding:.65rem;border:0;background:#fff;color:var(--lp-ink);box-shadow:none;text-align:left}.content-admin:has(.editor-actions){padding-bottom:8rem}.content-editor-head>.text-action,.content-editor-head>.secondary-action,.content-status,.content-status-row span,.version-bar button,.preview-tabs button,.dictation-rows button,.question-card-head button,.editor-actions>*{white-space:nowrap;word-break:keep-all}.preview-tabs{flex-wrap:wrap}.recent-homework-filters{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:.75rem;margin-bottom:1rem}.recent-homework-filters>.secondary-action{width:auto;min-width:7rem}@media(max-width:700px){.recent-homework-filters{grid-template-columns:1fr}.recent-homework-filters>.secondary-action{width:100%}}@media(max-width:1100px){.editor-actions{position:static}.content-admin:has(.editor-actions){padding-bottom:2rem}}.assignment-view-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.assignment-view-tabs button{width:auto;padding:.7rem 1rem;border:1px solid var(--lp-border);background:#fff;color:var(--lp-primary-strong);box-shadow:none;font-weight:900}.assignment-view-tabs button.active{background:var(--lp-primary);color:#fff}.assignment-hidden,.assignment-workspace.assigned .assignment-wizard{display:none}.assignment-workspace.assigned{grid-template-columns:1fr}.assignment-workspace.assigned .assignment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.assignment-workspace.assigned .assignment-list>.module-heading{grid-column:1/-1}.chip-picker{display:flex;flex-wrap:wrap;gap:.5rem;padding:.8rem;border:1px solid var(--lp-border);border-radius:.7rem;background:#fff}.chip-picker legend{padding:0 .35rem;font-weight:900}.chip-picker button{width:auto;padding:.55rem .8rem;border:1px solid var(--lp-border);background:#fff;color:var(--lp-primary-strong);box-shadow:none}.chip-picker button.selected{background:var(--lp-primary);color:#fff}
