@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}
@media(max-width:900px),(max-height:500px){header{height:var(--header-h);padding:0 var(--space-4)}main{padding:var(--space-1) var(--space-4)}footer{padding:var(--space-1) var(--space-4)}.table-top{gap:var(--space-2)}.table-top h1{font-size:var(--fs-title)}.felt{min-height:0;margin:0 var(--space-2);padding:var(--space-2);border-width:var(--rail-w)}.dealer-notch{top:calc(0em - var(--rail-w));padding:0}.hands{margin-top:var(--space-2)}.cards{height:3em;margin:0}.hands span{font-size:var(--fs-micro)}.paytable{font-size:var(--fs-micro);line-height:var(--lh-micro);margin:var(--space-1) 0}.spots{width:62%;gap:var(--space-2)}.spot{min-height:3em;padding:var(--space-1);display:grid;grid-template-columns:1fr auto}.spot span{grid-column:1 / -1}.spot b{font-size:var(--fs-caption)}.spot img{width:var(--chip-phone-min);height:var(--chip-phone-min)}.tray-bar{padding:var(--space-1) var(--space-2);gap:var(--space-2)}.chip-tray{gap:var(--space-2)}.chip-tray img{width:var(--chip-tray);height:var(--chip-tray)}.chip-tray button{min-width:var(--chip-tray)}#entry{padding:var(--space-2)}form{margin:var(--space-2) 0;gap:var(--space-2)}#entry>p{font-size:var(--fs-caption)}#entry label{max-width:14em}.rules{font-size:var(--fs-micro)}}
.felt{box-shadow:inset 0 0 0 var(--rail-trim) var(--rail-wood)}.chip-rack{background:var(--rail-wood-dark)}.shoe::after{content:'';display:block;width:70%;height:80%;margin:10% auto;background:var(--control);border:thin solid var(--line-on-felt)}.cards img{max-width:30%;object-fit:contain;min-width:0}
@media(max-width:900px),(max-height:500px){.hands{position:absolute;top:4%;left:0;margin:0}.cards{height:2.6em}.paytable{position:absolute;top:41%;left:15%;width:70%;margin:0}.spots{position:absolute;top:64%;left:19%;width:62%}.spot{min-height:0;height:3em;gap:0}#result{position:absolute;bottom:1%;left:15%;width:70%;margin:0}.dealer-notch{z-index:1}}
/* Geometry follows §13 and the Signet table profile until kit felt artwork exists. */
.felt{border-radius:5% 5% 48% 48% / 5% 5% 64% 64%;min-height:18em;padding:0;border-top-color:var(--rail-wood-dark);box-shadow:inset 0 0 0 var(--rail-trim) var(--brass)}
.dealer-edge{position:absolute;top:0;left:43%;width:14%;text-align:center;font-size:var(--fs-caption);z-index:1}.chip-rack{border:var(--rail-trim) solid var(--brass)}.chip-rack i:nth-child(2n){background:repeating-linear-gradient(to bottom,var(--chip-5) 0,var(--chip-5) var(--chip-stack-step),var(--ink) var(--chip-stack-step),var(--ink) var(--space-1))}.shoe{top:4%;right:23%;height:3em;background:var(--rail-wood-dark);border-color:var(--brass)}.shoe::after{background:var(--back-blue)}
.dealer-hand{position:absolute;top:12%;left:50%;transform:translateX(-50%);width:24%;text-align:center}.hand-row>span{font:var(--fs-micro)/var(--lh-micro) var(--font-title);letter-spacing:.1em}.cards{height:3.8em;margin:var(--space-1) 0;gap:var(--space-1)}.cards img{max-width:none;height:100%;width:auto}.cards button{border:0;background:transparent;min-height:0;padding:0;display:flex;align-items:center;justify-content:center}.cards button img{pointer-events:none}.cards button:focus-visible{outline:var(--chip-ring) solid var(--focus-ring)}
.printing{position:absolute;top:44%;left:30%;width:40%;display:flex;flex-direction:column;text-align:center;font:var(--fs-felt-print)/var(--lh-felt-print) var(--font-title);letter-spacing:.1em;opacity:var(--felt-print-text-alpha);padding:var(--space-2);border-top:var(--felt-print-line) double var(--felt-print);border-bottom:var(--felt-print-line) double var(--felt-print)}.printing strong{font-size:var(--fs-title-sm);margin-bottom:var(--space-1)}
.seat-layout{position:absolute;inset:0}.empty-seat,.player-seat{position:absolute;text-align:center;transform:translateX(-50%)}.empty-seat{width:8%;font:var(--fs-micro)/var(--lh-micro) var(--font-title);opacity:var(--felt-print-line-alpha)}.empty-seat span{display:block}.empty-seat i,.empty-seat b{display:block;border:var(--felt-print-line) double var(--felt-print);margin:var(--space-1) auto}.empty-seat i{width:95%;height:2em;border-radius:var(--radius-card)}.empty-seat b{width:36%;height:1.2em;border-radius:var(--radius-card)}.empty-seat::after{content:'';display:block;width:var(--chip-table);height:var(--chip-table);border:var(--felt-print-line) solid var(--felt-print);border-radius:50%;margin:var(--space-1) auto}.s1{left:9%;top:22%;transform:translateX(-50%) rotate(24deg)}.s2{left:23%;top:52%;transform:translateX(-50%) rotate(14deg)}.s3{left:42%;top:65%;width:23%}.s4{left:62%;top:72%}.s5{left:78%;top:52%;transform:translateX(-50%) rotate(-14deg)}.s6{left:91%;top:22%;transform:translateX(-50%) rotate(-24deg)}.player-seat .cards{height:3.8em}.player-seat .hand-row>span{position:absolute;left:0;font-size:var(--fs-micro)}#player-name{font-size:var(--fs-micro)}
.spots{position:absolute;left:54%;top:58%;width:18%;gap:var(--space-2)}.spot{border-radius:50%;height:4em;width:4em;min-height:0;flex:1;padding:var(--space-1);display:grid;grid-template-columns:1fr;text-align:center;place-items:center;gap:0;box-shadow:inset 0 0 0 var(--space-1) var(--felt),inset 0 0 0 calc(var(--space-1) + var(--felt-print-line-fine)) var(--felt-print)}.spot span{font-size:var(--fs-micro);line-height:var(--lh-micro)}.spot img{width:var(--chip-pot);height:var(--chip-pot)}.spot b{font-size:var(--fs-caption)}#result{position:absolute;top:57%;left:26%;width:48%;font-size:var(--fs-caption);text-align:center}.actions{display:flex;gap:var(--space-2)}#status{min-height:var(--lh-caption)}#fortune-paytable{columns:2}#fortune-paytable p{break-inside:avoid}.cards:empty::after{content:'';width:85%;border:var(--felt-print-line) solid var(--felt-print);border-radius:var(--radius-card)}
@media(max-width:900px),(max-height:500px){.felt{min-height:0;max-height:none}.dealer-edge{font-size:var(--fs-micro);left:43%;width:14%}.chip-rack{padding:0}.chip-rack i{height:var(--space-2)}.shoe{height:2em}.dealer-hand{top:11%;width:24%}.cards,.player-seat .cards{height:2em;margin:0;gap:var(--space-1)}.hand-row>span{font-size:var(--fs-micro);line-height:1}.dealer-hand .hand-row{display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.dealer-hand .cards{min-width:25%}.printing{top:40%;font-size:var(--fs-micro);line-height:1.1;padding:var(--space-1)}.printing strong{font-size:var(--fs-caption);margin:0}.printing span:last-child{display:none}.s3{top:65%;width:25%}.s4{top:65%}.s1,.s6{top:18%}.s2,.s5{top:50%}.empty-seat i{height:1.3em}.empty-seat b{height:.8em}.empty-seat::after{width:var(--space-5);height:var(--space-5)}.empty-seat span{font-size:var(--fs-micro)}.spots{left:55%;top:69%;width:16%}.spot{height:3em;width:3em;display:grid}.spot img{width:var(--space-4);height:var(--space-4)}.spot b{font-size:var(--fs-micro)}#result{top:56%;left:25%;width:50%;font-size:var(--fs-micro);min-height:0}.tools button{padding:var(--space-1) var(--space-2)}.chip-tray{gap:var(--space-2)}.actions{gap:var(--space-1)}#house{min-width:0;padding:var(--space-1) var(--space-2)}.table-top{height:var(--button-h)}.table-top h1{font-size:var(--fs-title-sm)}.rules{max-height:1.4em}.rules[open]{position:absolute;inset:var(--header-h) var(--space-4) var(--space-3);max-height:none;background:var(--panel);padding:var(--space-3);z-index:3}#status{min-height:var(--lh-micro);font-size:var(--fs-micro)}footer{padding:0 var(--space-4)}}

/* Keep the central wager circles clear of the neighbouring seat and result. */
.s4{left:67%;top:66%}.spots{left:51%;top:78%;width:11%}.spot{height:3.4em;width:3.4em;box-shadow:none;outline:var(--felt-print-line-fine) solid var(--felt-print);outline-offset:calc(0em - var(--space-1))}.printing{top:43%}#result{top:58%}
@media(max-width:900px),(max-height:500px){.dealer-hand{top:8%}.dealer-hand .cards{height:1.35em}.spots{left:51%;top:76%;width:12%}.spot{height:2.7em;width:2.7em}.spot b{line-height:1}.printing{top:40%}#result{top:57%}.s4{top:64%}}
@media(max-width:900px),(max-height:500px){.dealer-hand{top:16%}.printing{top:42%}.printing span:nth-of-type(2){display:none}.empty-seat span{line-height:1}.empty-seat i{height:1em;margin:0 auto}.empty-seat b{height:.7em;margin:0 auto}.empty-seat::after{width:var(--space-3);height:var(--space-3);margin:var(--space-1) auto}.s4{top:56%}}

/* Game-specific copy of the matching felt omits the unsupported optional dragon hand. */
.felt{background:url('/signet/assets/felts/pai-gow.svg') center/100% 100% no-repeat;border:0;outline:0;box-shadow:none;border-radius:0}.dealer-edge .chip-rack,.shoe,.empty-seat,.printing{display:none}
.has-felt-spots .cards:empty::after{content:none;display:none}
