/* ===== Reset ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{min-height:100vh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.75;background:var(--color-bg);color:var(--color-white);-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:none;padding:0;cursor:pointer}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.25;font-weight:700;color:var(--color-white);word-break:break-word}
p{margin-block-end:1rem}

/* ===== Design Tokens ===== */
:root{
  --color-bg:#0A1A2F;
  --color-bg-deep:#0F2A4A;
  --color-surface:#F5F7FA;
  --color-accent:#39FF14;
  --color-accent-dim:rgba(57,255,20,.12);
  --color-silver:#C0C0C0;
  --color-link:#1E90FF;
  --color-warning:#FFBF00;
  --color-muted:#4A6B8A;
  --color-white:#FFFFFF;
  --color-border:rgba(192,192,192,.22);
  --color-shadow:rgba(0,0,0,.45);
  --font-heading:'Orbitron','Arial Black','PingFang SC','Microsoft YaHei',sans-serif;
  --font-body:'Roboto Mono','SF Mono','Menlo','Consolas','PingFang SC','Microsoft YaHei',monospace;
  --text-xs:.75rem;
  --text-sm:.875rem;
  --text-base:1rem;
  --text-lg:1.25rem;
  --text-xl:1.5rem;
  --text-2xl:2rem;
  --text-3xl:2.5rem;
  --text-display:3.5rem;
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-5:1.5rem;
  --space-6:2rem;
  --space-8:3rem;
  --space-10:4rem;
  --space-12:5rem;
  --container:1280px;
  --radius:0;
  --border-w:2px;
  --shadow:6px 6px 0 var(--color-shadow);
  --shadow-sm:3px 3px 0 var(--color-shadow);
  --transition:.2s ease
}

/* ===== Base ===== */
::selection{background:var(--color-accent);color:var(--color-bg-deep)}
.container{width:min(100% - 2rem,var(--container));margin-inline:auto}
#main-content{outline:none}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}

/* ===== A11y Utilities ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ===== Skip Link ===== */
.skip-link{position:absolute;top:-3.5rem;left:1rem;z-index:2000;background:var(--color-accent);color:var(--color-bg-deep);font-family:var(--font-body);font-weight:700;font-size:var(--text-sm);padding:.75rem 1.25rem;border:var(--border-w) solid var(--color-white);box-shadow:var(--shadow-sm);transition:top .25s ease;white-space:nowrap}
.skip-link:focus{top:1rem}

