@import url("fonts.css");



:root {
  
  --ink:         #101426;   
  --ink-raised:  #181D33;   
  --ink-deep:    #0B0E1C;   

  
  --porcelain:   #F2F1EE;   
  --slate:       #A8AAB4;   

  
  --pewter:      #E6E4E1;   
  --rule:        #C9C6C0;   
  --hairline:    rgba(230, 228, 225, .34);
  --hairline-soft: rgba(230, 228, 225, .16);

  
  --crimson:     #CA0267;   
  --crimson-lt:  #E170A9;   

  
  --gold:        #E8B54A;   
  --gold-deep:   #B98A23;   

  
  --teal:        #46D5C8;   
  --teal-deep:   #1E8F86;   

  
  --display: "Frank Ruhl Libre", Georgia, "Times New Roman", serif;
  --body: "Jost", ui-sans-serif, system-ui, sans-serif;

  
  --step--2: clamp(0.68rem, 0.5609vw, 0.74rem);
  --step--1: clamp(0.78rem, 0.6367vw, 0.84rem);
  --step-0:  clamp(0.95rem, 0.8033vw, 1.06rem);
  --step-1:  clamp(1.12rem, 1.023vw, 1.35rem);
  --step-2:  clamp(1.4rem, 1.44vw, 1.9rem);
  --step-3:  clamp(1.8rem, 2.198vw, 2.9rem);
  --step-4:  clamp(2.3rem, 3.335vw, 4.4rem);
  --step-5:  clamp(2.9rem, 5.002vw, 6.6rem);

  
  --gutter: clamp(1.15rem, .8rem + 1.6vw, 3.5rem);
  
  --measure: 43rem;
  --shell: 1280px;
  --radius: 3px;

  --ease: cubic-bezier(.22, .61, .28, 1);
  --slow: 640ms;
  --med: 320ms;
  --fast: 170ms;
}


