:root{--navy:#1e3a5f;--navy-deep:#14283f;--cream:#fbf8f3;--coral:#ff8b8b;--coral-soft:#ffb3b3;--coral-wash:#fde9e6;--muted:#5a6b80;--border:#e5e0d5;--white:#fff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius:10px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--text-xs:11px;--text-sm:12px;--text-body:14px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:24px;--text-2xl:28px;--text-display:36px;--font-serif:"Playfair Display",Georgia,serif;--font-sans:"Inter",system-ui,-apple-system,sans-serif;--shell-rail-width:60px;--shell-rail-expanded:212px;--shell-topbar-height:64px;--rail-ease:cubic-bezier(0.4,0,0.2,1);--amber:#8a5a00;--amber-soft:#fdf0d5;--green:#1d6b45;--green-soft:#e6f3ec;--red:#7a2318;--red-soft:#f9d6d2;--purple:#3f2a73;--purple-soft:#ede7f6;--sand:#f3efe7;--border-strong:#cfc8ba;--shadow-card:0 4px 14px rgba(20,40,63,.06);--shadow-pop:0 8px 28px rgba(20,40,63,.12)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--cream);color:var(--navy);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6}.serif,h1,h2,h3{font-family:Playfair Display,Georgia,serif;font-weight:500}a{color:var(--navy)}.rail{position:fixed;top:0;left:0;height:100vh;width:var(--shell-rail-width);padding:var(--space-5) 10px var(--space-4);background:var(--navy);color:var(--cream);display:flex;flex-direction:column;gap:var(--space-2);overflow-x:hidden;overflow-y:auto;z-index:40;transition:width .18s var(--rail-ease)}.rail-label{flex:1 1;min-width:0;white-space:nowrap;opacity:0;transition:opacity 90ms ease}.rail-item{display:flex;align-items:center;gap:var(--space-3);height:40px;flex:0 0 auto;padding:0 10px;border-radius:8px;color:var(--cream);font-size:var(--text-body);font-weight:500;text-decoration:none;background:transparent;border:none;font-family:inherit;width:100%;text-align:left;cursor:pointer;transition:background .12s ease}.rail-icon{flex:0 0 20px;width:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--coral-soft)}.rail-item:hover{background:hsla(0,0%,100%,.08)}.rail-item:focus-visible{outline:2px solid var(--coral-soft);outline-offset:-2px}.rail-item[aria-current=page]{background:hsla(0,0%,100%,.16);font-weight:600}.rail-item[aria-current=page] .rail-icon{color:var(--white)}.rail-badge{flex:0 0 auto;min-width:20px;height:18px;padding:0 6px;border-radius:var(--radius-pill);background:var(--coral);font-size:var(--text-xs);font-weight:700;display:inline-flex;justify-content:center}.rail-badge,.rail-brand{color:var(--white);align-items:center}.rail-brand{display:flex;height:40px;padding:0 10px;margin-bottom:var(--space-4);font-family:var(--font-serif);font-size:20px;font-weight:600}.rail-brand-swap{display:grid;align-items:center;justify-items:start}.rail-brand-swap>span{grid-area:1/1;white-space:nowrap;line-height:1.1}.rail-brand-mono{opacity:1;transition:opacity 90ms ease}.rail-brand-full{opacity:0;transition:opacity 90ms ease}.rail-brand-dot{color:var(--coral)}.rail-spacer{flex:1 1 auto}.rail-backdrop,.rail-close{display:none}.rail-menu{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:.5px solid var(--border);border-radius:8px;color:var(--navy);cursor:pointer}.rail-menu:hover{background:var(--cream)}@media (min-width:768px){.rail:focus-within,.rail:hover{width:var(--shell-rail-expanded)}.rail:focus-within .rail-label,.rail:hover .rail-label{opacity:1;transition:opacity .14s ease 70ms}.rail:focus-within .rail-brand-mono,.rail:hover .rail-brand-mono{opacity:0}.rail:focus-within .rail-brand-full,.rail:hover .rail-brand-full{opacity:1;transition:opacity .14s ease 70ms}.rail-menu{display:none}}@media (max-width:767px){.rail{width:var(--shell-rail-expanded);transform:translateX(-100%);transition:transform .18s var(--rail-ease);box-shadow:var(--shadow-pop)}.rail[data-open=true]{transform:translateX(0)}.rail .rail-label{opacity:1;transition:none}.rail-brand-mono{opacity:0;transition:none}.rail-brand-full{opacity:1;transition:none}.rail-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:transparent;border:none;color:var(--cream);cursor:pointer;border-radius:8px}.rail-close:hover{background:hsla(0,0%,100%,.08)}.rail-backdrop{display:block;position:fixed;inset:0;background:rgba(20,40,63,.45);z-index:39;border:none;padding:0}}.shell-content{margin-left:var(--shell-rail-width)}@media (max-width:767px){.shell-content{margin-left:0}}@media (prefers-reduced-motion:reduce){.rail,.rail-label{transition:none}}.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}.brand-loader{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--space-16) var(--space-8);background:var(--cream);opacity:0;animation:brand-loader-appear 0s linear .3s forwards}.brand-loader--full{min-height:100vh}@keyframes brand-loader-appear{to{opacity:1}}.brand-wordmark{font-family:var(--font-serif);font-weight:500;font-size:clamp(28px,5vw,44px);letter-spacing:-.02em;line-height:1.1;white-space:nowrap;background-image:linear-gradient(90deg,var(--coral) 0,var(--coral) 48%,hsla(0,100%,77%,.28) 52%,hsla(0,100%,77%,.28) 100%);background-size:200% 100%;background-repeat:no-repeat;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:brand-fill 2.26s linear infinite}@keyframes brand-fill{0%{background-position:100% 0;animation-timing-function:cubic-bezier(.4,0,.2,1)}62%{background-position:0 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.brand-wordmark{animation:none;background-image:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--coral);-webkit-text-fill-color:var(--coral)}}.dash{display:flex;flex-direction:column;gap:var(--space-4);padding:28px 32px}.dash-grid,.form-grid,.mark-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:1fr}.dash-card{display:flex;flex-direction:column;min-height:0}.dash-body{min-height:0;overflow:hidden}.dash-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}@media (min-width:768px){.dash-topbar-phone-only{display:none!important}.dash-grid{grid-template-columns:1fr 1fr}}@media (min-width:1100px){.dash{height:100vh;overflow:hidden}.dash-grid,.form-grid{flex:1 1;min-height:0;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.dash-today{grid-row:1/span 2}.dash-grid-even,.dash-grid-trio{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-grid-trio{grid-template-rows:minmax(0,1fr)}.recognition-grid{grid-auto-flow:column;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.recognition-tall{grid-row:span 2}.dash-grid-wide-left{grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.resource-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.exam-grid{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.exam-grid,.form-grid{grid-template-rows:minmax(0,1fr)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-card{overflow-y:auto}.form-grid-wide-right{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.family-classes-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr);grid-template-rows:minmax(0,1fr)}.family-trial-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr) minmax(0,.8fr);grid-template-rows:minmax(0,1fr)}.family-check-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.9fr);grid-template-rows:minmax(0,1fr)}.dash-span-2{grid-column:span 2}.dash-grid-pair{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}.mark-grid{flex:1 1;min-height:0;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.dash-body{flex:1 1 auto;overflow-y:auto;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 22px),transparent)}}.parent-phone-only{display:block}.parent-desktop-only{display:none}.parent-phone-flex{display:flex}.parent-topbar{display:none!important}.parent-tabs{position:fixed;left:0;right:0;bottom:0;height:78px;background:var(--white);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 8px 12px;z-index:40}.parent-shell{padding-bottom:78px}@media (min-width:768px){.parent-phone-only{display:none}.parent-phone-flex{display:none!important}.parent-desktop-only{display:block}.parent-tabs{display:none}.parent-shell{padding-bottom:0}}.parent-home-phone{display:flex;flex-direction:column;gap:12px;padding:16px 16px 0;min-height:0}.parent-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}@media (max-height:800px){.parent-home-phone .dash-clamp{-webkit-line-clamp:1;line-clamp:1}}.earlier-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:4px 12px;gap:4px 12px;align-items:center}.earlier-row>:first-child{order:1}.earlier-row>:nth-child(2){order:0}.earlier-row>:nth-child(3){order:2}.earlier-row>:nth-child(4){order:3;text-align:right}.earlier-row>:nth-child(5){order:4;display:none}@media (min-width:1100px){.earlier-row{grid-template-columns:90px minmax(0,1fr) 170px 170px 120px;gap:12px}.earlier-row>:first-child{order:0}.earlier-row>:nth-child(2){order:1}.earlier-row>:nth-child(3){order:2}.earlier-row>:nth-child(4){order:3;text-align:left}.earlier-row>:nth-child(5){order:4;display:block}.messages-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);grid-template-rows:minmax(0,1fr)}}.messages-context{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px;margin-top:4px}@media (min-width:900px){.messages-context{grid-template-columns:repeat(2,minmax(0,1fr))}}