/* The Tilted Gent — Craps Table (tables/craps-table.html). Adds to /assets/site.css and tables.css. */
.cpt{margin-top:26px;--felt-line:rgba(241,230,207,.78);--felt-line-soft:rgba(241,230,207,.28);}
.cpt [hidden]{display:none !important;}
.cpt-bar{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;background:var(--card);border:1px solid var(--gold-line);border-radius:12px;padding:16px 18px;}
.cpt-field{display:flex;flex-direction:column;gap:5px;min-width:0;}
.cpt-field .k{font-family:var(--mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);}
.cpt-field select{background:var(--bg2);color:var(--cream);border:1px solid var(--line);border-radius:7px;padding:8px 10px;font:500 13.5px var(--sans);}
.cpt-field select:focus-visible,.cpt-toggle input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;}
.cpt-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--dim);cursor:pointer;padding-bottom:8px;}
.cpt-toggle input{accent-color:var(--gold);width:16px;height:16px;}
.cpt-note{width:100%;margin:0;font-size:12px;color:var(--dim2);}

.cpt-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:16px;}
.cpt-pane[data-p="card"]{max-width:640px;}
.cpt-main{border:1px solid var(--gold-line);border-radius:16px;padding:16px 18px 18px;background:var(--card);display:flex;flex-direction:column;gap:12px;min-width:0;}

