/* ============ TRINITY DIVISION — shared design system ============ */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@300;400;500&display=swap');

:root{
  --bg:#0e1012;
  --bg-2:#15181b;
  --bg-3:#1d2125;
  --bg-4:#262b30;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);
  --text:#e8ebef;
  --text-dim:#8a9099;
  --text-low:#5a6068;
  --ember:#ff5a1f;
  --ember-2:#ff7a3d;
  --ember-deep:#b33a10;
  --steel:#6ea5c7;
  --jade:#8fb85a;
  --rail:64px;
  --nav-h:72px;
  --font-zh:"Microsoft YaHei","微软雅黑","PingFang SC","Hiragino Sans GB",sans-serif;
  --font-en:"Barlow Condensed",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--text);font-family:var(--font-zh);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body{min-height:100vh;position:relative}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
img{max-width:100%;display:block}

/* fine grain */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence baseFrequency='1.1' numOctaves='2' seed='4'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity:.5;mix-blend-mode:overlay;
}

/* ============ LEFT RAIL ============ */
.rail{
  position:fixed;left:0;top:0;bottom:0;width:var(--rail);z-index:40;
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;
  background:rgba(14,16,18,.86);backdrop-filter:blur(8px);
}
.rail .mark{
  margin-top:14px;width:40px;height:40px;display:grid;place-items:center;
  background:var(--ember);color:#0a0a0a;
  font-family:var(--font-en);font-weight:800;font-size:14px;letter-spacing:.04em;
}
.rail .letters{
  flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px;
  font-family:var(--font-en);font-weight:600;font-size:12px;color:var(--text-dim);
  letter-spacing:.3em;
}
.rail .letters span{display:block;text-align:center;transition:color .3s}
.rail .letters span.hot{color:var(--ember)}
.rail .foot{
  font-family:var(--font-mono);font-size:9px;color:var(--text-low);
  writing-mode:vertical-rl;transform:rotate(180deg);padding:12px 0;letter-spacing:.2em;
}

/* ============ TOP NAV ============ */
.nav{
  position:fixed;left:var(--rail);right:0;top:0;height:var(--nav-h);z-index:35;
  display:flex;align-items:center;gap:28px;
  padding:0 36px;
  background:linear-gradient(180deg,rgba(14,16,18,.94) 0%,rgba(14,16,18,.6) 70%,transparent 100%);
  border-bottom:1px solid var(--line);
}
.nav .brand{display:flex;flex-direction:column;gap:2px;line-height:1}
.nav .brand .zh{font-family:var(--font-zh);font-weight:700;font-size:15px;color:var(--text);letter-spacing:.18em}
.nav .brand .en{font-family:var(--font-en);font-weight:700;font-size:11px;color:var(--ember);letter-spacing:.3em}
.nav ul{list-style:none;display:flex;gap:26px;margin-left:24px}
.nav ul a{
  font-family:var(--font-zh);font-weight:400;font-size:13px;color:var(--text-dim);
  padding:6px 0;display:inline-block;position:relative;transition:color .2s;
}
.nav ul a:hover,.nav ul a.active{color:var(--text)}
.nav ul a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--ember);
}
.nav .cta{margin-left:auto;display:flex;gap:10px;align-items:center}
.nav .meta{font-family:var(--font-mono);font-size:10px;color:var(--text-low);letter-spacing:.14em;text-align:right}
.nav .meta b{color:var(--ember);font-weight:500}
.btn{
  display:inline-flex;align-items:center;gap:10px;padding:10px 20px;
  font-family:var(--font-en);font-weight:700;font-size:13px;letter-spacing:.22em;
  border:1px solid var(--line-2);color:var(--text);
  background:rgba(255,255,255,.02);
  transition:all .2s;cursor:pointer;text-transform:uppercase;
}
.btn:hover{border-color:var(--ember);color:var(--ember)}
.btn.primary{background:var(--ember);color:#0a0a0a;border-color:var(--ember)}
.btn.primary:hover{background:var(--ember-2);color:#0a0a0a}
.btn .dot{width:6px;height:6px;background:currentColor;display:inline-block}

/* layout */
.shell{padding-left:var(--rail);padding-top:var(--nav-h);position:relative;z-index:2}

/* section */
.section{padding:100px 64px;border-top:1px solid var(--line)}
.section:first-child{border-top:none}
.kicker{
  font-family:var(--font-en);font-weight:700;font-size:11px;letter-spacing:.4em;
  color:var(--ember);text-transform:uppercase;margin-bottom:18px;
  display:flex;align-items:center;gap:12px;
}
.kicker::before{content:"";width:32px;height:1px;background:var(--ember)}
.kicker .num{color:var(--text-low);letter-spacing:.25em}
h1,h2,h3{font-family:var(--font-zh);font-weight:700;color:var(--text);line-height:1.1}
.h-display{font-size:clamp(48px,7vw,108px);font-weight:800;letter-spacing:.02em;line-height:.95}
.h-section{font-size:clamp(36px,4.6vw,64px);font-weight:700;letter-spacing:.04em}
.h-card{font-size:22px;font-weight:700;letter-spacing:.06em}
.lead{font-size:16px;line-height:1.9;color:var(--text-dim);max-width:62ch}
.mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--text-low)}
.en{font-family:var(--font-en);letter-spacing:.2em;text-transform:uppercase}

