*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}.no-transition,.no-transition *,.no-transition *::before,.no-transition *::after{transition:none!important}:root,[data-theme=dark]{--bg-primary:#14151a;--bg-secondary:#1b1c24;--bg-surface:#23252e;--bg-elevated:#2b2e3a;--bg:var(--bg-primary);--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--text-muted:#71717a;--border-color:#31343f;--border-subtle:#23252e;--accent:#0d9488;--accent-hover:#0f766e;--accent-rgb:13, 148, 136;--accent-text:#2dd4bf;--neon-cyan:#38bdf8;--neon-cyan-rgb:56, 189, 248;--neon-magenta:#f472b6;--neon-magenta-rgb:244, 114, 182;--neon-green:#34d399;--neon-green-rgb:52, 211, 153;--neon-yellow:#fbbf24;--neon-yellow-rgb:251, 191, 36;--status-active:#00ff88;--status-completed:#00d4ff;--status-archived:#888;--sidebar-bg:#111218;--sidebar-hover:#23252e;--sidebar-active:rgba(13, 148, 136, 0.1);--code-bg:#0d0e12;--code-border:#31343f;--header-bg:rgba(20, 21, 26, 0.85);--header-border:#31343f;--scrollbar-thumb:#3f3f46;--scrollbar-track:transparent}[data-theme=light]{--bg-primary:#ffffff;--bg-secondary:#f8fafc;--bg-surface:#f1f5f9;--bg-elevated:#e2e8f0;--bg:var(--bg-primary);--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border-color:#e2e8f0;--border-subtle:#f1f5f9;--accent:#0f766e;--accent-hover:#115e59;--accent-rgb:15, 118, 110;--accent-text:#115e59;--neon-cyan:#0284c7;--neon-cyan-rgb:2, 132, 199;--neon-magenta:#db2777;--neon-magenta-rgb:219, 39, 119;--neon-green:#059669;--neon-green-rgb:5, 150, 105;--neon-yellow:#d97706;--neon-yellow-rgb:217, 119, 6;--status-active:#00c853;--status-completed:#0091ea;--status-archived:#9e9e9e;--sidebar-bg:#f8fafc;--sidebar-hover:#f1f5f9;--sidebar-active:rgba(13, 148, 136, 0.08);--code-bg:#f8fafc;--code-border:#e2e8f0;--header-bg:rgba(255, 255, 255, 0.9);--header-border:#e2e8f0;--scrollbar-thumb:#cbd5e1;--scrollbar-track:transparent}html{font-size:16px;scroll-behavior:smooth}body{font-family:geist sans,pretendard variable,pretendard,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,sans-serif;background-color:var(--bg-primary);background-image:radial-gradient(circle at top center,var(--bg-secondary) 0%,var(--bg-primary) 100%);background-attachment:fixed;color:var(--text-primary);line-height:1.7;min-height:100vh;transition:background-color .4s ease,color .4s ease}.hero-title{font-size:3.5rem;font-weight:800;letter-spacing:-.02em;position:relative;display:inline-block}[data-theme=dark] .hero-title::before,[data-theme=dark] .hero-title::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}[data-theme=dark] .hero-title::before{color:#fff;z-index:-1;animation:obsidian-glitch 3s infinite}[data-theme=dark] .hero-title::after{color:var(--accent);z-index:-2;animation:obsidian-glitch 3s infinite reverse}@keyframes obsidian-glitch{0%,90%,100%{clip-path:inset(0 0 0 0);transform:translate(0)}92%{clip-path:inset(20% 0 40% 0);transform:translate(-3px,1px)}94%{clip-path:inset(60% 0 10% 0);transform:translate(3px,-1px)}96%{clip-path:inset(10% 0 70% 0);transform:translate(-1px,0)}98%{clip-path:inset(50% 0 20% 0);transform:translate(1px,1px)}}[data-theme=light] .hero-title{color:var(--text-primary)}@keyframes crystal-shimmer{0%{filter:drop-shadow(0 0 1px rgba(var(--accent-rgb),.1))}100%{filter:drop-shadow(0 0 10px rgba(var(--accent-rgb),.3))drop-shadow(0 0 4px rgba(var(--neon-cyan-rgb),.2))}}[data-theme=light] .hero-btn{background:#fff;border:1px solid var(--border-color);color:var(--text-secondary)}[data-theme=light] .hero-btn--accent{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=light] .hero-btn--accent:hover{background:var(--accent-hover);box-shadow:0 4px 12px rgba(var(--accent-rgb),.25)}a{color:var(--accent-text);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent)}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.site-header{position:sticky;top:0;z-index:100;background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--header-border)}[data-theme=light] .site-header{border-bottom:1px solid transparent;background-image:linear-gradient(var(--header-bg),var(--header-bg)),linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.15),rgba(var(--neon-cyan-rgb),.15),transparent);background-origin:border-box;background-clip:padding-box,border-box}.header-inner{max-width:1400px;margin:0 auto;padding:0 1.5rem;height:56px;display:flex;align-items:center;gap:2rem}.site-logo{text-decoration:none;color:var(--text-primary);display:flex;align-items:center;gap:.25rem;font-family:d2coding,jetbrains mono,fira code,Consolas,monospace;position:relative}.logo-prompt{color:var(--accent);font-weight:800;font-size:1.3rem}.logo-text{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;position:relative}.logo-cursor{color:var(--accent);font-weight:400;animation:logo-blink 1.2s ease-in-out infinite}@keyframes logo-blink{0%,49%{opacity:1}50%,100%{opacity:0}}.site-logo:hover .logo-text{animation:glitch-text .4s ease}.site-logo:hover .logo-prompt{color:var(--neon-magenta);transition:color .1s}.site-nav{display:flex;gap:.25rem;flex:1}.nav-link{padding:.4rem .75rem;border-radius:2px;font-size:.9rem;font-weight:600;color:var(--text-primary);transition:all .2s ease}.nav-link:hover{color:var(--text-primary);background:var(--bg-surface)}.nav-link.active{color:var(--accent-text);background:var(--sidebar-active)}.header-actions{display:flex;align-items:center;gap:.5rem}.theme-toggle{background:0 0;border:1px solid var(--border-color);border-radius:2px;padding:.35rem;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.theme-toggle:hover{color:var(--text-primary);border-color:var(--text-muted)}[data-theme=dark] .icon-sun{display:none}[data-theme=dark] .icon-moon{display:block}[data-theme=light] .icon-sun{display:block}[data-theme=light] .icon-moon{display:none}.header-icon{color:var(--text-secondary);display:flex;align-items:center;padding:.35rem;border-radius:2px;transition:color .2s ease}.header-icon:hover{color:var(--text-primary)}.site-main{min-height:calc(100vh - 56px - 60px)}.site-footer{border-top:1px solid var(--border-color);padding:1rem 0}.footer-inner{max-width:1400px;margin:0 auto;padding:0 1.5rem;text-align:center;font-size:.8rem;color:var(--text-muted)}.footer-inner a{color:var(--text-secondary)}.footer-content{margin-bottom:.35rem}.footer-stats{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.75rem;color:var(--text-muted)}.visitor-counter{display:inline-flex;align-items:center;gap:.3rem}.visitor-counter svg{opacity:.7}#goatcounter-visitors{font-weight:600;color:var(--text-secondary)}.stats-separator{opacity:.4}.stats-link{color:var(--text-muted);font-size:.75rem;transition:color .2s ease}.stats-link:hover{color:var(--accent)}.content{font-size:1.05rem;line-height:1.85;letter-spacing:-.01em}.content h1{font-size:2.25rem;font-weight:800;margin:2.5rem 0 1.25rem;line-height:1.3}.content h2{font-size:1.75rem;font-weight:700;margin:2.25rem 0 1rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.4rem;line-height:1.4}.content h3{font-size:1.4rem;font-weight:700;margin:1.75rem 0 .75rem;line-height:1.5}.content h4{font-size:1.15rem;font-weight:700;margin:1.5rem 0 .5rem}.content p{margin-bottom:1.5rem}.content ul,.content ol{margin-bottom:1.5rem;padding-left:1.75rem}.content li{margin-bottom:.5rem}.content blockquote{border-left:4px solid var(--accent);padding:.75rem 1.5rem;margin:1.5rem 0;color:var(--text-secondary);background:var(--bg-secondary);border-radius:0 4px 4px 0;font-style:italic}.content blockquote.hint.info{border-left-color:#38bdf8;background:rgba(56,189,248,6%)}.content blockquote.hint.success{border-left-color:#10b981;background:rgba(16,185,129,6%)}.content blockquote.hint.warning{border-left-color:#f59e0b;background:rgba(245,158,11,6%)}.content blockquote.hint.danger{border-left-color:#ef4444;background:rgba(239,68,68,6%)}.content code{background:var(--code-bg);border:1px solid var(--code-border);border-radius:4px;padding:.2em .4em;font-size:.9em;font-family:d2coding,jetbrains mono,fira code,Consolas,monospace;color:var(--accent-text)}.content pre{background:var(--code-bg);border:1px solid var(--code-border);border-radius:6px;padding:1.25rem;margin:1.5rem 0;overflow-x:auto}.content pre code{background:0 0;border:none;padding:0;font-size:.875rem;line-height:1.6;color:inherit}.content table{border-collapse:collapse;margin:1.5rem 0;font-size:.875rem}.content th,.content td{border:1px solid var(--border-color);padding:.35rem .65rem;text-align:left}.content th{background:var(--bg-surface);font-weight:700}.content img{border-radius:8px;margin:1.5rem 0;box-shadow:0 4px 20px rgba(0,0,0,.1)}.content hr{border:none;border-top:1px solid var(--border-color);margin:2.5rem 0}.content dl{margin:1rem 0}.content dt{font-weight:600;margin-top:.75rem}.content dd{margin-left:1rem;color:var(--text-secondary);font-size:.9rem}.book-katex{overflow-x:auto}div.book-katex{display:block;margin:1rem 0;text-align:center}.section-title-glitch{font-size:2.5rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;position:relative;display:inline-block}[data-theme=dark] .section-title-glitch::before,[data-theme=dark] .section-title-glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}[data-theme=dark] .section-title-glitch::before{color:var(--neon-cyan);z-index:-1;animation:section-glitch 3s infinite}[data-theme=dark] .section-title-glitch::after{color:var(--neon-magenta);z-index:-2;animation:section-glitch 3s infinite reverse}[data-theme=light] .section-title-glitch{color:var(--text-primary)}@keyframes section-glitch{0%,90%,100%{clip-path:inset(0 0 0 0);transform:translate(0)}92%{clip-path:inset(20% 0 40% 0);transform:translate(-3px,1px)}94%{clip-path:inset(60% 0 10% 0);transform:translate(3px,-1px)}96%{clip-path:inset(10% 0 70% 0);transform:translate(-2px,0)}98%{clip-path:inset(50% 0 20% 0);transform:translate(2px,1px)}}.section-header{text-align:center;margin-bottom:2rem}@media(max-width:768px){.header-inner{padding:0 1rem;gap:1rem}.site-nav{gap:0}.nav-link{padding:.3rem .5rem;font-size:.8rem}}