@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;600;900&display=swap";:root{--depth:clamp(226px, 30vh, 307px);--h-len:max(160px, calc(100vw - 2 * var(--depth)));--v-len:100vh;--bar-h:calc(var(--tile-w) * 1.375);--hand-gap:2px;--drawn-gap:calc(var(--tile-w) * .45);--tile-fit:calc((var(--depth) - 70px) / 3.085);--tile-w:min(calc((var(--h-len) - 48px) / 20.35), calc((var(--v-len) - 48px) / 20.35), var(--tile-fit), 72px);--felt:#0f4534;--felt-2:#0a3126;--ivory:#f6f0e2;--ivory-edge:#d9cfb6;--ink:#21262b;--gold:#d9b45c;--red:#b3261e;--green:#1c7a4b;--blue:#1d5aa8}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;height:100%;margin:0;overflow:hidden}@supports (height:100dvh){html,body,#root{height:100dvh}}body{color:var(--ivory);background:var(--felt-2);font-family:Noto Sans TC,system-ui,sans-serif}.lobby{height:100%;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at center, var(--felt) 0%, var(--felt-2) 75%);flex-direction:column;justify-content:safe center;align-items:center;gap:.5rem;display:flex;overflow-y:auto}.lobby>*{flex:none}.lobby h1{letter-spacing:.1em;color:var(--gold);margin:0 0 .5rem;font-size:clamp(3rem,9vw,7rem);font-weight:900}.lobby p{opacity:.75;letter-spacing:.15em;margin:0}.lobby .hint{opacity:.45;margin-bottom:1.5rem;font-size:.9rem}.table{background:radial-gradient(ellipse at center, var(--felt) 0%, var(--felt-2) 80%);width:100%;height:100%;position:relative}.slot{position:absolute;overflow:hidden}.slot-bottom{bottom:0;left:var(--depth);right:var(--depth);height:var(--depth)}.slot-top{top:0;left:var(--depth);right:var(--depth);height:var(--depth)}.slot-left{width:var(--depth);height:100%;top:0;left:0}.slot-right{width:var(--depth);height:100%;top:0;right:0}.seat{height:var(--depth);border-radius:10px;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;padding:2px 8px 4px;transition:background .2s;display:flex;position:absolute;top:50%;left:50%;overflow:hidden}.slot-bottom .seat,.slot-top .seat{width:var(--h-len)}.slot-left .seat,.slot-right .seat{width:var(--v-len)}.seat.active{background:linear-gradient(#0000 30%,#d9b45c38)}.seat.awaited{background:linear-gradient(#0000 22%,#d9b45c57);animation:2.6s ease-in-out infinite spotlight}@keyframes spotlight{50%{background:linear-gradient(#0000 14%,#d9b45c9e)}}.seat.awaited .nameplate{opacity:1}.seat.awaited .nameplate .pname{color:var(--gold);text-shadow:0 0 10px #d9b45c8c}.seat.claiming{background:linear-gradient(#0000 30%,#b3261e40);animation:1.1s ease-in-out infinite pulse}@keyframes pulse{50%{background:linear-gradient(#0000 30%,#b3261e73)}}.turn-clock{pointer-events:none;z-index:3;border-radius:999px;height:5px;position:absolute;top:0;left:8px;right:8px;overflow:hidden}.turn-clock i{border-radius:inherit;background:linear-gradient(90deg, #d9b45c73, var(--gold) 28%, var(--gold) 72%, #d9b45c73);height:100%;animation:turn-drain var(--turn-secs,7s) linear forwards;display:block;box-shadow:0 0 9px #d9b45ca6}@keyframes turn-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.turn-clock:after{content:"";border-radius:inherit;opacity:0;animation:turn-empty 1.5s ease-in-out var(--turn-secs,7s) infinite;background:#d9b45c80;position:absolute;inset:1px 0}@keyframes turn-empty{0%,to{opacity:.12}50%{opacity:.55}}.tile{--tw:var(--tile-w);width:var(--tw);height:calc(var(--tw) * 1.375);border-radius:calc(var(--tw) * .1);flex:none;transition:transform .12s,filter .12s;position:relative}.tile.t-meld{--tw:var(--tile-w)}.tile.t-small{--tw:calc(var(--tile-w) * .64)}.tile.face{background-image:url(./tiles-C-eKbc0j.svg);background-repeat:no-repeat;background-size:calc(var(--tw) * 43) calc(var(--tw) * 2.75);background-position:calc(var(--col) * var(--tw) * -1) 0;filter:drop-shadow(0 2px 3px #00000073)}.tile.back{filter:drop-shadow(0 2px 3px #00000073);background-image:url(./back-DS1ebpiH.png);background-size:100% 100%}.tile.tappable{cursor:pointer}.tile.raised{transform:translateY(calc(var(--tw) * -.28));filter:drop-shadow(0 10px 12px #0000008c)}.tile.face.raised{background-position:calc(var(--col) * var(--tw) * -1) calc(var(--tw) * -1.375)}.tile.hl{outline:2px solid var(--gold);outline-offset:1px;border-radius:calc(var(--tw) * .1)}.tile.dim{opacity:.45}.hand{gap:var(--hand-gap);height:calc(var(--tile-w) * 1.71 + 6px);padding-top:calc(var(--tile-w) * .34);flex:none;align-items:flex-end;display:flex}:root:not(.compact) .hand:not(:has(.drawn-slot)):not(:has(.hand-cell:nth-child(17))){padding-right:calc(var(--hand-gap) + var(--drawn-gap) + var(--tile-w))}:root:not(.compact) .hand:not(:has(.drawn-slot)):has(.hand-cell:nth-child(17)){padding-right:var(--drawn-gap)}.hand.covered{cursor:pointer;transition:transform .12s ease-out,filter .12s ease-out}.hand.covered:hover,.hand.covered:focus-visible{filter:brightness(1.12);outline:none;transform:translateY(-3px)}.hand.covered:active{transform:translateY(-1px)}.hand.shoved{animation:.34s ease-out shoved}@keyframes shoved{0%{transform:none}22%{transform:translateY(5px)rotate(.5deg)}55%{transform:translateY(-2px)rotate(-.3deg)}80%{transform:translateY(1px)}to{transform:none}}.hand-cell{touch-action:none;cursor:grab;align-items:flex-end;display:flex;position:relative}.hand-cell.dragging{z-index:5;cursor:grabbing}.hand-cell.dragging .tile{transform:translateY(calc(var(--tile-w) * -.2)) scale(1.06);filter:drop-shadow(0 14px 18px #000000a6)}.hand-cell.carrying .tile{visibility:hidden}.drawn-slot{margin-left:var(--drawn-gap)}.drawn-slot .tile{outline:2px solid var(--gold);outline-offset:1px;border-radius:calc(var(--tw) * .1)}.drawn-tag{top:calc(var(--tile-w) * -.3);text-align:center;font-size:calc(var(--tile-w) * .24);letter-spacing:.1em;color:var(--gold);white-space:nowrap;pointer-events:none;font-weight:600;position:absolute;left:0;right:0}.melds{flex-wrap:wrap;flex:none;justify-content:center;gap:10px;display:flex}.meld{gap:1px;display:flex}.meld.flowers{border-left:1px dashed #f6f0e24d;margin-left:12px;padding-left:12px}.discards{scrollbar-width:none;flex-wrap:wrap;flex:1 1 0;place-content:flex-start center;gap:2px;max-width:94%;min-height:0;margin-bottom:2px;display:flex;overflow-y:auto}.nameplate{letter-spacing:.08em;opacity:.9;flex:none;align-items:center;gap:8px;padding-top:2px;font-size:13px;display:flex}.nameplate .wind{color:var(--gold);flex-direction:column;align-items:center;font-size:18px;font-weight:900;line-height:1;display:flex}.nameplate .wind em{letter-spacing:.1em;text-transform:uppercase;opacity:.6;font-size:8px;font-style:normal;font-weight:600}.nameplate .wind.dealer{color:#ff7a68}.nameplate .tag{background:#d9b45c33;border:1px solid #d9b45c80;border-radius:999px;padding:1px 6px;font-size:11px}.nameplate .tag.walled{opacity:.75;background:#f6f0e214;border-color:#f6f0e247}.nameplate .tag.ting{background:#2eaa7833;border-color:#2eaa7899}.nameplate .tag.sacred{color:#ffc9c2;background:#b3261e38;border-color:#e06c6099}.nameplate .chips{color:var(--gold);margin-left:4px;font-size:16px;font-weight:900}.hand-row{column-gap:var(--drawn-gap);flex:none;grid-template-columns:1fr auto 1fr;align-self:stretch;align-items:end;display:grid;position:relative}:root:not(.compact) .hand-row>.hand{grid-column:2}:root:not(.compact) .hand-row>.actionbar{flex-wrap:wrap-reverse;grid-column:3;align-content:flex-start;width:100%;position:absolute;bottom:0;left:0}.actionbar{gap:var(--hand-gap);flex-wrap:wrap;flex:none;justify-content:flex-start;align-items:flex-end;display:flex}.compact .hand-row{display:contents}.compact .actionbar{height:auto;min-height:var(--bar-h);align-self:stretch;position:static}.actionbar .btn{height:var(--bar-h);min-height:0;padding-top:4px;padding-bottom:4px}.waiting{opacity:.5;font-size:12px}.delta{font-size:20px;font-weight:900}.delta.up{color:#5fd39a}.delta.down{color:#ff8a80}.btn{color:#1a1a1a;cursor:pointer;background:linear-gradient(#f3e6c4,#d9b45c);border:none;border-radius:8px;align-items:center;gap:6px;min-height:46px;padding:6px 15px;font-family:inherit;font-size:17px;font-weight:400;display:inline-flex;box-shadow:0 2px #9a7d38}.btn:active{box-shadow:none;transform:translateY(2px)}.btn-sub{opacity:.7;font-size:12px}.bi{flex-direction:column;justify-content:center;align-items:center;gap:1px;line-height:1.05;display:flex}.bi .zh{letter-spacing:.06em;font-size:19px;font-weight:400}.bi .en{letter-spacing:.11em;text-transform:uppercase;opacity:.68;white-space:nowrap;font-size:9.5px;font-weight:600}.bi .bi-sub{opacity:.72;white-space:nowrap;font-size:11px}.big-btn .bi .zh{font-size:24px}.big-btn .bi .en{font-size:11px}.btn.claim.hu{color:#fff;background:linear-gradient(#ff8a7a,#c0392b);box-shadow:0 2px #7c231a}.btn.claim.kong,.btn.claim.pung{color:#fff;background:linear-gradient(#8fd3ff,#2b7ec0);box-shadow:0 2px #1c527d}.btn.claim.chow{color:#fff;background:linear-gradient(#9be3b7,#2e9e63);box-shadow:0 2px #1d6640}.btn.sort{letter-spacing:.06em;border-radius:999px;min-height:20px;padding:1px 8px;font-size:11px}.btn.proceed{background:linear-gradient(#f3e6c4,#d9b45c)}.btn.pass,.btn.ghost{color:#f6f0e2bf;box-shadow:none;background:0 0;border:1px solid #f6f0e259}.btn.discard{background:linear-gradient(#fff2cf,#e0c070)}.btn.sit{color:#f6f0e2;background:#d9b45c2e;border-color:#d9b45c8c}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn{width:var(--tile-w);height:var(--bar-h);border-radius:calc(var(--tile-w) * .1);background:url(./tiles-C-eKbc0j.svg) no-repeat;background-size:calc(var(--tile-w) * 43) calc(var(--tile-w) * 2.75);background-position:calc(var(--tile-w) * -42) 0;min-height:0;box-shadow:none;filter:drop-shadow(0 2px 3px #00000073);color:var(--ink);border:none;flex-direction:column;gap:0;padding:0;transition:transform .12s,filter .12s;position:relative}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn:hover{transform:translateY(calc(var(--tile-w) * -.07));filter:drop-shadow(0 5px 7px #00000080)}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn:active{background-position:calc(var(--tile-w) * -42) calc(var(--tile-w) * -1.375);filter:drop-shadow(0 1px 2px #00000073);transform:translateY(1px)}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn .bi{width:100%;height:100%;padding:calc(var(--tile-w) * .015) calc(var(--tile-w) * .02) calc(var(--tile-w) * .125) calc(var(--tile-w) * .14);grid-template-rows:1fr auto;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:0;line-height:1;display:grid}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn .bi .zh{writing-mode:vertical-rl;max-height:calc(var(--bar-h) - var(--tile-w) * .36);font-size:calc(var(--tile-w) * .44);letter-spacing:0;grid-area:1/2;justify-self:center}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn .bi .en{text-align:center;font-size:calc(var(--tile-w) * .185);letter-spacing:.03em;white-space:normal;opacity:.6;grid-area:2/2;justify-self:center}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn .bi .en:first-child{font-size:calc(var(--tile-w) * .22);opacity:.85;grid-row:1/-1}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn .bi .bi-sub{writing-mode:vertical-rl;max-height:calc(var(--bar-h) - var(--tile-w) * .36);font-size:calc(var(--tile-w) * .22);white-space:normal;opacity:.75;grid-area:1/1;justify-self:center}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn.claim.hu{color:#b3261e}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn.claim.pung,:is(:root:not(.compact) .actionbar,.ctl-actions) .btn.claim.kong{color:#1c527d}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn.claim.chow{color:#1d6640}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn.reveal{color:var(--ivory);text-shadow:0 1px 2px #0009;background:url(./back-DS1ebpiH.png) 50%/100% 100%}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn.reveal.hot{outline:2px solid var(--gold);outline-offset:-2px;filter:drop-shadow(0 2px 3px #00000073)drop-shadow(0 0 6px #d9b45cbf)}:is(:root:not(.compact) .actionbar,.ctl-actions) .btn.pass,:is(:root:not(.compact) .actionbar,.ctl-actions) .btn.ghost{color:#21262ba6}.big-btn{min-height:56px;padding:12px 34px;font-size:22px}.tile-pool{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.table{touch-action:none}.center{inset:var(--depth);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute}.center>*{pointer-events:auto}.info,.last-discard,.prompt,.result,.info{opacity:.9;text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.info .round,.info .wall{flex-direction:column;align-items:center;line-height:1.05;display:flex}.info .wall{border-top:1px solid #f6f0e224;margin-top:10px;padding-top:10px}.info .big{color:var(--gold);font-size:40px;font-weight:400}.info .lbl{letter-spacing:.06em;opacity:.6;font-size:11px}.info .hand-no{opacity:.5;letter-spacing:.1em;margin-top:8px;font-size:11px}.wall-ring{--ws:var(--tile-w);--wd:calc(var(--ws) * 1.375);--wall-len:0px;pointer-events:none;z-index:0;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wall-probe{visibility:hidden;width:var(--ws);height:var(--wd);position:absolute}.wall-side{transform:translate(var(--dx,0px), var(--dy,0px));pointer-events:auto;cursor:grab;display:flex;position:absolute}.wall-side.top,.wall-side.bottom{width:var(--wall-len);height:var(--wd)}.wall-side.left,.wall-side.right{width:var(--wd);height:var(--wall-len)}.wall-side.top{bottom:100%;left:0}.wall-side.right{flex-direction:column;top:0;left:100%}.wall-side.bottom{flex-direction:row-reverse;top:100%;right:0}.wall-side.left{flex-direction:column-reverse;bottom:0;right:100%}.wall-stack{width:var(--ws);height:var(--wd);flex:none;position:relative}.wall-side.left>.wall-stack,.wall-side.right>.wall-stack{width:var(--wd);height:var(--ws)}.wall-stack i{background-image:url(./back-DS1ebpiH.png);background-size:100% 100%;position:absolute;inset:0;box-shadow:0 1px 1px #00000073}.wall-stack.s1 i{opacity:.8;transform:scale(.86)}.wall-stack.next:after{content:"";border:2px solid var(--gold);border-radius:3px;position:absolute;inset:-2px;box-shadow:0 0 12px #d9b45cb3}.facing{pointer-events:none;z-index:1;flex-direction:column;align-items:center;gap:8px;transition:transform .35s;display:flex;position:relative}.last-discard{--tile-w:64px;flex-direction:column;align-items:center;gap:6px;display:flex}.ld-label{opacity:.6;font-size:12px}.prompt{letter-spacing:.1em;opacity:.8;font-size:15px}.prompt.warn{color:#ffb4a2;font-weight:600}.result{z-index:2;background:#0a1e18f0;border:1px solid #d9b45c73;border-radius:14px;flex-direction:column;align-items:center;gap:10px;max-height:90%;padding:18px 26px;display:flex;overflow:auto}.result h2{color:var(--gold);margin:0;font-size:24px}.result .wt{color:var(--ivory);opacity:.8}.tai-list{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:2px 18px;width:100%;font-size:14px;display:grid}.tai-item{border-bottom:1px dotted #f6f0e233;justify-content:space-between;align-items:baseline;gap:12px;padding:2px 0;display:flex}.tai-name{flex-direction:column;line-height:1.15;display:flex}.tai-name em{letter-spacing:.08em;text-transform:uppercase;opacity:.55;font-size:10px;font-style:normal}.tai-val{color:var(--gold);font-weight:700}.win-arrow{color:var(--gold);text-shadow:0 0 6px #0a3126,0 0 20px #d9b45ce6;pointer-events:none;z-index:4;font-size:52px;line-height:.9;animation:.9s ease-in-out infinite arrow-nudge;position:absolute;top:0;left:50%}@keyframes arrow-nudge{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,9px)}}.ready-list{flex-direction:column;gap:6px;margin-top:2px;display:flex}.ready-row{align-items:center;gap:8px;font-size:14px;display:flex}.ready-row.none{opacity:.45}.ready-name{text-align:right;min-width:6.5em}.ready-row .tag.ting{white-space:nowrap;background:#2eaa7833;border:1px solid #2eaa7899;border-radius:999px;padding:1px 6px;font-size:11px}.ready-tiles{--tile-w:46px;flex-wrap:wrap;gap:2px;display:flex}.ready-no{letter-spacing:.04em;font-size:12px}.deltas{opacity:.9;gap:16px;font-size:14px;display:flex}.deltas .up{color:#5fd39a}.deltas .down{color:#ff8a80}.helpbtn.gear{font-size:13px}.helpbtn{color:#f6f0e2bf;cursor:pointer;background:0 0;border:1px solid #f6f0e259;border-radius:50%;width:22px;height:22px;margin-left:2px;font-family:inherit;font-size:12px;line-height:1}.help-slot{z-index:30;background:#04120e8c;position:absolute;inset:0}.help-slot.slot-bottom,.help-slot.slot-top,.help-slot.slot-left,.help-slot.slot-right{width:auto;height:auto;inset:0}.help{height:var(--hd);z-index:31;background:#082019fb;border:1px solid #d9b45c66;border-radius:12px;flex-direction:column;padding:10px 18px 14px;display:flex;position:absolute;top:50%;left:50%;box-shadow:0 18px 50px #0009}.help-slot.slot-bottom .help,.help-slot.slot-top .help{--hd:min(52vh, 560px);--off:calc(50vh - var(--hd) / 2 - 14px);width:calc(100vw - 60px)}.help-slot.slot-left .help,.help-slot.slot-right .help{--hd:min(52vw, 560px);--off:calc(50vw - var(--hd) / 2 - 14px);width:calc(100vh - 60px)}.help-slot.slot-bottom .help{translate:0 var(--off)}.help-slot.slot-top .help{translate:0 calc(var(--off) * -1)}.help-slot.slot-left .help{translate:calc(var(--off) * -1) 0}.help-slot.slot-right .help{translate:var(--off) 0}.help-head{flex:none;justify-content:space-between;align-items:center;gap:16px;display:flex}.help-head h3{letter-spacing:.08em;color:var(--gold);margin:0;font-size:15px;font-weight:400}.help-head .btn{min-height:30px;padding:2px 12px;font-size:13px}.help-body{columns:4;column-fill:auto;scrollbar-width:thin;flex:1 1 0;column-gap:26px;min-height:0;padding-top:8px;overflow:auto}.help-body section{break-inside:avoid;margin-bottom:10px}.help-body h4{color:var(--gold);letter-spacing:.06em;margin:0 0 2px;font-size:13px;font-weight:400}.help-body h4 em{letter-spacing:.12em;text-transform:uppercase;opacity:.55;margin-left:4px;font-size:9px;font-style:normal}.help-body p{flex-direction:column;margin:0 0 4px;font-size:11.5px;line-height:1.35;display:flex}.help-body p em{opacity:.6;font-size:10.5px;font-style:normal}.help-body .credit{opacity:.6}.lobby .sub{font-size:.95rem}.resume{text-align:center;background:#0003;border:1px solid #d9b45c59;border-radius:12px;flex-direction:column;gap:6px;margin-top:1.4rem;padding:12px 26px;display:flex}.resume-line{color:var(--gold);letter-spacing:.06em;font-size:14px}.resume-scores{opacity:.8;justify-content:center;gap:18px;font-size:13px;display:flex}.resume-scores b{color:var(--gold);font-weight:600}.resume-when{opacity:.45;letter-spacing:.08em;font-size:11px}.lobby-buttons{flex-direction:column;align-items:stretch;gap:12px;margin-top:1.6rem;display:flex}.lobby-buttons .big-btn{flex-direction:column;gap:3px;min-width:360px;padding:12px 28px;display:flex}.lobby-buttons .big-btn em{letter-spacing:.03em;opacity:.72;font-size:12px;font-style:normal;font-weight:400}@media (height<=860px){.lobby{gap:.25rem}.lobby h1{margin-bottom:.2rem;font-size:clamp(2.4rem,min(9vw,10vh),7rem)}.resume{margin-top:.8rem;padding:8px 20px}.lobby .hint{margin-bottom:.6rem}.lobby-buttons{gap:8px;margin-top:.9rem}.lobby-buttons .big-btn{padding:7px 28px}.lobby-extras{margin-top:.8rem}}.lobby-extras{align-items:center;gap:12px;margin-top:1.4rem;display:flex}.btn.pill{letter-spacing:.06em;border-radius:999px;gap:8px;min-height:34px;padding:2px 14px;font-size:13px}.sound-toggle.on{color:var(--gold);border-color:#d9b45cb3}.sound-toggle.compact{min-height:28px;padding:2px 9px;font-size:15px}.sound-toggle .spk{font-size:15px;line-height:1}.lang-toggle{min-height:34px;padding:2px 14px}.lang-toggle.compact{min-height:28px;padding:2px 9px}.lang-toggle .lang-icon{border:1px solid #e6e2d673;border-radius:4px;flex:none;place-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:inline-grid}.table.carrying .table-controls{pointer-events:none}.table-controls{z-index:2;align-items:center;gap:8px;display:flex;position:absolute;bottom:8px;right:10px}.btn.undo{border-radius:999px;gap:9px;max-width:40vh;min-height:34px;padding:3px 14px}.undo-arrow{color:var(--gold);font-size:17px;line-height:1}.undo-what{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15;display:flex}.undo-what .zh{letter-spacing:.05em;font-size:13px}.undo-what .en{letter-spacing:.09em;text-transform:uppercase;opacity:.55;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;overflow:hidden}.result .win{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.result .win+.win{border-top:1px solid #d9b45c4d;padding-top:10px}.result .liable{letter-spacing:.08em;color:#ffb4a2;font-size:12px}.result .multi{letter-spacing:.1em;color:var(--gold);opacity:.85;font-size:12px}.over-buttons{align-items:center;gap:12px;display:flex}.settings-scrim{z-index:40;background:#04120eb8;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.settings{background:#082019fc;border:1px solid #d9b45c66;border-radius:14px;flex-direction:column;width:min(1180px,100%);max-height:100%;padding:16px 28px 22px;display:flex;box-shadow:0 18px 50px #0009}.settings-head{border-bottom:1px solid #f6f0e21f;flex:none;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.settings-head h3{letter-spacing:.08em;color:var(--gold);margin:0;font-size:22px;font-weight:400}.settings-head-btns{gap:10px;display:flex}.settings-head .btn{min-height:46px;padding:2px 22px;font-size:17px}.settings-body{scrollbar-width:thin;columns:2;flex:auto;column-gap:44px;min-height:0;padding-top:14px;overflow-y:auto}.settings-body section{break-inside:avoid;margin-bottom:22px}.settings-body h4{color:var(--gold);letter-spacing:.06em;margin:0 0 10px;font-size:16px;font-weight:400}.settings-body h4 em{letter-spacing:.12em;text-transform:uppercase;opacity:.55;margin-left:5px;font-size:11px;font-style:normal}.settings .field{align-items:center;gap:14px;padding:5px 0;display:flex}.settings .f-label{opacity:.85;align-items:baseline;gap:6px;min-width:196px;font-size:16px;display:flex}.settings .names .f-label{min-width:26px}.settings .f-label em{letter-spacing:.1em;text-transform:uppercase;opacity:.55;font-size:11px;font-style:normal}.settings input[type=text],.settings input:not([type]),.settings input[type=number]{min-width:0;color:var(--ivory);-webkit-user-select:text;user-select:text;background:#00000047;border:1px solid #f6f0e240;border-radius:8px;flex:1 1 0;min-height:48px;padding:11px 14px;font-family:inherit;font-size:18px}.settings input:focus{border-color:#d9b45ccc;outline:none}.settings input[type=number]{max-width:150px}.settings input[type=range]{height:34px;accent-color:var(--gold);flex:1 1 0}.settings input:disabled{opacity:.4}.settings .switch{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:3px 14px;padding:9px 0;display:grid}.settings .switch input{width:26px;height:26px;accent-color:var(--gold);cursor:pointer}.settings .sw-name{align-items:baseline;gap:8px;font-size:17px;display:flex}.settings .sw-name em{letter-spacing:.1em;text-transform:uppercase;opacity:.55;font-size:11px;font-style:normal}.settings .note{opacity:.55;grid-column:2;font-size:13px;line-height:1.4}.settings .switch.dead{opacity:.4;cursor:default}.settings .note.lock{color:#ffb4a2;opacity:.75;grid-column:auto;margin:4px 0 0}.compact .table{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-template:"left across right"minmax(0,1fr)"bar bar bar""mine mine mine"/1fr 1fr 1fr;gap:2px;display:grid}.compact .slot{width:auto;min-width:0;height:auto;min-height:0;position:relative;inset:auto}.compact .slot.slot-left{grid-area:left}.compact .slot.slot-top{grid-area:across}.compact .slot.slot-right{grid-area:right}.compact .slot.slot-bottom{grid-area:mine}.compact .center{grid-area:bar}.compact .seat{width:auto;height:100%;padding:2px 4px 3px;position:relative;top:auto;left:auto}.compact .win-arrow{font-size:24px;left:14px}.compact .opp .seat{--tile-w:clamp(13px, calc((100vw / 3 - 20px) / 8.6), 32px);background:#00000024;border:1px solid #f6f0e217;border-radius:8px;justify-content:flex-start;gap:2px}.compact .opp .nameplate{order:0}.compact .opp .hand{order:1}.compact .opp .melds{order:2}.compact .opp .discards{order:3}.compact .opp .actionbar{order:4}.compact .opp .nameplate{flex-wrap:wrap;justify-content:center;gap:1px 5px;padding-top:0;font-size:10px}.compact .opp .nameplate .wind{font-size:13px}.compact .opp .nameplate .wind em,.compact .opp .nameplate .helpbtn,.compact .opp .nameplate .sort{display:none}.compact .opp .nameplate .chips{margin-left:0;font-size:13px}.compact .opp .nameplate .tag{padding:0 4px;font-size:9px}.compact .opp .hand{flex-wrap:wrap;justify-content:center;gap:1px;max-width:100%;height:auto;padding-top:0}.compact .opp .hand .tile{--tw:calc(var(--tile-w) * .52)}.compact .opp .melds{gap:5px;max-width:100%;min-height:0}.compact .opp .melds .tile{--tw:calc(var(--tile-w) * .52)}.compact .opp .meld.flowers{margin-left:5px;padding-left:5px}.compact .opp .discards{flex:auto;align-content:flex-start;max-width:100%;min-height:0;overflow-y:auto}.compact .opp .actionbar{justify-content:center;gap:4px;min-height:0;padding-right:0}.compact .opp .actionbar .btn{height:auto;min-height:34px;padding:2px 8px}.compact .opp .actionbar .bi .zh{font-size:14px}.compact .opp .delta{font-size:15px}.compact .mine .seat{--tile-w:min(calc((100vw - 24px) / 18.3), 54px);grid-template-columns:minmax(0,auto) minmax(0,1fr);grid-template-areas:"melds discards""bar bar""hand hand""name name";align-content:end;place-items:end center;gap:2px 8px;padding:2px 6px 3px;display:grid}.compact .mine .melds{grid-area:melds;justify-content:flex-start;gap:6px;min-height:0}.compact .mine .melds .tile{--tw:calc(var(--tile-w) * .72)}.compact .mine .discards{width:100%;max-width:100%;min-height:calc(var(--tile-w) * .9);opacity:.85;border-left:1px solid #f6f0e229;flex-wrap:nowrap;flex:none;grid-area:discards;justify-content:flex-start;align-self:end;margin-bottom:0;padding-left:8px;overflow:auto hidden}.compact .mine .discards .tile{--tw:calc(var(--tile-w) * .5)}.compact .mine .actionbar{--bar-h:44px;grid-area:bar;justify-content:center;gap:6px;padding-right:0}.compact .mine .hand{place-content:flex-end center;gap:calc(var(--tile-w) * .34) 2px;max-width:100%;height:auto;padding-top:calc(var(--tile-w) * .34);flex-wrap:wrap;grid-area:hand}.compact .mine .nameplate{flex-wrap:wrap;grid-area:name;justify-content:center;gap:3px 7px;padding-top:0;font-size:11px}.compact .mine .nameplate .wind{font-size:15px}.compact .mine .nameplate .wind em{display:none}.compact .mine .nameplate .chips{font-size:14px}.compact .mine .nameplate .btn.sort{min-height:26px;padding:1px 9px;font-size:12px}.compact .mine .nameplate .helpbtn{width:26px;height:26px;font-size:13px}.compact .center{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:1px 6px;position:relative;inset:auto}.compact .facing{flex-direction:row;flex:auto;justify-content:center;align-items:center;gap:10px;min-width:0}.compact .last-discard{--tile-w:30px;flex-direction:row;align-items:center;gap:6px}.compact .ld-label{font-size:10px}.compact .prompt{text-align:center;font-size:12px}.compact .table-controls{flex:none;position:static}.compact .btn.undo{max-width:34vw;min-height:30px;padding:2px 10px}.compact .undo-what .zh{font-size:11px}.compact .undo-what .en{display:none}.wall-pill{letter-spacing:.06em;opacity:.75;flex:none;align-items:baseline;gap:5px;display:flex}.wall-pill b{color:var(--gold);font-size:18px;font-weight:900}.wall-pill em{text-transform:uppercase;opacity:.7;font-size:9px;font-style:normal}.compact .result{z-index:25;gap:8px;max-width:min(560px,94vw);max-height:92dvh;padding:12px 16px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.compact .result h2{font-size:18px}.compact .tai-list{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:1px 12px;font-size:12px}.compact .ready-row{font-size:12px}.compact .ready-name{min-width:4.5em}.compact .ready-tiles{--tile-w:26px}.compact .deltas{flex-wrap:wrap;justify-content:center;gap:6px 14px;font-size:12px}.compact .big-btn{min-height:44px;padding:8px 22px;font-size:18px}@media (orientation:portrait){.compact .table{grid-template-rows:repeat(3,minmax(0,1fr)) auto auto;grid-template-columns:1fr;grid-template-areas:"right""across""left""bar""mine"}.compact .opp .seat{--tile-w:clamp(18px, calc((100vw - 26px) / 13), 34px)}.compact .mine .seat{--tile-w:min(calc((100vw - 26px) / 9.4), 54px)}.compact .center{flex-wrap:wrap;row-gap:2px}.compact .wall-pill{order:0}.compact .table-controls{order:1}.compact .facing{flex-basis:100%;order:2}}.compact .lobby{padding:12px 14px calc(14px + env(safe-area-inset-bottom));justify-content:flex-start;gap:.25rem;overflow-y:auto}.compact .lobby>*{flex:none}.compact .lobby h1{margin-bottom:.2rem;font-size:clamp(1.9rem,min(9vw,11vh),3.2rem)}.compact .lobby .sub{font-size:.78rem}.compact .lobby .hint{display:none}.compact .resume{margin-top:.8rem;padding:8px 16px}.compact .resume-scores{flex-wrap:wrap;gap:4px 12px;font-size:12px}.compact .lobby-buttons{gap:8px;width:min(460px,100%);margin-top:.9rem}.compact .lobby-buttons .big-btn{width:100%;min-width:0;padding:8px 16px}.compact .lobby-extras{margin-top:.9rem}@media (orientation:landscape){.compact .lobby h1{font-size:clamp(1.6rem,9vh,2.6rem)}.compact .lobby .sub,.compact .resume-when{display:none}.compact .resume{margin-top:.4rem;padding:6px 14px}.compact .resume-line{font-size:12px}.compact .lobby-buttons{margin-top:.5rem}.compact .lobby-buttons .big-btn{min-height:40px;padding:5px 16px;font-size:19px}.compact .lobby-extras{margin-top:.5rem}}.compact .help-slot .help{--hd:calc(100dvh - 16px);width:calc(100vw - 16px);padding:8px 12px 10px;translate:none}.compact .help-head h3{font-size:13px}.compact .help-body{columns:auto;column-gap:normal;overflow-x:hidden}.compact .settings-scrim{padding:6px}.compact .settings{padding:10px 14px 14px}.compact .settings-head h3{font-size:16px}.compact .settings-head .btn{min-height:38px;padding:2px 14px;font-size:14px}.compact .settings-body{columns:2;column-gap:26px;padding-top:10px}@media (orientation:portrait){.compact .settings-body{columns:1}}.compact .settings-body section{margin-bottom:14px}.compact .settings-body h4{margin-bottom:6px;font-size:14px}.compact .settings .f-label{min-width:116px;font-size:14px}.compact .settings input[type=text],.compact .settings input:not([type]),.compact .settings input[type=number]{min-height:40px;padding:8px 10px;font-size:15px}.compact .settings .sw-name{font-size:14px}.compact .settings .note{font-size:11px}.fs-toggle{min-height:34px;padding:2px 14px}.fs-toggle.compact{min-height:28px;padding:3px 9px}.fs-toggle.on{color:var(--gold);border-color:#d9b45cb3}.fs-toggle .fs-icon{flex:none;display:block}.seat-qr{--qw:92px;width:var(--qw);height:calc(var(--qw) * 1.2);padding:calc(var(--qw) * .09);border-radius:calc(var(--qw) * .1);box-shadow:inset 0 2px 1px #ffffffd9, inset 0 calc(var(--qw) * -.05) calc(var(--qw) * .04) #94825a66, inset calc(var(--qw) * -.02) 0 calc(var(--qw) * .03) #94825a38, 0 6px 12px #00000080;background:linear-gradient(165deg,#fffdf3,#f4edd9 58%,#e6dcbf);place-items:center;display:grid}.seat-qr svg{aspect-ratio:1;width:100%;height:auto;display:block}.nameplate .tag.phone{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:#1d5aa859;border-color:#1d5aa8b3}.nameplate .tag.waiting{background:#d9b45c47;border-color:#d9b45c99;padding-inline:5px}.nameplate .tag.voice{background:#1d5aa833;border-color:#1d5aa88c;padding-inline:5px}.ctl{--tile-w:clamp(46px, 13vmin, 74px);--bar-h:calc(var(--tile-w) * 1.375);background:radial-gradient(ellipse at center, var(--felt) 0%, var(--felt-2) 80%);color:var(--ivory);touch-action:none;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.ctl-top{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px 4px;font-size:13px;display:flex}.ctl-top .wind{color:var(--gold);font-size:18px;font-weight:900}.ctl-top .wind em{opacity:.7;margin-left:2px;font-size:10px;font-style:normal}.ctl-top .pname{font-weight:600}.ctl-top .tag{border:1px solid #f6f0e266;border-radius:20px;padding:1px 8px;font-size:11px}.ctl-top .tag.ting{border-color:var(--gold);color:var(--gold)}.ctl-status{opacity:.75}.ctl-status em{opacity:.6;margin-left:4px;font-style:normal}.ctl-status.hot{opacity:1;color:var(--gold);font-weight:600}.ctl-turn:before,.ctl-claim:before{content:"";pointer-events:none;z-index:2;animation:2.1s ease-in-out infinite ctl-breathe;position:fixed;inset:0}.ctl-turn:before{box-shadow:inset 0 0 0 3px var(--gold), inset 0 0 36px #d9b45c4d}.ctl-claim:before{box-shadow:inset 0 0 0 3px #e0574a,inset 0 0 36px #b3261e52}@keyframes ctl-breathe{50%{opacity:.45}}.ctl-turn .ctl-status,.ctl-claim .ctl-status{font-size:16px}.ctl .turn-clock{z-index:4;border-radius:0;height:6px;position:fixed;left:0;right:0}.ctl-last{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.ctl-top .chips{color:var(--gold);font-weight:600}.ctl-actions{justify-content:center;align-items:flex-end;gap:var(--hand-gap);min-height:var(--bar-h);flex-wrap:wrap;row-gap:6px;padding:4px 10px;display:flex}.ctl-hint{opacity:.55;font-size:11px}.ctl-hand{min-height:0;padding:0 8px calc(10px + env(safe-area-inset-bottom,0px));flex:1;justify-content:center;align-items:center;display:flex}.ctl-hand .hand{--tile-w:min(76px, calc((100vw - 56px) / 17.6));flex-wrap:nowrap}@media (orientation:portrait){.ctl-hand .hand{--tile-w:min(76px, calc((100vw - 40px) / (var(--hand-cols,9) + .4)));grid-template-columns:repeat(var(--hand-cols,9), var(--tile-w));justify-content:center;gap:var(--hand-gap);row-gap:calc(var(--tile-w) * .5);width:100%;height:auto;padding-top:calc(var(--tile-w) * .42);display:grid}.ctl-hand .hand .drawn-slot{order:-1;grid-column:1/-1;justify-self:center;margin-left:0}}.ctl-cut-bar{z-index:6;padding:6px 12px calc(6px + env(safe-area-inset-top,0px));text-align:center;color:var(--ivory);background:#782c22f0;font-size:13px;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 10px #00000073}.ctl-cut-bar em{opacity:.7;margin-left:6px;font-style:normal}.ctl-cut .ctl-actions,.ctl-cut .ctl-hand{opacity:.45;pointer-events:none}.ctl-adrift{text-align:center;justify-content:center;align-items:center;gap:6px;padding:24px}.ctl-adrift h1{margin:0;font-size:26px}.ctl-adrift .sub{letter-spacing:.28em;color:var(--gold);margin:0}.ctl-adrift .adrift-line{margin:10px 0 0;font-size:17px;font-weight:600}.ctl-adrift .hint{opacity:.7;max-width:30ch;margin:0;font-size:13px;line-height:1.5}.ctl-held{z-index:5;pointer-events:none;position:fixed;transform:translate(-50%,-50%)}.ctl-held .tile{width:100%;height:100%}.ctl-held.flung{animation:.3s ease-in forwards fling-up}@keyframes fling-up{to{opacity:.9;transform:translate(-50%,-140vh)rotate(18deg)}}.ctl-result{z-index:6;text-align:center;background:#0a3126f5;border:1px solid #d9b45c80;border-radius:14px;max-width:min(92vw,480px);padding:16px 22px;position:fixed;top:44%;left:50%;transform:translate(-50%,-50%)}.ctl-result h2{margin:0 0 8px;font-size:18px}.ctl-result .deltas{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.ctl-result .deltas .up{color:var(--gold)}.ctl-result .deltas .down{color:#e08a84}.ctl-pick{text-align:center;touch-action:pan-y;justify-content:center;align-items:center;overflow-y:auto}.pick-grid{grid-template-columns:repeat(2,minmax(150px,220px));justify-content:center;gap:10px;margin:12px 0;display:grid}.pick-grid .btn em{opacity:.65;margin-top:2px;font-size:11px;font-style:normal;display:block}.pick-extras{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.help-slot.slot-bottom .help.menu,.help-slot.slot-top .help.menu,.help-slot.slot-left .help.menu,.help-slot.slot-right .help.menu{--hd:268px;width:min(420px,100vw - 60px)}.help.menu{padding:10px 18px 16px}.menu-body{flex-direction:column;gap:8px;min-height:0;margin-top:10px;display:flex;overflow-y:auto}.menu-body .btn{justify-content:flex-start;width:100%}.menu-body .btn:disabled{opacity:.4;cursor:default}.menu-qr{border-top:1px solid #f6f0e224;align-items:center;gap:10px;padding-top:4px;display:flex}.menu-qr .seat-qr{flex:none}.menu-qr-hint{opacity:.75;font-size:12px;line-height:1.35}.menu-qr-hint em{opacity:.75;font-size:11px;font-style:normal;display:block}.net-count{z-index:55;letter-spacing:.02em;color:#f6f0e26b;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;position:absolute;top:6px;left:8px}.net-warn{z-index:60;color:#f6f0e2d9;text-align:center;pointer-events:none;background:#14281ed1;border:1px solid #d9b45c80;border-radius:999px;max-width:70vw;padding:4px 12px;font-size:12px;position:absolute;top:6px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.seat.awaited,.seat.claiming,.ctl-turn:before,.ctl-claim:before{animation:none}}
