@font-face{font-family:Fraunces;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/fraunces.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/schibsted-grotesk-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:500 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Courier Prime;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/courier-prime-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Courier Prime;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/courier-prime-700.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f3eee2;--paper-raised:#faf7ef;--ink:#1e1a16;--ink-soft:#645b4e;--rule:#d8cebb;--edge:#7e7361;--room:#e4ddcd;--grain:.05;--glow:transparent;--foil:var(--accent);--foil-ink:var(--accent);--edge-light:#ffffff8c;--edge-dark:#140e0824;--accent:#7b1e2b;--accent-ink:#fff8ef;--time:#9e5012;--stamp:#453b6e;--warn:#7d5f26;--focus:#1e1a16;--tap:44px;--steel:#14181c;--steel-raised:#1f262c;--steel-edge:#2b343b;--steel-rule:#55606a;--steel-ink:#e8edf1;--steel-soft:#8b979f;--stage:#f6f8f3;--stage-raised:#fdfefc;--stage-ink:#101210;--stage-soft:#565c55;--stage-rule:#cfd4ca;--stage-edge:#6b7268;--stage-act:#b3300f;--stage-money:#00734a;--stage-short:#8a5200;--stage-burn:#b8281c;--stage-on:#fff;--chit:#ede7d9;--chit-ink:#231f1a;--chit-rule:#c9c0ad;--lamp:#ff8a3d;--burn:#c4392b;--radius:10px;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-label:.75rem;--track-label:.13em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--elev-1:0 1px 3px #1f11051a, 0 4px 6px #1f11050d;--elev-2:0 1px 2px #1e1a1612, 0 8px 16px -4px #1e1a1624;--elev-3:0 1px 3px #1e1a1608, 0 24px 48px -16px #1e1a164d;--ease:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--t-fast:.14s;--t-med:.22s;--motion-quick:var(--t-fast);--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-ui:"Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--receipt:"Courier Prime", "DM Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{min-height:100dvh;font-family:var(--font-ui);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;letter-spacing:-.006em;margin:0}:where(h1,h2,.masthead,.course-name){font-optical-sizing:auto;font-variation-settings:"SOFT" 40, "WONK" 1}button{font:inherit;cursor:pointer;border-radius:var(--radius);padding:var(--btn-pad,.65rem 1rem);border:none}:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}:where(.steel-surface){--paper:var(--steel);--paper-raised:var(--steel-raised);--ink:var(--steel-ink);--ink-soft:var(--steel-soft);--rule:var(--steel-edge);--edge:var(--steel-rule);--accent:var(--lamp);--accent-ink:var(--steel);--warn:var(--burn);--focus:var(--steel-ink);--sel-bg:var(--steel-raised);--sel-ink:var(--steel-ink);--sel-soft:var(--steel-soft);--sel-edge:var(--steel-rule);--sel-rule:var(--steel-edge);--sel-accent:var(--lamp);--sel-accent-ink:var(--steel);--sel-warn:var(--burn);--sel-warn-ink:var(--steel-ink);--elev-1:0 1px 1px #00000057, 0 2px 4px -1px #0000003d;--elev-2:0 1px 2px #0000003d, 0 8px 16px -4px #00000070;--elev-3:0 1px 3px #0000001a, 0 24px 48px -16px #000000b8}:where(.stage-surface){--paper:var(--stage);--paper-raised:var(--stage-raised);--ink:var(--stage-ink);--ink-soft:var(--stage-soft);--rule:var(--stage-rule);--edge:var(--stage-edge);--accent:var(--stage-act);--accent-ink:var(--stage-on);--stamp:var(--stage-money);--warn:var(--stage-burn);--time:var(--stage-short);--focus:var(--stage-ink);--sel-bg:var(--stage-raised);--sel-ink:var(--stage-ink);--sel-soft:var(--stage-soft);--sel-edge:var(--stage-edge);--sel-rule:var(--stage-rule);--sel-accent:var(--stage-act);--sel-accent-ink:var(--stage-on);--sel-warn:var(--stage-short);--sel-warn-ink:var(--stage-on);--row-tap:3.25rem;--font-display:"Bricolage Grotesque", "Schibsted Grotesk", system-ui, sans-serif;background:var(--stage);color:var(--stage-ink)}input{font:inherit;border:1px solid var(--edge);border-radius:var(--radius);min-height:var(--tap);background:var(--paper-raised);color:var(--ink);width:100%;padding:.6rem .8rem}.btn-primary{background:var(--accent);color:var(--accent-ink);min-height:var(--btn-h,var(--tap));font-weight:600}.btn-quiet{color:var(--ink-soft);border:1px solid var(--edge);background:0 0}.btn-danger{background:var(--burn);color:#fff;min-height:var(--btn-h,var(--tap));font-weight:600}.btn-quiet.btn-danger{color:var(--burn);border-color:var(--burn);background:0 0;font-weight:400}.btn-quiet.btn-danger:hover{background:color-mix(in srgb, var(--burn) 8%, transparent)}.btn-link{font:inherit;color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}a.btn-primary,a.btn-quiet,a.btn-danger{padding:var(--btn-pad,.65rem 1rem);min-height:var(--btn-h,var(--tap));border-radius:var(--radius);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn-sm{--btn-pad:.45rem .85rem;--btn-h:0;font-size:.82rem}.btn-wide{text-align:center;width:100%}.btn-ghost{color:#fff;background:#ffffff1f;border:0}.btn-primary:disabled,.btn-quiet:disabled,.btn-danger:disabled,.btn-quiet.btn-danger:disabled{color:var(--ink-soft);border:1px solid var(--rule);cursor:default;background:#e6e0d3}.chip{border:1px solid var(--edge);background:var(--paper-raised);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.78rem;display:inline-flex}label.chip{cursor:pointer}.chip.on{border-color:var(--accent);color:var(--accent);font-weight:600}.chip:disabled{opacity:.45;cursor:default}.acts{gap:var(--acts-gap,.5rem);display:flex}.sheet-backdrop{z-index:30;background:#14100a8c;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--paper-raised);color:var(--ink);width:100%;padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;gap:.75rem;max-height:85dvh;display:grid;overflow:auto}@media (width>=40rem){.sheet-backdrop{justify-content:center;align-items:center;padding:1.5rem}.sheet{max-width:28rem;max-height:min(85dvh,44rem);box-shadow:var(--elev-3);border-radius:18px;padding-bottom:1.25rem}}.error{color:var(--accent);font-size:.9rem}.sheet-backdrop.svelte-1z101z6{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.confirmcard.svelte-1z101z6{text-align:center;background:var(--paper);border:1px solid var(--rule);border-radius:14px;gap:.7rem;width:100%;max-width:22rem;padding:1.3rem 1.15rem;display:grid}.eyebrow.svelte-1z101z6{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0}.ch.svelte-1z101z6{font-family:var(--font-display);margin:0;font-size:1.25rem}.lede.svelte-1z101z6{color:var(--ink);margin:0;font-size:.92rem;line-height:1.5}.code.svelte-1z101z6{text-align:center;width:100%;font-family:var(--font-mono,monospace);letter-spacing:.5em;text-indent:.5em;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:10px;padding:.65rem .5rem;font-size:1.7rem}.hint.svelte-1z101z6{color:var(--ink-soft);margin:0;font-size:.76rem}.row.svelte-1z101z6{gap:.6rem;margin-top:.2rem;display:flex}.row.svelte-1z101z6 button:where(.svelte-1z101z6){flex:1}.update.svelte-ksczdt{z-index:70;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 1rem);background:var(--paper-raised);border:1px solid var(--rule);border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;max-width:32rem;margin:0 auto;padding:.7rem .9rem;display:flex;position:fixed;box-shadow:0 16px 40px -18px #241f1899}.txt.svelte-ksczdt{color:var(--ink-soft);min-width:0;font-size:.85rem}.actions.svelte-ksczdt{flex-shrink:0;gap:.4rem;display:flex}.update.svelte-ksczdt button:where(.svelte-ksczdt):disabled{opacity:.6;cursor:default}.ghost.svelte-ksczdt{color:var(--ink-soft);border:1px solid var(--edge);background:0 0}.primary.svelte-ksczdt{background:var(--accent);color:var(--accent-ink);font-weight:600}.layer.svelte-1fk2ial{z-index:100;inset-inline:var(--space-3);gap:var(--space-2);pointer-events:none;max-inline-size:32rem;margin-inline:auto;display:grid;position:fixed;inset-block-end:calc(var(--space-4) + env(safe-area-inset-bottom))}.toast.svelte-1fk2ial{pointer-events:auto;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius);box-shadow:var(--elev-3);display:flex}.text.svelte-1fk2ial{min-inline-size:0;font-size:var(--text-base);color:inherit;flex:1;margin:0;font-weight:500;line-height:1.45}.shut.svelte-1fk2ial{min-inline-size:var(--tap);min-block-size:var(--tap);margin:calc(var(--space-3) * -1);font-size:var(--text-base);color:inherit;opacity:.75;background:0 0;border:0;flex:none;line-height:1}.shut.svelte-1fk2ial:hover{opacity:1}.note.svelte-1fk2ial{color:var(--stage-on,#fff);background:var(--ink)}.warn.svelte-1fk2ial{color:var(--stage-on,#fff);background:var(--warn)}.time.svelte-1fk2ial{color:var(--stage-on,#fff);background:var(--time)}@media (prefers-reduced-motion:no-preference){.toast.svelte-1fk2ial{animation:svelte-1fk2ial-rise var(--t-med) var(--ease-out)}}@keyframes svelte-1fk2ial-rise{0%{transform:translateY(.5rem)}}.stale.svelte-12qhfyh{padding:.4rem 1rem;padding-top:calc(.4rem + env(safe-area-inset-top));background:color-mix(in srgb, var(--warn) 14%, var(--paper));color:var(--warn);text-align:center;margin:0;font-size:.82rem}.relink.svelte-12qhfyh{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;margin-left:.4rem;padding:0;text-decoration:underline}.offline.svelte-12qhfyh{padding:.4rem 1rem;padding-top:calc(.4rem + env(safe-area-inset-top));background:color-mix(in srgb, var(--warn) 14%, var(--paper));border-bottom:1px solid color-mix(in srgb, var(--warn) 40%, transparent);color:var(--warn);text-align:center;margin:0;font-size:.84rem}.topbar.svelte-12qhfyh{z-index:20;background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:saturate(1.3)blur(14px);backdrop-filter:saturate(1.3)blur(14px);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 1rem;display:flex;position:sticky;top:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.topbar.svelte-12qhfyh{background:var(--paper)}}.brand.svelte-12qhfyh{font-family:var(--font-display);color:var(--ink);letter-spacing:.01em;font-size:1.2rem;font-weight:700;text-decoration:none}.booting.svelte-12qhfyh{gap:.9rem;max-width:60rem;margin:0 auto;padding:2rem 1.15rem;display:grid}.booting.svelte-12qhfyh .line:where(.svelte-12qhfyh),.booting.svelte-12qhfyh .block:where(.svelte-12qhfyh),.chip-skeleton.svelte-12qhfyh{background:linear-gradient(100deg, var(--paper-raised) 30%, var(--rule) 50%, var(--paper-raised) 70%);background-size:220% 100%;border-radius:8px;animation:1.4s ease-in-out infinite svelte-12qhfyh-boot-shimmer}.booting.svelte-12qhfyh .line:where(.svelte-12qhfyh){height:2.2rem}.booting.svelte-12qhfyh .w60:where(.svelte-12qhfyh){width:60%}.booting.svelte-12qhfyh .w40:where(.svelte-12qhfyh){width:40%}.booting.svelte-12qhfyh .block:where(.svelte-12qhfyh){border-radius:.9rem;height:14rem;margin-top:.6rem}.chip-skeleton.svelte-12qhfyh{border-radius:50%;width:2rem;height:2rem;display:block}@keyframes svelte-12qhfyh-boot-shimmer{0%{background-position:220% 0}to{background-position:-220% 0}}@media (prefers-reduced-motion:reduce){.topbar.svelte-12qhfyh{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--paper)}.booting.svelte-12qhfyh .line:where(.svelte-12qhfyh),.booting.svelte-12qhfyh .block:where(.svelte-12qhfyh),.chip-skeleton.svelte-12qhfyh{animation:none}}