/* ===== Header ===== */
.site-header{position:sticky;top:0;z-index:1000;background-color:var(--color-bg);background-image:linear-gradient(rgba(192,192,192,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(192,192,192,.04) 1px,transparent 1px);background-size:20px 20px;border-bottom:var(--border-w) solid var(--color-border)}
.site-header__main{display:flex;align-items:center;gap:var(--space-5);min-height:74px;padding-block:var(--space-2)}
.site-header__brand{display:inline-flex;align-items:center;gap:var(--space-3);flex-shrink:0;transition:opacity var(--transition)}
.site-header__brand:hover{opacity:.85}
.site-header__brand-mark{width:16px;height:16px;border:2px solid var(--color-accent);background:var(--color-accent-dim);box-shadow:3px 3px 0 rgba(57,255,20,.35);transition:transform .25s ease;flex-shrink:0}
.site-header__brand:hover .site-header__brand-mark{transform:rotate(90deg)}
.site-header__brand-text{display:inline-flex;flex-direction:column;line-height:1.15}
.site-header__logo{font-family:var(--font-heading);font-size:1.375rem;font-weight:800;letter-spacing:.04em;color:var(--color-white)}
.site-header__logo-sub{font-family:var(--font-body);font-size:.6rem;letter-spacing:.18em;color:var(--color-accent);white-space:nowrap}
.site-header__toggle{display:none;width:44px;height:44px;margin-inline-start:auto;border:2px solid var(--color-border);padding:10px;flex-shrink:0;transition:border-color var(--transition)}
.site-header__toggle:hover{border-color:var(--color-accent)}
.site-header__toggle-box{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%}
.site-header__toggle-line{display:block;height:2px;background:var(--color-white);transition:transform .25s ease,opacity .2s ease;transform-origin:center}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(1){transform:translateY(8px) rotate(45deg)}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(2){opacity:0}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.site-header__nav{margin-inline-start:auto}
.site-header__nav-list{display:flex;align-items:center;gap:var(--space-1)}
.site-header__nav-link{display:inline-flex;align-items:baseline;gap:.4em;padding:.55rem .75rem;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-silver);border:1px solid transparent;white-space:nowrap;transition:color .2s ease,background-color .2s ease,border-color .2s ease}
.site-header__nav-link:hover,.site-header__nav-link:focus-visible{color:var(--color-accent);background:var(--color-bg-deep);border-color:var(--color-border)}
.site-header__nav-link[aria-current="page"]{color:var(--color-accent);font-weight:700;background:var(--color-accent-dim);border-color:rgba(57,255,20,.45)}
.site-header__nav-index{font-size:.625rem;color:var(--color-muted);font-family:var(--font-body);line-height:1}
.site-header__nav-link[aria-current="page"] .site-header__nav-index{color:var(--color-accent)}
.site-header__status{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border:1px solid var(--color-border);background:var(--color-bg-deep);font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-silver);white-space:nowrap;flex-shrink:0}
.site-header__status-dot{width:8px;height:8px;background:var(--color-accent);box-shadow:0 0 8px rgba(57,255,20,.7);animation:status-pulse 2s ease-in-out infinite}
.site-header__progress{position:absolute;bottom:-2px;left:0;height:3px;width:0;background:var(--color-accent);box-shadow:0 0 10px rgba(57,255,20,.5);transition:width .08s linear}
@keyframes status-pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ===== Footer ===== */
.site-footer{margin-block-start:auto;background-color:var(--color-bg-deep);background-image:linear-gradient(rgba(192,192,192,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(192,192,192,.03) 1px,transparent 1px);background-size:24px 24px;border-top:3px solid var(--color-silver);color:var(--color-silver)}
.site-footer__grid{display:grid;grid-template-columns:1.6fr 1fr .8fr 1.2fr;gap:var(--space-8);padding-block:var(--space-10) var(--space-6)}
.site-footer__brand{display:inline-flex;align-items:center;gap:var(--space-3);margin-block-end:var(--space-4);transition:opacity var(--transition)}
.site-footer__brand:hover{opacity:.85}
.site-footer__brand-mark{width:14px;height:14px;border:2px solid var(--color-accent);background:var(--color-accent-dim);box-shadow:3px 3px 0 rgba(57,255,20,.25);flex-shrink:0}
.site-footer__brand-text{display:inline-flex;flex-direction:column;line-height:1.15}
.site-footer__logo{font-family:var(--font-heading);font-size:1.25rem;font-weight:800;color:var(--color-white);letter-spacing:.04em}
.site-footer__logo-sub{font-family:var(--font-body);font-size:.6rem;letter-spacing:.18em;color:var(--color-accent);white-space:nowrap}
.site-footer__statement{font-size:var(--text-sm);line-height:1.9;color:var(--color-silver);max-width:34em}
.site-footer__title{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;color:var(--color-white);letter-spacing:.1em;margin-block-end:var(--space-4);text-transform:uppercase;display:flex;align-items:center;gap:.35em}
.site-footer__title-mark{color:var(--color-accent);font-family:var(--font-body);font-size:var(--text-xs)}
.site-footer__list{display:flex;flex-direction:column;gap:.65rem}
.site-footer__list-item{font-size:var(--text-sm);line-height:1.5;color:var(--color-silver)}
.site-footer__list-item a{color:var(--color-silver);transition:color .2s ease,padding-left .2s ease}
.site-footer__list-item a:hover{color:var(--color-accent);padding-left:4px}
.site-footer__list-item a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.site-footer__label{display:block;font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.05em;margin-block-end:.15rem}
.site-footer__bottom{border-top:1px solid var(--color-border);padding-block:var(--space-4)}
.site-footer__bottom-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-muted)}
.site-footer__copyright{color:var(--color-muted)}
.site-footer__icp{color:var(--color-muted)}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;border:var(--border-w) solid transparent;cursor:pointer;text-align:center;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}
.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--color-shadow)}
.btn--primary{background:var(--color-accent);color:var(--color-bg-deep);border-color:var(--color-accent)}
.btn--primary:hover{background:var(--color-bg-deep);color:var(--color-accent);border-color:var(--color-accent)}
.btn--outline{background:transparent;color:var(--color-white);border-color:var(--color-silver)}
.btn--outline:hover{border-color:var(--color-accent);color:var(--color-accent)}

