@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&family=JetBrains+Mono:wght@300;400;500;600&display=swap";:root{--surface-0: #06060b;--surface-1: #0c0c14;--surface-2: #12121c;--surface-3: #1a1a27;--surface-4: #222233;--surface-elevated: #161622;--surface-overlay: rgba(6, 6, 11, .92);--ink-primary: #e8e6e1;--ink-secondary: #9e9ba8;--ink-tertiary: #6b6878;--ink-ghost: #3d3b4a;--ink-inverse: #06060b;--sem-token: #5b9cf5;--sem-token-dim: #2d4e7a;--sem-token-bg: rgba(91, 156, 245, .08);--sem-attention: #e8944a;--sem-attention-dim: #74492a;--sem-attention-bg: rgba(232, 148, 74, .08);--sem-ffn: #5cc98e;--sem-ffn-dim: #2e6447;--sem-ffn-bg: rgba(92, 201, 142, .08);--sem-logits: #b07ce8;--sem-logits-dim: #583e74;--sem-logits-bg: rgba(176, 124, 232, .08);--sem-kvcache: #4ecdc4;--sem-kvcache-dim: #276662;--sem-kvcache-bg: rgba(78, 205, 196, .08);--sem-norm: #7a7888;--sem-norm-dim: #3d3c44;--sem-norm-bg: rgba(122, 120, 136, .08);--sem-router: #e85b5b;--sem-router-dim: #742d2d;--sem-router-bg: rgba(232, 91, 91, .08);--sem-expert: #e8d44a;--sem-expert-dim: #746a25;--sem-expert-bg: rgba(232, 212, 74, .08);--accent: #e8944a;--accent-hover: #f0a85e;--accent-muted: rgba(232, 148, 74, .15);--state-success: #5cc98e;--state-error: #e85b5b;--state-warning: #e8d44a;--state-info: #5b9cf5;--state-locked: #3d3b4a;--font-display: "Instrument Serif", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Menlo", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--text-5xl: 4rem;--text-6xl: 5.5rem;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.6;--leading-relaxed: 1.75;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-wider: .08em;--tracking-mono: .02em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--content-width: 52rem;--sidebar-width: 17rem;--lesson-width: 42rem;--page-padding: var(--space-6);--border-subtle: 1px solid rgba(255, 255, 255, .05);--border-default: 1px solid rgba(255, 255, 255, .08);--border-strong: 1px solid rgba(255, 255, 255, .14);--border-accent: 1px solid var(--accent);--radius-sm: 3px;--radius-md: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(232, 148, 74, .1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s}.course-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100dvh;position:relative}.course-sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100dvh;background:var(--surface-1);border-right:var(--border-default);display:flex;flex-direction:column;overflow-y:auto;z-index:100}.sidebar-header{padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:var(--border-subtle)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--ink-primary)}.logo-mark{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:600;color:var(--accent);line-height:1}.logo-text{font-family:var(--font-display);font-size:var(--text-sm);line-height:var(--leading-snug);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-secondary)}.sidebar-nav{flex:1;padding:var(--space-4) 0;overflow-y:auto}.course-main{min-height:100dvh;padding:var(--space-10) var(--space-8);position:relative;z-index:1}.lesson-container{max-width:var(--lesson-width);margin:0 auto}.lesson-header{margin-bottom:var(--space-10)}.lesson-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--ink-tertiary);margin-bottom:var(--space-4)}.lesson-breadcrumb .module-tag{color:var(--accent)}.lesson-id-tag{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);color:var(--ink-ghost);background:var(--surface-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.lesson-title{font-family:var(--font-display);font-size:var(--text-3xl);line-height:var(--leading-tight);margin-bottom:var(--space-3)}.lesson-meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--ink-tertiary)}.lesson-meta .time-estimate{display:flex;align-items:center;gap:var(--space-1)}.lesson-section{margin-bottom:var(--space-12);position:relative}.section-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--ink-ghost);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-3)}.section-label:after{content:"";flex:1;height:1px;background:var(--surface-3)}.section-title{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-4)}.lesson-question{font-family:var(--font-display);font-size:var(--text-2xl);font-style:italic;color:var(--ink-primary);border-left:3px solid var(--accent);padding-left:var(--space-5);margin-bottom:var(--space-8);line-height:var(--leading-snug)}.toy-example{background:var(--surface-2);border:var(--border-default);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);margin:var(--space-4) 0}.shape-card{background:var(--sem-token-bg);border:1px solid var(--sem-token-dim);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);font-family:var(--font-mono);font-size:var(--text-sm);margin:var(--space-3) 0}.impl-hook{background:var(--surface-2);border:var(--border-default);border-left:3px solid var(--sem-ffn);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin:var(--space-4) 0}.impl-hook .file-path{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--sem-ffn)}.perf-hook{background:var(--surface-2);border:var(--border-default);border-left:3px solid var(--sem-attention);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin:var(--space-4) 0}.gate-panel{background:var(--surface-2);border:var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-6);margin:var(--space-8) 0}.gate-panel-title{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-4)}.lesson-nav{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-8);border-top:var(--border-subtle);margin-top:var(--space-12)}.nav-btn{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-secondary);text-decoration:none;padding:var(--space-2) var(--space-4);border:var(--border-default);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);background:none;cursor:pointer}.nav-btn:hover{color:var(--ink-primary);border-color:var(--accent);background:var(--accent-muted)}.nav-btn.primary{background:var(--accent);color:var(--ink-inverse);border-color:var(--accent)}.nav-btn.primary:hover{background:var(--accent-hover)}.nav-btn:disabled,.nav-btn.locked{opacity:.3;cursor:not-allowed}@media(max-width:900px){.course-shell{grid-template-columns:1fr}.course-sidebar{display:none}.course-main{padding:var(--space-6) var(--space-4)}}
