:root{--color-primary: var(--accent);--color-primary-dark: #c0392b;--color-text-primary: var(--ink-primary);--color-text-secondary: #27272a;--color-text-muted: #71717a;--color-border: var(--border-gray);--color-border-light: #f4f4f5;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Menlo", "Monaco", monospace;--content-width: 100%}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}.article-content{font-family:var(--font-sans);color:var(--color-text-secondary);font-size:1.125rem;line-height:1.8;letter-spacing:-.01em}@media(max-width:640px){.article-content{font-size:1.0625rem;line-height:1.75}}.article-content>*{max-width:var(--content-width);margin-left:auto;margin-right:auto}.article-content>p:first-of-type:first-letter{float:left;font-size:4.5rem;line-height:.8;font-weight:700;color:var(--color-primary);padding-right:.75rem;padding-top:.25rem;font-family:Georgia,Times New Roman,serif}@media(max-width:640px){.article-content>p:first-of-type:first-letter{font-size:3.5rem;padding-right:.5rem}}.article-content>p:first-of-type{font-size:1.25rem;line-height:1.7;color:var(--color-text-primary)}@media(max-width:640px){.article-content>p:first-of-type{font-size:1.125rem}}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{color:var(--color-text-primary);font-weight:700;line-height:1.3;scroll-margin-top:6rem;letter-spacing:-.02em;max-width:var(--content-width)}.article-content h1{font-size:2.25rem;margin-top:3rem;margin-bottom:1.5rem;font-weight:800}.article-content h2{font-size:1.75rem;margin-top:3rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border-light);position:relative}.article-content h2:after{content:"";position:absolute;left:0;bottom:-2px;width:50px;height:2px;background:var(--brand-red)}.article-content h3{font-size:1.375rem;margin-top:2.5rem;margin-bottom:.875rem}.article-content h4{font-size:1.125rem;margin-top:2rem;margin-bottom:.75rem;font-weight:600}.article-content h5{font-size:1rem;margin-top:1.75rem;margin-bottom:.625rem;font-weight:600;color:var(--color-text-secondary)}.article-content h6{font-size:.875rem;margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}@media(max-width:640px){.article-content h1{font-size:1.875rem;margin-top:2.5rem}.article-content h2{font-size:1.5rem;margin-top:2.5rem}.article-content h3{font-size:1.25rem;margin-top:2rem}.article-content h4{font-size:1.0625rem}}.article-content p{margin-top:0;margin-bottom:1.5rem;color:var(--color-text-secondary)}.article-content strong,.article-content b{font-weight:600;color:var(--ink-primary);background-color:#d833331a;padding:.125rem .375rem;border-radius:4px;margin:0 .0625rem}.article-content a{color:var(--brand-red);text-decoration:none;font-weight:500;border-bottom:2px solid var(--brand-red);transition:all .2s ease}.article-content a:hover{border-bottom-color:var(--brand-neon);background:#d833330d}.article-content ul,.article-content ol{padding-left:1.75rem;margin-top:1.5rem;margin-bottom:1.5rem;max-width:var(--content-width)}.article-content ul{list-style:none}.article-content ul li{position:relative;margin-bottom:.75rem;padding-left:.5rem}.article-content ul li:before{content:"";position:absolute;left:-1.25rem;top:.6em;width:6px;height:6px;background:var(--brand-red);border-radius:50%}.article-content ol li{margin-bottom:.75rem;padding-left:.25rem}.article-content ol li::marker{color:var(--brand-red);font-weight:600}.article-content li>ul,.article-content li>ol{margin-top:.5rem;margin-bottom:.5rem}.article-content ul ul li:before{background:#e74c3c80;width:5px;height:5px}.article-content blockquote{font-style:italic;color:var(--ink-secondary);border-left:4px solid var(--brand-red);padding:1.25rem 1.5rem;margin:2rem auto;background:#d833330d;border-radius:0 12px 12px 0;font-size:1.0625rem;max-width:var(--content-width);border:1px solid var(--border-gray)}.article-content blockquote p{margin:0}.article-content blockquote p+p{margin-top:1rem}.article-content code{font-family:var(--font-mono);font-size:.875em}.article-content :not(pre)>code{background:var(--bg-tertiary);color:var(--brand-red);padding:.2em .4em;border-radius:4px;border:1px solid var(--border-gray);font-weight:600;font-size:.85em}.article-content pre{background:#1a1a1a;color:var(--border-gray);padding:2.75rem 1.5rem 1.25rem;border-radius:12px;overflow-x:auto;margin:2rem auto;width:100%;max-width:var(--content-width);position:relative;border:1px solid var(--border-gray);font-size:.875rem;line-height:1.6}@media(min-width:768px){.article-content pre{max-width:calc(var(--content-width) + 80px);margin-left:calc(50% - (var(--content-width) + 80px) / 2);margin-right:calc(50% - (var(--content-width) + 80px) / 2)}}.article-content pre:before{content:"";position:absolute;top:.875rem;left:1rem;width:52px;height:12px;background-image:radial-gradient(circle,#ff5f56 5px,transparent 5px),radial-gradient(circle,#ffbd2e 5px,transparent 5px),radial-gradient(circle,#27c93f 5px,transparent 5px);background-size:16px 12px;background-position:0 0,18px 0,36px 0;background-repeat:no-repeat}.article-content pre code{background:transparent;border:none;padding:0;color:inherit;font-size:inherit;display:block;white-space:pre}.article-content pre::-webkit-scrollbar{height:6px}.article-content pre::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.article-content pre::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.article-content pre::-webkit-scrollbar-thumb:hover{background:#ffffff40}@media(max-width:640px){.article-content pre{margin-left:-1.25rem;margin-right:-1.25rem;border-radius:0;padding:2.5rem 1rem 1rem;font-size:.8125rem}}.article-content img{border-radius:12px;margin:2rem auto;width:100%;max-width:100%;height:auto;cursor:zoom-in;border:1px solid var(--border-gray);display:block}.article-content figure{margin:2rem auto;max-width:var(--content-width)}.article-content figure img{margin:0}.article-content figcaption{margin-top:.75rem;text-align:center;font-size:.875rem;color:var(--color-text-muted);font-style:italic}.table-wrapper{overflow-x:auto;margin:2rem auto;border-radius:12px;border:1px solid var(--border-gray);max-width:var(--content-width);-webkit-overflow-scrolling:touch}@media(min-width:768px){.table-wrapper{max-width:calc(var(--content-width) + 80px)}}.article-content table{width:100%;text-align:left;border-collapse:collapse;min-width:480px;font-size:.9375rem;margin:0}.article-content thead{background:var(--bg-tertiary)}.article-content th{padding:.875rem 1.25rem;font-weight:600;border-bottom:1px solid var(--border-gray);text-transform:uppercase;font-size:.75rem;letter-spacing:.04em;color:var(--ink-primary)}.article-content td{padding:.875rem 1.25rem;border-bottom:1px solid var(--border-gray)}.article-content tbody tr:hover{background:var(--bg-tertiary)}.article-content tbody tr:last-child td{border-bottom:none}.article-content hr{border:none;height:1px;background:var(--border-gray);margin:3rem auto;max-width:60%}.article-content em,.article-content i{font-style:italic}.article-content mark{background:#ffed0059;padding:.1em .2em;border-radius:2px}.article-content kbd{font-family:var(--font-mono);font-size:.875em;padding:.15em .4em;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#374151}.article-content .note,.article-content .info,.article-content .warning,.article-content .tip,.article-content .success,.article-content .danger,.article-content .error{padding:1.25rem 1.5rem;margin:1.75rem auto;border-radius:0 10px 10px 0;max-width:var(--content-width)}.article-content .note,.article-content .info{background:#dbeafe;border-left:4px solid #3b82f6}.article-content .warning{background:#fef3c7;border-left:4px solid #f59e0b}.article-content .tip,.article-content .success{background:#d1fae5;border-left:4px solid #10b981}.article-content .danger,.article-content .error{background:#fee2e2;border-left:4px solid #ef4444}.article-content details{margin:1.75rem auto;border:1px solid var(--color-border);border-radius:8px;max-width:var(--content-width);overflow:hidden}.article-content summary{padding:1rem 1.25rem;background:var(--bg-tertiary);cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between}.article-content summary::-webkit-details-marker{display:none}.article-content summary:after{content:"+";font-size:1.25rem;color:var(--color-text-muted);transition:transform .2s}.article-content details[open] summary:after{content:"−"}.article-content details>*:not(summary){padding:1.25rem}.animate-fade-in-up{animation:fadeInUp .6s ease-out forwards}.animate-fade-in-left{animation:fadeInLeft .6s ease-out forwards}.animate-fade-in-right{animation:fadeInRight .6s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.custom-scrollbar::-webkit-scrollbar{width:5px;height:5px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--border-gray);border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:var(--border-gray) transparent}.toc-link.is-active{color:var(--ink-primary)!important;font-weight:600!important}@media print{.article-content{font-size:11pt;color:#000}.article-content a{color:#000;text-decoration:underline}.article-content pre:before{display:none}.article-content strong,.article-content b{background:none;padding:0}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.article-content a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.article-wrapper.reader-mode[data-theme=light]>div:first-child{background-color:#fff!important}.article-wrapper.reader-mode[data-theme=light] .article-content{color:#374151}.article-wrapper.reader-mode[data-theme=light] .article-content h1,.article-wrapper.reader-mode[data-theme=light] .article-content h2,.article-wrapper.reader-mode[data-theme=light] .article-content h3,.article-wrapper.reader-mode[data-theme=light] .article-content h4,.article-wrapper.reader-mode[data-theme=light] .article-content h5,.article-wrapper.reader-mode[data-theme=light] .article-content h6{color:#111827}.article-wrapper.reader-mode[data-theme=light] .article-content p{color:#4b5563}.article-wrapper.reader-mode[data-theme=light] .article-content a{color:#2563eb}.article-wrapper.reader-mode[data-theme=light] .article-content strong{color:#1f2937}.article-wrapper.reader-mode[data-theme=light] .article-content blockquote{background:#f3f4f6;border-left-color:#2563eb;color:#374151}.article-wrapper.reader-mode[data-theme=light] .article-content ul li:before{background:#2563eb}.article-wrapper.reader-mode[data-theme=light] .article-content pre{background:#1f2937;border-color:#374151}.article-wrapper.reader-mode[data-theme=dark]>div:first-child{background-color:#1a1a2e!important}.article-wrapper.reader-mode[data-theme=dark] .article-content{color:#c9d1d9}.article-wrapper.reader-mode[data-theme=dark] .article-content h1,.article-wrapper.reader-mode[data-theme=dark] .article-content h2,.article-wrapper.reader-mode[data-theme=dark] .article-content h3,.article-wrapper.reader-mode[data-theme=dark] .article-content h4,.article-wrapper.reader-mode[data-theme=dark] .article-content h5,.article-wrapper.reader-mode[data-theme=dark] .article-content h6{color:#e6edf3}.article-wrapper.reader-mode[data-theme=dark] .article-content p{color:#b0b8c1}.article-wrapper.reader-mode[data-theme=dark] .article-content a{color:#79c0ff}.article-wrapper.reader-mode[data-theme=dark] .article-content strong{color:#e6edf3}.article-wrapper.reader-mode[data-theme=dark] .article-content blockquote{background:#252836;border-left-color:#79c0ff;color:#b0b8c1}.article-wrapper.reader-mode[data-theme=dark] .article-content ul li:before{background:#79c0ff}.article-wrapper.reader-mode[data-theme=dark] .article-content pre{background:#0d1117;border-color:#30363d}.article-wrapper.reader-mode[data-theme=dark] .article-content img{filter:brightness(.85)}.article-wrapper.reader-mode[data-theme=dark] .article-content :not(pre)>code{background:#2d333b;color:#ff7b72;border-color:#444c56}.article-wrapper.reader-mode[data-theme=dark] .article-content thead,.article-wrapper.reader-mode[data-theme=dark] .article-content summary{background:#21262d;color:#c9d1d9}.article-wrapper.reader-mode[data-theme=dark] .article-content th{color:#e6edf3;border-bottom-color:#444c56}.article-wrapper.reader-mode[data-theme=dark] .article-content td{border-bottom-color:#30363d}.article-wrapper.reader-mode[data-theme=sepia]>div:first-child{background-color:#f4ecd8!important}.article-wrapper.reader-mode[data-theme=sepia] .article-content{color:#5c4b37}.article-wrapper.reader-mode[data-theme=sepia] .article-content h1,.article-wrapper.reader-mode[data-theme=sepia] .article-content h2,.article-wrapper.reader-mode[data-theme=sepia] .article-content h3,.article-wrapper.reader-mode[data-theme=sepia] .article-content h4,.article-wrapper.reader-mode[data-theme=sepia] .article-content h5,.article-wrapper.reader-mode[data-theme=sepia] .article-content h6{color:#3d2e1f}.article-wrapper.reader-mode[data-theme=sepia] .article-content p{color:#6b5a47}.article-wrapper.reader-mode[data-theme=sepia] .article-content a{color:#8b5a2b}.article-wrapper.reader-mode[data-theme=sepia] .article-content strong{color:#4a3828}.article-wrapper.reader-mode[data-theme=sepia] .article-content blockquote{background:#ede0c8;border-left-color:#8b5a2b;color:#5c4b37}.article-wrapper.reader-mode[data-theme=sepia] .article-content ul li:before{background:#8b5a2b}.article-wrapper.reader-mode[data-theme=sepia] .article-content pre{background:#3d2e1f;border-color:#5c4b37}.article-wrapper.reader-mode[data-theme=sepia] .article-content :not(pre)>code{background:#e8dbbe;color:#8b3a3a;border-color:#d1c1a3}.article-wrapper.reader-mode[data-theme=sepia] .article-content thead,.article-wrapper.reader-mode[data-theme=sepia] .article-content summary{background:#e8dbbe;color:#3d2e1f}.article-wrapper.reader-mode[data-theme=sepia] .article-content th{color:#3d2e1f;border-bottom-color:#d1c1a3}.article-wrapper.reader-mode[data-theme=sepia] .article-content td{border-bottom-color:#e8dbbe}.article-wrapper.reader-mode[data-cb=protanopia] .article-content a,.article-wrapper.reader-mode[data-cb=protanopia] .article-content ul li:before{filter:hue-rotate(240deg) saturate(1.5)}.article-wrapper.reader-mode[data-cb=protanopia] .article-content blockquote{border-left-color:#07b}.article-wrapper.reader-mode[data-cb=deuteranopia] .article-content a,.article-wrapper.reader-mode[data-cb=deuteranopia] .article-content ul li:before{filter:hue-rotate(90deg) saturate(1.3)}.article-wrapper.reader-mode[data-cb=deuteranopia] .article-content blockquote{border-left-color:#c50}.article-wrapper.reader-mode[data-cb=tritanopia] .article-content a,.article-wrapper.reader-mode[data-cb=tritanopia] .article-content ul li:before{filter:hue-rotate(180deg) saturate(1.2)}.article-wrapper.reader-mode[data-cb=tritanopia] .article-content blockquote{border-left-color:#0072b2}.article-wrapper.reader-mode[data-cb=achromatopsia] .article-content{filter:grayscale(100%)}.article-wrapper.reader-mode[data-cb=achromatopsia] .article-content a{filter:grayscale(100%) contrast(1.2)}.article-header-controls{position:relative;z-index:10}#reader-mode-panel .reader-theme-btn[data-active=true]{background-color:var(--accent)!important}#reader-mode-panel .reader-theme-btn[data-active=true] span{color:#fff!important}#reader-mode-panel .reader-theme-btn[data-active=true] div{border-color:var(--accent)!important}#reader-mode-panel .cb-mode-btn[data-active=true]{background-color:var(--accent)!important;color:#fff!important}#reader-mode-panel .cb-mode-btn:hover{background-color:var(--bg-secondary)}#reader-mode-panel .reader-theme-btn:hover{background-color:var(--bg-secondary)!important}
