/* Stakepit — the referee's pit. Black ground, one coral: a duotone page. */
:root{
  --ground:#140C0B; --coral:#F0604F; --cream:#F7E4DA; --ember:#2B1613; --seam:#3E211C; --dim:#B98F84;
  --disp:'Mohave', 'Arial Narrow', sans-serif; --txt:'Figtree', system-ui, sans-serif; --code:'JetBrains Mono', ui-monospace, monospace;
}
*{box-sizing:border-box}
html{background:var(--ground)}
body{margin:0;background:var(--ground);color:var(--cream);font:16px/1.5 var(--txt);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--coral)}
button{font:inherit;cursor:pointer}
[hidden]{display:none !important}

/* ---- the CA strip: pinned, full address, copy first, chart link second ---- */
.castrip{position:sticky;top:10px;z-index:30;width:calc(100% - 32px);max-width:1148px;margin:0 auto 20px;padding:9px 14px 8px;background:var(--coral);color:var(--ground);border-radius:14px;box-shadow:0 0 0 4px var(--ground),0 12px 28px rgba(0,0,0,.45)}
.castrip-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr auto;grid-template-areas:"lbl acts" "addr addr";gap:4px 10px;align-items:center}
.castrip-lbl{grid-area:lbl;font:700 15px/1 var(--disp);letter-spacing:.08em;text-transform:uppercase}
.castrip-addr{grid-area:addr;font:600 12.4px/1.35 var(--code);word-break:break-all;user-select:all;letter-spacing:-.01em}
.castrip-addr.is-pending{font-family:var(--txt);font-weight:500;font-size:13px;user-select:text;opacity:.85}
.castrip-acts{grid-area:acts;display:flex;gap:10px;align-items:center}
.castrip-copy{background:var(--ground);color:var(--cream);border:0;border-radius:999px;padding:6px 16px;font-weight:700;font-size:13px;letter-spacing:.04em}
.castrip-copy:disabled{opacity:.45;cursor:default}
.castrip-copy.is-done{background:var(--cream);color:var(--ground)}
.castrip-gm{color:var(--ground);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ---- the call ---- */
.kicker,.call{max-width:1180px;margin-left:auto;margin-right:auto;padding:0 16px}
.kicker{display:flex;align-items:center;gap:8px;margin-top:22px;margin-bottom:6px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.kicker img{border-radius:50%}
.kicker-dot{color:var(--coral)}
.call{font:700 clamp(54px,14vw,138px)/.88 var(--disp);text-transform:uppercase;color:var(--coral);margin-top:0;margin-bottom:16px;letter-spacing:-.005em}

/* ---- the arena ---- */
.arena{max-width:1180px;margin:0 auto;padding:0 16px 40px;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.ring{min-width:0}
.ring-say{margin:0 0 12px;font-size:17px;line-height:1.4;font-weight:500;min-height:48px}
.ring-say b{color:var(--coral);font-family:var(--code);font-weight:600;font-size:.94em}
.bowl{position:relative;width:100%;max-width:560px;aspect-ratio:1/1;margin:0 auto;border-radius:50%;
  background:repeating-radial-gradient(circle at 50% 50%, transparent 0 34px, rgba(240,96,79,.13) 34px 36px), radial-gradient(circle at 50% 50%, var(--ember) 0 40%, var(--ground) 72%);
  border:2px solid var(--coral);box-shadow:0 0 0 7px var(--ground),0 0 0 9px var(--seam)}
.bowl-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none;text-align:center}
.bowl-core-k{font:700 13px/1 var(--disp);letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.bowl-core-v{font:700 clamp(30px,8vw,48px)/1 var(--disp);color:var(--cream)}
.bowl-core-u{font:600 11px/1 var(--code);color:var(--dim)}
.chip{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:var(--coral);color:var(--ground);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  font:600 11px/1.15 var(--code);transition:width .5s ease,height .5s ease,left .5s ease,top .5s ease,background .3s;overflow:visible;z-index:2}
.chip b{font-family:var(--disp);font-weight:800;font-size:1.5em;line-height:1}
.chip small{font-size:.8em;opacity:.75}
.chip.is-next{background:var(--cream);outline:3px dashed var(--coral);outline-offset:4px;animation:sway 1.6s ease-in-out infinite}
.chip.is-next::before{content:attr(data-tag);position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--coral);color:var(--ground);font:700 11px/1 var(--disp);letter-spacing:.14em;padding:4px 7px;border-radius:3px}
.chip.is-mine{box-shadow:0 0 0 3px var(--cream)}
.chip.is-seat{background:transparent;border:2px dashed rgba(240,96,79,.45);color:var(--dim)}
.chip.is-seat.is-first{border:2px solid var(--cream);color:var(--cream);background:rgba(247,228,218,.08);animation:beckon 1.8s ease-in-out infinite}
.chip.is-seat.is-first::before{content:attr(data-tag);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--cream);color:var(--ground);font:700 11px/1 var(--disp);letter-spacing:.14em;padding:4px 7px;border-radius:3px}
@keyframes sway{0%,100%{transform:translate(-50%,-50%) rotate(-3deg)}50%{transform:translate(-50%,-50%) rotate(3deg)}}
@keyframes beckon{0%,100%{box-shadow:0 0 0 0 rgba(247,228,218,.4)}50%{box-shadow:0 0 0 10px rgba(247,228,218,0)}}
.ring-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:16px auto 0;max-width:560px;font:600 12px/1.3 var(--code);color:var(--dim)}
.ring-meta b{color:var(--cream);font-size:14px}
.outs{max-width:560px;margin:16px auto 0;border-top:1px solid var(--seam);padding-top:10px}
.outs-k,.tape-k,.book-k,.worked-k,.slip-k{margin:0 0 8px;font:700 14px/1 var(--disp);letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}
.outs-row{display:flex;gap:10px;flex-wrap:wrap}
.outs-none{font-size:14px;color:var(--dim)}
.gone{display:flex;align-items:center;gap:8px;border:1px dashed var(--seam);border-radius:999px;padding:4px 12px 4px 4px;font:500 12px/1.3 var(--code);color:var(--dim)}
.gone i{width:26px;height:26px;border-radius:50%;border:2px solid var(--dim);display:inline-flex;align-items:center;justify-content:center;font:700 11px/1 var(--disp);font-style:normal;color:var(--dim);position:relative}
.gone i::after{content:"";position:absolute;left:-3px;right:-3px;top:50%;height:2px;background:var(--coral);transform:rotate(-35deg)}
.gone s{color:var(--cream);text-decoration-color:var(--coral)}
.gone em{font-style:normal;color:var(--coral)}

