
.progress{position:fixed;left:0;top:0;height:3px;width:0;background:var(--light);z-index:60}
.article{padding-block:48px 72px}
.article__wrap{max-width:800px;margin-inline:auto;padding-inline:var(--gutter)}
.article__cover{aspect-ratio:21/9;margin-bottom:32px}
.crumbs{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.crumbs a{color:var(--muted)}
.article h1{font-family:var(--font-display);font-stretch:105%;font-weight:780;font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.02em;margin:8px 0 18px;text-wrap:balance}
.article__dek{font-size:20px;color:var(--ink-2);line-height:1.5;margin-bottom:22px}
.byline{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:28px}
.byline .haepi{width:38px;height:44px;flex:none}
.article h2{font-family:var(--font-display);font-weight:720;font-size:clamp(22px,2.4vw,29px);line-height:1.15;letter-spacing:-.01em;margin:44px 0 14px}
.article p.t{font-size:18px;line-height:1.78;max-width:66ch;margin:0 0 20px}
.article__body > p.t:first-of-type::first-letter{font-family:var(--font-display);font-weight:800;font-size:3.4em;float:left;line-height:.8;margin:.06em .1em 0 0;color:var(--accent)}
.article a{color:var(--accent);text-underline-offset:3px}
.glossary{list-style:none;margin:0 0 26px;padding:0;border-top:1px solid var(--line)}
.glossary li{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16.5px;line-height:1.55}
.glossary b{font-weight:700}
.glossary b i{font-style:normal;font-weight:600;color:var(--accent);margin-left:6px}
.daily-cta{margin:40px 0 0;border-radius:18px;padding:22px 24px;background:color-mix(in oklab,var(--light) 12%,var(--surface));border:1px solid var(--line);display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.daily-cta .haepi{width:64px;height:74px;flex:none}
.daily-cta p{flex:1;min-width:220px;font-size:16px}
.ai-note{font-size:13.5px;line-height:1.55;color:var(--muted);font-style:italic;margin:28px 0 0}
.src + .ai-note{margin-top:12px}
.src{font-size:14px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:36px}
.src b{color:var(--ink);margin-right:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.article a.metro-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:0 0 28px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:color-mix(in oklab,var(--mline) 9%,transparent);color:var(--ink-2);font-size:14.5px;line-height:1.4;text-decoration:none;transition:border-color .2s}
.article a.metro-top:hover{border-color:var(--mline)}
.metro-top b{color:var(--ink);font-weight:650}
.metro-top__badge{width:24px;height:24px;border-radius:50%;background:var(--mline);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:13px;flex:none}
.metro-top__next{color:var(--muted)}
.metro-top__arrow{margin-left:auto;color:var(--mline);font-weight:700}
.metro__title{scroll-margin-top:110px}
.metro{border-top:1px solid var(--line);padding-block:44px 8px}
.metro__head{display:flex;align-items:center;gap:14px;margin-bottom:30px}
.metro__badge{width:44px;height:44px;border-radius:50%;background:var(--mline);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:21px;flex:none}
.metro__title{font-family:var(--font-display);font-weight:720;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.01em;margin:2px 0 0}
.metro__line{--dot:22px;--track:6px;list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0}
.metro__stop{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:calc(var(--dot) + 14px) 8px 0}
.metro__stop:not(:last-child)::after{content:"";position:absolute;top:calc(var(--dot)/2 - var(--track)/2);left:50%;width:100%;height:var(--track);background:var(--mline);z-index:0}
.metro__stop--to-next:not(:last-child)::after,.metro__stop--next:not(:last-child)::after{background:repeating-linear-gradient(90deg,var(--mline) 0 10px,transparent 10px 18px);opacity:.7}
.metro__dot{position:absolute;top:0;left:50%;width:var(--dot);height:var(--dot);margin-left:calc(var(--dot)/-2);border-radius:50%;background:var(--bg);border:5px solid var(--mline);box-sizing:border-box;z-index:1}
.metro__stop--here .metro__dot{background:var(--mline);transform:scale(1.25)}
.metro__stop--here .metro__dot::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--mline);animation:metroPulse 2.2s ease-out infinite}
.metro__stop--event .metro__dot{width:16px;height:16px;margin-left:-8px;top:3px;background:var(--mline);border:3px solid var(--bg)}
.metro__stop--next .metro__dot{border-style:dashed;border-width:3px}
.metro__stop--xfer .metro__dot{box-shadow:0 0 0 3px var(--bg),0 0 0 7px var(--xline,var(--ink))}
.metro__when{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.metro__name{font-weight:650;font-size:15.5px;line-height:1.3;color:var(--ink);text-wrap:balance}
.metro a.metro__name{color:var(--ink);text-decoration:underline;text-decoration-color:var(--mline);text-decoration-thickness:2px;text-underline-offset:4px}
.metro a.metro__name:hover{color:var(--accent)}
.metro__stop--next .metro__name,.metro__stop--event .metro__name{font-weight:500;color:var(--ink-2)}
.metro__here{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--mline);color:#fff;border-radius:999px;padding:3px 9px}
.metro__xfer{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.metro__xfer b{width:20px;height:20px;border-radius:50%;background:var(--xline);color:#fff;display:grid;place-items:center;font-size:11px}
@keyframes metroPulse{from{transform:scale(.8);opacity:.9}to{transform:scale(1.7);opacity:0}}
@media (prefers-reduced-motion:reduce){.metro__stop--here .metro__dot::before{animation:none;opacity:.5}}
@media (max-width:640px){
.metro__line{grid-auto-flow:row;grid-auto-columns:auto}
.metro__stop{align-items:flex-start;text-align:left;padding:0 0 28px 44px;min-height:58px}
.metro__dot{left:0;margin-left:0}
.metro__stop--event .metro__dot{left:3px;margin-left:0}
.metro__stop:not(:last-child)::after{top:calc(var(--dot)/2);left:calc(var(--dot)/2 - var(--track)/2);width:var(--track);height:100%}
.metro__stop--to-next:not(:last-child)::after,.metro__stop--next:not(:last-child)::after{background:repeating-linear-gradient(180deg,var(--mline) 0 10px,transparent 10px 18px)}
}
.related{border-top:1px solid var(--line);padding-block:56px 24px;background:linear-gradient(to bottom,color-mix(in srgb,var(--light) 5%,transparent),transparent)}
.related__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:20px}
.related .story{grid-column:auto}
.stories-page{padding-block:56px 80px}
.stories-page .stories .story{grid-column:span 4}
.stories-page .story--lead .cover{aspect-ratio:21/9}
.stories-page .stories .story--lead{grid-column:1/-1;grid-row:auto}
@media (max-width:640px){.nav__actions .btn{display:none}.glossary li{grid-template-columns:minmax(0,1fr);gap:4px}.related__grid{grid-template-columns:minmax(0,1fr)}.stories-page .stories .story{grid-column:1/-1}}