*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important; animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}
body {
  margin: 0;
  background: var(--ink);
  color: var(--porcelain);
  font-family: var(--body);
  font-size: var(--step-0);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg, video { display: block; max-width: 100%; height: auto; }
h1, h2, h3, h4 { font-family: var(--display); font-weight: 700; line-height: 1.04; margin: 0; letter-spacing: -.015em; }
p, ul, ol { margin: 0; }
a { color: var(--porcelain); text-decoration-color: var(--hairline); text-underline-offset: .22em; }
a:hover { text-decoration-color: var(--pewter); }
:focus-visible { outline: 2px solid var(--pewter); outline-offset: 3px; }


.vh {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip {
  position: absolute; left: -9999px; top: 0; z-index: 999;
  background: var(--porcelain); color: var(--ink); padding: .7rem 1.1rem; font-weight: 600;
}
.skip:focus { left: .6rem; top: .6rem; }


.shell { width: min(100% - (var(--gutter) * 2), var(--shell)); margin-inline: auto; }
.shell--wide { width: min(100% - (var(--gutter) * 2), 1460px); margin-inline: auto; }
.stack > * + * { margin-top: var(--flow, 1rem); }
.section { padding-block: clamp(2.6rem, 4.244vw, 5.6rem); }
.rule { height: 1px; background: var(--hairline); border: 0; margin: 0; }


.kicker {
  font-size: var(--step--1); letter-spacing: .18em; text-transform: uppercase;
  color: var(--slate); font-weight: 600; display: flex; align-items: center; gap: .7rem;
}
.kicker::before { content: ""; width: 1.7rem; height: 1px; background: var(--pewter); flex: none; }



.disc { position: relative; font-size: var(--step--1); color: var(--slate); }
.disc__btn {
  background: none; border: 0; color: var(--slate); font: inherit; cursor: pointer;
  display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 0;
  border-bottom: 1px solid transparent; transition: color var(--fast) var(--ease), border-color var(--fast) var(--ease);
}
.disc__btn:hover, .disc:focus-within .disc__btn { color: var(--porcelain); border-bottom-color: var(--pewter); }
.disc__btn svg { flex: none; }
.disc__panel {
  position: absolute; top: calc(100% + .35rem); left: 0; z-index: 60;
  width: min(92vw, 420px); background: var(--ink-raised); color: var(--porcelain);
  border: 1px solid var(--pewter); padding: 1rem 1.1rem; line-height: 1.55;
  box-shadow: 7px 7px 0 -1px var(--ink), 7px 7px 0 0 var(--pewter);
  opacity: 0; visibility: hidden; transform: translateY(-4px);
  transition: opacity var(--med) var(--ease), transform var(--med) var(--ease), visibility var(--med);
}
.disc:hover .disc__panel, .disc:focus-within .disc__panel { opacity: 1; visibility: visible; transform: none; }
.disc__panel h3 { font-size: var(--step-0); margin-bottom: .45rem; }
.disc__panel .disc__stamp { margin-top: .6rem; font-size: var(--step--2); color: var(--slate); }
.disc__btn { white-space: nowrap; }

.masthead__end .disc__panel { left: auto; right: 0; }

@media (max-width: 1279px) {
  .masthead__row { flex-wrap: wrap; row-gap: .5rem; }
  .masthead__end { margin-left: auto; gap: .9rem; }
}

@media (max-width: 560px) {
  .masthead__end { margin-left: 0; flex-wrap: wrap; row-gap: .45rem; gap: .8rem; min-width: 0; }
}


.masthead { background: var(--ink); border-bottom: 1px solid var(--hairline-soft); position: relative; z-index: 50; }

.masthead__row { display: flex; align-items: center; gap: clamp(1rem, -1.65rem + 3.54vw, 2.6rem); min-height: 68px; }
.wordmark {
  font-family: var(--display); font-weight: 900; font-size: clamp(1.05rem, 0.9855vw, 1.3rem);
  letter-spacing: -.02em; color: var(--porcelain); text-decoration: none; display: inline-flex; align-items: baseline; gap: .1em;
}
.wordmark span { color: var(--slate); font-weight: 700; }
.nav { display: flex; gap: clamp(.72rem, -1.16rem + 2.38vw, 1.7rem); flex-wrap: wrap; }
.nav a {
  font-size: var(--step--1); font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
  color: var(--slate); text-decoration: none; padding: .4rem 0; position: relative;
}
.nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: var(--pewter); transform: scaleX(0); transform-origin: left;
  transition: transform var(--med) var(--ease);
}
.nav a:hover, .nav a[aria-current="page"] { color: var(--porcelain); }
.nav a:hover::after, .nav a[aria-current="page"]::after { transform: scaleX(1); }
.masthead__end { margin-left: auto; display: flex; align-items: center; gap: 1.1rem; }
@media (max-width: 1440px) and (min-width: 1280px) { .masthead__end { gap: .8rem; } }


.chip-licence {
  display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap;
  border: 1px solid var(--hairline); border-radius: 100px; padding: .42rem .9rem;
  font-size: var(--step--1); font-weight: 600; color: var(--porcelain);
}
.chip-licence svg { flex: none; color: var(--pewter); }


.bulbrail { display: flex; gap: 10px; align-items: center; height: 10px; overflow: hidden; }
.bulbrail i {
  width: 5px; height: 5px; border-radius: 50%; background: var(--rule); flex: none;
  opacity: .5; animation: bulbpulse 3.4s var(--ease) infinite;
}
.bulbrail i:nth-child(6n) {
  width: 8px; height: 8px; background: var(--pewter);
  box-shadow: 0 0 9px 1px rgba(230, 228, 225, .45);
}
@keyframes bulbpulse { 0%, 100% { opacity: .38; } 45% { opacity: 1; } }


.ticket {
  --notch: var(--ink);
  display: inline-grid; grid-template-columns: 1fr auto; align-items: stretch;
  text-decoration: none; font-family: var(--body); font-weight: 700;
  border: 1px solid var(--pewter); background: var(--porcelain); color: var(--ink);
  transition: transform var(--med) var(--ease), box-shadow var(--med) var(--ease);
  position: relative;
}
.ticket__face { padding: .95rem 1.3rem; font-size: var(--step-0); letter-spacing: .01em; }
.ticket__stub {
  display: grid; place-items: center; padding-inline: .9rem;
  border-left: 1px dashed var(--ink); background: var(--porcelain); color: var(--ink);
}
.ticket__stub svg { transition: transform var(--med) var(--ease); }
.ticket:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px var(--pewter), 0 10px 26px rgba(0,0,0,.45); }
.ticket:hover .ticket__stub svg { transform: translateX(3px); }

.ticket::before, .ticket::after {
  content: ""; position: absolute; width: 9px; height: 9px; border-radius: 50%;
  background: var(--notch); top: 50%; translate: 0 -50%;
}
.ticket::before { left: -5px; } .ticket::after { right: -5px; }
.ticket--onraised { --notch: var(--ink-raised); }

.ticket--ghost { background: transparent; color: var(--porcelain); border-color: var(--hairline); }
.ticket--ghost .ticket__stub { background: transparent; color: var(--porcelain); border-left-color: var(--hairline); }
.ticket--ghost:hover { border-color: var(--pewter); }


.medallion { position: relative; width: 74px; height: 74px; flex: none; display: grid; place-items: center; }
.medallion__ring {
  position: absolute; inset: 0; border-radius: 50%;
  border: 1.5px solid var(--rule);
}
.medallion__tick {
  position: absolute; inset: 5px; border-radius: 50%;
  border: 1px dashed var(--hairline); animation: spin 34s linear infinite;
}
.medallion__face {
  position: absolute; inset: 9px; border-radius: 50%; background: var(--ink);
  display: grid; place-items: center;
  font-family: var(--display); font-weight: 900; font-size: 1.15rem; color: var(--porcelain);
  letter-spacing: -.02em;
}
.medallion--lead .medallion__ring { border-width: 2.5px; border-color: var(--pewter); }
@keyframes spin { to { transform: rotate(360deg); } }


