.shell[data-astro-cid-jvws6cnk]{min-height:100dvh}.content[data-astro-cid-jvws6cnk]{min-width:0;padding:var(--space-5) var(--space-4) calc(5.5rem + env(safe-area-inset-bottom));max-width:76rem}.sidebar[data-astro-cid-jvws6cnk]{display:none}.nav-item[data-astro-cid-jvws6cnk]{align-items:center;gap:var(--space-3);height:3rem;padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--text);font:600 var(--text-md) / 1 var(--font-body);cursor:pointer;width:100%;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;text-decoration:none;display:flex}.nav-item[data-astro-cid-jvws6cnk]:hover{background:var(--navy-a06);color:var(--ink)}.nav-item[data-astro-cid-jvws6cnk][aria-current=page]{background:var(--navy);color:var(--white)}.side-nav[data-astro-cid-jvws6cnk]{position:relative}.side-pill[data-astro-cid-jvws6cnk]{z-index:0;border-radius:var(--radius-md);background:linear-gradient(180deg, var(--navy-2), var(--navy));height:0;box-shadow:inset 0 1px 0 var(--white-a15), 0 8px 18px -8px var(--navy-a35);opacity:0;pointer-events:none;transition:transform .4s cubic-bezier(.22,1,.36,1),height .4s cubic-bezier(.22,1,.36,1),opacity .2s linear;position:absolute;top:0;left:0;right:0}.side-nav[data-astro-cid-jvws6cnk].has-pill .nav-item[data-astro-cid-jvws6cnk]{z-index:1;color:var(--text);background:0 0;transition:color .2s linear 60ms;position:relative}.side-nav[data-astro-cid-jvws6cnk].has-pill .nav-item[data-astro-cid-jvws6cnk].is-lit{color:var(--white)}@media (prefers-reduced-motion:reduce){.side-pill[data-astro-cid-jvws6cnk]{transition:none}}.nav-item[data-astro-cid-jvws6cnk] .icon[data-astro-cid-jvws6cnk]{flex:none;width:1.35rem;height:1.35rem}.tabbar[data-astro-cid-jvws6cnk]{z-index:30;padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom));isolation:isolate;background:linear-gradient(to top, var(--white-a88), var(--white-a62));border-top:1px solid var(--white-a70);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.tab[data-astro-cid-jvws6cnk]{padding:var(--space-2) 0;border-radius:var(--radius-md);color:var(--muted);font:650 .75rem / 1.2 var(--font-body);justify-items:center;gap:2px;text-decoration:none;display:grid}.tab[data-astro-cid-jvws6cnk] .icon[data-astro-cid-jvws6cnk]{width:1.4rem;height:1.4rem}.tab[data-astro-cid-jvws6cnk][aria-current=page]{color:var(--brand);background:var(--brand-soft)}.m-top[data-astro-cid-jvws6cnk]{padding:var(--space-4) var(--space-4) 0;justify-content:space-between;align-items:center;display:flex;position:relative}.m-avatar[data-astro-cid-jvws6cnk]{width:var(--control);height:var(--control);background:var(--signal);color:var(--navy);font:700 var(--text-md) / 1 var(--font-display);cursor:pointer;box-shadow:0 0 0 3px var(--white), 0 4px 12px -4px var(--navy-a35);border:0;border-radius:50%;place-items:center;display:grid}.m-menu[data-astro-cid-jvws6cnk]{right:var(--space-4);top:calc(100% + var(--space-2));z-index:40;width:min(17rem,100vw - 2rem);padding:var(--space-2);border-radius:var(--radius-lg);background:var(--white-a90);backdrop-filter:blur(24px)saturate(160%);border:1px solid var(--white-a80);box-shadow:0 20px 50px var(--navy-a30);display:grid;position:absolute}.m-who[data-astro-cid-jvws6cnk]{padding:var(--space-3);border-bottom:1px solid var(--line);margin-bottom:var(--space-1);gap:2px;display:grid}.m-who[data-astro-cid-jvws6cnk] strong[data-astro-cid-jvws6cnk]{color:var(--ink);font-weight:650}.m-who[data-astro-cid-jvws6cnk] span[data-astro-cid-jvws6cnk]{font-size:var(--text-xs);color:var(--muted);overflow-wrap:anywhere}.m-menu[data-astro-cid-jvws6cnk] a[data-astro-cid-jvws6cnk],.m-menu[data-astro-cid-jvws6cnk] button[data-astro-cid-jvws6cnk]{align-items:center;gap:var(--space-2);min-height:var(--control);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--ink);font:600 var(--text-sm) / 1 var(--font-body);cursor:pointer;text-align:left;background:0 0;border:0;text-decoration:none;display:flex}.m-menu[data-astro-cid-jvws6cnk] a[data-astro-cid-jvws6cnk]:hover,.m-menu[data-astro-cid-jvws6cnk] button[data-astro-cid-jvws6cnk]:hover{background:var(--navy-a06)}.m-out[data-astro-cid-jvws6cnk]{color:var(--wrong)!important}.m-out[data-astro-cid-jvws6cnk] svg[data-astro-cid-jvws6cnk]{width:1.1rem;height:1.1rem}@media (width<=59.99rem){.content[data-astro-cid-jvws6cnk]{padding-top:var(--space-3)}}@media (width>=60rem){.m-top[data-astro-cid-jvws6cnk]{display:none}.shell[data-astro-cid-jvws6cnk]{gap:var(--space-5);padding:var(--space-4);grid-template-columns:16rem minmax(0,1fr);display:grid}.sidebar[data-astro-cid-jvws6cnk]{top:var(--space-4);gap:var(--space-6);height:calc(100dvh - 2 * var(--space-4));padding:var(--space-6) var(--space-4);background:var(--glass-strong);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);flex-direction:column;display:flex;position:sticky}.sidebar[data-astro-cid-jvws6cnk] .wordmark[data-astro-cid-jvws6cnk]{padding-left:var(--space-4)}.sidebar[data-astro-cid-jvws6cnk] nav[data-astro-cid-jvws6cnk]{gap:var(--space-1);display:grid}.sign-out[data-astro-cid-jvws6cnk]{color:var(--muted);margin-top:auto}.content[data-astro-cid-jvws6cnk]{padding:var(--space-4) var(--space-2) var(--space-6)}.tabbar[data-astro-cid-jvws6cnk]{display:none}}.dash[data-astro-cid-brmdfpyo]{gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}.dash[data-astro-cid-brmdfpyo]>[data-astro-cid-brmdfpyo],.progress-row[data-astro-cid-brmdfpyo]>[data-astro-cid-brmdfpyo],.grid[data-astro-cid-brmdfpyo]>[data-astro-cid-brmdfpyo]{min-width:0}.welcome[data-astro-cid-brmdfpyo]{justify-content:space-between;align-items:flex-end;gap:var(--space-3);padding:var(--space-2) var(--space-1) 0;flex-wrap:wrap;display:flex}.hello[data-astro-cid-brmdfpyo]{font-size:var(--text-lg);color:var(--muted);font-weight:500}.welcome[data-astro-cid-brmdfpyo] h1[data-astro-cid-brmdfpyo]{letter-spacing:-.03em;font-size:clamp(2rem,6vw,3rem);font-weight:600}.countdown[data-astro-cid-brmdfpyo]{height:2.25rem;font-size:var(--text-sm)}.subjects-panel[data-astro-cid-brmdfpyo]{background:var(--navy-panel);border-radius:var(--radius-xl);padding:var(--space-4);color:var(--on-brand)}@media (width>=40rem){.subjects-panel[data-astro-cid-brmdfpyo]{padding:var(--space-5)}}.panel-head[data-astro-cid-brmdfpyo]{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.panel-title[data-astro-cid-brmdfpyo]{font-size:var(--text-xl);color:var(--on-brand);font-weight:600}.badge-on-blue[data-astro-cid-brmdfpyo]{border:1.5px solid var(--white-a50);color:var(--on-brand);border-radius:50%}.subject-cards[data-astro-cid-brmdfpyo]{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));margin:0;padding:0;list-style:none;display:grid}.grid[data-astro-cid-brmdfpyo]{gap:var(--space-5);display:grid}@media (width>=52rem){.grid[data-astro-cid-brmdfpyo]{grid-template-columns:1fr 1fr}.focus[data-astro-cid-brmdfpyo]{grid-column:1/-1}}@media (width>=76rem){.grid[data-astro-cid-brmdfpyo]{grid-template-columns:1.2fr 1fr 1fr}.focus[data-astro-cid-brmdfpyo]{grid-column:auto}}.card-head[data-astro-cid-brmdfpyo]{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.card-title[data-astro-cid-brmdfpyo]{font-size:var(--text-lg);font-weight:650}.badge-soft[data-astro-cid-brmdfpyo]{border:1.5px solid var(--line-strong);color:var(--ink);border-radius:50%}.badge-navy[data-astro-cid-brmdfpyo]{border:1.5px solid var(--white-a35);color:var(--on-navy);border-radius:50%}.rows[data-astro-cid-brmdfpyo]{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.today[data-astro-cid-brmdfpyo]{gap:var(--space-4);align-content:start;display:grid}.today[data-astro-cid-brmdfpyo] .card-head[data-astro-cid-brmdfpyo]{margin-bottom:0}.goal[data-astro-cid-brmdfpyo]{align-items:center;gap:var(--space-4);display:flex}.goal-num[data-astro-cid-brmdfpyo]{font-size:var(--text-2xl)}.due[data-astro-cid-brmdfpyo]{background:var(--surface-2);gap:var(--space-3);display:grid}.focus-list[data-astro-cid-brmdfpyo]{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.pass-strip[data-astro-cid-brmdfpyo]{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--navy-panel);color:var(--on-dark-2);flex-wrap:wrap;text-decoration:none;display:flex}.pass-strip-badge[data-astro-cid-brmdfpyo]{padding:2px var(--space-3);border-radius:var(--radius-pill);background:var(--signal);color:var(--navy);font-size:var(--text-xs);font-weight:700}.pass-strip-text[data-astro-cid-brmdfpyo]{flex:1;min-width:12rem;line-height:1.35;display:grid}.pass-strip-text[data-astro-cid-brmdfpyo] strong[data-astro-cid-brmdfpyo]{color:var(--white);font-weight:650}.pass-strip-text[data-astro-cid-brmdfpyo] span[data-astro-cid-brmdfpyo]{font-size:var(--text-sm);color:var(--on-dark-3)}.progress-row[data-astro-cid-brmdfpyo]{gap:var(--space-5);display:grid}@media (width>=60rem){.progress-row[data-astro-cid-brmdfpyo]{grid-template-columns:20rem 1fr;align-items:start}}.streak[data-astro-cid-brmdfpyo]{gap:var(--space-2);display:grid}.streak[data-astro-cid-brmdfpyo] .card-head[data-astro-cid-brmdfpyo]{margin-bottom:var(--space-2)}.streak-num[data-astro-cid-brmdfpyo]{align-items:baseline;gap:var(--space-2);display:flex}.streak-num[data-astro-cid-brmdfpyo] .num[data-astro-cid-brmdfpyo]{letter-spacing:-.04em;color:var(--signal);font-size:3.5rem;line-height:1}.streak-unit[data-astro-cid-brmdfpyo]{color:var(--white);font-weight:650}.streak-note[data-astro-cid-brmdfpyo]{font-size:var(--text-sm);color:var(--on-dark-3)}.week[data-astro-cid-brmdfpyo]{margin:var(--space-3) 0 0;gap:var(--space-1);grid-template-columns:repeat(7,1fr);padding:0;list-style:none;display:grid}.ach-head[data-astro-cid-brmdfpyo]{flex-wrap:wrap}.ach-head[data-astro-cid-brmdfpyo] .chip[data-astro-cid-brmdfpyo]{margin-left:auto}.ring{flex:none;width:3.5rem;height:3.5rem;transform:rotate(-90deg)}.ring.big{width:5.5rem;height:5.5rem}.ring circle{fill:none;stroke:var(--brand-soft);stroke-width:12px}.ring .arc{stroke:var(--brand);stroke-linecap:round;transition:stroke-dashoffset var(--dur-med) var(--ease-out)}.subject-card{background:var(--surface);color:var(--text);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);display:grid}.subject-card .top{justify-content:space-between;gap:var(--space-2);display:flex}.subject-card h3{font-size:var(--text-md);font-weight:650}.subject-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.subject-card .meta{font-size:var(--text-sm);color:var(--muted);gap:2px;display:grid}@media (width<=39.99rem){.subject-card{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);grid-template-columns:auto 1fr auto}.subject-card .top{display:contents}.subject-card .ring{order:-1;width:2.75rem;height:2.75rem}.subject-card .meta{gap:0;line-height:1.35}.subject-card .meta span+span{font-size:var(--text-xs)}.subject-card{grid-template-columns:auto 1fr}.subject-actions{grid-column:1/-1}}.row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);transition:background-color var(--dur-fast) var(--ease-out);font-weight:500;text-decoration:none;display:flex}.row:hover{background:var(--brand-soft)}.row .what{flex:1;line-height:1.35;display:grid}.row .what strong{font-weight:650}.row.active{background:var(--brand);color:var(--on-brand)}.row.active strong,.row.active .muted{color:var(--on-brand)}.row.active .chip{background:var(--surface);color:var(--brand)}.empty{color:var(--muted);font-size:var(--text-sm);padding:var(--space-2) 0}.focus-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--white-a06);display:flex}.focus-item:first-child{background:var(--signal);color:var(--on-signal)}.focus-item:first-child .muted,.focus-item:first-child strong{color:var(--on-signal)}.focus-item .what{flex:1;line-height:1.35;display:grid}.focus-item .what strong{font-weight:650}.focus-item .pct{font-variant-numeric:tabular-nums;font-weight:700}.focus .empty{color:var(--white-a72)}.day{font-size:var(--text-xs);color:var(--on-dark-3);justify-items:center;gap:4px;font-weight:600;display:grid}.day i{border:1.5px solid var(--on-dark-line);border-radius:50%;place-items:center;width:2rem;height:2rem;display:grid}.day.done i{background:var(--signal);border-color:var(--signal)}.day.done i:after{content:"";border:solid var(--navy);border-width:0 2px 2px 0;width:.35rem;height:.65rem;transform:rotate(45deg)translate(-1px,-1px)}.day.today i{box-shadow:0 0 0 2px var(--navy), 0 0 0 3.5px var(--signal)}.day.today{color:var(--white)}.medals{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));margin:0;padding:0;list-style:none;display:grid}@media (width<=39.99rem){.medals{scroll-snap-type:x mandatory;padding-bottom:var(--space-2);margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);scroll-padding-inline:var(--space-4);grid-template-columns:none;grid-auto-columns:15rem;grid-auto-flow:column;overflow-x:auto}.medal{scroll-snap-align:start}}.medal{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--line);display:flex}.medal-mark{width:3.25rem;height:3.25rem;font:750 var(--text-sm) / 1 var(--font-display);letter-spacing:-.01em;border-radius:50%;flex:none;place-items:center;display:grid}.medal-mark.is-long{font-size:.6875rem}.medal.earned .medal-mark{background:var(--navy-panel);color:var(--signal);box-shadow:inset 0 1px 0 var(--white-a15), 0 0 0 3px var(--white), 0 0 0 4px var(--signal)}.medal.locked .medal-mark{border:1.5px dashed var(--line-control);color:var(--muted)}.medal-text{flex:1;gap:1px;min-width:0;line-height:1.35;display:grid}.medal-text strong{color:var(--ink);font-weight:650}.medal-text span{font-size:var(--text-xs);color:var(--muted)}.medal.locked .medal-text strong{color:var(--text)}.medal-bar{align-items:center;gap:var(--space-2);margin-top:var(--space-1);display:flex}.medal-bar .meter{flex:1;height:4px}.medal-bar span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.6875rem;font-weight:650}.medal-earned{font-weight:700;color:var(--correct)!important;font-size:.6875rem!important}
