:root {
  font-family:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  color:#e9edf4;
  background:#0c1016;
  font-synthesis:none;
  color-scheme:dark;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px;
}
body {
  margin:0;
}
a {
  color:inherit;
}
a:focus-visible {
  outline:3px solid #b8ff6c;
  outline-offset:6px;
}
.shell {
  max-width:1280px;
  margin:auto;
  padding:0 56px;
}
header {
  height:120px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #27303a;
}
.brand {
  display:flex;
  align-items:center;
  gap:13px;
  text-decoration:none;
  font-size:11px;
  letter-spacing:2px;
  line-height:1.6;
}
.brand strong {
  font-size:13px;
}
.mark {
  background:#b8ff6c;
  color:#102008;
  font-size:32px;
  line-height:52px;
  width:52px;
  text-align:center;
  border-radius:12px;
  font-weight:800;
  letter-spacing:-4px;
}
.mark span {
  font-size:24px;
}
.env {
  font-size:11px;
  letter-spacing:1.7px;
  color:#a7b2c2;
  display:flex;
  gap:9px;
  align-items:center;
}
.env i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#b8ff6c;
}
.eyebrow {
  font-size:10px;
  letter-spacing:2px;
  color:#9faabd;
  display:flex;
  justify-content:space-between;
  margin:40px 0;
}
.eyebrow span {
  color:#738194;
}
.hero {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:80px;
  align-items:center;
  margin:58px 0 48px;
}
.kicker {
  font-size:14px;
  color:#b8ff6c;
  letter-spacing:2px;
}
h1 {
  font-size:clamp(32px,3.6vw,47px);
  line-height:1.5;
  font-weight:600;
  letter-spacing:-1.5px;
  margin:16px 0 22px;
}
h1 span {
  display:block;
  color:#98a6b8;
}
.intro {
  font-size:14px;
  color:#a5b1c1;
  line-height:1.9;
}
.button {
  display:inline-flex;
  align-items:center;
  gap:36px;
  background:#b8ff6c;
  color:#14250b;
  padding:16px 20px;
  border-radius:7px;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  margin-top:18px;
}
.button:hover {
  background:#ccff98;
}
.status-card {
  background:radial-gradient(ellipse at 50% 35%,#253524 0,transparent 58%),#121921;
  border:1px solid #2b3641;
  border-radius:18px;
  padding:24px;
  text-align:center;
}
.card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#a8b6c6;
  font-size:11px;
}
.pill {
  border:1px solid #465c35;
  color:#c0eaa0;
  border-radius:20px;
  padding:6px 10px;
}
.orb {
  height:165px;
  display:grid;
  place-items:center;
}
.orb span {
  display:grid;
  place-items:center;
  border:1px solid #688a45;
  border-radius:50%;
  width:108px;
  height:108px;
  box-shadow:0 0 0 14px #729e4420,0 0 0 29px #729e440b;
  color:#d5f7b7;
  font-size:34px;
  font-weight:300;
}
.status-card h2 {
  font-size:17px;
  font-weight:500;
}
.status-card p {
  font-size:12px;
  line-height:1.9;
  color:#a3b0c0;
}
.notice {
  display:flex;
  gap:14px;
  align-items:center;
  padding:15px 20px;
  border:1px solid #2c3b35;
  background:#121d19;
  border-radius:8px;
  font-size:12px;
  color:#a9bbb0;
  line-height:1.8;
}
.notice>span {
  font-size:22px;
  color:#b8ff6c;
}
.notice p {
  margin:0;
}
.notice strong {
  color:#d8e9df;
}
.section-title {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:44px 0 22px;
}
.section-title h2 {
  font-size:19px;
  font-weight:500;
}
.section-title>span {
  font-size:10px;
  letter-spacing:1.8px;
  color:#8797aa;
}
.steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.step {
  position:relative;
  border:1px solid #2a3541;
  border-radius:10px;
  padding:24px;
  background:#111820;
}
.step-no {
  font-size:12px;
  color:#91a0b2;
}
.tag {
  float:right;
  font-size:10px;
  color:#a3afbd;
  border:1px solid #3e4c5b;
  padding:4px 7px;
  border-radius:4px;
}
.tag.ready {
  color:#c8eba8;
  border-color:#4f623b;
}
.step h3 {
  font-size:17px;
  margin:25px 0 11px;
  font-weight:500;
}
.step p {
  font-size:12px;
  color:#a3b0c0;
  line-height:1.9;
  margin:0;
}
.empty {
  display:flex;
  align-items:center;
  gap:22px;
  margin:28px 0 55px;
  padding:27px;
  border:1px dashed #354250;
  border-radius:10px;
}
.empty-icon {
  font-size:38px;
  color:#91a1b4;
}
.empty h2 {
  font-size:15px;
  margin:0 0 7px;
  font-weight:500;
}
.empty p {
  font-size:12px;
  color:#a3b0c0;
  margin:0;
  line-height:1.8;
}
.outline-pill {
  margin-left:auto;
  white-space:nowrap;
  border:1px solid #3c4857;
  border-radius:20px;
  padding:7px 11px;
  color:#a5b3c4;
  font-size:10px;
}
footer {
  display:flex;
  justify-content:space-between;
  border-top:1px solid #27303a;
  padding:27px 0 35px;
  font-size:10px;
  letter-spacing:1px;
  color:#91a0b3;
}
footer a {
  margin-left:26px;
  text-decoration:none;
}
.skip {
  position:absolute;
  top:0;
  left:20px;
  padding:12px;
  background:#b8ff6c;
  color:#14250b;
  transform:translateY(-110%);
}
.skip:focus {
  transform:translateY(0);
}
@media(max-width:850px) {
  .shell {
    padding:0 28px;
  }
  .hero {
    gap:30px;
    grid-template-columns:1.2fr 1fr;
  }
  .steps {
    gap:10px;
  }
  .step {
    padding:18px;
  }
  .env {
    font-size:9px;
  }
}
@media(max-width:640px) {
  .shell {
    padding:0 22px;
  }
  header {
    height:94px;
  }
  .env {
    letter-spacing:.6px;
  }
  .eyebrow {
    margin:28px 0;
    font-size:8px;
    letter-spacing:1px;
  }
  .hero {
    grid-template-columns:1fr;
    margin:36px 0 28px;
    gap:34px;
  }
  h1 {
    font-size:34px;
    letter-spacing:-1px;
  }
  .intro {
    font-size:13px;
  }
  .status-card {
    padding:20px;
  }
  .orb {
    height:140px;
  }
  .steps {
    grid-template-columns:1fr;
  }
  .section-title>span {
    display:none;
  }
  .step h3 {
    margin-top:18px;
  }
  .empty {
    padding:20px;
    flex-wrap:wrap;
    gap:12px;
  }
  .empty-icon {
    display:none;
  }
  .outline-pill {
    margin-left:0;
  }
  footer {
    gap:20px;
    flex-direction:column;
  }
  footer a {
    margin-left:14px;
  }
  .notice {
    align-items:flex-start;
    font-size:11px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
}
/* Private review surface: mobile-friendly, no third-party assets. */
[hidden]{display:none!important} input[type=password]{display:block;width:min(100%,28rem);padding:.8rem;margin:1rem 0;border:1px solid #aaa;border-radius:.5rem}button{padding:.7rem 1rem;margin:.3rem;border:1px solid #476575;border-radius:.5rem;background:#f1f7fa;color:#152e40;cursor:pointer}button:disabled{opacity:.5;cursor:default}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem;background:#f3f5f6;padding:1rem;max-height:32rem;overflow:auto}article{margin:1rem 0;padding:1rem;border:1px solid #ccd4d9;border-radius:.8rem}summary{cursor:pointer}#message{padding:1rem;background:#fff6df}#version{overflow-wrap:anywhere}section{margin:2rem 0}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #396ccd;outline-offset:3px}
