@import url('/shared/site.css');
body{height:100dvh;display:flex;flex-direction:column}main{flex:1;min-height:0;width:100%;max-width:85em;margin:auto;padding:var(--space-3) var(--space-5);display:flex;flex-direction:column}#entry{background:var(--panel);padding:var(--space-5);border-radius:var(--radius-panel)}form{display:flex;align-items:end;gap:var(--space-3);margin:var(--space-4) 0}label{display:grid;gap:var(--space-1)}#game{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-2)}.table-top{display:flex;align-items:center;gap:var(--space-3)}.table-top h1{margin-right:auto}.felt{position:relative;flex:1;min-height:16em;max-height:36em;background:var(--felt-gradient);border:var(--rail-w) solid var(--rail-leather);outline:var(--rail-trim) solid var(--rail-wood);border-radius:45% / 40%;color:var(--felt-print);margin:var(--space-2);padding:var(--space-4);display:flex;flex-direction:column;align-items:center;justify-content:end}.dealer-notch{position:absolute;top:calc(0em - var(--rail-w));left:42%;width:16%;background:var(--rail-leather);border-radius:0 0 35% 35%;text-align:center;font-size:var(--fs-caption);padding:var(--space-1)}.chip-rack{display:flex;justify-content:center;gap:var(--space-1);background:var(--black);padding:var(--space-1)}.chip-rack i{display:block;width:var(--chip-table);height:var(--space-3);background:repeating-linear-gradient(to bottom,var(--gold) 0,var(--gold) var(--chip-stack-step),var(--control) var(--chip-stack-step),var(--control) var(--space-1))}.shoe{position:absolute;right:18%;top:5%;width:var(--chip-tray);height:4em;max-height:18%;background:var(--black);border:var(--rail-trim) solid var(--control)}.hands{display:flex;justify-content:center;gap:10%;width:100%;margin-top:var(--space-3)}.hands>div{text-align:center;width:28%}.hands span,.paytable{font-family:var(--font-title);font-variant:small-caps;letter-spacing:.12em}.hands strong{font-size:var(--fs-figure)}.cards{height:5em;display:flex;justify-content:center;gap:var(--space-1);margin:var(--space-1) 0}.cards img{height:100%;border-radius:var(--radius-card)}.paytable{text-align:center;font-size:var(--fs-felt-print);line-height:var(--lh-felt-print);opacity:var(--felt-print-text-alpha);margin:var(--space-2) 0}.spots{display:flex;gap:var(--space-3);width:65%;justify-content:center}.spot{border:var(--felt-print-line-heavy) solid var(--felt-print);border-radius:var(--radius-panel);background:transparent;color:var(--felt-print);min-height:4em;flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.spot[aria-pressed=true]{outline:var(--chip-ring) solid var(--gold);outline-offset:var(--chip-ring-offset)}.spot span{font:var(--fs-felt-print)/var(--lh-felt-print) var(--font-title);letter-spacing:.12em}.spot img{width:var(--chip-table);height:var(--chip-table)}.spot b{font-size:var(--fs-figure)}#result{min-height:var(--lh-body);font-size:var(--fs-figure);margin:var(--space-1) 0 0}.tray-bar{display:flex;align-items:center;gap:var(--space-3);background:var(--panel);padding:var(--space-2);border-radius:var(--radius-panel)}.chip-tray{display:flex;gap:var(--space-3);margin-right:auto}.chip-tray button{display:grid;place-items:center;background:transparent;border:0;padding:0;min-width:var(--chip-tray)}.chip-tray img{width:var(--chip-tray);height:var(--chip-tray)}.chip-tray button[aria-pressed=true] img{outline:var(--chip-ring) solid var(--gold);outline-offset:var(--chip-ring-offset);border-radius:50%}.chip-tray span{font-size:var(--fs-caption)}.tools{display:flex;gap:var(--space-1)}.gold{min-width:var(--primary-min-w)}.rules{font-size:var(--fs-caption)}.rules[open]{overflow:auto;max-height:25vh}#status,#message{font-size:var(--fs-caption);margin:0}

