/* Light theme: white canvas, indigo accent, Montserrat headings, Inter text, pill navigation, soft rounded cards.
   Loaded after site.css; tokens and overrides only. Built for reading: dark text on white, generous spacing. */
:root{--bg:#fff;--ink:#151826;--mut:#585d72;--line:#e5e8f1;--soft:#f5f6fc;--card:#fff;--dark:#12142a;
 --lnk:color-mix(in srgb,var(--pur) 82%,#000);--tint:color-mix(in srgb,var(--pur) 9%,#fff);--r:18px;
 --serif:Montserrat,Inter,system-ui,sans-serif;--shadow:0 1px 2px rgba(20,22,40,.04),0 8px 28px -12px rgba(20,22,40,.14);--shadow-h:0 2px 4px rgba(20,22,40,.05),0 18px 44px -16px color-mix(in srgb,var(--pur) 45%,transparent)}
html{color-scheme:light;background:#fff}
body{background:var(--bg);color:var(--ink);overflow-x:hidden;font-size:16px}
body:before{content:none}
a{color:var(--lnk)}a:hover{color:var(--ink)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);letter-spacing:-.02em;font-weight:700}
::selection{background:color-mix(in srgb,var(--pur) 25%,#fff)}
:focus-visible{outline:2px solid var(--pur);outline-offset:3px;border-radius:6px}

/* top bar + header */
.topbar{background:var(--soft);border-bottom:1px solid var(--line);color:var(--mut)}.topbar a{color:var(--mut)}.topbar a:hover{color:var(--ink)}
.mast{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:70}
.mast-in{display:flex;align-items:center;justify-content:space-between;height:78px;gap:18px;grid-template-columns:none}.mast.stuck .mast-in{height:62px}
.logo{display:block;text-align:left;flex:none;color:var(--ink)}.logo:hover{color:var(--ink)}
.logo-t{display:inline-flex;align-items:center;font:800 1.3rem/1 var(--serif);letter-spacing:-.02em;color:var(--ink)}
.logo-t i{font-style:normal;background:var(--ink);color:#fff;padding:7px 8px;margin-right:2px;border-radius:6px}
.logo.light .logo-t{font-size:1.4rem}
.navbar{position:static;border:0;background:transparent;display:flex;gap:2px;align-items:center;overflow-x:auto;scrollbar-width:none;padding:4px}
.navbar a{padding:9px 14px;border:0;border-radius:99px;font:600 .86rem var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);transition:background .2s,color .2s}
.navbar a:hover{background:var(--soft);color:var(--ink)}.navbar a.on{background:var(--tint);color:var(--lnk)}
.mast-r{display:flex;align-items:center;gap:10px;flex:none}
.msearch{background:var(--soft);border:1px solid var(--line);height:40px;max-width:170px;transition:max-width .3s,border-color .3s}.msearch:focus-within{max-width:230px;border-color:var(--pur);background:#fff}.msearch input{color:var(--ink)}.msearch input::placeholder{color:var(--mut)}
.ibtn{color:var(--ink)}.ibtn:hover{background:var(--soft)}
.cta{display:inline-flex;align-items:center;gap:12px;padding:5px 5px 5px 18px;border-radius:99px;background:var(--ink);color:#fff;font:600 .86rem var(--sans);text-decoration:none;transition:transform .25s,box-shadow .25s}
.cta b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--pur);transition:transform .3s}.cta:hover{color:#fff;box-shadow:0 10px 26px -10px rgba(20,22,40,.6)}.cta:hover b{transform:rotate(45deg)}
.live{display:none}
.drawer{background:#fff}.drawer a{color:var(--ink);border-color:var(--line);font-family:var(--serif);font-weight:600}
.ticker{display:block;background:var(--soft);border-bottom:1px solid var(--line)}.tk-t a{color:var(--ink)}.tk-t a:before{background:var(--pur)}.tk-l{color:#d11f3d}

/* hero */
.hero{position:relative;overflow:hidden;padding:72px 0 0;text-align:center;isolation:isolate;background:linear-gradient(180deg,var(--tint),#fff 78%)}
.rings{position:absolute;left:50%;top:-8%;width:min(1100px,150vw);aspect-ratio:1;transform:translateX(-50%);z-index:-1;pointer-events:none}
.rings i{position:absolute;inset:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--pur) 22%,transparent);animation:spin 70s linear infinite}
.rings i:nth-child(2){inset:13%;border-color:color-mix(in srgb,var(--pur) 16%,transparent);animation-duration:90s;animation-direction:reverse}.rings i:nth-child(3){inset:27%;border-color:color-mix(in srgb,var(--pur) 12%,transparent);animation-duration:110s}
.rings i:before{content:"";position:absolute;top:-5px;left:50%;width:10px;height:10px;border-radius:50%;background:var(--pur);box-shadow:0 0 18px 4px color-mix(in srgb,var(--pur) 45%,transparent)}
.rings:after{content:none}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-in{position:relative;display:flex;flex-direction:column;align-items:center}
.eyebrow{margin:0 0 20px;padding:7px 16px;border:1px solid var(--line);border-radius:99px;background:#fff;font:600 .74rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.hero h1{font-size:clamp(2.1rem,5vw,3.9rem);line-height:1.1;max-width:17em;font-weight:800;color:var(--ink)}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--pur),#8b6dff 55%,var(--pur));-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% auto;animation:shine 8s linear infinite}
@keyframes shine{to{background-position:200% 0}}
.hero-sub{max-width:40em;margin:22px 0 28px;color:var(--mut);font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.65}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.pill{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:99px;font:600 1rem var(--sans);text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s}
.pill.solid{background:var(--ink);color:#fff}.pill.solid i{width:9px;height:9px;border-radius:50%;background:#2fd48a;animation:pulse 2s infinite}.pill.solid:hover{color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(20,22,40,.55)}
.pill.ghost{border:1.5px solid var(--ink);color:var(--ink);background:#fff}.pill.ghost:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.wordmark{margin-top:48px;font:800 clamp(3rem,13vw,9.5rem)/1 var(--serif);letter-spacing:-.04em;background:linear-gradient(180deg,color-mix(in srgb,var(--pur) 85%,#fff) 0%,color-mix(in srgb,var(--pur) 22%,#fff) 70%,#fff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none;white-space:nowrap;margin-bottom:-.1em}
.marq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;overflow:hidden;background:#fff;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq-t{display:flex;gap:64px;width:max-content;animation:tick 45s linear infinite}.marq-t span{font:700 1.35rem var(--serif);color:#9094a8;white-space:nowrap;letter-spacing:-.01em}.marq:hover .marq-t{animation-play-state:paused}

/* section headings */
.sec-h,.cat-sec .sec-h{border:0;margin-bottom:24px}.cat-sec .sec-h:after{display:none}
.sec-h h2{font:800 clamp(1.6rem,3vw,2.25rem)/1.15 var(--serif);letter-spacing:-.025em;padding:0 0 0 16px;border-left:5px solid var(--c,var(--pur));color:var(--ink);background:none;-webkit-text-fill-color:var(--ink)}.sec-h h2 a{color:var(--ink)}
.more{color:var(--ink);border:1px solid var(--line);border-radius:99px;padding:9px 16px;background:#fff;transition:border-color .25s,background .25s}.more:hover{border-color:var(--pur);background:var(--tint);color:var(--ink)}
.rail-h{border-bottom:2px solid var(--ink);color:var(--ink);font-family:var(--serif)}
.cat-sec{margin-top:60px}

/* cards */
.chip{background:color-mix(in srgb,var(--c,var(--pur)) 13%,#fff);color:color-mix(in srgb,var(--c,var(--pur)) 70%,#000)!important;border:0;border-radius:99px;padding:5px 11px;font:700 .68rem var(--sans);letter-spacing:.03em;text-transform:none}.chip:hover{background:var(--c,var(--pur));color:#fff!important}
.meta{color:var(--mut)}.meta b{color:var(--ink)}
.c-hero{border-radius:var(--r);border:1px solid var(--line);background:#12142a}
.shade{background:linear-gradient(180deg,rgba(10,12,30,0) 30%,rgba(10,12,30,.88))}
.c-hero-txt .chip{background:#fff;color:var(--ink)!important}
.c-std{background:var(--card);border:1px solid var(--line);border-radius:var(--r);gap:0;overflow:hidden;position:relative;box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .3s}
.c-std .c-img{border-radius:0;aspect-ratio:16/10;background:var(--soft)}.c-std>div{padding:18px 20px 20px}.c-std h3{font-size:1.14rem;line-height:1.32;margin:12px 0 8px}.c-std h3 a{color:var(--ink)}.c-std p{color:var(--mut)}
.c-std:hover,.c-row:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--pur) 45%,#fff);box-shadow:var(--shadow-h)}
.c-row{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:12px;position:relative;align-items:center;box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .3s}.c-row:first-of-type{padding-top:12px}
.c-row .c-img{border-radius:12px;background:var(--soft)}.c-row h3{font-size:.98rem;line-height:1.32}.c-row h3 a{color:var(--ink)}
.c-row h3 a,.c-std h3 a{background-image:none}.c-std h3 a:hover,.c-row h3 a:hover{color:var(--lnk)}
.noimg{background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 40%,#12142a))}
.trio{border-color:var(--line)}.top-list{display:flex;flex-direction:column}

/* sidebar */
.rail .box{background:var(--soft);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.latest li,.most li{border-color:var(--line)}.latest a,.most a{color:var(--ink)}.latest a:hover,.most a:hover{color:var(--lnk)}.latest time,.most li:before{color:var(--lnk)}
.tagcloud a{background:#fff;color:var(--ink);border-color:var(--line)}.tagcloud a:hover{border-color:var(--pur);color:var(--lnk)}
.promo{background:linear-gradient(160deg,color-mix(in srgb,var(--pur) 90%,#000),#2a2a8c)!important;border:0!important;color:#eceeff}.promo h2{color:#fff}
.btn{background:var(--pur);color:#fff;border-radius:99px;padding:12px 24px;transition:transform .25s,box-shadow .25s}.btn:hover{background:var(--pur);color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px -10px var(--pur)}

/* inner page headers */
.page-h{background:linear-gradient(180deg,var(--tint),#fff);border-bottom:1px solid var(--line);padding:50px 0 26px}
.page-h h1{font:800 clamp(2rem,4.4vw,3.2rem)/1.1 var(--serif);border:0;padding:0;margin-top:14px;letter-spacing:-.03em;color:var(--ink)}.page-h .sub{color:var(--mut);margin-left:0;padding-left:0}
.crumbs,.crumbs a{color:var(--mut)}.crumbs a:hover{color:var(--lnk)}
.pager a{background:#fff;border-color:var(--line);color:var(--ink);border-radius:99px}.pager a:hover,.pager .on{background:var(--pur);border-color:var(--pur);color:#fff}
.bigsearch input{background:#fff;border-color:var(--line);color:var(--ink);border-radius:99px;padding:15px 22px}.bigsearch input:focus{outline:0;border-color:var(--pur)}

/* ===== article page: clean reading layout ===== */
.art-h{padding:34px 0 6px}.art-h .wrap{max-width:1112px}.art-h h1{max-width:880px}.standfirst{max-width:760px}.byline{max-width:740px}
.art-h .crumbs{margin-bottom:14px}
.art-h h1{font-weight:800;font-size:clamp(1.9rem,4.2vw,2.9rem);line-height:1.15;letter-spacing:-.03em;margin:14px 0 16px;color:var(--ink)}
.standfirst{font:400 1.22rem/1.6 var(--sans);color:var(--mut);margin:0 0 22px;max-width:none}
.byline{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.byline a{color:var(--ink)}.byline small{color:var(--mut)}
.av{background:linear-gradient(135deg,var(--pur),#8b6dff);color:#fff}
.art-cover{margin:26px auto 0;max-width:1064px}.art-cover img{border-radius:var(--r);border:0;box-shadow:var(--shadow);aspect-ratio:16/9}
.art-cover figcaption,.prose figcaption{color:var(--mut)}
.art-grid{grid-template-columns:minmax(0,740px) 260px;gap:64px;justify-content:center;margin-top:40px}
.art-main{max-width:740px}
.art-side{top:100px;gap:16px}.art-side .box{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:18px}.art-side h4{color:var(--mut)}
.toc-side ol{border-color:var(--line)}.toc-side a{color:var(--mut)}.toc-side a:hover,.toc-side a.on{color:var(--ink);border-color:var(--pur)}
.toc-m{background:var(--soft);border:1px solid var(--line);border-radius:14px}.toc-m a{color:var(--ink)}
.prose{font-size:1.125rem;line-height:1.78;color:#242838}.prose>p:first-child{font-size:1.2rem;color:var(--ink)}
.prose p,.prose li{margin:0 0 1.15em}
.prose strong,.prose b{color:var(--ink)}
.prose h2{font-size:1.65rem;line-height:1.25;margin:2.1em 0 .6em;padding-top:0;border-top:0;color:var(--ink)}.prose h2:before{display:none}
.prose h3{font-size:1.25rem;color:var(--ink);margin:1.7em 0 .5em}
.prose a{color:var(--lnk);font-weight:600;text-decoration-thickness:1.5px;text-underline-offset:3px}.prose a:hover{color:var(--ink)}
.prose ul li:before{background:var(--pur);border-radius:50%}
.prose ol>li{background:var(--soft);border:1px solid var(--line);border-radius:14px}.prose ol>li:before{background:var(--pur);color:#fff}
.table-wrap{border-color:var(--line);border-radius:14px;background:#fff}.prose th{background:var(--soft);color:var(--ink)}.prose td,.prose th{border-color:var(--line)}
.prose blockquote{border-color:var(--pur);color:var(--ink);font-family:var(--serif);font-style:normal;font-weight:500;background:var(--tint);border-radius:0 14px 14px 0;padding:14px 22px}
.callout{background:var(--tint);border:1px solid color-mix(in srgb,var(--pur) 20%,#fff);border-radius:14px;color:var(--ink)}.callout:before{background:var(--pur)}.callout-body{color:var(--ink)}
.callout-warn{background:#fff6e6;border-color:#f3d9a4}.callout-tip{background:#e9f8f0;border-color:#bfe8d3}.callout.end{background:var(--soft);border-color:var(--line)}.callout.end:before{background:var(--mut)}
.fig img{border-radius:14px;border:0;box-shadow:var(--shadow)}
.src-box{margin:2em 0 1.5em;padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:#fff}.src-box h2{font:800 .8rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:0 0 10px;display:flex;gap:8px;align-items:center}.src-box ul{margin:0;padding:0;list-style:none}.src-box li{padding:7px 0;border-top:1px solid var(--line);font-size:.97rem}.src-box li:first-child{border:0}.src-box a{font-weight:600;display:inline-flex;gap:6px;align-items:center}
.author{background:var(--soft);border:1px solid var(--line);border-radius:14px}.author b a{color:var(--ink)}
.share a{background:#fff;border-color:var(--line);color:var(--ink)}.share a:hover{border-color:var(--pur);color:var(--lnk)}
.related{background:var(--soft);border-color:var(--line)}
.progress{background:linear-gradient(90deg,var(--pur),#8b6dff)}
.static h1{font-weight:800;letter-spacing:-.03em}.big404{background:linear-gradient(180deg,var(--pur),#cfd2ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.empty,.empty p{color:var(--mut)}

/* footer */
.foot{background:var(--soft);color:var(--mut);border-top:1px solid var(--line);margin-top:80px}
.foot h4{color:var(--ink)}.foot a{color:var(--mut)}.foot a:hover{color:var(--lnk)}.foot .logo-t{color:var(--ink)}.logo.light .logo-t i{background:var(--ink);color:#fff}
.trust li{color:var(--ink)}.trust svg{color:var(--lnk)}.f-disc{border-color:var(--line);color:var(--mut)}.f-disc b{color:var(--ink)}.f-brand p{color:var(--mut)}

@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero-in>*{animation:rise .8s cubic-bezier(.2,.7,.2,1) backwards}.hero-in>*:nth-child(2){animation-delay:.08s}.hero-in>*:nth-child(3){animation-delay:.16s}.hero-in>*:nth-child(4){animation-delay:.24s}.hero-in>*:nth-child(5){animation-delay:.32s}
/* reveal on scroll (only when JS runs) */
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

@media(max-width:1060px){.navbar{display:none}.mast-in{height:66px}.cta span{display:none}.cta{padding:5px}.msearch{display:none}.s-ico{display:grid}#burger{display:grid}.wordmark{margin-top:36px}.art-grid{grid-template-columns:minmax(0,1fr);gap:0}}
@media(max-width:560px){.hero{padding-top:48px}.pill{padding:12px 20px;font-size:.92rem}.marq-t span{font-size:1.1rem}.marq-t{gap:40px}.prose{font-size:1.06rem}.standfirst{font-size:1.08rem}.art-h h1{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}.marq-t,.rings i,.hero h1 em,.hero-in>*{animation:none!important}}
