/* LUPYN terminal design system.
   One layer, loaded last on every page, that carries the home page's "05 / THE CHECK" look everywhere:
   near-black green surfaces, hairline green borders, terminal cards with a status bar, light mono headlines with one
   italic serif accent, violet kickers and a lime accent. terminal-fx.js adds the motion (reveal, cursor, typing,
   counters, copy buttons, claim cards); every effect is off under prefers-reduced-motion.
   Page stylesheets (home.css, styles.css, guide*.css, pages-free.css) are version-pinned by tests, so all theming
   lives here as overrides. */
@import url("https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Instrument+Serif:ital@0;1&display=swap");

:root{
  --terminal-font:"Share Tech Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
  --t-data:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
  --t-serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --t-bg:#060a07;--t-band:#080d0a;--t-panel:#050806;--t-raised:#0c140e;--t-hover:#101b13;
  --t-line:#1e3023;--t-line-2:#2d4433;--t-edge:#344d3b;--t-edge-hi:#5b7d4f;
  --t-ink:#dce5d8;--t-ink-hi:#eef4ea;--t-body:#b9c7b7;--t-muted:#94aa96;--t-dim:#7f927f;
  --t-lime:#c6ef79;--t-lime-hi:#dcff9e;--t-lime-ink:#10180a;--t-lime-glow:#c6ef7940;
  --t-violet:#ad9cff;--t-lilac:#b9abd2;--t-danger:#ff9fae;--t-warn:#ffc56b;
  --t-radius:12px;--t-ease:cubic-bezier(.2,.7,.2,1);
  /* Legacy names used by earlier revisions of this file. */
  --terminal-bg:var(--t-bg);--terminal-panel:var(--t-panel);--terminal-line:var(--t-line);--terminal-ink:var(--t-ink);
  --terminal-muted:var(--t-muted);--terminal-lime:var(--t-lime);--terminal-gold:#c8ad58;
  /* Page tokens: home.css (--paper, --ink …) and styles.css (--bg, --surface …) read these. */
  --paper:var(--t-bg);--ink:var(--t-ink);--muted:var(--t-muted);--lime:var(--t-lime);--purple:var(--t-violet);
  --line:var(--t-line-2);--dark:var(--t-bg);--surface:var(--t-band);--raised:var(--t-raised);
  --bg:var(--t-bg);--text:var(--t-ink);--panel:var(--t-band);--danger:var(--t-danger);--radius:var(--t-radius);
  color-scheme:dark;background:var(--t-bg);color:var(--t-ink);
  scrollbar-color:var(--t-edge) var(--t-bg);
}

