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

:root{
  --ink-900:#061A15;
  --ink-800:#0B2A22;
  --ink-700:#123B31;
  --cyan:#35F2D0;
  --cyan-deep:#0B8F7E;
  --orange:#FF6B2C;
  --yellow:#F6C44B;
  --ice:#ECFFF8;
  --mist:#9DBFB4;
  --glass-edge:#D7FFF4;
  --glass-bg:rgba(215,255,244,.06);
  --line:rgba(215,255,244,.14);
  --line-strong:rgba(215,255,244,.28);
  --font-display:"Barlow Condensed","Oswald","Noto Sans SC","HarmonyOS Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --font-body:"Noto Sans SC","HarmonyOS Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-mono:"IBM Plex Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --shell:1200px;
  --gutter:clamp(1rem,4vw,2.5rem);
  --radius:14px;
  --radius-sm:8px;
  --shadow-raise:0 18px 40px -26px rgba(0,0,0,.95);
  --ease:cubic-bezier(.22,.61,.36,1);
  --t:200ms;
}

body{
  font-family:var(--font-body);
  font-size:clamp(16px,.35vw + 15px,17.5px);
  line-height:1.75;
  letter-spacing:.01em;
  color:var(--ice);
  background:
    radial-gradient(80% 40% at 12% -6%,rgba(53,242,208,.14),transparent 62%),
    radial-gradient(60% 38% at 92% 4%,rgba(255,107,44,.10),transparent 60%),
    var(--ink-900);
  background-attachment:fixed;
  min-height:100vh;
}
::selection{background:var(--cyan);color:#04140F}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.15;letter-spacing:.005em}
strong{font-weight:700;color:var(--ice)}
small{font-size:.82em}
:focus-visible{outline:2px solid var(--glass-edge);outline-offset:3px;border-radius:6px}

.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}
.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}
.stack{display:grid;gap:clamp(.8rem,2vw,1.25rem)}

.skip-link{
  position:fixed;top:.6rem;left:.6rem;z-index:300;
  transform:translateY(-240%);
  background:var(--cyan);color:#04140F;
  padding:.55rem 1.1rem;border-radius:999px;
  font-weight:700;font-size:.88rem;letter-spacing:.06em;
  transition:transform var(--t) var(--ease);
}
.skip-link:focus,.skip-link:focus-visible{transform:none}

/* ---------- header ---------- */
.site-header{position:relative;z-index:60;background:var(--ink-900)}

.signal-line{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;
  gap:clamp(.5rem,2vw,1.25rem);
  padding:.4rem var(--gutter);
  background:linear-gradient(90deg,rgba(53,242,208,.14),rgba(255,107,44,.09) 58%,rgba(6,26,21,0));
  border-bottom:1px solid var(--line);
  font-family:var(--font-mono);font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);
}
.signal-line__label{color:var(--cyan);white-space:nowrap}
.signal-line__track{position:relative;height:2px;border-radius:2px;background:rgba(215,255,244,.16);overflow:hidden}
.signal-line__fill{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--yellow) 68%,var(--orange));transition:width 90ms linear}
.signal-line__meta{white-space:nowrap;color:rgba(157,191,180,.85)}

.masthead{
  position:relative;
  background:radial-gradient(120% 200% at 50% -80%,rgba(53,242,208,.2),transparent 62%),var(--ink-800);
  border-bottom:1px solid var(--line);
}
.masthead__inner{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;
  gap:clamp(.5rem,2vw,1.25rem);
  padding-block:clamp(.85rem,2.4vw,1.55rem);
}
.brand{display:inline-flex;align-items:center;gap:.7rem;justify-self:center;min-width:0}
.brand__mark{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(1.2rem,3.2vw,2rem);line-height:1;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ice);white-space:nowrap;
}
.brand__divider{width:1px;height:1.4em;background:linear-gradient(180deg,transparent,var(--cyan),transparent)}
.brand__sub{font-size:.7rem;letter-spacing:.22em;color:var(--mist);white-space:nowrap}

