@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;800;900&family=Nunito+Sans:wght@300;400;600;700&display=swap";:root{--bg-base: #faf6f2;--bg-elevated: #fdf9f6;--bg-card: #ffffff;--bg-input: #fdf9f6;--bg-track: #f1e7dc;--border: #d4c0ae;--border-hover: #c49a6c;--border-warm: #c49a6c;--text-primary: #2a1e16;--text-bright: #2a1e16;--text-secondary: #5e4a3a;--text-muted: #5e4a3a;--text-dim: #7b6450;--text-faint: #9e8a7a;--text-ghost: #b9a694;--text-darkest: #2a1e16;--accent: #ec8140;--accent2: color-mix(in srgb, var(--accent) 78%, black);--accent-warm: #d45a20;--accent-secondary: #d45a20;--accent-bg: rgba(236, 129, 64, .1);--accent-bg-hover: rgba(236, 129, 64, .16);--accent-bg-strong: rgba(236, 129, 64, .22);--accent-border: rgba(236, 129, 64, .45);--on-accent: #ffffff;--color-success: #2e7d32;--color-success-dim: #558b2f;--color-danger: #c0392b;--color-caution: #b8860b;--color-calibration: #73A5CA;--color-wrong-finger: #d45a20;--color-corrected: #b8523f;--danger-bg: rgba(192, 57, 43, .1);--danger-bg-hover: rgba(192, 57, 43, .16);--danger-border: rgba(192, 57, 43, .4);--caution-bg: rgba(184, 134, 11, .12);--calibration-bg: color-mix(in srgb, var(--color-calibration) 12%, transparent);--calibration-bg-strong: color-mix(in srgb, var(--color-calibration) 20%, transparent);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 100px;--shadow-sm: 2px 2px 0 var(--border);--shadow-md: 4px 4px 0 var(--border);--shadow-lg: 6px 6px 0 var(--border);--shadow-accent: 4px 4px 0 var(--accent2);--shadow-accent-lg: 6px 6px 0 var(--accent2);--shadow-hover: 6px 6px 0 var(--border);--shadow-press: 1px 1px 0 var(--accent2);--font-ui: "Nunito Sans", "Nunito", system-ui, sans-serif;--font-display: "Nunito", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--fs-micro: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-body-sm: 13px;--fs-body: 14px;--fs-body-md: 15px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-icon-lg: 48px;--fs-typing-prompt: 30px;--lp-fs-micro: var(--fs-micro);--lp-fs-xs: var(--fs-xs);--lp-fs-sm: var(--fs-sm);--lp-fs-label: 13px;--lp-fs-body-sm: 14px;--lp-fs-body: 15px;--lp-fs-body-md: 16px;--lp-fs-body-lg: 17px;--lp-fs-intro: 18px;--lp-fs-subhead: 19px;--lp-fs-h4: 20px;--lp-fs-h3: 22px;--lp-fs-h2: 24px;--lp-fs-emoji: 30px;--lp-fs-icon: 48px;--lp-fs-display-sm: 52px;--lp-fs-h1: clamp(42px, 6.5vw, 80px);--lp-fs-h2-fluid: clamp(28px, 4vw, 44px);--lp-fs-cta-fluid: clamp(26px, 4vw, 42px);--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--fw-black: 900;--lp-fw-regular: 400;--lp-fw-bold: 700;--lp-fw-extrabold: 800;--lp-fw-black: 900;--lh-tight: 1.1;--lh-snug: 1.5;--lh-normal: 1.7;--lh-loose: 1.9;--lp-lh-hero: 1.05;--lp-lh-tight: 1.1;--lp-lh-snug: 1.6;--lp-lh-cozy: 1.65;--lp-lh-normal: 1.7;--overlay-sm: rgba(0, 0, 0, .55);--overlay-md: rgba(0, 0, 0, .8);--overlay-frosted: rgba(10, 10, 30, .82);--glass-border: rgba(255, 255, 255, .18);--glass-faint: rgba(255, 255, 255, .08);--glass-micro: rgba(255, 255, 255, .06);--glass-hover: rgba(255, 255, 255, .14);--grid-color: #d4bfae;--grid-major: #d4bfae;--highlight: #fff3e0;--white: #ffffff;--shadow-dark: rgba(42, 30, 22, .12);--accent-glass-micro: rgba(236, 129, 64, .05);--nav-bg: rgba(250, 246, 242, .92);--footer-bg: rgba(250, 246, 242, .9);--on-accent-muted: rgba(255, 255, 255, .8);--on-accent-secondary: rgba(255, 255, 255, .88);--bg: var(--bg-base);--paper: var(--bg-elevated);--ink: var(--text-primary);--ink-mid: var(--text-secondary);--ink-light: var(--text-faint);--card: var(--bg-card);--shadow: rgba(42, 30, 22, .08)}html[data-theme=dark]{--bg-base: #14100c;--bg-elevated: #1c1712;--bg-card: #231c16;--bg-input: #1c1712;--bg-track: #2e2419;--border: #3a2e24;--border-hover: #5a4634;--border-warm: #8a5a2a;--text-primary: #f5ebe0;--text-bright: #ffffff;--text-secondary: #d4c0ae;--text-muted: #b9a694;--text-dim: #9e8a7a;--text-faint: #6e5a4a;--text-ghost: #4e3c2e;--text-darkest: #ffffff;--accent: #ec8140;--accent2: #7a3c10;--accent-warm: #d45a20;--accent-secondary: #d45a20;--accent-bg: rgba(236, 129, 64, .14);--accent-bg-hover: rgba(236, 129, 64, .22);--accent-bg-strong: rgba(236, 129, 64, .3);--accent-border: rgba(236, 129, 64, .5);--color-success: #66bb6a;--color-success-dim: #9ccc65;--color-danger: #ef5350;--color-caution: #f0c044;--color-calibration: #b39ddb;--color-wrong-finger: #ff9466;--color-corrected: #d4896e;--danger-bg: rgba(239, 83, 80, .14);--danger-bg-hover: rgba(239, 83, 80, .22);--danger-border: rgba(239, 83, 80, .45);--caution-bg: rgba(240, 192, 68, .14);--calibration-bg: rgba(179, 157, 219, .14);--calibration-bg-strong: rgba(179, 157, 219, .24);--shadow-sm: 2px 2px 0 #000000;--shadow-md: 4px 4px 0 #000000;--shadow-lg: 6px 6px 0 #000000;--shadow-accent: 4px 4px 0 var(--accent2);--shadow-accent-lg: 6px 6px 0 var(--accent2);--shadow-hover: 6px 6px 0 #000000;--shadow-press: 1px 1px 0 var(--accent2);--grid-color: #221a12;--grid-major: #221a12;--highlight: #3a2c14;--shadow-dark: rgba(0, 0, 0, .4);--accent-glass-micro: rgba(236, 129, 64, .07);--nav-bg: rgba(20, 16, 12, .92);--footer-bg: rgba(20, 16, 12, .9);--bg: var(--bg-base);--paper: var(--bg-elevated);--ink: var(--text-primary);--ink-mid: var(--text-secondary);--ink-light: var(--text-faint);--card: var(--bg-card);--shadow: rgba(0, 0, 0, .3)}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-base)}.skip-lesson-modal{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);padding:32px;max-width:440px;width:90%;box-shadow:6px 6px 0 var(--border)}.skip-lesson-title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-black);color:var(--text-primary);margin:0 0 16px;letter-spacing:-.01em}.skip-lesson-body{font-size:var(--fs-body-md);color:var(--text-primary);margin:0 0 12px;line-height:var(--lh-snug)}.skip-lesson-body--warn{color:var(--text-muted);font-size:var(--fs-body-sm)}.skip-lesson-actions{display:flex;gap:14px;margin-top:28px}.skip-lesson-actions .button{flex:1;padding:10px 16px;font-size:var(--fs-body-sm)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
