*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;}
h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd,ul,ol{margin:0;}
ul,ol{padding:0;list-style:none;}
img,svg,video{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
button{background:none;border:0;padding:0;cursor:pointer;}
table{border-collapse:collapse;width:100%;}

:root{
  --ink:#081826;
  --ink-soft:#0C2131;
  --paper:#F4EFE6;
  --orange:#FF6A1A;
  --teal:#37F2C8;
  --carbon:#202A33;
  --white:#FFFFFF;
  --steel:#2E4A62;
  --amber:#FFC24B;
  --mist:#C9D1D6;
  --deep-teal:#0E3B3A;
  --shell:1240px;
  --header-h:64px;
  --gutter:clamp(18px,5vw,64px);
  --radius:3px;
  --line:rgba(46,74,98,.28);
  --shadow-soft:0 18px 40px -24px rgba(8,24,38,.5);
  --ease:cubic-bezier(.22,.8,.28,1);
  --ff-display:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --ff-body:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --ff-serif:"Noto Serif SC","Songti SC","Source Han Serif SC",serif;
  --ff-mono:"JetBrains Mono","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}

html{background:var(--ink);}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--ff-body);
  font-size:16px;
  line-height:1.7;
  font-weight:400;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3,h4{font-family:var(--ff-display);font-weight:800;line-height:1.14;letter-spacing:-.015em;}
p{text-wrap:pretty;}

::selection{background:var(--orange);color:var(--ink);}

:focus-visible{outline:2px solid var(--orange);outline-offset:2px;}
.cmd-header :focus-visible,.cmd-footer :focus-visible{outline-color:var(--teal);outline-offset:3px;}

#main-content,[data-anchor]{scroll-margin-top:calc(var(--header-h) + 18px);}

/* ---------- layout ---------- */
.cmd-container{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.cmd-container--narrow{max-width:820px;}

.cmd-grid{display:grid;gap:clamp(16px,2.4vw,28px);}
.cmd-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.cmd-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.cmd-grid--12{grid-template-columns:repeat(12,minmax(0,1fr));}

.cmd-rule{height:1px;border:0;margin:clamp(20px,3vw,36px) 0;background:var(--steel);opacity:.35;}

.cmd-mono{font-family:var(--ff-mono);font-weight:500;letter-spacing:.04em;font-variant-numeric:tabular-nums;}

.cmd-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--ff-serif);
  font-size:13px;
  font-weight:600;
  letter-spacing:.2em;
  color:var(--orange);
  text-transform:uppercase;
}
.cmd-eyebrow::before{
  content:"";
  width:18px;
  height:2px;
  background:currentColor;
  display:inline-block;
}

.cmd-lede{
  font-size:clamp(1.02rem,1.5vw,1.22rem);
  line-height:1.72;
  color:var(--carbon);
  max-width:64ch;
}

.cmd-section-head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px 24px;
  padding-bottom:14px;
  margin-bottom:clamp(18px,3vw,32px);
  border-bottom:1px solid var(--line);
}
.cmd-section-head__title{
  font-family:var(--ff-display);
  font-weight:900;
  font-size:clamp(1.3rem,2.4vw,1.9rem);
  letter-spacing:-.02em;
}
.cmd-section-head__meta{
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--steel);
  text-transform:uppercase;
}

/* ---------- skip link ---------- */
.cmd-skip{
  position:fixed;
  top:-80px;
  left:12px;
  z-index:400;
  padding:11px 18px;
  background:var(--teal);
  color:var(--ink);
  font-family:var(--ff-display);
  font-weight:800;
  font-size:14px;
  border-radius:var(--radius);
  transition:top .18s var(--ease);
}
.cmd-skip:focus{top:10px;}

/* ---------- header ---------- */
.cmd-header{
  position:sticky;
  top:0;
  z-index:120;
  background:rgba(8,24,38,.93);
  -webkit-backdrop-filter:blur(14px) saturate(150%);
  backdrop-filter:blur(14px) saturate(150%);
  border-bottom:1px solid var(--steel);
  color:var(--white);
}
.cmd-header__inner{
  display:flex;
  align-items:center;
  gap:clamp(10px,2vw,26px);
  min-height:var(--header-h);
  padding-block:8px;
}

