/* Cyrix — the layer on top of the base system: fonts, the one signal colour,
   and the four components the base does not have (ticket, chart, rule, board tags). */

:root{
  --font-sans:"Inter";
  --font-mono:"Roboto Mono";
  --font-serif:"Instrument Serif";
  --accent:#8FE3FF;
  --accent-deep:#2f7f9c;
  --good:#8FE3FF;
  --bad:#6f6f6f;
}

/* ---------- header ---------- */
.hbid{display:inline-flex;align-items:center;gap:9px;height:28px;padding:0 12px;
  border:1px solid var(--line-strong);border-radius:var(--r);
  font-size:.6rem;color:var(--ink-600);white-space:nowrap}
.hbid b{color:var(--ink-900);font-weight:500}
.pipdot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex:none;
  box-shadow:0 0 0 3px #8fe3ff1f;animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (max-width:1080px){.hbid{display:none}}

/* ---------- hero ---------- */
.hero{min-height:min(100dvh,880px);padding-bottom:clamp(60px,9vh,110px)}

.hero{position:relative;isolation:isolate;overflow:hidden}

/* the water is the page's one piece of colour — it runs at full strength and the
   scrim is directional, so it stays a picture instead of turning into a haze */
.hero-vid{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;
  z-index:-2;pointer-events:none;user-select:none}
.hero-scrim{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(96% 62% at 50% 30%,#060606cc 0%,#0606069e 38%,#06060640 66%,#06060600 100%),
    linear-gradient(180deg,#060606 0%,#06060600 14%,#06060600 62%,#060606d9 88%,#060606 100%)}
@media (prefers-reduced-motion:reduce){.hero-vid{display:none}
  .hero{background:#060606 url(/media/hero-poster.jpg?v=2) center/cover no-repeat}}
.badge{color:var(--ink-700)}
.hero-visual{width:min(100%,34.5rem);margin-top:4px}

/* ---------- the deposit ticket ---------- */
.ticket{border:1px solid var(--line);border-radius:var(--r-lg);background:#0d0d0de6;
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden;text-align:left}
.tk-head{display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:12px 18px;border-bottom:1px solid var(--line-soft);
  font-size:.58rem;color:var(--ink-500)}
.tk-amount{padding:18px 18px 16px}
.tk-amount label{display:block;font-size:.58rem;color:var(--ink-500);margin-bottom:10px}
.tk-input{display:flex;align-items:baseline;gap:10px}
.tk-input input{flex:1;min-width:0;background:none;border:0;outline:none;padding:0;
  font-family:var(--font-mono),monospace;font-variant-numeric:tabular-nums;
  font-size:2rem;letter-spacing:-.02em;color:var(--ink-900)}
.tk-input .unit{font-family:var(--font-mono),monospace;font-size:.72rem;letter-spacing:.08em;color:var(--ink-500)}
.tk-route{border-top:1px solid var(--line-soft);padding:16px 18px 18px;display:grid;gap:15px}
.tk-row{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}
.tk-row .k{font-size:.56rem;color:var(--ink-500);margin-bottom:7px}
.tk-row .v{font-size:1rem;color:var(--ink-900);letter-spacing:-.01em}
.tk-row .v2{font-family:var(--font-mono),monospace;font-variant-numeric:tabular-nums;
  font-size:1.05rem;color:var(--ink-900)}
.tk-row .s{font-size:.74rem;color:var(--ink-500);margin-top:5px;line-height:1.5}
.tk-rate{text-align:right;flex:none}
.tk-rate .num{font-size:1.9rem;letter-spacing:-.03em;color:var(--accent);line-height:1}
.tk-rate .s{margin-top:7px}
.tk-sub{border-top:1px solid var(--line-soft);padding-top:15px}
.tk-next{text-align:right;flex:none;max-width:52%}
.tk-hint{margin:0;padding:0 18px 17px;font-size:.7rem;line-height:1.55;color:var(--ink-500)}

/* ---------- the board ---------- */
.stats{margin-bottom:46px}
th.l,td.l{text-align:left}
tbody tr.top td{background:#8fe3ff08}
tbody tr.top td.rate{color:var(--accent)}
tbody tr.trap td{color:var(--ink-500)}
tbody td.rate{color:var(--ink-900)}
tbody td .sub{display:block;font-family:var(--font-sans),sans-serif;font-size:.7rem;
  color:var(--ink-500);margin-top:4px;letter-spacing:0}
.tag{color:var(--ink-500)}
.tag.win{color:var(--accent)}
.zero{color:var(--ink-400)}

/* ---------- the chart ---------- */
.chartcard{margin:30px 0 0;border:1px solid var(--line-soft);border-radius:var(--r-lg);
  background:var(--raise);overflow:hidden}
.ch-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  padding:13px 20px;border-bottom:1px solid var(--line-soft);font-size:.58rem;color:var(--ink-500)}
.ch-legend{display:flex;align-items:center;gap:18px;color:var(--ink-600)}
.sw{display:inline-block;width:14px;height:2px;margin-right:8px;vertical-align:middle}
.sw-a{background:var(--accent)}
.sw-b{background:var(--ink-500)}
.ch-plot{position:relative;height:300px}
.ch-plot svg{display:block;width:100%;height:100%;overflow:visible}
.ch-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:11px 20px;border-top:1px solid var(--line-soft);font-size:.56rem;color:var(--ink-500)}
.ch-foot #chHover{color:var(--ink-700);text-transform:none;letter-spacing:0;
  font-family:var(--font-mono),monospace}

/* ---------- the rule ---------- */
.rulegrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:22px;
  align-items:start;margin-top:30px}
.rulecode{margin:0;padding:22px 24px;background:var(--raise);border:1px solid var(--line-soft);
  border-radius:var(--r-lg);font-size:.78rem;line-height:2;color:var(--ink-800);overflow-x:auto}
.rulecode .c{color:var(--ink-400)}
.docgrid>div{grid-template-columns:120px 1fr}
.docgrid .v{font-family:var(--font-sans),sans-serif;font-size:.86rem;line-height:1.6;
  color:var(--ink-600);word-break:normal}

/* ---------- footer ---------- */
.foot{display:flex;justify-content:space-between;gap:14px 40px;flex-wrap:wrap}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .rulegrid{grid-template-columns:1fr}
  .ch-plot{height:240px}
}
@media (max-width:720px){
  .hero{min-height:0;padding-bottom:28px}
  thead th,tbody td{padding:12px 15px}
  .tk-input input{font-size:1.7rem}
  .tk-rate .num{font-size:1.6rem}
  .stats{margin-bottom:38px}
  .ch-plot{height:210px}
  .ch-legend{gap:14px}
  .foot{flex-direction:column;gap:6px}
}

/* ---------- brand mark ---------- */
.wordmark .glyph-img{width:22px;height:22px;flex:none;display:block}
.header-cta .icon-link{width:28px;height:28px}
.header-cta .icon-link svg{width:14px;height:14px}
@media (max-width:520px){.header-cta .icon-link{display:none}}