.rg {
  display: flex; align-items: flex-start; gap: .6rem; flex-wrap: wrap;
  border-top: 1px solid var(--hairline); padding-top: .7rem; margin-top: .85rem;
  font-size: var(--step--1); line-height: 1.5; color: var(--slate);
}
.rg__age {
  flex: none; border: 1px solid var(--pewter); color: var(--porcelain);
  border-radius: 100px; padding: .05rem .45rem; font-weight: 700; font-size: .72rem; letter-spacing: .03em;
}
.terms { font-size: var(--step--1); color: var(--slate); line-height: 1.5; }
.terms a { color: var(--porcelain); }


.oprow {
  background: var(--ink-raised); border: 1px solid var(--hairline-soft);
  padding: clamp(1rem, 1.061vw, 1.4rem);
  position: relative; transition: border-color var(--med) var(--ease), transform var(--med) var(--ease);
}
.oprow::before {
  content: ""; position: absolute; inset: -1px -1px auto -1px; height: 2px;
  background: var(--pewter); transform: scaleX(0); transform-origin: left;
  transition: transform var(--slow) var(--ease);
}
.oprow:hover { border-color: var(--hairline); transform: translateY(-2px); }
.oprow:hover::before { transform: scaleX(1); }
.oprow--lead { border-color: var(--hairline); }
.oprow--lead::before { transform: scaleX(1); height: 3px; }
.oprow__grid {
  display: grid; gap: clamp(0.8rem, 1.137vw, 1.5rem); align-items: center;
  grid-template-columns: 2.2rem auto minmax(9rem, 1fr) minmax(7rem, .8fr) minmax(7rem, .8fr) auto;
}

.oprow__rank { font-family: var(--display); font-weight: 900; font-size: 1.5rem; color: var(--slate); text-align: center; }
.oprow--lead .oprow__rank { color: var(--porcelain); }
.oprow__grid--home .oprow__rank {
  display: flex; flex-direction: column; align-items: flex-start; gap: .1rem;
  text-align: left; align-self: center;
}
.oprow__grid--home .oprow__rank small {
  font-family: var(--body); font-weight: 600; font-size: var(--step--2);
  letter-spacing: .18em; text-transform: uppercase; color: var(--slate);
}
.oprow__grid--home .oprow__rank b {
  font-weight: 900; font-size: clamp(2.2rem, 1rem + 3.4vw, 6rem);
  line-height: .85; letter-spacing: -.05em;
}
.oprow__name { font-family: var(--display); font-weight: 700; font-size: var(--step-1); }
.oprow__holder { font-size: var(--step--1); color: var(--slate); }
.oprow__label { font-size: var(--step--1); color: var(--slate); letter-spacing: .1em; text-transform: uppercase; }
.oprow__value { font-weight: 600; font-size: var(--step-0); }
.tag-lead {
  display: inline-flex; align-items: center; gap: .4rem; font-size: var(--step--1);
  letter-spacing: .1em; text-transform: uppercase; color: var(--porcelain);
}
.tag-lead::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--pewter); }
.verified { display: inline-flex; align-items: center; gap: .35rem; font-size: var(--step--1); color: var(--porcelain); }
.verified svg { color: var(--pewter); flex: none; }


.bar { height: 5px; background: rgba(230,228,225,.13); position: relative; overflow: hidden; }
.bar > i { position: absolute; inset: 0 auto 0 0; background: var(--pewter); width: var(--w, 50%); }


.siteftr { background: var(--ink-deep); border-top: 1px solid var(--hairline-soft); }
.siteftr__rail { padding-top: 1rem; }
.siteftr__grid { display: grid; gap: 1.6rem; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); padding-block: 2.4rem; }
.siteftr h2 { font-size: var(--step-0); font-family: var(--body); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--slate); margin-bottom: .7rem; }
.siteftr ul, .siteftr__grid ul { list-style: none; padding: 0; display: grid; gap: .05rem; }
.siteftr a, .siteftr__grid a { color: var(--porcelain); text-decoration: none; font-size: var(--step--1);
  display: inline-block; padding-block: .34rem; padding-inline: .22rem;
  margin-inline: -.22rem; }   
.siteftr a:hover { text-decoration: underline; text-decoration-color: var(--pewter); }
.reglinks { display: flex; gap: .55rem 1.1rem; flex-wrap: wrap; align-items: center; }

.reglinks a { display: inline-block; padding-block: .26rem; }