.cmd-brand{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  color:var(--white);
  border-radius:var(--radius);
}
.cmd-brand__mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 9px;
  background:var(--orange);
  color:var(--ink);
  font-family:var(--ff-mono);
  font-weight:700;
  font-size:15px;
  line-height:1;
  letter-spacing:.04em;
  border-radius:2px;
  box-shadow:inset 0 -2px 0 rgba(8,24,38,.3);
}
.cmd-brand__text{display:flex;flex-direction:column;gap:3px;line-height:1.1;}
.cmd-brand__name{
  font-family:var(--ff-display);
  font-weight:800;
  font-size:15px;
  letter-spacing:.05em;
}
.cmd-brand__sub{
  font-family:var(--ff-mono);
  font-size:9.5px;
  letter-spacing:.14em;
  color:var(--mist);
  text-transform:uppercase;
}

.cmd-nav{flex:1 1 auto;min-width:0;}
.cmd-nav__list{display:flex;align-items:center;gap:2px;flex-wrap:nowrap;}
.cmd-nav__item{display:block;}
.cmd-nav__link{
  position:relative;
  display:inline-flex;
  align-items:baseline;
  gap:6px;
  padding:9px 10px;
  border-radius:2px;
  color:var(--mist);
  font-size:14px;
  font-weight:500;
  letter-spacing:.02em;
  white-space:nowrap;
  transition:color .16s var(--ease),background-color .16s var(--ease);
}
.cmd-nav__idx{
  font-family:var(--ff-mono);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--steel);
  transition:color .16s var(--ease);
}
.cmd-nav__label{display:inline-block;}
.cmd-nav__link:hover{color:var(--white);background:rgba(46,74,98,.36);}
.cmd-nav__link:hover .cmd-nav__idx{color:var(--teal);}
.cmd-nav__link[aria-current="page"]{
  color:var(--white);
  background:var(--carbon);
  box-shadow:inset 0 -2px 0 var(--orange);
}
.cmd-nav__link[aria-current="page"] .cmd-nav__idx{color:var(--orange);}
.cmd-nav__note{
  display:none;
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.06em;
  color:var(--mist);
}

.cmd-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex:0 0 auto;}
.cmd-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border:1px solid var(--steel);
  border-radius:2px;
  background:rgba(32,42,51,.6);
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.05em;
  color:var(--mist);
  white-space:nowrap;
}
.cmd-status__dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--teal);
  box-shadow:0 0 0 3px rgba(55,242,200,.16);
  animation:cmd-pulse 2.8s ease-in-out infinite;
}
.cmd-status__text{display:inline-block;}
@keyframes cmd-pulse{0%,100%{opacity:1;}50%{opacity:.32;}}

.cmd-nav-toggle{
  display:none;
  align-items:center;
  gap:8px;
  margin-left:auto;
  padding:9px 11px;
  border:1px solid var(--steel);
  border-radius:2px;
  background:rgba(32,42,51,.55);
  color:var(--white);
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.1em;
  transition:border-color .16s var(--ease),color .16s var(--ease);
}
.cmd-nav-toggle:hover{border-color:var(--teal);color:var(--teal);}
.cmd-nav-toggle__bars{display:grid;gap:4px;width:16px;}
.cmd-nav-toggle__bar{
  display:block;
  width:16px;
  height:2px;
  background:currentColor;
  transition:transform .18s var(--ease),opacity .18s var(--ease);
}
.cmd-nav-toggle__txt{display:inline-block;}
.cmd-nav-toggle[aria-expanded="true"] .cmd-nav-toggle__bar:nth-child(1){transform:translateY(6px) rotate(45deg);}
.cmd-nav-toggle[aria-expanded="true"] .cmd-nav-toggle__bar:nth-child(2){opacity:0;}
.cmd-nav-toggle[aria-expanded="true"] .cmd-nav-toggle__bar:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.cmd-progress{
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:2px;
  background:var(--orange);
  transform:scaleX(0);
  transform-origin:0 50%;
  transition:transform .1s linear;
  pointer-events:none;
}

/* ---------- buttons ---------- */
.cmd-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:9px 16px;
  border:1px solid transparent;
  border-radius:2px;
  font-family:var(--ff-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:.04em;
  line-height:1.2;
  white-space:nowrap;
  transition:background-color .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease),transform .14s var(--ease);
}
.cmd-btn--accent{background:var(--orange);color:var(--ink);}
.cmd-btn--accent:hover{background:#FF8038;transform:translateY(-1px);}
.cmd-btn--ghost{background:transparent;border-color:var(--steel);color:var(--white);}
.cmd-btn--ghost:hover{border-color:var(--teal);color:var(--teal);}
.cmd-btn--paper{background:var(--ink);color:var(--paper);}
.cmd-btn--paper:hover{background:var(--carbon);color:var(--teal);}
.cmd-btn--block{width:100%;}

/* ---------- breadcrumb ---------- */
.cmd-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--steel);
}
.cmd-breadcrumb__item{display:inline-flex;align-items:center;gap:8px;}
.cmd-breadcrumb__item a{transition:color .16s var(--ease);}
.cmd-breadcrumb__item a:hover{color:var(--orange);}
.cmd-breadcrumb__sep{color:var(--steel);opacity:.6;}
.cmd-breadcrumb--ink{color:var(--mist);}
.cmd-breadcrumb--ink .cmd-breadcrumb__sep{color:var(--steel);}

