/* =========================================================================
   NIKSUN — article / blog post template
   ========================================================================= */
.art-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--blue),var(--cyan));z-index:1001;transition:width .1s linear}

.art-head{padding:clamp(36px,5vw,60px) 0 0;position:relative}
.art-head::before{content:'';position:absolute;inset:0 0 auto 0;height:340px;background:radial-gradient(60% 100% at 50% 0,rgba(46,151,215,.10),transparent 70%);z-index:-1}
.art-wrap{max-width:760px;margin:0 auto;padding:0 28px}
.art-crumb{display:flex;align-items:center;gap:9px;font:500 12px/1 var(--mono);color:var(--muted);margin-bottom:24px}
.art-crumb a{color:var(--blue-action)}
.art-crumb span{opacity:.5}
.art-cat{display:inline-block;font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue-action);background:var(--paper-3);padding:8px 12px;border-radius:7px;margin-bottom:20px}
.art-title{font-size:clamp(30px,4.4vw,50px);font-weight:800;letter-spacing:-.03em;line-height:1.06;margin-bottom:20px}
.art-dek{font-size:clamp(17px,1.7vw,21px);color:var(--ink-soft);line-height:1.5;margin-bottom:28px}
.art-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid var(--line)}
.art-meta .av{width:46px;height:46px;border-radius:50%;background:linear-gradient(150deg,var(--cyan),var(--blue));display:grid;place-items:center;color:#fff;font:700 15px/1 var(--mono);flex:none}
.art-meta .who b{font-size:14.5px;font-weight:700;color:var(--ink);display:block}
.art-meta .who span{font:500 12px/1 var(--mono);color:var(--muted)}
.art-meta .share{margin-left:auto;display:flex;gap:8px}
.art-meta .share a{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-soft);font-size:13px;font-weight:700;transition:.2s;text-decoration:none}
.art-meta .share a:hover{border-color:var(--blue);color:var(--blue-action);background:var(--paper-2)}

.art-hero{max-width:1000px;margin:clamp(28px,4vw,44px) auto 0;padding:0 28px}
.art-hero .ph{height:clamp(240px,40vw,460px);border-radius:18px;box-shadow:0 40px 80px -50px rgba(10,37,64,.5)}

/* body prose */
.art-body{max-width:720px;margin:0 auto;padding:clamp(40px,5vw,60px) 28px 0}
.art-body>*{margin-bottom:26px}
.art-body p{font-size:18px;line-height:1.72;color:#243B52}
.art-body p a{color:var(--blue-action);font-weight:600;text-decoration:underline;text-decoration-color:rgba(14,129,206,.3);text-underline-offset:3px}
.art-body p a:hover{text-decoration-color:var(--blue-action)}
.art-body h2{font-size:clamp(24px,3vw,32px);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-top:48px;color:var(--ink)}
.art-body h3{font-size:21px;font-weight:700;letter-spacing:-.01em;margin-top:36px;color:var(--ink)}
.art-body h2+p,.art-body h3+p{margin-top:0}
.art-body ul,.art-body ol{padding-left:24px}
.art-body li{font-size:18px;line-height:1.65;color:#243B52;margin-bottom:10px}
.art-body li::marker{color:var(--blue)}
.art-body strong{color:var(--ink);font-weight:700}
.art-body figure{margin:40px 0}
.art-body figure .ph{height:300px;border-radius:14px}
.art-body figcaption{margin-top:12px;font:500 13px/1.5 var(--mono);color:var(--muted);text-align:center}
.art-pull{border-left:3px solid var(--blue);padding:6px 0 6px 26px;margin:40px 0}
.art-pull p{font-size:24px;line-height:1.4;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.art-callout{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:24px 26px;margin:40px 0}
.art-callout .k{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue-action);margin-bottom:10px}
.art-callout p{font-size:16px;line-height:1.6;color:var(--ink-soft);margin:0}
.art-callout p+p{margin-top:12px}
.art-divider{border:0;border-top:1px solid var(--line);margin:44px 0}
/* dark theme: prose body text was hardcoded to a dark slate (#243B52); flip it */
:root[data-theme="dark"] .art-body p,
:root[data-theme="dark"] .art-body li{color:#AFC6DA}

/* tags + author bio */
.art-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.art-tags span{font:500 12px/1 var(--mono);color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--line);padding:8px 12px;border-radius:999px}
.art-bio{display:flex;gap:18px;align-items:flex-start;margin-top:40px;padding:26px;background:var(--paper-2);border:1px solid var(--line);border-radius:18px}
.art-bio .av{width:56px;height:56px;border-radius:50%;background:linear-gradient(150deg,var(--cyan),var(--blue));display:grid;place-items:center;color:#fff;font:700 18px/1 var(--mono);flex:none}
.art-bio b{font-size:16px;font-weight:700}
.art-bio .role{font:500 12px/1 var(--mono);color:var(--blue-action);margin:3px 0 9px}
.art-bio p{font-size:14px;color:var(--ink-soft);line-height:1.55}

/* related + cta */
.art-related{border-top:1px solid var(--line-soft);margin-top:60px;padding:clamp(48px,6vw,80px) 0}
.art-cta{background:linear-gradient(140deg,#0a2540,#06182b 60%,#072034);color:#fff;text-align:center;position:relative;overflow:hidden;border-radius:22px;padding:clamp(36px,5vw,60px)}
.art-cta::before{content:'';position:absolute;inset:auto 50% -60% 50%;transform:translateX(-50%);width:620px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(46,151,215,.4),transparent 65%)}
.art-cta .in{position:relative}
.art-cta h2{font-size:clamp(26px,3.4vw,40px);font-weight:800;letter-spacing:-.02em;color:#fff;margin-bottom:14px;max-width:20ch;margin-left:auto;margin-right:auto}
.art-cta p{color:#AFC6DA;font-size:16px;max-width:50ch;margin:0 auto 26px}
.art-cta .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