.sisters { border-top: 1px solid var(--hairline-soft); padding-block: 2rem 1.9rem; }
.sisters__head { margin-bottom: .45rem; }
.sisters__lede { color: var(--slate); font-size: var(--step--1); line-height: 1.55; max-width: 46rem; margin-bottom: 1.15rem; }


.sisters__grid { list-style: none; padding: 0; margin: 0; display: grid; gap: .3rem .55rem;
  grid-template-columns: repeat(5, minmax(0, 1fr)); }
.sisters__item { min-width: 0; }
.siteftr .sisters__link { display: flex; align-items: center; gap: .55rem; padding: .45rem .5rem;
  margin-inline: 0; min-width: 0; overflow: hidden; border-radius: 7px; text-decoration: none;
  border: 1px solid transparent; transition: background .16s ease, border-color .16s ease; }
.siteftr .sisters__link:hover, .siteftr .sisters__link:focus-visible {
  background: rgba(230,228,225,.07); border-color: var(--hairline-soft); text-decoration: none; }
.sisters__flag { flex: none; width: 24px; height: 18px; border-radius: 2px; object-fit: cover;
  box-shadow: 0 0 0 1px rgba(11,14,28,.55) inset; }
.sisters__txt { display: grid; gap: 1px; min-width: 0; overflow: hidden; }
.sisters__lang { color: var(--porcelain); font-size: var(--step--1); line-height: 1.25;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sisters__country { color: var(--slate); font-size: 10px; letter-spacing: .05em; text-transform: uppercase;
  line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sisters__lang[dir="rtl"] { direction: rtl; text-align: right; }
@media (max-width: 1100px) { .sisters__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 560px)  { .sisters__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.legal { border-top: 1px solid var(--hairline-soft); padding-block: 1.4rem; color: var(--slate); font-size: var(--step--1); line-height: 1.55; display: grid; gap: .7rem; }


.reveal { opacity: 0; transform: translateY(18px); transition: opacity var(--slow) var(--ease), transform var(--slow) var(--ease); }
.reveal.is-in { opacity: 1; transform: none; }
html:not(.js) .reveal { opacity: 1; transform: none; }


@media (max-width: 900px) {
  .oprow__grid { grid-template-columns: 2.2rem auto 1fr; }
  .oprow__cell--stat { grid-column: 2 / -1; display: flex; gap: .6rem; align-items: baseline; }
  .oprow__cell--cta { grid-column: 1 / -1; }
  .oprow__cell--cta .ticket { width: 100%; }
}
@media (max-width: 560px) {
  .oprow__grid { grid-template-columns: 2rem 1fr; }
  .medallion { width: 58px; height: 58px; }
  .medallion__face { font-size: .95rem; }
}


.disc.is-pinned .disc__panel { opacity: 1; visibility: visible; transform: none; }

.disc.is-dismissed .disc__panel,
.disc.is-dismissed:hover .disc__panel,
.disc.is-dismissed:focus-within .disc__panel { opacity: 0; visibility: hidden; }


@media (max-width: 700px) {
  .disc { position: static; }
  .disc__panel {
    position: absolute; left: var(--gutter); right: var(--gutter); width: auto;
    top: auto; margin-top: .35rem;
  }
  .disclosures__row { position: relative; }
  .masthead__row { flex-wrap: wrap; row-gap: .6rem; padding-block: .7rem; }
  .masthead__end { margin-left: 0; }
  
  .navtoggle { display: inline-flex; }
  .nav {
    order: 3; width: 100%; flex-wrap: wrap; overflow: visible;
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .1rem .6rem;
    max-height: 0; opacity: 0; visibility: hidden; padding: 0;
    transition: max-height .28s var(--ease), opacity .2s ease, visibility .28s,
                padding .28s var(--ease);
  }
  .masthead.is-open .nav { max-height: 60vh; opacity: 1; visibility: visible;
    padding-block: .6rem .3rem; overflow-y: auto; }
  .nav a { white-space: normal; padding-block: .6rem; }
  .nav a { white-space: nowrap; }
}


.ai-image { position: relative; display: inline-block; max-width: 100%; margin: 0; }
.ai-image img, .ai-image picture { display: block; max-width: 100%; height: auto; }
.ai-badge {
  position: absolute; top: .5rem; right: .5rem; z-index: 5;
  min-height: 20px; display: inline-flex; align-items: center;
  padding: .15rem .45rem;
  border: 2px solid var(--porcelain); border-radius: .35rem;
  background: rgba(11, 14, 28, .72); color: var(--porcelain);
  font-family: var(--body); font-weight: 700; font-size: .78rem;
  line-height: 1.2; letter-spacing: .06em; pointer-events: none;
}
.ai-note {
  display: block; margin-top: .35rem;
  font-size: var(--step--1); color: var(--slate); letter-spacing: .02em;
}

.cat .ai-note { margin-top: .2rem; opacity: .8; }





.oplist:not(.oplist--ledger) { list-style: none; padding: 0; margin: 0; display: grid; gap: .8rem; }
.oplist__intro { color: var(--slate); max-width: 80ch; line-height: 1.6; margin-bottom: 1.2rem; }

.oplist__note {
  margin-top: 1.6rem; padding-top: 1.1rem; border-top: 1px solid var(--hairline-soft);
  font-size: var(--step--1); color: var(--slate); line-height: 1.65; max-width: none;
}

.oprow__cell { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.oprow__cell--stat { gap: .15rem; }
.oprow__cell--cta { align-items: stretch; gap: .5rem; }
.oprow__review { font-size: var(--step--1); color: var(--slate); text-align: center;
  border-bottom: 1px solid var(--hairline-soft); align-self: center;
  display: inline-block; padding-block: .3rem; }
.oprow__review:hover { color: var(--porcelain); border-color: var(--pewter); }

.sechead { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem;
  flex-wrap: wrap; margin-bottom: clamp(1.2rem, 1.516vw, 2rem); }
.sechead h2 { font-size: var(--step-3); margin-top: .7rem; }
.sechead__link { font-size: var(--step-0); font-weight: 600; color: var(--porcelain);
  text-decoration: none; border-bottom: 1px solid var(--hairline); padding-bottom: .2rem; }
.sechead__link:hover { border-color: var(--pewter); }


.oprow__grid--plain { grid-template-columns: minmax(10rem, 1fr) minmax(8rem, .8fr) minmax(11rem, auto); }
@media (max-width: 900px) {
  .oprow__grid--plain { grid-template-columns: 1fr; }
  .oprow__grid--plain .oprow__cell--stat { grid-column: 1 / -1; flex-direction: row; gap: .5rem; align-items: baseline; }
  .oprow__grid--plain .oprow__cell--cta { grid-column: 1 / -1; }
}


.wordmark { display: inline-flex; align-items: center; gap: .6rem; }
.wordmark__mark { flex: 0 0 auto; color: var(--pewter); }
.wordmark:hover .wordmark__mark { color: var(--porcelain); }
.wordmark__text { display: inline-block; }


.legal__terms a, .prose p a:not(.ticket):not(.g-blocklink), .oplist__note a { text-decoration: underline; text-underline-offset: .18em; }
.legal__terms { font-size: var(--step--1); color: var(--slate); margin-bottom: .5rem; line-height: 1.6; }
.legal__terms a { color: var(--porcelain); }


.oprow__grid--home { grid-template-columns: minmax(2.6rem, auto) minmax(12rem, 1fr) minmax(9rem, .8fr) minmax(12rem, auto); }
@media (max-width: 900px) {
  .oprow__grid--home { grid-template-columns: minmax(2.4rem, auto) 1fr; }
  .oprow__grid--home .oprow__cell--stat { grid-column: 2 / -1; flex-direction: row; gap: .5rem; align-items: baseline; }
  .oprow__grid--home .oprow__cell--cta { grid-column: 2 / -1; }
}


.oprow__logo { display: block; margin-bottom: .35rem; }
.oprow__logo img { display: block; height: auto; max-width: 104px; }
.oprow__logo--plate img { background: var(--porcelain); border-radius: 6px; padding: 6px 9px; }


.oprow__mark { display: flex; align-items: center; justify-content: center; min-width: 112px; }
.oprow__mark img { display: block; width: 112px; height: auto; }
.oprow__mark--plate img { background: var(--porcelain); border-radius: 7px; padding: 8px 10px; }


.oprow__name--sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.oprow__cell > .oprow__mark { margin-bottom: .34rem; }
.oprow__cell > .oprow__mark img { display: block; height: auto; max-width: 132px; }
.oprow__mark--plate img { background: var(--porcelain); border-radius: 6px; padding: 7px 10px; }



.oplist--ledger .review{display:inline-block;margin-top:.7rem;font-size:.82rem;color:var(--slate);
  text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;
  text-decoration-color:var(--hairline-soft)}
.oplist--ledger .review:hover{color:var(--porcelain);text-decoration-color:var(--rule)}
.oplist--ledger .age{display:inline-grid;place-items:center;flex:none;min-width:2.15rem;height:1.4rem;
  border:1px solid var(--crimson);color:var(--crimson-lt);border-radius:2px;
  font-size:.72rem;font-weight:700;letter-spacing:.04em;line-height:1}
.oplist--ledger .legal{font-size:.75rem;line-height:1.5;color:var(--slate)}
.oplist--ledger .legal a{color:var(--pewter);text-decoration:underline;text-underline-offset:2px;
  text-decoration-color:var(--hairline)}
.oplist--ledger .legal a:hover{color:#fff;text-decoration-color:var(--pewter)}
.oplist--ledger{--c1:88px;--c2:minmax(240px,1.02fr);--c3:minmax(312px,1.15fr);--c4:264px;
  --cgap:clamp(1rem,2.2vw,2.6rem);list-style:none;margin:2.6rem 0 0;padding:0}
.oplist--ledger .row{position:relative;border-bottom:1px solid var(--hairline-soft);transition:background var(--fast) var(--ease)}
.oplist--ledger .row::before{content:"";position:absolute;left:calc(var(--gutter) * -.5);top:0;bottom:0;width:2px;
  background:var(--crimson);transform:scaleY(0);transform-origin:top;
  transition:transform var(--med) var(--ease)}
.oplist--ledger .row:hover{background:var(--ink)}
.oplist--ledger .row:hover::before{transform:scaleY(1)}
.oplist--ledger .row__main{display:grid;grid-template-columns:var(--c1) var(--c2) var(--c3) var(--c4);
  gap:var(--cgap);align-items:start;padding:1.55rem 0 1.1rem}
.oplist--ledger .rank{font-family:var(--display);font-weight:900;font-size:2.55rem;line-height:.85;
  color:var(--rule);font-variant-numeric:lining-nums}
.oplist--ledger .rank small{display:block;font-family:var(--body);font-weight:500;font-size:.62rem;
  letter-spacing:.24em;text-transform:uppercase;color:var(--slate);margin-bottom:.5rem}
.oplist--ledger .row:hover .rank{color:var(--porcelain)}
.oplist--ledger .brandline{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;min-height:2.2rem}
.oplist--ledger .brand{font-family:var(--display);font-weight:700;font-size:var(--step-2);line-height:1.02;
  letter-spacing:-.005em}

.oplist--ledger .mark{display:inline-flex;align-items:center;margin-left:auto;align-self:center}
.oplist--ledger .mark img{width:auto;height:auto;max-width:11.5rem;max-height:6rem}
.oplist--ledger .mark.brandlogo--square img{max-height:7rem;max-width:7rem}
.oplist--ledger .mark--plate,.oplist--ledger .mark.brandlogo--plate{
  padding:.45rem .75rem;background:var(--porcelain);border-radius:3px}
.oplist--ledger .domain{margin-top:.6rem;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--slate)}
.oplist--ledger .holder{margin-top:.9rem;padding-top:.75rem;border-top:1px solid var(--hairline-soft)}
.oplist--ledger .holder__k{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--slate)}
.oplist--ledger .holder__v{font-family:var(--display);font-weight:700;font-size:1.02rem;margin-top:.15rem}
.oplist--ledger .facts{margin:0;padding:0;display:grid;gap:.52rem}
.oplist--ledger .f{display:flex;align-items:baseline;gap:.55rem;font-size:.85rem}
.oplist--ledger .f__k{flex:none;font-size:.69rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter)}

.oplist--ledger .f__k{order:0}
.oplist--ledger .f::after{content:"";flex:1 1 auto;min-width:1.5rem;height:0;order:1;
  border-bottom:1px dotted rgba(230,228,225,.34);transform:translateY(-.22em)}
.oplist--ledger .f>dd{order:2}
.oplist--ledger .f__v{flex:none;text-align:right;max-width:62%}
.oplist--ledger .f__v--ok{display:inline-flex;align-items:center;gap:.4rem;color:var(--porcelain)}
.oplist--ledger .f__v--ok svg{color:var(--crimson-lt)}
.oplist--ledger .f__v--unk{color:var(--slate);font-style:italic}
.oplist--ledger .f__v--no{color:var(--slate)}
.oplist--ledger .f__also{display:block;font-size:.72rem;color:var(--slate);margin-top:.1rem}
.oplist--ledger .cta{display:flex;flex-direction:column;align-items:flex-start}
.oplist--ledger .row:hover .ticket{--notch:var(--ink)}
.oplist--ledger .row__legal{display:grid;grid-template-columns:var(--c1) 1fr;gap:var(--cgap);
  padding:0 0 1.3rem}
.oplist--ledger .legal__pair{display:flex;gap:clamp(1rem,2.5vw,2.4rem);flex-wrap:wrap}
.oplist--ledger .legal__pair>span{flex:1 1 20rem;min-width:0}
.oplist--ledger .legal__rg{display:flex;gap:.6rem;align-items:flex-start}
@media(max-width:1080px){
.oplist--ledger{--c2:minmax(192px,1fr);--c4:208px
}
.oplist--ledger .row__main{grid-template-columns:1fr;gap:1.15rem;padding:1.5rem 0 1.05rem}
.oplist--ledger .rank{display:flex;align-items:baseline;gap:.55rem;font-size:1.5rem;line-height:1;
    color:var(--porcelain)}
.oplist--ledger .rank small{margin:0}
.oplist--ledger .row::before{left:calc(var(--gutter) * -.35)}
.oplist--ledger .brandline{min-height:0}
.oplist--ledger .cta{align-items:stretch}
.oplist--ledger .row__legal{grid-template-columns:1fr;gap:.55rem;justify-items:start}
.oplist--ledger .legal__pair{gap:.55rem}
.oplist--ledger .legal__pair>span{flex:1 1 100%}
}


.scrollrail {
  position: sticky; top: env(safe-area-inset-top, 0px); z-index: 90;
  height: 3px; background: rgba(230, 228, 225, .10);
  --p: 0;                                   
}
.scrollrail__fill {
  display: block; height: 100%; transform-origin: left center;
  transform: scaleX(var(--p));              
  background: var(--crimson);
}
.scrollrail__die {
  position: absolute; top: 0; left: 0; width: 26px; height: 26px;
  
  translate: calc(var(--p) * (100cqw - 26px)) 0;
  rotate: calc(var(--p) * var(--turns, 4) * 360deg);
  will-change: translate, rotate;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .45));
  pointer-events: none;
}
.scrollrail { container-type: inline-size; }
.scrollrail__die svg { display: block; }