/* ---------- cards ---------- */
.cmd-card{
  position:relative;
  padding:clamp(16px,2vw,24px);
  background:var(--white);
  color:var(--ink);
  border:1px solid rgba(46,74,98,.24);
  border-radius:var(--radius);
  transition:border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease);
}
.cmd-card:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:var(--shadow-soft);}
.cmd-card--ink{background:var(--carbon);border-color:var(--steel);color:var(--white);}
.cmd-card--ink:hover{border-color:var(--teal);}
.cmd-card--glass{
  background:rgba(32,42,51,.55);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  border-color:var(--steel);
  color:var(--white);
}
.cmd-card--glass:hover{border-color:var(--teal);}
.cmd-card__head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:8px 14px;
  margin-bottom:10px;
}
.cmd-card__title{
  font-family:var(--ff-display);
  font-weight:800;
  font-size:1.02rem;
  letter-spacing:-.01em;
}
.cmd-card__meta{
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--steel);
}
.cmd-card--ink .cmd-card__meta,.cmd-card--glass .cmd-card__meta{color:var(--mist);}

/* ---------- chips ---------- */
.cmd-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 9px;
  border:1px solid currentColor;
  border-radius:2px;
  font-family:var(--ff-mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.5;
  white-space:nowrap;
}
.cmd-chip--ink{color:var(--ink);background:rgba(8,24,38,.06);}
.cmd-chip--orange{color:var(--ink);background:var(--orange);border-color:var(--orange);}
.cmd-chip--teal{color:var(--teal);background:rgba(55,242,200,.1);border-color:rgba(55,242,200,.45);}
.cmd-chip--amber{color:var(--amber);background:rgba(255,194,75,.1);border-color:rgba(255,194,75,.45);}
.cmd-chip--steel{color:var(--mist);background:rgba(46,74,98,.4);border-color:var(--steel);}

/* ---------- figure ---------- */
.cmd-figure{margin:0;display:block;}
.cmd-figure__media{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--carbon);
  border:1px solid var(--steel);
  border-radius:2px;
}
.cmd-figure--wide .cmd-figure__media{aspect-ratio:21/9;}
.cmd-figure--square .cmd-figure__media{aspect-ratio:1/1;}
.cmd-figure--tall .cmd-figure__media{aspect-ratio:3/4;}
.cmd-figure__media img{width:100%;height:100%;object-fit:cover;}
.cmd-figure__ph{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--steel);
  background-image:
    repeating-linear-gradient(0deg,rgba(46,74,98,.35) 0 1px,transparent 1px 44px),
    repeating-linear-gradient(90deg,rgba(46,74,98,.35) 0 1px,transparent 1px 44px);
  background-position:center;
}
.cmd-figure__cap{
  margin-top:9px;
  font-size:13px;
  line-height:1.6;
  color:var(--steel);
  font-family:var(--ff-body);
}

/* ---------- reveal ---------- */
.cmd-reveal [data-reveal]{
  opacity:0;
  transform:translate3d(0,16px,0);
  transition:opacity .5s var(--ease),transform .5s var(--ease);
  will-change:opacity,transform;
}
.cmd-reveal [data-reveal].is-in{opacity:1;transform:none;}