/* ---------- dice tray ---------- */
.cpt-tray{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;}
.cpt-dice{display:flex;gap:10px;}
.die{width:52px;height:52px;border-radius:10px;background:linear-gradient(150deg,#FBF4E4,#E6D8BA);box-shadow:0 0 0 1px var(--gold-deep),0 4px 10px rgba(0,0,0,.55);display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:7px;transition:opacity .2s;}
.die i{width:10px;height:10px;border-radius:50%;place-self:center;}
.die i.p{background:#171018;box-shadow:inset 0 1px 1px rgba(255,255,255,.25);}
.cpt-dice .die.away{opacity:.22;}
.cpt-state{display:flex;align-items:center;gap:12px;flex:1 1 220px;min-width:0;}
.cpt-state .k{font-family:var(--serif);font-weight:600;font-size:17px;color:var(--cream);}
.cpt-state .v{font-size:13.5px;color:var(--dim);}
.puck{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;font:700 12px var(--mono);letter-spacing:.5px;flex-shrink:0;}
.puck.off{background:#06050B;color:var(--cream);border:2px solid var(--cream);}
.puck.on{background:var(--cream);color:#06050B;border:2px solid #06050B;box-shadow:var(--glow-gold);}
.cpt-btn{border-radius:7px;padding:11px 18px;font:700 14px var(--sans);cursor:pointer;letter-spacing:.3px;}
.cpt-btn.gold{background:var(--gold);color:#140B0C;border:0;box-shadow:var(--glow-gold);} .cpt-btn.gold:hover{background:var(--gold-hi);}
.cpt-btn.ghost{background:transparent;color:var(--cyan-neon);border:1px solid var(--cyan);} .cpt-btn.ghost:hover{background:rgba(31,203,227,.10);}
.cpt-btn.small{padding:8px 12px;font-size:12.5px;}
.cpt-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;}
.cpt-btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;}

.cpt-msg{min-height:50px;font-size:15px;line-height:1.5;color:var(--cream);}
.cpt-msg.info{color:var(--dim);} .cpt-msg.info b{color:var(--cream);}
.cpt-msg .roll{font-family:var(--mono);color:var(--dim);margin-right:4px;} .cpt-msg .roll b{color:var(--gold-hi);font-size:17px;} .cpt-msg .roll em{font-style:normal;color:var(--gold);}
.cpt-msg .evs{display:block;font-size:13.5px;color:var(--dim);margin-top:2px;}
.cpt-msg .evline{display:block;font-size:12.5px;color:var(--dim2);margin-top:2px;}
.cpt-msg .dimn{color:var(--dim);font-size:13.5px;}
.cpt .up{color:var(--green);} .cpt .dn{color:var(--red-neon);} .cpt .au{color:var(--gold);}
.cpt-hint{min-height:22px;font-size:13.5px;color:var(--dim);} .cpt-hint b{color:var(--cream);font-weight:500;}
.band{display:inline-block;font:500 12px var(--mono);padding:1px 6px;border-radius:4px;border:1px solid currentColor;white-space:nowrap;}
.band.up{color:var(--green);} .band.au{color:var(--gold);} .band.dn{color:var(--red-neon);}

/* ---------- the felt: stacked on narrow screens, a real one-end layout from 640px of felt up ---------- */
.cpt-feltwrap{container:felt / inline-size;margin:7px;}
.cpt-felt{position:relative;display:grid;gap:5px;padding:10px;border-radius:14px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-areas:"n4 n5 n6" "n8 n9 n10" "dc come come" "field field field" "big dp dp" "big lodds lodds" "pass pass pass" "podds podds podds" "props props props";
  background:radial-gradient(ellipse 80% 70% at 40% 25%,#4A1226 0%,#2C0A15 60%,#1B0610 100%);
  box-shadow:0 0 0 7px #5C4218,0 0 0 8px rgba(255,213,122,.4),0 14px 34px rgba(0,0,0,.55),inset 0 0 50px rgba(0,0,0,.5);}
.pass-ext{display:none;}
.a-dc{grid-area:dc;display:flex;} .a-come{grid-area:come;display:flex;} .a-field{grid-area:field;display:flex;}
.a-dp{grid-area:dp;display:flex;} .a-pass{grid-area:pass;display:flex;}
.a-lodds{grid-area:lodds;} .a-podds{grid-area:podds;}
.a-lodds,.a-podds{display:flex;align-items:center;justify-content:center;}
.a-big{grid-area:big;display:flex;flex-direction:column;gap:5px;}
.a-n4{grid-area:n4;} .a-n5{grid-area:n5;} .a-n6{grid-area:n6;} .a-n8{grid-area:n8;} .a-n9{grid-area:n9;} .a-n10{grid-area:n10;}
.a-props{grid-area:props;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:6px;border:2px solid var(--felt-line);border-radius:6px;background:rgba(6,5,11,.18);}
.a-props .pk{grid-column:1/-1;font:500 12px var(--mono);letter-spacing:2px;color:rgba(241,230,207,.6);text-align:center;}
.a-props .wide{grid-column:1/-1;}

.z{position:relative;flex:1 1 auto;min-width:0;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px;background:transparent;border:2px solid var(--felt-line);border-radius:4px;color:var(--cream);cursor:pointer;font:500 12px var(--mono);letter-spacing:1px;transition:border-color .15s,box-shadow .15s,opacity .15s,background .15s;}
.z b{font-family:var(--serif);font-weight:700;font-size:14px;letter-spacing:2px;line-height:1.1;text-align:center;}
.z small{font:500 12px var(--mono);letter-spacing:1px;color:rgba(241,230,207,.75);}
.z:hover{border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan),var(--glow-cyan);background:rgba(31,203,227,.05);}
.z:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;z-index:5;}
.z.closed{opacity:.42;}
.z.win,.cpt-num.win{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green),0 0 16px rgba(63,164,106,.7);}
.z.lose,.cpt-num.lose{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red),0 0 16px rgba(224,56,79,.6);}
.z.move,.cpt-num.move{box-shadow:var(--glow-gold);}
.z .stk{position:absolute;right:5px;bottom:3px;display:flex;align-items:flex-end;gap:4px;pointer-events:none;}
.cstk{position:relative;width:24px;height:32px;flex-shrink:0;}
.cstk .chip{position:absolute;left:0;width:24px;height:24px;}
.camt{font:500 12px var(--mono);letter-spacing:0;color:var(--gold-hi);background:rgba(6,5,11,.72);padding:1px 4px;border-radius:4px;white-space:nowrap;}
.z-pass b,.z-dontpass b,.z-come b,.z-field b{font-size:15px;letter-spacing:3px;}
.z-come{min-height:60px;} .z-pass{min-height:52px;} .z-field{min-height:74px;}
.z-field .fn{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35em .6em;font:700 14px var(--serif);color:var(--gold-hi);letter-spacing:1px;}
.z-field .ring{display:inline-flex;align-items:center;justify-content:center;width:1.9em;height:1.9em;border:1.5px solid var(--gold);border-radius:50%;font-style:normal;}
.z-field .fx{color:var(--gold);}
.z-field .stk,.z-come .stk,.z-dontcome .stk,.a-props .z .stk,.z-big .stk{position:static;margin-top:2px;}
.z-big b{font-size:24px;color:var(--gold-hi);letter-spacing:0;}

/* odds behind a line bet: an empty dashed ring once there is a point, then the chips themselves */
.z.ring{flex:none;min-height:0;width:46px;height:46px;padding:0;border:2px dashed rgba(217,168,92,.9);border-radius:50%;background:rgba(6,5,11,.3);box-shadow:0 0 12px rgba(255,201,94,.25);}
.z.ring small{color:var(--gold-hi);letter-spacing:0;}
.z.ring .stk{position:static;}
.z.ring.has{width:auto;height:auto;padding:2px 4px;border-color:transparent;border-radius:6px;background:transparent;box-shadow:none;}
.z.ring.has:hover{border-color:var(--cyan);}

/* mini dice drawn on the layout */
.md2{display:inline-flex;gap:3px;vertical-align:middle;}
.md{display:inline-grid;grid-template:repeat(3,1fr)/repeat(3,1fr);width:20px;height:20px;padding:3px;background:#F1E6CF;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.5);}
.md i{border-radius:50%;} .md i.p{background:#171018;}
.z-dontpass .md,.z-dontcome .md{width:16px;height:16px;padding:2px;}

/* number columns: a LAY box, the number (come and don't come bets that travel here sit in it, odds heeled
   on top), then PLACE and BUY boxes, each outlined like its own betting spot */
.cpt-num{position:relative;display:flex;flex-direction:column;gap:3px;padding:3px;border:2px solid var(--felt-line);border-radius:4px;min-width:0;min-height:214px;}
.cpt-num .z.spot{flex:0 0 auto;min-height:34px;flex-direction:row;justify-content:space-between;align-items:center;gap:2px;padding:2px 5px;border:1.5px solid rgba(241,230,207,.55);border-radius:3px;}
.cpt-num .spot small{letter-spacing:1px;color:rgba(241,230,207,.85);}
.cpt-num .z-place small{color:var(--gold-hi);}
.cpt-num .spot .stk{position:static;align-items:center;}
.cpt-num .spot .cstk{height:28px;}
.nbody{flex:1 1 auto;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;border-radius:3px;transition:box-shadow .15s;}
.nbody:hover{box-shadow:inset 0 0 0 1px var(--cyan);}
.cpt-num .nw{font-family:var(--serif);font-weight:700;font-size:28px;letter-spacing:1px;line-height:1;color:var(--gold-hi);}
.cpt-num .nw.word{font-size:19px;letter-spacing:2px;}
.z-cstk{flex:none;min-height:0;flex-direction:row;align-items:center;gap:3px;padding:2px 3px;border:1px solid transparent;border-radius:6px;background:rgba(6,5,11,.45);}
.z-cstk:hover{border-color:var(--cyan);}
.z-cstk .camt{text-align:center;line-height:1.25;}
.cpair{display:flex;align-items:flex-end;}
.cstk.heel{margin-left:-11px;margin-bottom:7px;}
.cpt-num.point{border-color:var(--gold-hi);box-shadow:inset 0 0 22px rgba(255,201,94,.28),0 0 12px rgba(255,201,94,.3);}
.cpt-num .puck.on{position:absolute;top:-11px;right:-9px;width:30px;height:30px;font-size:12px;z-index:6;pointer-events:none;}

/* the throw: the dice land on the felt, then the view zooms in on them, then they go back to the tray */
.cpt-throw{position:absolute;inset:0;z-index:30;cursor:pointer;border-radius:inherit;overflow:hidden;}
.cpt-throw::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .3s;
  background:radial-gradient(circle at var(--sx,50%) var(--sy,40%),rgba(6,5,11,.05) 0,rgba(6,5,11,.12) 120px,rgba(6,5,11,.82) 300px);}
.cpt-throw.dim::before{opacity:1;}
.cpt-throw .die{position:absolute;left:0;top:0;z-index:2;will-change:transform;box-shadow:0 0 0 1px var(--gold-deep),0 14px 16px rgba(0,0,0,.45);}
.cpt-throw.landed .die{box-shadow:0 0 0 1px var(--gold-deep),0 3px 4px rgba(0,0,0,.75);}
.cpt-result{position:absolute;left:50%;top:50%;transform:translate(-50%,0) scale(.8);opacity:0;transition:opacity .22s,transform .22s;z-index:3;pointer-events:none;
  min-width:230px;text-align:center;background:rgba(6,5,11,.8);border:1px solid var(--gold);border-radius:14px;padding:8px 24px 10px;box-shadow:var(--glow-gold);}
.cpt-result.show{opacity:1;transform:translate(-50%,0) scale(1);}
.cpt-result .n{font:700 44px/1 var(--serif);color:var(--gold-hi);text-shadow:0 0 18px rgba(255,201,94,.55);}
.cpt-result .c{font:700 15px var(--serif);letter-spacing:3px;color:var(--cream);margin-top:4px;}
.cpt-result .s{font-size:14px;color:var(--dim);margin-top:2px;}
.cpt-result .s.up{color:var(--green);} .cpt-result .s.dn{color:var(--red-neon);}
.cpt-result .t{font:500 12px var(--mono);color:var(--dim2);margin-top:6px;}
@media(prefers-reduced-motion:reduce){.cpt-result,.cpt-throw::before,.die{transition:none;}}

@container felt (min-width:640px){
  .cpt-felt{display:block;aspect-ratio:1000/650;padding:0;border-radius:18px;}
  .cpt-felt>div{position:absolute;}
  .pass-ext{display:flex;align-items:center;justify-content:center;left:.8%;top:3.3%;width:4.6%;height:78.7%;border:2px solid var(--felt-line);border-bottom:0;border-radius:4px 4px 0 0;cursor:pointer;}
  .pass-ext span{writing-mode:vertical-rl;transform:rotate(180deg);font:700 clamp(14px,2.4cqw,22px) var(--serif);letter-spacing:.4em;color:var(--cream);}
  .pass-ext:hover{border-color:var(--cyan);}
  .a-pass{left:.8%;top:82%;width:68%;height:8.7%;}
  .a-pass .z{border-top-left-radius:0;}
  .z-pass .stk{right:auto;left:48%;}
  .a-podds{left:30.5%;top:90.6%;width:8%;height:9%;}
  .a-dp{left:15.8%;top:73.5%;width:43%;height:8%;}
  .z-dontpass .stk{right:auto;left:22%;}
  .a-lodds{left:28.6%;top:73.5%;width:8%;height:8%;z-index:4;}
  .a-big{left:5.8%;top:55%;width:9.6%;height:26.5%;}
  .a-field{left:15.8%;top:55%;width:53%;height:17.8%;}
  .a-come{left:5.8%;top:37%;width:63%;height:17.3%;}
  .a-dc{left:5.8%;top:3.3%;width:7.4%;height:33%;}
  .a-n4,.a-n5,.a-n6,.a-n8,.a-n9,.a-n10{top:3.3%;width:9%;height:33%;min-height:0;}
  .a-n4{left:13.6%;} .a-n5{left:22.8%;} .a-n6{left:32%;} .a-n8{left:41.2%;} .a-n9{left:50.4%;} .a-n10{left:59.6%;}
  .a-props{left:71%;top:3.3%;width:27.9%;height:95.3%;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto 1fr 1fr auto 1fr 1fr 1fr auto 1fr 1fr;gap:4px;padding:6px;}
  .z{min-height:0;}
  .z.ring{width:clamp(36px,4.6cqw,48px);height:clamp(36px,4.6cqw,48px);}
  .z b{font-size:clamp(12px,1.7cqw,16px);}
  .z-pass b{font-size:clamp(16px,3cqw,28px);letter-spacing:.4em;}
  .z-come b{font-size:clamp(18px,3.8cqw,34px);letter-spacing:.45em;}
  .z-field b{font-size:clamp(14px,2.3cqw,22px);letter-spacing:.4em;}
  .z-field .fn{font-size:clamp(13px,2cqw,19px);}
  .z-dontpass b{font-size:clamp(12px,1.9cqw,18px);letter-spacing:.2em;}
  .z-dontpass{flex-direction:row;gap:10px;padding-left:18%;}
  .z-dontcome b{font-size:clamp(12px,1.35cqw,14px);letter-spacing:1px;}
  .z-big b{font-size:clamp(18px,3.4cqw,32px);}
  .cpt-num .nw{font-size:clamp(20px,3.6cqw,34px);} .cpt-num .nw.word{font-size:clamp(14px,2.2cqw,22px);}
  .z-field .stk,.z-come .stk,.z-big .stk{position:absolute;margin:0;}
  .md{width:clamp(14px,2.1cqw,22px);height:clamp(14px,2.1cqw,22px);padding:2px;}
}

/* ---------- chips, rack, money ---------- */
.chip{display:inline-block;width:40px;height:40px;border-radius:50%;background:center/contain no-repeat;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6));flex-shrink:0;}
.chip.c1{background-image:url(../../assets/chips/ttg-chip-1.svg);} .chip.c5{background-image:url(../../assets/chips/ttg-chip-5.svg);} .chip.c25{background-image:url(../../assets/chips/ttg-chip-25.svg);} .chip.c100{background-image:url(../../assets/chips/ttg-chip-100.svg);} .chip.c500{background-image:url(../../assets/chips/ttg-chip-500.svg);}
.cpt-bank{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:flex-end;padding-top:10px;border-top:1px dashed var(--gold-line-soft);}
.cpt-rack{flex:1 1 360px;min-width:0;}
.cpt-rack .k,.cpt-money .k{display:block;font-family:var(--mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.cpt-rack .k i{font-style:normal;color:var(--dim);letter-spacing:0;text-transform:none;}
.rackrow{display:flex;flex-wrap:wrap;gap:8px;background:linear-gradient(180deg,#2C0A15,#1B0610);border:1px solid var(--gold-line);border-radius:12px;padding:10px 12px 8px;}
.pile{background:transparent;border:1px solid transparent;padding:6px 6px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:9px;min-width:56px;}
.pile small{font-family:var(--mono);font-size:12px;color:var(--dim);}
.pile:hover{border-color:rgba(31,203,227,.5);}
.pile:focus-visible{outline:2px solid var(--cyan);}
.pile[aria-pressed="true"]{border-color:var(--gold);box-shadow:var(--glow-gold);} .pile[aria-pressed="true"] small{color:var(--gold-hi);}
.pile:disabled{opacity:.3;cursor:not-allowed;}
.pile .tk{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:2px dashed var(--cyan);color:var(--cyan-neon);font-size:18px;}
.cpt-money{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:flex-end;}
.cpt-money b{font:500 18px var(--mono);color:var(--cream);}
.cpt-bankbtns{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}

/* ---------- side panes ---------- */
.cpt-side{background:var(--card);border:1px solid var(--gold-line);border-radius:16px;padding:14px 16px 18px;min-width:0;}
.cpt-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.cpt-tab{background:transparent;border:1px solid var(--line);color:var(--dim);border-radius:6px;padding:8px 12px;font:500 13px var(--sans);cursor:pointer;}
.cpt-tab.on{border-color:var(--gold);color:var(--gold);}
.cpt-tab:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;}
.cpt-pane h4{font-family:var(--serif);font-size:15px;font-weight:600;margin:18px 0 8px;color:var(--cream);}
.cpt-pane h4:first-child{margin-top:0;}
.cpt-help{font-size:13.5px;color:var(--dim);line-height:1.6;margin:0 0 10px;} .cpt-help b{color:var(--cream);font-weight:500;}
.cpt-fine{font-size:12px;color:var(--dim2);line-height:1.5;}
.cpt-edge{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;border:1px solid currentColor;border-radius:10px;padding:10px 12px;margin-bottom:12px;}
.cpt-edge span{font-family:var(--mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;}
.cpt-edge b{font:500 26px var(--mono);}
.cpt-edge i{width:100%;font-style:normal;font-size:12px;color:var(--dim);}
.cpt-edge.up{color:var(--green);} .cpt-edge.au{color:var(--gold);} .cpt-edge.dn{color:var(--red-neon);}
.cpt-dl{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;margin:0 0 12px;font-size:13.5px;}
.cpt-dl dt{font-family:var(--mono);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--dim2);padding-top:2px;}
.cpt-dl dd{margin:0;color:var(--cream);}
.cpt-side .tw{overflow-x:auto;}
.cpt-t{border-collapse:collapse;width:100%;font:12.5px var(--mono);margin-bottom:8px;}
.cpt-t th{color:var(--dim2);font-weight:500;font-size:12px;text-align:left;padding:5px 6px;border-bottom:1px solid var(--line);letter-spacing:.3px;text-transform:none;white-space:normal;line-height:1.3;}
.cpt-t td{padding:5px 6px;border-bottom:1px solid rgba(44,36,64,.6);color:var(--cream);vertical-align:top;}
.cpt-t td small{color:var(--dim2);font-size:12px;}
.cpt-t tr.seven td{color:var(--gold-hi);}
.cpt-t tr.on td{background:rgba(217,168,92,.12);}
.cpt-t .bar{display:block;width:52px;} .cpt-t .bar i{display:block;height:8px;border-radius:3px;background:linear-gradient(90deg,var(--gold-deep),var(--gold));margin-top:4px;}
.cpt-t.price td:first-child{font-family:var(--sans);font-size:13px;}
.cpt-t.recap td:first-child{font-family:var(--sans);font-size:13px;}
.cpt-t.recap td small{display:block;font-family:var(--mono);}
.cpt-t.recap td,.cpt-t.recap th{padding:5px 4px;}
.cpt-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.cpt-stats .st{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:9px 11px;min-width:0;}
.cpt-stats .k{font-family:var(--mono);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);}
.cpt-stats .v{font:500 17px var(--mono);color:var(--cream);margin-top:2px;} .cpt-stats .v.up{color:var(--green);} .cpt-stats .v.dn{color:var(--red-neon);}
.cpt-stats .s{font-size:12px;color:var(--dim2);line-height:1.4;margin-top:2px;}

@media(max-width:700px){
  .cpt-main{padding:12px;}
  .cpt-feltwrap{margin:6px 4px;}
  .die{width:44px;height:44px;padding:6px;} .die i{width:8px;height:8px;}
  .cpt-roll{width:100%;}
  .pile{min-width:48px;padding:4px;} .pile .chip,.pile .tk{width:34px;height:34px;}
  .cpt-result{min-width:200px;padding:8px 18px 10px;} .cpt-result .n{font-size:48px;}
}
@container felt (min-width:640px){
  .z-pass .stk{left:70%;}
  .a-podds{left:44.8%;}
  .z-dontpass{padding-left:32%;} .z-dontpass b{font-size:clamp(12px,1.6cqw,16px);letter-spacing:.12em;}
  .z-dontpass .stk{left:3%;}
  .a-lodds{left:21.4%;width:7%;}
}
.cpt-num .spot.has small{display:none;}
.cpt-num .spot.has{justify-content:center;}
@container felt (min-width:640px){.a-props .z .stk{position:absolute;right:4px;bottom:3px;margin:0;}}
.z-horn.has small,.z-world.has small,.z-ce.has small,.z-hilo.has small{display:none;}
.cpt-num{padding:2px;}
.cpt-num .pbrow{display:flex;gap:3px;flex:0 0 auto;}
.cpt-num .spot.half{flex:1 1 0;min-width:0;min-height:50px;flex-direction:column;justify-content:center;padding:2px 1px;}
.cpt-num .spot.half small{font:700 12px var(--sans);letter-spacing:0;}
.cpt-num .spot.half .stk{flex-direction:column;gap:1px;}
.cpt-num .spot.half .cstk{height:26px;} .cpt-num .spot.half .cstk .chip{width:22px;height:22px;}
.cpt-num .spot.half .camt{padding:0 2px;}

/* ---------- Bets on the felt: every bet down, its edge and what it is worth from here ---------- */
.cpt-fl{padding-top:10px;border-top:1px dashed var(--gold-line-soft);min-width:0;}
.cpt-fl>.k{display:block;font-family:var(--mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
.cpt-fl .cpt-help{margin:0;}
.cpt-fl-body{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;}
.cpt-fl .tw{overflow-x:auto;}
.cpt-t.fl{margin:0;}
.cpt-t.fl th:not(:first-child),.cpt-t.fl td:not(:first-child){text-align:right;}
.cpt-t.fl td:not(:first-child){white-space:nowrap;}
.cpt-t.fl th:last-child{min-width:7.5em;}
.cpt-t.fl td:first-child{font-family:var(--sans);font-size:13px;}
.cpt-t.fl td small{display:block;font-family:var(--sans);margin-top:1px;}
.cpt-t.fl tr.kid td:first-child{padding-left:18px;}
.cpt-t.fl tfoot td{border-bottom:0;border-top:1px solid var(--line);font-weight:700;}
.cpt-fl-b{background:none;border:0;padding:0;margin:0;font:500 13px var(--sans);color:var(--cream);text-align:left;cursor:pointer;}
.cpt-fl-b:hover{color:var(--cyan-neon);text-decoration:underline;text-underline-offset:3px;}
.cpt-fl-b:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:2px;}
.cpt-fl .cpt-stats{margin:0;}
@media(min-width:960px){.cpt-fl-body{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);}}