.nav-toggle{
  display:none;align-items:center;gap:.5rem;
  padding:.45rem .75rem;border:1px solid var(--line-strong);border-radius:999px;
  background:var(--glass-bg);color:var(--ice);
  font-size:.8rem;letter-spacing:.1em;
  transition:border-color var(--t) var(--ease),color var(--t) var(--ease);
}
.nav-toggle:hover{border-color:var(--cyan);color:var(--cyan)}
.nav-toggle__bars{display:grid;gap:3px;width:16px}
.nav-toggle__bars span{display:block;height:2px;border-radius:2px;background:var(--cyan);transition:transform var(--t) var(--ease),opacity var(--t) var(--ease)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.nav-toggle__text{font-weight:600}
.masthead__cta{justify-self:end;white-space:nowrap}

.primary-nav{background:rgba(11,42,34,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.primary-nav__inner{display:flex;justify-content:center}
.nav-list{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(.1rem,1.4vw,1.1rem)}
.nav-list__link{
  position:relative;display:block;padding:.95rem .7rem;
  font-size:.95rem;font-weight:500;letter-spacing:.06em;color:var(--mist);
  transition:color var(--t) var(--ease);
}
.nav-list__link::after{
  content:"";position:absolute;left:.7rem;right:.7rem;bottom:.55rem;height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--cyan-deep));
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--t) var(--ease);
}
.nav-list__link:hover{color:var(--ice)}
.nav-list__link:hover::after{transform:scaleX(1)}
.nav-list__link[aria-current="page"]{color:var(--ice)}
.nav-list__link[aria-current="page"]::after{transform:scaleX(1);background:linear-gradient(90deg,var(--yellow),var(--orange))}

/* ---------- schedule strip ---------- */
.schedule-strip{background:linear-gradient(180deg,rgba(18,59,49,.92),rgba(6,26,21,.94));border-bottom:1px solid var(--line)}
.schedule-strip__inner{padding-block:.55rem .8rem}
.schedule-strip__head{display:flex;align-items:center;gap:.75rem;padding-block:.15rem .45rem}
.schedule-strip__title{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan)}
.schedule-strip__hint{margin-left:auto;font-size:.7rem;letter-spacing:.1em;color:var(--mist)}
.schedule-strip__track{
  position:relative;display:flex;gap:.7rem;
  overflow-x:auto;overscroll-behavior-inline:contain;
  padding-block:.35rem .6rem;
  scroll-snap-type:x proximity;
  cursor:grab;
  scrollbar-width:thin;scrollbar-color:var(--cyan-deep) transparent;
}
.schedule-strip__track:focus-visible{outline:2px solid var(--glass-edge);outline-offset:3px;border-radius:var(--radius)}
.schedule-strip__track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.schedule-strip__track::-webkit-scrollbar{height:4px}
.schedule-strip__track::-webkit-scrollbar-track{background:rgba(215,255,244,.08);border-radius:4px}
.schedule-strip__track::-webkit-scrollbar-thumb{background:var(--cyan-deep);border-radius:4px}

.schedule-chip{
  flex:0 0 auto;scroll-snap-align:start;
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
  gap:.1rem .6rem;min-width:11.5rem;
  padding:.55rem .85rem;
  border:1px solid var(--line);border-radius:10px;
  background:var(--glass-bg);
  backdrop-filter:blur(6px);
  transition:border-color var(--t) var(--ease),background var(--t) var(--ease),transform var(--t) var(--ease),box-shadow var(--t) var(--ease);
}
.schedule-chip__time{grid-column:1;grid-row:1;font-family:var(--font-mono);font-size:1.05rem;font-weight:600;letter-spacing:.02em;color:var(--ice);line-height:1.2}
.schedule-chip__state{
  grid-column:2;grid-row:1;justify-self:end;
  font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;
  padding:.05rem .42rem;border:1px solid currentColor;border-radius:999px;
}
.schedule-chip__meta{grid-column:1 / -1;grid-row:2;font-size:.74rem;letter-spacing:.04em;color:var(--mist);white-space:nowrap}
.schedule-chip--pre .schedule-chip__state{color:var(--yellow)}
.schedule-chip--live .schedule-chip__state{color:var(--orange)}
.schedule-chip--post .schedule-chip__state{color:var(--cyan)}
.schedule-chip:hover{border-color:var(--cyan);background:rgba(53,242,208,.09);transform:translateY(-2px);box-shadow:var(--shadow-raise)}
.schedule-chip.is-active{border-color:var(--cyan);background:rgba(53,242,208,.1)}
.schedule-chip.is-active .schedule-chip__time{color:var(--cyan)}

/* ---------- quickbar ---------- */
.quickbar{display:none}
.quickbar__item{display:grid;justify-items:center;gap:.12rem;padding:.5rem .25rem .55rem;font-size:.7rem;letter-spacing:.06em;color:var(--mist)}
.quickbar__icon{font-size:.95rem;line-height:1;color:var(--cyan)}

