*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #f3f4f6;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-subtle: #fbfcff;--color-text: #111827;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-border: #e5e7eb;--color-border-strong: #d9dee7;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-soft: rgba(37, 99, 235, .08);--color-error: #ef4444;--color-success: #22c55e;--color-warning: #f59e0b;--color-warning-bg: #fef2cd;--color-warning-border: #fde68a;--color-warning-text: #92400e;--color-on-primary: #ffffff;--color-primary-hover: #374151;--color-nav-bg: rgba(255, 255, 255, .92);--color-card-bg: linear-gradient(180deg, #fff, #fbfcff);--color-card-hover-border: #c6ceda;--color-code-bg: #f3f4f6;--color-code-block-bg: #f8fafc;--color-code-text: var(--color-text);--color-focus-ring: rgba(17, 24, 39, .08);--color-logo-filter: brightness(0);--color-arrow-muted: #475569;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .1);--shadow-card: 0 18px 42px rgba(17, 24, 39, .08);--shadow-soft: 0 18px 60px rgba(17, 24, 39, .05);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px}html[data-theme=dark]{--color-bg: #0f172a;--color-surface: #111827;--color-surface-elevated: #172033;--color-surface-subtle: #0b1220;--color-text: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-border: #263244;--color-border-strong: #334155;--color-accent: #60a5fa;--color-accent-hover: #93c5fd;--color-accent-soft: rgba(96, 165, 250, .14);--color-error: #f87171;--color-success: #4ade80;--color-warning: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .12);--color-warning-border: rgba(251, 191, 36, .28);--color-warning-text: #fde68a;--color-on-primary: #0f172a;--color-primary-hover: #e2e8f0;--color-nav-bg: rgba(15, 23, 42, .9);--color-card-bg: linear-gradient(180deg, #172033, #111827);--color-card-hover-border: #475569;--color-code-bg: #1e293b;--color-code-block-bg: #0b1220;--color-code-text: #e2e8f0;--color-focus-ring: rgba(96, 165, 250, .18);--color-logo-filter: brightness(0) invert(1);--color-arrow-muted: #cbd5e1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .24);--shadow-md: 0 4px 16px rgba(0, 0, 0, .32);--shadow-lg: 0 14px 40px rgba(0, 0, 0, .42);--shadow-card: 0 18px 42px rgba(0, 0, 0, .28);--shadow-soft: 0 18px 60px rgba(0, 0, 0, .24)}html{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--color-text);background:var(--color-bg);color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html[data-theme=dark]{color-scheme:dark}body{min-height:100vh;display:flex;flex-direction:column}input,button{font-family:inherit;font-size:inherit}.theme-toggle{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text-secondary);cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.theme-toggle:hover{border-color:var(--color-border-strong);background:var(--color-bg);color:var(--color-text)}.theme-toggle-icon{grid-area:1 / 1;display:grid;place-items:center}.theme-toggle-svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}html[data-theme=light] .theme-toggle-icon--sun,html[data-theme=dark] .theme-toggle-icon--moon{display:none}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--font-mono);font-size:.875em;background:var(--color-code-bg);padding:2px 6px;border-radius:var(--radius-sm);word-break:break-all}h1,h2,h3{line-height:1.3;font-weight:600}h1{font-size:1.5rem}h2{font-size:1.125rem}h3{font-size:1rem}
