/* MINERO: a dark mine lit by a headlamp. Coal background, one lamp-orange accent, SOL green only for money that moved. */
/* self-hosted fonts (OFL, latin subset), preloaded: text paints once in the right face instead of swapping and reflowing */
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 400 900; font-stretch: 62% 125%; font-display: block; src: url("/assets/fonts/archivo-latin.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 800; font-display: block; src: url("/assets/fonts/jetbrains-mono-latin.woff2") format("woff2"); }
:root {
  --bg: #0b0a08;
  --rock: #13110e;
  --rock-2: #1a1713;
  --line: #2b2620;
  --line-2: #3a332a;
  --text: #f2ece3;
  --dim: #9b9183;
  --faint: #6b6358;
  --ore: #ff6b1a;
  --ore-2: #ffb347;
  --ore-glow: rgba(255, 107, 26, .38);
  --sol: #19e8a2;
  --rent: #7a6cff;
  --radius: 14px;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans: "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme: dark;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
/* State and mode come from /api/status. Static pages are soon + kryptex-solo. */
html[data-state="soon"] .live-only, html:not([data-state="soon"]) .soon-only,
html:not([data-mode="own"]) .own-only, html:not([data-mode="public"]) .public-only,
html:not([data-mode="kryptex-solo"]) .solo-only, html[data-mode="public"] .block-mode,
html[data-mode="own"] .external-pool { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 16px/1.55 var(--sans); font-variation-settings: "wdth" 100; overflow-x: hidden; }
body::before { /* rock grain */
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .45 0 0 0 0 .4 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
main, header, footer { position: relative; z-index: 1; }
a { color: var(--ore-2); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--ore); }
code, .mono { font-family: var(--mono); font-size: .92em; }
code { background: var(--rock-2); border: 1px solid var(--line); border-radius: 6px; padding: .05em .35em; overflow-wrap: anywhere; }
.dim { color: var(--dim); }
.wrap { width: min(1180px, 100% - 32px); margin-inline: auto; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.ico { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
:focus-visible { outline: 2px solid var(--ore); outline-offset: 2px; }

/* nav */
.nav { position: sticky; top: 0; z-index: 10; background: rgba(11, 10, 8, .82); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.nav-in { display: flex; align-items: center; justify-content: space-between; height: 60px; gap: 16px; }
.mark { display: flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none; font-weight: 800; font-variation-settings: "wdth" 125; letter-spacing: .04em; font-size: 17px; }
.links { display: flex; align-items: center; gap: 22px; font-size: 14px; }
.links a { color: var(--dim); text-decoration: none; }
.links a:hover { color: var(--text); }
.links .pill { color: #140b04; background: var(--ore); padding: 7px 14px; border-radius: 999px; font-weight: 700; }
.links .pill:hover { color: #140b04; background: var(--ore-2); }

/* hero */
.hero { position: relative; padding: 64px 0 28px; overflow: hidden; }
.beam { position: absolute; inset: -20% -10% auto -10%; height: 140%; pointer-events: none;
  background: radial-gradient(60% 55% at 72% 30%, rgba(255, 140, 50, .16), transparent 70%), radial-gradient(30% 30% at 74% 26%, rgba(255, 170, 80, .12), transparent 70%); }
.hero-in { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.eyebrow { margin: 0 0 18px; color: var(--ore-2); font: 600 13px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.chip { color: #140b04; background: var(--ore-2); border-radius: 999px; padding: 4px 9px; font-size: 11px; letter-spacing: .04em; }
h1 { margin: 0; font-weight: 850; font-variation-settings: "wdth" 108; font-size: clamp(38px, 4.8vw, 62px); line-height: 1.02; letter-spacing: -.01em; word-spacing: .14em; text-wrap: balance; }
.lede { color: #d8cfc2; font-size: clamp(17px, 1.6vw, 19px); max-width: 560px; margin: 22px 0 0; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.btn { display: inline-flex; align-items: center; gap: 9px; border: 1px solid var(--line-2); background: var(--rock-2); color: var(--text); border-radius: 12px; padding: 13px 18px; font: 650 15px/1 var(--sans); cursor: pointer; text-decoration: none; }
.btn:hover { border-color: var(--ore); color: var(--text); }
.btn.primary { background: var(--ore); border-color: var(--ore); color: #140b04; box-shadow: 0 10px 40px -12px var(--ore-glow); }
.btn.primary:hover { background: var(--ore-2); border-color: var(--ore-2); color: #140b04; }
.ca { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; border: 1px dashed var(--line-2); background: transparent; color: var(--text); border-radius: 12px; padding: 12px 14px; font: 500 14px/1 var(--mono); cursor: pointer; }
.ca:hover { border-color: var(--ore); }
.ca-k { color: var(--ore-2); font-weight: 600; }
#ca-v { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.fine { color: var(--dim); font-size: 14px; margin: 18px 0 0; max-width: 540px; }

/* device wall */
.wall-card { margin: 0; background: linear-gradient(180deg, rgba(26, 23, 19, .9), rgba(16, 14, 11, .9)); border: 1px solid var(--line); border-radius: 22px; padding: 22px 22px 18px; box-shadow: 0 30px 80px -40px rgba(0, 0, 0, .8), inset 0 1px 0 rgba(255, 255, 255, .03); }
.wall { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; }
.cell { aspect-ratio: 1; display: grid; place-items: center; border-radius: 8px; background: #100e0b; border: 1px solid #1f1b16; color: #3a332b; position: relative; transition: color .6s, background .6s, border-color .6s; }
.cell svg { width: 64%; height: 64%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cell.on { color: #d9a46f; background: #19140f; border-color: #2c241b; }
.cell.ping { color: #fff3e3; background: #3a1f0c; border-color: var(--ore); box-shadow: 0 0 18px -2px var(--ore-glow); transition: none; }
.cell.ping::after { content: ""; position: absolute; left: 50%; top: 10%; width: 4px; height: 4px; border-radius: 50%; background: var(--ore-2); box-shadow: 0 0 8px var(--ore); animation: spark .9s ease-out forwards; }
@keyframes spark { from { transform: translate(-50%, 0); opacity: 1; } to { transform: translate(-50%, -26px); opacity: 0; } }
.wall-card figcaption { margin: 16px 2px 10px; font-size: 15px; color: var(--dim); }
.wall-card figcaption b { color: var(--text); font: 700 22px/1 var(--mono); margin-right: 4px; }
.mix { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: var(--dim); }
.mix li { display: inline-flex; align-items: center; gap: 6px; }
.mix svg { width: 16px; height: 16px; fill: none; stroke: #d9a46f; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mix b { color: var(--text); font-weight: 600; font-family: var(--mono); font-size: 12.5px; }

/* live strip */
.strip { margin: 40px 0 0; display: grid; grid-template-columns: repeat(6, 1fr); border: 1px solid var(--line); border-radius: var(--radius); background: rgba(19, 17, 14, .7); overflow: hidden; }
.strip > div { padding: 16px 18px; border-left: 1px solid var(--line); min-width: 0; }
.strip > div:first-child { border-left: 0; }
.strip dt { color: var(--dim); font-size: 12px; text-transform: uppercase; letter-spacing: .07em; font-family: var(--mono); }
.strip dd { margin: 6px 0 0; font: 700 22px/1.1 var(--mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.strip small { color: var(--dim); font-size: 13px; font-weight: 400; }

/* sections */
section.wrap { padding: 64px 0 0; }
.sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 20px; border-bottom: 1px solid var(--line); padding-bottom: 14px; }
h2 { margin: 0; font-weight: 820; font-variation-settings: "wdth" 115; font-size: clamp(26px, 3vw, 36px); letter-spacing: -.01em; }
.status { margin: 0; color: var(--dim); font-size: 14px; display: flex; align-items: center; gap: 8px; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: var(--faint); }
.dot.live { background: var(--sol); box-shadow: 0 0 0 4px rgba(25, 232, 162, .14); }
.dot.down { background: #e5484d; }
.k { margin: 0; color: var(--dim); font-size: 13px; text-transform: uppercase; letter-spacing: .07em; font-family: var(--mono); }
.v { margin: 8px 0 4px; font: 750 34px/1.05 var(--mono); letter-spacing: -.02em; }
.v small { color: var(--dim); font-size: 16px; font-weight: 400; }
.s { margin: 6px 0 0; color: var(--dim); font-size: 14px; }
.stat, .pot, .top, .meter, .flow-in, .leg, .ports, .calc { background: var(--rock); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; min-width: 0; }

/* this hour */
.hour { display: grid; grid-template-columns: .8fr 1.2fr; gap: 16px; align-items: start; }
.pot .v { font-size: 56px; color: var(--ore-2); }
.clock { height: 8px; background: #0e0c0a; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; margin: 14px 0 12px; }
.clock-fill { height: 100%; width: 0; background: linear-gradient(90deg, var(--ore), var(--ore-2)); border-radius: 999px; transition: width 1s linear; }
.top { padding: 6px 4px; overflow-x: auto; }
.tbl { width: 100%; border-collapse: collapse; font-size: 14px; }
.tbl th { text-align: left; color: var(--faint); font: 600 11.5px/1 var(--mono); letter-spacing: .07em; text-transform: uppercase; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.tbl td { padding: 10px 14px; border-bottom: 1px solid #1d1a15; white-space: nowrap; }
.tbl tr:last-child td { border-bottom: 0; }
.tbl .num { text-align: right; font-family: var(--mono); }
.tbl .dev { display: inline-flex; align-items: center; gap: 7px; color: var(--dim); }
.tbl .dev svg { width: 17px; height: 17px; fill: none; stroke: #d9a46f; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tbl .addr { font-family: var(--mono); }
.empty { color: var(--faint); text-align: center; padding: 26px !important; }

/* odds */
.odds-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 16px; }
.meter { grid-row: span 2; }
.race { margin: 18px 0 10px; }
.race-bar { height: 22px; border-radius: 6px; background: repeating-linear-gradient(90deg, #15120f 0 10px, #120f0c 10px 20px); border: 1px solid var(--line); overflow: hidden; display: flex; }
.race-dev { background: var(--ore); width: 0; transition: width .8s; }
.race-rent { background: var(--rent); width: 0; transition: width .8s; }
.race-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0; font-size: 14px; }
.race-legend b { font-family: var(--mono); font-weight: 600; }
.sw { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-left: 4px; }
.sw.dev { background: var(--ore); } .sw.rent { background: var(--rent); }
.blocks { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.blk { display: inline-flex; align-items: center; gap: 8px; font: 500 13px/1 var(--mono); padding: 9px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--rock); color: var(--text); text-decoration: none; }
.blk i { width: 8px; height: 8px; border-radius: 2px; background: var(--ore); }
.blk.paid i { background: var(--sol); }
.blk.orphaned { opacity: .5; text-decoration: line-through; }

/* you */
.lookup { display: flex; gap: 10px; }
.lookup input, .big-input { flex: 1; min-width: 0; background: #0f0d0b; border: 1px solid var(--line-2); border-radius: 12px; color: var(--text); padding: 14px 16px; font: 500 15px/1.2 var(--mono); }
.lookup input:focus, .big-input:focus { border-color: var(--ore); outline: none; box-shadow: 0 0 0 4px rgba(255, 107, 26, .12); }
.hint { color: var(--dim); font-size: 14px; min-height: 1.4em; margin: 10px 2px 0; }
.hint.bad { color: #ff8a7a; }
.hint.good { color: var(--sol); }
.me { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 16px; }
.me .v { font-size: 26px; }
.workers, .feed { list-style: none; margin: 0; padding: 0; }
.workers { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.workers li { display: inline-flex; gap: 8px; align-items: center; background: var(--rock); border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; font: 500 13px/1 var(--mono); }
.workers svg { width: 16px; height: 16px; fill: none; stroke: #d9a46f; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.me .feed { grid-column: 1 / -1; }
.feed li { display: grid; grid-template-columns: 110px 1fr auto auto; gap: 14px; align-items: center; padding: 12px 4px; border-bottom: 1px solid #1d1a15; font-size: 14px; }
.feed li.empty { display: block; border: 0; text-align: left; padding: 8px 0; }
.feed .when { color: var(--faint); font: 500 12.5px/1 var(--mono); }
.feed .what { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.feed .amt { font: 700 15px/1 var(--mono); color: var(--sol); }
.feed .tx { font: 500 12.5px/1 var(--mono); }
.tag { display: inline-block; font: 600 11px/1 var(--mono); letter-spacing: .05em; text-transform: uppercase; color: var(--ore-2); border: 1px solid #4a3420; border-radius: 6px; padding: 4px 6px; margin-right: 8px; }
.tag.block { color: var(--sol); border-color: #1d5040; }

/* money */
.flow { display: grid; grid-template-columns: .8fr 1.6fr; gap: 16px; align-items: stretch; }
.flow-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.leg .k b { color: var(--text); font-size: 22px; letter-spacing: 0; margin-right: 4px; }
.leg.rent { border-top: 3px solid var(--rent); }
.leg.pot { border-top: 3px solid var(--ore); }
.flow-in { border-top: 3px solid var(--line-2); }
.honest { margin: 18px 0 0; color: var(--dim); max-width: 880px; font-size: 15px; }
.honest b { color: var(--text); }

/* faq */
details { border-bottom: 1px solid var(--line); padding: 4px 0; }
summary { cursor: pointer; padding: 14px 0; font-weight: 650; font-size: 17px; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; color: var(--ore); font: 600 20px/1 var(--mono); }
details[open] summary::after { content: "–"; }
details p { margin: 0 0 16px; color: #cfc6b9; max-width: 860px; }

/* footer */
.foot { margin-top: 90px; border-top: 1px solid var(--line); padding: 28px 0 40px; font-size: 14px; }
.foot-in { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.foot p { margin: 0; }

/* start page */
.setup { max-width: 920px; padding-top: 56px; }
.setup-head h1 { font-size: clamp(38px, 5.4vw, 64px); }
.step { padding: 44px 0 0 !important; }
.step h2 { font-size: clamp(22px, 2.4vw, 28px); margin-bottom: 14px; display: flex; align-items: center; gap: 12px; }
.step h2::before { content: ""; width: 10px; height: 10px; background: var(--ore); border-radius: 2px; transform: rotate(45deg); flex: none; }
.big-input { width: 100%; font-size: 16px; padding: 16px 18px; }
.tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.tab { display: inline-flex; align-items: center; gap: 9px; padding: 11px 14px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--rock); color: var(--dim); font: 600 14px/1 var(--sans); cursor: pointer; }
.tab svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tab:hover { color: var(--text); }
.tab[aria-selected="true"] { color: #140b04; background: var(--ore); border-color: var(--ore); }
.howto { color: #d8cfc2; }
.howto p { margin: 0 0 10px; }
.cmd-wrap { position: relative; margin-top: 8px; }
.cmd { margin: 0; background: #070605; border: 1px solid var(--line-2); border-radius: 12px; padding: 18px 110px 18px 18px; font: 500 14px/1.6 var(--mono); color: #ffd9b8; white-space: pre-wrap; word-break: break-all; min-height: 60px; }
.cmd .ph { color: var(--faint); }
.copy { position: absolute; top: 10px; right: 10px; padding: 9px 12px; font-size: 13px; }
.copy:disabled { opacity: .4; cursor: not-allowed; }
.after { color: var(--dim); font-size: 14.5px; padding-left: 18px; margin: 14px 0 0; }
.after li { margin: 6px 0; }
.ports { margin-top: 16px; }
.ports ul { list-style: none; padding: 0; margin: 10px 0 0; display: grid; gap: 6px; font-size: 14.5px; }
.ports .mono { color: var(--ore-2); margin-right: 8px; }
.calc label { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; }
.calc input { width: 90px; background: #0f0d0b; border: 1px solid var(--line-2); border-radius: 10px; color: var(--text); padding: 9px 10px; font: 600 15px/1 var(--mono); }
.calc p { margin: 12px 0 0; }
.calc b { font: 700 20px/1 var(--mono); color: var(--sol); }
.earn > p { margin-top: 12px; font-size: 14.5px; }

@media (max-width: 980px) {
  .hero-in { grid-template-columns: 1fr; gap: 36px; }
  .strip { grid-template-columns: repeat(3, 1fr); }
  .strip > div:nth-child(4) { border-left: 0; }
  .strip > div:nth-child(n + 4) { border-top: 1px solid var(--line); }
  .hour, .flow { grid-template-columns: 1fr; }
  .odds-grid { grid-template-columns: 1fr 1fr; }
  .meter { grid-column: 1 / -1; grid-row: auto; }
  .me { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .links a:not(.pill) { display: none; }
  .hero { padding-top: 40px; }
  .wall { grid-template-columns: repeat(8, 1fr); gap: 5px; }
  .wall .cell:nth-child(n + 65) { display: none; }
  .strip { grid-template-columns: 1fr 1fr; }
  .strip > div { border-left: 0 !important; border-top: 1px solid var(--line); }
  .strip > div:nth-child(-n + 2) { border-top: 0; }
  .strip > div:nth-child(even) { border-left: 1px solid var(--line) !important; }
  .strip dd { font-size: 19px; }
  .flow-split, .odds-grid { grid-template-columns: 1fr; }
  .pot .v { font-size: 46px; }
  .feed li { grid-template-columns: 1fr auto; gap: 6px 12px; }
  .feed .when { grid-column: 1 / -1; }
  .lookup { flex-direction: column; }
  .cmd { padding: 16px 16px 60px; font-size: 13px; }
  .copy { top: auto; bottom: 10px; }
  .tbl th:nth-child(2), .tbl td:nth-child(2) { display: none; }
  .tbl td, .tbl th { padding: 9px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cell.ping::after { animation: none; }
  .clock-fill, .race-dev, .race-rent { transition: none; }
}

/* pre-pool */
.opens { margin-top: 26px; max-width: 560px; background: var(--rock); border: 1px solid var(--line-2); border-left: 3px solid var(--ore); border-radius: var(--radius); padding: 18px 20px; }
.opens-h { margin: 0; display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 20px; font-variation-settings: "wdth" 112; }
.opens-when { margin: 8px 0 0; font: 500 15px/1.5 var(--mono); color: var(--ore-2); }
.dot.wait { background: var(--ore-2); box-shadow: 0 0 0 4px rgba(255, 179, 71, .14); }
.locked-note { margin: 0 0 12px; padding: 12px 14px; border: 1px dashed var(--line-2); border-radius: 12px; color: var(--ore-2); font-size: 14.5px; }
.cmd.locked { opacity: .45; filter: grayscale(1); user-select: none; }

/* public pool panel */
.where-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 16px; }
.where-grid .stat.wide .v { font-size: 30px; }
@media (max-width: 980px) { .where-grid { grid-template-columns: 1fr 1fr; } .where-grid .stat.wide { grid-column: 1 / -1; } }
@media (max-width: 520px) { .where-grid { grid-template-columns: 1fr; } }

/* launch copy and public receipts */
.mark img { border-radius: 50%; object-fit: contain; }
.ca:disabled { cursor: default; }
.launch-art { margin: 0; min-width: 0; }
.launch-art img { display: block; width: 100%; height: auto; border-radius: 20px; border: 1px solid var(--line-2); }
.launch-art figcaption { margin-top: 12px; color: var(--dim); font-size: 13px; text-align: center; }
.hero-copy { min-width: 0; }
.strip { grid-template-columns: repeat(3, 1fr); }
.me { grid-template-columns: 1fr; }
.me .stat { max-width: 400px; }
.mechanic-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.mechanic-steps li { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--rock); }
.mechanic-steps p { margin: 12px 0; color: #d8cfc2; }
.mechanic-steps a { font-size: 14px; }
.volume-loop { margin: 22px 0 0; font: 500 15px/1.8 var(--mono); color: var(--ore-2); }
.block-split { margin: 18px 0 0; padding: 20px 22px; border-left: 3px solid var(--ore); background: var(--rock); border-radius: 0 var(--radius) var(--radius) 0; font-size: 18px; }
.block-split strong { font-weight: 700; }
.receipts h3 { font-size: 19px; margin: 26px 0 12px; }
.receipt-address h3 { margin: 0 0 12px; }
.xmr-address { overflow-wrap: anywhere; word-break: break-all; margin: 0 0 18px; color: var(--text); line-height: 1.8; user-select: all; }
.receipt-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.view-key { margin-top: 18px; }
.receipt-table { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--rock); }
.receipt-table .tbl th:nth-child(2), .receipt-table .tbl td:nth-child(2) { display: table-cell; }
.receipt-table .empty { white-space: normal; }
.receipt-blocks h3 { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.receipts .blk { line-height: 1.4; }
section[id] { scroll-margin-top: 80px; }
@media (max-width: 980px) {
  .links .live-only { display: none; }
  .links { gap: 16px; }
  .launch-art { width: min(100%, 720px); margin-inline: auto; }
  .mechanic-steps { grid-template-columns: 1fr; }
  .strip > div:nth-child(n) { border-top: 0; }
}
@media (max-width: 640px) {
  .strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .strip > div { padding: 14px 10px; }
  .strip > div:nth-child(n + 2) { border-left: 1px solid var(--line) !important; }
  .strip dt { font-size: 10px; letter-spacing: .02em; }
  .strip dd { font-size: 16px; }
  .block-split { font-size: 17px; }
  .receipt-actions { align-items: flex-start; flex-direction: column; }
}

/* 10-16 Claude: quiet pre-launch status instead of a big box */
.opens { margin-top: 14px; background: none; border: 0; padding: 0; }
.opens-h { font-size: 15px; font-weight: 600; color: var(--dim); }
.opens-when, .opens .s { display: none; }
/* 10-16 Claude: clean art card */
.launch-art img { border: 0; border-radius: 24px; box-shadow: 0 30px 80px -30px rgba(255,102,0,.35); }

/* ===================================================================================================
   10-17 Veil-level pass: same mine, same lamp, same voice. Floating nav, big hero type, an isometric
   mine scene drawn in code (scene.js), a loop band, a step scroller, scroll reveals, steady layouts.
   =================================================================================================== */
:root { --cream: #f4ead8; --ease: cubic-bezier(.16, 1, .3, 1); --card: linear-gradient(180deg, rgba(27, 24, 20, .92), rgba(16, 14, 11, .92)); }
.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; }

/* nav: a floating capsule (all pages) */
.nav { top: 12px; margin-top: 12px; background: none; border: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }
.nav-in { height: 58px; padding: 0 9px 0 18px; border: 1px solid var(--line); border-radius: 999px; background: rgba(15, 13, 11, .66); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); transition: background-color .3s, border-color .3s; }
.nav.scrolled .nav-in { background: rgba(13, 11, 9, .88); border-color: var(--line-2); }
.links a { transition: color .2s; }
.links .pill { padding: 10px 17px; transition: background-color .2s, transform .25s var(--ease); }
.links .pill:hover { transform: translateY(-1px); }

/* buttons: same size in every state */
.btn { height: 48px; padding: 0 20px; border-radius: 999px; transition: background-color .2s, border-color .2s, color .2s, transform .25s var(--ease), box-shadow .25s; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0) scale(.985); }
.cmd-wrap .copy { height: 38px; padding: 0 12px; border-radius: 10px; }
.btn.ghost { background: transparent; border-color: var(--line-2); }
.btn.ghost:hover { border-color: var(--ore-2); }
.btn .ico { transition: transform .25s var(--ease); }
.btn.ghost:hover .ico { transform: translateX(3px); }

/* hero */
.hero { padding: 54px 0 34px; overflow: clip; }
.hero .beam { background: radial-gradient(48% 50% at 74% 44%, rgba(255, 128, 40, .14), transparent 70%), radial-gradient(26% 26% at 70% 30%, rgba(255, 179, 71, .08), transparent 70%); }
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); column-gap: 36px; align-items: start; }
.status-pill { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; gap: 10px; margin: 0 0 26px; padding: 8px 15px 8px 12px; border: 1px solid var(--line-2); border-radius: 999px; background: rgba(19, 17, 14, .72); font: 600 12px/1 var(--mono); letter-spacing: .07em; text-transform: uppercase; color: var(--text); }
.status-pill .sep { width: 1px; height: 13px; background: var(--line-2); }
.status-pill .pill-k { color: var(--ore-2); }
.hero h1 { grid-column: 1 / -1; margin: 0; font-weight: 850; font-variation-settings: "wdth" 108; font-size: clamp(40px, 5.7vw, 80px); line-height: 1; letter-spacing: -.015em; word-spacing: .1em; text-wrap: balance; }
.hero h1 .l1, .hero h1 .l2 { display: block; }
.hero h1 .l2 { background: linear-gradient(92deg, var(--ore) 10%, var(--ore-2) 90%); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .06em; }
.hero-copy { grid-column: 1; min-width: 0; padding-top: 30px; }
.hero .lede { margin: 0; max-width: 540px; }
.hero .actions { margin-top: 28px; }
.ca-card { margin-top: 26px; max-width: 540px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 12px 12px 14px; border: 1px solid var(--line-2); border-radius: 20px; background: var(--card); transition: border-color .25s; }
.ca-card:hover { border-color: #4a3e31; }
.ca-logo { width: 44px; height: 44px; border-radius: 50%; display: block; }
.ca-name { display: grid; gap: 5px; min-width: 0; }
.ca-name b { font-size: 18px; font-weight: 800; font-variation-settings: "wdth" 112; letter-spacing: .01em; }
.ca-name span { font: 500 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }
.ca-card .ca { width: 196px; height: 44px; justify-content: space-between; padding: 0 14px; border: 1px solid var(--line-2); border-style: solid; background: #0d0b09; border-radius: 12px; font: 500 13px/1 var(--mono); color: var(--dim); }
.ca-card .ca:disabled { cursor: default; }
.ca-card .ca:not(:disabled) { color: var(--text); }
.ca-card .ca:not(:disabled):hover { border-color: var(--ore); }
.hero .fine { margin-top: 22px; }
.hero-scene { grid-column: 2; grid-row: 3; margin: -28px -12px 0 0; min-width: 0; }
.hero-scene figcaption { margin-top: 4px; text-align: center; font: 500 11px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--faint); }

/* hero load-in */
@keyframes rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes fig-in { from { opacity: 0; transform: translateY(28px) scale(.975); } to { opacity: 1; transform: none; } }
/* copy never animates in; only the scene does */
.in-fig { animation: fig-in 1.3s var(--ease) .25s both; }

/* the mine scene (scene.js) */
.scene-host { position: relative; width: 100%; aspect-ratio: 514 / 483; }
.mine-svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; overflow: visible; }
.mine-svg .bx polygon { stroke: rgba(244, 234, 216, .5); stroke-width: 1; stroke-linejoin: round; }
.mine-svg .f-t { fill: #1c1915; } .mine-svg .f-l { fill: #13100d; } .mine-svg .f-r { fill: #0e0c0a; }
.mine-svg .rock polygon { stroke: rgba(244, 234, 216, .26); }
.mine-svg .rock .f-t { fill: rgba(255, 240, 220, .018); } .mine-svg .rock .f-l { fill: #0f0d0b; } .mine-svg .rock .f-r { fill: #0b0a08; }
.mine-svg .grid path { stroke: rgba(244, 234, 216, .055); stroke-width: 1; }
.mine-svg .slot { fill: none; stroke: rgba(244, 234, 216, .2); stroke-width: 1; }
.mine-svg .led { fill: var(--ore); animation: led 2.2s steps(1, end) infinite; }
@keyframes led { 0%, 60% { opacity: 1; } 61%, 100% { opacity: .18; } }
.mine-svg .fan-ring { fill: #0b0a08; stroke: rgba(244, 234, 216, .45); stroke-width: 1; }
.mine-svg .fan-b path { fill: var(--ore); stroke: none; }
.mine-svg .fan-b { transform-box: fill-box; transform-origin: center; animation: spin 1.15s linear infinite; }
.mine-svg .fan-hub { fill: var(--cream); }
@keyframes spin { to { transform: rotate(360deg); } }
.mine-svg .coin path, .mine-svg .coin ellipse { stroke: rgba(244, 234, 216, .55); stroke-width: 1; }
.mine-svg .fees .f-l { fill: #8f3a0c; } .mine-svg .fees .f-t { fill: #2a170a; } .mine-svg .fees .lid .f-t { fill: var(--ore); }
.mine-svg .holders .f-l { fill: #2a2520; } .mine-svg .holders .f-t { fill: #3a332a; transition: fill .5s; }
.mine-svg .screen polygon { fill: #16120e; }
.mine-svg .pi .f-t { fill: #1d2a1f; }
.mine-svg .ghost polygon { fill: rgba(255, 107, 26, .035); stroke: var(--ore-2); stroke-dasharray: 4 5; }
.mine-svg .found { opacity: 0; transition: opacity .5s var(--ease); }
.mine-svg .found polygon { stroke: #ffd29a; }
.mine-svg .found .f-t { fill: var(--ore-2); } .mine-svg .found .f-l { fill: var(--ore); } .mine-svg .found .f-r { fill: #c84f10; }
.mine-svg .m-disc { fill: var(--cream); }
.mine-svg .m-glyph { fill: var(--ore); }
.mine-svg .ring { fill: none; stroke: var(--ore-2); stroke-width: 1.5; opacity: 0; transform-box: fill-box; transform-origin: center; }
.mine-svg .block { animation: bob 5s ease-in-out infinite; }
@keyframes bob { 50% { transform: translateY(-6px); } }
.mine-svg .trail { stroke: rgba(255, 179, 71, .2); stroke-width: 1; stroke-dasharray: 2 5; fill: none; }
.mine-svg .share { fill: var(--ore-2); }
.mine-svg .flow { fill: none; stroke: var(--ore-2); stroke-width: 1.4; stroke-dasharray: 5 6; opacity: .22; transition: opacity .5s; }
.mine-svg .flow.thin { stroke: rgba(25, 232, 162, .8); stroke-width: 1.1; }
.mine-svg .paper .f-t { fill: #2a2722; } .mine-svg .paper polygon { stroke: rgba(244, 234, 216, .6); }
.mine-svg .rline { stroke: rgba(244, 234, 216, .45); stroke-width: 1.2; fill: none; stroke-linecap: round; }
.mine-svg .tick { stroke: var(--sol); stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.tag-l { position: absolute; transform: translate(-50%, calc(-100% - 10px)); padding: 5px 8px; border: 1px solid var(--line-2); border-radius: 7px; background: rgba(11, 10, 8, .86); font: 500 10.5px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--dim); white-space: nowrap; pointer-events: none; transition: opacity .5s var(--ease), color .3s, border-color .3s; }
.tag-l.below { transform: translate(-50%, 12px); }
/* hero: a block lands every few seconds */
.landed .found { opacity: 1; }
.landed .ring { animation: ring 1.5s var(--ease) both; }
@keyframes ring { 0% { opacity: .9; transform: scale(.7); } 100% { opacity: 0; transform: scale(1.7); } }
.landed .flow { opacity: 1; animation: flow 1s linear infinite; }
@keyframes flow { to { stroke-dashoffset: -22; } }
.landed .holders .f-t { fill: var(--ore-2); transition-delay: .5s; }
.mode-hero .tag-l.p3 { color: var(--ore-2); border-color: #4a3420; }
.mode-hero .part { animation: part-in 1s var(--ease) both; }
.mode-hero .p1 { animation-delay: .55s; } .mode-hero .p2 { animation-delay: .7s; } .mode-hero .p3 { animation-delay: .95s; } .mode-hero .p4 { animation-delay: 1.15s; } .mode-hero .p5 { animation-delay: 1.3s; }
.mode-hero .tag-l { animation: fade 1s ease 1.4s both; }
@keyframes part-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes fade { from { opacity: 0; } to { opacity: 1; } }
/* steps: the scene builds up with the step */
.mode-steps .part, .mode-steps .tag-l { opacity: 0; transition: opacity .6s var(--ease), transform .6s var(--ease); }
.mode-steps .part { transform: translateY(12px); }
.mode-steps .rigs .fan-b, .mode-steps .led { animation-play-state: paused; }
.mode-steps[data-step="1"] .p1,
.mode-steps[data-step="2"] :is(.p1, .p2),
.mode-steps[data-step="3"] :is(.p1, .p2, .p3),
.mode-steps[data-step="4"] :is(.p1, .p2, .p3, .p4),
.mode-steps[data-step="5"] :is(.p1, .p2, .p3, .p4, .p5) { opacity: .42; transform: none; }
.mode-steps[data-step="1"] .p1, .mode-steps[data-step="2"] .p2, .mode-steps[data-step="3"] .p3, .mode-steps[data-step="4"] :is(.p4, .p3.block), .mode-steps[data-step="5"] .p5 { opacity: 1; }
.mode-steps[data-step="1"] .tag-l.p1, .mode-steps[data-step="2"] .tag-l.p2, .mode-steps[data-step="3"] .tag-l.p3, .mode-steps[data-step="4"] .tag-l.p4, .mode-steps[data-step="5"] .tag-l.p5 { color: var(--ore-2); border-color: #4a3420; }
.mode-steps:not([data-step="1"]) .rigs .fan-b, .mode-steps:not([data-step="1"]) .led { animation-play-state: running; }
.mode-steps:is([data-step="4"], [data-step="5"]) .found { opacity: 1; }
.mode-steps:is([data-step="4"], [data-step="5"]) .flow { opacity: 1; animation: flow 1s linear infinite; }
.mode-steps:is([data-step="4"], [data-step="5"]) .holders .f-t { fill: var(--ore-2); }

/* the loop band */
.band { position: relative; z-index: 1; display: flex; align-items: stretch; height: 56px; margin-top: 18px; border-block: 1px solid var(--line); background: rgba(17, 15, 12, .78); }
.band-cap { flex: none; display: flex; align-items: center; gap: 10px; padding: 0 20px 0 max(16px, calc((100% - 1180px) / 2)); border-right: 1px solid var(--line); background: var(--bg); font: 600 11.5px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ore-2); white-space: nowrap; }
.band-view { flex: 1; min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.band-track { display: flex; width: max-content; height: 100%; animation: band 60s linear infinite; }
.band:hover .band-track { animation-play-state: paused; }
@keyframes band { to { transform: translateX(-50%); } }
.band-row { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; }
.band-row li { display: flex; align-items: center; gap: 10px; padding-left: 18px; font: 500 13.5px/1 var(--mono); color: var(--text); white-space: nowrap; }
.band-row li::after { content: "→"; margin-left: 8px; color: var(--faint); }
.band-row i { font-style: normal; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ore-2); padding: 4px 6px; border: 1px solid #4a3420; border-radius: 5px; }
.strip { margin-top: 24px; }

/* sections */
.eyebrow { margin-bottom: 16px; }
h2.big { font-weight: 830; font-variation-settings: "wdth" 110; font-size: clamp(36px, 4.6vw, 62px); line-height: 1.02; letter-spacing: -.015em; margin: 0; }
.card { margin: 0; border: 1px solid var(--line); border-radius: 24px; background: var(--card); min-width: 0; }
section.party, section.crew, section.receipts, section.faq, section.cta-wrap { padding-top: 120px; }
.js .rv-g { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.js .rv-g.in { opacity: 1; transform: none; }

/* how it works: sticky step scroller */
.how { padding-top: 84px; }
.how-track { position: relative; height: 420vh; }
.how-sticky { position: sticky; top: 0; height: 100vh; display: flex; align-items: center; padding-top: 64px; }
.how-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 48px; align-items: center; }
.how-copy { min-width: 0; }
.steps { list-style: none; margin: 30px 0 0; padding: 0; border-top: 1px solid var(--line); max-width: 460px; }
.hstep { position: relative; width: 100%; height: 60px; display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; padding: 0; border: 0; border-bottom: 1px solid var(--line); background: none; color: #4f483f; font: 800 26px/1 var(--sans); font-variation-settings: "wdth" 110; text-align: left; cursor: pointer; transition: color .35s; }
.hstep .n { font: 500 12px/1 var(--mono); color: var(--faint); transition: color .35s; }
.hstep:hover { color: var(--dim); }
.hstep[aria-current] { color: var(--text); }
.hstep[aria-current] .n { color: var(--ore-2); }
.hstep .bar { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; overflow: hidden; }
.hstep .bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--ore), var(--ore-2)); transform-origin: left center; transform: scaleX(0); }
.hstep.done .bar i { opacity: .35; }
.step-detail { display: grid; margin-top: 22px; max-width: 460px; }
.step-detail p { grid-area: 1 / 1; margin: 0; font-size: 18px; line-height: 1.55; color: #d8cfc2; opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility 0s linear .3s; }
.step-detail p.on { opacity: 1; visibility: visible; transition-delay: 0s; }
.step-detail strong { color: var(--text); }
.how-scene { min-width: 0; }
.how-scene .scene-host { max-height: 68vh; margin-inline: auto; }
.how .volume-loop { margin: 0; text-align: center; }

/* the split + the party art */
.party-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 16px; align-items: stretch; }
.split-card { padding: 36px 36px 30px; display: flex; flex-direction: column; justify-content: space-between; gap: 22px; }
.split-card .eyebrow { margin: 0; }
.halves { display: flex; align-items: center; gap: 18px; }
.halves > div { min-width: 0; }
.pct { margin: 0; padding-right: .06em; font-weight: 850; font-variation-settings: "wdth" 112; font-size: clamp(60px, 7.4vw, 108px); line-height: .9; letter-spacing: -.03em; background: linear-gradient(180deg, var(--ore-2), var(--ore)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.what { margin: 10px 0 0; color: var(--dim); font-size: 16px; }
.what b { color: var(--text); font-weight: 650; }
.slash { font-weight: 300; font-size: clamp(60px, 7vw, 100px); line-height: 1; color: var(--line-2); }
.split-card > .s { max-width: 420px; }
.art-card { overflow: hidden; padding: 0; }
.art-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.art-card:hover img { transform: scale(1.025); }

/* the crew */
.crew-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: end; margin-bottom: 36px; }
.crew-lede { margin: 0; color: #d8cfc2; font-size: 17px; max-width: 480px; justify-self: end; }
.crew-row { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.mate { display: grid; justify-items: center; gap: 4px; padding: 18px 14px 20px; border: 1px solid var(--line); border-radius: 22px; background: var(--card); color: var(--text); text-decoration: none; transition: transform .45s var(--ease), border-color .3s; }
.mate img { width: 100%; max-width: 170px; height: auto; aspect-ratio: 1; display: block; margin-bottom: 8px; transition: transform .6s var(--ease); }
.mate:hover { transform: translateY(-6px); border-color: #5a4430; color: var(--text); }
.mate:hover img { transform: translateY(-4px) scale(1.04); }
.mate-n { font-weight: 750; font-size: 17px; font-variation-settings: "wdth" 108; }
.mate-s { font: 500 11.5px/1.3 var(--mono); color: var(--dim); text-align: center; }

/* receipts */
.receipts h2.big { margin-bottom: 34px; }
.receipts-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 16px; }
.receipts-grid .card { padding: 26px; }
.receipt-blocks h3 { margin: 0 0 4px; }
.receipt-actions .btn { height: 44px; font-size: 14px; }
.copy-status { min-width: 12em; min-height: 1.5em; margin: 0; }
.receipts > h3 { margin-top: 40px; }
.receipt-table { border-radius: 20px; background: var(--card); }
.receipt-status { min-height: 1.5em; }

/* faq */
.faq-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 2fr); gap: 40px; align-items: start; }
.faq details { padding: 2px 0; }
.faq-list { border-top: 1px solid var(--line); }
.receipt-blocks { display: flex; flex-direction: column; }
.blocks-note { margin-top: auto; padding-top: 18px; }
.faq summary { transition: color .2s; }
.faq summary:hover { color: var(--ore-2); }
.faq summary::after { content: "+"; transition: transform .3s var(--ease); }
.faq details[open] summary::after { content: "+"; transform: rotate(45deg); }

/* closing card */
.cta { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 56px 56px 52px; border: 1px solid var(--line-2); border-radius: 28px; background: radial-gradient(60% 90% at 85% 40%, rgba(255, 120, 40, .13), transparent 70%), var(--card); }
.cta .eyebrow { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; }
.cta .eyebrow .dot { flex: none; }
.chips { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 30px; padding: 0; }
.chips li { display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 16px 0 12px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 15px; color: #d8cfc2; }
.chips span { font: 600 11.5px/1 var(--mono); color: var(--ore-2); }
.cta-mate { width: 230px; height: auto; animation: bob 5s ease-in-out infinite; }

/* footer */
.foot { margin-top: 120px; }
.foot-in { align-items: center; }
.foot .mark { font-size: 15px; }
.foot-ca { display: inline-flex; align-items: center; gap: 10px; height: 36px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 999px; }
.foot-ca .mono { color: var(--dim); font-size: 12.5px; }

@media (max-width: 1080px) {
  .crew-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-copy { padding-top: 22px; }
  .hero-scene { grid-column: 1; grid-row: auto; margin: 26px 0 0; }
  .how-track { height: auto; }
  .how-sticky { position: static; height: auto; padding-top: 0; display: block; }
  .how-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .how-copy { display: contents; }
  .how-copy .eyebrow { order: 1; } .how-copy h2 { order: 2; } .how-scene { order: 3; margin-top: 18px; } .steps { order: 4; max-width: none; } .step-detail { order: 5; max-width: none; }
  .how .volume-loop { margin-top: 24px; text-align: left; }
  .party-grid, .receipts-grid, .faq-grid, .crew-head { grid-template-columns: minmax(0, 1fr); }
  .crew-lede { justify-self: start; }
  .faq-grid { gap: 12px; }
  .cta { grid-template-columns: minmax(0, 1fr); padding: 40px 28px; }
  .cta-mate { position: absolute; right: -18px; bottom: -14px; width: 150px; opacity: .9; }
}
@media (max-width: 640px) {
  .nav { top: 8px; margin-top: 8px; }
  .nav-in { height: 54px; padding-left: 14px; }
  .hero { padding-top: 34px; }
  .status-pill { margin-bottom: 20px; font-size: 10.5px; gap: 8px; padding: 7px 12px 7px 10px; }
  .status-pill .sep, .status-pill .pill-k { display: none; }
  .hero h1 { font-size: clamp(34px, 10vw, 44px); line-height: 1.04; }
  .hero .actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .hero .actions .btn { justify-content: center; }
  .ca-card { grid-template-columns: auto minmax(0, 1fr); }
  .ca-card .ca { grid-column: 1 / -1; width: 100%; }
  .tag-l { font-size: 9px; padding: 4px 6px; letter-spacing: .04em; }
  .band { height: 50px; }
  .band-cap { padding: 0 14px 0 16px; font-size: 10.5px; }
  .band-row li { font-size: 12.5px; }
  section.party, section.crew, section.receipts, section.faq, section.cta-wrap { padding-top: 84px; }
  .how { padding-top: 72px; }
  .hstep { height: 54px; font-size: 22px; grid-template-columns: 40px minmax(0, 1fr); }
  .step-detail p { font-size: 16.5px; }
  .split-card { padding: 26px 22px; }
  .pct { font-size: min(12.4vw, 64px); font-variation-settings: "wdth" 100; }
  .slash { font-size: 44px; }
  .halves { gap: 8px; }
  .what { font-size: 14.5px; }
  .crew-row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 8px; scrollbar-width: none; }
  .crew-row::-webkit-scrollbar { display: none; }
  .crew-row li { flex: 0 0 46%; scroll-snap-align: start; }
  .cta h2.big { font-size: 34px; }
  .cta-mate { position: static; order: -1; width: 96px; margin-bottom: -6px; }
  .cta { gap: 0; }
  .chips li { height: 36px; font-size: 14px; }
  .foot-in { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .in-fig, .mode-hero .part, .mode-hero .tag-l { animation: none; }
  .mine-svg .fan-b, .mine-svg .led, .mine-svg .block, .landed .flow, .landed .ring, .cta-mate { animation: none; }
  .band-track { animation: none; }
  .band-view { overflow-x: auto; }
  .js .rv-g { opacity: 1; transform: none; transition: none; }
  .btn, .mate, .mate img, .art-card img, .step-detail p, .mode-steps .part, .mode-steps .tag-l { transition: none; }
}
.party-grid.solo { grid-template-columns: 1fr; }
.party-grid.solo .split-card { flex-direction: row; flex-wrap: wrap; align-items: flex-end; gap: 28px 48px; }
.party-grid.solo .split-card .eyebrow { flex-basis: 100%; }
.party-grid.solo .halves { flex: 1 1 520px; }
.party-grid.solo .split-card > .s { flex: 0 1 360px; margin: 0; }
.pct { padding-right: .14em; }
.dev { display: block; width: 100%; max-width: 132px; height: 96px; margin: 8px auto 14px; overflow: visible; }
.dev polygon { stroke: rgba(244, 234, 216, .5); stroke-width: 1; stroke-linejoin: round; }
.dev .hl { fill: none; stroke: rgba(244, 234, 216, .35); stroke-width: 1; }
.dev .acc { fill: none; stroke: var(--ore); stroke-width: 1.5; }
.dev .pins { fill: none; stroke: var(--ore-2); stroke-width: 2; stroke-dasharray: 1.5 2.5; }
.dev .fan { fill: #0b0a08; stroke: rgba(244, 234, 216, .45); stroke-width: 1; }
.dev .hub, .dev .led { fill: var(--ore); }
.dev .screen .f-l { fill: #17130f; }
.dev .board .f-t { fill: #1d2a1f; }
.dev .chip .f-t { fill: var(--ore); }
.mate:hover .dev { transform: translateY(-3px); }
.dev { transition: transform .5s var(--ease); }
.cta-dev { width: 170px; max-width: none; height: 150px; }
.dev .f-t { fill: #1c1915; } .dev .f-l { fill: #13100d; } .dev .f-r { fill: #0e0c0a; }
.dev .board .f-t { fill: #1d2a1f; } .dev .chip .f-t { fill: var(--ore); } .dev .screen .f-l { fill: #17130f; }

/* ===================================================================================================
   10-17 sub-pages: one system for every page (floating nav, page head, cards, footer), /start/ as a three-step console,
   /how-it-works/ as the full loop + the honest odds + receipts, line-art glyphs (devices.js). Copy never animates.
   =================================================================================================== */
/* the loop band: a static line, not a marquee */
.band-row { padding-right: 28px; }
.band-row li:last-child::after { content: none; }
.band-view { overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent); mask-image: linear-gradient(90deg, #000 92%, transparent); }
.band-view::-webkit-scrollbar { display: none; }

/* nav + footer on every page */
.links a[aria-current="page"]:not(.pill) { color: var(--text); }
.foot-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; }
.foot-links a { color: var(--dim); text-decoration: none; }
.foot-links a:hover { color: var(--text); }

/* page head (sub-pages): same type as the home hero */
section.page-head { padding: 54px 0 0; }
.page-head h1 { margin: 0; font-weight: 850; font-variation-settings: "wdth" 108; font-size: clamp(40px, 5.4vw, 76px); line-height: 1; letter-spacing: -.015em; word-spacing: .1em; text-wrap: balance; }
.page-head h1 .l1, .page-head h1 .l2 { display: block; }
.page-head h1 .l2 { background: linear-gradient(92deg, var(--ore) 10%, var(--ore-2) 90%); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .06em; }
.page-head .lede { margin: 22px 0 0; max-width: 620px; }
.page-head .lede b { color: var(--text); font-weight: 650; }

/* glyph colours for the mechanic (devices.js) */
.dev .coin path, .dev .coin ellipse { stroke: rgba(244, 234, 216, .55); stroke-width: 1; }
.dev .coin .f-l { fill: #8f3a0c; } .dev .coin .f-t { fill: #2a170a; }
.dev .coin.lid .f-t { fill: var(--ore); } .dev .coin.hold .f-t { fill: var(--cream); }
.dev .found polygon { stroke: #ffd29a; }
.dev .found .f-t { fill: var(--ore-2); } .dev .found .f-l { fill: var(--ore); } .dev .found .f-r { fill: #c84f10; }
.dev .mono { fill: none; stroke: var(--cream); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.dev .paper .f-t { fill: #2a2722; } .dev .paper polygon { stroke: rgba(244, 234, 216, .6); }
.dev .tick { fill: none; stroke: var(--sol); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.dev .ghost polygon { fill: rgba(255, 107, 26, .035); stroke: var(--ore-2); stroke-dasharray: 4 5; }
.dev .acc, .dev .hl { fill: none; }

/* /start/: the console */
.start-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; margin-top: 40px; }
.console { overflow: hidden; }
.meter3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 20px 28px 0; }
.meter3 i { height: 3px; border-radius: 3px; background: var(--line-2); transition: background-color .3s; }
.meter3 i.on { background: var(--ore); }
.cstep { padding: 24px 28px 28px; }
.cstep + .cstep { border-top: 1px solid var(--line); }
.cstep-h { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; font-weight: 800; font-variation-settings: "wdth" 110; font-size: 24px; letter-spacing: -.005em; }
.cstep-h .n { font: 600 12px/1 var(--mono); color: var(--ore-2); padding: 6px 7px; border: 1px solid #4a3420; border-radius: 6px; letter-spacing: .04em; }
.devgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.dtile { display: grid; justify-items: center; align-content: start; gap: 8px; min-width: 0; padding: 14px 8px 13px; border: 1px solid var(--line); border-radius: 16px; background: rgba(11, 10, 8, .55); color: var(--dim); font: 650 14px/1.2 var(--sans); text-align: center; cursor: pointer; transition: border-color .2s, color .2s, background-color .2s; }
.dtile .dev { width: 100%; max-width: 84px; height: 54px; margin: 0; }
.dtile:hover { border-color: var(--line-2); color: var(--text); }
.dtile[aria-selected="true"] { border-color: var(--ore); color: var(--text); background: rgba(255, 107, 26, .07); }
.dtile:hover .dev, .dtile[aria-selected="true"] .dev { transform: none; }
.addr-l { display: block; margin: 0 0 8px; font-weight: 650; font-size: 15px; }
.addr-l span { color: var(--dim); font-weight: 400; font-size: 14px; }
.panels { display: grid; margin-top: 10px; }
.dpanel { grid-area: 1 / 1; min-width: 0; }
.dpanel.off { visibility: hidden; }
.get p { margin: 0 0 8px; color: #d8cfc2; font-size: 15px; }
.get p:last-child { margin-bottom: 0; }
.term { margin-top: 12px; border: 1px solid var(--line-2); border-radius: 14px; background: #070605; overflow: hidden; }
.term-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 46px; padding: 0 8px 0 16px; border-bottom: 1px solid var(--line); font: 500 12px/1 var(--mono); color: var(--faint); letter-spacing: .03em; }
.term-k { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lock { flex: none; display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 11px; border: 1px solid #4a3420; border-radius: 999px; color: var(--ore-2); font: 600 11px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.lock .ico { width: 13px; height: 13px; }
.term .copy { position: static; flex: none; height: 32px; padding: 0 12px; border-radius: 9px; font-size: 13px; }
.term .copy:disabled { opacity: .45; }
.term .cmd { margin: 0; border: 0; border-radius: 0; background: none; min-height: 0; padding: 16px 18px 18px; font: 500 14px/1.65 var(--mono); color: #ffd9b8; white-space: pre-wrap; word-break: break-all; }
.term .cmd.locked { opacity: 1; filter: none; color: #857a6c; user-select: none; -webkit-user-select: none; }
.agent > .s { margin: 0; }
.agent .cmd { height: 176px; overflow: auto; word-break: normal; overflow-wrap: anywhere; }
.agent .copy { width: 132px; justify-content: center; }
.agent .hint { height: 2.8em; }
.cmd .tok { color: var(--ore-2); border-bottom: 1px dashed rgba(255, 179, 71, .55); }
.dpanel .after { margin: 12px 0 0; }
.preview { border: 1px solid var(--line); border-radius: 16px; background: rgba(11, 10, 8, .55); overflow: hidden; }
.preview-k { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0; padding: 12px 14px; border-bottom: 1px solid var(--line); font: 600 11px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--faint); }
.preview-k a { color: var(--ore-2); text-decoration: none; }
.preview .tbl :is(th, td):nth-child(2) { display: table-cell; }
.preview .tbl th { border-bottom: 1px solid #1d1a15; }
.dev-i { display: inline-flex; align-items: center; gap: 7px; color: var(--dim); font-family: var(--mono); font-size: 13px; }
.dev-i svg { width: 17px; height: 17px; fill: none; stroke: #d9a46f; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cstep > .s { margin-top: 14px; line-height: 1.6; }
.side { display: grid; gap: 16px; }
.side-card { padding: 22px 22px 20px; }
h2.side-h { margin: 0 0 12px; font-weight: 800; font-variation-settings: "wdth" 110; font-size: 19px; }
.kv { margin: 0; }
.kv > div { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 14px; }
.kv > div:first-child { border-top: 0; padding-top: 0; }
.kv dt { flex: none; color: var(--faint); font: 600 11px/1.4 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.kv dd { margin: 0; min-width: 0; text-align: right; overflow-wrap: anywhere; }
.kv .mono { font-size: 13px; }
.kv .ok { color: var(--sol); }
.side .ports { margin: 12px 0 0; padding: 12px 0 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: none; list-style: none; display: grid; gap: 6px; font-size: 13.5px; color: var(--dim); }
.checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 14px; color: #d8cfc2; }
.checks li { position: relative; padding-left: 18px; }
.checks li::before { content: ""; position: absolute; left: 1px; top: .6em; width: 6px; height: 6px; border-radius: 2px; background: var(--ore); }
.checks b { color: var(--text); }

/* /how-it-works/ */
.hiw-head { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 36px; align-items: center; }
.hiw-head h1 { font-size: clamp(48px, 6.6vw, 96px); }
.hiw-copy { min-width: 0; }
.hiw-copy .volume-loop { margin-top: 22px; }
.hiw-scene { margin: 0; min-width: 0; }
.hiw-scene figcaption { margin-top: 4px; text-align: center; font: 500 11px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--faint); }
section.flow-sec { padding-top: 64px; }
.flow-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.fstep { display: grid; grid-template-columns: 120px minmax(0, 1.35fr) minmax(0, .75fr); gap: 28px; align-items: center; padding: 22px 28px; border-radius: 22px; }
.fglyph { width: 100%; max-width: 104px; height: 80px; margin: 0 auto; }
.fstep .n { margin: 0 0 8px; font: 600 12px/1 var(--mono); letter-spacing: .07em; text-transform: uppercase; color: var(--ore-2); }
.fstep h3 { margin: 0; font-weight: 800; font-variation-settings: "wdth" 110; font-size: 25px; line-height: 1.15; }
.fstep-t > p:last-child { margin: 8px 0 0; color: #d8cfc2; font-size: 15.5px; max-width: 560px; }
.fstep-t b { color: var(--text); }
.fcheck { margin: 0; padding-left: 22px; border-left: 1px solid var(--line); color: var(--dim); font-size: 14px; }
.fcheck span { display: block; margin-bottom: 6px; font: 600 11px/1 var(--mono); letter-spacing: .07em; text-transform: uppercase; color: var(--faint); }
section.luck { padding-top: 120px; }
.luck-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: end; }
.luck-lede { margin: 0; color: #d8cfc2; font-size: 17px; max-width: 520px; justify-self: end; }
.odds-ex { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 36px; }
.ex { padding: 22px 24px; }
.ex .v { margin: 12px 0 2px; font: 850 clamp(30px, 3.4vw, 46px)/1 var(--sans); font-variation-settings: "wdth" 110; letter-spacing: -.015em; color: var(--text); }
.ex-note { max-width: 760px; margin-top: 16px; }
.verify { list-style: none; margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.verify li { display: grid; align-content: start; gap: 12px; padding: 18px 18px 20px; border: 1px solid var(--line); border-radius: 18px; background: var(--card); }
.verify b { font-weight: 750; font-size: 16px; }
.verify p { margin: 4px 0 0; color: var(--dim); font-size: 14px; }
.state { justify-self: start; padding: 5px 9px; border: 1px solid var(--line-2); border-radius: 999px; font: 600 10.5px/1 var(--mono); letter-spacing: .07em; text-transform: uppercase; color: var(--faint); }
.state.on { color: var(--sol); border-color: #1d5040; }

/* 404 */
section.nf { padding: 96px 0 40px; }
.nf-dev { width: 120px; max-width: none; height: 120px; margin: 0 0 28px; }
.nf .actions { margin-top: 32px; }

@media (max-width: 1080px) {
  .start-grid { grid-template-columns: minmax(0, 1fr) 300px; }
  .verify { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  .start-grid, .hiw-head, .luck-head { grid-template-columns: minmax(0, 1fr); }
  .hiw-scene { max-width: 560px; }
  .luck-lede { justify-self: start; }
  .fstep { grid-template-columns: 96px minmax(0, 1fr); }
  .fcheck { grid-column: 2; padding: 0; border: 0; }
}
@media (max-width: 640px) {
  section.page-head { padding-top: 34px; }
  .page-head h1 { font-size: clamp(36px, 10.6vw, 46px); line-height: 1.04; }
  .hiw-head h1 { font-size: clamp(44px, 13vw, 56px); }
  .start-grid { margin-top: 28px; gap: 14px; }
  .meter3 { padding: 16px 18px 0; }
  .cstep { padding: 20px 18px 22px; }
  .cstep-h { font-size: 20px; gap: 12px; margin-bottom: 14px; }
  .devgrid { gap: 8px; }
  .dtile { padding: 10px 2px 9px; gap: 6px; border-radius: 13px; font-size: 12px; }
  .dtile .dev { height: 36px; max-width: 54px; }
  .term-bar { padding-left: 12px; }
  .term .cmd { padding: 14px 14px 16px; font-size: 12.5px; }
  .preview .tbl td, .preview .tbl th { padding: 9px 10px; }
  .side-card { padding: 20px 18px 18px; }
  .fstep { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding: 18px; }
  .fglyph { height: 56px; }
  .fstep h3 { font-size: 20px; }
  .fstep-t > p:last-child { font-size: 15px; }
  .fcheck { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid var(--line); }
  section.luck { padding-top: 84px; }
  .odds-ex { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 26px; }
  .ex { padding: 18px 20px; }
  .verify { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  section.nf { padding-top: 56px; }
  .nf-dev { width: 92px; height: 92px; }
  .nf .actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .nf .actions .btn { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .meter3 i, .dtile { transition: none; }
}

/* the 50/50 card (10-17 rework): two equal halves with a hairline between, a glyph each, the receipts line as a footer */
.party-grid.solo .split-card { display: block; padding: 34px 40px 0; }
.split-card .eyebrow { margin: 0 0 26px; }
.split-card .halves { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; align-items: stretch; }
.half { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 20px; min-width: 0; padding: 4px 0 30px; }
.half + .half { padding-left: 40px; margin-left: 0; border-left: 1px solid var(--line-2); }
.half:first-child { padding-right: 40px; }
.half-t { min-width: 0; }
.split-card .pct { font-size: clamp(64px, 7.6vw, 112px); }
.split-card .what { margin-top: 12px; font-size: 18px; color: var(--dim); }
.half-g { width: 150px; max-width: none; height: 118px; margin: 0; }
.split-foot { margin: 0 -40px; padding: 18px 40px 20px; border-top: 1px solid var(--line); color: var(--dim); font-size: 14.5px; }
@media (max-width: 899px) {
  .half-g { width: 110px; height: 90px; }
}
@media (max-width: 640px) {
  .party-grid.solo .split-card { padding: 24px 20px 0; }
  .split-card .eyebrow { margin-bottom: 14px; }
  .split-card .halves { grid-template-columns: minmax(0, 1fr); }
  .half, .half:first-child { padding: 14px 0 18px; }
  .half + .half { padding-left: 0; border-left: 0; border-top: 1px solid var(--line-2); }
  .split-card .pct { font-size: 64px; font-variation-settings: "wdth" 108; }
  .split-card .what { margin-top: 8px; font-size: 16px; }
  .half-g { width: 92px; height: 72px; }
  .split-foot { margin: 0 -20px; padding: 14px 20px 16px; font-size: 14px; }
}
.hiw-head h1 { font-size: clamp(48px, 5.6vw, 84px); }
.hiw-head h1 .l1, .hiw-head h1 .l2 { white-space: nowrap; }
.verify { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.receipt-address h3 { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.addr-why { margin: -4px 0 14px; max-width: 560px; }
@media (max-width: 1080px) { .verify { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 899px) { .verify { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
  .hiw-head h1 { font-size: clamp(44px, 13vw, 56px); }
  .cta-dev { justify-self: end; width: 92px; height: 80px; margin: -56px -4px -10px 0; }
}
.hero .lede b { color: var(--text); font-weight: 650; }


/* motion restored from the 10-17 post-veil version Martin approved */
.dot.wait { background: var(--ore-2); box-shadow: 0 0 0 4px rgba(255, 179, 71, .14); animation: wait 2.4s ease-in-out infinite; }
@keyframes wait { 50% { opacity: .35; } }
.in1, .in2, .in3, .in4, .in5, .in6, .in7 { animation: rise .95s var(--ease) both; }
.in1 { animation-delay: .04s; } .in2 { animation-delay: .12s; } .in3 { animation-delay: .22s; } .in4 { animation-delay: .34s; }
.in5 { animation-delay: .44s; } .in6 { animation-delay: .54s; } .in7 { animation-delay: .62s; }
.in-fig { animation: fig-in 1.3s var(--ease) .25s both; }
.band-track { display: flex; width: max-content; height: 100%; animation: band 60s linear infinite; }
.band:hover .band-track { animation-play-state: paused; }
@keyframes band { to { transform: translateX(-50%); } }
.band { display: flex; }
.js .rv { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.js .rv.in { opacity: 1; transform: none; }
.step-detail { display: grid; }
.step-detail p { grid-area: 1 / 1; margin: 0; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .45s var(--ease), transform .45s var(--ease), visibility 0s linear .45s; }
.step-detail p.on { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) {
  .dot.wait, .in1, .in2, .in3, .in4, .in5, .in6, .in7, .in-fig, .band-track { animation: none; }
  .js .rv { opacity: 1; transform: none; transition: none; }
  .step-detail p { transition: none; }
}

/* ===================================================================================================
   10-17 hero balance pass: two balanced columns (copy left, the mine right, centred), a live stats strip under the CA,
   a figure frame on the scene, numbered section labels, a "what's live" proof panel, the X icon in the nav.
   All approved motion stays (in1–in8, rv reveals, band marquee, pulsing dot, step scroller, scene animation).
   =================================================================================================== */
.hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr); column-gap: 56px; align-items: center; }
.hero-copy { grid-column: 1; grid-row: 1; padding-top: 0; }
.hero .status-pill { margin-bottom: 24px; }
.hero h1 { font-size: clamp(40px, 5.1vw, 74px); line-height: .99; }
.hero .lede { margin-top: 24px; }
.in8 { animation: rise .95s var(--ease) .7s both; }

/* live stats strip (pre-launch: honest states, never numbers we don't have) */
.hero-stats { margin-top: 22px; max-width: 540px; }
.hstats { margin: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); border-top: 1px solid var(--line); }
.hstats > div { min-width: 0; padding: 14px 16px 0; border-left: 1px solid var(--line); }
.hstats > div:first-child { padding-left: 0; border-left: 0; }
.hstats dt { font: 600 10.5px/1 var(--mono); letter-spacing: .09em; text-transform: uppercase; color: var(--faint); }
.hstats dd { margin: 9px 0 0; height: 22px; font: 600 16px/22px var(--mono); color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hstats dd small { color: var(--dim); font-size: 12px; font-weight: 500; }
.hstats #s-pool .soon-only { color: var(--ore-2); }
.strip-note { margin: 10px 0 0; height: 18px; font: 500 11.5px/18px var(--mono); color: var(--faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hero .fine { margin-top: 20px; }

/* the scene as a figure: hairline rules with end ticks, a label line and a caption */
.hero-scene { grid-column: 2; grid-row: 1; align-self: center; margin: 0 -28px 0 0; }
.fig-head, .hero-scene .fig-foot { position: relative; display: flex; justify-content: space-between; align-items: baseline; gap: 8px 16px; margin: 0; text-align: left; font: 500 11px/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--faint); }
.fig-head { padding: 12px 0 0; border-top: 1px solid var(--line); }
.hero-scene .fig-foot { flex-wrap: wrap; margin-top: 2px; padding: 0 0 12px; border-bottom: 1px solid var(--line); }
.fig-head::before, .fig-head::after, .fig-foot::before, .fig-foot::after { content: ""; position: absolute; width: 1px; height: 7px; background: var(--line-2); }
.fig-head::before { left: 0; top: -1px; } .fig-head::after { right: 0; top: -1px; }
.fig-foot::before { left: 0; bottom: -1px; } .fig-foot::after { right: 0; bottom: -1px; }
.fig-head span:first-child { color: var(--dim); }
.fig-line { font: 400 14.5px/1.45 var(--sans); letter-spacing: 0; text-transform: none; color: var(--dim); text-wrap: pretty; }
.fig-line b { color: var(--text); font-weight: 650; }
.fig-note { font-size: 10.5px; }

/* numbered section labels */
.sec-n { color: var(--text); }
.sec-rule { flex: none; width: 28px; height: 1px; background: var(--line-2); }

/* what's live: the proof panel */
.receipts .proof { margin: 0 0 16px; padding: 0 28px; }
.proof-head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 16px; padding: 22px 0 16px; border-bottom: 1px solid var(--line); }
.receipts .proof-head h3 { margin: 0; font-size: 22px; font-weight: 800; font-variation-settings: "wdth" 110; }
.proof-k { margin: 0; font: 500 11px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--faint); }
.proof-list { list-style: none; margin: 0; padding: 0; }
.prow { display: grid; grid-template-columns: 24px minmax(0, 1fr) minmax(0, 190px) 112px 156px; grid-template-areas: "i t v s a"; align-items: center; gap: 12px 22px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.prow-i { grid-area: i; width: 24px; height: 24px; fill: none; stroke: #d9a46f; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.prow-t { grid-area: t; min-width: 0; }
.prow-t b { display: block; font-weight: 750; font-size: 17px; font-variation-settings: "wdth" 108; }
.prow-t span { display: block; margin-top: 4px; max-width: 520px; color: var(--dim); font-size: 14px; line-height: 1.5; }
.prow-v { grid-area: v; min-width: 0; padding: 0; border: 0; background: none; font: 500 13px/1.3 var(--mono); color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prow .state { grid-area: s; justify-self: start; white-space: nowrap; }
.prow-a { grid-area: a; justify-self: end; display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 999px; font: 600 12px/1 var(--mono); letter-spacing: .03em; color: var(--text); text-decoration: none; white-space: nowrap; transition: border-color .2s, color .2s; }
.prow-a:hover { border-color: var(--ore-2); color: var(--ore-2); }
.prow-a.off { border-style: dashed; color: var(--faint); }
.proof-foot { margin: 0; padding: 14px 0 18px; color: var(--faint); font-size: 13.5px; }
.proof-foot b { color: var(--dim); font: 600 11px/1 var(--mono); letter-spacing: .07em; text-transform: uppercase; }

/* nav: social icons (only rendered when the link exists) */
.links a.nav-ico { display: inline-grid; place-items: center; width: 34px; height: 34px; margin: 0 -6px; border-radius: 50%; color: var(--dim); transition: color .2s, background-color .2s; }
.nav-ico svg { width: 15px; height: 15px; fill: currentColor; }
.links a.nav-ico:hover { color: var(--text); background: rgba(244, 234, 216, .06); }

@media (max-width: 1100px) {
  .hstats dd { font-size: 14px; }
  .prow { grid-template-columns: 24px minmax(0, 1fr) minmax(0, 170px) 104px; grid-template-areas: "i t v s" ". t a a"; }
  .prow-a { justify-self: start; }
}
@media (max-width: 899px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-scene { grid-column: 1; grid-row: 2; margin: 34px 0 0; }
  .prow { grid-template-columns: 24px minmax(0, 1fr) auto; grid-template-areas: "i t s" ". v a"; gap: 10px 14px; }
  .prow-a { justify-self: end; }
}
@media (max-width: 640px) {
  .hero-stats { margin-top: 20px; }
  .hstats { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: minmax(0, 1fr); }
  .hstats > div, .hstats > div:first-child { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .hstats dd { margin: 0; font-size: 14px; }
  .strip-note { white-space: normal; height: auto; min-height: 18px; }
  .hero-scene { margin-top: 30px; }
  .fig-line { font-size: 14px; }
  .receipts .proof { padding: 0 18px; }
  .prow { grid-template-columns: 22px minmax(0, 1fr) auto; grid-template-areas: "i t t" ". v v" ". s a"; gap: 10px 12px; padding: 16px 0; }
  .prow-i { width: 22px; height: 22px; align-self: start; margin-top: 1px; }
  .prow-t b { font-size: 16px; }
  .prow-t span { font-size: 13.5px; }
  .links a.nav-ico { display: inline-grid; margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .in8 { animation: none; }
  .prow-a, .links a.nav-ico { transition: none; }
}
.hero .status-pill { display: flex; width: fit-content; max-width: 100%; }
/* scrolled: the capsule goes near-solid so the big headline never reads through it */
.nav.scrolled .nav-in { background: rgba(13, 11, 9, .95); }

/* ===================================================================================================
   10-17 depth pass (additive): why now (timeline), 05 fair by design (FIG. 2 the gates + live panel),
   06 the money path (FIG. 3), 07 playground (FIG. 4). Visual system: dot texture on the home page, hatched live-data
   panels, the same figure frame everywhere, one ore hairline per section label. Nothing above this line was changed.
   =================================================================================================== */
main.tex { background-image: radial-gradient(rgba(244, 234, 216, .07) 1px, transparent 1.3px); background-size: 26px 26px; background-position: 13px 0; }
.sec-rule { background: linear-gradient(90deg, var(--ore), rgba(255, 107, 26, .18)); }
.hatch { background-image: repeating-linear-gradient(135deg, rgba(244, 234, 216, .028) 0 1px, transparent 1px 7px), linear-gradient(180deg, rgba(27, 24, 20, .94), rgba(16, 14, 11, .94)); }
.links a.nav-wide { white-space: nowrap; }
@media (max-width: 1140px) { .links a.nav-wide { display: none; } }

section.why, section.gates, section.money, section.worth { padding-top: 120px; }
.sec-split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 32px; align-items: end; margin-bottom: 40px; }
.sec-lede { margin: 0; justify-self: end; max-width: 500px; color: #d8cfc2; font-size: 17px; }

/* figure frames: the hero's FIG. 1 language, plus an ore hairline on the top rule */
.fig { position: relative; margin: 0; min-width: 0; }
.fig .fig-head { border-top-color: transparent; background: linear-gradient(90deg, var(--ore) 0 64px, var(--line) 64px) top left / 100% 1px no-repeat; }
.fig .fig-foot { flex-wrap: wrap; margin-top: 2px; padding: 0 0 12px; border-bottom: 1px solid var(--line); }
.fig-host { position: relative; width: 100%; }
.fig-key { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.fig-key .k { display: inline-block; width: 8px; height: 8px; margin-left: 8px; border: 1px solid; }
.k-dev { border-color: var(--ore-2); background: rgba(255, 179, 71, .25); }
.k-rent { border-color: var(--rent); background: rgba(122, 108, 255, .25); }
.k-bot { border-color: var(--faint); border-style: dashed !important; }

/* 03 why now */
.why-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 56px; align-items: start; }
.why-head { position: sticky; top: 112px; }
.why-sub { margin: 22px 0 0; font-weight: 800; font-variation-settings: "wdth" 110; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.2; color: var(--dim); }
.why-sub span { color: var(--text); padding-bottom: 5px; background: linear-gradient(90deg, var(--ore), var(--ore-2)) left bottom / 100% 2px no-repeat; }
.tl { position: relative; list-style: none; margin: 0; padding: 0; display: grid; gap: 52px; }
.tl::before, .tl::after { content: ""; position: absolute; left: 35px; top: 36px; bottom: 36px; width: 1px; }
.tl::before { background: repeating-linear-gradient(180deg, var(--line-2) 0 4px, transparent 4px 9px); }
.tl::after { background: linear-gradient(180deg, var(--ore), var(--ore-2)); transform: scaleY(0); transform-origin: top; transition: transform 2s var(--ease) .2s; }
.tl.on::after { transform: scaleY(1); }
.tl-i { position: relative; z-index: 1; display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 26px; align-items: start; }
.tl-m { display: grid; place-items: center; width: 72px; height: 72px; border: 1px solid var(--line-2); border-radius: 18px; background: var(--bg); }
.tl-m .dev { width: 54px; max-width: none; height: 50px; margin: 0; }
.tl-k { margin: 4px 0 10px; font: 600 11.5px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ore-2); }
.tl-t h3 { margin: 0; font-weight: 820; font-variation-settings: "wdth" 110; font-size: clamp(24px, 2.3vw, 32px); line-height: 1.1; letter-spacing: -.01em; }
.tl-t p:last-child { margin: 12px 0 0; max-width: 540px; color: #d8cfc2; font-size: 17px; }

/* 05 fair by design: FIG. 2 + the live panel */
.gates-grid { display: grid; grid-template-columns: minmax(0, 1.72fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.fig-gates .fig-host { aspect-ratio: 430 / 322; }
.gates-svg .lane { stroke: rgba(255, 179, 71, .22); stroke-dasharray: 3 6; }
.gates-svg .divert { fill: none; stroke: rgba(122, 108, 255, .55); stroke-width: 1.2; stroke-dasharray: 4 5; }
.gates-svg .pad .f-t { fill: rgba(122, 108, 255, .05); }
.gates-svg .pad polygon { stroke: rgba(122, 108, 255, .35); }
.gates-svg .gate polygon, .gates-svg .post polygon { transition: stroke .25s, fill .25s; }
.gates-svg .gate.pass .lintel .f-t { fill: var(--ore); }
.gates-svg .gate.pass .lintel polygon, .gates-svg .gate.pass .post polygon { stroke: #ffd29a; }
.gates-svg .gate.divert .lintel .f-t { fill: var(--rent); }
.gates-svg .gate.divert .lintel polygon { stroke: #b3aaff; }
.gates-svg .gate.deny .lintel polygon { stroke: var(--faint); stroke-dasharray: 3 3; }
.gates-svg .gate.deny .lintel .f-t { fill: #2a2520; }
.gates-svg .acc { fill: none; stroke: var(--ore); stroke-width: 1.5; }
.gates-svg .scr { fill: #16120e; }
.gates-svg .board .f-t { fill: #1d2a1f; } .gates-svg .chip .f-t { fill: var(--ore); }
.gates-svg .rent polygon { stroke: #a99fff; } .gates-svg .rent .f-t { fill: #1f1b33; } .gates-svg .rent .f-l { fill: #17142a; } .gates-svg .rent .f-r { fill: #110f20; }
.gates-svg .rent-l { stroke: var(--rent); stroke-width: 1.2; }
.gates-svg .script-t { font: 600 11px var(--mono); fill: var(--faint); }
.tag-l.gate-n { padding: 3px 6px; font-size: 10px; color: var(--ore-2); border-color: #4a3420; }
.tag-l.out-ok { color: var(--text); }
.tag-l.out-rent { color: #b3aaff; border-color: #3a3366; }
.tag-l.out-bot { color: var(--faint); border-style: dashed; }
.gate-live { display: flex; flex-direction: column; padding: 22px 24px 18px; border-radius: 22px; }
.gl-head { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font: 600 11.5px/1 var(--mono); letter-spacing: .09em; text-transform: uppercase; color: var(--text); }
.gl-state { margin-left: auto; color: var(--ore-2); }
.gl-stats { margin: 0; }
.gl-stats > div { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.gl-stats dt { min-width: 0; font: 500 11px/1.35 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--dim); }
.gl-stats dt span { display: inline-block; width: 24px; color: var(--ore-2); }
.gl-stats dd { flex: none; margin: 0; height: 22px; font: 600 15px/22px var(--mono); color: var(--text); white-space: nowrap; }
.gl-stats .gl-big { display: block; padding: 16px 0 18px; }
.gl-stats .gl-big dd { height: 52px; margin-top: 10px; font: 850 48px/52px var(--sans); font-variation-settings: "wdth" 110; letter-spacing: -.02em; }
.gl-note { margin: auto 0 0; padding-top: 14px; font: 500 11.5px/1.5 var(--mono); color: var(--faint); }
.gate-cards { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.gcard { display: flex; flex-direction: column; padding: 20px 20px 18px; border: 1px solid var(--line); border-radius: 20px; background: var(--card); min-width: 0; }
.gc-n { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; font: 600 12px/1 var(--mono); color: var(--text); }
.gc-n i { flex: 1; height: 1px; background: var(--line-2); }
.gcard h3 { margin: 0; font-weight: 800; font-variation-settings: "wdth" 108; font-size: 19px; line-height: 1.2; }
.gcard p { margin: 10px 0 16px; color: var(--dim); font-size: 14px; line-height: 1.55; }
.gcard code { font-size: .9em; }
.gc-a { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line); font: 600 11px/1.4 var(--mono); letter-spacing: .04em; color: var(--ore-2); text-decoration: none; }
.gc-a:hover { color: var(--ore); }
.gc-a.off { color: var(--faint); }
.gate-limit { margin: 16px 0 0; padding: 16px 22px; border: 1px solid var(--line); border-left: 2px solid var(--ore); border-radius: 4px 16px 16px 4px; color: var(--dim); font-size: 15px; }
.gate-limit b { color: var(--text); font-weight: 700; }

/* 06 the money path: FIG. 3 */
.path { list-style: none; margin: 0; padding: 22px 0 20px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr) 40px) minmax(0, 1fr); align-items: stretch; }
.pstep { display: flex; flex-direction: column; min-width: 0; padding: 18px 18px 16px; border: 1px solid var(--line); border-radius: 18px; background: var(--card); }
.pglyph.dev { width: 100%; max-width: 96px; height: 66px; margin: 0 0 16px; }
.pk { display: flex; gap: 8px; margin: 0; font: 600 10.5px/1 var(--mono); letter-spacing: .09em; text-transform: uppercase; color: var(--faint); }
.pk span { color: var(--ore-2); }
.pstep h3 { margin: 10px 0 8px; font-weight: 820; font-variation-settings: "wdth" 110; font-size: 21px; line-height: 1.1; }
.pstep p { margin: 0; color: var(--dim); font-size: 14px; line-height: 1.55; }
.pstep p b { color: var(--text); font-weight: 650; }
.pstep .pcheck { margin-top: auto; padding-top: 12px; border-top: 1px dashed var(--line-2); font: 600 10.5px/1.4 var(--mono); letter-spacing: .05em; text-transform: uppercase; color: var(--faint); }
.pstep > p:nth-last-child(2) { margin-bottom: 14px; }
.pcheck a { color: var(--ore-2); text-decoration: none; }
.dev .coin.sol .f-t { fill: var(--sol); } .dev .coin.solb .f-l { fill: #0f4a37; } .dev .coin.solb .f-t { fill: #123d30; } .dev .coin.sol .f-l { fill: #0f4a37; }
.parrow { display: grid; place-items: center; }
.parrow svg { width: 40px; height: 12px; overflow: visible; }
.pa-l { fill: none; stroke: var(--ore-2); stroke-width: 1.4; stroke-dasharray: 4 4; animation: flow 1s linear infinite; }
.pa-h { fill: none; stroke: var(--ore-2); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.pa-d { fill: var(--ore); animation: pa-run 2.2s var(--ease) infinite; }
@keyframes pa-run { 0% { transform: translateX(0); opacity: 0; } 15% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translateX(44px); opacity: 0; } }
.whatif { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin-top: 34px; }
.wi { padding-top: 16px; border-top: 1px solid var(--line); }
.wi h3 { margin: 0; font-weight: 750; font-size: 16.5px; font-variation-settings: "wdth" 104; }
.wi p { margin: 8px 0 0; color: var(--dim); font-size: 14.5px; }

/* 07 playground: FIG. 4 */
.pg-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 28px; align-items: start; }
.pg-ctl { padding: 24px 24px 22px; border-radius: 22px; }
.pg-k { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; font: 600 11.5px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }
.pg-k > span { color: var(--ore-2); }
.pg-k em { font-style: normal; padding: 3px 7px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 9.5px; letter-spacing: .07em; color: var(--faint); }
.pg-k em b { color: var(--sol); font-weight: 600; }
.pg-devs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 14px 0 24px; }
.pdev { display: grid; justify-items: center; gap: 6px; min-width: 0; padding: 10px 4px 9px; border: 1px solid var(--line); border-radius: 14px; background: #0d0b09; color: var(--dim); font: 600 12.5px/1.2 var(--sans); cursor: pointer; transition: border-color .2s, color .2s, background-color .2s; }
.pdev .dev { width: 100%; max-width: 62px; height: 42px; margin: 0; }
.pdev:hover { border-color: var(--line-2); color: var(--text); }
.pdev[aria-checked="true"] { border-color: var(--ore); color: var(--text); background: rgba(255, 107, 26, .07); }
.pdev span { white-space: nowrap; }
.pg-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pg-v { flex: none; font: 600 16px/1 var(--mono); color: var(--text); }
.pg-range { display: block; width: 100%; height: 22px; margin: 10px 0 4px; accent-color: var(--ore); cursor: pointer; }
.pg-hint { min-height: 18px; margin: 0 0 22px; font: 500 11.5px/1.5 var(--mono); color: var(--faint); }
.pg-uselive { padding: 0; border: 0; background: none; color: var(--ore-2); font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.pg-price { padding-top: 18px; border-top: 1px solid var(--line); }
.pg-in { width: 150px; height: 40px; padding: 0 12px; border: 1px solid var(--line-2); border-radius: 10px; background: #0d0b09; color: var(--text); font: 500 14px/1 var(--mono); }
.pg-in:focus { border-color: var(--ore); outline: none; }
.fig-worth .fig-host { aspect-ratio: 520 / 320; }
.worth-svg .peer .f-t { fill: #221e19; }
.worth-trail { stroke: rgba(255, 179, 71, .35); stroke-width: 1.2; stroke-dasharray: 3 6; fill: none; }
.tag-l.wl-blk { color: var(--ore-2); border-color: #4a3420; }
.pg-meter { margin: 0 0 10px; padding: 8px 0 6px; overflow-x: clip; }
.pm-track { position: relative; height: 10px; border: 1px solid var(--line-2); border-radius: 999px; background: repeating-linear-gradient(90deg, transparent 0 calc(20% - 1px), var(--line-2) calc(20% - 1px) 20%); }
.pm-mark { position: absolute; inset: -6px 0; transition: transform .45s var(--ease); }
.pm-mark::before { content: ""; position: absolute; left: -1px; top: 0; bottom: 0; width: 3px; border-radius: 2px; background: var(--ore); }
.pm-ticks { display: flex; justify-content: space-between; margin-top: 8px; font: 500 10px/1 var(--mono); color: var(--faint); }
.pg-out { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.pg-out > div { min-width: 0; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.pg-out > div:nth-child(odd):not(.pg-wide) { border-right: 1px solid var(--line); }
.pg-out .pg-wide { grid-column: 1 / -1; border-bottom: 0; }
.pg-out dt { font: 500 10.5px/1.3 var(--mono); letter-spacing: .07em; text-transform: uppercase; color: var(--faint); }
.pg-out dd { margin: 8px 0 0; height: 24px; font: 650 18px/24px var(--mono); color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-formula { display: grid; gap: 5px; margin: 14px 0 12px; font: 500 11.5px/1.5 var(--mono); color: var(--faint); }
.pg-formula b { color: var(--dim); font-weight: 600; } .pg-formula i { font-style: normal; }

@media (max-width: 1080px) {
  .gate-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .path { grid-template-columns: minmax(0, 1fr); padding: 18px 0; }
  .pstep { display: grid; grid-template-columns: 96px minmax(0, 1fr); column-gap: 20px; align-content: start; }
  .pstep .pglyph { grid-row: 1 / span 4; margin: 0; align-self: center; }
  .pstep .pcheck { margin-top: 12px; }
  .parrow { height: 34px; }
  .parrow svg { transform: rotate(90deg); }
  .whatif { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  .sec-split, .why-grid, .gates-grid, .pg-grid { grid-template-columns: minmax(0, 1fr); }
  .sec-lede { justify-self: start; }
  .why-head { position: static; }
  .why-grid { gap: 40px; }
  .gate-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  section.why, section.gates, section.money, section.worth { padding-top: 84px; }
  .sec-split { margin-bottom: 26px; gap: 18px; }
  .sec-lede { font-size: 16px; }
  .tl { gap: 36px; }
  .tl::before, .tl::after { left: 27px; top: 28px; bottom: 28px; }
  .tl-i { grid-template-columns: 56px minmax(0, 1fr); gap: 16px; }
  .tl-m { width: 56px; height: 56px; border-radius: 14px; }
  .tl-m .dev { width: 42px; height: 38px; }
  .tl-t p:last-child { font-size: 15.5px; }
  .gate-live { padding: 18px 18px 14px; }
  .gl-stats .gl-big dd { font-size: 40px; }
  .gate-cards { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .fig-key { display: none; }
  .tag-l.gate-n { font-size: 9px; padding: 2px 4px; }
  .tag-l.out-rent, .tag-l.out-bot, .tag-l.out-ok { font-size: 9px; padding: 3px 5px; }
  .pstep { grid-template-columns: 64px minmax(0, 1fr); column-gap: 14px; padding: 16px; }
  .pglyph.dev { max-width: 64px; height: 48px; }
  .pstep h3 { font-size: 19px; }
  .whatif { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 26px; }
  .pg-ctl { padding: 18px 16px; }
  .pg-devs { gap: 6px; }
  .pdev { font-size: 11.5px; padding: 8px 2px 7px; }
  .pdev .dev { height: 34px; }
  .pg-out dd { font-size: 15px; }
  .pg-out > div { padding: 12px 12px; }
  .tag-l.wl-pool { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .tl::after { transition: none; }
  .pa-l, .pa-d { animation: none; }
  .pa-d { opacity: 0; }
  .pm-mark, .pdev, .gates-svg .gate polygon, .gates-svg .post polygon { transition: none; }
}
.fig .fig-foot { display: grid; gap: 6px; padding-top: 4px; }
.gl-stats .gl-big .gl-soon { font: 600 20px/52px var(--mono); letter-spacing: 0; color: var(--ore-2); }
.fig .fig-foot { position: relative; margin: 0; font: 500 11px/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--faint); text-align: left; }
.fig .fig-line { font: 400 14.5px/1.45 var(--sans); letter-spacing: 0; text-transform: none; color: var(--dim); }
@media (max-width: 640px) { .fig .fig-line { font-size: 14px; } }
.gates-svg .rider polygon { stroke-width: .8; }

/* block split (10-17): the 3-part card (50 buyback / 45 holders / 5 finder), the money path's branch step, the odds playground */
.split-card .halves.thirds { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.thirds .half { grid-template-columns: minmax(0, 1fr); align-content: end; gap: 16px; padding-right: 32px; }
.thirds .half + .half { padding-left: 32px; }
.thirds .half:last-child { padding-right: 0; }
.thirds .half-g { order: -1; width: 132px; height: 104px; }
.thirds .pct { font-size: clamp(56px, 6.2vw, 100px); }
@media (max-width: 899px) {
  .split-card .halves.thirds { grid-template-columns: minmax(0, 1fr); }
  .thirds .half, .thirds .half:first-child, .thirds .half:last-child { grid-template-columns: minmax(0, 1fr) auto; align-items: end; padding: 14px 0 18px; }
  .thirds .half + .half { padding-left: 0; border-left: 0; border-top: 1px solid var(--line-2); }
  .thirds .half-g { order: 0; width: 110px; height: 86px; }
}
@media (max-width: 640px) {
  .thirds .half-g { width: 92px; height: 72px; }
  .thirds .pct { font-size: 64px; }
}
.pb-list { list-style: none; margin: 2px 0 14px; padding: 0; display: grid; gap: 9px; }
.pb-list li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 8px; align-items: baseline; color: var(--dim); font-size: 13.5px; line-height: 1.45; }
.pb-list b { font: 700 15px/1.2 var(--mono); color: var(--ore-2); }
.pg-out > .pg-top { border-bottom: 1px solid var(--line); }
.pg-out > .pg-top ~ div:nth-child(odd) { border-right: 0; }
.pg-out > .pg-top ~ div:nth-child(even) { border-right: 1px solid var(--line); }
.pg-out > .pg-top ~ div:nth-last-child(-n+2) { border-bottom: 0; }
