:root{
  --paper:#F7F8FA;
  --ink:#101418;
  --deep:#0B1E33;
  --blue:#103A5E;
  --blue-light:#1E6FA8;
  --teal:#0E3B43;
  --indigo:#2E2A6B;
  --wine:#5E1F32;
  --signal:#FF6A00;
  --amber:#FFB020;
  --line:#C6CED6;
  --mid:#7C858D;
  --text:#101418;
  --text-inv:#F7F8FA;
  --font-display:"Source Han Sans SC","Noto Sans SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --font-body:"Source Han Sans SC","Noto Sans SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono","Courier New",monospace;
  --wide:1400px;
  --read:72ch;
  --step:clamp(1.5rem,3vw,3.5rem);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.7;letter-spacing:.01em}
img{max-width:100%;height:auto}
a{color:var(--blue-light)}
a:hover{color:var(--signal)}
button,input,select,textarea{font:inherit}
h1,h2,h3,h4,p,ul,ol,dl,figure,blockquote{margin:0}
ul,ol{padding-left:1.2em}
:focus-visible{outline:3px solid var(--signal);outline-offset:2px}
.skip-link{position:absolute;left:1rem;top:-4rem;z-index:999;background:var(--signal);color:#111;padding:.6rem .9rem;text-decoration:none;font-weight:800}
.skip-link:focus{top:1rem}
.wrap{width:min(100% - 2rem,var(--wide));margin-inline:auto}
.panel{position:relative;background:var(--paper);color:var(--text);padding:var(--step) 0}
.panel--paper{background:var(--paper);color:var(--text)}
.panel--blue{background:var(--blue);color:var(--text-inv)}
.panel--ink{background:var(--deep);color:var(--text-inv)}
.panel--teal{background:var(--teal);color:var(--text-inv)}
.panel--indigo{background:var(--indigo);color:var(--text-inv)}
.panel--wine{background:var(--wine);color:var(--text-inv)}
.section-band{background:var(--blue);color:var(--text-inv);padding:1rem 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.section-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.75rem;margin-bottom:1.25rem}
.eyebrow{font-size:.75rem;letter-spacing:.18em;color:var(--signal);font-weight:800;text-transform:uppercase}
.display{font-family:var(--font-display);font-weight:900;line-height:1.05;letter-spacing:.015em}
.display-xl{font-size:clamp(2.4rem,7vw,6.5rem)}
.lead{font-size:clamp(1rem,1.4vw,1.2rem);max-width:62ch;opacity:.9}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.annotation{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.2em;font-size:.72rem;color:var(--mid);text-transform:uppercase}
.vertical-note{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.22em;font-size:.68rem;color:var(--mid)}
.rule{height:1px;background:var(--line);border:0;margin:var(--step) 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.65rem 1.1rem;border:1px solid currentColor;background:transparent;color:inherit;text-decoration:none;font-weight:800;font-size:.9rem;letter-spacing:.04em;cursor:pointer}
.btn-primary{background:var(--signal);border-color:var(--signal);color:#111}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.grid{display:grid;gap:clamp(1rem,2.5vw,2rem)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat{background:var(--paper);border-left:4px solid var(--signal);padding:1rem}
.stat-num{display:block;font-family:var(--font-mono);font-size:clamp(2rem,5vw,4rem);font-weight:800;line-height:1;color:var(--blue)}
.stat-label{display:block;margin-top:.4rem;font-size:.78rem;color:var(--mid);letter-spacing:.08em}
.table-scroll{overflow-x:auto;border:1px solid var(--line);background:#fff}
.data-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}
.data-table th,.data-table td{padding:.6rem .75rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.data-table thead th{position:sticky;top:0;background:var(--blue);color:#fff;font-size:.78rem;letter-spacing:.08em;z-index:1}
.data-table tbody tr:nth-child(even){background:#F1F4F7}
.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{display:inline-flex;align-items:center;min-height:2rem;padding:.3rem .7rem;border:1px solid var(--line);background:#fff;color:var(--text);font-size:.78rem;text-decoration:none;cursor:pointer}
.chip[aria-pressed="true"],.chip.is-active{background:var(--blue);border-color:var(--blue);color:#fff}
.breadcrumbs{padding:.75rem 0;border-bottom:1px solid var(--line)}
.breadcrumb-list{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0;font-size:.82rem;color:var(--mid)}
.breadcrumb-list li+li::before{content:"/";margin-right:.4rem;color:var(--line)}
.breadcrumb-list a{color:var(--blue-light)}
.prose{max-width:var(--read)}
.prose p{margin:0 0 .8em}
.prose h2,.prose h3{margin:1.4em 0 .5em;font-family:var(--font-display);font-weight:900;line-height:1.15}
.media-frame{position:relative;overflow:hidden;background:var(--deep) repeating-linear-gradient(0deg,rgba(198,206,214,.14) 0 1px,transparent 1px 28px),repeating-linear-gradient(90deg,rgba(198,206,214,.11) 0 1px,transparent 1px 28px);border:1px solid var(--line);aspect-ratio:16/10}
.media-frame img{display:block;width:100%;height:100%;object-fit:cover}
.media-frame--tall{aspect-ratio:4/5}
.media-frame--wide{aspect-ratio:21/9}
.media-caption{margin-top:.45rem;font-size:.76rem;color:var(--mid);font-family:var(--font-mono)}
.toc-rail{position:sticky;top:6.5rem;align-self:start}
.toc-list{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.toc-link{display:block;padding:.35rem .75rem;color:var(--mid);text-decoration:none;font-size:.78rem;border-left:2px solid transparent;margin-left:-1px}
.toc-link[aria-current="true"],.toc-link:hover{color:var(--blue);border-left-color:var(--signal)}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.reveal.is-revealed{opacity:1;transform:none}
.site-header{position:sticky;top:0;z-index:50;background:var(--blue);color:#fff;border-bottom:1px solid rgba(255,255,255,.16)}
.site-header[data-scrolled]{box-shadow:0 6px 18px rgba(11,30,51,.18)}
.read-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:transparent;pointer-events:none}
.read-progress span{display:block;height:100%;width:100%;background:var(--signal);transform:scaleX(0);transform-origin:0 50%;transition:transform .1s linear}
.header-inner{width:min(100% - 2rem,var(--wide));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem}
.brand-lockup{display:flex;align-items:center;gap:.75rem;min-width:0}
.brand-mark{display:flex;align-items:baseline;gap:.45rem;color:#fff;text-decoration:none}
.brand-name{font-weight:900;font-size:1.25rem;letter-spacing:.12em}
.brand-sub{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.16em;color:var(--line)}
.brand-ver{display:inline-flex;align-items:center;padding:.18rem .45rem;border:1px solid rgba(255,176,32,.7);color:var(--amber);font-family:var(--font-mono);font-size:.68rem;white-space:nowrap}
.nav-toggle{display:none;align-items:center;gap:.4rem;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);padding:.5rem .65rem;cursor:pointer}
.nav-toggle-box{width:18px;height:2px;background:currentColor;position:relative}
.nav-toggle-box::before,.nav-toggle-box::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
.nav-toggle-box::before{top:-6px}
.nav-toggle-box::after{top:6px}
.nav-toggle-text{font-size:.78rem;letter-spacing:.08em}
.site-nav{display:flex;align-items:center;gap:1rem}
.nav-list{display:flex;align-items:center;gap:.1rem;list-style:none;margin:0;padding:0}
.nav-item{min-width:0}
.nav-link{display:block;padding:.6rem .55rem;color:rgba(247,248,250,.86);text-decoration:none;font-size:.86rem;font-weight:600;border-bottom:2px solid transparent}
.nav-link:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav-link[aria-current="page"]{color:#fff;border-bottom-color:var(--signal);background:rgba(11,30,51,.35)}
.header-utils{display:flex;align-items:center;gap:.5rem;padding-left:.75rem;border-left:1px solid rgba(255,255,255,.22)}
.util-link{display:inline-flex;align-items:center;min-height:2.1rem;padding:.3rem .6rem;color:#fff;text-decoration:none;font-size:.76rem;letter-spacing:.04em;border:1px solid rgba(255,255,255,.25)}
.util-link:hover{border-color:#fff}
.util-link--accent{background:var(--signal);border-color:var(--signal);color:#111;font-weight:800}
.site-footer{background:var(--deep);color:var(--text-inv);padding:clamp(2rem,5vw,4rem) 0 1.25rem}
.footer-inner{width:min(100% - 2rem,var(--wide));margin-inline:auto}
.footer-top{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:clamp(1rem,3vw,2.5rem);border-bottom:1px solid rgba(198,206,214,.25);padding-bottom:clamp(1.5rem,4vw,2.5rem)}
.footer-brand{max-width:30ch}
.footer-mark{display:block;font-weight:900;font-size:1.1rem;letter-spacing:.1em}
.footer-note{margin:.6rem 0 0;color:var(--line);font-size:.8rem;line-height:1.7}
.footer-col{min-width:0}
.footer-heading{margin:0 0 .7rem;font-size:.78rem;letter-spacing:.12em;color:var(--amber);font-weight:800}
.footer-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.footer-link{color:rgba(247,248,250,.82);text-decoration:none;font-size:.8rem}
.footer-link:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--signal)}
.footer-contact-line{padding:1rem 0;border-bottom:1px solid rgba(198,206,214,.25);color:var(--line);font-size:.78rem;font-family:var(--font-mono)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-top:1rem;color:var(--mid);font-size:.75rem}
.footer-update{color:var(--amber);font-family:var(--font-mono)}
.footer-legal{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.legal-link{color:var(--line);text-decoration:none}
.legal-link:hover{color:#fff}
@media (max-width:1080px){
  .footer-top{grid-template-columns:1fr 1fr}
}
@media (max-width:980px){
  .nav-toggle{display:inline-flex}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--blue);border-top:1px solid rgba(255,255,255,.2);padding:1rem;flex-direction:column;align-items:stretch;gap:.75rem;max-height:calc(100vh - 4.5rem);overflow-y:auto}
  .site-nav[data-open]{display:flex}
  .nav-list{flex-direction:column;align-items:stretch}
  .nav-link{padding:.7rem .6rem;border-bottom:1px solid rgba(255,255,255,.12)}
  .header-utils{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding-left:0;padding-top:.75rem;flex-wrap:wrap}
}
@media (max-width:900px){
  .grid-2,.grid-3{grid-template-columns:1fr}
}
@media (max-width:700px){
  .header-inner{min-height:4rem}
  .brand-sub{display:none}
  .brand-ver{font-size:.6rem}
  .footer-top{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
}
