:root{--ink:#0F1115;--mut:#5B606B;--soft:#8B8F98;--line:#ECEDEF;--bg:#FFFFFF;--card:#F6F6F3;--yel:#F2B705;--hdr:rgba(255,255,255,.88);--tagbg:12%;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--ink:#F2F3F5;--mut:#A9AEB8;--soft:#7D828C;--line:#24272D;--bg:#0E0F12;--card:#17191D;--hdr:rgba(14,15,18,.85);--tagbg:22%;color-scheme:dark}}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:3px solid var(--yel);outline-offset:2px;border-radius:6px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.narrow{max-width:720px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--yel);color:#0F1115;padding:8px 12px;border-radius:8px}

/* header */
header{position:sticky;top:0;background:var(--hdr);backdrop-filter:saturate(1.6) blur(12px);-webkit-backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid var(--line);z-index:20}
header .wrap{display:flex;align-items:center;gap:18px;height:60px}
.logo{font-weight:900;font-size:23px;letter-spacing:-1px;white-space:nowrap}.logo b{color:var(--yel)}.logo span{font-weight:600;color:var(--soft);letter-spacing:-.3px}
nav{display:flex;gap:4px;margin-left:auto;align-items:center}
nav a{font-size:14px;font-weight:650;color:var(--mut);padding:8px 12px;border-radius:99px}
nav a:hover,nav a[aria-current]{color:var(--ink);background:var(--card)}
nav .ig{background:var(--ink);color:var(--bg)}nav .ig:hover{background:var(--ink);color:var(--bg);opacity:.85}
.ico{width:18px;height:18px;vertical-align:-3px}
@media (max-width:560px){nav .hide-s{display:none}}
#bar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--yel);z-index:30}

/* tags */
.tag{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:750;letter-spacing:1.6px;text-transform:uppercase;color:var(--c);background:color-mix(in srgb,var(--c) var(--tagbg),transparent);padding:5px 11px;border-radius:99px;white-space:nowrap}
.tag i{width:7px;height:7px;border-radius:50%;background:var(--c)}
@media (prefers-color-scheme:dark){.tag{color:color-mix(in srgb,var(--c) 55%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 40%,#3a3d44)}.tag i{background:color-mix(in srgb,var(--c) 70%,white)}}
.rt{font-size:13px;font-weight:600;color:var(--soft)}

/* home hero */
.top{padding:40px 0 8px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.kick{font-size:12.5px;font-weight:800;letter-spacing:3px;color:var(--soft);text-transform:uppercase}
.top h1{font-size:clamp(40px,8vw,72px);font-weight:900;letter-spacing:-.05em;line-height:.95;margin-top:10px}
.top h1 b{color:var(--yel)}
.top p{font-size:17px;color:var(--mut);margin-top:12px;max-width:560px}
.note{display:inline-flex;font-weight:750;background:var(--card);padding:10px 16px;border-radius:99px;font-size:15px}

/* chips */
.chips{display:flex;gap:8px;overflow-x:auto;padding:22px 0 6px;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,#000 92%,transparent)}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;font-size:14px;font-weight:650;padding:8px 15px;border-radius:99px;border:1px solid var(--line);color:var(--mut)}
.chip:hover{color:var(--ink);border-color:var(--soft)}
.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* images */
.im{position:relative;overflow:hidden;background:var(--card);border-radius:18px}
.im img{width:100%;height:100%;object-fit:cover}
.im.contain .bg{position:absolute;inset:-30px;background:center/cover;filter:blur(24px) brightness(.95);transform:scale(1.1)}
.im.contain img{position:relative;object-fit:contain}
.ph{display:grid;place-items:center;background:color-mix(in srgb,var(--c) 14%,var(--card));color:var(--c);font-weight:900;font-size:40px;letter-spacing:-2px}

/* lead */
.lead{display:grid;grid-template-columns:1.25fr 1fr;gap:30px;align-items:center;padding:22px 0 30px;border-bottom:1px solid var(--line)}
.lead .im{aspect-ratio:4/3}
.lead h2{font-size:clamp(28px,4.2vw,44px);font-weight:900;letter-spacing:-.04em;line-height:1.04;margin:14px 0 12px}
.lead p{font-size:18px;color:var(--mut)}
.statline{display:flex;align-items:baseline;gap:12px;margin-top:18px;padding:14px 18px;background:var(--card);border-radius:14px}
.statline b{font-size:30px;font-weight:900;letter-spacing:-.04em;white-space:nowrap;color:var(--c)}
@media (prefers-color-scheme:dark){.statline b{color:color-mix(in srgb,var(--c) 60%,white)}}
.statline span{font-size:14px;color:var(--mut);font-weight:600;line-height:1.35}
.go{display:inline-block;margin-top:16px;font-weight:750;font-size:15px}
.st:hover h2,.st:hover h3,.st:hover h4{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}

/* grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding:30px 0;border-bottom:1px solid var(--line)}
.grid .im{aspect-ratio:3/2}
.grid h3{font-size:19px;font-weight:800;letter-spacing:-.025em;line-height:1.2;margin:12px 0 6px}
.grid p{font-size:14.5px;color:var(--mut);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.grid .tag{margin-top:14px}

/* list */
.sec{display:flex;align-items:baseline;justify-content:space-between;margin:40px 0 4px}
.sec h2{font-size:13px;font-weight:800;letter-spacing:3px;color:var(--soft);text-transform:uppercase}
.sec a{font-size:14px;font-weight:700;color:var(--mut)}
.list{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.row{display:grid;grid-template-columns:1fr 104px;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
.row .im{aspect-ratio:1;border-radius:12px}
.row h4{font-size:17.5px;font-weight:800;letter-spacing:-.02em;line-height:1.25;margin-top:8px}
.row p{font-size:14px;color:var(--mut);margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.n{font-weight:900;color:var(--soft);margin-right:6px}

/* cta */
.cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background:#0F1115;color:#fff;border-radius:24px;padding:30px 32px;margin:46px 0}
.cta h3{font-size:clamp(24px,4vw,32px);font-weight:900;letter-spacing:-.04em}.cta h3 b{color:var(--yel)}
.cta p{color:#B5B9C2;margin-top:6px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--yel);color:#0F1115;font-weight:800;padding:13px 22px;border-radius:99px;white-space:nowrap}
@media (prefers-color-scheme:dark){.cta{background:var(--card);border:1px solid var(--line)}}

/* archive */
.days{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:14px}
.day{display:block;border:1px solid var(--line);border-radius:18px;padding:18px}
.day:hover{border-color:var(--soft)}
.day small{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}
.day b{display:block;font-size:20px;letter-spacing:-.03em;margin-top:4px}
.day span{display:block;color:var(--mut);font-size:14px;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* search */
.sbox{display:flex;align-items:center;gap:10px;border:2px solid var(--ink);border-radius:16px;padding:14px 16px;margin-top:22px}
.sbox input{flex:1;font:600 19px Inter,system-ui,sans-serif;border:0;outline:0;background:none;color:var(--ink)}
#res .row{grid-template-columns:1fr}
.empty{color:var(--mut);padding:30px 0}

/* article */
.art{padding:26px 0 10px}
.crumb{display:inline-flex;gap:6px;font-size:14px;font-weight:700;color:var(--mut)}
.crumb:hover{color:var(--ink)}
.art h1{font-size:clamp(32px,6vw,50px);font-weight:900;letter-spacing:-.045em;line-height:1.03;margin-top:16px}
.dek{font-size:20px;color:var(--mut);line-height:1.45;margin-top:14px}
.meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.meta .by{font-size:14px;font-weight:600;color:var(--soft)}.meta .by b{color:var(--ink)}
.share{display:flex;gap:8px}
.share a,.share button{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;padding:8px 13px;border-radius:99px;background:var(--card)}
.share a:hover,.share button:hover{background:var(--line)}
.share .wa{background:#25D366;color:#fff}.share .wa:hover{background:#1fb457}
figure.hero{margin:24px 0 8px}
figure.hero .im{aspect-ratio:16/9;border-radius:20px}
figcaption{font-size:12.5px;color:var(--soft);margin-top:8px}
.short{background:var(--card);border-radius:20px;padding:22px 24px;margin:22px 0 6px}
.short .bt{font-size:12px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--soft)}
.short .big{display:flex;align-items:baseline;gap:14px;margin:10px 0 6px}
.short .big b{font-size:44px;font-weight:900;letter-spacing:-.05em;white-space:nowrap;color:var(--c)}
@media (prefers-color-scheme:dark){.short .big b{color:color-mix(in srgb,var(--c) 60%,white)}}
.short .big span{color:var(--mut);font-weight:600;line-height:1.35}
.short ul{list-style:none;margin-top:8px}
.short li{display:flex;gap:12px;padding:6px 0;font-weight:600;font-size:16px}
.short li i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--c);margin-top:9px}
.body h2{font-size:24px;font-weight:850;letter-spacing:-.03em;margin:34px 0 10px}
.body p{font-size:18.5px;line-height:1.72;margin:0 0 16px;color:color-mix(in srgb,var(--ink) 88%,var(--bg))}
.src{border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin-top:26px}
.src .bt{font-size:12px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--soft);margin-bottom:6px}
.src a{display:flex;justify-content:space-between;padding:9px 0;font-weight:650;border-bottom:1px solid var(--line)}
.src a:last-child{border:0}.src a:hover{color:var(--mut)}
.next{display:grid;grid-template-columns:1fr 120px;gap:18px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:16px 16px 16px 22px;margin-top:34px}
.next:hover{border-color:var(--soft)}
.next small{font-size:12px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--soft)}
.next h3{font-size:20px;font-weight:850;letter-spacing:-.03em;line-height:1.2;margin-top:6px}
.next .im{aspect-ratio:1;border-radius:14px}

footer{border-top:1px solid var(--line);margin-top:40px;padding:28px 0 46px;color:var(--soft);font-size:13.5px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
footer nav a{padding:0 0 0 14px;font-size:13.5px;color:var(--mut)}
footer nav a:hover{background:none;color:var(--ink)}
footer p{max-width:520px}
.hidden{display:none!important}

@media (max-width:900px){.grid{grid-template-columns:1fr 1fr}.list{grid-template-columns:1fr}}
@media (max-width:640px){
 .lead{grid-template-columns:1fr;gap:16px;padding-top:14px}
 .lead .im{aspect-ratio:16/10}
 .grid{grid-template-columns:1fr;gap:0;padding:6px 0}
 .grid .st{display:grid;grid-template-columns:1fr 104px;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
 .grid .st:last-child{border:0}
 .grid .st .im{grid-column:2;grid-row:1;aspect-ratio:1;border-radius:12px}
 .grid .st .txt{grid-column:1;grid-row:1}
 .grid .tag{margin-top:0}.grid h3{font-size:17.5px;margin-top:8px}
 .grid p{-webkit-line-clamp:2;font-size:14px}
 .row{grid-template-columns:1fr 88px}.next{grid-template-columns:1fr 88px}
 .meta{flex-direction:column;align-items:flex-start}
 .body p{font-size:18px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{header,.share,.next,.cta,footer,#bar{display:none}}

/* ===== v3: front page ===== */
.ticker{display:flex;align-items:stretch;background:#0F1115;color:#fff;font-size:13.5px;font-weight:650;overflow:hidden;height:38px}
.tk-l{flex:none;display:flex;align-items:center;gap:8px;background:var(--yel);color:#0F1115;padding:0 14px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;font-size:12px}
.tk-l::before{content:"";width:7px;height:7px;border-radius:50%;background:#E0262F;animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.25}}
.tk-w{flex:1;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.tk-t{display:flex;width:max-content;animation:tick 160s linear infinite;height:100%}
.tk-w:hover .tk-t{animation-play-state:paused}
.tk-t a{display:flex;align-items:center;gap:9px;padding:0 22px;white-space:nowrap;color:#E9EAEC}
.tk-t a:hover{color:var(--yel)}
.tk-t i{width:7px;height:7px;border-radius:50%;flex:none}
@keyframes tick{to{transform:translateX(-50%)}}
.mkts{border-bottom:1px solid var(--line);background:var(--card)}
.mkts .wrap{display:flex;align-items:center;gap:18px;overflow-x:auto;scrollbar-width:none;height:46px}
.mk-row{display:flex;gap:26px}
.mk{display:flex;align-items:baseline;gap:8px;white-space:nowrap;font-size:13.5px}
.mk span{color:var(--mut);font-weight:600}.mk b{font-weight:800}.mk em{font-style:normal;font-weight:800;font-size:12.5px}
.mk em.up{color:#0E9F5B}.mk em.dn{color:#E0262F}
.mk-as{margin-left:auto;font-size:11.5px;color:var(--soft);white-space:nowrap}

.mast{padding:34px 0 22px;border-bottom:3px solid var(--ink);margin-bottom:26px}
.mh-k{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12.5px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}
.mh-note{color:var(--ink);letter-spacing:.5px;text-transform:none;font-size:14px}
.mast h1{font-size:clamp(44px,9.5vw,104px);font-weight:900;letter-spacing:-.055em;line-height:.9;margin-top:14px}
.mast h1 b{color:var(--yel)}
.mast p{font-size:18px;color:var(--mut);margin-top:14px;max-width:620px}

.hero2{position:relative;display:block;border-radius:26px;overflow:hidden;aspect-ratio:21/9;background:#111;color:#fff}
.hero2 .im{position:absolute;inset:0;border-radius:0}
.hero2 .im img{transition:transform .8s}
.hero2:hover .im img{transform:scale(1.03)}
.hero2 .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 25%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.88))}
.hero-txt{position:absolute;left:0;right:0;bottom:0;padding:34px 38px;max-width:900px}
.hero2 h2{font-size:clamp(28px,4.4vw,54px);font-weight:900;letter-spacing:-.045em;line-height:1.02;margin:12px 0 10px;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.hero2 p{font-size:18px;color:rgba(255,255,255,.85);max-width:680px}
.hero-stat{display:inline-flex;align-items:baseline;gap:12px;margin-top:16px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:10px 16px;border-radius:14px}
.hero-stat b{font-size:28px;font-weight:900;letter-spacing:-.04em;color:var(--yel)}.hero-stat span{font-size:14px;font-weight:600;color:rgba(255,255,255,.85)}
.tag.lt{background:rgba(255,255,255,.16);color:#fff;box-shadow:none}.tag.lt i{background:var(--c)}
.rt.lt{color:rgba(255,255,255,.75);margin-left:8px}
.hero2:hover h2{text-decoration:none}

.top4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:26px 0 30px}
.c4 .im{aspect-ratio:4/3}
.c4 .txt{position:relative}
.c4 .num{position:absolute;right:0;top:12px;font-weight:900;font-size:13px;color:var(--soft)}
.c4 .tag{margin-top:14px}
.c4 h3{font-size:19.5px;font-weight:850;letter-spacing:-.03em;line-height:1.18;margin:10px 0 6px}
.c4 p{font-size:14.5px;color:var(--mut);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.brief-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--yel);color:#0F1115;border-radius:24px;padding:26px 30px;margin:6px 0 10px;position:relative;overflow:hidden}
.brief-cta::after{content:"60";position:absolute;right:120px;top:-30px;font-size:180px;font-weight:900;letter-spacing:-.06em;opacity:.08;line-height:1}
.bc-k{font-size:12px;font-weight:900;letter-spacing:2.5px;text-transform:uppercase;opacity:.7}
.bc-h{font-size:clamp(26px,4vw,40px);font-weight:900;letter-spacing:-.045em;line-height:1;margin-top:6px}.bc-h b{color:#fff}
.bc-p{font-size:15.5px;font-weight:600;margin-top:8px;opacity:.8}
.bc-b{flex:none;background:#0F1115;color:#fff;font-weight:850;padding:14px 22px;border-radius:99px;position:relative;z-index:1}
.brief-cta:hover .bc-b{background:#000}

.jump{position:sticky;top:60px;z-index:10;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:14px 0;margin-top:20px;background:var(--bg);border-bottom:1px solid var(--line)}
.jump::-webkit-scrollbar{display:none}
.jump .chip small{font-weight:800;color:var(--soft);margin-left:3px}
.secblock{padding:34px 0 8px;scroll-margin-top:130px}
.sh{display:flex;align-items:baseline;justify-content:space-between;border-top:3px solid var(--ink);padding-top:12px;margin-bottom:18px}
.sh h2{font-size:clamp(26px,3.6vw,36px);font-weight:900;letter-spacing:-.045em}
.sh span{font-size:13px;font-weight:700;color:var(--soft)}
.sgrid{display:grid;grid-template-columns:1fr 1.25fr;gap:34px;align-items:start}
.sgrid.solo{grid-template-columns:1fr}
.sgrid.solo .sf{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.sf .im{aspect-ratio:16/10}
.sf .tag{margin-top:14px}
.sgrid.solo .sf .tag{margin-top:0}
.sf h3{font-size:24px;font-weight:900;letter-spacing:-.035em;line-height:1.12;margin:10px 0 8px}
.sf p{color:var(--mut);font-size:15.5px}
.srows .row:first-child{padding-top:0}
.srows .row:last-child{border:0}

.nums{display:grid;grid-auto-flow:column;grid-auto-columns:220px;gap:14px;overflow-x:auto;padding:8px 0 16px;scrollbar-width:thin;scroll-snap-type:x mandatory}
.nm{scroll-snap-align:start;display:flex;flex-direction:column;background:var(--card);border-radius:20px;padding:20px;min-height:190px}
.nm b{font-size:40px;font-weight:900;letter-spacing:-.05em;line-height:1;color:var(--c)}
@media (prefers-color-scheme:dark){.nm b{color:color-mix(in srgb,var(--c) 60%,white)}}
.nm span{font-size:14.5px;font-weight:600;color:var(--mut);margin-top:10px;line-height:1.35}
.nm em{margin-top:auto;padding-top:12px;font-style:normal;font-size:12.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--soft)}
.nm:hover{outline:2px solid var(--c)}

@media (max-width:1000px){.top4{grid-template-columns:1fr 1fr}.sgrid{grid-template-columns:1fr}.sgrid.solo .sf{grid-template-columns:1fr}}
@media (max-width:640px){
 .ticker{height:34px;font-size:13px}
 .mast{padding:24px 0 16px;margin-bottom:16px}.mast p{font-size:16px}
 .hero2{aspect-ratio:4/5;border-radius:20px;margin:0 -4px}
 .hero-txt{padding:22px 20px}
 .hero2 p{font-size:15.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .hero-stat b{font-size:22px}
 .top4{grid-template-columns:1fr;gap:0;padding:10px 0 20px}
 .top4 .c4{display:grid;grid-template-columns:1fr 104px;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
 .top4 .c4 .im{grid-column:2;grid-row:1;aspect-ratio:1;border-radius:12px}
 .top4 .c4 .txt{grid-column:1;grid-row:1}.c4 .tag{margin-top:0}.c4 .num{top:2px}
 .c4 h3{font-size:17.5px;margin-top:8px}.c4 p{-webkit-line-clamp:2;font-size:14px}
 .brief-cta{flex-direction:column;align-items:flex-start;padding:22px}
 .brief-cta::after{right:-10px;top:auto;bottom:-40px}
 .jump{top:60px}
 .sf h3{font-size:21px}
 .nums{grid-auto-columns:170px}.nm{min-height:170px}.nm b{font-size:32px}
}
@media (prefers-reduced-motion:reduce){.tk-t{animation:none}.tk-w{overflow-x:auto}}

/* ===== 60-second swipe mode ===== */
body.bfmode{background:#000}
body.bfmode header,body.bfmode footer,body.bfmode .skip{display:none}
.bf-wrap{height:100vh;height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;max-width:520px;margin:0 auto;background:#0E0F12;color:#fff;position:relative;scrollbar-width:none;overscroll-behavior:contain}
.bf-wrap::-webkit-scrollbar{display:none}
.bf{height:100vh;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;position:relative}
.bf-img{flex:0 0 46%;position:relative;overflow:hidden;background:#1a1c20}
.bf-img img{width:100%;height:100%;object-fit:cover}
.bf-img.contain img{object-fit:contain;position:relative;z-index:1}
.bf-img.contain{background:var(--bgimg) center/cover}.bf-img.contain::before{content:"";position:absolute;inset:0;backdrop-filter:blur(26px) brightness(.7);-webkit-backdrop-filter:blur(26px) brightness(.7)}.bf-img::after{z-index:2}
.bf-img::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(transparent,#0E0F12)}
.bf-ph{width:100%;height:100%;display:grid;place-items:center;font-size:140px;font-weight:900;color:var(--c);background:color-mix(in srgb,var(--c) 22%,#0E0F12)}
.bf-body{flex:1;display:flex;flex-direction:column;padding:6px 24px calc(26px + env(safe-area-inset-bottom));position:relative}
.bf-meta{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;color:#8B8F98}
.bf .tag{color:color-mix(in srgb,var(--c) 55%,white);background:color-mix(in srgb,var(--c) 25%,transparent)}
.bf h2{font-size:clamp(26px,7.4vw,34px);font-weight:900;letter-spacing:-.04em;line-height:1.06;margin-top:14px}
.bf p{font-size:16.5px;line-height:1.5;color:#B9BDC6;margin-top:12px}
.bf-stat{display:flex;align-items:baseline;gap:12px;margin-top:16px;background:#17191D;border-radius:14px;padding:12px 16px}
.bf-stat b{font-size:28px;font-weight:900;letter-spacing:-.04em;color:color-mix(in srgb,var(--c) 55%,white);white-space:nowrap}
.bf-stat span{font-size:13.5px;color:#A9AEB8;font-weight:600;line-height:1.3}
.bf-go{margin-top:auto;display:inline-flex;align-self:flex-start;font-weight:800;font-size:15px;color:var(--yel);padding-top:14px}
.bf.end{justify-content:center;text-align:left}
.bf.end .bf-body{flex:0;padding-top:0}
.bf-done{font-size:64px;font-weight:900;letter-spacing:-3px}.bf-done b{color:var(--yel)}
.bf.end .btn{margin-top:22px;align-self:flex-start}
.bf-top{position:sticky;top:0;z-index:5;height:0}
.bf-top a{position:absolute;left:14px;top:calc(14px + env(safe-area-inset-top));width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);font-size:15px;color:#fff}
.bf-bar{position:absolute;left:62px;right:66px;top:calc(31px + env(safe-area-inset-top));height:3px;border-radius:3px;background:rgba(255,255,255,.25);overflow:hidden}
.bf-bar i{display:block;height:100%;width:0;background:var(--yel);transition:width .25s}
.bf-top span{position:absolute;right:14px;top:calc(22px + env(safe-area-inset-top));font-size:12.5px;font-weight:800;background:rgba(0,0,0,.45);padding:4px 9px;border-radius:99px}
.bf-hint{position:fixed;left:auto;right:max(18px,calc(50vw - 242px));bottom:calc(22px + env(safe-area-inset-bottom));background:rgba(255,255,255,.12);backdrop-filter:blur(8px);color:#fff;font-weight:800;font-size:13px;padding:8px 14px;border-radius:99px;animation:bob 1.6s ease-in-out infinite;pointer-events:none;transition:opacity .4s}
.bf-hint.gone{opacity:0}
@keyframes bob{50%{transform:translateY(-6px)}}
@media (min-width:521px){.bf-wrap{border-left:1px solid #222;border-right:1px solid #222}}
nav .n60{color:var(--ink);font-weight:800}
@media (max-width:640px){
 .tag{font-size:9.5px;letter-spacing:1.2px;padding:3px 8px;gap:5px}
 .tag i{width:5px;height:5px}
 .c4 .num,.n{font-size:11px}
 .c4 h3,.row h4{margin-top:6px}
}

/* ===== mode cards on home ===== */
.modes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 6px}
.mode{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:20px;border:1px solid var(--line)}
.mode .me{font-size:34px;line-height:1}
.mode b{display:block;font-size:18px;letter-spacing:-.02em}.mode small{display:block;color:var(--mut);font-size:13.5px;margin-top:2px}
.mode .mg{margin-left:auto;font-weight:800;font-size:20px}
.mode.good{background:linear-gradient(120deg,#FFF6D6,#FFE3EC);border-color:#FFE08A;color:#0F1115}
.mode.good small{color:#6b5a2a}
.mode.paper{background:var(--card)}
.mode:hover{transform:translateY(-1px)}
nav .ngood{background:linear-gradient(120deg,#FFE066,#FFB4C8);color:#0F1115}
nav .ngood:hover{background:linear-gradient(120deg,#FFE066,#FFB4C8);color:#0F1115;opacity:.9}
@media (max-width:640px){.modes{grid-template-columns:1fr}}

/* ===== good news page ===== */
body.goodmode{background:#FFFBF0;color-scheme:light;--bg:#FFFBF0;--ink:#1E1A12;--mut:#6B6150;--soft:#9A8F7A;--line:#F1E7CF;--card:#FFF3D6;--hdr:rgba(255,251,240,.9)}
body.goodmode{color:var(--ink)}
.gwrap{background:radial-gradient(120% 60% at 50% 0%,#FFF1BF 0%,#FFFBF0 55%)}
.ghero{padding:44px 0 24px;text-align:center}
.ghero h1{font-size:clamp(46px,9vw,96px);font-weight:900;letter-spacing:-.055em;line-height:.95;margin-top:10px}
.ghero h1 span{color:#F2B705}
.ghero p{font-size:18px;color:var(--mut);margin-top:14px}
.gback{display:inline-block;margin-top:16px;font-weight:700;font-size:14px;color:var(--mut)}
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:10px 0 20px}
.gcard{display:flex;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 10px 30px -12px rgba(120,90,0,.25);transition:transform .2s}
.gcard:hover{transform:translateY(-3px)}
.gcard .im{aspect-ratio:16/10;border-radius:0}
.gemo{aspect-ratio:16/10;display:grid;place-items:center;font-size:84px;background:linear-gradient(135deg,#FFE7A3,#FFC9D6 60%,#C8F2D4)}
.gtxt{padding:18px 20px 22px}
.gtag{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:#15803D;background:#DCFCE7;padding:5px 10px;border-radius:99px}
.gcard h3{font-size:21px;font-weight:850;letter-spacing:-.03em;line-height:1.18;margin:12px 0 8px}
.gcard p{font-size:15px;color:var(--mut)}
.gstat{margin-top:12px;font-size:13.5px;color:var(--mut);font-weight:600}.gstat b{font-size:20px;font-weight:900;color:#15803D;letter-spacing:-.03em}
@media (max-width:900px){.ggrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ggrid{grid-template-columns:1fr}}
/* burst */
#burst{position:fixed;inset:0;z-index:200;pointer-events:none;overflow:hidden;display:grid;place-items:center;animation:bOut 1.25s ease-in forwards}
#burst .glow{position:absolute;inset:-20%;background:radial-gradient(circle,#FFFBE0 0%,#FFE066 28%,#FFB347 55%,#FF8FAB 80%,#FF6F91 100%);animation:bGlow 1.25s ease-out forwards}
#burst .rays{position:absolute;inset:-60%;z-index:1;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.42) 0deg 7deg,rgba(255,255,255,0) 7deg 20deg);animation:bRays 1.25s linear forwards;mix-blend-mode:soft-light}
#burst .bcore{position:relative;z-index:3;text-align:center;animation:bPop 1.25s cubic-bezier(.2,1.4,.4,1) forwards}
#burst .sun{font-size:150px;line-height:1;filter:drop-shadow(0 0 40px #fff)}
#burst .bt{font:900 clamp(44px,9vw,84px) Inter,system-ui,sans-serif;letter-spacing:-.05em;color:#fff;text-shadow:0 4px 30px rgba(200,80,0,.45);margin-top:6px}
#burst i{position:absolute;left:50%;top:50%;width:16px;height:16px;border-radius:50%;background:var(--c);z-index:2;animation:bFly 1.1s cubic-bezier(.1,.8,.3,1) forwards;transform:rotate(var(--a)) translateX(0)}
#burst i:nth-child(3n){border-radius:3px;width:12px;height:22px}
@keyframes bGlow{0%{transform:scale(.2);opacity:0}18%{transform:scale(1);opacity:1}100%{transform:scale(1.15);opacity:1}}
@keyframes bRays{0%{transform:rotate(0) scale(.6);opacity:0}20%{opacity:1}100%{transform:rotate(70deg) scale(1.1);opacity:1}}
@keyframes bPop{0%{transform:scale(.2);opacity:0}25%{transform:scale(1);opacity:1}80%{transform:scale(1.04);opacity:1}100%{transform:scale(1.3);opacity:0}}
@keyframes bFly{0%{transform:rotate(var(--a)) translateX(0) scale(.4);opacity:0}15%{opacity:1}100%{transform:rotate(var(--a)) translateX(var(--d)) scale(1);opacity:0}}
@keyframes bOut{0%,78%{opacity:1}100%{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){#burst{animation-duration:.6s}#burst *{animation-duration:.6s}}

/* ===== newspaper view ===== */
body.papermode{background:#fff;color-scheme:light;--bg:#fff;--ink:#111;--mut:#444;--soft:#777;--line:#e4e4e4;--card:#f6f6f4;--hdr:rgba(255,255,255,.92)}
body.papermode{color:#111}
.np{background:#fff;color:#111}
.np-wrap{max-width:1180px;margin:0 auto;padding:22px 24px 40px}
.np-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:600 12.5px Inter,system-ui,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:#555;border-bottom:1px solid #111;padding-bottom:10px}
.np-mast{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(64px,13vw,150px);line-height:.95;text-align:center;letter-spacing:-.02em;margin-top:18px}
.np-mast b{color:#F2B705;font-weight:400}
.np-tag{text-align:center;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:22px;color:#555;margin-top:4px}
.np-rule{border-top:4px double #111;margin:16px 0 26px}
.np-front{display:grid;grid-template-columns:2.1fr 1fr;gap:34px;padding-bottom:26px;border-bottom:1px solid #111}
.np-k{display:inline-block;font:800 11.5px Inter,system-ui,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#B8860B}
.np-lead h1{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-.01em;margin:8px 0 12px}
.np-dek{font-family:"Source Serif 4",Georgia,serif;font-size:21px;line-height:1.45;color:#333;margin-bottom:16px}
.np-lead .im{aspect-ratio:16/9;border-radius:0}
.np-lead figcaption{font:500 12px Inter,system-ui,sans-serif;color:#777;margin:6px 0 14px}
.np-body{column-count:2;column-gap:28px;column-rule:1px solid #e2e2e2}
.np-body p,.np-i p{font-family:"Source Serif 4",Georgia,serif;font-size:17px;line-height:1.6;color:#222;margin-bottom:12px}
.np-body p:first-child::first-letter{float:left;font-family:"Instrument Serif",Georgia,serif;font-size:64px;line-height:.8;padding:6px 8px 0 0}
.np-more{display:inline-block;font:700 13.5px Inter,system-ui,sans-serif;color:#111;border-bottom:2px solid #F2B705;margin-top:4px}
.np-side{border-left:1px solid #111;padding-left:26px}
.np-h{font:800 12px Inter,system-ui,sans-serif;letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid #111;padding-bottom:8px;margin-bottom:6px}
.np-b{display:block;padding:14px 0;border-bottom:1px solid #e2e2e2}
.np-b:last-child{border:0}
.np-b h3{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:27px;line-height:1.08;margin:6px 0 6px}
.np-b p{font-family:"Source Serif 4",Georgia,serif;font-size:15.5px;line-height:1.5;color:#444}
.np-b:hover h3,.np-i a:hover h4,.np-lead a:hover h1{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.np-sec{padding:26px 0 8px;border-bottom:1px solid #111}
.np-sec h2{font:900 13px Inter,system-ui,sans-serif;letter-spacing:3px;text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:12px}
.np-sec h2::after{content:"";flex:1;height:1px;background:#111}
.np-cols{column-count:3;column-gap:34px;column-rule:1px solid #e2e2e2}
.np-i{break-inside:avoid;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #eee}
.np-i h4{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:28px;line-height:1.06;margin-bottom:8px}
.np-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:20px;font:600 14px Inter,system-ui,sans-serif;color:#555}
@media (max-width:900px){.np-front{grid-template-columns:1fr}.np-side{border-left:0;padding-left:0;border-top:1px solid #111;padding-top:14px}.np-cols{column-count:2}}
@media (max-width:600px){.np-cols,.np-body{column-count:1}.np-top{font-size:10.5px;letter-spacing:1px}.np-dek{font-size:18px}}
@media print{header,footer,.np-foot{display:none}.np-wrap{padding:0}}