/* ---- the slip ---- */
.slip{background:var(--ember);border:1px solid var(--seam);border-radius:18px;padding:18px 16px;align-self:start}
.slip-field{display:flex;align-items:baseline;gap:8px;border-bottom:3px solid var(--coral);padding:4px 2px 6px}
.slip-field input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--cream);font:700 46px/1 var(--disp);padding:0}
.slip-unit{font:700 20px/1 var(--disp);color:var(--dim);letter-spacing:.08em}
.slip-picks{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 14px}
.slip-picks button{background:transparent;color:var(--cream);border:1px solid var(--seam);border-radius:999px;padding:7px 13px;font:600 13px/1 var(--code)}
.slip-picks button:hover,.slip-picks button.is-on{border-color:var(--coral);color:var(--coral)}
.slip-go{width:100%;border:0;border-radius:12px;background:var(--coral);color:var(--ground);font:700 24px/1 var(--disp);letter-spacing:.06em;text-transform:uppercase;padding:16px 12px}
.slip-go:disabled{opacity:.5;cursor:default}
.slip-fine{margin:10px 0 0;font-size:13px;color:var(--dim);line-height:1.45}
.slip-due{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--seam);padding-top:12px;font-size:14px}
.slip-due b{font-family:var(--code);color:var(--coral)}
.slip-due button{background:var(--cream);color:var(--ground);border:0;border-radius:999px;padding:7px 14px;font-weight:700}

