:root{--bg-primary:#fff;--bg-secondary:#fafafa;--bg-tertiary:#f5f5f5;--text-primary:#0f1419;--text-secondary:#2c2c2c;--text-tertiary:#4a4a4a;--accent:#e07a5f;--accent-hover:#c85a3a;--border:#e0e0e0;--border-dark:#d0d0d0;--nav-bg:#0f1419;--nav-text:#fff;--code-bg:#f8f8f8;--code-text:#0f1419;--pre-bg:#0f1419;--pre-text:#fff;--table-header-bg:#f5f5f5;--table-row-bg:#fafafa;--shadow:#0f14191a;--shadow-hover:#0f141926}[data-theme=dark]{--bg-primary:#1e2329;--bg-secondary:#252a32;--bg-tertiary:#2d323a;--text-primary:#e5e5e5;--text-secondary:#d0d0d0;--text-tertiary:#a0a0a0;--accent:#ff8c42;--accent-hover:#ff6b1a;--border:#3a3f47;--border-dark:#454a52;--nav-bg:#1a1f26;--nav-text:#e8e8e8;--code-bg:#252a32;--code-text:#e5e5e5;--pre-bg:#252a32;--pre-text:#e5e5e5;--table-header-bg:#252a32;--table-row-bg:#1e2329;--shadow:#0000004d;--shadow-hover:#0006}.nav{color:var(--nav-text);border-bottom:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#0f1419f2;padding:1rem 0;position:sticky;top:0}[data-theme=dark] .nav{background-color:#1a1f26f2}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex}@media (max-width:768px){.nav-container{padding:0 1rem}}.nav-logo{color:var(--nav-text);font-size:1.25rem;font-weight:600;text-decoration:none;transition:opacity .2s}.nav-logo:hover{opacity:.8}.nav-links{align-items:center;gap:1.5rem;display:flex}@media (max-width:768px){.nav-links{gap:1rem}}.nav-links a{color:var(--nav-text);text-decoration:none;transition:opacity .2s}.nav-links a:hover{opacity:.7}.main{max-width:900px;min-height:calc(100vh - 200px);margin:0 auto;padding:2rem}@media (max-width:768px){.main{padding:1rem}}.container{max-width:100%}article{margin-top:2rem}.footer{background-color:var(--bg-secondary);text-align:center;border-top:1px solid var(--border);margin-top:3rem;padding:2rem}.footer p{color:var(--text-secondary);margin:0}.theme-toggle{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.theme-toggle:disabled{opacity:.5;cursor:not-allowed}.theme-toggle{border:1px solid var(--border);width:2.5rem;height:2.5rem;color:var(--nav-text);background:0 0;border-radius:8px}.theme-toggle:hover{background:#ffffff1a;transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}@media (max-width:768px){.theme-toggle{width:2.25rem;height:2.25rem}}.theme-icon{font-size:1.25rem;line-height:1}.scroll-to-top{background:var(--accent);width:3rem;height:3rem;color:var(--bg-primary);border:2px solid var(--accent);cursor:pointer;box-shadow:0 4px 12px var(--shadow);z-index:1000;opacity:0;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:600;transition:all .3s;animation:.3s forwards fadeIn;display:flex;position:fixed;bottom:2rem;right:2rem}.scroll-to-top:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 6px 20px var(--shadow-hover);transform:translateY(-4px)}.scroll-to-top:active{transform:translateY(-2px)}@media (max-width:768px){.scroll-to-top{width:2.5rem;height:2.5rem;font-size:1.25rem;bottom:1.5rem;right:1.5rem}}.scroll-icon{line-height:1;display:block}@keyframes fadeIn{to{opacity:1}}.table-of-contents{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:5px;margin-bottom:2rem;padding:1.5rem}.table-of-contents h3{color:var(--text-primary);margin-top:0;margin-bottom:1rem;font-size:1.25rem}.table-of-contents ul{margin:0;padding-left:0;list-style:none}.table-of-contents li{margin-bottom:.5rem}.table-of-contents a{color:var(--accent);text-decoration:none;transition:color .2s}.table-of-contents a:hover{color:var(--accent-hover);text-decoration:underline}.toc-level-1{font-weight:600}.toc-level-2{padding-left:1rem}.toc-level-3{padding-left:2rem;font-size:.9em}.toc-level-4{padding-left:3rem;font-size:.85em}.toc-level-5,.toc-level-6{padding-left:4rem;font-size:.8em}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-primary);background-color:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.7;transition:background-color .3s,color .3s}h1{color:var(--text-primary);margin-top:0;margin-bottom:1.5rem;font-size:2.5rem;font-weight:700;line-height:1.2}@media (max-width:768px){h1{font-size:2rem}}h2{color:var(--text-primary);margin-top:2.5rem;margin-bottom:1rem;font-size:2rem;font-weight:600;line-height:1.3}@media (max-width:768px){h2{font-size:1.75rem}}h3{color:var(--text-primary);margin-top:2rem;margin-bottom:.75rem;font-size:1.5rem;font-weight:600}h4{color:var(--text-primary);margin-top:1.5rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}p{color:var(--text-primary);margin-bottom:1rem}ul,ol{margin-bottom:1rem;padding-left:2rem}li{color:var(--text-primary);margin-bottom:.5rem}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover);text-decoration:underline}blockquote{border-left:4px solid var(--accent);color:var(--text-secondary);background:var(--bg-secondary);border-radius:0 8px 8px 0;margin:1.5rem 0;padding:1rem 1rem 1rem 1.5rem;font-style:italic}code{background-color:var(--code-bg);color:var(--code-text);border-radius:4px;padding:.2rem .4rem;font-family:Monaco,Menlo,Ubuntu Mono,Courier New,monospace;font-size:.9em}pre{background-color:var(--pre-bg);color:var(--pre-text);box-shadow:0 2px 8px var(--shadow);border-radius:8px;margin:1.5rem 0;padding:1.25rem;overflow-x:auto}pre code{color:inherit;background-color:#0000;padding:0}table{border-collapse:collapse;border:1px solid var(--border);border-radius:8px;width:100%;margin:1.5rem 0;font-size:.95rem;overflow:hidden}table th,table td{border:1px solid var(--border);text-align:left;padding:.75rem}table th{background-color:var(--table-header-bg);color:var(--text-primary);font-weight:600}table tr:nth-child(2n){background-color:var(--table-row-bg)}table tr:hover{background-color:var(--bg-tertiary)}hr{border:none;border-top:2px solid var(--border);margin:2rem 0}img{max-width:100%;height:auto;box-shadow:0 4px 12px var(--shadow);border-radius:8px;margin:1.5rem 0;transition:transform .3s,box-shadow .3s}img:hover{box-shadow:0 6px 16px var(--shadow-hover);transform:translateY(-2px)}
