/* Mobile game surface: secondary detail lives in dialogs, not below the board. */
.shell{max-width:560px;padding:12px 12px 10px}.layout{display:block}.topbar{margin-bottom:7px}.brand{font-size:21px;gap:9px}.brand-mark{width:33px;height:36px;font-size:27px}.brand small{display:none}.header-actions{gap:5px;align-items:center}.nav-button{height:36px;padding:0 10px;border:1px solid var(--line);border-radius:18px;background:transparent;font-size:11px}.icon{width:36px;height:36px}.preview-strip{padding:5px 2px;font-size:9px}.preview-strip>span:first-child{font-size:8px}.table{border-radius:35px 35px 12px 12px;padding:10px 12px 7px;background-size:auto,230px 230px,auto}.table-top{padding:0 6px;font-size:10px}.table-label{display:none}.table-top .text-button{min-height:30px;padding:5px 8px;font-size:11px}.crown{margin-top:26px;padding:12px 8px 8px}.crown-art{width:70px;height:47px;top:-36px;left:calc(50% - 35px)}.crown-title h1{font-size:22px}.crown-title>span{width:30px}.crown>p{display:none}.odds{margin-top:10px}.odds>span{font-size:10px}.odds b{display:inline-block;font-size:21px;margin:0 0 0 4px}.odds em{font-size:12px}.crown-stakes{margin-top:9px;padding-top:6px;font-size:10px}.round-bar{margin:12px 0 10px}.round-bar h2{font-size:18px;margin-top:3px}.clock{width:36px;height:36px}.clock b{font-size:16px}.eyebrow{font-size:8px;letter-spacing:1px}.hands{gap:8px}.hand{padding:8px 6px;border-radius:28px 28px 7px 7px}.crest{width:25px;height:25px;margin:0 auto 3px}.hand-heading{margin-bottom:6px;gap:8px}.hand-heading strong{font-size:18px}.hand-heading span{font-size:11px}.cards{height:86px;gap:2px}.card{flex:0 0 44%;width:44%}.card+.card{margin-left:-16%}.hand-kind{font-size:9px;min-height:19px;padding-top:4px}.pot{font-size:10px;margin:5px 0}.mine{font-size:10px;padding-top:6px}.mine b{font-size:12px}.results-strip{display:flex;align-items:center;gap:8px;margin-top:10px;border-block:1px solid var(--line);min-height:36px}.results-link{border:0;background:none;color:var(--gold);font-size:10px;white-space:nowrap;min-height:36px;padding:0 2px}.results-scroll{display:flex;align-items:center;gap:5px;overflow-x:auto;flex:1;min-width:0;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}.results-scroll>span{font-size:10px;color:var(--muted)}.result-dot{flex:0 0 25px;height:25px;border:1px solid var(--line);border-radius:50%;background:#ffffff08;color:var(--gold);font:12px Georgia}.result-dot:hover{background:#d9b77722}.stake-caption{margin:10px 0 11px;font-size:8px;letter-spacing:1px}.chips{padding-bottom:10px;gap:20px}.chip{width:51px;height:51px}.wallet-bar{padding:10px 0 7px}.balance b{font-size:22px}.balance small{display:none}.stake-total b{font-size:17px}.repeat{font-size:11px;padding:10px}.table-foot{min-height:22px;font-size:10px}.table-foot #hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-face b{font-size:19px}.card-face svg{width:22px;height:25px}.table:has(.winner) .hand{border-color:#8aa68e55}dialog{padding:18px}#modal-content{overflow-x:auto}#modal-content button{min-height:42px}::selection{background:#d9b777;color:#082726}
@media(max-width:390px){.shell{padding:7px 7px 8px}.brand{font-size:19px}.brand-mark{width:29px;height:33px;font-size:24px}.table{padding:8px 9px 5px}.cards{height:69px}.odds>span{font-size:9px}.odds b{display:block;margin:2px 0 0;font-size:21px}.odds{margin-top:6px}.crown-title h1{font-size:20px}.round-bar h2{font-size:16px}.chips{gap:15px}.hand-kind{font-size:8px}.table-foot{font-size:9px}.balance b{font-size:20px}}
@media(max-width:340px){.header-actions{gap:3px}.icon{width:32px;height:34px}.nav-button{padding:0 8px;font-size:10px}.brand{font-size:17px;gap:6px}.cards{height:60px}.hands{gap:5px}.hand{padding-inline:4px}.mine,.pot{font-size:9px}.mine b{font-size:10px}.chips{gap:12px}.chip{width:47px;height:47px}.repeat{padding:9px 7px;font-size:10px}}
/* Embedded live-room sheet: keep the controls in one short game panel. */
@media(max-height:540px){.shell{padding:4px 6px;max-width:560px}.brand-mark,.brand small,.preview-strip,.crown-art,.crown-title,.crest,.stake-caption,.table-foot,.table-label{display:none}.brand{font-size:17px}.topbar{margin-bottom:4px}.header-actions .icon,.nav-button{height:30px;min-height:30px}.table{padding:4px 8px;border-radius:12px}.table-top{height:22px}.crown{margin-top:2px;padding:5px 7px}.odds{margin-top:0}.odds b{display:inline-block;margin-left:3px;font-size:18px}.odds>span{font-size:9px}.crown-stakes{margin-top:5px;padding-top:4px}.round-bar{margin:5px 0}.round-bar h2{font-size:14px}.clock{height:29px;width:29px}.hands{gap:7px}.hand{border-radius:10px;padding:5px}.hand-heading{margin-bottom:3px}.hand-heading strong{font-size:15px}.cards{height:48px;max-width:90px;margin:auto}.card-face b{font-size:14px;top:2px}.card-face svg{width:14px;height:15px;margin-top:12px}.hand-kind{min-height:16px;font-size:8px;padding-top:3px}.pot{margin:3px 0;font-size:9px}.mine{padding-top:3px;font-size:9px}.mine b{font-size:10px}.results-strip{margin-top:5px;min-height:28px}.results-link{min-height:28px}.result-dot{height:22px;flex-basis:22px}.chips{padding:7px 0;gap:20px}.chip{width:41px;height:41px}.wallet-bar{padding:6px 0 3px}.balance{margin-top:2px}.balance b{font-size:19px}.stake-total b{margin-top:2px;font-size:15px}.repeat{padding:8px;font-size:10px}.eyebrow{font-size:7px}.preview-strip{display:flex;border:0;padding:1px 2px;font-size:8px}.preview-strip>span:first-child{font-size:7px}.crown:before{content:'CROWN';display:block;color:var(--gold);font-size:8px;letter-spacing:1px;margin-bottom:3px}}

@media(max-height:540px){.hand .pot,.hand .mine{display:inline-block;font-size:8px;line-height:13px;border:0;margin:3px 0 0;padding:0}.hand .pot{margin-right:5px}.hand .mine b{font-size:9px;margin-left:2px}.cards{height:38px}.hand-kind{height:11px;min-height:11px;line-height:11px;padding:0;font-size:7px}.hand-heading{height:17px;line-height:17px}.chips{padding:6px 0}.chip{width:37px;height:37px}.wallet-bar{padding:4px 0 2px}.balance b{font-size:17px}.hand{padding:4px}.round-bar{margin:3px 0}.crown-stakes{font-size:9px}.odds b{font-size:16px}.repeat{padding:7px}.preview-strip{line-height:9px}.results-strip{margin-top:4px}}

/* Fit-to-viewport wrapper: scale only after compact layout, never clip controls. */
html,body{width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none}
.shell{position:absolute;max-width:none;margin:0;transform:translate(-50%,-50%) scale(var(--board-scale,1));transform-origin:center; padding-bottom:max(8px,env(safe-area-inset-bottom));padding-top:max(7px,env(safe-area-inset-top))}
.table{isolation:isolate}.brand-watermark{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.08;background-image:url("assets/brand-logo.png");background-size:100px 100px;background-position:12px 16px;background-repeat:repeat}
dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain}.table-top>span:first-child{letter-spacing:.6px}

.audio-settings{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}.audio-settings label{display:flex;justify-content:space-between;color:var(--cream);margin-top:10px}.audio-settings input{display:block;width:100%;min-height:36px;accent-color:var(--gold)}.audio-settings output{font-variant-numeric:tabular-nums}