/* ---------- Base ---------- */
html,body{font-family:var(--terminal-font)!important}
body,body button,body input,body select,body textarea,body summary,body h1,body h2,body h3,body h4,body p,body a,body li,body dt,body dd,body th,body td{font-family:var(--terminal-font)!important}
html body{background:var(--t-bg);color:var(--t-ink);overflow-x:clip}
/* Grid paper and scan lines, fixed behind the content. */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 60% at 70% 0%,#c6ef790b,transparent 70%),
    radial-gradient(ellipse 60% 50% at 0% 100%,#ad9cff08,transparent 70%),
    repeating-linear-gradient(0deg,#0000 0 2px,#00000038 2px 3px),
    linear-gradient(90deg,#c6ef7906 1px,transparent 1px) 0 0/56px 56px,
    linear-gradient(#c6ef7906 1px,transparent 1px) 0 0/56px 56px,
    var(--t-bg)}
::selection{background:#c6ef79;color:var(--t-lime-ink)}
h1,h2,h3,h4{font-weight:400!important;letter-spacing:.01em!important;font-synthesis:none}
/* Share Tech Mono has one weight: let emphasis in running text still read as bold. */
.guide-page strong,.guide-page b,.wrap p strong,.wrap li strong{font-synthesis:weight}
button,input,select,textarea,summary{letter-spacing:.025em}
body a:focus-visible,body button:focus-visible,body summary:focus-visible,body input:focus-visible,body select:focus-visible,body [tabindex]:focus-visible{outline:2px solid var(--t-lime)!important;outline-offset:3px!important;border-radius:4px}

/* Headline accent: the italic serif word in lime ("copy."). */
body h1 em,body h2 em,body h3 em,.hero h1 .outlined,.fx-serif{font-family:var(--t-serif)!important;font-style:italic!important;font-weight:400!important;letter-spacing:0!important;color:var(--t-lime)!important;-webkit-text-stroke:0!important;text-transform:none}
.hero h1 .outlined{text-transform:lowercase}

/* Kickers and eyebrows: small, spaced, violet. */
.kicker,.eyebrow,.guide-page .eyebrow{color:var(--t-violet)!important;font-family:var(--t-data)!important;font-size:10px!important;letter-spacing:.16em!important;text-transform:uppercase;font-weight:500}
.section-label{border-color:var(--t-line-2)!important;color:var(--t-muted)!important;font-family:var(--t-data);letter-spacing:.12em}
.section-label>span:first-child{color:var(--t-violet)!important}

/* ---------- Terminal card: the reference component ---------- */
.terminal-bar{display:flex;align-items:center;gap:9px;padding:13px 0;border-bottom:1px solid var(--t-line);color:#aab9a9;font:9px/1.4 var(--t-data)!important;letter-spacing:.12em;text-transform:uppercase;min-width:0}
.terminal-bar>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.terminal-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--t-lime);box-shadow:0 0 10px var(--t-lime)}
.terminal-live{margin-left:auto;flex:0 0 auto;color:var(--t-lilac);font-size:8px;letter-spacing:.14em;padding:3px 6px;border:1px solid #3d3659;border-radius:4px}
.terminal-live.is-lime{color:var(--t-lime);border-color:#4f6b3c;background:#c6ef790d}
.fx-bar{margin:0 0 16px}
.verification-terminal,.fx-card{background:var(--t-panel)!important;border:1px solid var(--t-edge)!important;border-radius:var(--t-radius)!important;box-shadow:0 20px 50px #0008;transition:border-color .25s ease,box-shadow .35s ease,transform .35s var(--t-ease)}
.verification-terminal:hover,.fx-card:hover,.fx-card:focus-within{border-color:var(--t-edge-hi)!important;box-shadow:0 22px 54px #000a,0 0 0 1px #c6ef7914,0 0 38px #c6ef790f}
.terminal-code,.fx-codelist{font:11px/2 var(--t-data)!important;color:#94aa96;border-left:2px solid #526d56;padding-left:14px}
.terminal-code span{color:var(--t-lime)}

/* Live status dots pulse. */
.terminal-dot,.status-dot,.dot,.fx-dot{animation:fx-pulse 2.2s ease-in-out infinite}
.status-dot,.dot{background:var(--t-lime)!important;box-shadow:0 0 12px #c6ef7970}
@keyframes fx-pulse{0%,100%{box-shadow:0 0 0 0 #c6ef7966,0 0 10px #c6ef7999}60%{box-shadow:0 0 0 6px #c6ef7900,0 0 14px #c6ef79cc}}
@keyframes fx-blink{0%,49%{opacity:1}50%,100%{opacity:0}}

/* Blinking block cursor after the page headline. */
.fx-cursor{display:inline-block;width:.5em;height:.82em;margin-left:.12em;vertical-align:-.04em;background:var(--t-lime);box-shadow:0 0 12px #c6ef7980;animation:fx-blink 1.05s steps(1) infinite}

/* Typing line: width grows in character steps, a caret rides the edge. */
.fx-type{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:clip!important;vertical-align:bottom}
.fx-type.is-typing{width:0;border-right:.55em solid var(--t-lime);animation:fx-type var(--fx-dur,1.2s) steps(var(--fx-n,24)) forwards,fx-caret .5s steps(1) infinite}
.fx-type.is-typed{width:auto;border-right:0}
@keyframes fx-type{to{width:var(--fx-w)}}
@keyframes fx-caret{50%{border-right-color:transparent}}

/* Reveal on scroll (terminal-fx.js tags the elements; nothing is hidden without it). */
.fx-on .fx-reveal{opacity:0;translate:0 14px;transition:opacity .6s ease var(--fx-delay,0s),translate .7s var(--t-ease) var(--fx-delay,0s)}
.fx-on .fx-reveal.is-in{opacity:1;translate:0 0}

/* Copy-to-clipboard for contract addresses. */
.fx-copy{display:inline-flex;align-items:center;gap:6px;margin:8px 0 0;padding:6px 10px!important;border:1px solid var(--t-edge)!important;border-radius:6px!important;background:var(--t-raised)!important;color:var(--t-lime)!important;font:10px/1.4 var(--t-data)!important;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.fx-copy::before{content:"⧉";font-size:12px;line-height:1}
.fx-copy:hover{border-color:var(--t-lime)!important;background:var(--t-hover)!important}
.fx-copy:active{transform:translateY(1px)}
.fx-copy.is-done{color:var(--t-lime-ink)!important;background:var(--t-lime)!important;border-color:var(--t-lime)!important}
.fx-copy.is-done::before{content:"✓"}
.fx-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Buttons ---------- */
.button,.btn-go,.guide-page .button.primary,.global-header .global-play{background:var(--t-lime)!important;color:var(--t-lime-ink)!important;border:1px solid var(--t-lime)!important;box-shadow:0 0 0 0 #c6ef7900,0 6px 24px #c6ef7914;transition:background .2s,box-shadow .25s,transform .2s var(--t-ease)!important}
.button:hover,.btn-go:hover:not(:disabled),.guide-page .button.primary:hover,.global-header .global-play:hover{background:var(--t-lime-hi)!important;border-color:var(--t-lime-hi)!important;box-shadow:0 0 0 4px #c6ef7920,0 10px 30px #c6ef7926;transform:translateY(-1px)}
.button:active,.btn-go:active:not(:disabled),.guide-page .button.primary:active{transform:translateY(1px);box-shadow:0 0 0 2px #c6ef7930}
.btn,.guide-page button:not(.global-wallet):not(.global-wallet-disconnect):not(.fx-copy){border-color:var(--t-edge)!important;background:var(--t-raised)!important;color:var(--t-ink)!important;transition:border-color .2s,background .2s,color .2s,transform .15s}
.btn:hover:not(:disabled),.guide-page button:not(.global-wallet):not(.global-wallet-disconnect):not(.fx-copy):hover:not(:disabled){border-color:var(--t-lime)!important;background:var(--t-hover)!important;color:var(--t-lime)!important}
.btn.btn-go{color:var(--t-lime-ink)!important;border-color:var(--t-lime)!important;background:var(--t-lime)!important}
.btn.btn-go:hover:not(:disabled){background:var(--t-lime-hi)!important;color:var(--t-lime-ink)!important}
button:disabled,.btn:disabled{cursor:not-allowed}
.button:disabled,.button[disabled]{background:var(--t-raised)!important;border-color:var(--t-line-2)!important;color:var(--t-dim)!important;box-shadow:none!important;transform:none!important;opacity:1}
.btn-go:disabled{background:#2c3b24!important;border-color:#3d5230!important;color:#a9bb98!important;box-shadow:none;opacity:1}
.text-link,.quiet-link{color:var(--t-violet)!important;transition:color .2s}
.text-link:hover,.quiet-link:hover{color:var(--t-lime)!important}

/* ---------- Shared header (global-header) and race topbar ---------- */
.global-header,.topbar,.site-nav{background:#060a07eb!important;border-bottom:1px solid var(--t-line)!important;font-family:var(--terminal-font)!important;backdrop-filter:blur(12px)}
.global-header::after,.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#c6ef7966 30%,#ad9cff55 70%,transparent);opacity:.7;pointer-events:none}
.global-header .global-nav,.global-quick,.topbar nav,.site-nav nav{gap:3px!important}
.global-header .global-nav a,.global-menu summary,.topbar nav a,.site-nav nav a{box-sizing:border-box;border:1px solid var(--t-line)!important;border-radius:6px!important;background:var(--t-panel)!important;color:var(--t-muted)!important;padding:9px 11px!important;font:11px/1 var(--terminal-font)!important;letter-spacing:.08em!important;text-transform:uppercase;white-space:nowrap;transition:color .2s,border-color .2s,background .2s}
.global-header .global-nav a:hover,.global-menu summary:hover,.topbar nav a:hover,.site-nav nav a:hover{color:var(--t-ink)!important;border-color:var(--t-edge-hi)!important;background:var(--t-hover)!important}
.global-header .global-nav a[aria-current=page],.topbar nav .active{color:var(--t-lime)!important;border-color:#56733f!important;background:#0f190f!important;box-shadow:inset 0 -2px 0 var(--t-lime)}
.topbar nav{height:auto!important}
.topbar nav a{height:auto!important;display:inline-flex!important;align-items:center}
.global-menu summary{display:flex!important;align-items:center;gap:8px}
.global-header .global-play,.site-nav>.button,.btn-wallet{border-radius:6px!important;font-family:var(--terminal-font)!important;letter-spacing:.08em!important;text-transform:uppercase}
.global-header .global-play{padding:10px 14px!important}
.global-menu-panel{border-radius:10px!important;background:var(--t-panel)!important;border-color:var(--t-edge)!important;box-shadow:0 18px 44px #000c!important}
.global-menu-panel a{border-radius:6px!important}
.brand,.global-brand,.topbar .brand,.site-nav .wordmark{font-family:var(--terminal-font)!important;letter-spacing:.06em!important;color:var(--t-ink-hi)!important;font-weight:400!important}
.brand-sub{color:var(--t-violet)!important}
.global-wallet,.btn-wallet{border:1px solid var(--t-edge)!important;background:var(--t-panel)!important;color:var(--t-ink)!important;transition:border-color .2s,background .2s,color .2s}
.global-wallet::before{color:var(--t-violet)!important}
.global-wallet:hover:not(:disabled),.btn-wallet:hover:not(:disabled){border-color:var(--t-lime)!important;color:var(--t-lime)!important;background:var(--t-hover)!important}
.global-wallet.is-connected{border-color:#4f6b3c!important;color:var(--t-lime)!important}
.global-wallet.is-connected::before{color:var(--t-lime)!important;animation:fx-blink 2.4s steps(1) infinite}
.test-badge{color:var(--t-lime)!important;border:1px solid #4f6b3c;border-radius:4px;padding:4px 7px;background:#c6ef790a}
.test-badge::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--t-lime);margin-right:7px;vertical-align:1px;animation:fx-pulse 2.2s ease-in-out infinite}

/* ============ HOME (index.html / home.html) ============ */
.hero{background:radial-gradient(ellipse at 75% 40%,#c6ef790a,transparent 60%)!important}
.hero h1{font-style:normal!important;font-weight:400!important;letter-spacing:-.02em!important;color:var(--t-ink-hi)}
.hero h1 .outlined{letter-spacing:-.01em!important;padding-right:.04em}
.hero-deck{color:var(--t-body)!important}
.ticker{background:var(--t-panel)!important;color:var(--t-lime)!important;border-block:1px solid var(--t-line);justify-content:flex-start!important;gap:0!important;padding:16px 0!important}
.fx-marquee{display:flex;gap:48px;padding-right:48px;flex:0 0 auto;align-items:center;animation:fx-marquee 38s linear infinite}
.fx-marquee b{color:var(--t-violet)}
.ticker:hover .fx-marquee{animation-play-state:paused}
@keyframes fx-marquee{to{transform:translateX(-100%)}}
.section{position:relative}
main>.section,main>.rivalry,main>.crew,main>.files,main>.verification{background:transparent!important}
.rivalry,.crew,.files,.verification,.closing{background:linear-gradient(180deg,#080d0ae6,#070b08e6)!important;border-block:1px solid var(--t-line)!important;color:var(--t-ink)!important}
.verification .section-label{border-color:var(--t-line-2)!important}
body main h2{color:var(--t-ink-hi)}
.story-copy>p:not(.kicker),.rivalry-grid>div>p:not(.kicker),.manifesto-grid p,.section-intro p{color:var(--t-body)!important}
.portrait-frame,.heist-diagram,.race-preview,.leaderboard-panel,.reward-plan,.art-reserve,.gallery-item,.contract-box,.lightbox-frame,.process-grid{background:var(--t-panel)!important;border:1px solid var(--t-edge)!important;border-radius:var(--t-radius)!important;box-shadow:0 18px 44px #0007!important}
.leaderboard-panel,.art-reserve,.contract-box,.race-preview{transition:border-color .25s ease,box-shadow .35s ease}
.leaderboard-panel:hover,.art-reserve:hover,.contract-box:hover,.race-preview:hover{border-color:var(--t-edge-hi)!important;box-shadow:0 22px 54px #000a,0 0 38px #c6ef790f!important}
.gallery-item:hover,.gallery-item:focus-within,.process-item:hover,.process-item:focus-within{border-color:var(--t-edge-hi)!important;box-shadow:0 22px 44px #000a,0 0 30px #c6ef7912!important}
.file-top,.heist-diagram .file-top{background:transparent!important;color:#aab9a9!important;border-color:var(--t-line)!important;font-family:var(--t-data)!important;letter-spacing:.12em}
.file-top>span:first-child::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--t-lime);box-shadow:0 0 10px var(--t-lime);margin-right:9px;vertical-align:1px;animation:fx-pulse 2.2s ease-in-out infinite}
.small-tag,.gallery-item .small-tag,.crew-heading .small-tag,.pair-status .small-tag{color:var(--t-violet)!important;border-color:#3d3659!important;background:#ad9cff0a!important;border-radius:4px}
.race-preview .small-tag{color:var(--t-lime)!important;border-color:#4f6b3c!important;background:#c6ef790a!important}
.race-preview h3{font-weight:400!important;color:var(--t-ink-hi)}
.race-preview p{color:var(--t-body)!important}
.track-lines{max-width:100%}
.split-bar span:nth-child(1){background:var(--t-lime)!important}
.split-bar span:nth-child(2){background:var(--t-violet)!important}
.split-bar span:nth-child(3){background:#5b7d4f!important}
.split-bar span:nth-child(4){background:#3b4b3e!important}
.split-bar span{border-radius:2px;transform-origin:left center}
.fx-on .split-bar.fx-grow span{transform:scaleX(0);transition:transform 1s var(--t-ease)}
.fx-on .split-bar.fx-grow.is-in span{transform:scaleX(1)}
.fx-on .split-bar.fx-grow.is-in span:nth-child(2){transition-delay:.12s}
.fx-on .split-bar.fx-grow.is-in span:nth-child(3){transition-delay:.22s}
.fx-on .split-bar.fx-grow.is-in span:nth-child(4){transition-delay:.3s}
.pool-split strong{font-family:var(--t-data)!important;font-weight:300!important;font-variant-numeric:tabular-nums}
.pool-split>div{transition:background .25s}
.pool-split>div:hover{background:#c6ef7906}
.pool-split span{color:var(--t-violet)}
.allocation>strong{font-weight:300!important;color:var(--t-lime)!important}
.heist-steps p{border-color:var(--t-line)!important;color:var(--t-body)}
.calling-note{background:#18132b!important;color:var(--t-ink)!important;border:1px solid #3d3659;border-radius:8px}
.leaderboard-panel{padding-top:0!important}
.leaderboard-panel>.fx-bar{margin-bottom:20px}
.leaderboard-heading h3{font-weight:400!important;color:var(--t-ink-hi)}
.leaderboard-heading p{color:var(--t-violet)!important}
.leaderboard-panel table tbody tr{transition:background .2s}
.leaderboard-panel table tbody tr:hover{background:#c6ef7908}
.ranking-rules summary{color:var(--t-lime)}
.files details{border-color:var(--t-line-2)!important;transition:background .2s}
.files details:hover{background:#c6ef7905}
.files summary{transition:color .2s,padding-left .3s var(--t-ease)}
.files summary:hover{color:var(--t-lime)!important;padding-left:6px}
.files details[open] summary{color:var(--t-lime)}
.file-number{color:var(--t-violet)!important}
.file-body{color:var(--t-body)!important;border-left:2px solid #526d56;padding-left:14px;font-family:var(--t-data)}
.file-body p{font-family:var(--t-data)!important;font-size:12px}
.manifesto-signoff{color:var(--t-lime)!important}
.signature{border-color:var(--t-line-2)!important}
.onboard-grid li,.onboard-grid li:last-child{border-color:var(--t-line-2)!important;transition:background .25s}
.onboard-grid li:hover{background:linear-gradient(90deg,#c6ef7908,transparent 70%)}
.onboard-grid li>span{font-family:var(--t-data)}
.onboard-grid li>a,.onboard-grid .onboard-action{border-radius:6px!important;transition:border-color .2s,background .2s,color .2s,transform .15s}
.onboard-grid li>a:active,.onboard-grid .onboard-action:active:not(:disabled){transform:translateY(1px)}
.contract-box{padding-top:0!important}
.contract-heading{padding:13px 0;border-bottom:1px solid var(--t-line);margin-bottom:16px}
.contract-heading .kicker{color:var(--t-violet)!important}
.contract-heading .kicker::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--t-lime);box-shadow:0 0 10px var(--t-lime);margin-right:9px;vertical-align:1px;animation:fx-pulse 2.2s ease-in-out infinite}
#contractAddress{border-left:2px solid #526d56;padding-left:12px;overflow-wrap:anywhere}
.network-grid dl>div{border-color:var(--t-line-2)!important}
.network-grid dt{color:var(--t-muted)}
.closing{background:radial-gradient(ellipse at 50% 100%,#c6ef7914,transparent 70%),var(--t-band)!important}
.closing h2{color:var(--t-ink-hi)!important}
footer{background:transparent!important;color:var(--t-ink)!important;border-top:1px solid var(--t-line)}
footer p{color:var(--t-muted)!important}
footer a{transition:color .2s}
footer a:hover{color:var(--t-lime)}
.hero-art::before{background:radial-gradient(circle,#c6ef7924 0,#ad9cff12 45%,transparent 70%)!important}
.orbit{border-color:#c6ef7920!important}
.stage-controls button,.lightbox-nav button{background:var(--t-raised)!important;color:var(--t-ink)!important;border-color:var(--t-edge)!important}
.stage-controls button:hover,.lightbox-nav button:hover{border-color:var(--t-lime)!important;color:var(--t-lime)!important}

/* ============ RACE PAGE (race.html, styles.css) ============ */
.lobby-head h1{font-weight:400!important;letter-spacing:-.01em!important;color:var(--t-ink-hi)}
.lobby-head p{color:var(--t-body)!important}
.track-icon{border-color:var(--t-edge)!important;background:var(--t-raised)!important;color:var(--t-lime)!important}
.race-title h2{font-weight:400!important;color:var(--t-ink-hi)}
.pill{border-color:var(--t-line-2)!important;border-radius:4px!important;font-family:var(--t-data)!important}
.pill.live{color:var(--t-lime)!important;background:#c6ef790d!important;border-color:#4f6b3c!important}
.pill.live::before{display:inline-block;animation:fx-blink 1.6s steps(1) infinite}
.hud,.finish-bar,.view-toolbar,.qualification-progress,.recent-results{background:var(--t-panel)!important;border-color:var(--t-edge)!important}
.hud>div{border-color:var(--t-line)!important}
.hud .label{color:var(--t-violet)!important}
.hud .pool-value{color:var(--t-lime)!important;text-shadow:0 0 18px #c6ef7940}
.view-toolbar{color:var(--t-violet)!important}
.view-toolbar button{background:var(--t-raised)!important;border-color:var(--t-line-2)!important;color:var(--t-ink)!important}
.view-toolbar button:hover,.view-toolbar button[aria-pressed=true]{border-color:var(--t-lime)!important;color:var(--t-lime)!important}
.screen{border-color:var(--t-edge)!important}
.finish-flag{color:var(--t-lime)!important}
#hudWinner{color:var(--t-ink-hi)}
.recent-results{margin-top:12px;border:1px solid var(--t-edge)!important;border-radius:var(--t-radius)}
.recent-results h3{color:var(--t-violet);font-family:var(--t-data)!important;font-size:10px!important;letter-spacing:.14em!important;text-transform:uppercase}
.recent-results p{font-family:var(--t-data)!important;border-left:2px solid #526d56;padding-left:12px!important;margin:4px 0}
.track-note>span{color:var(--t-lime)!important}
/* The violet track illustration, shifted into the lime/green palette (lime markings turn violet). */
.track-art{filter:hue-rotate(205deg) saturate(.62) brightness(.9)}
.scene-badge,.scene-caption{color:#a9c79a!important}
.scene-copy p{color:#c3d3be!important}
.ticket{background:var(--t-panel)!important;border-color:var(--t-edge)!important;box-shadow:0 20px 50px #0008}
.ticket::before{background:linear-gradient(90deg,transparent,var(--t-lime),transparent)!important;opacity:.7}
.ticket-heading h3{font-weight:400!important;font-size:17px!important;color:var(--t-ink-hi)}
.ticket-symbol,.wallet-dot{color:var(--t-lime)!important}
.wallet-card{background:linear-gradient(120deg,#0f1a11,#070b08)!important;border-color:var(--t-line-2)!important}
.wallet-card .label{color:var(--t-violet)!important}
.step-number{font-family:var(--t-data)!important;color:var(--t-lime)!important;border-color:#4f6b3c!important;background:#c6ef790d!important}
.bp-horse{background:var(--t-raised)!important;border-color:var(--t-line-2)!important;transition:transform .2s var(--t-ease),border-color .2s,box-shadow .25s!important}
.bp-horse:hover{box-shadow:0 8px 22px #0009,0 0 0 1px var(--runner,var(--t-lime))}
.bp-horse[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--t-lime),0 0 24px #c6ef7926!important}
.ticket .bp-horse::before{background-image:linear-gradient(100deg,rgba(5,8,6,.94),rgba(5,8,6,.62)),var(--portrait)!important}
.ticket .bp-horse[aria-pressed=true]::before{background-image:linear-gradient(100deg,rgba(38,58,19,.95),rgba(5,8,6,.55)),var(--portrait)!important}
.selection{border-color:var(--t-line)!important}
.amount-input input,#betCurrency{background:var(--t-bg)!important;border-color:var(--t-edge)!important;transition:border-color .2s,box-shadow .2s}
.amount-input input:focus{border-color:var(--t-lime)!important;box-shadow:0 0 0 3px #c6ef7922}
.amount-input>span{color:var(--t-lime)!important}
.quick-amounts button{background:var(--t-raised)!important;border-color:var(--t-line-2)!important;color:var(--t-muted)!important;transition:color .2s,border-color .2s,transform .15s!important}
.quick-amounts button:hover{color:var(--t-lime)!important;border-color:var(--t-lime)!important}
.quick-amounts button:active{transform:translateY(1px)}
.bet-submit{letter-spacing:.08em;text-transform:uppercase}
.ticket-bottom{border-color:var(--t-line-2)!important;color:var(--t-dim)!important}
.entry-disclosure{border-color:var(--t-line-2)!important;background:var(--t-bg)}
#transactionLink{color:var(--t-violet)!important}
.panel,.steps,.network-panel{background:var(--t-panel)!important;border-color:var(--t-edge)!important;border-radius:var(--t-radius)!important;box-shadow:0 18px 44px #0007;transition:border-color .25s,box-shadow .35s}
.panel:hover,.network-panel:hover{border-color:var(--t-edge-hi)!important}
.panel{padding-top:0!important}
.panel>.fx-bar{margin-bottom:18px}
.panel-heading h2{font-weight:400!important;font-size:22px!important;color:var(--t-ink-hi)}
.reward-icon{color:var(--t-lime)!important;text-shadow:0 0 18px #c6ef7960}
.steps article{border-color:var(--t-line)!important;transition:background .25s}
.steps article:hover{background:#c6ef7906}
.steps h3{font-weight:400!important;font-size:17px!important;color:var(--t-ink-hi)}
.steps p{color:var(--t-body)!important}
.section-heading h2{font-weight:400!important}
.section-heading h2 span{color:var(--t-muted)!important}
.network-panel h2{color:var(--t-lime)!important}
.token-address{border-left:2px solid #526d56;padding-left:10px;color:var(--t-ink)}
#walletActivity .bp-yours{border-color:var(--t-line)!important;border-left:2px solid #526d56;padding-left:10px!important}
.activity-empty{color:var(--t-muted)!important}
#legacyClaimsLink{margin-bottom:14px}

/* ---- Claim card (race payouts). terminal-fx.js builds this from app.js's claim buttons. ---- */
#positionsStatus{color:var(--t-muted)!important;font-size:11px!important;line-height:1.7;padding-left:12px;border-left:2px solid var(--t-line-2)}
#claims{display:grid!important;gap:12px!important;margin-top:16px}
#claims .claims-group{display:flex;align-items:center;gap:10px;margin:8px 0 0;font:10px/1.4 var(--t-data);letter-spacing:.16em;text-transform:uppercase;color:var(--t-violet)}
#claims .claims-group::after{content:"";flex:1;height:1px;background:var(--t-line)}
#claims>.btn{width:100%;justify-content:space-between;white-space:normal;text-align:left;color:var(--t-lime)!important;border-color:#4f6b3c!important;background:#c6ef790a!important}
#claims .bp-yours{width:100%;margin:0;font:11px/1.5 var(--t-data)!important;color:var(--t-muted)!important;padding:4px 0 4px 12px;border-left:2px solid var(--t-line-2)}
#claims .bp-yours.is-paid{color:#a9c79a!important;border-left-color:#526d56}
#claims .bp-yours.is-paid::before{content:"✓ ";color:var(--t-lime)}
.claim-summary{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:center;margin:16px 0 4px;padding:16px 18px;border:1px solid #4f6b3c;border-radius:10px;background:radial-gradient(ellipse at 0% 0%,#c6ef7916,transparent 70%),#0a1209;overflow:hidden}
.claim-summary[hidden]{display:none!important}
.claim-summary .fx-dot{grid-row:1/3;width:12px;height:12px;border-radius:50%;background:var(--t-lime);box-shadow:0 0 14px var(--t-lime)}
.claim-summary-title{font:12px/1.3 var(--t-data);letter-spacing:.12em;text-transform:uppercase;color:var(--t-lime)}
.claim-summary-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;color:var(--t-muted);font:11px/1.4 var(--t-data)}
.claim-summary-total strong{font:300 26px/1.1 var(--t-data);color:var(--t-ink-hi);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.claim-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 18px;padding:16px 18px;border:1px solid var(--t-edge);border-radius:10px;background:var(--t-raised);overflow:hidden;transition:border-color .25s,box-shadow .3s,transform .3s var(--t-ease)}
.claim-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--t-lime)}
.claim-card.is-refund::before{background:var(--t-violet)}
.claim-card:hover{border-color:var(--t-edge-hi);box-shadow:0 12px 30px #0009,0 0 26px #c6ef790f}
.claim-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.claim-tag,.claim-race{font:9px/1 var(--t-data);letter-spacing:.14em;text-transform:uppercase;padding:5px 7px;border-radius:4px;border:1px solid}
.claim-tag{color:var(--t-lime-ink);background:var(--t-lime);border-color:var(--t-lime);font-weight:600}
.is-refund .claim-tag{color:#130f24;background:var(--t-violet);border-color:var(--t-violet)}
.claim-race{color:var(--t-ink);border-color:var(--t-line-2);background:var(--t-panel)}
.claim-amount{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0}
.claim-amount strong{font:300 clamp(28px,4.6vw,38px)/1.05 var(--t-data);color:var(--t-ink-hi);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.claim-amount span{font:11px var(--t-data);letter-spacing:.14em;color:var(--t-lime)}
.is-refund .claim-amount span{color:var(--t-violet)}
.claim-reason{grid-column:1/-1;margin:-4px 0 0;font:11px/1.5 var(--t-data);color:var(--t-muted)}
#claims .claim-card .claim-btn{position:relative;min-width:168px;min-height:52px;padding:14px 22px!important;border-radius:8px!important;background:var(--t-lime)!important;color:var(--t-lime-ink)!important;border:1px solid var(--t-lime)!important;font:600 13px/1 var(--t-data)!important;letter-spacing:.14em!important;text-transform:uppercase;white-space:nowrap;box-shadow:0 0 0 0 #c6ef7955,0 8px 24px #c6ef7920;animation:fx-claim-glow 2.4s ease-in-out infinite;transition:background .2s,transform .15s var(--t-ease),box-shadow .25s!important}
#claims .claim-card .claim-btn:hover:not(:disabled){background:var(--t-lime-hi)!important;transform:translateY(-2px);box-shadow:0 0 0 5px #c6ef7926,0 14px 30px #c6ef7933}
#claims .claim-card .claim-btn:active:not(:disabled){transform:translateY(1px) scale(.99);box-shadow:0 0 0 2px #c6ef7940}
#claims .claim-card .claim-btn:disabled{opacity:.55;animation:none;cursor:not-allowed}
#claims .claim-card.is-refund .claim-btn{background:var(--t-violet)!important;border-color:var(--t-violet)!important;color:#130f24!important;animation-name:fx-claim-glow-v!important}
#claims .claim-card.is-refund .claim-btn:hover:not(:disabled){background:#c7bbff!important}
@keyframes fx-claim-glow{0%,100%{box-shadow:0 0 0 0 #c6ef7955,0 8px 24px #c6ef7920}60%{box-shadow:0 0 0 8px #c6ef7900,0 8px 24px #c6ef7920}}
@keyframes fx-claim-glow-v{0%,100%{box-shadow:0 0 0 0 #ad9cff55}60%{box-shadow:0 0 0 8px #ad9cff00}}
.claim-state{grid-column:1/-1;margin:0;font:11px/1.5 var(--t-data);color:var(--t-muted)}
.claim-state:empty{display:none}
.claim-card.is-claiming{border-color:var(--t-lime)}
.claim-card.is-claiming .claim-btn{opacity:1!important;animation:none!important;background:#1a2a14!important;color:var(--t-lime)!important;border-color:#4f6b3c!important;cursor:progress!important}
.claim-spinner{display:inline-block;width:14px;height:14px;margin-right:10px;vertical-align:-2px;border:2px solid #c6ef7940;border-top-color:var(--t-lime);border-radius:50%;animation:fx-spin .8s linear infinite}
.claim-card.is-claiming .claim-state{color:var(--t-lime)}
.claim-card.is-failed{border-color:#7a3a45}
.claim-card.is-failed .claim-state{color:var(--t-danger)}
.claim-card.is-failed .claim-state::before{content:"✕ ";}
@keyframes fx-spin{to{transform:rotate(360deg)}}
.claim-empty{display:flex;align-items:center;gap:12px;margin:16px 0 0;padding:16px 18px;border:1px dashed var(--t-line-2);border-radius:10px;color:var(--t-muted);font:12px/1.6 var(--t-data)}
.claim-empty::before{content:"◇";color:var(--t-violet);font-size:18px;line-height:1}
.claim-empty[hidden]{display:none!important}
.claim-summary.is-claimed{border-color:var(--t-lime);background:radial-gradient(ellipse at 50% 50%,#c6ef7924,transparent 70%),#0c170b;animation:fx-claimed-glow 1.4s var(--t-ease) 1}
.claim-summary.is-claimed .fx-dot{display:grid;place-items:center;width:26px;height:26px;color:var(--t-lime-ink);font:700 14px/1 var(--t-data);animation:fx-pop .6s var(--t-ease) 1}
@keyframes fx-claimed-glow{0%{box-shadow:0 0 0 0 #c6ef79aa}100%{box-shadow:0 0 0 22px #c6ef7900}}
@keyframes fx-pop{0%{transform:scale(.2)}70%{transform:scale(1.2)}100%{transform:scale(1)}}
.fx-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.fx-confetti i{position:absolute;left:var(--x);top:55%;width:6px;height:10px;background:var(--c);border-radius:1px;opacity:0;animation:fx-confetti 1.3s var(--t-ease) var(--d) 1 forwards}
@keyframes fx-confetti{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--dx),-70px) rotate(var(--r))}}
.fx-count-new{animation:fx-card-in .5s var(--t-ease) 1}
@keyframes fx-card-in{from{opacity:0;transform:translateY(8px)}}
@media(max-width:560px){
  .claim-card{grid-template-columns:1fr;padding:14px}
  #claims .claim-card .claim-btn{width:100%;min-height:54px}
  .claim-summary{padding:14px}
}

/* Earlier payouts (legacy-claims.html) and the admin login use styles.css. */
body>main.wrap>h1{margin:0 0 14px;font-size:clamp(30px,6vw,52px);line-height:1.1;color:var(--t-ink-hi)}
body>main.wrap>p{color:var(--t-body);line-height:1.75;margin:0 0 16px;max-width:62ch}
body>main.wrap>p a,body>main.wrap>a{color:var(--t-violet);border-bottom:1px solid currentColor;transition:color .2s}
body>main.wrap>p a:hover,body>main.wrap>a:hover{color:var(--t-lime)}
#connectOld,#login,#logout,#passwordForm .btn{margin:6px 8px 12px 0;min-height:44px}
#connectOld{background:var(--t-lime)!important;color:var(--t-lime-ink)!important;border-color:var(--t-lime)!important}
#oldStatus,#status{font:12px/1.6 var(--t-data);color:var(--t-lime);padding-left:12px;border-left:2px solid #526d56;min-height:1.6em}
#oldStatus:empty,#status:empty{border-left-color:transparent}
#oldClaims{display:grid;gap:10px;margin:16px 0 24px}
#oldClaims .btn{justify-content:space-between;width:100%;min-height:56px;padding:16px 18px;border:1px solid #4f6b3c!important;border-left:3px solid var(--t-lime)!important;background:var(--t-raised)!important;color:var(--t-lime)!important;font:14px/1.3 var(--t-data)!important;text-align:left}
#oldClaims .btn::after{content:"CLAIM";padding:8px 12px;border-radius:6px;background:var(--t-lime);color:var(--t-lime-ink);font-size:11px;letter-spacing:.14em;margin-left:12px}
#oldClaims .btn:disabled::after{content:"…";background:#2c3b24;color:var(--t-lime)}
#passwordForm{display:grid;gap:10px;margin:18px 0;max-width:420px}
#passwordForm label{color:var(--t-violet);font:10px var(--t-data);letter-spacing:.16em;text-transform:uppercase}
#passwordForm input{padding:12px;border:1px solid var(--t-edge);border-radius:8px;background:var(--t-bg);color:var(--t-ink)}

/* ============ GUIDE, WHITEPAPER, CREW LOCK, PRIVACY (.guide-page) ============ */
.guide-page{background:transparent!important;color:var(--t-ink)!important}
.guide-page main{position:relative;overflow-wrap:break-word}
.guide-page main a{overflow-wrap:anywhere}
.guide-page h1{font-weight:400!important;letter-spacing:-.01em!important;color:var(--t-ink-hi);line-height:1.08}
.guide-page h2{color:var(--t-ink-hi)}
.guide-page .lead,.guide-page .muted,.guide-page small{color:var(--t-body)!important}
.guide-page .muted,.guide-page small{color:var(--t-muted)!important}
.guide-page p,.guide-page li{color:var(--t-body)}
.guide-page strong{color:var(--t-ink-hi)}
.guide-page a{color:var(--t-lime)}
.guide-page code{font-family:var(--t-data)!important;color:var(--t-ink)}
.guide-page .note{background:#0a1209!important;border-left:3px solid var(--t-lime)!important;border-radius:0 10px 10px 0!important;color:var(--t-ink)}
.guide-page .note.warn{border-left-color:var(--t-warn)!important;background:#15110a!important}
.guide-page .guide-steps a{background:var(--t-panel)!important;border:1px solid var(--t-line-2)!important;color:var(--t-muted)!important;border-radius:6px!important;font-family:var(--t-data)!important;letter-spacing:.06em;transition:color .2s,border-color .2s,background .2s,transform .15s}
.guide-page .guide-steps a:hover,.guide-page .guide-steps a.is-current{color:var(--t-lime)!important;border-color:var(--t-lime)!important;background:var(--t-hover)!important}
.guide-page .guide-steps a:active{transform:translateY(1px)}
.guide-page .step{background:var(--t-panel)!important;border:1px solid var(--t-edge)!important;border-radius:var(--t-radius)!important;padding-top:0!important;box-shadow:0 18px 44px #0007;transition:border-color .25s,box-shadow .35s}
.guide-page .step:hover,.guide-page .step:focus-within,.guide-page .step:target{border-color:var(--t-edge-hi)!important;box-shadow:0 22px 54px #000a,0 0 38px #c6ef790f}
.guide-page .step>.fx-bar{margin-bottom:18px}
.guide-page .step h2{display:flex;align-items:center;gap:4px}
.guide-page .number{background:transparent!important;color:var(--t-lime)!important;border:1px solid #4f6b3c;font-family:var(--t-data)!important;flex:0 0 auto}
.guide-page .field{border-color:var(--t-line)!important}
.guide-page .field span{color:var(--t-muted)!important}
.guide-page .field code{border-left:2px solid #526d56;padding-left:10px}
.guide-page .flow span{background:var(--t-raised)!important;border-color:var(--t-line-2)!important}
.guide-page .flow b{color:var(--t-lime)!important}
.guide-page details{border-color:var(--t-line)!important}
.guide-page summary{color:var(--t-ink);transition:color .2s}
.guide-page summary:hover,.guide-page details[open]>summary{color:var(--t-lime)}
.guide-page .status{color:var(--t-lime)!important;font-family:var(--t-data)!important}
.guide-page footer{border-top:1px solid var(--t-line)!important;color:var(--t-muted)!important}
.guide-page footer a{color:var(--t-violet)}
.guide-page footer a[aria-current=page]{color:var(--t-lime)}
.guide-skip{background:var(--t-lime)!important;color:var(--t-lime-ink)!important}
/* Whitepaper and Crew Lock (pages-free.css). */
.lead{color:var(--t-body)!important}
#paper h2{color:var(--t-ink-hi);padding-top:18px;border-top:1px solid var(--t-line)}
#paper h4{color:var(--t-lime)!important}
#paper blockquote{background:#0a1209!important;border-left:3px solid var(--t-violet)!important}
.paper-contents{background:var(--t-panel)!important;border:1px solid var(--t-edge)!important;border-radius:var(--t-radius)!important;padding-top:0!important}
.paper-contents>.fx-bar{margin-bottom:12px}
#paper .paper-contents h2{color:var(--t-violet)!important;border-top:0;padding-top:0;font-family:var(--t-data)!important;font-size:10px!important;letter-spacing:.16em!important}
.paper-contents a{color:var(--t-ink)!important;transition:color .2s,padding-left .25s var(--t-ease)}
.paper-contents a:hover{color:var(--t-lime)!important;padding-left:4px!important}
.paper-contents li::marker{color:var(--t-violet)}
.paper-table{border-color:var(--t-edge)!important;background:var(--t-panel);border-radius:10px!important}
.paper-table th{background:var(--t-raised)!important;color:var(--t-violet)!important;font-family:var(--t-data)!important;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.paper-table th,.paper-table td{border-color:var(--t-line)!important}
.paper-table tbody tr{transition:background .2s}
.paper-table tbody tr:hover{background:#c6ef7907}
.coming-soon{border:1px dashed var(--t-edge-hi)!important;background:radial-gradient(ellipse at 10% 50%,#c6ef790c,transparent 65%),var(--t-panel)!important;border-radius:var(--t-radius)!important}
.coming-symbol{color:var(--t-lime)!important;animation:fx-float 4s ease-in-out infinite}
@keyframes fx-float{50%{transform:translateY(-6px) rotate(8deg)}}
.coming-tag,.flow-tag{color:var(--t-violet)!important;font-family:var(--t-data)!important;letter-spacing:.16em!important}
.coming-soon h2{color:var(--t-ink-hi)}
.flow-card{background:var(--t-panel)!important;border:1px solid var(--t-edge)!important;border-radius:var(--t-radius)!important;transition:border-color .25s,box-shadow .35s}
.flow-card:hover{border-color:var(--t-edge-hi)!important;box-shadow:0 0 38px #c6ef790f}
.flow-bar{background:var(--t-raised)!important}
.seg-a{background:var(--t-lime)!important}.seg-b{background:var(--t-violet)!important}.seg-c{background:#5b7d4f!important}.seg-d{background:var(--t-ink)!important}
.flow-seg{transform-origin:left center}
.fx-on .flow-bar.fx-grow .flow-seg{transform:scaleX(0);transition:transform 1s var(--t-ease)}
.fx-on .flow-bar.fx-grow.is-in .flow-seg{transform:scaleX(1)}
.fx-on .flow-bar.fx-grow.is-in .flow-seg:nth-child(2){transition-delay:.12s}
.fx-on .flow-bar.fx-grow.is-in .flow-seg:nth-child(3){transition-delay:.22s}
.fx-on .flow-bar.fx-grow.is-in .flow-seg:nth-child(4){transition-delay:.3s}
.flow-list li{color:var(--t-body)!important}
.flow-note{color:var(--t-muted)!important}
.lock-rules{list-style:none;padding-left:0!important;border-left:2px solid #526d56}
.lock-rules li{position:relative;padding-left:26px;color:var(--t-body)!important;margin:10px 0!important}
.lock-rules li::before{content:"›";position:absolute;left:12px;color:var(--t-lime)}

/* The reference proof copy. */
.verification-terminal,.verification-terminal p,.terminal-bar,.terminal-code,.terminal-note{font-family:var(--terminal-font)!important}
.verification-terminal .terminal-code{font-family:var(--t-data)!important}
.verification-terminal{letter-spacing:.018em}

/* ---------- Responsive ---------- */
@media(max-width:850px){.global-header .global-nav a,.global-menu summary,.topbar nav a,.site-nav nav a{padding:8px 9px!important;font-size:10px!important}.global-quick{gap:3px!important}}
@media(max-width:600px){
  .global-header .global-nav a,.site-nav nav a{font-size:9px!important;padding:8px 7px!important}
  .global-quick{gap:2px!important}
  .global-header .global-play{padding:9px 10px!important;font-size:10px!important}
  .fx-marquee{gap:32px;padding-right:32px}
  .guide-page .step>.fx-bar{margin-bottom:14px}
  .terminal-bar{font-size:8px!important;gap:7px}
}

/* ---------- Reduced motion: everything holds still ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .fx-on .fx-reveal{opacity:1!important;translate:none!important}
  .fx-on .split-bar.fx-grow span,.fx-on .flow-bar.fx-grow .flow-seg{transform:none!important}
  .fx-type.is-typing{width:auto!important;border-right:0!important}
  .fx-cursor{opacity:1}
  .fx-confetti{display:none}
}
@media print{body::before,.fx-cursor,.fx-bar,.fx-copy{display:none!important}}

/* Social: the project's X account, in the footer of every page. */
.x-link{display:inline-flex;align-items:center;gap:.45em;font-family:var(--t-mono,"JetBrains Mono",monospace);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--t-violet,#ad9cff);border:1px solid color-mix(in srgb,var(--t-violet,#ad9cff) 35%,transparent);border-radius:999px;padding:.35em .85em;text-decoration:none;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease}
.x-link::before{content:"\1D54F";font-size:1em;line-height:1}
.x-link:hover,.x-link:focus-visible{color:var(--t-accent,#c6f36b);border-color:var(--t-accent,#c6f36b);background:color-mix(in srgb,var(--t-accent,#c6f36b) 10%,transparent);transform:translateY(-1px)}
footer .x-link{margin-top:.6em}
@media (prefers-reduced-motion:reduce){.x-link{transition:none}.x-link:hover{transform:none}}

/* Announcements laid out as a read-only chat channel. */
.announcements .ann-head{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.ann-feed{border:1px solid var(--t-line,#243024);border-radius:16px;background:#0b0e14;overflow:hidden}
.chat-channel{display:flex;align-items:baseline;gap:8px;padding:14px 18px;border-bottom:1px solid var(--t-line,#243024);background:#0f131b;position:sticky;top:0;z-index:2}
.chat-hash{font:600 20px/1 'JetBrains Mono',monospace;color:var(--t-muted,#93a08c)}
.chat-channel-name{font:600 15px/1 'JetBrains Mono',monospace;color:var(--t-ink,#e8efe4);letter-spacing:.3px}
.chat-channel-note{font:9px/1.6 'JetBrains Mono',monospace;letter-spacing:1.2px;text-transform:uppercase;color:var(--t-muted,#93a08c);margin-left:auto}
.chat-divider{display:flex;align-items:center;gap:14px;margin:18px 18px 8px;font:8px/1 'JetBrains Mono',monospace;letter-spacing:1.6px;color:var(--t-muted,#93a08c)}
.chat-divider:before,.chat-divider:after{content:"";flex:1;height:1px;background:var(--t-line,#243024)}
.chat-msg{display:grid;grid-template-columns:56px 1fr;padding:6px 18px 6px 0;position:relative;transition:background .15s ease}
.chat-msg:hover{background:#12161f}
.chat-msg.grouped{padding-top:2px}
.chat-msg:last-child{padding-bottom:18px}
.chat-msg.pinned{background:#1a1630}
.chat-msg.pinned:hover{background:#201b3a}
.chat-pin{grid-column:1/-1;margin:0;padding:8px 0 4px 56px;font:8px/1 'JetBrains Mono',monospace;letter-spacing:1.4px;text-transform:uppercase;color:var(--t-violet,#ad9cff)}
.chat-pin:before{content:"📌";margin-right:7px}
.chat-gutter{display:flex;justify-content:center;padding-top:4px}
.chat-avatar{width:40px;height:40px;border-radius:50%;background:#1b2330;object-fit:cover}
.chat-hovertime{font:8px/1.9 'JetBrains Mono',monospace;color:var(--t-muted,#93a08c);opacity:0;transition:opacity .15s ease}
.chat-msg:hover .chat-hovertime{opacity:.75}
.chat-content{min-width:0;padding-right:8px}
.chat-head{display:flex;align-items:baseline;gap:9px;margin:0 0 3px;flex-wrap:wrap}
.chat-author{font-weight:700;font-size:14px;color:var(--t-accent,#c6f36b)}
.chat-badge{font:7px/1 'JetBrains Mono',monospace;letter-spacing:1.2px;padding:3px 5px;border-radius:4px;background:var(--t-violet,#ad9cff);color:#15101f;font-weight:700}
.chat-time{font:9px/1 'JetBrains Mono',monospace;color:var(--t-muted,#93a08c)}
.chat-title{font-size:15px;letter-spacing:-.2px;margin:2px 0 4px;color:var(--t-ink,#e8efe4)}
.chat-body{font-size:13.5px;line-height:1.72;color:#c3cdbb;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-body a{color:#7fb3ff;text-decoration:none;border-bottom:1px solid #7fb3ff55}
.chat-body a:hover{border-bottom-color:#7fb3ff}
.chat-body code{font:12px/1.6 'JetBrains Mono',monospace;background:#161b24;border:1px solid var(--t-line,#243024);border-radius:4px;padding:1px 5px}
.chat-body strong{color:var(--t-ink,#e8efe4)}
.chat-welcome{padding:26px 18px 30px}
.chat-welcome h3{font-size:19px;margin:0 0 8px;color:var(--t-ink,#e8efe4)}
.chat-welcome p{font-size:13px;line-height:1.75;color:var(--t-muted,#93a08c);margin:0}
@media (max-width:600px){
  .chat-msg{grid-template-columns:46px 1fr;padding-right:12px}
  .chat-pin{padding-left:46px}
  .chat-avatar{width:34px;height:34px}
  .chat-channel-note{display:none}
}
@media (prefers-reduced-motion:reduce){.chat-msg,.chat-hovertime{transition:none}}
.ann-more{margin-top:14px}.ann-more a{font:10px/1 "JetBrains Mono",monospace;letter-spacing:1.4px;text-transform:uppercase;color:var(--t-accent,#c6f36b);text-decoration:none;border-bottom:1px solid #c6f36b55;padding-bottom:4px}.ann-more a:hover{border-bottom-color:var(--t-accent,#c6f36b)}

/* Toast for an announcement that lands while the page is open. */
.ann-toasts{position:fixed;right:18px;bottom:18px;z-index:60;display:grid;gap:10px;max-width:min(340px,calc(100vw - 36px))}
.ann-toast{border:1px solid var(--t-accent,#c6f36b);border-radius:12px;background:#0e1411f2;backdrop-filter:blur(8px);padding:14px 16px;box-shadow:0 12px 30px #0009;animation:ann-toast-in .28s ease-out}
.ann-toast-label{margin:0 0 6px;font:9px/1 'JetBrains Mono',monospace;letter-spacing:1.4px;text-transform:uppercase;color:var(--t-accent,#c6f36b)}
.ann-toast-label:before{content:"\1F4E3";margin-right:7px}
.ann-toast-title{margin:0;font-size:14px;line-height:1.5;color:var(--t-ink,#e8efe4);overflow-wrap:anywhere}
.ann-toast-actions{display:flex;align-items:center;gap:12px;margin-top:10px}
.ann-toast-read{font:10px/1 'JetBrains Mono',monospace;letter-spacing:1.2px;text-transform:uppercase;color:var(--t-accent,#c6f36b);text-decoration:none;border-bottom:1px solid #c6f36b55;padding-bottom:3px}
.ann-toast-close{margin-left:auto;background:none;border:0;color:var(--t-muted,#93a08c);font-size:18px;line-height:1;cursor:pointer;padding:2px 4px}
.ann-toast-close:hover{color:var(--t-ink,#e8efe4)}
@keyframes ann-toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ann-toast{animation:none}}
.board-more{margin:16px 0 4px}.board-more a{font:10px/1 "JetBrains Mono",monospace;letter-spacing:1.4px;text-transform:uppercase;color:var(--t-accent,#c6f36b);text-decoration:none;border-bottom:1px solid #c6f36b55;padding-bottom:4px}

/* ---------- Race receipts: the proof list ----------
   Built from the reference terminal card (.fx-card + .terminal-bar), so it reads as the same
   instrument as the home page's proof block. One row per on-chain transaction: what happened,
   who and how much where that applies, the transaction, and its block. */
.proof-section{padding:0 0 64px}
.proof-panel{padding:0 24px 24px}
.proof-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.proof-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:baseline;gap:16px;
  padding:10px 12px;border:1px solid transparent;border-radius:8px;
  font:11px/1.7 var(--t-data);color:var(--t-body);transition:background .18s var(--t-ease),border-color .18s var(--t-ease)}
.proof-row:nth-child(odd){background:var(--t-raised)}
.proof-row:hover{border-color:var(--t-line-2);background:#101a12}
.proof-what{color:var(--t-ink);letter-spacing:.02em}
.proof-who{color:var(--t-muted)}
.proof-tx{color:var(--t-lime);text-decoration:none;border-bottom:1px solid transparent;white-space:nowrap}
a.proof-tx:hover{border-bottom-color:var(--t-lime)}
.proof-block{color:var(--t-muted);opacity:.75;white-space:nowrap}
@media (max-width:720px){
  .proof-row{grid-template-columns:1fr auto;gap:4px 12px}
  .proof-who{grid-column:1/-1;order:3}
  .proof-block{grid-column:1/-1;order:4}
}

/* ---------- Ticker totals ----------
   The two live numbers sit first in the strip, so the narrow-screen rule that hides later
   items keeps the figures rather than the slogans. <strong> rather than <b>: the strip's
   <b> is the ✳ separator and carries its own size. */
.ticker-stat{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap}
.ticker-stat strong{font-weight:600;color:var(--t-ink);letter-spacing:.04em}

/* ---------- Race-page chat rail ----------
   The same #crew-chat room as the community page, narrow, beside the track, the way a stream
   keeps chat next to the video. Compact on purpose: this page is already running a game. */
.rc-section{padding:0 0 64px}
.rc-panel{padding:0 18px 18px}
.rc-feed{display:flex;flex-direction:column;gap:2px;margin-top:14px;height:320px;overflow-y:auto;
  padding-right:4px;scrollbar-width:thin}
.rc-line{margin:0;padding:5px 8px;border-radius:6px;font:12px/1.65 var(--t-data);
  color:var(--t-body);overflow-wrap:anywhere}
.rc-line:nth-child(odd){background:var(--t-raised)}
.rc-line.is-team{background:#15122a;box-shadow:inset 2px 0 0 var(--t-violet)}
.rc-who{color:var(--t-lime);font-weight:600}
.rc-line.is-team .rc-who{color:var(--t-violet)}
.rc-body{color:var(--t-ink)}
.rc-status{min-height:16px;margin:8px 0 0;font:10px/1.6 var(--t-data);color:var(--t-muted)}
.rc-status.is-warn{color:var(--t-lime)}
.rc-status.is-bad{color:var(--t-danger)}

.rc-form{display:flex;gap:8px;margin-top:10px}
.rc-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rc-input,.rc-note{flex:1;min-width:0;background:var(--t-panel);border:1px solid var(--t-line-2);
  border-radius:8px;padding:9px 11px;color:var(--t-ink);font:12px var(--t-data)}
.rc-input:focus,.rc-note:focus{outline:none;border-color:var(--t-edge-hi)}
.rc-send,.rc-toggle{padding:9px 16px;border:1px solid var(--t-edge-hi);border-radius:8px;
  background:#16221a;color:var(--t-lime);font:11px var(--t-data);cursor:pointer;white-space:nowrap}
.rc-send:disabled,.rc-toggle:disabled{opacity:.5;cursor:default}

.rc-signin{margin-top:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rc-signin p{margin:0;flex:1;min-width:200px;font:11px/1.7 var(--t-data);color:var(--t-muted)}

/* The owner's switch. Only a team session ever renders it, and the server checks the team list on
   the call regardless, so this is a convenience and never the gate. */
.rc-owner{margin-top:14px;padding-top:12px;border-top:1px solid var(--t-line);
  display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rc-owner-note{flex-basis:100%;margin:6px 0 0;font:10px/1.7 var(--t-data);color:var(--t-muted)}

@media (max-width:720px){ .rc-feed{height:240px} }

/* ---------- Race page: the repeat-bet option, and the earlier-races line ---------- */
/* One approval instead of one per bet removes a wallet pop-up from every repeat bet, which is the
   most useful thing on this ticket for anyone betting more than once. It was a collapsed drawer in
   ten-pixel grey; it is a visible choice now. */
.approval-settings{border-top:0 !important;padding-top:0 !important;margin-top:12px}
.approval-card{display:flex !important;align-items:flex-start;gap:12px !important;padding:14px;border:1px solid var(--t-edge-hi,#5b7d4f);border-radius:12px;background:#0d150e;cursor:pointer;font-size:inherit !important;transition:border-color .15s ease,background .15s ease}
.approval-card:hover{border-color:var(--t-lime,#c6ef79);background:#101b10}
.approval-card:has(input:checked){border-color:var(--t-lime,#c6ef79);background:#13210f}
.approval-card input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--t-lime,#c6ef79);flex-shrink:0;cursor:pointer}
.approval-card input:focus-visible{outline:2px solid var(--t-lime,#c6ef79);outline-offset:3px}
.approval-text{display:grid;gap:5px;min-width:0}
.approval-text strong{font-size:14px;line-height:1.35;color:var(--t-ink-hi,#eef4ea);font-weight:700}
.approval-copy{font-size:12.5px;line-height:1.6;color:var(--t-body,#b9c7b7)}
@media (prefers-reduced-motion:reduce){.approval-card{transition:none}}

.legacy-claims{margin:16px 0 0;padding-top:14px;border-top:1px dashed var(--t-edge,#344d3b);font-size:13px;line-height:1.6;color:var(--t-dim,#7f927f)}
.legacy-claims a{color:var(--t-lime,#c6ef79);text-underline-offset:3px;white-space:nowrap}

/* ---------- Home: the on-chain totals strip, under the ticker ---------- */
/* Six figures, each one a sum over chain events. Quiet on purpose: the numbers are the content,
   and a row of glowing cards would say "marketing" about the one block that is evidence. */
.chain-stats{background:var(--t-panel,#050806);border-bottom:1px solid var(--t-line,#1d2a1f);padding:22px max(4vw,20px) 16px}
.chain-stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0 auto;max-width:1320px;border:1px solid var(--t-edge,#344d3b);border-radius:14px;background:#08100b;overflow:hidden}
.chain-stat{display:flex;align-items:center;gap:12px;padding:16px 18px;min-width:0;border-left:1px solid var(--t-line,#1d2a1f)}
.chain-stat:first-child{border-left:0}
.chain-stat-icon{flex:0 0 auto;color:var(--t-lime,#c6ef79);opacity:.85}
.chain-stat-body{min-width:0}
.chain-stat dt{font:11.5px/1.2 var(--t-data,"JetBrains Mono",monospace);color:var(--t-dim,#7f927f);margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chain-stat dd{margin:0;font:600 19px/1.1 var(--t-data,"JetBrains Mono",monospace);color:var(--t-ink-hi,#eef4ea);font-variant-numeric:tabular-nums;white-space:nowrap}
.chain-stat dd small{margin-left:6px;font-size:10.5px;font-weight:500;color:var(--t-dim,#7f927f);letter-spacing:.4px}
.chain-stats-note{max-width:1320px;margin:10px auto 0;font-size:12.5px;line-height:1.5;color:var(--t-dim,#7f927f)}
.chain-stats-note a{color:var(--t-lime,#c6ef79);text-underline-offset:3px;white-space:nowrap}
.chain-stats-note a:focus-visible{outline:2px solid var(--t-lime,#c6ef79);outline-offset:3px;border-radius:3px}
@media(max-width:1100px){
  .chain-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .chain-stat:nth-child(3n+1){border-left:0}
  .chain-stat:nth-child(n+4){border-top:1px solid var(--t-line,#1d2a1f)}
}
@media(max-width:600px){
  .chain-stats{padding:16px 16px 14px}
  .chain-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chain-stat{padding:13px 12px;gap:9px}
  .chain-stat:nth-child(3n+1){border-left:1px solid var(--t-line,#1d2a1f)}
  .chain-stat:nth-child(2n+1){border-left:0}
  .chain-stat:nth-child(n+3){border-top:1px solid var(--t-line,#1d2a1f)}
  .chain-stat dd{font-size:16px}
  .chain-stat dd small{display:block;margin:3px 0 0}
}