/* ---------- footer ---------- */
.site-footer{margin-top:clamp(2rem,6vw,5rem);background:var(--ink-900);border-top:1px solid var(--line);color:var(--ice)}
.footer-stripe{
  height:6px;
  background:linear-gradient(90deg,var(--cyan) 0 16%,var(--cyan-deep) 16% 30%,var(--yellow) 30% 40%,var(--orange) 40% 48%,rgba(215,255,244,.12) 48% 100%);
}
.footer-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.55fr);gap:clamp(1.5rem,4vw,3rem);padding-block:clamp(2rem,5vw,3.5rem)}
.footer-brand{min-width:0}
.brand--footer{justify-self:start;flex-wrap:wrap;gap:.4rem .7rem}
.footer-brand__note{margin-top:.9rem;max-width:38ch;font-size:.9rem;line-height:1.7;color:var(--mist)}
.footer-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}

.contact-card{margin-top:1.2rem;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass-bg);backdrop-filter:blur(8px)}
.contact-card__row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding-block:.2rem;font-size:.86rem}
.contact-card__label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;color:var(--cyan);min-width:2.4rem}
.contact-card__value{color:var(--ice);word-break:break-word}
.copy-btn{
  margin-left:auto;padding:.12rem .55rem;
  border:1px solid var(--line-strong);border-radius:999px;
  font-size:.7rem;letter-spacing:.08em;color:var(--mist);
  transition:background var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease);
}
.copy-btn:hover{background:var(--cyan);border-color:var(--cyan);color:#04140F}
.copy-btn.is-copied{background:var(--yellow);border-color:var(--yellow);color:#1A1200}
.contact-card__note{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--line);font-size:.76rem;line-height:1.65;color:var(--mist)}
.contact-card__status{min-height:1.05rem;margin-top:.3rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--cyan)}

.footer-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem)}
.footer-col{min-width:0}
.footer-col__title{font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:.7rem}
.footer-col__list{display:grid;gap:.45rem}
.footer-col__list a{
  display:inline-block;padding-block:.1rem;
  font-size:.9rem;color:var(--mist);border-bottom:1px solid transparent;
  transition:color var(--t) var(--ease),border-color var(--t) var(--ease);
}
.footer-col__list a:hover{color:var(--ice);border-bottom-color:var(--cyan)}

.footer-meta{border-top:1px solid var(--line);background:var(--ink-800)}
.footer-meta__inner{display:flex;flex-wrap:wrap;gap:.35rem 1.5rem;padding-block:1rem 1.2rem;font-size:.78rem;color:var(--mist)}
.footer-meta__line{min-width:0}
.footer-meta__line--muted{color:rgba(157,191,180,.72)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.6rem 1.15rem;border:1px solid transparent;border-radius:999px;
  font-size:.86rem;font-weight:600;letter-spacing:.06em;
  transition:background var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease),transform var(--t) var(--ease),box-shadow var(--t) var(--ease);
}
.btn--primary{background:var(--cyan);color:#04140F;box-shadow:0 12px 28px -18px rgba(53,242,208,.9)}
.btn--primary:hover{background:#5cf7dc;transform:translateY(-1px)}
.btn--ghost{border-color:var(--line-strong);background:var(--glass-bg);color:var(--ice)}
.btn--ghost:hover{border-color:var(--cyan);color:var(--cyan)}
.btn--outline{border-color:var(--orange);color:var(--orange);background:transparent}
.btn--outline:hover{background:var(--orange);color:#1A0A00}

/* ---------- page primitives ---------- */
.section{padding-block:clamp(2rem,5vw,4rem)}
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem 1.2rem;margin-bottom:clamp(1rem,2.5vw,1.8rem)}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan)}
.eyebrow::before{content:"";width:1.6rem;height:1px;background:var(--cyan)}
.section-title{font-size:clamp(1.6rem,4vw,2.6rem);color:var(--ice)}
.section-head__note{margin-left:auto;max-width:34ch;font-size:.82rem;line-height:1.7;color:var(--mist)}
.rule{height:1px;margin-block:1.2rem;background:linear-gradient(90deg,var(--cyan),rgba(215,255,244,0))}
.band{
  padding:1rem 1.2rem;border-left:3px solid var(--orange);border-radius:0 var(--radius) var(--radius) 0;
  background:linear-gradient(90deg,rgba(255,107,44,.18),rgba(6,26,21,0) 85%);
}
.tag{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .55rem;border:1px solid currentColor;border-radius:999px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em}
.tag--pre{color:var(--yellow)}
.tag--live{color:var(--orange)}
.tag--post{color:var(--cyan)}
.tag--neutral{color:var(--mist)}
.card{
  padding:clamp(1rem,2.4vw,1.5rem);
  border:1px solid var(--line);border-radius:var(--radius);
  background:var(--glass-bg);backdrop-filter:blur(8px);
  transition:border-color var(--t) var(--ease),transform var(--t) var(--ease),box-shadow var(--t) var(--ease);
}
.card:hover{border-color:var(--cyan-deep);transform:translateY(-2px);box-shadow:var(--shadow-raise)}
.card__title{font-size:1.1rem;line-height:1.35;color:var(--ice)}
.card__meta{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;color:var(--mist)}
.stat{display:block;font-family:var(--font-mono);font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.05;color:var(--cyan);font-variant-numeric:tabular-nums}
.stat__label{display:block;margin-top:.35rem;font-family:var(--font-body);font-size:.74rem;letter-spacing:.12em;color:var(--mist)}
.grid{display:grid;gap:clamp(.8rem,2vw,1.25rem)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.breadcrumb{display:flex;flex-wrap:wrap;gap:.35rem;padding-block:.9rem;font-size:.78rem;letter-spacing:.04em;color:var(--mist)}
.breadcrumb li{display:inline-flex;align-items:center}
.breadcrumb li + li::before{content:"/";margin-right:.35rem;color:rgba(157,191,180,.5)}
.breadcrumb a{color:var(--mist);transition:color var(--t) var(--ease)}
.breadcrumb a:hover{color:var(--cyan)}
.prose{max-width:72ch;color:rgba(236,255,248,.92)}
.prose h2{font-size:clamp(1.2rem,2.4vw,1.6rem);margin-block:1.6rem .6rem;color:var(--ice)}
.prose h3{font-size:1.05rem;margin-block:1.2rem .5rem;color:var(--ice)}
.prose p + p{margin-top:.9rem}
.prose ul,.prose ol{margin-block:.8rem;padding-left:1.2rem;list-style:disc}
.prose li + li{margin-top:.35rem}
.prose a{color:var(--cyan);border-bottom:1px solid currentColor}

/* ---------- media frames ---------- */
.media-frame{
  position:relative;display:block;overflow:hidden;
  aspect-ratio:16 / 9;
  border:1px solid var(--line-strong);border-radius:var(--radius);
  background:linear-gradient(145deg,var(--ink-700),var(--ink-900));
}
.media-frame img,.media-frame > div{width:100%;height:100%;object-fit:cover}
.media-frame::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(215,255,244,.1)}
.media-frame--wide{aspect-ratio:21 / 9}
.media-frame--portrait{aspect-ratio:3 / 4}
.media-frame--square{aspect-ratio:1 / 1}
.media-frame--diagonal{clip-path:polygon(0 0,100% 0,100% 86%,0 100%)}
.media-frame__caption{
  position:absolute;left:0;right:0;bottom:0;
  padding:.7rem .9rem;
  font-size:.74rem;letter-spacing:.08em;color:var(--ice);
  background:linear-gradient(0deg,rgba(6,26,21,.88),rgba(6,26,21,0));
}

