:root{
  --article-bg:#060a13;
  --article-panel:#0d1526;
  --article-panel-2:#101a30;
  --article-line:rgba(150,172,210,.2);
  --article-line-strong:rgba(150,172,210,.38);
  --article-ink:#e9eef7;
  --article-muted:#a7b6cf;
  --article-faint:#71819b;
  --article-amber:#f0b445;
  --article-amber-2:#ffd27a;
  --article-cyan:#7cd6e8;
}

/* The archive extension is scoped so it cannot alter the protected homepage surface. */
.archive-links{padding-top:clamp(64px,8vw,96px)!important;padding-bottom:clamp(70px,9vw,112px)!important;border-top:1px solid rgba(150,172,210,.12)}
.archive-links .sec-head{margin-bottom:clamp(28px,4vw,44px)}
.archive-links .sec-no{font-family:var(--mono);font-size:clamp(54px,7vw,86px)}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.archive-card{display:flex;flex-direction:column;min-height:205px;padding:20px 18px 18px;background:rgba(13,21,38,.75);border:1px solid var(--line);transition:border-color .25s,transform .25s,background .25s}
.archive-card:hover{border-color:var(--amber);background:rgba(15,24,48,.96);transform:translateY(-2px)}
.archive-card-code{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--cyan);margin-bottom:12px}
.archive-card strong{font-family:var(--disp);font-size:1.08rem;line-height:1.55;font-weight:700}
.archive-card small{color:var(--ink3);font-size:.82rem;line-height:1.7;margin-top:10px}
.archive-card i{font-family:var(--mono);font-style:normal;font-size:9px;letter-spacing:.1em;color:var(--amber);margin-top:auto;padding-top:16px}
.archive-more{color:var(--ink3);font-size:.82rem;margin-top:18px}
.archive-more a{color:var(--cyan);border-bottom:1px solid rgba(124,214,232,.45)}

