*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--color-ink);background:var(--color-paper);min-height:100vh;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{background:none;border:none;font:inherit;color:inherit;cursor:pointer}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
::selection{background:var(--color-accent);color:#fff}
:root{--color-ink:#1a1a1a;--color-paper:#ffffff;--color-navy:#0b1d3a;--color-navy-deep:#122948;--color-accent:#ff6b00;--color-accent-soft:#ff8c42;--color-mist:#f2f4f8;--color-line:#d0d5dd;--color-muted:#6b7280;--header-width:260px;--header-bar-height:64px;--radius:0;--container:1200px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:48px;--space-5:80px;--font-headline:"Noto Serif SC",Georgia,"Songti SC","SimSun",serif;--font-body:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;--font-data:"JetBrains Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;--ease:200ms ease-out}
.skip-link{position:fixed;top:-96px;left:8px;z-index:2000;padding:8px 16px;background:var(--color-accent);color:#fff;font-weight:700;transition:top var(--ease)}
.skip-link:focus{top:8px}
#main-content{margin-left:var(--header-width);min-height:70vh}
.site-header{position:fixed;top:0;left:0;width:var(--header-width);height:100vh;background-color:var(--color-navy);background-image:linear-gradient(to right,rgba(255,255,255,0.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,0.04) 1px,transparent 1px);background-size:20px 20px;color:#fff;z-index:1000;border-right:1px solid rgba(255,255,255,0.08)}
.site-header__bar{padding:32px 24px 0}
.site-header__panel{display:flex;flex-direction:column;flex:1;padding:0 24px 24px;overflow-y:auto}
.site-brand{display:flex;flex-direction:column;gap:4px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,0.15)}
.site-brand__name{font-family:var(--font-headline);font-weight:900;font-size:20px;line-height:1.2;color:#fff}
.site-brand__slogan{font-family:var(--font-data);font-size:12px;letter-spacing:0.08em;color:var(--color-accent-soft)}
.site-nav{margin-top:32px}
.site-nav__list{counter-reset:nav;display:flex;flex-direction:column}
.site-nav__item{counter-increment:nav;border-bottom:1px solid rgba(255,255,255,0.06)}
.site-nav__link{display:flex;align-items:baseline;gap:12px;padding:16px 4px;font-size:17px;font-weight:500;color:rgba(255,255,255,0.85);border-left:2px solid transparent;transition:background-color var(--ease),color var(--ease),border-color var(--ease),padding-left var(--ease)}
.site-nav__link::before{content:counter(nav,decimal-leading-zero);font-family:var(--font-data);font-size:12px;color:var(--color-accent);opacity:.85}
.site-nav__link:hover,.site-nav__link[aria-current="page"]{background:rgba(255,107,0,.12);border-left-color:var(--color-accent);color:#fff;padding-left:12px}
.site-nav__link[aria-current="page"]::after{content:"•";color:var(--color-accent);margin-left:auto;font-size:14px}
.site-header__footer{margin-top:auto;border-top:1px solid rgba(255,255,255,0.12);padding-top:16px}
.site-header__time-label{display:block;font-family:var(--font-data);font-size:10px;letter-spacing:.12em;color:var(--color-accent);text-transform:uppercase;margin-bottom:4px}
.site-header__time time{font-family:var(--font-data);font-size:20px;letter-spacing:.04em;color:#fff}
.site-header__actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-family:var(--font-body);font-size:14px;font-weight:700;line-height:1.2;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;border-radius:0;transition:background-color var(--ease),border-color var(--ease),color var(--ease)}
.btn--ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn--ghost:hover{border-color:var(--color-accent);background:var(--color-accent);color:#fff}
.site-header__fav-btn::before{content:"☆ ";color:var(--color-accent)}
.site-header__fav-btn[aria-pressed="true"]{background:var(--color-accent);border-color:var(--color-accent)}
.site-header__fav-btn[aria-pressed="true"]::before{content:"★ "}
.site-header__actions .btn{width:100%}
.scroll-progress{position:absolute;right:0;top:0;width:3px;height:100%;background:var(--color-accent);transform:scaleY(0);transform-origin:top;z-index:5;pointer-events:none}
.nav-toggle{display:none;align-items:center;gap:6px;padding:8px 12px;background:var(--color-navy-deep);color:#fff;border:1px solid rgba(255,255,255,.3);cursor:pointer}
.nav-toggle__icon{display:inline-block;font-size:16px;line-height:1}
.nav-toggle__icon::before{content:"☰"}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon::before{content:"×"}
.nav-toggle__label{font-size:13px;font-weight:500}
.site-footer{background:var(--color-ink);color:#fff;padding-left:var(--header-width);padding-top:56px;padding-bottom:24px}
.site-footer__inner{max-width:var(--container);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:40px}
.site-brand.site-brand--footer{padding-bottom:0;border-bottom:0}
.site-footer__brand .site-brand__name{color:#fff}
.site-footer__brand .site-brand__slogan{color:var(--color-accent-soft)}
.site-footer__statement{font-size:14px;color:rgba(255,255,255,.7);margin-top:16px;max-width:48ch}
.site-footer__heading{font-family:var(--font-headline);font-size:14px;font-weight:700;letter-spacing:.1em;color:var(--color-accent);margin-bottom:16px;text-transform:uppercase}
.site-footer__link-list li+li{margin-top:8px}
.site-footer__link-list a{color:rgba(255,255,255,.8);transition:color var(--ease)}
.site-footer__link-list a:hover{color:var(--color-accent)}
.site-footer__contact-list li{color:rgba(255,255,255,.8);line-height:1.8}
.site-footer__meta{max-width:var(--container);margin:48px auto 0;padding:16px 24px 0;border-top:1px solid rgba(255,255,255,.2);font-family:var(--font-data);font-size:12px;color:rgba(255,255,255,.6);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.container{max-width:var(--container);margin:0 auto;padding:0 24px}
.section{padding:var(--space-5) 0}
.section--tight{padding:var(--space-4) 0}
.grid{display:grid;gap:var(--space-3)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--5{grid-template-columns:repeat(5,1fr)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--font-data);font-size:14px;color:var(--color-muted)}
.breadcrumb a{color:var(--color-navy);transition:color var(--ease)}
.breadcrumb a:hover{color:var(--color-accent)}
.breadcrumb__sep{opacity:.35}
.media-frame{position:relative;overflow:hidden;background:var(--color-navy-deep);border:1px solid var(--color-line)}
.media-frame--wide{aspect-ratio:16/9}
.media-frame--square{aspect-ratio:1/1}
.media-frame--portrait{aspect-ratio:4/5}
.media-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:900px){
#main-content{margin-left:0}
.site-footer{padding-left:0;padding-top:40px}
.site-header{width:100%;height:auto;position:fixed;top:0;right:0;left:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
.site-header__bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;height:var(--header-bar-height)}
.site-header__bar .site-brand{flex-direction:row;align-items:baseline;gap:8px;padding:0;border-bottom:0}
.site-header__bar .site-brand__name{font-size:16px}
.site-header__bar .site-brand__slogan{display:none}
.nav-toggle{display:inline-flex}
.site-header__panel{position:absolute;top:var(--header-bar-height);left:0;width:100%;max-height:0;overflow:hidden;transition:max-height var(--ease),padding var(--ease),border-color var(--ease);padding:0;background:var(--color-navy);border-top:0 solid rgba(255,255,255,.12)}
.site-header__panel[data-open]{max-height:calc(100vh - var(--header-bar-height));padding:16px 16px 24px;border-top-width:1px;overflow-y:auto}
.site-nav{margin-top:0}
.site-header__footer{margin-top:24px}
.scroll-progress{display:none}
.site-footer__inner{grid-template-columns:1fr;gap:32px}
.site-footer__meta{margin:32px auto 0;padding:16px 24px 0}
}
@media (max-width:768px){
.grid--2,.grid--3,.grid--5{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
html{scroll-behavior:auto}
}
