@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_206af9{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_206af9{--font-display:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans Fallback;src:local("Arial");ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.00%;size-adjust:102.74%}.__className_3d9088{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.__variable_3d9088{--font-sans:"Instrument Sans","Instrument Sans Fallback"}:root{--bg:#F5F2EC;--card:#FFFFFF;--card2:#F5F2EB;--field:#EDEAE2;--ink:#211F1A;--ink2:#5C584C;--ink3:#736D5F;--line:rgba(33,31,26,.09);--linestrong:rgba(33,31,26,.22);--sh:0 1px 2px rgba(42,34,18,.05),0 6px 18px rgba(42,34,18,.07);--sh2:0 2px 8px rgba(42,34,18,.08),0 18px 44px rgba(42,34,18,.14);--adam:#0E7D8C;--adam-ink:#0A6170;--adam-tint:#E0F0F2;--jan:#B8437A;--jan-ink:#A03566;--jan-tint:#F9E7EF;--red:#C0392E;--red-ink:#A02D24;--red-tint:#FAE7E4;--amb:#D99417;--amb-ink:#875800;--amb-tint:#FAEFD7;--neu:#6E6858;--neu-ink:#4E4A3E;--neu-tint:#E9E5DB;--good:#3E8E58;--good-ink:#2C6E43;--good-tint:#E2F1E6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14120F;--card:#1E1C18;--card2:#26231E;--field:#2B2822;--ink:#EDEAE2;--ink2:#A8A294;--ink3:#8A8577;--line:rgba(237,234,226,.10);--linestrong:rgba(237,234,226,.24);--sh:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.35);--sh2:0 2px 8px rgba(0,0,0,.4),0 18px 44px rgba(0,0,0,.5);--adam:#3BA9B8;--adam-ink:#7BCBD6;--adam-tint:#10333A;--jan:#D9739F;--jan-ink:#E99BBB;--jan-tint:#3A1B2A;--red:#E06156;--red-ink:#F0958D;--red-tint:#3B1D1A;--amb:#E5AC3F;--amb-ink:#F0C878;--amb-tint:#362A12;--neu:#9A937F;--neu-ink:#B8B2A0;--neu-tint:#2C2921;--good:#5FAE77;--good-ink:#8CC99E;--good-tint:#1B3324}}:root[data-theme=dark]{--bg:#14120F;--card:#1E1C18;--card2:#26231E;--field:#2B2822;--ink:#EDEAE2;--ink2:#A8A294;--ink3:#8A8577;--line:rgba(237,234,226,.10);--linestrong:rgba(237,234,226,.24);--sh:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.35);--sh2:0 2px 8px rgba(0,0,0,.4),0 18px 44px rgba(0,0,0,.5);--adam:#3BA9B8;--adam-ink:#7BCBD6;--adam-tint:#10333A;--jan:#D9739F;--jan-ink:#E99BBB;--jan-tint:#3A1B2A;--red:#E06156;--red-ink:#F0958D;--red-tint:#3B1D1A;--amb:#E5AC3F;--amb-ink:#F0C878;--amb-tint:#362A12;--neu:#9A937F;--neu-ink:#B8B2A0;--neu-tint:#2C2921;--good:#5FAE77;--good-ink:#8CC99E;--good-tint:#1B3324}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}.num{font-family:var(--font-display),var(--font-sans),sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.shell{max-width:640px;margin:0 auto;padding:0 16px 96px}@media (min-width:900px){.shell{max-width:1080px}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0 6px;position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:5}.brand{font-family:var(--font-display);font-weight:800;font-size:19px;letter-spacing:.02em;line-height:1.05}.brand small{display:block;font-family:var(--font-sans);font-weight:600;font-size:10.5px;letter-spacing:.14em;color:var(--ink3);text-transform:uppercase;margin-top:1px}.greeting{font-family:var(--font-display);font-weight:800;font-size:28px;letter-spacing:-.02em;margin:10px 0 2px;text-wrap:balance}.dateline{font-size:12px;letter-spacing:.1em}.dateline,.sectionlabel{font-weight:700;text-transform:uppercase;color:var(--ink3)}.sectionlabel{font-size:11px;letter-spacing:.12em;margin:22px 0 10px}.card{background:var(--card);border-radius:16px;box-shadow:var(--sh);padding:14px 16px;border:1px solid var(--line)}.cards{display:grid;grid-gap:10px;gap:10px}@media (min-width:900px){.twocol{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:28px;gap:28px;align-items:start}}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:99px;white-space:nowrap}.chip.overdue{background:var(--red-tint);color:var(--red-ink)}.chip.today{background:var(--amb-tint);color:var(--amb-ink)}.chip.soon{background:var(--neu-tint);color:var(--neu-ink)}.chip.good{background:var(--good-tint);color:var(--good-ink)}.chip.adam{background:var(--adam-tint);color:var(--adam-ink)}.chip.jan{background:var(--jan-tint);color:var(--jan-ink)}.reminder{display:flex;gap:12px;align-items:flex-start}.reminder .body{flex:1 1;min-width:0}.reminder .title{font-weight:650;margin:3px 0 1px}.reminder .detail{font-size:12.5px;color:var(--ink2)}.donebtn{width:28px;height:28px;border-radius:50%;flex:none;border:1.5px solid var(--linestrong);background:transparent;cursor:pointer;margin-top:4px;transition:all .15s}.donebtn:hover{border-color:var(--good);background:var(--good-tint)}.donebtn:focus-visible{outline:2px solid var(--adam);outline-offset:2px}.gradegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.gradecard .course{font-size:12.5px;font-weight:650;display:flex;align-items:center;gap:6px;color:var(--ink2);min-height:2.2em}.gradecard .dot{width:7px;height:7px;border-radius:50%;flex:none}.gradecard .hero{font-size:34px;line-height:1.1;margin:2px 0 6px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.studenthead{display:flex;align-items:center;gap:9px;margin:18px 0 10px}.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;color:#fff;flex:none}.studenthead .who{font-weight:750}.studenthead .meta{font-size:12px;color:var(--ink3)}.changerow{display:flex;gap:10px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}.changerow:last-child{border-bottom:none}.changerow .when{color:var(--ink3);font-size:11.5px;flex:none;width:52px}.tabbar{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:8px 4px calc(10px + env(safe-area-inset-bottom));z-index:10}.tabbar a{text-decoration:none;color:var(--ink3);font-size:10.5px;font-weight:700;letter-spacing:.04em;display:flex;flex-direction:column;align-items:center;gap:3px;padding:2px 10px;border-radius:10px}.tabbar a[aria-current=page]{color:var(--ink);background:var(--field)}.tabbar svg{width:20px;height:20px}.segment{display:inline-flex;background:var(--field);border-radius:99px;padding:3px;gap:2px}.segment a{border:none;background:transparent;font:inherit;font-size:12.5px;font-weight:700;padding:5px 14px;border-radius:99px;cursor:pointer;color:var(--ink2);text-decoration:none}.segment a.active{background:var(--card);color:var(--ink);box-shadow:var(--sh)}.authbox{max-width:360px;margin:14vh auto 0;padding:0 20px;text-align:center}.authbox input{width:100%;font:inherit;padding:12px 14px;border-radius:12px;border:1px solid var(--linestrong);background:var(--card);color:var(--ink);margin:14px 0 10px}.authbox button{width:100%;font:inherit;font-weight:700;padding:12px;border-radius:12px;border:none;background:var(--ink);color:var(--bg);cursor:pointer}.authnote{font-size:12.5px;color:var(--ink3);margin-top:12px}.empty{text-align:center;padding:26px 12px;color:var(--ink2)}.empty .big{font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--ink);margin-bottom:4px}@media (prefers-reduced-motion:no-preference){.card{transition:box-shadow .2s}}.reqcard{padding:14px 16px;margin-bottom:10px}.reqprogram{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin-bottom:10px}.reqrow{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13px}.reqlabel{flex:0 0 44%;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reqbar{position:relative;flex:1 1;height:8px;background:var(--field);overflow:hidden}.reqbar,.reqfill{border-radius:4px}.reqfill{position:absolute;top:0;bottom:0;left:0}.reqfill-soft{opacity:.35}.reqnum{flex:0 0 auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink2);font-size:12px}.reqnum em{font-style:normal;opacity:.6}.reqnote{color:var(--ink3);font-size:12px;min-width:0}.reqfoot{font-size:11px;color:var(--ink3);margin:2px 2px 18px}@media (prefers-reduced-motion:no-preference){@keyframes hq-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.shell main{animation:hq-rise .28s cubic-bezier(.2,.7,.3,1) both}.card{transition:box-shadow .18s ease,transform .18s ease}@media (hover:hover){.gradecard:hover,a.card:hover{transform:translateY(-2px);box-shadow:var(--sh2)}}.chip{transition:background .15s ease,color .15s ease}button{transition:transform .12s ease,opacity .12s ease}button:active{transform:scale(.97)}.tabbar a{transition:color .15s ease}}.itempage{max-width:640px}.backlink{display:inline-block;font-size:13px;color:var(--ink2);text-decoration:none;margin:4px 0 10px}.backlink:hover{color:var(--ink)}.itemchips{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 8px}.itemtitle{font-family:var(--font-display),serif;font-size:22px;line-height:1.25;margin:4px 0 14px;text-wrap:balance}.itemactions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:4px 0 18px}.actbtn{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:8px 14px;border-radius:10px;border:1px solid var(--linestrong);background:var(--card);color:var(--ink);text-decoration:none;list-style:none}.actbtn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.actbtn.danger{color:var(--red-ink);border-color:var(--red);background:var(--red-tint)}details.snooze{position:relative}details.snooze summary::-webkit-details-marker{display:none}.snoozemenu{display:flex;flex-direction:column;gap:6px;position:absolute;z-index:30;margin-top:6px;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh2)}.snoozemenu input[type=date]{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink)}.srcdoc{padding:14px 16px}.srcmeta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--ink3);margin-bottom:4px}.srcsubject{font-weight:700;margin-bottom:6px}.srcbody{font-size:14px;line-height:1.55;color:var(--ink2);white-space:pre-wrap;overflow-wrap:anywhere}.mutednote{font-size:12.5px;color:var(--ink3)}.extlink{text-decoration:none}.tapmore{display:block;font-size:11.5px;color:var(--ink3);margin-top:6px}.card.reminder .body{cursor:pointer}details.addreminder{margin:10px 0 4px}details.addreminder summary::-webkit-details-marker{display:none}.addform{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:12px 14px}.addform input[name=description]{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--field);color:var(--ink);width:100%}.addrow{display:flex;gap:8px;flex-wrap:wrap}.addrow input[type=date],.addrow select{font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--field);color:var(--ink)}a.reqrow.reqlink{text-decoration:none;color:inherit;border-radius:8px;margin:0 -6px;padding-left:6px;padding-right:6px}a.reqrow.reqlink:hover{background:var(--field)}.xbtn{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink3);font-size:14px;line-height:1;cursor:pointer;display:grid;place-items:center}.xbtn:hover{color:var(--red-ink);border-color:var(--red)}.whatif{padding:14px 16px;display:flex;flex-direction:column;gap:8px}.wirow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13.5px}.wirow input[type=number]{width:72px;font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--linestrong);border-radius:8px;background:var(--field);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.factedit{display:flex;flex-direction:column;gap:8px;padding:10px 0;border-top:1px solid var(--line)}.factedit input[name=fact]{font:inherit;font-size:13.5px;padding:9px 11px;border:1px solid var(--linestrong);border-radius:10px;background:var(--field);color:var(--ink);width:100%}.factedit select{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--field);color:var(--ink)}.corechip{display:inline-block;margin-left:6px;padding:0 5px;font-size:9px;font-weight:800;letter-spacing:.08em;line-height:1.5;border-radius:5px;vertical-align:1px;background:var(--adam-tint);color:var(--adam-ink);border:1px solid var(--adam)}.briefwho{display:flex;align-items:center;gap:8px;padding-bottom:6px;margin-bottom:4px;font-size:13.5px}.briefitem,.briefwho{border-bottom:1px solid var(--line)}.briefitem{padding:8px 0}.briefitem:last-of-type{border-bottom:none}.brieftext{margin:5px 0 0;font-size:13.5px;line-height:1.5;color:var(--ink)}.logo{display:inline-flex;align-items:center;gap:9px}.logomark{flex:none;transform:rotate(-4deg);transform-origin:50% 80%}.logotype{display:flex;flex-direction:column;line-height:1}.logoword{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.01em;color:var(--ink)}.logoswoosh{display:block;height:3.5px;border-radius:99px;margin:3px 0;background:linear-gradient(90deg,var(--adam),var(--jan))}.logosub{font-family:var(--font-sans);font-weight:700;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink3)}@media (prefers-reduced-motion:no-preference){.logomark{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.logo:hover .logomark,a:hover>.logo .logomark{transform:rotate(3deg) scale(1.06)}}.logoplate{background:#fff;border-radius:12px;padding:4px 8px;border:1px solid var(--line);box-shadow:var(--sh);display:inline-block}.crestbanner{height:45px}.crestbanner,.crestsm{width:auto;display:block}.crestsm{height:44px}.authbox{max-width:400px}.authhero{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:18px}.authhero img{max-width:min(280px,78vw);height:auto!important;filter:drop-shadow(0 10px 24px rgba(33,31,26,.18))}.authtitle{font-family:var(--font-display);font-weight:800;font-size:34px;letter-spacing:-.02em;margin:8px 0 0;color:var(--ink)}.authtag{font-size:13.5px;color:var(--ink3);margin:2px 0 0;letter-spacing:.04em}@media (prefers-reduced-motion:no-preference){.authhero{animation:heroin .5s cubic-bezier(.22,1,.36,1) both}@keyframes heroin{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}