.reading-progress-track{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;background:transparent}.reading-progress-bar{height:100%;background:linear-gradient(90deg,#39ff14,#7dff5e,#39ff14);transform:scaleX(0);transform-origin:left;will-change:transform}@media(prefers-reduced-motion:reduce){.reading-progress-track{display:none}}.copy-code-btn{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#94a3b81a;border:1px solid rgba(148,163,184,.2);border-radius:6px;color:#94a3b8;cursor:pointer;opacity:0;transition:opacity .2s ease,background .2s ease,color .2s ease;z-index:2}pre:hover .copy-code-btn{opacity:1}.copy-code-btn:hover{background:#94a3b833;color:#cbd5e1}.article-header{position:relative;padding-bottom:2rem}.title-glow{position:absolute;top:-50px;left:-100px;width:400px;height:200px;background:radial-gradient(ellipse,rgba(148,163,184,.1) 0%,transparent 70%);pointer-events:none;z-index:-1}.article-title{font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,4rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;margin-bottom:1.5rem;position:relative}.title-text{background:linear-gradient(135deg,#fff,#e0e0e0,#fff);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:titleShimmer 8s ease-in-out infinite;display:inline;text-shadow:none}@keyframes titleShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-family:Inter,sans-serif;font-size:.9rem;color:#888;margin-bottom:1.5rem}.meta-item{display:flex;align-items:center;gap:.5rem;transition:color .2s ease}.meta-item:hover{color:#aaa}.meta-dot{width:4px;height:4px;background:#94a3b8;border-radius:50%}@media(max-width:768px){.meta-dot{display:none}}.category-badge{text-transform:uppercase;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;background:#94a3b81a;border:1px solid rgba(148,163,184,.2);border-radius:100px;color:#94a3b8}.tag-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tag-pill{font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;padding:.4rem 1rem;background:linear-gradient(135deg,#94a3b81f,#94a3b80a);color:#94a3b8;border:1px solid rgba(148,163,184,.2);border-radius:100px;transition:all .25s ease}.tag-pill:hover{background:#94a3b826;transform:translateY(-2px);box-shadow:0 4px 12px #94a3b81a}.hub-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#94a3b81a,#94a3b805);border:1px solid rgba(148,163,184,.15);border-radius:12px;margin-bottom:1.5rem;transition:all .25s ease}.hub-link:hover{background:#94a3b826;border-color:#94a3b84d;transform:translate(4px)}.hub-label{font-family:Inter,sans-serif;font-size:.875rem;color:#888}.hub-anchor{font-family:var(--font-heading);font-size:.875rem;font-weight:600;color:#94a3b8;text-decoration:none;transition:all .2s ease}.hub-anchor:hover{color:#cbd5e1}.header-divider{height:2px;background:linear-gradient(90deg,#94a3b8,rgba(148,163,184,.3),transparent);margin-top:2rem;border-radius:2px}.prose{font-family:var(--font-prose);color:#e0e0e0;font-size:1.2rem;line-height:1.9;max-width:70ch;margin:0 auto;font-weight:400;letter-spacing:.01em;font-optical-sizing:auto}.prose>p:first-of-type:first-letter,.prose .article-section-preamble>p:first-of-type:first-letter{float:left;font-family:var(--font-heading);font-size:4rem;font-weight:700;line-height:.8;padding-right:.15em;padding-top:.1em;color:#94a3b8}.prose h2{font-family:var(--font-heading);color:#fff;font-size:2rem;font-weight:700;margin-top:3.5rem;margin-bottom:1.5rem;padding-top:1.5rem;letter-spacing:-.02em;position:relative;border-top:1px solid rgba(148,163,184,.12)}.prose h2:before{content:"";position:absolute;top:-1px;left:0;width:60px;height:3px;background:linear-gradient(90deg,#94a3b8,transparent);border-radius:2px}.prose h2:first-child,.prose>h2:first-of-type{margin-top:0;padding-top:0;border-top:none}.prose h2:first-child:before,.prose>h2:first-of-type:before{display:none}.prose h3{font-family:var(--font-heading);color:#f0f0f0;font-size:1.5rem;font-weight:600;margin-top:2.5rem;margin-bottom:1rem;letter-spacing:-.01em}.prose>h3:first-child{margin-top:0}.prose h4{font-family:var(--font-heading);color:#e8e8e8;font-size:1.25rem;font-weight:600;margin-top:2rem;margin-bottom:.75rem}.prose p{margin-bottom:1.75em;line-height:1.9;text-align:left}.prose a{color:#94a3b8;text-decoration:none;border-bottom:1px solid rgba(148,163,184,.4);transition:all .2s ease}.prose a:hover{color:#cbd5e1;border-bottom-color:#cbd5e1}.prose strong{color:#fff;font-weight:600}.prose em{font-style:italic;color:#d0d0d0}.prose code{font-family:JetBrains Mono,monospace;background:#94a3b814;padding:.2em .5em;border-radius:4px;font-size:.85em;color:#cbd5e1;border:1px solid rgba(148,163,184,.15)}.prose pre{font-family:JetBrains Mono,monospace;background:#141414;padding:1.5em;border-radius:12px;overflow-x:auto;border:1px solid rgba(255,255,255,.08);margin:2rem 0;font-size:.875rem;line-height:1.7;box-shadow:0 4px 20px #0000004d;position:relative}.prose pre:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#94a3b8,#94a3b84d,#94a3b8);border-radius:12px 12px 0 0}.prose pre code{background:none;padding:0;color:#d4d4d4;border:none;font-size:inherit}.prose ul,.prose ol{margin:1.75em 0;padding-left:0}.prose ul{list-style:none}.prose ul li{position:relative;padding-left:1.5em;margin-bottom:.75em;line-height:1.8}.prose ul li:before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;background:#94a3b8;border-radius:2px;transform:rotate(45deg)}.prose ol{list-style:none;counter-reset:list-counter}.prose ol li{position:relative;padding-left:2.25em;margin-bottom:.75em;line-height:1.8;counter-increment:list-counter}.prose ol li:before{content:counter(list-counter);position:absolute;left:0;top:.15em;font-family:var(--font-heading);font-weight:700;font-size:.85em;color:#94a3b8;width:1.6em;height:1.6em;display:flex;align-items:center;justify-content:center;background:#94a3b81a;border-radius:50%}.prose ul ul,.prose ol ol,.prose ul ol,.prose ol ul{margin:.5em 0}.prose>p:first-of-type,.prose .article-section-preamble>p:first-of-type{font-weight:500}.prose h2+h3{margin-top:1.5rem}.prose blockquote{position:relative;border:none;border-left:3px solid var(--color-accent, #39FF14);padding:1.25rem 1.75rem;margin:2.5rem 0;background:linear-gradient(135deg,#39ff1408,#0003);border-radius:0 12px 12px 0;font-style:normal;font-size:1.05rem;color:var(--color-text-primary, #E6EDF3);overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}.prose blockquote:before{content:"";position:absolute;top:-30px;right:-30px;width:80px;height:80px;background:radial-gradient(circle,rgba(57,255,20,.08) 0%,transparent 70%);pointer-events:none}.prose blockquote p{margin-bottom:.5em}.prose blockquote p:last-child{margin-bottom:0}.prose img{max-width:100%;height:auto;border-radius:12px;margin:2rem 0;box-shadow:0 8px 30px #0006}.prose figure{margin:2.5rem 0;padding:0}.prose figure img{margin-bottom:.75rem}.prose figcaption{font-family:Inter,sans-serif;font-size:.85rem;color:#888;text-align:center;line-height:1.5;font-style:italic}.prose hr{border:none;height:1px;background:linear-gradient(90deg,transparent,#94a3b8,transparent);margin:3rem auto;max-width:200px}.prose .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:2rem 0;border-radius:12px}.prose .table-wrapper table{margin:0}.prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0;font-family:Inter,sans-serif;font-size:.95rem;border-radius:12px;box-shadow:0 4px 20px #0003;min-width:500px}.prose th{background:#94a3b814;padding:1rem 1.25rem;font-weight:600;color:#fff;text-align:left;font-family:var(--font-heading);border-bottom:2px solid rgba(148,163,184,.3)}.prose td{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.06);background:#14141480}.prose tr:last-child td{border-bottom:none}.prose tr:hover td{background:#94a3b80d}.prose section{margin-bottom:2rem}.prose section h2:first-child{margin-top:0}@media(max-width:768px){.prose{font-size:1.1rem;line-height:1.85}.prose>p:first-of-type:first-letter,.prose .article-section-preamble>p:first-of-type:first-letter{font-size:3rem}.prose h2{font-size:1.5rem;margin-top:2.5rem}.prose h3{font-size:1.25rem;margin-top:2rem}.prose blockquote{padding:1.25rem 1.5rem;margin:1.5rem 0}.prose blockquote:before{width:60px;height:60px;top:-20px;right:-20px}.prose pre{padding:1em;font-size:.8rem;border-radius:8px;margin:1.5rem 0}.prose ul li,.prose ol li{padding-left:1.25em}.prose ol li{padding-left:2em}}.article-toc{max-width:70ch;margin:0 auto 3rem;padding:1.5rem 2rem;border-radius:12px;background:#141414cc;border:1px solid rgba(255,255,255,.08)}.toc-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.06)}.toc-list{list-style:none;padding:0;margin:0;counter-reset:toc-counter}.toc-item{counter-increment:toc-counter}.toc-link{display:flex;align-items:center;gap:.75rem;font-family:Inter,sans-serif;font-size:.9rem;color:#888;text-decoration:none;transition:all .2s ease;border-left:2px solid transparent;padding:.5rem 0 .5rem 1rem}.toc-link:before{content:counter(toc-counter,decimal-leading-zero);font-family:JetBrains Mono,monospace;font-size:.75rem;color:#94a3b8;opacity:.5;min-width:1.5rem}.toc-link:hover{color:#fff;border-left-color:#94a3b84d}.toc-link.toc-active{color:#cbd5e1;border-left-color:#94a3b8;transform:translate(2px)}.toc-link.toc-active:before{opacity:1}.article-section{padding:2.5rem 0}.article-section-preamble,.article-section:first-child{padding-top:0}.article-section-alt{position:relative;margin-left:-2rem;margin-right:-2rem;padding-left:2rem;padding-right:2rem;border-radius:16px;background:#0f172a4d;border-left:3px solid rgba(148,163,184,.15)}.prose .article-section h2{margin-top:0;padding-top:0;border-top:none}.prose .article-section h2:before{display:none}@media(max-width:768px){.article-toc{margin-bottom:2rem;padding:1.25rem 1.5rem}.toc-link{font-size:.85rem;padding:.4rem 0 .4rem .75rem}.article-section-alt{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem;border-radius:12px}}