/* card */
.card{
  background:var(--bg-2);border:1px solid var(--line);position:relative;
  transition:border-color .2s,transform .3s;
}
.card:hover{border-color:var(--line-2)}
.card .corner{position:absolute;width:12px;height:12px;border:1px solid var(--ember)}
.card .corner.tl{top:-1px;left:-1px;border-right:none;border-bottom:none}
.card .corner.tr{top:-1px;right:-1px;border-left:none;border-bottom:none}
.card .corner.bl{bottom:-1px;left:-1px;border-right:none;border-top:none}
.card .corner.br{bottom:-1px;right:-1px;border-left:none;border-top:none}

/* hud bits */
.hud-tag{
  display:inline-flex;align-items:center;gap:8px;padding:4px 10px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;
  border:1px solid var(--line-2);color:var(--text-dim);text-transform:uppercase;
}
.hud-tag.ember{color:var(--ember);border-color:rgba(255,90,31,.4)}
.hud-tag .sq{width:6px;height:6px;background:currentColor}

.grid-bg{
  background-image:
    linear-gradient(to right,rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:48px 48px;
}
.scanline{position:absolute;left:0;right:0;height:1px;background:var(--line)}

/* image frame */
.frame{
  position:relative;border:1px solid var(--line-2);background:var(--bg-3);
  overflow:hidden;
}
.frame img{width:100%;height:100%;object-fit:cover;display:block}
.frame .tag{
  position:absolute;left:12px;top:12px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;
  padding:4px 8px;background:rgba(0,0,0,.7);color:var(--ember);
  border:1px solid rgba(255,90,31,.4);
}
.frame .caption{
  position:absolute;left:12px;right:12px;bottom:10px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:var(--text-dim);
  display:flex;justify-content:space-between;gap:12px;
}
.frame .caption b{color:var(--text);font-weight:500}
.frame.ph{display:grid;place-items:center;color:var(--text-low);font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;min-height:200px}

/* footer */
.foot{
  padding:60px 64px 36px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;
  color:var(--text-low);font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;
}
.foot .big{font-family:var(--font-en);font-weight:800;font-size:48px;color:var(--bg-4);letter-spacing:.1em;line-height:1}

/* utilities */
.row{display:flex;gap:24px}
.col{display:flex;flex-direction:column;gap:16px}
.divider{height:1px;background:var(--line);margin:24px 0}
.tick{color:var(--ember)}

/* responsive */
@media (max-width:900px){
  :root{--rail:48px;--nav-h:60px}
  .nav{padding:0 20px;gap:16px}
  .nav ul{display:none}
  .section{padding:60px 24px}
}
