:root{color:#ede8da;background:#202d30}button{background:#18272bd4;border-color:#d9ccad36}button:hover{background:#304046e8}.primary,#actions .primary{background:#c3ad7edb;color:#202b2a}.opponent{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;border-radius:28px;background:#17262bb5;text-align:left}.opponent img{width:38px;height:38px;object-fit:cover;border-radius:50%;border:1px solid #d5bd8140}.opponent b{font-size:11px;letter-spacing:.3px}.opponent span{color:#c4cdcc}.opponent[hidden]{display:none}.opponent.human{left:22px;bottom:22px;transform:none}.speech{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);font-style:normal;white-space:nowrap;font-size:12px;letter-spacing:1px;background:#23373dec;color:#f1e8d4;border:1px solid #d5bd8150;border-radius:14px;padding:8px 13px;opacity:0;transition:opacity .2s,transform .2s;box-shadow:0 3px 18px #0003}.speech.show{opacity:1;transform:translateX(-50%) translateY(0)}.human .speech{left:0;transform:translateY(4px)}.human .speech.show{transform:translateY(0)}#actions{left:50%;bottom:calc(65px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 140px);gap:5px}#actions button{min-width:47px;padding:8px 13px;font-size:13px;border-radius:22px;color:#c3ccce;background:#17272bce}#actions button.available{border-color:#d8bd826e;color:#f0e4c9;background:#344640d9}#actions button.primary{background:#c3ad7edb;color:#202b2a}.caption{bottom:calc(19px + env(safe-area-inset-bottom))}.caption span{color:#c7cdcf}.roll-button{bottom:calc(145px + env(safe-area-inset-bottom))}dialog{background:#1a2a30ed;border-color:#baa77b66}dialog::backdrop{background:#101c2345;backdrop-filter:blur(2px)}dialog p{color:#c9cdca}#background-dialog{max-height:90dvh;overflow:auto;text-align:left}#background-dialog h2{text-align:center;font-size:23px}#background-dialog label{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:14px;margin:17px 0}select{font:inherit;min-height:42px;min-width:160px;border:1px solid #ac9e8059;border-radius:10px;background:#263a42;color:#e9e3d4;padding:8px 12px}.file-choice{border:1px dashed #ac9e803d;border-radius:10px;padding:10px;position:relative;cursor:pointer;color:#c9c7b9;min-height:42px}.file-choice input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.dialog-settings{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.dialog-settings button{font-size:11px;padding:7px 12px}#choice-list{display:flex;flex-direction:column;gap:8px}#close-choice{margin-top:15px;width:100%}.tools{bottom:calc(23px + env(safe-area-inset-bottom))}.settings{gap:0}#toast{font-size:14px;letter-spacing:1px;white-space:normal;max-width:calc(100vw - 36px);width:max-content;text-align:center;background:#1a2c32ed}#actions{z-index:3}
@media(max-width:600px){.opponent img{width:31px;height:31px}.opponent{gap:5px;padding:4px 8px 4px 4px}.opponent b{font-size:10px}.opponent.human{left:12px;bottom:calc(18px + env(safe-area-inset-bottom))}.human #seat0{display:none}.human b{font-size:10px}#actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:50%;width:calc(100vw - 32px);max-width:460px;gap:5px;bottom:calc(90px + env(safe-area-inset-bottom))}#actions button{font-size:12px;min-width:0;min-height:40px;padding:7px 10px}.caption{max-width:calc(100vw - 140px);bottom:calc(29px + env(safe-area-inset-bottom))}.caption strong{font-size:10px;letter-spacing:1px}.caption span{font-size:9px;margin-top:5px}.tools{right:12px;bottom:calc(16px + env(safe-area-inset-bottom));gap:5px}.tools .icon{width:36px;height:36px;min-height:36px;padding:8px}.roll-button{bottom:calc(188px + env(safe-area-inset-bottom))}.speech{font-size:11px;padding:7px 10px}}
@media(orientation:landscape) and (max-height:500px){#actions{display:flex;flex-wrap:nowrap;left:50%;bottom:calc(52px + env(safe-area-inset-bottom));max-width:calc(100vw - 150px);width:max-content;gap:4px}#actions button{font-size:11px;min-height:35px;min-width:38px;padding:6px 10px}.caption{left:50%;bottom:12px;max-width:55vw}.opponent.human{left:14px;bottom:12px}.tools{right:12px;bottom:12px;flex-direction:row}.roll-button{bottom:100px}.opponent img{width:30px;height:30px}.opponent{padding:4px 8px 4px 4px}.speech{padding:6px 10px}}
.icon,.tools .icon,.settings .icon{display:flex;align-items:center;justify-content:center;padding:0;line-height:0;position:relative;flex-shrink:0}.icon svg{display:block;flex-shrink:0;width:22px;height:22px;pointer-events:none}.tools{gap:8px}#actions{bottom:calc(28px + env(safe-area-inset-bottom))}#actions button.attention{background:#c5a568ed;color:#172b2c;border-color:#f2d49c;box-shadow:0 0 0 2px #dcc28b35,0 0 22px #d9ae5c35;animation:action-glow 1.8s ease-in-out infinite}#actions button.attention:hover{background:#e4c488}@keyframes action-glow{50%{background:#dcc28bef;box-shadow:0 0 0 3px #dcc28b35,0 0 25px #d9ae5c55}}@media(prefers-reduced-motion:reduce){#actions button.attention{animation:none}}
.speech{display:flex;flex-direction:column;align-items:center;gap:5px;padding:7px 10px;border-radius:13px;letter-spacing:.2px}.discard-label{font-size:11px;line-height:1.3}.discard-card{display:flex;align-items:center;justify-content:center;width:41px;height:57px;padding:3px;background:linear-gradient(135deg,#f7f2e5,#dedacc);border:1px solid #fff4d7a0;border-right:3px solid #9badae;border-bottom:3px solid #b3b2a6;border-radius:5px;box-shadow:0 4px 10px #0003}.opponent .discard-card img{width:32px;height:46px;object-fit:contain;border:0;border-radius:0}.speech.show{animation:discard-appear .18s ease-out}@keyframes discard-appear{from{opacity:0}to{opacity:1}}#chat-unread{position:absolute;right:-3px;top:-3px;border-radius:12px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;background:#c3a574;color:#19292b;line-height:18px;font-size:9px;font-weight:600}#chat-unread[hidden]{display:none}
#chat-dialog{position:fixed;inset:auto 82px calc(24px + env(safe-area-inset-bottom)) auto;margin:0;width:350px;max-width:calc(100vw - 90px);height:min(60dvh,520px);max-height:calc(100dvh - 32px);padding:0;border-radius:20px;text-align:left;z-index:5;box-shadow:0 10px 50px #0006;background:#192c32ed}#chat-dialog[open]{display:flex;flex-direction:column}#chat-dialog .chat-header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 17px 13px;border-bottom:1px solid #d8c49925;flex-shrink:0}#chat-dialog h2{margin:0 0 9px;font-size:17px;letter-spacing:2px}#chat-dialog #table-status{color:#d7c29b;max-width:255px;font-size:11px;gap:9px;flex-wrap:wrap}#chat-phase{margin:7px 0 0;font-size:11px;line-height:1.5;color:#bdc9c8}#close-chat{width:32px;height:32px;min-height:32px;border:0;background:transparent;box-shadow:none}#close-chat svg{width:18px;height:18px}#chat-log{list-style:none;margin:0;padding:10px 16px 16px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin}#chat-log li{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #e1d3ab0b;line-height:1.65;font-size:12px;color:#dee1d8;overflow-wrap:anywhere}#chat-log img{width:27px;height:27px;border-radius:50%;object-fit:cover;flex-shrink:0}#chat-log [data-type="round"]{color:#d4ba86;font-size:11px;padding-top:16px}#chat-log [data-type="win"],#chat-log [data-type="result"]{color:#efd2a0}#chat-log .log-empty{color:#a8b7b7;font-size:12px}
@media(max-width:600px){#actions{bottom:calc(32px + env(safe-area-inset-bottom));width:calc(100vw - 74px);left:calc(50% - 22px)}.opponent.human{bottom:calc(134px + env(safe-area-inset-bottom))}.speech{padding:5px 7px;gap:4px}.discard-label{font-size:10px}.discard-card{width:34px;height:47px}.opponent .discard-card img{width:26px;height:37px}#chat-dialog{right:58px;bottom:calc(18px + env(safe-area-inset-bottom));width:calc(100vw - 70px);max-width:380px;height:min(62dvh,500px)}#chat-dialog .chat-header{padding:14px 13px 10px}#chat-log{padding:8px 12px 12px}.tools{gap:7px}}
@media(orientation:landscape) and (max-height:500px){#actions{left:calc(50% - 30px);bottom:calc(14px + env(safe-area-inset-bottom));max-width:calc(100vw - 275px)}#actions button{min-width:34px;padding:6px 8px}.tools{gap:5px;right:10px;bottom:12px}.tools .icon{width:34px;height:34px;min-height:34px}.tools .icon svg{width:20px;height:20px}.opponent.human{left:10px;bottom:65px}.speech{padding:5px 7px;gap:3px}.discard-label{font-size:10px}.discard-card{width:31px;height:42px}.opponent .discard-card img{width:23px;height:32px}#chat-dialog{right:10px;bottom:58px;width:340px;height:calc(100dvh - 72px);max-width:calc(100vw - 20px)}}
@media(max-width:600px) and (orientation:portrait){.opponent.human{bottom:calc(clamp(155px,30dvh,255px) + env(safe-area-inset-bottom))}}
.tools{left:calc(20px + env(safe-area-inset-left));right:auto;bottom:calc(20px + env(safe-area-inset-bottom));flex-direction:row;gap:9px}.opponent.human{left:22px;bottom:85px}.operation-label{max-width:180px;white-space:normal;line-height:1.5;text-align:center}.last-discard-label{font-size:9px;color:#b9c6bf;line-height:1.3}.opponent.ready{border-color:#dfc289}.speech .last-discard-label{margin:0}#chat-dialog{left:20px;right:auto;bottom:78px}#pause-mark{position:absolute;right:-2px;top:-2px;width:17px;height:17px;border-radius:50%;font-size:10px;line-height:17px;background:#c7aa72;color:#172b2c}#pause-mark[hidden]{display:none}.menu-row{display:block;width:100%;margin:9px 0;text-align:left;padding:15px 18px}.menu-row b{font-weight:500}.menu-row small{margin-top:6px}.audio-controls{border-top:1px solid #d5bd8128;margin-top:18px}.audio-controls input[type=checkbox]{width:20px;height:20px;accent-color:#c6b180}.audio-controls input[type=range]{width:160px;accent-color:#c6b180}#players-dialog,#coin-rules-dialog,#coin-dialog{max-width:570px;max-height:88dvh;overflow:auto}#character-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;text-align:left}.character-card{display:flex;align-items:center;gap:9px;padding:12px;background:#27393480;border:1px solid #bfad7b22;border-radius:13px;cursor:pointer}.character-card.chosen{border-color:#c6b180a0;background:#48544780}.character-card input{accent-color:#c6b180;width:16px;flex-shrink:0}.character-card img{width:43px;height:43px;object-fit:cover;border-radius:50%;flex-shrink:0}.character-card b{font-size:13px}.character-card small{display:inline;margin-left:7px;color:#d5bd81}.character-card p{font-size:10px;line-height:1.6;margin:5px 0 0}#actions button.selecting{outline:2px solid #edd49b}#actions button.selecting small{display:inline;margin:0 0 0 5px;font-size:11px;color:inherit}#coin-rules-form label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;margin:12px 0;text-align:left}input[type=number]{width:96px;min-height:38px;padding:8px;border:1px solid #c6b18060;background:#253a35;color:#eee5d2;border-radius:8px;font:inherit}.coin-row{display:flex;align-items:center;gap:6px;margin:12px 0;text-align:left;font-size:12px}.coin-row span{flex:1}.coin-row button{padding:7px 10px;min-height:36px;font-size:12px}
@media(max-width:600px){.tools{left:12px;right:auto;bottom:calc(14px + env(safe-area-inset-bottom));flex-direction:row}.opponent.human{left:12px;bottom:calc(145px + env(safe-area-inset-bottom))}#actions{left:50%;width:calc(100vw - 24px);bottom:calc(62px + env(safe-area-inset-bottom))}#chat-dialog{left:12px;right:auto;bottom:62px;max-width:calc(100vw - 24px)}#character-list{grid-template-columns:1fr}.character-card img{width:38px;height:38px}.operation-label{max-width:130px;font-size:10px}.last-discard-label{font-size:8px}}
@media(orientation:landscape) and (max-height:500px){.tools{left:10px;right:auto;bottom:10px;gap:5px}#actions{left:calc(50% + 75px);bottom:12px;max-width:calc(100vw - 190px);width:max-content;gap:3px}#actions button{min-width:33px;padding:6px 7px}.opponent.human{left:10px;bottom:59px}#chat-dialog{left:10px;right:auto;bottom:56px}#character-list{grid-template-columns:1fr 1fr}}
/* Spacious dialog controls and a shared, readable action announcement. */
dialog>button{display:block;width:100%;margin:14px 0 0;min-height:46px;text-align:center}dialog .menu-row{margin:14px 0;text-align:center;padding:18px 20px}dialog .dialog-settings{gap:12px;margin:20px 0}dialog .dialog-settings button{flex:1;min-height:42px;padding:10px 14px}#close-players,#close-coin-rules,#inspect-result{border:1px solid #bfad7b40;margin-top:14px;min-height:44px;padding:12px}#operation-banner{position:fixed;z-index:4;top:calc(25px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 28px;background:#12261ff2;border:1px solid #e6c37c99;border-radius:17px;box-shadow:0 10px 45px #0007;pointer-events:none;color:#ffdf9d;text-align:center}#operation-banner[hidden]{display:none}#operation-banner strong{font-size:23px;font-weight:500;line-height:1.4;letter-spacing:1px}#operation-banner img{width:36px;height:49px;object-fit:contain;background:#f1eadb;border-radius:4px;padding:3px}.operation-label{font-size:14px;font-weight:600;color:#ffdda1}.speech{border-color:#d4b57799;background:#16362dee}.tools .icon{display:grid;place-items:center;padding:0}.tools .icon svg{margin:0}.coin-row{gap:12px}.coin-row button{min-width:54px}
@media(max-width:600px){#operation-banner{top:calc(14px + env(safe-area-inset-top));padding:11px 16px;gap:12px}#operation-banner strong{font-size:18px}.operation-label{font-size:12px}dialog{padding:24px}dialog>button{margin-top:16px}}
@media(orientation:landscape) and (max-height:500px){#operation-banner{top:10px;padding:8px 18px}#operation-banner strong{font-size:17px}#operation-banner img{width:25px;height:34px}.tools{gap:10px}#actions{left:calc(50% + 85px);max-width:calc(100vw - 210px)}}
/* Seat-local action cards and tools on the right. */
.tools{left:auto;right:calc(22px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));gap:10px;flex-direction:row}.operation-tiles{display:flex;align-items:center;justify-content:center;gap:6px}.speech{padding:12px 15px;max-width:230px;min-width:90px;white-space:normal;background:#122a22f5;border:1px solid #bca16b85;box-shadow:0 7px 28px #0005}.operation-label{font-size:15px;font-weight:600;line-height:1.5;max-width:200px}.opponent.announcing,.opponent.responding{border-color:#edd49b;box-shadow:0 0 0 2px #edc78330,0 0 28px #edc78355}.opponent.announcing .speech,.opponent.responding .speech{border-color:#f1d390;background:#173c2af5;box-shadow:0 6px 30px #0007}.opponent.announcing .operation-label{color:#ffe6aa}.human .speech{left:0;transform:none}select{appearance:none;-webkit-appearance:none;padding:10px 44px 10px 17px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23dbd6c5' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:16px}#chat-dialog{left:auto;right:22px;bottom:78px}#sort-near-hand{z-index:3;border-radius:18px;font-size:12px;min-height:36px;padding:7px 12px;background:#243e31ee;border-color:#c4b07c80}#sort-near-hand[hidden],#reaction-countdown[hidden],#actions:empty{display:none}#reaction-countdown{position:fixed;z-index:4;left:50%;transform:translateX(-50%);bottom:92px;padding:8px 16px;background:#304b2cf5;border:1px solid #efcf82;border-radius:16px;color:#ffe0a0;font-size:14px;pointer-events:none}#actions{left:50%;bottom:24px;max-width:calc(100vw - 260px);width:max-content;display:flex;flex-wrap:wrap;justify-content:center}#actions button{min-width:52px}
@media(max-width:600px){.tools{left:auto;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));gap:9px}.speech{max-width:142px;padding:8px 9px;min-width:75px}.operation-label{font-size:12px;max-width:124px}.operation-tiles{gap:4px}.operation-tiles .discard-card{width:29px;height:42px;padding:2px}:is(.opponent .operation-tiles,.table-speech .operation-tiles) img{width:22px;height:33px}.opponent.human{bottom:calc(148px + env(safe-area-inset-bottom))}#chat-dialog{left:auto;right:12px;bottom:66px}select{min-width:150px;max-width:62%;padding-right:40px;background-position:right 16px center}#actions{left:50%;bottom:66px;max-width:calc(100vw - 24px);width:max-content;display:flex;flex-wrap:wrap}#reaction-countdown{bottom:120px;font-size:12px;white-space:nowrap}#sort-near-hand{font-size:11px;padding:6px 10px;min-height:34px}}
@media(orientation:landscape) and (max-height:500px){.tools{left:auto;right:12px;bottom:12px;gap:8px}.opponent.human{left:12px;bottom:62px}.speech{max-width:175px;padding:7px 10px}.operation-label{font-size:12px;max-width:155px}.operation-tiles .discard-card{width:28px;height:39px}:is(.opponent .operation-tiles,.table-speech .operation-tiles) img{width:21px;height:30px}#chat-dialog{left:auto;right:12px;bottom:62px}#actions{left:calc(50% - 70px);bottom:12px;max-width:calc(100vw - 220px);width:max-content}#reaction-countdown{bottom:60px}}
#reaction-countdown{position:static;transform:none;left:auto;bottom:auto;margin:4px 0 0;padding:5px 9px;font-size:12px;white-space:nowrap;border-radius:9px;background:#ae6630;color:#fff4cb;font-weight:600}.opponent.responding .speech{border-width:2px;border-color:#ffe09a}.opponent.responding .operation-label{color:#ffe3a0}#actions button{min-width:54px}#sort-near-hand{transform:none}#reaction-countdown[hidden]{display:none}
/* Larger operation lettering and touch targets. */
.operation-label{font-size:30px;max-width:330px;line-height:1.45}.speech{max-width:360px;min-width:110px;padding:14px 18px}.speech .discard-card{width:48px;height:65px}:is(.opponent .speech,.table-speech) .discard-card img{width:37px;height:53px}.operation-tiles{gap:8px}#actions button{font-size:20px;min-width:68px;min-height:56px;padding:12px 20px;border-radius:25px}#sort-near-hand{font-size:18px;min-height:48px;padding:10px 17px;white-space:nowrap}#reaction-countdown{font-size:16px;padding:7px 12px}
@media(max-width:600px){.operation-label{font-size:24px;max-width:180px}.speech{max-width:202px;padding:11px 12px;min-width:92px}.speech .discard-card{width:37px;height:51px}:is(.opponent .speech,.table-speech) .discard-card img{width:28px;height:41px}.operation-tiles{gap:5px}#actions button{font-size:18px;min-height:50px;min-width:60px;padding:10px 15px}#sort-near-hand{font-size:16px;min-height:44px;padding:9px 13px}#reaction-countdown{font-size:15px}#actions{bottom:68px;max-width:calc(100vw - 20px)}.opponent.human{bottom:calc(162px + env(safe-area-inset-bottom))}}
@media(orientation:landscape) and (max-height:500px){.operation-label{font-size:24px;max-width:230px}.speech{max-width:254px;padding:8px 11px}#actions button{font-size:17px;min-height:46px;min-width:54px;padding:9px 13px}#sort-near-hand{font-size:15px;min-height:40px;padding:8px 12px}.opponent.human{bottom:70px}.speech .discard-card{width:31px;height:44px}:is(.opponent .speech,.table-speech) .discard-card img{width:24px;height:35px}}
:is(.opponent .speech,.table-speech) .operation-label{font-size:18px;line-height:1.5}:is(.opponent .speech,.table-speech) .last-discard-label{font-size:12px}.speech{max-width:330px}
@media(max-width:600px){:is(.opponent .speech,.table-speech) .operation-label{font-size:16px}:is(.opponent .speech,.table-speech) .last-discard-label{font-size:11px}.speech{max-width:202px}}
@media(orientation:landscape) and (max-height:500px){:is(.opponent .speech,.table-speech) .operation-label{font-size:16px}.speech{max-width:238px}}
#result{max-width:600px;max-height:88dvh;overflow:auto;padding:28px}#settlement-detail{overflow:auto;text-align:left}#settlement-detail table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}#settlement-detail th{padding:11px 8px;color:#ebd7a2;font-weight:500;border-bottom:1px solid #cab78155}#settlement-detail td{padding:12px 8px;border-bottom:1px solid #cab78122;text-align:center}#settlement-detail ul{padding:8px 0 0 20px;color:#c8cfc1;font-size:12px;line-height:1.8}#confirm-payment,#flip-award{font-size:17px;min-height:52px;margin-top:18px}#confirm-payment[hidden],#flip-award[hidden],#again[hidden]{display:none}
@media(max-width:600px){#result{padding:24px 18px}#settlement-detail table{font-size:12px}#settlement-detail th,#settlement-detail td{padding:10px 5px}}
#seat-picker{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border:1px solid #bca16b85;border-radius:18px;background:#122a22ed;z-index:5}#seat-picker[hidden],#configure-round[hidden]{display:none}#configure-round{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);z-index:5}.opponent.human{bottom:auto;transform:translate(-50%,-50%)}:is(.opponent .speech,.table-speech){display:flex;flex-direction:row;align-items:center;gap:14px;max-width:470px}.speech:after{content:'';position:absolute;left:50%;bottom:-13px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:13px solid #173c2a}:is(.opponent .speech,.table-speech) .operation-label{text-align:left;max-width:240px;font-size:20px}.speech .operation-tiles{flex-shrink:0}#coin-rules-form input[type=checkbox]{width:22px;height:22px;accent-color:#c6b180}@media(max-width:600px){#seat-picker{width:calc(100vw - 24px);flex-wrap:wrap}:is(.opponent .speech,.table-speech){gap:6px;max-width:260px}:is(.opponent .speech,.table-speech) .operation-label{font-size:14px;max-width:130px}}
.opponent,.opponent.human{transform:none!important}:is(.opponent .speech,.table-speech){width:max-content;pointer-events:none}
#seat-picker{position:static;transform:none;background:none;border:0;padding:0;display:contents}#seat-picker>span{display:none}#seat-picker button{position:fixed;transform:translate(-50%,-50%);z-index:5;padding:12px 22px;font-size:18px;background:#18392deb;border-color:#cfb47f}#seat-picker[hidden]{display:none}#flip-award{position:fixed;left:50%;bottom:85px;transform:translateX(-50%);z-index:5;background:#bfa473;color:#14281f}#flip-award[hidden]{display:none}#score-dialog p{font-size:22px;color:#f4dfb0}#result[open]{animation:settle-in .45s ease-out}@keyframes settle-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
.table-speech{z-index:4;display:flex;align-items:center;gap:14px;width:max-content;pointer-events:none}.table-speech[hidden]{display:none}.table-speech .discard-card img{object-fit:contain;border-radius:0}.table-speech .operation-label{color:#ffdda1}.table-speech:after{left:calc(50% - 10px)}
.opponent.active img,.opponent.speaking img{animation:actor-turn 1.1s ease-in-out infinite}.opponent.active,.opponent.speaking{border:2px solid #ffe1a2;background:#284c37ed;box-shadow:0 0 20px #ffd98c80}@keyframes actor-turn{0%,100%{box-shadow:0 0 0 2px #ffe1a2,0 0 8px #ffd98c80;filter:brightness(1);transform:scale(1)}50%{box-shadow:0 0 0 7px #ffe1a260,0 0 28px #ffd98ccc;filter:brightness(1.3);transform:scale(1.10)}}
#actions{position:fixed;width:max-content;max-width:calc(100vw - 24px);z-index:5;bottom:auto;gap:7px}
#enable-entrance-music{right:22px;top:22px;z-index:6;background:#bfa473;color:#14281f}#enable-entrance-music[hidden]{display:none}
#result-items li{padding:12px;margin:8px 0;border-radius:10px;text-align:left;transition:background .2s,transform .2s}#result-items .settling-item{background:#a3843a77;color:#ffe5a3;transform:scale(1.025);box-shadow:0 0 16px #eac25b55}#result-items .settled-item{color:#b9d5b5}
.table-speech.response-panel{display:grid;grid-template-columns:auto auto;gap:10px 14px;max-width:calc(100vw - 24px)}#actions.in-bubble{position:static!important;left:auto!important;top:auto!important;bottom:auto!important;transform:none!important;visibility:visible!important;grid-column:1 / -1;max-width:100%;width:100%;pointer-events:auto;padding-top:8px;border-top:1px solid #d4b57755;display:flex;flex-wrap:wrap}.response-panel #actions button{font-size:16px;min-height:42px;min-width:48px;padding:8px 13px}
#meld-instruction{display:block;width:100%;flex-basis:100%;font-size:13px;line-height:1.5;color:#ffe1a2;text-align:center}
#flip-award{border:1px solid #f7d893;border-radius:24px;background:linear-gradient(135deg,#ebcf92,#b99252);box-shadow:0 6px 28px #0008,0 0 22px #e5be6838;padding:11px 22px;white-space:nowrap;animation:flip-invitation 2s ease-in-out infinite}@keyframes flip-invitation{50%{box-shadow:0 6px 28px #0008,0 0 30px #e5be6888}}
#award-reveal{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(ellipse at center,#685028ba,#0b1c18f5 65%);backdrop-filter:blur(12px);color:#ffdfa4;overflow:hidden;animation:award-arrive .45s ease-out}#award-reveal[hidden]{display:none}.award-kicker{font-size:12px;letter-spacing:4px;z-index:2}.award-card{width:108px;height:148px;padding:9px;border-radius:12px;background:linear-gradient(145deg,#fff8e7,#d6c79e);box-shadow:0 0 0 1px #ffeca6,0 16px 60px #0009,0 0 60px #dfb55455;z-index:2;animation:award-card-reveal .9s cubic-bezier(.2,.7,.2,1)}.award-card img{width:100%;height:100%;object-fit:contain}#award-title{font-size:clamp(30px,4vw,52px);letter-spacing:4px;font-weight:500;margin:6px 0 0;z-index:2;text-shadow:0 0 36px #ddb66666;animation:award-heading .8s ease-out}#award-description{font-size:16px;color:#ddd0b6;z-index:2;margin:0}.award-orbit{position:absolute;width:430px;height:430px;border:1px solid #d5b97f40;border-radius:50%;box-shadow:0 0 0 30px #dfbd7810,0 0 0 90px #dfbd7806;animation:award-orbit 2.4s ease-out}.award-sparks{position:absolute;left:50%;top:50%;width:0;height:0}.award-sparks i{position:absolute;width:3px;height:16px;border-radius:3px;background:linear-gradient(#ffeba9,transparent);transform:rotate(var(--angle)) translateY(-140px);animation:award-spark 1.8s var(--delay) ease-out both}@keyframes award-spark{from{opacity:0;transform:rotate(var(--angle)) translateY(-60px)}25%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-310px)}}@keyframes award-orbit{from{transform:scale(.6);opacity:0}40%{opacity:1}to{transform:scale(1.2);opacity:.4}}@keyframes award-arrive{from{opacity:0}to{opacity:1}}@keyframes award-card-reveal{from{opacity:0;transform:perspective(800px) rotateY(120deg) translateY(30px) scale(.8)}to{opacity:1;transform:perspective(800px) rotateY(0) translateY(0) scale(1)}}@keyframes award-heading{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
#result{width:min(680px,calc(100vw - 28px));max-width:680px;max-height:90dvh;overflow:auto;padding:30px;border-radius:26px;background:radial-gradient(ellipse at top,#364b36,#142a24 55%,#10231f);border:1px solid #c4a77480;box-shadow:0 24px 100px #000b,inset 0 1px #f2db9b33;text-align:center}#result::backdrop{background:#091612aa;backdrop-filter:blur(9px)}.settlement-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:20px;border-bottom:1px solid #c4a77430}.settlement-top .eyebrow{font-size:10px;letter-spacing:2px}#settlement-progress{font-size:11px;border-radius:20px;padding:6px 12px;color:#ddc89c;border:1px solid #c4a77440;background:#c4a77410}#winner-hero{display:flex;flex-direction:column;align-items:center;gap:12px;margin:24px 0 12px}#winner-hero img{width:76px;height:76px;border-radius:50%;object-fit:cover;border:2px solid #dfc184;box-shadow:0 0 0 7px #dfc18412,0 10px 35px #0005;animation:winner-arrive .7s ease-out}#winner-hero span{font-size:12px;color:#e5c990;letter-spacing:2px}#result-title{font-size:32px;letter-spacing:2px;font-weight:500;margin:12px 0}#result-description{font-size:13px;color:#a8baae;margin:8px 0 24px}#settlement-detail table{width:100%;border-collapse:collapse;font-size:13px;background:#0a1e1860;border-radius:14px;overflow:hidden}#settlement-detail th{color:#bca880;font-size:11px;font-weight:400;padding:13px 8px;background:#c4a7740c}#settlement-detail td{padding:15px 8px;border-top:1px solid #c4a77418;color:#e5dcc6}#settlement-detail td:last-child{font-variant-numeric:tabular-nums;color:#f0d7a1}#result-items{list-style:none;padding:0;display:flex;flex-direction:column;gap:9px;margin:22px 0}#result-items li{padding:15px 18px;margin:0;border:1px solid #a8926340;background:#ffffff04;border-radius:13px;font-size:13px;line-height:1.6;text-align:left;color:#b1bdae;transition:background .35s,border-color .35s,transform .35s}#result-items .settling-item{background:linear-gradient(110deg,#98723755,#ddbe6920);border-color:#e4c889;color:#ffe9b5;transform:translateX(3px);box-shadow:0 0 25px #d4ac5325;animation:ledger-settle 1.1s ease-out}#result-items .settled-item{border-color:#89ad7c40;color:#c5dbbf}#result #again{margin-top:20px;border-radius:14px;background:linear-gradient(135deg,#e4ca91,#b99659);font-size:16px;letter-spacing:2px}#result #inspect-result{background:transparent;border-color:#c4a77433;color:#b8c3b7;min-height:40px;font-size:12px}#result #confirm-payment{background:#c4a77418;color:#ddc89c;border-color:#c4a77430;font-size:12px}#result #confirm-payment:disabled{opacity:1}@keyframes winner-arrive{from{opacity:0;transform:translateY(12px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ledger-settle{0%{box-shadow:inset -400px 0 #e9d18b00}40%{box-shadow:inset 0 0 #e9d18b20}100%{box-shadow:inset 400px 0 #e9d18b00}}@media(max-width:600px){#result{padding:22px 16px}#result-title{font-size:26px}.settlement-top{gap:6px}.settlement-top .eyebrow{font-size:8px;letter-spacing:1px}#settlement-detail td{padding:12px 5px;font-size:11px}.award-orbit{width:300px;height:300px}#award-description{font-size:13px}#result-items li{padding:12px;font-size:12px}}@media(prefers-reduced-motion:reduce){#award-reveal *,#result *,#flip-award{animation:none!important;transition:none!important}}
#flip-award{margin:0!important}
#award-reveal{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 36px));height:min(390px,calc(100dvh - 48px));border:1px solid #dec48a80;border-radius:24px;gap:14px;background:radial-gradient(ellipse at center,#5b492de8,#10251ef5 75%);box-shadow:0 20px 80px #0009;backdrop-filter:blur(8px)}#award-reveal .award-orbit{width:280px;height:280px}#award-reveal .award-card{width:86px;height:118px}#award-reveal #award-title{font-size:30px;letter-spacing:2px}#award-reveal .award-kicker{font-size:10px;letter-spacing:2px}#award-reveal #award-description{font-size:13px}@media(max-height:500px){#award-reveal{height:320px;gap:10px}#award-reveal .award-card{width:68px;height:94px}#award-reveal #award-title{font-size:25px}}
#win-signal{position:fixed;z-index:18;top:16%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:22px;padding:22px 34px;border-radius:20px;border:1px solid #f1d18d;background:linear-gradient(120deg,#18362af5,#4c4928f5);box-shadow:0 0 60px #e2ba5e50,0 20px 60px #0007;color:#ffe0a0;animation:win-signal-enter .55s ease-out;pointer-events:none;max-width:calc(100vw - 32px)}#win-signal[hidden]{display:none}#win-signal-avatar{width:76px;height:76px;object-fit:cover;border-radius:50%;border:2px solid #ffe2a6;box-shadow:0 0 30px #e7c77666}#win-signal-name{display:block;font-size:38px;letter-spacing:5px;white-space:nowrap}#win-signal-detail{display:block;font-size:12px;color:#dacaac;margin-top:10px}.opponent.winning{box-shadow:0 0 0 4px #f7d38a60,0 0 45px #e6bc6188;border-color:#ffe2a0}@keyframes win-signal-enter{from{opacity:0;transform:translateX(-50%) translateY(15px) scale(.85)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
#award-reveal{width:250px;height:116px;max-width:calc(100vw - 20px);min-height:0;inset:auto;transform:translateX(-50%);padding:14px;gap:6px;border-radius:14px;background:#183127f0;border:1px solid #e0c17b80;box-shadow:0 6px 25px #0006;overflow:visible;backdrop-filter:none;pointer-events:none;animation:award-arrive .3s ease-out}#award-reveal .award-card{display:none}#award-reveal .award-kicker{font-size:9px;letter-spacing:1px}#award-reveal #award-title{font-size:23px;letter-spacing:1px;margin:2px 0}#award-reveal #award-description{font-size:11px}#award-reveal .award-orbit{position:absolute;left:50%;top:calc(100% + 14px);width:64px;height:64px;margin:-32px;border:1px solid #ffdb79;box-shadow:0 0 18px #dfbd7877,0 0 0 9px #dfbd7822;animation:tile-bonus-ring 1.2s ease-out infinite}#award-reveal .award-sparks{top:calc(100% + 14px)}#award-reveal .award-sparks i{height:8px;animation:tile-bonus-spark 1.5s var(--delay) ease-out both}@keyframes tile-bonus-ring{from{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}@keyframes tile-bonus-spark{from{opacity:0;transform:rotate(var(--angle)) translateY(-15px)}25%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-65px)}}@media(max-width:600px){#win-signal{gap:14px;padding:16px 20px}#win-signal-avatar{width:54px;height:54px}#win-signal-name{font-size:28px;letter-spacing:2px}#win-signal-detail{font-size:10px}}
/* Table-space action effects: noninteractive, follow the actual tiles. */
.table-flourish{position:fixed;z-index:19;width:0;height:0;pointer-events:none;--fx:#ffd77d;filter:drop-shadow(0 0 9px var(--fx))}.table-flourish.concealedKong{--fx:#a7bcff}.table-flourish.exposedKong{--fx:#ffd16e}.table-flourish.addedKong{--fx:#80ffe0}.table-flourish.discardWin{--fx:#ff8873}.table-flourish.selfDraw{--fx:#ffe4a1}.table-flourish b{position:absolute;left:-50px;top:-50px;width:100px;height:100px;border:2px solid var(--fx);border-radius:50%;box-shadow:inset 0 0 18px color-mix(in srgb,var(--fx) 25%,transparent),0 0 18px color-mix(in srgb,var(--fx) 35%,transparent);animation:action-shockwave 1.35s calc(var(--i)*.13s) ease-out both}.table-flourish b:nth-child(2){border-style:dashed}.table-flourish b:nth-child(3){border-radius:22%;border-width:1px}.table-flourish i{position:absolute;width:3px;height:15px;left:-1px;top:-7px;background:linear-gradient(transparent,var(--fx));border-radius:50%;animation:action-particle 1.45s var(--d) cubic-bezier(.12,.6,.3,1) both}@keyframes action-shockwave{0%{opacity:0;transform:scale(.12) rotate(-35deg)}15%{opacity:1}100%{opacity:0;transform:scale(2.1) rotate(35deg)}}@keyframes action-particle{0%{opacity:0;transform:rotate(var(--a)) translateY(-5px) scale(.2)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--a)) translateY(calc(-1*var(--r))) scale(.4)}}
#award-reveal{background:linear-gradient(125deg,#193b30f5,#433822f0);border-color:#ffe0a0;box-shadow:0 0 30px #e8bf6140,0 10px 35px #0008;animation:reward-reveal .6s cubic-bezier(.16,1,.3,1)}#award-reveal::before{content:'';position:absolute;inset:-6px;border:1px solid #f6d78c60;border-radius:19px;animation:reward-frame 1.2s ease-out infinite}#award-title{background:linear-gradient(100deg,#b9924e,#fff5ca,#e0ba6c,#fff5ca);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-sweep 1.4s linear infinite}#award-reveal .award-orbit{width:110px;height:110px;margin:-55px;border:2px dashed #ffdf94;box-shadow:0 0 26px #efcb7880,0 0 0 12px #efcb7818;animation:reward-halo 1.5s ease-out infinite}#award-reveal .award-sparks i{height:15px;width:3px;filter:drop-shadow(0 0 4px #fff0b5);animation:tile-bonus-spark 1.5s var(--delay) ease-out both}@keyframes reward-reveal{from{opacity:0;transform:translateX(-50%) translateY(12px) scale(.75);filter:brightness(2)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1);filter:brightness(1)}}@keyframes reward-frame{from{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.13)}}@keyframes reward-halo{0%{opacity:0;transform:scale(.3) rotate(0)}25%{opacity:1}100%{opacity:0;transform:scale(1.7) rotate(90deg)}}@keyframes gold-sweep{to{background-position:240% 0}}
#result{position:fixed;overflow-x:hidden;background:radial-gradient(ellipse at 50% 0,#70603b50,transparent 55%),linear-gradient(150deg,#18362c,#0c1b17);box-shadow:0 0 0 5px #e1c17d12,0 0 90px #e6c27725,0 30px 100px #000b;animation:settlement-enter .65s cubic-bezier(.16,1,.3,1)}#result::backdrop{background:#020b08a8;backdrop-filter:blur(7px)}#winner-hero{position:relative}#winner-hero::before{content:'';position:absolute;left:50%;top:42px;width:140px;height:140px;margin:-70px;border-radius:50%;border:1px dashed #e7c98590;box-shadow:0 0 30px #e7c98530;animation:hero-orbit 12s linear infinite}#winner-hero img{position:relative;z-index:1;box-shadow:0 0 35px #e4c57b55}#result-title{color:#ffe5ad;text-shadow:0 0 20px #e0b76550}#settlement-progress{border:1px solid #d5b97755;background:#d5b97715;padding:6px 10px;border-radius:20px}#result-items .settling-item{position:relative;overflow:hidden;animation:ledger-impact .55s ease-out;box-shadow:0 0 30px #ebcc8050;border-color:#ffe0a0}#result-items .settling-item::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffe8ad50 50%,transparent 75%);animation:ledger-light .8s ease-out both}.settlement-flourish{position:sticky;bottom:12px;margin:0 auto;height:0;z-index:5;pointer-events:none;text-align:center;color:#ffe7af;filter:drop-shadow(0 0 12px #f4d078);animation:payment-title 1.05s ease-out both}.settlement-flourish strong{display:block;font-size:24px;letter-spacing:6px;transform:translateY(-80px)}.settlement-flourish span{display:block;font-size:35px;font-weight:800;transform:translateY(-80px)}.settlement-flourish i{position:absolute;left:50%;bottom:0;font-style:normal;font-size:19px;animation:payment-coin .8s var(--d) ease-out both}@keyframes settlement-enter{from{opacity:0;transform:translateY(25px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hero-orbit{to{transform:rotate(360deg)}}@keyframes ledger-impact{0%{transform:scale(.97);filter:brightness(1.8)}60%{transform:scale(1.02)}100%{transform:scale(1);filter:brightness(1)}}@keyframes ledger-light{from{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes payment-title{0%{opacity:0;transform:translateY(12px) scale(.8)}20%,70%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-22px)}}@keyframes payment-coin{0%{opacity:0;transform:translate(var(--x),30px) scale(.4) rotate(0)}25%{opacity:1}100%{opacity:0;transform:translate(calc(var(--x)*.3),-110px) scale(1) rotate(180deg)}}#win-signal{border:2px solid #ffe2a3;box-shadow:0 0 0 6px #e8c67715,0 0 80px #e8c67770,0 20px 60px #0007}#win-signal::after{content:'';position:absolute;inset:-10px;border:1px solid #ffe2a380;border-radius:26px;animation:reward-frame .9s ease-out infinite}@media(prefers-reduced-motion:reduce){.table-flourish,.settlement-flourish{display:none}#award-reveal::before,#winner-hero::before,#win-signal::after{animation:none}#result,#award-title{animation:none}}
.settlement-flourish{position:absolute;left:calc(50% - 130px);top:48%;bottom:auto;width:260px;height:108px;margin:0;border-radius:18px;border:1px solid #f5d69290;background:radial-gradient(ellipse,#3e4327f5,#132c24f5);box-shadow:0 0 45px #e8c47b40,0 15px 35px #0008;padding:14px;box-sizing:border-box}.settlement-flourish strong,.settlement-flourish span{transform:none}.settlement-flourish i{bottom:0}

/* Keep tile motion and particles without surrounding orbit rings. */
#award-reveal .award-orbit,#award-reveal::before,#winner-hero::before,#win-signal::after,.table-flourish b{display:none!important}
#animal-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.animal-choice{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 10px;background:#ffffff06;border:1px solid #b99d6440;border-radius:16px}.animal-choice img{width:64px;height:64px;object-fit:cover;border-radius:50%}.animal-choice[aria-pressed=true]{background:#cfb16b25;border-color:#f0d291;box-shadow:0 0 20px #d5b66a25}.animal-choice b{font-size:14px;color:#e8d7b3}#animal-dialog{width:min(480px,calc(100vw - 32px))}#confirm-animal:disabled{opacity:.4}@media(max-width:450px){#animal-list{gap:8px}.animal-choice img{width:48px;height:48px}.animal-choice{padding:12px 5px}}

#award-reveal .award-sparks,.table-flourish i,.settlement-flourish i{display:none!important}
#result{width:min(760px,calc(100vw - 32px));max-height:92dvh;padding:28px 34px;border:1px solid #cab37a70;border-radius:26px;background:radial-gradient(ellipse at 50% 0,#6a593633,transparent 48%),linear-gradient(145deg,#183329,#0a1b16)}#winner-hero{display:flex;align-items:center;justify-content:center;gap:16px;margin:18px 0}#winner-hero img{width:54px;height:54px}#winner-hero span{font-size:12px;letter-spacing:2px;color:#dfcc9f}#winner-hand-panel{position:relative;margin:20px 0;border:1px solid #c6b17a45;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at center,#36564655,#081c1688);box-shadow:inset 0 1px #f5deb517,0 14px 32px #0003}#winner-hand-panel[hidden]{display:none}#winner-hand-panel header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #c6b17a20}#winner-hand-panel header span{font-size:9px;letter-spacing:3px;color:#b7a279}#winner-hand-panel header b{font-size:12px;letter-spacing:2px;font-weight:500;color:#e8d7b5}#winner-hand-canvas{height:210px;width:100%;cursor:grab;touch-action:none}#winner-hand-canvas canvas{display:block;width:100%;height:100%}#winner-hand-caption{font-size:11px;letter-spacing:1px;color:#abbdab;margin:0;padding:0 16px 16px}#result-title{font-size:30px;letter-spacing:5px}#settlement-detail table{background:#06171150;border-radius:14px;overflow:hidden}#settlement-detail td{font-variant-numeric:tabular-nums}#settlement-detail tbody tr:last-child td{border-bottom:none}.settlement-top{border-bottom:1px solid #c6b17a30;padding-bottom:16px}@media(max-width:600px){#result{padding:18px 15px}#winner-hand-canvas{height:170px}#winner-hand-panel header{padding:12px 14px}#winner-hand-caption{font-size:10px;letter-spacing:0}#winner-hero{margin:12px 0}#result-title{font-size:24px}}
#winner-hand-tiles{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px 22px;padding:20px 18px 24px}.result-tile-group{min-width:0}.result-tile-group>small{display:block;font-size:10px;letter-spacing:2px;color:#acbda9;margin-bottom:10px}.result-tile-row{display:flex;flex-wrap:wrap;gap:4px}.result-tile{display:block;position:relative;width:36px;height:51px;padding:2px;border:1px solid #fff6df;border-radius:4px;background:linear-gradient(145deg,#fffcef,#ddd8c6);box-shadow:0 2px 0 #7c8c7e,0 4px 6px #0003;box-sizing:border-box}.result-tile img{width:100%;height:100%;object-fit:contain;display:block}.result-tile.winning-tile{border:2px solid #e5bd69;background:#fff1c8;box-shadow:0 0 0 3px #e5bd6920,0 3px 0 #947446}.winning-tile>b{position:absolute;bottom:-19px;left:50%;transform:translateX(-50%);font-size:10px;line-height:15px;white-space:nowrap;color:#f5d992;font-weight:500}.result-melds{display:flex;flex-wrap:wrap;gap:20px;width:100%;padding-top:14px;border-top:1px solid #cab37a25}#winner-hand-caption{padding-top:8px}@media(max-width:600px){#winner-hand-tiles{padding:16px 12px 24px;gap:16px}.result-tile{width:30px;height:43px}.result-tile-row{gap:3px}.result-melds{gap:14px}}

#coin-rules-form .discard-rule{border:1px solid #d7bb7860;background:#d7bb7812;padding:12px;border-radius:10px}#discard-rule-help{display:block;color:#becab9;font-size:11px;line-height:1.7;margin:0 0 14px}
#result-title{font-size:23px;letter-spacing:1px;margin:22px 0;color:#e4d8b9}#winner-income{font-size:52px;line-height:1;font-weight:650;font-variant-numeric:tabular-nums;color:#ffe0a0;letter-spacing:-1px;margin:0 6px}#winner-hero{margin:12px 0}#settlement-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.payer-card{padding:16px 13px;border:1px solid #bba57535;background:#ffffff04;border-radius:14px;text-align:left}.payer-card header{display:flex;flex-direction:column;gap:9px;padding-bottom:12px;margin-bottom:9px;border-bottom:1px solid #bba57525}.payer-card header>b{font-size:13px;color:#dbd9c8}.payer-card header>span{font-size:11px;color:#aabbac}.payer-card header strong{font-size:26px;font-variant-numeric:tabular-nums;color:#ffe0a0}.payment-component{display:flex;justify-content:space-between;gap:8px;padding:8px 0;font-size:12px;color:#b7c5b7;transition:color .2s}.payment-component strong{font-variant-numeric:tabular-nums;color:#e7d8af}.payment-component.counting{color:#ffe2a1}.payment-component.counting strong{color:#fff0bf}.payer-card>small{color:#aabbac;font-size:11px}#payment-wallet{grid-column:1/-1;display:flex;align-items:baseline;justify-content:center;gap:10px;padding:18px;border:1px solid #bba57535;border-radius:14px;background:#06171150;color:#b8c7b7;font-size:12px}#payment-wallet-number{font-size:27px;color:#f4dfac;font-variant-numeric:tabular-nums}#result #confirm-payment{margin-top:20px;font-size:16px;min-height:48px;background:linear-gradient(135deg,#e4ca91,#b99659);color:#16281e;letter-spacing:2px}#result #confirm-payment:disabled{opacity:.5}@media(max-width:520px){#settlement-detail{grid-template-columns:1fr;gap:9px}.payer-card header{flex-direction:row;align-items:center;justify-content:space-between}.payment-component{display:inline-flex;gap:10px;margin-right:13px}#winner-income{font-size:42px}.payer-card{padding:12px 14px}}
#result .result-tile{width:32px;height:46px}#result .result-tile-row{gap:3px}#result #winner-hand-tiles{gap:16px;padding:15px 14px 22px}#result #winner-hand-caption{padding-top:0;font-size:10px}#result #winner-hand-panel{margin:14px 0}#result #winner-hand-panel header{padding:12px 16px}@media(max-width:600px){#result .result-tile{width:28px;height:40px}}
.table-speech{transition:opacity .15s!important}.character-talk{z-index:5}
#result-title{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px}.winner-inline-avatar{width:46px;height:46px;object-fit:cover;border-radius:50%;border:1px solid #d9bd83;margin-right:8px}#result #settlement-progress{border:0;padding:0}#result #winner-hand-panel{margin-top:0}
.opponent>img[role=button]{pointer-events:auto;cursor:pointer;transition:filter .15s}.opponent>img[role=button]:hover{filter:brightness(1.15)}.opponent>img[role=button]:focus-visible{outline:2px solid #e4c78c;outline-offset:3px}
#coin-rules-dialog{width:min(760px,calc(100vw - 28px));max-width:760px;max-height:90dvh;padding:24px 28px 0;overflow:auto;text-align:left;background:radial-gradient(ellipse at 50% 0,#6a59362a,transparent 50%),linear-gradient(145deg,#183329,#0a1b16);border:1px solid #cab37a70;border-radius:24px;scrollbar-width:thin;scrollbar-color:#9c98735c transparent}.rules-heading{text-align:center;margin-bottom:20px}.rules-heading h2{font-size:27px;margin:10px 0;letter-spacing:2px}.rules-heading>p{font-size:12px;margin:0;color:#a8b9aa}.rules-heading .eyebrow{font-size:9px;letter-spacing:3px}#coin-rules-form .rules-card{border:1px solid #bba57535;border-radius:15px;padding:16px;background:#ffffff03;margin-bottom:14px}#coin-rules-form .rules-card[hidden]{display:none}#coin-rules-form .rules-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:12px;margin-bottom:7px;border-bottom:1px solid #bba57522}#coin-rules-form .rules-card>header b{font-size:14px;color:#e9d4a7;font-weight:500}#coin-rules-form .rules-card>header span{font-size:10px;color:#96ae9d}.rules-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;align-items:start}.rules-columns:has(#flip-rules-card[hidden]){grid-template-columns:1fr}#coin-rules-form label{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:40px;margin:6px 0;font-size:12px;color:#d5decf}#coin-rules-form input[type=number]{width:64px;min-width:0;height:35px;padding:6px 8px;font-size:13px;text-align:right;border:1px solid #c2ac7245;border-radius:8px;background:#091c164d;color:#ffe0a1}#coin-rules-form select{min-width:125px;min-height:35px;font-size:12px;padding:6px 10px;border-radius:8px;background:#091c164d;color:#e8d7b5}#coin-rules-form input[type=checkbox]{width:20px;height:20px;accent-color:#c6b180}.rule-value{display:flex;align-items:center;gap:7px;flex-shrink:0}.rule-value small{display:inline-block;width:39px;margin:0;font-size:10px;color:#8fa899}#coin-rules-form .rule-hint,#discard-rule-help{font-size:10px;color:#9fb4a2;line-height:1.7;margin:10px 0 0}.rules-toggles{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.rules-toggles>header{grid-column:1/-1}.rules-extra-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.rules-example{border:1px solid #cfb77755;border-radius:15px;padding:15px 18px;background:linear-gradient(120deg,#cfb77716,#cfb77704);margin-bottom:14px}.rules-example>span{font-size:11px;letter-spacing:2px;color:#e5c890}#coin-rules-example>p{font-size:11px;color:#acbcaa;margin:8px 0 12px;line-height:1.5}.rule-example-totals{display:flex;gap:24px;justify-content:space-between;font-size:12px;color:#c9d5c5}.rule-example-totals strong{font-size:26px;font-variant-numeric:tabular-nums;color:#ffe0a0;margin:0 4px}.rule-example-totals small{display:block;font-size:10px;color:#95ac9b;margin-top:5px}.rules-more{font-size:11px;color:#a7bba9;padding:0 4px 14px}.rules-more summary{cursor:pointer}.rules-more p{font-size:11px;line-height:1.8;color:#96ac99}.rules-footer{position:sticky;bottom:0;display:flex;gap:12px;align-items:center;padding:15px 0 20px;background:#10271ff5;border-top:1px solid #baa57430;z-index:2}#coin-rules-dialog .rules-footer button{margin:0;min-height:44px;font-size:13px;letter-spacing:1px}#coin-rules-dialog .rules-footer .primary{flex:1;width:auto}#coin-rules-dialog #close-coin-rules{width:auto;padding:10px 16px;background:transparent;color:#b6c8b6;border:1px solid #bba57535}@media(max-width:600px){#coin-rules-dialog{padding:20px 15px 0}.rules-columns,.rules-extra-grid{grid-template-columns:1fr;gap:0}.rules-heading h2{font-size:23px}.rules-toggles{grid-template-columns:1fr}.rule-example-totals{gap:12px;font-size:11px}.rule-example-totals strong{font-size:23px}#coin-rules-form .rules-card{padding:14px}.rules-footer{padding-bottom:14px}}
#configure-round{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);min-width:132px;min-height:50px;font-size:18px;letter-spacing:4px;border-radius:28px;background:linear-gradient(135deg,#e4ca91,#b99659);color:#172b20;border:1px solid #ead4a3;box-shadow:0 8px 28px #0005}
#coin-rules-dialog{background:linear-gradient(145deg,#1a382d,#0c211a);padding-top:22px}.rules-heading{margin-bottom:22px}.rules-heading h2{font-size:32px;font-weight:600;letter-spacing:4px;color:#ffe8b6}#coin-rules-form .rules-card{padding:18px;background:#ffffff05;border-color:#c8b17b45}#coin-rules-form .rules-card>header b{font-size:17px;font-weight:600;color:#f4daa5}#coin-rules-form label{font-size:15px;font-weight:500;color:#eef1e5;min-height:46px;margin:8px 0}#coin-rules-form input[type=number]{width:76px;height:42px;font-size:18px;font-weight:600;color:#ffe1a3;background:#061a1480;border-color:#c8b17b70}#coin-rules-form input[type=checkbox]{width:25px;height:25px}.rule-value small{font-size:11px;color:#b1c5b4}.rules-toggles{margin-top:0}.rule-mode{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 16px;color:#eef1e5;font-size:15px;font-weight:500}.rule-mode-options{display:flex;gap:4px;background:#071b1655;border:1px solid #c8b17b35;border-radius:10px;padding:4px}.rule-mode-options button{padding:9px 12px;min-height:38px;border:0;border-radius:7px;background:transparent;color:#b4c6b5;font-size:12px}.rule-mode-options button[aria-pressed=true]{background:#d4bb82;color:#12291e;font-weight:600;box-shadow:0 2px 8px #0003}#coin-rules-dialog .rules-footer button{font-size:15px}.rules-extra-grid{gap:4px 22px}@media(max-width:600px){.rules-heading h2{font-size:28px}#coin-rules-form label,.rule-mode{font-size:14px}#coin-rules-form .rules-card{padding:14px}#coin-rules-form input[type=number]{width:68px;font-size:17px}.rules-extra-grid{gap:0}.rule-mode-options button{font-size:12px;padding:9px 10px}}

.rules-columns{align-items:stretch;grid-auto-rows:1fr}#coin-rules-form .rules-columns>.rules-card{height:100%;box-sizing:border-box}

.rules-columns{margin-bottom:14px}#coin-rules-form .rules-columns>.rules-card{margin-bottom:0}#coin-rules-dialog .rules-footer{border-top:0}

/* Reference view toolbar: focus, music, chat, home. */
.tools .icon{touch-action:manipulation}
.tools{left:auto;right:calc(clamp(22px,1.8vw,34px) + env(safe-area-inset-right));bottom:calc(clamp(20px,1.6vw,30px) + env(safe-area-inset-bottom));flex-direction:row;gap:clamp(10px,.84vw,16px)}
.tools .icon{width:clamp(44px,3.44vw,66px);height:clamp(44px,3.44vw,66px);min-height:44px;padding:0;border-radius:50%}
.tools .icon svg{width:clamp(22px,1.72vw,33px);height:clamp(22px,1.72vw,33px)}
@media(max-width:600px),(orientation:landscape) and (max-height:500px){.tools{right:calc(12px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));gap:9px}.tools .icon{width:44px;height:44px}.tools .icon svg{width:22px;height:22px}}

/* One menu entry and compact, scrollable mobile subpages. */
#home-dialog .menu-row,#lobby .menu-row{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:10px 14px;margin:8px 0;font-size:14px;border-radius:12px}
#home-dialog .menu-row b,#lobby .menu-row b{font-size:14px;font-weight:500}
#home-dialog,#lobby{max-width:420px;max-height:min(80dvh,650px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:650px){
body>dialog{position:fixed;inset:auto 12px calc(12px + env(safe-area-inset-bottom) + var(--keyboard-inset,0px));margin:0 auto;box-sizing:border-box;width:calc(100% - 24px);max-width:380px;max-height:calc(min(100dvh,var(--ui-height,100dvh)) * .68);padding:16px 14px;border-radius:18px;overflow-y:auto;overscroll-behavior:contain;text-align:center}
body>dialog h2{font-size:20px;letter-spacing:1px;margin:8px 0 12px}body>dialog p{font-size:12px;margin:8px 0;line-height:1.6}body>dialog .eyebrow{font-size:9px;letter-spacing:2px}
#home-dialog,#lobby,#entry,#invite-dialog,#coin-rules-dialog,#result,#background-dialog,#chat-dialog,#players-dialog,#animal-dialog,#coin-dialog{max-width:380px;max-height:calc(min(100dvh,var(--ui-height,100dvh)) * .68);padding:16px 14px}
#home-dialog .menu-row,#lobby .menu-row{min-height:44px;margin:6px 0;padding:8px 12px}#home-dialog .menu-row small{font-size:10px;margin-top:3px}
#background-dialog label{flex-wrap:wrap;margin:10px 0;gap:8px}#background-dialog input[type=file]{min-width:0;width:100%;font-size:12px}#background-dialog select{max-width:100%;min-height:40px;font-size:12px}
#coin-rules-form .rules-card{padding:12px}#coin-rules-form label{font-size:12px;min-height:40px;margin:5px 0}#coin-rules-form .rules-footer{padding:8px 0;background:#10271ff5}
.tools{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}.tools .icon{width:44px;height:44px}
.floating.opponent{max-width:40vw}#chat-dialog #chat-log{max-height:36dvh}
}
@media(orientation:landscape) and (max-height:500px){body>dialog,#home-dialog,#lobby,#entry,#invite-dialog,#coin-rules-dialog,#background-dialog,#result{max-height:calc(min(100dvh,var(--ui-height,100dvh)) * .82);padding:12px 16px}body>dialog h2{font-size:19px;margin:6px 0}.tools{bottom:10px}.tools .icon{width:44px;height:44px}}

.menu-actions>button{width:100%;margin-top:8px}
@media(max-width:650px){.menu-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.menu-actions>button,#home-dialog .menu-actions>.menu-row,#lobby .menu-actions>.menu-row{width:100%;margin:0!important;min-height:44px;padding:8px;font-size:12px}.menu-actions>button b,#home-dialog .menu-actions>.menu-row b,#lobby .menu-actions>.menu-row b{font-size:12px}.menu-actions .menu-row{flex-direction:column}.menu-actions .menu-row small{display:none}#restart-game,#configure,#entry-menu,#close-home,#leave{grid-column:1/-1}#home-dialog .menu-row[href]{text-decoration:none;color:#f0ecdd;font-size:13px;border:1px solid #d9ccad36;background:#18272bd4;border-radius:12px;padding:10px}#home-dialog .menu-row[href] small{display:none}}

/* Mobile controls: fit labels to their touch targets without clipping. */
@media(max-width:650px){body>dialog button:not(.icon){font-size:clamp(12px,3.4vw,14px);line-height:1.35;white-space:normal;overflow-wrap:anywhere;min-height:44px;padding:9px 12px}.menu-actions>button b{font-size:clamp(12px,3.2vw,14px)!important}body>dialog input,body>dialog select{font-size:14px}body>dialog .primary{min-height:44px}.dialog-settings{display:grid;grid-template-columns:1fr 1fr}.dialog-settings button:last-child{grid-column:1/-1}#background-dialog label{font-size:12px}#coin-rules-form .rules-footer button{font-size:12px!important;letter-spacing:0}.rules-footer{flex-wrap:wrap}.rules-footer button{min-width:0}#actions button{font-size:13px;min-height:44px;padding:8px 12px}}

/* Operation announcements fit their contents; never inherit dialog scrollbars. */
.table-speech,.speech{overflow:visible!important;max-height:none!important;scrollbar-width:none;}
.table-speech::-webkit-scrollbar,.speech::-webkit-scrollbar{display:none;}