/* ---- the tape ---- */
.tape-k span{font:500 12px/1 var(--txt);letter-spacing:0;text-transform:none;color:var(--dim);margin-left:8px}
.tape-list{list-style:none;margin:0;padding:0;font:500 13px/1.45 var(--code);max-height:340px;overflow:auto}
.tape-list li{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--seam)}
.tape-list li.is-fresh{animation:print .7s steps(14) both}
.tape-list li span:first-child{color:var(--dim)}
.tape-list li a{color:var(--cream);text-decoration:none}
.tape-list li .t-out{color:var(--coral)}
.tape-list li.tape-quiet{display:block;color:var(--dim);font-family:var(--txt)}
@keyframes print{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

/* ---- the rule book ---- */
.book-list{margin:0 0 16px;padding-left:20px;line-height:1.55}
.book-list li{margin-bottom:6px}
.book-list b{color:var(--coral)}
.worked{border:1px solid var(--seam);border-radius:14px;padding:14px}
.worked-grid{display:grid;grid-template-columns:44px 1fr;gap:6px 10px;font:500 13px/1.45 var(--code)}
.wk-h{font:700 14px/1.3 var(--disp);color:var(--coral);letter-spacing:.1em}
.worked-grid i{font-style:normal;background:var(--cream);color:var(--ground);padding:0 4px;border-radius:3px}
.worked-grid b{color:var(--coral)}

/* ---- base ---- */
.base{border-top:2px solid var(--coral);padding-top:14px;font-size:13px;color:var(--dim)}
.base-row{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin-bottom:6px}
.base-k{font:700 12px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--coral);min-width:90px}
.base code{font:500 12px/1.4 var(--code);color:var(--cream);word-break:break-all}
.base-links{gap:14px}
.base-note{margin:10px 0 0}

/* ---- wallet picker + flash ---- */
.picker{position:fixed;inset:0;z-index:40;background:rgba(20,12,11,.82);display:flex;align-items:center;justify-content:center;padding:20px}
.picker-card{background:var(--ember);border:1px solid var(--coral);border-radius:16px;padding:18px;width:min(340px,100%)}
.picker-card p{margin:0 0 10px;font:700 18px/1 var(--disp);letter-spacing:.08em;text-transform:uppercase}
#pickList button,#pickX{display:flex;align-items:center;gap:10px;width:100%;background:transparent;color:var(--cream);border:1px solid var(--seam);border-radius:10px;padding:10px;margin-bottom:8px}
#pickList img{width:22px;height:22px}
.flash{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:45;background:var(--cream);color:var(--ground);padding:10px 16px;border-radius:999px;font-weight:700;font-size:14px;max-width:calc(100% - 32px);text-align:center}

/* ---- tablet: one column, wider measure, bigger pit ---- */
@media (min-width:720px){
  .castrip{padding:10px 20px;width:calc(100% - 56px);max-width:764px}
  .castrip-in{grid-template-columns:auto 1fr auto;grid-template-areas:"lbl addr acts";gap:14px}
  .castrip-addr{font-size:14px}
  .arena,.kicker,.call{padding-left:28px;padding-right:28px}
  .arena{max-width:820px;gap:30px}
  .kicker,.call{max-width:820px}
  .ring-say{font-size:19px}
  .chip{font-size:12.5px}
}
/* ---- desktop: the page recomposes — the pit left, the slip and the tape in a column beside it ---- */
@media (min-width:1000px){
  .arena,.kicker,.call{max-width:1180px}
  .castrip{max-width:1124px}
  .call{font-size:clamp(96px,9vw,138px)}
  .arena{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);grid-template-areas:"ring slip" "ring tape" "book tape" "base base";column-gap:44px;row-gap:28px;align-items:start}
  .ring{grid-area:ring}
  .slip{grid-area:slip}
  .tape{grid-area:tape}
  .book{grid-area:book}
  .base{grid-area:base}
  .bowl{max-width:600px}
  .ring-meta,.outs{max-width:600px}
  .tape-list{max-height:520px}
  .chip{font-size:13px}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}
/* chip labels: never past the bowl's edge, below the chip in the upper half */
.chip[data-below="1"]::before{bottom:auto !important;top:calc(100% + 9px)}
.chip[data-side="l"]::before{left:0 !important;transform:none !important}
.chip[data-side="r"]::before{left:auto !important;right:0;transform:none !important}
.ring{overflow-x:clip}