.article-page{min-width:320px;background:
  radial-gradient(1050px 680px at 92% -12%,rgba(40,62,98,.33),transparent 60%),
  radial-gradient(800px 640px at -10% 28%,rgba(30,44,74,.26),transparent 58%),var(--article-bg);color:var(--article-ink);font-family:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',sans-serif;line-height:1.9;-webkit-font-smoothing:antialiased}
.article-page a{color:inherit;text-decoration:none}
.article-page :focus-visible{outline:2px solid var(--article-amber);outline-offset:4px}
.article-scanline{position:fixed;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#ff7a66,var(--article-amber),var(--article-cyan),#6ea8ff);z-index:10}
.article-header{max-width:1180px;margin:0 auto;padding:34px clamp(20px,5vw,44px) 20px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.article-brand{display:flex;align-items:center;gap:12px;color:var(--article-ink)!important}
.article-brand-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--article-amber);border-radius:50%;color:var(--article-amber-2);font-family:serif;font-size:25px;line-height:1}
.article-brand b{display:block;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.2em;font-weight:500}
.article-brand small{display:block;color:var(--article-faint);font-size:9px;letter-spacing:.12em;line-height:1.4}
.article-status{font-family:'IBM Plex Mono',monospace;color:var(--article-faint);font-size:10px;letter-spacing:.1em;white-space:nowrap}
.article-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--article-cyan);box-shadow:0 0 8px var(--article-cyan);margin-right:6px}
.article-shell{max-width:960px;margin:0 auto;padding:18px clamp(20px,5vw,44px) 88px}
.article-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--article-faint);font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;margin:12px 0 42px}
.article-breadcrumb a{color:var(--article-cyan)}
.article-document{background:linear-gradient(145deg,rgba(13,21,38,.95),rgba(9,15,28,.92));border:1px solid var(--article-line);box-shadow:0 22px 80px rgba(0,0,0,.18)}
.article-title-block{padding:clamp(32px,6vw,70px) clamp(24px,7vw,76px) 42px}
.article-kicker{font-family:'IBM Plex Mono',monospace;color:var(--article-amber);font-size:10px;letter-spacing:.16em;line-height:1.6;text-transform:uppercase;margin:0 0 18px}
.article-kicker span{color:var(--article-faint)}
.article-title-block h1{font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:clamp(2rem,4.3vw,3.7rem);line-height:1.35;letter-spacing:.02em;margin:0;font-weight:800}
.article-deck{max-width:720px;color:var(--article-muted);font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.95;margin:24px 0 26px}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 24px;color:var(--article-faint);font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.04em}
.article-rule{display:flex;gap:8px;align-items:center;padding:0 clamp(24px,7vw,76px);height:1px;background:var(--article-line)}
.article-rule span{display:block;width:6px;height:6px;border:1px solid var(--article-amber);transform:rotate(45deg);background:var(--article-panel)}
.article-rule span:nth-child(2){margin-left:auto;border-color:var(--article-cyan)}
.article-body{padding:44px clamp(24px,7vw,76px) 24px;font-size:1rem}
.article-body > *{max-width:72ch}
.article-body .article-lede{font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:clamp(1.12rem,1.7vw,1.34rem);line-height:2.05;color:var(--article-ink);margin:0 0 38px}
.article-body h2,.article-sources h2{font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:clamp(1.45rem,2.7vw,2.1rem);line-height:1.45;color:var(--article-ink);margin:54px 0 18px;letter-spacing:.01em}
.article-body h3{font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:1.25rem;line-height:1.5;color:var(--article-ink);margin:32px 0 10px}
.article-body p{color:var(--article-muted);margin:0 0 20px}
.article-body strong{color:var(--article-ink);font-weight:700}
.article-body em{font-style:normal;color:var(--article-amber-2)}
.article-link{color:var(--article-cyan)!important;border-bottom:1px solid rgba(124,214,232,.5);transition:color .2s,border-color .2s}
.article-link:hover{color:var(--article-amber-2)!important;border-color:var(--article-amber)}
.article-link.external::after{content:' ↗';font-family:'IBM Plex Mono',monospace;font-size:.75em;color:var(--article-faint)}
.article-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--article-line);border:1px solid var(--article-line);margin:8px 0 46px}
.article-facts > div{padding:18px 16px;background:rgba(16,26,48,.82)}
.article-facts span,.article-facts small{display:block;color:var(--article-faint);font-size:.78rem;line-height:1.55}
.article-facts strong{display:block;color:var(--article-amber-2);font-family:'IBM Plex Mono',monospace;font-size:clamp(1.02rem,2vw,1.35rem);line-height:1.35;margin:7px 0}
.article-facts sup{font-size:.65em}
.article-table{width:100%;display:block;overflow-x:auto;border-collapse:collapse;margin:28px 0 34px;font-size:.9rem;color:var(--article-muted)}
.article-table th,.article-table td{border:1px solid var(--article-line);padding:12px 14px;text-align:left;vertical-align:top;min-width:150px}
.article-table thead th{background:rgba(240,180,69,.08);font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--article-amber-2)}
.article-table tbody th{color:var(--article-ink);font-weight:700;background:rgba(13,21,38,.75)}
.article-list{padding-left:1.4em;color:var(--article-muted);margin:18px 0 26px}
.article-list li{padding-left:.35em;margin:8px 0}
.article-list strong{color:var(--article-ink)}
.article-callout{border-left:2px solid var(--article-amber);background:rgba(240,180,69,.07);color:var(--article-muted);padding:18px 20px;margin:38px 0 24px}
.article-callout strong{color:var(--article-amber-2)}
.article-sources{border-top:1px solid var(--article-line);margin:28px clamp(24px,7vw,76px) 0;padding:46px 0 12px}
.article-sources h2{margin-top:0;font-size:1.7rem}
.article-sources > p:not(.article-kicker){color:var(--article-faint);font-size:.9rem;max-width:68ch}
.article-sources ol{list-style:none;padding:0;margin:24px 0 0;border-top:1px solid var(--article-line)}
.article-sources li{display:flex;gap:16px;padding:15px 0;border-bottom:1px solid var(--article-line);align-items:flex-start}
.source-index{font-family:'IBM Plex Mono',monospace;color:var(--article-amber);font-size:10px;padding-top:4px}
.source-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.source-copy a{color:var(--article-cyan)!important;font-size:.92rem;line-height:1.6;overflow-wrap:anywhere}
.source-copy small{color:var(--article-faint);font-size:.76rem;line-height:1.5;overflow-wrap:anywhere}
.article-related{border-top:1px solid var(--article-line);margin:40px clamp(24px,7vw,76px) 0;padding:42px 0 54px}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.related-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--article-line);background:rgba(16,26,48,.55);padding:15px 14px;min-height:78px;transition:border-color .2s,background .2s}
.related-card:hover{border-color:var(--article-amber);background:rgba(16,26,48,.95)}
.related-card span{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--article-faint);white-space:nowrap}
.related-card strong{font-family:'Shippori Mincho B1','Hiragino Mincho ProN',serif;font-size:.98rem;line-height:1.45;font-weight:700}
.related-card i{font-style:normal;color:var(--article-amber);font-family:'IBM Plex Mono',monospace}
.article-footer{max-width:960px;margin:0 auto;padding:22px clamp(20px,5vw,44px) 38px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--article-faint);font-family:'IBM Plex Mono',monospace;font-size:10px}
.article-footer a{color:var(--article-cyan)}

@media (max-width:860px){
  .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .article-header{padding-top:26px;align-items:flex-start}
  .article-status{font-size:0}
  .article-status i{font-size:initial;margin-top:10px}
  .article-breadcrumb{margin-bottom:26px}
  .article-title-block{padding:32px 22px 30px}
  .article-body{padding:34px 22px 14px;font-size:.96rem}
  .article-sources,.article-related{margin-left:22px;margin-right:22px}
  .article-facts{grid-template-columns:1fr;margin-bottom:36px}
  .article-facts > div{display:grid;grid-template-columns:96px 1fr;gap:0 12px;align-items:center}
  .article-facts span{grid-row:span 2}
  .article-facts strong{margin:0}
  .article-facts small{grid-column:2}
  .related-grid{grid-template-columns:1fr}
  .archive-grid{grid-template-columns:1fr}
  .archive-card{min-height:165px}
}
