.read-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;background:#ffffff0a}.read-progress-fill{height:100%;width:0%;background:var(--accent-grad);box-shadow:0 0 12px color-mix(in srgb,var(--accent-2) 60%,transparent);transition:width 80ms linear}.back-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--text-mute);margin:40px 0 32px;transition:color var(--t);text-decoration:none}.back-link:hover{color:var(--accent-1)}.back-link svg{transition:transform var(--t)}.back-link:hover svg{transform:translate(-3px)}.article-hero{padding:0 0 64px;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.article-eyebrow{display:inline-flex;align-items:center;gap:14px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--text-mute);margin-bottom:28px}.article-eyebrow .sep{width:4px;height:4px;border-radius:50%;background:var(--border-2)}.article-eyebrow .pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;color:var(--accent-1)}.article-eyebrow .pill .dot{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.article-title{font-size:clamp(36px,5.5vw,72px);font-weight:900;line-height:1;letter-spacing:-.035em;margin:0 0 28px;max-width:900px}.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.article-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--text-dim);padding:6px 10px;border-radius:6px;background:#ffffff08;border:1px solid var(--border)}.article-tag:before{content:"#";color:var(--text-mute);margin-right:2px}.article-meta{display:flex;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--border);flex-wrap:wrap}.article-author{display:flex;align-items:center;gap:12px}.article-author-name{font-weight:700;font-size:14px;letter-spacing:-.01em}.article-author-sub{font-family:var(--font-mono);font-size:11px;color:var(--text-mute);letter-spacing:.05em}.article-share{display:flex;gap:8px;margin-left:auto}.article-share button{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:#ffffff05;font-family:var(--font-mono);font-size:11px;color:var(--text-dim);letter-spacing:.06em;cursor:pointer;transition:all var(--t)}.article-share button:hover{border-color:var(--accent-1);color:var(--text)}.article-share button.copied{color:var(--accent-1);border-color:color-mix(in srgb,var(--accent-1) 40%,transparent)}.article-body-wrap{padding-top:72px;padding-bottom:96px;display:grid;grid-template-columns:220px 1fr;gap:64px;align-items:start}@media(max-width:1080px){.article-body-wrap{grid-template-columns:1fr;gap:0}.article-toc{display:none!important}}.article-toc{position:sticky;top:88px;font-family:var(--font-mono)}.article-toc h4{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);margin:0 0 16px;font-weight:600}.article-toc ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--border)}.article-toc a{display:block;padding:8px 0 8px 16px;font-size:12px;color:var(--text-mute);letter-spacing:.02em;border-left:1px solid transparent;margin-left:-1px;line-height:1.45;transition:all var(--t);text-decoration:none}.article-toc a:hover{color:var(--text)}.article-toc a.active{color:var(--accent-1);border-left-color:var(--accent-1)}.article-toc .num{color:var(--text-mute);margin-right:8px;font-size:11px}.article-toc a.active .num{color:var(--accent-1)}.article-content{max-width:720px}.article-content h2{font-size:clamp(24px,3vw,32px);font-weight:800;letter-spacing:-.025em;line-height:1.15;margin:56px 0 20px;scroll-margin-top:88px;color:var(--text)}.article-content h2:before{content:"";display:block;width:28px;height:2px;background:var(--accent-grad);border-radius:2px;margin-bottom:12px}.article-content h3{font-size:18px;font-weight:700;letter-spacing:-.01em;margin:32px 0 8px;color:var(--text)}.article-content p{margin:0 0 20px;color:var(--text-dim);line-height:1.8;font-size:16px}.article-content p strong{color:var(--text);font-weight:700}.article-content ul,.article-content ol{color:var(--text-dim);line-height:1.8;margin:0 0 20px;padding-left:1.5rem;font-size:16px}.article-content li{margin-bottom:6px}.article-content li::marker{color:var(--accent-1)}.article-content a:not(.btn):not(.inline-cta){color:var(--accent-1);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent-1) 30%,transparent);transition:border-color .2s}.article-content a:not(.btn):not(.inline-cta):hover{border-bottom-color:var(--accent-1)}.article-content hr{border:none;background:linear-gradient(to right,transparent,var(--border-2),transparent);height:1px;margin:48px 0}.article-content blockquote{border-left:3px solid var(--accent-1);padding:12px 16px;margin:1.5rem 0;background:color-mix(in srgb,var(--accent-1) 5%,var(--surface));border-radius:0 8px 8px 0;color:var(--text-dim)}.article-content code{font-family:var(--font-mono);background:var(--surface-2);padding:2px 6px;border-radius:4px;font-size:.85em;color:var(--accent-2);border:1px solid var(--border)}.article-content img{max-width:100%;border-radius:10px;border:1px solid var(--border);margin:1.5rem 0}.article-content table{width:100%;border-collapse:separate;border-spacing:0;margin:24px 0;border-radius:var(--r-card);overflow:hidden;border:1px solid var(--border);font-size:15px}.article-content thead th{background:linear-gradient(180deg,var(--surface-2) 0%,var(--surface) 100%);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute);text-align:left;padding:14px 18px;font-weight:600;border-bottom:1px solid var(--border)}.article-content tbody td{padding:16px 18px;border-bottom:1px solid var(--border);color:var(--text-dim);vertical-align:middle}.article-content tbody tr:last-child td{border-bottom:none}.article-content tbody tr:hover td{background:color-mix(in srgb,var(--accent-1) 3%,transparent)}.article-cta{margin:56px 0 0;padding:40px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 8%,var(--surface)),color-mix(in srgb,var(--accent-1) 5%,var(--surface)));border:1px solid color-mix(in srgb,var(--accent-1) 25%,transparent);box-shadow:var(--accent-glow);position:relative;overflow:hidden}.article-cta:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.03) 1px,transparent 1px);background-size:24px 24px;mask-image:radial-gradient(ellipse 80% 80% at 80% 50%,#000 0%,transparent 70%);pointer-events:none}.article-cta-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-1);margin-bottom:14px;position:relative}.article-cta h3{font-size:clamp(22px,3vw,30px);font-weight:900;letter-spacing:-.02em;margin:0 0 8px;position:relative;color:var(--text)}.article-cta p{color:var(--text-dim);margin:0 0 24px;position:relative;font-size:15px}.article-cta-actions{display:flex;gap:12px;flex-wrap:wrap;position:relative}.related{padding:80px 0;border-top:1px solid var(--border)}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}@media(max-width:880px){.related-grid{grid-template-columns:1fr}}.related-card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);transition:all var(--t);text-decoration:none;min-height:220px}.related-card:hover{border-color:color-mix(in srgb,var(--accent-1) 40%,transparent);box-shadow:var(--accent-glow);transform:translateY(-2px)}.related-card-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--text-mute);margin-bottom:14px}.related-card h3{font-size:17px;font-weight:700;letter-spacing:-.01em;margin:0 0 10px;line-height:1.3;color:var(--text)}.related-card p{font-size:13px;color:var(--text-dim);margin:0 0 16px;line-height:1.55;flex:1}.related-card-link{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--accent-1);display:inline-flex;align-items:center;gap:8px;margin-top:auto}.related-card:hover .related-card-link svg{transform:translate(4px)}.related-card-link svg{transition:transform var(--t)}@media(max-width:720px){.article-hero{padding-bottom:48px}.article-body-wrap{padding:48px 0 64px}.article-content{font-size:15px}.article-share button .label{display:none}.article-cta{padding:28px}}
