/* AIVoA — additions on top of the Codex design (tokens.css + site.css) */
.deck{font-family:var(--font-editorial);font-size:20px;line-height:1.5;color:var(--muted);margin:-8px 0 18px;max-width:900px}
.deck:lang(ko){font-size:17px;line-height:1.75}
.lead-deck{font-family:var(--font-editorial);font-size:19px;line-height:1.5;color:var(--muted);margin:14px 0 0}
.lead-deck:lang(ko){font-size:16px;line-height:1.75}
.row-deck{font-size:14px !important;color:var(--muted);margin:0 0 8px !important}
.lead-more{margin-top:28px;display:grid;gap:22px}.lead-more .story-preview h3{font-size:24px}.lead-more .story-preview h3:lang(ko){font-size:21px}
.homepage-lead.pulse-only{grid-template-columns:1fr}.homepage-lead.pulse-only .lead-side{border-left:0;padding-left:0}
.masthead-side.scope-all strong{color:var(--opinion)}
.opinion-title{color:var(--opinion)}
.corr-flag{color:var(--correction);font-weight:650}
.correction-box a{color:var(--correction);text-decoration:underline}
.pulse-meta{margin:6px 0 28px;justify-content:flex-start}.pulse-meta .pair{font-size:12px;font-weight:700;color:var(--accent)}
.pulse-deck{color:var(--muted);font-weight:400}
/* Community Pulse cards with the GPT reporter's background picture (R 10-08) */
.pulse-card{position:relative}
.pulse-card.has-bg{border:0;border-radius:6px;overflow:hidden;padding:0;margin-bottom:24px;min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink)}
.pulse-card.has-bg .pbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pulse-card.has-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,32,38,.92) 0%,rgba(20,32,38,.66) 55%,rgba(20,32,38,.18) 100%)}
.pulse-card.has-bg .pin{position:relative;z-index:1;padding:24px 22px 26px}
.pulse-card.has-bg .pin,.pulse-card.has-bg h2,.pulse-card.has-bg .pulse-number,.pulse-card.has-bg a{color:#fff}
.pulse-card .pai{position:absolute;z-index:2;top:10px;right:12px;font-size:10px;font-weight:600;color:#fff;background:rgba(0,0,0,.45);padding:2px 8px;border-radius:999px}
.pulse-wrap .pdots{display:none}
@media(min-width:760px){.pulse-wrap .pulse-cards{column-gap:24px}}
@media(max-width:759px){
  .pulse-wrap{margin-inline:calc(var(--gutter) * -1)}
  .pulse-wrap .pulse-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .pulse-wrap .pulse-cards::-webkit-scrollbar{display:none}
  .pulse-wrap .pulse-card{flex:0 0 100%;scroll-snap-align:center;padding:22px var(--gutter);border-top:2px solid var(--accent)}
  .pulse-wrap .pulse-card.has-bg{border-radius:0;min-height:70vh;margin:0;padding:0}
  .pulse-wrap .pdots{display:flex;justify-content:center;gap:6px;margin:12px 0}
  .pulse-wrap .pdots span{width:7px;height:7px;border-radius:50%;background:var(--line-strong)}.pulse-wrap .pdots span.on{background:var(--ink)}
}

/* R 10-08: narrower page on the web, smaller default title/body on PC, reader-chosen body size (3 steps) */
:root{--site-width:1080px;--reading-width:640px}
@media(min-width:760px){
  :root{--title-size:clamp(32px,3.3vw,48px);--title-leading:1.12;--body-size:20px;--body-leading:1.62}
  :lang(ko){--title-size:clamp(27px,2.6vw,38px);--title-leading:1.42;--body-size:18px;--body-leading:1.85}
  .lead h1:lang(ko){font-size:clamp(28px,2.8vw,40px)}
  .lead h1{font-size:clamp(32px,3.5vw,50px)}
  .wordmark{font-size:96px}
  .article-grid{grid-template-columns:140px minmax(0,var(--reading-width)) minmax(140px,1fr);gap:32px}
}
@media(min-width:1100px){.lead h1:lang(ko){font-size:40px}}
html[data-fs="s"]{--fs-scale:.9}html[data-fs="l"]{--fs-scale:1.14}
.prose,.pulse-card .pulse-copy{font-size:calc(var(--body-size) * var(--fs-scale,1))}
.pulse-card .pulse-copy{font-size:calc(15px * var(--fs-scale,1))}
.fs-switch{display:inline-flex;align-items:center;gap:2px;margin-right:auto;margin-left:16px}
.fs-switch button{min-height:36px;min-width:36px;padding:0 8px;border:1px solid var(--line);background:var(--paper);color:var(--muted);font-family:var(--font-editorial);line-height:1}
.fs-switch button:nth-child(1){font-size:13px}.fs-switch button:nth-child(2){font-size:16px}.fs-switch button:nth-child(3){font-size:20px}
.fs-switch button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);font-weight:700}

