:root{--felt:#1f5a48;--felt-deep:#12382d;--rim:#241a12;--rim-hi:#4d3524;--ivory:#f6f0e1;--ink:#1e1a16;--ink-soft:#6b6154;--blue:#2b5aa8;--blue-back:#2f5fae;--orange:#e07b2a;--orange-back:#e3832f;--red:#c8382b;--gold:#d9b25f;--green:#2e7a4a;--text:#ece6d6;--text-dim:#a9b7ae;--S:min(100vw - 12px, (100dvh - 190px) * 1.16, (100vh - 190px) * 1.16);--rt:calc(var(--S) / 21);--bt:calc(var(--S) / 29);--mt:calc(var(--S) / 25);--tw:clamp(20px, 6vw, 46px);--handw:calc(14 * var(--tw) + 36px);--font-ui:"Noto Sans JP",system-ui,-apple-system,"Hiragino Sans",sans-serif;--font-d:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif}*{box-sizing:border-box}html,body{height:100%}body{background:var(--rim);color:var(--text);font-family:var(--font-ui);-webkit-user-select:none;user-select:none;margin:0;font-size:14px;overflow:hidden}button{cursor:pointer;font-family:inherit}button:focus-visible,.tile:focus-visible{outline:2px solid var(--gold);outline-offset:2px}#app{background:radial-gradient(ellipse at 50% 45%,#2a6e59 0%,var(--felt) 50%,var(--felt-deep) 100%);flex-direction:column;height:100vh;display:flex;position:relative}#tablewrap{perspective:1400px;perspective-origin:50% 45%;flex:1;justify-content:center;align-items:flex-start;min-height:0;padding:4px;display:flex}#table{transform-origin:50%;width:var(--S);height:var(--S);border-radius:8px;position:relative;transform:translateY(-48px)rotateX(26deg);box-shadow:inset 0 0 0 1px #ffffff14,inset 0 0 60px #00000040}.seat{pointer-events:none;position:absolute;inset:0}.seat[data-pos=right]{transform:rotate(-90deg)}.seat[data-pos=top]{transform:rotate(180deg)}.seat[data-pos=left]{transform:rotate(90deg)}.seat .inner{align-items:center;gap:calc(var(--S)*.045);width:calc(var(--S)*.72);flex-direction:column;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.seat[data-pos=bottom] .inner{bottom:calc(var(--S)*.097)}.seat .river{min-height:calc(var(--rt)*1.38*3 + 4px);width:calc(var(--rt)*6 + 10px);flex-direction:column;align-items:flex-start;gap:2px;display:flex;position:relative}.seat .river .row{height:calc(var(--rt)*1.38);align-items:flex-start;gap:1px;display:flex}.seat .river .tile{--tw:var(--rt)}.seat .river .tile.riichi{transform:rotate(90deg) translate(calc(var(--rt)*.19),calc(var(--rt)*-.19));margin-right:calc(var(--rt)*.38);transform-origin:50%}.seat .river .tile.called{opacity:.4}.seat .river .tile.tsumogiri:after{content:"";border-radius:inherit;pointer-events:none;background:#08100c6b;position:absolute;inset:0}.seat .river .tile.last{outline:2px solid var(--gold);outline-offset:0}.seat .handrow{align-items:flex-end;gap:calc(var(--S)/60);height:calc(var(--bt)*1.5);display:flex}.seat .handrow .backs{gap:1px;display:flex}.seat .handrow .backs .tile{--tw:var(--bt)}.seat .handrow .backs .tile.drawn{margin-left:calc(var(--bt)*.3)}.seat .handrow .backs .tile.ghost{visibility:hidden;box-shadow:none;background:0 0}.seat .handrow .meld .tile{--tw:var(--mt)}.seat .handrow .openwaits{border-bottom:2px solid var(--orange);padding-bottom:2px}.seat[data-pos=bottom] .handrow{display:none}#center{width:calc(var(--S)*.34);height:calc(var(--S)*.34);pointer-events:none;background:#0d2a22;border:1px solid #2e5c4e;border-radius:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 16px #0006}#center .mid{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:18%}#center .round{font-family:var(--font-d);color:var(--ivory);font-weight:800;font-size:calc(var(--S)*.036);letter-spacing:.05em;line-height:1.1}#center .set{font-size:calc(var(--S)*.02);background:var(--blue);color:#fff;font-weight:700;font-family:var(--font-ui);vertical-align:middle;border-radius:3px;margin-left:3px;padding:1px 5px;display:inline-block}#center .set.sou{background:var(--green)}#center .sub{font-size:calc(var(--S)*.02);color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;gap:6px;display:flex}#center .dora{--tw:calc(var(--S)/27);margin-top:4px}.wall{gap:2px;display:flex}.wall .stack{width:var(--tw);height:calc(var(--tw)*1.38 + var(--tw)*.4);position:relative}.wall .stack .tile{position:absolute;left:0}.wall .stack .tile:first-child{bottom:0}.wall .stack .tile:nth-child(2){top:0}#center .side{font-size:calc(var(--S)*.023);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text);align-items:center;gap:4px;display:flex;position:absolute}#center .side .wind{width:calc(var(--S)*.036);height:calc(var(--S)*.036);font-family:var(--font-d);color:var(--gold);font-weight:700;font-size:calc(var(--S)*.024);background:#1b4438;border-radius:3px;justify-content:center;align-items:center;display:inline-flex}#center .side.turn .wind{background:var(--gold);color:#1e1a16}#center .side .tag{font-size:calc(var(--S)*.017);background:var(--red);color:#fff;border-radius:2px;padding:0 4px}#center .side .tag.k{background:#5b4a8a}#center .side .tag.yk,#status .ri.yk{color:#ffe3bf;background:#6b4a1e}#center .side .chip{font-size:calc(var(--S)*.026);color:var(--gold);font-weight:800}#center .side.bottom{bottom:3%;left:50%;transform:translate(-50%)}#center .side.top{top:3%;left:50%;transform:translate(-50%)rotate(180deg)}#center .side.right{top:50%;right:3%;transform:translate(50%,-50%)rotate(-90deg)}#center .side.left{top:50%;left:3%;transform:translate(-50%,-50%)rotate(90deg)}#center .side.empty{opacity:.35}#me{flex-direction:column;gap:5px;padding:4px 8px 8px;display:flex}#msg{display:none}#handrow{justify-content:center;align-items:flex-end;display:flex;position:relative}#handbox{width:var(--handw);flex:none;align-items:flex-end;gap:14px;display:flex;position:relative}#handbox>*{flex:none}#handhud{z-index:6;flex-direction:column;align-items:flex-end;gap:6px;max-width:min(94vw,560px);margin-bottom:10px;display:flex;position:absolute;bottom:100%;right:0}#actions{background:#06100de6;border-radius:12px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:min(94vw,460px);padding:8px;display:flex;box-shadow:inset 0 0 0 1px #f6f0e138,0 12px 30px #0000008c}#actions .hint{text-align:right;letter-spacing:.06em;color:var(--text-dim);flex:1 0 100%;font-size:11.5px}#actions button{letter-spacing:.08em;color:#fff;background:#3a6f5e;border:0;border-radius:4px;padding:8px 16px;font-size:15px;font-weight:700;box-shadow:0 3px 8px #00000059,0 2px #1c3a31}#actions button.win{background:var(--red);box-shadow:0 2px #7a1f16}#actions button.riichi{background:var(--orange);color:#1e1a16;box-shadow:0 2px #8a4914}#actions button.riichi.open{background:#f3c04a;box-shadow:inset 0 0 0 2px #8a4914,0 2px #8a4914}#actions button.abort{background:#5b4a8a;box-shadow:0 2px #2e2347}#actions button.pass{background:#4a4740;box-shadow:0 2px #26241f}#actions button:active{box-shadow:none;transform:translateY(2px)}#actions button.withtile{align-items:center;gap:8px;padding:6px 14px 6px 8px;display:inline-flex}#actions button.withtile .tile{--tw:26px;pointer-events:none}#hand{align-items:flex-end;gap:2px;display:flex;position:relative}#handtags{pointer-events:none;flex-direction:column;align-items:stretch;gap:4px;margin-right:8px;display:flex;position:absolute;bottom:0;right:100%}#handtags:empty{display:none}#handtags .tag{letter-spacing:.1em;white-space:nowrap;text-align:center;color:#fff;border-radius:4px;padding:3px 8px;font-size:11.5px;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff47}#handtags .furiten{background:var(--red)}#handtags .yakitori{background:#3f7a4a}#hand .tile{cursor:pointer;transition:transform .12s}#hand .tile.drawn{margin-left:10px}#hand .tile.slot{visibility:hidden}#hand .tile.pick:hover,#hand .tile.pick:focus{transform:translateY(-8px)}#hand .tile.dim{opacity:.35;cursor:default}#mymelds{align-items:flex-end;gap:10px;display:flex}#mymelds:empty{display:none}.meld{align-items:flex-end;gap:1px;display:flex}.meld .tile.side{transform:rotate(90deg) translate(calc(var(--tw)*.19),calc(var(--tw)*-.19));margin-right:calc(var(--tw)*.38);transform-origin:50%}.meld .sidestack{display:inline-flex;position:relative}.meld .sidestack .tile.side.up{transform:rotate(90deg) translate(calc(var(--tw)*.19 - var(--tw) - 2px),calc(var(--tw)*-.19));margin-right:0;position:absolute;top:0;left:0}#mymelds .meld .tile{--tw:clamp(22px,5vw,36px)}.meld .tile.extra{margin-left:calc(var(--tw)*-.2)}.meld.nukis{gap:0}.meld.nukis .tile{margin-left:calc(var(--tw)*-.35)}.meld.nukis .tile:first-child{margin-left:0}#status{color:var(--text-dim);justify-content:space-between;padding:0 4px;font-size:12px;display:flex}#status .ri{background:var(--red);color:#fff;border-radius:2px;margin-left:6px;padding:1px 6px;font-size:11px}.tile .tenpaidot{z-index:2;width:calc(var(--tw)*.22);height:calc(var(--tw)*.22);background:var(--orange);pointer-events:none;border-radius:50%;position:absolute;bottom:6%;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #00000059}.tile .tenpaidot.furiten{background:var(--red)}#hand .tile.peek{box-shadow:0 0 0 2px var(--orange),0 6px 10px #00000073;transform:translateY(-8px)}.tile.dora:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 4px var(--gold);position:absolute;inset:0}#studywin{white-space:nowrap;scrollbar-width:none;max-width:100%;color:var(--ivory);background:#06100deb;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-size:12.5px;display:flex;overflow-x:auto;box-shadow:0 8px 20px #00000080,inset 0 0 0 1px #f6f0e12e}#studywin::-webkit-scrollbar{display:none}#studywin.tenpai{box-shadow:0 4px 12px #00000073,inset 0 0 0 1px var(--orange)}#studywin .head{color:var(--text-dim);font-size:11.5px}#studywin .tile{--tw:24px;flex:none}#studywin .tiles{gap:2px;display:flex}#studywin i{color:var(--text-dim);font-style:normal}#studywin b{font-variant-numeric:tabular-nums;color:var(--ivory);font-size:14px;font-weight:800}#studywin small{color:var(--text-dim);font-size:11.5px}#studywin .state{letter-spacing:.08em;color:var(--text);background:#f6f0e11a;border-radius:3px;padding:2px 6px;font-size:10.5px;font-weight:800}#studywin.tenpai .state{background:var(--orange);color:#1e1a16}#studywin .state.fu{background:var(--red);color:#fff}#studywin .val{color:var(--gold)}#studywin .noyaku{color:var(--red)}#studywin .far{color:var(--text-dim)}#riichiline{white-space:nowrap;scrollbar-width:none;max-width:100%;color:var(--text-dim);background:#06100ddb;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:flex;overflow-x:auto;box-shadow:inset 0 0 0 1px #d69e4a4d}#riichiline::-webkit-scrollbar{display:none}#riichiline .lbl{letter-spacing:.1em;color:var(--gold);background:#d69e4a2e;border-radius:2px;flex:none;padding:1px 6px;font-size:10.5px;font-weight:800}#riichiline .tiles{gap:2px;display:flex}#riichiline .tile{--tw:22px;flex:none}#riichiline .val{color:var(--gold)}#riichiline .noyaku{color:var(--red)}.seat .sujitag{right:0;bottom:calc(var(--bt)*1.2);white-space:nowrap;transform-origin:50%;font-size:calc(var(--S)*.021);letter-spacing:.04em;color:#cfe4f5;background:#12304aeb;border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-weight:700;display:flex;position:absolute;box-shadow:inset 0 0 0 1px #8cbee680,0 3px 8px #0006}.seat .sujitag b{font-size:calc(var(--S)*.032);font-variant-numeric:tabular-nums;color:#fff;line-height:1}.seat[data-pos=right] .sujitag{transform:rotate(90deg)}.seat[data-pos=top] .sujitag{transform:rotate(180deg)}.seat[data-pos=left] .sujitag{transform:rotate(-90deg)}.seat .waitstag{right:0;bottom:calc(var(--bt)*1.2);white-space:nowrap;transform-origin:50%;font-size:calc(var(--S)*.02);letter-spacing:.04em;color:#1e1a16;background:var(--gold);border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-weight:700;display:flex;position:absolute;box-shadow:0 3px 8px #0006}.seat .waitstag .tiles{--tw:calc(var(--S)*.028);gap:1px;display:flex}.seat[data-pos=right] .waitstag{transform:rotate(90deg)}.seat[data-pos=top] .waitstag{transform:rotate(180deg)}.seat[data-pos=left] .waitstag{transform:rotate(-90deg)}.seat .sujitag{pointer-events:auto;cursor:pointer}#sujiwin{white-space:nowrap;scrollbar-width:none;max-width:100%;color:var(--ivory);background:#06100deb;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex;overflow-x:auto;box-shadow:0 8px 20px #00000080,inset 0 0 0 1px #8cbee673}#sujiwin::-webkit-scrollbar{display:none}#sujiwin .lbl{color:#cfe4f5;flex:none;font-size:11px}#sujiwin>b{font-variant-numeric:tabular-nums;color:#fff;flex:none;font-size:15px;font-weight:800}#sujiwin small{color:var(--text-dim)}#sujiwin .chains{--tw:20px;flex-wrap:wrap;gap:4px;display:flex}#sujiwin .chain{background:#f6f0e114;border-radius:4px;align-items:center;gap:1px;padding:2px 4px;display:flex}#sujiwin .chain i{color:var(--text-dim);font-size:10px;font-style:normal}.tile{--side:var(--blue-back);--edge:#dcd2b8;width:var(--tw);height:calc(var(--tw)*1.38);border-radius:calc(var(--tw)*.12);box-shadow:inset 0 0 0 1px #78644647, inset 0 1px 0 #ffffffe6, inset 0 -1px 0 #0000000f, 0 calc(var(--tw)*.06) 0 var(--edge), 0 calc(var(--tw)*.14) 0 var(--side), 0 calc(var(--tw)*.14) 0 1px #00000047, 0 calc(var(--tw)*.22) calc(var(--tw)*.16) #00000073;background:radial-gradient(70% 40% at 35% 8%,#ffffffd9,#fff0),linear-gradient(#fffdf4 0%,#f7f0de 55%,#ebe2cb 100%);flex:none;position:relative}.tile.bk-o{--side:var(--orange-back)}#app[data-backs=off] .tile,.overlay[data-backs=off] .tile{--side:var(--blue-back)}.tile img,.tile svg{object-fit:contain;pointer-events:none;width:88%;height:90%;display:block;position:absolute;inset:5% 6%}.tile.back{--side:#e6dcc5;--edge:#1f4485;background:radial-gradient(ellipse 70% 40% at 35% 8%,#ffffff59,#fff0), linear-gradient(180deg,#5a8fe0 0%,var(--blue-back) 50%,#254f96 100%);box-shadow:inset 0 0 0 1px #ffffff2e, inset 0 1px 0 #ffffff59, inset 0 -1px 0 #0003, 0 calc(var(--tw)*.06) 0 var(--edge), 0 calc(var(--tw)*.14) 0 var(--side), 0 calc(var(--tw)*.14) 0 1px #00000047, 0 calc(var(--tw)*.22) calc(var(--tw)*.16) #00000073}.tile.back.o{--edge:#8a4a12;background:radial-gradient(ellipse 70% 40% at 35% 8%,#fff6,#fff0), linear-gradient(180deg,#f3ab63 0%,var(--orange-back) 50%,#b05d1c 100%)}.tile.pocchi:before{content:"";background:var(--red);z-index:1;border-radius:50%;width:20%;height:20%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000026}.tile.back.w{--edge:#2c3a34;background:radial-gradient(70% 40% at 35% 8%,#ffffff40,#fff0),linear-gradient(#6f8078 0%,#4c5c54 50%,#36443d 100%)}.overlay{z-index:10;background:#0a1411c7;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0;overflow:auto}.overlay.ryuukyoku{background:#0a14116b}.overlay.ryuukyoku .panel{max-width:400px}.panel{--pad-y:20px;background:var(--ivory);color:var(--ink);padding:var(--pad-y) 22px;border-radius:8px;flex-direction:column;gap:12px;width:100%;max-width:600px;max-height:100%;display:flex;overflow:auto;box-shadow:0 12px 40px #00000080}.panel h1{font-family:var(--font-d);letter-spacing:.04em;text-wrap:balance;margin:0;font-size:26px;font-weight:800}.panel h2{font-family:var(--font-d);margin:0;font-size:20px;font-weight:800}.panel h2 .honba,.panel td .honba{font-family:var(--font-ui);color:#fff;background:var(--orange);vertical-align:middle;white-space:nowrap;border-radius:3px;margin-left:4px;padding:2px 6px;font-size:12px;font-weight:700}.panel td .honba{margin-left:6px;padding:1px 6px;font-size:11px}.panel p{color:#3b342c;max-width:40em;margin:0;line-height:1.7}.panel .lead{font-size:13px}.panel .rules{background:#ece4d1;border-radius:6px;grid-template-columns:auto 1fr;gap:4px 12px;padding:10px 12px;font-size:12.5px;line-height:1.5;display:grid}.panel .rules dt{color:var(--ink-soft);white-space:nowrap;font-weight:500}.panel .rules dd{margin:0}.panel .choices{flex-wrap:wrap;gap:8px;display:flex}.panel .choices label{cursor:pointer;border:2px solid #cfc4ab;border-radius:6px;flex-direction:column;flex:1;gap:2px;min-width:120px;padding:10px 12px;display:flex}.panel .choices label:has(input:checked){border-color:var(--orange);background:#fbeedd}.panel .choices input{display:none}.panel .choices b{font-family:var(--font-d)}.panel .choices small{color:var(--ink-soft)}.panel .btn{color:#fff;background:var(--felt);letter-spacing:.1em;border:0;border-radius:4px;align-self:flex-end;padding:10px 22px;font-size:15px;font-weight:700}.panel .btn.primary{background:var(--orange);color:#1e1a16}.panel .btn:disabled{opacity:.45;cursor:default}.panel .winhand{--tw:clamp(24px,5.5vw,36px);flex-wrap:wrap;align-items:flex-end;gap:2px;display:flex}.panel .winhand .tile.win{outline:2px solid var(--orange);outline-offset:0}.panel .winhand .gap{width:10px}.panel .winhand .pocchi-as{position:relative}.panel .winhand .pocchi-as .below{flex-direction:column;align-items:center;gap:1px;display:flex;position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%)}.panel .winhand .pocchi-as .arrow{color:var(--ink-soft);font-size:9px;line-height:1}.panel .winhand .pocchi-as .tile.as{--tw:calc(clamp(24px,5.5vw,36px) * .7)}.panel .winhand-wrap:has(.pocchi-as){padding-bottom:calc(1.2*clamp(24px,5.5vw,36px))}.panel .indicators{flex-wrap:wrap;gap:18px;display:flex}.panel .tenpai-list{flex-direction:column;gap:8px;max-height:46vh;display:flex;overflow:auto}.panel .tenpai-row{background:#0000000d;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 8px;display:flex;box-shadow:inset 0 0 0 1px #00000014}.panel .tenpai-row .who{flex:none;min-width:5em;font-size:13px;font-weight:700}.panel .tenpai-row .open{--tw:clamp(18px,3.6vw,26px);flex-wrap:wrap;align-items:flex-end;gap:2px;display:flex}.panel .tenpai-row .open .meld{margin-left:8px}.panel .tenpai-row .waits{--tw:clamp(18px,3.6vw,26px);align-items:center;gap:3px;margin-left:auto;display:flex}.panel .tenpai-row .waits .lbl{letter-spacing:.08em;color:var(--ink-soft);font-size:11px}.panel .tenpai-row .waits em{color:var(--ink-soft);font-size:12px;font-style:normal}.panel .indgroup{flex-direction:column;gap:3px;display:flex}.panel .indgroup .lbl{color:var(--ink-soft);letter-spacing:.08em;font-size:11px}.panel .indgroup .winhand{--tw:clamp(22px,4.5vw,30px)}.panel .yaku{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;gap:2px 16px;max-height:40vh;font-size:14px;display:grid;overflow:auto}.panel .yaku div:nth-child(2n){text-align:right;color:var(--ink-soft)}.panel .yaku .ym{color:var(--red);font-weight:700}.panel .total{border-top:2px solid var(--ink);justify-content:space-between;align-items:baseline;padding-top:8px;display:flex}.panel .total .han{color:var(--ink-soft);font-size:14px}.panel .total .pts{font-family:var(--font-d);font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.panel .total .pts small{color:var(--ink-soft);font-size:13px;font-family:var(--font-ui);margin-left:6px;font-weight:500}.panel .formula{color:var(--ink-soft);font-size:12px}.panel .formula.honba-line{color:var(--orange);padding-left:12px;font-size:14px;font-weight:700}.panel .chipline{color:#a8791f;letter-spacing:.02em;background:#fbeedd;border-radius:5px;padding:6px 10px;font-size:16px;font-weight:800}.panel table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.panel td,.panel th{text-align:left;border-bottom:1px solid #d9d0ba;padding:6px 8px}.panel td:last-child,.panel th:last-child{text-align:right}.panel .delta{color:var(--ink-soft);font-size:12px}.panel .delta.plus{color:var(--green)}.panel .delta.minus{color:var(--red)}.hidden{display:none!important}.setback{vertical-align:-3px;background:var(--blue-back);border-radius:2px;width:12px;height:16px;margin-right:3px;display:inline-block}.setback.o{background:var(--orange-back)}@media (max-width:560px){:root{--S:min(100vw - 8px, 100dvh - 250px, 100vh - 250px)}#me{padding:2px 4px 6px}#actions{max-width:98vw}.panel{--pad-y:14px;padding:var(--pad-y) 14px}.panel h1{font-size:22px}}.callout-wrap{z-index:6;pointer-events:none;position:absolute}.callout-wrap.bottom{left:50%;bottom:calc(var(--S)*.1);transform:translate(-50%)}.callout-wrap.top{left:50%;top:calc(var(--S)*.1);transform:translate(-50%)}.callout-wrap.right{right:calc(var(--S)*.07);top:50%;transform:translate(50%,-50%)}.callout-wrap.left{left:calc(var(--S)*.07);top:50%;transform:translate(-50%,-50%)}.callout{font-family:var(--font-d);letter-spacing:.06em;white-space:nowrap;text-align:center;font-weight:800;font-size:clamp(18px,calc(var(--S)*.06),44px);color:var(--ivory);text-shadow:0 2px 3px #00000080,0 0 22px #00000080;opacity:0;transition:opacity .18s,transform .3s cubic-bezier(.25,1.5,.4,1);display:block;position:relative;transform:scale(.55)}.callout.show{opacity:1;transform:scale(1)}.callout.win{color:#ffdca6;text-shadow:0 2px 4px #0009,0 0 28px #c8321ebf}.callout.riichi{color:#ffe3bf;text-shadow:0 2px 4px #0009,0 0 24px #e07b2ab3}.callout.kan{color:#e7ddff;text-shadow:0 2px 4px #0009,0 0 22px #5b4a8abf}.callout.nuki{color:#d9c9ff;text-shadow:0 2px 4px #0009,0 0 20px #5b4a8aa6}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.tile .noart{font-family:var(--font-d);text-align:center;font-weight:800;line-height:1.1;font-size:calc(var(--tw)*.42);color:#2b2b2b;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.seat .noart{font-size:calc(var(--tw)*.5)}.title{--car-shift:200px;z-index:10;color:var(--text);padding:max(14px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));background:radial-gradient(ellipse at 40% 40%,#2a6e59 0%,var(--felt) 42%,var(--felt-deep) 78%,#0b2620 100%);flex-direction:column;gap:12px;display:flex;position:absolute;inset:0;overflow:hidden}.title:before{content:"";pointer-events:none;opacity:.07;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");position:absolute;inset:0}.title:after{content:"";pointer-events:none;background:radial-gradient(circle at calc(100% + 60px) calc(100% + 100px),#e07b2a38 0%,#e07b2a00 320px),linear-gradient(#0000 55%,#0614108c 100%);position:absolute;inset:0}.title>*{z-index:1;position:relative}.title-head{flex:none;justify-content:space-between;align-items:center;height:44px;display:flex}.title .wordmark{font-family:var(--font-d);letter-spacing:.08em;color:var(--ivory);font-size:clamp(16px,2vw,22px);font-weight:800}.title .chip{height:36px;color:var(--ivory);background:#f6f0e10f;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 12px;font-family:inherit;font-size:12.5px;display:flex;box-shadow:inset 0 0 0 1px #f6f0e129}.title .chip svg{color:var(--orange)}.title .chip b{letter-spacing:.06em;font-weight:700}.title .chip small{color:var(--text-dim)}.title .chip:disabled{cursor:default}.title .head-right{align-items:center;gap:10px;display:flex}.title .chip:not(:disabled){cursor:pointer}.title .chip:not(:disabled):hover{background:#f6f0e11a}.replay-list{gap:16px}.replay-list .note{color:var(--text-dim);margin:0;font-size:13px}.loglist{flex-direction:column;gap:8px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.loglist li{align-items:center;gap:8px;display:flex}.loglist .open{text-align:left;cursor:pointer;color:var(--ivory);background:#f6f0e10f;border:0;border-radius:10px;flex-direction:column;flex:1;gap:2px;padding:10px 14px;font-family:inherit;display:flex;box-shadow:inset 0 0 0 1px #f6f0e124}.loglist .open:hover{background:#f6f0e11a}.loglist .open b{letter-spacing:.04em;font-size:14px}.loglist .open small{color:var(--text-dim);font-size:11.5px}.loglist .ghost{cursor:pointer;color:var(--text);background:#ffffff0f;border:0;border-radius:999px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff29}.replay{height:100vh;position:relative}.replay-controls{z-index:20;flex-direction:column;align-items:stretch;gap:8px;width:92px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.replay-controls button,.replay-controls select{letter-spacing:.06em;cursor:pointer;width:100%;height:38px;color:var(--ivory);background:#ffffff14;border:0;border-radius:10px;font-family:inherit;font-size:13.5px;font-weight:700}.replay-controls button:hover{background:#ffffff29}.replay-back{box-shadow:inset 0 0 0 1px #f6f0e129;background:#06100dcc!important}.replay-side{color:var(--text);background:#06100dcc;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:6px;display:flex;box-shadow:inset 0 0 0 1px #f6f0e129}.replay-side select{text-align:center;padding:0 4px}.replay-side input[type=range]{writing-mode:vertical-lr;appearance:slider-vertical;width:24px;height:120px;margin:2px 0}.replay-side .pos{font-variant-numeric:tabular-nums;color:var(--ivory);text-align:center;font-size:12px;line-height:1.1}.replay-side .pos small{color:var(--text-dim);font-size:10px;display:block}@media (max-height:500px) and (orientation:landscape){.replay-controls{gap:4px;width:80px;right:8px}.replay-controls button,.replay-controls select{border-radius:8px;height:28px;font-size:12px}.replay-side{gap:3px;padding:4px}.replay-side input[type=range]{width:20px;height:70px}.replay-side .pos{font-size:10px}}.title-body{flex:1;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch;gap:clamp(16px,3vw,48px);min-height:0;display:grid}.title .carousel-wrap{align-items:center;gap:clamp(10px,1.5vw,22px);min-height:0;display:flex}.title .carousel{perspective:1100px;touch-action:none;cursor:grab;outline:none;flex:1;height:100%;max-height:720px;position:relative}.title .carousel:focus-visible{outline:2px solid var(--gold);outline-offset:6px;border-radius:14px}.title .mode{box-shadow:inset 0 0 0 1.5px var(--orange),0 24px 60px #00000059;cursor:pointer;background:linear-gradient(#f6f0e11a 0%,#f6f0e10d 100%);border-radius:14px;flex-direction:column;gap:clamp(8px,1.6vh,18px);padding:clamp(14px,2.6vh,30px) clamp(16px,2vw,32px) clamp(12px,2.4vh,28px);transition:transform .4s cubic-bezier(.2,.7,.2,1),opacity .4s,box-shadow .4s,padding .4s;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.title .mode:not(.is-current){opacity:.38;background:#0a1e188c;padding:clamp(10px,1.8vh,22px) clamp(14px,1.8vw,26px);box-shadow:inset 0 0 0 1px #f6f0e11f}.title .mode.is-prev{transform:translateY(calc(-50% - var(--car-shift))) rotateX(22deg) scale(.9);transform-origin:50% 100%}.title .mode.is-next{transform:translateY(calc(-50% + var(--car-shift))) rotateX(-22deg) scale(.9);transform-origin:50% 0}.title .mode.is-hidden-prev{transform:translateY(calc(-50% - var(--car-shift) * 1.7)) scale(.8);opacity:0;pointer-events:none}.title .mode.is-hidden-next{transform:translateY(calc(-50% + var(--car-shift) * 1.7)) scale(.8);opacity:0;pointer-events:none}.title .mode:not(.is-current) .mode-detail,.title .mode:not(.is-current) .mode-kicker{display:none}.title .mode-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.title .mode-kicker{letter-spacing:.22em;color:var(--orange);margin-bottom:8px;font-size:11px;font-weight:700}.title .mode-name{font-family:var(--font-d);color:var(--ivory);font-size:clamp(22px,3.2vw,40px);font-weight:800;line-height:1.1}.title .mode:not(.is-current) .mode-name{font-size:clamp(16px,2vw,26px)}.title .mode-players{letter-spacing:.08em;background:var(--blue);color:#fff;white-space:nowrap;border-radius:4px;flex:none;padding:6px 10px;font-size:12px;font-weight:700}.title .mode:not(.is-current) .mode-players{color:var(--text-dim);background:0 0;align-self:center;padding:0;font-weight:500}.title .mode-detail{flex-direction:column;gap:clamp(8px,1.6vh,18px);display:flex}.title .mode-lead{color:#d6d0c2;margin:0;font-size:clamp(11.5px,1.05vw,14px);line-height:1.7}.title .mode-tiles{--tw:clamp(26px,2.8vw,40px);gap:4px;display:flex}.title .rail{flex-direction:column;flex:none;align-items:center;gap:16px;width:44px;display:flex}.title .rail-btn{width:44px;height:44px;color:var(--text);background:#ffffff0f;border:0;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 0 0 1px #ffffff24}.title .rail-btn:active{transform:translateY(1px)}.title .dots{flex-direction:column;align-items:center;gap:8px;display:flex}.title .dots span{background:#f6f0e14d;border-radius:3px;width:6px;height:6px;transition:height .3s,background .3s}.title .dots span.on{background:var(--orange);height:22px}.title .actions{flex-direction:column;place-self:center end;gap:clamp(10px,1.6vh,14px);width:min(100%,400px);display:flex}.title .actions .row{gap:clamp(10px,1.6vh,14px);display:flex}.title .act{text-align:left;color:var(--text);border:0;border-radius:8px;align-items:center;gap:14px;height:clamp(56px,8vh,68px);padding:0 clamp(14px,1.6vw,26px);font-family:inherit;display:flex}.title .act .lbl{flex-direction:column;gap:1px;min-width:0;display:flex}.title .act .lbl b{letter-spacing:.1em;white-space:nowrap;font-size:clamp(15px,1.4vw,19px);font-weight:900}.title .act .lbl small{letter-spacing:.04em;opacity:.75;white-space:nowrap;font-size:11.5px;font-weight:500}.title .act .soon{letter-spacing:.08em;background:#00000047;border-radius:999px;flex:none;margin-left:auto;padding:3px 8px;font-size:11px}.title .act.primary{background:var(--orange);color:var(--ink);box-shadow:0 10px 28px #e07b2a4d,0 2px #00000040}.title .act.outline{color:var(--ivory);background:#f6f0e10a;box-shadow:inset 0 0 0 1.5px #f6f0e173}.title .act.sub{letter-spacing:.1em;background:#ffffff0f;flex:1;justify-content:center;gap:10px;height:clamp(44px,6.5vh,52px);font-size:15px;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff1f}.title .act.sub:hover{background:#ffffff1a}.title .act.sub:active{transform:translateY(1px)}.title .act:disabled{cursor:default;opacity:.5;color:var(--ivory);background:#f6f0e10a;box-shadow:inset 0 0 0 1.5px #f6f0e140}.title .sheet-back{z-index:5;background:#06100db8;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.title .sheet{background:#132f27;border-radius:14px;flex-direction:column;gap:12px;width:min(100%,560px);max-height:100%;padding:clamp(14px,3vh,26px) clamp(16px,3vw,28px);display:flex;overflow:auto;box-shadow:inset 0 0 0 1px #f6f0e124,0 24px 60px #00000080}.title .sheet-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.title .sheet h2{font-family:var(--font-d);color:var(--ivory);margin:0;font-size:20px;font-weight:800}.title .sheet .close{width:36px;height:36px;color:var(--text);background:#ffffff0f;border:0;border-radius:50%;justify-content:center;align-items:center;display:flex}.title .sheet .lead{color:#d6d0c2;margin:0;font-size:13px;line-height:1.7}.title .sheet .rules{background:#0003;border-radius:8px;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;padding:12px 14px;font-size:12.5px;line-height:1.55;display:grid}.title .sheet .rules dt{color:var(--text-dim);white-space:nowrap}.title .sheet .rules dd{margin:0}.title .sheet .choices{gap:8px;display:flex}.title .sheet .choices label{cursor:pointer;border-radius:8px;flex-direction:column;flex:1;gap:2px;padding:10px 12px;display:flex;box-shadow:inset 0 0 0 1.5px #f6f0e12e}.title .sheet .choices label:has(input:checked){box-shadow:inset 0 0 0 2px var(--orange);background:#e07b2a1f}.title .sheet .choices input{display:none}.title .sheet .choices b{font-family:var(--font-d);color:var(--ivory);font-size:15px}.title .sheet .choices small{color:var(--text-dim);font-size:12px}.title .sheet .start{letter-spacing:.1em;background:var(--orange);color:var(--ink);border:0;border-radius:8px;align-self:flex-end;padding:12px 24px;font-size:15px;font-weight:900;box-shadow:0 8px 22px #e07b2a4d,0 2px #00000040}.title .sheet .start:active{box-shadow:none;transform:translateY(2px)}.title .sheet .start:disabled{opacity:.45;cursor:default;box-shadow:none}.title .sheet.rulesheet{width:min(100%,640px)}.title .sheet .note{color:var(--text-dim);margin:0;font-size:12px;line-height:1.6}.title .sheet .problems{color:#ffc4ba;background:#c8382b33;border-radius:8px;margin:0;padding:8px 10px 8px 24px;font-size:12.5px;line-height:1.6;box-shadow:inset 0 0 0 1px #c8382b66}.title .sheet .sub-h{letter-spacing:.14em;color:var(--text-dim);margin:6px 0 0;font-size:12px;font-weight:700}.title .sheet .sheet-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.title .sheet .saved{color:var(--text-dim);font-size:11.5px}.title .sheet .ghost{letter-spacing:.06em;color:var(--text);background:#ffffff0f;border:0;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff29}.title .sheet .ghost:disabled{opacity:.4;cursor:default}.title .sheet.practice{width:min(100%,640px)}.title .sheet .startbar{z-index:1;background:#132f27;justify-content:space-between;align-items:center;gap:12px;margin:0 calc(-1*clamp(16px,3vw,28px)) calc(-1*clamp(14px,3vh,26px));padding:10px clamp(16px,3vw,28px) clamp(14px,3vh,26px);display:flex;position:sticky;bottom:calc(-1*clamp(14px,3vh,26px));box-shadow:0 -12px 16px -4px #132f27}.title .sheet .startbar .start{align-self:auto}.editor .row.soon{opacity:.45}.editor .row.soon .seg button{pointer-events:none}.editor .soon-tag{letter-spacing:.08em;color:var(--text);vertical-align:middle;background:#00000047;border-radius:999px;margin-left:6px;padding:2px 6px;font-size:10px}.editor{flex-direction:column;gap:14px;display:flex}.editor .sec{flex-direction:column;gap:4px;display:flex}.editor h3{letter-spacing:.18em;color:var(--orange);margin:0;font-size:11.5px;font-weight:700}.editor .rows{flex-direction:column;display:flex}.editor .row{border-bottom:1px solid #f6f0e112;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:3px 0;display:flex}.editor .row:last-child{border-bottom:0}.editor .k{color:var(--ivory);font-size:13.5px}.editor .k small{color:var(--text-dim);font-size:11px;font-weight:400;line-height:1.4;display:block}.editor .stepper{flex:none;align-items:center;gap:4px;display:flex}.editor .stepper button{width:34px;height:34px;color:var(--ivory);background:#ffffff14;border:0;border-radius:50%;font-family:inherit;font-size:16px;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff29}.editor .stepper button:disabled{opacity:.3;cursor:default}.editor .stepper button:not(:disabled):active{transform:translateY(1px)}.editor .stepper b{text-align:center;font-variant-numeric:tabular-nums;min-width:76px;color:var(--ivory);font-size:14px}.editor .seg{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.editor .seg button{letter-spacing:.04em;height:32px;color:var(--text);background:#ffffff0f;border:0;border-radius:999px;padding:0 12px;font-family:inherit;font-size:12.5px;font-weight:500;box-shadow:inset 0 0 0 1px #ffffff24}.editor .seg button.on{background:var(--orange);color:var(--ink);box-shadow:none;font-weight:700}.editor .seg .custom{color:var(--gold);font-variant-numeric:tabular-nums;padding:0 6px;font-size:12px}details.study{background:#d69e4a12;border-radius:8px;box-shadow:inset 0 0 0 1px #d69e4a33}details.study>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;list-style:none;display:flex}details.study>summary::-webkit-details-marker{display:none}details.study>summary .k{color:var(--ivory);font-size:13.5px}details.study>summary .k small{color:var(--text-dim);font-size:11px;font-weight:400;line-height:1.4;display:block}details.study>summary .count{letter-spacing:.06em;color:var(--gold);flex:none;font-size:11.5px;font-weight:700}details.study>summary:after{content:"＋";color:var(--text-dim);flex:none;font-size:13px}details.study[open]>summary:after{content:"−"}details.study .rows{flex-direction:column;padding:0 12px 6px;display:flex}details.study .row{cursor:pointer;border-top:1px solid #f6f0e112;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:3px 0;display:flex}details.study .row .k{color:var(--ivory);font-size:13px}details.study .row .k small{color:var(--text-dim);font-size:11px;line-height:1.4;display:block}details.study .row input{width:20px;height:20px;accent-color:var(--orange);flex:none}details.study .row.ro{cursor:default}details.study .row.ro .k{color:var(--text)}.lobby details.study{margin-top:6px}.title .mode-tags{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.title .mode-custom{letter-spacing:.06em;color:var(--ink);background:var(--gold);border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:700}.title .mode:not(.is-current) .mode-tags{flex-direction:row;align-items:center}@media (max-height:500px){.title{--car-shift:118px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));gap:6px}.title-head{height:34px}.title .chip{height:32px}.title .mode{border-radius:10px}.title .mode-kicker{margin-bottom:4px;font-size:9.5px}.title .mode-name{font-size:clamp(20px,3vw,26px)}.title .mode:not(.is-current) .mode-name{font-size:16px}.title .mode-players{padding:4px 8px;font-size:10.5px}.title .mode-tiles{--tw:26px}.title .mode-lead{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.title .rail{gap:10px;width:36px}.title .rail-btn{width:36px;height:36px}.title .actions{width:min(100%,300px)}.title .act{height:58px;padding:0 18px}.title .act .lbl b{font-size:16px}.title .act .lbl small{font-size:10.5px}.title .act.sub{height:44px;font-size:13px}.title .sheet{gap:8px}.title .sheet .choices label{padding:6px 10px}.editor{gap:10px}.editor .row{min-height:36px;padding:2px 0}.editor .stepper button{width:30px;height:30px}.editor .seg button{height:28px;padding:0 10px}}#dora-corner{display:none}@media (max-height:500px) and (orientation:landscape){:root{--S:min(100vw - 12px, (100dvh - 8px) * 1.23, (100vh - 8px) * 1.23);--tw:34px}#tablewrap{perspective:1000px;perspective-origin:50%;align-items:center;padding:0}#table{transform-origin:50%;transform:translateY(-5px)rotateX(30deg)}#center{width:calc(var(--S)*.3);height:calc(var(--S)*.2)}#center .mid{inset:12% 22%}#center .dora{display:none}.seat[data-pos=bottom] .inner{bottom:calc(var(--S)*.18)}.seat[data-pos=top] .inner{gap:calc(var(--S)*.095)}.callout-wrap.bottom{bottom:calc(var(--S)*.26)}#dora-corner{z-index:2;flex-direction:column;gap:4px;display:flex;position:absolute;top:8px;left:10px}#dora-corner .lbl{letter-spacing:.14em;color:var(--text-dim);font-size:10px}#dora-corner .wall{--tw:22px}#me{pointer-events:none;flex-direction:row;justify-content:center;align-items:flex-end;gap:10px;padding:0 160px 10px;position:absolute;bottom:0;left:0;right:0}#me>*{pointer-events:auto}#mymelds .meld .tile{--tw:26px}#handrow{position:static}#hand .tile.drawn{margin-left:8px}#actions{gap:4px;max-width:min(94vw,380px);margin-bottom:8px;padding:6px}#actions button{padding:7px 14px;font-size:14px}#status{flex-direction:column;align-items:flex-start;gap:2px;width:144px;padding:0;font-size:11px;line-height:1.4;position:absolute;bottom:10px;left:8px}#status .ri{margin-left:4px}}#rotate{display:none}@media (orientation:portrait) and (max-width:700px){#rotate{z-index:100;background:radial-gradient(ellipse at 50% 40%,#2a6e59 0%,var(--felt) 45%,var(--felt-deep) 100%);color:var(--ivory);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}#rotate p{letter-spacing:.1em;margin:0;font-size:15px;font-weight:700}}.panel.win{max-width:920px}.panel .win-cols{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:start;gap:12px 24px;display:grid}.panel .win-main{flex-direction:column;gap:12px;min-width:0;display:flex}.panel .win-side{flex-direction:column;gap:10px;display:flex;position:sticky;top:0}.panel .win-side .lbl{color:var(--ink-soft);letter-spacing:.08em;font-size:11px}.panel .win-side table{background:#ece4d1;border-radius:6px}.panel .win-side td,.panel .win-side th{border-bottom-color:#d9d0ba}.panel .win-side tr:last-child td{border-bottom:0}.panel .win-side .btn{align-self:stretch;margin-top:4px}@media (max-width:700px) and (orientation:portrait){.panel .win-cols{grid-template-columns:1fr}.panel .win-side{position:static}}@media (max-height:500px) and (orientation:landscape){.overlay{padding:8px}.panel{--pad-y:10px;padding:var(--pad-y) 16px;border-radius:10px;gap:8px;max-width:920px}.panel h1{font-size:20px}.panel h2{font-size:16px}.panel p{font-size:13px;line-height:1.5}.panel .win-main{gap:6px}.panel .win-cols{gap:8px 20px}.panel .winhand{--tw:clamp(22px,3vw,28px)}.panel .indgroup .winhand{--tw:22px}.panel .indicators{gap:14px}.panel .yaku{grid-template-columns:1fr auto 1fr auto;gap:1px 14px;max-height:none;font-size:12.5px}.panel .yaku div:nth-child(2n){text-align:right}.panel .total{padding-top:5px}.panel .total .pts{font-size:22px}.panel .formula.honba-line{font-size:13px}.panel .chipline{padding:4px 8px;font-size:13px}.panel td,.panel th{padding:3px 8px;font-size:12.5px}.panel .win-side{gap:6px}.panel .btn{padding:8px 18px;font-size:14px}}.stats-page{gap:10px}.stats-page .note{color:var(--text-dim);margin:0;font-size:13px}.stats-bar{flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.stats-caption{color:var(--text-dim);font-size:12px}.axes{flex-wrap:wrap;gap:6px;display:flex}.axes button{letter-spacing:.04em;cursor:pointer;color:var(--text-dim);background:#f6f0e10f;border:0;border-radius:999px;padding:5px 11px;font-family:inherit;font-size:12px;font-weight:700;box-shadow:inset 0 0 0 1px #f6f0e124}.axes button.on{color:var(--ink);background:var(--orange);box-shadow:none}.stats-body{flex-direction:column;gap:10px;min-height:0;padding-bottom:8px;display:flex;overflow:auto}.stats-table-wrap{background:#f6f0e10f;border-radius:12px;flex:none;overflow:auto;box-shadow:inset 0 0 0 1px #f6f0e124}.stats-table{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%;font-size:12.5px}.stats-table th,.stats-table td{text-align:right;border-bottom:1px solid #f6f0e11a;padding:6px 10px}.stats-table th{letter-spacing:.08em;color:var(--orange);font-size:11px;font-weight:700}.stats-table th.lbl,.stats-table td.lbl{text-align:left}.stats-table td.lbl small{color:var(--ivory);background:#e07b2a40;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px}.stats-table tbody tr{cursor:pointer;color:var(--ivory)}.stats-table tbody tr:hover{background:#f6f0e10f}.stats-table tbody tr.on{background:#e07b2a2e}.stats-table tbody tr.few td:not(.lbl){color:var(--text-dim)}.stats-detail{flex-direction:column;gap:8px;display:flex}.stats-detail>h3{font-family:var(--font-d);letter-spacing:.08em;color:var(--ivory);margin:0;font-size:13px}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:10px;display:grid}.stats-card{background:#f6f0e10f;border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex;box-shadow:inset 0 0 0 1px #f6f0e124}.stats-card h3{font-family:var(--font-d);letter-spacing:.12em;color:var(--orange);margin:0 0 4px;font-size:12px}.stats-card .stat{grid-template-columns:1fr auto;align-items:baseline;column-gap:8px;font-size:12.5px;line-height:1.5;display:grid}.stats-card .stat span{color:var(--text)}.stats-card .stat b{font-variant-numeric:tabular-nums;color:var(--ivory)}.stats-card .stat small{color:var(--text-dim);grid-column:1/-1;margin-top:-2px;font-size:10.5px;line-height:1.1}.stats-card .ranks{flex-direction:column;gap:2px;margin:2px 0 4px;display:flex}.stats-card .rank{grid-template-columns:28px 1fr 48px;align-items:center;gap:6px;font-size:11.5px;display:grid}.stats-card .rank i{background:var(--orange);opacity:.85;border-radius:3px;min-width:2px;height:6px;display:block}.stats-card .rank b{text-align:right;font-variant-numeric:tabular-nums;color:var(--ivory)}.panel-actions{justify-content:flex-end;gap:8px;display:flex}.roombtn{z-index:6;letter-spacing:.08em;cursor:pointer;height:32px;color:var(--ivory);background:#06100dcc;border:0;border-radius:999px;padding:0 14px;font-family:inherit;font-size:12.5px;font-weight:700;position:absolute;top:10px;right:12px;box-shadow:inset 0 0 0 1px #f6f0e129}.roombtn:hover{background:#06100df2}.panel.roomsheet{max-width:920px}.room-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.room-sub{color:var(--ink-soft);font-size:12.5px}.room-cols{flex-direction:column;gap:12px;min-height:0;display:flex;overflow:auto}.room-sec{flex-direction:column;gap:6px;min-width:0;display:flex}.room-sec>h3{font-family:var(--font-d);letter-spacing:.04em;align-items:baseline;gap:8px;margin:0;font-size:14px;display:flex}.room-sec>h3 small{font-family:var(--font-ui);color:var(--ink-soft);font-size:12px;font-weight:500}.room-note{color:var(--ink-soft);margin:0;font-size:11.5px}.room-totals td,.room-totals th{white-space:nowrap}.room-totals td:not(:first-child),.room-totals th:not(:first-child){text-align:right}.room-totals .ranks{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.room-totals .ranks small{color:#b3a893;margin-left:2px;font-size:11px}.room-totals .ranks small.hit{color:var(--red)}.room-hands{font-size:13px}.room-hands th{z-index:1;background:#ece4d1;position:sticky;top:0}.room-hands td:not(:first-child),.room-hands th:not(:first-child){text-align:right;white-space:nowrap}.room-hands td{font-variant-numeric:tabular-nums}.room-hands td.plus{color:var(--green)}.room-hands td.minus{color:var(--red)}.room-hands td .none{color:#b3a893}.room-hands td small{color:var(--ink-soft);font-size:10.5px;line-height:1.1;display:block}.room-hands td small.plus{color:var(--green)}.room-hands td small.minus{color:var(--red)}.room-hands tr.playing td,.room-hands td:first-child small{color:var(--ink-soft)}.panel .room-fold{background:#ece4d1;border-radius:6px;flex-direction:column;min-height:0;display:flex}.panel .room-fold-head{width:100%;color:inherit;text-align:left;font-family:var(--font-d);letter-spacing:.04em;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:9px 12px;font-size:14px;font-weight:800;display:flex}.panel .room-fold-head:before{content:"";border:5px solid #0000;border-left-color:var(--ink-soft);transform-origin:25%;width:0;height:0;transition:transform .15s}.panel .room-fold.open .room-fold-head:before{transform:rotate(90deg)}.panel .room-fold-head small{font-family:var(--font-ui);color:var(--ink-soft);font-size:12px;font-weight:500}.panel .room-fold .room-scroll{max-height:min(62vh,420px);padding:0 12px 12px;overflow:auto}.panel .room-fold .room-note{padding-top:6px}.panel .room-folds{flex-direction:column;gap:8px;min-height:0;display:flex}.panel:has(.room-folds) .panel-actions{z-index:2;bottom:calc(var(--pad-y) * -1);padding-top:8px;padding-bottom:var(--pad-y);margin-bottom:calc(var(--pad-y) * -1);background:var(--ivory);position:sticky}@media (max-height:500px) and (orientation:landscape){.roombtn{height:28px;font-size:12px;top:6px;right:8px}.room-cols{flex-direction:row;align-items:stretch}.room-cols .room-sec.totals{flex:none}.room-cols .room-sec.hands{flex:1;min-width:0;overflow:auto}.overlay{padding:6px}.panel:has(.room-fold.open){--pad-y:8px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;height:100%;display:grid}.panel:has(.room-fold.open)>h1{grid-area:1/1;font-size:18px}.panel:has(.room-fold.open)>table{grid-area:2/1;align-self:start}.panel:has(.room-fold.open)>.formula{display:none}.panel:has(.room-fold.open)>.room-folds{grid-area:1/2/3/3}.panel:has(.room-fold.open)>.panel-actions{grid-area:3/1/4/3;padding-top:6px}.panel .room-fold.open{flex:0 auto}.panel .room-fold.open .room-scroll{flex:auto;min-height:72px;max-height:none}:is(.panel:has(.room-fold.open) td,.panel:has(.room-fold.open) th){padding:2px 8px}.panel:has(.room-fold.open) .room-fold-head{padding:6px 12px}.panel:has(.room-fold.open) .room-scroll{padding-bottom:6px}.panel:has(.room-fold.open) .btn{padding:7px 18px;font-size:14px}}.title .chip.account b{text-overflow:ellipsis;white-space:nowrap;max-width:10em;overflow:hidden}.login{flex-direction:column;gap:14px;display:flex}.login .gis{min-height:44px}.login .ghost{cursor:pointer;color:var(--text);background:#ffffff0f;border:0;border-radius:999px;align-self:flex-start;padding:9px 14px;font-family:inherit;font-size:12.5px;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff29}.login .ghost:disabled{opacity:.5;cursor:default}.login .ghost.dev{color:var(--text-dim)}.login .problems{color:#f0a0a0;margin:0;font-size:12.5px}.login .profile{align-items:center;gap:12px;display:flex}.login .avatar{width:44px;height:44px;font-family:var(--font-d);color:var(--ink);background:var(--orange);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex}.login .who{flex-direction:column;display:flex}.login .who b{color:var(--ivory);font-size:15px}.login .who small{color:var(--text-dim);font-size:11.5px}.login .field{color:var(--text-dim);flex-direction:column;gap:4px;font-size:12px;display:flex}.login .field input{height:36px;color:var(--ivory);background:#f6f0e114;border:0;border-radius:8px;padding:0 10px;font-family:inherit;font-size:14px;box-shadow:inset 0 0 0 1px #f6f0e129}.login .row-btns{flex-wrap:wrap;gap:8px;display:flex}.title .sheet .existing{background:#e07b2a1f;border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;box-shadow:inset 0 0 0 1px #e07b2a66}.title .sheet .existing p{color:var(--text);margin:0;font-size:13px}.title .sheet .existing .row-btns{flex-wrap:wrap;gap:8px;display:flex}.title .sheet .existing .ghost{cursor:pointer;color:var(--ivory);background:#f6f0e11a;border:0;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:700;box-shadow:inset 0 0 0 1px #f6f0e13d}.title .sheet .existing .ghost:disabled{opacity:.5;cursor:default}.login .dev-login{border-top:1px dashed #f6f0e129;flex-direction:column;gap:8px;padding-top:6px;display:flex}.online-gate{gap:16px}.online-gate .note{color:var(--text-dim);margin:0;font-size:13px}.online-gate .chip{align-self:flex-start}.title .chip.static{cursor:default}.title .chip code{font-family:var(--font-d);letter-spacing:.14em;color:var(--orange);font-weight:800}.lobby{gap:12px}.lobby-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(12px,3vw,40px);min-height:0;display:grid;overflow:auto}.lobby h3{font-family:var(--font-d);letter-spacing:.12em;color:var(--orange);margin:0 0 6px;font-size:12px}.lobby-seats ol{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lobby-seats li{background:#f6f0e10f;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex;box-shadow:inset 0 0 0 1px #f6f0e124}.lobby-seats li.me{box-shadow:inset 0 0 0 1px var(--orange)}.lobby-seats li.off .name{color:var(--text-dim)}.lobby-seats .no{width:20px;font-family:var(--font-d);color:var(--text-dim);font-weight:800}.lobby-seats .name{color:var(--ivory);flex:1;align-items:center;gap:8px;display:flex}.lobby-seats .name small{color:var(--ivory);background:#e07b2a40;border-radius:999px;padding:1px 6px;font-size:10px}.lobby .ghost{cursor:pointer;color:var(--text);background:#ffffff0f;border:0;border-radius:999px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff29}.lobby .note{color:var(--text-dim);margin:6px 0 0;font-size:12.5px}.lobby .problems{color:#f0a0a0;margin:6px 0 0;font-size:12.5px}.lobby-info .rules{grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 12px;font-size:12.5px;display:grid}.lobby-info .rules dt{color:var(--text-dim);white-space:nowrap}.lobby-info .rules dd{color:var(--ivory);margin:0}.lobby .invite{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lobby .invite code{color:var(--ivory);word-break:break-all;background:#f6f0e114;border-radius:8px;padding:6px 10px;font-size:12px}.lobby .start{font-family:var(--font-d);letter-spacing:.1em;cursor:pointer;background:var(--orange);color:#1e1a16;border:0;border-radius:10px;margin-top:14px;padding:12px 22px;font-size:15px;font-weight:800}.lobby .start:disabled{opacity:.5;cursor:default}.join-row{align-items:center;gap:10px;display:flex}.join-row input{height:44px;font-family:var(--font-d);letter-spacing:.2em;text-transform:uppercase;color:var(--ivory);background:#f6f0e114;border:0;border-radius:10px;flex:1;padding:0 14px;font-size:22px;font-weight:800;box-shadow:inset 0 0 0 1px #f6f0e129}.join-row .start{height:44px;font-family:var(--font-d);cursor:pointer;background:var(--orange);color:#1e1a16;border:0;border-radius:10px;padding:0 20px;font-size:15px;font-weight:800}.join-row .start:disabled{opacity:.5;cursor:default}.online-hud{z-index:6;color:var(--text-dim);pointer-events:none;gap:8px;font-size:12px;display:flex;position:absolute;top:10px;left:12px}.online-hud .link.reconnecting,.online-hud .link.closed{color:#f0a0a0;font-weight:700}.online-error{z-index:30;color:#fff;cursor:pointer;background:#7a1f16e6;border-radius:999px;padding:8px 14px;font-size:12.5px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}@media (max-height:500px) and (orientation:landscape){.lobby-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.lobby-seats li{padding:5px 10px}}.turn-clock{color:var(--ivory);pointer-events:none;flex-direction:column;align-items:center;gap:0;padding:0 10px 0 2px;display:flex}.turn-clock .lbl{letter-spacing:.1em;color:var(--text-dim);font-size:10px}.turn-clock .clock{font-family:var(--font-d);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1.1}.turn-clock .clock.hurry{color:#f0a0a0}@media (max-height:500px) and (orientation:landscape){.turn-clock{padding:0 8px 0 2px}.turn-clock .clock{font-size:20px}}.replay-list .seg,.stats-bar .seg{background:#f6f0e10f;border-radius:999px;padding:3px;display:flex;box-shadow:inset 0 0 0 1px #f6f0e124}.replay-list .seg button,.stats-bar .seg button{letter-spacing:.04em;cursor:pointer;color:var(--text-dim);background:0 0;border:0;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:700}.replay-list .seg button.on,.stats-bar .seg button.on{color:var(--ivory);background:#f6f0e11f}.lobby .opts{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.lobby .opt{align-items:center;gap:8px;font-size:12.5px;display:flex}.lobby .opt>span:first-child{color:var(--text-dim);min-width:7em}.lobby .opt b{text-align:center;min-width:4em;color:var(--ivory);font-variant-numeric:tabular-nums}.lobby .opt .ghost{padding:2px 10px;font-size:14px;line-height:1}.lobby .opt .seg{background:#f6f0e10f;border-radius:999px;padding:2px;display:flex;box-shadow:inset 0 0 0 1px #f6f0e124}.lobby .opt .seg button{cursor:pointer;color:var(--text-dim);background:0 0;border:0;border-radius:999px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:700}.lobby .opt .seg button.on{color:var(--ivory);background:#f6f0e11f}.lobby.settle .lobby-body{grid-template-columns:minmax(0,1fr)}.lobby.settle .lobby-info.wide{min-width:0}.lobby.settle .room-cols{background:var(--ivory);color:var(--ink);border-radius:10px;flex-direction:column;max-height:56vh;padding:12px;overflow:auto}.lobby.settle .room-sec{flex:none;overflow:visible}.lobby.settle .row-btns{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lobby .ghost.wide{text-align:center;align-self:stretch}.overlay.between .panel{max-width:920px}.panel .room-cols{margin-top:4px}.overlay.between .panel-actions{bottom:calc(var(--pad-y) * -1);background:var(--ivory);box-shadow:0 -8px 12px var(--ivory);padding:8px 0 2px;position:sticky}.overlay.between .room-cols{flex:none;max-height:none;overflow:visible}.overlay.between .room-sec.hands{max-height:38vh;overflow:auto}@media (max-height:500px) and (orientation:landscape){.overlay.between .room-sec.hands{display:none}}
