:root[data-theme=dark]{--bg:#0a0f1e;--bg2:#111827;--bg3:#1a2235;--bg4:#1e293b;--text:#f1f5f9;--text2:#94a3b8;--text3:#64748b;--border:rgba(148,163,184,.1);--border2:rgba(0,135,255,.2);--card:rgba(0,135,255,.06)}:root[data-theme=light]{--bg:#f8fafc;--bg2:#ffffff;--bg3:#f1f5f9;--bg4:#e2e8f0;--text:#0f172a;--text2:#475569;--text3:#94a3b8;--border:rgba(15,23,42,.08);--border2:rgba(0,135,255,.2);--card:rgba(0,135,255,.05)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:Sora,-apple-system,sans-serif;min-height:100vh;overflow-x:hidden}#progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#0087ff,#10b981);width:0%;z-index:200;transition:width .1s}.navbar{background:#0a0f1ed9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}:root[data-theme=light] .navbar{background:#f8fafce6}.logo img{height:28px}:root[data-theme=light] .logo-dark{display:none}:root[data-theme=dark] .logo-light{display:none}.nav-links{display:flex;gap:20px;align-items:center}.nav-links a{color:var(--text2);text-decoration:none;font-size:13px;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--text)}.nav-cta{background:#0087ff;color:#fff!important;padding:8px 20px;border-radius:8px;font-weight:700!important;font-size:13px!important}.nav-cta:hover{opacity:.88}.theme-toggle{background:var(--bg3);border:1px solid var(--border);color:var(--text2);width:34px;height:34px;border-radius:8px;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.theme-toggle:hover{border-color:#0087ff}.hero{position:relative;padding:56px 24px 48px;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:var(--cat-gradient);opacity:.6;z-index:0}.hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cat-color),transparent);opacity:.4}.hero-inner{max-width:760px;margin:0 auto;position:relative;z-index:1}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text3);margin-bottom:24px;flex-wrap:wrap}.breadcrumb a{color:var(--text3);text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:var(--cat-color)}.breadcrumb-sep{opacity:.4}.cat-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;padding:4px 12px;border-radius:100px;letter-spacing:.8px;text-transform:uppercase;margin-bottom:20px}.hero h1{font-size:clamp(26px,4.5vw,44px);font-weight:800;letter-spacing:-1.5px;line-height:1.18;margin-bottom:20px;color:var(--text)}.hero-desc{font-size:17px;color:var(--text2);line-height:1.7;max-width:640px;margin-bottom:28px}.hero-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.meta-author{display:flex;align-items:center;gap:8px}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#0087ff,#10b981);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;flex-shrink:0}.author-name{font-size:13px;font-weight:600;color:var(--text)}.meta-sep{color:var(--text3);font-size:12px}.meta-date{font-size:13px;color:var(--text2)}.meta-read{font-size:13px;color:var(--text2);display:flex;align-items:center;gap:4px}.meta-read:before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--text3)}.layout{max-width:760px;margin:0 auto;padding:48px 24px 80px}.prose{font-size:17px;line-height:1.9;color:var(--text)}.prose h2{font-size:clamp(30px,5vw,42px);font-weight:800;letter-spacing:-.8px;line-height:1.2;margin-top:3.5em;margin-bottom:1.2em;padding-bottom:12px;border-bottom:2px solid var(--border2);color:var(--text)}.prose h3{font-size:clamp(22px,3.2vw,28px);font-weight:800;line-height:1.3;margin-top:2.5em;margin-bottom:1em;color:var(--text)}.prose h4{font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--text2);margin-top:2em;margin-bottom:.8em}.prose p{color:var(--text);margin-bottom:1.8em}.prose ul{list-style:none;padding:0;margin:0 0 1.8em}.prose ul li{padding-left:1.6em;position:relative;margin-bottom:.8em;color:var(--text);line-height:1.75}.prose ul li:before{content:"→";position:absolute;left:0;color:#0087ff;font-weight:800;font-size:.85em;top:.1em}.prose ol{padding-left:1.6em;margin:0 0 1.8em}.prose ol li{margin-bottom:.9em;color:var(--text);padding-left:.4em;line-height:1.75}.prose strong{font-weight:700;color:var(--text)}.prose em{font-style:italic;color:var(--text2)}.prose a{color:#0087ff;text-decoration:none;border-bottom:1px solid rgba(0,135,255,.35);transition:border-color .2s,color .2s}.prose a:hover{color:#3af;border-color:#3af}.prose blockquote{margin:2em 0;padding:18px 22px 18px 26px;border-left:4px solid #0087FF;background:var(--bg3);border-radius:0 12px 12px 0;color:var(--text2);font-style:italic;font-size:16px;line-height:1.7}.prose code{background:var(--bg3);border:1px solid var(--border);padding:2px 7px;border-radius:5px;font-size:13px;font-family:Courier New,monospace;color:#60a5fa;white-space:nowrap}.prose pre{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:22px 26px;margin:1.8em 0;overflow-x:auto}.prose pre code{background:none;border:none;padding:0;font-size:13px;white-space:pre;color:#94a3b8}.prose hr{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--border2),transparent);margin:3em 0}.callout{border-radius:14px;padding:18px 22px;margin:2em 0;font-size:15px;line-height:1.7}.callout strong{display:block;margin-bottom:6px;font-size:13px;text-transform:uppercase;letter-spacing:.7px}.callout-tip{background:#10b9811a;border:1px solid rgba(16,185,129,.25);color:var(--text)}.callout-tip strong{color:#10b981}.callout-warn{background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);color:var(--text)}.callout-warn strong{color:#f59e0b}.callout-info{background:#0087ff1a;border:1px solid rgba(0,135,255,.25);color:var(--text)}.callout-info strong{color:#0087ff}.callout-danger{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:var(--text)}.callout-danger strong{color:#ef4444}.related-links{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:24px;margin:2.5em 0}.related-links h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text3);margin-bottom:14px}.related-links ul{list-style:none;padding:0;margin:0}.related-links ul li{margin-bottom:10px}.related-links ul li:before{display:none}.related-links a{color:#0087ff;text-decoration:none;font-size:14px;font-weight:600;border-bottom:none;display:flex;align-items:center;gap:6px;transition:gap .2s}.related-links a:hover{gap:10px}.prose table{display:block;width:100%;border-collapse:collapse;margin:1.5em 0;font-size:14px;overflow-x:auto;border:1px solid var(--border);border-radius:12px}.prose thead{background:var(--bg3)}.prose th{padding:12px 16px;text-align:left;font-weight:700;color:var(--text);font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap}.prose td{padding:12px 16px;color:var(--text2);border-bottom:1px solid var(--border);vertical-align:top;font-size:14px}.prose tbody tr:last-child td{border-bottom:none}.prose tbody tr:hover td{background:var(--card);color:var(--text)}.prose img{max-width:100%;height:auto;display:block;border-radius:8px;margin:1.5em auto}.cta-block{margin:3em 0;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#0087ff18,#10b98110);border:1px solid rgba(0,135,255,.25);padding:32px;text-align:center}.cta-block .cta-icon{font-size:36px;margin-bottom:12px}.cta-block h3{font-size:20px;font-weight:800;margin-bottom:8px;letter-spacing:-.3px}.cta-block p{color:var(--text2);font-size:14px;margin-bottom:20px;line-height:1.6}.cta-block .cta-pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.cta-pill-item{background:var(--bg3);border:1px solid var(--border);font-size:12px;font-weight:600;padding:4px 12px;border-radius:100px;color:var(--text2)}.cta-block a.cta-btn{display:inline-block;background:linear-gradient(135deg,#0087ff,#10b981);color:#fff;padding:14px 32px;border-radius:12px;font-weight:800;font-size:15px;text-decoration:none;border-bottom:none;transition:opacity .2s,transform .15s;letter-spacing:-.2px}.cta-block a.cta-btn:hover{opacity:.9;transform:translateY(-1px);border-bottom:none}.share-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 24px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;margin:2em 0}.share-label{font-size:13px;font-weight:700;color:var(--text2);flex-shrink:0}.share-btn{display:inline-flex;align-items:center;gap:6px;background:var(--bg3);border:1px solid var(--border);color:var(--text2);padding:7px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s;font-family:inherit;border-bottom:none}.share-btn:hover{border-color:#0087ff;color:#0087ff}.geo-link-block{display:flex;align-items:center;gap:16px;background:var(--bg2);border:1px solid rgba(236,72,153,.3);border-radius:14px;padding:18px 22px;margin:2.5em 0}.geo-link-icon{font-size:28px;flex-shrink:0}.geo-link-label{font-size:13px;color:var(--text2);margin-bottom:6px}.geo-link-label strong{color:var(--text)}.geo-link-cta{color:#ec4899;font-size:14px;font-weight:700;text-decoration:none;transition:opacity .2s}.geo-link-cta:hover{opacity:.8}.bottom-nav{display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid var(--border);margin-top:2em}.bottom-nav a{color:var(--text2);text-decoration:none;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;transition:color .2s;border-bottom:none}.bottom-nav a:hover{color:#0087ff}footer{border-top:1px solid var(--border);padding:28px 24px;text-align:center;color:var(--text3);font-size:12px}footer a{color:var(--text3);text-decoration:none;margin:0 10px;transition:color .2s}footer a:hover{color:var(--text2)}@media(max-width:640px){.nav-links .hide-mob{display:none}.hero{padding:40px 20px 36px}.layout{padding:32px 20px 60px}.bottom-nav{flex-direction:column;gap:12px;align-items:flex-start}.prose blockquote{padding:12px 14px 12px 16px;font-size:15px}.prose th,.prose td{padding:8px 10px;font-size:13px}.prose pre{padding:16px}}
