:root{--shell-tabbar-h:64px;--shell-rail-w:7rem;--shell-target:56px;--shell-column:44rem;--shell-column-wide:66rem;--shell-portal-column:54rem;--shell-card-radius:var(--radius-card,24px);--shell-hero-radius:var(--radius-hero,28px);--nav-bg:var(--surface);--nav-line:var(--line);--nav-ink:var(--muted);--nav-ink-on:var(--indigo-ink);--nav-tint-on:var(--tint-indigo);--nav-hover:var(--surface-sunken);--nav-shadow:0 -4px 18px #11182a0f;--hero-bg:var(--indigo-ink);--hero-ink:#fff;--hero-ink-soft:color-mix(in oklab, #fff 88%, var(--indigo-ink));--hero-action-bg:#fff;--hero-action-ink:var(--indigo-ink);--hero-shadow:var(--shadow-indigo,0 8px 24px #4f46e547);--hero-pending-bg:var(--tint-indigo);--hero-pending-h:11.5rem;--card-bg:var(--surface);--card-line:var(--line);--card-shadow:var(--shadow-card);--card-shadow-hover:var(--shadow-float);--choice-line:var(--line);--choice-line-hover:var(--line-strong);--choice-on-line:var(--indigo-ink);--choice-on-bg:var(--tint-indigo);--pet-bg:var(--tint-amber);--pet-line:color-mix(in oklab, var(--amber-ink) 22%, transparent);--pet-ink-soft:var(--amber-ink);--focus-ring:var(--indigo-ink)}body[data-tabs=on] .app-shell{padding-bottom:calc(var(--shell-tabbar-h) + var(--safe-bottom) + 1.25rem)}body[data-tabs=on] .site-footer{font-size:.8rem}.tab-bar{z-index:30;padding:.4rem calc(var(--safe-right) + .5rem) calc(var(--safe-bottom) + .4rem) calc(var(--safe-left) + .5rem);background:var(--nav-bg);border-top:1px solid var(--nav-line);box-shadow:var(--nav-shadow);justify-content:center;gap:.25rem;margin:0;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar__list{justify-content:center;gap:.25rem;width:100%;max-width:40rem;margin:0;padding:0;list-style:none;display:flex}.tab-bar__cell{flex:1 1 0;justify-content:center;min-width:0;display:flex}.tab-bar__item{width:100%;min-width:0;max-width:10rem;min-height:var(--shell-target);color:var(--nav-ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:18px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:.3rem .25rem;font-size:.8rem;font-weight:700;line-height:1.15;text-decoration:none;display:flex;box-shadow:inset 0 3px #0000}.tab-bar__item--on{background:var(--nav-tint-on);color:var(--nav-ink-on);box-shadow:inset 0 3px 0 var(--nav-ink-on);font-weight:800}.tab-bar__icon{font-size:1.35rem;line-height:1}.tab-bar__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (max-width:359px){.tab-bar{padding-left:calc(var(--safe-left) + .25rem);padding-right:calc(var(--safe-right) + .25rem);gap:.125rem}.tab-bar__list{gap:.125rem}.tab-bar__item{padding-left:2px;padding-right:2px;font-size:.72rem}}.tab-bar__item:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}@media (forced-colors:active){.tab-bar{border-top:1px solid canvastext}.tab-bar__item--on{outline:2px solid highlight}}@media print{.tab-bar{display:none!important}body[data-tabs=on] .app-shell{padding-bottom:0}}.student-screen{flex-direction:column;gap:1rem;width:100%;display:flex}.student-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;margin:0;display:flex}.student-head__text{flex:10rem;min-width:0}.student-head__eyebrow{color:var(--muted);margin:0;font-size:.95rem;font-weight:600}.student-head__title{font-family:var(--font-display,inherit);color:var(--ink);overflow-wrap:break-word;margin:0;font-size:clamp(1.6rem,1.3rem + 1.4vw,2.1rem);font-weight:800;line-height:1.15}.student-head__switch{min-height:var(--tap-target);border:1px solid var(--card-line);background:var(--card-bg);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:.4rem;padding:.3rem .85rem .3rem .4rem;font-size:.85rem;font-weight:700;display:inline-flex}.student-head__face{background:var(--pet-bg);border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.3rem;display:inline-grid}.home-layout,.home-layout__main,.home-layout__side{flex-direction:column;gap:1rem;min-width:0;display:flex}.hero-card,.child-assignment{border-radius:var(--shell-hero-radius);background:var(--hero-bg);color:var(--hero-ink);box-shadow:var(--hero-shadow);margin:0;padding:1.25rem 1.25rem 1.3rem}.hero-card--pending{min-height:var(--hero-pending-h);background:var(--hero-pending-bg);box-shadow:none}.hero-card__eyebrow,.child-assignment__from{letter-spacing:.05em;text-transform:uppercase;color:var(--hero-ink-soft);margin:0 0 .35rem;font-size:.8rem;font-weight:800}.hero-card__title{font-family:var(--font-display,inherit);color:var(--hero-ink);overflow-wrap:break-word;margin:0 0 .25rem;font-size:1.45rem;font-weight:700;line-height:1.2}.hero-card__detail,.child-assignment__meta{color:var(--hero-ink-soft);margin:0 0 1rem;font-size:.95rem;line-height:1.5}.hero-card__action,.child-assignment__open{width:100%;min-height:var(--shell-target);background:var(--hero-action-bg);color:var(--hero-action-ink);font:inherit;text-align:center;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:.6rem 1rem;font-size:1.05rem;font-weight:800;text-decoration:none;display:flex}.hero-card__action:focus-visible,.child-assignment__open:focus-visible{outline:3px solid var(--hero-ink);outline-offset:3px}@media (prefers-contrast:more),(forced-colors:active){.hero-card{border:2px solid var(--hero-ink)}}.child-progress{flex-direction:column;gap:1rem;margin:0;display:flex}.pet-card,.explore-card{border-radius:var(--shell-card-radius);min-height:72px;color:var(--ink);grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:.9rem 1.1rem;text-decoration:none;display:grid}.pet-card{background:var(--pet-bg);border:1px solid var(--pet-line)}.explore-card{background:var(--card-bg);border:1px solid var(--card-line);box-shadow:var(--card-shadow);grid-template-columns:1fr auto}.explore-card__title{grid-column:1;font-size:1.05rem;font-weight:800}.explore-card__detail{color:var(--muted);grid-column:1;font-size:.9rem}button.explore-card{width:100%;font:inherit;text-align:left;cursor:pointer}.explore-card .pet-card__chevron{grid-area:1/2/span 2}.pet-card__face{font-size:2.6rem;line-height:1}.pet-card__text{flex-direction:column;gap:2px;min-width:0;display:flex}.pet-card__title{font-size:1.05rem;font-weight:800}.pet-card__detail{color:var(--pet-ink-soft);font-size:.9rem}.pet-card__chevron{color:var(--muted);font-size:1.6rem;font-weight:700}.pet-card:focus-visible,.explore-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.practice-form{padding-bottom:calc(var(--shell-target) * 2 + 3rem);flex-direction:column;gap:1.1rem;display:flex}.state-chip{border:1px solid var(--card-line);background:var(--card-bg);border-radius:999px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .6rem .5rem 1rem;display:flex}.state-chip__label{color:var(--muted);white-space:nowrap;font-size:.9rem;font-weight:700}.state-chip__select{min-height:var(--tap-target);border-radius:999px;max-width:62%;margin:0;font-weight:700}.card-select{border:0;min-width:0;margin:0;padding:0}.card-select__legend{font-family:var(--font-display,inherit);color:var(--ink);margin:0 0 .5rem;padding:0;font-size:1.15rem;font-weight:700}.card-select__group+.card-select__group{margin-top:.85rem}.card-select__group-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .4rem;font-size:.8rem;font-weight:800}.card-select__grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,9.5rem),1fr));gap:.6rem;display:grid}.choice-card{border:2px solid var(--choice-line);background:var(--card-bg);min-height:64px;color:var(--ink);cursor:pointer;border-radius:20px;flex-direction:column;justify-content:center;gap:2px;padding:.75rem 2.2rem .75rem .95rem;display:flex;position:relative}.choice-card--on{border-color:var(--choice-on-line);background:var(--choice-on-bg)}.choice-card__label{overflow-wrap:anywhere;font-size:1rem;font-weight:800;line-height:1.25}.choice-card__detail{color:var(--muted);font-size:.85rem}.choice-card__tick{width:1.4rem;height:1.4rem;color:var(--hero-ink);border-radius:50%;place-items:center;font-size:.85rem;font-weight:900;display:grid;position:absolute;top:.55rem;right:.7rem}.choice-card--on .choice-card__tick{background:var(--choice-on-line)}.choice-card:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}@media (forced-colors:active){.choice-card--on{outline:3px solid highlight}}.practice-form__start{bottom:calc(var(--shell-tabbar-h) + var(--safe-bottom) + .5rem);z-index:5;background:linear-gradient(to bottom, transparent, var(--canvas) 35%);padding-top:.5rem;position:sticky}.practice-form__start .primary-button{width:100%;min-height:var(--shell-target)}.practice-form__start .practice-form__round{width:100%;min-height:var(--shell-target);justify-content:center;gap:.4rem;margin-top:.5rem}.practice-form__round-note{color:var(--muted);font-weight:500}.profile-page.student-screen{gap:1.1rem}.portal-screen{width:100%}.portal-screen>h1{margin:.15rem 0 .75rem;font-size:1.5rem;line-height:1.2}.portal-screen [role=tabpanel]>.settings-section:first-child,.portal-screen [role=tabpanel]>.child-switcher+.settings-section,.portal-screen [role=tabpanel]>.latest-card+.settings-section{border-top:0;padding-top:.25rem}.portal-screen [role=tabpanel] .settings-section>h2{margin:0 0 .6rem;font-size:1.2rem}.portal-section__more{min-height:var(--tap-target);margin-top:.75rem}.portal-screen .child-card__actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.portal-screen .child-card__actions .pill-button{white-space:nowrap;min-width:0}.portal-screen .sibling-note{color:var(--muted);background:0 0;margin:0 0 .75rem;padding:0;font-size:.85rem}.child-switcher{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;display:flex}.child-switcher__chip{min-height:var(--tap-target);border:1px solid var(--card-line);background:var(--card-bg);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem 1rem;font-weight:700;display:inline-flex}.child-switcher__chip--on{border-color:var(--choice-on-line);background:var(--hero-bg);color:var(--hero-ink)}@media (forced-colors:active){.child-switcher__chip--on{outline:2px solid highlight}}.latest-card{border:1px solid var(--card-line);border-radius:var(--shell-card-radius);background:var(--card-bg);box-shadow:var(--card-shadow);margin:0 0 1rem;padding:1.15rem 1.2rem}.latest-card__eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.8rem;font-weight:800}.latest-card__title{color:var(--ink);overflow-wrap:anywhere;margin:.15rem 0 .2rem;font-size:1.25rem;font-weight:800}.latest-card__meta{color:var(--muted);margin:0 0 .9rem;font-size:.92rem}.latest-card__actions{flex-wrap:wrap;gap:.6rem;display:flex}.latest-card__actions>*{min-height:var(--tap-target);flex:10rem}.latest-card__all{min-height:var(--tap-target);margin-top:.6rem}@media (hover:hover){.tab-bar__item:not(.tab-bar__item--on):hover{background:var(--nav-hover);color:var(--ink)}.choice-card:not(.choice-card--on):hover{border-color:var(--choice-line-hover)}.pet-card:hover,.explore-card:hover{box-shadow:var(--card-shadow-hover)}.student-head__switch:hover,.child-switcher__chip:not(.child-switcher__chip--on):hover{background:var(--nav-hover)}.hero-card__action:hover,.child-assignment__open:hover{background:color-mix(in oklab, var(--hero-action-bg) 90%, var(--hero-bg))}}@media (orientation:landscape) and (max-height:500px){:root{--shell-tabbar-h:52px}.tab-bar{padding-top:.2rem;padding-bottom:calc(var(--safe-bottom) + .2rem)}.tab-bar__item{min-height:var(--tap-target);flex-direction:row;gap:.4rem}.tab-bar__icon{font-size:1.15rem}}@media (min-width:768px){.student-screen{max-width:var(--shell-column);margin-inline:auto}.portal-screen{max-width:var(--shell-portal-column);margin-inline:auto}.practice-form__start .primary-button,.practice-form__start .practice-form__round{max-width:26rem;margin-inline:auto;display:flex}}@media (min-width:960px){.student-screen--home{max-width:var(--shell-column-wide)}.home-layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:1.25rem;display:grid}}@media (min-width:1024px) and (hover:hover) and (pointer:fine){body[data-tabs=on] .app-shell{padding-bottom:calc(var(--safe-bottom) + 1rem);padding-left:calc(var(--safe-left) + var(--shell-rail-w) + var(--gutter))}.tab-bar{width:calc(var(--shell-rail-w) + var(--safe-left));padding:calc(var(--safe-top-chrome) + 1rem) .5rem 1rem calc(var(--safe-left) + .5rem);border-top:0;border-right:1px solid var(--nav-line);box-shadow:none;flex-direction:column;justify-content:flex-start;gap:.35rem;top:0;right:auto}.tab-bar__list{flex-direction:column;gap:.35rem;max-width:none}.tab-bar__cell{flex:none}.tab-bar__item{flex:none;max-width:none;min-height:64px;box-shadow:inset 3px 0 #0000}.tab-bar__item--on{box-shadow:inset 3px 0 0 var(--nav-ink-on)}.practice-form__start{bottom:1rem}@media (forced-colors:active){.tab-bar{border-top:0;border-right:1px solid canvastext}}}.paywall-includes{color:var(--ink);gap:.35rem;margin:.25rem 0 1rem;padding-left:1.25rem;display:grid}.paywall-steps{gap:.4rem;margin:.25rem 0 1rem;padding-left:1.4rem;line-height:1.5;display:grid}.paywall--web h3{margin:1.25rem 0 .4rem;font-size:1.1rem}