/* ---------- reveal ---------- */
.has-reveal [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity 240ms var(--ease),transform 240ms var(--ease)}
.has-reveal [data-reveal].is-visible{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .footer-inner{grid-template-columns:1fr}
  .footer-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:900px){
  body{padding-bottom:4rem}
  .nav-toggle{display:inline-flex}
  .brand__sub,.brand__divider{display:none}
  .masthead__cta{padding:.45rem .75rem;font-size:.75rem}
  .primary-nav{display:none;background:var(--ink-800);border-top:1px solid var(--line)}
  .primary-nav[data-open]{display:block}
  .primary-nav__inner{display:block}
  .nav-list{display:block}
  .nav-list__link{padding:.85rem 1.1rem;border-bottom:1px solid var(--line);font-size:.98rem}
  .nav-list__link::after{display:none}
  .nav-list__link[aria-current="page"]{background:rgba(53,242,208,.08);box-shadow:inset 3px 0 0 var(--cyan);color:var(--ice)}
  .grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quickbar{
    position:fixed;left:0;right:0;bottom:0;z-index:120;
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    padding-bottom:env(safe-area-inset-bottom,0);
    background:rgba(6,26,21,.95);
    border-top:1px solid var(--line-strong);
    backdrop-filter:blur(14px);
  }
  .quickbar__item:focus-visible{color:var(--ice);outline-offset:-3px}
  .section-head__note{margin-left:0;max-width:100%}
}
@media (max-width:720px){
  .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1rem}
  .grid--2,.grid--3,.grid--4{grid-template-columns:minmax(0,1fr)}
  .signal-line__meta{display:none}
  .schedule-chip{min-width:10.2rem}
}
@media (max-width:520px){
  .schedule-strip__hint{display:none}
  .footer-meta__inner{flex-direction:column;gap:.3rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .has-reveal [data-reveal],[data-reveal]{opacity:1 !important;transform:none !important}
  .btn--primary:hover,.card:hover,.schedule-chip:hover{transform:none}
}
