:root{--teal:#236b68;--ink:#143536;--cream:#fff4d9;--coral:#e9846e;--mint:#c8e2ce;--gold:#f6c861;color-scheme:light;font-family:"Baloo 2","Nunito",system-ui,"Noto Sans",sans-serif;color:var(--ink);background:#e8ba93}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,input{font:inherit;color:inherit}button,select{min-height:44px;min-width:44px;border:2px solid var(--ink);border-radius:12px;background:var(--cream);padding:7px 12px;cursor:pointer}button:not(:disabled):hover{background:var(--gold);transform:translateY(-1px)}button:not(:disabled):active{transform:scale(.97)}button:focus-visible,select:focus-visible{outline:3px solid var(--coral);outline-offset:2px}button:disabled{opacity:.48;cursor:default}input{width:20px;height:20px;accent-color:var(--teal)}label{display:inline-flex;align-items:center;gap:7px;max-width:100%;flex-wrap:wrap}h1,h2,p{margin:8px 0}h1{font-size:clamp(25px,4vw,38px);line-height:1.05}h2{font-size:23px;line-height:1.2}#stage{height:100dvh;display:grid;grid-template-rows:auto auto minmax(110px,1fr) auto;gap:6px;padding:max(6px,env(safe-area-inset-top)) max(7px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));max-width:1500px;margin:auto}header{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:16px;background:var(--cream);border:2px solid var(--ink);border-radius:14px;padding:5px}#turnLabel{flex:1}#seats{display:flex;gap:8px;justify-content:space-around;min-width:0}.seat{display:flex;align-items:center;gap:5px;min-width:0;flex:1;background:#ffefd3cc;border-radius:12px;padding:2px 8px}.seat img{width:48px;height:48px;object-fit:contain}.seat.active{box-shadow:inset 0 0 0 3px var(--coral)}.seatText{font-size:14px;line-height:1.1;overflow-wrap:anywhere}.seatText strong{display:block}#table{position:relative;min-height:0;border-radius:18px;border:3px solid var(--ink);overflow:hidden;background:var(--teal);display:grid;grid-template-rows:minmax(60px,1fr) auto}canvas{display:block;width:100%;height:100%;touch-action:none}#ends{display:flex;align-items:center;justify-content:space-between;gap:7px;background:#fff4d9e8;padding:4px 10px;min-height:48px}#ends strong{font-size:20px}#tableView{font-size:14px;padding:4px 9px}#dock{min-width:0;background:var(--cream);border:2px solid var(--ink);border-radius:14px;padding:5px 8px}#status{font-weight:700;min-height:20px;font-size:15px;line-height:1.15}#actions{display:flex;gap:7px;flex-wrap:wrap;margin:5px 0}#actions button{flex:1;white-space:normal;font-size:16px}#hand{display:flex;overflow-x:auto;overflow-y:hidden;gap:9px;padding:7px 3px 6px;min-height:83px;scrollbar-width:thin}button.handTile{flex:none;padding:6px;min-width:51px;min-height:72px;display:grid;place-items:center;position:relative}.handTile.selected{background:var(--gold);box-shadow:0 0 0 3px var(--coral)}.handTile.legal:not(.selected){border-color:#317b59}.domino{display:inline-grid;grid-template-rows:1fr 1fr;width:28px;height:56px;background:#fffbed;border:1px solid #685a42;border-radius:5px;box-shadow:2px 2px 0 #a68d64}.domino .half{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:3px;gap:2px}.domino .half:first-child{border-bottom:1px solid #927755}.pip{border-radius:50%;background:#183938;width:4px;height:4px;align-self:center;justify-self:center}#notice{font-size:13px;color:#954c36;margin:1px 0;min-height:0}#notice:empty{display:none}dialog{border:3px solid var(--ink);border-radius:20px;padding:0;background:var(--cream);color:var(--ink);width:min(580px,calc(100vw - 22px));max-height:calc(100dvh - 22px);overflow:auto}dialog::backdrop{background:#163f3aa0}.body{padding:15px}.row{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.row>label{flex:1}#menuArt{display:block;width:94px;height:94px;object-fit:contain;margin:auto}.coverArt{width:100%!important;height:auto!important;max-height:170px;object-fit:cover!important;border-radius:13px}#configuration{border-top:1px dashed var(--teal);margin-top:12px;padding-top:6px}#menuNotice{font-size:14px}#handover{background:#153e3d;color:var(--cream);width:calc(100vw - 8px);height:calc(100dvh - 8px);max-height:none;max-width:none;border-radius:12px;align-content:center;text-align:center}#handover::backdrop{background:#153e3d}#resultArt{display:block;width:105px;height:105px;object-fit:contain;margin:auto}#lessons{display:grid;gap:7px}#lessons button{text-align:left}#detailTiles,#roundHands,#resultHands{display:flex;flex-wrap:wrap;gap:9px;padding:7px}#detailTiles .domino{width:44px;height:88px}#detailTiles .pip{width:7px;height:7px}#detailTiles .half{padding:6px}#goal{background:var(--mint);padding:6px;border-radius:8px;font-size:14px}#resultHands p,#roundHands p{width:100%;font-size:14px}#music,#sfx,#motion{min-width:20px}body[data-motion=false] *{transition:none!important;animation:none!important}[hidden]{display:none!important}@media(min-width:750px) and (min-height:520px){#stage{gap:9px}#dock{padding:8px 15px}#hand{justify-content:center}.seat img{width:62px;height:62px}.seatText{font-size:16px}button.handTile{min-width:59px;min-height:85px}.domino{width:34px;height:68px}.pip{width:5px;height:5px}}@media(max-width:600px){header{gap:5px;font-size:13px}header button{font-size:13px;padding:5px 8px}#turnLabel{min-width:80px}#roundLabel,#stockLabel{font-size:12px}#seats{gap:4px}.seat{padding:2px 4px;gap:1px}.seat img{width:38px;height:43px}.seatText{font-size:11px}#ends strong{font-size:16px}#status{font-size:13px}#actions button{font-size:13px;padding:5px}#tableView{font-size:12px}.body{padding:13px}}@media(max-height:480px) and (min-width:600px){#stage{grid-template-columns:minmax(280px,1fr) minmax(235px,32%);grid-template-rows:auto auto minmax(100px,1fr);gap:5px}header{grid-column:1/-1;font-size:13px;padding:3px}#seats{grid-column:1;grid-row:2}.seat img{width:32px;height:34px}.seatText{font-size:11px}#table{grid-column:1;grid-row:3}#dock{grid-column:2;grid-row:2/4;overflow-y:auto}#hand{flex-wrap:wrap;overflow-x:hidden;justify-content:center}#actions{position:sticky;top:0;background:var(--cream);z-index:2}#actions button{flex-basis:40%;font-size:13px;padding:5px}#status{font-size:13px}#ends strong{font-size:15px}#tableView{font-size:12px}#menuArt{width:64px;height:64px}.body{padding:11px}}
#resultHands,#roundHands{max-height:min(220px,30dvh);overflow:auto}@media(max-height:480px){#resultArt{display:none}#result .body{padding:9px}#result h2{font-size:21px}#resultHands,#roundHands{max-height:110px}}

/* The full label is a 44px target for music, sound and motion toggles. */
label{min-height:44px}