/* SVG coordinates define the printed table; live cards stay in its clear upper field. */
.felt{background:url('/signet/assets/felts/baccarat.svg') center/100% 100% no-repeat;border:0;outline:0;box-shadow:none;border-radius:0;padding:0;min-height:calc(var(--space-1) * 105);max-height:calc(var(--space-1) * 125);margin:0}
.dealer-notch,.paytable{display:none}.hands{position:absolute;left:22%;top:21%;width:56%;height:22%;margin:0;gap:12%;align-items:start}.hands>div{position:relative;width:44%;height:100%;border:calc(var(--space-1) * 0.25) solid var(--brass);border-radius:var(--space-1);padding:var(--space-1)}.hands span{position:absolute;left:0;top:calc(var(--space-1) * -5);width:100%;font-size:calc(var(--space-1) * 3)}.hands strong{position:absolute;right:calc(var(--space-1) * -6);top:40%;font-size:calc(var(--space-1) * 3.5)}.cards{height:calc(var(--space-1) * 22.5);max-height:100%;display:flex;align-items:center;gap:calc(var(--space-1) * 1.25);margin:0}.cards img{width:calc(var(--space-1) * 16);height:calc(var(--space-1) * 22.5);max-height:100%;max-width:none;object-fit:contain}.cards img:nth-child(3){transform:rotate(90deg);margin-inline:calc(var(--space-1) * 3.5);width:calc(var(--space-1) * 16);flex-shrink:0}
.shoe{right:23%;top:14%;width:calc(var(--space-1) * 16.5);height:calc(var(--space-1) * 9.5);max-height:none;background:var(--rail-wood-dark);border:calc(var(--space-1) * 0.25) solid var(--brass);border-radius:calc(var(--space-1) * 0.75);transform:rotate(-8deg)}.shoe::after{content:'';position:absolute;inset:var(--space-1) calc(var(--space-1) * 2.5) var(--space-1) var(--space-1);background:url('/brand/signet/assets/backs/small-blue.svg') center/contain no-repeat;border-right:calc(var(--space-1) * 1.25) solid var(--control)}.discard-tray{position:absolute;left:24%;top:14%;width:calc(var(--space-1) * 13.5);height:calc(var(--space-1) * 8);border:calc(var(--space-1) * 0.75) solid var(--rail-wood);border-top-width:calc(var(--space-1) * 0.25);border-radius:calc(var(--space-1) * 0.75);background:var(--panel)}
.spots{position:absolute;left:29%;top:66%;width:42%;height:14%;gap:calc(var(--space-1) * 3);align-items:center}.spot{min-height:0;height:100%;padding:calc(var(--space-1) * 0.75);background:var(--bottle);display:grid;grid-template-columns:1fr auto;gap:0;border-radius:calc(var(--space-1) * 1.25)}.spot span{grid-column:1/-1;font-size:calc(var(--space-1) * 3)}.spot img{width:calc(var(--space-1) * 6);height:calc(var(--space-1) * 6)}.spot b{font-size:calc(var(--space-1) * 3)}.spot:disabled{opacity:1}#result{position:static;flex-shrink:0;text-align:center;color:var(--gold);min-height:calc(var(--space-1) * 4.5);margin:0}
@media(max-width:900px),(max-height:500px){header{padding:0 calc(var(--space-1) * 5)}main{padding:calc(var(--space-1) * 0.75) calc(var(--space-1) * 5)}footer{padding:calc(var(--space-1) * 0.5) calc(var(--space-1) * 5)}.table-top{height:calc(var(--space-1) * 6)}.table-top h1{font-size:calc(var(--space-1) * 5)}.felt{min-height:0;max-height:none;flex:1}.hands{top:23%;height:23%;left:22%;width:56%;gap:12%}.hands>div{padding:calc(var(--space-1) * 0.5)}.hands span{top:calc(var(--space-1) * -3.5);font-size:calc(var(--space-1) * 2.5)}.hands strong{right:calc(var(--space-1) * -4);font-size:calc(var(--space-1) * 2.75)}.cards{height:calc(var(--space-1) * 11.5);gap:var(--space-1)}.cards img{height:calc(var(--space-1) * 11.5);width:calc(var(--space-1) * 8.25)}.cards img:nth-child(3){width:calc(var(--space-1) * 8.25);margin-inline:calc(var(--space-1) * 2)}.shoe{width:calc(var(--space-1) * 10.5);height:calc(var(--space-1) * 6);top:13%}.discard-tray{width:calc(var(--space-1) * 9);height:calc(var(--space-1) * 5);top:13%}.spots{top:67%;height:16%;gap:calc(var(--space-1) * 2)}.spot span{font-size:calc(var(--space-1) * 2.5);line-height:calc(var(--space-1) * 2.5)}.spot b{font-size:calc(var(--space-1) * 2.75)}.spot img{width:calc(var(--space-1) * 4);height:calc(var(--space-1) * 4)}.tray-bar{padding:calc(var(--space-1) * 0.75) calc(var(--space-1) * 2);gap:calc(var(--space-1) * 2)}.chip-tray{gap:calc(var(--space-1) * 3)}.chip-tray button{min-width:calc(var(--space-1) * 8)}.chip-tray img{width:calc(var(--space-1) * 7.5);height:calc(var(--space-1) * 7.5)}.chip-tray span{font-size:calc(var(--space-1) * 2.5)}.tools button{padding:var(--space-1) calc(var(--space-1) * 2.5)}#result{min-height:calc(var(--space-1) * 3.5);font-size:calc(var(--space-1) * 2.75);line-height:calc(var(--space-1) * 3.5)}#status{font-size:calc(var(--space-1) * 2.5);line-height:calc(var(--space-1) * 3)}.rules{font-size:calc(var(--space-1) * 2.5);line-height:calc(var(--space-1) * 3)}#entry{padding:calc(var(--space-1) * 2)}form{margin:calc(var(--space-1) * 2) 0;gap:calc(var(--space-1) * 2)}#entry>p{font-size:calc(var(--space-1) * 2.75)}}

.hands{top:18%;height:21%}.hands>div{padding:0}.hands span{top:calc(var(--space-1) * -4)}
@media(max-width:900px),(max-height:500px){#game{gap:var(--space-1)}footer{display:none}.hands{top:19%;height:23%}.hands span{top:calc(var(--space-1) * -3.5)}.felt{min-height:calc(var(--space-1) * 52)}.tray-bar{min-height:calc(var(--space-1) * 11)}.cards{height:calc(var(--space-1) * 11.5)}}

/* The replacement shoe and discard tray are outside both marked card areas. */
.shoe{right:12%}.discard-tray{left:14%}.hands{top:17%}
/* Reserve a clear band between the dealer rack and the first line of felt wording. */
main{padding-block:var(--space-1)}#game{gap:var(--space-1)}.felt{min-height:calc(var(--space-1) * 115)}.hands{top:21%;height:20%}.tray-bar{padding-block:var(--space-1)}
@media(max-width:900px),(max-height:500px){main{padding-block:calc(var(--space-1) * .75)}.felt{min-height:calc(var(--space-1) * 52)}.hands{top:23%;height:18%}.cards{height:calc(var(--space-1) * 9)}.cards img{height:calc(var(--space-1) * 9);width:calc(var(--space-1) * 6.5)}.cards img:nth-child(3){width:calc(var(--space-1) * 6.5);margin-inline:calc(var(--space-1) * 1.5)}}
