:root:has(.dark-edition) {
  color-scheme:dark;
  background:#090f1e;
}

.dark-edition {
  --paper:#090f1e;
  --ink:#f0f4ff;
  --muted:#b1bfd7;
  --line:#2c3e5c;
  --tint:#182746;
  --blue:#a7b7ff;
  color:var(--ink);
  background:var(--paper);
}
.dark-edition :focus-visible { outline-color:#c3d1ff; }
.dark-edition .skip { color:#16243f; }
.dark-edition .edition { background:#080e1a; border-bottom:1px solid #24334c; }
.dark-edition .site-header { background:#0d1526; border-color:#263852; }
.dark-edition .navigation a,.dark-edition .navigation summary { color:#ebf1ff; }
.dark-edition .navigation :is(a,summary):hover { color:#c1ceff; }
.dark-edition .nav-group > div { background:#14213a; }
.dark-edition .logo-mark { background:#364bd8; }
.dark-edition .menu-toggle { background:#182640; color:var(--ink); }
.dark-edition .button { border-color:#5268e2; background:#3549c9; color:#fff; }
.dark-edition .button:hover { background:#4459e0; }
.dark-edition .button.lime { background:#e9f779; color:#182135; border-color:#e9f779; }
.dark-edition .button.lime:hover { background:#f2fbb3; }
.dark-edition .button.secondary,.dark-edition .button.outline-white { background:transparent; border-color:#6071a4; color:#eef2ff; }
.dark-edition .button:is(.secondary,.outline-white):hover { background:#243656; border-color:#a7b7ff; }

.dark-edition .home-hero {
  grid-template-columns:minmax(0,.96fr) minmax(0,1fr);
  background:#0e172b;
  border-color:#2b4061;
  isolation:isolate;
}
.dark-edition .hero-copy {
  min-height:0;
  background:radial-gradient(ellipse at 5% 15%,#26386f 0%,transparent 65%),#101a31;
  padding:clamp(22px,3.7vw,56px);
}
.dark-edition .hero-copy::before {
  inset:0;
  opacity:.12;
  background:repeating-linear-gradient(90deg,transparent 0 33px,#758ec7 34px 35px),repeating-linear-gradient(0deg,transparent 0 33px,#758ec7 34px 35px);
  mask-image:linear-gradient(112deg,transparent 25%,black);
}
.dark-edition .hero-copy h1 { max-width:none; font-size:clamp(37px,4.55vw,73px); text-wrap:balance; }
.dark-edition .hero-copy p { color:#c3cfe7; }
.dark-edition .console {
  padding:clamp(16px,2.9vw,43px);
  background:
    linear-gradient(#6f92dd10 1px,transparent 1px) 0 0/26px 26px,
    linear-gradient(90deg,#6f92dd10 1px,transparent 1px) 0 0/26px 26px,
    radial-gradient(ellipse at 72% 15%,#1a2d56,transparent 65%),#0c1527;
  border-left:1px solid #2b4061;
}
.dark-edition .console-head { margin-bottom:15px; align-items:center; }
.console-pulse { width:clamp(46px,8vw,110px); height:36px; flex:none; overflow:visible; }
.console-pulse path { fill:none; vector-effect:non-scaling-stroke; }
.console-pulse .pulse-grid { stroke:#7999d3; opacity:.32; }
.console-pulse .pulse-signal { stroke:#b4f38a; stroke-width:1.8; }
.console-pulse circle { fill:#e9f779; }
.dark-edition .console-controls {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-bottom:0;
  justify-items:center;
}
.dark-edition .console-controls button {
  min-height:39px;
  padding:5px 12px;
  color:#ced9f2;
  background:#17253f;
  border-color:#53658d;
}
.dark-edition .console-controls button:hover { background:#243656; color:#fff; }
.dark-edition .console-controls button[aria-pressed="true"] {
  color:#f7ffda;
  background:#263b4c;
  border-color:#98c775;
}
.console-wire { display:block; width:100%; height:25px; color:#849bdc; }
.console-wire path { fill:none; stroke:currentColor; stroke-width:1.3; vector-effect:non-scaling-stroke; }
.console-wire circle { fill:#e9f779; }
.wire-input .wire-casino { color:#697eaa; }
.console:has([data-screen-button="casino"][aria-pressed="true"]) .wire-casino,
.console:has([data-screen-button="sports"][aria-pressed="true"]) .wire-sports { color:#b5ea9b; }
.console:has([data-screen-button="casino"][aria-pressed="true"]) .wire-sports { color:#697eaa; }
.wire-output { height:29px; }

.console-stage { position:relative; isolation:isolate; }
.console-stage::before,.console-stage::after {
  content:""; position:absolute; z-index:-1; inset:9% 4% 6%;
  border:1px solid #5775b766; border-radius:6px;
  background:
    repeating-linear-gradient(0deg,transparent 0 20px,#80a0da17 20px 21px),
    #182a4c;
}
.console-stage::before { transform:translateX(-4%) rotate(-4deg); }
.console-stage::after { transform:translateX(4%) rotate(4deg); }
.console-stage .product-screen { position:relative; overflow:hidden; border:1px solid #6b85c1; border-radius:6px; background:#17233b; }
.console-stage .hero-screen a { aspect-ratio:1.65; }
.console-stage figcaption { color:#bccae5; border-top:1px solid #314970; }
.console-nodes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); justify-items:center; gap:4px; }
.console-nodes a {
  display:flex; align-items:center; justify-content:center; gap:6px;
  min-height:38px; max-width:100%; padding:5px 8px;
  color:#e4edff; background:#162640; border:1px solid #526993;
  border-radius:3px; font-size:clamp(.7rem,1vw,.82rem);
  font-weight:700; text-decoration:none; text-align:center;
}
.console-nodes a:hover { color:#f9ffd5; border-color:#a8d78f; background:#263b4c; }
.console-nodes i { width:5px; height:5px; flex:none; border-radius:50%; background:#a8d78f; }
.console-nodes a:nth-child(2) i { background:#a7b7ff; }
.console-nodes a:nth-child(3) i { background:#70dfda; }

.terminal {
  min-width:0;
  position:relative;
  margin-top:22px;
  border:1px solid #3b537b;
  border-radius:7px;
  background:#0b1326;
  color:#dce8ff;
  box-shadow:0 12px 25px #050a1780;
}
.terminal-head,.flow-head {
  min-height:42px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 10px;
  padding:5px 11px;
  border-bottom:1px solid #31425f;
  color:#a6bade;
  font:700 .72rem/1.45 ui-monospace,"SFMono-Regular",monospace;
}
.terminal-head > span { display:flex; align-items:center; gap:7px; }
.terminal-head i { width:6px; height:6px; border-radius:50%; background:#c1ec91; box-shadow:0 0 8px #c1ec9170; }
.terminal-head button,.ribbons-head button,.flow-head button {
  min-height:34px;
  padding:4px 7px; border:1px solid #526b98; border-radius:3px;
  font:700 .75rem/1.35 system-ui,sans-serif;
  background:#152641; color:#e6edff;
}
.terminal-head button:hover,.ribbons-head button:hover,.flow-head button:hover { background:#273b60; border-color:#8fa6e0; }
.terminal-output {
  display:grid; gap:3px; padding:10px 11px 12px;
  font:500 clamp(.7rem,1vw,.84rem)/1.5 ui-monospace,"SFMono-Regular",monospace;
}
.terminal-output > div { min-height:1.5em; display:flex; gap:7px; }
.terminal-output b { min-width:2ch; flex:none; font-weight:700; color:#b4ee9a; }
.terminal-output span { overflow-wrap:anywhere; }
.terminal-output > div:first-child [data-terminal-line] { color:#eef4ff; }
.terminal-caret { display:inline-block; align-self:center; width:5px; height:1em; background:#b4ee9a; }
.terminal[data-terminal-state="playing"] .terminal-caret { animation:terminal-blink .8s steps(1,end) infinite; }
.terminal[data-terminal-state="playing"] div:has(> [data-terminal-line]:empty) b { opacity:.28; }

.dark-edition .solution-card,.dark-edition .guide-card,.dark-edition .home-faq details,
.dark-edition .info-grid article,.dark-edition .faq details {
  background:#101d32;
  border-color:#314765;
}
.dark-edition :is(.solution-card,.guide-card):hover { background:#192b48; border-color:#8799ef; }
.dark-edition .guide-card h3,.dark-edition .solution-card h3 { color:var(--ink); }
.dark-edition .footer-grid .logo { color:white; }
.dark-edition .site-footer { background:#080e1b; border-top:1px solid #263650; }
.dark-edition .footer-grid .logo-gaming { color:#b9c7ff; }

.motion-ribbons {
  padding-block:clamp(17px,3vw,33px);
  overflow:hidden;
  border:1px solid #314765;
  background:
    linear-gradient(#597ca721 1px,transparent 1px) 0 0/28px 28px,
    linear-gradient(90deg,#597ca721 1px,transparent 1px) 0 0/28px 28px,
    #111d34;
  margin-bottom:clamp(24px,4.5vw,62px);
}
.ribbons-head {
  display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap;
  gap:8px 16px; padding-inline:clamp(14px,2.7vw,34px); margin-bottom:14px;
}
.ribbons-head .mono,.flow-head .mono { color:#aec7ff; }
.ribbons-head h2 { font-size:clamp(22px,3vw,36px); margin-top:4px; }
.ribbon-window { container-type:inline-size; overflow:hidden; margin-top:7px; }
.ribbon-track { display:flex; width:max-content; }
.ribbon-track ul { display:flex; gap:8px; flex:none; margin:0; padding:0 8px 0 0; list-style:none; }
.ribbon-track ul[aria-hidden="true"] { display:none; }
.ribbon-track li {
  display:flex; align-items:center; gap:8px; flex:none; min-height:46px;
  padding:6px 12px;
  color:#dfebff; background:#132544;
  border:1px solid #3f5887; border-radius:3px;
  font-size:.9rem; font-weight:700;
}
.ribbon-track li b { color:#d8e6ff; background:#283d65; border:1px solid #4c6697; border-radius:3px; padding:2px 5px; }
.ribbon-window + .ribbon-window .ribbon-track li { border-color:#43686d; background:#142b3c; }
.ribbon-window + .ribbon-window .ribbon-track li b { color:#d3f3df; border-color:#587d7e; background:#284b53; }
html:not(.js) .ribbon-track { width:auto; padding-inline:12px; }
html:not(.js) .ribbon-track ul { flex-wrap:wrap; }
.integration-overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(18px,4vw,54px); align-items:start; }
.integration-overview .steps { display:block; }
.integration-overview .steps li { position:relative; padding:10px 12px 10px 43px; border-left:0; border-top:1px solid var(--line); }
.integration-overview .steps li::before { position:absolute; left:6px; top:14px; }
.flow-figure { background:#151e39; border:1px solid #3e537b; border-radius:6px; overflow:hidden; }
.flow-figure img { width:100%; }
.flow-figure figcaption { color:#bdcce7; border-top:1px solid #31425f; }
.careers-teaser { display:flex; align-items:center; justify-content:space-between; gap:14px 24px; flex-wrap:wrap; }
.careers-teaser p:last-child { color:var(--muted); margin-top:8px; }
.careers-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.93fr);
  gap:clamp(17px,4vw,57px); align-items:center;
  padding:clamp(21px,4.5vw,68px);
  margin-top:clamp(18px,3vw,46px);
  border:1px solid #314765;
  background:
    linear-gradient(#6484bf18 1px,transparent 1px) 0 0/35px 35px,
    linear-gradient(90deg,#6484bf18 1px,transparent 1px) 0 0/35px 35px,
    radial-gradient(ellipse at 70% 0%,#23325d,transparent 63%),
    #10192e;
}
.careers-hero h1 { font-size:clamp(35px,5.8vw,80px); line-height:1.07; max-width:13ch; }
.careers-hero .lead { color:var(--muted); max-width:49ch; margin-block:16px 22px; }
.careers-hero .terminal { margin:0; }
.careers-hero .terminal-output { padding-block:18px 23px; gap:6px; }

@media (prefers-reduced-motion:no-preference) {
  .js .ribbon-window { mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
  .js .ribbon-track ul { min-width:100cqw; justify-content:space-around; }
  .js .ribbon-track ul[aria-hidden="true"] { display:flex; }
  .js .ribbon-track { animation:slide-ribbon 33s linear infinite; animation-play-state:paused; }
  .js .ribbon-window + .ribbon-window .ribbon-track { animation-direction:reverse; animation-duration:37s; }
  .js [data-ribbons][data-in-view]:not([data-paused]) .ribbon-track { animation-play-state:running; }
  .pulse-signal,.console:has([data-screen-button="casino"][aria-pressed="true"]) .wire-casino,
  .console:has([data-screen-button="sports"][aria-pressed="true"]) .wire-sports { animation:trace-in .85s ease-out both; }
  .console-stage::before { animation:fan-left .65s .16s ease-out both; }
  .console-stage::after { animation:fan-right .65s .22s ease-out both; }
  @keyframes slide-ribbon { to { transform:translateX(-50%); } }
  @keyframes trace-in { from { stroke-dasharray:0 100; } to { stroke-dasharray:100 0; } }
  @keyframes fan-left { from { transform:translateX(0) rotate(0); } }
  @keyframes fan-right { from { transform:translateX(0) rotate(0); } }
  @keyframes terminal-blink { 50% { opacity:0; } }
}
@media (prefers-reduced-motion:reduce) {
  .ribbon-track { width:auto; padding-inline:12px; }
  .ribbon-track ul { flex-wrap:wrap; }
  .console-stage::before,.console-stage::after { animation:none; }
}
@media (max-width:800px) {
  .dark-edition .home-hero,.integration-overview,.careers-hero { grid-template-columns:minmax(0,1fr); }
  .dark-edition .console { border-left:0; border-top:1px solid #2b4061; }
  .console-stage::before,.console-stage::after { inset-inline:5%; }
  .careers-hero .terminal { margin-top:4px; }
}
@media (max-width:430px) {
  .terminal { margin-top:15px; }
  .terminal-head { padding-inline:8px; }
  .terminal-head button { font-size:.68rem; }
  .terminal-output { padding-inline:8px; }
  .console-wire { height:21px; }
  .console-nodes a { padding-inline:5px; gap:4px; }
}