/* R 10-08: masthead and headlines in near-black, heavier */
:root{--headline:#101417}
.wordmark,.footer-logo{color:var(--headline);font-weight:800}
.lead h1,.lead h1 a,.article-head h1,.story-preview h3,.story-preview h3 a,.story-row h2 a,.page-intro h1,.prose,.lead-excerpt,.deck,.lead-deck{color:var(--headline)}
.lead h1,.article-head h1{font-weight:700}

/* R 10-08: front page — compact daily column, three+ per lower section */
.homepage-lead .lead h1{font-size:clamp(28px,2.9vw,40px)}
.homepage-lead .lead h1:lang(ko){font-size:clamp(25px,2.4vw,34px)}
.lead-excerpt{margin:14px 0}
.lead-more{margin-top:20px;display:block;border-top:1px solid var(--line)}
.daily-mini{padding:16px 0;border-bottom:1px solid var(--line)}
.daily-mini h3{font-family:var(--font-editorial);font-size:21px;line-height:1.35;font-weight:650;color:var(--headline)}
.daily-mini h3:lang(ko){font-size:19px;line-height:1.5}
.daily-mini p{font-size:14px;line-height:1.6;color:var(--muted);margin:6px 0 0}
.daily-mini .byline-short{margin-top:8px}
.home-bottom .story-preview .preview-item{padding:16px 0;border-bottom:1px solid var(--line)}
.home-bottom .story-preview .preview-item:last-child{border-bottom:0}
.home-bottom .story-preview h3{font-size:24px;margin-bottom:6px}
.home-bottom .story-preview h3:lang(ko){font-size:21px}
.home-bottom .story-preview .byline-short{margin-top:8px}

/* R 10-08: the masthead line on the right must catch the eye */
.masthead-side.mast-tag{max-width:none;text-align:right}
.mast-tag strong{font-family:Newsreader,Georgia,serif;font-size:30px;line-height:1.1;font-weight:700;letter-spacing:-.015em;color:var(--headline);white-space:nowrap}
.mast-tag .mast-sub{display:block;margin-top:6px;font-size:16px;color:var(--muted)}
.mast-tag.scope-all strong{color:var(--opinion)}
@media(max-width:1000px){.mast-tag strong{font-size:24px}.mast-tag .mast-sub{font-size:14px}}
@media(max-width:759px){
  .masthead .masthead-side.mast-tag{display:block;text-align:center;justify-self:center;margin-top:-2px}
  .mast-tag strong{font-size:20px}.mast-tag .mast-sub{font-size:12px;margin-top:2px}
}

/* R 10-08: earlier stories of the same section in the left column */
@media(min-width:760px){
  .article-grid{grid-template-columns:190px minmax(0,var(--reading-width)) minmax(120px,1fr)}
  .reading-rail{grid-row:1 / span 2}
}
@media(min-width:760px) and (max-width:1000px){.article-grid{grid-template-columns:170px minmax(0,1fr)}}
.section-rail{display:block;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.section-rail strong{display:block;color:var(--ink);margin-bottom:10px}
.section-rail a{display:block;min-height:0;margin:0;padding:9px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--headline)}
.section-rail a:hover{color:var(--hover)}
.section-rail time{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}
.section-rail .rail-all{color:var(--accent);border-top:0;font-size:12px}
.section-more{display:none}
@media(max-width:759px){
  .section-rail{display:none}
  .section-more{display:block;border-top:2px solid var(--ink);padding-top:14px;margin-top:36px}
  .section-more h2{font-size:17px;margin-bottom:6px}
  .section-more a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-family:var(--font-editorial);font-size:17px;line-height:1.5;color:var(--headline)}
  .section-more time{display:block;font:11px var(--font-ui);color:var(--muted)}
}

/* R 10-08: "AI" vs "All" — in a plain sans the capital I and a lowercase l are the same stroke, so "All" reads as
   "AI" plus one more stroke; on 'all' pages that stroke is added in the opinion colour */
.mast-tag strong{font-family:var(--font-ui);font-weight:800;letter-spacing:-.01em;white-space:nowrap;font-style:normal}
.mast-tag .mast-sub{font-family:var(--font-ui);font-style:normal;font-size:13px;letter-spacing:.04em}
.aiall{font-family:var(--font-ui)}
.aiall .plus{color:var(--opinion)}
.mast-tag.scope-all strong{color:var(--headline)}

