@import url('/shared/site.css');
/* Table dimensions and percentages describe geometry, not new brand tokens. */
main{max-width:76em;margin:auto;padding:var(--space-3) var(--space-5)}
.intro{display:flex;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-3)}.intro h1{font-size:var(--fs-title)}.intro h1 span,.intro p{font:var(--fs-caption)/var(--lh-caption) var(--font-ui);color:var(--muted)}
.panel{background:var(--panel);border:thin solid var(--line);border-radius:var(--radius-panel);padding:var(--space-3)}
#lobby{max-width:65em;margin:var(--space-5) auto}form{display:flex;gap:var(--space-3);align-items:end;margin:var(--space-3) 0}label{display:grid;gap:var(--space-1);font-size:var(--fs-label);color:var(--muted);flex:1}#saved,.links{display:flex;gap:var(--space-2)}
.at-table .intro{display:none}.table-top{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-caption);margin-bottom:var(--space-2)}.table-top p{display:inline;color:var(--muted)}
.felt{position:relative;height:29em;padding:var(--space-3) var(--space-5);background:var(--felt-gradient);border:var(--rail-w) solid var(--rail-leather);border-top-width:var(--space-2);border-radius:var(--radius-control) var(--radius-control) 48% 48% / var(--radius-control) var(--radius-control) 68% 68%;box-shadow:0 0 0 var(--rail-trim) var(--rail-wood)}
.dealer{text-align:center;position:relative;z-index:1;min-height:8em}.eyebrow{font-size:var(--fs-micro);color:var(--muted)}.cards{display:flex;justify-content:center;padding:var(--space-1);min-height:5em}.cards picture{display:contents}.cards img{width:3.4em;height:auto;border-radius:var(--radius-card);align-self:start}.cards img+img{margin-left:calc(-1 * var(--space-3))}.dealer p{font-size:var(--fs-micro)}
.table-mark{text-align:center;position:relative;color:color-mix(in srgb,var(--felt-print) 55%,transparent);font:var(--fw-felt-print) var(--fs-felt-print)/var(--lh-felt-print) var(--font-title);letter-spacing:.12em;margin-bottom:var(--space-3)}.table-mark span{display:block;font-size:var(--fs-micro)}
.shoe-marker{position:absolute;right:12%;top:var(--space-4);transform:rotate(-8deg)}.shoe-marker img{width:3em}.chip-rack{position:absolute;left:14%;top:var(--space-3);display:flex;gap:var(--chip-stack-step);background:var(--rail-leather);padding:var(--space-1);border-radius:var(--radius-control)}.chip-rack i{width:var(--space-2);height:var(--space-5);background:repeating-linear-gradient(0deg,var(--gold) 0 var(--chip-stack-step),var(--rail-leather) var(--chip-stack-step) var(--space-1))}
.insurance-arc{position:absolute;top:24%;left:18%;width:64%;height:30%;pointer-events:none;overflow:visible}.insurance-arc use{fill:none;stroke:var(--felt-print);stroke-opacity:var(--felt-print-line-alpha);stroke-width:var(--felt-print-line)}.insurance-arc text{fill:var(--felt-print);fill-opacity:var(--felt-print-text-alpha);font:var(--fs-felt-print) var(--font-title);letter-spacing:.12em}.printed-spots{position:absolute;inset:52% 8% 10%;display:flex;justify-content:space-around;align-items:end;pointer-events:none}.printed-spots i{width:7%;height:35%;border:thin solid var(--line-on-felt);border-radius:50%}.printed-spots i:nth-child(2),.printed-spots i:nth-child(6){align-self:center}.printed-spots i:first-child,.printed-spots i:last-child{align-self:start}
#seats{display:flex;justify-content:center;gap:var(--space-4);position:relative;z-index:1}.seat{text-align:center;max-width:48%;flex:1}.seat-name{max-width:var(--plate-w);height:var(--plate-h);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:auto;border:thin solid var(--line);border-radius:var(--radius-control);background:var(--panel);font-size:var(--fs-micro);color:var(--muted);padding:var(--space-1)}.hands{display:flex;justify-content:center;gap:var(--space-1)}.hand{border:thin solid transparent;border-radius:var(--radius-card);min-width:0}.hand.active{border-color:var(--gold)}.hand p{font-size:var(--fs-caption);margin-top:var(--space-card-label)}.is-betting #seats{display:none}
.bet-spots{position:relative;z-index:2;display:flex;justify-content:center;gap:var(--space-5);margin-top:var(--space-2)}.bet-spot{width:8em;height:7em;display:grid;justify-items:center;align-content:center;gap:var(--space-1);padding:var(--space-1);background:transparent;border:var(--felt-print-line-heavy) solid color-mix(in srgb,var(--felt-print) 45%,transparent);border-radius:50%;font:var(--fs-caption)/var(--lh-caption) var(--font-title);position:relative}.bet-spot.selected{border-color:var(--gold)}.bet-spot:disabled{opacity:1;cursor:default}.bet-spot strong{font:var(--fw-figure) var(--fs-figure)/var(--lh-figure) var(--font-ui);color:var(--gold)}
/* A reserved stack row separates Main from the clay art; no blur or shadow. */
.pending-stack{position:relative;width:var(--chip-tray);height:var(--space-5)}.pending-stack img{position:absolute;left:calc(50% - var(--chip-table) / 2);bottom:0;width:var(--chip-table);height:var(--chip-table);filter:none;box-shadow:none}.pending-stack img:nth-child(2){bottom:var(--chip-stack-step)}.pending-stack img:nth-child(3){bottom:calc(2 * var(--chip-stack-step))}.bet-spot strong[data-wager-result]{white-space:nowrap;color:var(--muted)}.bet-spot strong.win{color:var(--gold)}
.betting{display:flex;align-items:center;justify-content:center;gap:var(--space-5);margin-top:var(--space-3)}.chip-tray,.bet-tools,#actions{display:flex;align-items:center;gap:var(--space-card-label)}.chip-tray{gap:var(--space-3)}.tray-chip{background:transparent;border:0;padding:0;min-height:0;width:var(--chip-tray);flex-shrink:0}.tray-chip img{display:block;width:var(--chip-tray);height:var(--chip-tray);border-radius:50%}.tray-chip.selected img{outline:var(--chip-ring) solid var(--gold);outline-offset:var(--chip-ring-offset)}.tray-chip small{display:block;font-size:var(--fs-micro);color:var(--muted);margin-top:var(--space-1)}.bet-tools button,#actions button{white-space:nowrap}#betting #actions{margin-left:auto}.controls{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.controls h2,#suggestion{font:var(--fs-caption)/var(--lh-caption) var(--font-ui)}.controls .eyebrow{display:none}.is-betting .controls{display:none}.metrics{display:flex;justify-content:center;gap:var(--space-2);font-size:var(--fs-micro);color:var(--muted);margin:var(--space-2)}.result-chip{width:var(--chip-pot)}#message:empty{display:none}#message.toast{position:fixed;bottom:var(--space-4);left:50%;transform:translateX(-50%);background:var(--panel);padding:var(--space-2) var(--space-4);border:thin solid var(--line);border-radius:var(--radius-control);z-index:30;transition:opacity var(--motion-toast-fade);pointer-events:none}#message.fading{opacity:0}
@media(max-width:900px),(max-height:500px){header{padding-inline:var(--space-3)}.account-nav{gap:var(--space-1)}main{padding:var(--space-2) var(--space-4)}#lobby{margin:var(--space-2) auto}.intro{margin-bottom:var(--space-1)}form{margin:var(--space-2) 0}.fine{font-size:var(--fs-micro)}.at-table #game:not([hidden]){display:grid;grid-template-columns:minmax(0,1.4fr) minmax(24em,1fr);gap:var(--space-2)}.table-top{grid-column:1/-1;margin:0}.felt{grid-column:1;height:17.8em;padding:var(--space-1) var(--space-2)}.dealer{min-height:5em}.cards{min-height:3.6em}.cards img{width:2.45em}.table-mark{font-size:var(--fs-micro);line-height:var(--lh-micro);margin:0}.table-mark span{font-size:var(--fs-micro)}.bet-spots{gap:var(--space-3);margin-top:var(--space-1)}.bet-spot{height:5.7em;width:7em}.pending-stack{height:var(--space-4)}.insurance-arc{top:22%}.shoe-marker img{width:2.4em}.chip-rack{left:10%}.is-betting .felt{grid-column:1/-1;height:15em}.is-betting .bet-spot{height:6.5em;width:8em}.betting{grid-column:1/-1;margin:0;padding:var(--space-2);gap:var(--space-4)}.controls{grid-column:2;grid-row:2;margin:0;align-self:end;display:grid;gap:var(--space-2)}#actions{gap:var(--space-1)}#actions button{padding-inline:var(--space-1)}.metrics{grid-column:1/-1;margin:0}.at-table footer{display:none}.hand p{font-size:var(--fs-micro);margin-top:var(--space-1)}.seat-name{height:var(--plate-h)}.is-betting .controls{display:none}}

/* Keep the kit's traditional rack, rules and rail in the felt itself. */
.felt{background:url('/brand/signet/assets/felts/blackjack.svg') center/100% 100% no-repeat;border:0;border-radius:0;box-shadow:none;height:calc(var(--space-1) * 105);padding:0}.table-mark,.insurance-arc,.shoe-marker{display:none}.chip-rack{top:10%;left:14%;padding:var(--space-1);border:calc(var(--space-1) * 0.25) solid var(--brass);background:var(--rail-wood-dark);gap:calc(var(--space-1) * 0.75)}.chip-rack i{width:calc(var(--space-1) * 3);height:calc(var(--space-1) * 6);background:repeating-linear-gradient(to bottom,var(--chip-1) 0 var(--space-1),var(--black) var(--space-1) calc(var(--space-1) * 1.25))}.chip-rack i:nth-child(2){background:repeating-linear-gradient(to bottom,var(--chip-5) 0 var(--space-1),var(--black) var(--space-1) calc(var(--space-1) * 1.25))}.chip-rack i:nth-child(3){background:repeating-linear-gradient(to bottom,var(--chip-25) 0 var(--space-1),var(--black) var(--space-1) calc(var(--space-1) * 1.25))}.chip-rack i:nth-child(4){background:repeating-linear-gradient(to bottom,var(--chip-100) 0 var(--space-1),var(--gold) var(--space-1) calc(var(--space-1) * 1.25))}.chip-rack i:nth-child(5){background:repeating-linear-gradient(to bottom,var(--chip-500) 0 var(--space-1),var(--black) var(--space-1) calc(var(--space-1) * 1.25))}.dealer{position:absolute;top:18%;left:35%;width:30%;min-height:0}.dealer .cards{min-height:0}.dealer .cards img{width:calc(var(--space-1) * 11.5)}.dealer p{margin:0}.printed-spots{inset:62% 9% 9%;align-items:center}.printed-spots i{width:5%;height:45%;border-color:var(--brass)}#seats{position:absolute;top:65%;left:20%;width:60%}.seat-name{height:calc(var(--space-1) * 5);padding:calc(var(--space-1) * 0.25) calc(var(--space-1) * 1.5);max-width:calc(var(--space-1) * 35)}.hand .cards{min-height:0}.hand .cards img{width:calc(var(--space-1) * 11.5)}.hand p{margin:calc(var(--space-1) * 0.25) 0}.bet-spots{position:absolute;top:67%;left:24%;width:52%;height:20%;margin:0;gap:10%}.bet-spot{height:100%;width:28%;min-height:0;border:0}.bet-spot span{background:var(--bottle)}.at-table:not(.is-betting) .bet-spots{display:none}#seat-bankroll,#bankroll{color:var(--gold);white-space:nowrap;font-size:var(--fs-figure)}
@media(max-width:900px),(max-height:500px){.at-table #game:not([hidden]){display:flex;flex-direction:column;gap:var(--space-1)}.at-table main{width:100%;padding:var(--space-1) calc(var(--space-1) * 5)}.table-top{height:calc(var(--space-1) * 6);flex-shrink:0}.felt,.is-betting .felt{width:100%;height:calc(var(--space-1) * 54);flex-shrink:0}.dealer{top:17%;left:38%;width:24%}.dealer .cards img{width:calc(var(--space-1) * 7.5)}.dealer .cards{padding:0}.dealer p{line-height:calc(var(--space-1) * 2.75)}.chip-rack{top:10%;left:14%;padding:calc(var(--space-1) * 0.5)}.chip-rack i{width:calc(var(--space-1) * 2.5);height:calc(var(--space-1) * 4.5)}.printed-spots{inset:60% 9% 8%}.printed-spots i{height:45%}#seats{top:64%;left:25%;width:50%}.hand .cards{padding:calc(var(--space-1) * 0.25);min-height:0}.hand .cards img{width:calc(var(--space-1) * 8.5)}.seat-name{height:calc(var(--space-1) * 4);line-height:calc(var(--space-1) * 3);font-size:calc(var(--space-1) * 2.5)}.hand p{font-size:calc(var(--space-1) * 2.5);line-height:calc(var(--space-1) * 3)}.bet-spots{top:67%;height:22%;left:24%;width:52%}.is-betting .bet-spot,.bet-spot{height:100%;width:28%;padding:0;gap:0}.pending-stack{height:calc(var(--space-1) * 5.5)}.pending-stack img{width:calc(var(--space-1) * 5.5);height:calc(var(--space-1) * 5.5);left:calc(50% - calc(var(--space-1) * 2.75))}.controls{margin:0;display:flex;padding:calc(var(--space-1) * 1.25) calc(var(--space-1) * 2.5);min-height:calc(var(--space-1) * 12.75)}.controls>div:first-child{display:flex;align-items:center;gap:calc(var(--space-1) * 2.5)}.controls h2,#suggestion{font-size:calc(var(--space-1) * 2.75);line-height:calc(var(--space-1) * 3.25)}#use-basic{min-height:calc(var(--space-1) * 7);padding:calc(var(--space-1) * 0.75) calc(var(--space-1) * 2)}#actions button{padding:var(--space-1) calc(var(--space-1) * 2.5)}.betting{padding:var(--space-1) calc(var(--space-1) * 2.5);gap:calc(var(--space-1) * 4)}.tray-chip img{width:calc(var(--space-1) * 7.5);height:calc(var(--space-1) * 7.5)}.tray-chip{width:calc(var(--space-1) * 7.5)}.chip-tray{gap:calc(var(--space-1) * 3)}.tray-chip small{margin:0}.metrics{font-size:calc(var(--space-1) * 2.5);line-height:calc(var(--space-1) * 3);margin:0}.at-table header{height:calc(var(--space-1) * 11)}.at-table .controls .eyebrow{display:none}}