/* ===== Breadcrumb ===== */
.breadcrumb{border-bottom:1px solid var(--color-border);padding-block:var(--space-3)}
.breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.breadcrumb__item{display:inline-flex;align-items:center;font-size:var(--text-xs);color:var(--color-muted)}
.breadcrumb__item + .breadcrumb__item::before{content:'/';margin-inline-end:.5rem;color:var(--color-muted);opacity:.5}
.breadcrumb__link{color:var(--color-muted);transition:color .2s ease}
.breadcrumb__link:hover{color:var(--color-accent)}
.breadcrumb__item:last-child{color:var(--color-accent);font-weight:700}
.breadcrumb__item:last-child .breadcrumb__link{color:inherit;cursor:default}

/* ===== Sections ===== */
.section{padding-block:var(--space-12)}
.section--tight{padding-block:var(--space-6)}
.section-head{margin-block-end:var(--space-8);max-width:720px}
.section-title{font-size:var(--text-2xl);color:var(--color-white);margin-block-end:var(--space-2);letter-spacing:.02em}
.section-sub{font-size:var(--text-base);color:var(--color-muted);line-height:1.8}

/* ===== Grid ===== */
.grid{display:grid;gap:var(--space-6)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ===== Cards ===== */
.card{background:var(--color-bg-deep);border:var(--border-w) solid var(--color-border);box-shadow:var(--shadow);padding:var(--space-6);transition:border-color .2s ease,box-shadow .2s ease}
.card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}
.card--light{background:var(--color-surface);color:var(--color-bg-deep);border-color:var(--color-surface)}
.card--light h1,.card--light h2,.card--light h3,.card--light h4,.card--light h5,.card--light h6{color:var(--color-bg-deep)}
.card--light p{color:var(--color-bg-deep)}

/* ===== Tags ===== */
.tag{display:inline-flex;align-items:center;gap:.4em;padding:.25rem .65rem;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;border:1px solid var(--color-border);color:var(--color-silver);background:var(--color-bg-deep);white-space:nowrap}
.tag--live{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-dim)}
.tag--beta{color:var(--color-warning);border-color:var(--color-warning);background:rgba(255,191,0,.1)}

/* ===== Image Frame ===== */
.img-frame{display:block;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--color-bg-deep);border:var(--border-w) solid var(--color-border);box-shadow:var(--shadow-sm)}
.img-frame img{width:100%;height:100%;object-fit:cover}

/* ===== Responsive ===== */
@media(max-width:1100px){
  .site-header__main{gap:var(--space-3)}
  .site-header__nav-list{gap:0}
  .site-header__nav-link{padding:.45rem .5rem;font-size:.8125rem}
}
@media(min-width:900px){
  .site-header__nav{display:flex}
  .site-header__nav[data-open]{display:flex}
}
@media(max-width:899.98px){
  .site-header__main{flex-wrap:wrap;min-height:60px;gap:var(--space-2)}
  .site-header__toggle{display:block}
  .site-header__status{display:none}
  .site-header__nav{flex-basis:100%;width:100%;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .35s ease,opacity .25s ease,visibility .35s}
  .site-header__nav[data-open]{max-height:480px;opacity:1;visibility:visible}
  .site-header__nav-list{flex-direction:column;align-items:stretch;gap:0;padding-block:var(--space-2);border-top:1px solid var(--color-border)}
  .site-header__nav-link{display:flex;width:100%;padding:.9rem .5rem;border:none;border-bottom:1px solid var(--color-border)}
  .site-header__nav-link[aria-current="page"]{border-left:3px solid var(--color-accent);padding-left:calc(.5rem - 2px);background:var(--color-bg-deep)}
  .site-footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-6)}
  .section{padding-block:var(--space-8)}
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:599px){
  .site-footer__grid{grid-template-columns:1fr;gap:var(--space-6)}
  .site-footer__col--wide{padding-block-end:var(--space-4);border-bottom:1px solid var(--color-border)}
  .site-footer__bottom-inner{flex-direction:column;text-align:center}
  .grid--2,.grid--3{grid-template-columns:1fr}
  .section{padding-block:var(--space-6)}
  .site-header__logo{font-size:1.125rem}
  .site-header__logo-sub{font-size:.55rem}
}

/* ===== Reduced Motion ===== */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
}