/* ---------- footer ---------- */
.cmd-footer{
  position:relative;
  background:var(--ink);
  color:var(--mist);
  border-top:1px solid var(--steel);
  overflow:hidden;
}
.cmd-footer::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background-image:repeating-linear-gradient(90deg,var(--orange) 0 22px,rgba(55,242,200,.6) 22px 26px,transparent 26px 52px);
  opacity:.85;
}
.cmd-footer__inner{padding-block:clamp(36px,6vw,68px) 0;}
.cmd-footer__grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.72fr) minmax(0,.72fr) minmax(0,1fr);
  gap:clamp(24px,4vw,56px);
}
.cmd-footer__brand{display:block;}
.cmd-footer__wordmark{
  display:inline-block;
  font-family:var(--ff-display);
  font-weight:900;
  font-size:clamp(2.1rem,5vw,3.3rem);
  line-height:.86;
  letter-spacing:-.035em;
  color:var(--white);
}
.cmd-footer__dot{color:var(--orange);}
.cmd-footer__tagline{
  margin-top:16px;
  max-width:32ch;
  font-size:14px;
  line-height:1.75;
  color:var(--mist);
}
.cmd-footer__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:16px;
  padding:5px 10px;
  border:1px solid rgba(55,242,200,.35);
  border-radius:2px;
  background:rgba(55,242,200,.07);
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.06em;
  color:var(--teal);
}
.cmd-footer__col{display:block;}
.cmd-footer__contact{display:block;}
.cmd-footer__col-title{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin-bottom:12px;
  font-family:var(--ff-serif);
  font-size:14px;
  font-weight:600;
  letter-spacing:.16em;
  color:var(--white);
}
.cmd-footer__idx{
  font-family:var(--ff-mono);
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  color:var(--orange);
}
.cmd-footer__list{display:grid;gap:2px;}
.cmd-footer__link{
  display:inline-block;
  padding:5px 0;
  font-size:14px;
  color:var(--mist);
  border-bottom:1px solid transparent;
  transition:color .16s var(--ease),border-color .16s var(--ease);
}
.cmd-footer__link:hover{color:var(--white);border-bottom-color:var(--orange);}
.cmd-footer__link--inline{
  display:inline;
  padding:0;
  font-size:12px;
  border-bottom:1px solid rgba(201,209,214,.42);
}
.cmd-footer__contact-item{
  display:grid;
  gap:2px;
  padding:6px 0;
  font-size:13px;
  line-height:1.65;
}
.cmd-footer__label{
  font-family:var(--ff-mono);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--steel);
}
.cmd-footer__value{color:var(--mist);word-break:break-word;}
.cmd-footer__value.cmd-mono{color:var(--white);font-size:12.5px;}
.cmd-footer__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 24px;
  margin-top:clamp(26px,4vw,46px);
  padding-block:18px 26px;
  border-top:1px solid rgba(46,74,98,.7);
  font-size:12px;
  color:var(--mist);
}
.cmd-footer__legal{letter-spacing:.02em;line-height:1.9;}
.cmd-footer__icp{
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.06em;
  color:var(--mist);
  opacity:.72;
}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .cmd-status{display:none;}
}

@media (max-width:900px){
  .cmd-nav-toggle{display:inline-flex;}
  .cmd-nav{
    position:fixed;
    top:var(--header-h);
    left:0;
    right:0;
    z-index:110;
    max-height:calc(100vh - var(--header-h));
    max-height:calc(100dvh - var(--header-h));
    overflow-y:auto;
    padding:10px var(--gutter) 24px;
    background:rgba(8,24,38,.985);
    border-bottom:1px solid var(--steel);
    box-shadow:0 26px 44px rgba(0,0,0,.42);
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s linear;
  }
  .cmd-nav[data-open]{
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .cmd-nav__list{flex-direction:column;align-items:stretch;gap:0;flex-wrap:wrap;}
  .cmd-nav__item{width:100%;}
  .cmd-nav__link{
    width:100%;
    justify-content:flex-start;
    padding:14px 4px;
    font-size:15px;
    border-radius:0;
    border-bottom:1px solid rgba(46,74,98,.5);
  }
  .cmd-nav__link[aria-current="page"]{
    background:transparent;
    box-shadow:inset 3px 0 0 var(--orange);
    padding-left:14px;
  }
  .cmd-nav__idx{font-size:11px;}
  .cmd-nav__note{display:block;margin-top:16px;}
  .cmd-grid--12{grid-template-columns:repeat(6,minmax(0,1fr));}
  .cmd-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cmd-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.is-nav-open{overflow:hidden;}
}

@media (max-width:640px){
  .cmd-grid--2,.cmd-grid--3,.cmd-grid--12{grid-template-columns:minmax(0,1fr);}
  .cmd-footer__grid{grid-template-columns:minmax(0,1fr);gap:28px;}
  .cmd-footer__meta{flex-direction:column;align-items:flex-start;}
  .cmd-btn{padding:9px 13px;font-size:12.5px;}
  .cmd-brand__sub{display:none;}
  .cmd-brand__name{font-size:14px;}
}

@media (max-width:420px){
  .cmd-brand__text{display:none;}
  .cmd-brand__mark{font-size:14px;padding:7px 8px;}
  .cmd-nav-toggle__txt{display:none;}
  .cmd-nav-toggle{padding:9px 10px;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .cmd-reveal [data-reveal]{opacity:1;transform:none;}
  .cmd-card:hover,.cmd-btn--accent:hover{transform:none;}
}