.scrollrail .die__face { display: none; }
.scrollrail[data-face="1"] .die__face[data-face="1"],
.scrollrail[data-face="2"] .die__face[data-face="2"],
.scrollrail[data-face="3"] .die__face[data-face="3"],
.scrollrail[data-face="4"] .die__face[data-face="4"],
.scrollrail[data-face="5"] .die__face[data-face="5"],
.scrollrail[data-face="6"] .die__face[data-face="6"] { display: block; }

@media (prefers-reduced-motion: reduce) {
  .scrollrail__die { display: none; }       
}

@media (max-width: 560px) { .scrollrail__die { display: none; } }


.readbar { display: none; }



.oplist--ledger .cta { display: flex; flex-direction: column; gap: .5rem; align-items: stretch; }

.oplist--ledger .ticket { width: 100%; min-height: 3.35rem; }
.oplist--ledger .ticket .ticket__face {
  display: flex; align-items: center; justify-content: center;
  white-space: nowrap; padding-inline: 1rem;
}
.oplist--ledger .ticket .ticket__stub {
  background: var(--crimson); color: #fff; border-left-color: rgba(255,255,255,.35);
  padding-inline: .95rem;
}


.oplist--ledger .review {
  display: flex; align-items: center; justify-content: center; gap: .45rem;
  min-height: 2.5rem; margin-top: 0; padding-inline: 1rem;
  font-family: var(--body); font-weight: 700; font-size: var(--step--1); letter-spacing: .02em;
  color: var(--gold); text-decoration: none;
  background: linear-gradient(180deg, rgba(232,181,74,.13), rgba(232,181,74,.05));
  border: 1px solid rgba(232,181,74,.62); border-radius: 2px;
  transition: border-color var(--fast) var(--ease), color var(--fast) var(--ease),
              background var(--fast) var(--ease);
}
.oplist--ledger .review:hover {
  color: var(--ink); border-color: var(--gold); background: var(--gold);
  text-decoration: none;
}
.oplist--ledger .review:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }



