@font-face{font-family:Barlow;src:url(/fonts/barlow-condensed-700.ttf)}@font-face{font-family:Barlow;src:url(/fonts/barlow-condensed-800.ttf);font-weight:800}#game{position:absolute;inset:0}#cutin.active{z-index:10}:root{color:#e6f1ee;font-synthesis:none;--cyan:#6cebd8;--gold:#ecc58b;--line:#42607077;--hand:116px;--right:190px;background:#071820;font-family:Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#132e39;border-radius:5px;min-height:44px;padding:8px 14px}button:hover{border-color:var(--cyan);background:#234551}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}[hidden]{display:none!important}input,select{color:#e6f1ee;border:1px solid var(--line);background:#0a2029;border-radius:4px;min-height:44px;padding:10px}#app{width:100dvw;height:100dvh;position:relative}#table{touch-action:none;width:100%;height:100%;display:block}.topbar{z-index:20;background:linear-gradient(#07151df7,#07151d99);border-bottom:1px solid #7297aa30;justify-content:space-between;align-items:center;height:70px;padding:0 24px;display:flex;position:absolute;inset:0 0 auto}.brand{letter-spacing:1px;align-items:center;gap:12px;font:700 23px Barlow;display:flex}.brand-mark{background:var(--cyan);color:#102a2b;border-bottom:4px solid #238c7d;place-content:center;width:38px;height:42px;font:900 24px sans-serif;display:grid;transform:skew(-6deg)}.brand small{letter-spacing:3px;color:#9cb5b8;margin-top:5px;font:10px sans-serif;display:block}.brand em{color:#ecc58b;letter-spacing:2px;margin-left:12px;font-style:normal}.topbar nav{align-items:center;gap:7px;display:flex}.topbar button{background:0 0;font-size:12px}#network{color:#8aabae;margin-right:8px;font:13px Barlow}.round-hud{color:#9db7b8;align-items:center;gap:16px;font-size:12px;display:flex;position:absolute;top:88px;left:24px}.round-hud strong{color:#f2ecd8;font-size:24px}#dora{gap:3px;display:flex}.tile-mini{vertical-align:middle;background:#f5efdd;border-bottom:3px solid #278978;border-radius:3px;flex-shrink:0;width:26px;height:36px;display:inline-flex}.tile-mini img{width:100%;height:100%}.seat{pointer-events:none;z-index:2;border:1px solid var(--line);background:#09212ee6;border-radius:5px;grid-template-columns:28px 1fr;column-gap:8px;min-width:134px;max-width:184px;padding:7px 10px;display:grid;position:absolute}.seat .wind{color:var(--gold);grid-row:1/3;align-self:center;font-size:21px}.seat .player-name{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.seat .points{font:26px Barlow}.seat.active{border-color:var(--cyan);box-shadow:0 0 15px #6cebd824}.seat.disconnected{opacity:.65}.seat[data-relative="0"]{bottom:calc(var(--hand) + 155px);left:calc((100% - var(--right))/2 - 67px)}.seat[data-relative="1"]{right:calc(var(--right) + 8px);top:43%}#phase{width:165px;color:var(--gold);text-align:right;font-size:14px;line-height:1.8;position:absolute;top:155px;right:25px}#actions{right:28px;bottom:calc(var(--hand) + 83px);z-index:12;align-items:center;gap:8px;display:flex;position:absolute}#actions button.big{color:#213232;background:linear-gradient(135deg,#f0d28d,#be874d);border:2px solid #ffe4ae;min-width:146px;min-height:64px;font-size:28px;font-weight:800;box-shadow:0 6px 20px #0005}#actions button.riichi{color:#fff4df;background:linear-gradient(135deg,#e89e7a,#ad4a37);border-color:#ffc6a5}#reaction-options{right:28px;bottom:calc(var(--hand) + 158px);z-index:11;flex-direction:column;gap:5px;max-width:min(640px,100% - 200px);max-height:170px;display:flex;position:absolute;overflow:auto}.call-row{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.call-row button{background:#102c35f5;align-items:center;gap:5px;min-height:55px;padding:5px 9px;display:flex}.call-row button .used{gap:2px;display:flex}.call-row b{color:var(--cyan);font-size:15px}.call-row small{color:#a3bcbc;font-size:9px}#reaction-target{right:28px;bottom:calc(var(--hand) + 240px);z-index:12;background:#071e29f2;border:1px solid #bda060;align-items:center;gap:8px;padding:5px 10px;font-size:11px;display:flex;position:absolute}.hand-hud{left:24px;right:24px;bottom:calc(var(--hand) + 32px);z-index:10;align-items:center;gap:20px;min-height:44px;display:flex;position:absolute}.hand-hud button{font-size:12px}#no-calls[aria-pressed=true]{color:#102c28;background:var(--cyan)}#assist{color:#b3c7c4;flex:1;align-items:center;gap:4px;font-size:12px;display:flex}#timer{color:var(--cyan);text-align:right;min-width:90px;font:36px Barlow}#deadline{left:24px;right:24px;bottom:calc(var(--hand) + 25px);background:#1c4046;height:3px;position:absolute}#deadline>div{background:var(--cyan);transform-origin:0;height:100%;box-shadow:0 0 10px #6cebd8}#hand-targets{pointer-events:none;touch-action:none;z-index:15;position:absolute;inset:0}.hand-target{pointer-events:auto;touch-action:none;color:#0000;border:0;border-radius:4px;min-height:0;padding:0;position:absolute;background:0 0!important}.hand-target:hover{box-shadow:inset 0 0 0 2px #d0f8dc}.hand-target.riichi-candidate{box-shadow:inset 0 0 0 3px var(--gold);background:linear-gradient(#ffd28b44,#0000)!important}.hand-target.selected{box-shadow:inset 0 0 0 2px var(--cyan)}#drag-marker{background:var(--cyan);width:3px;height:70px;box-shadow:0 0 12px var(--cyan);pointer-events:none;z-index:16;position:absolute}footer{color:#81a2a7;pointer-events:none;font-size:10px;position:absolute;bottom:7px;left:24px;right:24px}footer span{float:right;letter-spacing:2px}#cutin{text-align:center;pointer-events:none;z-index:8;color:#ffdda2;text-shadow:3px 4px #9d4934,0 0 32px #e6b360;font-size:56px;font-weight:900;position:absolute;top:30%;left:19%;right:22%;transform:skew(-10deg)}#cutin.active{background:linear-gradient(100deg,#0000,#193838f2 18% 80%,#0000);border-block:2px solid #e9c588;animation:.8s cubic-bezier(.12,.8,.2,1) both cutin}#cutin small{letter-spacing:4px;color:#d0ddd2;text-shadow:none;font-size:12px;display:block}#cutin.reduced.active{animation:.5s both soft}@keyframes cutin{0%{opacity:0;transform:translate(-140px)skew(-18deg)scale(1.25)}20%{opacity:1;transform:translate(10px)skew(-10deg)scale(1)}72%{opacity:1;transform:translate(0)skew(-10deg)}to{opacity:0;transform:translate(120px)skew(-10deg)}}@keyframes soft{0%,to{opacity:0}20%,75%{opacity:1}}.overlay{z-index:25;background:linear-gradient(110deg,#071820f7,#071820e8 55%,#092b3199);place-items:center;padding:24px;display:grid;position:absolute;inset:70px 0 0;overflow:auto}.lobby-card{width:min(720px,100%);padding:12px 24px}.eyebrow{letter-spacing:4px;color:var(--cyan);font:14px Barlow}h1{letter-spacing:-3px;color:#ece9d5;margin:16px 0;font-size:64px;line-height:1.16}h2{margin:10px 0 16px;font-size:22px}.lead{color:#a6c3c2;font-size:15px;line-height:1.8}.name-label{align-items:center;gap:20px;margin:24px 0 12px;font-size:12px;display:flex}.name-label input{flex:1;max-width:330px}.join-actions{flex-wrap:wrap;gap:9px;margin:10px 0;display:flex}.join-actions button{flex:1}.primary{background:var(--cyan);color:#103b36;border-color:#99fbea;font-weight:700}.primary:hover{color:#103b36;background:#92fae7}.code-entry{gap:9px;margin-top:16px;display:flex}.code-entry input{letter-spacing:3px;flex:1;min-width:0}.hint{color:#85a5a9;font-size:12px;line-height:1.7}.support{color:#a4c6c3;text-underline-offset:4px;margin-top:18px;font-size:12px;display:inline-block}.room-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-heading h2{letter-spacing:3px;font:32px Barlow}#share-url{width:100%;min-height:32px;padding:6px;font-size:11px}#members{grid-template-columns:1fr 1fr;gap:7px;padding:0;list-style:none;display:grid}#members li{border:1px solid var(--line);background:#0b2631;border-radius:4px;justify-content:space-between;gap:8px;padding:10px;font-size:13px;display:flex}#members li.ready{border-color:var(--cyan)}#members small{color:#7edfc3}#room-settings{grid-template-columns:repeat(3,1fr);gap:6px;max-height:190px;display:grid;overflow:auto}#room-settings label{color:#a7c1c0;font-size:10px}#room-settings select{width:100%;min-height:32px;padding:4px;font-size:12px;display:block}#lobby.in-room h1,#lobby.in-room .lead,#lobby.in-room .eyebrow{display:none}#notice{z-index:60;color:#fff0cb;pointer-events:none;background:#723c25eb;border-radius:5px;max-width:90%;padding:10px 20px;font-size:12px;position:absolute;top:75px;left:50%;transform:translate(-50%)}#notice:empty{display:none}#connection-warning{text-align:center;z-index:30;background:#914127e8;padding:6px;font-size:12px;position:absolute;top:70px;left:0;right:0}#rotate{display:none}dialog{color:#e6efea;z-index:50;background:#0c2631;border:1px solid #537575;border-radius:8px;max-width:500px;max-height:85dvh;padding:24px}dialog::backdrop{background:#06121a44}dialog label{justify-content:space-between;align-items:center;gap:24px;margin:15px 0;display:flex}dialog input[type=checkbox]{min-height:auto}dialog p{color:#a6bcbc;font-size:12px}#history-list{min-width:280px;max-height:45vh;overflow:auto}#history-list p{border-bottom:1px solid var(--line);padding:10px}#result-panel{z-index:9;background:#09222ef5;border:1px solid #c5a46a;border-radius:7px;min-width:360px;max-width:80%;padding:18px 28px;font-size:14px;position:absolute;top:24%;left:50%;transform:translate(-50%)}#result-panel h2{color:var(--gold)}#result-panel ol{padding-left:22px;line-height:1.8}#result-panel .yaku{color:#bed1c4;font-size:12px}#result-panel .result-scores{gap:18px;font-size:11px;display:flex}@container game (width<=1000px){#game{--hand:80px;--right:130px}.topbar{height:48px;padding:0 12px}.brand{gap:8px;font-size:17px}.brand-mark{width:27px;height:31px;font-size:19px}.brand small{letter-spacing:2px;font-size:8px}.topbar nav{gap:4px}.topbar button{min-height:36px;padding:5px 8px;font-size:10px}#network{font-size:11px}.round-hud{gap:8px;font-size:10px;top:56px;left:12px}.round-hud strong{font-size:17px}.tile-mini{width:21px;height:29px}.seat{grid-template-columns:22px 1fr;column-gap:5px;min-width:106px;max-width:134px;padding:4px 7px}.seat .wind{font-size:17px}.seat .player-name{font-size:9px}.seat .points{font-size:21px}.seat[data-relative="0"]{bottom:calc(var(--hand) + 98px);left:calc((100% - var(--right))/2 - 53px)}.seat[data-relative="2"]{top:55px;left:calc((100% - var(--right))/2 - 53px)}.seat[data-relative="1"]{right:calc(var(--right) + 2px)}.seat[data-relative="3"]{left:12px}#phase{width:120px;font-size:11px;top:64px;right:12px}#actions{right:12px;bottom:calc(var(--hand) + 58px);gap:5px}#actions button.big{min-width:116px;min-height:51px;padding:5px 12px;font-size:23px}#actions>button{min-height:44px;padding:5px 9px;font-size:11px}#reaction-options{right:12px;bottom:calc(var(--hand) + 116px);max-width:calc(100% - 190px);max-height:111px}.call-row button{min-height:46px;padding:3px 5px}.call-row b{font-size:12px}.call-row small{font-size:8px}#reaction-target{padding:3px 6px;font-size:9px;top:99px;bottom:auto;right:12px}.hand-hud{left:12px;right:12px;bottom:calc(var(--hand) + 13px);gap:10px;min-height:40px}.hand-hud button{min-height:36px;padding:5px 8px;font-size:10px}#assist{font-size:10px}#timer{min-width:65px;font-size:27px}#deadline{left:12px;right:12px;bottom:calc(var(--hand) + 10px)}footer{font-size:8px;bottom:2px;left:12px;right:12px}footer span{letter-spacing:0}#cutin{font-size:38px;top:27%;left:18%;right:27%}#cutin small{font-size:9px}.overlay{place-items:start center;padding:10px 20px;inset:48px 0 0}.lobby-card{padding:4px 12px}h1{margin:8px 0;font-size:44px;line-height:1.05}h1 br{display:none}.lead{margin:7px 0;font-size:12px}.lead br{display:none}.eyebrow{font-size:11px}.name-label{margin:12px 0 8px}.code-entry{margin-top:8px}.hint{margin:7px 0;font-size:10px}.support{margin-top:7px;font-size:10px}.room-heading h2{margin:6px 0;font-size:25px}#room-settings{grid-template-columns:repeat(4,1fr);max-height:81px}#members{grid-template-columns:repeat(4,1fr);margin:8px 0}#members li{padding:6px;font-size:11px;display:block}#members small{display:block}#notice{top:51px}#connection-warning{top:48px}#result-panel{min-width:320px;padding:10px 18px;font-size:12px;top:20%}#result-panel h2{margin:5px 0;font-size:20px}#result-panel ol{margin:7px 0}}@container game (width<=700px){.brand small{display:none}.brand{font-size:15px}.round-hud #dora{display:none}.seat[data-relative="1"]{right:10px}.seat[data-relative="0"]{left:30%;bottom:calc(var(--hand) + 80px)}#assist{white-space:nowrap;max-width:47%;overflow:hidden}.call-row small{display:none}#reaction-options{max-width:75%}#network{display:none}}@media (orientation:portrait) and (max-width:1000px){#rotate{z-index:45;text-align:center;background:#071820f5;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:30px;display:flex;position:absolute;inset:48px 0 0}#rotate small{color:#a4bab9;font-size:12px}}.cpu-entry{border-top:1px solid #ffffff24;margin-top:20px;padding-top:18px}.cpu-entry button{width:100%}.cpu-entry .hint{margin-bottom:0}#cpu-exit{font-size:12px}@container game (width<=700px){.topbar #network{display:none}.topbar #cpu-exit{padding:7px 8px}}.topbar{height:56px;padding:0 20px}.brand{letter-spacing:.06em;color:#f0eddc;font:800 22px Yu Gothic,Meiryo,sans-serif}.overlay{inset:56px 0 0}h1{letter-spacing:.02em;margin:16px 0 8px;font-size:52px;line-height:1.4}.subtitle{letter-spacing:0;margin-top:8px;font-size:21px;font-weight:600;display:block}.author-note{color:#91aaa9;margin:0 0 28px;font-size:11px}#lobby.in-room .author-note{display:none}.round-hud{z-index:3;gap:10px;font-size:11px;top:70px;left:18px}.round-hud strong{font-size:22px}.seat{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#09212ece;min-width:118px;max-width:158px}.seat .points{font-size:24px}.seat[data-relative="0"]{left:18px;bottom:calc(var(--hand) + 86px)}.seat[data-relative="1"]{top:20%;right:18px}.seat[data-relative="2"]{top:64px;left:71%}.seat[data-relative="3"]{top:20%;left:18px}#phase{text-align:left;z-index:21;width:260px;font-size:12px;position:absolute;top:16px;left:240px;right:auto}.hand-hud{left:18px;right:auto;bottom:calc(var(--hand) + 20px);flex-wrap:wrap;gap:5px;max-width:205px}#assist{white-space:nowrap;text-overflow:ellipsis;flex-basis:100%;max-width:205px;font-size:11px;overflow:hidden}#assist:empty:before{content:" "}#timer{min-width:80px;font-size:28px;position:static}#deadline{bottom:calc(var(--hand) + 18px);opacity:.8}#action-dock{right:24px;bottom:calc(var(--hand) + 28px);z-index:12;align-items:flex-end;gap:14px;max-width:calc(100% - 250px);display:flex;position:absolute}#actions{flex:none;align-items:center;gap:14px;display:flex;position:static}#reaction-options{flex-direction:row;flex:0 auto;gap:14px;max-width:none;max-height:none;padding:6px 6px 0;display:flex;position:static;overflow:auto hidden}.call-row{flex-wrap:nowrap;flex:none;gap:14px;display:flex}#actions button.action-button,#reaction-options button.action-button{color:#fff1c9;text-shadow:1px 2px 1px #13221c;background:linear-gradient(155deg,#37765e,#173d32);border:1px solid #ddc591;border-bottom:4px solid #16392f;border-radius:7px 3px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:122px;height:66px;min-height:66px;padding:4px 16px;font:italic 900 29px/1 Yu Mincho,Hiragino Mincho ProN,serif;display:flex;transform:skew(-8deg);box-shadow:0 4px 9px #001e2466}#actions button.action-button.win{color:#fff1c9;background:linear-gradient(155deg,#b9473e,#782824);border-bottom-color:#481e20}#actions button.action-button.riichi{background:linear-gradient(155deg,#b77931,#775020);border-bottom-color:#463113}#actions button.action-button.skip,#actions button.action-button:not(.big):not(.call){background:linear-gradient(155deg,#596468,#303e44);border-color:#8f9b99 #8f9b99 #263137;font-size:23px}#actions button.action-button:hover,#reaction-options button.action-button:hover{filter:brightness(1.2)}#reaction-options button.action-button b{font:inherit;color:inherit}.action-button .used{gap:2px;display:flex}.action-button .tile-mini{border-bottom-width:2px;width:19px;height:25px;transform:skew(8deg)}#actions button.action-button.call{font-size:25px}#reaction-target{white-space:nowrap;background:#09222dcc;border-color:#c4aa70;padding:3px 7px;font-size:10px;position:absolute;top:auto;bottom:calc(100% + 4px);right:0}#reaction-target .tile-mini{width:19px;height:26px}#cutin{top:29%;left:24%;right:24%}#cutin:not(.active){opacity:0;visibility:hidden}#result-panel{z-index:17}@container game (width<=1000px){.topbar{height:44px;padding:0 12px}.brand{font-size:18px}.overlay{inset:44px 0 0}h1{margin:8px 0 5px;font-size:34px}.subtitle{margin-top:3px;font-size:16px}.author-note{margin:0 0 12px;font-size:10px}.round-hud{gap:6px;font-size:9px;top:51px;left:12px}.round-hud strong{font-size:18px}.seat{column-gap:4px;min-width:98px;max-width:128px;padding:3px 6px}.seat .points{font-size:21px}.seat .player-name{font-size:9px}.seat[data-relative="0"]{left:12px;bottom:calc(var(--hand) + 68px)}.seat[data-relative="1"]{top:calc(20% + 6px);right:14%}.seat[data-relative="3"]{top:calc(20% + 6px);left:14%}.seat[data-relative="2"]{align-items:center;gap:4px;width:150px;min-width:0;max-width:150px;height:28px;display:flex;top:47px;left:71%}.seat[data-relative="2"] .wind{font-size:13px}.seat[data-relative="2"] .points{font-size:18px}.seat[data-relative="2"] .player-name{max-width:58px;font-size:8px}#phase{width:150px;font-size:9px;top:13px;left:170px;right:auto}#timer{min-width:66px;font-size:24px}.hand-hud{left:12px;bottom:calc(var(--hand) + 16px);gap:2px;max-width:174px}#assist{max-width:174px;font-size:9px}#deadline{bottom:calc(var(--hand) + 11px)}#action-dock{right:18px;bottom:calc(var(--hand) + 18px);gap:10px;max-width:calc(100% - 208px)}#actions,#reaction-options,.call-row{gap:10px}#actions button.action-button,#reaction-options button.action-button{min-width:112px;height:60px;min-height:60px;padding:3px 10px;font-size:25px}#actions button.action-button.skip,#actions button.action-button:not(.big):not(.call){font-size:19px}#actions button.action-button.call{font-size:22px}.action-button .tile-mini{width:16px;height:22px}#reaction-target{font-size:9px;top:auto;bottom:calc(100% + 1px)}#rotate{inset:44px 0 0}#connection-warning{top:44px}#settings{padding:14px}#settings h2{margin:2px 0 8px;font-size:20px}#settings label{gap:14px;margin:6px 0;font-size:13px}#settings input[type=range]{min-height:28px;padding:0}#settings select{min-height:36px;padding:6px;font-size:13px}#settings p{margin:9px 0;font-size:10px}#settings-close{min-height:36px;padding:6px 10px;font-size:12px}#settings{width:min(640px,100cqw - 24px);max-width:none}#settings[open]{grid-template-columns:1fr 1fr;gap:6px 18px;display:grid}#settings h2,#settings p,#settings-close{grid-column:1/-1}#settings label{min-width:0;margin:0}#settings input[type=range]{width:110px;min-width:60px}}body{background:#030d12;place-items:center;height:100dvh;display:grid}#app{width:min(100dvw,177.778dvh);height:min(100dvh,56.25dvw);overflow:hidden;container:game/size}#action-dock{justify-content:flex-end;gap:10px;max-width:none;right:auto}#actions{gap:10px;max-width:100%}#reaction-options{scrollbar-width:thin;min-width:0;padding-bottom:0}@container game (width<=1000px){.seat[data-relative="1"]{right:12px}.seat[data-relative="3"]{left:12px}}#reaction-options button.action-button{height:auto;min-height:calc(var(--choice-tile-height) + 40px);flex:none;min-width:max-content;padding:6px 10px;font-size:23px;transform:none}#reaction-options .action-button .tile-mini{width:var(--choice-tile-width);height:var(--choice-tile-height);border-bottom-width:3px;transform:none}#reaction-options .action-button .used{gap:3px}#action-dock.stacked{flex-wrap:wrap}#action-dock.stacked #reaction-options{flex:1 0 100%;width:100%}.candidate-nav{z-index:1;background:#09222df0;border-radius:5px;align-items:center;gap:6px;display:flex;position:absolute;bottom:calc(100% + 4px);left:6px}.candidate-nav button{min-width:44px;height:44px;padding:0;font-size:26px}.candidate-nav span{font-size:11px}@container game (width<=1000px){.seat[data-relative="1"],.seat[data-relative="3"]{top:max(20% + 6px,96px)}.seat[data-relative="2"]{height:42px}#reaction-options button.action-button{font-size:21px}}#result-panel.win-result{background:#09222efa;min-width:0;max-width:none;padding:20px 28px;inset:76px 24px 20px;overflow:auto;transform:none;box-shadow:0 12px 50px #0008}.result-tools{color:#a9c7c3;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:16px;display:flex}.result-tools button{min-height:38px;padding:5px 14px;font-size:14px}.win-summary{min-width:0;container:win/inline-size}.win-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}#result-panel .win-heading h2,.win-heading h2{color:var(--gold);overflow-wrap:anywhere;margin:0;font-size:32px;line-height:1.3}.win-points{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.win-points strong{color:#ffe0a0;font:800 46px/1.1 Barlow,sans-serif}.win-points span{color:#e1eade;font-size:20px}.winning-tiles{--result-tile-width:min(64px,calc((100cqw - var(--result-gaps)) / var(--result-slots)));align-items:flex-end;gap:15px;margin:12px 0 26px;padding-top:4px;display:flex}.winning-closed,.winning-meld{flex:none;gap:3px;display:flex}.winning-meld{border-bottom:2px solid #6baf9d;padding-bottom:4px}.winning-tiles .tile-mini{width:var(--result-tile-width);height:calc(var(--result-tile-width) * 62 / 45);border-bottom-width:3px;flex:none}.winning-tile{outline:3px solid var(--gold);outline-offset:1px}#result-panel .yaku,.win-summary .yaku{color:#ecf0df;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 18px;margin:0 0 20px;padding:0;font-size:22px;list-style:none;display:grid}.yaku li{background:#21473c;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;line-height:1.3;display:flex}.yaku li strong{white-space:nowrap;color:#ffe0a0;font-size:.85em}#result-panel .result-scores,.win-summary .result-scores{color:#bdd0cd;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;font-size:16px;display:grid}.result-scores>span{overflow-wrap:anywhere;flex-direction:column;gap:3px;display:flex}.result-scores strong{font:700 26px Barlow,sans-serif}.result-scores .gain{color:#7df3d0}.result-scores .loss{color:#ffa798}#result-panel.table-view{width:auto;box-shadow:none;background:#09222ee8;padding:6px 12px;inset:76px 24px auto auto}#result-panel.table-view .win-summary{display:none}#result-panel.table-view .result-tools{margin:0}#history{width:min(1120px,100dvw - 48px);max-width:none;max-height:calc(100dvh - 48px);padding:20px 24px}#history-list{min-width:0;max-height:65dvh;margin-bottom:14px}#history-list details{border-bottom:1px solid var(--line);padding:12px 0}#history-list summary{cursor:pointer;padding:6px 0 14px;font-size:18px}@container game (width<=1000px){#result-panel.win-result{padding:10px 14px;inset:48px 10px 8px}#result-panel.table-view{padding:4px 10px;inset:48px 10px auto auto}.result-tools{margin-bottom:4px;font-size:12px}.result-tools button{min-height:30px;padding:3px 10px;font-size:11px}.win-heading{gap:10px;margin-bottom:8px}#result-panel .win-heading h2{font-size:22px}.win-points strong{font-size:32px}.win-points span{font-size:14px}.winning-tiles{margin:5px 0 12px}#result-panel .yaku{gap:5px 8px;margin-bottom:10px;font-size:16px}.yaku li{padding:5px 8px}#result-panel .result-scores{gap:8px;font-size:12px}.result-scores strong{font-size:20px}}@media (max-width:1000px),(max-height:500px){#history{max-height:calc(100dvh - 20px);padding:12px 16px}#history h2{font-size:22px}.win-summary .yaku{gap:5px 8px;font-size:16px}.win-summary .result-scores{font-size:12px}#history-list{max-height:60dvh}}@container game (width<=1000px){#lobby{overscroll-behavior:contain;padding:8px 12px}#lobby .lobby-card{width:min(720px,100%);padding:0}#lobby h1{margin:2px 0 4px;font-size:28px;line-height:1.15}#lobby .subtitle{margin-top:2px;font-size:14px}#lobby .author-note{margin:0 0 8px;font-size:10px}#home{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 10px;display:grid}#home .name-label{grid-column:1/-1;gap:12px;margin:0}#home .name-label input{min-width:0;max-width:none}#home .join-actions{display:contents}#home .code-entry{grid-area:3/1;gap:6px;margin:0}#home .code-entry input{letter-spacing:1px;width:0;padding:8px;font-size:13px}#home .code-entry button{flex:none;padding:6px 10px;font-size:12px}#home .cpu-entry{border:0;grid-area:3/2;margin:0;padding:0}#home>.hint{grid-area:4/1/auto/-1;margin:0;font-size:10px;line-height:1.4}#home button{min-height:44px;font-size:13px}#lobby .support{margin-top:6px;font-size:11px}#lobby.in-room{overflow:hidden}#lobby.in-room .lobby-card{flex-direction:column;gap:5px;height:100%;min-height:0;display:flex}#room-lobby{flex-direction:column;flex:1;gap:5px;min-height:0;display:flex}.room-heading{flex:none;min-height:36px}.room-heading h2{margin:0;font-size:24px}#copy-room{min-height:36px;padding:5px 10px;font-size:11px}#share-url{flex:none;height:30px;min-height:30px}#members{flex:none;gap:5px;margin:0}#members li{white-space:nowrap;text-overflow:ellipsis;min-width:0;padding:4px 6px;font-size:11px;overflow:hidden}#members small{font-size:10px}#room-settings{overscroll-behavior:contain;flex:1;align-content:start;min-height:58px;max-height:none;padding-right:4px}#room-settings select{min-height:44px;padding:6px;font-size:12px}#room-lobby>.join-actions{flex:none;gap:6px;margin:0}#room-lobby>.join-actions button{min-height:44px;padding:6px 10px;font-size:13px}#room-status{flex:none;margin:0;font-size:10px;line-height:1.35}#name-editor{flex:none;gap:6px;margin:0}#name-editor input,#name-editor button{min-height:36px;padding:6px 10px;font-size:12px}#lobby.in-room .support{flex:none;align-self:flex-start;margin:0}.topbar button,#no-calls{min-height:44px}.seat[data-relative="0"]{bottom:calc(var(--hand) + 80px)}#settings select,#settings input[type=range],#settings-close{min-height:44px}#settings{max-height:calc(100dvh - 16px)}}@container game (width<=700px){.round-hud{grid-template-columns:auto 1fr;gap:2px 8px;max-width:194px;display:grid}.round-hud #dora{grid-area:1/2;gap:2px;display:flex}.round-hud #dora .tile-mini{width:18px;height:25px}.round-hud #counts{white-space:nowrap;grid-column:1/-1;font-size:8px}}@container game (width<=1000px) and (height<=340px){#lobby.in-room .lobby-card,#room-lobby{gap:2px}.room-heading{min-height:32px}.room-heading h2{font-size:22px}#copy-room{min-height:32px}#share-url{height:24px;min-height:24px;padding:3px 6px}#members li{align-items:center;gap:3px;padding:2px 4px;font-size:10px;display:flex}#members small{font-size:9px}#room-settings{min-height:52px}#room-status{font-size:9px;line-height:1.2}#lobby.in-room .support{font-size:10px}.seat[data-relative="1"],.seat[data-relative="3"]{padding:2px 4px}.seat[data-relative="1"] .player-name,.seat[data-relative="3"] .player-name{line-height:11px}.seat[data-relative="1"] .points,.seat[data-relative="3"] .points{font-size:18px;line-height:20px}.seat[data-relative="0"]{align-items:center;gap:5px;min-width:0;max-width:160px;padding:2px 4px;line-height:18px;display:flex;left:12px}.seat[data-relative="0"] .wind{font-size:13px}.seat[data-relative="0"] .points{font-size:18px;line-height:18px}}@media (orientation:portrait) and (max-width:600px){#rotate{z-index:45;padding:24px;font-size:18px;position:fixed;inset:0}#rotate small{font-size:12px}}#utility-actions{display:contents}#menu-toggle,.seat-position{display:none}#hand-help{float:none;letter-spacing:normal}@media (orientation:landscape) and (max-width:1000px) and (max-height:600px){#game{--hand:56px}body{padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#app{width:calc(100dvw - env(safe-area-inset-left) - env(safe-area-inset-right));height:calc(100dvh - env(safe-area-inset-bottom))}.topbar{z-index:auto;padding:0 8px}.brand{letter-spacing:0;white-space:nowrap;font-size:13px}.topbar #network{display:none}#menu-toggle{z-index:35;min-width:44px;min-height:44px;padding:0;font-size:21px;display:block;position:relative}#utility-actions{z-index:35;background:#102e3afa;border:1px solid #547c7b;border-radius:6px;width:180px;padding:8px;display:none;position:absolute;top:48px;right:8px;box-shadow:0 8px 28px #0009}#utility-actions.open{flex-direction:column;gap:6px;display:flex}#utility-actions button{text-align:left;width:100%;min-height:44px;padding:8px 12px;font-size:13px}#utility-actions #cpu-exit{color:#ffdbcc;border-color:#b87e6a}#seats{z-index:36;pointer-events:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;height:38px;display:grid;position:absolute;inset:3px 60px auto 100px}#seats .seat{background:#11313bcf;border-radius:3px;grid-template-rows:12px 22px;grid-template-columns:18px minmax(0,1fr);gap:0 4px;width:auto;min-width:0;max-width:none;height:38px;padding:1px 5px;line-height:normal;display:grid;position:relative;inset:auto;transform:none}#seats .seat[data-relative="0"]{border-color:#6adbc7;order:0}#seats .seat[data-relative="1"]{order:1}#seats .seat[data-relative="2"]{order:2}#seats .seat[data-relative="3"]{order:3}#seats .seat .seat-position{white-space:nowrap;color:#b9cfca;grid-area:1/1;font-size:8px;line-height:11px;display:block}#seats .seat .wind{grid-area:2/1;font-size:13px;line-height:22px}#seats .seat .player-name{white-space:nowrap;text-overflow:ellipsis;grid-area:1/2;min-width:0;max-width:none;font-size:9px;line-height:11px;overflow:hidden}#seats .player-tags{display:none}#seats .seat .points{white-space:nowrap;font-variant-numeric:tabular-nums;grid-area:2/2;min-width:0;font-size:19px;line-height:22px}#seats .seat[data-riichi=true] .player-name,#seats .seat.disconnected .player-name{padding-right:20px}#seats .seat[data-riichi=true]:after,#seats .seat.disconnected:after{background:#11313b;font-size:8px;line-height:11px;position:absolute;top:2px;right:4px}#seats .seat[data-riichi=true]:after{content:"立直";color:var(--gold)}#seats .seat.disconnected:after{content:"切断";color:#ffbaab}#phase{text-align:right;z-index:3;width:124px;font-size:9px;line-height:1.4;top:52px;left:auto;right:12px}#timer{left:calc(env(safe-area-inset-left) + 12px);top:auto;right:auto;bottom:calc(139px + env(safe-area-inset-bottom));text-align:left;z-index:10;min-width:0;font-size:28px;line-height:30px;position:fixed}.hand-hud{max-width:112px}#no-calls{min-width:100px;font-size:10px}#assist{max-width:112px;font-size:9px}#reaction-target{white-space:normal;overflow-wrap:anywhere;max-width:160px}#actions button.action-button,#reaction-options button.action-button{opacity:1}#actions button.action-button:disabled,#reaction-options button.action-button:disabled{opacity:1;filter:grayscale(.75);color:#c4cecb}#deadline{bottom:calc(var(--hand) + 9px);opacity:1;z-index:13;pointer-events:none;background:#244f54;border-radius:3px;height:6px;overflow:hidden}#deadline>div{box-shadow:none;background:#6cebd8}}
