@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap";:root{--color-paper: oklch(.975 .008 78);--color-paper-raised: oklch(.992 .004 78);--color-paper-muted: oklch(.945 .012 78);--color-ink: oklch(.24 .025 255);--color-ink-muted: oklch(.46 .025 255);--color-rule: oklch(.84 .014 78);--color-rule-strong: oklch(.72 .018 78);--color-accent: oklch(.42 .085 155);--color-accent-hover: oklch(.36 .085 155);--color-accent-ink: oklch(.98 .008 78);--color-accent-soft: oklch(.93 .028 155);--color-warm: oklch(.53 .11 45);--color-warm-soft: oklch(.94 .035 45);--color-danger: oklch(.48 .16 28);--color-danger-soft: oklch(.94 .035 28);--color-focus: oklch(.48 .11 155);--color-shadow: oklch(.24 .025 255 / .16);--color-ramp-from: oklch(.53 .11 45);--color-ramp-to: oklch(.42 .085 155);--font-display: "Newsreader", Georgia, serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "Fira Code", ui-monospace, monospace;--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: .875rem;--control-height: 2.75rem;--page-gutter: clamp(1rem, 3vw, 3rem);--page-max: 90rem;--reading-measure: 68ch;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--duration-fast: .1s;--duration-state: .18s}:root{color-scheme:light;--bg: var(--color-paper);--bg-card: var(--color-paper-raised);--soft: var(--color-rule);--ink: var(--color-ink);--ink-muted: var(--color-ink-muted);--accent: var(--color-accent);--accent-lo: var(--color-accent-soft);--success: var(--color-accent);--warn: var(--color-warm);--error: var(--color-danger);--radius: var(--radius-md);--shadow: none;--rung-1: var(--color-ramp-from);--rung-2: color-mix(in oklch, var(--color-ramp-from) 67%, var(--color-ramp-to));--rung-3: color-mix(in oklch, var(--color-ramp-from) 33%, var(--color-ramp-to));--rung-4: var(--color-ramp-to)}.rung-1{--rung: var(--rung-1)}.rung-2{--rung: var(--rung-2)}.rung-3{--rung: var(--rung-3)}.rung-4{--rung: var(--rung-4)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-width:0;overflow-x:clip}html{background:var(--color-paper);font-size:16px;scroll-padding-top:5rem;scrollbar-color:var(--color-rule-strong) var(--color-paper-muted);scrollbar-width:thin}body{min-height:100dvh;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);line-height:1.6;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}.resize-none{resize:none!important}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--color-accent);text-underline-offset:.16em}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--color-ink);font-family:var(--font-display);font-style:normal;font-weight:600;line-height:1.08;letter-spacing:-.02em}::selection{background:var(--color-accent-soft);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.app-main{min-height:calc(100dvh - 4.5rem)}.btn{display:inline-flex;min-height:var(--control-height);align-items:center;justify-content:center;gap:.4rem;padding:.58rem 1rem;border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-accent-ink);font:600 .88rem var(--font-body);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color var(--duration-state) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.48;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--color-accent)}.btn.soft{border-color:var(--color-rule);background:var(--color-accent-soft);color:var(--color-accent)}.card{padding:1.35rem;border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-raised);box-shadow:none}.badge{display:inline-flex;min-height:1.65rem;align-items:center;padding:.2rem .5rem;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-muted);color:var(--color-ink-muted);font:600 .68rem var(--font-body);letter-spacing:.03em;text-transform:uppercase}.badge.easy{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.badge.medium{border-color:var(--color-warm);background:var(--color-warm-soft);color:var(--color-warm)}.badge.hard{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.badge.familiarized{--rung: var(--rung-1)}.badge.constructed,.badge.assisted{--rung: var(--rung-2)}.badge.retrieved,.badge.solved{--rung: var(--rung-3)}.badge.transferred{--rung: var(--rung-4)}.badge.familiarized,.badge.constructed,.badge.assisted,.badge.retrieved,.badge.solved,.badge.transferred{border-color:var(--rung);background:color-mix(in oklch,var(--rung) 16%,var(--color-paper-raised));color:var(--rung)}.badge.due,.badge.attempted{color:var(--color-ink-muted)}textarea.stage-input{width:100%;min-height:8rem;background:var(--color-paper-raised);color:var(--color-ink);border:1px solid var(--color-rule-strong);border-radius:var(--radius-md);padding:.75rem 1rem;font:1rem/1.6 var(--font-body)}@media (hover: hover) and (pointer: fine){.btn:hover{background:var(--color-accent-hover)}.btn.ghost:hover,.btn.soft:hover{background:var(--color-paper-muted);color:var(--color-accent-hover)}}@media (pointer: coarse){.btn,button,select{min-height:44px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (forced-colors: active){*{forced-color-adjust:auto}}.menu-wrap.svelte-2e74lp.svelte-2e74lp{position:relative}.rail-button.svelte-2e74lp.svelte-2e74lp{min-height:44px;padding-inline:.6rem;display:inline-flex;align-items:center;border:0;background:transparent;color:var(--color-ink-muted);font:500 .82rem/1 var(--font-body);cursor:pointer}.rail-button.svelte-2e74lp.svelte-2e74lp:hover,.rail-button[aria-expanded=true].svelte-2e74lp.svelte-2e74lp{color:var(--color-ink)}.aa.svelte-2e74lp.svelte-2e74lp{font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:.01em}.panel.svelte-2e74lp.svelte-2e74lp{position:absolute;inset:calc(100% + .35rem) 0 auto auto;z-index:60;width:min(21rem,calc(100vw - 1.5rem));max-height:min(80vh,40rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:.9rem;background:var(--color-paper-raised);border:1px solid var(--color-rule-strong);border-radius:var(--radius-md);box-shadow:0 .5rem 1.5rem var(--color-shadow)}.panel-head.svelte-2e74lp.svelte-2e74lp{display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-head.svelte-2e74lp h2.svelte-2e74lp{font-size:1.05rem}.link.svelte-2e74lp.svelte-2e74lp{border:0;background:transparent;padding:.2rem;color:var(--color-accent);font:600 .76rem var(--font-body);cursor:pointer}section.svelte-2e74lp.svelte-2e74lp{margin-top:1rem}.group-label.svelte-2e74lp.svelte-2e74lp{color:var(--color-warm);font:600 .68rem var(--font-body);letter-spacing:.06em;text-transform:uppercase}.sub-label.svelte-2e74lp.svelte-2e74lp{margin-top:.8rem;color:var(--color-ink-muted);font:600 .66rem var(--font-body);letter-spacing:.05em;text-transform:uppercase}.system.svelte-2e74lp.svelte-2e74lp{width:100%;margin-top:.5rem;padding:.45rem .55rem;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:0 .55rem;align-items:center;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);text-align:left;cursor:pointer}.split.svelte-2e74lp.svelte-2e74lp{grid-row:1 / 3;display:flex;border:1px solid var(--color-rule-strong);border-radius:var(--radius-sm);overflow:hidden}.split.svelte-2e74lp span.svelte-2e74lp{padding:.35rem .4rem;font:600 .8rem/1.2 var(--font-display)}.system-name.svelte-2e74lp.svelte-2e74lp{font:600 .74rem var(--font-body)}.system-note.svelte-2e74lp.svelte-2e74lp{color:var(--color-ink-muted);font:.64rem var(--font-body)}.system.on.svelte-2e74lp.svelte-2e74lp{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.system.on.svelte-2e74lp .system-note.svelte-2e74lp{color:var(--color-accent)}.swatches.svelte-2e74lp.svelte-2e74lp{margin-top:.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.swatch.svelte-2e74lp.svelte-2e74lp{display:grid;gap:.3rem;justify-items:center;padding:.5rem .25rem .4rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.swatch.svelte-2e74lp .chip.svelte-2e74lp{width:100%;padding:.5rem 0;display:grid;place-items:center;border:1px solid;border-radius:var(--radius-sm);font:600 .8rem var(--font-display)}.swatch.svelte-2e74lp small.svelte-2e74lp{color:var(--color-ink-muted);font:500 .68rem var(--font-body)}.swatch.on.svelte-2e74lp.svelte-2e74lp{border-color:var(--color-accent)}.swatch.on.svelte-2e74lp small.svelte-2e74lp{color:var(--color-accent);font-weight:600}.faces.svelte-2e74lp.svelte-2e74lp{margin-top:.5rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}.face.svelte-2e74lp.svelte-2e74lp{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:0 .5rem;align-items:center;padding:.45rem .55rem;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);text-align:left;cursor:pointer}.specimen.svelte-2e74lp.svelte-2e74lp{grid-row:1 / 3;font-size:1.15rem;line-height:1}.face-name.svelte-2e74lp.svelte-2e74lp{font:600 .74rem var(--font-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.face-cat.svelte-2e74lp.svelte-2e74lp{color:var(--color-ink-muted);font:.64rem var(--font-body)}.face.on.svelte-2e74lp.svelte-2e74lp{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.face.on.svelte-2e74lp .face-cat.svelte-2e74lp{color:var(--color-accent)}.seg.svelte-2e74lp.svelte-2e74lp{margin-top:.5rem;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--color-rule);border-radius:var(--radius-sm);overflow:hidden}.seg.svelte-2e74lp button.svelte-2e74lp{min-height:2.2rem;padding:.35rem 0;border:0;border-left:1px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink-muted);font:500 .74rem var(--font-body);cursor:pointer}.seg.svelte-2e74lp button.svelte-2e74lp:first-child{border-left:0}.seg.svelte-2e74lp button.on.svelte-2e74lp{background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.foot.svelte-2e74lp.svelte-2e74lp{margin-top:1rem;padding-top:.7rem;border-top:1px solid var(--color-rule);color:var(--color-ink-muted);font:.72rem/1.5 var(--font-body)}.foot.svelte-2e74lp strong.svelte-2e74lp{color:var(--color-ink)}@media (hover: hover) and (pointer: fine){.swatch.svelte-2e74lp.svelte-2e74lp:hover,.system.svelte-2e74lp.svelte-2e74lp:hover,.face.svelte-2e74lp.svelte-2e74lp:hover{border-color:var(--color-rule-strong)}.seg.svelte-2e74lp button.svelte-2e74lp:hover{color:var(--color-ink)}}.product-rail.svelte-1skrx0i.svelte-1skrx0i{position:sticky;top:0;z-index:50;background:var(--color-paper);border-bottom:1px solid var(--color-rule)}.nav-inner.svelte-1skrx0i.svelte-1skrx0i{width:min(100%,var(--page-max));min-height:4.5rem;margin-inline:auto;padding-inline:var(--page-gutter);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(.75rem,3vw,2.5rem)}.brand.svelte-1skrx0i.svelte-1skrx0i{color:var(--color-ink);font:600 1.5rem var(--font-display);letter-spacing:-.02em;text-decoration:none;white-space:nowrap}.primary-links.svelte-1skrx0i.svelte-1skrx0i{display:flex;align-items:stretch;gap:.25rem;height:4.5rem}.primary-links.svelte-1skrx0i a.svelte-1skrx0i{position:relative;min-height:44px;padding-inline:.7rem;display:grid;place-items:center;color:var(--color-ink-muted);font:500 .86rem var(--font-body);text-decoration:none;white-space:nowrap}.primary-links.svelte-1skrx0i a.active.svelte-1skrx0i{color:var(--color-ink)}.primary-links.svelte-1skrx0i a.active.svelte-1skrx0i:after{content:"";position:absolute;inset:auto .7rem 0;height:2px;background:var(--color-accent)}.rail-actions.svelte-1skrx0i.svelte-1skrx0i{display:flex;align-items:center;gap:.25rem}.session-badge.svelte-1skrx0i.svelte-1skrx0i{display:inline-flex;align-items:center;gap:.5rem;margin-right:.35rem;padding:.25rem .5rem;border:1px solid var(--color-warm);border-radius:var(--radius-sm);white-space:nowrap}.session-badge.svelte-1skrx0i a.svelte-1skrx0i{color:var(--color-warm);font:600 .74rem var(--font-body);text-decoration:none}.session-badge.svelte-1skrx0i button.svelte-1skrx0i{padding:0;border:0;background:transparent;color:var(--color-ink-muted);font:500 .7rem var(--font-body);cursor:pointer}.session-badge.svelte-1skrx0i button.svelte-1skrx0i:hover{color:var(--color-ink)}@media (max-width: 38rem){.session-badge.svelte-1skrx0i a.svelte-1skrx0i{max-width:7rem;overflow:hidden;text-overflow:ellipsis}}.menu-wrap.svelte-1skrx0i.svelte-1skrx0i{position:relative}.rail-button.svelte-1skrx0i.svelte-1skrx0i{min-height:44px;padding-inline:.6rem;display:inline-flex;align-items:center;gap:.4rem;border:0;background:transparent;color:var(--color-ink-muted);font:500 .82rem/1 var(--font-body);cursor:pointer;white-space:nowrap}.rail-button.svelte-1skrx0i.svelte-1skrx0i:hover,.rail-button[aria-expanded=true].svelte-1skrx0i.svelte-1skrx0i{color:var(--color-ink)}.menu-chevron.svelte-1skrx0i.svelte-1skrx0i{width:.75rem;height:.75rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transform-origin:center;transition:transform var(--duration-state) var(--ease-out)}.menu-chevron.open.svelte-1skrx0i.svelte-1skrx0i{transform:rotate(180deg)}.menu.svelte-1skrx0i.svelte-1skrx0i{position:absolute;inset:calc(100% + .35rem) 0 auto auto;z-index:60;min-width:14rem;padding:.35rem;background:var(--color-paper-raised);border:1px solid var(--color-rule-strong);border-radius:var(--radius-md);box-shadow:0 .25rem .5rem var(--color-shadow)}.menu.svelte-1skrx0i button.svelte-1skrx0i,.menu.svelte-1skrx0i a.svelte-1skrx0i,.menu.svelte-1skrx0i .menu-link.svelte-1skrx0i{width:100%;min-height:44px;padding:.6rem .7rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);text-align:left;text-decoration:none;font:500 .84rem var(--font-body);cursor:pointer;white-space:nowrap}.menu.svelte-1skrx0i button.current.svelte-1skrx0i{background:var(--color-accent-soft)}.menu.svelte-1skrx0i small.svelte-1skrx0i{color:var(--color-ink-muted);font-size:.7rem}.more-menu.svelte-1skrx0i.svelte-1skrx0i{display:grid}@media (max-width: 38rem){.nav-inner.svelte-1skrx0i.svelte-1skrx0i{grid-template-columns:auto 1fr;column-gap:.75rem;row-gap:0}.primary-links.svelte-1skrx0i.svelte-1skrx0i{grid-column:1 / -1;grid-row:2;order:3;width:100%;height:3.25rem;justify-content:space-around}.rail-actions.svelte-1skrx0i.svelte-1skrx0i{justify-self:end}.primary-links.svelte-1skrx0i a.svelte-1skrx0i{flex:1}}.today-shell.svelte-1quqvix.svelte-1quqvix{width:min(100%,var(--page-max));margin-inline:auto;padding:clamp(2.5rem,6vw,6rem) var(--page-gutter);display:grid;gap:4rem}main.svelte-1quqvix.svelte-1quqvix{min-width:0}.date-line.svelte-1quqvix.svelte-1quqvix{color:var(--color-accent);font:600 .78rem var(--font-body);letter-spacing:.06em;text-transform:uppercase}.elsewhere.svelte-1quqvix.svelte-1quqvix{margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid var(--soft)}.elsewhere.svelte-1quqvix h2.svelte-1quqvix{font:500 1rem var(--font-display);color:var(--ink);margin-bottom:.35rem}.elsewhere-note.svelte-1quqvix.svelte-1quqvix{font:.84rem/1.6 var(--font-body);color:var(--ink-muted);margin-bottom:.7rem}.elsewhere.svelte-1quqvix ul.svelte-1quqvix{list-style:none;display:flex;flex-direction:column;gap:.4rem}.elsewhere.svelte-1quqvix li.svelte-1quqvix{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font:.9rem var(--font-body)}.elsewhere.svelte-1quqvix a.svelte-1quqvix{color:var(--accent);text-decoration:none}.elsewhere.svelte-1quqvix a.svelte-1quqvix:hover{text-decoration:underline}.elsewhere-meta.svelte-1quqvix.svelte-1quqvix{font:.74rem var(--font-mono);color:var(--ink-muted);white-space:nowrap}.bridge-note.svelte-1quqvix.svelte-1quqvix{font:.8rem/1.6 var(--font-body);color:var(--ink-muted);margin-bottom:.9rem}h1.svelte-1quqvix.svelte-1quqvix{max-width:14ch;margin-top:.45rem;font-size:clamp(2.6rem,7vw,5.4rem);overflow-wrap:anywhere}.intro.svelte-1quqvix.svelte-1quqvix{max-width:58ch;margin-top:1rem;color:var(--color-ink-muted);font:1.05rem/1.7 var(--font-body)}.queue.svelte-1quqvix.svelte-1quqvix{margin-top:clamp(2.5rem,6vw,5rem);border-top:1px solid var(--color-rule-strong)}.queue-item.svelte-1quqvix.svelte-1quqvix{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.75rem 1rem;align-items:center;padding:1.4rem 0;border-bottom:1px solid var(--color-rule)}.queue-index.svelte-1quqvix.svelte-1quqvix{align-self:start;padding-top:.18rem;color:var(--color-ink-muted);font:500 .78rem var(--font-mono)}.queue-copy.svelte-1quqvix.svelte-1quqvix{min-width:0}.queue-kind.svelte-1quqvix.svelte-1quqvix{color:var(--color-warm);font:600 .72rem var(--font-body);letter-spacing:.05em;text-transform:uppercase}.queue-copy.svelte-1quqvix h2.svelte-1quqvix{margin-top:.15rem;font-size:clamp(1.35rem,3vw,1.8rem)}.queue-copy.svelte-1quqvix>p.svelte-1quqvix:last-child{margin-top:.2rem;color:var(--color-ink-muted);font:.86rem/1.5 var(--font-body)}.queue-item.svelte-1quqvix .btn.svelte-1quqvix{grid-column:2;justify-self:start}.browse-link.svelte-1quqvix.svelte-1quqvix{display:inline-flex;min-height:44px;align-items:center;margin-top:1.25rem;font:600 .9rem var(--font-body)}aside.svelte-1quqvix.svelte-1quqvix{align-self:start;padding-top:1.25rem;border-top:1px solid var(--color-rule-strong)}aside.svelte-1quqvix h2.svelte-1quqvix{font-size:1.4rem}aside.svelte-1quqvix>p.svelte-1quqvix{margin-top:.75rem;color:var(--color-ink-muted);font:.9rem/1.65 var(--font-body)}dl.svelte-1quqvix.svelte-1quqvix{margin-top:1.5rem}dl.svelte-1quqvix div.svelte-1quqvix{padding:.75rem 0;border-top:1px solid var(--color-rule)}dt.svelte-1quqvix.svelte-1quqvix{font:600 .86rem var(--font-body)}dd.svelte-1quqvix.svelte-1quqvix{margin-top:.1rem;color:var(--color-ink-muted);font:.78rem var(--font-body)}@media (min-width: 40rem){.queue-item.svelte-1quqvix.svelte-1quqvix{grid-template-columns:2rem minmax(0,1fr) auto}.queue-item.svelte-1quqvix .btn.svelte-1quqvix{grid-column:3;grid-row:1}}@media (min-width: 68rem){.today-shell.svelte-1quqvix.svelte-1quqvix{grid-template-columns:minmax(0,1fr) minmax(17rem,22rem)}aside.svelte-1quqvix.svelte-1quqvix{position:sticky;top:6rem}}