.oplist--ledger .bonus {
  display: grid; gap: .1rem; padding: .6rem .8rem .65rem;
  background: linear-gradient(180deg, rgba(202,2,103,.16), rgba(202,2,103,.06));
  border: 1px solid rgba(202,2,103,.5); border-radius: 3px;
}
.oplist--ledger .bonus__k {
  font-size: .63rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase;
  color: var(--crimson-lt);
}
.oplist--ledger .bonus__v {
  font-family: var(--display); font-weight: 900; font-size: 1.32rem; line-height: 1.05;
  letter-spacing: -.015em; color: var(--porcelain);
}
.oplist--ledger .bonus__n { font-size: .66rem; color: var(--slate); line-height: 1.35; }

.oplist--ledger .bonus--frame {
  background: linear-gradient(180deg, rgba(202,2,103,.10), rgba(202,2,103,.035));
  border-color: rgba(202,2,103,.32);
}
.oplist--ledger .bonus--frame .bonus__v { color: var(--pewter); }
@media (max-width: 1080px) {
  .oplist--ledger .bonus { padding: .5rem .7rem .55rem; }
  .oplist--ledger .bonus__v { font-size: 1.18rem; }
}

.oplist--ledger .bonus--none {
  background: rgba(230,228,225,.04); border-color: var(--hairline);
}
.oplist--ledger .bonus--none .bonus__k { color: var(--slate); }
.oplist--ledger .bonus--none .bonus__v { font-size: 1.05rem; color: var(--pewter); }