/* share (R 10-08): logos, monochrome until hovered */
.share-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-right:auto}
.share-ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.share-ico svg{width:18px;height:18px;fill:currentColor}
.share-ico:hover{color:var(--brand,var(--accent));border-color:var(--brand,var(--accent));text-decoration:none}
.share-native{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;background:var(--accent);color:#fff;border:0;font-size:13px;font-weight:600}
.share-native svg{width:17px;height:17px}
@media(max-width:759px){.has-share .share-ico:not([data-copy]){display:none}}

/* R 10-08: EN / KO as a two-way switch — the current edition is lit, tap the other side to change */
.lang-switch{display:inline-flex;gap:0;padding:3px;border:1px solid var(--line-strong);border-radius:999px;background:var(--paper)}
.lang-switch>span[aria-hidden]{display:none}
.lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:30px;min-width:42px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--muted);text-decoration:none!important;transition:background .15s,color .15s}
.lang-switch a:hover{color:var(--ink);background:var(--wash)}
.lang-switch a[aria-current]{background:var(--headline);color:#fff;text-decoration:none}
.lang-switch a[aria-current]:hover{background:var(--headline);color:#fff}
.utility .lang-switch a{min-height:26px;min-width:38px;font-size:11px}
@media(max-width:759px){.lang-switch a{min-height:32px}}

/* R 10-08 "글자만 가득해서 심심해": section colour bands, drop caps, lead pictures and thumbnails */
:root{--sec-daily:#28676c;--sec-pulse:#3d7a5a;--sec-features:#263f51;--sec-opinion:#765563;--sec-archive:#586c70}
.sec-daily{--sec:var(--sec-daily)}.sec-pulse{--sec:var(--sec-pulse)}.sec-features{--sec:var(--sec-features)}.sec-opinion{--sec:var(--sec-opinion)}.sec-archive{--sec:var(--sec-archive)}
.article-grid .article-head .kicker a,.lead .kicker{color:var(--sec,var(--accent))}
.article-grid .article-head{border-top:4px solid var(--sec,var(--accent));padding-top:18px}
.lead.sec-daily{border-top:4px solid var(--sec-daily);padding-top:16px}
.lead-side.sec-pulse{border-top:4px solid var(--sec-pulse)}
.home-bottom .story-preview .section-title{border-top:4px solid var(--sec,var(--ink))}
.section-tabs [aria-current]{border-bottom-width:3px}
/* lead picture */
.hero{margin:0 0 28px}.hero img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:2px;background:var(--wash)}
.hero figcaption{font-size:11px;color:var(--muted);margin-top:6px;text-align:right}
.hero.k-daily img{aspect-ratio:16/9}
.lead-hero{display:block;margin:0 0 18px}.lead-hero img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:2px}
/* thumbnails in lists */
.thumb{flex:0 0 auto;display:block}.thumb img{display:block;width:120px;height:80px;object-fit:cover;border-radius:2px;background:var(--wash)}
.daily-mini.has-thumb,.preview-item.has-thumb{display:flex;gap:16px;align-items:flex-start}.daily-mini.has-thumb>div,.preview-item.has-thumb>div{flex:1;min-width:0}
.story-row.has-thumb{grid-template-columns:130px minmax(0,1fr) 140px}.story-row .thumb img{width:140px;height:94px}
@media(max-width:759px){.story-row.has-thumb{grid-template-columns:1fr}.story-row .thumb{order:-1}.story-row .thumb img{width:100%;height:auto;aspect-ratio:16/9}.thumb img{width:96px;height:64px}}
/* R 10-08: the colour bands are fine on phones but too heavy on PC — thin them there */
@media(min-width:760px){
  .article-grid .article-head,.lead.sec-daily,.lead-side.sec-pulse,.home-bottom .story-preview .section-title{border-top-width:2px}
  .lead.sec-daily{padding-top:14px}
}
/* R 10-08: the AI-generated mark sits on the picture itself, wherever the picture appears */
.lead-hero,.hero-img,.thumb{position:relative}
.ai-badge{position:absolute;top:10px;right:10px;font:600 11px/1 var(--font-ui);color:#fff;background:rgba(16,20,23,.62);padding:5px 9px;border-radius:999px;letter-spacing:.02em;pointer-events:none}
.ai-badge.sm{top:5px;right:5px;font-size:9px;padding:3px 5px}
.hero figcaption{text-align:left;font-size:12px;line-height:1.6}

/* Pulse source line (R 10-08) */
.pulse-src{margin:12px 0 0!important;font-size:12.5px;line-height:1.7;opacity:.92}
.pulse-card.has-bg .pulse-src{padding-top:10px;border-top:1px solid rgba(255,255,255,.25)}
.pulse-card:not(.has-bg) .pulse-src{padding-top:8px;border-top:1px solid var(--line)}
/* R 10-08: on PC the Pulse items are real cards, spread out and slightly overlapping; a click brings one to the top */
@media(min-width:760px){
  .pulse-wrap .pulse-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:18px 26px 40px}
  .pulse-wrap .pulse-card{margin:-10px -14px;border:0!important;border-radius:6px;padding:26px 26px 24px;background:#fff;box-shadow:0 1px 2px rgba(16,20,23,.08),0 10px 28px rgba(16,20,23,.14);transform:rotate(var(--r,0deg)) translate(var(--x,0),var(--y,0));transition:transform .18s ease,box-shadow .18s ease;cursor:pointer;position:relative;z-index:1}
  .pulse-wrap .pulse-card.has-bg{padding:0;min-height:400px;background:var(--ink)}
  .pulse-wrap .pulse-card:nth-child(1){--r:-1.6deg;--x:6px;--y:0}
  .pulse-wrap .pulse-card:nth-child(2){--r:1.3deg;--x:-6px;--y:14px}
  .pulse-wrap .pulse-card:nth-child(3){--r:1deg;--x:10px;--y:-6px}
  .pulse-wrap .pulse-card:nth-child(4){--r:-1.2deg;--x:-8px;--y:8px}
  .pulse-wrap .pulse-card:nth-child(5){--r:-.8deg;--x:4px;--y:-4px}
  .pulse-wrap .pulse-card:nth-child(6){--r:1.5deg;--x:-4px;--y:6px}
  .pulse-wrap .pulse-card:nth-child(7){--r:-1.4deg;--x:8px}.pulse-wrap .pulse-card:nth-child(8){--r:.9deg;--x:-8px}
  .pulse-wrap .pulse-card:nth-child(9){--r:1.2deg}.pulse-wrap .pulse-card:nth-child(10){--r:-1deg}
  .pulse-wrap .pulse-card:hover{transform:rotate(var(--r,0deg)) translate(var(--x,0),calc(var(--y,0px) - 4px));box-shadow:0 2px 4px rgba(16,20,23,.1),0 16px 36px rgba(16,20,23,.2)}
  .pulse-wrap .pulse-card.top{transform:rotate(0deg) scale(1.03);box-shadow:0 4px 8px rgba(16,20,23,.12),0 24px 48px rgba(16,20,23,.26)}
  .pulse-wrap .pulse-card:first-child{border-top:0}
}
@media(prefers-reduced-motion:reduce){.pulse-wrap .pulse-card{transition:none}}

/* R 10-08: Korean headlines — a tighter, denser face than the body's Noto Serif KR (trying ⑤ 나눔명조 ExtraBold; ⑦ 고운바탕 Bold is the other candidate) */
/* R 10-08: phones ⑦ Gowun Batang Bold, PC ⑤ Nanum Myeongjo ExtraBold — each device downloads only the face it uses */
@font-face{font-family:'AIVoA Head KR PC';src:url('fonts/aivoa-head-kr-pc.woff2') format('woff2');font-weight:800;font-display:block}
@font-face{font-family:'AIVoA Head KR Mobile';src:url('fonts/gowunbatang-b.woff2') format('woff2');font-weight:800;font-display:block}
:root{--head-ko:'Noto Serif KR',serif;--head-ko-track:-.02em} /* PC Korean headlines back to Noto Serif KR (R 10-20 "크기 줄어도 모양 안 일그러지는 걸로. 이전 폰트로 돌려봐") — it is the font they used before 10-08 and it holds its shape at the smaller PC sizes; the Nanum subset stays in fonts/ with its licence, unused */
@media(max-width:759px){:root{--head-ko:'AIVoA Head KR Mobile','Noto Serif KR',serif;--head-ko-track:-.05em}}
.lead h1:lang(ko),.article-head h1:lang(ko),.story-preview h3:lang(ko),.story-row h2:lang(ko),.daily-mini h3:lang(ko),.section-rail a:lang(ko){font-family:var(--head-ko);font-weight:800;letter-spacing:var(--head-ko-track)}

/* R 10-08: dark mode — the design's tokens re-coloured; the toggle sits where "About" was (About moved into the menu) */
.theme-toggle{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:12px;cursor:pointer}
.theme-toggle svg{width:15px;height:15px;fill:currentColor}.theme-toggle .i-sun{display:none}
html[data-theme=dark] .theme-toggle .i-sun{display:inline}html[data-theme=dark] .theme-toggle .i-moon{display:none}
@media(max-width:759px){.theme-toggle span{display:none}.theme-toggle{padding:0 8px}}
html[data-theme=dark]{color-scheme:dark;
  --paper:#121517;--ink:#dfe5e6;--muted:#97a6a9;--line:#2b3438;--line-strong:#47555c;--wash:#1a2124;--nav-wash:#171d20;
  --accent:#72b7bc;--accent-wash:#16252a;--hover:#93cfd3;--correction:#e8998a;--correction-wash:#2a1b18;--approved:#74c79f;--auto:#d9a85a;
  --brand:#eef1f2;--opinion:#cf9fb5;--headline:#f1f3f4;
  --sec-daily:#72b7bc;--sec-pulse:#7fbf98;--sec-features:#9cb3c7;--sec-opinion:#cf9fb5;--sec-archive:#97a6a9}
html[data-theme=dark] .lead-excerpt{color:var(--headline)}
html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .field textarea,html[data-theme=dark] .search-field input{background:#1a2124;color:var(--ink)}
html[data-theme=dark] .top-note{border-bottom-color:#5a3a33}
html[data-theme=dark] .lang-switch a[aria-current],html[data-theme=dark] .lang-switch a[aria-current]:hover{background:var(--headline);color:#121517}
html[data-theme=dark] .pulse-wrap .pulse-card:not(.has-bg){background:#1b2225}
html[data-theme=dark] .share-native{color:#121517}
html[data-theme=dark] .button.primary,html[data-theme=dark] button.primary{color:#121517}
html[data-theme=dark] .hero img,html[data-theme=dark] .lead-hero img,html[data-theme=dark] .thumb img{filter:brightness(.9)}
.theme-toggle .l-to-light{display:none}html[data-theme=dark] .theme-toggle .l-to-light{display:inline}html[data-theme=dark] .theme-toggle .l-to-dark{display:none}
@media(max-width:759px){.theme-toggle .l-to-light,.theme-toggle .l-to-dark,html[data-theme=dark] .theme-toggle .l-to-light{display:none}}
/* R 10-08: dark mode — no glaring white; heavy bold type in a soft off-white */
html[data-theme=dark]{--headline:#d9dedf;--ink:#c9d0d2;--brand:#d9dedf;--muted:#8e9c9f}
html[data-theme=dark] .wordmark,html[data-theme=dark] .footer-logo{color:#d4d9da}
html[data-theme=dark] .prose{color:#c6cdcf}
html[data-theme=dark] .lang-switch a[aria-current],html[data-theme=dark] .lang-switch a[aria-current]:hover{background:#c9d0d2}
/* comments (R 10-08) */
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.comment-list{margin-bottom:24px}.comment-item p{margin:0 0 6px;white-space:pre-wrap;overflow-wrap:anywhere}.comment-item .badge{font-size:11px;color:var(--accent);margin-left:6px}

/* R 10-08: dark mode in sand / ivory (GPT's suggestion) — no sky-blue, teal or lime; opinion in a warm clay instead of pink */
html[data-theme=dark]{
  --paper:#171512;--wash:#1f1c18;--nav-wash:#1c1915;--line:#35312b;--line-strong:#4d473e;
  --ink:#d9d1c3;--muted:#a1988a;--headline:#e6dfd2;--brand:#e6dfd2;
  --accent:#cdb08a;--accent-wash:#26211b;--hover:#e0c9a6;
  --correction:#d4917a;--correction-wash:#2a1f19;--approved:#b3b88f;--auto:#d2a868;
  --opinion:#c4977d;
  --sec-daily:#cdb08a;--sec-pulse:#b8ad8a;--sec-features:#bba892;--sec-opinion:#c4977d;--sec-archive:#a1988a}
html[data-theme=dark] .wordmark,html[data-theme=dark] .footer-logo{color:var(--accent)}
html[data-theme=dark] .wordmark:hover,html[data-theme=dark] .wordmark:focus-visible,html[data-theme=dark] .footer-logo:hover,html[data-theme=dark] .footer-logo:focus-visible{color:var(--headline)}
html[data-theme=dark] .lead-side h2 a:hover,html[data-theme=dark] .lead-side h2 a:focus-visible{color:var(--headline)} /* R 10-10: dark mode — wordmark and the Pulse panel title share one rule: sand at rest, ivory on hover */
html[data-theme=dark] .prose{color:#d6cebf}
html[data-theme=dark] .lang-switch a[aria-current],html[data-theme=dark] .lang-switch a[aria-current]:hover{background:#d9d1c3;color:#171512}
html[data-theme=dark] .pulse-wrap .pulse-card:not(.has-bg){background:#211e19}
html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .field textarea,html[data-theme=dark] .search-field input{background:#1f1c18}
html[data-theme=dark] .share-native,html[data-theme=dark] .button.primary,html[data-theme=dark] button.primary{color:#171512}
/* About: ethics and charter (R 10-08) */
.ethics-list{columns:2;column-gap:36px;padding-left:1.4em;margin:18px 0 8px}.ethics-list li{break-inside:avoid;margin:0 0 10px;font-family:var(--font-editorial);font-size:17px;line-height:1.5;color:var(--headline)}
.process-list{list-style:none;counter-reset:step;padding:0;margin:18px 0}.process-list li{counter-increment:step;display:grid;grid-template-columns:44px 1fr;column-gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.process-list li::before{content:counter(step);grid-row:1 / span 2;font:700 26px/1 var(--font-editorial);color:var(--accent)}
.process-list strong{font-size:16px;color:var(--headline)}.process-list span{font-size:14px;line-height:1.8;color:var(--muted)}
@media(max-width:759px){.ethics-list{columns:1}}
/* R 10-08: the left masthead note runs on as one sentence pair, no forced break */
.mast-left strong{display:inline}.masthead-side.mast-left{max-width:240px;line-height:1.6}
/* journalist marks (R 10-08): our initials in the makers' signature colours */
.mono{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-family:Newsreader,Georgia,serif;font-weight:700;color:#fff;flex:0 0 auto;line-height:1}
.mono-sm{width:20px;height:20px;font-size:12px;margin-right:6px;vertical-align:-5px}
.mono-md{width:34px;height:34px;font-size:18px}
.mono-lg{width:90px;height:90px;font-size:52px}
.mono-claude{background:#D97757}
.mono-gpt{background:#10A37F}
.byline-row{display:flex;align-items:center;gap:12px}.byline-row .byline-raw{margin:0}
.byline-short a{display:inline-flex;align-items:center}
@media(max-width:759px){.mono-lg{width:60px;height:60px;font-size:34px}}
/* R 10-08: the initial fills ~70% of the circle and sits optically centred (Newsreader's G/C ride high — measured) */
.mono>span{display:block;transform:translateY(.14em)}
.mono-sm{font-size:19.2px}.mono-md{font-size:32.6px}.mono-lg{font-size:86.4px}
@media(max-width:759px){.mono-lg{font-size:57.6px}}
.powered{font-size:11px;letter-spacing:.02em;color:var(--muted)}
/* R 10-08: the human editor on the About page */
.editor-chip{cursor:default;gap:2px}.editor-chip:hover{background:var(--paper)}
.mono-r{background:var(--headline)}html[data-theme=dark] .mono-r{color:#171512}
.editor-chip{cursor:pointer}
/* R 10-09: six sections — on phones the menu is one row that scrolls sideways instead of wrapping */
@media(max-width:759px){
  .main-nav .nav-links{flex-wrap:nowrap;justify-content:flex-start;gap:20px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-right:12px;mask-image:linear-gradient(to right,#000 88%,transparent)}
  .main-nav .nav-links::-webkit-scrollbar{display:none}
  .main-nav .nav-links a{white-space:nowrap;flex:0 0 auto}
}
/* R 10-09: name sat a little low beside the mark on phones — centre on the text's own box, tighter gap */
.byline-short{line-height:1.25;align-items:center}
.byline-short a{gap:6px}
.byline-short .mono-sm{margin-right:0;vertical-align:middle}
.byline-short>.mono-sm{margin-right:-6px}
.byline-short strong,.byline-short time,.byline-short span:not(.mono):not(.mono span){display:inline-flex;align-items:center;line-height:1.25;padding-top:1px}
/* text box trimmed to cap height so the name centres on the mark the same way in Safari and Chrome (iPhone showed it low) */
.byline-short strong,.byline-short time,.byline-short>span:not(.mono),.byline-short a>span:not(.mono){text-box:trim-both cap alphabetic;padding-top:0}
/* R 10-09: tilted picture cards showed a hairline seam at the edge in dark mode — bleed the picture 1px and lay a thin
   drawn border on top */
.pulse-card.has-bg .pbg{inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px)}
.pulse-card.has-bg::before{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,255,255,.14);z-index:3;pointer-events:none}
html[data-theme=dark] .pulse-card.has-bg::before{border-color:rgba(230,223,210,.22)}
@media(min-width:760px){.pulse-wrap .pulse-card{outline:1px solid transparent;backface-visibility:hidden}}
/* R 10-09: right side of the story header — language pill on top, a smaller text-size row under it, both pushed right */
.article-meta{align-items:flex-end;justify-content:space-between;gap:16px}
.meta-tools{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto}
.meta-tools .fs-switch{margin:0}
.fs-switch button{min-height:28px;min-width:28px;padding:0 6px}
.fs-switch button:nth-child(1){font-size:11px}.fs-switch button:nth-child(2){font-size:13px}.fs-switch button:nth-child(3){font-size:16px}
.article-meta .lang-switch a{min-height:28px;min-width:40px;font-size:11.5px}
.article-meta .state-label{align-self:flex-end;margin-bottom:4px}
.pulse-meta{margin:10px 0 28px}
/* R 10-09: "Written by …" and "Approved by …" in one box, behind one bar */
.meta-left{display:flex;flex-direction:column;gap:4px;align-self:flex-end;margin-bottom:2px;padding:2px 0 2px 10px}
.meta-left .ai-line{color:var(--muted)}
.meta-left .pub-line{font-weight:600}
.meta-left.approved .pub-line{color:var(--approved)}.meta-left.auto .pub-line{color:var(--auto)}
/* R 10-09 (2): text size and the language pill side by side again, same height, bottoms aligned with the left box;
   the top pill and the dark-mode button shrunk in the same proportion */
.meta-tools{flex-direction:row;align-items:flex-end;gap:10px}
.meta-tools .fs-switch{order:1}.meta-tools .lang-switch{order:2}
.fs-switch button{height:28px;min-height:28px}
.article-meta .lang-switch{padding:2px;height:28px;box-sizing:border-box;align-items:stretch}
.article-meta .lang-switch a{min-height:0;height:22px;min-width:34px;padding:0 9px;font-size:10.5px}
.utility .lang-switch{padding:2px;height:28px;box-sizing:border-box;align-items:stretch}
.utility .lang-switch a{min-height:0;height:22px;min-width:34px;padding:0 9px;font-size:10.5px}
.theme-toggle{min-height:28px;height:28px;padding:0 9px;font-size:11px}.theme-toggle svg{width:13px;height:13px}
.article-meta .meta-left{margin-bottom:0;padding-bottom:0}
@media(max-width:759px){
  .article-meta{gap:10px}
  .meta-left{min-width:0;flex:1 1 auto;font-size:11.5px;padding-left:8px;gap:3px} /* a long note wraps instead of pushing the tools off screen (R 10-09) */
  .meta-tools{flex-shrink:0}
  .meta-left .ai-line{text-wrap:balance}
  .meta-tools{gap:6px}
  .fs-switch button{height:26px;min-height:26px;min-width:24px;padding:0 4px}
  .article-meta .lang-switch,.utility .lang-switch{height:26px}
  .article-meta .lang-switch a,.utility .lang-switch a{height:20px;min-width:30px;padding:0 7px;font-size:10px}
  .theme-toggle{height:26px;min-height:26px}
}
/* 정정 도구 (R 10-09): the reporter's own line under a correction, and notices for points not yet settled by the source */
.corr-item+.corr-item{border-top:1px solid color-mix(in srgb,var(--correction) 25%,transparent);padding-top:12px;margin-top:12px}
.corr-note{font-style:italic;margin-top:6px}
.corr-note span{font-style:normal;color:var(--correction);white-space:nowrap}
.notice-box{background:var(--wash);border-left:4px solid var(--line-strong);padding:18px 24px;margin-bottom:24px;font-size:14px;line-height:1.8}
.notice-box h2{font-family:var(--font-ui);font-size:15px;color:var(--muted);margin-bottom:6px}
.notice-box p:last-child{margin-bottom:0}
.notice-box.checking{border-left-color:var(--auto)}
.notice-box.checking h2{color:var(--auto)}
.notice-box a{text-decoration:underline}
.check-flag{color:var(--auto);font-weight:650}
.narrow .notice-box h2,.narrow .correction-box h2{margin-top:0}
.narrow .notice-box h2{font-size:22px;line-height:1.5}
.narrow>h2:first-child{margin-top:0}
.correction-box:lang(ko),.notice-box:lang(ko){word-break:keep-all}
@media(max-width:759px){.notice-box{padding:16px 18px}}
/* /정정 도구 */
/* 댓글 (R 10-09): an AI journalist's reply says it is the same model, not the agent that wrote the story */
.ai-reply-note{margin:2px 0 8px}
.ai-reply-note:lang(ko),.hidden-comment:lang(ko){word-break:keep-all}
/* /댓글 */
/* 기자 소개 (R 10-09): on phones every journalist is a card — swipe sideways, the next card peeks in; on PC only this one (the side rail lists the rest) */
.profile-header .as-h1{font:650 52px/1.1 Newsreader,serif;margin:0 0 12px;color:var(--headline,var(--ink))}
.profile-deck .profile-header:not(.is-current){display:none}
.deck-dots{display:none}
@media(max-width:759px){
  .profile-deck{display:flex;align-items:flex-start;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);scrollbar-width:none}
  .profile-deck::-webkit-scrollbar{display:none}
  .profile-deck .profile-header,.profile-deck .profile-header:not(.is-current){display:grid;flex:0 0 86%;scroll-snap-align:start;margin-bottom:22px}
  .profile-header .as-h1{font-size:39px}
  .deck-dots{display:flex;justify-content:center;gap:8px;margin:0 0 26px}
  .deck-dots span{width:7px;height:7px;border-radius:50%;background:var(--line-strong)}
  .deck-dots span.on{background:var(--ink)}
}
/* /기자 소개 */
/* 연재 (R 10-09): series section, a work's episode list, previous/next under an episode */
:root{--sec-series:#6b5a2b}
html[data-theme=dark]{--sec-series:#c9b57e}
.sec-series{--sec:var(--sec-series)}
.series-card{border-top:1px solid var(--line);padding:24px 0}
.series-card:first-child{border-top:0;padding-top:0}
.series-card h2{font:650 29px/1.3 var(--font-editorial);margin-bottom:10px}
.series-card h2:lang(ko){font-size:25px;line-height:1.5}
.series-card p{color:var(--muted);font-size:14px;margin-bottom:6px}
.series-meta{font-size:12px!important}
.series-list section+section{margin-top:34px}
.series-list>section>h2{font-size:15px!important;color:var(--sec-series);margin:0 0 10px!important}
.series-ep{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:start}
.series-ep .ep-no{font:650 15px/1 var(--font-ui);color:var(--sec-series);padding-top:28px}
.series-ep .story-row{grid-template-columns:1fr;gap:6px}
.series-list .story-row h2{margin-top:0}
.series-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;border-block:1px solid var(--line);padding:16px 0;margin:28px 0;font-size:14px}
.series-nav a small{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}
.series-nav a:last-child{text-align:right}
.series-nav .series-all{color:var(--accent);font-size:13px;white-space:nowrap}
.series-nav a:lang(ko),.series-card h2:lang(ko){word-break:keep-all}
@media(max-width:759px){.series-nav{grid-template-columns:1fr 1fr}.series-nav .series-all{grid-column:1/-1;grid-row:2;text-align:center}.series-ep{grid-template-columns:40px minmax(0,1fr)}}
/* /연재 */
/* 제호 문구 (R 10-09): "AI Views on AI" stays exactly where it is on every page — only one more I after it appears
   or not ("AII" reads as All in this face, R 10-09). Its room is always kept, so nothing shifts between pages. */
.aiall .plus.off{visibility:hidden}
/* /제호 문구 */
/* 제호 왼쪽 문구 (R 10-09): it broke mid-word ("공개된 기 / 록") — the second sentence moves down whole, or both stay on one line */
.mast-left .ml2{display:inline-block}
.mast-left:lang(ko){word-break:keep-all}
/* /제호 왼쪽 문구 */
/* 소개 윤리 목록 (R 10-09): a wrapped line moves whole words ("바로잡는다", "편집장이 진다") under the text, numbers keep their hanging indent */
.ethics-list li:lang(ko){word-break:keep-all}
/* /소개 윤리 목록 */
/* 바이라인 (R 10-10 "기자 모델 표기 간소화"): journalist · maker on one line, the model under it; the date sits right of the kicker */
.byline-simple{display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.4}
.byline-simple strong{font-weight:700;color:var(--ink)}
.byline-simple .byline-maker{color:var(--muted);font-weight:400}
.byline-simple .byline-model{font-size:12px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:0}
.kicker-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.kicker-row .kicker{margin-bottom:0}
.kicker-row .story-date{font-size:12px;color:var(--muted);white-space:nowrap}
.article-head .kicker-row{margin-bottom:15px}
/* /바이라인 */
/* 목록 (R 10-10, from the Codex handoff): short section head + one browse bar; date and journalist above the headline,
   no date column, a small picture on the right (phones: beside the headline) */
.section-head{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:24px 0 22px}
.section-name{display:flex;align-items:baseline;gap:28px;min-width:0}
.section-name h1{font:650 52px/1 var(--font-editorial);letter-spacing:-.03em;margin:0;color:var(--sec,var(--accent))}
.section-name h1:lang(ko){font-family:var(--head-ko);font-size:40px;line-height:1.2}
.section-name p{font-size:14px;line-height:1.65;color:var(--muted);margin:0} /* R 10-19: no fixed width — wraps only when the screen is too narrow */
.section-edition{display:grid;grid-template-columns:auto auto;column-gap:24px;text-align:right;font-size:12px;line-height:1.65;color:var(--muted);white-space:nowrap}
.section-edition span{grid-column:1}
.section-edition time{grid-column:1;grid-row:2;color:var(--ink)}
.section-edition a{grid-column:2;grid-row:1/3;align-self:center;border-left:1px solid var(--line);padding:12px 0 12px 24px;color:var(--accent);font-size:13px}
.browse{display:flex;align-items:center;justify-content:space-between;gap:20px;border-block:1px solid var(--line);min-height:54px;margin-bottom:6px}
.month-group{display:flex;align-items:center;gap:20px}
.month-group select{border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:600;padding:12px 24px 12px 0;max-width:200px}
.month-group span{font-size:12px;color:var(--muted)}
.list-search{width:244px;border-bottom:1px solid var(--line)}
.list-search input{border:0;background:transparent;color:var(--ink);width:100%;padding:10px 0;font-size:13px}
.list-search input::placeholder{color:var(--muted)}
.story-list{padding-bottom:56px}
.story-row,.story-row.has-thumb{display:grid;grid-template-columns:minmax(0,1fr);column-gap:44px;padding:26px 0;border-top:0;border-bottom:1px solid var(--line)}
.story-row.has-thumb{grid-template-columns:minmax(0,1fr) 184px}
.story-row:first-child{padding-top:26px}
.story-row[hidden]{display:none}
.story-meta{font-size:12px!important;color:var(--muted);margin:0 0 6px!important;letter-spacing:.02em}
.story-row h2{margin:0 0 10px;max-width:850px}
.story-row .row-deck{font-size:14px;color:var(--muted);line-height:1.7;margin:0;max-width:720px}
.story-row .thumb{align-self:center;position:relative}
.story-row .thumb img{display:block;width:184px;height:auto;aspect-ratio:3/2;object-fit:cover}
@media(max-width:759px){
  .section-head{align-items:flex-start;gap:12px;padding:22px 0 18px}
  .section-name{display:block}
  .section-name h1{font-size:40px;margin-bottom:6px}
  .section-name h1:lang(ko){font-size:30px}
  .section-name p{font-size:12px}
  .section-edition{display:block;padding-top:6px}
  .section-edition span,.section-edition time{display:none}
  .section-edition a{border:0;padding:6px 0;font-size:12px}
  .browse{flex-wrap:wrap;gap:0;padding-bottom:8px}
  .month-group{width:100%;justify-content:space-between}
  .list-search{width:100%;border:0}
  .list-search input{font-size:16px;padding:6px 0}
  .story-row,.story-row.has-thumb{grid-template-columns:minmax(0,1fr) 84px;column-gap:16px;padding:22px 0}
  .story-row:not(.has-thumb){grid-template-columns:minmax(0,1fr)}
  .story-copy{display:contents}
  .story-meta{grid-column:1/-1;grid-row:1}
  .story-row h2{grid-column:1;grid-row:2}
  .story-row .row-deck{grid-column:1/-1;grid-row:3;margin-top:4px}
  .story-row .thumb{grid-column:2;grid-row:2;order:0;align-self:start;margin-top:4px}
  .story-row .thumb img{width:84px;aspect-ratio:1.15}
}
/* /목록 */
/* 기사 화면 (R 10-10, from the Codex handoff): the left column guides through this story; sources listed after the text;
   other stories of the section under the discussion, on every screen; no right-hand note */
.story-guide{display:flex;flex-direction:column;position:sticky;top:20px}
.story-guide strong{color:var(--ink);margin-bottom:10px}
.story-guide a{min-height:30px;margin-bottom:6px;color:var(--muted)}
.story-guide a:hover{color:var(--accent)}
.story-sources{border-top:1px solid var(--line);margin:34px 0 0;padding-top:18px;font-size:14px}
.story-sources h2{font-size:15px;margin-bottom:6px}
.story-sources p{font-size:12px;color:var(--muted);margin:0 0 12px}
.story-sources ol{margin:0;padding-left:1.4em}
.story-sources li{margin-bottom:8px;line-height:1.6;overflow-wrap:anywhere}
.story-sources li a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.story-sources li span{font-size:12px;color:var(--muted)}
.section-more{display:block;border-top:2px solid var(--ink);padding-top:14px;margin-top:40px}
.section-more h2{font-size:17px;margin-bottom:6px}
.section-more a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-family:var(--font-editorial);font-size:17px;line-height:1.5;color:var(--headline)}
.section-more time{display:block;font:11px var(--font-ui);color:var(--muted)}
@media(max-width:759px){.story-guide{flex-direction:row;flex-wrap:wrap;gap:4px 16px;position:static}.story-guide strong{display:none}.story-guide a{margin:0}}
/* /기사 화면 */
/* Pulse 목록 (R 10-10 "오른쪽이 텅 비잖아 … 각 카드 뉴스의 제목 부분만"): that day's card titles beside the row */
.story-row.has-cards{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.pulse-titles{margin:0;padding:0 0 0 1.6em;font-size:14px;line-height:1.55;align-self:center;border-left:1px solid var(--line);padding-left:calc(1.6em + 20px)}
.pulse-titles li{margin:0 0 6px;color:var(--muted)}
.pulse-titles li::marker{font-size:12px}
.pulse-titles a{color:var(--ink)}
.pulse-titles a:hover{color:var(--accent)}
.pulse-titles:lang(ko) li{word-break:keep-all}
@media(max-width:759px){.story-row.has-cards{grid-template-columns:minmax(0,1fr)}.pulse-titles{grid-column:1/-1;grid-row:3;border-left:0;padding-left:1.3em;margin-top:6px}}
/* /Pulse 목록 */
/* 아카이브 (R 10-10 "그렇게 처리해"): sections hold this month; past months live here, day by day, filterable by section */
.archive-months{display:flex;flex-direction:column}
.archive-month{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.archive-month strong{font:600 26px/1.3 var(--font-editorial);color:var(--headline)}
.archive-month strong:lang(ko){font-family:var(--head-ko);font-size:22px}
.archive-month span{font-size:13px;color:var(--muted)}
.archive-month:hover strong{color:var(--accent)}
.archive-step{display:flex;gap:20px;grid-template-columns:none}
.archive-step a{border:0;padding:0;font-size:13px}
.section-chips{display:flex;flex-wrap:wrap;gap:6px}
.section-chips button{border:1px solid var(--line);background:transparent;color:var(--muted);font-size:13px;padding:6px 12px;min-height:34px;border-radius:2px}
.section-chips button[aria-pressed=true]{border-color:var(--ink);color:var(--ink);font-weight:650}
.archive-day>h2{font-size:13px;font-weight:650;color:var(--muted);letter-spacing:.04em;margin:26px 0 0;padding-bottom:6px;border-bottom:2px solid var(--ink)}
.archive-day[hidden],.archive-days [data-section][hidden]{display:none}
.to-archive{padding:22px 0 0;font-size:13px}
.to-archive a{color:var(--accent)}
.section-name h1 a{color:inherit}
@media(max-width:759px){.archive-step{flex-direction:column;align-items:flex-end;gap:6px}}
/* /아카이브 */
/* 운영사 로고 (R 10-10): "운영" + the RXAI Creative logo (horizontal C) painted in the footer text colour, so it follows the theme
   ("색은 텍스트를 같은 계열로", "조금만 더 키워봐") — the logo file is only the shape */
.operated{display:inline-flex;align-items:center;gap:6px}
.rxai-logo{display:inline-block;height:26px;aspect-ratio:1259.66/336.22;background-color:currentColor;-webkit-mask:url(/brand/rxai-creative-black.svg) center/contain no-repeat;mask:url(/brand/rxai-creative-black.svg) center/contain no-repeat;margin-top:-2px}
/* /운영사 로고 */
/* R 10-13 policies page: tables and lists from src/policy/*.md */
.policy table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0 22px}
.policy th,.policy td{border-top:1px solid var(--line);padding:9px 10px 9px 0;text-align:left;vertical-align:top;line-height:1.7}
.policy th{font-weight:650;border-top:2px solid var(--ink)}
.policy ul,.policy ol{margin:0 0 1.1em}.policy li{margin-bottom:.35em;line-height:1.8}
.policy a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.policy h2{scroll-margin-top:16px}
.policy:lang(ko) td,.policy:lang(ko) th,.policy:lang(ko) li,.policy:lang(ko) p{word-break:keep-all}
@media(max-width:759px){.policy table{font-size:13px}}
/* end R 10-13 policies page */
/* R 10-17 series page before episode 1: start line and the part plan */
.series-start{font:650 15px/1.6 var(--font-ui);color:var(--sec-series);margin-bottom:22px!important}
.series-parts{list-style:none;padding:0;margin:0 0 10px;border-top:1px solid var(--line)}
.series-parts li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.series-parts li span{color:var(--muted);font-size:13px;white-space:nowrap}
.series-plan>h2{font-size:15px!important;margin:0 0 10px!important}
/* end R 10-17 series page */
/* R 10-19 front-page lead rotation: Daily · Weekend feature · Opinion · Series take turns in the lead slot — no tabs (R: the kicker names the section) */
.lead-rotor{border-top:0;padding-top:0}
.rotor-stage{display:grid}
/* R 10-19 "화면 전환 효과만 약하게": a soft cross-fade with a slight rise, nothing more */
.rotor-slide{grid-area:1/1;border-top:4px solid var(--sec);padding-top:16px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .7s ease,transform .7s ease,visibility 0s linear .7s}
.rotor-slide.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .7s ease,transform .7s ease}
@media(prefers-reduced-motion:reduce){.rotor-slide,.rotor-slide.is-on{transition:none;transform:none}}
.rotor-plan{margin:18px 0 6px}
.lead-more-head{font:650 13px/1 var(--font-ui)!important;color:var(--sec);margin:18px 0 0!important;letter-spacing:.02em}
@media(max-width:759px){.rotor-slide{border-top-width:2px;padding-top:14px}}
/* end R 10-19 lead rotation */
/* R 10-20 "폭을 조절해서라도 광고 공간 확보해": a narrower page so Google's side rail ads have room on PC
   (page 1,100px incl. gutters → each side ≈170px at 1,440, ≈218px at 1,536, ≈410px at 1,920) */
:root{--site-width:1020px}
/* end R 10-20 side rail room */
/* R 10-20 "화면이 줄어 들었으면 거기에 맞춰서 제목과 본문의 폰트 설정도 바꿔야": the page went 1,328 → 1,100px for the
   side rails, so PC type comes down with it (≈0.85) — headlines, decks, body, masthead, section heads */
@media(min-width:1000px){
  :root{--title-size:clamp(32px,3.4vw,54px);--body-size:21px}
  :lang(ko){--title-size:clamp(26px,2.8vw,42px);--body-size:18px}
  .wordmark{font-size:96px}
  .mast-tag strong{font-size:26px}
  .homepage-lead .lead h1{font-size:clamp(26px,2.5vw,34px)}
  .homepage-lead .lead h1:lang(ko){font-size:clamp(23px,2.1vw,29px)}
  .lead-excerpt{font-size:19px}.lead-excerpt:lang(ko){font-size:16px}
  .lead-deck{font-size:17px}.lead-deck:lang(ko){font-size:15px}
  .deck{font-size:18px}.deck:lang(ko){font-size:16px}
  .lead-side h2{font-size:28px}
  .story-row h2{font-size:25px}.story-row h2:lang(ko){font-size:22px}
  .home-bottom .story-preview h3,.lead-more .story-preview h3{font-size:21px}
  .home-bottom .story-preview h3:lang(ko),.lead-more .story-preview h3:lang(ko){font-size:19px}
  .daily-mini h3{font-size:19px}.daily-mini h3:lang(ko){font-size:17px}
  .section-name h1{font-size:44px}.section-name h1:lang(ko){font-size:34px}
  .page-intro h1,.narrow h1{font-size:42px}.page-intro h1:lang(ko),.narrow h1:lang(ko){font-size:32px}
  .pulse-card h2{font-size:21px}
}
/* end R 10-20 PC type scale */
