.mahjong-page{--mj-ink: #11181d;--mj-panel: #182229;--mj-panel-raised: #202e36;--mj-hairline: rgb(234 225 204 / 12%);--mj-muted: #aaa99f;--mj-white: #f2f0e9;--mj-gold: #b7d6dc;--mj-gold-soft: rgb(211 183 120 / 13%);--mj-red: #c96d62;min-height:calc(100 * var(--mahjong-dvh, 1dvh));overflow-x:clip;color:var(--mj-white);background:radial-gradient(ellipse at 48% -12%,rgb(84 78 61 / 20%),transparent 43rem),radial-gradient(ellipse at 96% 88%,rgb(105 66 49 / 7%),transparent 38rem),var(--mj-ink);font-family:var(--font-body),sans-serif}.mahjong-page *{box-sizing:border-box}.mahjong-page button,.mahjong-page input{font:inherit}.mahjong-page button:focus-visible,.mahjong-page a:focus-visible,.mahjong-page input:focus-visible{outline:2px solid var(--mj-gold);outline-offset:3px}.mahjong-shell{width:min(100%,1160px);min-height:calc(100 * var(--mahjong-dvh, 1dvh));margin:0 auto;padding:0 34px 22px;display:flex;flex-direction:column}.mahjong-header{display:flex;align-items:center;justify-content:space-between;min-height:66px;border-bottom:1px solid var(--mj-hairline)}.mahjong-brand{display:inline-flex;align-items:center;gap:10px;color:var(--mj-white);text-decoration:none;font-size:13px;letter-spacing:.045em}.mahjong-brand i{margin:0 5px;color:var(--mj-muted);font-style:normal}.mahjong-brand__mark{display:grid;width:32px;height:32px;place-items:center;border:1px solid rgb(211 183 120 / 30%);border-radius:50%;color:var(--mj-gold)}.mahjong-link-state{display:inline-flex;align-items:center;gap:7px;color:var(--mj-muted);font-size:11px;letter-spacing:.04em}.mahjong-link-state.is-connected{color:#a9c19a}.mahjong-link-state.is-reconnecting{color:#d3a687}.mahjong-notice{display:flex;align-items:center;gap:10px;max-width:760px;margin:18px auto 0;border:1px solid rgb(201 109 98 / 26%);border-radius:10px;padding:11px 13px;color:#ecc1b8;background:#6c312a21;font-size:13px}.mahjong-notice span{flex:1}.mahjong-notice button{display:grid;width:30px;height:30px;place-items:center;border:0;color:inherit;background:transparent;cursor:pointer}.mahjong-kicker{margin:0;color:var(--mj-gold);font-size:9px;font-weight:600;letter-spacing:.22em}.mahjong-loading{display:flex;min-height:calc(78 * var(--mahjong-dvh, 1dvh));align-items:center;justify-content:center;gap:12px;color:var(--mj-muted);font-size:13px}.mahjong-spin{animation:mahjong-spin 1.4s linear infinite}.mahjong-lobby{position:relative;display:grid;flex:1;grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr);align-items:center;gap:clamp(46px,calc(8 * var(--mahjong-vw, 1vw)),112px);padding:64px 4.5% 74px}.mahjong-lobby__copy{max-width:510px}.mahjong-lobby__copy>.mahjong-kicker{display:flex;align-items:center;gap:9px}.mahjong-lobby__copy>.mahjong-kicker span{width:6px;height:6px;border-radius:50%;background:var(--mj-gold);box-shadow:0 0 15px #d3b7787f}.mahjong-lobby__copy h1{margin:27px 0 18px;font-family:var(--font-display),serif;font-size:clamp(58px,calc(7.5 * var(--mahjong-vw, 1vw)),96px);font-weight:400;letter-spacing:-.08em;line-height:1.03}.mahjong-lobby__copy h1 em{color:var(--mj-gold);font-style:normal}.mahjong-lobby__copy>p:not(.mahjong-kicker){max-width:380px;margin:0;color:#b5b4ac;font-size:14px;line-height:1.9}.mahjong-lobby__facts{display:flex;flex-wrap:wrap;gap:20px;margin-top:34px}.mahjong-lobby__facts span{display:inline-flex;align-items:center;gap:7px;color:#c7c4b9;font-size:11px}.mahjong-lobby__facts svg{color:var(--mj-gold)}.mahjong-lobby__panel{position:relative;width:100%;max-width:410px;justify-self:end;border:1px solid var(--mj-hairline);border-radius:15px;padding:29px;background:linear-gradient(145deg,#242625e5,#171919f2);box-shadow:0 30px 85px #00000038}.mahjong-panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.mahjong-panel-heading h2{margin:8px 0 0;font-family:var(--font-display),serif;font-size:22px;font-weight:400;letter-spacing:-.025em}.mahjong-panel-heading__icon{display:grid;width:43px;height:43px;place-items:center;border:1px solid rgb(211 183 120 / 24%);border-radius:50%;color:var(--mj-gold);background:#d3b7780f}.mahjong-mode-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;border:0;padding:0}.mahjong-mode-picker legend,.mahjong-code-label{margin-bottom:10px;color:#c5c2b8;font-size:11px}.mahjong-mode-picker button{min-height:71px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--mj-hairline);border-radius:9px;padding:11px 14px;color:var(--mj-white);text-align:left;background:#090a0a1f;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.mahjong-mode-picker button:hover{transform:translateY(-1px);border-color:#d3b7786b}.mahjong-mode-picker button.is-selected{border-color:#d3b778a8;background:var(--mj-gold-soft)}.mahjong-mode-picker button strong{font-size:13px;font-weight:600;letter-spacing:.04em}.mahjong-mode-picker button small{color:var(--mj-muted);font-size:10px}.mahjong-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:8px;padding:0 15px;color:var(--mj-white);font-size:12px;font-weight:600;cursor:pointer;transition:transform .18s,border-color .18s,background .18s,opacity .18s}.mahjong-button:hover:not(:disabled){transform:translateY(-1px)}.mahjong-button:disabled,.mahjong-icon-button:disabled{opacity:.46;cursor:not-allowed}.mahjong-button--gold{color:#241f14;background:var(--mj-gold)}.mahjong-button--gold:hover:not(:disabled){background:#e0c98f}.mahjong-button--quiet{border-color:var(--mj-hairline);color:#d2d0c7;background:transparent}.mahjong-button--quiet:hover:not(:disabled){border-color:#eae1cc4d;background:#ffffff08}.mahjong-button--danger{color:#fff0ed;background:#843f39}.mahjong-create{width:100%;margin-top:17px}.mahjong-create svg:last-child{margin-left:auto}.mahjong-divider{display:flex;align-items:center;gap:12px;margin:21px 0 19px;color:#85857c;font-size:10px;white-space:nowrap}.mahjong-divider:before,.mahjong-divider:after{height:1px;flex:1;background:var(--mj-hairline);content:""}.mahjong-code-label{display:block}.mahjong-join-form{display:grid;grid-template-columns:1fr 44px;gap:8px}.mahjong-join-form input{min-width:0;height:44px;border:1px solid var(--mj-hairline);border-radius:8px;padding:0 12px;color:var(--mj-white);background:#131515;font-size:14px;letter-spacing:.17em;text-transform:uppercase}.mahjong-join-form input::placeholder{color:#66675f;font-size:11px;letter-spacing:.07em;text-transform:none}.mahjong-join-form button{display:grid;place-items:center;border:1px solid rgb(211 183 120 / 28%);border-radius:8px;color:var(--mj-gold);background:var(--mj-gold-soft);cursor:pointer}.mahjong-join-form button:disabled{opacity:.38;cursor:not-allowed}.mahjong-panel-note{margin:14px 0 0;color:#85867f;font-size:10px;line-height:1.65}.mahjong-service-note{position:absolute;right:5%;bottom:26px;display:flex;align-items:center;gap:7px;color:#b7b39e;font-size:11px}.mahjong-waiting{flex:1;padding:46px clamp(0px,calc(2.8 * var(--mahjong-vw, 1vw)),32px) 20px}.mahjong-room-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}.mahjong-room-header h1{margin:11px 0 7px;font-family:var(--font-display),serif;font-size:clamp(34px,calc(4 * var(--mahjong-vw, 1vw)),47px);font-weight:400;letter-spacing:-.05em}.mahjong-room-header p:not(.mahjong-kicker){margin:0;color:var(--mj-muted);font-size:12px;line-height:1.7}.mahjong-room-code{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 9px;border:1px solid rgb(211 183 120 / 20%);border-radius:9px;padding:9px 12px 9px 14px;background:#d3b7780d}.mahjong-room-code>span{grid-column:1 / -1;color:var(--mj-muted);font-size:9px;letter-spacing:.12em}.mahjong-room-code strong{color:var(--mj-gold);font-family:var(--font-display),serif;font-size:21px;font-weight:500;letter-spacing:.2em}.mahjong-room-code button{display:grid;width:29px;height:29px;place-items:center;border:1px solid var(--mj-hairline);border-radius:6px;color:#d9d1bc;background:transparent;cursor:pointer}.mahjong-seat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mahjong-seat-card{position:relative;min-height:120px;display:grid;grid-template-columns:37px minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;gap:0 11px;border:1px solid var(--mj-hairline);border-radius:11px;padding:19px 16px 15px;background:linear-gradient(150deg,#202222,#191b1b);transition:border-color .18s,transform .18s}.mahjong-seat-card.is-occupied{border-color:#d3b7783b}.mahjong-seat-card.is-self{box-shadow:inset 0 0 0 1px #d3b7780d}.mahjong-seat-card__wind{position:absolute;top:11px;right:12px;color:#86877e;font-size:9px;letter-spacing:.08em}.mahjong-seat-card__avatar{grid-row:1;display:grid;width:36px;height:36px;place-items:center;border:1px solid rgb(211 183 120 / 22%);border-radius:50%;color:var(--mj-gold);background:#d3b77814;font-family:var(--font-display),serif;font-size:16px}.mahjong-seat-card:not(.is-occupied) .mahjong-seat-card__avatar{border-style:dashed;color:#87877f;background:transparent}.mahjong-seat-card__identity{min-width:0;display:grid;gap:5px}.mahjong-seat-card__identity strong{overflow:hidden;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.mahjong-seat-card__identity strong small{border-radius:3px;padding:2px 4px;color:#222018;background:var(--mj-gold);font-size:8px}.mahjong-seat-card__identity>span{color:var(--mj-muted);font-size:10px}.mahjong-seat-card__ready{grid-column:2;display:inline-flex;align-items:center;gap:4px;margin-top:12px;color:#99998f;font-size:10px}.mahjong-seat-card__ready.is-ready{color:#b4c8a0}.mahjong-seat-card__riichi{color:var(--mj-gold);font-size:10px}.mahjong-waiting__bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:25px;border-top:1px solid var(--mj-hairline);padding-top:21px}.mahjong-ready-count{display:flex;align-items:center;gap:12px}.mahjong-ready-count__ring{width:43px;height:43px;display:grid;place-items:center;border:1px solid rgb(211 183 120 / 30%);border-radius:50%;color:var(--mj-gold);font-size:10px}.mahjong-ready-count__ring span{margin-right:-4px;font-size:17px}.mahjong-ready-count__ring{display:flex;justify-content:center}.mahjong-ready-count>div{display:grid;gap:5px}.mahjong-ready-count strong{font-size:12px;font-weight:550}.mahjong-ready-count small{color:var(--mj-muted);font-size:10px}.mahjong-waiting__actions{display:flex;align-items:center;gap:9px}.mahjong-button--start{color:#251f13;background:var(--mj-gold)}.mahjong-icon-button{display:grid;width:40px;height:40px;flex:none;place-items:center;border:1px solid var(--mj-hairline);border-radius:8px;color:#bdbcb3;background:transparent;cursor:pointer}.mahjong-icon-button:hover:not(:disabled){color:var(--mj-white);border-color:#eae1cc4d}.mahjong-host-note{display:inline-flex;align-items:center;gap:6px;padding:0 9px;color:var(--mj-muted);font-size:11px}.mahjong-host-note svg{color:var(--mj-gold)}.mahjong-seat-reserved{justify-self:end;color:#898b82;font-size:9px}.mahjong-seat-footnote{display:flex;align-items:center;gap:8px;margin:24px 0;color:#92938a;font-size:10px}.mahjong-seat-footnote svg{color:var(--mj-gold)}.mahjong-game{flex:1;padding:17px 0 20px}.mahjong-game__topline{display:grid;grid-template-columns:1fr auto 40px;align-items:center;gap:18px;min-height:55px}.mahjong-game__round{display:flex;align-items:center;gap:11px}.mahjong-game__round-seal{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgb(211 183 120 / 42%);border-radius:50%;color:var(--mj-gold);font-family:var(--font-display),serif;font-size:18px}.mahjong-game__round>div{display:grid;gap:4px}.mahjong-game__round strong{font-family:var(--font-display),serif;font-size:14px;font-weight:500;letter-spacing:.035em}.mahjong-game__round span:not(.mahjong-game__round-seal){color:var(--mj-muted);font-size:9px}.mahjong-game__round i{padding:0 4px;color:#74746d;font-style:normal}.mahjong-game__tempo{display:flex;align-items:center;gap:17px;color:#e1dccb;font-variant-numeric:tabular-nums}.mahjong-game__tempo>span:not(.mahjong-game__phase,.mahjong-game__tempo-divider){display:flex;align-items:baseline;gap:5px;font-family:var(--font-display),serif;font-size:16px}.mahjong-game__tempo small{color:var(--mj-muted);font-family:var(--font-body),sans-serif;font-size:9px}.mahjong-game__tempo-divider{width:1px;height:19px;background:var(--mj-hairline)}.mahjong-game__phase{display:inline-flex;align-items:center;gap:6px;color:#bdb8aa;font-size:10px}.mahjong-game__phase i{width:5px;height:5px;border-radius:50%;background:#a98262}.mahjong-game__phase i.is-live{background:#96b689;box-shadow:0 0 10px #96b6898c}.mahjong-game__exit{width:36px;height:36px;justify-self:end}.mahjong-reconnect{display:flex;align-items:center;justify-content:center;gap:7px;margin:8px 0 -2px;color:#e3bc9d;font-size:10px}.mahjong-table{--hand-w: min(4.5cqw, 15cqh, 49px);--river-w: min(2.05cqw, 4.5cqh, 23px);position:relative;isolation:isolate;container-type:size;width:100%;height:clamp(440px,calc(51 * var(--mahjong-vw, 1vw)),610px);min-height:0;margin:12px auto;border:10px solid #272c37;border-radius:24px;background:radial-gradient(ellipse at 50% 43%,#426175 0,#2b4659 48%,#172c3e);box-shadow:inset 0 0 0 2px #b5a27c,inset 0 0 55px #05152380,0 20px 50px #0006}.mahjong-table:before{content:"";position:absolute;z-index:-1;inset:9px;border:1px solid #c2d1d11c;border-radius:10px}.mahjong-table__grain{position:absolute;z-index:-1;inset:0;border-radius:inherit;pointer-events:none;opacity:.27;background-image:repeating-linear-gradient(0deg,#ffffff09 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#0000000c 0 1px,transparent 1px 3px)}.mahjong-table__position{position:absolute;z-index:3;width:19%;min-width:0}.mahjong-table__position--north{top:3%;right:3%;left:auto;width:23%;transform:none}.mahjong-table__position--west{left:2%;top:36%;transform:none}.mahjong-table__position--east{right:2%;top:36%;transform:none}.mahjong-table__center{position:absolute;left:50%;top:43%;width:112px;height:112px;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transform:translate(-50%,-50%);border:4px solid #101e2b;border-radius:10px;color:#e3cb94;background:linear-gradient(140deg,#1a2f41,#0d1b29);box-shadow:0 3px #080f17,inset 0 0 0 1px #b7c1c330,0 8px 18px #0006}.mahjong-center-brand{font-size:6px;color:#7d9aaa;letter-spacing:.17em}.mahjong-table__center>strong{font-family:var(--font-display),serif;font-size:20px;font-weight:500}.mahjong-table__center>small{font-size:7px;color:#c0bfad}.mahjong-table__wall{color:#98adb8;font-size:9px}.mahjong-table__wall b{color:#efe3c5;margin-left:4px;font-size:15px}.mahjong-center-seat{position:absolute;width:21px;height:21px;display:grid;place-items:center;font-size:11px;color:#8699a3;background:#0c1722;border:1px solid #344959;border-radius:4px}.mahjong-center-seat.is-active{color:#fcde8d;border-color:#efc568;box-shadow:0 0 12px #e2b05260}.mahjong-center-seat--0{bottom:-11px;left:calc(50% - 10px)}.mahjong-center-seat--1{right:-11px;top:calc(50% - 10px)}.mahjong-center-seat--2{top:-11px;left:calc(50% - 10px)}.mahjong-center-seat--3,.is-sanma .mahjong-center-seat--2{left:-11px;top:calc(50% - 10px)}.mahjong-table__dora{position:absolute;z-index:4;top:4%;left:3%;display:grid;justify-items:start;gap:5px;padding:10px 12px;border:1px solid #d6c59729;border-radius:8px;background:linear-gradient(145deg,#081827a6,#13253891);box-shadow:0 4px 12px #00111f2b}.mahjong-table__dora>span{color:#d3c29e;font-size:10px;letter-spacing:.12em}.mahjong-table__dora>div{display:flex;gap:3px;align-items:start}.mahjong-table__dora .mahjong-tile,.mahjong-indicator-back{width:24px;height:34px;border-radius:3px;padding:2px}.mahjong-indicator-back{border:1px solid #f3e4b1;background:linear-gradient(135deg,#f2d594,#caa658);box-shadow:0 3px #847034,0 4px 4px #0004}.mahjong-table__dora>small{font-size:8px;color:#889da9;max-width:180px}.mahjong-table__dora>small b{color:#d3d9d9;font-weight:400}.mahjong-player{position:relative;min-width:0;border:1px solid #dce2e224;border-radius:9px;padding:9px;background:linear-gradient(150deg,#0d1e2cb8,#0b192586);transition:border-color .18s,box-shadow .18s}.mahjong-player.is-turn{border-color:#e8c579a8;box-shadow:0 0 18px #d3a5541c}.mahjong-player__head{position:relative;display:flex;align-items:center;gap:6px;min-width:0}.mahjong-player__wind{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:6px;color:#eed497;background:linear-gradient(135deg,#465264,#192c3c);border:1px solid #d3b77840;font-family:serif;font-size:15px}.mahjong-player__head>div{min-width:0;display:grid;gap:3px}.mahjong-player__head strong{overflow:hidden;max-width:84px;text-overflow:ellipsis;white-space:nowrap;color:#f1f0e7;font-size:11px;font-weight:500}.mahjong-player__head small{color:#b3c1c6;font-size:8px}.mahjong-player__head>b{margin-left:auto;font-variant-numeric:tabular-nums;font-size:11px;color:#eee2be;font-weight:500}.mahjong-player__riichi{position:absolute;right:0;top:-21px;color:#f3d389;font-size:9px;font-style:normal}.mahjong-player__hidden{display:flex;align-items:center;justify-content:center;gap:1px;margin-top:9px}.mahjong-player__hidden i{width:min(1cqw,12px);height:19px;flex:none;border:1px solid #faeabd;border-radius:2px;background:linear-gradient(135deg,#f4d799,#c4a45e);box-shadow:0 3px #857048,0 4px 4px #0004}.mahjong-player__hidden span{margin-left:4px;color:#a4b9c5;font-size:8px}.mahjong-player__melds{position:absolute;top:calc(100% + 4px);left:0;width:100%;display:flex;flex-wrap:nowrap;gap:3px;margin:0}.mahjong-meld{display:flex;align-items:end;gap:2px}.mahjong-meld>small{display:none}.mahjong-meld__tiles{display:flex;gap:1px}.mahjong-meld .mahjong-tile{width:min(.9cqw,14px);height:min(1.3cqw,20px);border-radius:2px;padding:1px;box-shadow:0 2px #aaa895}.mahjong-meld__back{width:min(.9cqw,14px);height:min(1.3cqw,20px);border-radius:2px;border:1px solid #f3e4b1;background:linear-gradient(135deg,#f2d594,#caa658)}.mahjong-player__offline{display:block;margin-top:5px;font-size:8px;color:#e3bc9d}.mahjong-river{position:absolute;z-index:2;display:grid;grid-template-columns:repeat(6,var(--river-w));gap:2px;width:max-content;min-height:0}.mahjong-river--0{top:59%;left:50%;transform:translate(-50%)}.mahjong-river--1{top:43%;left:61%;transform:translateY(-50%) rotate(-90deg);transform-origin:center}.mahjong-river--2{bottom:71%;left:50%;transform:translate(-50%) rotate(180deg)}.mahjong-river--3,.is-sanma .mahjong-river--2{inset:43% 61% auto auto;transform:translateY(-50%) rotate(90deg)}.mahjong-river__tile{display:block;width:var(--river-w);height:calc(var(--river-w) * 1.4)}.mahjong-river__tile .mahjong-tile{width:100%;height:100%;border-radius:2px;padding:1px;box-shadow:0 2px #b8b7a4,0 3px 3px #0005}.mahjong-river__tile.is-tsumogiri{filter:brightness(.89)}.mahjong-river__tile.is-riichi .mahjong-tile{transform:rotate(90deg) scale(.76);outline:1px solid #debe75}.mahjong-table__own{position:absolute;z-index:3;bottom:2%;left:3%;width:94%}.mahjong-table__own>.mahjong-player{position:absolute;bottom:calc(var(--hand-w) * 1.5 + 10px);left:0;width:22%;padding:6px 8px}.mahjong-table__own>.mahjong-player .mahjong-player__hidden{display:none}.mahjong-hand-block{min-width:0}.mahjong-hand-label{display:none}.mahjong-hand-line{display:flex;justify-content:center;align-items:end;gap:12px}.mahjong-hand-public-melds{display:flex;gap:5px;padding-bottom:7px}.mahjong-hand-public-melds .mahjong-tile,.mahjong-hand-public-melds .mahjong-meld__back{width:min(3cqw,7cqh,30px);height:min(4.2cqw,9.8cqh,42px)}.mahjong-hand{display:flex;align-items:end;justify-content:center;width:auto;gap:3px;padding:0 2px 7px;overflow:visible}.mahjong-tile{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--hand-w, 39px);height:calc(var(--hand-w, 39px) * 1.46);padding:3px;border:1px solid #cecebc;border-radius:5px;background:linear-gradient(105deg,#fdfdf5 0,#f6f4e9 45%,#e4e3d4);box-shadow:inset 1px 1px #fff,inset -2px -1px 2px #b6b7a647,0 4px #b6b4a0,0 5px #6a7273,0 9px 9px #07101c60;line-height:1}.mahjong-tile__art{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.mahjong-tile.is-red{border-color:#d2c2b0}button.mahjong-tile{cursor:pointer;touch-action:manipulation;transition:transform .13s,box-shadow .13s}button.mahjong-tile.is-playable:hover:not(:disabled),button.mahjong-tile.is-playable:focus-visible{transform:translateY(-7px);box-shadow:0 4px #c7bf9d,0 7px 18px #0008}button.mahjong-tile.is-locked{cursor:default}button.mahjong-tile.is-drawn{margin-left:max(0px,calc(var(--hand-w, 39px) * .35 - 2px))}.mahjong-drawn-wrap{position:relative;display:inline-flex;align-items:end}.mahjong-drawn-wrap>i{position:absolute;top:-4px;right:4px;color:#ddc68e;font-size:8px;font-style:normal}.mahjong-game__topline{grid-template-columns:1fr auto auto}.mahjong-game__screen-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.mahjong-screen-button{white-space:nowrap;flex-shrink:0;display:inline-flex;gap:6px;align-items:center;min-height:36px;border:1px solid var(--mj-hairline);border-radius:6px;padding:0 9px;color:#d5ccb8;background:#ffffff05;cursor:pointer;font-size:10px}.mahjong-screen-hint{color:#d8bc88;font-size:11px;text-align:center}.mahjong-portrait-gate{display:none}.mahjong-action-dock{min-height:50px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:1px 0 4px}.mahjong-button--riichi{border-color:#d3b77859;color:var(--mj-gold);background:transparent}.mahjong-button--riichi.is-selected{color:#211d13;background:var(--mj-gold)}.mahjong-button--action{border-color:var(--mj-hairline);background:#202322}.mahjong-button--action small{color:var(--mj-muted);font-size:9px}.mahjong-button--win{color:#211d13;background:#d9c48e}.mahjong-action-dock__wait{display:inline-flex;align-items:center;gap:7px;color:var(--mj-muted);font-size:11px}.mahjong-action-dock__cancel{border:0;color:var(--mj-muted);background:none;font-size:10px;text-decoration:underline;cursor:pointer}.mahjong-settlement{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;color:#dfd9c9;font-size:10px}.mahjong-settlement i{border:1px solid rgb(211 183 120 / 22%);border-radius:20px;padding:3px 7px;color:var(--mj-gold);font-size:8px;font-style:normal}.mahjong-settlement-panel{display:grid;grid-template-columns:minmax(160px,.6fr) 1fr;gap:12px 24px;border:1px solid var(--mj-hairline);border-radius:9px;padding:13px 16px;background:#1d1f1ede}.mahjong-settlement-panel h2{margin:5px 0;font-family:var(--font-display),serif;font-size:15px;font-weight:450}.mahjong-settlement-panel p:not(.mahjong-kicker){margin:0;color:var(--mj-muted);font-size:9px}.mahjong-settlement-panel__delta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-content:center}.mahjong-settlement-panel__delta span{display:grid;gap:4px}.mahjong-settlement-panel__delta small{overflow:hidden;color:var(--mj-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.mahjong-settlement-panel__delta b{color:#d8d4c7;font-size:11px;font-weight:550;font-variant-numeric:tabular-nums}.mahjong-settlement-panel__delta b.is-positive{color:#b5ca9e}.mahjong-settlement-panel__delta b.is-negative{color:#df9a8f}.mahjong-winning-hand,.mahjong-ura-indicators{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--mj-hairline);padding-top:9px}.mahjong-winning-hand>div:first-child,.mahjong-ura-indicators>small{display:grid;gap:4px;color:var(--mj-muted);font-size:8px}.mahjong-winning-hand>div:last-child,.mahjong-ura-indicators>div{max-width:100%;display:flex;gap:2px;overflow-x:auto;padding:1px 1px 4px}.mahjong-winning-hand .mahjong-tile,.mahjong-ura-indicators .mahjong-tile{width:clamp(22px,calc(3.1 * var(--mahjong-vw, 1vw)),34px);height:43px;flex:0 0 auto}.mahjong-winning-hand .mahjong-tile__number,.mahjong-ura-indicators .mahjong-tile__number{font-size:16px}.mahjong-settlement-panel ul{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:7px;margin:0;border-top:1px solid var(--mj-hairline);padding:9px 0 0;list-style:none}.mahjong-settlement-panel li{display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:4px 8px;color:#d6d0c0;background:#ffffff0a;font-size:9px}.mahjong-settlement-panel li b{color:var(--mj-gold);font-size:8px;font-weight:500}.mahjong-ranking{position:relative;z-index:6;max-width:500px;margin:20px auto;border:1px solid rgb(211 183 120 / 28%);border-radius:13px;padding:20px;background:#181a19f5;box-shadow:0 20px 80px #0008}.mahjong-ranking h1{margin:7px 0 15px;font-family:var(--font-display),serif;font-size:27px;font-weight:400}.mahjong-ranking h1 em{color:var(--mj-gold);font-style:normal}.mahjong-ranking__row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:9px;border-top:1px solid var(--mj-hairline);padding:10px 2px}.mahjong-ranking__row>span{color:var(--mj-gold);font-family:var(--font-display),serif;font-size:13px}.mahjong-ranking__row>strong{font-size:11px;font-weight:500}.mahjong-ranking__row>b{color:#d0cabb;font-size:10px;font-weight:500}.mahjong-ranking__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.mahjong-ranking__actions>span{align-self:center;color:var(--mj-muted);font-size:10px}.mahjong-empty-game{min-height:calc(55 * var(--mahjong-vh, 1vh));display:flex;align-items:center;justify-content:center;gap:9px;color:var(--mj-muted)}.mahjong-confirm{width:min(440px,calc(calc(100 * var(--mahjong-vw, 1vw)) - 32px));border:1px solid rgb(211 183 120 / 28%);border-radius:14px;padding:27px;color:var(--mj-white);background:#1b1e1d;box-shadow:0 25px 110px #000b}.mahjong-confirm::backdrop{background:#050606c7;backdrop-filter:blur(7px)}.mahjong-confirm__seal{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgb(211 183 120 / 30%);border-radius:50%;color:var(--mj-gold)}.mahjong-confirm>.mahjong-kicker{margin-top:18px}.mahjong-confirm h2{margin:6px 0 9px;font-family:var(--font-display),serif;font-size:23px;font-weight:400}.mahjong-confirm>p:not(.mahjong-kicker){margin:0;color:var(--mj-muted);font-size:12px;line-height:1.75}.mahjong-confirm__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:23px}.mahjong-footer{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:13px;border-top:1px solid var(--mj-hairline);padding-top:10px;color:#85867e;font-size:9px}.mahjong-footer span{display:inline-flex;align-items:center;gap:6px}.mahjong-footer svg{color:#a99a71}.space-mahjong-entry{display:flex;align-items:center;gap:13px;min-width:148px;border:1px solid rgb(211 183 120 / 21%);border-radius:9px;padding:8px 12px;color:var(--text);background:#d3b7780d;text-decoration:none;transition:border-color .18s,background .18s,transform .18s}.space-mahjong-entry:hover{transform:translateY(-2px);border-color:#d3b7787a;background:#d3b77817}.space-mahjong-entry>svg:first-child{color:#d3b778}.space-mahjong-entry>span{display:grid;gap:3px;font-size:11px}.space-mahjong-entry small{color:var(--text-muted);font-size:8px;letter-spacing:.12em}.space-mahjong-entry>svg:last-child{margin-left:auto;color:var(--text-muted)}.space-dashboard__heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:13px}@keyframes mahjong-spin{to{transform:rotate(360deg)}}@keyframes mahjong-turn-breathe{0%,to{box-shadow:0 0 #d3b77800}50%{box-shadow:0 0 13px #d3b7783d}}@keyframes mahjong-discard-in{0%{opacity:0;transform:translateY(-8px) scale(.86)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.mahjong-page *,.mahjong-page *:before,.mahjong-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:860px){.mahjong-shell{padding-right:23px;padding-left:23px}.mahjong-lobby{gap:36px;padding-right:0;padding-left:0}}@media(max-width:640px){.mahjong-shell{min-height:calc(100 * var(--mahjong-dvh, 1dvh));padding:0 max(14px,var(--mahjong-safe-right, env(safe-area-inset-right))) calc(12px + var(--mahjong-safe-bottom, env(safe-area-inset-bottom))) max(14px,var(--mahjong-safe-left, env(safe-area-inset-left)))}.mahjong-header{min-height:57px}.mahjong-brand{gap:7px;font-size:11px}.mahjong-brand__mark{width:29px;height:29px}.mahjong-link-state{font-size:9px}.mahjong-notice{margin-top:12px;font-size:11px}.mahjong-lobby{display:flex;align-items:stretch;flex-direction:column;gap:22px;padding:41px 0 23px}.mahjong-lobby__copy h1{margin:17px 0 9px;font-size:clamp(43px,calc(13 * var(--mahjong-vw, 1vw)),61px)}.mahjong-lobby__copy>p:not(.mahjong-kicker){max-width:340px;font-size:12px;line-height:1.75}.mahjong-lobby__facts{gap:13px;margin-top:15px}.mahjong-lobby__facts span{gap:5px;font-size:9px}.mahjong-lobby__facts svg{width:13px;height:13px}.mahjong-lobby__panel{max-width:none;justify-self:stretch;padding:19px}.mahjong-panel-heading{margin-bottom:17px}.mahjong-panel-heading h2{font-size:19px}.mahjong-panel-heading__icon{width:37px;height:37px}.mahjong-mode-picker button{min-height:63px;padding:9px 10px}.mahjong-panel-note{font-size:9px}.mahjong-service-note{position:static;margin:0}.mahjong-waiting{padding:27px 0 9px}.mahjong-room-header{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:18px}.mahjong-room-header h1{margin-top:7px;font-size:34px}.mahjong-room-header p:not(.mahjong-kicker){max-width:345px;font-size:10px}.mahjong-room-code{align-self:stretch;grid-template-columns:auto 1fr auto;gap:0 9px}.mahjong-room-code>span{grid-column:auto}.mahjong-room-code strong{font-size:17px}.mahjong-seat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mahjong-seat-card{min-height:102px;grid-template-columns:31px minmax(0,1fr);gap:0 8px;padding:18px 10px 11px}.mahjong-seat-card__avatar{width:31px;height:31px;font-size:14px}.mahjong-seat-card__identity strong{font-size:10px}.mahjong-seat-card__identity>span{font-size:9px}.mahjong-seat-card__ready{grid-column:2;margin-top:9px;font-size:9px}.mahjong-seat-card__wind{top:7px;right:8px;font-size:8px}.mahjong-waiting__bottom{align-items:flex-start;flex-direction:column;gap:14px;margin-top:18px;padding-top:15px}.mahjong-waiting__actions{width:100%;flex-wrap:wrap;gap:7px}.mahjong-waiting__actions>.mahjong-button:not(.mahjong-button--quiet){flex:1}.mahjong-host-note{margin-right:auto;padding-left:2px}.mahjong-seat-footnote{align-items:flex-start;font-size:9px;line-height:1.5}.mahjong-game{padding-top:10px}.mahjong-game__topline{grid-template-columns:1fr auto;gap:8px;min-height:49px}.mahjong-game__round-seal{width:31px;height:31px;font-size:16px}.mahjong-game__round{gap:8px}.mahjong-game__round strong{font-size:12px}.mahjong-game__round span:not(.mahjong-game__round-seal){font-size:8px}.mahjong-game__tempo{grid-column:2;grid-row:1;gap:8px}.mahjong-game__tempo>span:not(.mahjong-game__phase,.mahjong-game__tempo-divider){gap:3px;font-size:12px}.mahjong-game__tempo small{font-size:7px}.mahjong-game__tempo-divider{height:15px}.mahjong-game__phase,.mahjong-game__exit,.mahjong-seat-reserved{display:none}.mahjong-reconnect{justify-content:flex-start;margin:7px 2px 3px;font-size:9px}.mahjong-action-dock{justify-content:flex-start;gap:6px;min-height:43px}.mahjong-action-dock .mahjong-button{min-height:38px;gap:6px;padding:0 10px;font-size:10px}.mahjong-settlement{justify-content:flex-start;flex-wrap:wrap;font-size:9px}.mahjong-settlement-panel{grid-template-columns:1fr;gap:10px;padding:11px 12px}.mahjong-settlement-panel__delta{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.mahjong-settlement-panel__delta small{font-size:7px}.mahjong-settlement-panel__delta b{font-size:9px}.mahjong-winning-hand,.mahjong-ura-indicators{align-items:flex-start;flex-direction:column;gap:6px}.mahjong-winning-hand .mahjong-tile,.mahjong-ura-indicators .mahjong-tile{width:clamp(19px,calc(5.5 * var(--mahjong-vw, 1vw)),24px);height:37px;padding:2px 1px}.mahjong-winning-hand .mahjong-tile__number,.mahjong-ura-indicators .mahjong-tile__number{font-size:13px}.mahjong-footer{align-items:flex-start;flex-direction:column;justify-content:center;gap:5px;min-height:48px;font-size:8px}.mahjong-confirm{padding:22px}.mahjong-confirm h2{font-size:20px}.space-mahjong-entry{min-width:auto;gap:7px;padding:7px 9px}.space-mahjong-entry>span{font-size:10px}.space-dashboard__heading-actions{flex-wrap:wrap;gap:4px}}@media(max-width:360px){.mahjong-shell{padding-right:11px;padding-left:11px}.mahjong-game__tempo{gap:6px}}.mahjong-rules-trigger{display:inline-flex;align-items:center;gap:5px;margin-left:auto;border:0;padding:7px 0;color:var(--mj-muted);background:none;font-size:10px;cursor:pointer}.mahjong-variant-picker{margin-bottom:16px}.mahjong-seat-grid.is-sanma{grid-template-columns:repeat(3,minmax(0,1fr))}.mahjong-seat-bot-button{grid-column:1 / -1;justify-self:start;margin-top:12px;border:1px solid var(--mj-hairline);border-radius:5px;padding:5px 8px;color:var(--mj-gold);background:var(--mj-gold-soft);font-size:10px;cursor:pointer}.mahjong-seat-bot-button:disabled{opacity:.5;cursor:wait}.mahjong-settlement-panel__delta.is-sanma{grid-template-columns:repeat(3,minmax(0,1fr))}.mahjong-rules{width:min(620px,calc(calc(100 * var(--mahjong-vw, 1vw)) - 32px));max-height:calc(calc(100 * var(--mahjong-dvh, 1dvh)) - 40px);overflow-y:auto}.mahjong-rules__close{float:right}.mahjong-rules ul{margin:16px 0;padding-left:18px;color:#c5c2b8;font-size:12px;line-height:1.8}.mahjong-rules li+li{margin-top:9px}@media(max-width:640px){.mahjong-rules-trigger{font-size:9px}.mahjong-seat-grid.is-sanma{grid-template-columns:1fr}.mahjong-seat-grid.is-sanma .mahjong-seat-card{min-height:82px}.mahjong-game__exit{display:inline-flex;grid-column:2;grid-row:2;justify-self:end}}@media(max-width:1024px)and (orientation:portrait){.mahjong-portrait-gate{position:fixed;z-index:40;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;padding:28px;text-align:center;color:#eee8d9;background:radial-gradient(ellipse at 50% 30%,#233f55,#0b1520 70%)}.mahjong-portrait-gate>svg{color:#d4bc83;transform:rotate(90deg)}.mahjong-portrait-gate h2{font-family:var(--font-display),serif;font-size:26px;font-weight:400;margin:0}.mahjong-portrait-gate>p:not(.mahjong-kicker){color:#a8bac5;font-size:13px;margin:0;line-height:1.7}.mahjong-portrait-gate>small{max-width:240px;color:#7e95a4;font-size:11px;line-height:1.6}.mahjong-portrait-gate .mahjong-button{min-height:46px}.mahjong-confirm{z-index:50}}@media(max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait)and (pointer:coarse){.mahjong-page:has(.mahjong-game) .mahjong-shell{width:100%;min-height:calc(100 * var(--mahjong-dvh, 1dvh));padding:0 max(8px,var(--mahjong-safe-left, env(safe-area-inset-left))) 0 max(8px,var(--mahjong-safe-right, env(safe-area-inset-right)))}.mahjong-page:has(.mahjong-game) .mahjong-header,.mahjong-page:has(.mahjong-game) .mahjong-footer{display:none}.mahjong-game{padding-top:0}.mahjong-game__topline{min-height:39px;height:39px;grid-template-columns:1fr auto auto;gap:10px}.mahjong-game__round-seal{width:26px;height:26px;font-size:14px}.mahjong-game__round strong{font-size:11px}.mahjong-game__round span:not(.mahjong-game__round-seal){font-size:8px}.mahjong-game__tempo{gap:9px;grid-column:auto;grid-row:auto}.mahjong-game__tempo>span:not(.mahjong-game__phase,.mahjong-game__tempo-divider){font-size:12px}.mahjong-game__phase{display:none}.mahjong-screen-button{min-height:30px;font-size:9px}.mahjong-game__exit{display:inline-flex;width:30px;height:30px;grid-column:auto;grid-row:auto}.mahjong-table{height:calc(calc(100 * var(--mahjong-dvh, 1dvh)) - 87px);min-height:0;margin:0 auto 4px;border-width:6px;border-radius:14px;--river-w: min(1.8cqw, 4.1cqh, 20px)}.mahjong-table__position--north{top:2%}.mahjong-player{padding:5px 6px;border-radius:6px}.mahjong-player__head{gap:4px}.mahjong-player__wind{width:22px;height:22px;font-size:12px}.mahjong-player__head strong{max-width:75px;font-size:9px}.mahjong-player__head small{font-size:7px}.mahjong-player__head>b{font-size:9px}.mahjong-player__hidden{margin-top:4px}.mahjong-player__hidden i{height:12px}.mahjong-table__center{width:70px;height:70px;gap:2px;border-width:3px;border-radius:7px}.mahjong-center-brand{font-size:4px}.mahjong-table__center>strong{font-size:14px}.mahjong-table__center>small{font-size:5px}.mahjong-table__wall{font-size:7px}.mahjong-table__wall b{font-size:11px}.mahjong-center-seat{width:16px;height:16px;font-size:8px}.mahjong-table__dora{top:3%;left:2%;gap:4px;padding:6px 8px}.mahjong-table__dora>span{font-size:8px}.mahjong-table__dora .mahjong-tile,.mahjong-indicator-back{width:17px;height:24px}.mahjong-table__dora>small{font-size:6px;max-width:130px}.mahjong-river--0{top:57%;--river-w: min(1.8cqw, 3.4cqh, 20px)}.mahjong-river--2{bottom:71%}.mahjong-table__own{bottom:1%}.mahjong-table__own>.mahjong-player{padding:4px 5px}.mahjong-action-dock{min-height:40px;gap:6px;padding:0}.mahjong-action-dock .mahjong-button{min-height:34px;font-size:11px;padding:0 13px}.mahjong-action-dock__wait{font-size:10px}.mahjong-screen-hint,.mahjong-reconnect{position:fixed;z-index:10;left:50%;top:44px;transform:translate(-50%);margin:0;border-radius:6px;padding:7px 10px;background:#081828ed;font-size:10px}}@media(max-width:640px)and (orientation:landscape){.mahjong-game__tempo{display:none}.mahjong-game__topline{grid-template-columns:1fr auto}.mahjong-player__head strong{max-width:41px}.mahjong-player__head>b{font-size:8px}.mahjong-table__own>.mahjong-player{width:27%}.mahjong-hand{gap:2px}}.mahjong-player__nuki{display:inline-flex;align-items:center;gap:2px;margin-left:4px;color:#d6cba7;font-size:8px;white-space:nowrap}.mahjong-player__nuki>span{color:#ddd6c5}button.mahjong-player__head{width:100%;min-height:30px;padding:0;text-align:left;border:0;color:inherit;background:transparent;cursor:pointer}.mahjong-player__zoom{position:absolute;right:-4px;bottom:-5px;display:inline-flex;color:#d5c18b}.mahjong-player__head small{white-space:nowrap}.mahjong-game:not(.is-finished){position:fixed;z-index:20;inset:0;padding:0;background:#172c4c}.mahjong-page:has(.mahjong-game:not(.is-finished)) .mahjong-notice{position:fixed;z-index:35;top:max(55px,var(--mahjong-safe-top, env(safe-area-inset-top)));left:50%;transform:translate(-50%);width:max-content;max-width:min(calc(90 * var(--mahjong-vw, 1vw)),650px);margin:0;background:#4a2936f5;border-color:#d9a287;box-shadow:0 4px 15px #04152b55}.mahjong-game:not(.is-finished)>.mahjong-reconnect,.mahjong-game:not(.is-finished)>.mahjong-screen-hint{position:absolute;z-index:12;top:auto;bottom:calc(calc(18 * var(--mahjong-dvh, 1dvh)) + 65px);right:4%;left:auto;transform:none;width:max-content;max-width:28%;margin:0;padding:4px 7px;background:#16243ee8;color:#f5cf9d;border-radius:4px;font-size:10px}.mahjong-game:not(.is-finished)>.mahjong-reconnect,.mahjong-game:not(.is-finished)>.mahjong-screen-hint{inset:6% auto auto 36%;transform:translate(-50%);max-width:100px;font-size:10px;line-height:14px;white-space:nowrap}.mahjong-game:not(.is-finished):has(>.mahjong-reconnect)>.mahjong-screen-hint{display:none}.mahjong-game:not(.is-finished) .mahjong-table{--hand-w: min(4.8cqw, 13cqh, 64px);--river-w: min(2.5cqw, 5.2cqh, 28px);width:100%;height:calc(100 * var(--mahjong-dvh, 1dvh));margin:0;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 44%,rgb(163 198 191 / 9%),transparent 42%),radial-gradient(ellipse at 50% 43%,#34596b 0,#27485c 48%,#1d3a4f 78%,#142d41);box-shadow:inset 0 1px #d7e0d51a,inset 0 18px 40px -28px #d5e0d45c,inset 0 -28px 44px -28px #071624d9,inset 24px 0 38px -28px #071624d4,inset -24px 0 38px -28px #071624d4}.mahjong-game:not(.is-finished) .mahjong-table:before{z-index:0;inset:0;border:clamp(8px,1.15cqw,16px) solid transparent;border-radius:0;border-image:linear-gradient(128deg,#332724 0,#8b6443 2%,#c2945c 5%,#68472f 9%,#3a2c29 18%,#765033 48%,#302622 82%,#b4814c 97%,#392823) 1;background:none;pointer-events:none;box-shadow:inset 0 1px #f2d29c80,inset 0 -2px #201c1c9c,inset 1px 0 #d5ad7080,inset -1px 0 #1b202480}.mahjong-game:not(.is-finished) .mahjong-table:after{content:"";position:absolute;z-index:1;inset:clamp(10px,1.55cqw,22px);border:1px solid #dfc48d37;border-radius:clamp(10px,1.8cqw,24px);box-shadow:inset 0 1px #d9e5dc0c;pointer-events:none}.mahjong-table__seams{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.mahjong-table__seams path{fill:none;stroke:#0a2233;stroke-width:2;opacity:.25}.mahjong-table__seams path+path{stroke:#bad1c8;stroke-width:1;opacity:.08}.mahjong-game:not(.is-finished) .mahjong-game__topline{position:absolute;z-index:9;top:max(12px,var(--mahjong-safe-top, env(safe-area-inset-top)));right:max(15px,var(--mahjong-safe-right, env(safe-area-inset-right)));display:block;min-height:0;height:auto}.mahjong-game:not(.is-finished) .mahjong-game__round,.mahjong-game:not(.is-finished) .mahjong-game__tempo{display:none}.mahjong-game .mahjong-screen-button,.mahjong-game .mahjong-game__exit{width:37px;height:37px;min-height:37px;padding:0;justify-content:center;border:1px solid #bac3d557;color:#dce5ef;background:#172742d4;border-radius:5px}.mahjong-game .mahjong-screen-button span{display:none}.mahjong-game .mahjong-screen-button svg{width:20px;height:20px}.mahjong-game .mahjong-table__grain{opacity:.17}.mahjong-game .mahjong-table__center{top:44%;width:min(15cqw,25cqh,178px);height:min(15cqw,25cqh,178px);gap:2px;padding:20px;border:1px solid #e1c47d;border-radius:50%;background:radial-gradient(circle at 34% 25%,rgb(137 157 161 / 30%),transparent 40%),radial-gradient(circle at 50% 58%,#273e4f 0,#1a2e3e 66%,#102338);box-shadow:0 1px #e9d29b,0 0 0 3px #17273a,0 0 0 4px #836c46,0 0 0 7px #152337,0 10px 20px #06111dd4,inset 0 1px #f1d79b52,inset 0 -5px 12px #071624b8}.mahjong-game .mahjong-table__center:before{content:"";position:absolute;inset:7px;border:1px solid #d4bb8052;border-radius:inherit;pointer-events:none}.mahjong-game .mahjong-center-brand{display:none}.mahjong-game .mahjong-table__center>strong{color:#88dfde;font:700 min(2.4cqw,4cqh,27px)/1.1 var(--font-body),sans-serif;text-shadow:0 0 7px #57d8ef44;white-space:nowrap}.mahjong-game .mahjong-table__wall{color:#a1d9e5;font-size:min(1.5cqw,2.4cqh,14px)}.mahjong-game .mahjong-table__wall b{color:inherit;font-size:inherit}.mahjong-game .mahjong-table__center>small{font-size:min(1.1cqw,1.8cqh,10px);white-space:nowrap}.mahjong-game .mahjong-center-seat{width:auto;height:auto;min-width:17px;display:flex;align-items:center;gap:4px;border:0;background:transparent;box-shadow:none;border-radius:0;color:#dbc798;font-size:min(1.4cqw,2.3cqh,15px)}.mahjong-center-seat>span{display:grid;place-items:center;width:20px;height:20px;background:#0d172d;border:1px solid #69758a;border-radius:2px}.mahjong-center-seat>b{font-weight:500;font-variant-numeric:tabular-nums}.mahjong-game .mahjong-center-seat--0{bottom:4px;left:50%;transform:translate(-50%)}.mahjong-game .mahjong-center-seat--1{right:-16px;top:50%;transform:translateY(-50%) rotate(-90deg)}.mahjong-game .mahjong-center-seat--2{top:3px;left:50%;transform:translate(-50%) rotate(180deg)}.mahjong-game .mahjong-center-seat--3,.mahjong-game.is-sanma .mahjong-center-seat--2{top:50%;left:-16px;transform:translateY(-50%) rotate(90deg)}.mahjong-game .mahjong-center-seat.is-active>span{color:#ffefe8;border-color:#f78c70;background:#943838;box-shadow:0 0 8px #ff6b5240}.mahjong-game .mahjong-table__dora{top:2%;left:2.2%;padding:7px;gap:3px;border:2px solid #ba9a7a;border-radius:3px;background:#182d4bdb;box-shadow:2px 3px #121b2d}.mahjong-game .mahjong-table__dora>span{font-size:min(1.4cqw,2cqh,12px);letter-spacing:0}.mahjong-game .mahjong-table__dora>small{font-size:min(1cqw,1.7cqh,10px);max-width:190px}.mahjong-game .mahjong-table__dora .mahjong-tile,.mahjong-game .mahjong-indicator-back{width:min(2.7cqw,5.8cqh,35px);height:min(3.9cqw,8.4cqh,50px)}.mahjong-game .mahjong-table__position,.mahjong-game .mahjong-table__own{display:contents;position:static}.mahjong-game .mahjong-player,.mahjong-game .mahjong-table__own>.mahjong-player{position:static;border:0;padding:0;width:auto;border-radius:0;background:none;box-shadow:none}.mahjong-game .mahjong-player__head,.mahjong-game button.mahjong-player__head{position:absolute;z-index:4;width:min(15cqw,185px);min-height:50px;display:flex;flex-wrap:wrap;gap:3px 7px;padding:5px 7px;border:1px solid #e1c59138;border-left:2px solid #c79f626b;border-radius:6px;background:linear-gradient(125deg,#203a51ee,#10263ce8 72%);box-shadow:0 3px #101b2d,0 7px 15px #08152452}.mahjong-game .mahjong-player__wind{width:min(4.7cqw,8cqh,55px);height:min(4.7cqw,8cqh,55px);font-family:serif;font-size:min(3cqw,5cqh,34px);border:2px solid #d7c8a4;border-radius:2px;background:linear-gradient(140deg,#708197,#283448);text-shadow:0 2px 0 #172d42}.mahjong-game .mahjong-player__wind[data-avatar]{position:relative;font-size:0;background-image:url(./assets/mahjong-seat-portraits-v1.webp);background-size:200% 200%;background-position:0 0;text-shadow:none}.mahjong-game .mahjong-player__wind[data-avatar="1"]{background-position:100% 0}.mahjong-game .mahjong-player__wind[data-avatar="2"]{background-position:0 100%}.mahjong-game .mahjong-player__wind[data-avatar="3"]{background-position:100% 100%}.mahjong-game .mahjong-player__wind[data-avatar]:after{content:attr(data-wind);position:absolute;bottom:-2px;right:-2px;display:grid;place-items:center;width:16px;height:16px;border:1px solid #d7c8a4;background:#1b2945e6;color:#fae2b0;font:12px/1 serif}.mahjong-game .mahjong-player__head>div{flex:1}.mahjong-game .mahjong-player__head strong{max-width:110px;font-size:min(1.65cqw,2.8cqh,15px);font-weight:500}.mahjong-game .mahjong-player__head small{font-size:min(1.1cqw,1.8cqh,10px)}.mahjong-game .mahjong-player__head>b{width:100%;margin:0;padding:1px 0 0;border-top:1px solid #a9c1da32;text-align:center;font-size:min(1.8cqw,3.1cqh,18px)}.mahjong-game .mahjong-player__riichi{top:-17px;right:0;font-size:11px;padding:0 4px;color:#ffe6c2;background:#8b293c}.mahjong-game .mahjong-table__position--west .mahjong-player__head{left:3%;top:40%}.mahjong-game .mahjong-table__position--east .mahjong-player__head{right:3%;top:40%}.mahjong-game .mahjong-table__position--north .mahjong-player__head{right:3%;top:17%}.mahjong-game .mahjong-table__own .mahjong-player__head{left:10%;bottom:19%}.mahjong-game .mahjong-opponent-rack{position:absolute;z-index:3;display:flex;width:max-content;align-items:end;gap:10px}.mahjong-game .mahjong-player__hidden{position:static;width:max-content;gap:1px;margin:0}.mahjong-game .mahjong-player__hidden i{width:min(1.75cqw,3.6cqh,27px);height:min(3.1cqw,5.4cqh,35px);border:1px solid #f8d298;border-radius:3px;background:linear-gradient(135deg,#ffffff35,transparent 48%),repeating-linear-gradient(45deg,#fff1cb18 0 2px,transparent 2px 5px),linear-gradient(#fff0cb 0 12%,#f4ad50 13% 81%,#cd772e 82% 92%,#944d2c 93%);box-shadow:inset 0 1px #fff5d6,inset -2px 0 2px #8d482a6e,0 2px #a96234,0 4px #75432f,0 6px 7px #0b1b2d55}.mahjong-game .mahjong-player__hidden>span{display:none}.mahjong-game .mahjong-player__hidden>i.is-drawn{margin-inline-start:min(.65cqw,1.25cqh,9px)}.mahjong-game .mahjong-table__position--north .mahjong-opponent-rack{left:50%;top:1%;transform:translate(-50%) rotate(180deg)}.mahjong-game .mahjong-table__position--west .mahjong-opponent-rack{left:22%;top:32%;transform:translate(-50%,-50%) rotate(90deg)}.mahjong-game .mahjong-table__position--east .mahjong-opponent-rack{right:22%;top:32%;transform:translate(50%,-50%) rotate(-90deg)}.mahjong-game .mahjong-table__own .mahjong-opponent-rack{display:none}.mahjong-game .mahjong-player__melds{position:static;width:max-content;gap:5px;flex-wrap:nowrap;margin:0}.mahjong-game .mahjong-player__melds .mahjong-tile,.mahjong-game .mahjong-player__melds .mahjong-meld__back{width:min(1.5cqw,3.3cqh,22px);height:min(2.1cqw,4.6cqh,31px)}.mahjong-game .mahjong-river{gap:2px;--river-w: min(2.5cqw,5.2cqh,28px)}.mahjong-game .mahjong-river.is-long{--river-w: min(1.8cqw,3.5cqh,23px)}.mahjong-game .mahjong-river--0{top:calc(44% + min(7.5cqw,12.5cqh,89px) + 8px);left:50%;transform:translate(-50%)}.mahjong-game .mahjong-river--1{top:44%;left:calc(50% + min(7.5cqw,12.5cqh,89px) + 8px);transform-origin:0 0;transform:rotate(-90deg) translate(-50%)}.mahjong-game .mahjong-river--2{top:auto;bottom:calc(56% + min(7.5cqw,12.5cqh,89px) + 8px);left:50%;transform:translate(-50%) rotate(180deg)}.mahjong-game .mahjong-river--3,.mahjong-game.is-sanma .mahjong-river--2{top:44%;bottom:auto;left:calc(50% - min(7.5cqw,12.5cqh,89px) - 8px);right:auto;transform-origin:0 0;transform:rotate(90deg) translate(-50%)}.mahjong-game .mahjong-hand-block{position:absolute;z-index:5;bottom:max(2%,var(--mahjong-safe-bottom, env(safe-area-inset-bottom)));left:0;width:100%}.mahjong-game .mahjong-hand{gap:2px;padding-bottom:6px}.mahjong-game .mahjong-hand-line{gap:14px}.mahjong-game .mahjong-hand-public-melds .mahjong-tile,.mahjong-game .mahjong-hand-public-melds .mahjong-meld__back{width:min(3cqw,7cqh,35px);height:min(4.2cqw,9.8cqh,49px)}.mahjong-game .mahjong-tile,.mahjong-discard-flight__face.mahjong-tile{padding:2px 3px;border:1px solid #d4ccb7;border-radius:4px;background:linear-gradient(104deg,#fffdf2 0,#f8f3e6 66%,#ddd4bf);box-shadow:inset 1px 1px #fffef8,inset -2px -1px 3px #8e826545,0 1px #fff0c5,0 3px #d39750,0 5px #a86636,0 8px 9px #07182b68}.mahjong-game .mahjong-river__tile .mahjong-tile,.mahjong-discard-flight__face.mahjong-tile{padding:1px;border-radius:3px;box-shadow:inset 1px 1px #fffdf5,inset -1px -1px 2px #74684748,0 1px #f2dfb7,0 3px #c98c50,0 5px #8c5935,0 8px 7px #07182b85}.mahjong-game .mahjong-indicator-back,.mahjong-game .mahjong-meld__back{background:linear-gradient(#ffcb76,#eea147);border-color:#d3a264}.mahjong-game .mahjong-drawn-wrap>i{display:none}.mahjong-game:not(.is-finished) .mahjong-action-dock{position:absolute;z-index:8;right:max(4%,var(--mahjong-safe-right, env(safe-area-inset-right)));bottom:calc(calc(18 * var(--mahjong-dvh, 1dvh)) + 10px);max-width:48%;min-height:0;justify-content:flex-end;gap:8px;padding:0}.mahjong-game .mahjong-action-dock .mahjong-button{min-width:64px;min-height:42px;padding:4px 14px;border:2px solid #d4a176;border-radius:3px;color:#ffe1a8;font-size:17px;text-shadow:0 2px 0 #391a26;background:linear-gradient(#443049,#22223d);box-shadow:0 3px #1b142b,0 4px 7px #04132577}.mahjong-game .mahjong-action-dock .mahjong-button--win:not(:disabled){color:#fff4cc;border-color:#ffcb78;background:linear-gradient(#ab4b53,#643142);box-shadow:0 0 15px #ec935e40,0 3px #341829}.mahjong-game .mahjong-action-dock .mahjong-button--riichi:not(:disabled){background:linear-gradient(#795a39,#422a2a)}.mahjong-game .mahjong-action-dock .mahjong-button:disabled{opacity:.5;border-color:#6c7d90;background:#1b2c44;color:#b2bed0;text-shadow:none;box-shadow:none}.mahjong-game .mahjong-action-dock__wait{position:absolute;bottom:calc(100% + 7px);right:0;white-space:nowrap;color:#bdc8d7}.mahjong-game .mahjong-action-dock__cancel{flex-basis:100%;text-align:right;color:#f1dbb6}.mahjong-game:not(.is-finished)>.mahjong-settlement-panel{position:absolute;z-index:12;left:50%;top:45%;transform:translate(-50%,-50%);width:min(800px,88%);max-height:calc(60 * var(--mahjong-dvh, 1dvh));overflow:auto;background:#152139f5}.mahjong-game .mahjong-player__offline{position:absolute;bottom:22%;left:4%}.mahjong-game:not(.is-finished) .mahjong-nuki-tray{--nuki-tile-w: min(2.6cqw, 5cqh, 31px);position:absolute;z-index:4;display:flex;align-items:center;flex-direction:column;gap:2px;width:max-content;max-width:22cqw;border:1px solid #e7c68482;border-radius:7px;padding:3px 4px 4px;color:#ffe5b2;background:linear-gradient(145deg,#253a4bef,#12283af2 72%);box-shadow:inset 0 1px #ffe4b938,0 3px #111c27,0 7px 13px #07132172}.mahjong-game .mahjong-nuki-tray>small{color:#f1d19a;font-size:min(1.1cqw,1.8cqh,10px);line-height:1.25;letter-spacing:.035em;white-space:nowrap}.mahjong-game .mahjong-nuki-tray__tiles{display:flex;align-items:center;gap:2px}.mahjong-game .mahjong-nuki-tray__tiles .mahjong-tile{width:var(--nuki-tile-w);height:min(3.7cqw,6cqh,44px);flex:0 0 auto;padding:1px;border-radius:3px;box-shadow:inset 1px 1px #fffefa,inset -1px -1px 2px #8c79514a,0 1px #fff1cf,0 3px #cc9250,0 5px #815333,0 7px 7px #06152370}.mahjong-game .mahjong-table__position--north .mahjong-nuki-tray{top:2%;left:20%}.mahjong-game .mahjong-table__position--west .mahjong-nuki-tray{top:calc(44% - min(5.4cqw,10.5cqh,69px) - min(3.7cqw,6cqh,44px) - 28px);left:calc(22% + clamp(22px,3.6cqw,46px))}.mahjong-game .mahjong-table__position--east .mahjong-nuki-tray{top:calc(44% - min(5.4cqw,10.5cqh,69px) - min(3.7cqw,6cqh,44px) - 28px);right:calc(22% + clamp(22px,3.6cqw,46px))}.mahjong-game .mahjong-table__own .mahjong-nuki-tray{bottom:18%;left:27%}.mahjong-game .mahjong-table-feedback{position:absolute;z-index:11;top:calc(44% - min(7.5cqw,12.5cqh,89px) - 42px);left:50%;display:grid;min-height:30px;place-items:center;width:max-content;max-width:min(72%,440px);border:1px solid #f0d2949c;border-radius:999px;padding:5px 17px;color:#fff4dd;background:linear-gradient(135deg,#304858f2,#182b3bf5 74%);box-shadow:inset 0 1px #fff4d84a,0 4px 16px #07142188;font-size:clamp(12px,min(1.7cqw,3cqh,16px),16px);font-weight:550;letter-spacing:.11em;line-height:1.2;text-align:center;text-shadow:0 1px 2px #0c1721;pointer-events:none;animation:mahjong-feedback-pop .9s ease-out both}.mahjong-game .mahjong-table-feedback.is-nuki{border-color:#edb872ad;color:#ffdda9;background:linear-gradient(135deg,#654533f2,#2d3035f5 74%)}.mahjong-game .mahjong-table-feedback.is-riichi{border-color:#e37f82b8;color:#ffdfd5;background:linear-gradient(135deg,#723848f5,#2f2a3bf5 74%)}.mahjong-game .mahjong-table-feedback.is-win{border-color:#f0d084d1;color:#fff2c5;background:linear-gradient(135deg,#78603bf5,#283b40f5 74%)}.mahjong-game .mahjong-table-feedback.is-call{border-color:#b9d5c99c;color:#e5f3df}.mahjong-game .mahjong-table-feedback.is-draw{color:#e4edf1}.mahjong-game .mahjong-table-feedback.is-discard{color:#f1e7d1}.mahjong-game:not(.is-finished) .mahjong-action-dock:empty{display:none}.mahjong-game button.mahjong-tile.is-draw-arriving{animation:mahjong-tile-arrive .22s cubic-bezier(.2,.75,.25,1) both}@media(max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait)and (pointer:coarse){.mahjong-game .mahjong-table__center{padding:16px;border-width:5px;border-radius:9px}.mahjong-game .mahjong-center-seat>span{width:15px;height:15px}.mahjong-game .mahjong-player__head,.mahjong-game button.mahjong-player__head{width:15%;min-height:40px;gap:1px 5px;padding:4px}.mahjong-game .mahjong-table__own .mahjong-player__head{left:6%;bottom:22%}.mahjong-game .mahjong-table__dora{padding:4px;border-width:1px}.mahjong-game .mahjong-action-dock .mahjong-button{min-width:53px;min-height:35px;padding:3px 9px;font-size:14px}.mahjong-game:not(.is-finished) .mahjong-action-dock{bottom:calc(calc(18 * var(--mahjong-dvh, 1dvh)) + 8px);max-width:38%;gap:5px}}.mahjong-public-melds{width:min(520px,calc(calc(100 * var(--mahjong-vw, 1vw)) - 28px));max-height:calc(calc(100 * var(--mahjong-dvh, 1dvh)) - 28px);overflow-y:auto}.mahjong-public-melds__close{float:right}.mahjong-public-melds__tiles{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px}.mahjong-public-melds .mahjong-meld{display:grid;gap:7px}.mahjong-public-melds .mahjong-meld>small{display:block;font-size:12px}.mahjong-public-melds .mahjong-tile,.mahjong-public-melds .mahjong-meld__back{width:39px;height:56px;padding:3px}.mahjong-public-melds__nuki{display:flex;align-items:flex-start;flex-direction:column;gap:7px;margin-top:18px;border-top:1px solid var(--mj-hairline);padding-top:13px}.mahjong-public-melds__nuki>small{color:var(--mj-gold);font-size:11px}.mahjong-public-melds__nuki>div{display:flex;flex-wrap:wrap;gap:4px}.mahjong-public-melds__nuki .mahjong-tile{width:39px;height:56px;padding:3px}.mahjong-call-dialog{width:min(540px,calc(calc(100 * var(--mahjong-vw, 1vw)) - 28px));max-height:calc(calc(100 * var(--mahjong-dvh, 1dvh)) - 28px);overflow:hidden}.mahjong-call-options{display:grid;gap:7px;max-height:min(calc(48 * var(--mahjong-dvh, 1dvh)),360px);overflow:auto;margin:18px 0 3px;padding:2px 4px 3px 0}.mahjong-call-options>button{min-height:63px;display:flex;align-items:center;gap:7px;border:1px solid var(--mj-hairline);border-radius:7px;padding:5px 8px;color:var(--mj-white);background:linear-gradient(135deg,#242928,#191e20);cursor:pointer}.mahjong-call-options>button:hover{border-color:#d3b7787d;background:linear-gradient(135deg,#34332b,#1d2427)}.mahjong-call-options .mahjong-tile{width:30px;height:43px;flex:0 0 auto;padding:2px}@keyframes mahjong-feedback-pop{0%,to{opacity:0;transform:translate(-50%,-5px) scale(.98)}12%,76%{opacity:1;transform:translate(-50%) scale(1)}}@keyframes mahjong-tile-arrive{0%{opacity:.45;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.mahjong-game .mahjong-table-feedback{animation:none;opacity:1;transform:translate(-50%)}.mahjong-game button.mahjong-tile.is-draw-arriving{animation:none}}.mahjong-winning-hand{--win-tile-w: clamp(22px,calc(3.1 * var(--mahjong-vw, 1vw)),34px);--win-tile-h: 43px;min-width:0}.mahjong-winning-hand>div.mahjong-winning-hand__row{min-width:0;align-items:flex-end;gap:12px}.mahjong-winning-hand__closed{display:flex;gap:2px;flex:0 0 auto}.mahjong-winning-hand__tile{display:flex;flex:0 0 auto}.mahjong-winning-hand__melds{display:flex;align-items:flex-end;gap:10px;flex:0 0 auto}.mahjong-winning-hand__melds .mahjong-meld--public{--meld-tile-w: var(--win-tile-w);--meld-tile-h: var(--win-tile-h)}.mahjong-winning-hand .mahjong-tile{width:var(--win-tile-w);height:var(--win-tile-h)}@media(max-width:700px){.mahjong-winning-hand{--win-tile-w: clamp(19px,calc(5.5 * var(--mahjong-vw, 1vw)),24px);--win-tile-h: 37px}}.mahjong-settlement-panel{grid-template-columns:minmax(170px,.65fr) minmax(0,1.35fr);gap:12px 18px;color:#e8e4da}.mahjong-settlement-panel__heading{min-width:0}.mahjong-settlement-panel h2{margin:3px 0;font-size:20px}.mahjong-settlement-panel__winner{display:block;font-size:18px;overflow-wrap:anywhere}.mahjong-settlement-panel p:not(.mahjong-kicker){font-size:12px;line-height:1.5}.mahjong-settlement-panel__value{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;margin-top:6px}.mahjong-settlement-panel__value small{font-size:12px;color:var(--mj-muted)}.mahjong-settlement-panel__value b{color:var(--mj-gold);font-size:23px;font-variant-numeric:tabular-nums}.mahjong-settlement-panel__delta{gap:8px}.mahjong-settlement-panel__delta>span{display:grid;align-content:center;gap:5px;min-width:0;padding:8px;border:1px solid var(--mj-hairline);border-radius:6px;background:#ffffff08}.mahjong-settlement-panel__delta small{font-size:12px}.mahjong-settlement-panel__delta em{font-style:normal;display:block;font-size:12px;white-space:nowrap;color:var(--mj-muted)}.mahjong-settlement-panel__delta b{font-size:16px;white-space:nowrap}.mahjong-settlement-panel__explanation{grid-column:1 / -1}.mahjong-settlement-panel .mahjong-winning-hand>div:first-child,.mahjong-settlement-panel .mahjong-ura-indicators>small{font-size:12px}.mahjong-settlement-panel li,.mahjong-settlement-panel li b{font-size:12px}.mahjong-settlement-panel__actions{grid-column:1 / -1;position:static;bottom:auto;display:flex;flex:0 0 auto;justify-content:flex-end;padding:8px 0;background:#152139}.mahjong-settlement-panel__actions button{min-width:88px;min-height:44px;font-size:16px}.mahjong-game:not(.is-finished)>.mahjong-settlement-panel{top:43%;width:min(960px,94%);max-height:calc(72 * var(--mahjong-dvh, 1dvh));min-height:0;display:flex;flex-direction:column;overflow:hidden}.mahjong-settlement-panel__content{grid-column:1 / -1;min-width:0;min-height:0;flex:1 1 auto;display:grid;grid-template-columns:minmax(170px,.65fr) minmax(0,1.35fr);align-content:start;gap:12px 18px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}@media(max-width:900px){.mahjong-settlement-panel__content{grid-template-columns:minmax(0,1fr);gap:8px}.mahjong-settlement-panel__heading{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:10px}.mahjong-settlement-panel__heading .mahjong-kicker{display:none}.mahjong-settlement-panel__heading h2{font-size:18px}.mahjong-settlement-panel__value{margin:0}.mahjong-settlement-panel__delta{gap:6px}.mahjong-settlement-panel__delta>span{padding:6px}.mahjong-settlement-panel__delta b{font-size:14px}}.mahjong-page .mahjong-lobby__panel,.mahjong-page .mahjong-confirm{background:#18232bed;border-color:#708d9c55}.mahjong-page .mahjong-game .mahjong-table:before{border-image:linear-gradient(135deg,#172027,#52616b 4%,#26333e 10%,#18222a 50%,#52616b 97%,#172027) 1}.mahjong-page .mahjong-game .mahjong-table__dora{border-color:#718791;background:#162630ee}.mahjong-page .mahjong-game:not(.is-finished)>.mahjong-settlement-panel{background:#15232ff5;border-color:#7897a266}.mahjong-page .mahjong-settlement-panel__actions{background:#15232f}.mahjong-page .mahjong-action-dock .mahjong-button,.mahjong-page .mahjong-call-options .mahjong-button{border:1px solid #7896a2;border-radius:7px;background:#203744;color:#edf5f6;text-shadow:none;box-shadow:0 2px #0c1922,0 4px 10px #07111966}.mahjong-page .mahjong-action-dock .mahjong-button--quiet{background:#182630;color:#c1cdd2;border-color:#5e747f}.mahjong-page .mahjong-action-dock .mahjong-button--win{background:#644235;color:#fff0cc;border-color:#c29d68}.mahjong-call-label{display:grid;gap:2px;white-space:nowrap}.mahjong-page .mahjong-call-label>small{font-size:10px;color:#ccdade}.mahjong-call-previews{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.mahjong-call-previews:empty{display:none}.mahjong-call-previews,.mahjong-call-preview,.mahjong-call-preview *{pointer-events:none}.mahjong-call-preview{display:inline-flex;align-items:end}.mahjong-page .mahjong-call-preview .mahjong-meld--public{--meld-tile-w: 19px;--meld-tile-h: 27px}.mahjong-page .mahjong-call-previews:has(>:nth-child(2)) .mahjong-meld--public{--meld-tile-w: 15px;--meld-tile-h: 21px}.mahjong-page .mahjong-call-options .mahjong-button{min-height:58px;gap:14px}.mahjong-page .mahjong-call-options .mahjong-meld--public{--meld-tile-w: 27px;--meld-tile-h: 38px}@media(pointer:coarse){.mahjong-page .mahjong-game .mahjong-action-dock .mahjong-button,.mahjong-page .mahjong-game .mahjong-action-dock__cancel{min-width:44px;min-height:44px}}.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__content{grid-template-columns:minmax(0,1fr)}.mahjong-settlement-panel .mahjong-winning-hand{flex-direction:column;align-items:flex-start}.mahjong-settlement-panel .mahjong-winning-hand>.mahjong-winning-hand__row{width:100%}.mahjong-settlement-panel__page{color:var(--mj-muted);font-variant-numeric:tabular-nums}.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__heading{animation:mahjong-result-reveal .3s ease-out both}.mahjong-settlement-panel.is-detail .is-pending{opacity:0;visibility:hidden}.mahjong-settlement-panel.is-detail .is-revealed{animation:mahjong-result-reveal .18s ease-out both}.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__value.is-revealed{animation-duration:.6s}.mahjong-settlement-panel.is-scores .mahjong-settlement-panel__content{grid-template-columns:minmax(0,1fr)}.mahjong-settlement-panel.is-scores .mahjong-settlement-panel__delta{grid-column:1 / -1}.mahjong-settlement-panel.is-scores .mahjong-settlement-panel__balance-after{margin-top:8px}.mahjong-settlement-panel.is-scores .mahjong-settlement-panel__balance-after strong{display:block;margin-top:4px;color:#edf5f6;font-size:clamp(18px,2.8cqw,30px);font-weight:600;font-variant-numeric:tabular-nums}.mahjong-settlement-panel__actions{gap:12px;align-items:center}.mahjong-settlement-panel__actions small{color:var(--mj-muted);font-size:12px}.mahjong-settlement-panel.is-draw .mahjong-settlement-panel__content{grid-template-columns:minmax(0,1fr)}.mahjong-draw-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mahjong-draw-summary article{min-width:0;padding:10px;border:1px solid #68859555;background:#10202b;border-radius:6px}.mahjong-draw-summary article.is-tenpai{border-color:#bdac7680}.mahjong-draw-summary header{display:flex;align-items:start;gap:10px;justify-content:space-between;margin-bottom:8px}.mahjong-draw-summary header strong{min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mahjong-draw-summary header b{flex:0 0 auto;font-size:13px;color:#8c9ba3}.mahjong-draw-summary .is-tenpai header b{color:#e3cc86}.mahjong-draw-summary__hand,.mahjong-draw-summary__waits{display:flex;align-items:center;flex-wrap:wrap;gap:2px}.mahjong-draw-summary .mahjong-tile{width:22px;height:30px;flex:0 0 22px}.mahjong-draw-summary__waits{margin-top:8px;gap:5px}.mahjong-draw-summary__waits small{color:#a9b8c0;font-size:11px}.mahjong-draw-cause{grid-column:1 / -1;text-align:center;padding:16px;font-size:clamp(24px,4cqw,40px);color:#e7d6a6}.mahjong-page .mahjong-game .mahjong-draw-rack span{margin:0}.mahjong-draw-rack{display:flex;gap:2px;transform-style:preserve-3d}.mahjong-draw-rack__tile{--flight-depth: calc(var(--rack-height) * .16);position:relative;display:block;width:calc(var(--rack-height) * .71);height:var(--rack-height);transform-style:preserve-3d;transform-origin:center bottom;animation:mahjong-draw-flip .3s ease-out both;animation-delay:var(--draw-flip-age,0ms)}.mahjong-draw-rack__tile>.mahjong-discard-flight__face-up{transform:translateZ(var(--flight-depth))}.mahjong-draw-rack__tile .mahjong-tile{width:100%;height:100%;padding:0}@keyframes mahjong-draw-flip{0%{transform:rotateX(-90deg)}to{transform:rotateX(0)}}@media(max-height:500px){.mahjong-draw-summary{gap:6px}.mahjong-draw-summary article{padding:6px}}@media(prefers-reduced-motion:reduce){.mahjong-draw-rack__tile{animation:none}}@keyframes mahjong-result-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__heading,.mahjong-settlement-panel.is-detail .is-revealed{animation:none}}.mahjong-game.is-finished{min-height:calc(100 * var(--mahjong-dvh, 1dvh));background:radial-gradient(ellipse at 25% 45%,#23394b,#0b131e 75%)}.mahjong-game.is-finished>.mahjong-table,.mahjong-game.is-finished>.mahjong-action-dock{display:none}.mahjong-game.is-finished .mahjong-ranking{width:min(760px,92%);max-width:760px;box-sizing:border-box;margin:calc(3 * var(--mahjong-dvh, 1dvh)) auto;padding:clamp(16px,calc(3 * var(--mahjong-dvh, 1dvh)),32px);background:linear-gradient(130deg,#182b3ae8,#101b28f5);border-color:#9dbac04d;border-radius:4px;animation:mahjong-ranking-fade 1s linear both;animation-delay:var(--ranking-start-age,0ms)}.mahjong-ranking__list{margin:0;padding:0;list-style:none}.mahjong-ranking .mahjong-ranking__row{min-height:56px;box-sizing:border-box;grid-template-columns:50px minmax(0,1fr) max-content;gap:16px;padding:12px 16px;margin:5px 0;background:linear-gradient(90deg,#52728832,#21344720);border-top:0;opacity:0;visibility:hidden;transform:translate(200px)}.mahjong-ranking .mahjong-ranking__row.is-visible{visibility:visible;opacity:1;transform:translate(0);transition:transform .2s cubic-bezier(.9,0,1,1),opacity .2s cubic-bezier(.9,0,1,1)}.mahjong-ranking .mahjong-ranking__row[data-own-seat=true]{box-shadow:inset 3px 0 #c8b378;background:linear-gradient(90deg,#9b885329,#21344720)}.mahjong-ranking .mahjong-ranking__row>span{font-size:clamp(22px,calc(4 * var(--mahjong-dvh, 1dvh)),34px)}.mahjong-ranking .mahjong-ranking__row>strong{font-size:clamp(12px,calc(2.4 * var(--mahjong-dvh, 1dvh)),17px);overflow-wrap:anywhere}.mahjong-ranking__row small{display:inline-block;margin-left:8px;font-size:10px;color:#c8b378}.mahjong-ranking .mahjong-ranking__row>b{font-size:clamp(14px,calc(3 * var(--mahjong-dvh, 1dvh)),23px);font-variant-numeric:tabular-nums}.mahjong-ranking .mahjong-ranking__actions{min-height:44px;justify-content:flex-end}.mahjong-ranking__actions .mahjong-button{min-height:44px}@keyframes mahjong-ranking-fade{0%{opacity:0}to{opacity:1}}@media(max-height:450px)and (orientation:landscape),(max-width:450px)and (orientation:portrait)and (pointer:coarse){.mahjong-game.is-finished .mahjong-ranking{margin:5px auto;padding:10px 16px}.mahjong-ranking__heading{display:flex;align-items:baseline;gap:14px}.mahjong-ranking .mahjong-ranking__heading h1{margin:0 0 6px;font-size:22px}.mahjong-ranking .mahjong-ranking__row{min-height:44px;margin:3px 0;padding:5px 10px}.mahjong-ranking .mahjong-ranking__actions{margin-top:6px}}@media(prefers-reduced-motion:reduce){.mahjong-game.is-finished .mahjong-ranking{animation:none}.mahjong-ranking .mahjong-ranking__row,.mahjong-ranking .mahjong-ranking__row.is-visible{transform:none;transition:none}}.mahjong-game.is-finished .mahjong-game__topline{min-height:44px;height:auto}.mahjong-game.is-finished .mahjong-game__exit{width:44px;height:44px;min-width:44px;min-height:44px}.mahjong-game.is-finished .mahjong-screen-button{min-width:44px;min-height:44px}.mahjong-game .mahjong-audio-toggle{min-width:44px;min-height:44px;padding:8px}.mahjong-result-indicators{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mahjong-result-indicators .mahjong-ura-indicators{grid-column:auto;flex-direction:column;align-items:flex-start;gap:6px}.mahjong-result-indicators .mahjong-indicator-back{width:clamp(22px,calc(3.1 * var(--mahjong-vw, 1vw)),34px);height:43px;flex:0 0 auto}@media(max-width:640px){.mahjong-result-indicators{gap:8px}.mahjong-result-indicators .mahjong-indicator-back{width:clamp(19px,calc(5.5 * var(--mahjong-vw, 1vw)),24px);height:37px}}.mahjong-game:not(.is-finished)>.mahjong-settlement-panel{top:max(43%,calc(max(12px,var(--mahjong-safe-top, env(safe-area-inset-top))) + 44px + 8px + calc(36 * var(--mahjong-dvh, 1dvh))));max-height:min(calc(72 * var(--mahjong-dvh, 1dvh)),calc(calc(100 * var(--mahjong-dvh, 1dvh)) - 76px - var(--mahjong-safe-top, env(safe-area-inset-top)) - var(--mahjong-safe-bottom, env(safe-area-inset-bottom))))}.mahjong-wait-preview{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:8;max-width:90%;padding:6px 10px;border:1px solid #738185;border-radius:7px;background:#0c1a21f7;color:#e9d7a6;pointer-events:none;box-shadow:0 5px 18px #0006}.mahjong-wait-preview>span{display:block;font-size:11px;line-height:1.2;margin-bottom:4px}.mahjong-wait-preview>div{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.mahjong-wait-preview__item{display:flex;flex-direction:column;align-items:center}.mahjong-wait-preview .mahjong-tile{width:24px;height:33px}.mahjong-wait-preview small{font-size:11px;line-height:1.3;color:#d6dedc}.mahjong-wait-preview__item b{font-size:10px;line-height:1.4;color:#efa49a;font-weight:500}.mahjong-game .mahjong-river--rows{display:flex;flex-direction:column;align-items:flex-start;overflow:visible;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-river--rows .mahjong-river__row{display:flex;align-items:flex-end;gap:2px;overflow:visible;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-river--rows .mahjong-river__tile{position:relative;flex:none;overflow:visible;animation:none;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-river__volume,.mahjong-river__cap{overflow:visible;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-river__volume{--river-h: calc(var(--river-w) * 1.4);--river-depth: calc(var(--river-h) * .4);position:absolute;top:0;left:0;display:block;width:var(--river-w);height:var(--river-h);margin:0;overflow:visible;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-river__base,.mahjong-river__cap,.mahjong-river__contact,.mahjong-river__side{position:absolute;box-sizing:border-box;margin:0;pointer-events:none}.mahjong-river__base{inset:0;border:1px solid #b8ae94;border-radius:2px;background:linear-gradient(110deg,#e4dec9,#c9c0a9)}.mahjong-river__cap{inset:0;display:block;width:100%;height:100%;transform:translateZ(var(--river-depth))}.mahjong-page .mahjong-game .mahjong-river__tile .mahjong-river__cap>.mahjong-tile{position:absolute;inset:0;display:inline-flex;width:100%;height:100%;box-sizing:border-box;margin:0;padding:1px;border:1px solid #d4ccb7;border-radius:3px;background:linear-gradient(104deg,#fffdf2 0,#f8f3e6 66%,#ddd4bf);box-shadow:inset 1px 1px #fffdf5,inset -1px -1px 2px #74684748,0 1px 2px #07182b60;transform:none;backface-visibility:hidden;-webkit-backface-visibility:hidden}.mahjong-river__contact{inset:-1px;z-index:-1;border-radius:2px;background:#050d133d;box-shadow:0 1px 3px #050d1357;transform:translateZ(-.15px)}.mahjong-river__side{display:block;border:1px solid #aaa28e;backface-visibility:hidden;-webkit-backface-visibility:hidden}.mahjong-river__side--top{top:0;left:0;width:100%;height:var(--river-depth);transform-origin:center top;transform:rotateX(90deg);background:linear-gradient(90deg,#c5bead,#e7e0cd 48%,#bcb5a3)}.mahjong-river__side--bottom{bottom:0;left:0;width:100%;height:var(--river-depth);transform-origin:center bottom;transform:rotateX(-90deg);background:linear-gradient(90deg,#aaa391,#c6bfac 48%,#9c9584)}.mahjong-river__side--left{top:0;left:0;width:var(--river-depth);height:100%;transform-origin:left center;transform:rotateY(-90deg);background:linear-gradient(180deg,#d8d1bd,#b6af9c)}.mahjong-river__side--right{top:0;right:0;width:var(--river-depth);height:100%;transform-origin:right center;transform:rotateY(90deg);background:linear-gradient(180deg,#c5beab,#a9a28f)}.mahjong-river--rows .mahjong-river__tile.is-riichi{position:relative;width:calc(var(--river-w) * 1.4)}.mahjong-river--rows .mahjong-river__tile.is-riichi>.mahjong-river__volume{top:calc(100% - var(--river-w) / 2);left:50%;transform:translate(-50%,-50%) rotate(90deg) scale(.76)}.mahjong-river--rows .mahjong-river__tile.is-riichi .mahjong-tile{transform:none}.mahjong-river--rows .mahjong-river__tile.is-tsumogiri{filter:none}.mahjong-river__volume.is-tsumogiri .mahjong-river__base,.mahjong-river__volume.is-tsumogiri .mahjong-river__cap>.mahjong-tile,.mahjong-river__volume.is-tsumogiri .mahjong-river__side{filter:brightness(.89)}.mahjong-meld--public{--meld-tile-w: 14px;--meld-tile-h: 20px;display:flex;align-items:end;gap:2px;min-width:0}.mahjong-meld--public .mahjong-meld__tiles{display:flex;align-items:end;gap:1px;min-height:var(--meld-tile-h)}.mahjong-meld--public .mahjong-meld__slot{position:relative;display:block;flex:none;width:var(--meld-tile-w);height:var(--meld-tile-h)}.mahjong-meld--public .mahjong-meld__slot.is-sideways{width:var(--meld-tile-h);height:var(--meld-tile-w)}.mahjong-meld--public .mahjong-meld__volume{position:absolute;top:50%;left:50%;display:block;width:var(--meld-tile-w);height:var(--meld-tile-h);transform:translate(-50%,-50%)}.mahjong-meld--public .mahjong-meld__slot.is-sideways>.mahjong-meld__volume{transform:translate(-50%,-50%) rotate(270deg)}.mahjong-meld--public .mahjong-meld__cap{position:absolute;inset:0;display:block;width:100%;height:100%}.mahjong-meld--public .mahjong-meld__face.mahjong-tile{position:absolute;inset:0;display:inline-flex;flex:none;width:100%;height:100%;box-sizing:border-box;padding:1px;border-radius:2px}.mahjong-meld--public .mahjong-meld__back{position:relative;display:block;flex:none;width:var(--meld-tile-w);height:var(--meld-tile-h);box-sizing:border-box;border:0;border-radius:2px;background:none;box-shadow:none}.mahjong-meld--public .mahjong-meld__back-cap{display:block;width:100%;height:100%;box-sizing:border-box;border:1px solid #a85831;border-radius:2px;background:#cf7339}.mahjong-meld--public .mahjong-meld__side,.mahjong-meld--public .mahjong-meld__contact{display:none}.mahjong-meld--public .mahjong-meld__stack{position:relative;display:block;flex:none;width:var(--meld-tile-h);height:calc(2 * var(--meld-tile-w) - 2px)}.mahjong-meld--public .mahjong-meld__stack>.mahjong-meld__slot{position:absolute;left:0;width:var(--meld-tile-h);height:var(--meld-tile-w)}.mahjong-meld--public .mahjong-meld__stack>[data-layer=called]{bottom:0;z-index:1}.mahjong-meld--public .mahjong-meld__stack>[data-layer=added]{bottom:calc(var(--meld-tile-w) - 2px);z-index:2}.mahjong-meld.mahjong-meld--public>small{display:none}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld--public{--meld-depth: calc(var(--meld-tile-h) * .4);overflow:visible;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-player__melds,.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-hand-public-melds,.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__tiles,.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__stack,.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__slot,.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__back,.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__volume,.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__cap{overflow:visible;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__volume{margin:0}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld--public .mahjong-meld__back{position:relative;width:var(--meld-tile-w);height:var(--meld-tile-h);border:0;background:none;box-shadow:none}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__cap{transform:translateZ(var(--meld-depth))}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__face.mahjong-tile{box-shadow:inset 1px 1px #fff,inset -2px -1px 2px #b6b7a647,0 1px 2px #07101c60}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__cap--back{border:0}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__back-cap{border-color:#a85831;background:#cf7339;box-shadow:inset 0 1px #f6ba6d80,0 1px 2px #07101c60}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__side{position:absolute;display:block;box-sizing:border-box;border:1px solid #c4bdab;backface-visibility:hidden;-webkit-backface-visibility:hidden;pointer-events:none}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__side--top{top:0;left:0;width:100%;height:var(--meld-depth);transform-origin:center top;transform:rotateX(90deg);background:linear-gradient(90deg,#c5bead,#e7e0cd 48%,#bcb5a3)}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__side--bottom{bottom:0;left:0;width:100%;height:var(--meld-depth);transform-origin:center bottom;transform:rotateX(-90deg);background:linear-gradient(90deg,#aaa391,#c6bfac 48%,#9c9584)}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__side--left{top:0;left:0;width:var(--meld-depth);height:100%;transform-origin:left center;transform:rotateY(-90deg);background:linear-gradient(180deg,#d8d1bd,#b6af9c)}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__side--right{top:0;right:0;width:var(--meld-depth);height:100%;transform-origin:right center;transform:rotateY(90deg);background:linear-gradient(180deg,#c5beab,#a9a28f)}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__contact{position:absolute;inset:-1px;display:block;z-index:-1;background:#050d1338;box-shadow:0 1px 3px #050d1352;transform:translateZ(-.15px);pointer-events:none}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__side--top,.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__side--bottom{border-color:#a9a28f}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__side--left,.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__side--right{border-color:#aaa391}.mahjong-game .mahjong-player__melds .mahjong-meld--public{--meld-tile-w: min(1.5cqw, 3.3cqh, 22px);--meld-tile-h: min(2.1cqw, 4.6cqh, 31px)}.mahjong-game .mahjong-hand-public-melds .mahjong-meld--public{--meld-tile-w: min(3cqw, 7cqh, 35px);--meld-tile-h: min(4.2cqw, 9.8cqh, 49px);gap:2px}.mahjong-public-melds .mahjong-meld.mahjong-meld--public{--meld-tile-w: 39px;--meld-tile-h: 56px;display:grid;justify-items:start;align-items:end;gap:7px}.mahjong-public-melds .mahjong-meld--public>.mahjong-meld__tiles{display:flex}.mahjong-public-melds .mahjong-meld.mahjong-meld--public>small{display:block;font-size:12px}.mahjong-game button.mahjong-tile.is-playable{touch-action:none;-webkit-user-drag:none;user-select:none}.mahjong-game button.mahjong-tile.is-playable.is-selected{z-index:7;transform:translateY(-31%);outline:2px solid #f0c46d;outline-offset:2px;box-shadow:0 5px #c7bf9d,0 8px 18px #0009}.mahjong-game button.mahjong-tile.is-playable.is-dragging{z-index:30;pointer-events:none;cursor:grabbing;transform:translate3d(var(--mahjong-drag-x, 0),var(--mahjong-drag-y, 0),0) translateY(-12px) rotate(-3deg);transition:none;outline:2px solid #f0c46d;box-shadow:0 8px 20px #000b}.mahjong-game .mahjong-table.is-discard-target .mahjong-table__center{outline:2px solid #88dfde;outline-offset:5px;filter:brightness(1.22)}@media(prefers-reduced-motion:reduce){.mahjong-game button.mahjong-tile.is-playable.is-selected,.mahjong-game button.mahjong-tile.is-playable.is-dragging,.mahjong-game .mahjong-table.is-discard-target .mahjong-table__center{transition:none}}.mahjong-automatic{position:relative;z-index:24;font-size:12px;color:#f2e6ca}.mahjong-automatic summary{cursor:pointer;min-height:44px;padding:12px 14px;border:1px solid #a28a554d;border-radius:6px;background:#101c29ee;list-style:none}.mahjong-automatic[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.mahjong-automatic [role=group]{position:absolute;right:0;top:100%;display:grid;min-width:142px;background:#101c29f5;border:1px solid #a28a554d;border-top:0;border-radius:0 0 6px 6px;padding:4px}.mahjong-automatic button{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;border:0;border-radius:4px;background:transparent;color:inherit;padding:8px 12px;cursor:pointer;font:inherit}.mahjong-automatic button span{color:#8998a5}.mahjong-automatic button[aria-pressed=true]{background:#ac8b3633;color:#ffe7a2}.mahjong-automatic button[aria-pressed=true] span{color:#ffe7a2}@media(max-height:500px),(max-width:500px)and (orientation:portrait)and (pointer:coarse){.mahjong-automatic summary{padding:10px 8px;font-size:11px}}.mahjong-game>.mahjong-call-dialog{position:absolute;z-index:10;left:50%;right:auto;transform:translate(-50%);bottom:calc(calc(18 * var(--mahjong-dvh, 1dvh)) + 10px);width:max-content;max-width:calc(100% - 24px);max-height:min(calc(50 * var(--mahjong-dvh, 1dvh)),280px);overflow:auto;margin:0;padding:8px 12px 12px;border:1px solid #b9a175;border-radius:5px;color:#f5e9cf;background:linear-gradient(135deg,#20333cf2,#111e2af5);box-shadow:0 4px 16px #07111988}.mahjong-call-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.mahjong-call-dialog__header h2{margin:0;font:20px Yougui Mahjong Brush,serif}.mahjong-call-dialog__back{min-width:44px;min-height:44px;border:0;padding:5px 8px;background:transparent;color:#e7d2a7;cursor:pointer}.mahjong-call-dialog>.mahjong-call-options{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:2px;max-height:none;overflow:visible}.mahjong-game>.mahjong-call-dialog .mahjong-call-options>button{min-height:58px;gap:8px;padding:5px 8px}.mahjong-game:not(.is-finished):has(>.mahjong-call-dialog)>.mahjong-action-dock{visibility:hidden;pointer-events:none}.mahjong-call-dialog button:focus-visible{outline:2px solid #ffe0a0;outline-offset:2px}.mahjong-game .mahjong-table__surface{touch-action:manipulation}.mahjong-discard-flight{position:fixed;z-index:1000;display:block;margin:0;padding:0;border:0;border-radius:3px;transform-origin:center;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;pointer-events:none;will-change:left,top,width,height,transform}.mahjong-discard-flight,.mahjong-discard-flight *{box-sizing:border-box}.mahjong-discard-flight__stage{position:relative;display:block;width:100%;height:100%;perspective:900px;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-discard-flight__card{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-discard-flight__solid{position:absolute;inset:0;display:block;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-discard-flight__face-up{position:absolute;inset:0;display:block;overflow:visible;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-discard-flight__face-up-base,.mahjong-discard-flight__face-up-cap,.mahjong-discard-flight__face-up-contact,.mahjong-discard-flight__face-up-side{position:absolute;box-sizing:border-box;margin:0;pointer-events:none}.mahjong-discard-flight__face-up-base{inset:0;border:1px solid #b8ae94;border-radius:2px;background:linear-gradient(110deg,#e4dec9,#c9c0a9);transform:translateZ(calc(-1 * var(--flight-depth)))}.mahjong-discard-flight__face-up-cap{inset:0;display:block;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-discard-flight__face-up-contact{inset:-1px;z-index:-1;border-radius:2px;background:#050d133d;box-shadow:0 1px 3px #050d1357;transform:translateZ(calc(-1 * var(--flight-depth) - .15px))}.mahjong-discard-flight__face-up-side{display:block;border:1px solid #aaa28e;backface-visibility:hidden;-webkit-backface-visibility:hidden}.mahjong-discard-flight__face-up-side--top{top:0;left:0;width:100%;height:var(--flight-depth);transform-origin:center top;transform:rotateX(-90deg);background:linear-gradient(90deg,#c5bead,#e7e0cd 48%,#bcb5a3)}.mahjong-discard-flight__face-up-side--bottom{bottom:0;left:0;width:100%;height:var(--flight-depth);transform-origin:center bottom;transform:rotateX(90deg);background:linear-gradient(90deg,#aaa391,#c6bfac 48%,#9c9584)}.mahjong-discard-flight__face-up-side--left{top:0;left:0;width:var(--flight-depth);height:100%;transform-origin:left center;transform:rotateY(90deg);background:linear-gradient(180deg,#d8d1bd,#b6af9c)}.mahjong-discard-flight__face-up-side--right{top:0;right:0;width:var(--flight-depth);height:100%;transform-origin:right center;transform:rotateY(-90deg);background:linear-gradient(180deg,#c5beab,#a9a28f)}.mahjong-discard-flight__face,.mahjong-discard-flight__back{position:absolute;inset:0;display:block;width:100%;height:100%;border:1px solid #ded8c6;border-radius:3px;backface-visibility:hidden}.mahjong-discard-flight__face{padding:1px;box-shadow:inset 1px 1px #fffdf5,inset -1px -1px 2px #74684748,0 1px #f2dfb7,0 3px #c98c50,0 5px #8c5935,0 8px 7px #07182b85}.mahjong-discard-flight__face .mahjong-tile__art{width:100%;height:100%;object-fit:contain}.mahjong-discard-flight__back{border-radius:1px;box-shadow:none}.mahjong-discard-flight__front{position:absolute;display:block;box-sizing:border-box;margin:0;backface-visibility:hidden}.mahjong-discard-flight__side{position:absolute;display:block;box-sizing:border-box;margin:0}.mahjong-discard-flight__front{inset:0;transform-origin:center;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transform:translateZ(calc(-1 * var(--flight-depth))) rotateY(180deg)}.mahjong-discard-flight__front>.mahjong-discard-flight__face{inset:0;transform:none}.mahjong-discard-flight__side{border:1px solid #d0c6ad;border-radius:1px;transform-style:preserve-3d}.mahjong-discard-flight__side--top{top:0;left:0;width:100%;height:var(--flight-depth);transform-origin:center top;transform:rotateX(-90deg);background:#f6f2e5}.mahjong-discard-flight__side--bottom{right:0;bottom:0;left:0;height:var(--flight-depth);transform-origin:center bottom;transform:rotateX(90deg);background:#e9e4d3}.mahjong-discard-flight__side--left{top:0;bottom:0;left:0;width:var(--flight-depth);transform-origin:left center;transform:rotateY(90deg);background:#eee9d9}.mahjong-discard-flight__side--right{top:0;right:0;bottom:0;width:var(--flight-depth);transform-origin:right center;transform:rotateY(-90deg);background:#e9e4d3}.mahjong-discard-flight__face.is-riichi{outline:1px solid #debe75}.mahjong-discard-flight__face.is-tsumogiri{filter:brightness(.89)}.mahjong-discard-flight[data-motion-source=own] .mahjong-discard-flight__face,.mahjong-discard-flight[data-motion-source=public] .mahjong-discard-flight__face{transform:none}.mahjong-river__tile.is-discard-motion-hidden{pointer-events:none!important;animation:none!important}.mahjong-river__tile.is-discard-motion-hidden .mahjong-river__cap>.mahjong-tile,.mahjong-river__tile.is-discard-motion-hidden .mahjong-river__base,.mahjong-river__tile.is-discard-motion-hidden .mahjong-river__contact,.mahjong-river__tile.is-discard-motion-hidden .mahjong-river__side{opacity:0!important}.mahjong-drawn-wrap.is-nuki-held>.mahjong-tile{opacity:0}.mahjong-meld[data-public-call-active]{border-radius:5px}.mahjong-page .mahjong-game .mahjong-table__center{border:1px solid #9bbec6;border-radius:7px;color:#e5f0ef;background:linear-gradient(142deg,rgb(111 153 164 / 26%),transparent 43%),linear-gradient(155deg,#294a59,#203d4b 58%,#173341);box-shadow:0 1px #b1ccd0,0 0 0 3px #193541,0 0 0 4px #64858b,0 0 0 7px #162f3b,0 10px 20px #06111dd4,inset 0 1px #ecffff36,inset 0 -5px 12px #0b202b8c}.mahjong-page .mahjong-game .mahjong-table__center:before{inset:5px;border:1px solid #b9d6d75c;border-radius:3px}.mahjong-page .mahjong-game .mahjong-center-brand{display:none}.mahjong-page .mahjong-game .mahjong-table__center>strong{z-index:1;color:#b4eff0;font:700 min(2cqw,3cqh,18px)/1.1 var(--font-body),sans-serif;text-shadow:0 1px 7px #54d7e044;white-space:nowrap}.mahjong-page .mahjong-game .mahjong-table__wall{z-index:1;color:#d8eeee;font-size:clamp(9px,min(1.3cqw,2cqh),13px);font-variant-numeric:tabular-nums;white-space:nowrap}.mahjong-page .mahjong-game .mahjong-table__wall b{color:#fff;font-size:inherit;font-weight:700}.mahjong-page .mahjong-game .mahjong-center-seat{position:absolute;z-index:2;width:auto;height:auto;min-width:0;display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid #9bbec68c;border-radius:4px;padding:2px 3px;color:#e3eff0;background:#173441ed;box-shadow:0 2px 4px #0a1b2490;font-size:min(1.1cqw,1.9cqh,11px);line-height:1;white-space:nowrap}.mahjong-page .mahjong-game .mahjong-center-seat__wind{width:clamp(14px,min(2cqw,3.2cqh),22px);height:clamp(14px,min(2cqw,3.2cqh),22px);display:grid;flex:0 0 auto;place-items:center;border:1px solid #8eafb5;border-radius:3px;color:#e2f1ef;background:linear-gradient(145deg,#466575,#294653);font:600 min(1.4cqw,2.3cqh,14px)/1 var(--font-body),sans-serif}.mahjong-page .mahjong-game .mahjong-center-seat>b{color:#f0f4ec;font-size:clamp(9px,min(1.35cqw,2.4cqh),12px);font-variant-numeric:tabular-nums;font-weight:650}.mahjong-page .mahjong-game .mahjong-center-seat--0{bottom:5px;left:50%;transform:translate(-50%)}.mahjong-page .mahjong-game .mahjong-center-seat--1{top:50%;right:-7px;transform:translateY(-50%) rotate(-90deg)}.mahjong-page .mahjong-game:not(.is-sanma) .mahjong-center-seat--2{top:5px;left:50%;transform:translate(-50%) rotate(180deg)}.mahjong-page .mahjong-game .mahjong-center-seat--3,.mahjong-page .mahjong-game.is-sanma .mahjong-center-seat--2{top:50%;left:-7px;transform:translateY(-50%) rotate(90deg)}.mahjong-page .mahjong-game .mahjong-center-seat.is-active{border-color:#b3f4ed;color:azure;background:#24616a;box-shadow:0 0 8px #84e8dd54,0 2px 4px #0a1b2490}.mahjong-page .mahjong-game .mahjong-center-seat.is-active .mahjong-center-seat__wind{border-color:#c8ffff;color:azure;background:#317984}.mahjong-page .mahjong-game .mahjong-table__counters{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;border-top:1px solid #96b3b44f;padding-top:4px;color:#e2e9df;font-size:clamp(9px,min(1.05cqw,1.8cqh),11px);font-variant-numeric:tabular-nums}.mahjong-page .mahjong-game .mahjong-table__counter{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.mahjong-page .mahjong-game .mahjong-table__counter small{color:#c8dddb;font-size:inherit}.mahjong-page .mahjong-game .mahjong-table__counter b{color:#f8f5e9;font-size:inherit;font-weight:700}.mahjong-page .mahjong-game .mahjong-table__stick{position:relative;width:13px;height:4px;flex:0 0 auto;border:1px solid #e8e1ce;border-radius:2px;background:linear-gradient(90deg,#bb4c51 0 23%,#f1eee0 23% 77%,#bb4c51 77%);box-shadow:0 1px 1px #06111d99}.mahjong-page .mahjong-game .mahjong-player__head,.mahjong-page .mahjong-game button.mahjong-player__head{width:clamp(56px,7.8cqw,84px);min-height:56px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;justify-items:center;align-content:center;gap:2px;padding:4px 3px;border:1px solid #8299a375;border-left:2px solid #9fbcc7;border-radius:7px;background:linear-gradient(145deg,#22333eef,#14232eef 78%);box-shadow:0 2px #0d1a28,0 5px 12px #08152455}.mahjong-page .mahjong-game .mahjong-player__wind{width:clamp(32px,4.4cqw,48px);height:clamp(32px,4.4cqw,48px);flex:0 0 auto;border:1px solid #d7c8a4;border-radius:50%;box-shadow:0 1px 4px #08131a80}.mahjong-page .mahjong-game .mahjong-player__wind[data-avatar]:after{width:15px;height:15px;border-radius:50%;font-size:11px}.mahjong-page .mahjong-game .mahjong-player__head>div{min-width:0;width:100%;display:grid;justify-items:center;gap:0}.mahjong-page .mahjong-game .mahjong-player__head strong{display:block;width:100%;max-width:100%;overflow:hidden;color:#f5f1e7;font-size:clamp(10px,1.2cqw,13px);font-weight:600;line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}.mahjong-page .mahjong-game .mahjong-player__head small,.mahjong-page .mahjong-game .mahjong-player__head>b{display:none}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-player__head{left:0;top:40%}.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-player__head{right:0;top:40%}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-opponent-rack{left:12%;top:50%;transform:translate(-50%,-50%) rotate(90deg)}.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-opponent-rack{right:12%;top:50%;transform:translate(50%,-50%) rotate(-90deg)}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-nuki-tray{left:calc(12% + clamp(22px,3.6cqw,46px));top:50%;transform:translateY(-50%)}.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-nuki-tray{right:calc(12% + clamp(22px,3.6cqw,46px));top:50%;transform:translateY(-50%)}.mahjong-page .mahjong-game .mahjong-table__own .mahjong-player__head{left:0}.mahjong-page .mahjong-game .mahjong-hand-line{justify-content:space-between;padding-inline:12% 6%}.mahjong-page .mahjong-game .mahjong-hand,.mahjong-page .mahjong-game .mahjong-hand-public-melds{flex:0 0 auto;justify-content:flex-start}.mahjong-page .mahjong-game .mahjong-table__position--north .mahjong-player__head{right:0}.mahjong-page .mahjong-game:not(.is-finished) .mahjong-action-dock{bottom:calc(calc(14 * var(--mahjong-dvh, 1dvh)) + 10px)}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-player__hidden>i,.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-player__hidden>i{width:min(1.4cqw,2.9cqh,22px);height:min(2.5cqw,4.4cqh,28px)}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-player__melds,.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-player__melds{gap:3px}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-meld--public,.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-meld--public{--meld-tile-w: min(1.2cqw, 2.64cqh, 17.6px);--meld-tile-h: min(1.68cqw, 3.68cqh, 24.8px)}.mahjong-page .mahjong-game .mahjong-nuki-tray>small{font-size:clamp(9px,min(1.1cqw,1.8cqh),10px);position:relative;z-index:1;transform:translateZ(var(--nuki-depth))}@media(max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait)and (pointer:coarse){.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-opponent-rack{top:calc(50% + min(1.4cqw,2.9cqh,22px))}}.mahjong-page .mahjong-game .mahjong-nuki-tray__footprint{position:relative;--nuki-tile-h: min(3.7cqw, 6cqh, 44px)}.mahjong-page .mahjong-game .mahjong-nuki-tray{--nuki-tile-h: min(3.7cqw, 6cqh, 44px);--nuki-depth: calc(var(--nuki-tile-h) * .4)}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-nuki-tray__footprint,.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-nuki-tray__footprint{width:var(--nuki-tile-h);height:calc(var(--nuki-count) * var(--nuki-tile-w) + (var(--nuki-count) - 1) * 2px)}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-nuki-tray__tiles,.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-nuki-tray__tiles{position:absolute;left:50%;top:50%;width:max-content;transform:translate(-50%,-50%) rotate(var(--nuki-seat-angle))}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-nuki-tray__tiles{--nuki-seat-angle: 90deg}.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-nuki-tray__tiles{--nuki-seat-angle: -90deg}.mahjong-page .mahjong-game .mahjong-table__position--north .mahjong-nuki-tray__tiles{transform:rotate(180deg)}.mahjong-game .mahjong-nuki-tray,.mahjong-game .mahjong-nuki-tray__footprint,.mahjong-game .mahjong-nuki-tray__tiles,.mahjong-game .mahjong-nuki-tray__tiles>[data-nuki-index],.mahjong-game .mahjong-nuki-tray__tiles [data-nuki-volume],.mahjong-game .mahjong-nuki-tray__tiles [data-flight-volume],.mahjong-game .mahjong-nuki-tray__tiles .mahjong-discard-flight__face-up-cap{overflow:visible;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.mahjong-game .mahjong-nuki-tray__tiles>[data-nuki-index]{display:block;flex:0 0 auto}.mahjong-game .mahjong-nuki-tray__tiles [data-nuki-volume]{--nuki-depth: calc(var(--nuki-tile-h) * .4);--flight-depth: var(--nuki-depth);position:relative;display:block;flex:0 0 auto;width:var(--nuki-tile-w);height:var(--nuki-tile-h);transform:translateZ(var(--nuki-depth))}.mahjong-page .mahjong-game .mahjong-nuki-tray__tiles .mahjong-discard-flight__face{padding:1px;border:1px solid #d4ccb7;border-radius:3px;background:linear-gradient(104deg,#fffdf2 0,#f8f3e6 66%,#ddd4bf);box-shadow:inset 1px 1px #fffdf5,inset -1px -1px 2px #74684748,0 1px 2px #07182b60}.mahjong-page .mahjong-game:not(.is-finished) .mahjong-table{background:radial-gradient(ellipse at 50% 44%,#1b2730,#10171e 78%)}.mahjong-page .mahjong-game .mahjong-table__surface{position:absolute;inset:0;z-index:1;transform-origin:50% 44%;transform:perspective(150cqh) rotateX(28deg) scale(.84);background:radial-gradient(ellipse at 50% 44%,rgb(126 170 195 / 6%),transparent 42%),radial-gradient(ellipse at 50% 43%,#293e50 0,#233648 48%,#1c2d3c 78%,#172632);border:clamp(8px,1.15cqw,16px) solid #273039;box-shadow:inset 0 0 0 1px #a8bac14d,inset 0 0 38px #07162480,0 8px 30px #080d169c}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-table__grain,.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-table__seams{z-index:0}.mahjong-page .mahjong-game:not(.is-finished) .mahjong-table:after{display:none}.mahjong-page .mahjong-game .mahjong-table__own-public{display:contents}.mahjong-page .mahjong-game .mahjong-table__own-public .mahjong-hand-public-melds{position:absolute;z-index:4;right:9%;bottom:7%;margin:0;padding:0}.mahjong-page .mahjong-game .mahjong-table__own-public .mahjong-nuki-tray{left:27%;bottom:23%}.mahjong-page .mahjong-game .mahjong-hand-block{pointer-events:none}.mahjong-page .mahjong-game .mahjong-hand{pointer-events:auto}.mahjong-page:has(.mahjong-game:not(.is-finished)) .mahjong-notice{top:max(4px,env(safe-area-inset-top));max-width:56vw;max-height:36px;overflow:auto;padding:2px 10px;font-size:12px}.mahjong-page .mahjong-game .mahjong-table__surface{--seat-lane-side: 12%;--seat-lane-north: 9%;--seat-lane-south: 86%;--seat-floor-inset: 6px}.mahjong-page .mahjong-game .mahjong-table__lane{inset:var(--seat-lane-north) var(--seat-lane-side) auto;width:auto;height:calc(var(--seat-lane-south) - var(--seat-lane-north));border:1px solid #10222c99;box-shadow:0 1px #91abb918,1px 0 #91abb918}.mahjong-page .mahjong-game .mahjong-opponent-rack{--rack-height: min(3.64cqw, 7.5cqh, 52px);--rack-depth: calc(var(--rack-height) * .4);transform-origin:0 100%}.mahjong-page .mahjong-game .mahjong-table__position--north .mahjong-opponent-rack{left:50%;top:calc(var(--seat-lane-north) - var(--seat-floor-inset) - var(--rack-depth));transform:translateY(-100%) rotate(180deg) translate(-50%)}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-opponent-rack,.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-opponent-rack{--rack-height: min(2.59cqw, 5.3cqh, 38px)}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-opponent-rack{left:calc(var(--seat-lane-side) - var(--seat-floor-inset) - var(--rack-depth));transform:translateY(-100%) rotate(90deg) translate(-50%)}.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-opponent-rack{left:calc(100% - var(--seat-lane-side) + var(--seat-floor-inset) + var(--rack-depth));right:auto;transform:translateY(-100%) rotate(-90deg) translate(-50%)}.mahjong-game .mahjong-table-feedback.mahjong-call-announcement{--call-accent: #86e6f2;position:absolute;z-index:11;top:2%;left:50%;display:block;width:min(46cqw,540px);height:min(32cqh,250px);min-height:0;max-width:none;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--call-accent);transform:translate(-50%);text-align:left;pointer-events:none;animation:mahjong-call-sweep .9s cubic-bezier(.18,.76,.24,1) both}.mahjong-game .mahjong-call-announcement:before{content:"";position:absolute;inset:13% 0 0;background:linear-gradient(135deg,transparent 9%,#081924e8 10% 66%,#13394be8 67%,transparent 94%);clip-path:polygon(19% 0,100% 0,80% 77%,0 100%);border-bottom:3px solid var(--call-accent);filter:drop-shadow(0 7px 8px #020b13a0)}.mahjong-game .mahjong-call-announcement:after{content:"";position:absolute;left:8%;right:10%;bottom:19%;height:2px;background:linear-gradient(90deg,transparent,var(--call-accent),transparent);transform:rotate(-14deg);opacity:.7}.mahjong-game .mahjong-call-announcement__portrait{position:absolute;top:0;bottom:8%;left:40%;width:min(29.44cqh,230px);background-image:url(./assets/mahjong-seat-portraits-v1.webp);background-size:200% 200%;background-position:0 0;clip-path:polygon(18% 0,100% 0,82% 100%,0 100%);mask-image:linear-gradient(90deg,transparent,#000 23% 82%,transparent);filter:saturate(.8) contrast(1.08)}.mahjong-game .mahjong-call-announcement__portrait[data-avatar="1"]{background-position:100% 0}.mahjong-game .mahjong-call-announcement__portrait[data-avatar="2"]{background-position:0 100%}.mahjong-game .mahjong-call-announcement__portrait[data-avatar="3"]{background-position:100% 100%}.mahjong-game .mahjong-call-announcement__label{position:absolute;z-index:2;left:9%;bottom:21%;font-family:var(--font-display),serif;font-size:clamp(36px,min(7cqw,13cqh),90px);font-weight:900;font-style:italic;line-height:1;letter-spacing:.04em;white-space:nowrap;-webkit-text-stroke:5px #102b39;paint-order:stroke fill;text-shadow:2px 3px 0 #04131c,0 0 15px #4da9ca70}.mahjong-game .mahjong-call-announcement__actor{position:absolute;z-index:2;left:11%;bottom:5%;display:block;max-width:70%;overflow:hidden;color:#e6eef2;font-size:clamp(10px,min(1.7cqw,3.2cqh),16px);font-weight:500;line-height:1.2;letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap}.mahjong-game .mahjong-call-announcement.is-riichi{--call-accent: #ffc0b3}.mahjong-game .mahjong-call-announcement.is-nuki{--call-accent: #b8e8dc}.mahjong-game .mahjong-call-announcement.is-win{--call-accent: #ffe2a0}.mahjong-game .mahjong-call-announcement__accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes mahjong-call-sweep{0%{opacity:0;transform:translate(-42%,-7%) scale(.91)}14%,77%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-57%,3%) scale(.99)}}@media(prefers-reduced-motion:reduce){.mahjong-game .mahjong-table-feedback.mahjong-call-announcement{animation:none;opacity:1;transform:translate(-50%)}}.mahjong-game .mahjong-player__hidden>i.mahjong-standing-tile{--standing-w: min(2.6cqw, 5.4cqh, 37px);--standing-h: min(3.64cqw, 7.5cqh, 52px);--standing-d: calc(var(--standing-h) * .4);position:relative;display:block;flex:0 0 var(--standing-w);box-sizing:border-box;width:var(--standing-w);height:var(--standing-h);padding:0;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none;transform-style:preserve-3d}.mahjong-game .mahjong-table__position--west .mahjong-player__hidden>i.mahjong-standing-tile,.mahjong-game .mahjong-table__position--east .mahjong-player__hidden>i.mahjong-standing-tile{--standing-w: min(1.85cqw, 3.8cqh, 27px);--standing-h: min(2.59cqw, 5.3cqh, 38px)}.mahjong-game .mahjong-table__surface>.mahjong-table__position{display:contents}.mahjong-game .mahjong-table__surface .mahjong-player{position:absolute;inset:0;width:auto;height:auto;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;pointer-events:none}.mahjong-game .mahjong-table__surface .mahjong-opponent-rack,.mahjong-game .mahjong-table__surface .mahjong-player__melds,.mahjong-game .mahjong-table__surface .mahjong-nuki-tray,.mahjong-game .mahjong-table__surface .mahjong-hand-public-melds{pointer-events:auto}.mahjong-game .mahjong-player,.mahjong-game .mahjong-table__surface,.mahjong-game .mahjong-opponent-rack,.mahjong-game .mahjong-player__hidden,.mahjong-game .mahjong-player__hidden>i.mahjong-standing-tile,.mahjong-game .mahjong-standing-tile__body{transform-style:preserve-3d}.mahjong-game .mahjong-player__hidden>i.mahjong-standing-tile>.mahjong-standing-tile__body{position:absolute;bottom:0;left:0;display:block;width:var(--standing-w);height:var(--standing-d);box-sizing:border-box;margin:0;padding:0;border:0;transform-style:preserve-3d}.mahjong-standing-tile__face{position:absolute;top:0;left:0;display:block;box-sizing:border-box;margin:0;border:1px solid #d0c6ad;border-radius:1px;backface-visibility:hidden;pointer-events:none;transform-origin:0 0}.mahjong-game .mahjong-player__hidden>i.mahjong-standing-tile .mahjong-standing-tile__face{margin:0;padding:0}.mahjong-standing-tile__face--back{width:var(--standing-w);height:var(--standing-h);transform:rotateX(90deg)}.mahjong-standing-tile__face--back,.mahjong-discard-flight__back,.mahjong-page .mahjong-indicator-back,.mahjong-page .mahjong-meld--public .mahjong-meld__back,.mahjong-public-melds .mahjong-meld--public .mahjong-meld__back{border-color:#a85831;background:#cf7339}.mahjong-standing-tile__face--front{width:var(--standing-w);height:var(--standing-h);background:#f3efdf;transform:translateY(var(--standing-d)) translateZ(var(--standing-h)) rotateX(-90deg)}.mahjong-standing-tile__face--top{width:var(--standing-w);height:var(--standing-d);background:#f6f2e5;transform:translateZ(var(--standing-h))}.mahjong-standing-tile__face--left{width:var(--standing-d);height:var(--standing-h);background:#eee9d9;transform:translateZ(var(--standing-h)) rotate(90deg) rotateX(-90deg)}.mahjong-standing-tile__face--right{width:var(--standing-d);height:var(--standing-h);background:#e9e4d3;transform:translate(var(--standing-w)) translateY(var(--standing-d)) translateZ(var(--standing-h)) rotate(-90deg) rotateX(-90deg)}.mahjong-standing-tile__face--bottom{width:var(--standing-w);height:var(--standing-d);background:#e9e4d3;transform:translateY(var(--standing-d)) rotateX(180deg)}.mahjong-game .mahjong-table__surface .mahjong-table__center,.mahjong-game .mahjong-table__surface .mahjong-river,.mahjong-game .mahjong-table__surface .mahjong-player__melds,.mahjong-game .mahjong-table__surface .mahjong-nuki-tray,.mahjong-game .mahjong-table__surface .mahjong-hand-public-melds{translate:0 0 1px}.mahjong-page .mahjong-game:not(.is-finished) .mahjong-action-dock{right:max(14%,var(--mahjong-safe-right, env(safe-area-inset-right)));bottom:max(calc(calc(14 * var(--mahjong-dvh, 1dvh)) + 10px),calc(max(calc(2 * var(--mahjong-dvh, 1dvh)),var(--mahjong-safe-bottom, env(safe-area-inset-bottom))) + 14px + min(calc(4.8 * var(--mahjong-dvw, 1dvw)),calc(13 * var(--mahjong-dvh, 1dvh)),64px)*1.9126))}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-hand-public-melds) .mahjong-action-dock{bottom:max(calc(calc(30 * var(--mahjong-dvh, 1dvh)) + 10px),calc(max(calc(2 * var(--mahjong-dvh, 1dvh)),var(--mahjong-safe-bottom, env(safe-area-inset-bottom))) + 14px + min(calc(4.8 * var(--mahjong-dvw, 1dvw)),calc(13 * var(--mahjong-dvh, 1dvh)),64px)*1.9126))}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-hand-public-melds):has(.mahjong-action-dock [data-choice-type=pass]) .mahjong-action-dock{right:max(22%,var(--mahjong-safe-right, env(safe-area-inset-right)));bottom:max(calc(calc(23 * var(--mahjong-dvh, 1dvh)) + 10px),calc(max(calc(2 * var(--mahjong-dvh, 1dvh)),var(--mahjong-safe-bottom, env(safe-area-inset-bottom))) + 14px + min(calc(4.8 * var(--mahjong-dvw, 1dvw)),calc(13 * var(--mahjong-dvh, 1dvh)),64px)*1.9126));max-width:64%;flex-wrap:nowrap;pointer-events:none}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-hand-public-melds):has(.mahjong-action-dock [data-choice-type=pass]) .mahjong-action-dock>button{pointer-events:auto}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-hand-public-melds) .mahjong-action-dock>[data-choice-type=chi]{position:fixed;top:max(calc(var(--mahjong-hud-action-top, 4px) + 8px),var(--mahjong-safe-top, env(safe-area-inset-top)));left:50%;transform:translate(-50%);max-width:calc(calc(100 * var(--mahjong-dvw, 1dvw)) - 300px)}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-hand-public-melds) .mahjong-action-dock>[data-choice-type=chi] .mahjong-call-previews{flex-wrap:nowrap}@media(max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait)and (pointer:coarse){.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-hand-public-melds):has(.mahjong-action-dock [data-choice-type=pass]) .mahjong-action-dock{left:max(19%,var(--mahjong-safe-left, env(safe-area-inset-left)));right:max(20%,var(--mahjong-safe-right, env(safe-area-inset-right)));max-width:none;display:grid;grid-template-columns:max-content max-content minmax(0,1fr) max-content;grid-template-rows:auto auto;gap:5px}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-hand-public-melds):has(.mahjong-action-dock [data-choice-type=pass]) .mahjong-action-dock>[data-choice-type=ron]{grid-area:2 / 1}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-hand-public-melds):has(.mahjong-action-dock [data-choice-type=pass]) .mahjong-action-dock>[data-choice-type=pass]{grid-area:2 / 2}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-hand-public-melds):has(.mahjong-action-dock [data-choice-type=pass]) .mahjong-action-dock>[data-choice-type=pon]{grid-area:1 / 1 / 2 / 3;justify-self:start}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-hand-public-melds):has(.mahjong-action-dock [data-choice-type=pass]) .mahjong-action-dock>[data-choice-type=kan]{grid-area:2 / 4;justify-self:end;transform:translateY(-16px)}}@media(max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait)and (pointer:coarse){.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-opponent-rack{top:calc(50% + min(2.59cqw,5.3cqh,38px) + 4px)}.mahjong-page .mahjong-game .mahjong-table__own .mahjong-player__head{width:clamp(48px,7.2cqw,84px)}}.mahjong-page .mahjong-game.is-sanma:not(.is-finished):has(.mahjong-hand-public-melds):not(:has(.mahjong-action-dock [data-choice-type=pass])) .mahjong-action-dock{right:max(22%,var(--mahjong-safe-right, env(safe-area-inset-right)))}@media(max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait)and (pointer:coarse){.mahjong-page .mahjong-game:not(.is-finished):not(:has(.mahjong-hand-public-melds)):not(:has(.mahjong-action-dock [data-choice-type=pass])) .mahjong-action-dock{right:max(20%,var(--mahjong-safe-right, env(safe-area-inset-right)))}}@media(max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait)and (pointer:coarse){.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-action-dock [data-choice-type=nuki]):has(.mahjong-action-dock [data-choice-type=kan]) .mahjong-action-dock{left:max(19%,var(--mahjong-safe-left, env(safe-area-inset-left)));right:max(20%,var(--mahjong-safe-right, env(safe-area-inset-right)));bottom:max(calc(calc(23 * var(--mahjong-dvh, 1dvh)) + 10px),calc(max(calc(2 * var(--mahjong-dvh, 1dvh)),var(--mahjong-safe-bottom, env(safe-area-inset-bottom))) + 14px + min(calc(4.8 * var(--mahjong-dvw, 1dvw)),calc(13 * var(--mahjong-dvh, 1dvh)),64px)*1.9126));max-width:none;display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;grid-template-rows:auto auto;gap:5px;pointer-events:none}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-action-dock [data-choice-type=nuki]):has(.mahjong-action-dock [data-choice-type=kan]) .mahjong-action-dock>button{pointer-events:auto}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-action-dock [data-choice-type=nuki]):has(.mahjong-action-dock [data-choice-type=kan]) .mahjong-action-dock>[data-choice-type=nuki]{grid-area:2 / 1}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-action-dock [data-choice-type=nuki]):has(.mahjong-action-dock [data-choice-type=kan]) .mahjong-action-dock>.mahjong-button--riichi{grid-area:1 / 1}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-action-dock [data-choice-type=nuki]):has(.mahjong-action-dock [data-choice-type=kan]) .mahjong-action-dock>[data-choice-type=abort]{grid-area:1 / 3;justify-self:end;transform:translateY(-16px)}.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-action-dock [data-choice-type=nuki]):has(.mahjong-action-dock [data-choice-type=kan]) .mahjong-action-dock>[data-choice-type=kan]{grid-area:2 / 3;justify-self:end;transform:translateY(-16px)}}@media(max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait)and (pointer:coarse){.mahjong-page .mahjong-game:not(.is-finished):has(.mahjong-action-dock [data-choice-type=kan][aria-haspopup=dialog]):not(:has(.mahjong-action-dock [data-choice-type=pass])) .mahjong-action-dock>[data-choice-type=kan][aria-haspopup=dialog],.mahjong-page .mahjong-game:not(.is-finished):not(:has(.mahjong-action-dock [data-choice-type=pass])):has(.mahjong-button--riichi.is-selected) .mahjong-action-dock>.mahjong-action-dock__cancel{position:fixed;top:max(var(--mahjong-hud-action-top, 4px),var(--mahjong-safe-top, env(safe-area-inset-top)));bottom:auto;left:50%;right:auto;transform:translate(-50%);width:max-content;max-width:calc(calc(100 * var(--mahjong-dvw, 1dvw)) - 300px)}.mahjong-page .mahjong-game:not(.is-finished):not(:has(.mahjong-action-dock [data-choice-type=pass])) .mahjong-action-dock>[data-choice-type=kan][aria-haspopup=dialog] .mahjong-call-previews{flex-wrap:nowrap}.mahjong-page .mahjong-game:not(.is-finished) .mahjong-action-dock .mahjong-button--riichi.is-selected{font-size:12px;padding-inline:6px}}.mahjong-page:has(.mahjong-game:not(.is-finished)) .mahjong-notice{max-width:calc(calc(100 * var(--mahjong-dvw, 1dvw)) - 320px)}.mahjong-game .mahjong-abort-announcements{position:absolute;inset:0;z-index:11;pointer-events:none}.mahjong-game .mahjong-abort-declaration{position:absolute;width:min(17cqw,180px);text-align:center;color:#ffe8ba}.mahjong-game .mahjong-abort-declaration.is-south{left:50%;top:68%;transform:translate(-50%,-50%)}.mahjong-game .mahjong-abort-declaration.is-east{left:77%;top:46%;transform:translate(-50%,-50%)}.mahjong-game .mahjong-abort-declaration.is-north{left:50%;top:25%;transform:translate(-50%,-50%)}.mahjong-game .mahjong-abort-declaration.is-west{left:23%;top:46%;transform:translate(-50%,-50%)}.mahjong-game .mahjong-abort-declaration b{display:block;font:900 clamp(30px,min(7cqw,13cqh),84px)/1 var(--font-display),serif;-webkit-text-stroke:3px #472510;paint-order:stroke fill;text-shadow:0 3px 0 #161216,0 0 16px #ffb86c80;transform-origin:center;animation:mahjong-abort-declaration-enter .2s cubic-bezier(.6,0,.9,.35) both;animation-delay:var(--abort-animation-age,0ms)}.mahjong-game .mahjong-abort-declaration small{display:block;margin-top:6px;padding:2px 6px;border-radius:3px;background:#0a1522dc;color:#f3eee0;font-size:clamp(11px,1.3cqw,15px);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mahjong-game .mahjong-abort-declaration.is-riichi{color:#ffd3c6}.mahjong-game .mahjong-settlement-panel.is-abort{animation:mahjong-abort-cause-enter .5s linear both;animation-delay:var(--abort-cause-age,0ms)}@keyframes mahjong-abort-declaration-enter{0%{opacity:0;transform:scale(3)}to{opacity:1;transform:scale(1)}}@keyframes mahjong-abort-cause-enter{0%{opacity:0}to{opacity:1}}.mahjong-game .mahjong-abort-announcements.is-reduced-motion b{animation:none;transform:none}@media(prefers-reduced-motion:reduce){.mahjong-game .mahjong-abort-declaration b,.mahjong-game .mahjong-settlement-panel.is-abort{animation:none}}@font-face{font-family:Yougui Mahjong Brush;src:url(./assets/fonts/mahjong-brush.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}.mahjong-game .mahjong-call-announcement__label,.mahjong-game .mahjong-abort-declaration b{font-family:Yougui Mahjong Brush,serif;font-weight:400;font-style:normal;font-synthesis:none;letter-spacing:-.035em;color:#fff0c9;-webkit-text-stroke:3px #322114;paint-order:stroke fill;text-shadow:2px 3px 0 #091723,0 0 12px #efb86b80}.mahjong-game .mahjong-action-dock .mahjong-call-label,.mahjong-game .mahjong-action-dock .mahjong-button--tsumo,.mahjong-game .mahjong-action-dock .mahjong-button--riichi:not(.is-selected),.mahjong-game .mahjong-player__riichi{font-family:Yougui Mahjong Brush,serif;font-weight:400;font-synthesis:none;font-size:clamp(17px,4cqh,23px);line-height:1}.mahjong-game .mahjong-action-dock .mahjong-call-label small{font-family:var(--font-body),sans-serif;font-size:10px;line-height:1.3}.mahjong-game .mahjong-player__riichi{font-size:16px}.mahjong-game .mahjong-settlement-panel__heading .mahjong-settlement-panel__win-title{font-family:Yougui Mahjong Brush,serif;font-weight:400;font-style:normal;font-synthesis:none;font-size:clamp(22px,6cqh,32px);letter-spacing:-.035em;color:#fff0c9;-webkit-text-stroke:1px #322114;paint-order:stroke fill;text-shadow:1px 2px 0 #091723,0 0 8px #efb86b60}.mahjong-game{--action-safe-left: env(safe-area-inset-left, 0px);--action-safe-right: env(safe-area-inset-right, 0px);--action-safe-top: env(safe-area-inset-top, 0px);--action-safe-bottom: env(safe-area-inset-bottom, 0px)}.mahjong-game .mahjong-action-dock[data-action-layout=measured]{pointer-events:none}.mahjong-game .mahjong-action-dock[data-action-layout=measured]>button{pointer-events:auto}@media(max-width:740px)and (orientation:landscape){.mahjong-page .mahjong-game .mahjong-action-dock .mahjong-button{padding-inline:4px;gap:4px}.mahjong-page .mahjong-game .mahjong-action-dock .mahjong-call-previews{gap:3px}}.mahjong-game .mahjong-action-dock__cancel{min-width:34px;min-height:34px}.mahjong-game .mahjong-yakuman-opportunity{position:absolute;z-index:35;top:39%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:baseline;gap:.18em;padding:.15em .65em .3em;pointer-events:none;user-select:none;white-space:nowrap;font-family:Yougui Mahjong Brush,serif;font-weight:400;font-synthesis:none;font-size:clamp(30px,9cqh,64px);line-height:1.15;letter-spacing:-.04em;color:#fff1ca;-webkit-text-stroke:1px #3b2518;paint-order:stroke fill;text-shadow:2px 3px 0 #081624,0 0 20px #e5a45499;background:radial-gradient(ellipse,#152736df 0%,#15273680 48%,transparent 72%);animation:mahjong-yakuman-reveal 3s both}.mahjong-game .mahjong-yakuman-opportunity b{font-weight:400}.mahjong-game .mahjong-yakuman-opportunity span{font-size:.66em}.mahjong-game .mahjong-yakuman-opportunity.is-certain{color:#ffe1a0;text-shadow:2px 3px 0 #081624,0 0 24px #ffb54fcc}@keyframes mahjong-yakuman-reveal{0%{opacity:0;transform:translate(-50%,-50%) scale(.88)}10%,84%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.03)}}@media(prefers-reduced-motion:reduce){.mahjong-game .mahjong-yakuman-opportunity{animation:none}}.mahjong-table :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face]:after{content:var(--matching-face-overlay, none);position:absolute;inset:0;border-radius:inherit;background:#9dd3f9;mix-blend-mode:multiply;pointer-events:none}.mahjong-table[data-matching-tile=m1] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=m1]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=m2] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=m2]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=m3] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=m3]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=m4] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=m4]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=m5] :is(.mahjong-table__surface,.mahjong-hand) :is([data-tile-face=m5],[data-tile-face=m0]){--matching-face-overlay: ""}.mahjong-table[data-matching-tile=m6] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=m6]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=m7] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=m7]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=m8] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=m8]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=m9] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=m9]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=p1] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=p1]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=p2] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=p2]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=p3] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=p3]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=p4] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=p4]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=p5] :is(.mahjong-table__surface,.mahjong-hand) :is([data-tile-face=p5],[data-tile-face=p0]){--matching-face-overlay: ""}.mahjong-table[data-matching-tile=p6] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=p6]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=p7] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=p7]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=p8] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=p8]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=p9] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=p9]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=s1] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=s1]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=s2] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=s2]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=s3] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=s3]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=s4] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=s4]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=s5] :is(.mahjong-table__surface,.mahjong-hand) :is([data-tile-face=s5],[data-tile-face=s0]){--matching-face-overlay: ""}.mahjong-table[data-matching-tile=s6] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=s6]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=s7] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=s7]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=s8] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=s8]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=s9] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=s9]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=z1] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=z1]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=z2] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=z2]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=z3] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=z3]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=z4] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=z4]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=z5] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=z5]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=z6] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=z6]{--matching-face-overlay: ""}.mahjong-table[data-matching-tile=z7] :is(.mahjong-table__surface,.mahjong-hand) [data-tile-face=z7]{--matching-face-overlay: ""}:is(.mahjong-table,.mahjong-discard-flight) :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face]:before{content:var(--dora-sheen-content, none);position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,transparent 36%,rgb(255 213 122 / .12) 43%,rgb(255 255 236 / .76) 49%,rgb(255 226 157 / .22) 55%,transparent 63%);background-size:125% 500%;background-repeat:repeat-y;background-position:0 calc(var(--mahjong-dora-offset, 0) * 125%);animation:none}:is(.mahjong-table,.mahjong-discard-flight) :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) :is([data-tile-face=m0],[data-tile-face=p0],[data-tile-face=s0]){--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=m1] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=m1]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=m2] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=m2]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=m3] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=m3]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=m4] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=m4]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=m5] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) :is([data-tile-face=m5],[data-tile-face=m0]){--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=m6] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=m6]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=m7] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=m7]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=m8] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=m8]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=m9] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=m9]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=p1] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=p1]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=p2] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=p2]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=p3] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=p3]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=p4] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=p4]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=p5] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) :is([data-tile-face=p5],[data-tile-face=p0]){--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=p6] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=p6]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=p7] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=p7]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=p8] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=p8]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=p9] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=p9]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=s1] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=s1]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=s2] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=s2]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=s3] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=s3]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=s4] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=s4]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=s5] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) :is([data-tile-face=s5],[data-tile-face=s0]){--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=s6] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=s6]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=s7] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=s7]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=s8] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=s8]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=s9] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=s9]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=z1] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=z1]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=z2] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=z2]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=z3] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=z3]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=z4] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=z4]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=z5] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=z5]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=z6] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=z6]{--dora-sheen-content: ""}:is(.mahjong-table,.mahjong-discard-flight)[data-dora-tiles~=z7] :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face=z7]{--dora-sheen-content: ""}@media(prefers-reduced-motion:reduce){:is(.mahjong-table,.mahjong-discard-flight) :is(.mahjong-table__surface,.mahjong-hand,.mahjong-discard-flight__card) [data-tile-face]:before{animation:none;background-position:48% 48%;opacity:.35}}[data-tablecloth=midnight]{--cloth-core: #294558;--cloth-edge: #182b3c;--cloth-rail: #283540;--cloth-accent: #98bccc}[data-tablecloth=plum]{--cloth-core: #49394d;--cloth-edge: #2b2433;--cloth-rail: #322d3a;--cloth-accent: #c7a2bd}[data-tablecloth=graphite]{--cloth-core: #3c4248;--cloth-edge: #232a30;--cloth-rail: #2c3339;--cloth-accent: #b6bfc4}.mahjong-page .mahjong-game[data-tablecloth] .mahjong-table__surface{background:radial-gradient(ellipse at 50% 44%,rgb(255 255 255 / 5%),transparent 50%),radial-gradient(ellipse at 50% 43%,var(--cloth-core),var(--cloth-edge));border-color:var(--cloth-rail)}.mahjong-page .mahjong-game[data-tablecloth] .mahjong-table__grain{background-image:url(./assets/mahjong-tablecloth-weave-v1.webp);background-size:384px 384px;mix-blend-mode:luminosity;opacity:.26}.mahjong-tablecloth-picker{width:min(720px,calc(92 * var(--mahjong-vw, 1vw)));max-height:calc(92 * var(--mahjong-dvh, 1dvh));padding:24px;overflow:auto}.mahjong-tablecloth-picker header{display:flex;justify-content:space-between;align-items:start;gap:16px}.mahjong-tablecloth-picker h2{margin:4px 0 16px}.mahjong-tablecloth-picker header button{min-width:44px;min-height:44px}.mahjong-tablecloth-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mahjong-tablecloth-options>button{position:relative;padding:8px 8px 14px;text-align:left;color:#e4e1db;border:1px solid #ffffff24;border-radius:12px;background:#ffffff04;cursor:pointer}.mahjong-tablecloth-options>button[aria-pressed=true]{border-color:var(--cloth-accent);box-shadow:inset 0 0 0 1px var(--cloth-accent)}.mahjong-tablecloth-options>button:focus-visible{outline:2px solid #e8d4a4;outline-offset:3px}.mahjong-tablecloth-swatch{display:block;height:clamp(54px,calc(15 * var(--mahjong-vh, 1vh)),130px);border:5px solid var(--cloth-rail);border-radius:8px;background:url(./assets/mahjong-tablecloth-weave-v1.webp) center / 192px 192px,var(--cloth-core);background-blend-mode:luminosity;box-shadow:inset 0 0 18px #0006}.mahjong-tablecloth-options strong,.mahjong-tablecloth-options small{display:block;margin:10px 4px 0}.mahjong-tablecloth-options small{margin-top:4px;color:#aaa8af;font-size:12px}.mahjong-tablecloth-selected{display:block;margin:12px 4px 0;color:var(--cloth-accent);font-size:12px}.mahjong-tablecloth-picker footer button{min-height:44px;min-width:96px;font-size:16px;color:#17212a;background:#c8d4dc}.mahjong-tablecloth-picker footer{display:flex;justify-content:end;margin-top:18px}@media(max-height:460px),(max-width:460px)and (orientation:portrait)and (pointer:coarse){.mahjong-tablecloth-picker{padding:14px 20px}.mahjong-tablecloth-picker h2{margin-bottom:8px;font-size:24px}.mahjong-tablecloth-options>button{padding-bottom:8px}.mahjong-tablecloth-selected{margin-top:6px}.mahjong-tablecloth-picker footer{margin-top:10px}}.mahjong-page .mahjong-game .mahjong-screen-button[aria-label=\66f4\6362\684c\5e03]{width:44px;height:44px;min-height:44px}.mahjong-game [data-deal-visible=false]{visibility:hidden;pointer-events:none}.mahjong-game [data-deal-wave]:not([data-deal-visible=false]){animation:mahjong-deal-arrive .2s linear both}.mahjong-game[data-round-opening]:not([data-opening-sorted]) .mahjong-drawn-wrap>.is-drawn{margin-left:0}@keyframes mahjong-deal-arrive{0%{opacity:0;translate:0 calc((var(--hand-w,39px) + 2px) * -.196078431373)}to{opacity:1;translate:0 0}}.mahjong-game .mahjong-standing-tile[data-deal-wave]:not([data-deal-visible=false]){animation-name:mahjong-deal-rise}.mahjong-game[data-round-opening]:not([data-opening-sorted]) .mahjong-player__hidden>.is-drawn{margin-inline-start:0}@keyframes mahjong-deal-rise{0%{translate:0 0 calc((var(--standing-w) + 1px) * .196078431373)}to{translate:0 0 0}}.mahjong-game .mahjong-standing-tile[data-deal-wave]:not([data-deal-visible=false]) .mahjong-standing-tile__face{animation:mahjong-deal-material .2s linear both}@keyframes mahjong-deal-material{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.mahjong-game [data-deal-wave]:not([data-deal-visible=false]),.mahjong-game .mahjong-standing-tile[data-deal-wave]:not([data-deal-visible=false]),.mahjong-game .mahjong-standing-tile[data-deal-wave]:not([data-deal-visible=false]) .mahjong-standing-tile__face{animation:none}}.mahjong-rack-slot{display:contents}.mahjong-rack-slot.mahjong-drawn-wrap{display:inline-flex}.mahjong-game[data-opening-full-sort] .mahjong-hand .is-drawn{margin-left:calc((var(--hand-w,39px) + 2px) * .313725490196)}.mahjong-page:has(.mahjong-game[data-table-fitted=true]):after{content:"";position:fixed;inset:0;z-index:19;background:#080b11}.mahjong-page .mahjong-game[data-table-fitted=true]{position:fixed;z-index:20;inset:50% auto auto 50%;width:var(--mahjong-frame-width);height:var(--mahjong-frame-height);min-height:0;margin:0;padding:0;transform-origin:center;transform:translate(-50%,-50%)}.mahjong-page .mahjong-game[data-table-fitted=true][data-table-rotated=true]{transform:translate(-50%,-50%) rotate(90deg)}.mahjong-game[data-table-fitted=true].is-finished{overflow:auto}.mahjong-game[data-table-fitted=true] .mahjong-table{height:100%}.mahjong-game[data-table-fitted=true] .mahjong-portrait-gate{display:none}.mahjong-game[data-table-fitted=true] dialog{max-width:calc(var(--mahjong-frame-width) - 28px);max-height:calc(var(--mahjong-frame-height) - 28px)}.mahjong-page .mahjong-game[data-table-rotated=true]{--mahjong-safe-top: env(safe-area-inset-right);--mahjong-safe-right: env(safe-area-inset-bottom);--mahjong-safe-bottom: env(safe-area-inset-left);--mahjong-safe-left: env(safe-area-inset-top)}.mahjong-game[data-table-rotated=true] dialog{inset:50% auto auto 50%;margin:0;transform:translate(-50%,-50%) rotate(90deg);max-width:calc(var(--mahjong-frame-width) - 28px);max-height:calc(var(--mahjong-frame-height) - 28px)}.mahjong-page:has(.mahjong-game[data-table-rotated=true]) .mahjong-notice{left:calc(50dvw + min(50dvw,28.125dvh) - max(4px,env(safe-area-inset-right)));top:50%;width:max-content;max-width:min(56dvh,99.5556dvw,650px);transform-origin:0 0;transform:rotate(90deg) translate(-50%)}.mahjong-page:has(.mahjong-game[data-table-fitted=true]:not([data-table-rotated])) .mahjong-notice{top:calc(50dvh - min(50dvh,28.125dvw) + max(4px,env(safe-area-inset-top)));max-width:min(56dvw,99.5556dvh,650px)}.mahjong-page:has(.mahjong-game[data-table-fitted=true])>dialog{--mahjong-frame-width: min(100dvw, 177.7777777778dvh);--mahjong-frame-height: min(100dvh, 56.25dvw);--mahjong-vw: calc(var(--mahjong-frame-width) / 100);--mahjong-vh: calc(var(--mahjong-frame-height) / 100);--mahjong-dvh: var(--mahjong-vh);inset:50% auto auto 50%;margin:0;transform-origin:center;transform:translate(-50%,-50%);max-width:calc(var(--mahjong-frame-width) - 28px);max-height:calc(var(--mahjong-frame-height) - 28px);overflow-y:auto}.mahjong-page:has(.mahjong-game[data-table-fitted=true][data-table-rotated=true])>dialog{--mahjong-frame-width: min(100dvh, 177.7777777778dvw);--mahjong-frame-height: min(100dvw, 56.25dvh);transform:translate(-50%,-50%) rotate(90deg)}.mahjong-page>.mahjong-confirm .mahjong-button{min-height:44px}.mahjong-page>.mahjong-confirm .mahjong-icon-button{width:44px;height:44px}.mahjong-game .mahjong-table-rules{min-width:44px;min-height:44px}.mahjong-page:has(.mahjong-game[data-table-fitted=true]) .mahjong-header{visibility:hidden}:root{color-scheme:light;font-family:system-ui,PingFang SC,sans-serif;--online-paper: #ede6d7;--online-ink: #293632;--online-accent: #993e31}*{box-sizing:border-box}body{margin:0;background:#171b1b}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.mahjong-page{background:#171b1b;color:#eee6d8}.mahjong-brand__mark{background:#993e31;color:#fff5e6}.mahjong-shell{max-width:1050px;margin:auto}.mahjong-lobby{font-size:14px}.mahjong-lobby h1{font-family:serif}.mahjong-variant,.mahjong-mode{border-color:#a39470}.mahjong-primary{background:#993e31;color:#fff5e6}.mahjong-loading{font-size:14px}.mahjong-game{--mahjong-cloth-a: #293c38;--mahjong-cloth-b: #172925}@font-face{font-family:MahjongBrush;src:url(./assets/fonts/mahjong-brush.woff2) format("woff2");font-display:swap}:root{--font-brush: MahjongBrush, serif}.mahjong-paper{--mj-ink: #171b1b;--mj-panel: #ede6d7;--mj-panel-raised: #f5eedf;--mj-gold: #bb6854;--mj-gold-soft: #993e3118;--mj-muted: #b7b0a0;--mj-hairline: #b4a48742;--font-display: "Songti SC", "Noto Serif CJK SC", serif;--font-body: system-ui, "PingFang SC", sans-serif}.mahjong-entry{width:min(380px,calc(100% - 32px));margin:12vh auto;padding:22px;background:#f5eedf;border:1px solid #b7a784;color:#293632;box-shadow:0 12px 38px #0003;border-radius:12px}.mahjong-entry h1{font:26px Songti SC,serif;margin:0 0 20px}.mahjong-entry form,.mahjong-entry label{display:grid;gap:10px}.mahjong-entry label{font-size:13px}.mahjong-entry input{min-height:44px;padding:8px 12px;border:1px solid #c4b69d;border-radius:6px;background:#fffaf0;color:#293632;width:100%;font-size:16px}.mahjong-entry button{min-height:44px;background:#993e31;color:#fff5e6;border:0;border-radius:6px}.mahjong-entry a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#734a3d}.mahjong-entry [role=alert]:empty{display:none}.mahjong-paper .mahjong-lobby{padding:28px 2% 32px;gap:32px}.mahjong-paper .mahjong-lobby__copy h1{font-size:40px;letter-spacing:.04em;margin:14px 0}.mahjong-paper .mahjong-lobby__facts{margin-top:18px;gap:16px}.mahjong-paper .mahjong-lobby__panel{padding:20px;border-color:#ab9978;background:#f5eedf;color:#293632;box-shadow:0 16px 45px #0002}.mahjong-paper .mahjong-panel-heading{margin-bottom:16px}.mahjong-paper .mahjong-panel-heading h2{font-size:20px}.mahjong-paper .mahjong-mode-picker legend,.mahjong-paper .mahjong-code-label{color:#706454}.mahjong-paper .mahjong-mode-picker button{background:#ede6d7;color:#3b4239;border-color:#c7bba5;padding:10px;min-height:56px}.mahjong-paper .mahjong-mode-picker button small{color:#786e5e}.mahjong-paper .mahjong-mode-picker button.is-selected{background:#993e310d;border-color:#993e31;color:#913e30}.mahjong-paper .mahjong-mode-picker button.is-selected small{color:#734c3e}.mahjong-paper .mahjong-button--gold,.mahjong-paper .mahjong-button--start{background:#993e31;color:#fff5e6;border-color:#993e31;min-height:44px}.mahjong-paper .mahjong-join-form input{background:#fffaf0;color:#293632;border-color:#c7bba5}.mahjong-paper .mahjong-panel-note,.mahjong-paper .mahjong-divider{color:#786e5e}.mahjong-paper .mahjong-button{min-height:44px}.mahjong-paper .mahjong-waiting{padding-top:24px}.mahjong-paper .mahjong-room-header{margin-bottom:18px;gap:16px}.mahjong-paper .mahjong-room-header h1{font-size:28px;margin-top:8px}.mahjong-paper .mahjong-seat-card{background:#f5eedf;color:#293632;border-color:#b6a78a;padding:14px 12px;min-height:100px}.mahjong-paper .mahjong-seat-card__ready,.mahjong-paper .mahjong-seat-card__identity>span{color:#716a5b}.mahjong-paper .mahjong-seat-card__ready.is-ready{color:#3c705b}.mahjong-paper .mahjong-seat-card__identity strong small{background:#993e31;color:#fff5e6}.mahjong-paper .mahjong-room-code button{min-width:44px;min-height:44px;color:#e8decb}@media(max-width:640px){.mahjong-paper .mahjong-shell{padding:0 16px 20px}.mahjong-paper .mahjong-lobby{display:block;padding:20px 0}.mahjong-paper .mahjong-lobby__copy{margin-bottom:18px}.mahjong-paper .mahjong-lobby__copy h1{font-size:28px}.mahjong-paper .mahjong-lobby__copy>p:not(.mahjong-kicker){font-size:13px;line-height:1.6}.mahjong-paper .mahjong-lobby__facts{margin-top:12px}.mahjong-paper .mahjong-lobby__panel{max-width:none;padding:18px}.mahjong-paper .mahjong-room-header h1{font-size:24px}.mahjong-entry{margin-top:10vh}}.mahjong-paper .mahjong-brand,.mahjong-paper .mahjong-rules-trigger{min-height:44px}.mahjong-paper .mahjong-button--gold:hover:not(:disabled){background:#803629}.mahjong-page .mahjong-game .mahjong-table__surface{transform:perspective(160cqh) rotateX(38deg) scale(.84);perspective:160cqh}.mahjong-page .mahjong-game .mahjong-player__hidden>i.mahjong-standing-tile{--standing-w: min(3.15cqw, 6.8cqh, 46px);--standing-h: min(4.41cqw, 9.52cqh, 64px)}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-player__hidden>i.mahjong-standing-tile,.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-player__hidden>i.mahjong-standing-tile{--standing-w: min(2.45cqw, 5.5cqh, 36px);--standing-h: min(3.43cqw, 7.7cqh, 50px)}.mahjong-page .mahjong-game .mahjong-opponent-rack{--rack-height: min(4.41cqw, 9.52cqh, 64px)}.mahjong-page .mahjong-game .mahjong-table__position--west .mahjong-opponent-rack,.mahjong-page .mahjong-game .mahjong-table__position--east .mahjong-opponent-rack{--rack-height: min(3.43cqw, 7.7cqh, 50px)}.mahjong-page .mahjong-game .mahjong-standing-tile__face--back{background:linear-gradient(100deg,#efb76e,#d78b43 58%,#b76a32);box-shadow:inset 1px 1px #ffe8b9,inset -2px -1px #995c30}.mahjong-page .mahjong-game .mahjong-standing-tile__face--top{background:linear-gradient(110deg,#fffdf0,#e9e1c9);box-shadow:inset 0 1px #fffdf6}.mahjong-page .mahjong-game .mahjong-player__hidden>i.mahjong-standing-tile>.mahjong-standing-tile__body{height:var(--standing-h);transform:none;transform-style:flat}.mahjong-page .mahjong-game .mahjong-standing-tile__face{backface-visibility:visible}.mahjong-page .mahjong-game .mahjong-standing-tile__face--back{transform:none}.mahjong-page .mahjong-game .mahjong-standing-tile__face--top{height:calc(var(--standing-d) * .22);transform:translateY(-100%) skew(-18deg);transform-origin:0 100%}.mahjong-page .mahjong-game .mahjong-standing-tile__face--right{left:100%;width:calc(var(--standing-d) * .12);transform:skewY(-18deg);background:#eee7cf}.mahjong-page .mahjong-game .mahjong-standing-tile__face--front,.mahjong-page .mahjong-game .mahjong-standing-tile__face--left,.mahjong-page .mahjong-game .mahjong-standing-tile__face--bottom{display:none}.mahjong-page .mahjong-game .mahjong-river{--river-w: min(3.6cqw, 7cqh, 40px)}.mahjong-page .mahjong-game .mahjong-river.is-long{--river-w: min(3cqw, 5.8cqh, 34px)}.mahjong-page .mahjong-game .mahjong-river--rows .mahjong-river__tile.is-riichi>.mahjong-river__volume{transform:translate(-50%,-50%) rotate(90deg)}.mahjong-page .mahjong-game .mahjong-river__tile .mahjong-river__cap>.mahjong-tile{border-color:#bfb69c;box-shadow:inset 1px 1px #fffef6,inset -2px -2px 2px #a2977b60,0 2px #e5d6b4,0 5px #ab8f5d,0 6px 2px #07131c80}.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__face.mahjong-tile,.mahjong-page .mahjong-game .mahjong-table__surface .mahjong-meld__back-cap{box-shadow:inset 1px 1px #fffef6,inset -2px -2px 2px #a2977b60,0 2px #e5d6b4,0 5px #ab8f5d,0 6px 2px #07131c80}.mahjong-page .mahjong-game .mahjong-river__side--bottom,.mahjong-page .mahjong-game .mahjong-meld__side--bottom{background:linear-gradient(#eee5cf 0 24%,#c7ad7e 25% 76%,#8f7854 77%)}.mahjong-page .mahjong-game .mahjong-player__melds .mahjong-meld--public{--meld-tile-w: min(2.6cqw, 5.8cqh, 35px);--meld-tile-h: min(3.64cqw, 8.12cqh, 49px)}.mahjong-page .mahjong-game .mahjong-hand-public-melds .mahjong-meld--public{--meld-tile-w: min(3.4cqw, 7.6cqh, 42px);--meld-tile-h: min(4.76cqw, 10.64cqh, 59px)}.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__yaku{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding-top:12px}.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__yaku>li{display:flex;justify-content:space-between;gap:14px;min-width:0;border:1px solid var(--mj-hairline);border-radius:5px;padding:10px 12px;color:#efe9d8;background:#ffffff0d;font-size:clamp(13px,1.9cqw,17px);line-height:1.4;scroll-margin-block:8px}.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__yaku>li>span{overflow-wrap:anywhere}.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__yaku>li>b{flex-shrink:0;font-size:inherit;font-variant-numeric:tabular-nums;font-weight:600}.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__yaku>.is-revealed{animation:mahjong-yaku-enter .34s cubic-bezier(.16,.72,.25,1) both}.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__yaku>.is-current{border-color:#d8b77b;background:#cda55d26;box-shadow:inset 3px 0 #d8b77b}.mahjong-settlement-panel__summary{grid-column:1 / -1;border-top:1px solid var(--mj-hairline);padding-top:12px;scroll-margin-block:10px}.mahjong-settlement-panel__summary>p{margin:0}.mahjong-settlement-panel__summary>p>small{margin-right:8px;color:var(--mj-muted)}.mahjong-settlement-panel__summary>p>strong{color:var(--mj-gold);font-size:17px}.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__summary.is-revealed{animation:mahjong-yaku-enter .42s ease-out both}@keyframes mahjong-yaku-enter{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@media(max-width:520px)and (orientation:portrait){.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__yaku{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__yaku>.is-revealed,.mahjong-settlement-panel.is-detail .mahjong-settlement-panel__summary.is-revealed{animation:none}}.mahjong-game .mahjong-table-webgl{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.mahjong-game[data-table-renderer=webgl] .mahjong-table__surface{opacity:0;transform:none;clip-path:var(--table-felt-clip,none)}.mahjong-game .mahjong-webgl-error{position:absolute;top:48px;left:50%;transform:translate(-50%);z-index:5;font-size:12px;color:#e8c995}.mahjong-table-webgl.is-failed{visibility:hidden}