.oplist--ledger .rowfacts { display: grid; gap: .55rem; align-content: start; min-width: 0; }


.oplist--ledger .gamestat {
  display: grid; grid-template-columns: repeat(3, minmax(0, 6.4rem)); gap: .4rem;
  justify-content: end;
}
@media (max-width: 1180px) {
  .oplist--ledger .gamestat { grid-template-columns: repeat(2, minmax(0, 6.6rem)); }
}

@media (max-width: 720px) {
  .oplist--ledger .gamestat { grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: stretch; gap: .35rem; }
  .oplist--ledger .gamestat__cell { padding-inline: .3rem; }
}
.oplist--ledger .gamestat__note { text-align: right; }
.oplist--ledger .gamestat__cell {
  display: grid; align-content: center; justify-items: center; gap: .22rem;
  min-height: 3.5rem; padding: .4rem .4rem .45rem; text-align: center;
  background: linear-gradient(180deg, rgba(70,213,200,.15), rgba(70,213,200,.04));
  border: 1px solid rgba(70,213,200,.5); border-radius: 3px;
}
.oplist--ledger .gamestat__cell span {
  font-size: .55rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--teal); line-height: 1.15;
}
.oplist--ledger .gamestat__cell b {
  font-family: var(--display); font-weight: 900; font-size: 1.22rem; line-height: 1;
  letter-spacing: -.02em; color: var(--porcelain);
}
.oplist--ledger .gamestat__note {
  grid-column: 1 / -1; font-size: .58rem; color: var(--slate); text-align: right;
}

