:root{--felt: #0d5c42;--felt-dark: #083627;--panel: rgba(9, 48, 34, .92);--panel-soft: rgba(11, 56, 40, .82);--line: rgba(232, 239, 221, .26);--line-strong: rgba(232, 239, 221, .48);--text: #f4f6ef;--muted: #d2dccd;--accent: #ebc768;--accent-soft: rgba(235, 199, 104, .15);--warn: #ff8c77}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:linear-gradient(180deg,#00000014,#00000038),linear-gradient(180deg,#0f674a,#0a432f 48%,#082f22);color:var(--text);font-family:Microsoft YaHei,PingFang SC,sans-serif}button,input,select{font:inherit}option{background:#163a2d;color:#f3f6ef}button,input,select{border:1px solid var(--line);background:#ffffff0a;color:var(--text)}button{cursor:pointer}.page-shell{min-height:100vh}.lobby-page{padding:28px 20px;display:grid;place-items:center}.lobby-panel{width:min(860px,100%);border:1px solid var(--line-strong);background:var(--panel);padding:22px;display:grid;gap:18px}.lobby-header h1,.lobby-header p,.result-card h2{margin:0}.lobby-header{display:grid;gap:8px}.lobby-header p{color:var(--muted)}.auth-panel{width:min(520px,100%)}.lobby-form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px 14px}.lobby-form-grid label,.lobby-check-grid label{display:grid;gap:6px}.lobby-panel input,.lobby-panel select{padding:9px 10px;background:#081611f0;color:#f4f6ef}.lobby-meta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;padding:10px 12px;border:1px solid rgba(232,239,221,.16);background:#ffffff08;color:var(--muted)}.lobby-meta-row button{padding:7px 12px}.lobby-nav{display:flex;gap:10px}.lobby-nav button{min-width:128px;padding:10px 16px;border-color:#e8efdd38;background:#0d1f18f0;color:#e5eee1;font-weight:600}.lobby-nav button.active{border-color:#d9ae4a;background:#d9ae4a;color:#261600}.rules-page{display:grid;gap:16px}.rules-tab-row{display:flex;flex-wrap:wrap;gap:10px}.rules-tab-row button{min-width:110px;padding:10px 16px;border-color:#e8efdd38;background:#0d1f18f0;color:#e5eee1;font-weight:700}.rules-tab-row button.active{border-color:#d9ae4a;background:#d9ae4a;color:#261600}.rules-section{border:1px solid var(--line);background:#ffffff08;padding:14px 16px;display:grid;gap:12px}.rules-section.compact{gap:10px}.rules-section-head{display:grid;gap:6px}.rules-section-head h2,.rules-card p{margin:0}.rules-section-head p{margin:0;color:var(--muted)}.rules-yaku-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rules-card{border:1px solid rgba(232,239,221,.14);background:#08161180;padding:10px 12px;display:grid;gap:6px}.rules-card-example{display:flex;flex-wrap:wrap;gap:3px;align-items:flex-end;min-height:32px}.rules-card-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.rules-card-top span{color:#ffe492;white-space:nowrap}.rules-card p{color:var(--muted);line-height:1.45}.rules-score-table{display:grid;gap:8px;overflow-x:auto}.rules-score-row{display:grid;grid-template-columns:88px 1.4fr repeat(4,minmax(0,1fr));gap:10px;align-items:center;padding:8px 10px;border:1px solid rgba(232,239,221,.14);background:#08161180}.rules-score-row.head{color:var(--muted);font-size:.88rem;background:#ffffff0a}.rules-score-matrix{display:grid;gap:8px;overflow-x:auto}.rules-score-matrix-row{display:grid;grid-template-columns:72px repeat(4,minmax(220px,1fr));gap:10px;align-items:start;padding:8px 10px;border:1px solid rgba(232,239,221,.14);background:#08161180}.rules-score-matrix-row.head{color:var(--muted);font-size:.88rem;background:#ffffff0a}.rules-score-matrix-row span,.rules-score-matrix-row strong{line-height:1.45}.rules-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;color:var(--muted)}.lobby-settings-group{display:grid;gap:10px;margin-top:14px}.lobby-settings-title{color:#f4f6ef;font-size:.94rem}.rule-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 10px}.rule-checkbox-row{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 8px;border:1px solid rgba(232,239,221,.14);background:#08161185;color:#f4f6ef;font-size:.9rem}.rule-checkbox-row input{width:15px;height:15px}.rule-checkbox-row.disabled{opacity:.52}.lobby-check-grid{display:flex;flex-wrap:wrap;gap:14px 22px}.checkbox-row{display:flex!important;align-items:center;gap:8px}.checkbox-row input{width:16px;height:16px}.lobby-summary{border:1px solid var(--line);background:#ffffff08;padding:12px 14px;display:grid;gap:5px;color:var(--muted)}.room-list-panel{border:1px solid var(--line);background:#ffffff08;padding:14px;display:grid;gap:12px}.lobby-create-row{justify-content:flex-end}.room-list-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.room-list-head span{color:var(--muted)}.room-card{border:1px solid rgba(232,239,221,.16);background:#0816119e;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:14px}.room-card-main{display:grid;gap:5px}.room-card-main span{color:var(--muted)}.room-card-actions{flex-wrap:wrap;justify-content:flex-end}.room-card-actions button{min-width:104px}.room-seat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.room-seat-item{border:1px solid rgba(232,239,221,.14);background:#08161185;padding:10px 12px;display:grid;gap:4px}.room-seat-item span{color:var(--muted);font-size:.78rem;line-height:1}.room-seat-item strong{line-height:1.2}.room-empty-state{min-height:120px;display:grid;place-items:center;color:var(--muted);border:1px dashed rgba(232,239,221,.2)}.create-room-modal{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#010806ad;padding:20px}.create-room-dialog{width:min(760px,100%);border:1px solid var(--line-strong);background:var(--panel);padding:18px;display:grid;gap:16px}.create-room-dialog.setup-dialog{max-height:min(88vh,860px);overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto}.create-room-dialog.compact-dialog{width:min(420px,100%)}.create-room-dialog.settings-dialog{width:min(560px,100%);max-height:min(82vh,760px);overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr)}.modal-tab-row{margin-top:-4px}.create-room-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:4px;display:grid;gap:14px}.create-room-actions{position:sticky;bottom:0;z-index:1;padding-top:10px;background:linear-gradient(180deg,#09302200,#093022f5 26%)}.settings-admin-body{min-height:0;overflow-y:auto;padding-right:4px;display:grid;gap:12px}.settings-admin-status{display:grid;gap:8px}.settings-admin-status div{display:grid;gap:3px}.settings-seat-row,.settings-source-row{display:flex;flex-wrap:wrap;gap:8px}.settings-seat-button,.settings-source-button,.tile-picker-button,.quantum-preset-card{border:1px solid rgba(232,239,221,.18);background:#08161194;color:var(--text)}.settings-seat-button,.settings-source-button{min-width:88px;padding:8px 12px}.settings-seat-button.active,.settings-source-button.active,.tile-picker-button.active,.quantum-preset-card.active{border-color:#ebc768e6;background:#ebc76829;box-shadow:0 0 0 1px #ebc76824}.quantum-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quantum-preset-card{padding:10px 12px;display:grid;gap:8px;text-align:left}.quantum-preset-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.quantum-preset-head span,.quantum-preset-tail{color:var(--muted);font-size:.84rem}.quantum-visual-panel{border:1px solid rgba(232,239,221,.12);background:#ffffff08;padding:10px 12px;display:grid;gap:8px}.quantum-visual-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:4px}.tile-picker-grid{display:grid;gap:10px}.tile-picker-suit{display:grid;gap:6px}.tile-picker-row{display:flex;flex-wrap:wrap;gap:6px}.tile-picker-button{padding:4px}.create-room-dialog.rules-reference-dialog{width:min(720px,100%);height:min(82vh,880px);max-height:min(82vh,880px);padding:14px;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}.rules-reference-body{min-height:0;overflow-y:auto;padding-right:6px;overscroll-behavior:contain;scrollbar-gutter:stable}.rules-reference-dialog .rules-page{min-height:0}.rules-reference-dialog .rules-tab-row{position:sticky;top:0;z-index:1;padding-bottom:8px;background:var(--panel)}.rules-reference-dialog .button-row{position:sticky;bottom:0;z-index:1;padding-top:10px;background:linear-gradient(180deg,#09302200,#093022f5 26%)}.single-column{grid-template-columns:minmax(0,1fr)}.single-field{display:grid;gap:6px}.lobby-error-text{color:#ffd1c7;border:1px solid rgba(255,140,119,.36);background:#781c1247;padding:10px 12px}.button-row{display:flex;flex-wrap:wrap;gap:10px}.button-row.compact{gap:8px}.button-row button,.table-toolbar button,.result-head button,.reaction-choice{padding:7px 14px}.lobby-fieldset{margin:0;padding:0;border:none;display:grid;gap:12px}.lobby-fieldset:disabled{opacity:.72}.button-row .primary{background:#d9ae4a;border-color:#d9ae4a;color:#261600;font-weight:700}.button-row button:disabled{cursor:default;opacity:.45}.table-page{height:100vh;padding:8px;display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden}.table-toolbar,.reaction-dialog,.result-card{border:1px solid var(--line-strong);background:var(--panel)}.table-toolbar{min-height:42px;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;gap:12px}.toolbar-main{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;line-height:1.2}.toolbar-main strong,.toolbar-main span{white-space:nowrap}.table-focus-strip{display:grid;min-height:0}.focus-pill{border:1px solid var(--line-strong);background:#ffffff0a;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:14px}.focus-pill strong{font-size:1rem}.focus-pill span{color:var(--muted)}.focus-pill.self{border-color:#ebc768b8;background:#ebc7681f}.focus-pill.reaction{border-color:#ff8c77b8;background:#ff8c771f}.focus-pill.waiting{border-color:#aad7c670}.tenhou-board{position:relative;min-height:0;height:100%;padding:8px;display:grid;grid-template-columns:176px minmax(620px,1fr) 176px;grid-template-rows:minmax(72px,auto) 1fr minmax(78px,auto);grid-template-areas:". top ." "left center right" "self self self";gap:6px;background:linear-gradient(180deg,#ffffff05,#00000014),#07281cf0;border:none}.table-top-actions{position:absolute;top:8px;right:8px;z-index:3;display:flex;align-items:center;gap:8px}.table-back-button,.table-settings-button{padding:6px 12px}.table-auto-panel{position:absolute;left:14px;bottom:92px;z-index:4;display:grid;gap:10px}.table-auto-button{min-width:78px;min-height:58px;border:1px solid rgba(232,239,221,.28);background:#0d1814eb;color:var(--text);font-size:1.2rem;font-weight:700;letter-spacing:.08em}.table-auto-button.active{border-color:#ebc768db;background:#ebc76833;color:#ffe492;box-shadow:0 0 0 1px #ebc76829}.opponent-panel{position:relative;padding:4px;display:grid;gap:4px;min-height:0;overflow:hidden;align-content:center;border:none;background:transparent}.opponent-panel.top{grid-area:top;align-content:center;justify-items:center}.opponent-panel.left{grid-area:left;align-content:center;justify-items:end;padding-right:10px;overflow:visible}.opponent-panel.right{grid-area:right;align-content:center;justify-items:start;padding-left:10px;overflow:visible}.opponent-panel.active,.river-panel.active,.score-chip.active,.reaction-order-item.pending,.discard-cell.latest,.mini-button.active{border-color:var(--accent)}.panel-head,.result-head,.reaction-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-head span,.score-chip span,.section-caption,.center-title,.plain-note,.field-hint,.lobby-summary{color:var(--muted)}.field-hint{display:block;margin-top:4px;font-size:12px}.opponent-hand-row,.opponent-concealed-band,.opponent-band,.tile-inline,.self-hand-line,.self-hand-cluster,.hand-main,.action-strip{display:flex;align-items:flex-end}.opponent-hand-row,.tile-inline,.hand-main{gap:4px;flex-wrap:wrap}.opponent-band{min-height:0;display:flex;gap:4px;align-items:center;justify-content:center}.player-nameplate{min-width:0;max-width:100%;padding:6px 10px;border:1px solid rgba(232,239,221,.18);background:#0b1813e0;display:inline-flex;align-items:center;gap:8px;box-shadow:0 10px 18px #00000029}.player-nameplate.active{border-color:#ebc76894;box-shadow:0 0 0 1px #ebc7682e,0 10px 20px #0000002e}.player-nameplate-badge{width:28px;height:28px;border:1px solid rgba(235,199,104,.36);background:#ebc7681f;display:inline-flex;align-items:center;justify-content:center;color:#ffe492;font-size:.78rem;font-weight:700;line-height:1;flex:0 0 auto}.player-nameplate-copy{min-width:0;display:grid;gap:2px}.player-nameplate-copy strong,.player-nameplate-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-nameplate-copy strong{font-size:.88rem;line-height:1}.player-nameplate-copy span{color:var(--muted);font-size:.72rem;line-height:1}.player-nameplate-copy .player-nameplate-ability{color:#d8c483;font-size:.64rem;line-height:1.1}.opponent-panel.top .player-nameplate{justify-self:center}.opponent-panel.left .player-nameplate{position:absolute;left:2px;top:50%;transform:translateY(-50%);justify-self:auto;z-index:2}.opponent-panel.right .player-nameplate{position:absolute;right:2px;top:50%;transform:translateY(-50%);justify-self:auto;z-index:2}.opponent-band.top{flex-direction:row}.opponent-band.left,.opponent-band.right{flex-direction:column}.opponent-panel.left .opponent-band{align-items:flex-end}.opponent-panel.right .opponent-band{align-items:flex-start}.opponent-concealed-band{display:flex;gap:0;align-items:flex-end;justify-content:center}.opponent-concealed-band.grouped{gap:10px;align-items:center}.opponent-tile-group{display:flex;align-items:center;justify-content:center;gap:2px}.opponent-tile-group.hidden-group{opacity:.92}.opponent-band.top .opponent-concealed-band{flex-direction:row}.opponent-band.left .opponent-concealed-band,.opponent-band.right .opponent-concealed-band{flex-direction:column}.opponent-band.top .opponent-tile-group{flex-direction:row}.opponent-band.left .opponent-tile-group,.opponent-band.right .opponent-tile-group{flex-direction:column}.opponent-panel.top .opponent-hand-row{flex-wrap:nowrap;min-width:max-content;justify-content:center}.opponent-panel.left .opponent-hand-row,.opponent-panel.right .opponent-hand-row{width:max-content;flex-direction:column;flex-wrap:nowrap;align-items:center;gap:2px}.opponent-draw-slot{display:flex;align-items:center;justify-content:center}.opponent-draw-slot.empty{opacity:.72}.opponent-panel.top .opponent-draw-slot{margin-left:9px}.opponent-panel.left .opponent-draw-slot,.opponent-panel.right .opponent-draw-slot{margin-top:9px}.opponent-draw-placeholder{border:1px dashed rgba(216,228,214,.22);border-radius:6px;background:#ffffff08}.opponent-draw-placeholder.small{width:34px;height:48px}.opponent-draw-placeholder.tiny{width:27px;height:39px}.opponent-draw-placeholder.orientation-sideways,.opponent-draw-placeholder.orientation-sidewaysFlipped{width:39px;height:27px}.opponent-inline-melds{display:flex;align-items:center;justify-content:center}.opponent-panel.top .opponent-inline-melds .meld-row{flex-wrap:nowrap;overflow:hidden}.opponent-panel.left .opponent-inline-melds .meld-row,.opponent-panel.right .opponent-inline-melds .meld-row{flex-direction:column;flex-wrap:nowrap;gap:3px;overflow:hidden}.opponent-panel.left .opponent-inline-melds .meld-chip,.opponent-panel.right .opponent-inline-melds .meld-chip{flex-direction:column;gap:1px;padding:2px}.meld-row{min-height:42px;display:flex;flex-wrap:wrap;gap:6px}.meld-row.empty{align-items:center}.meld-chip{padding:3px;border:1px solid rgba(232,239,221,.14);background:#ffffff08;display:flex;gap:3px}.meld-tile{display:flex;align-items:center;justify-content:center;position:relative}.meld-tile.called{filter:drop-shadow(0 0 6px rgba(235,199,104,.22))}.meld-tile.stacked{min-width:34px;min-height:48px}.meld-tile.stacked.stack-left,.meld-tile.stacked.stack-right{min-width:52px;min-height:34px}.meld-overlay-tile{position:absolute;z-index:2;pointer-events:none}.meld-overlay-tile.stack-up{top:-32%;left:50%;transform:translate(-50%)}.meld-overlay-tile.stack-down{bottom:-32%;left:50%;transform:translate(-50%)}.meld-overlay-tile.stack-left{top:50%;left:-32%;transform:translateY(-50%)}.meld-overlay-tile.stack-right{top:50%;right:-32%;transform:translateY(-50%)}.opponent-meld-block{display:flex;width:auto;flex:0 0 auto;min-height:0;justify-content:flex-start}.discard-grid{position:absolute;display:grid;gap:3px}.discard-grid.horizontal{grid-template-columns:repeat(6,max-content);grid-template-rows:repeat(3,max-content)}.discard-grid.vertical{grid-template-rows:repeat(6,max-content);grid-template-columns:repeat(3,max-content)}.discard-cell{position:relative;min-height:0;padding:0;display:flex;align-items:center;justify-content:center}.discard-cell.riichi{filter:drop-shadow(0 0 7px rgba(207,98,81,.35))}.discard-cell.riichi-marker{z-index:1}.discard-cell.reaction-target .tile-sprite{filter:drop-shadow(0 0 10px rgba(235,199,104,.85)) drop-shadow(0 0 20px rgba(235,199,104,.3));animation:reaction-river-glow 1s ease-in-out infinite alternate}.discard-cell.admin-winning .tile-sprite{filter:drop-shadow(0 0 12px rgba(255,138,99,.96)) drop-shadow(0 0 24px rgba(255,233,150,.52));animation:reaction-river-glow .9s ease-in-out infinite alternate}.discard-cell.discard-tsumogiri .tile-sprite{animation:river-tsumogiri .76s cubic-bezier(.16,1,.3,1)}.discard-cell.discard-tedashi .tile-sprite{animation:river-tedashi .76s cubic-bezier(.16,1,.3,1)}.board-center{grid-area:center;position:relative;padding:2px;display:grid;place-items:center;min-height:0;overflow:visible;border:none;background:transparent}.dora-shelf{position:absolute;top:10px;left:2px;z-index:4;display:grid;gap:2px;padding:4px 6px;border:1px solid rgba(232,239,221,.18);background:#0c1813d6}.dora-shelf-title{color:var(--muted);font-size:.64rem;line-height:1}.dora-shelf-row{display:flex;align-items:center;gap:4px}.center-table-layout{width:max-content;height:max-content;display:grid;grid-template-columns:123px 177px 123px;grid-template-rows:123px 177px 123px;grid-template-areas:". top ." "left center right" ". bottom .";gap:4px;min-height:0}.river-panel{border:none;background:transparent;padding:0;display:grid;gap:0;min-height:0;overflow:visible;position:relative}.river-panel.top{grid-area:top}.river-panel.left{grid-area:left}.river-panel.right{grid-area:right}.river-panel.bottom{grid-area:bottom}.river-panel.left,.river-panel.right{align-content:start}.river-panel.top,.river-panel.bottom{width:177px;min-width:177px;height:123px;justify-self:center}.river-panel.top{align-self:end}.river-panel.bottom{align-self:start}.river-panel.left{width:123px;min-width:123px;height:177px;justify-self:end;align-self:start}.river-panel.right{width:123px;min-width:123px;height:177px;justify-self:start;align-self:end}.river-panel.left .discard-grid{top:0;right:0}.river-panel.right .discard-grid{inset:auto auto 0 0}.river-panel.top .discard-grid,.river-panel.bottom .discard-grid{justify-content:start}.river-panel.top .discard-grid{inset:auto 0 0 auto}.river-panel.bottom .discard-grid{inset:0 auto auto 0}.river-panel.latest-source{box-shadow:none}.table-status-box{grid-area:center;border:1px solid rgba(232,239,221,.18);background:#0e1211e6;width:172px;min-width:172px;height:172px;justify-self:center;align-self:center;padding:0;display:grid;align-content:stretch;min-height:0;overflow:visible;cursor:pointer;z-index:2}.table-status-box.reaction{border-color:#ff8c778c}.status-main{display:grid;justify-items:center;gap:2px}.status-match-current{min-width:3.2rem;padding:2px 9px;border:1px solid rgba(232,239,221,.16);background:#ffffff0a;color:#ffe492;font-size:.64rem;font-weight:700;line-height:1.15;text-align:center;letter-spacing:.08em}.status-round{font-size:1.14rem;line-height:1;font-weight:700}.status-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 4px;color:var(--muted);font-size:.66rem}.status-dora-row{display:none}.status-center-board{position:relative;min-height:0;height:100%}.status-seat-chip{position:absolute;padding:0;display:flex;align-items:center;justify-content:center;text-align:center;overflow:visible;border:none;background:transparent;color:#f4f6efeb;pointer-events:none;white-space:nowrap}.status-seat-chip.top,.status-seat-chip.bottom{left:50%;width:auto;height:auto;transform:translate(-50%)}.status-seat-chip.top{top:-1px;transform:translate(-50%) rotate(180deg)}.status-seat-chip.bottom{bottom:-1px}.status-seat-chip.left,.status-seat-chip.right{top:0;width:20px;height:100%;min-height:100%;padding-block:0}.status-seat-chip.left{left:-1px;transform:none}.status-seat-chip.right{right:-1px;transform:none}.status-seat-chip.left strong,.status-seat-chip.right strong{position:absolute;top:50%;left:50%}.status-seat-chip.left strong{transform:translate(-50%,-50%) rotate(90deg)}.status-seat-chip.right strong{transform:translate(-50%,-50%) rotate(-90deg)}.status-seat-chip.active{color:#ffe492}.status-seat-chip-inner{display:flex;align-items:center;gap:3px;flex-wrap:nowrap;white-space:nowrap}.status-seat-chip-inline{display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}.status-seat-chip span{color:var(--muted);font-size:.68rem;display:inline-block;line-height:1.15;white-space:nowrap}.status-seat-chip strong{display:inline-block;font-size:.82rem;line-height:1;white-space:nowrap}.status-seat-chip-inline strong{font-size:.82rem}.status-core{position:absolute;inset:26px 12px;display:grid;align-content:center;justify-items:center;gap:5px;text-align:center}.score-chip,.center-block,.self-block,.plain-note,.reaction-order-item{border:1px solid rgba(232,239,221,.14);background:#ffffff08}.score-chip{padding:6px 8px;display:grid;gap:4px}.score-chip strong{font-size:1rem}.center-block{padding:8px;display:grid;gap:6px;overflow:hidden}.center-block.compact{min-height:72px}.center-title,.section-caption{font-size:.84rem;line-height:1.1}.table-core-dora{display:grid;gap:6px}.core-status-copy{display:grid;gap:4px}.core-status-copy strong{font-size:1rem}.core-status-copy span{color:var(--muted)}.plain-note{padding:8px}.reaction-order-list{display:grid;gap:4px}.reaction-order-item{padding:6px 8px;display:flex;justify-content:space-between;gap:10px}.reaction-order-item strong{text-align:right}.self-panel{grid-area:self;display:grid;justify-items:center;align-items:start;min-height:0;overflow:visible;border:none;background:transparent;position:relative;z-index:8}.self-inner{width:min(780px,calc(100% - 96px));padding:2px 6px 4px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:4px;min-height:0;border:none;background:transparent}.self-control-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:66px}.self-control-left,.self-control-right{display:flex;align-items:center;gap:8px;min-height:66px}.self-control-left{flex:1 1 auto;min-width:0;flex-wrap:wrap;align-items:flex-start;position:relative;z-index:10}.control-dock{display:flex;align-items:center;gap:8px;min-height:46px;padding:4px 8px;border:1px solid rgba(232,239,221,.18);background:#0a1612e0;position:relative;z-index:18;pointer-events:auto}.control-dock.turn{flex-wrap:wrap}.control-dock.reaction{flex-wrap:wrap;border-color:#ff8c7757}.self-superpower-strip{min-height:44px;max-width:min(100%,360px);padding:6px 10px;border:1px solid rgba(216,196,131,.3);background:#121e18e6;display:grid;gap:4px}.self-superpower-head{display:flex;align-items:center;gap:8px;min-width:0}.self-superpower-head strong{color:#ffe492;font-size:.78rem;line-height:1;flex:0 0 auto}.self-superpower-head span{min-width:0;color:var(--text);font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.self-superpower-actions{display:flex;gap:8px;margin-top:4px}.superpower-action-button{min-width:88px;min-height:42px;padding:8px 12px;font-size:.92rem}.self-superpower-notes{display:flex;flex-wrap:wrap;gap:4px 8px}.self-superpower-note{color:var(--muted);font-size:.68rem;line-height:1.2}.self-superpower-preview{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.player-nameplate.self{min-height:44px;padding-inline:12px}.self-control-right{flex:0 0 auto;justify-content:flex-end}.self-timer-chip{padding:6px 12px;border:1px solid rgba(235,199,104,.4);background:#0f1c17eb;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px}.self-timer-chip strong{color:#ffe492;font-size:.94rem;line-height:1}.self-timer-chip span{color:var(--muted);font-size:.8rem;line-height:1}.self-timer-chip.reaction{border-color:#ff8c7794}.self-state-chip{min-height:44px;padding:0 16px;border:1px solid rgba(232,239,221,.26);background:#12221de6;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);white-space:nowrap}.self-state-chip.warn{border-color:#ff8c777a;color:#ffd1c7}.self-grid{display:flex;width:100%;align-items:center;justify-content:center;min-height:0}.self-block{padding:0;display:grid;gap:3px;min-height:0;overflow:visible;border:none;background:transparent;box-shadow:none}.self-strip{display:flex;align-items:flex-end;justify-content:center;gap:10px;width:max-content;max-width:100%}.self-strip.turn-focus{box-shadow:none}.self-hand-line{justify-content:center}.self-hand-cluster{gap:3px;margin:0;max-width:100%;justify-content:center}.hand-main{min-height:48px;justify-content:center;flex-wrap:nowrap;overflow:hidden}.draw-slot{width:38px;min-width:38px;display:flex;justify-content:flex-start;margin-left:7px}.draw-placeholder{width:32px;height:48px;opacity:0}.self-inline-melds{flex:0 0 auto;display:flex;align-items:flex-end}.self-inline-melds .meld-row{flex-wrap:nowrap;overflow:hidden;justify-content:flex-start}.self-inline-melds .meld-chip{padding:2px;gap:2px}.action-strip{flex-wrap:wrap;justify-content:flex-start;gap:6px;overflow:visible;padding:0;position:relative;z-index:18;pointer-events:auto}.action-button{min-width:82px;min-height:42px;padding:8px 12px;border:1px solid rgba(232,239,221,.32);background:#12221de6;color:var(--text);display:grid;justify-items:center;align-content:center;gap:4px;font-size:.9rem;line-height:1.15;white-space:nowrap}.action-button.active,.action-button.primary{border-color:#ebc768db;background:#ebc76833;color:#ffe492}.action-button:disabled{cursor:default;opacity:.45}.reaction-strip,.superpower-strip{align-items:center}.superpower-action-button-inline{min-width:82px;min-height:42px;padding:8px 10px}.reaction-button{min-width:82px}.reaction-button.pass{border-color:#e8efdd73}.warn-text{color:var(--warn)}.accent-text{color:#ffe492}.tile-sprite{padding:0;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28)) drop-shadow(0 6px 10px rgba(0,0,0,.12));transition:transform .12s ease,filter .12s ease}.tile-sprite:focus,.tile-sprite:focus-visible,.action-button:focus,.action-button:focus-visible,.reaction-choice:focus,.reaction-choice:focus-visible{outline:none;box-shadow:none}.tile-sprite.small{width:34px;height:48px}.tile-sprite.tiny{width:27px;height:39px}.tile-sprite.compact{width:36px;height:52px}.tile-sprite.normal{width:44px;height:64px}.tile-sprite.large{width:56px;height:80px}.tile-sprite svg{width:100%;height:100%;display:block}.tile-frame{position:relative;width:100%;height:100%;display:block;border-radius:6px;overflow:hidden;transform-origin:center;box-shadow:inset 0 1px #ffffff47,inset -1px -1px #3125121f}.tile-frame.back{filter:saturate(.95) brightness(.94)}.tile-artwork-svg{width:100%;height:100%;display:block}.tile-sprite.selected{transform:translateY(-4px)}.tile-sprite.highlight{filter:drop-shadow(0 0 6px rgba(235,199,104,.58)) drop-shadow(0 4px 8px rgba(0,0,0,.2))}.tile-sprite.admin-danger{filter:drop-shadow(0 0 1px rgba(255,102,102,.95)) drop-shadow(0 0 8px rgba(255,70,70,.72)) drop-shadow(0 0 16px rgba(255,52,52,.46))}.tile-sprite.pulse{animation:tile-pop .55s ease-out}.tile-sprite.transparent .tile-frame{opacity:.58;box-shadow:inset 0 1px #ffffff8a,inset 0 0 0 1px #c3e6de94,inset -1px -1px #23352f29}.tile-sprite.transparent .tile-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff70,#ffffff14 38%,#a8e5d647),repeating-linear-gradient(135deg,#ffffff26 0 6px,#ffffff08 6px 12px);mix-blend-mode:screen;pointer-events:none}.tile-sprite.orientation-sideways.small{width:48px;height:34px}.tile-sprite.orientation-sideways.tiny{width:39px;height:27px}.tile-sprite.orientation-sideways.compact{width:52px;height:36px}.tile-sprite.orientation-sidewaysFlipped.small{width:48px;height:34px}.tile-sprite.orientation-sidewaysFlipped.tiny{width:39px;height:27px}.tile-sprite.orientation-sidewaysFlipped.compact{width:52px;height:36px}.tile-sprite.orientation-upsideDown .tile-frame,.tile-sprite.orientation-sidewaysFlipped .tile-frame{transform:rotate(180deg)}.tile-sprite.indicator .tile-frame{filter:drop-shadow(0 0 .5px #d0aa4b) drop-shadow(0 0 5px rgba(208,170,75,.4))}.tile-dark,.tile-green,.tile-red{font-family:"Noto Serif SC","Source Han Serif SC",serif;font-weight:700}.tile-dark{fill:#1a342a}.tile-green{fill:#286a49}.tile-red{fill:#c5392f}.tile-suit{font-size:18px}.tile-honor{font-size:28px}.tile-man-number,.tile-man-suit,.tile-honor-glyph{font-family:Kaiti SC,STKaiti,KaiTi,"Noto Serif SC",serif;font-weight:700}.tile-man-number{font-size:29px;letter-spacing:1px}.tile-man-suit{font-size:25px}.tile-honor-glyph{font-size:33px}.reaction-modal,.result-overlay{position:fixed;inset:0;padding:24px;display:grid;place-items:center;background:#0000008f}.result-overlay{z-index:40}.reaction-modal{z-index:60}.reaction-dialog,.result-card{width:min(620px,calc(100vw - 32px));padding:16px}.reaction-dialog{display:grid;gap:12px}.choice-dialog{width:min(540px,calc(100vw - 28px))}.reaction-dialog-target{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.reaction-dialog-body,.result-body{display:flex;flex-wrap:wrap;gap:8px}.choice-dialog-body{justify-content:center}.reaction-choice{min-width:88px;display:grid;justify-items:center;align-content:center;gap:6px;padding:8px 12px}.choice-option{min-width:132px}.reaction-choice-title{font-weight:700}.reaction-choice-tiles{display:inline-flex;align-items:center;gap:4px}.reaction-choice.pass{border-color:#e8efdd61}.result-card{display:grid;gap:12px}.result-card h2{font-size:1.5rem}.result-body{color:var(--muted);flex-direction:column}.result-body p{margin:0}.result-line{padding:8px;border:1px solid rgba(232,239,221,.14);background:#ffffff08;display:grid;gap:4px}.result-win-card>strong,.result-line>strong{font-size:1.2rem;color:var(--text)}.result-win-card{padding:10px;border:1px solid rgba(232,239,221,.14);background:#ffffff08;display:grid;gap:6px}.result-scoreline{font-size:1.22rem;font-weight:800;color:#ffe492;letter-spacing:.02em}.result-pointline{font-size:1rem;color:var(--text)}.result-indicator-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.result-detail-list{display:grid;gap:4px}.result-transfer-list,.result-tenpai-list{display:grid;gap:6px}.match-result-list{display:grid;gap:8px}.match-result-row{padding:10px 12px;border:1px solid rgba(232,239,221,.14);background:#ffffff08;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.match-result-row span{color:var(--muted);white-space:nowrap}.match-result-row.winner{border-color:#ebc7686b;background:#ebc76814}.result-transfer-item{padding:6px 8px;border-left:2px solid rgba(232,239,221,.28);background:#ffffff08;color:var(--text)}.result-transfer-item.bonus{border-left-color:#ebc768b8;color:#ffe492}.result-transfer-item.draw{border-left-color:#91d6ffb8}.result-tenpai-entry{display:grid;gap:6px}.result-wait-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--text)}.result-hand-card{padding:8px;border:1px solid rgba(232,239,221,.14);background:#ffffff08}.result-hand-band,.result-hand-tiles{display:flex;align-items:flex-end;gap:6px;flex-wrap:wrap}.result-hand-draw-slot{margin-left:6px}.result-detail-row{display:flex;justify-content:space-between;gap:12px;font-size:1rem}.result-detail-row strong{font-size:1.08rem;color:#ffe492}.result-detail-row.reveal{opacity:0;transform:translateY(8px);animation:result-detail-in .36s ease-out forwards}.seat-action-cue{position:absolute;z-index:6;border:2px solid rgba(235,199,104,.86);background:#0f1613eb;color:#ffe492;padding:18px 38px;min-width:182px;text-align:center;font-size:1.46rem;font-weight:700;letter-spacing:.08em;box-shadow:0 18px 36px #00000057;pointer-events:none;animation:cue-fade 2.15s ease-out forwards}.seat-action-cue.on-river.top,.seat-action-cue.on-river.left,.seat-action-cue.on-river.right,.seat-action-cue.on-river.bottom{top:50%;left:50%;transform:translate(-50%,-50%)}.opponent-band.recent-tsumogiri .opponent-draw-slot .tile-sprite{animation:opponent-draw-tile .76s cubic-bezier(.16,1,.3,1)}.opponent-band.recent-tsumogiri .opponent-draw-slot{filter:drop-shadow(0 0 10px rgba(145,214,255,.34))}.opponent-band.recent-tedashi .opponent-hand-row{animation:opponent-hand-shift .76s cubic-bezier(.16,1,.3,1);filter:drop-shadow(0 0 10px rgba(255,232,146,.22))}.discard-cell.latest.pulse,.focus-pill.pulse{animation:focus-pulse .7s ease-out}@keyframes tile-pop{0%{transform:translateY(-10px) scale(1.06)}to{transform:translateY(0) scale(1)}}@keyframes focus-pulse{0%{box-shadow:0 0 #ebc7686b}to{box-shadow:0 0 0 14px #ebc76800}}@keyframes result-detail-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cue-fade{0%{opacity:0;scale:.8}20%{opacity:1;scale:1.12}to{opacity:0;scale:1}}@keyframes river-tsumogiri{0%{transform:translateY(-22px) scale(1.08);filter:drop-shadow(0 0 16px rgba(145,214,255,.56))}55%{transform:translateY(2px) scale(1.02)}to{transform:translateY(0);filter:none}}@keyframes river-tedashi{0%{transform:translate(-16px) scale(1.08);filter:drop-shadow(0 0 14px rgba(255,232,146,.48))}55%{transform:translate(3px) scale(1.02)}to{transform:translate(0) scale(1);filter:none}}@keyframes opponent-draw-tile{0%{transform:translateY(-16px) scale(1.08)}50%{transform:translateY(3px) scale(1.02)}to{transform:translateY(0)}}@keyframes opponent-hand-shift{0%{transform:translate(-16px)}40%{transform:translate(8px)}to{transform:translate(0)}}@keyframes reaction-river-glow{0%{transform:scale(1)}to{transform:scale(1.03)}}@media(max-width:1400px){.tenhou-board{grid-template-columns:156px minmax(480px,1fr) 156px}.center-table-layout{width:max-content}.self-inner{width:min(640px,calc(100% - 80px))}}@media(max-width:1180px){.lobby-form-grid,.room-seat-grid{grid-template-columns:1fr}.room-card,.room-list-head{flex-direction:column;align-items:flex-start}.focus-pill{align-items:flex-start;flex-direction:column}.table-page{overflow:auto}.tenhou-board{min-width:900px;min-height:640px;grid-template-columns:146px minmax(500px,1fr) 146px;grid-template-rows:minmax(62px,auto) 1fr minmax(74px,auto);gap:5px}.center-table-layout{grid-template-columns:104px 150px 104px;grid-template-rows:104px 150px 104px;gap:3px}.river-panel.top,.river-panel.bottom{width:150px;min-width:150px;height:104px}.river-panel.left,.river-panel.right{width:104px;min-width:104px;height:150px}.table-status-box{width:146px;min-width:146px;height:146px}.status-seat-chip.left,.status-seat-chip.right{width:18px}.status-core{inset:22px 10px}.status-round{font-size:1.02rem}.status-meta{font-size:.6rem}.dora-shelf{top:8px;left:0}.tile-sprite.compact{width:32px;height:46px}.tile-sprite.normal{width:40px;height:58px}.tile-sprite.small{width:30px;height:43px}.tile-sprite.tiny{width:24px;height:35px}.tile-sprite.orientation-sideways.compact,.tile-sprite.orientation-sidewaysFlipped.compact{width:46px;height:32px}.tile-sprite.orientation-sideways.small,.tile-sprite.orientation-sidewaysFlipped.small{width:43px;height:30px}.tile-sprite.orientation-sideways.tiny,.tile-sprite.orientation-sidewaysFlipped.tiny{width:35px;height:24px}.opponent-draw-placeholder.small{width:30px;height:43px}.opponent-draw-placeholder.tiny{width:24px;height:35px}.opponent-draw-placeholder.orientation-sideways,.opponent-draw-placeholder.orientation-sidewaysFlipped{width:35px;height:24px}.self-inner{width:min(620px,calc(100% - 54px))}.self-control-row,.self-control-left,.self-control-right{min-height:58px}.draw-slot{width:34px;min-width:34px;margin-left:6px}.draw-placeholder{width:30px;height:46px}.action-button{min-width:104px;min-height:50px;padding:9px 14px;font-size:.94rem}.table-auto-panel{left:10px;bottom:82px}.table-auto-button{min-width:68px;min-height:48px;font-size:1rem}.player-nameplate{padding:5px 8px}.player-nameplate-badge{width:24px;height:24px;font-size:.7rem}.player-nameplate-copy strong{font-size:.8rem}.player-nameplate-copy span{font-size:.68rem}.lobby-panel,.create-room-dialog{width:min(100%,860px)}}@media(max-width:900px){.lobby-page{padding:16px 12px}.lobby-panel,.create-room-dialog{padding:16px}.create-room-dialog.setup-dialog{max-height:min(90dvh,100%)}.rules-yaku-list,.rules-note-grid,.quantum-preset-grid{grid-template-columns:1fr}.rules-score-row{grid-template-columns:82px 1.2fr repeat(4,minmax(72px,1fr));font-size:.84rem;overflow-x:auto}.rules-score-matrix-row{grid-template-columns:72px repeat(4,minmax(180px,1fr));font-size:.84rem}.table-page{padding:6px}.tenhou-board{min-width:760px;min-height:560px;grid-template-columns:114px minmax(420px,1fr) 114px;grid-template-rows:minmax(52px,auto) 1fr minmax(68px,auto);padding:6px;gap:4px}.center-table-layout{grid-template-columns:84px 128px 84px;grid-template-rows:84px 128px 84px}.river-panel.top,.river-panel.bottom{width:128px;min-width:128px;height:84px}.river-panel.left,.river-panel.right{width:84px;min-width:84px;height:128px}.table-status-box{width:124px;min-width:124px;height:124px}.status-seat-chip.top,.status-seat-chip.bottom{width:100%}.status-seat-chip.left,.status-seat-chip.right{width:16px}.status-seat-chip span,.status-seat-chip strong,.status-seat-chip-inline strong{font-size:.7rem}.status-core{inset:18px 8px;gap:4px}.status-round{font-size:.92rem}.status-meta{gap:2px 3px;font-size:.56rem}.status-match-current{min-width:2.8rem;padding:1px 6px;font-size:.56rem}.dora-shelf{padding:3px 5px}.dora-shelf-title{font-size:.58rem}.tile-sprite.compact{width:28px;height:40px}.tile-sprite.normal{width:35px;height:50px}.tile-sprite.small{width:25px;height:36px}.tile-sprite.tiny{width:20px;height:29px}.tile-sprite.orientation-sideways.compact,.tile-sprite.orientation-sidewaysFlipped.compact{width:40px;height:28px}.tile-sprite.orientation-sideways.small,.tile-sprite.orientation-sidewaysFlipped.small{width:36px;height:25px}.tile-sprite.orientation-sideways.tiny,.tile-sprite.orientation-sidewaysFlipped.tiny{width:29px;height:20px}.opponent-draw-placeholder.small{width:25px;height:36px}.opponent-draw-placeholder.tiny{width:20px;height:29px}.opponent-draw-placeholder.orientation-sideways,.opponent-draw-placeholder.orientation-sidewaysFlipped{width:29px;height:20px}.meld-row{gap:4px}.meld-chip{gap:2px;padding:2px}.player-nameplate{padding:4px 7px;gap:6px}.player-nameplate-badge{width:22px;height:22px}.player-nameplate-copy strong{font-size:.74rem}.player-nameplate-copy span{font-size:.62rem}.self-inner{width:min(520px,calc(100% - 24px));padding-inline:0}.self-control-row{min-height:52px;gap:8px}.self-control-left,.self-control-right{min-height:52px;gap:6px}.player-nameplate.self{min-height:40px;padding-inline:10px}.self-timer-chip{padding:5px 10px;gap:8px}.self-timer-chip strong{font-size:.82rem}.self-timer-chip span{font-size:.72rem}.self-state-chip{min-height:40px;padding:0 12px;font-size:.84rem}.draw-slot{width:30px;min-width:30px;margin-left:5px}.draw-placeholder{width:28px;height:40px}.action-strip{gap:6px}.action-button{min-width:92px;min-height:44px;padding:8px 12px;gap:4px;font-size:.86rem}.table-auto-panel{left:8px;bottom:72px;gap:8px}.table-auto-button{min-width:58px;min-height:42px;font-size:.88rem}.seat-action-cue{min-width:136px;padding:12px 22px;font-size:1.04rem}}@media(max-width:640px){.lobby-page{padding:10px;place-items:start stretch}.create-room-modal{align-items:flex-end;padding:8px}.lobby-panel,.create-room-dialog{padding:14px}.lobby-panel{gap:14px}.create-room-dialog.setup-dialog{width:100%;max-height:min(92dvh,100%);gap:12px}.create-room-body{padding-right:2px;gap:12px}.lobby-meta-row,.room-list-head,.room-card{align-items:flex-start;flex-direction:column}.room-card{gap:10px}.button-row,.lobby-nav{width:100%}.rule-checkbox-grid{grid-template-columns:1fr}.rule-checkbox-row{min-height:34px;padding:5px 8px}.lobby-nav button,.button-row button{flex:1 1 0}.lobby-create-row{position:sticky;bottom:0;z-index:1;margin-top:2px;padding-top:8px;background:linear-gradient(180deg,#09302200,#093022fa 32%)}.table-page{padding:4px}.tenhou-board{min-width:690px;min-height:520px}}@media(max-width:640px)and (orientation:portrait){.table-page.portrait-mobile{position:relative;min-height:100dvh;height:100dvh;padding:0;overflow:hidden}.tenhou-board.portrait-mobile{position:absolute;top:50%;left:50%;width:100dvh;height:100dvw;min-width:100dvh;min-height:100dvw;padding:6px;transform:translate(-50%,-50%) rotate(90deg);transform-origin:center center;grid-template-columns:92px minmax(0,1fr) 92px;grid-template-rows:minmax(42px,auto) 1fr minmax(60px,auto);gap:4px}.table-page.portrait-mobile .table-top-actions{top:6px;right:6px;gap:6px}.table-page.portrait-mobile .table-back-button,.table-page.portrait-mobile .table-settings-button{padding:5px 10px;font-size:.78rem}.table-page.portrait-mobile .table-auto-panel{top:40px;left:8px;bottom:auto;z-index:7;display:flex;flex-wrap:wrap;gap:6px}.table-page.portrait-mobile .table-auto-button{min-width:48px;min-height:36px;font-size:.78rem}.table-page.portrait-mobile .center-table-layout{grid-template-columns:74px 112px 74px;grid-template-rows:74px 112px 74px;gap:3px}.table-page.portrait-mobile .river-panel.top,.table-page.portrait-mobile .river-panel.bottom{width:112px;min-width:112px;height:74px}.table-page.portrait-mobile .river-panel.left,.table-page.portrait-mobile .river-panel.right{width:74px;min-width:74px;height:112px}.table-page.portrait-mobile .table-status-box{width:108px;min-width:108px;height:108px}.table-page.portrait-mobile .status-seat-chip.left,.table-page.portrait-mobile .status-seat-chip.right{width:14px}.table-page.portrait-mobile .status-seat-chip span,.table-page.portrait-mobile .status-seat-chip strong,.table-page.portrait-mobile .status-seat-chip-inline strong{font-size:.62rem}.table-page.portrait-mobile .status-core{inset:16px 8px;gap:3px}.table-page.portrait-mobile .status-round{font-size:.82rem}.table-page.portrait-mobile .status-meta,.table-page.portrait-mobile .status-match-current{font-size:.52rem}.table-page.portrait-mobile .dora-shelf{top:6px;left:0;padding:2px 4px}.table-page.portrait-mobile .dora-shelf-title{font-size:.52rem}.table-page.portrait-mobile .tile-sprite.compact{width:24px;height:34px}.table-page.portrait-mobile .tile-sprite.normal{width:30px;height:42px}.table-page.portrait-mobile .tile-sprite.small{width:22px;height:31px}.table-page.portrait-mobile .tile-sprite.tiny{width:18px;height:25px}.table-page.portrait-mobile .tile-sprite.orientation-sideways.compact,.table-page.portrait-mobile .tile-sprite.orientation-sidewaysFlipped.compact{width:34px;height:24px}.table-page.portrait-mobile .tile-sprite.orientation-sideways.small,.table-page.portrait-mobile .tile-sprite.orientation-sidewaysFlipped.small{width:31px;height:22px}.table-page.portrait-mobile .tile-sprite.orientation-sideways.tiny,.table-page.portrait-mobile .tile-sprite.orientation-sidewaysFlipped.tiny{width:25px;height:18px}.table-page.portrait-mobile .opponent-draw-placeholder.small{width:22px;height:31px}.table-page.portrait-mobile .opponent-draw-placeholder.tiny{width:18px;height:25px}.table-page.portrait-mobile .opponent-draw-placeholder.orientation-sideways,.table-page.portrait-mobile .opponent-draw-placeholder.orientation-sidewaysFlipped{width:25px;height:18px}.table-page.portrait-mobile .player-nameplate{padding:3px 6px;gap:5px}.table-page.portrait-mobile .player-nameplate-badge{width:18px;height:18px;font-size:.58rem}.table-page.portrait-mobile .player-nameplate-copy strong{font-size:.64rem}.table-page.portrait-mobile .player-nameplate-copy span{font-size:.54rem}.table-page.portrait-mobile .self-inner{width:min(436px,calc(100% - 12px))}.table-page.portrait-mobile .self-control-row{min-height:42px;gap:4px 8px;flex-wrap:wrap;justify-content:center;position:relative;z-index:8}.table-page.portrait-mobile .self-control-left,.table-page.portrait-mobile .self-control-right{width:100%;min-height:0;gap:6px;justify-content:center}.table-page.portrait-mobile .self-control-left{order:2}.table-page.portrait-mobile .self-control-right{order:1}.table-page.portrait-mobile .self-timer-chip{padding:4px 8px;gap:6px}.table-page.portrait-mobile .self-timer-chip strong,.table-page.portrait-mobile .self-timer-chip span,.table-page.portrait-mobile .self-state-chip{font-size:.68rem}.table-page.portrait-mobile .draw-slot{width:26px;min-width:26px;margin-left:4px}.table-page.portrait-mobile .draw-placeholder{width:24px;height:34px}.table-page.portrait-mobile .action-strip{width:100%;justify-content:center;gap:5px}.table-page.portrait-mobile .action-button{min-width:68px;min-height:36px;padding:6px 8px;gap:2px;font-size:.72rem}.table-page.portrait-mobile .reaction-button{min-width:58px}.table-page.portrait-mobile .choice-option{min-width:92px}.table-page.portrait-mobile .seat-action-cue{min-width:108px;padding:8px 14px;font-size:.88rem}}
