@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: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;--chit:#ede7d9;--chit-ink:#231f1a;--chit-rule:#c9c0ad;--lamp:#ff8a3d;--burn:#c4392b;--radius:10px;--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);border:none;padding:.65rem 1rem}:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}:where(.steel-surface){--focus:var(--steel-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(--tap);font-weight:600}.btn-quiet{color:var(--ink-soft);border:1px solid var(--edge);background:0 0}.btn-primary:disabled,.btn-quiet:disabled{color:var(--ink-soft);border:1px solid var(--rule);cursor:default;background:#e6e0d3}.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}.sheet-title{font-family:var(--font-display);margin:0;font-size:1.35rem;line-height:1.2}@media (width>=40rem){.sheet-backdrop{justify-content:center;align-items:center;padding:1.5rem}.sheet{border-radius:18px;max-width:28rem;max-height:min(85dvh,44rem);padding-bottom:1.25rem;box-shadow:0 24px 60px -24px #14100a99}}.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{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.72rem}.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}.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}}