.oplist--ledger .gamestat--unk .gamestat__cell {
  background: rgba(230,228,225,.035); border-color: var(--hairline);
}
.oplist--ledger .gamestat--unk .gamestat__cell span { color: var(--slate); }
.oplist--ledger .gamestat--unk .gamestat__cell b { color: var(--slate); font-size: 1.05rem; }
@media (max-width: 1080px) {
  .oplist--ledger .gamestat__cell { aspect-ratio: auto; padding: .55rem .5rem .6rem; }
}


.masthead__row { gap: clamp(14.4px, -23.76px + 3.186vw, 37.44px); }
.wordmark { font-size: clamp(15.12px, 13.68px + .405vw, 18.72px); gap: 9.6px; }
.nav { gap: clamp(10.37px, -16.7px + 2.142vw, 24.48px); }

.nav a { font-size: clamp(10.4px, 10.1px + .085vw, 11.3px); }
.nav { margin-inline: clamp(14px, 1.5vw, 34px); }
.masthead__end { gap: 15.84px; }
.masthead__end .disc__btn { font-size: clamp(11.23px, 10.94px + .09vw, 12.1px); gap: 6.48px; padding: 7.92px 0; }
.chip-licence { gap: 7.2px; padding: 6.05px 12.96px; font-size: clamp(11.23px, 10.94px + .09vw, 12.1px); }
@media (max-width: 1440px) and (min-width: 1280px) { .masthead__end { gap: 11.52px; } }


.masthead .shell--wide { width: min(100% - (clamp(14.4px, 7.2px + .81vw, 25.2px) * 2), 1760px); }


@media (min-width: 1040px) {
  .nav { flex-wrap: nowrap; min-width: 0; overflow-x: auto; scrollbar-width: none; flex: 0 1 auto; }
  .nav::-webkit-scrollbar { display: none; }
  .nav a { white-space: nowrap; letter-spacing: .015em; }
  .wordmark { flex: 0 1 auto; min-width: 0; }
  .wordmark__text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .masthead__end { flex: 0 0 auto; }
}



.ticket { max-width: 100%; grid-template-columns: minmax(0, 1fr) auto; }
.ticket__face { min-width: 0; }


.navtoggle { align-items: center; justify-content: center; width: 42px;
  height: 42px; margin-left: auto; padding: 0; border: 1px solid var(--hairline-soft);
  border-radius: 9px; background: transparent; color: var(--porcelain); cursor: pointer;
  transition: border-color .16s ease, background .16s ease; }
.navtoggle:hover, .navtoggle:focus-visible { border-color: var(--pewter);
  background: rgba(230,228,225,.06); }
.navtoggle__bars { display: grid; gap: 4px; width: 18px; }
.navtoggle__bars i { display: block; height: 2px; border-radius: 2px; background: currentColor;
  transition: transform .22s var(--ease), opacity .16s ease; }

.masthead.is-open .navtoggle__bars i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.masthead.is-open .navtoggle__bars i:nth-child(2) { opacity: 0; }
.masthead.is-open .navtoggle__bars i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
@media (prefers-reduced-motion: reduce) {
  .nav, .navtoggle__bars i { transition: none; }
}


@media (min-width: 701px) { .navtoggle { display: none !important; } }


@media (max-width: 720px) {
  .siteftr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 1.1rem;
    padding-block: 1.8rem; }
  .siteftr__grid > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
  
  .siteftr__grid h2 { margin-bottom: .45rem; overflow-wrap: break-word; hyphens: auto; }
  .siteftr a, .siteftr__grid a { padding-block: .3rem; }
}
