:root{--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--content-max: 80rem;--content-narrow: 44rem;--text-xs: 12px;--text-sm: 14px;--text-base: 15px;--text-md: 16px;--text-lg: 20px;--text-xl: 28px;--text-2xl: 34px;--lh-tight: 1.2;--lh-snug: 1.4;--lh-base: 1.5;--lh-loose: 1.65;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--radius-round: 50%;--bp-sm: 640px;--bp-md: 1024px;--bp-lg: 1280px;--motion-fast: .12s;--motion: .18s;--motion-slow: .28s;--ease-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--ease-spring-soft: cubic-bezier(.34, 1.15, .64, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--font-display: "Tektur", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-ui: "Noto Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-reading: "Noto Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;--z-base: 0;--z-sticky: 100;--z-overlay: 800;--z-modal: 900;--z-toast: 1000;--bg: #f6f5fa;--bg-elev: #ecedf3;--card: #ffffff;--surface: #ecedf3;--text: #212121;--muted: #64656e;--primary: #212121;--primary-contrast: #f6f5fa;--border: #d8dfe9;--accent: #212121;--accent-hover: #3a3a3a;--accent-1: #212121;--accent-2: #eff0a3;--accent-1-rgb: 33, 33, 33;--banner-sql: #d8dfe9;--banner-python: #cfdeca;--banner-java: #eff0a3;--banner-text: #212121;--tint-alice: #d8dfe9;--tint-honey: #cfdeca;--tint-vanilla: #eff0a3;--tint-text: #212121;--tint-text-soft: rgba(33, 33, 33, .62);--ink-alice: #54718f;--ink-honey: #4c7a5a;--ink-vanilla: #8f8f2e;--accent-glow: 0 12px 28px rgba(33, 33, 33, .16);--success: #4c7a5a;--danger: #c25749;--code-surface: #212121;--code-text: #f6f5fa;--ring: rgba(33, 33, 33, .35);--overlay: rgba(33, 33, 33, .45);--shadow-soft: 0 8px 22px rgba(33, 33, 33, .05);--shadow: 0 14px 36px rgba(33, 33, 33, .07);--shadow-strong: 0 18px 44px rgba(33, 33, 33, .12);--accuracy-low: #c25749;--accuracy-mid: #c9a53c;--accuracy-high: #4c7a5a;--tag-progress-learned: #212121;--touch-target: 44px;--input-font-size: 16px}:root[data-theme=dark]{--bg: #17181a;--bg-elev: #1f2023;--card: #27282c;--surface: #1f2023;--text: #f6f5fa;--muted: #a3a5ae;--primary: #f6f5fa;--primary-contrast: #17181a;--border: #3c3e44;--accent: #d8dfe9;--accent-hover: #c2cdde;--accent-1: #d8dfe9;--accent-2: #eff0a3;--accent-1-rgb: 216, 223, 233;--ink-alice: #a9bfd6;--ink-honey: #86c29a;--ink-vanilla: #d6d87a;--accent-glow: 0 12px 28px rgba(216, 223, 233, .14);--success: #86c29a;--danger: #e08578;--code-surface: #111214;--code-text: #f6f5fa;--ring: rgba(216, 223, 233, .45);--overlay: rgba(10, 10, 12, .65);--shadow-soft: 0 0 0 1px rgba(60, 62, 68, .6);--shadow: 0 0 0 1px rgba(60, 62, 68, .8);--shadow-strong: 0 0 0 1px rgba(216, 223, 233, .3);--accuracy-low: #e08578;--accuracy-mid: #d9c25e;--accuracy-high: #86c29a;--tag-progress-learned: #d8dfe9}@media (prefers-color-scheme: dark){:root:not([data-theme]){--bg: #17181a;--bg-elev: #1f2023;--card: #27282c;--surface: #1f2023;--text: #f6f5fa;--muted: #a3a5ae;--primary: #f6f5fa;--primary-contrast: #17181a;--border: #3c3e44;--accent: #d8dfe9;--accent-hover: #c2cdde;--accent-1: #d8dfe9;--accent-2: #eff0a3;--accent-1-rgb: 216, 223, 233;--ink-alice: #a9bfd6;--ink-honey: #86c29a;--ink-vanilla: #d6d87a;--accent-glow: 0 12px 28px rgba(216, 223, 233, .14);--success: #86c29a;--danger: #e08578;--code-surface: #111214;--code-text: #f6f5fa;--ring: rgba(216, 223, 233, .45);--overlay: rgba(10, 10, 12, .65);--shadow-soft: 0 0 0 1px rgba(60, 62, 68, .6);--shadow: 0 0 0 1px rgba(60, 62, 68, .8);--shadow-strong: 0 0 0 1px rgba(216, 223, 233, .3);--accuracy-low: #e08578;--accuracy-mid: #d9c25e;--accuracy-high: #86c29a;--tag-progress-learned: #d8dfe9}}*,*:before,*:after{box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100%;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--lh-base);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:0}h1,h2,h3,h4,p,figure{margin:0}a{color:var(--accent);text-decoration:none}button{font:inherit;color:inherit}input,textarea,select{font-size:var(--input-font-size);font-family:inherit}img,svg,video{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}a,button{transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.page-narrow{width:100%;max-width:var(--content-narrow);margin-inline:auto}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.cookie.svelte-1xqvkrg{position:fixed;left:var(--space-4);right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:var(--z-overlay);max-width:var(--content-narrow);margin-inline:auto;display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4) var(--space-5);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow)}.cookie-text.svelte-1xqvkrg{flex:1;min-width:14rem}.cookie-text.svelte-1xqvkrg strong:where(.svelte-1xqvkrg){display:block;font-family:var(--font-display);font-weight:600;font-size:var(--text-md);margin-bottom:var(--space-1)}.cookie-text.svelte-1xqvkrg p:where(.svelte-1xqvkrg){margin:0;font-size:var(--text-sm);color:var(--muted);line-height:var(--lh-base)}.cookie-text.svelte-1xqvkrg a:where(.svelte-1xqvkrg){color:var(--accent);text-decoration:underline;text-underline-offset:2px}.cookie-actions.svelte-1xqvkrg{display:flex;gap:var(--space-2);flex-shrink:0}@media (max-width: 640px){.cookie-actions.svelte-1xqvkrg{width:100%}.cookie-actions.svelte-1xqvkrg .btn{flex:1}}
