:root{--bg:#f8f5ee;--bg2:#ffffff;--line:rgba(27,36,51,.12);--text:#1b2433;--muted:#5f6673;--red:#9e3b3b;--gold:#1f5f4e;--accent:#1f5f4e;--wrap:1200px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}body{overflow-x:hidden;background:var(--bg);color:var(--text);font:400 17px/1.6 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.mono,.meta,.byline,.pager-dir,.draft-banner,.nf-board,.eyebrow,.kicker,.lbl,.tag,.fine,.cd-label{font-family:Inter,ui-monospace,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.red{color:var(--red)}.gold{color:var(--gold)}.muted{color:var(--muted)}
.ticker{position:relative;z-index:2;background:var(--red);color:#fff;text-align:center;font:600 12px/1 Inter,monospace;letter-spacing:.14em;text-transform:uppercase;padding:9px}
.nav{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;max-width:1376px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;font:800 20px/1 Fraunces;letter-spacing:.06em;text-transform:uppercase}
.mark{display:grid;place-items:center;width:38px;height:38px;background:var(--red);color:#fff;font:900 18px/1 Fraunces;letter-spacing:0;clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%)}
.nav nav{display:flex;gap:28px;align-items:center;font-size:15px;color:#3a4250}
.pill{border:1px solid var(--gold);color:var(--gold)!important;padding:9px 16px;border-radius:2px;font-weight:600}
.hero{position:relative;overflow:hidden;padding:72px 0 0;border-bottom:1px solid var(--line);background:radial-gradient(900px 500px at 85% 10%,rgba(158,59,59,.10),transparent 60%),radial-gradient(700px 400px at 0% 100%,rgba(31,95,78,.08),transparent 60%)}
.hero-bg{position:absolute;right:-40px;top:20px;font:900 360px/0.8 Fraunces;color:transparent;-webkit-text-stroke:1px rgba(27,36,51,.06);letter-spacing:-.02em;pointer-events:none;white-space:nowrap}
.hero-inner{position:relative}
.kicker{color:var(--gold);display:flex;align-items:center;gap:10px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(158,59,59,.10)}
h1{font:900 112px/.9 Fraunces;text-transform:uppercase;letter-spacing:-.005em;margin:22px 0 28px;max-width:980px}
.lede{max-width:620px;font-size:19px;color:#3a4250}
.cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.btn{font:700 15px/1 Inter;padding:17px 26px;border-radius:2px;letter-spacing:.02em}
.primary{background:var(--accent);color:#fff}
.ghost{border:1px solid rgba(27,36,51,.25)}
.countdown{position:relative;margin-top:72px;border-top:1px solid var(--line);padding:28px 0 40px}
.cd-label{display:flex;justify-content:space-between;color:var(--muted)}
.cd-label span:first-child{color:var(--red);font-weight:600}
.cd-num{font:900 clamp(60px,15vw,226px)/.8 Fraunces;letter-spacing:-.02em;margin:34px 0 12px;background:linear-gradient(180deg,#fff 30%,#3a4250);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.cd-num .cur{font-size:.45em;vertical-align:.95em;color:var(--gold);-webkit-text-fill-color:var(--gold);margin-right:.04em}
.cd-sub{font-size:20px;color:#3a4250}
section{padding:96px 0}
.sec-head{margin-bottom:40px}.sec-head.row{display:flex;justify-content:space-between;align-items:flex-end}
.eyebrow{color:var(--gold);margin-bottom:12px}
h2{font:800 60px/.95 Fraunces;text-transform:uppercase}
.field-sec{background:var(--bg2);border-bottom:1px solid var(--line)}
.board{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#ffffff}
.cell{padding:24px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.cell:last-child{border-right:0}
.lbl{color:var(--muted)}
.val{font:800 64px/1 Fraunces;font-variant-numeric:tabular-nums}.val small{font-size:.5em}
.strike{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:4px;color:#77736c}
.field{display:grid;grid-template-columns:90px 1fr 90px;margin-top:28px;height:150px;border-radius:4px;overflow:hidden;border:1px solid var(--line)}
.endzone{display:grid;place-content:center;text-align:center;font:800 26px/1 Fraunces;background:repeating-linear-gradient(135deg,#1b1b1e 0 10px,#151517 10px 20px)}
.endzone small{font:500 10px Inter,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.endzone.left{color:var(--red)}.endzone.right{color:var(--gold);background:repeating-linear-gradient(135deg,rgba(31,95,78,.08) 0 10px,rgba(31,95,78,.08) 10px 20px)}
.turf{position:relative;background:linear-gradient(90deg,#ffffff,#1a2e21 50%,#ffffff)}
.lines{position:absolute;inset:0;display:grid;grid-template-columns:repeat(9,1fr);padding:0 5%}
.lines span{border-left:1px solid rgba(27,36,51,.18);font:800 22px Fraunces;color:rgba(27,36,51,.35);padding:10px 0 0 6px}
.lines span:first-child{border-left:0}
.lines .mid{border-left:2px solid rgba(27,36,51,.5);color:#fff}
.gained{position:absolute;left:0;bottom:0;height:10px;background:linear-gradient(90deg,var(--red),var(--gold))}
.ball{position:absolute;bottom:22px;transform:translateX(-50%);width:44px;height:26px;border-radius:50%;background:#7a3b1d;box-shadow:inset 0 0 0 2px #5a2a14}
.ball:after{content:"";position:absolute;left:12px;right:12px;top:12px;height:2px;background:#fff}
.ball span{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);background:var(--gold);color:#f1ede4;font:600 10px Inter;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:2px;white-space:nowrap}
.fine{color:var(--muted);margin-top:18px;letter-spacing:.06em;text-transform:none;font-size:13px}
.playlist{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.playlist li{border-top:3px solid var(--red);background:var(--bg2);padding:26px 24px 28px;display:flex;flex-direction:column;gap:10px}
.playlist li:nth-child(n+2){border-top-color:#2a2a2e}.playlist li:last-child{border-top-color:var(--gold)}
.no{font:900 46px/1 Fraunces;color:#d9d4c8}
h3{font:800 28px/1.05 Fraunces;text-transform:uppercase;letter-spacing:.01em}
.playlist p{color:var(--muted);font-size:15px;flex:1}
.tag{align-self:flex-start;padding:5px 9px;font-size:10.5px;border-radius:2px}
.tag.live{background:rgba(158,59,59,.10);color:#9e3b3b}.tag.done{background:rgba(27,36,51,.08);color:#3a4250}.tag.goal{background:rgba(31,95,78,.08);color:var(--gold)}
.posts{border-top:1px solid var(--line)}
.more{color:var(--gold);font-weight:600}
.post-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}
.post{justify-content:flex-end;background:var(--bg2);border:1px solid var(--line);padding:34px;display:flex;flex-direction:column;gap:14px;transition:border-color .2s}
.post:hover{border-color:var(--gold)}
.post.feature{background:linear-gradient(135deg,#1a0c0d,#ffffff 60%);border-color:rgba(158,59,59,.10);min-height:340px;justify-content:flex-end}
.post.feature h3{font-size:58px;line-height:.95}
.post h3{font-size:36px}
.meta{color:var(--muted)}.meta em{font-style:normal;background:var(--gold);color:#f1ede4;padding:2px 6px;margin-left:8px;border-radius:2px}
.post p{color:#3a4250;max-width:560px}
.read{color:var(--red);font-weight:700}
.join{background:var(--red);color:#fff}
.join .eyebrow{color:#ffd9a0}.join .gold{color:#f1ede4}
.join-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.join .muted{color:rgba(27,36,51,.8);margin-top:14px}
form{display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0;gap:10px}
input{min-width:0;width:100%;background:rgba(0,0,0,.2);border:1px solid rgba(27,36,51,.35);color:#fff;padding:17px 18px;font:16px Inter;border-radius:2px}
input::placeholder{color:rgba(27,36,51,.7)}
button{white-space:nowrap;background:#0a0a0b;color:#fff;border:0;padding:0 24px;font:700 15px Inter;border-radius:2px}
form small{grid-column:1/-1;font-size:12px;color:rgba(27,36,51,.75)}
footer{padding:64px 0 48px;border-top:4px solid var(--gold)}
.foot-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:28px}
.foot-top nav{display:flex;gap:24px;color:var(--muted)}
.disc{color:#3a4250;max-width:760px;font-size:15px}
.help{margin-top:14px;font-size:15px;color:#3a4250}.help a{white-space:nowrap;color:var(--gold);font-weight:700}
.copy{margin-top:28px;color:#5e5b56;font-size:13px}

/* ---------- shared ---------- */
::selection{background:var(--gold);color:#f1ede4}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--gold);color:#f1ede4;padding:10px 14px;z-index:10;font-weight:700}.skip:focus{left:12px;top:12px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav nav a{transition:color .15s}.nav nav a:hover,.nav nav a[aria-current]{color:#fff}
.nav nav a[aria-current]:not(.pill){box-shadow:inset 0 -2px 0 var(--red);padding-bottom:4px}
.btn{transition:transform .15s,background .15s}.btn:hover{transform:translateY(-1px)}.primary:hover{background:#ff3640}.ghost:hover{border-color:#fff}
.empty{color:var(--muted)}
.join small a{color:#fff;text-decoration:underline}
button:disabled,input:disabled{cursor:not-allowed}
/* ---------- page head (story, posts, film room) ---------- */
.wrap-read{max-width:760px;margin:0 auto;padding:0 32px}
.wrap-index{max-width:1000px;margin:0 auto;padding:0 32px}
.page-head{padding:88px 0 56px;border-bottom:1px solid var(--line);background:radial-gradient(800px 420px at 90% 0%,rgba(158,59,59,.10),transparent 60%),radial-gradient(600px 360px at 0% 100%,rgba(31,95,78,.08),transparent 60%)}
.page-head.wide .wrap-read{max-width:1000px}
.page-head .kicker a{color:var(--gold)}.page-head .kicker a:hover{color:#fff}
.page-head h1{font-size:96px;margin:20px 0 24px}
.post-page .page-head h1{font-size:84px;line-height:.92}
.dek{font-size:21px;line-height:1.5;color:#3a4250;max-width:680px}
.byline{display:flex;flex-wrap:wrap;gap:0;margin-top:34px;border:1px solid var(--line);background:#ffffff;width:max-content;max-width:100%;color:#3a4250}
.byline span{padding:12px 18px;border-right:1px solid var(--line)}.byline span:last-child{border-right:0}
.byline span:first-child{color:var(--gold)}
.draft-banner{display:inline-block;background:var(--gold);color:#f1ede4;padding:7px 12px;border-radius:2px;margin-bottom:22px;font-weight:600}
.scorestrip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#ffffff;margin:56px 0 8px}
.scorestrip div{padding:18px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.scorestrip div:last-child{border-right:0}
.scorestrip .val{font-size:44px}.scorestrip .strike{text-decoration-thickness:3px}
/* ---------- long-form body ---------- */
.prose{padding-top:56px;padding-bottom:40px;font-size:20px;line-height:1.75;color:#3a4250}
.prose>*+*{margin-top:1.15em}
.prose>p:first-child{font-size:23px;line-height:1.6;color:var(--text)}
.prose h2{font:800 46px/1 Fraunces;text-transform:uppercase;color:var(--text);margin-top:2.1em;padding-top:22px;border-top:1px solid var(--line);position:relative}
.prose h2:before{content:"";position:absolute;top:-1px;left:0;width:56px;height:3px;background:var(--red)}
.prose h2+*{margin-top:.7em}
.prose h3{font-size:30px;margin-top:1.8em}
.prose strong{color:#fff;font-weight:700}
.prose em{color:#f0ebe1}
.prose a{color:var(--gold);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.prose a:hover{color:#fff}
.prose ul,.prose ol{padding-left:0;list-style:none}
.prose li{position:relative;padding-left:30px}.prose li+li{margin-top:.6em}
.prose ul li:before{content:"";position:absolute;left:2px;top:.62em;width:12px;height:12px;background:var(--red);clip-path:polygon(0 0,100% 50%,0 100%)}
.prose blockquote{margin:2em 0;padding:30px 0 30px 34px;border-left:6px solid var(--gold);background:linear-gradient(90deg,rgba(31,95,78,.08),transparent 80%)}
.prose blockquote p{font:800 40px/1.05 Fraunces;text-transform:uppercase;color:#fff;letter-spacing:.005em}
.prose blockquote p:before{content:"\201C";color:var(--gold)}.prose blockquote p:after{content:"\201D";color:var(--gold)}
.prose hr{border:0;height:24px;background:repeating-linear-gradient(90deg,var(--line) 0 2px,transparent 2px 10%);margin:2.4em 0}
.prose code{font:15px Inter,monospace;background:#1a1a1d;padding:2px 6px;border-radius:2px}
.post-end{margin-top:16px;display:flex;gap:18px;align-items:flex-start;border-top:4px solid var(--gold);padding-top:28px;padding-bottom:8px;color:#3a4250;font-size:16px}
.post-end .mark{flex:0 0 38px}.post-end strong{color:var(--text)}.post-end a{color:var(--gold);font-weight:700;white-space:nowrap}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:40px;padding-bottom:96px}
.pager-link{background:var(--bg2);border:1px solid var(--line);padding:22px 24px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s}
.pager-link:hover{border-color:var(--gold)}.pager-link.next{text-align:right;grid-column:2}
.pager-dir{color:var(--red);font-weight:600}
.pager-title{font:800 26px/1.05 Fraunces;text-transform:uppercase}
/* ---------- film room index ---------- */
.index-list{padding-top:56px;padding-bottom:110px}
.index-item{display:grid;grid-template-columns:96px 1fr 60px;gap:28px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}
.index-item:first-child{border-top:3px solid var(--red)}
.idx-no{font:900 72px/1 Fraunces;color:#d9d4c8}
.index-item h2{font-size:52px;margin:10px 0 10px}.index-item h2 a:hover{color:var(--gold)}
.index-item .summary{color:#3a4250;max-width:640px}
.idx-go{font:800 40px/1 Fraunces;color:var(--red);justify-self:end;transition:transform .2s}.index-item:hover .idx-go{transform:translateX(6px)}
.index-item:hover .idx-no{color:var(--red)}
/* ---------- 404 ---------- */
.nf{padding:80px 0 120px;background:radial-gradient(800px 460px at 80% 10%,rgba(158,59,59,.10),transparent 60%),linear-gradient(180deg,transparent 60%,rgba(26,46,33,.35))}
.nf-code{font:900 clamp(160px,28vw,400px)/.8 Fraunces;letter-spacing:-.02em;margin:30px 0 10px;background:linear-gradient(180deg,#fff 30%,#3a4250);-webkit-background-clip:text;background-clip:text;color:transparent}
.nf-code .gold{-webkit-text-fill-color:var(--gold)}
.nf h1{font-size:96px;margin:24px 0 18px}
.nf .dek{max-width:640px}
.nf-board{display:flex;flex-wrap:wrap;margin-top:34px;border:1px solid var(--line);width:max-content;max-width:100%;background:#ffffff}
.nf-board span{padding:12px 18px;border-right:1px solid var(--line);color:#3a4250}.nf-board span:first-child{color:var(--red)}.nf-board span:last-child{border-right:0;color:var(--gold)}
@media (prefers-reduced-motion:no-preference){
  .gained{animation:drive 1.2s cubic-bezier(.2,.7,.2,1) both}.ball{animation:ball 1.2s cubic-bezier(.2,.7,.2,1) both}
  @keyframes drive{from{width:0}}@keyframes ball{from{left:0}}
}
@media (min-width:901px){.cd-num{font-size:clamp(96px,9.5vw,150px);margin:20px 0 10px}.countdown{margin-top:40px;padding:20px 0 28px}.hero{padding-top:48px}h1{font-size:clamp(72px,6vw,112px);margin:16px 0 20px}.cta{margin-top:24px}.field-sec{padding-top:48px}}
@media (max-width:900px){
  .wrap{padding:0 20px}.nav{padding:16px 20px}.nav nav a:not(.pill){display:none}
  .hero{padding-top:44px}.hero-bg{font-size:180px;top:60px}
  h1{font-size:64px}.lede{font-size:17px}
  .countdown{margin-top:48px}.cd-num{font-size:64px}.cd-sub{font-size:17px}
  section{padding:64px 0}h2{font-size:44px}
  .board{grid-template-columns:1fr 1fr}.cell{border-bottom:1px solid var(--line)}.cell:nth-child(2n){border-right:0}.val{font-size:48px}
  .field{grid-template-columns:52px 1fr 52px;height:120px}.endzone{font-size:18px}.lines span{font-size:13px;padding-left:3px}
  .playlist{grid-template-columns:1fr 1fr;gap:12px}.playlist li{padding:20px 16px}h3{font-size:22px}
  .post-grid{grid-template-columns:1fr}.post{padding:24px}.post.feature{min-height:0}.post.feature h3{font-size:40px}.post h3{font-size:30px}
  .sec-head.row{flex-direction:column;align-items:flex-start;gap:12px}
  .join-inner{grid-template-columns:1fr;gap:28px}
  .foot-top{flex-direction:column;align-items:flex-start;gap:18px}
}
@media (max-width:900px){
  .wrap-read,.wrap-index{padding:0 20px}
  .page-head{padding:52px 0 40px}.page-head h1,.nf h1{font-size:60px}.post-page .page-head h1{font-size:50px;line-height:.95}
  .dek{font-size:18px}
  .byline{margin-top:26px;letter-spacing:.08em}.byline span{padding:10px 12px}.tk-x{display:none}
  .cd-num{font-size:clamp(56px,18vw,150px)}
  .scorestrip{margin-top:36px}.scorestrip div{padding:14px 12px}.scorestrip .val{font-size:28px}
  .prose{padding-top:40px;font-size:18px;line-height:1.72}.prose>p:first-child{font-size:20px}
  .prose h2{font-size:36px}.prose blockquote{padding:22px 0 22px 22px}.prose blockquote p{font-size:30px}
  .pager{grid-template-columns:1fr;padding-bottom:64px}.pager-link.next{grid-column:auto}
  .index-list{padding-top:32px;padding-bottom:72px}
  .index-item{grid-template-columns:1fr;gap:6px;padding:28px 0}.idx-no{font-size:44px}.idx-go{display:none}.index-item h2{font-size:38px}
  .nf{padding:48px 0 80px}.nf-code{font-size:170px}
  .nf-board{flex-direction:column;width:100%}.nf-board span{border-right:0;border-bottom:1px solid var(--line)}.nf-board span:last-child{border-bottom:0}
  .fine{line-height:1.5}.cta .btn{flex:1 1 auto;text-align:center}
}
@media (max-width:420px){.ball span{font-size:9px;padding:3px 6px}.playlist{grid-template-columns:1fr}.nav .pill{font-size:13px;padding:8px 12px}}
.endzone small{display:block;margin-top:6px}
.join-inner>*{min-width:0}
/* ---------- run the machine: homepage teaser ---------- */
.teaser{border-top:1px solid var(--line);background:radial-gradient(700px 380px at 100% 0%,rgba(31,95,78,.08),transparent 60%),var(--bg2)}
.teaser-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.teaser-inner>*{min-width:0}
.teaser .muted{margin-top:16px;max-width:520px}
.teaser .cta{margin-top:28px}
.teaser-board{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#ffffff;border-top:3px solid var(--red)}
.teaser-board .cell{border-bottom:1px solid var(--line)}.teaser-board .cell:nth-child(2n){border-right:0}.teaser-board .cell:nth-child(n+3){border-bottom:0}
.teaser-board .val{font-size:52px}
/* ---------- run the machine: simulator page ---------- */
.nav nav a[href="/odds/"]{white-space:nowrap}
.wrap-sim{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.sim{padding:56px 0 72px}
.sim-nojs{border:1px solid var(--gold);padding:16px;margin-bottom:24px}
.sim-pick{border:0;margin-bottom:28px}
.sim-pick legend{margin-bottom:14px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;top:0;left:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
.chip span{display:block;border:1px solid rgba(27,36,51,.25);padding:12px 18px;font:700 15px/1 Inter;border-radius:2px;transition:border-color .15s,background .15s}
.chip:hover span{border-color:#fff}
.chip input:checked+span{background:var(--gold);border-color:var(--gold);color:#f1ede4}
.chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
.sim-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px;align-items:start}
.sim-card{background:var(--bg2);border:1px solid var(--line);padding:30px;min-width:0}
.sim-play{border-top:3px solid var(--red)}
.sim-take-card,.sim-money-card{margin-top:20px}
.sim-card h2{font-size:48px}
.sim-price{color:var(--gold);margin-top:10px;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.sim-model{margin-top:18px;font-size:15px;color:#3a4250;display:grid;gap:10px}
.sim-model strong{color:var(--text)}
.sim-notes{color:var(--muted);font-size:14px}
.sim-src{font-size:13px;color:var(--muted)}.sim-src a,.sim-model a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
table{border-collapse:collapse;width:100%}
.sim-odds,.sim-counts{margin-top:22px;font-size:15px}
.sim-odds th,.sim-odds td,.sim-counts th,.sim-counts td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.sim-odds thead th,.sim-counts thead th,.cx-tiers thead th{font:500 11px Inter,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.sim-odds td.num:nth-child(2){min-width:96px}
.sim-odds sup{color:var(--gold);font-size:.7em;margin-left:1px}
.bar{display:block;height:4px;background:rgba(27,36,51,.07);margin-top:6px}
.bar i{display:block;height:100%;background:currentColor}
.sw{display:inline-block;width:10px;height:10px;margin-right:8px;background:currentColor;vertical-align:0}
tr.t-base{color:#3a4250}tr.t-mid{color:#e8e3d9}tr.t-hit{color:#ff5a62}tr.t-top{color:var(--gold)}
tr.t-base th,tr.t-base td{color:#3a4250}tr.t-base .sw,tr.t-base .bar i{color:#6d6a64}
.sim-odds td,.sim-counts td{color:#3a4250}
.rips{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 22px}
.rips .btn{border:0;cursor:pointer;padding:16px 22px;font-size:16px}
.rips .ghost{background:transparent;border:1px solid rgba(27,36,51,.25);color:var(--text)}
.rips .btn:disabled{opacity:.55;transform:none;cursor:wait}
.sim-board{grid-template-columns:repeat(5,minmax(0,1fr))}
.sim-board .cell,.sim-math .cell{padding:16px 14px;min-width:0}
.sim-board .val,.sim-math .val{font-size:34px;overflow-wrap:anywhere}
.sim-math{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:24px}
.sim-cap{margin-top:22px;color:var(--muted)}
.tiles{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px;perspective:800px}
.tile{background:#ffffff;border:1px solid var(--line);border-top:3px solid #3a3a40;padding:12px 10px;display:flex;flex-direction:column;gap:4px;min-width:0}
.tile-tier{font:600 10.5px Inter,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tile-val{font:800 26px/1 Fraunces;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tile-d{font:500 11px Inter,monospace;letter-spacing:.02em}
.tile-d.down{color:#9e3b3b}.tile-d.up{color:var(--gold)}
.tile.t-hit{border-top-color:var(--red)}.tile.t-hit .tile-tier{color:#9e3b3b}
.tile.t-top{border-top-color:var(--gold);background:linear-gradient(180deg,rgba(31,95,78,.08),#ffffff)}.tile.t-top .tile-tier{color:var(--gold)}
.strip{display:grid;grid-template-columns:repeat(25,minmax(0,1fr));gap:3px;margin-top:14px}
.pip{height:14px;background:#1d1d21;transition:background .12s}
.pip.on.t-base{background:#4a4843}.pip.on.t-mid{background:#3a4250}.pip.on.t-hit{background:var(--red)}.pip.on.t-top{background:var(--gold)}
.sim-best{margin-top:14px;color:var(--gold)}
.sim-adv{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;font-size:14px;color:#3a4250}
.sim-adv summary{cursor:pointer;font:500 12px Inter,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sim-adv label{display:block;margin:12px 0 8px}
.sim-adv input,.sim-n input,.sim-custom input{background:#ffffff;border:1px solid rgba(27,36,51,.25);padding:11px 12px;font-size:16px}
.sim-n{display:flex;align-items:center;gap:12px;margin-top:22px;flex-wrap:wrap}
.sim-n label{font:500 12px Inter,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sim-n input{width:130px}
.sim-take{list-style:none;margin-top:22px;display:grid;gap:14px;font-size:17px;color:#3a4250}
.sim-take li{position:relative;padding-left:28px}
.sim-take li:before{content:"";position:absolute;left:2px;top:.5em;width:12px;height:12px;background:var(--red);clip-path:polygon(0 0,100% 50%,0 100%)}
.sim-take strong{color:#fff}
.sim-money-card{border-top:3px solid var(--gold)}
.sim-money{font:400 22px/1.45 Inter;color:#3a4250;margin-top:4px;max-width:900px}
.sim-money strong{color:#fff}.sim-money .gold{color:var(--gold)}.sim-money .red{color:#9e3b3b}
.sim-custom{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}
.cx-top{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cx-top label{display:flex;flex-direction:column;gap:6px;font:500 11px Inter,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cx-tiers{margin-top:16px}
.cx-tiers th,.cx-tiers td{padding:4px 4px 4px 0;text-align:left}
.cx-tiers td:nth-child(1){width:40%}
.cx-tiers input{width:100%;padding:9px 8px}
.cx-del{background:transparent;border:1px solid var(--line);color:var(--text);width:38px;height:38px;padding:0;font-size:20px;cursor:pointer}
.cx-del:disabled{opacity:.3}
.cx-add{margin-top:12px;background:transparent;color:var(--text);cursor:pointer}
.cx-err{color:#9e3b3b;font-size:14px;margin-top:6px}.cx-err:empty{display:none}
.sim-notes-sec{padding:24px 0 24px;border-top:1px solid var(--line)}
.sim-notes-sec .prose{padding-top:24px}
.sim-disc{padding:40px 0}
.disc-box{border:1px solid rgba(158,59,59,.10);border-left:6px solid var(--red);background:linear-gradient(90deg,rgba(158,59,59,.10),transparent 80%);padding:28px 30px;display:grid;gap:14px;color:#3a4250}
.disc-box h2{font-size:40px}
.disc-box a{color:var(--gold);font-weight:700;white-space:nowrap}
.sim-sources{padding:40px 0 96px}
.sim-sources h2{margin-bottom:22px}
.src-list{padding-left:22px;display:grid;gap:12px;font-size:15px;color:#3a4250}
.src-list li::marker{color:var(--muted);font:500 12px Inter,monospace}
.src-list a{color:var(--text);text-decoration:underline;text-decoration-color:rgba(31,95,78,.08);text-underline-offset:3px}.src-list a:hover{color:var(--gold)}
.src-url{display:block;font:500 12px Inter,monospace;color:var(--muted);overflow-wrap:anywhere}
@media (prefers-reduced-motion:no-preference){
  .tile.flip{animation:flip .45s cubic-bezier(.2,.7,.2,1) both}
  @keyframes flip{from{transform:rotateX(-90deg);opacity:0}to{transform:none;opacity:1}}
  .tile.t-top.flip{animation:flip .45s cubic-bezier(.2,.7,.2,1) both,glow 1.6s ease-out .45s}
  @keyframes glow{0%{box-shadow:0 0 0 0 rgba(31,95,78,.08)}100%{box-shadow:0 0 0 18px rgba(31,95,78,.08)}}
}
@media (max-width:1100px){
  .sim-grid{grid-template-columns:minmax(0,1fr)}
  .sim-math{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sim-math .cell:nth-child(3n){border-right:0}.sim-math .cell{border-bottom:1px solid var(--line)}
}
@media (max-width:900px){
  .teaser-inner{grid-template-columns:1fr;gap:32px}.teaser-board .val{font-size:38px}
  .wrap-sim{padding:0 20px}.sim{padding:36px 0 56px}
  .sim-card{padding:22px 18px}.sim-card h2{font-size:38px}
  .sim-board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sim-board .cell{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.sim-board .cell:nth-child(2n){border-right:0}
  .sim-board .cell:last-child{grid-column:1/-1;border-right:0;border-bottom:0}
  .sim-math{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sim-math .cell:nth-child(3n){border-right:1px solid var(--line)}.sim-math .cell:nth-child(2n){border-right:0}
  .sim-board .val,.sim-math .val{font-size:30px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strip{grid-template-columns:repeat(20,minmax(0,1fr))}
  .sim-money{font-size:19px}
  .disc-box{padding:22px 18px}.disc-box h2{font-size:32px}
}
@media (max-width:420px){
  .rips{display:grid;grid-template-columns:1fr 1fr 1fr}.rips .btn{padding:15px 8px;text-align:center}.rips #sim-reset{grid-column:1/-1}
  .chip span{padding:11px 13px;font-size:14px}
  .cx-top{grid-template-columns:1fr}
  .sim-odds,.sim-counts{font-size:14px}.sim-odds th,.sim-odds td{padding:9px 4px}
  .sim-odds td.num:nth-child(2){min-width:74px}
  .teaser-board .val{font-size:32px}
}
.sim-odds tbody th,.sim-counts tbody th{white-space:nowrap;font-weight:600}
/* ---------- odds simulation: banner, picker, card tiles, legal ---------- */
.sim-banner{background:repeating-linear-gradient(135deg,#1a0e0f 0 14px,#211213 14px 28px);border-bottom:2px solid var(--red);border-top:1px solid rgba(158,59,59,.10)}
.sim-banner a{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 14px;max-width:var(--wrap);margin:0 auto;padding:12px 20px;text-align:center;text-decoration:none;color:#fff}
.sim-banner strong{font:800 15px/1.3 Inter;letter-spacing:.06em}
.sim-banner span{font:500 12px Inter,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.sim-flag{margin-top:14px;font-size:14px;color:#3a4250;border-left:3px solid var(--red);padding:6px 0 6px 12px}
.sim-flag a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.sim-flag-rip{margin-top:12px}
.sim-picker{display:grid;grid-template-columns:auto 1fr;gap:18px 32px;align-items:start;margin-bottom:28px}
.sim-picker #sim-row-prices{grid-column:1/-1}
.sim-picker .sim-pick{margin-bottom:0;min-width:0}
.sim-picker #sim-row-ins{grid-column:1/-1;margin-top:8px}
.sim-pick[hidden]{display:none}
.chip span small{display:block;margin-top:5px;font:500 10.5px Inter,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.chip input:checked+span small{color:#ffffff}
.chip .est{font:600 9.5px Inter,monospace;font-style:normal;letter-spacing:.08em;text-transform:uppercase;margin-left:5px;color:var(--gold);vertical-align:2px}
.chip input:checked+span .est{color:#ffffff}
.chips-price{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}
.chips-price .chip span{padding:10px 6px;text-align:center}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:#3a4250;cursor:pointer}
.chk input{width:20px;height:20px;margin-top:1px;accent-color:var(--gold);flex:none}
.badge{display:inline-block;font:600 11px Inter,monospace;letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border:1px solid;margin:0 6px 4px 0}
.badge.off{color:var(--gold);border-color:var(--gold)}
.badge.mod{color:#9e3b3b;border-color:#9e3b3b}
.badge.fam{color:var(--muted);border-color:var(--line)}
.ncards{display:block;font:500 10.5px Inter,monospace;color:var(--muted);letter-spacing:.04em}
.sim-prices-asof{color:#3a4250}
.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.tile-name{font:700 15px/1.2 Inter;color:#fff;overflow-wrap:anywhere}
.tile-set{font:500 11px/1.3 Inter,monospace;color:var(--muted);overflow-wrap:anywhere}
.tile-val{margin-top:4px}
.sim-legal{padding:48px 0 96px;scroll-margin-top:24px}
.sim-legal:focus{outline:none}
.legal-box{border:1px solid rgba(158,59,59,.10);border-top:6px solid var(--red);background:#ffffff;padding:30px 32px;color:#3a4250;font-size:15px;line-height:1.6}
.legal-box h2{font:800 26px/1.2 Inter;letter-spacing:.08em;margin-bottom:18px}
.legal-list{padding-left:22px;display:grid;gap:12px}
.legal-list strong{color:#fff}
.legal-list a{color:var(--gold)}
.legal-close{margin-top:18px}
.legal-dates{margin-top:10px;font-size:12px;color:var(--muted)}
@media (max-width:1100px){.sim-picker{grid-template-columns:1fr}.chips-price{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:640px){
  .chips-fam{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.chips-fam .chip span{padding:10px 8px;font-size:13px;height:100%}
  .chips-price{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sim-banner strong{font-size:13px}
  .legal-box{padding:22px 18px;font-size:14px}.legal-box h2{font-size:21px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.sim-latest{margin-top:14px;border:1px solid var(--line);border-left:4px solid var(--gold);background:#ffffff;padding:12px 14px;display:grid;gap:6px;min-height:92px}
.sim-latest .lbl{font:500 10.5px Inter,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sim-latest-body{display:grid;gap:3px;min-width:0}
.sim-latest-empty{color:var(--muted);font-size:14px}
.sim-latest-tier{font:600 11px Inter,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sim-latest-tier.sim-latest-t-top{color:var(--gold)}.sim-latest-tier.sim-latest-t-hit{color:#9e3b3b}
.sim-latest-name{font:700 17px/1.25 Inter;color:#fff;overflow-wrap:anywhere}
.sim-latest-set{font:500 12px Inter,monospace;color:var(--muted)}
.sim-latest-val{font:800 28px/1.05 Fraunces;font-variant-numeric:tabular-nums}
.sim-latest-val .tile-d{font-size:12px;margin-left:6px;vertical-align:4px}
.sim-latest-all{font:500 12px Inter,monospace;letter-spacing:.06em;color:var(--gold);text-decoration:underline;text-underline-offset:3px;justify-self:start}
#sim-tiles-cap{scroll-margin-top:12px}

/* Condition badge on pulled cards: grade label only (e.g. Grade 10 or RAW) */
.grade{display:inline-block;align-self:flex-start;font:700 10px/1 var(--mono,ui-monospace,monospace);letter-spacing:.08em;padding:3px 6px;border-radius:3px;border:1px solid rgba(27,36,51,.35);color:#cfcfd4;margin-bottom:4px;vertical-align:middle}
.grade.graded{background:#3a4250;color:#a3141c;border-color:#3a4250}
.sim-latest-name .grade{margin:0 4px 0 0}
.damage{padding:56px 0 8px}.damage-note{margin-top:18px;max-width:760px;color:var(--muted,#a9a9a9)}
.prose table,article table{margin:24px 0;font-variant-numeric:tabular-nums}article th,article td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}article td:not(:first-child),article th:not(:first-child){text-align:right}
.bars{margin:24px 0;display:grid;gap:10px}.bar{display:grid;grid-template-columns:56px 1fr 84px;align-items:center;gap:12px;font-family:Inter,system-ui,sans-serif;font-size:14px}.bar i{display:block;height:22px;background:#d7263d}.bar b{text-align:right;font-weight:500}
.drive{margin-top:28px}.drive-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.drive-list li{display:grid;grid-template-columns:80px 1fr 84px 96px;gap:12px;align-items:center;font:500 13px Inter,system-ui,sans-serif}
.drive-list .bar{display:block;height:14px;background:#ffffff;border:1px solid var(--line)}.drive-list .bar i{display:block;height:100%;background:var(--gold)}
.drive-list .peak .bar i{background:var(--red)}.drive-list .v{text-align:right}.drive-list .l{opacity:.7;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
@media (max-width:560px){.drive-list li{grid-template-columns:64px 1fr 72px}.drive-list .l{display:none}}

/* ---------- mobile usability pass (Oct 2026) ---------- */
/* Yard lines on the real 10-yard marks, so 50 sits at 50% and the ball lines up with its percentage */
.lines{display:block;padding:0}
.lines span{position:absolute;top:0;bottom:0;padding:10px 0 0 6px}
.lines span:nth-child(1){left:10%}.lines span:nth-child(2){left:20%}.lines span:nth-child(3){left:30%}.lines span:nth-child(4){left:40%}.lines span:nth-child(5){left:50%}.lines span:nth-child(6){left:60%}.lines span:nth-child(7){left:70%}.lines span:nth-child(8){left:80%}.lines span:nth-child(9){left:90%}
.lines span:first-child{border-left:1px solid rgba(27,36,51,.18)}.lines .mid{border-left:2px solid rgba(27,36,51,.5)}
/* Ball no longer slides in from the goal line (a screenshot or slow phone caught it near the own 10). It fades in at its real spot. */
@media (prefers-reduced-motion:no-preference){.ball{animation:ballin .6s ease-out both}@keyframes ballin{from{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%)}}}
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.tbl-scroll>table{min-width:100%}
html,body{max-width:100%}
footer{padding-bottom:calc(48px + env(safe-area-inset-bottom))}
@media (max-width:900px){
  /* Header: brand + tab row instead of hiding every link */
  .nav{flex-wrap:wrap;gap:10px;padding:12px 16px 0;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .nav .brand{min-height:44px}
  .nav nav{order:3;width:calc(100% + 32px);margin:0 -16px;padding:4px 10px;display:grid;grid-template-columns:repeat(3,1fr);gap:2px 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px}
  .nav nav::-webkit-scrollbar{display:none}
  .nav nav a:not(.pill){display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:0 4px;white-space:nowrap}
  .nav nav a[aria-current]:not(.pill){box-shadow:inset 0 -3px 0 var(--red);padding-bottom:0;color:#fff}
  .nav nav .pill{margin:3px 0;padding:0 6px;white-space:nowrap;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:14px}
  .nav::after{content:"";order:2}
  /* Footer tabs: two-column grid, 48px rows */
  .foot-top nav{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;width:100%;font-size:16px}
  .foot-top nav a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line);color:#3a4250}
  .help{line-height:2.1}.help a{padding:10px 0;white-space:normal}
  /* Inline "→" links and small links get a 44px tap area */
  .sim-flag a,.post-end a,#disclaimer a,.kicker a,.more,.damage-note a,.crumb a,a.back,.disc a,.fine a,.join a,.pager a{display:inline-block;padding:12px 0}
  .sim-odds,.sim-counts{font-size:14px}
  .ball span{font-size:11px}.endzone small{font-size:11px}
}
@media (max-width:640px){
  .chip span{min-height:44px;display:flex;flex-direction:column;justify-content:center}
  .chip small,.chip span small{font-size:11.5px}
  .sim input,.sim select,input[type=number],input[type=text]{min-height:44px;font-size:16px}
  summary{min-height:44px;display:flex;align-items:center}
  .tag{font-size:11.5px}.chip .est{font-size:11px}
}
@media (max-width:420px){.ball span{font-size:11px;padding:3px 7px}.cd-num{font-size:clamp(56px,18vw,76px)}}
/* Simulator tables fit 375px: fixed layout, tighter cells, wrapping */
@media (max-width:640px){
  .sim-odds,.sim-counts,.cx-tiers{table-layout:fixed;width:100%;font-size:13px}
  .sim-odds th,.sim-odds td,.sim-counts th,.sim-counts td{padding:9px 4px;overflow-wrap:anywhere;word-break:normal}
  .sim-odds thead th,.sim-counts thead th,.cx-tiers thead th{font-size:10.5px;letter-spacing:.04em;white-space:normal}
  .sim-odds th:first-child,.sim-odds td:first-child{width:28%}
  .ncards{font-size:11px}
  .sim *,.sim-picker,.sim-picker *{min-width:0;max-width:100%}
}
/* Results numbers never break mid-number ("$0" / trailing zeros dropping a line) */
.sim-board .val,.sim-math .val{overflow-wrap:normal;word-break:normal;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(20px,2.3vw,34px)}
.sim-board .lbl{white-space:normal}
.num,.ncards{white-space:nowrap;font-variant-numeric:tabular-nums}
.sim-invest{margin-top:28px}.sim-invest h3{font:800 28px/1 Fraunces;text-transform:uppercase;margin:0 0 14px}
.sim-invest-board{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){
  .sim-board .val,.sim-math .val{font-size:clamp(20px,7vw,30px)}
  .sim-invest-board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sim-invest-board .cell:last-child{grid-column:auto;border-right:0}
  .sim-invest-board .cell:nth-child(n+3){border-bottom:0}
}
.sim-odds td .bar{display:block;margin-top:6px;max-width:100%}
/* Odds bar: always a thin line under the percentage (overrides the generic .bar chart rule above) */
.sim-odds td .bar{display:block!important;grid-template-columns:none;height:5px;margin:8px 0 2px;background:rgba(27,36,51,.07);font-size:0;line-height:0;width:100%}
.sim-odds td .bar i{display:block;height:5px;background:currentColor}
/* Results board: reflowing grid, never collides even at 7-figure values */
.sim-board:not(.sim-invest-board){grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.sim-board .val,.sim-math .val{font-size:clamp(20px,2vw,30px);letter-spacing:-.01em}
.sim-board .cell{overflow:hidden}
@media (max-width:900px){.sim-board:not(.sim-invest-board){grid-template-columns:repeat(2,minmax(0,1fr))}.sim-board .val{font-size:clamp(20px,6.4vw,28px)}}
.sim-chart{margin:20px 0 0;border:1px solid var(--line);background:#ffffff;padding:12px 10px 10px}
.sim-chart svg{display:block;width:100%;height:auto}
.sim-chart text{font:500 12px Inter,system-ui,sans-serif;fill:#3a4250}
.sim-chart .ax{font:700 12px Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;fill:#3a4250}
.sim-chart .gl{stroke:rgba(27,36,51,.08)}
.sim-chart .inv{fill:none;stroke:var(--gold);stroke-width:3;stroke-linejoin:round}
.sim-chart .dot{fill:var(--gold)}
.sim-chart .ret{stroke:var(--red);stroke-width:2.5;stroke-dasharray:7 5}
.sim-chart .rl{fill:var(--red);font-weight:700}.sim-chart .il{fill:var(--gold);font-weight:700}
.sim-chart figcaption{margin-top:8px;font:500 12px/1.5 Inter,system-ui,sans-serif;color:var(--muted)}
.sim-chart .k{display:inline-block;width:16px;height:3px;vertical-align:middle;margin:0 4px 0 8px}.sim-chart .k.inv{background:var(--gold)}.sim-chart .k.ret{background:var(--red)}
@media (max-width:640px){.sim-chart{padding:8px 4px}.sim-chart text{font-size:22px}.sim-chart .ax{font-size:20px}}
@media (max-width:640px){
  .sim-odds td.num{white-space:normal;overflow-wrap:anywhere}
  .sim-odds th[scope=row]{font-size:13px;overflow-wrap:anywhere}
  .sim-odds th:first-child,.sim-odds td:first-child{width:30%}
  .sim-odds .sw{width:8px;height:8px;margin-right:5px}
}
.sim-chart{max-width:760px}

.field-sec h2{font-size:clamp(30px,8.5vw,56px)}
.cd-num{line-height:1.05;padding:.12em 0 .08em;overflow:visible}.scorestrip .val{line-height:1.05;padding:.08em 0 .04em;overflow:visible}
/* v7: education site, interest chart, rip history */
.sim-chart .debt{stroke:var(--red);stroke-width:3;stroke-linejoin:round}
.sim-chart .debt-dot{fill:var(--red)}
.sim-chart .minp{stroke:var(--gold);stroke-width:2.5;stroke-dasharray:7 5}
.sim-chart .k.debt{background:var(--red)}.sim-chart .k.minp{background:var(--gold)}
.int-ctl{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:flex-end;margin:6px 0 14px;padding:12px;border:1px solid var(--gold)}
.int-ctl .sim-n{margin:0}.int-ctl .sim-pick{margin:0;border:0;padding:0}
.hist-scroll{max-height:340px;overflow:auto;margin:12px 0}
.hist-tbl td{font-size:13px}.hist-tbl .up{color:var(--gold)}.hist-tbl .down{color:var(--red)}
.signs{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:10px}
.signs li{border-left:4px solid var(--red);padding:10px 14px;background:#f1ede4;font-weight:600}
.playlist.edu p sup a,.damage-note sup a{color:var(--gold);text-decoration:none;font-size:.75em}
.sources ol{font-size:14px}
.nf-code{line-height:1.05;padding:.12em 0 .08em;overflow:visible}
.hist-tbl{min-width:560px}.hist-tbl td{white-space:nowrap}

/* v8: light professional theme */
body{font:400 17px/1.65 Inter,system-ui,sans-serif;color:var(--text);background:var(--bg)}
h1,h2,h3,.brand{text-transform:none!important;letter-spacing:-.01em!important}
h1{font:600 clamp(40px,5.4vw,64px)/1.1 Fraunces,Georgia,serif;max-width:860px}
h2{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.15}
h3{font-family:Fraunces,Georgia,serif;font-weight:600}
.mono,.meta,.byline,.eyebrow,.kicker,.lbl,.tag,.fine,.sim-cap{font-family:Inter,system-ui,sans-serif;letter-spacing:.08em}
.fine,.sim-cap{text-transform:none;letter-spacing:0;font-size:13px;color:var(--muted)}
.kicker,.eyebrow{color:var(--accent)}
.dot{display:none}
.hero{background:none;padding:72px 0 64px}
.lede{color:#3a4250}
.brand{font:600 21px/1 Fraunces,Georgia,serif}
.mark{background:var(--accent);clip-path:none;border-radius:50%;font:600 15px/1 Inter;width:34px;height:34px}
.nav{border-bottom:1px solid var(--line)}
.nav nav{color:#3a4250}
.nav nav a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}
.btn{border-radius:6px;font-family:Inter}
.primary{color:#fff}
.ghost{border:1px solid var(--line);color:var(--text)}
.pill{border-color:var(--accent);color:var(--accent)!important;border-radius:999px}
.ticker{background:var(--text)}
.val{font-family:Fraunces,Georgia,serif!important;font-weight:600!important;color:var(--text)}
.val.gold{color:var(--accent)}.val.red{color:var(--red)}
.board{background:var(--bg2);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.board .cell{border-color:var(--line)!important;background:transparent}
.sim-card,.legal-box,.playlist li,.teaser-board .cell,.entry{background:var(--bg2);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(27,36,51,.04)}
.playlist li{border-top:1px solid var(--line)!important}
.playlist .no{color:var(--accent);opacity:.5;font-family:Fraunces,serif}
.chip span,.chips label span{border-radius:999px}
.chip input:checked+span,.chips input:checked+span{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}
.sim-chart{background:var(--bg2);border-radius:10px}
.sim-chart text{fill:#5f6673;font-family:Inter,sans-serif}
.sim-chart .ax{fill:#1b2433}
.sim-chart .gl{stroke:rgba(27,36,51,.10)}
.int-ctl{border:1px solid var(--accent);border-radius:10px;background:rgba(31,95,78,.05)}
input[type=number],input[type=text]{background:#fff!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:6px}
.signs li{border-left:3px solid var(--accent);background:var(--bg2);border-radius:0 8px 8px 0;font-weight:500}
.sim-banner{background:#eef2ef!important;color:var(--text)!important;border-bottom:1px solid var(--line)}
.sim-banner a,.sim-banner strong{color:var(--text)!important}
footer{background:#f1ede4;border-top:1px solid var(--line)}
.tile{background:var(--bg2)!important;border:1px solid var(--line)!important;color:var(--text)}
.entries{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:8px 0 72px}
.entry{display:block;padding:28px;transition:border-color .2s}
.entry:hover{border-color:var(--accent)}
.entry h2{font-size:26px;margin:8px 0 10px}.entry p{color:var(--muted)}.entry .go{display:inline-block;margin-top:16px;color:var(--accent);font-weight:600}
@media (max-width:900px){.entries{grid-template-columns:1fr}}
.playlist.edu{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important}
.prose h2{margin-top:44px}.prose h3{margin-top:28px}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.note-box{border:1px solid var(--accent);background:rgba(31,95,78,.05);border-radius:10px;padding:16px 20px;margin:24px 0}
.prose strong,.sim-take strong,.sim-money strong{color:var(--text)}
.nav nav a:hover,.prose a:hover,.page-head .kicker a:hover,.join small a{color:var(--accent)}
.ghost:hover,.chip:hover span{border-color:var(--accent)}
.join{background:var(--bg2);color:var(--text);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.prose blockquote p{font:500 26px/1.3 Fraunces,serif;text-transform:none;color:var(--text)}
.ticker{color:#fff}
.grade.graded{background:rgba(31,95,78,.1);color:var(--accent);border-color:rgba(31,95,78,.3)}
.t-mid{color:#3a4250}.t-hit{color:var(--red)}

/* ---------- v9 Free Play ---------- */
.fl-top{max-width:1100px;margin:0 auto;padding:0 1.25rem}
.fl-notice{border:1px solid var(--accent);background:#eef4f1;padding:.9rem 1rem;border-radius:10px;margin:1rem 0}
.fl-controls{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center;margin:.5rem 0 1rem}
.fl-controls input[type=number]{width:5em}
.fl-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem;margin:1rem 0 2rem}
.fl-tile{display:flex;flex-direction:column;gap:.2rem;padding:.9rem;border:1px solid #d9d2c3;border-radius:10px;background:#fff;color:var(--text);text-decoration:none}
.fl-tile span{font-size:.85rem;opacity:.75}
.fl-game{max-width:1100px;margin:0 auto 2.5rem;padding:1.25rem;border-top:1px solid #d9d2c3}
.fl-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.2rem;align-items:start}
@media (max-width:760px){.fl-grid{grid-template-columns:1fr}}
@media (min-width:761px){.fl-ov{position:sticky;top:1rem}}
.fl-play{background:#fff;border:1px solid #d9d2c3;border-radius:12px;padding:1rem;min-width:0}
.fl-ov{background:#f1ede3;border:1px solid #d9d2c3;border-radius:12px;padding:1rem;font-size:.92rem}
.fl-stats{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .8rem;margin:0}
.fl-stats div{min-width:0}.fl-stats dt{font-size:.75rem;opacity:.75}.fl-stats dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fl-stats dd.neg{color:var(--red)}
.fl-help{border-top:1px solid #d9d2c3;padding-top:.5rem;margin-bottom:0}
.fl-msg{min-height:1.4em;color:var(--text)}
.fl-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.7rem 0}
.fl-actions .btn{padding:.45rem .85rem}
.floor .btn:disabled,.floor .cz:disabled,.floor .rb-cell:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(1);box-shadow:none}
.fl-reminder{border:1px solid var(--red);background:#fbf1ee;border-radius:10px;padding:.8rem 1rem;margin:.6rem 0}
.fl-edu{margin-top:1rem}.fl-edu summary{cursor:pointer;font-weight:600}
.small{font-size:.85rem}
/* felt tables */
.felt{background:radial-gradient(ellipse at 50% 30%,#3f7262 0%,#2f5d4f 60%,#284f43 100%);border:6px solid #8a7550;border-radius:18px 18px 90px 90px / 18px 18px 40px 40px;padding:.8rem 1rem 1.2rem;color:#f2eee3;box-shadow:inset 0 0 30px rgba(0,0,0,.25)}
.felt-lbl{margin:.3rem 0 .25rem;font-size:.78rem;letter-spacing:.04em;opacity:.85}
.felt-arc{text-align:center;font:600 .72rem/1.2 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#e3d7b4;margin:.6rem 0;opacity:.85}
.felt .tot{font-variant-numeric:tabular-nums;margin-left:.4rem}
.hand{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;min-height:3.9em;perspective:600px}
.hand-lbl{font-size:.75rem;opacity:.8;width:100%}
.bj-hands{display:flex;flex-wrap:wrap;gap:.8rem}
.bj-hand{padding:.3rem .4rem;border-radius:8px;border:1px dashed transparent}
.bj-hand.on{border-color:#e3d7b4}
.bj-hand .tot{font-size:.8rem}
/* cards: dealt and flipped */
.pc{display:inline-block;width:2.7em;height:3.75em;perspective:500px;flex:none}
.pc-in{position:relative;display:block;width:100%;height:100%;transition:transform .45s ease;transform-style:preserve-3d}
.pc.down .pc-in{transform:rotateY(180deg)}
.pc-f,.pc-b{position:absolute;inset:0;border-radius:6px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.pc-f{display:flex;flex-direction:column;justify-content:space-between;padding:.2em .3em;background:#fff;color:#1b2433;border:1px solid #b9b2a3;font-weight:700;line-height:1;box-shadow:0 2px 4px rgba(0,0,0,.18)}
.pc-f i{font-style:normal;align-self:flex-end;font-size:1.1em}
.pc-f.red{color:var(--red)}
.pc-b{transform:rotateY(180deg);background:repeating-linear-gradient(45deg,#7d2f2f 0 4px,#934040 4px 8px);border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.18)}
.pc.deal{animation:pc-deal .3s ease-out both}
@keyframes pc-deal{from{transform:translate(40px,-40px) rotate(8deg);opacity:0}to{transform:none;opacity:1}}
.pc.up{transform:translateY(-8px)}.pc.up .pc-f{outline:3px solid #e3d7b4}
.pg-you .pc{cursor:pointer}
.hand.sub{min-height:auto;margin-bottom:.3rem}
/* slots */
.cabinet{background:linear-gradient(#efe9db,#e2d9c4);border:1px solid #c9bea3;border-radius:16px;padding:1rem;position:relative}
.reels{display:flex;gap:.5rem;justify-content:center}
.reel{position:relative;flex:1;max-width:6rem;height:5rem;overflow:hidden;border:1px solid #b9b2a3;border-radius:8px;background:linear-gradient(#e9e4d8,#fff 30%,#fff 70%,#e9e4d8)}
.reel .sym{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 1.7rem/1 Inter,sans-serif;color:#1b2433}
.reel .strip{position:absolute;left:0;right:0;top:0;display:none;text-align:center;font:700 1.5rem/2.2 Inter,sans-serif;color:#556;white-space:normal;word-spacing:100vw;filter:blur(1.5px)}
.reel.spin .sym{visibility:hidden}.reel.spin .strip{display:block;animation:reel .25s linear infinite}
@keyframes reel{from{transform:translateY(-50%)}to{transform:translateY(0)}}
.payline{position:absolute;left:.6rem;right:.6rem;top:50%;border-top:1px solid rgba(158,59,59,.35)}
/* roulette */
.rou-table{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.8rem}
.wheel{width:min(220px,60vw);flex:none}
.wheel-svg{width:100%;height:auto;display:block}
.wheel-rot{transform-origin:110px 110px;transition:transform 1.8s cubic-bezier(.15,.7,.25,1)}
.ball-rot{transform-origin:110px 110px;transition:transform 1.8s cubic-bezier(.2,.6,.3,1)}
.rou-side{flex:1;min-width:140px}
.rou-res{display:flex;flex-wrap:wrap;gap:.3rem;min-height:2rem}
.rb{display:inline-block;min-width:2rem;text-align:center;padding:.25rem;border-radius:50%;color:#fff;font-weight:700}
.rb.red{background:var(--red)}.rb.black{background:#1b2433}.rb.green{background:#1f5f4e}
.chips-pick{display:flex;gap:.4rem;margin-top:.6rem}
.chip-btn{width:2.6rem;height:2.6rem;border-radius:50%;border:3px dashed #fff;background:#1f5f4e;color:#fff;font-weight:700;cursor:pointer;box-shadow:0 0 0 2px #1f5f4e}
.chip-btn[aria-pressed=true]{background:#8a7550;box-shadow:0 0 0 2px #8a7550,0 0 0 4px #fff}
.rb-board{display:grid;grid-template-columns:2.4rem repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,44px);gap:2px}
.rb-cell{position:relative;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font:600 .85rem Inter,sans-serif;cursor:pointer;border-radius:3px;padding:0;grid-row:var(--r);grid-column:var(--c)}
.rb-cell.red{background:#9e3b3b}.rb-cell.black{background:#1b2433}.rb-cell.green{background:#2b7461}
.rb-board .z0{grid-row:1/span 1;grid-column:1}.rb-board .z00{grid-row:2/span 2;grid-column:1}
.rb-out{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:4px}
.rb-cell.out{padding:.5rem 0;background:rgba(255,255,255,.06)}
.rb-cell.out.red{background:#9e3b3b}.rb-cell.out.black{background:#1b2433}
@media (max-width:620px){
 .rb-board{grid-template-columns:repeat(3,1fr);grid-template-rows:44px repeat(12,44px)}
 .rb-board .rb-cell{grid-row:var(--c);grid-column:var(--r)}
 .rb-board .z0{grid-row:1;grid-column:1/span 2}.rb-board .z00{grid-row:1;grid-column:3}
}
.chip-on{position:absolute;right:-4px;top:-6px;min-width:1.5rem;height:1.5rem;padding:0 .2rem;border-radius:999px;background:#e3d7b4;color:#1b2433;border:2px dashed #8a7550;font:700 .7rem/1.25rem Inter,sans-serif;z-index:2;pointer-events:none}
/* craps */
.craps-row{display:flex;align-items:center;gap:1rem;margin-bottom:.6rem}
.dice{display:flex;gap:.6rem}
.die{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:3rem;height:3rem;padding:.35rem;background:#fff;border:1px solid #b9b2a3;border-radius:10px;box-shadow:0 3px 6px rgba(0,0,0,.15)}
.die i{display:block;width:.5rem;height:.5rem;border-radius:50%;margin:auto}
.die i.on{background:#9e3b3b}
.die.roll{animation:tumble .45s linear infinite}
.die.roll:nth-child(2){animation-duration:.5s;animation-direction:reverse}
@keyframes tumble{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(6px,-8px) rotate(90deg)}50%{transform:translate(0,-2px) rotate(180deg)}75%{transform:translate(-6px,-8px) rotate(270deg)}100%{transform:translate(0,0) rotate(360deg)}}
.craps-felt{display:grid;gap:.5rem;border-radius:18px}
.pts{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.pt{text-align:center;padding:.4rem 0;border:1px solid rgba(255,255,255,.45);border-radius:4px;font-weight:700}
.pt.on{background:#f2eee3;color:#1b2433}
.props{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:.4rem;border:1px solid rgba(255,255,255,.35);border-radius:8px}
.props .felt-lbl{grid-column:1/-1;margin:0}
.cz{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;text-align:left;padding:.55rem .7rem;border:1px solid rgba(255,255,255,.55);border-radius:8px;background:rgba(255,255,255,.06);color:#f2eee3;font:600 .9rem Inter,sans-serif;cursor:pointer}
.cz em{font-style:normal;font-weight:500;font-size:.75rem;color:#e3d7b4}
.cz.bad em{color:#f0b7a8}
.cz.pass{border-width:2px;padding:.8rem}
.cz:not(:disabled):hover,.rb-cell:not(:disabled):hover{background:rgba(255,255,255,.16)}
/* vending in Free Play */
.fl-frame{width:100%;height:1200px;border:1px solid #d9d2c3;border-radius:12px;background:#fff;display:block}
.fl-links{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;margin-top:.8rem}
.fl-links p{margin:0}
@media (max-width:620px){.fl-links .btn{width:100%;text-align:center;justify-content:center}}
.fl-sources{max-width:1100px;margin:0 auto 3rem;padding:0 1.25rem}
/* embed view */
.embed main>*:not(.sim){display:none}
.embed .sim{padding-top:.5rem}
/* drawn vending machine */
.vm{position:relative;max-width:300px;margin:0 auto 1rem;padding:.8rem;border-radius:18px 18px 10px 10px;background:linear-gradient(#f4efe4,#e4dac4);border:1px solid #c9bea3;box-shadow:0 6px 16px rgba(27,36,51,.12)}
.vm-head{display:flex;justify-content:space-between;align-items:center;font:600 .72rem/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#1f5f4e;margin-bottom:.5rem}
.vm-led{width:.5rem;height:.5rem;border-radius:50%;background:#7fb39f}
.vm-window{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;padding:.6rem;background:linear-gradient(135deg,#fbfaf6,#e9eef0);border:1px solid #c9bea3;border-radius:8px}
.vm-pk{height:2.6rem;border-radius:3px;background:linear-gradient(#1f5f4e,#2b7461);border-top:4px solid #8a7550}
.vm-pk:nth-child(3n){background:linear-gradient(#9e3b3b,#b25252)}.vm-pk:nth-child(4n){background:linear-gradient(#1b2433,#34405a)}
.vm-panel{margin:.6rem 0}
.vm-slot{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem;border:1px solid #1f5f4e;border-radius:8px;background:#fff;color:#1f5f4e;font:600 .9rem Inter,sans-serif;cursor:pointer}
.vm-slot:disabled{opacity:.5;cursor:default}
.vm-coin{width:.35rem;height:1.2rem;border-radius:2px;background:#1b2433}
.vm-tray{position:relative;height:9.5rem;border-radius:8px;background:#d9cfb7;box-shadow:inset 0 4px 10px rgba(0,0,0,.18);overflow:hidden}
.vm-pack{position:absolute;left:50%;bottom:.5rem;width:4.2rem;height:5.6rem;margin-left:-2.1rem;border-radius:4px;background:linear-gradient(#1f5f4e,#2b7461);opacity:0}
.vm-tear{position:absolute;left:0;right:0;top:0;height:.9rem;background:#8a7550;border-radius:4px 4px 0 0}
.vm-card{position:absolute;left:50%;bottom:.4rem;width:6.2rem;height:8.6rem;margin-left:-3.1rem;perspective:600px;opacity:0}
.vm-card-in{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(180deg)}
.vm-back,.vm-face{position:absolute;inset:0;border-radius:6px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.vm-back{transform:rotateY(180deg);background:repeating-linear-gradient(45deg,#1f5f4e 0 5px,#2b7461 5px 10px);border:2px solid #fff}
.vm-face{display:flex;flex-direction:column;gap:.2rem;padding:.3rem;background:#fff;border:3px solid #8a7550;font:600 .62rem/1.15 Inter,sans-serif;color:#1b2433;overflow:hidden}
.vm-face.t-top{border-color:#1f5f4e}.vm-face.t-base{border-color:#b9b2a3}
.vm-art{width:100%;height:auto}
.vm-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vm-face .grade{align-self:flex-start;font-size:.58rem}
.vm-val{margin-top:auto;font-size:.8rem;font-variant-numeric:tabular-nums}
.vm.go .vm-pack{animation:vm-drop 1.4s ease-in both}
.vm.go .vm-tear{animation:vm-tear 1.4s ease both}
.vm.go .vm-card{animation:vm-rise 1.9s ease both}
.vm.go .vm-card-in{animation:vm-flip 1.9s ease both}
.vm.done .vm-card{opacity:1}.vm.done .vm-card-in{transform:none}
@keyframes vm-drop{0%{transform:translateY(-10rem);opacity:1}25%{transform:translateY(0);opacity:1}70%{opacity:1}100%{transform:translateY(0);opacity:0}}
@keyframes vm-tear{0%,35%{transform:none;opacity:1}55%{transform:translate(2.5rem,-1.5rem) rotate(25deg);opacity:0}100%{opacity:0}}
@keyframes vm-rise{0%,40%{transform:translateY(3rem);opacity:0}60%{transform:translateY(0);opacity:1}100%{transform:none;opacity:1}}
@keyframes vm-flip{0%,62%{transform:rotateY(180deg)}85%,100%{transform:rotateY(0)}}
@media (prefers-reduced-motion:reduce){.pc.deal,.die.roll,.reel.spin .strip{animation:none}.pc-in,.wheel-rot,.ball-rot{transition:none}}
.craps-felt{grid-template-columns:minmax(0,1fr)}
.craps-felt>*,.props>*{min-width:0}
.cz{white-space:normal;overflow-wrap:anywhere;min-width:0;align-self:start}
.cz span{max-width:100%}
.pts .pt{min-width:0}

/* embed in Free Play: machine + totals only */
.embed #hist,.embed #interest,.embed .sim-take-card,.embed #sim-tiles,.embed #sim-strip,.embed #sim-counts,.embed .sim-adv,.embed .sim-latest-all,.embed .sim-machine .tbl-scroll,.embed #sim-odds-note{display:none!important}
/* paper trades */
.pt{padding:2.5rem 0 3rem}.pt h1{margin:.4rem 0}.pt-flag{border:1px solid #d6d3c4;background:#fffbea;color:#3f3a24;padding:.7rem .9rem;border-radius:10px;margin:1rem 0}
.pt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;margin:1.2rem 0}
.pt-card{background:#fff;color:#1f2937;border:1px solid #e5e7eb;border-radius:12px;padding:.9rem}.pt-card .fine{color:#4b5563;margin:.2rem 0}
.pt-name{font-weight:600;margin:0;display:flex;align-items:center;gap:.4rem}.sw{width:12px;height:12px;border-radius:3px;display:inline-block}
.pt-big{font-size:1.6rem;margin:.3rem 0}.pt-card .up{color:#15803d}.pt-card .dn{color:#b91c1c}
.pt-chart{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:.8rem;margin:0 0 1.5rem}.pt-chart svg{width:100%;height:auto;display:block}
.pt-chart text{font:11px ui-monospace,monospace;fill:#4b5563}.pt-chart .gl{stroke:#e5e7eb}.pt-chart figcaption{color:#4b5563}
.pt-empty{background:#fff;color:#1f2937;border:1px solid #e5e7eb;border-radius:14px;padding:1.3rem;margin-top:1rem}.pt-empty h2{color:#111827;margin:.3rem 0}.pt-empty .eyebrow{color:#6b7280}
.pt-empty .pt-card{background:#f9fafb}

.pts .cpt{min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:.45rem .1rem;border:1px solid rgba(255,255,255,.45);border-radius:4px;background:transparent;color:inherit;font:inherit;cursor:pointer;position:relative}
.cpt b{font-size:1.15rem}.cpt small,.cpt em{font-size:.68rem;font-style:normal;opacity:.85}
.cpt.on{background:#f2eee3;color:#1b2433}.cpt:disabled{cursor:not-allowed;opacity:.6}.cpt.on:disabled{opacity:1}
.cpt .chip-on{position:absolute;top:-8px;right:-4px}

.fl-acc>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.25rem 0}
.fl-acc>summary::-webkit-details-marker{display:none}
.fl-acc>summary h2{margin:0;display:inline}.fl-acc>summary h2::before{content:'\25B8';display:inline-block;margin-right:.5rem;font-size:.8em;color:#1f5f4a;transition:transform .15s}
.fl-acc[open]>summary h2::before{transform:rotate(90deg)}
.fl-hedge{font-size:.85rem;color:#4b5563}
.fl-acc[open]>summary{margin-bottom:.75rem}
.fl-game{scroll-margin-top:1rem}

.fl-actions .btn.cr-down{background:#fff;color:#1e3a5f;border:1px solid #1e3a5f}.fl-actions .btn.cr-down:hover{background:#eef2f7}
.cz.fieldbet{min-height:0;height:auto}
.cz.off::after{content:'OFF';position:absolute;top:4px;right:6px;font:700 .62rem Inter,sans-serif;letter-spacing:.06em;background:#f2eee3;color:#1b2433;padding:1px 5px;border-radius:3px}
.primary:hover{background:var(--accent);filter:brightness(1.12)}

.dice-tray{display:flex;justify-content:center;padding:.9rem 0 .6rem;border-radius:10px;background:rgba(0,0,0,.14);box-shadow:inset 0 2px 8px rgba(0,0,0,.25)}
.dice-tray .dice{gap:1.1rem}
.dice-tray .die{width:3.6rem;height:3.6rem;padding:.45rem;background:linear-gradient(145deg,#fff,#ecebe6);border:1px solid #d4d0c5;border-radius:12px;box-shadow:0 6px 10px rgba(0,0,0,.35),inset 0 -2px 3px rgba(0,0,0,.12)}
.dice-tray .die i{width:.62rem;height:.62rem}.dice-tray .die i.on{background:#1b2433;box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}
.die.land{animation:land .38s cubic-bezier(.3,1.6,.5,1)}
@keyframes land{0%{transform:translateY(-14px) rotate(-12deg)}60%{transform:translateY(2px) rotate(3deg)}100%{transform:none}}
@media (prefers-reduced-motion:reduce){.die.land,.die.roll{animation:none!important}}
.pt-big{font-size:clamp(1.15rem,4.6vw,1.6rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.15}
.pt-card{min-width:0}.pt-card .mono,.pt-tbl td{font-variant-numeric:tabular-nums}
.pt-cards{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}
@media (max-width:420px){.pt-cards{grid-template-columns:1fr 1fr}.pt-card{padding:.7rem}.pt-card .fine{font-size:.78rem}}
@media (max-width:620px){
  .brand{min-height:44px;display:inline-flex;align-items:center}
  .fl-actions .btn,.fl-actions select{min-height:44px}
  .sim-latest-all{display:inline-block;padding:.75rem 0}
  a[href^="tel:"],a[href^="sms:"]{display:inline-block;min-width:44px;min-height:40px;line-height:40px;text-align:center}
  .pts{grid-template-columns:repeat(3,1fr)}
}
.embed main>.embed-help{display:block}
.cz.off{padding-right:2.6rem}

/* v13: table balance + result flash */
.fl-play{position:relative}
.fl-tbal{display:flex;justify-content:flex-end;align-items:baseline;gap:.35rem;margin:0 0 .6rem;font-size:.85rem;color:#1f2a44}
.fl-tbal strong{font-size:1.05rem;color:#1f4d36;background:#f3efe4;border:1px solid #d9d2c3;border-radius:999px;padding:.1rem .6rem}
.fl-flash{position:absolute;left:50%;top:3rem;transform:translateX(-50%);z-index:5;min-width:min(16rem,86%);text-align:center;padding:.7rem 1rem;border-radius:10px;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;box-shadow:0 6px 20px rgba(20,30,50,.18);pointer-events:none;animation:flIn 2.2s ease forwards}
.fl-flash small{display:block;font-family:inherit;font-size:.7rem;opacity:.85;margin-top:.15rem;letter-spacing:.02em}
.fl-flash.win{background:#1f4d36;color:#fdfbf5}
.fl-flash.loss{background:#3a2f3a;color:#fdfbf5;border-left:4px solid #9b4a4a}
.fl-flash.push{background:#fdfbf5;color:#1f2a44;border:1px solid #c9bfa8}
.fl-play.fx-win{animation:flWin 1.2s ease}
.fl-play.fx-loss{animation:flLoss 1.2s ease}
.fl-play.fx-push{animation:flPush 1.2s ease}
@keyframes flIn{0%{opacity:0;transform:translate(-50%,-6px)}10%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
@keyframes flWin{0%,100%{box-shadow:none}25%{box-shadow:0 0 0 4px #2f6b4b,inset 0 0 0 9999px rgba(47,107,75,.10)}}
@keyframes flLoss{0%,100%{box-shadow:none}25%{box-shadow:0 0 0 4px #8a4b4b,inset 0 0 0 9999px rgba(31,42,68,.10)}}
@keyframes flPush{0%,100%{box-shadow:none}25%{box-shadow:0 0 0 3px #c9bfa8}}
@media (prefers-reduced-motion:reduce){.fl-flash,.fl-play.fx-win,.fl-play.fx-loss,.fl-play.fx-push{animation:none}.fl-play.fx-win{box-shadow:0 0 0 3px #2f6b4b}.fl-play.fx-loss{box-shadow:0 0 0 3px #8a4b4b}}

/* v13: mini dice on craps bets */
.mdice{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem .4rem;margin:.2rem 0}
.mpair{display:inline-flex;gap:2px}
.md{width:13px;height:13px;display:block}
.md rect{fill:#fffdf7;stroke:#1f2a44;stroke-width:.7}
.md circle{fill:#1f2a44}
.mmore{font-size:.65rem;color:inherit;opacity:.8}
@media (max-width:420px){.md{width:11px;height:11px}.mdice{gap:.2rem .3rem}}
.fl-tbal{white-space:nowrap;text-transform:none;letter-spacing:0;font-size:.8rem}

/* v13: game picker */
.fl-hub{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:.25rem .1rem .6rem;margin:1rem 0 1.25rem;position:sticky;top:0;z-index:6;background:var(--bg,#fbf8f1)}
.fl-tile{flex:0 0 auto;flex-direction:row;align-items:center;min-height:44px;padding:.5rem 1rem;border-radius:999px;scroll-snap-align:center;white-space:nowrap}
.fl-tile span{display:none}
.fl-tile.on{background:#1f2a44;color:#fdfbf5;border-color:#1f2a44}
.fl-tile:focus-visible{outline:3px solid #2f6b4b;outline-offset:2px}
.fl-acc>summary{cursor:default}.fl-acc>summary h2::before{display:none}
.fl-game[hidden]{display:none!important}

/* v14: picker always on, no accordion rows */
.fl-acc>summary{pointer-events:none;cursor:default}.fl-acc>summary h2::before{display:none!important}

.cr-mybets{margin-top:.75rem}.cr-mb-h{font-weight:600;margin:.2rem 0}
.cr-mb{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem 0;border-top:1px solid #e7e1d3}
.cr-mb .btn{min-height:44px;min-width:44px;padding:.4rem .9rem;touch-action:manipulation}
.cr-mb small{opacity:.7}
.fl-actions .btn.cr-down{min-height:44px;touch-action:manipulation}

/* v14: roulette bet types, centered chips */
.rb-modes{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .6rem}
.rb-modes .btn{min-height:44px;padding:.4rem .9rem;touch-action:manipulation}
.rb-modes .btn[aria-pressed=true]{background:#1f2a44;color:#fdfbf5;border-color:#1f2a44}
.rb-board{position:relative}.rb-board .rb-cell{touch-action:manipulation;min-height:44px}
.rb-board .rb-cell.sel{outline:3px solid #e3d7b4;outline-offset:-3px}
.rb-chips{position:absolute;inset:0;pointer-events:none;z-index:3}
.rb-chip{position:absolute;transform:translate(-50%,-50%);min-width:1.6rem;height:1.6rem;padding:0 .25rem;border-radius:999px;background:#e3d7b4;color:#1b2433;border:2px dashed #8a7550;font:700 .7rem/1.3rem Inter,sans-serif;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,.3)}
.rb-chip.grp{background:#fdfbf5;border-color:#1f5f4e}
.rb-out .chip-on{right:50%;top:50%;transform:translate(50%,-50%)}
.floor .rb-modes .btn{background:#fff;color:#1f2a44;border:1px solid #1f2a44}.floor .rb-modes .btn[aria-pressed=true]{background:#1f2a44;color:#fdfbf5}

/* v16: lock icons */
.lkw{display:inline-flex;vertical-align:-2px;margin-right:2px}
.lk{width:10px;height:12px}.lk rect{fill:#1f2a44}.lk path{stroke:#1f2a44;stroke-width:1.6;stroke-linecap:round}
.lk.open rect{fill:#2f6b4b}.lk.open path{stroke:#2f6b4b}
#g-craps .chip-on{display:inline-flex;align-items:center;gap:1px;width:auto;min-width:2.1rem;padding:0 .3rem}
#g-craps .chip-on.locked{background:#fdfbf5;border-style:solid;border-color:#1f2a44}
.floor .cr-mb .btn{background:#fff;color:#1f2a44;border:1px solid #1f2a44}.floor .cr-mb .btn:disabled{opacity:.45}

/* v17: disabled bet areas grey the label only; chips stay full contrast */
.floor .cz:disabled{opacity:1;filter:none}
.floor .cz:disabled>span,.floor .cz:disabled>em,.floor .cz:disabled>.mdice{opacity:.38;filter:grayscale(1)}
.floor .cz:disabled>.chip-on{opacity:1;filter:none}

/* v17: last 10 rolls */
.cr-rolls{margin-top:.9rem}.cr-rolls small{font-weight:400;opacity:.7}
.cr-roll-list{list-style:none;margin:.3rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.cr-roll{display:inline-flex;align-items:center;gap:3px;padding:.25rem .45rem;border:1px solid #d9d2c3;border-radius:6px;background:#fdfbf5}
.cr-roll:first-child{border-color:#1f4d36;box-shadow:0 0 0 1px #1f4d36}
.cr-roll .md{width:16px;height:16px}.cr-roll b{min-width:1.1rem;text-align:right;color:#1f2a44;font-size:.85rem}
.cr-roll-none{opacity:.6;font-size:.85rem}
.cr-rolls{margin:.75rem 0 .5rem}
/* v19: rolls as a single swipeable bar */
.cr-roll-list{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:thin;padding:2px 1.5rem 6px 2px;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2rem),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 2rem),transparent)}
.cr-roll-list.at-end{-webkit-mask-image:none;mask-image:none}
.cr-roll{flex:0 0 auto;scroll-snap-align:start}
/* v20: no double-tap zoom (pinch zoom kept) */
html,body,a,button,input,select,textarea,label,summary,[role=button],.cz,.cpt,.rb-cell,.chip-on,.rb-chip,.fl-tile,.pc{touch-action:manipulation}
input,select,textarea{font-size:max(16px,1em)}

/* v21: chip rack */
.chip-rack{flex:1 1 100%;display:flex;flex-direction:column;gap:.45rem;margin:.2rem 0 .4rem}
.rack-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.pchip{--bg:#fdfbf5;--fg:#1f2a44;--rim:#1f2a44;width:48px;height:48px;border-radius:50%;padding:0;display:grid;place-items:center;background:var(--bg);color:var(--fg);border:3px solid var(--rim);box-shadow:inset 0 0 0 3px var(--bg),inset 0 0 0 5px var(--fg),0 2px 4px rgba(20,30,50,.25);font:700 .8rem/1 Inter,sans-serif;cursor:pointer;touch-action:manipulation;position:relative}
.pchip span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1.5px dashed currentColor}
.pchip.c5{--bg:#fdfbf5;--fg:#1f2a44;--rim:#c9bfa8}
.pchip.c25{--bg:#1f4d36;--fg:#fdfbf5;--rim:#163a28}
.pchip.c100{--bg:#1f2a44;--fg:#fdfbf5;--rim:#141c2e}
.pchip.c500{--bg:#6e3a43;--fg:#fdfbf5;--rim:#542a31}
.pchip.c1000{--bg:#c2b083;--fg:#1f2a44;--rim:#9c8a5c}
.pchip:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}
.pchip[aria-pressed=true]{outline:3px solid #2f6b4b;outline-offset:2px}
.rack-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.rack-tot{margin:0 auto 0 0;font-size:.95rem}.rack-tot strong{font-size:1.1rem;color:#1f4d36}
.floor .rack-bar .btn{min-height:44px;padding:.4rem .9rem;background:#fff;color:#1f2a44;border:1px solid #1f2a44}
.floor .rack-bar .btn:disabled{opacity:.4}
.fl-session{margin:.4rem 0}.fl-apr-l{display:inline-flex;align-items:center;gap:.3rem;margin-left:.3rem}.fl-apr-l input{width:4.5rem}

/* v23 roulette inside-bet guidance */
.rb-hint{margin:0 0 .5rem;padding:.55rem .75rem;background:#fdfbf5;border:1px solid #1f5f4e;border-left:4px solid #1f5f4e;border-radius:6px;color:#1b2433;font-size:.9rem;line-height:1.35}
.rb-board .rb-cell.elig{outline:3px dashed #f3e6b8;outline-offset:-4px}
.rb-board .rb-cell.sel{outline:3px solid #f3e6b8;outline-offset:-3px;box-shadow:inset 0 0 0 99px rgba(243,230,184,.28)}
.rb-board .rb-cell.dim{opacity:.4}
.rb-blist{list-style:none;margin:.25rem 0 .6rem;padding:0;font-size:.88rem}
.rb-blist li{display:flex;justify-content:space-between;gap:.5rem;padding:.3rem 0;border-bottom:1px solid #e3dccb}
.rb-blist:empty{display:none}
@media (max-width:620px){.rb-board .rb-cell:not(.green){grid-column:calc(4 - var(--r))}}
.floor #g-roulette .fl-actions .btn.ghost{background:#fff;color:#1f2a44;border:1px solid #1f2a44}
