:root {
  --gap-sage:#B0C47D;
  --gap-olive:#A1BD57;
  --gap-acid:#C3F611;
  --gap-lime:#B0CB5B;
  --bg-main:#090B08;
  --bg-secondary:#0D100B;
  --bg-panel:#11140E;
  --bg-elevated:#151911;
  --text-primary:#F0F2E9;
  --text-secondary:#B6BAAC;
  --text-muted:#747A6C;
  --border-subtle:rgba(176,196,125,.14);
  --border-normal:rgba(161,189,87,.30);
  --border-active:rgba(176,203,91,.72);
  --border-live:#C3F611;
  --accent-primary:var(--gap-lime);
  --accent-secondary:var(--gap-olive);
  --accent-soft:var(--gap-sage);
  --accent-live:var(--gap-acid);
  --black:var(--bg-main);
  --deep:var(--bg-secondary);
  --panel:var(--bg-panel);
  --amber:var(--accent-primary);
  --hot:var(--text-secondary);
  --yellow:var(--accent-primary);
  --cream:var(--text-primary);
  --muted:var(--text-muted);
  --line:var(--border-normal);
  --faint:var(--border-subtle);
  --green:var(--accent-live);
  --display:"VT323",monospace;
  --mono:"IBM Plex Mono",monospace;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  min-width:320px;
  color:var(--hot);
  background:var(--black);
  font:14px/1.6 var(--mono);
}
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; cursor:pointer; }
.grain {
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:100;
  opacity:.13;
  background:
    repeating-linear-gradient(
      to bottom,
      transparent 0,
      transparent 3px,
      rgba(176,203,91,.055) 4px
    );
}
.grain:after {
  content:"";
  position:absolute;
  inset:0;
  opacity:.11;
  background-image:
    repeating-radial-gradient(#fff 0,#000 1px,transparent 2px);
  background-size:5px 5px;
}
.site-header {
  height:76px;
  padding:0 clamp(20px,4vw,60px);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  border-bottom:1px solid var(--line);
  background:rgba(9,11,8,.90);
  backdrop-filter:blur(12px);
  position:fixed;
  z-index:50;
  top:0;
  left:0;
  right:0;
}
.logo {
  width:max-content;
  display:flex;
  align-items:center;
  gap:9px;
}
.logo img {
  width:24px;
  height:24px;
  object-fit:contain;
  image-rendering:pixelated;
}
.logo>span {
  font:32px/1 var(--display);
  letter-spacing:2px;
  text-shadow:0 0 12px var(--accent-primary);
}
.logo>span b {
  color:var(--yellow);
  font-weight:400;
}
.logo small {
  color:var(--muted);
  font-size:7px;
  align-self:flex-start;
  margin-top:13px;
}
.desktop-nav {
  display:flex;
  align-items:center;
  gap:32px;
}
.desktop-nav a {
  color:var(--muted);
  font-size:9px;
  letter-spacing:.12em;
}
.desktop-nav a:hover { color:var(--yellow); }
.header-actions {
  justify-self:end;
  display:flex;
  align-items:center;
  gap:16px;
}
.chain {
  color:var(--muted);
  font-size:8px;
}
.chain i {
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  margin-right:6px;
  background:var(--green);
  box-shadow:0 0 8px var(--green);
  animation:pulse 1.8s infinite;
}
.x-link {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  color:var(--cream);
  font-size:10px;
  font-weight:600;
}
.x-link:hover {
  border-color:var(--amber);
  color:var(--bg-main);
  background:var(--amber);
}
.launch {
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:26px;
  min-width:210px;
  padding:13px 16px;
  color:var(--bg-main);
  background:var(--amber);
  border:1px solid var(--amber);
  font-size:10px;
  font-weight:600;
  letter-spacing:.04em;
  box-shadow:0 0 28px rgba(176,203,91,.08);
}
.launch:hover {
  background:var(--yellow);
  border-color:var(--yellow);
  box-shadow:0 0 35px rgba(195,246,17,.18);
}
.launch.small {
  min-width:142px;
  padding:10px 12px;
  font-size:8px;
}
.menu {
  display:none;
  border:1px solid var(--amber);
  background:transparent;
  width:38px;
  height:36px;
}
.hero {
  min-height:790px;
  padding:
    clamp(160px,17vh,205px)
    clamp(24px,8vw,125px)
    90px;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 78% 36%,rgba(176,203,91,.055),transparent 25%),
    radial-gradient(circle at 35% 5%,rgba(161,189,87,.025),transparent 35%);
}
.hero:after {
  content:"";
  position:absolute;
  right:3%;
  top:19%;
  width:min(43vw,570px);
  aspect-ratio:1;
  background:url("assets/praxis/praxis-logo.webp") center/contain no-repeat;
  opacity:.11;
  filter:saturate(1.4);
  transform:scale(1.12);
}
.hero-copy {
  position:relative;
  z-index:2;
  max-width:1040px;
}
.system-line {
  max-width:790px;
  padding-bottom:10px;
  display:flex;
  justify-content:space-between;
  border-bottom:1px dotted var(--line);
  color:var(--muted);
  font-size:8px;
  letter-spacing:.15em;
}
.blink {
  color:var(--yellow);
  animation:blink 1.1s steps(1) infinite;
}
.hero h1 {
  margin:42px 0 28px;
  color:var(--hot);
  font:clamp(70px,8.5vw,138px)/.77 var(--display);
  font-weight:400;
  letter-spacing:-.01em;
  text-shadow:
    0 0 9px rgba(176,203,91,.20),
    0 0 36px rgba(176,203,91,.12);
}
.hero h1 em {
  color:var(--yellow);
  font-style:normal;
}
.hero-lede {
  max-width:660px;
  margin:0;
  color:var(--text-secondary);
  font-size:13px;
  line-height:1.8;
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:30px;
  margin-top:34px;
}
.contract-bar {
  width:min(650px,100%);
  min-height:40px;
  margin-top:16px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  border:1px solid var(--line);
  background:rgba(13,16,11,.9);
  color:var(--hot);
  font-size:8px;
  letter-spacing:.08em;
}
.contract-bar>span,.contract-bar>i,.contract-bar>button { padding:0 12px; }
.contract-bar>span { color:var(--yellow); font-weight:600; }
.contract-bar code {
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--cream);
  font:500 9px var(--mono);
  white-space:nowrap;
}
.contract-bar>i {
  color:var(--muted);
  font-style:normal;
  border-left:1px solid var(--line);
}
.contract-bar>button {
  height:38px;
  border:0;
  border-left:1px solid var(--line);
  background:transparent;
  color:var(--yellow);
}
.contract-bar>button:hover { background:var(--yellow); color:var(--bg); }
.contract-bar[data-contract-live="true"]>i { color:var(--green); }
.text-link {
  color:var(--hot);
  font-size:9px;
  letter-spacing:.08em;
  border-bottom:1px solid var(--line);
  padding-bottom:4px;
}
.text-link b { color:var(--yellow); }
.text-link:hover { color:var(--yellow); }
.hero-proof {
  margin-top:80px;
  display:flex;
  gap:1px;
  width:max-content;
  border:1px solid var(--line);
}
.hero-proof div {
  min-width:170px;
  padding:11px 14px;
  border-right:1px solid var(--line);
  background:rgba(13,16,11,.82);
}
.hero-proof div:last-child { border:0; }
.hero-proof small {
  display:block;
  color:var(--muted);
  font-size:6px;
}
.hero-proof strong {
  color:var(--cream);
  font-size:9px;
  font-weight:500;
}
.hero-terminal {
  position:absolute;
  z-index:3;
  right:clamp(24px,7vw,105px);
  bottom:78px;
  width:min(30vw,430px);
  border:1px solid rgba(176,203,91,.72);
  background:rgba(8,10,7,.96);
  box-shadow:0 0 60px rgba(176,203,91,.08);
}
.terminal-bar {
  display:flex;
  justify-content:space-between;
  padding:9px 12px;
  border-bottom:1px solid var(--line);
  color:var(--yellow);
  background:rgba(161,189,87,.04);
  font-size:8px;
  letter-spacing:.1em;
}
.terminal-status { color:var(--green); }
.terminal-screen { padding:17px 18px 18px; }
.boot-row {
  display:grid;
  grid-template-columns:1fr auto;
  gap:15px;
  margin-bottom:5px;
  color:var(--muted);
  font-size:8px;
}
.boot-row b { color:var(--cream); font-weight:500; }
.gap-viz {
  height:68px;
  margin:14px 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:32px;
  border-top:1px dotted var(--line);
  border-bottom:1px dotted var(--line);
}
.candle {
  width:20px;
  height:31px;
  position:relative;
  border:1px solid var(--amber);
  background:rgba(176,203,91,.12);
}
.candle i {
  position:absolute;
  width:1px;
  height:47px;
  left:9px;
  top:-9px;
  background:var(--amber);
}
.open-candle { transform:translateY(-9px); background:var(--amber); }
.gap-label { text-align:center; color:var(--yellow); }
.gap-label span { display:block; font:25px/1 var(--display); }
.gap-label small { font-size:6px; }
.terminal-screen>p {
  margin:0 0 12px;
  color:var(--yellow);
  font-size:10px;
}
.odds-preview {
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-bottom:13px;
  border:1px solid var(--line);
}
.odds-preview div { padding:9px 10px; }
.odds-preview div+div { border-left:1px solid var(--line); }
.odds-preview small,.odds-preview span { display:block; color:var(--muted); font-size:6px; }
.odds-preview strong { color:var(--cream); font:22px var(--display); font-weight:400; }
.terminal-screen>a {
  display:block;
  color:var(--yellow);
  font-size:8px;
  letter-spacing:.08em;
}
.terminal-screen>a:hover { color:var(--cream); }
.tape {
  height:40px;
  overflow:hidden;
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--line);
  background:var(--bg-secondary);
}
.tape>div {
  display:flex;
  gap:52px;
  width:max-content;
  white-space:nowrap;
  animation:ticker 32s linear infinite;
  font-size:8px;
  letter-spacing:.06em;
}
.tape span { color:var(--muted); }
.tape b,.tape i { color:var(--yellow); font-style:normal; }
.section {
  padding:110px clamp(24px,7vw,105px);
  border-bottom:1px solid var(--line);
}
.section-label {
  margin-bottom:70px;
  display:flex;
  align-items:center;
  gap:16px;
  color:var(--muted);
  font-size:8px;
  letter-spacing:.14em;
}
.section-label span {
  width:32px;
  height:24px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  color:var(--yellow);
}
.section-label p { margin:0; }
.overline {
  color:var(--muted);
  font-size:8px;
  letter-spacing:.16em;
}
.problem {
  display:grid;
  grid-template-columns:150px 1.25fr 1fr;
  gap:70px;
  background:
    linear-gradient(90deg,rgba(161,189,87,.035),transparent 35%),
    var(--black);
}
.problem .section-label {
  align-self:start;
  margin:0;
}
.problem-copy h2,
.section-intro h2,
.market-heading h2,
.protocol-copy h2,
.faq h2 {
  margin:16px 0 0;
  color:var(--cream);
  font:clamp(48px,5vw,76px)/.88 var(--display);
  font-weight:400;
}
.problem-copy h2 em {
  color:var(--yellow);
  font-style:normal;
}
.problem-body {
  color:var(--text-secondary);
  line-height:1.85;
}
.problem-body>p:first-child {
  color:var(--cream);
  margin-top:40px;
}
.window-diagram {
  margin-top:42px;
  padding:18px 0;
  display:grid;
  grid-template-columns:1fr 26px 1fr 26px 1fr;
  align-items:center;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.window-diagram div {
  min-height:80px;
  padding:10px;
}
.window-diagram small,
.window-diagram b,
.window-diagram span {
  display:block;
  font-size:7px;
}
.window-diagram small { color:var(--muted); }
.window-diagram b { margin:7px 0; color:var(--cream); }
.window-diagram span { color:var(--hot); }
.window-diagram i {
  height:1px;
  background:var(--line);
  position:relative;
}
.window-diagram i:after {
  content:">";
  position:absolute;
  right:-2px;
  top:-9px;
  color:var(--muted);
}
.window-diagram .active {
  background:rgba(176,196,125,.04);
  border:1px solid var(--amber);
}
.window-diagram .active span { color:var(--yellow); }
.how {
  background:
    radial-gradient(circle at 70% 0,rgba(161,189,87,.035),transparent 35%),
    var(--bg-secondary);
}
.section-intro {
  max-width:760px;
  margin:0 auto 70px;
  text-align:center;
}
.section-intro>p:last-child {
  max-width:570px;
  margin:26px auto 0;
  color:var(--muted);
}
.steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:1180px;
  margin:auto;
  border:1px solid var(--line);
}
.steps article {
  min-height:340px;
  padding:28px;
  position:relative;
  border-right:1px solid var(--line);
  background:linear-gradient(150deg,rgba(17,20,14,.88),rgba(9,11,8,.96));
}
.steps article:last-child { border:0; }
.step-number {
  position:absolute;
  top:20px;
  right:22px;
  color:var(--muted);
  font-size:9px;
}
.step-icon {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:70px;
  border:1px solid var(--amber);
  color:var(--yellow);
  font:22px var(--display);
  box-shadow:inset 0 0 20px rgba(176,203,91,.08);
}
.steps h3 {
  margin:0;
  color:var(--cream);
  font:28px var(--display);
  font-weight:400;
  letter-spacing:.04em;
}
.steps p {
  min-height:70px;
  color:var(--muted);
  font-size:11px;
}
.steps small {
  color:var(--yellow);
  font-size:7px;
  letter-spacing:.1em;
}
.market-showcase { background:var(--bg-main); }
.market-heading {
  margin-bottom:48px;
  display:flex;
  justify-content:space-between;
  align-items:end;
}
.market-heading h2 { margin-top:12px; }
.market-grid {
  display:grid;
  grid-template-columns:1.6fr .7fr .7fr;
  gap:12px;
}
.featured,
.market-card {
  border:1px solid var(--line);
  background:linear-gradient(145deg,var(--bg-elevated),var(--bg-main));
}
.featured { padding:20px; }
.card-top {
  display:grid;
  grid-template-columns:45px 1fr auto;
  align-items:center;
  gap:13px;
}
.asset-chip {
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border:1px solid var(--amber);
  color:var(--yellow);
  font:20px var(--display);
}
.card-top small,
.card-top b {
  display:block;
}
.card-top small {
  color:var(--muted);
  font-size:7px;
}
.card-top b {
  color:var(--cream);
  font:25px var(--display);
  font-weight:400;
}
.live-pill {
  padding:5px 8px;
  color:var(--green);
  border:1px solid rgba(195,246,17,.35);
  font-size:7px;
}
.mini-chart {
  height:185px;
  margin:24px 0 15px;
  padding:10px;
  border:1px solid var(--faint);
}
.mini-chart svg {
  width:100%;
  height:100%;
}
.mini-chart .fill { fill:rgba(176,203,91,.12); }
.mini-chart .stroke {
  fill:none;
  stroke:var(--amber);
  stroke-width:2;
  filter:drop-shadow(0 0 4px var(--amber));
}
.market-bottom {
  display:grid;
  grid-template-columns:1fr 1fr 1fr auto;
  border-top:1px solid var(--line);
}
.market-bottom div { padding:12px; }
.market-bottom small,
.market-bottom strong {
  display:block;
}
.market-bottom small {
  color:var(--muted);
  font-size:6px;
}
.market-bottom strong {
  color:var(--yellow);
  font:21px var(--display);
}
.market-bottom a {
  align-self:center;
  padding:11px 14px;
  color:var(--bg-main);
  background:var(--amber);
  font-size:8px;
}
.market-card {
  padding:20px;
  display:flex;
  flex-direction:column;
}
.market-card>div:first-child {
  display:flex;
  align-items:center;
  gap:11px;
}
.market-card>div small {
  color:var(--muted);
  font-size:7px;
}
.market-card h3 {
  min-height:95px;
  color:var(--cream);
  font:27px/1 var(--display);
  font-weight:400;
}
.market-odds {
  margin:auto 0;
  display:flex;
  align-items:baseline;
  gap:7px;
}
.market-odds strong {
  color:var(--yellow);
  font:60px var(--display);
}
.market-odds span {
  color:var(--muted);
  font-size:8px;
}
.market-card footer {
  display:flex;
  justify-content:space-between;
  padding-top:12px;
  border-top:1px solid var(--faint);
  color:var(--muted);
  font-size:7px;
}
.moments { background:var(--bg-main); }
.moment-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
}
.moment-grid article {
  min-height:410px;
  padding:34px;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
}
.moment-grid article:last-child { border:0; }
.moment-grid article>small {
  color:var(--muted);
  font-size:7px;
}
.moment-grid h3 {
  color:var(--cream);
  font:clamp(44px,4vw,66px)/.83 var(--display);
  font-weight:400;
  margin:80px 0 20px;
}
.moment-grid p {
  color:var(--muted);
  font-size:11px;
  line-height:1.8;
}
.moment-time {
  margin-top:auto;
  padding-top:14px;
  display:flex;
  justify-content:space-between;
  border-top:1px dotted var(--line);
  color:var(--yellow);
  font-size:8px;
}
.protocol-grid {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:90px;
}
.protocol-copy>p:not(.overline) {
  max-width:470px;
  margin:26px 0;
  color:var(--muted);
}
.text-link {
  display:inline-flex;
  gap:24px;
  padding:10px 0;
  border-bottom:1px solid var(--amber);
  color:var(--hot);
  font-size:9px;
}
.text-link:hover { color:var(--yellow); }
.specs {
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid var(--line);
}
.specs div {
  min-height:118px;
  padding:18px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.specs div:nth-child(2n) { border-right:0; }
.specs div:nth-last-child(-n+2) { border-bottom:0; }
.specs span {
  float:right;
  color:var(--muted);
  font-size:7px;
}
.specs p {
  color:var(--muted);
  font-size:7px;
}
.specs strong {
  color:var(--cream);
  font:24px var(--display);
  font-weight:400;
}
.security-strip {
  margin-top:70px;
  padding:18px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border:1px solid var(--line);
  color:var(--yellow);
  font-size:8px;
}
.security-strip i {
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--amber);
}
.terminal-story {
  background:
    radial-gradient(circle at 50% 60%,rgba(176,203,91,.055),transparent 44%),
    var(--bg-main);
}
.boot-window {
  max-width:980px;
  margin:auto;
  border:1px solid var(--amber);
  box-shadow:0 0 60px rgba(176,203,91,.08);
}
.boot-head {
  padding:9px 15px;
  display:flex;
  justify-content:space-between;
  background:var(--amber);
  color:var(--bg-main);
  font-size:8px;
  font-weight:600;
}
.boot-body {
  min-height:360px;
  padding:54px;
  font:18px/1.8 var(--display);
  text-shadow:0 0 8px rgba(176,203,91,.18);
}
.boot-body p {
  display:flex;
  margin:4px 0;
}
.boot-body p>b {
  color:var(--yellow);
  margin-right:12px;
}
.boot-body p>span {
  overflow:hidden;
  flex:1;
  white-space:nowrap;
  color:var(--text-muted);
}
.boot-body em {
  color:var(--green);
  font-style:normal;
}
.boot-body em.wait { color:var(--yellow); }
.progress {
  height:24px;
  margin:35px 0 18px;
  border:1px solid var(--amber);
  padding:3px;
}
.progress i {
  display:block;
  width:64%;
  height:100%;
  background:var(--amber);
  box-shadow:0 0 14px rgba(176,203,91,.14);
}
.boot-body .prompt {
  color:var(--yellow);
  margin-top:25px;
}
.boot-body .prompt span { animation:blink 1s steps(1) infinite; }
.faq { background:var(--bg-secondary); }
.faq-layout {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:90px;
}
.questions details { border-top:1px solid var(--line); }
.questions details:last-child { border-bottom:1px solid var(--line); }
.questions summary {
  padding:22px 4px;
  display:flex;
  justify-content:space-between;
  color:var(--cream);
  font-size:10px;
  cursor:pointer;
  list-style:none;
}
.questions summary::-webkit-details-marker { display:none; }
.questions summary span {
  color:var(--yellow);
  font-size:16px;
}
.questions details[open] summary span { transform:rotate(45deg); }
.questions details p {
  max-width:620px;
  padding:0 30px 24px 4px;
  margin:0;
  color:var(--muted);
  font-size:11px;
}
.final-cta {
  min-height:720px;
  padding:110px 24px;
  text-align:center;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 45%,rgba(176,203,91,.055),transparent 34%),
    var(--bg-main);
}
.cta-mark {
  width:90px;
  height:90px;
  object-fit:contain;
  image-rendering:pixelated;
  margin-bottom:25px;
}
.final-cta h2 {
  margin:20px 0 40px;
  color:var(--cream);
  font:clamp(66px,8vw,118px)/.77 var(--display);
  font-weight:400;
}
.final-cta h2 em {
  color:var(--yellow);
  font-style:normal;
}
.launch.large {
  min-width:290px;
  padding:17px 19px;
}
.final-cta>small {
  display:block;
  margin-top:24px;
  color:var(--text-muted);
  font-size:7px;
}
.site-footer {
  min-height:190px;
  padding:45px clamp(24px,6vw,90px);
  display:grid;
  grid-template-columns:1fr 1.4fr .7fr;
  gap:40px;
  align-items:start;
  border-top:1px solid var(--line);
  background:var(--bg-main);
}
.footer-logo img { width:35px; height:35px; object-fit:contain; image-rendering:pixelated; }
.footer-logo>span { font-size:27px; }
.site-footer p {
  max-width:400px;
  margin:0 0 8px;
  color:var(--cream);
  font-size:9px;
}
.site-footer div>span {
  color:var(--muted);
  font-size:7px;
}
.site-footer nav {
  display:grid;
  gap:8px;
  color:var(--muted);
  font-size:8px;
}
.site-footer nav a:hover { color:var(--yellow); }
.copyright {
  grid-column:1/-1;
  padding-top:30px;
  border-top:1px dotted var(--line);
  color:var(--text-muted);
  font-size:7px;
}
.mobile-nav {
  display:none;
  position:fixed;
  inset:0;
  z-index:80;
  padding:24px;
  background:var(--bg-secondary);
}
.mobile-nav.open {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.mobile-nav>a:not(.launch) {
  padding:14px 0;
  border-bottom:1px solid var(--line);
  color:var(--cream);
  font:28px var(--display);
}
.mobile-nav>button {
  align-self:flex-end;
  border:1px solid var(--amber);
  background:transparent;
  padding:9px 12px;
  font-size:9px;
}
.reveal {
  opacity:0;
  transform:translateY(16px);
  transition:opacity .7s ease,transform .7s ease;
}
.reveal.visible {
  opacity:1;
  transform:none;
}
@keyframes pulse { 50% { opacity:.25; } }
@keyframes blink { 50% { opacity:0; } }
@keyframes ticker { to { transform:translateX(-50%); } }
@media(max-width:1000px) {
  .hero-terminal { position:relative; right:auto; bottom:auto; width:100%; margin-top:45px; }
  .desktop-nav,.chain { display:none; }
  .site-header { grid-template-columns:1fr auto; }
  .menu { display:block; }
  .problem { grid-template-columns:1fr 1fr; }
  .problem .section-label { grid-column:1/-1; }
  .market-grid { grid-template-columns:1fr 1fr; }
  .featured { grid-column:1/-1; }
  .protocol-grid { gap:40px; }
}
@media(max-width:700px) {
  .site-header { height:64px; padding:0 14px; }
  .logo img { width:22px; height:22px; }
  .logo>span { font-size:27px; }
  .launch.small { display:none; }
  .hero {
    min-height:720px;
    padding:145px 20px 70px;
  }
  .hero-terminal { display:none; }
  .hero:after {
    width:320px;
    right:-110px;
    top:240px;
  }
  .system-line span:last-child { display:none; }
  .hero h1 { font-size:19vw; }
  .hero-lede { max-width:100%; }
  .hero-actions { flex-wrap:wrap; gap:20px; }
  .hero-actions .text-link { margin-right:20px; }
  .contract-bar { grid-template-columns:auto minmax(0,1fr) auto; }
  .contract-bar>i { display:none; }
  .contract-bar>span,.contract-bar>button { padding:0 9px; }
  .contract-bar code { font-size:7px; }
  .hero-proof { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .hero-proof div { min-width:0; }
.section { padding:80px 20px; }
  .section-label { margin-bottom:45px; }
  .problem { display:block; }
  .problem-body>p:first-child { margin-top:35px; }
  .window-diagram { grid-template-columns:1fr; gap:6px; }
  .window-diagram i { display:none; }
  .steps,.moment-grid { grid-template-columns:1fr; }
  .steps article,.moment-grid article {
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .market-heading { display:block; }
  .market-heading .text-link { margin-top:20px; }
  .market-grid { grid-template-columns:1fr; }
  .featured { grid-column:auto; }
  .market-bottom { grid-template-columns:repeat(2,1fr); }
  .protocol-grid,.faq-layout { grid-template-columns:1fr; }
  .protocol-grid,.faq-layout { gap:50px; }
  .security-strip { flex-wrap:wrap; gap:18px; }
  .boot-body { padding:25px 18px; font-size:14px; }
  .boot-body p>span { display:none; }
  .final-cta { min-height:650px; }
  .site-footer { grid-template-columns:1fr; }
  .copyright { grid-column:auto; }
}
@media(prefers-reduced-motion:reduce) {
  * { animation:none!important; scroll-behavior:auto!important; }
  .reveal { opacity:1; transform:none; }
}

/* Praxis institutional lime theme: color-only overrides. */
::selection { background:var(--accent-live); color:var(--bg-main); }
*:focus-visible { outline:1px solid var(--accent-live); outline-offset:3px; }
html { scrollbar-color:var(--accent-secondary) var(--bg-main); }
body {
  color:var(--text-secondary);
  background:var(--bg-main);
}
.grain {
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(176,203,91,.055) 4px);
}
.site-header { background:rgba(9,11,8,.9); border-color:var(--border-subtle); }
.logo img,.cta-mark { filter:drop-shadow(0 0 4px rgba(195,246,17,.18)); }
.logo:hover img { filter:drop-shadow(0 0 7px rgba(195,246,17,.28)); }
.logo>span { color:var(--accent-primary); text-shadow:0 0 12px rgba(176,203,91,.18); }
.logo>span b { color:var(--accent-live); }
.desktop-nav a { color:#A9AEA2; }
.desktop-nav a:hover,.desktop-nav a:focus-visible { color:var(--accent-primary); }
.chain { color:var(--accent-secondary); }
.chain i { background:var(--accent-secondary); box-shadow:0 0 8px rgba(161,189,87,.3); }
.x-link { color:var(--text-primary); border-color:var(--border-normal); }
.x-link:hover { color:var(--bg-main); border-color:var(--accent-live); background:var(--accent-live); }
.launch {
  color:var(--bg-main);
  background:var(--accent-primary);
  border-color:var(--accent-primary);
  box-shadow:0 0 18px rgba(176,203,91,.08);
}
.launch:hover,.launch:focus-visible {
  background:var(--accent-live);
  border-color:var(--accent-live);
  box-shadow:0 0 20px rgba(195,246,17,.18);
}
.launch:active { transform:translateY(1px); filter:brightness(.92); }
.menu,.mobile-nav>button { border-color:var(--accent-primary); }
.hero {
  background:
    radial-gradient(circle at 70% 25%,rgba(176,203,91,.055),transparent 38%),
    radial-gradient(circle at 35% 5%,rgba(161,189,87,.025),transparent 35%),
    var(--bg-main);
}
.hero:after { filter:none; }
.system-line { color:var(--accent-secondary); border-color:var(--border-normal); }
.blink { color:var(--accent-primary); }
.blink b { color:var(--accent-live); font-weight:inherit; }
.hero h1 { color:var(--text-primary); text-shadow:0 0 9px rgba(176,203,91,.2),0 0 30px rgba(176,203,91,.08); }
.hero h1 .sage-line { color:var(--accent-soft); }
.hero h1 em { color:var(--accent-primary); }
.hero-lede,.problem-body { color:var(--text-secondary); }
.text-link { color:var(--accent-primary); border-color:var(--border-normal); }
.text-link b,.text-link:hover { color:var(--accent-live); }
.hero-proof { border-color:var(--border-subtle); }
.hero-proof div { background:rgba(13,16,11,.82); border-color:var(--border-subtle); }
.hero-proof small { color:var(--accent-soft); }
.hero-proof strong { color:var(--accent-primary); }
.hero-terminal { background:rgba(8,10,7,.96); border-color:var(--border-active); box-shadow:0 0 18px rgba(176,203,91,.08); }
.terminal-bar { color:var(--accent-secondary); background:rgba(161,189,87,.04); border-color:var(--border-normal); }
.terminal-status { color:var(--accent-live); }
.boot-row { color:var(--accent-soft); }
.boot-row:first-child span { color:var(--accent-primary); }
.boot-row b { color:var(--text-primary); }
.boot-row:nth-child(2) b { color:var(--accent-primary); }
#hero-countdown { color:var(--accent-live); }
.gap-viz,.odds-preview,.odds-preview div+div { border-color:var(--border-subtle); }
.candle { border-color:var(--accent-primary); background:rgba(176,203,91,.12); }
.candle i,.open-candle { background:var(--accent-primary); }
.gap-label,.terminal-screen>p,.terminal-screen>a { color:var(--accent-primary); }
.terminal-screen>a:hover { color:var(--accent-live); }
.odds-preview small,.odds-preview span { color:var(--accent-soft); }
.odds-preview div:first-child strong { color:var(--accent-live); }
.odds-preview div:last-child strong { color:rgba(176,196,125,.68); }
.tape { background:var(--bg-secondary); border-color:var(--border-subtle); }
.tape span { color:var(--accent-soft); }
.tape b,.tape i { color:var(--accent-primary); }
.section { border-color:var(--border-subtle); }
.section-label { color:var(--text-muted); }
.section-label span { color:var(--accent-secondary); border-color:rgba(161,189,87,.35); }
.overline { color:var(--accent-secondary); }
.problem { background:radial-gradient(circle at 20% 50%,rgba(161,189,87,.035),transparent 42%),var(--bg-main); }
.problem-copy h2 em { color:var(--accent-primary); }
.problem-body>p:first-child { color:var(--text-primary); }
.window-diagram,.window-diagram i { border-color:var(--border-subtle); }
.window-diagram small { color:var(--accent-soft); }
.window-diagram b { color:var(--text-primary); }
.window-diagram span { color:var(--text-secondary); }
.window-diagram .active { background:rgba(176,196,125,.04); border-color:var(--border-active); }
.window-diagram .active span { color:var(--accent-primary); }
.how { background:radial-gradient(circle at 70% 0,rgba(161,189,87,.035),transparent 38%),var(--bg-secondary); }
.steps { border-color:var(--border-subtle); }
.steps article { background:linear-gradient(150deg,rgba(17,20,14,.88),rgba(9,11,8,.96)); border-color:var(--border-subtle); }
.steps article:hover { border-color:var(--accent-secondary); background:rgba(176,196,125,.04); }
.step-number { color:var(--accent-secondary); }
.step-icon { color:var(--accent-primary); border-color:var(--border-active); box-shadow:inset 0 0 18px rgba(176,203,91,.08); }
.steps article:hover .step-icon { color:var(--accent-live); }
.steps h3 { color:var(--text-primary); }
.steps p { color:var(--text-secondary); }
.steps small { color:var(--accent-soft); }
.market-showcase { background:var(--bg-main); }
.featured,.market-card { background:linear-gradient(145deg,var(--bg-panel),var(--bg-secondary)); border-color:rgba(176,196,125,.18); }
.featured { border-color:var(--border-active); box-shadow:inset 0 0 0 1px rgba(195,246,17,.15); }
.market-card:hover { border-color:rgba(176,203,91,.65); }
.asset-chip { color:var(--accent-primary); border-color:var(--border-active); }
.card-top small,.market-card>div small { color:var(--accent-soft); }
.card-top b,.market-card h3 { color:var(--text-primary); }
.live-pill { color:var(--accent-live); border-color:rgba(195,246,17,.35); }
.mini-chart { border-color:var(--border-subtle); }
.mini-chart .fill { fill:rgba(176,203,91,.12); }
.mini-chart .stroke { stroke:var(--accent-primary); filter:drop-shadow(0 0 4px rgba(176,203,91,.22)); }
.market-bottom { border-color:var(--border-subtle); }
.market-bottom small { color:var(--accent-soft); }
.market-bottom div:first-child strong { color:var(--accent-live); }
.market-bottom div:nth-child(2) strong { color:rgba(176,196,125,.68); }
.market-bottom div:nth-child(3) strong { color:var(--accent-primary); }
.market-bottom a { color:var(--bg-main); background:var(--accent-primary); }
.market-bottom a:hover { background:var(--accent-live); }
.market-odds strong { color:var(--accent-primary); }
.market-card footer { color:var(--accent-soft); border-color:var(--border-subtle); }
.moments { background:var(--bg-secondary); }
.moment-grid,.moment-grid article { border-color:var(--border-subtle); }
.moment-grid article>small { color:var(--accent-secondary); }
.moment-grid h3 { color:var(--text-primary); }
.moment-grid p { color:var(--text-secondary); }
.moment-time { color:var(--accent-primary); border-color:var(--border-normal); }
.protocol-copy>p:not(.overline) { color:var(--text-secondary); }
.specs,.specs div { border-color:var(--border-subtle); }
.specs span { color:var(--accent-secondary); }
.specs p { color:#7D8374; }
.specs strong { color:var(--accent-primary); }
.security-strip { color:var(--accent-primary); border-color:var(--border-normal); }
.security-strip i { background:var(--accent-secondary); }
.terminal-story { background:radial-gradient(circle at 50% 60%,rgba(161,189,87,.035),transparent 44%),var(--bg-main); }
.boot-window { border-color:var(--border-active); box-shadow:0 0 18px rgba(176,203,91,.08); }
.boot-head { background:var(--accent-primary); color:var(--bg-main); }
.boot-body { color:#9DA594; text-shadow:none; background:#080A07; }
.boot-body p>b { color:var(--accent-primary); }
.boot-body p>span { color:rgba(176,196,125,.22); }
.boot-body em { color:var(--accent-primary); }
.boot-body em.wait { color:var(--accent-secondary); }
.progress { border-color:var(--border-normal); }
.progress i { background:var(--accent-primary); box-shadow:0 0 14px rgba(176,203,91,.14); }
.boot-body .prompt { color:var(--text-primary); }
.boot-body .prompt b { color:var(--accent-live); font-weight:inherit; }
.faq { background:var(--bg-secondary); }
.questions details { border-color:var(--border-subtle); }
.questions details[open] { background:rgba(176,196,125,.04); border-color:var(--border-normal); }
.questions summary { color:var(--text-primary); }
.questions summary span { color:var(--accent-primary); }
.questions details p { color:var(--accent-soft); }
.final-cta { background:radial-gradient(circle at 50% 45%,rgba(176,203,91,.055),transparent 36%),var(--bg-main); }
.final-cta h2 { color:var(--text-primary); }
.final-cta h2 em { color:var(--accent-primary); }
.final-cta>small { color:var(--text-muted); }
.site-footer { background:var(--bg-main); border-color:var(--border-subtle); }
.site-footer p { color:var(--text-primary); }
.site-footer div>span,.site-footer nav { color:var(--text-muted); }
.site-footer nav a:hover { color:var(--accent-primary); }
.copyright { color:var(--text-muted); border-color:var(--border-subtle); }
.mobile-nav { background:var(--bg-secondary); }
.mobile-nav>a:not(.launch) { color:var(--text-primary); border-color:var(--border-subtle); }
