@property --overlay-backdrop-tint{syntax: "<color>"; inherits: true; initial-value: rgba(4,10,18,.095);}@property --overlay-backdrop-blur{syntax: "<length>"; inherits: true; initial-value: 2px;}@property --overlay-backdrop-saturate{syntax: "<number>"; inherits: true; initial-value: 1.075;}:root{--bg-deep: #081625;--bg-mid: #143a5c;--bg-high: #1f5a85;--ink: #eaf2f7;--ink-dim: #9db8cc;--gold: #f0c75a;--gold-deep: #c79a2e;--gold-bright: #ffe9a8;--score: #ffe08a;--tile-edge: #1f8a70;--tile-edge-dark: #14604e;--glow-turn: rgba(240, 199, 90, .55);--felt-green: #11503a;--felt-green-deep: #0a3326;--wood-warm: #5a3a22;--accent-jade: #2fb98a;--accent-red: #e0503e;--glass-bg: rgba(12, 28, 46, .38);--glass-bg-strong: rgba(10, 24, 40, .48);--glass-panel-tint-top: rgba(32, 72, 110, .22);--glass-panel-tint-bottom: rgba(8, 22, 38, .28);--glass-inset-bg: rgba(255, 255, 255, .06);--glass-blur: blur(20px) saturate(1.45);--glass-blur-soft: blur(12px) saturate(1.3);--glass-border: rgba(255, 255, 255, .14);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .18);--glass-shadow: 0 12px 40px rgba(0, 0, 0, .5);--panel-bg: var(--glass-bg);--panel-border: var(--glass-border);--overlay-backdrop-tint: rgba(4, 10, 18, .095);--overlay-backdrop-blur: 2px;--overlay-backdrop-saturate: 1.075;--overlay-backdrop-filter: blur(var(--overlay-backdrop-blur)) saturate(var(--overlay-backdrop-saturate));--pond-dial-rows: 6;--pond-dial-gap: 2px;--pond-dial-tile-w: 40px;--pond-dial-size: calc(var(--pond-dial-rows) * var(--pond-dial-tile-w) + (var(--pond-dial-rows) - 1) * var(--pond-dial-gap))}html{transition:--overlay-backdrop-tint .25s ease,--overlay-backdrop-blur .25s ease,--overlay-backdrop-saturate .25s ease}html.no-frosted-glass{--glass-bg: rgba(14, 34, 54, .97);--glass-bg-strong: rgba(10, 24, 40, .98);--glass-panel-tint-top: rgba(26, 56, 86, .92);--glass-panel-tint-bottom: rgba(8, 22, 38, .98);--glass-inset-bg: rgba(255, 255, 255, .05);--glass-blur: none;--glass-blur-soft: none;--panel-bg: rgba(14, 34, 54, .97);--overlay-backdrop-tint: rgba(4, 10, 18, .72);--overlay-backdrop-blur: 0px;--overlay-backdrop-saturate: 1}html.no-frosted-glass .pond-seat-info-shape-frost{-webkit-backdrop-filter:none;backdrop-filter:none}html.no-frosted-glass input,html.no-frosted-glass select{background:#081828e0}html.no-frosted-glass .lobby-screen input,html.no-frosted-glass .lobby-screen select{background:var(--lobby-surface-input);backdrop-filter:none;-webkit-backdrop-filter:none}html.no-frosted-glass .btn-secondary{background:linear-gradient(180deg,#346490f2,#1e4264f2);backdrop-filter:none;-webkit-backdrop-filter:none}html.no-frosted-glass .btn-ghost:hover:not(:disabled){background:#1e4264e0;backdrop-filter:none;-webkit-backdrop-filter:none}html.no-frosted-glass .panel input,html.no-frosted-glass .panel select,html.no-frosted-glass .panel textarea,html.no-frosted-glass .overlay-panel input,html.no-frosted-glass .overlay-panel select,html.no-frosted-glass .overlay-panel textarea,html.no-frosted-glass .overlay-panel .wall-viewer-text{background:#081828e0}html.no-frosted-glass .self-hint-zuhelong-bubble,html.no-frosted-glass .self-hint-realistic-bubble{background:linear-gradient(180deg,#1a3856f2,#0e2236f2);backdrop-filter:none;-webkit-backdrop-filter:none}.glass-inset-surface{border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}#root{position:relative;z-index:1}body{font-family:Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif;background:radial-gradient(ellipse 90% 70% at 50% 28%,#f0c75a1a,#143a5c00 55%),radial-gradient(ellipse 120% 90% at 50% 30%,#60aae142,#143a5c00 55%),radial-gradient(ellipse at 50% 112%,#286ea059,#08162500 60%),linear-gradient(180deg,#1d4a73,#12304d 45%,#081625);background-attachment:fixed;color:var(--ink);-webkit-font-smoothing:antialiased;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true],.hover-tip.is-locked,.wall-viewer-text,.algo-code-pre code{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.5;background-image:radial-gradient(rgba(255,255,255,.025) 1px,transparent 1px),radial-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:3px 3px,7px 7px;background-position:0 0,1px 2px;mix-blend-mode:screen}@media(prefers-reduced-motion:reduce){body:before{display:none}}button{font-family:inherit;cursor:pointer;border:none;border-radius:10px;color:#fff;transition:filter .12s ease,transform .12s ease,box-shadow .15s ease}button:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.45}input,select{font-family:inherit;background:#08182852;border:1px solid var(--glass-border);color:var(--ink);border-radius:8px;padding:8px 10px;font-size:14px;backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}input:focus,select:focus{outline:2px solid var(--gold);outline-offset:1px}.screen{height:100%;box-sizing:border-box;display:flex;flex-direction:column;padding:clamp(8px,2.5vmin,24px);overflow:hidden}.screen-fit{flex:1 1 auto;width:100%;min-height:0;display:flex;align-items:center;justify-content:center}.panel,.overlay-panel{position:relative;isolation:isolate;background:transparent;border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),0 0 48px #5096dc1a}.panel:before,.overlay-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;pointer-events:none;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(180deg,var(--glass-panel-tint-top) 0%,var(--glass-panel-tint-bottom) 100%),var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight)}.panel{--panel-fit: 1;flex:none;border-radius:calc(20px * var(--panel-fit));padding:calc(30px * var(--panel-fit)) calc(34px * var(--panel-fit));overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:calc(14px * var(--panel-fit))}.panel-message{align-items:center;justify-content:center;text-align:center;overflow:hidden;font-size:calc(14px * var(--panel-fit, 1));line-height:1.5}@keyframes menu-panel-fade-in{0%{transform:translateY(calc(14px * var(--panel-fit, 1)))}to{transform:translateY(0)}}.panel.menu-panel-enter{animation:menu-panel-fade-in .56s cubic-bezier(.22,1,.36,1) both;overflow-y:hidden}.panel.menu-panel-enter>*{flex-shrink:0}.brand-title{font-size:calc(34px * var(--panel-fit, 1));font-weight:800;letter-spacing:calc(4px * var(--panel-fit, 1));text-align:center;margin:0;background:linear-gradient(180deg,#ffe9a8 10%,var(--gold) 55%,#b9871f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 12px rgba(240,199,90,.25)}.brand-sub{text-align:center;color:var(--ink-dim);margin:0 0 calc(6px * var(--panel-fit, 1));font-size:calc(13px * var(--panel-fit, 1));letter-spacing:calc(1px * var(--panel-fit, 1))}.panel h2{margin:0 0 calc(4px * var(--panel-fit, 1));font-size:calc(19px * var(--panel-fit, 1));color:#ffe9c4}.panel h3{margin:calc(8px * var(--panel-fit, 1)) 0 calc(2px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1));color:#aed0e8;font-weight:600}.menu-list{display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1))}.room-actions{justify-content:space-between;align-items:center;width:100%;margin-top:calc(4px * var(--panel-fit, 1))}.room-actions-primary{flex:1 1 auto;min-width:0}.room-actions-nav{flex:0 0 auto;justify-content:flex-end}.room-hint{margin:calc(-6px * var(--panel-fit, 1)) 0 0}.rule-config-view-hint{margin:0 0 calc(10px * var(--panel-fit, 1));font-size:calc(13px * var(--panel-fit, 1))}.rule-config-view-body{flex:1;min-height:0;overflow-y:auto;margin-bottom:calc(12px * var(--panel-fit, 1))}.rule-config-view-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:calc(6px * var(--panel-fit, 1));font-size:calc(13px * var(--panel-fit, 1));line-height:1.45}.rule-config-view-footer{display:flex;justify-content:flex-end}.rule-config-view-panel{display:flex;flex-direction:column;max-height:min(90vh,calc(640px * var(--panel-fit, 1)))}.mode-picker-body{flex:1 1 auto;min-height:0;display:flex;gap:calc(14px * var(--panel-fit, 1));overflow:hidden}.mode-picker-family-rail{flex:0 0 calc(180px * var(--panel-fit, 1));min-height:0;display:flex;flex-direction:column;gap:calc(6px * var(--panel-fit, 1));overflow-y:auto;padding-right:calc(4px * var(--panel-fit, 1));border-right:1px solid rgba(130,190,235,.16)}.mode-picker-family-item{display:flex;align-items:center;justify-content:space-between;gap:calc(8px * var(--panel-fit, 1));width:100%;padding:calc(10px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);color:#fff;font:inherit;font-size:calc(14px * var(--panel-fit, 1));text-align:left;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.mode-picker-family-item:hover{background:#ffffff1a;border-color:#f0c75a59}.mode-picker-family-item.selected{background:#ffe08a1f;border-color:var(--gold);box-shadow:0 0 10px #f0c75a1a}.mode-picker-family-name{font-weight:600}.mode-picker-family-count{font-size:calc(12px * var(--panel-fit, 1));color:var(--ink-dim)}.mode-picker-family-item.selected .mode-picker-family-count{color:var(--gold)}.mode-picker-list{flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1));padding-right:calc(2px * var(--panel-fit, 1))}.mode-picker-list .menu-mode-entry{flex-shrink:0}@media(max-width:640px){.mode-picker-body{flex-direction:column}.mode-picker-family-rail{flex:0 0 auto;width:auto;flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid rgba(130,190,235,.16);padding-right:0;padding-bottom:calc(8px * var(--panel-fit, 1))}.mode-picker-family-item{flex:1 1 auto}}.menu-mode-entry{display:flex;align-items:stretch;gap:0;width:100%;color:var(--ink)}.menu-mode-entry-main{flex:1 1 auto;margin:0;padding:calc(12px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-inset-bg);color:var(--ink);font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:calc(5px * var(--panel-fit, 1));position:relative;overflow:hidden;backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.menu-mode-entry-main:before{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(3px * var(--panel-fit, 1));background:transparent;transition:background .16s ease}.menu-mode-entry-main:hover:not(:disabled){border-color:var(--gold);background:#ffffff1a;box-shadow:0 4px 16px #0000004d,0 0 12px #f0c75a38}.menu-mode-entry-main:hover:not(:disabled):before{background:#f0c75a8c}.menu-mode-entry.selected .menu-mode-entry-main{border-color:var(--gold);background:#ffe08a1f;box-shadow:0 6px 20px #00000059,0 0 16px #f0c75a52,inset 0 0 12px #f0c75a1a}.menu-mode-entry.selected .menu-mode-entry-main:before{background:var(--gold)}.menu-mode-entry.unavailable{opacity:.52}.menu-mode-entry.unavailable .menu-mode-entry-main{cursor:not-allowed}.menu-mode-entry-top{display:flex;justify-content:space-between;align-items:baseline;gap:calc(10px * var(--panel-fit, 1))}.menu-mode-entry-name{font-size:calc(15px * var(--panel-fit, 1));font-weight:600}.menu-mode-entry-meta{font-size:calc(12px * var(--panel-fit, 1));color:var(--ink-dim);white-space:nowrap}.menu-mode-entry-desc{font-size:calc(12px * var(--panel-fit, 1));color:var(--ink-dim);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-mode-entry--has-tip{cursor:help}.menu-mode-entry-badge{display:inline-block;margin-top:calc(4px * var(--panel-fit, 1));padding:calc(2px * var(--panel-fit, 1)) calc(7px * var(--panel-fit, 1));border-radius:calc(6px * var(--panel-fit, 1));background:#f0c75a26;border:1px solid rgba(240,199,90,.4);color:var(--gold);font-size:calc(11px * var(--panel-fit, 1));font-weight:600}.menu-actions-row{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(10px * var(--panel-fit, 1));margin-top:calc(2px * var(--panel-fit, 1))}.menu-chip{display:inline-flex;align-items:center;gap:calc(7px * var(--panel-fit, 1));padding:calc(8px * var(--panel-fit, 1)) calc(16px * var(--panel-fit, 1));font-size:calc(13.5px * var(--panel-fit, 1));font-weight:600;color:var(--ink);background:#ffffff0f;border:1px solid var(--glass-border);border-radius:calc(11px * var(--panel-fit, 1));backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}.menu-chip:hover:not(:disabled){border-color:#f0c75a8c;background:#ffffff1a}.menu-chip-icon{font-size:calc(15px * var(--panel-fit, 1));line-height:1;opacity:.9}.menu-footer-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:calc(8px * var(--panel-fit, 1));margin-top:calc(2px * var(--panel-fit, 1))}.menu-link{background:transparent;border:none;color:var(--ink-dim);font-size:calc(12px * var(--panel-fit, 1));padding:calc(3px * var(--panel-fit, 1)) calc(4px * var(--panel-fit, 1));border-radius:6px}.menu-link:hover:not(:disabled){color:var(--ink);filter:none}.menu-link--debug-on{color:#a9d6ff}.menu-footer-sep{color:#9db8cc66;font-size:calc(12px * var(--panel-fit, 1))}.debug-hand-modal-body{gap:calc(10px * var(--panel-fit, 1))}.debug-hand-modal-input{width:100%;resize:vertical;min-height:calc(110px * var(--panel-fit, 1));font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.45;color:#fff}.debug-hand-modal-input:focus{outline:none;border-color:#fff6}.debug-hand-modal-help{margin:0}.debug-hand-modal-error{margin:0;color:#ff9d8a;font-size:calc(13px * var(--panel-fit, 1));font-weight:600}.menu-appearance-btn{font-weight:650}.menu-appearance-label{background:linear-gradient(90deg,#ff6b6b,#ffa94d,#ffd43b,#69db7c,#4dabf7,#b197fc,#ff6b6b,#ffa94d,#ffd43b,#69db7c,#4dabf7,#b197fc);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:menu-appearance-rainbow 4s linear infinite;filter:drop-shadow(0 0 6px rgba(255,255,255,.25))}.menu-appearance-btn:hover:not(:disabled) .menu-appearance-label{filter:drop-shadow(0 0 9px rgba(255,255,255,.38))}@keyframes menu-appearance-rainbow{0%{background-position:0% 50%}to{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){.menu-appearance-label{animation:none;color:var(--ink);background:none;filter:none}}.menu-item{display:flex;justify-content:space-between;align-items:center;gap:calc(12px * var(--panel-fit, 1));background:var(--glass-inset-bg);border:1px solid rgba(94,160,210,.28);color:var(--ink);padding:calc(14px * var(--panel-fit, 1)) calc(18px * var(--panel-fit, 1));font-size:calc(15px * var(--panel-fit, 1));font-weight:600;text-align:left;border-radius:calc(14px * var(--panel-fit, 1));position:relative;overflow:hidden;backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);transition:filter .12s ease,transform .14s cubic-bezier(.2,.9,.3,1.2),box-shadow .16s ease,border-color .16s ease,background .16s ease}.menu-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(3px * var(--panel-fit, 1));background:transparent;transition:background .16s ease}.menu-item:hover:not(:disabled){border-color:var(--gold);transform:translate(calc(2px * var(--panel-fit, 1)));box-shadow:0 4px 16px #0000004d,0 0 12px #f0c75a38}.menu-item:hover:not(:disabled):before{background:#f0c75a8c}.menu-item .hint{color:var(--ink-dim);font-size:calc(12px * var(--panel-fit, 1));font-weight:500}.menu-item.selected{border-color:var(--gold);background:#ffe08a1f;box-shadow:0 6px 20px #00000059,0 0 16px #f0c75a52,inset 0 0 12px #f0c75a1a}.menu-item.selected:before{background:var(--gold)}.panel .btn-primary{font-size:calc(15px * var(--panel-fit, 1));letter-spacing:calc(1px * var(--panel-fit, 1));padding:calc(12px * var(--panel-fit, 1)) calc(20px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1))}.btn-primary{background:linear-gradient(180deg,#ffd970,#e9b13d,#c08a1e);color:#3a2806;font-weight:800;font-size:15px;letter-spacing:1px;padding:12px 20px;border-radius:12px;box-shadow:0 4px 14px #e9b13d59,inset 0 1px #ffffff80}.btn-primary--hero{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 6px 22px #e9b13d73,0 0 26px #f0c75a4d,inset 0 1px #fff9}.btn-primary--hero:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 28px #e9b13d8c,0 0 34px #f0c75a6b,inset 0 1px #ffffffb3}.btn-primary-shine{position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:skew(-18deg);pointer-events:none;z-index:1;animation:btn-primary-sweep 4.5s ease-in-out infinite}@keyframes btn-primary-sweep{0%,35%{left:-60%}60%,to{left:130%}}@media(prefers-reduced-motion:reduce){.btn-primary-shine{animation:none;display:none}}.panel .btn-secondary{padding:calc(9px * var(--panel-fit, 1)) calc(16px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1))}.panel .btn-ghost{font-size:calc(13px * var(--panel-fit, 1));padding:calc(6px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1))}.panel .muted{font-size:calc(12px * var(--panel-fit, 1))}.panel .error-text{font-size:calc(13px * var(--panel-fit, 1));min-height:calc(18px * var(--panel-fit, 1))}.panel .field label{font-size:calc(12px * var(--panel-fit, 1))}.panel .field{gap:calc(5px * var(--panel-fit, 1))}.panel .row{gap:calc(10px * var(--panel-fit, 1))}.panel .segmented{gap:calc(6px * var(--panel-fit, 1))}.panel .segmented button{padding:calc(9px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1))}.panel input,.panel select,.panel textarea{font-size:calc(14px * var(--panel-fit, 1));padding:calc(8px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));border-radius:calc(8px * var(--panel-fit, 1))}.panel .room-list{gap:calc(7px * var(--panel-fit, 1));max-height:calc(320px * var(--panel-fit, 1))}.panel .room-entry{padding:calc(10px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1))}.panel .room-entry .meta{font-size:calc(12px * var(--panel-fit, 1))}.panel .player-slot{padding:calc(10px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1))}.btn-secondary{background:var(--glass-inset-bg);border:1px solid rgba(120,180,225,.45);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);box-shadow:var(--glass-highlight);color:#dcecf8;padding:9px 16px;font-size:14px;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease}.btn-secondary:hover:not(:disabled){filter:none;border-color:#78b4e1a6;background:#ffffff1a;box-shadow:0 0 10px #78b4e12e,var(--glass-highlight)}.btn-secondary:active:not(:disabled){filter:none}.btn-ghost{background:transparent;border:1px solid transparent;color:var(--ink-dim);font-size:13px;padding:6px 10px;transition:color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.btn-ghost:hover:not(:disabled){filter:none;color:var(--ink);background:var(--glass-inset-bg);border-color:var(--glass-border);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);box-shadow:var(--glass-highlight)}.btn-ghost:active:not(:disabled){filter:none}button :where(.rule-scheme-desc,.settings-back-pattern-label,.settings-riichi-stick-chip-name){color:#fff}.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.row.spread{justify-content:space-between}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;color:var(--ink-dim)}.server-url-row{width:100%}.server-url-row input{min-width:0}.server-ping-btn{flex-shrink:0;min-width:64px;padding:8px 12px;font-size:13px;font-weight:600;border-radius:8px;border:1px solid rgba(94,160,210,.45);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);box-shadow:var(--glass-highlight);color:#fff;transition:background .15s ease,border-color .15s ease,color .15s ease}.server-ping-btn:hover:not(:disabled){filter:none;background:#ffffff1a;border-color:#78b4e18c}.server-ping-btn:disabled{opacity:.72;cursor:not-allowed}.server-ping-btn--ok{background:linear-gradient(180deg,#287848f2,#185234f2);border-color:#78dc96a6;color:#fff}.server-ping-btn--fail{background:linear-gradient(180deg,#8c3030f2,#5c1c1cf2);border-color:#ff8c78a6;color:#fff}.server-ping-btn--pinging{color:#fff}.error-text{color:#ff9d8a;font-size:13px;min-height:18px;margin:0}.muted{color:var(--ink-dim);font-size:12px}.segmented{display:flex;gap:6px}.segmented button{flex:1;background:var(--glass-inset-bg);border:1px solid var(--glass-border);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);box-shadow:var(--glass-highlight);color:#fff;padding:9px 10px;font-size:14px;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.segmented button:hover:not(:disabled){filter:none;background:#ffffff1a;border-color:#78b4e173}.segmented button.active{background:#ffe08a24;border-color:var(--gold);color:#fff;font-weight:600;box-shadow:0 0 10px #f0c75a40,var(--glass-highlight)}.hover-tip{position:fixed;z-index:1000;max-width:286px;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--ink);font-size:12.5px;line-height:1.55;padding:9px 12px;border-radius:12px;box-shadow:var(--glass-shadow),var(--glass-highlight),0 0 0 1px #f0c75a1f;pointer-events:none;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);white-space:pre-line}.hover-tip--tenpai{width:max-content;max-width:min(96vw,680px);padding:8px 12px}.hover-tip--tenpai-anchored{transform-origin:center bottom}.hover-tip--theme-details{max-width:min(92vw,380px);padding:10px 12px}.hover-tip--interactive{z-index:1100}.hover-tip--anchored{opacity:0;pointer-events:none;transition:opacity 80ms ease}.hover-tip--anchored.is-visible{opacity:1;pointer-events:none}.hover-tip--theme-details.is-visible a{pointer-events:auto}.hover-tip--theme-details.is-visible.is-locked{pointer-events:auto;user-select:text;-webkit-user-select:text}.hover-tip.hover-tip--ruleset-detail{width:max-content;max-width:92vw;padding:6px 10px;white-space:nowrap}.hover-tip.hover-tip--ruleset-detail.hover-tip--anchored{transition:opacity 80ms ease}.hover-tip.hover-tip--ruleset-detail.is-visible{pointer-events:auto}.menu-ruleset-detail-tip{display:inline-block;width:max-content;max-width:100%;font-size:calc(12px * var(--panel-fit, 1));line-height:1.4;white-space:nowrap}.menu-ruleset-detail-tip a{color:var(--gold);white-space:nowrap}.menu-ruleset-detail-tip a:hover{text-decoration:underline}.tenpai-hint-body{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:100%;min-width:0}.tenpai-hint-title{color:#ffe08a;font-weight:700;font-size:14px}.discard-block-hint-detail{margin:0;text-align:center;line-height:1.55;font-size:12.5px;color:var(--ink);max-width:min(88vw,280px)}.settings-back-patterns{flex-wrap:wrap;align-items:stretch}.settings-back-pattern-btn{flex:0 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:calc(5px * var(--panel-fit, 1));padding:calc(8px * var(--panel-fit, 1)) calc(6px * var(--panel-fit, 1)) calc(7px * var(--panel-fit, 1));min-width:4.5em;font-size:calc(13px * var(--panel-fit, 1))}.settings-back-pattern-preview{width:calc(30px * var(--panel-fit, 1));height:calc(42px * var(--panel-fit, 1));margin:0;padding:0;border-bottom-width:calc(3px * var(--panel-fit, 1));flex-shrink:0;pointer-events:none}.settings-back-pattern-label{font-size:calc(12px * var(--panel-fit, 1));line-height:1.2;text-align:center}.settings-back-pattern-custom{display:flex;flex-wrap:wrap;align-items:center;gap:calc(8px * var(--panel-fit, 1))}.settings-custom-upload-block{display:flex;flex-direction:column;gap:calc(12px * var(--panel-fit, 1));flex:1 1 100%;width:100%;margin-top:calc(14px * var(--panel-fit, 1));padding-top:calc(14px * var(--panel-fit, 1));border-top:1px solid rgba(255,255,255,.1);box-sizing:border-box}.settings-custom-upload-block:not(:last-child){margin-bottom:calc(12px * var(--panel-fit, 1))}.settings-custom-upload-block .settings-note{margin:0}.settings-custom-upload-block .settings-back-pattern-custom,.settings-custom-upload-block .settings-riichi-music-row{margin-top:0}.settings-back-pattern-btn-custom.is-empty .settings-back-pattern-preview{opacity:.45}:root{--tile-body-color: #fbf7ea;--tile-back-color: #1f8a70;--tile-back-pattern: none;--tile-back-scale: 1;--tile-back-y-offset: 0;--tile-face-y-offset: 0}.tile{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:linear-gradient(168deg,color-mix(in srgb,var(--tile-body-color) 25%,#ffffff) 0%,var(--tile-body-color) 55%,color-mix(in srgb,var(--tile-body-color) 86%,#000000) 100%);border:1px solid color-mix(in srgb,var(--tile-body-color) 72%,#5a4f33);border-radius:15%/11%;box-shadow:0 3px 5px #00000073,inset 0 1px 1px #ffffffe6;-webkit-user-select:none;user-select:none;flex-shrink:0;line-height:1}.tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(115deg,#ffffff8c,#fff0 38%);pointer-events:none}.tile-transparent{background:linear-gradient(160deg,#dcf0f529,#b4d7dc1a 45%,#96bec82e);border-color:#e1f5fa8c;box-shadow:0 2px 5px #00000059,inset 0 0 0 1px #ffffff59,inset 0 1px 2px #ffffff73}.tile-transparent:after{z-index:0;background:linear-gradient(118deg,#fff0 30%,#ffffff26 44%,#fff0 48%),linear-gradient(118deg,#fff0 60%,#ffffff0d 66%,#fff0 69%)}.tile-transparent .tile-img,.tile-transparent .tile-top,.tile-transparent .tile-bottom{position:relative;z-index:1}.tile-transparent.tile-svg{overflow:hidden}.tile-transparent .tile-img:not(.tile-img-aka){filter:drop-shadow(calc(var(--tile-w, 42px) * .024) calc(var(--tile-w, 42px) * .024) calc(var(--tile-w, 42px) * .036) rgba(255,255,255,1)) contrast(1.14)}.tile-transparent .tile-img.tile-img-aka{filter:brightness(0) saturate(100%) invert(13%) sepia(89%) saturate(5479%) hue-rotate(353deg) brightness(96%) contrast(118%)}.tile-transparent .tile-top,.tile-transparent .tile-bottom{text-shadow:0 0 calc(var(--tile-w, 42px) * .071) rgba(255,255,255,1),0 0 calc(var(--tile-w, 42px) * .143) rgba(255,255,255,.75),0 calc(var(--tile-w, 42px) * .024) calc(var(--tile-w, 42px) * .024) rgba(0,0,0,.4)}.pond-dora .tile-transparent .tile-img:not(.tile-img-aka),.dora-indicator-row .tile-transparent .tile-img:not(.tile-img-aka){filter:drop-shadow(calc(var(--tile-w, 42px) * .036) 0 0 rgba(255,255,255,.8)) drop-shadow(calc(var(--tile-w, 42px) * -.036) 0 0 rgba(255,255,255,.8)) drop-shadow(0 calc(var(--tile-w, 42px) * .036) 0 rgba(255,255,255,.8)) drop-shadow(0 calc(var(--tile-w, 42px) * -.036) 0 rgba(255,255,255,.8)) contrast(1.14)}.pond-dora .tile-transparent .tile-top,.pond-dora .tile-transparent .tile-bottom,.dora-indicator-row .tile-transparent .tile-top,.dora-indicator-row .tile-transparent .tile-bottom{text-shadow:calc(var(--tile-w, 42px) * .036) 0 0 rgba(255,255,255,.8),calc(var(--tile-w, 42px) * -.036) 0 0 rgba(255,255,255,.8),0 calc(var(--tile-w, 42px) * .036) 0 rgba(255,255,255,.8),0 calc(var(--tile-w, 42px) * -.036) 0 rgba(255,255,255,.8),0 calc(var(--tile-w, 42px) * .024) 0 rgba(0,0,0,.4)}.tile-dora{overflow:hidden}.tile-dora-shine{position:absolute;left:0;top:0;width:100%;height:220%;z-index:2;pointer-events:none;background:linear-gradient(135deg,transparent 44%,rgba(255,255,255,.85) 47%,rgba(255,255,255,.85) 53%,transparent 56%);transform:translateY(-21.818%)}html.effect-lite .tile-dora-shine{opacity:.35}.table-board--dora-shimmer-paused .tile-dora-shine{transform:translateY(-21.818%)!important}.tile-lg{width:52px;height:74px;font-size:23px;--tile-w: 52px}.tile-md{width:42px;height:58px;font-size:18px;--tile-w: 42px}.tile-sm{width:30px;height:42px;font-size:13px;--tile-w: 30px}.tile-xs{width:24px;height:34px;font-size:11px;--tile-w: 24px}.tile-top{font-weight:700;position:relative;top:calc(var(--tile-face-y-offset, 0) * 1%)}.tile-bottom{font-size:.72em;font-weight:600;position:relative;top:calc(var(--tile-face-y-offset, 0) * 1%)}.tile-lg .tile-top,.tile-md .tile-top{font-size:1.15em}.suit-man .tile-top{color:#b02e20}.suit-man .tile-bottom{color:#444}.tile-wildcard{color:#c2185b}.tile-wildcard.tile-svg{overflow:hidden}.tile-wildcard-sakura{display:block;flex:none;width:calc(100% * var(--tile-face-scale, 1));height:calc(100% * var(--tile-face-scale, 1));max-width:none;max-height:none;pointer-events:none;-webkit-user-select:none;user-select:none;position:relative;top:calc(var(--tile-face-y-offset, 0) * 1%)}.tile-wildcard-sakura-drifts{fill:url(#wildcard-sakura-petal)}@property --drift-x{syntax: "<length>"; inherits: false; initial-value: 80px;}@property --drift-end-x{syntax: "<length>"; inherits: false; initial-value: 220px;}@property --drift-rot{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --drift-scale{syntax: "<number>"; inherits: false; initial-value: .4;}@property --seat-meld-scale{syntax: "<number>"; inherits: true; initial-value: 1;}.tile-wildcard-sakura-drift{transform-box:fill-box;transform-origin:center center;opacity:0;animation:wildcard-sakura-petal-fall var(--drift-duration, 16s) linear infinite;animation-delay:var(--drift-delay, 0s)}@keyframes wildcard-sakura-petal-fall{0%{transform:translate(var(--drift-x, 80px),-130px) rotate(var(--drift-rot, 0deg)) scale(var(--drift-scale, .4));opacity:0}6%{opacity:var(--drift-opacity, .4)}82%{opacity:var(--drift-opacity, .4)}to{transform:translate(var(--drift-end-x, 220px),460px) rotate(var(--drift-rot, 0deg)) scale(var(--drift-scale, .4));opacity:0}}@media(prefers-reduced-motion:reduce){.tile-wildcard-sakura-drift{animation:none;opacity:var(--drift-opacity, .32);transform:translate(var(--drift-x, 80px),120px) rotate(var(--drift-rot, 0deg)) scale(var(--drift-scale, .4))}}html.effect-lite .tile-wildcard-sakura-drift{animation:none;opacity:var(--drift-opacity, .32);transform:translate(var(--drift-x, 80px),120px) rotate(var(--drift-rot, 0deg)) scale(var(--drift-scale, .4))}html.effect-lite .tile-wildcard-sakura-main{filter:none}html.effect-lite .riichi-stick-bar-shine:after,html.effect-lite .riichi-stick-bar-glow-pulse,html.effect-lite .riichi-stick-bar-gold-pulse,html.effect-lite .riichi-stick-spark,html.effect-lite .riichi-stick-dataflow-stream,html.effect-lite .riichi-stick-glitch-pixels.is-anim,html.effect-lite .riichi-stick-glitch-shift.is-anim,html.effect-lite .riichi-stick-skin-sword .riichi-stick-sword-shimmer-band,html.effect-lite .riichi-stick-skin-sword .riichi-stick-sword-static-sheen,html.effect-lite .riichi-stick-skin-sword .riichi-stick-sword-edge-glint,html.effect-lite .riichi-stick-skin-bone .riichi-stick-bone-sheen{animation:none}html.effect-lite .overlay:before{backdrop-filter:none;-webkit-backdrop-filter:none;background-color:#040a1294}.suit-pin .tile-top,.suit-pin .tile-bottom{color:#1d5fa8}.suit-sou .tile-top,.suit-sou .tile-bottom{color:#1d7a3c}.suit-wind .tile-top{color:#222}.suit-dragon-red .tile-top{color:#b02e20}.suit-dragon-green .tile-top{color:#1d7a3c}.suit-dragon-white .tile-top{color:#888;text-shadow:0 0 1px #aaa}.suit-flower .tile-top{color:#8c4ba8}.tile-aka .tile-top{color:#e01b0e!important;text-shadow:0 0 4px rgba(224,27,14,.45)}.tile-img-aka{filter:brightness(0) saturate(100%) invert(13%) sepia(89%) saturate(5479%) hue-rotate(353deg) brightness(96%) contrast(118%)}.tile-svg{padding:1px;overflow:hidden;display:flex;align-items:center;justify-content:center;container-type:inline-size}.tile-img{width:calc(100% * var(--tile-face-scale, 1));height:calc(100% * var(--tile-face-scale, 1));object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;position:relative;top:calc(var(--tile-face-y-offset, 0) * 1%)}.tile-atlas{flex:none;object-fit:unset;background-repeat:no-repeat;width:calc(100% * var(--tile-face-scale, 1));height:calc(100% * var(--tile-face-scale, 1));position:relative;top:calc(var(--tile-face-y-offset, 0) * 1%);background-size:calc(var(--atlas-cols) * 100%) calc(var(--atlas-rows) * 100%);background-position:calc(var(--atlas-col) * 100% / (var(--atlas-cols) - 1)) calc(var(--atlas-row) * 100% / (var(--atlas-rows) - 1))}.tile-back{background-image:var(--tile-back-pattern-bg, var(--tile-back-pattern)),linear-gradient(115deg,#ffffff2e,#fff0 40%),linear-gradient(168deg,color-mix(in srgb,var(--tile-back-color) 78%,#ffffff) 0%,var(--tile-back-color) 60%,color-mix(in srgb,var(--tile-back-color) 62%,#000000) 100%);background-size:calc(var(--tile-back-scale, 1) * 100%),auto,auto;background-position:center calc(50% + var(--tile-back-y-offset, 0) * 1%),0 0,0 0;background-repeat:no-repeat;border-color:color-mix(in srgb,var(--tile-back-color) 55%,#000000);border-bottom:4px solid color-mix(in srgb,var(--tile-back-color) 38%,#000000)}.tile-back:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-color:var(--tile-back-overlay-color, #ffffff);opacity:calc(var(--tile-back-overlay-enabled, 0) * var(--tile-back-overlay-opacity, .5));-webkit-mask-image:var(--tile-back-pattern);mask-image:var(--tile-back-pattern);-webkit-mask-size:calc(var(--tile-back-scale, 1) * 100%);mask-size:calc(var(--tile-back-scale, 1) * 100%);-webkit-mask-position:center calc(50% + var(--tile-back-y-offset, 0) * 1%);mask-position:center calc(50% + var(--tile-back-y-offset, 0) * 1%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none}.tile-back:after{background:none}.tile-claimed{opacity:.2}.tile-rotated{transform:rotate(90deg);margin:0 8px}.hand-cluster .discard-anchor{position:relative;top:0;left:0;transition:left .24s cubic-bezier(.22,.9,.32,1),top .24s cubic-bezier(.22,.9,.32,1)}.hand-cluster .hand-tile-wrapper,.hand-cluster .hand-tile-static{position:relative;left:0;top:0;display:inline-flex;transition:left 0s,top 0s}.hand-cluster .tile{position:relative;box-shadow:inset 0 1px 1px #ffffffe6;transition:opacity .24s ease}.hand-cluster .tile-dimmed{opacity:.42}.hand-cluster .discard-anchor-blocked .tile{outline:2px solid rgba(255,116,76,.85);outline-offset:-1px}.hand-cluster .tile-highlighted{outline:3px solid var(--gold);outline-offset:-1px}.hand-cluster .discard-anchor:has(.tile-highlighted){top:-12px}.tile-dimmed{opacity:.55}.table-board .tile-same-type{z-index:2;box-shadow:inset 0 1px 1px #ffffffe6,0 0 0 3px var(--gold)}.tile-clickable{cursor:pointer}.tile-hoverable{cursor:default}.hand-cluster .hand-tile-wrapper:hover .discard-anchor{top:-8px}.hand-cluster .hand-tile-wrapper:hover .discard-anchor:has(.tile-highlighted){top:-14px}.hand-cluster .hand-tile-wrapper.hover-lift-suppressed:hover .discard-anchor{top:0}.hand-cluster .discard-anchor:has(.tile-clickable.tile-touch-selected),.hand-cluster .discard-anchor:has(.tile-hoverable.tile-touch-selected){top:-8px}.hand-cluster .discard-anchor:has(.tile-clickable.tile-touch-selected) .tile,.hand-cluster .discard-anchor:has(.tile-hoverable.tile-touch-selected) .tile{outline:2px solid rgba(240,199,90,.85);outline-offset:-1px}.hand-cluster .discard-anchor:has(.tile-highlighted):has(.tile-clickable.tile-touch-selected),.hand-cluster .discard-anchor:has(.tile-highlighted):has(.tile-hoverable.tile-touch-selected){top:-14px}@keyframes tile-draw-drop{0%{top:calc(-1 * var(--tile-draw-drop-distance, 40px));opacity:0}60%{opacity:1}to{top:0;opacity:1}}.hand-drawn-tile{animation:tile-draw-drop .35s cubic-bezier(.34,1.56,.64,1)}.table-board--instant-river .pond-river .rv-cell .tile,.table-board--instant-river .hand-drawn-tile{animation:none}.game-root{height:100%;display:flex;flex-direction:column;padding:10px 14px;gap:8px;position:relative}.game-root--immersive{padding:0;gap:0}.game-root--immersive .board-fit{flex:1;min-height:0}.board-fit{flex:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;z-index:1}.board-fit-curtain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;overflow:hidden}.board-fit-curtain__bar{position:absolute;overflow:hidden;background-color:var(--bg-deep, #081625)}.board-fit-curtain__pattern{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.board-fit-curtain__bar--top{top:0;left:0;right:0;height:max(0px,calc((100% - var(--board-mask-h, 720px)) / 2));background:radial-gradient(ellipse 90% 120% at 50% 100%,rgba(96,170,225,.14) 0%,transparent 62%),linear-gradient(180deg,#1d4a73,#12304d 55%,#081625)}.board-fit-curtain__bar--bottom{bottom:0;left:0;right:0;height:max(0px,calc((100% - var(--board-mask-h, 720px)) / 2));background:radial-gradient(ellipse 90% 120% at 50% 0%,rgba(96,170,225,.12) 0%,transparent 62%),linear-gradient(0deg,#1d4a73,#12304d 55%,#081625)}.board-fit-curtain__bar--left{top:max(0px,calc((100% - var(--board-mask-h, 720px)) / 2));bottom:max(0px,calc((100% - var(--board-mask-h, 720px)) / 2));left:0;width:max(0px,calc((100% - var(--board-mask-w, 1280px)) / 2));background:radial-gradient(ellipse 120% 80% at 100% 50%,rgba(96,170,225,.14) 0%,transparent 58%),linear-gradient(90deg,#081625,#12304d,#1a3f62)}.board-fit-curtain__bar--right{top:max(0px,calc((100% - var(--board-mask-h, 720px)) / 2));bottom:max(0px,calc((100% - var(--board-mask-h, 720px)) / 2));right:0;width:max(0px,calc((100% - var(--board-mask-w, 1280px)) / 2));background:radial-gradient(ellipse 120% 80% at 0% 50%,rgba(96,170,225,.14) 0%,transparent 58%),linear-gradient(270deg,#081625,#12304d,#1a3f62)}.board-fit-curtain__tile{position:absolute;width:clamp(88px,12vmin,200px);height:auto;object-fit:contain;filter:saturate(.7) brightness(1.12);pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:center center}.table-board{--pond-aspect-scale: .7;--pond-scale: var(--pond-aspect-scale);--pond-offset-y: -32px;--opponent-seat-scale-at-default-pond: .8;--opponent-seat-scale: calc( var(--opponent-seat-scale-at-default-pond) * var(--pond-scale) / .7 );--side-tile-w: calc(53px * var(--opponent-seat-scale));--side-tile-short: calc(38px * var(--opponent-seat-scale));--side-meld-reserve-w: calc(2 * var(--side-tile-short));--side-hand-meld-gap: 8px;--side-band-padding: 16px;--side-band-width: calc( var(--side-band-padding) + var(--side-tile-w) + var(--side-hand-meld-gap) + var(--side-meld-reserve-w) );--main-hand-scale: 1.08;--main-hand-row-gap: calc(4px * var(--main-hand-scale) * var(--seat-hand-scale, 1));--main-hand-h: calc(74px * var(--main-hand-scale) * var(--seat-hand-scale, 1));--main-hand-top: calc(8px + 4px + var(--main-hand-h));--action-bar-row-h: 36px;flex:none;width:var(--board-design-w, 1280px);height:var(--board-design-h, 720px);transform-origin:center;display:grid;grid-template-columns:var(--side-band-width) 1fr var(--side-band-width);grid-template-rows:auto 1fr auto;grid-template-areas:"b-duimian  b-duimian b-xiajia" "b-shangjia b-center  b-xiajia" "b-auto     b-main    b-main";gap:6px;min-height:0;min-width:0;position:relative;border-radius:0;overflow:hidden;background:var( --table-cloth, radial-gradient(ellipse 70% 60% at 50% 46%, rgba(120, 230, 190, .14) 0%, rgba(20, 90, 66, .05) 55%, rgba(0, 0, 0, 0) 75%), radial-gradient(ellipse at center, rgba(22, 92, 68, .95) 0%, rgba(10, 46, 34, .98) 82%) );box-shadow:inset 0 0 80px #00000080,inset 0 0 0 1px #f0c75a29;padding:8px}.table-board:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:var(--table-cloth-image, none);background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(var(--table-cloth-image-scale, 1));transform-origin:center center;pointer-events:none}.table-board:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--table-cloth-overlay, none);pointer-events:none}.table-board.table-board--main-hand-two-rows{--main-hand-h: calc( 2 * 74px * var(--main-hand-scale) * var(--seat-hand-scale, 1) + var(--main-hand-row-gap) );--main-hand-top: calc(8px + 4px + var(--main-hand-h))}.table-board.table-board--main-hand-two-rows.table-board--self-river-tall{--pond-scale: min(.58, var(--pond-aspect-scale));--pond-offset-y: -56px}.table-pond-mark-fit{position:absolute;left:50%;top:50%;transform:translate(-50%,calc(-50% + var(--pond-offset-y, 0px)));pointer-events:none;z-index:0;overflow:visible;--pond-mark-track: 226px ;width:calc(20px + 12px + 2 * var(--pond-mark-track) + var(--pond-dial-size));height:calc(20px + 12px + 2 * var(--pond-mark-track) + var(--pond-dial-size))}.table-pond-mark-scaled{position:relative;width:100%;height:100%;transform:scale(var(--pond-scale, 1));transform-origin:center center}.table-pond-mark-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none;mix-blend-mode:difference;color:#0000002e;opacity:.7}.table-pond-mark-layer .table-center-mark{position:absolute;left:50%;top:50%;display:block;width:100%;height:100%;transform:translate(-50%,-50%)}.board-slot{display:flex;min-width:0;min-height:0}.board-slot-main{grid-area:b-main;position:relative;z-index:43}.board-slot-main:has(.dragging-tile){z-index:60}.board-slot-duimian,.board-slot-shangjia,.board-slot-xiajia{position:relative;z-index:43}.board-slot-duimian{grid-area:b-duimian;margin-top:-4px}.board-slot-duimian .seat-band{padding-top:3px}.board-slot-shangjia{grid-area:b-shangjia;width:100%;min-width:0;padding-left:var(--side-band-padding);overflow:visible}.board-slot-xiajia{grid-area:b-xiajia;width:100%;min-width:0;padding-right:var(--side-band-padding);overflow:visible}.board-slot-auto{grid-area:b-auto;position:relative;z-index:55;flex-direction:row;align-items:flex-end;justify-content:flex-start;gap:8px;padding:0 0 6px 4px;min-width:0}.table-nav-panel{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1 1 auto;max-width:100%;overflow:hidden}.table-nav-btn{padding:4px 7px;font-size:11px;font-weight:600;line-height:1.2;border-radius:8px;border:1px solid rgba(140,150,160,.35);background:#3c424a8c;color:#c8cdd4bf;white-space:nowrap;text-align:center;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}.fit-label{display:inline-block;max-width:100%;white-space:nowrap}.table-nav-btn:hover{border-color:#b4bec899;filter:none}.table-nav-btn--on{background:#2ea058d9;border-color:#6edc96b3;color:#f3fff6;box-shadow:0 0 10px #2ec86e73}.table-nav-btn--on:hover{border-color:#82e6a5d9}.automation-panel{display:flex;flex-direction:column;gap:6px}.automation-toggle{width:38px;height:38px;border-radius:9px;border:1px solid rgba(140,150,160,.35);background:#3c424a8c;color:#c8cdd4bf;font-size:18px;font-weight:600;line-height:1;cursor:pointer;padding:0;transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}.automation-toggle:hover{border-color:#b4bec899}.automation-toggle--on{background:#2ea058d9;border-color:#6edc96b3;color:#f3fff6;box-shadow:0 0 10px #2ec86e73}.automation-toggle--locked,.automation-toggle:disabled,.automation-toggle[aria-disabled=true]{cursor:not-allowed;opacity:.45}.board-slot-shangjia .seat-band,.board-slot-xiajia .seat-band{width:100%;max-width:100%;overflow:visible}.board-center{grid-area:b-center;min-height:0;min-width:0;pointer-events:none;overflow:visible}.seat-band{flex:1;position:relative;display:flex;gap:8px;background:transparent;border:1px solid transparent;border-radius:14px;padding:4px 8px;min-width:0;min-height:0;transition:border-color .25s ease}.band-turn-glow{border:1px solid transparent;border-radius:10px;position:relative;isolation:isolate}.band-turn-glow.active-turn{border-color:#f0c75a8c}.band-turn-glow:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;border:1px solid rgba(240,199,90,.45);box-shadow:0 0 16px var(--glow-turn);pointer-events:none;opacity:0;will-change:opacity}.band-turn-glow.active-turn:after{opacity:1;animation:turn-breathe 1.8s ease-in-out infinite}@keyframes turn-breathe{0%,to{opacity:1}50%{opacity:.3}}.band-content{position:relative;flex:1;min-width:0;min-height:0}.seat-name{position:absolute;z-index:2;pointer-events:none;font-size:11px;line-height:1.2;color:#ffffffc7;text-shadow:0 1px 3px rgba(0,0,0,.85);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-name-main{left:0;bottom:calc(100% + 4px)}.seat-lack{margin-left:4px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.9)}.seat-countdown{display:inline-flex;align-items:center;justify-content:center;min-width:1.4em;margin-left:6px;padding:1px 5px;border-radius:999px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:#102018;background:#7ee7b0eb;box-shadow:0 1px 4px #00000059}.seat-countdown-reserve{color:#fff8f0;background:#e86c4aeb}.self-action-countdown{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#ffffffe6;background:#00000073}.self-action-countdown .seat-countdown{margin-left:0}.seat-name-duimian{right:0;top:calc(100% + 2px);text-align:right}.seat-name-xiajia{right:calc(100% + 4px);left:auto;bottom:0;writing-mode:vertical-rl;max-width:none;max-height:120px}.seat-name-shangjia{left:calc(100% + 4px);right:auto;top:0;writing-mode:vertical-rl;max-width:none;max-height:120px}.band-sizer{display:flex;justify-content:space-between;gap:12px}.band-main .band-content{min-height:var(--main-hand-h);min-width:0;width:100%;overflow:visible}.band-duimian .band-content{min-height:53px}.band-xiajia .band-content,.band-shangjia .band-content{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;overflow:visible}.band-main .band-turn-glow,.band-duimian .band-turn-glow{min-width:100%;width:max-content}.band-main .band-turn-glow{width:100%;max-width:100%;min-width:0}.band-main .band-turn-glow{position:absolute;left:0;bottom:0;transform-origin:bottom left}.band-main .band-sizer{flex-direction:row;align-items:flex-end;width:100%;min-width:0}.band-main-melds{display:flex;align-items:flex-end;gap:8px;flex-shrink:0}.band-duimian .band-turn-glow{position:absolute;right:0;top:0;transform-origin:top right}.band-duimian .band-sizer{flex-direction:row-reverse;align-items:flex-start}.band-xiajia .side-cols,.band-shangjia .side-cols,.band-xiajia .band-turn-glow,.band-shangjia .band-turn-glow{position:relative;width:100%;height:100%}.band-xiajia .side-hand-zone{position:absolute;left:0;bottom:0;width:var(--side-tile-w);max-height:100%;display:flex;justify-content:center;align-items:flex-end;overflow:visible}.band-shangjia .side-hand-zone{position:absolute;right:0;top:0;width:var(--side-tile-w);max-height:100%;display:flex;justify-content:center;align-items:flex-start;overflow:visible}.band-xiajia .side-meld-zone{position:absolute;right:0;top:0;width:var(--side-meld-reserve-w);max-height:100%;display:flex;justify-content:flex-end;align-items:flex-start;overflow:visible;pointer-events:none}.band-shangjia .side-meld-zone{position:absolute;left:0;bottom:0;width:var(--side-meld-reserve-w);max-height:100%;display:flex;justify-content:flex-start;align-items:flex-end;overflow:visible;pointer-events:none}.side-meld-zone .band-melds{pointer-events:auto}.main-hand-box{flex:1 1 0;min-width:0;position:relative;display:flex;justify-content:flex-start;align-items:flex-end}.band-duimian .hand-col{flex:1 1 0;min-width:0;display:flex;justify-content:flex-end;align-items:flex-start}.table-board--adaptive .band-duimian .hand-col{justify-content:center}.table-board--adaptive.table-board--dealing .main-hand-box{justify-content:flex-start}.table-board--adaptive.table-board--dealing .band-duimian .hand-col{justify-content:flex-end}.table-board--adaptive.table-board--dealing .band-xiajia .side-hand-zone,.table-board--adaptive.table-board--dealing .band-shangjia .side-hand-zone{justify-content:flex-start}.hand-cluster{display:flex;flex-direction:row;align-items:flex-end;width:max-content;max-width:100%;flex-shrink:0}.hand-drawn-slot{display:flex;flex-direction:row;align-items:flex-end;flex-shrink:0}.band-main .hand-drawn-slot--empty{width:calc((16px + 52px) * var(--main-hand-scale) * var(--seat-hand-scale, 1))}.band-duimian .opponent-hand-cluster{flex-direction:row-reverse;align-items:flex-start}.band-xiajia .opponent-hand-cluster{flex-direction:column-reverse;align-items:flex-end}.band-shangjia .opponent-hand-cluster{flex-direction:column;align-items:flex-start}.band-duimian .hand-drawn-slot,.band-xiajia .hand-drawn-slot,.band-shangjia .hand-drawn-slot{align-items:center}.band-duimian .hand-drawn-slot{flex-direction:row-reverse}.band-xiajia .hand-drawn-slot{flex-direction:column-reverse}.band-shangjia .hand-drawn-slot{flex-direction:column}.band-duimian .hand-drawn-slot--empty{width:calc((12px + 38px) * var(--opponent-seat-scale) * var(--seat-hand-scale, 1))}.band-xiajia .hand-drawn-slot--empty,.band-shangjia .hand-drawn-slot--empty{height:calc((12px + 38px) * var(--opponent-seat-scale) * var(--seat-hand-scale, 1))}.band-main .tile-lg{width:calc(52px * var(--main-hand-scale) * var(--seat-hand-scale, 1));height:calc(74px * var(--main-hand-scale) * var(--seat-hand-scale, 1));font-size:calc(23px * var(--main-hand-scale) * var(--seat-hand-scale, 1));--tile-w: calc(52px * var(--main-hand-scale) * var(--seat-hand-scale, 1))}.band-main .hand-row{gap:calc(3px * var(--main-hand-scale) * var(--seat-hand-scale, 1));min-height:calc(74px * var(--main-hand-scale) * var(--seat-hand-scale, 1))}.band-main{--tile-draw-drop-distance: calc(40px * var(--main-hand-scale) * var(--seat-hand-scale, 1))}.self-hand-countdown{position:fixed;transform:translate(-50%,calc(-100% - 4px));display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#ffffffe6;background:#00000073;white-space:nowrap;z-index:55;pointer-events:none}.self-hand-countdown .seat-countdown{margin-left:0}.band-main .hand-drawn-gap{width:calc(16px * var(--main-hand-scale) * var(--seat-hand-scale, 1))}.zuhelong-gap{width:calc(52px * var(--main-hand-scale) * var(--seat-hand-scale, 1) / 8);flex-shrink:0}.band-main .hand-transparent-gap{width:calc(12px * var(--main-hand-scale) * var(--seat-hand-scale, 1))}.hand-gap{width:12px;height:12px;flex-shrink:0}.tile-strip{display:flex;gap:2px;min-width:0;min-height:0}.band-duimian .tile-strip{flex-direction:row-reverse}.band-xiajia .tile-strip{flex-direction:column-reverse}.band-shangjia .tile-strip{flex-direction:column}.band-melds{gap:8px}.meld-strip{display:flex;gap:1px;padding:2px}.meld-strip-ankan-hover{cursor:default}.tcell-concealed{position:relative}.tcell-concealed-layer{display:flex;align-items:center;justify-content:center;transition:opacity .18s ease}.tcell-concealed-face{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.meld-strip-ankan-hover:hover .tcell-concealed-back{opacity:0}.meld-strip-ankan-hover:hover .tcell-concealed-face{opacity:1}.band-duimian .meld-strip{flex-direction:row-reverse;align-items:flex-start}.band-xiajia .meld-strip{flex-direction:column-reverse;align-items:flex-end}.band-shangjia .meld-strip{flex-direction:column;align-items:flex-start}.tcell{display:flex;align-items:center;justify-content:center;flex-shrink:0}.tcell .tile{margin:0}.meld-strip{display:flex;gap:1px;padding:2px;align-items:flex-end}.tcell{width:38px;height:53px}.tcell .tile{width:38px;height:53px;font-size:15px;--tile-w: 38px}.tcell-side{width:53px;height:38px}.tcell-side .tile{transform:rotate(-90deg)}.tcell.tcell-kakan{flex-direction:column;gap:0;width:53px;height:78px}.band-duimian .tcell{width:calc(38px * var(--opponent-seat-scale));height:calc(53px * var(--opponent-seat-scale))}.band-duimian .tcell .tile{width:calc(38px * var(--opponent-seat-scale));height:calc(53px * var(--opponent-seat-scale));font-size:calc(15px * var(--opponent-seat-scale));--tile-w: calc(38px * var(--opponent-seat-scale));transform:rotate(180deg)}.band-xiajia .tcell,.band-shangjia .tcell{width:calc(53px * var(--opponent-seat-scale));height:calc(38px * var(--opponent-seat-scale))}.band-xiajia .tcell .tile,.band-shangjia .tcell .tile{width:calc(38px * var(--opponent-seat-scale));height:calc(53px * var(--opponent-seat-scale));font-size:calc(15px * var(--opponent-seat-scale));--tile-w: calc(38px * var(--opponent-seat-scale))}.band-shangjia .tcell .tile{transform:rotate(90deg)}.band-xiajia .tcell .tile{transform:rotate(-90deg)}.band-duimian .tile-strip,.band-xiajia .tile-strip,.band-shangjia .tile-strip{gap:calc(2px * var(--opponent-seat-scale))}.band-duimian,.band-xiajia,.band-shangjia{--tile-draw-drop-distance: calc(40px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1))}.band-duimian .band-melds,.band-xiajia .band-melds,.band-shangjia .band-melds{gap:calc(8px * var(--opponent-seat-scale))}.band-xiajia .side-meld-zone{transform:scale(var(--seat-meld-scale, 1));transform-origin:top right;transition:--seat-meld-scale .22s ease}.band-shangjia .side-meld-zone{transform:scale(var(--seat-meld-scale, 1));transform-origin:bottom left;transition:--seat-meld-scale .22s ease}.band-duimian .hand-gap,.band-xiajia .hand-gap,.band-shangjia .hand-gap{width:calc(12px * var(--opponent-seat-scale));height:calc(12px * var(--opponent-seat-scale))}.band-duimian .tile-strip.band-hand,.band-xiajia .tile-strip.band-hand,.band-shangjia .tile-strip.band-hand{gap:calc(2px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1))}.band-duimian .band-hand .tcell{width:calc(38px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1));height:calc(53px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1))}.band-duimian .band-hand .tcell .tile{width:calc(38px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1));height:calc(53px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1));font-size:calc(15px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1));--tile-w: calc(38px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1))}.band-xiajia .band-hand .tcell,.band-shangjia .band-hand .tcell{width:calc(53px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1));height:calc(38px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1))}.band-xiajia .band-hand .tcell .tile,.band-shangjia .band-hand .tcell .tile{width:calc(38px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1));height:calc(53px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1));font-size:calc(15px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1));--tile-w: calc(38px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1))}.band-duimian .band-hand .hand-gap,.band-xiajia .band-hand .hand-gap,.band-shangjia .band-hand .hand-gap{width:calc(12px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1));height:calc(12px * var(--opponent-seat-scale) * var(--seat-hand-scale, 1))}.tcell.nuki .tile{outline:1px solid rgba(240,199,90,.5)}.band-main .meld-strip{display:flex;gap:1px;padding:2px;align-items:flex-end}.band-main .tcell{width:38px;height:53px}.band-main .tcell .tile{width:38px;height:53px;font-size:15px;--tile-w: 38px}.band-main-melds{gap:4px}.band-main .tcell-side{width:53px;height:38px}.band-duimian .tcell-side{width:calc(53px * var(--opponent-seat-scale));height:calc(38px * var(--opponent-seat-scale))}.band-xiajia .tcell-side,.band-shangjia .tcell-side{width:calc(38px * var(--opponent-seat-scale));height:calc(53px * var(--opponent-seat-scale))}.band-main .tcell-side .tile{transform:rotate(-90deg)}.band-duimian .tcell-side .tile{transform:rotate(90deg)}.band-shangjia .tcell-side .tile{transform:rotate(0)}.band-xiajia .tcell-side .tile{transform:rotate(180deg)}.tcell.tcell-kakan{position:relative;flex-direction:column;justify-content:flex-end;gap:0}.tcell-kakan-added-slot{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.band-main .tcell-kakan-added-slot{width:53px;height:38px}.band-duimian .tcell-kakan-added-slot{width:calc(53px * var(--opponent-seat-scale));height:calc(38px * var(--opponent-seat-scale))}.band-xiajia .tcell-kakan-added-slot,.band-shangjia .tcell-kakan-added-slot{top:0;left:0;width:calc(38px * var(--opponent-seat-scale));height:calc(53px * var(--opponent-seat-scale))}.tcell-kakan-claimed{flex-shrink:0}.tcell-kakan-flight-anchor{position:relative;overflow:visible}.tcell-kakan-flight-anchor .tcell-kakan-added-slot{position:absolute;left:50%;transform:translate(-50%);bottom:100%;width:53px;height:38px;pointer-events:none}.band-main .tcell-kakan-flight-anchor .tcell-kakan-added-slot,.band-duimian .tcell-kakan-flight-anchor .tcell-kakan-added-slot,.band-xiajia .tcell-kakan-flight-anchor .tcell-kakan-added-slot,.band-shangjia .tcell-kakan-flight-anchor .tcell-kakan-added-slot{bottom:calc(100% - 2px)}.band-main .tcell-kakan{width:53px;height:78px}.band-duimian .tcell-kakan{width:calc(53px * var(--opponent-seat-scale));height:calc(78px * var(--opponent-seat-scale))}.band-xiajia .tcell-kakan,.band-shangjia .tcell-kakan{flex-direction:row;width:calc(78px * var(--opponent-seat-scale));height:calc(53px * var(--opponent-seat-scale))}.tcell-kakan .tcell-side{flex-shrink:0}.tile-row{display:flex;flex-wrap:wrap;gap:2px;align-items:flex-end}.tile-strip .discard-anchor{position:relative;left:0;top:0}.hand-row{position:relative;flex-wrap:nowrap;gap:3px;min-height:74px;align-items:flex-end}.hand-rows{display:flex;flex-direction:column;align-items:flex-start;gap:var(--main-hand-row-gap);max-width:100%}.band-main .hand-rows{padding-right:calc(8px * var(--main-hand-scale) * var(--seat-hand-scale, 1));box-sizing:border-box;width:max-content;max-width:100%}.band-main .hand-rows--two{width:max-content;max-width:100%;align-items:stretch}.band-main .hand-rows--two .hand-cluster-top,.band-main .hand-rows--two .hand-cluster-bottom{width:auto;max-width:none}.band-main .hand-rows--two .hand-cluster-top{justify-content:flex-start}.band-main .hand-rows--two .hand-row{min-height:calc(74px * var(--main-hand-scale) * var(--seat-hand-scale, 1))}.drag-threshold-line{--drag-threshold-progress: 0;position:relative;background:none;will-change:opacity;contain:paint;transform:translateZ(0);backface-visibility:hidden;transition:opacity .08s ease}.drag-threshold-line:before,.drag-threshold-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:opacity .08s ease}.drag-threshold-line:before{background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);box-shadow:0 0 12px var(--gold),0 0 24px #f0c75a66;opacity:var(--drag-threshold-progress)}.drag-threshold-line:after{background:linear-gradient(90deg,transparent,#4dba6a 20%,#4dba6a 80%,transparent);box-shadow:0 0 12px #4dba6a,0 0 24px #4dba6a73;opacity:0}.drag-threshold-line--discard:before{opacity:0}.drag-threshold-line--discard:after{opacity:1}.hand-drawn-gap{width:16px}.hand-transparent-gap{width:12px}.meld-row{display:flex;gap:8px;flex-wrap:wrap}.river-pond{--rv-w: 40px;--rv-h: 55px;--rv-gap: 2px;--rv-block-gap: calc(var(--rv-w) * .3);--rv-cols: 6;--rv-rows: 6;--rv-center-size: var(--pond-dial-size);--rv-grid-w: calc(var(--rv-cols) * var(--rv-w) + (var(--rv-cols) - 1) * var(--rv-gap));--rv-grid-h: calc(var(--rv-rows) * var(--rv-h) + (var(--rv-rows) - 1) * var(--rv-gap));--rv-side-grid-w: calc(var(--rv-cols) * var(--rv-h) + (var(--rv-cols) - 1) * var(--rv-gap));--rv-side-grid-h: calc(var(--rv-rows) * var(--rv-w) + (var(--rv-rows) - 1) * var(--rv-gap));--rv-v-lines: 4;--rv-h-lines: 4;--rv-v-track: calc(var(--rv-v-lines) * var(--rv-h) + (var(--rv-v-lines) - 1) * var(--rv-gap));--rv-h-track: calc(var(--rv-h-lines) * var(--rv-h) + (var(--rv-h-lines) - 1) * var(--rv-gap));display:grid;grid-template-columns:var(--rv-h-track) var(--rv-center-size) var(--rv-h-track);grid-template-rows:var(--rv-v-track) var(--rv-center-size) var(--rv-v-track);grid-template-areas:". pond-duimian ." "pond-shangjia pond-center pond-xiajia" ". pond-main .";gap:6px;align-items:center;justify-items:center;padding:10px;flex:none;position:relative;z-index:1}.pond-fit-scaled{position:relative;transform:scale(var(--pond-scale, 1));transform-origin:center center;overflow:visible}.river-pond--enlarged{--rv-w: 44px;--rv-h: 60px}.river-pond--enlarged .pond-river-self{transform:translate(calc(var(--rv-w) * -.3),calc(var(--rv-h) * .05 + var(--rv-h) / 6))}.river-pond--enlarged .pond-river-across{transform:translate(calc(var(--rv-w) * .3),calc(var(--rv-h) * -.05 - var(--rv-h) / 6))}.river-pond--enlarged .pond-river-lower{transform:translate(calc(var(--rv-h) * .05 + var(--rv-h) / 6),calc(var(--rv-w) * .3))}.river-pond--enlarged .pond-river-upper{transform:translate(calc(var(--rv-h) * -.05 - var(--rv-h) / 6),calc(var(--rv-w) * -.3))}.pond-fit{position:absolute;left:50%;top:50%;transform:translate(-50%,calc(-50% + var(--pond-offset-y, 0px)));pointer-events:none;overflow:visible;z-index:1}.pond-slot-main{grid-area:pond-main;align-self:start;justify-self:start;position:relative}.pond-slot-duimian{grid-area:pond-duimian;align-self:end;justify-self:end;position:relative}.pond-slot-shangjia{grid-area:pond-shangjia;justify-self:end;align-self:start;position:relative}.pond-slot-xiajia{grid-area:pond-xiajia;justify-self:start;align-self:end;position:relative}.pond-slot-shangjia.pond-slot-futari-band{align-self:stretch;justify-self:end}.pond-slot-xiajia.pond-slot-futari-band{align-self:stretch;justify-self:start}.stage-b-seat-overlay{position:absolute;z-index:2;display:flex;flex-direction:column;gap:calc(2px * var(--panel-fit, 1));pointer-events:none;max-width:calc(5 * var(--rv-w) + 4 * var(--rv-gap))}.stage-b-seat-overlay-compact-guess{max-width:calc(8 * var(--rv-w) + 6 * 2px + var(--rv-w) + 7 * var(--rv-gap))}.stage-b-anchor-side-lower{top:0;left:0;align-items:flex-start}.stage-b-anchor-side-upper{bottom:0;right:0;align-items:flex-end}.stage-b-anchor-top{justify-content:flex-start}.stage-b-anchor-bottom{justify-content:flex-end}.stage-b-tile-grid{display:grid;gap:var(--rv-gap)}.stage-b-tile-cell{position:relative;top:0;width:var(--rv-w);height:var(--rv-h)}.stage-b-tile-cell .tile{width:100%;height:100%;margin:0;font-size:16px;--tile-w: var(--rv-w)}.stage-b-tile-cell.is-reversed .tile,.stage-b-guess-tile-anchor.is-reversed .tile{transform:rotate(180deg)}.stage-b-guess-grid{display:flex;flex-direction:column;gap:var(--rv-gap);align-items:flex-start}.stage-b-guess-grid.is-reversed{align-items:flex-end}.stage-b-guess-row{display:flex;flex-direction:row;align-items:flex-start;gap:2px}.stage-b-guess-grid.is-reversed .stage-b-guess-row{flex-direction:row-reverse}.stage-b-guess-row-gap{flex:0 0 var(--rv-w);width:var(--rv-w)}.stage-b-guess-pair{position:relative;top:0;display:flex;flex-direction:row;gap:2px}.stage-b-guess-grid.is-reversed .stage-b-guess-pair{flex-direction:row-reverse}.stage-b-guess-pair .tile{width:var(--rv-w);height:var(--rv-h);margin:0;font-size:16px;--tile-w: var(--rv-w)}.stage-b-guess-tile-anchor{display:flex;line-height:0}.stage-b-guess-tile-anchor.is-inflight,.stage-b-tile-inflight{opacity:0}.stage-b-zone-label{font-size:10px;line-height:1.2;letter-spacing:.04em;color:#f5d9a8;background:#462608d1;border:1px solid rgba(212,146,58,.55);border-radius:4px;padding:1px 5px;margin-bottom:2px}.stage-b-zone-label-guess{color:#d8ecff;background:#123052d9;border-color:#60a8e68c}.stage-b-seat-overlay-pulse{animation:stage-b-zone-pulse 1.8s ease-in-out infinite}.stage-b-tile-enter{animation:stage-b-tile-enter .52s cubic-bezier(.22,1,.36,1)}.stage-b-guess-pair-enter{animation:stage-b-guess-pair-enter .48s cubic-bezier(.22,1,.36,1)}.stage-b-guess-pair-hit{animation:stage-b-guess-pair-hit .9s ease-out;box-shadow:0 0 0 2px #ffd250d9;border-radius:4px}@keyframes stage-b-zone-pulse{0%,to{box-shadow:0 0 #ffc44800}50%{box-shadow:0 0 0 2px #ffc4488c}}@keyframes stage-b-tile-enter{0%{opacity:0;top:8px}to{opacity:1;top:0}}@keyframes stage-b-guess-pair-enter{0%{opacity:0;top:6px}to{opacity:1;top:0}}@keyframes stage-b-guess-pair-hit{0%{box-shadow:0 0 #ffdc60e6}35%{box-shadow:0 0 0 3px #ffdc60bf}to{box-shadow:0 0 0 2px #ffd250d9}}.futari-phase-banner{position:fixed;top:88px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;max-width:min(92vw,520px);padding:8px 16px;border-radius:10px;z-index:48;pointer-events:none;animation:futari-phase-banner-in .26s ease-out}.futari-phase-banner--guess{background:linear-gradient(180deg,#183a62f0,#0c203af0);border:1px solid rgba(110,178,240,.65);color:#e8f4ff}.futari-phase-banner--burst{background:linear-gradient(180deg,#5c3008f0,#3a1c04f0);border:1px solid rgba(212,146,58,.7);color:#fff3dc}.futari-phase-banner-title{font-size:15px;font-weight:700;letter-spacing:.02em}.futari-phase-banner-sub{font-size:12px;opacity:.88;text-align:center;line-height:1.35}@keyframes futari-phase-banner-in{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.draggable-game-panel-anchor{position:absolute;pointer-events:none}.draggable-game-panel{position:relative;isolation:isolate;pointer-events:auto;display:flex;align-items:stretch;border-radius:14px;border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),0 0 48px #5096dc1a;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.draggable-game-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;pointer-events:none;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(180deg,var(--glass-panel-tint-top) 0%,var(--glass-panel-tint-bottom) 100%),var(--glass-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);box-shadow:var(--glass-highlight)}.draggable-game-panel--dragging{opacity:.94;cursor:grabbing}.draggable-game-panel-grip{flex-shrink:0;width:10px;align-self:stretch;border-radius:4px;margin:6px 0 6px 4px;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.12) 0 2px,transparent 2px 5px);opacity:.4}.draggable-game-panel-body{flex:1;min-width:0;display:flex;flex-direction:column}.draggable-game-panel--resizing{cursor:nwse-resize}.draggable-game-panel-resize{position:absolute;right:2px;bottom:2px;width:20px;height:20px;cursor:nwse-resize;z-index:20;pointer-events:auto;touch-action:none}.draggable-game-panel-resize:after{content:"";position:absolute;right:3px;bottom:3px;width:10px;height:10px;border-right:2px solid rgba(255,255,255,.4);border-bottom:2px solid rgba(255,255,255,.4);border-radius:0 0 2px}.draggable-game-panel-resize:hover:after{border-color:#fff9}.game-floating-panel-anchor{z-index:55}.game-floating-panel .draggable-game-panel-body{display:flex;flex-direction:column;min-height:0}.game-floating-panel-header{display:flex;align-items:center;gap:calc(8px * var(--panel-fit, 1));padding:calc(8px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));border-bottom:1px solid rgba(255,255,255,.12);cursor:grab}.game-floating-panel-title{flex:0 1 auto;font-size:calc(14px * var(--panel-fit, 1));font-weight:700;color:#f4f6fb;letter-spacing:.04em}.game-floating-panel-header-extra{flex:1 1 auto;text-align:right;font-size:calc(13px * var(--panel-fit, 1));color:var(--text-muted, #aaa)}.game-floating-panel-close{flex:0 0 auto;width:22px;height:22px;padding:0;border:none;border-radius:6px;background:#ffffff14;color:#d8e0ea;font-size:16px;line-height:1;cursor:pointer}.game-floating-panel-close:hover{background:#ffffff2e;color:#fff}.game-floating-panel-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:calc(10px * var(--panel-fit, 1));padding:calc(14px * var(--panel-fit, 1)) calc(16px * var(--panel-fit, 1))}.game-floating-panel-footer{flex:0 0 auto;display:flex;justify-content:flex-end;gap:calc(8px * var(--panel-fit, 1));padding:calc(8px * var(--panel-fit, 1)) calc(16px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border-top:1px solid rgba(255,255,255,.08)}.guess-wait-panel{width:calc(560px * var(--panel-fit, 1));max-width:calc(100% - 16px);overflow:hidden}.guess-wait-panel .game-floating-panel-body{padding:calc(14px * var(--panel-fit, 1)) calc(18px * var(--panel-fit, 1));gap:calc(12px * var(--panel-fit, 1))}.guess-wait-rule,.guess-wait-info{margin:0;font-size:calc(13px * var(--panel-fit, 1));color:var(--text-muted, #aaa)}.guess-wait-actions{display:flex;justify-content:flex-end;gap:calc(8px * var(--panel-fit, 1))}.fps-panel-bubble{flex-direction:column;align-items:stretch;width:200px;max-width:min(200px,42vw);cursor:grab}.fps-panel-bubble-content{gap:4px}.fps-panel-bubble-header{align-items:center}.fps-panel-value{margin-left:auto;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:#78dcb4f2}.fps-panel-chart{display:block;flex:none;width:100%;height:auto}.fps-panel-chart-avg{stroke:#dcb96e94;stroke-width:1;stroke-dasharray:2 4}.fps-panel-chart-avg-label{fill:#dcb96ee0;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:9px;font-weight:600;font-variant-numeric:tabular-nums}.fps-panel-chart-extrema-label{fill:#78dcb4f5;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:8px;font-weight:700;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#081216bf;stroke-width:2px}.fps-panel-chart-extrema-label--valley{fill:#8cc8e6f5}.fps-panel-chart-line{fill:none;stroke:#78dcb4eb;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.fps-panel-caption{font-size:10px;font-weight:500;line-height:1;text-align:right;opacity:.55;color:#d2dae2b8}.self-hint-dock-anchor{position:absolute;left:calc(var(--side-band-width) + 22px);bottom:calc(74px * var(--main-hand-scale) + 72px);z-index:56;pointer-events:none;max-width:calc(100% - var(--side-band-width) - 30px)}.self-hint-dock-row{display:flex;flex-direction:row;align-items:flex-end;flex-wrap:wrap;gap:8px;pointer-events:none}.self-hint-dock-item{flex:0 0 auto;pointer-events:none}.self-hint-dock-item>*{pointer-events:auto}.scoreboard-panel-anchor{position:absolute;top:64px;left:64px;z-index:46;pointer-events:none}.scoreboard-panel{width:400px;max-height:520px}.scoreboard-panel--with-chart{width:820px}.scoreboard-panel .draggable-game-panel-body{display:flex;flex-direction:column;height:480px;min-height:0;cursor:grab}.scoreboard-panel .game-floating-panel-body{padding:0;gap:0}.scoreboard-body{flex:1;display:flex;align-items:stretch;min-height:0;overflow:hidden;cursor:grab}.scoreboard-table-wrap{flex:0 0 400px;min-width:0;min-height:0;overflow:auto;padding:4px 2px 6px 6px;box-sizing:border-box;cursor:grab}.scoreboard-table{cursor:default}.scoreboard-chart-wrap{flex:1 1 380px;min-width:340px;min-height:0;border-left:1px solid rgba(255,255,255,.1);padding:4px 6px 6px 4px;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;cursor:grab}.scoreboard-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.12);cursor:grab}.scoreboard-title{font-size:14px;font-weight:700;color:#f4f6fb;letter-spacing:.04em}.scoreboard-close{width:22px;height:22px;padding:0;border:none;border-radius:6px;background:#ffffff14;color:#d8e0ea;font-size:16px;line-height:1;cursor:pointer}.scoreboard-close:hover{background:#ffffff2e;color:#fff}.scoreboard-body{flex:1;display:flex;align-items:stretch;min-height:0;overflow:hidden}.scoreboard-table-wrap{flex:0 0 400px;min-width:0;min-height:0;overflow:auto;padding:4px 2px 6px 6px;box-sizing:border-box}.scoreboard-chart-wrap{flex:1 1 380px;min-width:340px;min-height:0;border-left:1px solid rgba(255,255,255,.1);padding:4px 6px 6px 4px;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.scoreboard-table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums;color:#e6ecf3}.scoreboard-table th,.scoreboard-table td{padding:2px 3px;text-align:center;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.08)}.scoreboard-th-round{min-width:3.6em}.scoreboard-th-sub,.scoreboard-td-delta,.scoreboard-td-total{min-width:2.2em;max-width:3.4em}.scoreboard-th-mainfan,.scoreboard-td-mainfan{max-width:4.8em;overflow:hidden;text-overflow:ellipsis}.scoreboard-th-player{max-width:4.2em;overflow:hidden;text-overflow:ellipsis}.scoreboard-table thead th{position:sticky;top:0;background:#141c2af5;font-weight:600;color:#cfd8e6;z-index:1}.scoreboard-th-round,.scoreboard-th-mainfan{background:#101622f5}.scoreboard-th-player{border-bottom:1px solid rgba(255,255,255,.18)}.scoreboard-th-sub{font-size:11px;font-weight:500;color:#aeb8c8;background:#101622f5}.scoreboard-td-round{text-align:left;color:#cfd8e6}.scoreboard-td-delta{color:#b8c4d4}.scoreboard-td-total{font-weight:600;color:#f4f6fb}.scoreboard-score--pos{color:#5fd68a}.scoreboard-score--neg{color:#f07060}.scoreboard-td-mainfan{color:#f0c060}.scoreboard-row-pending .scoreboard-td-round,.scoreboard-row-pending .scoreboard-td-delta,.scoreboard-row-pending .scoreboard-td-total,.scoreboard-row-pending .scoreboard-td-mainfan{color:#7a8698}.scoreboard-empty{padding:16px 8px;color:#97a2b4}.score-chart{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.score-chart--compact{margin-top:8px;padding-top:6px}.score-chart--sidebar{flex:1;display:flex;flex-direction:column;min-height:0;height:100%;margin:0;padding:0;border-top:none}.score-chart-plot{position:relative;flex:1;min-height:0;width:100%}.score-chart-plot .score-chart-svg{display:block;width:100%;height:100%}.score-chart-legend--overlay{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0;padding:4px 6px;pointer-events:none;border-radius:4px;background:#0a121ec7;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.score-chart-legend--overlay .score-chart-legend-item{font-size:10px;line-height:1.2;white-space:nowrap}.score-chart-legend--overlay .score-chart-legend-swatch{width:8px;height:2px}.score-chart--sidebar .score-chart-legend:not(.score-chart-legend--overlay){display:none}.score-chart-hover-col{cursor:grab}.score-chart-guide{stroke:#ffffff47;stroke-width:1;stroke-dasharray:3 3;pointer-events:none}.score-chart-dot--active{stroke:#fff;stroke-width:1.5}.score-chart-tooltip{position:absolute;z-index:3;transform:translate(-50%);min-width:92px;padding:5px 8px;border-radius:6px;background:#08101cf0;border:1px solid rgba(255,255,255,.16);box-shadow:0 6px 18px #00000073;font-size:11px;color:#e6ecf3;pointer-events:none;white-space:nowrap}.score-chart-tooltip-title{margin-bottom:3px;font-weight:600;color:#f4f6fb;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:2px}.score-chart-tooltip-row{display:flex;align-items:center;gap:4px;line-height:1.3}.score-chart-tooltip-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.score-chart-tooltip-label{color:#cfd8e6}.score-chart-tooltip-value{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600;color:#f4f6fb}.scoreboard-chart-wrap .score-chart{flex:1;min-height:0;margin:0;padding:0;border-top:none}.score-chart--empty{align-items:center;justify-content:center}.score-chart-empty-hint{margin:auto;padding:12px 14px;border-radius:8px;background:#ffffff0a;color:#97a2b4;font-size:12px;line-height:1.5;text-align:center}.score-chart-svg{display:block;width:100%;height:auto}.score-chart-axis{stroke:#ffffff47;stroke-width:1}.score-chart-grid{stroke:#ffffff0f;stroke-width:1}.score-chart-line{stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.score-chart-dot{stroke:#08101cd9;stroke-width:1}.score-chart-y-label{fill:#9db0c4;font-size:10px;font-variant-numeric:tabular-nums}.score-chart-x-label{fill:#aeb8c8;font-size:10px}.score-chart-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:6px;font-size:11px;color:#cfd8e6}.score-chart-legend-item{display:inline-flex;align-items:center;gap:4px}.score-chart-legend-swatch{width:10px;height:3px;border-radius:2px}.overlay-panel-body .score-chart{margin-top:14px;padding-top:12px}.ask-choose-grid{flex:1;overflow:auto;display:flex;flex-direction:column;gap:calc(6px * var(--panel-fit, 1))}.ask-choose-row{display:flex;flex-wrap:wrap;gap:calc(4px * var(--panel-fit, 1));justify-content:center}.ask-choose-tile-btn{position:relative;padding:0;border:2px solid transparent;border-radius:4px;background:transparent;cursor:pointer}.ask-choose-tile-btn .tile{width:calc(46px * var(--panel-fit, 1));height:calc(64px * var(--panel-fit, 1));font-size:calc(16px * var(--panel-fit, 1));--tile-w: calc(46px * var(--panel-fit, 1))}.ask-choose-tile-btn.ask-choose-tile-selected{border-color:var(--accent, #f0c040);box-shadow:0 0 0 1px var(--accent, #f0c040)}.ask-choose-tile-disabled{cursor:not-allowed;opacity:.45}.ask-choose-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:calc(11px * var(--panel-fit, 1));font-weight:700;color:#fff;text-shadow:0 0 3px #000;pointer-events:none}.pond-river{display:flex;gap:var(--rv-gap)}.pond-river-self,.pond-river-across,.pond-river-lower,.pond-river-upper{gap:0}.pond-river-self,.pond-river-across{flex-direction:row;align-items:flex-start;width:max-content;min-width:var(--rv-grid-w);gap:var(--rv-block-gap);overflow:visible}.pond-river-across{flex-direction:row-reverse}.pond-river-self .rv-block,.pond-river-across .rv-block{display:flex;flex-direction:column;gap:var(--rv-gap);flex:none;align-items:flex-start}.pond-river-lower,.pond-river-upper{flex-direction:column;align-items:flex-start;width:max-content;min-width:calc(3 * var(--rv-h) + 2 * var(--rv-gap));height:max-content;min-height:var(--rv-side-grid-h);gap:0;overflow:visible}.pond-river-upper{flex-direction:column-reverse}.pond-river-lower .rv-block,.pond-river-upper .rv-block{display:flex;flex-direction:row;gap:var(--rv-gap);flex:none;width:max-content;height:auto;min-height:var(--rv-side-grid-h)}.pond-river-lower .rv-block{align-items:flex-end}.pond-river-upper .rv-block{align-items:flex-start}.pond-river-lower.pond-river--side-overflow-blocks,.pond-river-upper.pond-river--side-overflow-blocks{gap:var(--rv-block-gap)}.rv-row{display:grid;grid-template-columns:repeat(var(--rv-cols),var(--rv-w));gap:var(--rv-gap);width:100%;min-height:var(--rv-h);align-items:start;overflow:visible}.pond-river-self .rv-row{justify-content:start}.pond-river-across .rv-row{justify-content:end}.rv-col{display:grid;grid-template-rows:repeat(var(--rv-rows),var(--rv-w));gap:var(--rv-gap);width:var(--rv-h);height:var(--rv-side-grid-h);align-items:start;overflow:visible}.pond-river-lower .rv-col{align-content:end}.pond-river-upper .rv-col{align-content:start}.rv-cell{display:flex;align-items:center;justify-content:center;flex-shrink:0}.pond-river-self .rv-cell,.pond-river-across .rv-cell{width:var(--rv-w);height:var(--rv-h)}.pond-river-self .rv-riichi,.pond-river-across .rv-riichi{width:var(--rv-h);z-index:1}.pond-river-self .rv-riichi{justify-self:start}.pond-river-across .rv-riichi{justify-self:end}.pond-river-lower .rv-cell,.pond-river-upper .rv-cell{width:var(--rv-h);height:var(--rv-w)}.pond-river-lower .rv-riichi,.pond-river-upper .rv-riichi{height:var(--rv-h);z-index:1}.pond-river-upper .rv-riichi{align-self:start}.pond-river-lower .rv-riichi{align-self:end}.rv-cell .tile{width:var(--rv-w);height:var(--rv-h);font-size:16px;--tile-w: var(--rv-w);margin:0;box-shadow:inset 0 1px 1px #ffffffe6;animation:none}.pond-river .rv-riichi .tile{width:var(--rv-w);height:var(--rv-h);--tile-w: var(--rv-w);transform-origin:center center}.pond-river .tile-dimmed,.discard-flight-tsumogiri .tile{opacity:1}.pond-river .tile-dimmed:before,.discard-flight-tsumogiri .tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#0003;pointer-events:none;z-index:0}.pond-river .tile-dimmed:after,.discard-flight-tsumogiri .tile:after{z-index:0}.pond-river .tile-dimmed.tile-dora:after,.discard-flight-tsumogiri .tile.tile-dora:after,.pond-river .tile-dimmed .tile-dora-shine,.discard-flight-tsumogiri .tile .tile-dora-shine{z-index:2}.pond-river .tile-dimmed .tile-img,.pond-river .tile-dimmed .tile-top,.pond-river .tile-dimmed .tile-bottom,.pond-river .tile-dimmed .tile-wildcard-sakura,.discard-flight-tsumogiri .tile .tile-img,.discard-flight-tsumogiri .tile .tile-top,.discard-flight-tsumogiri .tile .tile-bottom,.discard-flight-tsumogiri .tile .tile-wildcard-sakura{position:relative;z-index:1}.aux-no-tsumogiri-dim .pond-river .tile-dimmed:before,.aux-no-tsumogiri-dim .discard-flight-tsumogiri .tile:before{display:none}.rv-cell-suppressed,.discard-anchor-suppressed{visibility:hidden;opacity:0}.rv-cell-win{position:relative;z-index:3}.rv-cell-win .tile{box-shadow:inset 0 1px 1px #ffffffe6,0 0 0 2px var(--gold, #ffd76a)}.tile-ron-win{isolation:isolate;box-shadow:0 0 0 2px #e53935,0 2px 8px #e539358c,inset 0 1px 1px #ffffffe6}.tile-ron-win:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#e5393599;mix-blend-mode:multiply;pointer-events:none;z-index:2}.pond-river .rv-cell .tile.tile-ron-win{animation:none}.rv-cell .tile-highlighted{box-shadow:inset 0 1px 1px #ffffffe6,0 0 0 3px var(--gold);z-index:2}.discard-anchor{display:inline-flex}.discard-anchor-draggable{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.hand-row.hand-drag-active .hand-tile-wrapper:not(.hand-tile-dragging):not(.hand-tile-snap-back),.hand-row.hand-drag-active .hand-tile-static:not(.hand-tile-dragging):not(.hand-tile-snap-back){pointer-events:none}.hand-cluster .hand-tile-wrapper.hand-tile-dragging,.hand-cluster .hand-tile-static.hand-tile-dragging,.hand-cluster .hand-tile-wrapper.hand-tile-snap-back,.hand-cluster .hand-tile-static.hand-tile-snap-back{position:relative;z-index:50}.discard-anchor.dragging-tile,.discard-anchor.snap-back-tile{z-index:200;position:relative}.discard-anchor.dragging-tile{transition:none}@keyframes pending-riichi-spin{0%{transform:rotate(0)}to{transform:rotate(-90deg)}}.discard-flight-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:40;overflow:visible}.discard-flight-shadow{position:absolute;left:0;top:0;z-index:40;border-radius:50%;background:radial-gradient(ellipse at center,#0000008c,#0000 70%);pointer-events:none}.exchange-flight-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:42;overflow:visible}.exchange-flight-sprites{position:absolute;top:0;right:0;bottom:0;left:0}.exchange-flight-tile{position:absolute;width:32px;height:44px;display:flex;align-items:center;justify-content:center;will-change:left,top,opacity}.exchange-flight-tile .tile{width:32px;height:44px;--tile-w: 32px}.exchange-flight-banner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 18px;border-radius:10px;background:#14161eb8;color:#ffd866;font-weight:700;font-size:15px;letter-spacing:.5px;white-space:nowrap}.exchange-flight-dice{font-size:18px}.exchange-flight-direction{font-size:13px;color:#ffe9a8}.riichi-stick-shadow-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:41;overflow:visible}.riichi-stick-sprite-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:45;overflow:visible}.riichi-stick-flight{position:absolute;left:0;top:0}.riichi-stick-flight-shadow{position:absolute;left:0;top:0;transform-origin:center center;filter:brightness(0) blur(1.6px);pointer-events:none}.riichi-stick-flight-sprite{position:absolute;left:0;top:0;transform-origin:center center}.riichi-stick-sprite{display:flex;align-items:center;justify-content:center;transform-origin:center center;overflow:visible;--rs-u: 1;--rs-dot-base: 6px}.riichi-stick-sprite-image{overflow:visible}.riichi-stick-sprite-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:visible;transform-origin:center center}.riichi-stick-skin{width:100%;height:100%;position:relative}.riichi-stick-skin-svg{display:block;width:100%;height:100%;overflow:visible}.riichi-stick-skin-image-wrap{overflow:visible;display:flex;align-items:center;justify-content:center}.riichi-stick-skin-image{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center;transform-origin:center center;pointer-events:none;-webkit-user-select:none;user-select:none}.riichi-stick-bar{position:absolute;left:calc(4px * var(--rs-u, 1));right:calc(4px * var(--rs-u, 1));top:calc(6px * var(--rs-u, 1));bottom:calc(6px * var(--rs-u, 1));border-radius:999px;border:max(1px,calc(1px * var(--rs-u, 1))) solid #c9d3dd;box-shadow:inset 0 0 0 max(1px,calc(1px * var(--rs-u, 1))) #ffffff73,0 calc(2px * var(--rs-u, 1)) calc(6px * var(--rs-u, 1)) #00000059}.riichi-stick-bar-flat{border:none;box-shadow:none}.riichi-stick-skin-default-flat{isolation:isolate;backface-visibility:hidden}.riichi-stick-dot{position:absolute;left:50%;top:50%;width:calc(var(--rs-dot-base, 8px) * var(--rs-u, 1));height:calc(var(--rs-dot-base, 8px) * var(--rs-u, 1));margin-left:calc(var(--rs-dot-base, 8px) * var(--rs-u, 1) / -2);margin-top:calc(var(--rs-dot-base, 8px) * var(--rs-u, 1) / -2);border-radius:50%;box-shadow:0 0 calc(6px * var(--rs-u, 1)) #00000059;z-index:3}.riichi-stick-spark-layer{position:absolute;left:calc(4px * var(--rs-u, 1));right:calc(4px * var(--rs-u, 1));top:calc(4px * var(--rs-u, 1));bottom:calc(8px * var(--rs-u, 1));pointer-events:none;z-index:4;overflow:visible}.riichi-stick-bar-shine{overflow:hidden}.riichi-stick-bar-shine:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(90deg,transparent 40%,rgba(255,255,255,.25) 44%,rgba(255,255,255,.95) 50%,rgba(255,255,255,.25) 56%,transparent 60%);background-repeat:no-repeat;background-size:30% 100%;background-position:center;mix-blend-mode:plus-lighter;opacity:.92;will-change:transform;transform:translate(160%);animation:riichi-stick-shine-rtl 2.9s linear infinite}@keyframes riichi-stick-shine-rtl{0%{transform:translate(160%)}to{transform:translate(-160%)}}.riichi-stick-bar-gold-body:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:0;background:repeating-linear-gradient(108deg,transparent 0 calc(3px * var(--rs-u, 1)),rgba(255,255,255,.14) calc(3px * var(--rs-u, 1)) calc(4px * var(--rs-u, 1)),transparent calc(4px * var(--rs-u, 1)) calc(9px * var(--rs-u, 1)),rgba(0,0,0,.07) calc(9px * var(--rs-u, 1)) calc(10px * var(--rs-u, 1))),repeating-linear-gradient(-72deg,transparent 0 calc(6px * var(--rs-u, 1)),rgba(255,230,150,.12) calc(6px * var(--rs-u, 1)) calc(7px * var(--rs-u, 1)),transparent calc(7px * var(--rs-u, 1)) calc(14px * var(--rs-u, 1)),rgba(120,80,10,.06) calc(14px * var(--rs-u, 1)) calc(15px * var(--rs-u, 1))),linear-gradient(180deg,rgba(255,255,255,.28) 0%,transparent 28%,transparent 72%,rgba(0,0,0,.18) 100%);box-shadow:inset 0 max(1px,calc(1px * var(--rs-u, 1))) 0 #ffffff73,inset 0 max(-1px,calc(-1px * var(--rs-u, 1))) 0 #00000038}.riichi-stick-skin-gold .riichi-stick-bar{border-width:max(1px,calc(1px * var(--rs-u, 1)));border-style:solid}.riichi-stick-bar-glow-pulse{--riichi-glow-color: #40d8ff;animation:riichi-stick-neon-glow 2.4s ease-in-out infinite}@keyframes riichi-stick-neon-glow{0%,to{box-shadow:inset 0 0 0 max(1px,calc(1px * var(--rs-u, 1))) #ffffff73,0 calc(1px * var(--rs-u, 1)) calc(3px * var(--rs-u, 1)) #00000059,0 0 calc(6px * var(--rs-u, 1)) color-mix(in srgb,var(--riichi-glow-color) 55%,transparent),0 0 calc(12px * var(--rs-u, 1)) color-mix(in srgb,var(--riichi-glow-color) 35%,transparent)}50%{box-shadow:inset 0 0 0 max(1px,calc(1px * var(--rs-u, 1))) #ffffff8c,0 calc(1px * var(--rs-u, 1)) calc(3px * var(--rs-u, 1)) #00000059,0 0 calc(10px * var(--rs-u, 1)) color-mix(in srgb,var(--riichi-glow-color) 80%,transparent),0 0 calc(20px * var(--rs-u, 1)) color-mix(in srgb,var(--riichi-glow-color) 55%,transparent)}}.riichi-stick-bar-gold-pulse{animation:riichi-stick-gold-glow 2.2s ease-in-out infinite}@keyframes riichi-stick-gold-glow{0%,to{box-shadow:inset 0 0 0 max(1px,calc(1px * var(--rs-u, 1))) #ffffff80,0 calc(1px * var(--rs-u, 1)) calc(3px * var(--rs-u, 1)) #00000059,0 0 calc(8px * var(--rs-u, 1)) #ffd25080,0 0 calc(16px * var(--rs-u, 1)) #ffbe3252}50%{box-shadow:inset 0 0 0 max(1px,calc(1px * var(--rs-u, 1))) #ffffffa6,0 calc(1px * var(--rs-u, 1)) calc(3px * var(--rs-u, 1)) #00000059,0 0 calc(12px * var(--rs-u, 1)) #ffe178bf,0 0 calc(24px * var(--rs-u, 1)) #ffc83c80}}.riichi-stick-spark{position:absolute;width:calc(22px * var(--rs-u, 1));height:calc(22px * var(--rs-u, 1));pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.08);transform-origin:center center;background:radial-gradient(closest-side,rgba(255,255,255,.98) 0%,rgba(255,255,255,.55) 42%,transparent 72%);clip-path:polygon(50% 0%,56% 44%,100% 50%,56% 56%,50% 100%,44% 56%,0% 50%,44% 44%);animation:riichi-stick-spark-pulse ease-in-out infinite}@keyframes riichi-stick-spark-pulse{0%,56%,to{opacity:0;transform:translate(-50%,-50%) scale(.08)}4%{opacity:var(--spark-peak-opacity, 1);transform:translate(-50%,-50%) scale(var(--spark-peak-scale, 1.75))}12%{opacity:calc(var(--spark-peak-opacity, 1) * .92);transform:translate(-50%,-50%) scale(calc(var(--spark-peak-scale, 1.75) * .47))}20%{opacity:calc(var(--spark-peak-opacity, 1) * .72);transform:translate(-50%,-50%) scale(calc(var(--spark-peak-scale, 1.75) * .77))}30%{opacity:0;transform:translate(-50%,-50%) scale(.12)}}.riichi-stick-spark-lite{width:calc(10px * var(--rs-u, 1));height:calc(10px * var(--rs-u, 1));animation-name:riichi-stick-spark-lite-pulse}@keyframes riichi-stick-spark-lite-pulse{0%,84%,to{opacity:0;transform:translate(-50%,-50%) scale(.1)}7%{opacity:var(--spark-peak-opacity, .38);transform:translate(-50%,-50%) scale(var(--spark-peak-scale, .62))}16%{opacity:0;transform:translate(-50%,-50%) scale(.16)}}.riichi-stick-dataflow-bar{overflow:hidden;border-width:max(1px,calc(1px * var(--rs-u, 1)));border-style:solid}.riichi-stick-dataflow-grid{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background-image:repeating-linear-gradient(90deg,transparent 0 calc(8px * var(--rs-u, 1)),rgba(255,255,255,.06) calc(8px * var(--rs-u, 1)) calc(8.6px * var(--rs-u, 1)))}.riichi-stick-dataflow-stream{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--rs-flow-color, #39e0c8) 0%,transparent) 30%,var(--rs-flow-color, #39e0c8) 48%,#ffffff 50%,var(--rs-flow-color, #39e0c8) 52%,transparent 72%);background-repeat:no-repeat;background-size:55% 100%;will-change:transform;transform:translate(-110%);filter:drop-shadow(0 0 calc(3px * var(--rs-u, 1)) var(--rs-flow-color, #39e0c8));animation:riichi-stick-dataflow-run 1.6s linear infinite}.riichi-stick-dataflow-stream-lite{animation-duration:3.2s;opacity:.7}@keyframes riichi-stick-dataflow-run{0%{transform:translate(-110%)}to{transform:translate(210%)}}.riichi-stick-glitch-bar{overflow:hidden;border-width:max(1px,calc(1px * var(--rs-u, 1)));border-style:solid}.riichi-stick-glitch-pixels{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 calc(4px * var(--rs-u, 1)),transparent calc(4px * var(--rs-u, 1)) calc(8px * var(--rs-u, 1))),repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 calc(4px * var(--rs-u, 1)),transparent calc(4px * var(--rs-u, 1)) calc(8px * var(--rs-u, 1)))}.riichi-stick-glitch-pixels.is-anim{animation:riichi-stick-glitch-pixels var(--rs-glitch-pixel-dur, 2.1s) steps(5,end) infinite}@keyframes riichi-stick-glitch-pixels{0%,to{opacity:1;background-position:0 0,0 0}18%{opacity:.78;background-position:calc(3px * var(--rs-u, 1)) 0,0 calc(2px * var(--rs-u, 1))}36%{opacity:.95;background-position:calc(-2px * var(--rs-u, 1)) calc(1px * var(--rs-u, 1)),calc(4px * var(--rs-u, 1)) 0}54%{opacity:.82;background-position:calc(5px * var(--rs-u, 1)) calc(-2px * var(--rs-u, 1)),calc(-3px * var(--rs-u, 1)) calc(3px * var(--rs-u, 1))}72%{opacity:.9;background-position:calc(-4px * var(--rs-u, 1)) 0,calc(2px * var(--rs-u, 1)) calc(-1px * var(--rs-u, 1))}}.riichi-stick-glitch-shift{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;mix-blend-mode:screen;opacity:var(--rs-glitch-opacity, .55);background:repeating-linear-gradient(90deg,var(--rs-glitch-color, #27e6ff) 0 calc(var(--rs-glitch-stripe, 5px) * var(--rs-u, 1)),transparent calc(var(--rs-glitch-stripe, 5px) * var(--rs-u, 1)) calc((var(--rs-glitch-stripe, 5px) + 8px) * var(--rs-u, 1)));-webkit-mask-image:linear-gradient(0deg,#000 0 100%);mask-image:linear-gradient(0deg,#000 0,#000);transform:translate(0);clip-path:inset(0 0 0 0)}.riichi-stick-glitch-shift.is-anim{animation:riichi-stick-glitch-jitter var(--rs-glitch-dur, 2.2s) steps(1,end) infinite;animation-delay:var(--rs-glitch-delay, 0s)}@keyframes riichi-stick-glitch-jitter{0%,7%,to{transform:translate(0);clip-path:inset(0 0 0 0);opacity:var(--rs-glitch-opacity, .55)}8%{transform:translate(calc(var(--rs-gx1, -3px) * var(--rs-u, 1)),calc(var(--rs-gy1, 0px) * var(--rs-u, 1)));clip-path:inset(var(--rs-gct1, 0%) 0 var(--rs-gcb1, 0%) 0);opacity:min(1,calc(var(--rs-glitch-opacity, .55) + .38))}9%{transform:translate(calc(var(--rs-gx2, 2px) * var(--rs-u, 1)),calc(var(--rs-gy2, 0px) * var(--rs-u, 1)));clip-path:inset(var(--rs-gct2, 0%) 0 var(--rs-gcb2, 0%) 0);opacity:min(1,calc(var(--rs-glitch-opacity, .55) + .22))}10%{transform:translate(0);clip-path:inset(0 0 0 0);opacity:var(--rs-glitch-opacity, .55)}24%,26%{transform:translate(0);clip-path:inset(0 0 0 0);opacity:var(--rs-glitch-opacity, .55)}27%{transform:translate(calc(var(--rs-gx3, 4px) * var(--rs-u, 1)),calc(var(--rs-gy3, -1px) * var(--rs-u, 1)));clip-path:inset(var(--rs-gct3, 0%) 0 var(--rs-gcb3, 0%) 0);opacity:min(1,calc(var(--rs-glitch-opacity, .55) + .42))}28%{transform:translate(calc(var(--rs-gx4, -2px) * var(--rs-u, 1)),calc(var(--rs-gy4, 1px) * var(--rs-u, 1)));clip-path:inset(var(--rs-gct4, 0%) 0 var(--rs-gcb4, 0%) 0);opacity:min(1,calc(var(--rs-glitch-opacity, .55) + .28))}29%{transform:translate(0);clip-path:inset(0 0 0 0);opacity:var(--rs-glitch-opacity, .55)}46%{transform:translate(calc(var(--rs-gx2, 2px) * var(--rs-u, 1)));clip-path:inset(var(--rs-gct2, 0%) 0 var(--rs-gcb2, 0%) 0);opacity:min(1,calc(var(--rs-glitch-opacity, .55) + .3))}47%{transform:translate(calc(var(--rs-gx1, -3px) * var(--rs-u, 1)),calc(var(--rs-gy1, 0px) * var(--rs-u, 1)));clip-path:inset(var(--rs-gct1, 0%) 0 var(--rs-gcb1, 0%) 0);opacity:min(1,calc(var(--rs-glitch-opacity, .55) + .35))}48%{transform:translate(0);clip-path:inset(0 0 0 0);opacity:var(--rs-glitch-opacity, .55)}63%{transform:translate(calc(var(--rs-gx4, -2px) * var(--rs-u, 1)),calc(var(--rs-gy3, 0px) * var(--rs-u, 1)));clip-path:inset(var(--rs-gct4, 0%) 0 var(--rs-gcb3, 0%) 0);opacity:min(1,calc(var(--rs-glitch-opacity, .55) + .32))}64%{transform:translate(calc(var(--rs-gx3, 4px) * var(--rs-u, 1)),calc(var(--rs-gy2, 0px) * var(--rs-u, 1)));clip-path:inset(var(--rs-gct3, 0%) 0 var(--rs-gcb2, 0%) 0);opacity:min(1,calc(var(--rs-glitch-opacity, .55) + .4))}65%{transform:translate(0);clip-path:inset(0 0 0 0);opacity:var(--rs-glitch-opacity, .55)}81%{transform:translate(calc(var(--rs-gx1, -3px) * var(--rs-u, 1)),calc(var(--rs-gy4, 0px) * var(--rs-u, 1)));clip-path:inset(var(--rs-gct1, 0%) 0 var(--rs-gcb4, 0%) 0);opacity:min(1,calc(var(--rs-glitch-opacity, .55) + .36))}82%{transform:translate(0);clip-path:inset(0 0 0 0);opacity:var(--rs-glitch-opacity, .55)}}.riichi-stick-glitch-waveform-rays{position:absolute;left:50%;top:50%;width:180%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;background:repeating-conic-gradient(from 0deg,rgba(39,230,255,.8) 0 .6deg,transparent .6deg 9deg);-webkit-mask:radial-gradient(circle closest-side,rgba(0,0,0,.8) 0%,transparent 60%);mask:radial-gradient(circle closest-side,rgba(0,0,0,.8) 0%,transparent 60%);opacity:calc(var(--rs-audio-bass, 0) * .35);animation:rs-audio-rays 12s linear infinite;z-index:0}.riichi-stick-glitch-waveform-spectrum{position:absolute;left:0;right:0;top:calc(-1 * var(--rs-h, 28px));bottom:calc(-1 * var(--rs-h, 28px));width:100%;height:calc(100% + 2 * var(--rs-h, 28px));pointer-events:none;mix-blend-mode:lighter;transform:scale(calc(1 + var(--rs-audio-bass, 0) * .2));transform-origin:center;transition:transform 60ms linear;z-index:0}.riichi-stick-glitch-waveform-clip:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(0deg,#ff3da6,#ff8a3d,#ffe23d,#3dff7a,#27e6ff,#6a7bff,#b53dff,#ff3da6),repeating-linear-gradient(0deg,#ff3da6,#ff8a3d,#ffe23d,#3dff7a,#27e6ff,#6a7bff,#b53dff,#ff3da6);background-size:2px 60px,2px 60px;background-repeat:repeat-y,repeat-y;background-position:0 0,100% 0;filter:drop-shadow(0 0 1.5px rgba(255,255,255,.7)) drop-shadow(0 0 4px rgba(255,255,255,.25));opacity:.9;animation:rs-audio-marquee 2.4s linear infinite;pointer-events:none;z-index:4}@keyframes rs-audio-marquee{0%{background-position:0 0,100% 0}to{background-position:0 60px,100% -60px}}.riichi-stick-glitch-waveform{overflow:visible;border-width:max(1px,calc(1px * var(--rs-u, 1)));border-style:solid;border-color:rgba(39,230,255,calc(.3 + var(--rs-audio-energy, 0) * .7));transform:scale(calc(1 + var(--rs-audio-bass, 0) * .2));transform-origin:center;box-shadow:0 0 calc(6px + var(--rs-audio-energy, 0) * 22px) rgba(39,230,255,calc(.18 + var(--rs-audio-energy, 0) * .6)),0 0 calc(3px + var(--rs-audio-bass, 0) * 18px) rgba(255,61,166,calc(.12 + var(--rs-audio-bass, 0) * .6)),inset 0 0 calc(4px + var(--rs-audio-energy, 0) * 12px) rgba(39,230,255,calc(.08 + var(--rs-audio-energy, 0) * .5));transition:transform 60ms linear,box-shadow 60ms linear,border-color 60ms linear;z-index:1}.riichi-stick-glitch-waveform-clip{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;overflow:hidden;clip-path:inset(0 round 999px);-webkit-clip-path:inset(0 round 999px)}.riichi-stick-glitch-waveform-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;z-index:2}@keyframes rs-audio-rays{to{transform:translate(-50%,-50%) rotate(360deg)}}html.effect-lite .riichi-stick-glitch-waveform-clip:before,html.effect-lite .riichi-stick-glitch-waveform-rays,.riichi-stick-skin-glitch-audio-lite .riichi-stick-glitch-waveform-clip:before,.riichi-stick-skin-glitch-audio-lite .riichi-stick-glitch-waveform-rays{display:none}.riichi-stick-skin-glitch-audio-lite .riichi-stick-glitch-waveform{transform:none;box-shadow:none;border-color:#27e6ff73;transition:none}.riichi-stick-skin-glitch-audio-lite .riichi-stick-glitch-waveform-spectrum{display:none}.riichi-stick-startrail-bar{overflow:hidden;border-width:max(1px,calc(1px * var(--rs-u, 1)));border-style:solid}.riichi-stick-startrail-sky{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(60% 120% at 30% 20%,rgba(150,190,255,.28),transparent 60%),radial-gradient(50% 120% at 78% 80%,rgba(190,150,255,.22),transparent 62%)}.riichi-stick-startrail-stars{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;overflow:hidden}.riichi-stick-star{position:absolute;width:calc(3.4px * var(--rs-u, 1) * var(--rs-star-size, 1));height:calc(3.4px * var(--rs-u, 1) * var(--rs-star-size, 1));margin:calc(-1.7px * var(--rs-u, 1) * var(--rs-star-size, 1));border-radius:50%;background:radial-gradient(closest-side,#fff 0%,var(--rs-star-color, #9ec3ff) 55%,transparent 100%);box-shadow:0 0 calc(4px * var(--rs-u, 1)) var(--rs-star-color, #9ec3ff);opacity:var(--rs-star-opacity-lo, .25);transform:translate(0) scale(var(--rs-star-scale-lo, .7));animation:riichi-stick-star-drift var(--rs-star-dur, 4.2s) cubic-bezier(.42,.08,.52,.94) var(--rs-star-delay, 0s) infinite alternate;will-change:transform,opacity}.riichi-stick-star-lite{animation:none;opacity:.55}@keyframes riichi-stick-star-drift{0%,to{opacity:var(--rs-star-opacity-lo, .25);transform:translate(0) scale(var(--rs-star-scale-lo, .7))}22%{opacity:calc((var(--rs-star-opacity-lo, .25) + var(--rs-star-opacity-hi, 1)) * .5);transform:translate(calc(var(--rs-star-dx1, 3px) * var(--rs-u, 1)),calc(var(--rs-star-dy1, -2px) * var(--rs-u, 1))) scale(calc((var(--rs-star-scale-lo, .7) + var(--rs-star-scale-hi, 1.15)) * .52))}48%{opacity:var(--rs-star-opacity-hi, 1);transform:translate(calc(var(--rs-star-dx2, 6px) * var(--rs-u, 1)),calc(var(--rs-star-dy2, 3px) * var(--rs-u, 1))) scale(var(--rs-star-scale-hi, 1.15))}74%{opacity:calc((var(--rs-star-opacity-lo, .25) + var(--rs-star-opacity-hi, 1)) * .62);transform:translate(calc(var(--rs-star-dx3, -2px) * var(--rs-u, 1)),calc(var(--rs-star-dy3, 4px) * var(--rs-u, 1))) scale(calc((var(--rs-star-scale-lo, .7) + var(--rs-star-scale-hi, 1.15)) * .58))}}.riichi-stick-skin-sword .riichi-stick-sword-shimmer-band{mix-blend-mode:screen;opacity:0;transform-box:fill-box;transform-origin:center;animation:riichi-stick-sword-shimmer 2.5s ease-in-out infinite}@keyframes riichi-stick-sword-shimmer{0%,68%,to{transform:translate(0);opacity:0}10%{opacity:.55}46%{transform:translate(-56px);opacity:1}58%{opacity:.18}}.riichi-stick-skin-sword .riichi-stick-sword-static-sheen{animation:riichi-stick-sword-sheen-pulse 3.1s ease-in-out infinite}@keyframes riichi-stick-sword-sheen-pulse{0%,to{stroke-opacity:.42}48%{stroke-opacity:.92}}.riichi-stick-skin-sword .riichi-stick-sword-edge-glint{filter:drop-shadow(0 0 .6px rgba(210,232,255,.95));animation:riichi-stick-sword-edge-glint 2.5s ease-in-out infinite}.riichi-stick-skin-sword .riichi-stick-sword-edge-glint-delay{animation-delay:.32s}@keyframes riichi-stick-sword-edge-glint{0%,58%,to{stroke-opacity:.2}46%{stroke-opacity:1}}.riichi-stick-skin-bone .riichi-stick-bone-sheen{animation:riichi-stick-bone-sheen-roll 5.4s ease-in-out infinite}@keyframes riichi-stick-bone-sheen-roll{0%{transform:translate(-6px);opacity:0}18%{opacity:.85}50%{transform:translate(48px);opacity:1}82%{opacity:.7}to{transform:translate(96px);opacity:0}}.win-effect-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:45;overflow:visible;transition:opacity 80ms linear;isolation:isolate;contain:layout style}.win-effect-layer-preview{z-index:1;overflow:hidden;cursor:default}.win-effect-amnesty-dim,.win-effect-soar-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;pointer-events:none}.hand-reveal-cell{position:relative}.hand-reveal-layer{display:flex;align-items:center;justify-content:center}.hand-reveal-face{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.hand-reveal-active .hand-reveal-back{animation:hand-reveal-back-out .4s ease-out var(--hand-reveal-delay, 0ms) forwards}.hand-reveal-active .hand-reveal-face{animation:hand-reveal-face-in .4s ease-out var(--hand-reveal-delay, 0ms) forwards}@keyframes hand-reveal-back-out{0%{opacity:1}to{opacity:0}}@keyframes hand-reveal-face-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.hand-reveal-active .hand-reveal-back,.hand-reveal-active .hand-reveal-face{animation:none}.hand-reveal-active .hand-reveal-back{opacity:0}.hand-reveal-active .hand-reveal-face{opacity:1}}.open-riichi-transparent-cell{position:relative;display:flex;align-items:center;justify-content:center}.open-riichi-layer{display:flex;align-items:center;justify-content:center}.open-riichi-frost{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.open-riichi-transparent-active .open-riichi-normal{animation:open-riichi-normal-out .35s ease-out var(--open-riichi-delay, 0ms) forwards}.open-riichi-transparent-active .open-riichi-frost{animation:open-riichi-frost-in .35s ease-out var(--open-riichi-delay, 0ms) forwards}@keyframes open-riichi-normal-out{0%{opacity:1}to{opacity:0}}@keyframes open-riichi-frost-in{0%{opacity:0}to{opacity:1}}html.effect-lite .open-riichi-transparent-active .open-riichi-normal,html.effect-lite .open-riichi-transparent-active .open-riichi-frost{animation-duration:.15s}html.effect-lite .open-riichi-transparent-active .open-riichi-normal,html.effect-lite .open-riichi-transparent-active .open-riichi-frost{--open-riichi-delay: 0ms}@media(prefers-reduced-motion:reduce){.open-riichi-transparent-active .open-riichi-normal,.open-riichi-transparent-active .open-riichi-frost{animation:none}.open-riichi-transparent-active .open-riichi-normal{opacity:0}.open-riichi-transparent-active .open-riichi-frost{opacity:1}}@keyframes win-tile-reveal{0%{opacity:0}to{opacity:1}}.win-tile-reveal .tile,.discard-anchor.win-tile-reveal .tile{animation:win-tile-reveal .45s ease-out both}.pond-river .rv-cell.win-tile-reveal{visibility:visible;animation:win-tile-reveal .45s ease-out both}.pond-river .rv-cell.win-tile-reveal .tile,.pond-river-self .rv-cell.win-tile-reveal .tile,.pond-river-across .rv-cell.win-tile-reveal .tile,.pond-river-lower .rv-cell.win-tile-reveal .tile,.pond-river-upper .rv-cell.win-tile-reveal .tile,.pond-river .rv-cell-win .tile,.pond-river-self .rv-cell-win .tile,.pond-river-across .rv-cell-win .tile,.pond-river-lower .rv-cell-win .tile,.pond-river-upper .rv-cell-win .tile{animation:none}.win-effect-soar-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;contain:layout style paint}.win-effect-soar-tile-motion,.win-effect-amnesty-tile-motion,.win-effect-neon-tile-motion,.win-effect-neon-chroma,.win-effect-sakura-tile-motion,.win-effect-thunder-tile-motion{container-type:inline-size}.win-effect-soar-tile-motion .tile-img,.win-effect-soar-tile-motion .tile-atlas,.win-effect-amnesty-tile-motion .tile-img,.win-effect-amnesty-tile-motion .tile-atlas,.win-effect-neon-tile-motion .tile-img,.win-effect-neon-tile-motion .tile-atlas,.win-effect-neon-chroma .tile-img,.win-effect-neon-chroma .tile-atlas,.win-effect-sakura-tile-motion .tile-img,.win-effect-sakura-tile-motion .tile-atlas,.win-effect-thunder-tile-motion .tile-img,.win-effect-thunder-tile-motion .tile-atlas{width:calc(100% * var(--tile-face-scale, 1));height:calc(100% * var(--tile-face-scale, 1));object-fit:contain}.win-effect-soar-tile{position:absolute;z-index:2;will-change:transform,left,top,width,height,opacity;transform-origin:center center}.win-effect-soar-tile .tile{width:100%;height:100%;margin:0;--tile-w: 100%}.win-effect-soar-tile-motion{width:100%;height:100%;will-change:filter}.win-effect-soar-flipper{width:100%;height:100%;display:flex;align-items:stretch;justify-content:center}.pseudo-3d-flip-plane{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:visible}.pseudo-3d-flip-plane-inner{width:100%;height:100%;flex-shrink:0}.win-effect-soar-ring{z-index:1;mix-blend-mode:screen;filter:drop-shadow(0 0 5px rgba(255,215,106,.5)) drop-shadow(0 0 8px rgba(126,200,240,.4))}.win-effect-soar-sparks{z-index:1;mix-blend-mode:screen;filter:drop-shadow(0 0 3px rgba(255,215,106,.5))}.win-effect-soar-bloom{position:absolute;z-index:3;background:radial-gradient(closest-side,currentColor,color-mix(in srgb,currentColor 35%,transparent) 45%,transparent 78%);clip-path:polygon(50% 0%,56% 44%,100% 50%,56% 56%,50% 100%,44% 56%,0% 50%,44% 44%);filter:blur(2px);mix-blend-mode:screen;will-change:transform,opacity;pointer-events:none}.win-effect-soar-bright{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;mix-blend-mode:screen;will-change:opacity;pointer-events:none}.win-effect-soar-flash{position:absolute;z-index:3;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95) 0%,rgba(200,230,255,.6) 38%,transparent 72%);mix-blend-mode:screen;filter:blur(4px);will-change:transform,opacity;pointer-events:none}.win-effect-soar-impact{z-index:3;mix-blend-mode:screen;filter:drop-shadow(0 0 4px rgba(255,215,106,.4)) drop-shadow(0 0 6px rgba(126,200,240,.3))}.win-effect-svg-layer{position:absolute;overflow:visible;transform:translate(-50%,-50%);pointer-events:none}.win-effect-neon-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;contain:layout style paint}.win-effect-neon-haze{position:absolute;z-index:0;border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:screen;pointer-events:none}.win-effect-neon-bg{z-index:0;mix-blend-mode:screen}.win-effect-neon-particles{z-index:1;mix-blend-mode:screen}.win-effect-neon-scanlines{position:absolute;z-index:0;transform:translate(-50%,-50%);background-image:repeating-linear-gradient(0deg,rgba(120,245,255,.16) 0px,rgba(120,245,255,.16) 1px,transparent 1px,transparent 3px);mix-blend-mode:screen;will-change:opacity;pointer-events:none;-webkit-mask-image:radial-gradient(closest-side,#000 0%,#000 45%,transparent 78%);mask-image:radial-gradient(closest-side,#000 0%,#000 45%,transparent 78%)}.win-effect-neon-svg{z-index:1;mix-blend-mode:screen}.win-effect-neon-burst{z-index:3;mix-blend-mode:normal}.win-effect-neon-rgb{position:absolute;z-index:2;transform-origin:center center;pointer-events:none}.win-effect-neon-jitter{position:relative;width:100%;height:100%}.win-effect-neon-chroma{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;mix-blend-mode:screen;pointer-events:none}.win-effect-neon-chroma .tile{width:100%;height:100%;margin:0;--tile-w: 100%}.win-effect-neon-chroma-tint{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:15%/11%;mix-blend-mode:screen;opacity:.82;pointer-events:none}.win-effect-neon-tile-motion{width:100%;height:100%}.win-effect-neon-tile-motion .tile{width:100%;height:100%;margin:0;--tile-w: 100%}.win-effect-neon-rgb .win-effect-neon-white{top:0;right:0;bottom:0;left:0;transform:none}.win-effect-neon-flash{position:absolute;z-index:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95) 0%,rgba(190,245,255,.55) 32%,rgba(190,245,255,.2) 52%,transparent 72%);mix-blend-mode:screen;pointer-events:none}.win-effect-neon-white{position:absolute;z-index:1;border-radius:6px;background:radial-gradient(ellipse at center,#fff,#e1fafff2 55%,#aaebff99);mix-blend-mode:screen;pointer-events:none}.win-effect-neon-glitch-bar{position:absolute;z-index:4;border-radius:1px;mix-blend-mode:screen;pointer-events:none}.win-effect-amnesty-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;contain:layout style paint}.win-effect-amnesty-seal{z-index:0;mix-blend-mode:normal}.win-effect-amnesty-seal-accent-glow{filter:drop-shadow(0 0 4px rgba(255,215,106,.55))}.win-effect-amnesty-seal-add{mix-blend-mode:plus-lighter}.win-effect-amnesty-dust{position:absolute;z-index:0;border-radius:50%;border:2px solid currentColor;transform:translate(-50%,-50%);mix-blend-mode:screen;filter:blur(2px);will-change:transform,opacity;pointer-events:none}.win-effect-amnesty-bloom{position:absolute;z-index:1;background:radial-gradient(closest-side,currentColor,color-mix(in srgb,currentColor 35%,transparent) 45%,transparent 78%);clip-path:polygon(50% 0%,56% 44%,100% 50%,56% 56%,50% 100%,44% 56%,0% 50%,44% 44%);filter:blur(2px);mix-blend-mode:screen;will-change:transform,opacity;pointer-events:none}.win-effect-amnesty-wings{z-index:1;mix-blend-mode:screen}.win-effect-amnesty-wing-glow{z-index:1;mix-blend-mode:plus-lighter}.win-effect-amnesty-beam{position:absolute;z-index:1;background:linear-gradient(to bottom,color-mix(in srgb,currentColor 78%,transparent) 0%,color-mix(in srgb,currentColor 26%,transparent) 50%,transparent 100%);clip-path:polygon(28% 0%,72% 0%,92% 100%,8% 100%);filter:blur(3px);mix-blend-mode:screen;will-change:transform,opacity;pointer-events:none}.win-effect-amnesty-slam-ray{position:absolute;z-index:1;background:linear-gradient(to bottom,color-mix(in srgb,currentColor 92%,#fff7e0) 0%,color-mix(in srgb,currentColor 72%,transparent) 28%,color-mix(in srgb,currentColor 38%,transparent) 62%,transparent 100%);clip-path:polygon(0% 0%,100% 0%,58% 100%,42% 100%);filter:blur(2px);mix-blend-mode:screen;will-change:transform,opacity,height;pointer-events:none}.win-effect-amnesty-tile{position:absolute;z-index:2;transform-origin:center center;overflow:hidden;border-radius:15%/11%;will-change:transform,left,top,width,height,opacity}.win-effect-amnesty-tile-motion{width:100%;height:100%}.win-effect-amnesty-tile-motion .tile{width:100%;height:100%;--tile-w: 100%;margin:0;box-shadow:none}.win-effect-amnesty-tint{position:absolute;top:0;right:0;bottom:0;left:0;mix-blend-mode:multiply;will-change:opacity;pointer-events:none}.win-effect-amnesty-bright{position:absolute;top:0;right:0;bottom:0;left:0;mix-blend-mode:screen;will-change:opacity;pointer-events:none}.win-effect-amnesty-slam-cover{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;will-change:opacity;pointer-events:none}.win-effect-amnesty-radial-glow{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;mix-blend-mode:screen;will-change:opacity;pointer-events:none}.win-effect-amnesty-flash{position:absolute;z-index:3;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95) 0%,rgba(255,226,150,.6) 38%,transparent 72%);mix-blend-mode:screen;filter:blur(4px);will-change:transform,opacity;pointer-events:none}.win-effect-amnesty-ground-black{z-index:0;mix-blend-mode:normal}.win-effect-amnesty-impact{z-index:3;mix-blend-mode:screen}.win-effect-amnesty-embers-black{z-index:4;mix-blend-mode:normal}.win-effect-amnesty-ash{z-index:4;mix-blend-mode:normal;filter:blur(.6px) drop-shadow(0 0 3px rgba(255,215,106,.4))}.win-effect-sakura-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;contain:layout style paint}.win-effect-sakura-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#180812;pointer-events:none}.win-effect-sakura-clusters{z-index:1;mix-blend-mode:screen;filter:drop-shadow(0 0 3px rgba(255,183,197,.35))}.win-effect-sakura-bloom{position:absolute;z-index:1;background:radial-gradient(closest-side,currentColor,color-mix(in srgb,currentColor 40%,transparent) 45%,transparent 78%);border-radius:50%;filter:blur(6px);mix-blend-mode:screen;will-change:transform,opacity;pointer-events:none}.win-effect-sakura-tile{position:absolute;z-index:2;overflow:hidden;border-radius:15%/11%;will-change:transform,left,top,width,height,opacity;transform-origin:center center}.win-effect-sakura-tile-motion{width:100%;height:100%}.win-effect-sakura-tile-motion .tile{width:100%;height:100%;--tile-w: 100%;margin:0;box-shadow:none}.win-effect-sakura-bright{position:absolute;top:0;right:0;bottom:0;left:0;mix-blend-mode:screen;will-change:opacity;pointer-events:none}.win-effect-sakura-flash{position:absolute;z-index:3;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.92) 0%,rgba(255,183,197,.6) 38%,transparent 72%);mix-blend-mode:screen;filter:blur(4px);will-change:transform,opacity;pointer-events:none}.win-effect-sakura-storm{z-index:3;mix-blend-mode:screen;filter:drop-shadow(0 0 3px rgba(255,183,197,.4))}.win-effect-thunder-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;contain:layout style paint}.win-effect-thunder-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c0820;pointer-events:none}.win-effect-thunder-halo{position:absolute;z-index:1;border-radius:50%;mix-blend-mode:screen;filter:blur(4px);will-change:opacity,transform;pointer-events:none}.win-effect-thunder-runes{z-index:1;mix-blend-mode:screen;filter:drop-shadow(0 0 3px rgba(184,139,255,.45))}.win-effect-thunder-arcs{z-index:1;mix-blend-mode:screen;filter:drop-shadow(0 0 4px rgba(111,240,255,.5)) drop-shadow(0 0 6px rgba(184,139,255,.4))}.win-effect-thunder-tile{position:absolute;z-index:2;overflow:hidden;border-radius:15%/11%;will-change:transform,width,height;transform-origin:center center}.win-effect-thunder-tile-motion{width:100%;height:100%}.win-effect-thunder-tile-motion .tile{width:100%;height:100%;margin:0;--tile-w: 100%;box-shadow:none}.win-effect-thunder-bleach{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#fff;mix-blend-mode:screen;will-change:opacity;pointer-events:none}.win-effect-thunder-sparks{z-index:2;mix-blend-mode:screen;filter:drop-shadow(0 0 3px rgba(111,240,255,.6))}.win-effect-thunder-bolt{z-index:3;mix-blend-mode:screen;filter:drop-shadow(0 0 5px rgba(184,139,255,.7)) drop-shadow(0 0 9px rgba(111,240,255,.45))}.win-effect-thunder-flash{position:absolute;z-index:3;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95) 0%,rgba(190,170,255,.6) 38%,transparent 72%);mix-blend-mode:screen;filter:blur(4px);will-change:transform,opacity;pointer-events:none}.win-effect-thunder-impact{z-index:3;mix-blend-mode:screen;filter:drop-shadow(0 0 4px rgba(184,139,255,.45))}.settings-win-effect-row{display:flex;gap:calc(16px * var(--panel-fit, 1));align-items:flex-start;flex-wrap:wrap}.settings-win-effect-bot-toggle{display:flex;align-items:center;gap:calc(8px * var(--panel-fit, 1));margin:0;font-size:calc(13px * var(--panel-fit, 1));cursor:pointer;-webkit-user-select:none;user-select:none}.settings-secondary-toggles{display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1));margin-top:calc(16px * var(--panel-fit, 1));padding-top:calc(12px * var(--panel-fit, 1));border-top:1px solid rgba(255,255,255,.08)}.settings-entry-option-toggle{margin-top:calc(12px * var(--panel-fit, 1))}.settings-entry-option-toggle .game-settings-switch-row{width:100%}.settings-win-effect-bot-toggle input{width:calc(15px * var(--panel-fit, 1));height:calc(15px * var(--panel-fit, 1));accent-color:#ffd76a;cursor:pointer}.settings-win-effect-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(6px * var(--panel-fit, 1));margin-top:calc(10px * var(--panel-fit, 1));min-width:0}.settings-win-effect-list-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;min-width:0;max-width:none}.settings-win-effect-list:not(.settings-win-effect-list-row) .settings-win-effect-chip{width:100%;min-width:0;box-sizing:border-box}.settings-win-effect-chip{padding:calc(8px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border:1px solid rgba(255,255,255,.18);border-radius:calc(8px * var(--panel-fit, 1));background:#ffffff0a;color:inherit;font-size:calc(13px * var(--panel-fit, 1));cursor:pointer;text-align:left;transition:border-color .15s,background .15s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-win-effect-chip:hover{background:#ffffff14}.settings-win-effect-chip.active{border-color:#ffd76a;background:#ffd76a24;box-shadow:0 0 0 1px #ffd76a66 inset}.settings-win-effect-preview{flex:1 1 calc(240px * var(--panel-fit, 1));min-width:0}.settings-win-effect-stage{position:relative;width:100%;aspect-ratio:16 / 9;min-height:calc(180px * var(--panel-fit, 1));overflow:hidden;border-radius:calc(10px * var(--panel-fit, 1));background:radial-gradient(120% 120% at 50% 30%,#ffffff0f,#00000040),var(--table-cloth, #1b5e43);border:1px solid rgba(0,0,0,.3)}.settings-win-effect-play{position:absolute;right:calc(10px * var(--panel-fit, 1));bottom:calc(10px * var(--panel-fit, 1));z-index:50;width:fit-content;margin:0;pointer-events:auto;min-width:5.5rem;text-align:center;box-sizing:border-box}.settings-win-effect-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#ffffff8c;font-size:calc(13px * var(--panel-fit, 1))}.settings-win-effect-preview-anchor{position:absolute;z-index:1;transform:translate(-50%,-50%);pointer-events:none;container-type:inline-size}.settings-win-effect-preview-anchor .tile,.overlay-panel .settings-win-effect-preview-anchor .tile,.settings-fullscreen .settings-win-effect-preview-anchor .tile{width:100%;height:100%;margin:0;--tile-w: 100%}.settings-riichi-stick-section{--settings-riichi-stick-preview-w: calc(238px * var(--panel-fit, 1));--settings-riichi-stick-preview-h: calc(52px * var(--panel-fit, 1));--settings-riichi-stick-chip-canvas-w: calc(88px * var(--panel-fit, 1));--settings-riichi-stick-chip-canvas-h: calc(32px * var(--panel-fit, 1));margin-top:calc(16px * var(--panel-fit, 1));padding-top:calc(14px * var(--panel-fit, 1));border-top:1px solid rgba(255,255,255,.1)}.settings-riichi-stick-layout{display:flex;gap:calc(12px * var(--panel-fit, 1));align-items:flex-start;flex-wrap:wrap}.settings-riichi-stick-main{flex:1 1 calc(320px * var(--panel-fit, 1));min-width:0}.settings-riichi-stick-pond-preview-rail{container-type:size;container-name:riichi-pond-preview-rail;--rv-center-size: var(--pond-dial-size);--pond-preview-scale: min( 1, 100cqw / var(--rv-center-size), 100cqh / calc(var(--rv-center-size) + 1.5em) );flex:0 0 calc(214px * var(--panel-fit, 1));width:calc(214px * var(--panel-fit, 1));min-width:0;min-height:calc(214px * var(--panel-fit, 1));display:flex;align-items:center;justify-content:center;padding:calc(8px * var(--panel-fit, 1)) calc(6px * var(--panel-fit, 1));border:1px solid rgba(255,255,255,.08);border-radius:calc(10px * var(--panel-fit, 1));background:#0000001f}.settings-riichi-stick-row{display:flex;gap:calc(16px * var(--panel-fit, 1));align-items:flex-start;flex-wrap:wrap}.settings-riichi-stick-list{display:flex;flex-wrap:wrap;gap:calc(8px * var(--panel-fit, 1));min-width:calc(220px * var(--panel-fit, 1))}.settings-riichi-stick-custom-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:calc(10px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));margin-bottom:0}.settings-riichi-stick-upload-btn{align-self:flex-end;margin-bottom:calc(7px * var(--panel-fit, 1))}.settings-riichi-stick-chip-custom.is-empty .settings-riichi-stick-chip-preview{border-style:dashed;border-color:#ffffff59;background:repeating-linear-gradient(-45deg,#ffffff0d 0,#ffffff0d 5px,#ffffff04 5px,#ffffff04 10px)}.settings-riichi-stick-chip-custom.is-empty:hover .settings-riichi-stick-chip-preview{border-color:#ffd76a99}.settings-riichi-stick-chip-upload{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.settings-riichi-stick-chip-upload-mark{font-size:calc(20px * var(--panel-fit, 1));font-weight:600;line-height:1;color:#ffffffb3}.settings-riichi-stick-chip-custom.is-empty .settings-riichi-stick-chip-name{color:#fff}.settings-riichi-stick-chip-custom:disabled{cursor:default;opacity:.92}.settings-riichi-stick-chip-custom:disabled:hover{background:#ffffff0a}.settings-riichi-stick-chip{padding:calc(7px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));border:1px solid rgba(255,255,255,.18);border-radius:calc(8px * var(--panel-fit, 1));background:#ffffff0a;color:inherit;cursor:pointer;transition:border-color .15s,background .15s;min-width:calc(var(--settings-riichi-stick-chip-canvas-w, 88px) + 20px * var(--panel-fit, 1))}.settings-riichi-stick-chip:hover{background:#ffffff14}.settings-riichi-stick-chip.active{border-color:#ffd76a;background:#ffd76a24;box-shadow:0 0 0 1px #ffd76a66 inset}.settings-riichi-stick-chip-preview{width:var(--settings-riichi-stick-chip-canvas-w, 88px);height:var(--settings-riichi-stick-chip-canvas-h, 32px);display:flex;align-items:center;justify-content:center;overflow:visible;margin-inline:auto;border-radius:calc(8px * var(--panel-fit, 1));border:1px solid rgba(0,0,0,.3);background:radial-gradient(120% 120% at 50% 30%,#ffffff0f,#00000040),var(--table-cloth, #1b5e43)}.settings-riichi-stick-display{display:flex;align-items:center;justify-content:center;overflow:visible}.settings-riichi-stick-chip-name{display:block;margin-top:calc(5px * var(--panel-fit, 1));text-align:center;font-size:calc(12px * var(--panel-fit, 1))}.settings-riichi-stick-preview{flex:1 1 calc(240px * var(--panel-fit, 1));min-width:0}.settings-riichi-stick-preview-stage{position:relative;width:100%;min-height:calc(120px * var(--panel-fit, 1));overflow:visible;border-radius:calc(10px * var(--panel-fit, 1));border:1px solid rgba(0,0,0,.3);background:radial-gradient(120% 120% at 50% 30%,#ffffff0f,#00000040),var(--table-cloth, #1b5e43);display:flex;align-items:center;justify-content:center}.discard-flight-tile{position:absolute;left:0;top:0;z-index:41}.discard-flight-tile--lite{transform-style:flat}.discard-flight-flipper--lite{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.discard-flight-lite-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;align-items:stretch;justify-content:stretch;transform-origin:center center;container-type:inline-size}.discard-flight-face-mount{position:absolute;transform-origin:center center;width:100%;height:100%;display:flex;align-items:stretch;justify-content:stretch;container-type:inline-size}.discard-flight-face-mount .tile-img,.discard-flight-face-mount .tile-atlas,.discard-flight-lite-face .tile-img,.discard-flight-lite-face .tile-atlas{width:calc(100% * var(--tile-face-scale, 1));height:calc(100% * var(--tile-face-scale, 1));object-fit:contain}.tile-cube-wrap{position:relative;width:100%;height:100%}.tile-cube-underlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;z-index:0}.tile-cube-underlay-face{background:color-mix(in srgb,var(--tile-body-color, #fbf7ea) 72%,#949494)}.tile-cube-underlay-back{background:var(--tile-back-color, #1f8a70)}.tile-cube-wrap>.tile{position:relative;z-index:1}.discard-flight-tile .tile{width:100%;height:100%;margin:0;flex:none;min-width:100%;min-height:100%;--tile-w: 100%;font-size:calc(16px * var(--pond-scale, 1));border-width:calc(1px * var(--pond-scale, 1));gap:calc(1px * var(--pond-scale, 1));box-shadow:inset 0 calc(1px * var(--pond-scale, 1)) calc(1px * var(--pond-scale, 1)) #ffffffe6;transform-origin:center center}.discard-flight-tile .tile-svg{padding:calc(1px * var(--pond-scale, 1));align-items:center;justify-content:center}.discard-flight-flipper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transform-origin:center center;transform-style:flat}.discard-flight-flipper .pseudo-3d-flip-plane{overflow:hidden}.discard-flight-edge,.settings-spin-edge,.win-effect-soar-edge{flex-shrink:0;height:100%;border-radius:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--tile-back-color, #1f8a70) 75%,#000) 0%,var(--tile-back-color, #1f8a70) 25%,color-mix(in srgb,var(--tile-body-color, #fbf7ea) 75%,#ffffff) 25%,var(--tile-body-color, #fbf7ea) 70%,color-mix(in srgb,var(--tile-body-color, #fbf7ea) 86%,#000000) 100%);box-shadow:0 3px 5px #00000073,inset 0 1px 1px #ffffff59,inset 0 -1px 2px #00000040}.pond-river-across .rv-cell .tile{transform:rotate(180deg)}.pond-river-lower .rv-cell .tile{transform:rotate(-90deg)}.pond-river-upper .rv-cell .tile{transform:rotate(90deg)}.pond-river-self .rv-riichi .tile{transform:rotate(-90deg);animation:none}.pond-river-across .rv-riichi .tile{transform:rotate(90deg);animation:none}.pond-river-lower .rv-riichi .tile{transform:rotate(180deg);animation:none}.pond-river-upper .rv-riichi .tile{transform:rotate(0);animation:none}.pond-center{position:relative;width:100%;height:100%;--pond-seat-score-inset: 30px;--pond-seat-trap-h: 40px;--pond-seat-trap-min-w: 128px;--pond-riichi-stick-edge: 5px;--pond-riichi-stick-side: 10px;--pond-dora-row-w: 165px;--pond-dora-margin-inline: -14px;--pond-dora-margin-block: 3px;background:var(--pond-center-bg, radial-gradient(ellipse at 50% 35%, rgba(64, 130, 190, .25) 0%, rgba(0, 0, 0, 0) 60%), linear-gradient(180deg, #122a42 0%, #0a1a2c 100%));border:1px solid rgba(130,190,235,.4);border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0000008c,inset 0 0 24px #143c6499,inset 0 0 0 1px #ffffff0f}.pond-center-inner{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:4px}.pond-center-inner--score-diff-toggle,.pond-center--score-diff-toggle{cursor:pointer;pointer-events:auto}.pond-center--score-diff-toggle .pond-seat-info,.pond-center--score-diff-toggle .pond-riichi-stick-anchor,.pond-center--score-diff-toggle .pond-center-corner-mask{pointer-events:none}.pond-round{font-size:22px;font-weight:800;letter-spacing:2px;color:#ffe9c4;text-shadow:0 0 10px rgba(240,199,90,.45),0 2px 4px rgba(0,0,0,.7)}.pond-meta{display:flex;gap:8px;font-size:13.5px;color:#aed0e8}.pond-dora{--pond-dora-gap: 2px;--pond-dora-slots: 5;--pond-dora-slot-w: calc((var(--pond-dora-row-w) - (var(--pond-dora-slots) - 1) * var(--pond-dora-gap)) / var(--pond-dora-slots));display:flex;gap:var(--pond-dora-gap);width:var(--pond-dora-row-w);perspective:500px;margin-inline:var(--pond-dora-margin-inline);margin-block:var(--pond-dora-margin-block)}.pond-dora .tile-xs{width:var(--pond-dora-slot-w);height:calc(var(--pond-dora-slot-w) * 34 / 24);font-size:calc(11px * var(--pond-dora-slot-w) / 24px);--tile-w: var(--pond-dora-slot-w)}.pond-dora .dora-flip{position:relative;width:var(--pond-dora-slot-w);aspect-ratio:24 / 34;height:auto;transform-style:preserve-3d}.dora-flip-face,.dora-flip-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden}.dora-flip-back{transform:rotateY(180deg)}.dora-flip-animate{animation:dora-flip-over .64s cubic-bezier(.3,.8,.4,1)}@keyframes dora-flip-over{0%{transform:rotateY(180deg) scale(1.12)}60%{transform:rotateY(0) scale(1.12)}to{transform:rotateY(0) scale(1)}}.pond-mode-length{font-size:11px;letter-spacing:.5px;color:#9bb6cc;text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap}.pond-phase{font-size:11.5px;color:#7e9cb6}.pond-seat-info{--pond-seat-trap-top-inset: calc(1.2 * var(--pond-seat-trap-h) / tan(60deg) - 10%);--pond-seat-trap-clip: polygon( var(--pond-seat-trap-top-inset) 0, calc(100% - var(--pond-seat-trap-top-inset)) 0, 100% 100%, 0 100% );--pond-seat-trap-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='10,0 90,0 100,100 0,100' fill='%23fff'/%3E%3C/svg%3E");position:absolute;z-index:1;min-width:var(--pond-seat-trap-min-w);height:var(--pond-seat-trap-h)}.pond-seat-info-shape-frost{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;-webkit-backdrop-filter:blur(6px) saturate(1.3);backdrop-filter:blur(6px) saturate(1.3);-webkit-mask-image:var(--pond-seat-trap-mask);mask-image:var(--pond-seat-trap-mask);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.pond-seat-info-shape{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:var(--pond-seat-trap-clip);background:linear-gradient(180deg,#1a38566b,#0e223675);pointer-events:none}.pond-seat-info-shape:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;clip-path:var(--pond-seat-trap-clip);opacity:.3;background-image:repeating-linear-gradient(-42deg,transparent 0 5px,rgba(255,255,255,.045) 5px 6px),repeating-linear-gradient(42deg,transparent 0 7px,rgba(130,190,235,.05) 7px 8px)}.pond-seat-info-shape:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;clip-path:var(--pond-seat-trap-clip);box-shadow:inset 0 0 0 1px #5ea0d26b,inset 0 -1px #82beeb38}.pond-seat-info-label{position:relative;z-index:1;display:flex;gap:6px;align-items:flex-end;justify-content:center;width:100%;height:100%;font-size:12px;line-height:1;white-space:nowrap;padding:0 28px;padding-bottom:calc(var(--pond-seat-score-inset) - .5em)}.pond-seat-info-glow{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:var(--pond-seat-trap-clip);pointer-events:none;opacity:0;background:linear-gradient(180deg,#f0c75a29,#b48c322e);box-shadow:inset 0 0 0 1px #f0c75ab8,inset 0 -1px #f0c75a59}.pond-seat-info.active:not(.riichi) .pond-seat-info-glow{animation:pond-seat-glow-breathe 1s ease-in-out infinite}@keyframes pond-seat-glow-breathe{0%,to{opacity:0}50%{opacity:1}}.pond-seat-info.riichi .pond-seat-info-shape{background:linear-gradient(180deg,#8c24246b,#60141475)}.pond-seat-info.riichi .pond-seat-info-shape:after{box-shadow:inset 0 0 0 1px #e050508c,inset 0 -1px #ff787833}.pond-seat-info.riichi .pond-seat-info-shape:before{background-image:repeating-linear-gradient(-42deg,transparent 0 5px,rgba(255,200,200,.05) 5px 6px),repeating-linear-gradient(42deg,transparent 0 7px,rgba(255,120,120,.06) 7px 8px)}.pond-seat-info-main{left:50%;bottom:0;transform-origin:50% 100%;transform:translate(-50%)}.pond-seat-info-duimian{left:50%;top:0;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(180deg)}.pond-seat-info-shangjia{left:0;top:50%;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(90deg)}.pond-seat-info-xiajia{right:0;top:50%;transform-origin:50% 100%;transform:translate(50%,-100%) rotate(-90deg)}.pond-seat-wind{color:var(--gold);font-weight:800;letter-spacing:.5px}.pond-seat-info.riichi .pond-seat-wind{color:#f0a8a8}.pond-seat-score{color:var(--score);font-weight:600;font-variant-numeric:tabular-nums}.pond-seat-info.riichi .pond-seat-score{color:#ffd0d0}.pond-seat-info.score-diff .pond-seat-score-diff-ahead,.pond-seat-info.score-diff .pond-seat-score-diff-even{color:#4ade80;font-weight:700}.pond-seat-info.score-diff .pond-seat-score-diff-behind{color:#f87171;font-weight:700}.pond-seat-peida{margin-left:2px;padding:0 4px;border-radius:3px;font-size:9.5px;font-weight:700;line-height:1.35;color:#ffe8c8;background:#8c4810d1;border:1px solid rgba(212,146,58,.55);vertical-align:baseline}.pond-riichi-stick-anchor{position:absolute;z-index:4;pointer-events:none;width:128px;height:28px}.pond-riichi-stick-anchor-main{left:50%;bottom:var(--pond-riichi-stick-edge);transform:translate(-50%,50%)}.pond-riichi-stick-anchor-duimian{left:50%;top:var(--pond-riichi-stick-edge);transform:translate(-50%,-50%)}.pond-riichi-stick-anchor-shangjia{left:var(--pond-riichi-stick-side);top:50%;transform:translate(-50%,-50%)}.pond-riichi-stick-anchor-xiajia{left:calc(100% - var(--pond-riichi-stick-side));top:50%;transform:translate(-50%,-50%)}.pond-center-corner-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;overflow:hidden;pointer-events:none}.pond-seat-corner{position:absolute;line-height:0;pointer-events:none;opacity:var(--corner-opacity, .5);transition:opacity .25s ease}.pond-seat-corner-face{position:relative;z-index:1;width:30px;height:42px;--tile-w: 30px;container-type:inline-size;background-color:var(--corner-tint, #ffffff);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.pond-seat-corner-glow{position:absolute;top:0;right:0;bottom:0;left:0;width:30px;height:42px;container-type:inline-size;pointer-events:none;opacity:0;background-color:#f0c75ae6;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.pond-seat-corner.active .pond-seat-corner-glow{animation:pond-seat-corner-glow-breathe 1s ease-in-out infinite}.pond-seat-corner.riichi.active .pond-seat-corner-glow{background-color:#e05050e6}@keyframes pond-seat-corner-glow-breathe{0%,to{opacity:0}50%{opacity:.8}}.pond-seat-corner-face-natural{background-color:transparent;-webkit-mask-image:none;mask-image:none}img.pond-seat-corner-face-natural{object-fit:contain;display:block}.pond-seat-corner.active{opacity:max(var(--corner-opacity, .5),.85)}.pond-seat-corner.active:not(:has(.pond-seat-corner-glow)){animation:pond-seat-corner-face-breathe 1s ease-in-out infinite}.pond-seat-corner.riichi.active{opacity:max(var(--corner-opacity, .5),.85)}@keyframes pond-seat-corner-face-breathe{0%,to{opacity:max(var(--corner-opacity, .5),.65)}50%{opacity:max(var(--corner-opacity, .5),.95)}}.pond-seat-corner-main{right:4px;bottom:4px;transform:scale(var(--corner-scale, 2.6)) translate(var(--corner-shift, -25%),var(--corner-shift, -25%))}.pond-seat-corner-xiajia{top:-2px;right:10px;transform:rotate(-90deg) scale(var(--corner-scale, 2.6)) translate(var(--corner-shift, -25%),var(--corner-shift, -25%))}.pond-seat-corner-shangjia{bottom:-2px;left:10px;transform:rotate(90deg) scale(var(--corner-scale, 2.6)) translate(var(--corner-shift, -25%),var(--corner-shift, -25%))}.pond-seat-corner-duimian{top:4px;left:4px;transform:rotate(180deg) scale(var(--corner-scale, 2.6)) translate(var(--corner-shift, -25%),var(--corner-shift, -25%))}.meld{display:flex;gap:1px;padding:2px}.center-square{background:linear-gradient(180deg,#122a42,#0a1a2c);border:1px solid rgba(130,190,235,.4);border-radius:14px;padding:14px 20px;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:230px}.center-round{font-size:19px;font-weight:700;color:#ffe9c4}.center-line{font-size:12.5px;color:#aed0e8;display:flex;gap:12px}.center-dora{display:flex;gap:3px;align-items:center}.center-dora .label{font-size:12px;color:var(--ink-dim);margin-right:4px}.center-phase{font-size:12px;color:#7e9cb6}.action-bar{position:absolute;--action-bar-row-gap: 6px;--action-bar-text-spill: 23px;left:25%;right:0;bottom:calc(var(--main-hand-top) + 20px);min-height:calc(var(--action-bar-row-h) + var(--action-bar-text-spill));display:flex;align-items:flex-end;justify-content:center;gap:var(--action-bar-row-gap);flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;padding-top:var(--action-bar-text-spill);scrollbar-width:none;z-index:55;pointer-events:none}.action-bar>*{pointer-events:auto}.action-bar::-webkit-scrollbar{display:none}.action-btn{position:relative;isolation:isolate;--btn-cut: 8px;--btn-bw: 1px;--btn-overflow: 18px;--btn-edge-1: rgba(255, 255, 255, .5);--btn-edge-2: rgba(255, 255, 255, .1);--btn-fill-1: rgba(44, 64, 88, .9);--btn-fill-2: rgba(22, 36, 54, .92);--btn-glow: rgba(120, 170, 220, .4);--btn-ink: #fff;display:inline-flex;align-items:flex-end;justify-content:center;padding:0 18px 8px;font-size:33px;font-weight:800;letter-spacing:.4px;line-height:1;border:0;cursor:pointer;color:var(--btn-ink);background:transparent;overflow:visible;text-shadow:0 2px 4px rgba(0,0,0,.5),0 1px 0 rgba(0,0,0,.35);transition:transform .12s ease;animation:action-pop .18s cubic-bezier(.2,.9,.3,1.3)}.action-btn:before{content:"";position:absolute;left:var(--btn-bw);right:var(--btn-bw);bottom:var(--btn-bw);top:calc(var(--btn-overflow) + var(--btn-bw));z-index:-1;pointer-events:none;background:linear-gradient(180deg,var(--btn-fill-1) 0%,var(--btn-fill-2) 100%);clip-path:polygon(calc(var(--btn-cut) - var(--btn-bw)) 0,100% 0,100% calc(100% - (var(--btn-cut) - var(--btn-bw))),calc(100% - (var(--btn-cut) - var(--btn-bw))) 100%,0 100%,0 calc(var(--btn-cut) - var(--btn-bw)));box-shadow:inset 0 1px #ffffff38;transition:transform .12s ease}.action-btn:after{content:"";position:absolute;left:0;right:0;bottom:0;top:var(--btn-overflow);z-index:-2;pointer-events:none;background:linear-gradient(150deg,var(--btn-edge-1) 0%,var(--btn-edge-2) 70%);clip-path:polygon(var(--btn-cut) 0,100% 0,100% calc(100% - var(--btn-cut)),calc(100% - var(--btn-cut)) 100%,0 100%,0 var(--btn-cut));filter:drop-shadow(0 3px 7px rgba(0,0,0,.4)) drop-shadow(0 0 10px var(--btn-glow));transition:transform .12s ease,filter .16s ease}.action-btn-label,.action-btn-tiles{transition:transform .12s ease}.action-btn:hover:before,.action-btn:hover:after,.action-btn:hover .action-btn-label,.action-btn:hover .action-btn-tiles{transform:translateY(-1px)}.action-btn:hover:after{filter:drop-shadow(0 5px 11px rgba(0,0,0,.45)) drop-shadow(0 0 16px var(--btn-glow))}.action-btn:active:before,.action-btn:active:after,.action-btn:active .action-btn-label,.action-btn:active .action-btn-tiles{transform:translateY(1px)}.action-btn:active:after{filter:drop-shadow(0 1px 4px rgba(0,0,0,.4)) drop-shadow(0 0 6px var(--btn-glow))}.action-btn:focus-visible{outline:none;--btn-glow: rgba(240, 199, 90, .85);--btn-edge-1: var(--gold-bright);--btn-edge-2: var(--gold-deep)}@keyframes action-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.declaration-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;overflow:hidden}.declaration-item{position:absolute;transform:translate(-50%,-50%);text-align:center;line-height:1}.declaration-item--main{left:50%;top:60%}.declaration-item--duimian{left:50%;top:28%}.declaration-item--xiajia{left:76%;top:50%}.declaration-item--shangjia{left:24%;top:50%}.declaration-text{display:inline-block;padding:6px 14px;font-size:64px;font-weight:800;letter-spacing:4px;color:#fff;border-radius:10px;background:#00000052;text-shadow:0 2px 6px rgba(0,0,0,.85),0 0 18px rgba(255,215,120,.55);animation:declaration-pop .5s ease-out forwards}.declaration-item--win .declaration-text{color:#ffe9a8;text-shadow:0 2px 6px rgba(0,0,0,.9),0 0 22px rgba(255,170,60,.8)}@keyframes declaration-pop{0%{opacity:0;transform:scale(.6)}18%{opacity:1;transform:scale(1.12)}32%{transform:scale(1)}72%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}.action-win{--btn-edge-1: #ffc4a0;--btn-edge-2: #b02c12;--btn-fill-1: rgba(206, 78, 44, .93);--btn-fill-2: rgba(132, 38, 18, .95);--btn-glow: rgba(255, 110, 60, .6);--btn-ink: #fff}.action-claim{--btn-edge-1: #a8d2f5;--btn-edge-2: #194a82;--btn-fill-1: rgba(44, 108, 180, .93);--btn-fill-2: rgba(24, 64, 116, .95);--btn-glow: rgba(80, 150, 220, .55);--btn-ink: #fff}.action-selfMeld{--btn-edge-1: #cdadf5;--btn-edge-2: #482783;--btn-fill-1: rgba(110, 63, 180, .93);--btn-fill-2: rgba(62, 34, 112, .95);--btn-glow: rgba(150, 100, 220, .55);--btn-ink: #fff}.action-declare{--btn-edge-1: #fff2c6;--btn-edge-2: #b9831a;--btn-fill-1: rgba(240, 196, 80, .96);--btn-fill-2: rgba(200, 150, 40, .97);--btn-glow: rgba(240, 199, 90, .6);--btn-ink: #fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}.action-zhali,.action-kailizhi{--btn-edge-1: #ffb8b8;--btn-edge-2: #911a1a;--btn-fill-1: rgba(202, 56, 56, .94);--btn-fill-2: rgba(132, 26, 26, .95);--btn-glow: rgba(255, 70, 70, .6);--btn-ink: #fff}.hover-tip--zhali,.hover-tip--kailizhi{max-width:min(92vw,320px);border-color:#ff5a5a73;box-shadow:var(--glass-shadow),var(--glass-highlight),0 0 0 1px #ff5a5a2e}.action-special{--btn-edge-1: #aeede0;--btn-edge-2: #13594a;--btn-fill-1: rgba(34, 138, 114, .93);--btn-fill-2: rgba(18, 86, 70, .95);--btn-glow: rgba(60, 190, 160, .55);--btn-ink: #fff}.action-pass,.action-draw{--btn-edge-1: rgba(190, 208, 224, .5);--btn-edge-2: rgba(60, 80, 100, .45);--btn-fill-1: rgba(70, 92, 112, .92);--btn-fill-2: rgba(38, 52, 68, .94);--btn-glow: rgba(120, 150, 180, .35);--btn-ink: #fff}.action-hint{font-size:13px;color:#aed0e8}.tenpai-hint-tiles{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:6px;max-width:100%}.tenpai-hint-item{display:flex;flex-direction:column;align-items:center;gap:2px}.tenpai-hint-count{font-size:12px;color:#ffe08a}.tenpai-hint-fan{font-size:11px;color:#f0c75a;font-weight:700}.tenpai-hint-warn{font-size:11px;color:#ff5c4a;font-weight:600}.tenpai-hint-furiten{font-size:11px;color:#ff8c3a;font-weight:700}.action-error{color:#ff9d8a;font-size:13px}.action-bar--multi-select{gap:10px;align-items:center}.multi-select-status{font-size:13px;font-weight:700;color:#ffd866;white-space:nowrap}.action-bar--multi-select .action-btn:disabled{opacity:.45;cursor:not-allowed}.self-status-bar{position:absolute;left:calc(var(--side-band-width) + 22px);bottom:calc(74px * var(--main-hand-scale) + 36px);transform:none;display:flex;gap:8px;z-index:55;pointer-events:none}.self-hint-bar{align-items:center;flex-wrap:wrap;justify-content:flex-start;right:8px}.self-hint-bar-statuses{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}.self-zuhelong-bubble-anchor{position:absolute;left:calc(var(--side-band-width) + 22px);bottom:calc(74px * var(--main-hand-scale) + 72px);z-index:56;pointer-events:none;max-width:calc(100% - var(--side-band-width) - 30px)}.self-hint-zuhelong-bubble{pointer-events:auto;display:flex;align-items:stretch;gap:6px;padding:6px 8px 6px 4px;min-height:40px;box-sizing:border-box;border-radius:12px;cursor:grab;touch-action:none;background:#ffffff08;backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px #ffffff0a}.self-hint-zuhelong-bubble--dragging{cursor:grabbing;background:#ffffff0f;border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff0f}.self-hint-zuhelong-bubble-grip{flex-shrink:0;width:10px;align-self:stretch;border-radius:4px;margin:2px 0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.12) 0 2px,transparent 2px 5px);opacity:.4}.self-hint-zuhelong-bubble-content{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}.self-hint-zuhelong-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;line-height:1.25}.self-hint-zuhelong-text{color:#d2dae2eb;font-weight:500;font-size:13px;line-height:1.25;flex-shrink:0}.self-hint-zuhelong-header .self-hint-zuhelong-action{display:inline;min-height:0;line-height:1.25;font-size:13px;padding:0;margin:0;vertical-align:baseline}.self-hint-zuhelong-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.self-hint-zuhelong-action{flex-shrink:0;display:inline-flex;align-items:center;min-height:28px;padding:0;border:none;background:none;color:#fff;font:inherit;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.self-hint-zuhelong-action:hover{color:#fff}.self-hint-zuhelong-action--with-tiles{display:inline-flex;flex:none;width:fit-content;align-items:center;gap:0;padding:2px 4px;border-radius:8px;text-decoration:none;background:#3a6ea52e;border:1px solid rgba(120,180,240,.22)}.self-hint-zuhelong-action--with-tiles:hover{background:#4e8ac847}.self-hint-zuhelong-action--reject{color:#fff;font-weight:500;text-decoration:none}.self-hint-zuhelong-action--reject:hover{color:#fff}.self-hint-zuhelong-action-label{font-weight:700;color:#fff}.self-hint-zuhelong-action-tiles{display:inline-flex;align-items:center;gap:3px}.self-hint-zuhelong-action-tiles .tile-xs{width:29px;height:41px;font-size:13px;--tile-w: 29px;flex-shrink:0}.overlay-panel--fit-content .overlay-panel-body{flex:0 1 auto;min-height:0;overflow-y:visible}.overlay-panel--fit-content .overlay-actions{flex:0 0 auto;margin-top:0}.extended-rank-intro-panel .overlay-title{flex:0 0 auto}.extended-rank-intro-panel .tile-md{width:calc(42px * var(--panel-fit, 1));height:calc(58px * var(--panel-fit, 1));font-size:calc(18px * var(--panel-fit, 1));--tile-w: calc(42px * var(--panel-fit, 1))}.extended-rank-intro-body{display:flex;flex-direction:column;align-items:stretch;gap:calc(14px * var(--panel-fit, 1));width:100%;text-align:left;font-size:calc(14px * var(--panel-fit, 1))}.extended-rank-intro-footnote{margin:0;text-align:center;font-size:calc(12px * var(--panel-fit, 1));line-height:1.5;color:var(--ink-muted, rgba(255, 255, 255, .62))}.extended-rank-tile-pool{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(12px * var(--panel-fit, 1))}.extended-rank-tile-pool-card{display:flex;flex-direction:column;align-items:center;gap:calc(6px * var(--panel-fit, 1));min-width:calc(88px * var(--panel-fit, 1));padding:calc(10px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1)) calc(8px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1));border:1px solid rgba(255,255,255,.1);background:#00000038;cursor:help;transition:border-color .15s ease,opacity .15s ease}.extended-rank-tile-pool-card.is-active:hover{border-color:#ffd78059}.extended-rank-tile-pool-card.is-absent{opacity:.45}.extended-rank-tile-pool-visual{position:relative;display:flex;align-items:center;justify-content:center}.extended-rank-tile-count{position:absolute;right:calc(-6px * var(--panel-fit, 1));bottom:calc(-4px * var(--panel-fit, 1));padding:calc(1px * var(--panel-fit, 1)) calc(6px * var(--panel-fit, 1));border-radius:999px;font-size:calc(10px * var(--panel-fit, 1));font-weight:700;color:#1a1208;background:var(--gold)}.extended-rank-tile-pool-card.is-absent .extended-rank-tile-count{color:var(--ink-muted, rgba(255, 255, 255, .7));background:#ffffff1f}.extended-rank-tile-pool-label{font-size:calc(12px * var(--panel-fit, 1));font-weight:600;color:var(--ink)}.extended-rank-mode-grid{display:grid;gap:calc(10px * var(--panel-fit, 1))}.extended-rank-mode-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.extended-rank-mode-grid--full{grid-template-columns:minmax(0,1fr)}.extended-rank-mode-card{display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1));min-height:calc(92px * var(--panel-fit, 1));padding:calc(10px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1));border:1px solid rgba(255,255,255,.1);background:#00000038;cursor:help;transition:border-color .15s ease,opacity .15s ease}.extended-rank-mode-card:hover{border-color:#ffffff38}.extended-rank-mode-card.is-off{opacity:.72}.extended-rank-mode-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(8px * var(--panel-fit, 1))}.extended-rank-mode-status{flex:0 0 auto;padding:calc(2px * var(--panel-fit, 1)) calc(8px * var(--panel-fit, 1));border-radius:calc(999px * var(--panel-fit, 1));font-size:calc(11px * var(--panel-fit, 1));font-weight:700;line-height:1.3;color:#ffffff8c;background:#ffffff14}.extended-rank-mode-status.is-on{color:#b8f0d0;background:#6fcf972e}.extended-rank-mode-title{flex:1 1 auto;font-size:calc(12px * var(--panel-fit, 1));font-weight:600;line-height:1.35;color:var(--ink)}.extended-rank-mode-caption{margin:0;font-size:calc(11px * var(--panel-fit, 1));line-height:1.45;color:var(--ink-muted, rgba(255, 255, 255, .78))}.extended-rank-mode-caption.is-muted{color:var(--ink-muted, rgba(255, 255, 255, .5))}.extended-rank-scale{display:flex;width:max-content}.extended-rank-meld-row,.extended-rank-tile-strip{display:flex;flex-wrap:nowrap;align-items:center;white-space:nowrap;gap:calc(2px * var(--panel-fit, 1))}.extended-rank-meld-row{gap:calc(4px * var(--panel-fit, 1))}.extended-rank-meld{display:inline-flex;flex:0 0 auto;align-items:center;gap:calc(1px * var(--panel-fit, 1));padding:calc(2px * var(--panel-fit, 1));border-radius:calc(6px * var(--panel-fit, 1));background:#ffffff0d}.extended-rank-meld-gap{flex:0 0 calc(6px * var(--panel-fit, 1))}.extended-rank-mode-card.is-text-only{min-height:calc(56px * var(--panel-fit, 1))}.extended-rank-mode-card.has-demo{min-height:calc(108px * var(--panel-fit, 1))}.extended-rank-intro-actions{flex:0 0 auto;justify-content:center;gap:calc(12px * var(--panel-fit, 1))}.hover-tip--extended-rank-mode{max-width:min(360px,calc(100vw - 24px));line-height:1.5;white-space:pre-wrap}.self-realistic-bubble-anchor{position:absolute;left:calc(var(--side-band-width) + 22px);bottom:calc(74px * var(--main-hand-scale) + 132px);z-index:57;pointer-events:none;max-width:calc(100% - var(--side-band-width) - 30px)}.self-hint-realistic-bubble{pointer-events:auto;display:flex;align-items:stretch;gap:6px;padding:6px 8px 6px 4px;min-height:40px;box-sizing:border-box;border-radius:12px;cursor:grab;touch-action:none;background:#ffffff08;backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px #ffffff0a}.self-hint-realistic-bubble--dragging{cursor:grabbing;background:#ffffff0f;border-color:#ffffff1a}.self-hint-realistic-bubble-grip{flex-shrink:0;width:10px;align-self:stretch;border-radius:4px;margin:2px 0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.12) 0 2px,transparent 2px 5px);opacity:.4}.self-hint-realistic-bubble-content{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}.self-hint-realistic-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;line-height:1.3}.self-hint-realistic-text{color:#d2dae2eb;font-weight:500;font-size:13px;line-height:1.3;flex-shrink:0}.self-hint-realistic-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.self-hint-realistic-action{flex-shrink:0;display:inline-flex;align-items:center;min-height:28px;padding:2px 10px;border-radius:8px;border:1px solid rgba(120,180,240,.22);background:#3a6ea52e;color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.self-hint-realistic-action--primary:hover{background:#4e8ac847}.self-hint-realistic-action--reject{background:none;border-color:transparent;font-weight:500}.self-hint-realistic-action--reject:hover{color:#fff}.self-status-badge{font-size:14px;font-weight:800;letter-spacing:1px;padding:3px 12px;border-radius:14px;text-shadow:0 1px 2px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.22)}.self-status-furiten{background:linear-gradient(180deg,#ff8c3af2,#c85614f2);color:#fff;box-shadow:0 0 14px #ff823c80,inset 0 1px #ffffff4d}.self-status-janki{background:linear-gradient(180deg,#dc465af2,#902230f2);color:#fff;box-shadow:0 0 14px #dc465a73,inset 0 1px #ffffff3d}.action-btn-with-tiles{align-items:flex-end;gap:9px;padding-left:17px;padding-right:17px}.action-btn-label{white-space:nowrap}.action-btn-tiles{display:inline-flex;align-items:flex-end;gap:3px;margin-left:4px}.action-btn-tiles .tile-xs{width:28px;height:38px;font-size:13px;--tile-w: 28px;flex-shrink:0;text-shadow:none}.lack-suit-chip{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;padding:2px 8px;border-radius:8px;font-size:16px;font-weight:700;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,.55);background:#00000047;box-shadow:0 1px 3px #0006}.action-btn-active{--btn-edge-1: var(--gold-bright);--btn-edge-2: var(--gold-deep);--btn-glow: rgba(240, 199, 90, .85)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;isolation:isolate;display:flex;z-index:30;padding:clamp(8px,2vmin,20px)}.overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--overlay-backdrop-tint);backdrop-filter:var(--overlay-backdrop-filter);-webkit-backdrop-filter:var(--overlay-backdrop-filter);transition:background-color .25s ease,backdrop-filter .25s ease,-webkit-backdrop-filter .25s ease;animation:overlay-backdrop-in .25s ease}.overlay--dim-backdrop:before{background:#040a126b;backdrop-filter:none;-webkit-backdrop-filter:none;animation:overlay-backdrop-in-dim .25s ease}.game-root--immersive .overlay:not(.overlay--dim-backdrop):before{clip-path:inset(calc((100% - var(--board-mask-h, 100%)) / 2) calc((100% - var(--board-mask-w, 100%)) / 2))}.overlay-fit{flex:1 1 auto;width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center}@keyframes overlay-backdrop-in{0%{background-color:#040a1200}to{background-color:var(--overlay-backdrop-tint)}}@keyframes overlay-backdrop-in-dim{0%{background-color:#040a1200}to{background-color:#040a126b}}.overlay-panel{--panel-fit: 1;flex:none;border-radius:calc(18px * var(--panel-fit));padding:calc(28px * var(--panel-fit)) calc(32px * var(--panel-fit));overflow:hidden;display:flex;flex-direction:column;gap:calc(12px * var(--panel-fit));animation:panel-rise .3s cubic-bezier(.2,.9,.3,1.15)}.overlay-panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit));padding-right:calc(2px * var(--panel-fit))}.overlay-panel--resume-session .overlay-panel-body{flex:1 1 auto;min-height:0;overflow-y:visible}:root{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.overlay-panel--resume-session .overlay-actions{flex:0 0 auto;margin-top:0}.panel input,.panel select,.panel textarea,.overlay-panel input,.overlay-panel select,.overlay-panel textarea,.overlay-panel .wall-viewer-text{background:#08182852;border-color:var(--glass-border);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}.panel .about-author-aside,.overlay-panel .about-author-aside,.overlay-panel .wall-viewer-commit,.overlay-panel .wall-viewer-grid,.overlay-panel .wall-viewer-regions,.overlay-panel .algo-code-pre,.overlay-panel .algo-flow,.overlay-panel .algo-steps{background:var(--glass-inset-bg);border-color:var(--glass-border);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}@keyframes panel-rise{0%{transform:translateY(calc(26px * var(--panel-fit, 1)))}to{transform:translateY(0)}}@media(hover:none)and (pointer:coarse){.overlay-panel{animation:none}}@media(prefers-reduced-motion:reduce){html{transition:none}.overlay:before,.overlay-panel,.panel.menu-panel-enter{animation:none}.overlay:before{background-color:var(--overlay-backdrop-tint);opacity:1;transition:none}.overlay--dim-backdrop:before{background-color:#040a126b}}.overlay-title{flex:0 0 auto;font-size:calc(26px * var(--panel-fit, 1));font-weight:800;letter-spacing:calc(4px * var(--panel-fit, 1));margin:0;text-align:center;background:linear-gradient(180deg,#ffe9a8 10%,var(--gold) 55%,#b9871f 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.overlay-actions{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:calc(10px * var(--panel-fit, 1));justify-content:center;margin-top:calc(4px * var(--panel-fit, 1))}.overlay-actions .btn-primary,.overlay-actions .btn-secondary{flex:0 1 auto;min-width:calc(108px * var(--panel-fit, 1));max-width:100%;overflow:hidden}.welcome-beta-panel .overlay-title{letter-spacing:calc(2px * var(--panel-fit, 1));font-size:calc(22px * var(--panel-fit, 1));line-height:1.35}.welcome-beta-body{display:flex;flex-direction:column;gap:calc(12px * var(--panel-fit, 1));text-align:left}.welcome-beta-paragraph{margin:0;font-size:calc(14px * var(--panel-fit, 1));line-height:1.65;color:#eaf4ffeb;white-space:pre-line}.project-contact-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:calc(6px * var(--panel-fit, 1)) calc(28px * var(--panel-fit, 1));width:auto;max-width:100%;margin:calc(4px * var(--panel-fit, 1)) 0;align-self:flex-start;text-align:left;font-size:calc(13px * var(--panel-fit, 1));line-height:1.5}.project-contact-item{display:inline-flex;flex-wrap:wrap;align-items:baseline;min-width:0}.project-contact-label{color:#adc6dce6;font-weight:600;font-size:calc(12px * var(--panel-fit, 1));letter-spacing:calc(.5px * var(--panel-fit, 1))}.project-contact-sep{color:#adc6dcbf;margin-right:calc(2px * var(--panel-fit, 1))}.welcome-beta-contacts{margin-top:calc(2px * var(--panel-fit, 1));margin-bottom:calc(6px * var(--panel-fit, 1))}.about-copy-link-wrap{position:relative;display:inline}.about-copy-link,.welcome-beta-body a,.about-author-notice a,.about-text a,.about-art-details a,.about-project-meta a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;word-break:break-all}.about-copy-link{cursor:pointer}.about-copy-link:hover,.welcome-beta-body a:hover,.about-author-notice a:hover,.about-text a:hover,.about-art-details a:hover,.about-project-meta a:hover{color:var(--gold-bright)}.about-copy-tip{position:absolute;left:50%;bottom:calc(100% + 6px);z-index:5;transform:translate(-50%) translateY(4px);padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:#0c1624eb;color:#eaf4ff;font-size:12px;line-height:1.3;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.about-copy-tip.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.overlay-panel .btn-primary{font-size:calc(15px * var(--panel-fit, 1));letter-spacing:calc(1px * var(--panel-fit, 1));padding:calc(12px * var(--panel-fit, 1)) calc(20px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1))}.report-bug-body{gap:calc(10px * var(--panel-fit, 1))}.report-bug-match-info{margin:0;font-size:calc(13px * var(--panel-fit, 1))}.report-bug-hint{margin:0;font-size:calc(13px * var(--panel-fit, 1));line-height:1.5;color:var(--text-muted, rgba(255, 255, 255, .7))}.report-bug-hint-sub{margin:0;font-size:calc(12px * var(--panel-fit, 1));color:var(--text-muted, rgba(255, 255, 255, .55))}.report-bug-label{font-size:calc(14px * var(--panel-fit, 1));font-weight:600}.report-bug-textarea{width:100%;resize:vertical;min-height:calc(96px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1));line-height:1.5;padding:calc(10px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));background:var(--input-bg, rgba(255, 255, 255, .06));border:1px solid var(--input-border, rgba(255, 255, 255, .15));color:inherit;font-family:inherit}.report-bug-textarea:focus{outline:none;border-color:var(--accent, #6c8aff)}.report-bug-error{margin:0;font-size:calc(13px * var(--panel-fit, 1));color:#ff8a7a}.report-bug-success{display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1))}.report-bug-success-title{margin:0;font-size:calc(15px * var(--panel-fit, 1));font-weight:600}.report-bug-saved-to{margin:0;font-size:calc(13px * var(--panel-fit, 1));word-break:break-all}.report-bug-reminder{margin:0;font-size:calc(13px * var(--panel-fit, 1));line-height:1.5;color:var(--text-muted, rgba(255, 255, 255, .75))}.report-bug-diag-preview,.report-bug-diag-summary{margin:0;font-size:calc(12px * var(--panel-fit, 1));line-height:1.45;color:var(--text-muted, rgba(255, 255, 255, .65))}.report-bug-report-id{margin:0;font-size:calc(13px * var(--panel-fit, 1));font-family:ui-monospace,monospace;word-break:break-all}.overlay-panel .btn-secondary{padding:calc(9px * var(--panel-fit, 1)) calc(16px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1))}.overlay-panel .btn-ghost{font-size:calc(13px * var(--panel-fit, 1));padding:calc(6px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1))}.overlay-panel .muted{font-size:calc(12px * var(--panel-fit, 1))}.overlay-panel .fan-list{gap:calc(4px * var(--panel-fit, 1))}.paipu-export-group{display:flex;flex-direction:column;align-items:center;gap:calc(6px * var(--panel-fit, 1));margin:calc(10px * var(--panel-fit, 1)) 0 calc(4px * var(--panel-fit, 1))}.paipu-export-label{font-size:calc(12px * var(--panel-fit, 1));letter-spacing:calc(1px * var(--panel-fit, 1));color:#ffffff8c}.paipu-export-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(8px * var(--panel-fit, 1))}.paipu-export-btn{background:#ffffff14;color:#fff;font-weight:700;font-size:calc(13px * var(--panel-fit, 1));letter-spacing:calc(.5px * var(--panel-fit, 1));padding:calc(8px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border:1px solid rgba(255,255,255,.18);border-radius:calc(10px * var(--panel-fit, 1));cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.paipu-export-btn:hover{background:#ffffff29;border-color:#ffffff52}.paipu-export-btn:active{transform:translateY(1px)}.paipu-export-btn--highlight{background:linear-gradient(180deg,#ff6b6b,#d8392f 60%,#a51f17);color:#fff;border-color:#ff786eb3;box-shadow:0 4px 14px #d5392f66,inset 0 1px #ffffff40;text-shadow:0 1px 0 rgba(0,0,0,.25)}.paipu-export-btn--highlight:hover{background:linear-gradient(180deg,#ff8080,#e0473c 60%,#b8261d);border-color:#ff968cd9}.overlay-panel .fan-grid{--fan-gap: calc(4px * var(--panel-fit, 1));gap:var(--fan-gap)}.overlay-panel .fan-grid .fan-line{gap:calc(6px * var(--panel-fit, 1));padding:calc(4px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));border-radius:calc(7px * var(--panel-fit, 1))}.overlay-panel .fan-line{font-size:calc(14px * var(--panel-fit, 1));padding:calc(4px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));border-radius:calc(7px * var(--panel-fit, 1))}.overlay-panel .score-total{font-size:calc(30px * var(--panel-fit, 1));text-shadow:0 0 calc(16px * var(--panel-fit, 1)) rgba(255,224,138,.5)}.overlay-panel .delta-grid{column-gap:calc(14px * var(--panel-fit, 1));row-gap:calc(4px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1))}.overlay-panel .reveal-block{gap:calc(4px * var(--panel-fit, 1))}.overlay-panel .reveal-block .label{font-size:calc(12.5px * var(--panel-fit, 1))}.panel .tile-sm,.overlay-panel .tile-sm{width:calc(30px * var(--panel-fit, 1));height:calc(42px * var(--panel-fit, 1));font-size:calc(13px * var(--panel-fit, 1));--tile-w: calc(30px * var(--panel-fit, 1))}.overlay-panel .rv-cell .tile{width:var(--rv-w);height:var(--rv-h);font-size:16px;--tile-w: var(--rv-w);margin:0}.overlay-panel .win-effect-soar-tile-motion .tile,.overlay-panel .win-effect-amnesty-tile-motion .tile,.overlay-panel .win-effect-neon-tile-motion .tile,.overlay-panel .win-effect-neon-chroma .tile,.overlay-panel .win-effect-sakura-tile-motion .tile,.overlay-panel .win-effect-thunder-tile-motion .tile,.settings-fullscreen .win-effect-soar-tile-motion .tile,.settings-fullscreen .win-effect-amnesty-tile-motion .tile,.settings-fullscreen .win-effect-neon-tile-motion .tile,.settings-fullscreen .win-effect-neon-chroma .tile,.settings-fullscreen .win-effect-sakura-tile-motion .tile,.settings-fullscreen .win-effect-thunder-tile-motion .tile{width:100%;height:100%;margin:0;--tile-w: 100%}.overlay-panel .tile-row{gap:calc(2px * var(--panel-fit, 1))}.overlay-panel input,.overlay-panel select,.overlay-panel textarea:not(.wall-viewer-text){font-size:calc(14px * var(--panel-fit, 1));padding:calc(8px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));border-radius:calc(8px * var(--panel-fit, 1))}.overlay-panel .reveal-row .meld-row{margin-left:calc(12px * var(--panel-fit, 1));align-items:flex-end}.overlay-panel .reveal-row .meld-strip{padding:0;align-items:flex-end}.overlay-panel .reveal-row .tcell{width:calc(30px * var(--panel-fit, 1));height:calc(42px * var(--panel-fit, 1))}.overlay-panel .reveal-row .tcell .tile{width:calc(30px * var(--panel-fit, 1));height:calc(42px * var(--panel-fit, 1));font-size:calc(13px * var(--panel-fit, 1));--tile-w: calc(30px * var(--panel-fit, 1))}.overlay-panel .reveal-row .tcell-side{width:calc(42px * var(--panel-fit, 1));height:calc(30px * var(--panel-fit, 1))}.overlay-panel .reveal-row .tcell.tcell-kakan{width:calc(42px * var(--panel-fit, 1));height:calc(60px * var(--panel-fit, 1))}.overlay-panel .reveal-row .tile-highlighted{box-shadow:0 0 0 calc(3px * var(--panel-fit, 1)) var(--gold),0 0 calc(14px * var(--panel-fit, 1)) #f0c75a80}.overlay-panel .dora-reveal-groups{gap:0}.overlay-panel .dora-reveal-group{gap:calc(4px * var(--panel-fit, 1))}.overlay-panel .haidi-reveal-row{gap:calc(8px * var(--panel-fit, 1))}.overlay-panel .haidi-drawer-label{font-size:calc(12.5px * var(--panel-fit, 1))}.overlay-panel .dora-group-sep{margin:0 calc(12px * var(--panel-fit, 1))}.overlay-panel .rank-line{gap:calc(14px * var(--panel-fit, 1));font-size:calc(16px * var(--panel-fit, 1))}.overlay-panel .rank-line .rank{width:calc(38px * var(--panel-fit, 1))}.wall-viewer-hint{margin:0;text-align:center;line-height:1.5;font-size:calc(13px * var(--panel-fit, 1))}.wall-viewer-panel{gap:calc(8px * var(--panel-fit, 1))}.wall-viewer-body{flex:1 1 auto;min-height:0}.wall-viewer-tabs{display:flex;flex:0 0 auto;gap:calc(8px * var(--panel-fit, 1));justify-content:center}.wall-viewer-tab{padding:calc(6px * var(--panel-fit, 1)) calc(16px * var(--panel-fit, 1));border-radius:calc(999px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:#0818283d;color:#fff;font-size:calc(13px * var(--panel-fit, 1));cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.wall-viewer-tab:hover{color:#fff;border-color:#f0c75a59}.wall-viewer-tab--active{color:#fff;background:linear-gradient(180deg,#ffe9a8 10%,var(--gold) 55%,#b9871f 100%);border-color:transparent;font-weight:600}.wall-viewer-tiles-pane{display:flex;flex:1 1 auto;flex-direction:column;gap:calc(8px * var(--panel-fit, 1));min-height:0}.wall-viewer-tile-count{flex:0 0 auto;margin:0;text-align:center;font-size:calc(11px * var(--panel-fit, 1))}.wall-viewer-copy-block{display:flex;flex-direction:column;gap:calc(6px * var(--panel-fit, 1))}.wall-viewer-copy-row{display:flex;gap:calc(10px * var(--panel-fit, 1));align-items:stretch}.wall-viewer-text{flex:1;min-width:0;resize:none;padding:calc(10px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:#08182852;backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);color:#dcecf8;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:calc(13px * var(--panel-fit, 1));line-height:1.45;cursor:text;-webkit-user-select:text;user-select:text}.wall-viewer-text:focus{outline:1px solid rgba(240,199,90,.55);outline-offset:1px}.wall-viewer-copy-btn{flex:0 0 auto;align-self:center;min-width:calc(72px * var(--panel-fit, 1))}.wall-viewer-grid{display:grid;grid-template-columns:repeat(17,minmax(0,auto));gap:calc(3px * var(--panel-fit, 1));justify-content:center;align-content:start;flex:1 1 auto;min-height:calc(280px * var(--panel-fit, 1));overflow-y:auto;overflow-x:hidden;padding:calc(10px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}.wall-viewer-regions{display:flex;flex-direction:column;gap:calc(12px * var(--panel-fit, 1));flex:1 1 auto;min-height:calc(280px * var(--panel-fit, 1));overflow-y:auto;overflow-x:hidden;padding:calc(10px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}.wall-viewer-region{display:flex;flex-direction:column;gap:calc(4px * var(--panel-fit, 1))}.wall-viewer-region-label{margin:0;font-size:calc(11px * var(--panel-fit, 1));font-weight:600;letter-spacing:.02em}.wall-viewer-region-row{display:flex;flex-wrap:wrap;align-items:flex-start;row-gap:calc(4px * var(--panel-fit, 1));column-gap:calc(8px * var(--panel-fit, 1))}.wall-viewer-tile-group{display:inline-flex;flex-wrap:nowrap;gap:calc(3px * var(--panel-fit, 1))}.wall-viewer-dora-slot{border-radius:calc(4px * var(--panel-fit, 1));box-shadow:0 0 0 calc(2px * var(--panel-fit, 1)) #ffc83cf2,0 0 calc(8px * var(--panel-fit, 1)) #ffc83c73}.wall-viewer-legend+.wall-viewer-legend{margin-top:calc(2px * var(--panel-fit, 1))}.wall-viewer-group{display:contents}.wall-viewer-commit{display:flex;flex-direction:column;gap:calc(4px * var(--panel-fit, 1));margin:0 0 calc(10px * var(--panel-fit, 1));padding:calc(8px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}.wall-viewer-commit-row{display:flex;gap:calc(10px * var(--panel-fit, 1));align-items:baseline}.wall-viewer-commit-row dt{flex:0 0 auto;min-width:calc(64px * var(--panel-fit, 1));color:#9fc1dc;font-size:calc(12px * var(--panel-fit, 1))}.wall-viewer-commit-row dd{flex:1;min-width:0;margin:0;word-break:break-all}.wall-viewer-mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:calc(12px * var(--panel-fit, 1));color:#dcecf8}.wall-viewer-explain{display:flex;flex-direction:column;gap:calc(4px * var(--panel-fit, 1));margin:0 0 calc(10px * var(--panel-fit, 1))}.wall-viewer-explain-title{margin:calc(6px * var(--panel-fit, 1)) 0 calc(2px * var(--panel-fit, 1));font-size:calc(13px * var(--panel-fit, 1));font-weight:600;color:#f0c75a}.wall-viewer-explain-title:first-child{margin-top:0}.wall-viewer-explain-lead{margin:0 0 calc(4px * var(--panel-fit, 1));line-height:1.5;font-size:calc(11px * var(--panel-fit, 1))}.wall-viewer-commit-row dd{display:flex;flex-direction:column;gap:calc(1px * var(--panel-fit, 1))}.wall-viewer-commit-desc{color:#8aa6bd;font-size:calc(10px * var(--panel-fit, 1));line-height:1.4}.client-corner-watermark{position:fixed;z-index:40;pointer-events:none;white-space:nowrap;text-align:right;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:calc(10px * var(--corner-watermark-fit, 1));line-height:1.35;color:#c8dcee6b;text-shadow:0 1px 2px rgba(0,0,0,.6)}.algo-content.about-content{display:flex;flex-direction:column;gap:calc(22px * var(--panel-fit, 1))}.algo-lead{margin:calc(2px * var(--panel-fit, 1)) 0 calc(4px * var(--panel-fit, 1));padding:calc(12px * var(--panel-fit, 1)) calc(16px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1));border:1px solid rgba(240,199,90,.32);border-left-width:calc(4px * var(--panel-fit, 1));background:linear-gradient(180deg,#f0c75a1f,#f0c75a0a);line-height:1.75;font-size:calc(14px * var(--panel-fit, 1));color:#f3e6c4}.algo-lead strong{color:#ffe9a8}.algo-section{display:flex;flex-direction:column;gap:calc(10px * var(--panel-fit, 1))}.algo-section-title{display:flex;align-items:center;gap:calc(9px * var(--panel-fit, 1));margin:0;font-size:calc(16px * var(--panel-fit, 1));letter-spacing:1px;color:#ffe9a8}.algo-section-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:calc(26px * var(--panel-fit, 1));height:calc(26px * var(--panel-fit, 1));border-radius:50%;border:1px solid rgba(240,199,90,.55);background:#f0c75a1f;font-size:calc(13px * var(--panel-fit, 1));font-weight:700;color:#ffe9a8}.algo-subhead{margin:calc(6px * var(--panel-fit, 1)) 0 calc(-2px * var(--panel-fit, 1));padding-left:calc(9px * var(--panel-fit, 1));border-left:calc(3px * var(--panel-fit, 1)) solid rgba(120,180,225,.6);font-size:calc(13.5px * var(--panel-fit, 1));font-weight:600;color:#cfe2f1}.algo-paragraph{margin:0;line-height:1.75;font-size:calc(14px * var(--panel-fit, 1));color:#cfe2f1}.algo-paragraph strong,.algo-note-text strong,.algo-table td strong{color:#ffe9a8;font-weight:600}.algo-note{display:flex;flex-direction:column;gap:calc(3px * var(--panel-fit, 1));padding:calc(10px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));border:1px solid rgba(120,180,225,.28);border-left-width:calc(4px * var(--panel-fit, 1));background:#78b4e114}.algo-note--good{border-color:#7ee08a52;background:#7ee08a14}.algo-note--warn{border-color:#f0c75a61;background:#f0c75a14}.algo-note-title{font-size:calc(13px * var(--panel-fit, 1));font-weight:700;color:#bfe0f4}.algo-note--good .algo-note-title{color:#9fe6ab}.algo-note--warn .algo-note-title{color:#ffe09a}.algo-note-text{margin:0;line-height:1.7;font-size:calc(13.5px * var(--panel-fit, 1));color:#cfe2f1}.about-panel .algo-flow{flex-wrap:nowrap;overflow-x:auto}.algo-flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:calc(6px * var(--panel-fit, 1));padding:calc(10px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));background:var(--glass-inset-bg);border:1px dashed var(--glass-border);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}.algo-flow-node{display:flex;flex-direction:column;gap:calc(2px * var(--panel-fit, 1));justify-content:center;padding:calc(7px * var(--panel-fit, 1)) calc(11px * var(--panel-fit, 1));border-radius:calc(9px * var(--panel-fit, 1));border:1px solid rgba(120,180,225,.4);background:linear-gradient(180deg,#3464908c,#1e42648c)}.algo-flow-label{font-size:calc(13px * var(--panel-fit, 1));font-weight:600;color:#eaf3fb;white-space:nowrap}.algo-flow-sub{font-size:calc(11px * var(--panel-fit, 1));color:#9fc1dc}.algo-flow-arrow{align-self:center;font-size:calc(15px * var(--panel-fit, 1));color:#f0c75ad9}.algo-steps{display:flex;flex-direction:column;gap:calc(7px * var(--panel-fit, 1));padding:calc(10px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}.algo-steps-title{font-size:calc(13px * var(--panel-fit, 1));font-weight:700;color:#bfe0f4}.algo-steps-list{display:flex;flex-direction:column;gap:calc(7px * var(--panel-fit, 1));margin:0;padding:0;list-style:none}.algo-step{display:flex;align-items:flex-start;gap:calc(9px * var(--panel-fit, 1))}.algo-step-index{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:calc(20px * var(--panel-fit, 1));height:calc(20px * var(--panel-fit, 1));margin-top:calc(1px * var(--panel-fit, 1));border-radius:50%;background:#f0c75a33;border:1px solid rgba(240,199,90,.5);font-size:calc(11px * var(--panel-fit, 1));font-weight:700;color:#ffe9a8}.algo-step-body{display:flex;flex-direction:column;gap:calc(1px * var(--panel-fit, 1))}.algo-step-title{font-size:calc(13px * var(--panel-fit, 1));font-weight:600;color:#eaf3fb}.algo-step-text{font-size:calc(13px * var(--panel-fit, 1));line-height:1.6;color:#cfe2f1}.algo-table-wrap{overflow-x:auto;border-radius:calc(10px * var(--panel-fit, 1));border:1px solid rgba(120,180,225,.25)}.algo-table{width:100%;border-collapse:collapse;font-size:calc(13px * var(--panel-fit, 1))}.algo-table th,.algo-table td{padding:calc(8px * var(--panel-fit, 1)) calc(11px * var(--panel-fit, 1));text-align:left;vertical-align:top;border-bottom:1px solid rgba(120,180,225,.16);line-height:1.55}.algo-table thead th{background:#34649066;color:#eaf3fb;font-weight:600;white-space:nowrap}.algo-table tbody tr:last-child td{border-bottom:none}.algo-table tbody td:first-child{white-space:nowrap;color:#bfe0f4;font-weight:600}.algo-table tbody td:nth-child(2){white-space:nowrap;color:#9fc1dc}.algo-code-block{display:flex;flex-direction:column;gap:calc(6px * var(--panel-fit, 1));margin-top:calc(4px * var(--panel-fit, 1))}.algo-code-head{display:flex;align-items:flex-end;justify-content:space-between;gap:calc(10px * var(--panel-fit, 1))}.algo-code-caption{display:flex;flex-direction:column;gap:calc(2px * var(--panel-fit, 1));min-width:0}.algo-code-title{font-size:calc(13px * var(--panel-fit, 1));color:#e6f1fa;font-weight:600}.algo-code-source{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:calc(11px * var(--panel-fit, 1));color:#7f9bb3}.algo-code-copy{flex:0 0 auto;min-width:calc(64px * var(--panel-fit, 1))}.algo-code-pre{margin:0;padding:calc(10px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);overflow-x:auto;max-height:calc(320px * var(--panel-fit, 1));overflow-y:auto}.algo-code-pre code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:calc(12px * var(--panel-fit, 1));line-height:1.5;color:#dcecf8;white-space:pre;-webkit-user-select:text;user-select:text}.game-settings-panel{overflow:hidden}.game-settings-shell{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1));overflow:hidden}.game-settings-content{flex:1;min-height:0;overflow-y:auto;padding:2px 2px 4px}.game-settings-perf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(12px * var(--panel-fit, 1));align-items:start}.game-settings-perf-col{display:flex;flex-direction:column;gap:calc(14px * var(--panel-fit, 1));min-width:0}.game-settings-section h3{margin:calc(4px * var(--panel-fit, 1)) 0 calc(6px * var(--panel-fit, 1));font-size:calc(15px * var(--panel-fit, 1))}.game-settings-section.is-compact h3{margin-top:0}.game-settings-hint{margin:0 0 calc(12px * var(--panel-fit, 1));font-size:calc(13px * var(--panel-fit, 1));line-height:1.5}.game-settings-hint-groups{display:flex;flex-direction:column;gap:calc(16px * var(--panel-fit, 1))}.game-settings-hint-group{display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1));min-width:0}.game-settings-subheading{margin:0;font-size:calc(13px * var(--panel-fit, 1));font-weight:600;color:var(--ink-dim);letter-spacing:.02em}.game-settings-subhint{margin:calc(-2px * var(--panel-fit, 1)) 0 0;font-size:calc(12px * var(--panel-fit, 1));line-height:1.45}.game-settings-switch-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:calc(6px * var(--panel-fit, 1))}.game-settings-mode-tag{display:inline-block;padding:calc(1px * var(--panel-fit, 1)) calc(6px * var(--panel-fit, 1));border-radius:calc(5px * var(--panel-fit, 1));background:#f0c75a1f;border:1px solid rgba(240,199,90,.35);color:var(--gold);font-size:calc(10px * var(--panel-fit, 1));font-weight:600;line-height:1.35;white-space:nowrap}.game-settings-section+.game-settings-section{margin-top:calc(14px * var(--panel-fit, 1))}.game-settings-perf-grid .game-settings-section+.game-settings-section,.game-settings-perf-col .game-settings-section+.game-settings-section{margin-top:0}.game-settings-segmented{flex-wrap:wrap;align-content:flex-start;align-items:flex-start}.game-settings-segmented-block{display:flex;flex-direction:column;gap:calc(12px * var(--panel-fit, 1));min-width:0}.game-settings-segmented-hint{margin:0;font-size:calc(12px * var(--panel-fit, 1));line-height:1.5}.game-settings-segmented button{flex:1 1 0;min-width:calc(56px * var(--panel-fit, 1))}.game-settings-fps-slider{display:flex;flex-direction:column;gap:calc(4px * var(--panel-fit, 1));min-width:0}.game-settings-fps-slider-input{display:block;width:100%;margin:0;padding:0;height:calc(18px * var(--panel-fit, 1));accent-color:var(--gold)}.game-settings-fps-slider-ticks,.game-settings-fps-slider-labels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:calc(2px * var(--panel-fit, 1))}.game-settings-fps-slider-tick{justify-self:center;width:calc(6px * var(--panel-fit, 1));height:calc(6px * var(--panel-fit, 1));border-radius:50%;background:#ffffff47}.game-settings-fps-slider-tick.is-active{background:var(--gold);box-shadow:0 0 calc(6px * var(--panel-fit, 1)) #f0c75a73}.game-settings-fps-slider-label{text-align:center;font-size:calc(11px * var(--panel-fit, 1));line-height:1.2;color:var(--ink-dim);-webkit-user-select:none;user-select:none}.game-settings-fps-slider-label.is-active{color:var(--gold);font-weight:600}.game-settings-switch-row.has-tip{cursor:help}.overlay-panel .segmented button{padding:calc(9px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1))}.game-settings-slider-block{display:grid;grid-template-columns:calc(60px * var(--panel-fit, 1)) minmax(0,1fr) calc(80px * var(--panel-fit, 1));align-items:center;column-gap:calc(16px * var(--panel-fit, 1));row-gap:calc(8px * var(--panel-fit, 1));margin-top:calc(10px * var(--panel-fit, 1));margin-bottom:calc(12px * var(--panel-fit, 1))}.game-settings-slider-block:has(.game-settings-slider-hint){align-items:start}.game-settings-slider-label{font-size:calc(13px * var(--panel-fit, 1));white-space:nowrap}.game-settings-slider-stack{display:flex;flex-direction:column;gap:7px;min-width:0}.game-settings-slider-stack input[type=range]{display:block;width:100%;min-width:0;height:calc(16px * var(--panel-fit, 1));margin:0 0 calc(-6px * var(--panel-fit, 1));padding:0;accent-color:var(--gold)}.game-settings-slider-hint{margin:0;font-size:calc(12px * var(--panel-fit, 1));line-height:1.2}.game-settings-slider-input-col{display:flex;align-items:center;flex:0 0 auto;justify-content:flex-end;width:calc(80px * var(--panel-fit, 1))}.game-settings-slider-input-col .settings-slider-input-group{width:100%;justify-content:flex-end}.game-settings-slider-input-col .settings-scale-input{width:3.2em;flex:0 0 auto}.game-settings-slider-input-col .settings-slider-suffix{font-variant-numeric:tabular-nums;white-space:nowrap}.game-settings-restore-btn{margin-top:calc(4px * var(--panel-fit, 1))}.game-settings-restore-confirm{display:flex;flex-direction:column;gap:calc(12px * var(--panel-fit, 1));margin-top:calc(4px * var(--panel-fit, 1));padding:calc(14px * var(--panel-fit, 1)) calc(16px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1));border:1px solid rgba(224,122,107,.45);background:#5e233047}.game-settings-restore-confirm-text{margin:0;font-size:calc(13px * var(--panel-fit, 1));line-height:1.5;color:var(--ink)}.game-settings-restore-confirm-actions{display:flex;justify-content:flex-end;gap:calc(8px * var(--panel-fit, 1))}.game-settings-offline-controls.is-locked{cursor:not-allowed;opacity:.78;pointer-events:auto}.game-settings-offline-controls.is-locked *{cursor:not-allowed;pointer-events:none}.game-settings-switch-row.is-disabled,.game-settings-switch.is-disabled{cursor:not-allowed;opacity:.52}.game-settings-switch-row.is-disabled:hover{border-color:#5ea0d247;box-shadow:none;background:var(--glass-inset-bg)}.game-settings-switch.is-disabled input,.game-settings-switch input:disabled{cursor:not-allowed;pointer-events:none}.game-settings-switch-list{display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1))}.game-settings-switch-list.is-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(8px * var(--panel-fit, 1))}.game-settings-switch-list.is-grid-2 .game-settings-switch-row{height:100%}.game-settings-switch-row{display:flex;align-items:center;justify-content:space-between;gap:calc(12px * var(--panel-fit, 1));padding:calc(12px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.game-settings-switch-row:hover{border-color:#f0c75a73;box-shadow:0 0 10px #f0c75a1f;background:#ffffff1a}.game-settings-switch-copy{display:flex;flex-direction:column;gap:calc(4px * var(--panel-fit, 1));min-width:0}.game-settings-switch-title{font-size:calc(14px * var(--panel-fit, 1));font-weight:600;color:var(--ink)}.game-settings-switch-desc{font-size:calc(12px * var(--panel-fit, 1));line-height:1.45}.game-settings-switch{position:relative;flex:0 0 auto;width:calc(44px * var(--panel-fit, 1));height:calc(24px * var(--panel-fit, 1))}.game-settings-switch input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}.game-settings-switch-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#0c1c2cd9;border:1px solid rgba(94,160,210,.35);transition:background .16s ease,border-color .16s ease}.game-settings-switch-thumb{position:absolute;top:50%;left:calc(3px * var(--panel-fit, 1));width:calc(18px * var(--panel-fit, 1));height:calc(18px * var(--panel-fit, 1));border-radius:50%;background:linear-gradient(180deg,#f5f8fb,#c8d4e0);box-shadow:0 1px 4px #00000059;transform:translateY(-50%);transition:left .18s cubic-bezier(.2,.9,.3,1.15)}.game-settings-switch.on .game-settings-switch-track{background:linear-gradient(180deg,#ffd97059,#e9b13d40);border-color:#f0c75aa6}.game-settings-switch.on .game-settings-switch-thumb{left:calc(23px * var(--panel-fit, 1));background:linear-gradient(180deg,#ffe9a8,#e9b13d)}.game-settings-footer{display:flex;justify-content:flex-end;flex:0 0 auto;margin-top:calc(4px * var(--panel-fit, 1))}.menu-setting-row{display:flex;align-items:center;gap:calc(10px * var(--panel-fit, 1));width:100%}.menu-setting-label{flex:0 0 auto;min-width:4.5em;font-size:calc(14px * var(--panel-fit, 1));font-weight:600;color:#aed0e8;white-space:nowrap}.menu-setting-row .glass-select-wrap{flex:1 1 auto;min-width:0}.glass-select-wrap{position:relative;display:block;min-width:0}.glass-select-trigger{position:relative;display:flex;align-items:center;width:100%;box-sizing:border-box;cursor:pointer;font:inherit;font-size:calc(14px * var(--panel-fit, 1));font-weight:600;line-height:1.35;text-align:left;color:var(--ink);min-height:calc(44px * var(--panel-fit, 1));padding:calc(10px * var(--panel-fit, 1)) calc(36px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);box-shadow:var(--glass-highlight);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.glass-select-trigger:after{content:"";position:absolute;right:calc(14px * var(--panel-fit, 1));top:50%;width:calc(7px * var(--panel-fit, 1));height:calc(7px * var(--panel-fit, 1));margin-top:calc(-1px * var(--panel-fit, 1));transform:translateY(-50%) rotate(45deg);border-right:calc(2px * var(--panel-fit, 1)) solid var(--gold);border-bottom:calc(2px * var(--panel-fit, 1)) solid var(--gold);pointer-events:none;opacity:.9;transition:transform .16s ease}.glass-select-trigger.is-open:after{transform:translateY(-35%) rotate(225deg)}.glass-select-value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass-select-trigger:hover:not(:disabled),.glass-select-trigger.is-open:not(:disabled){border-color:#f0c75a73;background:#ffffff1a;box-shadow:var(--glass-highlight)}.glass-select-trigger:focus-visible{outline:none;border-color:var(--gold);box-shadow:var(--glass-highlight)}.glass-select-trigger:disabled{opacity:.55;cursor:not-allowed}.lobby-screen .glass-select-trigger{background:var(--lobby-surface-input);backdrop-filter:none;-webkit-backdrop-filter:none}html.no-frosted-glass .glass-select-trigger{background:#081828e0;backdrop-filter:none;-webkit-backdrop-filter:none}.glass-select-menu{margin:0;padding:calc(6px * var(--panel-fit, 1));list-style:none;border-radius:calc(12px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow),var(--glass-highlight),0 0 24px #5096dc24;max-height:min(280px,42vh);overflow-y:auto;overscroll-behavior:contain;animation:glass-select-menu-in .16s cubic-bezier(.2,.9,.3,1.1)}.glass-select-menu.is-above{animation:glass-select-menu-in-above .16s cubic-bezier(.2,.9,.3,1.1)}.glass-select-menu.is-lobby{background:#0a1828eb;backdrop-filter:none;-webkit-backdrop-filter:none}.glass-select-menu.is-opaque{background:#0a1828f5;backdrop-filter:none;-webkit-backdrop-filter:none}.glass-select-option{display:block;width:100%;box-sizing:border-box;border:1px solid transparent;border-radius:calc(9px * var(--panel-fit, 1));background:transparent;color:var(--ink);font:inherit;font-size:calc(14px * var(--panel-fit, 1));font-weight:600;line-height:1.35;text-align:left;padding:calc(10px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.glass-select-option:hover:not(:disabled),.glass-select-option.is-highlighted:not(:disabled){background:#ffffff1a;border-color:#f0c75a47}.glass-select-option.is-selected{color:var(--gold-bright, #ffe9a8);background:#ffe08a1f;border-color:#f0c75a59}.glass-select-option:disabled{opacity:.45;cursor:not-allowed}@keyframes glass-select-menu-in{0%{opacity:0;transform:translateY(calc(-4px * var(--panel-fit, 1))) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes glass-select-menu-in-above{0%{opacity:0;transform:translateY(calc(4px * var(--panel-fit, 1))) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.glass-select-menu,.glass-select-menu.is-above{animation:none}.glass-select-trigger:after{transition:none}}.menu-setting-row .menu-rule-entry{flex:1 1 auto;min-width:0;margin-top:0}.menu-rule-entry{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:calc(10px * var(--panel-fit, 1));width:100%;margin-top:calc(4px * var(--panel-fit, 1));padding:calc(12px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-inset-bg);color:var(--ink);font:inherit;text-align:left;cursor:pointer;backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.menu-rule-entry:hover{border-color:#f0c75a73;background:#ffffff1a;box-shadow:0 0 10px #f0c75a1f}.menu-rule-entry-label{font-size:calc(15px * var(--panel-fit, 1));font-weight:600}.menu-rule-entry-meta{font-size:calc(13px * var(--panel-fit, 1));white-space:nowrap}.menu-rule-entry-chevron{color:var(--gold);font-size:calc(16px * var(--panel-fit, 1))}.menu-rule-desc{margin:calc(6px * var(--panel-fit, 1)) 0 calc(4px * var(--panel-fit, 1));font-size:calc(12px * var(--panel-fit, 1));line-height:1.45}.menu-rule-config-btn{width:100%;margin-top:calc(4px * var(--panel-fit, 1))}.rule-config-panel{--rule-config-control-width: calc(120px * var(--panel-fit, 1));overflow:hidden;display:flex;flex-direction:column}.rule-config-panel.is-read-only .rule-config-option-control,.rule-config-panel.is-read-only .rule-config-match-segmented{pointer-events:none}.rule-config-panel.is-read-only .rule-config-footer{justify-content:flex-end}.rule-config-body{flex:1 1 auto;min-height:0;display:flex;gap:calc(14px * var(--panel-fit, 1));overflow:hidden}.rule-config-scheme-rail{flex:0 0 calc(240px * var(--panel-fit, 1));min-height:0;display:flex;flex-direction:column;gap:calc(12px * var(--panel-fit, 1));overflow-y:auto;padding-right:calc(4px * var(--panel-fit, 1));border-right:1px solid rgba(130,190,235,.16)}.rule-config-scheme-section{display:flex;flex-direction:column;gap:calc(6px * var(--panel-fit, 1))}.rule-config-scheme-head{margin:0;font-size:calc(12px * var(--panel-fit, 1));font-weight:700;letter-spacing:calc(1px * var(--panel-fit, 1));color:var(--gold)}.rule-scheme-list{display:flex;flex-direction:column;gap:calc(4px * var(--panel-fit, 1))}.rule-scheme-item{display:flex;align-items:flex-start;gap:calc(8px * var(--panel-fit, 1));width:100%;padding:calc(10px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);color:#fff;text-align:left;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.rule-scheme-item:hover{background:#ffffff1a;border-color:#f0c75a59}.rule-scheme-item.selected{background:#ffe08a1f;border-color:var(--gold);box-shadow:0 0 10px #f0c75a1a}.rule-scheme-copy{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:calc(3px * var(--panel-fit, 1))}.rule-scheme-name{display:block;font-size:calc(14px * var(--panel-fit, 1));font-weight:600;line-height:1.35;word-break:break-word}.rule-scheme-item.selected .rule-scheme-name{cursor:text}.rule-scheme-desc{display:block;font-size:calc(11px * var(--panel-fit, 1));line-height:1.4;word-break:break-word}.rule-scheme-name-input{width:100%;padding:calc(4px * var(--panel-fit, 1)) calc(6px * var(--panel-fit, 1));border-radius:calc(6px * var(--panel-fit, 1));border:1px solid rgba(240,199,90,.45);background:#081422e6;color:var(--ink);font:inherit;font-size:calc(13px * var(--panel-fit, 1))}.rule-scheme-del{flex:0 0 auto;width:calc(22px * var(--panel-fit, 1));height:calc(22px * var(--panel-fit, 1));border:none;border-radius:calc(6px * var(--panel-fit, 1));background:#ffffff14;color:#fff;font-size:calc(16px * var(--panel-fit, 1));line-height:1;cursor:pointer;opacity:.55;transition:opacity .14s ease,background .14s ease}.rule-scheme-item:hover .rule-scheme-del,.rule-scheme-item.selected .rule-scheme-del{opacity:1}.rule-scheme-del:hover{background:#a33;color:#fff}.rule-scheme-add{width:100%;margin-top:calc(2px * var(--panel-fit, 1));padding:calc(9px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));border:1px dashed var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);color:#fff;font:inherit;font-size:calc(13px * var(--panel-fit, 1));text-align:left;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease}.rule-scheme-add:hover{border-color:#f0c75a73;background:#ffffff1a;color:#fff}.rule-config-panel .settings-tab{border:1px solid transparent;background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}.rule-config-panel .settings-tab:hover{background:#ffffff1a}.rule-config-panel .settings-tab.active{background:#ffe08a24}.rule-config-panel .segmented button{background:var(--glass-inset-bg);border:1px solid var(--glass-border);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}.rule-config-panel .segmented button.active{background:#ffe08a24;border-color:var(--gold);color:#fff;font-weight:600;box-shadow:0 0 10px #f0c75a40}.rule-config-editor{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1));overflow:hidden}.rule-config-readonly-hint{margin:0;flex:0 0 auto;font-size:calc(12px * var(--panel-fit, 1));line-height:1.45}.rule-config-tabs{flex:0 0 auto}.rule-config-tab--highlight{color:#ff6b6b}.rule-config-tab--highlight.active{border-bottom-color:#ff6b6b;color:#ff8a8a}.rule-config-footer-block{flex:0 0 auto;display:flex;flex-direction:column;gap:calc(10px * var(--panel-fit, 1));margin-top:calc(6px * var(--panel-fit, 1));padding-top:calc(10px * var(--panel-fit, 1));border-top:1px solid rgba(130,190,235,.18)}.rule-config-match-length{display:flex;align-items:center;gap:calc(12px * var(--panel-fit, 1));flex-wrap:wrap}.rule-config-match-length-label{font-size:calc(13px * var(--panel-fit, 1));font-weight:600;white-space:nowrap}.rule-config-match-segmented{flex:1 1 auto;flex-wrap:wrap}.rule-config-content{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.rule-config-category-title{margin:0 0 calc(10px * var(--panel-fit, 1));font-size:calc(15px * var(--panel-fit, 1))}.rule-config-option-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1));padding-right:calc(2px * var(--panel-fit, 1))}.rule-config-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:calc(12px * var(--panel-fit, 1));align-items:start;padding:calc(12px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1));border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}.rule-config-option-row--toggle{align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.rule-config-option-row--toggle:hover:not(.is-disabled){border-color:#f0c75a73;box-shadow:0 0 10px #f0c75a1f;background:#ffffff1a}.rule-config-option-row--toggle.has-tip{cursor:pointer}.rule-config-panel.is-read-only .rule-config-option-row--toggle{cursor:default}.rule-config-panel.is-read-only .rule-config-option-row--toggle:hover{border-color:#5ea0d247;box-shadow:none}.rule-config-group-block{display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1))}.rule-config-group-head{margin:calc(4px * var(--panel-fit, 1)) 0 calc(2px * var(--panel-fit, 1));padding-left:calc(8px * var(--panel-fit, 1));font-size:calc(13px * var(--panel-fit, 1));font-weight:700;letter-spacing:.04em;color:#f0d98a;border-left:calc(3px * var(--panel-fit, 1)) solid rgba(240,199,90,.55)}.rule-config-group-head-row{display:flex;align-items:center;justify-content:space-between;gap:calc(10px * var(--panel-fit, 1));flex-wrap:wrap}.rule-config-group-head-row .rule-config-group-head{margin:calc(4px * var(--panel-fit, 1)) 0 calc(2px * var(--panel-fit, 1));flex:1 1 auto}.rule-config-group-head-actions{display:flex;align-items:center;gap:calc(10px * var(--panel-fit, 1));flex:0 0 auto}.rule-config-text-btn{background:none;border:none;padding:calc(2px * var(--panel-fit, 1)) calc(4px * var(--panel-fit, 1));font-size:calc(12.5px * var(--panel-fit, 1));color:#fff;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.rule-config-text-btn:hover:not(:disabled){color:#fff}.rule-config-text-btn:disabled{opacity:.38;cursor:default;text-decoration:none}.rule-config-group-hint{margin:0 0 calc(4px * var(--panel-fit, 1));padding-left:calc(11px * var(--panel-fit, 1));font-size:calc(12px * var(--panel-fit, 1))}.rule-config-group-rows.is-master-off{opacity:.52}.rule-config-option-row--nested{margin-left:calc(20px * var(--panel-fit, 1))}.rule-config-option-row.is-disabled{pointer-events:auto}.rule-config-option-row.is-disabled.rule-config-option-row--toggle{cursor:not-allowed;opacity:.52}.rule-config-option-row.is-disabled .rule-config-option-title{color:var(--ink-dim)}.rule-config-option-row.is-disabled .rule-config-option-control{cursor:not-allowed}.rule-config-option-row.is-disabled .rule-config-number-input,.rule-config-option-row.is-disabled .rule-config-number-input:hover,.rule-config-option-row.is-disabled .rule-config-number-input:focus{cursor:not-allowed}.rule-config-option-row.is-disabled.rule-config-option-row--toggle:hover{border-color:#5ea0d247;box-shadow:none;background:var(--glass-inset-bg)}.rule-config-group-rows{display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1))}.rule-config-option-head{min-width:0}.rule-config-option-row.has-tip{cursor:help}.rule-config-option-title{font-size:calc(14px * var(--panel-fit, 1));font-weight:600;color:var(--ink)}.rule-config-option-control{flex:0 0 auto;min-width:var(--rule-config-control-width);display:flex;align-items:center;justify-content:flex-end}.rule-config-option-row--toggle .rule-config-option-control{min-width:0;width:auto}.rule-config-segmented{flex-wrap:wrap;justify-content:flex-end;max-width:calc(280px * var(--panel-fit, 1))}.rule-config-segmented button{flex:1 1 auto;min-width:calc(56px * var(--panel-fit, 1))}.rule-config-number-field{width:var(--rule-config-control-width);display:flex;flex-direction:column;align-items:stretch;gap:calc(4px * var(--panel-fit, 1))}.rule-config-number-input{text-align:right}.rule-config-number-input.has-error{border-color:#e07070}.rule-config-field-error{font-size:calc(11px * var(--panel-fit, 1));color:#f0a0a0;text-align:right;line-height:1.3}.rule-config-footer{display:flex;align-items:center;justify-content:space-between;gap:calc(12px * var(--panel-fit, 1));flex:0 0 auto}.rule-config-footer-actions{display:flex;gap:calc(8px * var(--panel-fit, 1))}@media(max-width:640px){.rule-config-body{flex-direction:column}.rule-config-scheme-rail{flex:0 0 auto;width:auto;border-right:none;border-bottom:1px solid rgba(130,190,235,.16);padding-right:0;padding-bottom:calc(8px * var(--panel-fit, 1))}.rule-scheme-list{max-height:calc(180px * var(--panel-fit, 1));overflow-y:auto}.rule-config-option-row{grid-template-columns:1fr}.rule-config-option-control{justify-content:flex-start}.rule-config-footer{flex-direction:column;align-items:stretch}.rule-config-footer-actions{justify-content:flex-end}}.settings-panel{overflow:hidden}.settings-fullscreen{position:relative;isolation:isolate;flex:none;min-width:0;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;gap:calc(14px * var(--panel-fit, 1));padding:calc(22px * var(--panel-fit, 1)) calc(30px * var(--panel-fit, 1));border-radius:calc(18px * var(--panel-fit, 1));border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),0 0 48px #5096dc1a;overflow:hidden;animation:panel-rise .3s cubic-bezier(.2,.9,.3,1.15)}.settings-fullscreen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(180deg,var(--glass-panel-tint-top) 0%,var(--glass-panel-tint-bottom) 100%),var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight)}.settings-fullscreen .settings-shell,.settings-fullscreen .settings-main{flex:1 1 auto;min-height:0}.overlay-title,.settings-preview{flex:0 0 auto}.settings-panel h3{margin:calc(12px * var(--panel-fit, 1)) 0 calc(6px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1))}.settings-fullscreen .btn-primary{font-size:calc(15px * var(--panel-fit, 1));letter-spacing:calc(1px * var(--panel-fit, 1));padding:calc(12px * var(--panel-fit, 1)) calc(20px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1))}.settings-fullscreen .btn-secondary{padding:calc(9px * var(--panel-fit, 1)) calc(16px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1))}.settings-fullscreen .btn-ghost{font-size:calc(13px * var(--panel-fit, 1));padding:calc(6px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1))}.settings-fullscreen .segmented button{padding:calc(9px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1))}.settings-fullscreen .row{gap:calc(10px * var(--panel-fit, 1))}.settings-fullscreen .tile-sm{width:calc(30px * var(--panel-fit, 1));height:calc(42px * var(--panel-fit, 1));font-size:calc(13px * var(--panel-fit, 1));--tile-w: calc(30px * var(--panel-fit, 1))}.settings-fullscreen .tile-md{width:calc(42px * var(--panel-fit, 1));height:calc(58px * var(--panel-fit, 1));font-size:calc(18px * var(--panel-fit, 1));--tile-w: calc(42px * var(--panel-fit, 1))}.settings-fullscreen .rv-cell .tile,.settings-mini-table-preview .rv-cell .tile{width:var(--rv-w);height:var(--rv-h);font-size:16px;--tile-w: var(--rv-w);margin:0}.settings-preview-tiles-mode .tile-md{width:calc(var(--settings-tile-w-base) * var(--tile-preview-scale, 1));height:calc(var(--settings-tile-h-base) * var(--tile-preview-scale, 1));font-size:calc(15px * var(--panel-fit, 1) * var(--tile-preview-scale, 1));--tile-w: 100%}.settings-preview-tiles-mode .settings-spin-flipper{width:calc(var(--settings-tile-w-base) * var(--tile-preview-scale, 1));height:calc(var(--settings-tile-h-base) * var(--tile-preview-scale, 1));--spin-thickness: calc(25.5px * var(--panel-fit, 1) * var(--tile-preview-scale, 1))}.settings-shell{display:flex;flex-direction:column;gap:calc(10px * var(--panel-fit, 1));align-items:stretch;flex:1 1 auto;min-height:0}.settings-loadout-bar{flex:0 0 auto;min-width:0;overflow-x:auto;overflow-y:hidden;box-sizing:border-box;padding:calc(10px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1));border:1px solid rgba(255,255,255,.14);background:#0000002e}.settings-loadout-bar .settings-loadout-strip{flex-direction:row;align-items:flex-start;padding-right:0}.settings-main{flex:1 1 auto;min-height:0;display:flex;gap:calc(14px * var(--panel-fit, 1));align-items:stretch}.settings-nav{flex:0 0 calc(150px * var(--panel-fit, 1));min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:calc(10px * var(--panel-fit, 1));padding-right:calc(2px * var(--panel-fit, 1));padding-bottom:calc(4px * var(--panel-fit, 1))}.settings-nav-group{display:flex;flex-direction:column;gap:calc(3px * var(--panel-fit, 1))}.settings-nav-group-label{font-size:calc(11px * var(--panel-fit, 1));font-weight:800;letter-spacing:calc(2px * var(--panel-fit, 1));color:var(--gold);opacity:.85;padding:0 calc(4px * var(--panel-fit, 1))}.settings-nav-tab{flex:0 0 auto;justify-content:flex-start;padding:calc(7px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1))}.settings-music-preview{width:100%;max-width:calc(340px * var(--panel-fit, 1));display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:calc(10px * var(--panel-fit, 1));padding:calc(8px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));box-sizing:border-box}.settings-music-preview-bottom{position:absolute;left:50%;bottom:calc(14px * var(--panel-fit, 1));transform:translate(-50%);z-index:4;width:calc(100% - 28px * var(--panel-fit, 1));max-width:calc(360px * var(--panel-fit, 1));pointer-events:none}.settings-music-preview-bottom .settings-music-preview-bar,.settings-music-preview-bottom .settings-music-preview-play,.settings-music-preview-bottom .settings-music-preview-seek{pointer-events:auto}.settings-music-preview-title{font-size:calc(13px * var(--panel-fit, 1));font-weight:600;letter-spacing:calc(.5px * var(--panel-fit, 1));text-align:center;color:#eaf4ff;text-shadow:0 1px 4px rgba(0,0,0,.65);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-music-preview-bar{display:flex;align-items:center;gap:calc(10px * var(--panel-fit, 1));width:100%;padding:calc(8px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));border:1px solid rgba(255,255,255,.2);background:linear-gradient(180deg,#ffffff1a,#1020348c);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);box-shadow:0 2px 12px #00000059;box-sizing:border-box}.settings-music-preview-play{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:calc(32px * var(--panel-fit, 1));height:calc(32px * var(--panel-fit, 1));padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:#ffffff14;color:#eaf4ff;font-size:calc(12px * var(--panel-fit, 1));line-height:1;cursor:pointer;transition:border-color .16s ease,color .16s ease}.settings-music-preview-play[data-playing=false]{padding-left:calc(1px * var(--panel-fit, 1))}.settings-music-preview-play:hover:not(:disabled){border-color:var(--gold);color:#fff}.settings-music-preview-play:disabled{opacity:.45;cursor:not-allowed}.settings-music-preview-seek{flex:1 1 auto;min-width:0;margin:0;height:calc(5px * var(--panel-fit, 1));-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:999px;background:transparent;cursor:pointer}.settings-music-preview-seek::-webkit-slider-runnable-track{height:calc(5px * var(--panel-fit, 1));border-radius:999px;background:linear-gradient(90deg,rgba(240,199,90,.95) 0%,rgba(240,199,90,.95) var(--seek-progress, 0%),rgba(255,255,255,.16) var(--seek-progress, 0%),rgba(255,255,255,.16) 100%)}.settings-music-preview-seek::-webkit-slider-thumb{-webkit-appearance:none;width:calc(11px * var(--panel-fit, 1));height:calc(11px * var(--panel-fit, 1));margin-top:calc(-3px * var(--panel-fit, 1));border-radius:50%;border:1px solid rgba(255,255,255,.55);background:#fff;box-shadow:0 1px 4px #00000073}.settings-music-preview-seek::-moz-range-track{height:calc(5px * var(--panel-fit, 1));border-radius:999px;background:#ffffff29}.settings-music-preview-seek::-moz-range-progress{height:calc(5px * var(--panel-fit, 1));border-radius:999px;background:#f0c75af2}.settings-music-preview-seek::-moz-range-thumb{width:calc(11px * var(--panel-fit, 1));height:calc(11px * var(--panel-fit, 1));border-radius:50%;border:1px solid rgba(255,255,255,.55);background:#fff;box-shadow:0 1px 4px #00000073}.settings-music-preview-seek:disabled{opacity:.45;cursor:not-allowed}.settings-music-preview-times{flex:0 0 auto;font-size:calc(11px * var(--panel-fit, 1));font-variant-numeric:tabular-nums;letter-spacing:calc(.2px * var(--panel-fit, 1));color:#d4e8fb;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.55)}.settings-right{flex:1;min-width:0;min-height:0;display:flex;flex-direction:row-reverse;gap:calc(10px * var(--panel-fit, 1));overflow:hidden}.settings-loadout-rail{flex:0 0 auto;width:calc(74px * var(--panel-fit, 1));display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1));min-height:0;overflow-y:auto}.settings-loadout-rail-head{font-size:calc(14px * var(--panel-fit, 1));font-weight:800;letter-spacing:calc(2px * var(--panel-fit, 1));color:var(--gold)}.settings-pane{flex:6 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1));overflow:hidden}.settings-preview{position:relative;flex:4 1 0;min-width:calc(280px * var(--panel-fit, 1));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(2px * var(--panel-fit, 1));height:100%;min-height:0;padding:calc(14px * var(--panel-fit, 1)) calc(16px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));background:transparent;box-shadow:none;overflow:hidden;box-sizing:border-box}.settings-preview-cloth{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;overflow:hidden;z-index:0;pointer-events:none;background:#495049;box-shadow:inset 0 0 30px #00000059}.settings-preview-cloth .settings-preview-table-stage{position:absolute;top:0;right:0;bottom:0;left:0}.settings-preview-music-mode .settings-music-preview{height:100%;max-width:calc(360px * var(--panel-fit, 1));margin:0 auto}.settings-preview-voice .settings-preview-music-dim{background:#00000080;box-shadow:none}.settings-voice-preview{z-index:2;width:100%;height:100%;display:flex;align-items:stretch;justify-content:center;box-sizing:border-box;padding:calc(12px * var(--panel-fit, 1))}.settings-preview-voice .settings-voice-preview-grid{width:100%;max-width:none;margin-top:0;gap:calc(10px * var(--panel-fit, 1));align-content:center}.settings-preview-voice .settings-voice-preview-chip{padding:calc(12px * var(--panel-fit, 1)) calc(16px * var(--panel-fit, 1));font-size:calc(15px * var(--panel-fit, 1));font-weight:600;border-radius:calc(12px * var(--panel-fit, 1));background:#ffffff1a;border-color:#ffffff38;text-align:center}.settings-preview-voice .settings-voice-preview-chip:hover:not(:disabled){background:#ffffff29;border-color:#ffffff61}.settings-preview-music-dim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:1;pointer-events:none;background:#00000094;box-shadow:inset 0 0 48px #00000073}.settings-preview>:not(.settings-preview-cloth):not(.settings-preview-music-dim):not(.settings-preview-actions){z-index:2}.settings-preview-aux,.settings-preview-riichi{container-type:size;container-name:settings-preview-pond;--rv-center-size: var(--pond-dial-size)}.settings-preview-tiles-mode{container-type:size;container-name:settings-preview-tiles;--settings-tile-w-base: calc(34px * var(--panel-fit, 1));--settings-tile-h-base: calc(47px * var(--panel-fit, 1));--settings-tile-gap-base: calc(2px * var(--panel-fit, 1));--settings-tile-rows: 4;--settings-tile-cols: 12;--tiles-intrinsic-w: calc( var(--settings-tile-cols) * var(--settings-tile-w-base) + (var(--settings-tile-cols) - 1) * var(--settings-tile-gap-base) );--tiles-intrinsic-h: calc( var(--settings-tile-rows) * var(--settings-tile-h-base) + (var(--settings-tile-rows) - 1) * var(--settings-tile-gap-base) );--tile-preview-scale: min( 1, 100cqw / var(--tiles-intrinsic-w), 100cqh / var(--tiles-intrinsic-h) )}.settings-preview-aux{--pond-preview-scale: min( 1, 100cqw / var(--rv-center-size), 100cqh / calc(var(--rv-center-size) + 2.5em) )}.settings-preview-riichi{--pond-preview-scale: min( 1, 100cqw / calc(var(--rv-center-size) + 120px), 100cqh / calc(var(--rv-center-size) + 100px) )}.settings-preview-riichi .settings-pond-preview-riichi-entry{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:none;gap:0}.settings-preview-riichi .settings-pond-preview-riichi-entry .settings-pond-preview-stage{overflow:visible;transform:none}.settings-preview-riichi .settings-pond-preview-riichi-entry .settings-pond-preview-dial-wrap{transform:scale(var(--pond-preview-scale, 1)) translateY(-15%)}.settings-riichi-entry-preview-clip{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.settings-riichi-fullscreen-stage .settings-riichi-entry-preview-clip{border-radius:inherit}.settings-preview-effects .settings-win-effect-preview-embedded{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-width:0;flex:none}.settings-preview-effects .settings-win-effect-stage{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;aspect-ratio:unset;border:none;border-radius:inherit;background:transparent}.settings-preview-mini-table{container-type:size;container-name:settings-preview-mini-table}.settings-preview-mini-table .settings-mini-table-preview-embedded{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-width:0;flex:none}.settings-preview-mini-table .settings-mini-table-preview-stage{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;overflow:hidden}.settings-preview-mini-table .settings-mini-table-preview-stage .board-fit{width:100%;height:100%}.settings-preview-mini-table .settings-mini-table-preview-board{background:transparent;box-shadow:inset 0 0 70px #00000073,inset 0 0 0 1px #82beeb33}.settings-preview-mini-table .settings-mini-table-preview-board:before,.settings-preview-mini-table .settings-mini-table-preview-board:after{display:none}.settings-mini-table-preview{position:relative;width:100%;height:100%}.settings-mini-table-preview-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.settings-mini-table-preview-stage .board-fit{width:100%;height:100%}.settings-mini-table-preview-board .pond-river .rv-cell .tile,.settings-mini-table-preview-board .hand-drawn-tile{animation:none}.settings-mini-table-preview-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0}.settings-preview-table{flex:1 1 auto;align-self:stretch;width:100%;min-height:0;position:relative;margin:calc(2px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));overflow:hidden;background:#495049}.settings-preview-table-stage,.settings-preview-table-stage-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.settings-preview-table-stage-bg{pointer-events:none}.settings-preview-table-cloth{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--table-cloth, transparent);pointer-events:none}.settings-table-cloth-fullscreen{position:relative;width:100%;height:100%;min-height:0}.settings-table-cloth-fullscreen-bg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;overflow:hidden;z-index:0;pointer-events:none;background:#495049}.settings-table-cloth-fullscreen-bg .settings-preview-table-stage{position:absolute;top:0;right:0;bottom:0;left:0}.settings-table-cloth-fullscreen-stage{position:relative;z-index:1;background:transparent;border:none;box-shadow:none}.settings-table-cloth-fullscreen-stage .table-board{background:transparent;box-shadow:inset 0 0 70px #00000073,inset 0 0 0 1px #82beeb33}.settings-table-cloth-fullscreen-stage .table-board:before{display:none}.settings-table-cloth-fullscreen-stage .settings-win-effect-ron-preview-stage{position:absolute;top:0;right:0;bottom:0;left:0}.settings-table-cloth-fullscreen-stage .settings-win-effect-ron-preview-stage .board-fit,.settings-table-cloth-fullscreen-stage.board-fit{width:100%;height:100%}.settings-table-cloth-fullscreen-stage .settings-riichi-entry-preview-clip{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit}.settings-table-cloth-fullscreen-stage .settings-win-effect-ron-preview-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0}.settings-preview-actions{position:absolute;right:calc(10px * var(--panel-fit, 1));bottom:calc(10px * var(--panel-fit, 1));display:flex;flex-direction:column;align-items:stretch;gap:calc(6px * var(--panel-fit, 1));z-index:20}.settings-preview-action-btn{position:relative;isolation:isolate;border:1px solid rgba(255,255,255,.22);border-radius:calc(8px * var(--panel-fit, 1));padding:calc(6px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));background:transparent;color:#eaf4ff;font:inherit;font-size:calc(12px * var(--panel-fit, 1));letter-spacing:calc(.5px * var(--panel-fit, 1));cursor:pointer;backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);box-shadow:0 2px 10px #00000059;transition:border-color .16s ease,transform .16s ease,color .16s ease}.settings-preview-action-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;background:linear-gradient(180deg,#ffffff24,#1428406b)}.settings-preview-action-btn:hover:not(:disabled){border-color:var(--gold);color:#fff;transform:translateY(-1px)}.settings-preview-action-btn:disabled{opacity:.5;cursor:not-allowed}.settings-win-effect-ron-preview{position:relative;width:100%;height:100%}.settings-win-effect-ron-preview-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.settings-win-effect-ron-preview-stage .board-fit{width:100%;height:100%}.settings-win-effect-ron-preview-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0}.settings-win-effect-fullscreen-stage .board-fit{width:100%;height:100%}.settings-riichi-preview-tools{display:flex;align-items:center;gap:calc(8px * var(--panel-fit, 1));margin-top:calc(12px * var(--panel-fit, 1));flex-wrap:wrap}.settings-riichi-preview-tools .hint{color:#b9d4ec;font-size:calc(12px * var(--panel-fit, 1))}.settings-riichi-fullscreen-panel{padding:calc(12px * var(--panel-fit, 1));gap:0}.settings-riichi-fullscreen{position:relative;width:100%;height:100%;min-height:0}.settings-riichi-fullscreen-stage{width:100%;height:100%;overflow:hidden;border-radius:calc(14px * var(--panel-fit, 1));border:1px solid rgba(120,180,225,.4);background:radial-gradient(ellipse 80% 60% at 50% 46%,#78bef029,#1e507d14 58%,#0000 76%),radial-gradient(ellipse at center,#1a466c73,#0c22388c 82%);box-shadow:inset 0 0 30px #00000059}.settings-riichi-fullscreen-board{box-shadow:inset 0 0 70px #00000073,inset 0 0 0 1px #82beeb33}.settings-riichi-fullscreen-exit{position:absolute;right:calc(14px * var(--panel-fit, 1));bottom:calc(14px * var(--panel-fit, 1));left:auto;z-index:90}.settings-riichi-fullscreen-play{position:absolute;left:calc(14px * var(--panel-fit, 1));bottom:calc(14px * var(--panel-fit, 1));z-index:90}.settings-preview-tiles{display:flex;flex-direction:column;gap:calc(var(--settings-tile-gap-base, calc(2px * var(--panel-fit, 1))) * var(--tile-preview-scale, 1));flex-shrink:0;max-width:100%;transition:opacity .22s ease}.settings-preview.is-loading .settings-preview-tiles{opacity:0}.settings-preview-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:calc(13px * var(--panel-fit, 1));letter-spacing:calc(2px * var(--panel-fit, 1));color:#b9d4ec;text-shadow:0 1px 3px rgba(0,0,0,.6);pointer-events:none}.settings-preview-row{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:calc(var(--settings-tile-gap-base, calc(2px * var(--panel-fit, 1))) * var(--tile-preview-scale, 1));overflow:visible}.settings-spin-wrap{perspective:calc(600px * var(--panel-fit, 1))}.settings-spin-flipper{position:relative;width:calc(42px * var(--panel-fit, 1));height:calc(58px * var(--panel-fit, 1));transform-style:preserve-3d;animation:settings-spin 2s linear infinite;--spin-thickness: calc(31.5px * var(--panel-fit, 1))}.settings-spin-face,.settings-spin-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden}.settings-spin-face{transform:translateZ(calc(var(--spin-thickness) / 2))}.settings-spin-back{transform:rotateY(180deg) translateZ(calc(var(--spin-thickness) / 2))}.settings-spin-edge{position:absolute;top:0;bottom:0;width:var(--spin-thickness);backface-visibility:hidden}.settings-spin-edge-left{left:calc(var(--spin-thickness) / -2);transform:rotateY(-90deg);background:linear-gradient(90deg,color-mix(in srgb,var(--tile-back-color, #1f8a70) 75%,#000) 0%,var(--tile-back-color, #1f8a70) 25%,color-mix(in srgb,var(--tile-body-color, #fbf7ea) 75%,#ffffff) 25%,var(--tile-body-color, #fbf7ea) 70%,color-mix(in srgb,var(--tile-body-color, #fbf7ea) 86%,#000000) 100%)}.settings-spin-edge-right{right:calc(var(--spin-thickness) / -2);transform:rotateY(90deg);background:linear-gradient(270deg,color-mix(in srgb,var(--tile-back-color, #1f8a70) 75%,#000) 0%,var(--tile-back-color, #1f8a70) 25%,color-mix(in srgb,var(--tile-body-color, #fbf7ea) 75%,#ffffff) 25%,var(--tile-body-color, #fbf7ea) 70%,color-mix(in srgb,var(--tile-body-color, #fbf7ea) 86%,#000000) 100%)}.settings-spin-face .tile,.settings-spin-back .tile{width:100%;height:100%;margin:0}@keyframes settings-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.settings-slider-row{display:flex;align-items:center;gap:calc(8px * var(--panel-fit, 1));flex-wrap:nowrap;min-width:0}.settings-slider-row.is-disabled{opacity:.42;pointer-events:none}.settings-slider-row.is-disabled .settings-color-pick input[type=color]{cursor:not-allowed}.settings-slider-row input[type=range]{flex:1 1 auto;min-width:calc(48px * var(--panel-fit, 1));height:calc(16px * var(--panel-fit, 1));accent-color:var(--gold)}.settings-slider-label{flex:0 0 11em;font-size:calc(14px * var(--panel-fit, 1));font-weight:600;color:#aed0e8;white-space:nowrap}.settings-slider-input-group{display:inline-flex;align-items:center;gap:calc(2px * var(--panel-fit, 1));flex:0 0 auto}.settings-slider-suffix{font-size:calc(13px * var(--panel-fit, 1));color:var(--ink-dim);line-height:1;-webkit-user-select:none;user-select:none}.settings-slider-row .settings-slider-input-group,.settings-slider-row .settings-scale-input,.settings-slider-row .btn-ghost,.settings-slider-row .settings-color-pick{flex-shrink:0}.settings-scale-input{width:3.6em;padding:calc(4px * var(--panel-fit, 1)) calc(6px * var(--panel-fit, 1));border-radius:calc(6px * var(--panel-fit, 1));border:1px solid rgba(255,255,255,.18);background:#00000040;color:inherit;font:inherit;font-size:calc(13px * var(--panel-fit, 1));text-align:right;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.settings-scale-input::-webkit-outer-spin-button,.settings-scale-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.rule-config-number-field .settings-scale-input{width:100%;box-sizing:border-box;min-height:calc(40px * var(--panel-fit, 1));padding:calc(8px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1));font-size:calc(14px * var(--panel-fit, 1))}.settings-color-row{display:flex;flex-wrap:wrap;gap:calc(12px * var(--panel-fit, 1)) calc(20px * var(--panel-fit, 1));align-items:flex-start}.settings-color-group{flex:1 1 calc(180px * var(--panel-fit, 1));min-width:0}.settings-color-group h3{margin-top:calc(12px * var(--panel-fit, 1))}.settings-face-list{display:flex;flex-wrap:wrap;gap:calc(8px * var(--panel-fit, 1))}.settings-glass-chip,.segmented button.settings-glass-chip{border:1px solid rgba(255,255,255,.18);border-radius:calc(8px * var(--panel-fit, 1));background:#ffffff0d;backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);color:inherit;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.settings-glass-chip:hover,.segmented button.settings-glass-chip:hover{background:#ffffff14}.settings-glass-chip.selected,.settings-glass-chip.active,.segmented button.settings-glass-chip.active{border-color:var(--gold);background:#ffe08a24;box-shadow:0 0 calc(6px * var(--panel-fit, 1)) #ffe08a66;color:inherit}.settings-face-item{display:flex;align-items:center;gap:calc(6px * var(--panel-fit, 1));padding:calc(6px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));font-size:calc(13px * var(--panel-fit, 1))}.settings-face-item-text{min-height:calc(34px * var(--panel-fit, 1))}.settings-swatches{display:flex;flex-wrap:wrap;gap:calc(8px * var(--panel-fit, 1));align-items:center}.settings-swatch{width:calc(28px * var(--panel-fit, 1));height:calc(28px * var(--panel-fit, 1));border-radius:50%;border:calc(2px * var(--panel-fit, 1)) solid rgba(255,255,255,.25);cursor:pointer}.settings-swatch.selected{border-color:var(--gold);box-shadow:0 0 calc(6px * var(--panel-fit, 1)) #ffe08a80}.settings-swatch-no-tint{background:conic-gradient(from 45deg,#e07a6b,#f0c75a,#9fc6e8,#cfe3df,#e07a6b)}.settings-color-pick.is-dimmed{opacity:.45}.settings-color-pick input[type=color]{width:calc(32px * var(--panel-fit, 1));height:calc(28px * var(--panel-fit, 1));padding:0;border:calc(2px * var(--panel-fit, 1)) dashed rgba(255,255,255,.35);border-radius:calc(6px * var(--panel-fit, 1));background:transparent;cursor:pointer}.settings-swatch-default{background:radial-gradient(ellipse at center,#78bef066,#1a466ce6 80%)}.settings-swatch-cloth{padding:0;overflow:hidden;border-radius:calc(6px * var(--panel-fit, 1));background-color:#142030}.settings-swatch-cloth .settings-swatch-cloth-cover{width:100%;height:100%;object-fit:cover;object-position:center;display:block;pointer-events:none}.settings-swatch-cloth-cover-tile{border-radius:calc(3px * var(--panel-fit, 1))}.settings-back-pattern-preview.settings-swatch-cloth{display:block;padding:0;overflow:hidden}.settings-cloth-cover{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(var(--table-cloth-image-scale, 1));transform-origin:center center;pointer-events:none}.settings-section-cloth>h3:first-child{margin-bottom:calc(10px * var(--panel-fit, 1))}.settings-section-cloth .settings-swatches{margin-bottom:calc(2px * var(--panel-fit, 1))}.settings-section-cloth .settings-cloth-images-row{margin-top:calc(16px * var(--panel-fit, 1));gap:calc(10px * var(--panel-fit, 1))}.settings-section-cloth .settings-cloth-sliders{display:flex;flex-direction:column;gap:calc(14px * var(--panel-fit, 1));margin-top:calc(22px * var(--panel-fit, 1))}.settings-section-cloth>h3:not(:first-child){margin-top:calc(24px * var(--panel-fit, 1))}.settings-corner-wind-mode{margin-bottom:calc(4px * var(--panel-fit, 1))}.settings-corner-wind-tuning{display:flex;flex-direction:column;gap:calc(12px * var(--panel-fit, 1));margin-top:calc(18px * var(--panel-fit, 1))}.settings-corner-wind-tuning>.settings-note{margin-top:0;margin-bottom:0}.settings-cloth-chip-preview{display:block;width:calc(48px * var(--panel-fit, 1));height:calc(30px * var(--panel-fit, 1));margin:0;padding:0;border-radius:calc(4px * var(--panel-fit, 1));overflow:hidden;flex-shrink:0;pointer-events:none;background-color:#142030}.settings-cloth-chip-preview .settings-swatch-cloth-cover{width:100%;height:100%;border-radius:0}.settings-back-pattern-btn-custom.is-empty .settings-cloth-chip-preview{background:repeating-linear-gradient(-45deg,#ffffff0f 0,#ffffff0f 4px,#ffffff05 4px,#ffffff05 8px);opacity:.45}.settings-swatch-cloth.is-empty{background:repeating-linear-gradient(-45deg,#ffffff0f 0,#ffffff0f 4px,#ffffff05 4px,#ffffff05 8px);opacity:.45;cursor:not-allowed}.settings-cloth-active{color:var(--gold)}.settings-footer{flex:0 0 auto;margin-top:calc(12px * var(--panel-fit, 1));padding-top:calc(18px * var(--panel-fit, 1));border-top:1px solid rgba(130,190,235,.18)}.settings-tabs{flex:0 0 auto;display:flex;flex-direction:row;flex-wrap:nowrap;gap:calc(4px * var(--panel-fit, 1));width:100%}.settings-tab{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:calc(6px * var(--panel-fit, 1));min-width:0;padding:calc(9px * var(--panel-fit, 1)) calc(6px * var(--panel-fit, 1));border-radius:calc(9px * var(--panel-fit, 1));border:1px solid transparent;background:#ffffff0a;color:#fff;font:inherit;font-size:calc(14px * var(--panel-fit, 1));text-align:left;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.settings-tab:hover{background:#ffffff17}.settings-tab.active{background:#ffe08a24;border-color:var(--gold);color:#fff}.settings-tab-icon{font-size:calc(15px * var(--panel-fit, 1));width:1.2em;text-align:center;opacity:.85}.settings-tab-icon-riichi{display:inline-flex;align-items:center;justify-content:center;height:1.2em;overflow:visible;flex-shrink:0}.settings-tab-riichi-stick-icon{display:block;width:1.35em;height:1.15em}.settings-tab-label{font-weight:600;letter-spacing:calc(1px * var(--panel-fit, 1))}.settings-content{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:calc(2px * var(--panel-fit, 1)) calc(2px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1))}.segmented button.settings-segmented-auto{white-space:normal;line-height:1.25;padding:calc(7px * var(--panel-fit, 1)) calc(6px * var(--panel-fit, 1));font-size:calc(13px * var(--panel-fit, 1))}.settings-effects-status{display:flex;align-items:flex-start;justify-content:space-between;background:#ffffff0f;border-radius:calc(6px * var(--panel-fit, 1));padding:calc(10px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));margin-bottom:calc(14px * var(--panel-fit, 1));font-size:calc(12px * var(--panel-fit, 1));line-height:1.5}.settings-effects-status-label{margin:0;min-width:0}.settings-effects-status-value{color:var(--gold);font-weight:600;margin:0 2px}.settings-section>.settings-slider-row+.settings-slider-row{margin-top:calc(12px * var(--panel-fit, 1))}.settings-section h3:first-child{margin-top:0}.settings-section-divider{border:none;border-top:1px solid rgba(255,255,255,.1);margin:calc(16px * var(--panel-fit, 1)) 0}.settings-note{font-size:calc(12px * var(--panel-fit, 1));color:var(--ink-dim);font-style:italic;line-height:1.45;margin:calc(8px * var(--panel-fit, 1)) 0 calc(12px * var(--panel-fit, 1))}.settings-note code{font-size:calc(11px * var(--panel-fit, 1));font-style:normal}.settings-theme-details-trigger{align-self:flex-start;margin-top:calc(6px * var(--panel-fit, 1));padding:calc(2px * var(--panel-fit, 1)) calc(6px * var(--panel-fit, 1));border:none;background:transparent;cursor:help;font:inherit;font-size:calc(13px * var(--panel-fit, 1));color:#9fc6e8;letter-spacing:1px}.settings-theme-details-trigger:hover,.settings-theme-details-trigger:focus-visible{color:#dcecf8;outline:none;text-decoration:underline;text-underline-offset:3px}.settings-theme-details-tip{display:flex;flex-direction:column;gap:calc(6px * var(--panel-fit, 1))}.settings-theme-details-row{display:flex;gap:calc(10px * var(--panel-fit, 1));align-items:flex-start;font-size:calc(13px * var(--panel-fit, 1));line-height:1.55}.settings-theme-details-row+.settings-theme-details-row{margin-top:calc(6px * var(--panel-fit, 1))}.settings-theme-details-label{flex:0 0 5em;white-space:nowrap;color:var(--gold);font-weight:600}.settings-theme-details-value{flex:1 1 auto;min-width:0;color:#c4d6e4}.settings-theme-details-value a{color:#9fc6e8;word-break:break-all}.settings-theme-details-value a:hover{text-decoration:underline}.settings-theme-details-desc{white-space:pre-line}.settings-theme-details-disclaimer{color:#b7c9d8;font-size:calc(12px * var(--panel-fit, 1));line-height:1.6}.settings-theme-details-disclaimer-row{margin-top:calc(4px * var(--panel-fit, 1));padding-top:calc(8px * var(--panel-fit, 1));border-top:1px solid rgba(130,190,235,.18)}.settings-theme-details-lock-hint{margin:calc(8px * var(--panel-fit, 1)) 0 0;padding-top:calc(8px * var(--panel-fit, 1));border-top:1px solid rgba(130,190,235,.12);font-size:calc(11px * var(--panel-fit, 1));font-style:italic;line-height:1.5;color:#8a9bab}@keyframes settings-tab-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.settings-loadout-strip{display:flex;flex-direction:column;gap:calc(10px * var(--panel-fit, 1));min-height:0;padding-right:calc(2px * var(--panel-fit, 1))}.settings-loadout-rail .settings-loadout-chip,.settings-loadout-rail .settings-loadout-new{width:100%}.settings-loadout-chip{position:relative;flex:0 0 auto;width:calc(63px * var(--panel-fit, 1));display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border-radius:calc(11px * var(--panel-fit, 1));border:1px solid rgba(255,255,255,.16);background:#ffffff0d;cursor:pointer;overflow:hidden;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.settings-loadout-chip:hover{background:#ffffff17}.settings-loadout-chip.editing{border-color:var(--gold);background:#ffe08a1a;animation:loadout-chip-glow 2.2s ease-in-out infinite}@keyframes loadout-chip-glow{0%,to{box-shadow:0 0 0 1px var(--gold),0 0 6px #ffe08a59}50%{box-shadow:0 0 0 1px var(--gold),0 0 14px #ffe08ab3,0 0 22px #ffe08a59}}.settings-loadout-del{position:absolute;top:calc(4px * var(--panel-fit, 1));right:calc(4px * var(--panel-fit, 1));z-index:2;width:calc(18px * var(--panel-fit, 1));height:calc(18px * var(--panel-fit, 1));display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#0000004d;color:#fff;font-size:calc(14px * var(--panel-fit, 1));line-height:1;cursor:pointer;opacity:0;transition:opacity .14s ease,background .14s ease}.settings-loadout-chip:hover .settings-loadout-del{opacity:1}.settings-loadout-del:hover{background:#a33;color:#fff}.settings-loadout-stage{position:relative;width:100%;height:calc(70px * var(--panel-fit, 1));margin-top:0;border-radius:0;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:none}.settings-loadout-stage-bg,.settings-loadout-stage-vignette,.settings-loadout-stage-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.settings-loadout-stage-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.settings-loadout-stage-vignette{background:radial-gradient(ellipse at center,#0000 55%,#00000059)}.settings-loadout-spin{position:relative;z-index:1;transform:scale(.82)}.settings-loadout-name{max-width:100%;color:#fff;font-size:calc(12px * var(--panel-fit, 1));font-weight:600;padding:calc(6px * var(--panel-fit, 1)) calc(8px * var(--panel-fit, 1)) calc(8px * var(--panel-fit, 1));border-radius:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-loadout-chip.editing .settings-loadout-name{cursor:text}.settings-loadout-chip.editing .settings-loadout-name:hover{background:#ffffff1f}.settings-loadout-name-input{width:calc(100% - 16px * var(--panel-fit, 1));max-width:calc(84px * var(--panel-fit, 1));margin:calc(6px * var(--panel-fit, 1)) auto calc(8px * var(--panel-fit, 1));padding:calc(2px * var(--panel-fit, 1)) calc(4px * var(--panel-fit, 1));border-radius:calc(5px * var(--panel-fit, 1));border:1px solid var(--gold);background:#00000059;color:inherit;font:inherit;font-size:calc(12px * var(--panel-fit, 1));text-align:center;display:block}.settings-loadout-new{flex:0 0 auto;width:calc(63px * var(--panel-fit, 1));display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border:1px dashed rgba(255,255,255,.28);border-radius:calc(11px * var(--panel-fit, 1));background:transparent;color:#fff;font:inherit;cursor:pointer;overflow:hidden;transition:background .14s ease,color .14s ease,border-color .14s ease}.settings-loadout-new-stage{width:100%;height:calc(70px * var(--panel-fit, 1));margin-top:0;border-radius:0;display:flex;align-items:center;justify-content:center;border:none;background:#ffffff08}.settings-loadout-new-icon{font-size:calc(22px * var(--panel-fit, 1));line-height:1;color:#fff}.settings-loadout-new:hover{background:#ffffff0f;color:#fff;border-color:var(--gold)}.settings-loadout-new:hover .settings-loadout-new-icon{color:#fff}.settings-loadout-rail button:active:not(:disabled){transform:none}.settings-effects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(150px * var(--panel-fit, 1)),1fr));gap:calc(12px * var(--panel-fit, 1));margin-top:calc(8px * var(--panel-fit, 1))}.settings-effect-card{position:relative;display:flex;flex-direction:column;gap:calc(6px * var(--panel-fit, 1));padding:calc(14px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));border-radius:calc(12px * var(--panel-fit, 1));border:1px dashed rgba(255,255,255,.18);background:#ffffff08;opacity:.65}.settings-effect-name{font-weight:700;color:#dcecf8;font-size:calc(14px * var(--panel-fit, 1))}.settings-effect-desc{font-size:calc(12px * var(--panel-fit, 1));color:#8fb0cc}.settings-effect-badge{align-self:flex-start;margin-top:calc(4px * var(--panel-fit, 1));padding:calc(2px * var(--panel-fit, 1)) calc(8px * var(--panel-fit, 1));font-size:calc(11px * var(--panel-fit, 1));border-radius:999px;background:#ffe08a29;color:var(--gold)}.settings-pond-preview{--rv-center-size: var(--pond-dial-size);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex-shrink:0;transform:scale(var(--pond-preview-scale, 1));transform-origin:center center}.settings-pond-preview-dial.pond-center{width:var(--rv-center-size);height:var(--rv-center-size);min-width:var(--rv-center-size);min-height:var(--rv-center-size)}.settings-pond-preview-label{font-size:calc(11px * var(--panel-fit, 1));color:#7e9cb6;text-align:center;max-width:var(--rv-center-size);white-space:nowrap}.settings-pond-preview-riichi-entry .settings-pond-preview-stage{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.settings-pond-preview-riichi-entry .settings-pond-preview-dial-wrap{position:relative;width:calc(var(--rv-center-size) + 120px);height:calc(var(--rv-center-size) + 100px);display:flex;align-items:center;justify-content:center;transform:scale(var(--pond-preview-scale, 1));transform-origin:center center}.settings-pond-preview-riichi-entry .settings-win-effect-play{min-width:7.5rem}.settings-corner-row{display:flex;gap:calc(16px * var(--panel-fit, 1));align-items:flex-start;flex-wrap:wrap}.settings-corner-controls{flex:1;min-width:calc(220px * var(--panel-fit, 1))}.settings-corner-preview{position:relative;flex:0 0 auto;width:calc(132px * var(--panel-fit, 1));height:calc(132px * var(--panel-fit, 1));border-radius:calc(14px * var(--panel-fit, 1));background:radial-gradient(ellipse at 50% 35%,#4082be40,#0000 60%),linear-gradient(180deg,#122a42,#0a1a2c);border:1px solid rgba(130,190,235,.4);box-shadow:inset 0 0 18px #143c6499;overflow:hidden}.settings-corner-preview-label{position:absolute;inset:auto 0 calc(6px * var(--panel-fit, 1)) 0;text-align:center;font-size:calc(11px * var(--panel-fit, 1));color:#7e9cb6;pointer-events:none}.fan-list{display:flex;flex-direction:column;gap:4px}.fan-grid{--fan-cols: 1;--fan-gap: 4px;display:flex;flex-wrap:wrap;gap:var(--fan-gap);width:100%}.fan-grid .fan-line{flex:1 1 calc((100% - (var(--fan-cols) - 1) * var(--fan-gap)) / var(--fan-cols));min-width:min(100%,max-content);box-sizing:border-box;white-space:nowrap;gap:6px}.fan-line{display:flex;justify-content:space-between;font-size:14px;color:#dcecf8;padding:4px 10px;border-radius:7px;background:#ffffff0a}.fan-line .fan-value{color:var(--score);font-variant-numeric:tabular-nums}.score-total{text-align:center;font-size:30px;font-weight:800;color:var(--score);text-shadow:0 0 16px rgba(255,224,138,.5)}.delta-grid{display:grid;grid-template-columns:1fr auto auto;column-gap:14px;row-gap:4px;align-items:center;font-size:14px}.delta-value,.delta-total{text-align:right;font-variant-numeric:tabular-nums}.delta-pos{color:#7ee08a}.delta-neg{color:#ff9d8a}.delta-zero{color:var(--ink-dim)}.shugi-block{margin-top:10px;padding:8px 10px;border:1px solid var(--ink-faint, rgba(255,255,255,.12));border-radius:8px;background:#ffd5800f}.shugi-title{font-size:13px;font-weight:600;margin-bottom:6px;color:#ffce6b}.shugi-reasons{margin-top:6px;display:flex;flex-direction:column;gap:2px;font-size:12px}.shugi-reason{text-align:right}.reveal-block{display:flex;flex-direction:column;gap:4px}.reveal-row{align-items:flex-end}.reveal-row .meld-row{margin-left:12px;flex-wrap:nowrap;align-items:flex-end}.reveal-row .meld-strip{padding:0;align-items:flex-end}.reveal-row .tcell{width:30px;height:42px}.reveal-row .tcell .tile{width:30px;height:42px;font-size:13px;--tile-w: 30px}.reveal-row .tcell-side{width:42px;height:30px}.reveal-row .tcell.tcell-kakan{width:42px;height:60px}.reveal-row .tile-highlighted{box-shadow:0 0 0 3px var(--gold),0 0 14px #f0c75a80}.reveal-block .label{font-size:12.5px;color:var(--ink-dim)}.dora-reveal-groups{display:flex;align-items:stretch;gap:0}.dora-reveal-group{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.dora-indicator-row{flex-wrap:nowrap}.haidi-reveal-row{align-items:center;gap:8px}.haidi-drawer-label{font-size:12.5px;color:var(--ink-dim);white-space:nowrap}.dora-group-sep{width:1px;align-self:stretch;margin:0 12px;background:#ffffff2e}.rank-line{display:flex;gap:14px;align-items:center;font-size:16px}.rank-line .rank{color:var(--gold);font-weight:800;width:38px;flex-shrink:0}.rank-line .name{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.rank-line .score{color:var(--score);font-variant-numeric:tabular-nums;flex-shrink:0}.room-list{display:flex;flex-direction:column;gap:7px;max-height:320px;overflow-y:auto}.room-entry{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,#26547e99,#14325099);border:1px solid rgba(94,160,210,.35);border-radius:10px;padding:10px 14px;font-size:14px}.room-entry .meta{color:var(--ink-dim);font-size:12px}.player-slot{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,#26547e99,#14325099);border:1px solid rgba(94,160,210,.35);border-radius:10px;padding:9px 14px;font-size:14px}.player-slot.empty{color:#6e8aa0;border-style:dashed;background:transparent}.seat-selection-board{display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 0 2px}.seat-selection-board .seat-row{display:flex;align-items:center;justify-content:center;gap:14px}.seat-selection-board .seat-row.side{gap:18px}.seat-selection-board .seat-center{align-self:center;font-size:12px;text-align:center;min-width:120px}.seat-cell{width:190px;height:132px;min-height:132px;border-radius:12px;border:2px solid rgba(94,160,210,.35);padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:#1432508c}.seat-cell.team-a{border-color:#58aae6b3}.seat-cell.team-b{border-color:#e67858b3}.seat-cell.seat-me{box-shadow:0 0 10px #58d36a8c;border-color:#58d36acc}.seat-wind{font-size:13px;opacity:.85}.seat-occupant{font-size:14px;min-height:20px}.seat-action{margin-top:auto;display:flex;flex-direction:column;gap:4px;min-height:64px;justify-content:flex-end}.seat-action button{width:100%}.seat-swap-requests{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:4px}.seat-swap-request{justify-content:space-between;align-items:center;gap:8px;font-size:13px}.team-inquiry-bubble{flex-direction:column;align-items:stretch;max-width:360px}.team-inquiry-idle-actions{justify-content:center;row-gap:8px}.team-inquiry-idle-actions .self-hint-zuhelong-action{padding:2px 6px;border-radius:6px;background:#3a6ea52e;border:1px solid rgba(120,180,240,.22);text-decoration:none}.team-inquiry-idle-actions .self-hint-zuhelong-action:hover{background:#4e8ac847}.team-inquiry-idle-actions .self-hint-zuhelong-action:disabled{opacity:.4}.team-inquiry-action-wrap{display:inline-flex}.team-inquiry-action-wrap>.self-hint-zuhelong-action:disabled{pointer-events:none}.team-inquiry-picker{display:flex;flex-direction:column;gap:6px}.team-inquiry-grid{display:flex;flex-direction:column;gap:4px;padding:4px;border-radius:8px;background:#00000038}.team-inquiry-grid-row{display:flex;flex-wrap:wrap;gap:3px}.team-inquiry-grid-tile{padding:0;border:1px solid transparent;border-radius:6px;background:none;cursor:pointer;line-height:0}.team-inquiry-grid-tile.selected{border-color:#58d36ae6;background:#58d36a2e}.team-inquiry-grid-tile:disabled{opacity:.35;cursor:not-allowed}.team-inquiry-hand{display:flex;flex-wrap:wrap;gap:3px;padding:4px;border-radius:8px;background:#00000038;max-width:320px}.team-inquiry-hand-tile{padding:0;border:1px solid transparent;border-radius:6px;background:none;cursor:pointer;line-height:0}.team-inquiry-hand-tile.selected{border-color:#58d36ae6;background:#58d36a2e}.team-inquiry-picker-actions{display:flex;justify-content:flex-end;gap:10px}.team-inquiry-pending,.team-inquiry-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.team-inquiry-result{flex-direction:column;align-items:flex-start}.team-inquiry-answer-list{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.team-inquiry-answer-item{display:inline-flex;align-items:center;gap:4px;font-size:12px}.team-score-hud{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:40;display:flex;gap:10px;padding:4px 12px;border-radius:999px;background:#00000047;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:13px;pointer-events:none}.team-score-chip{display:inline-flex;align-items:center;gap:5px}.team-score-chip.team-a{color:#8ac6ff}.team-score-chip.team-b{color:#ffb38a}.team-score-chip.winner{font-weight:700}.team-result-section{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;padding:8px 10px;border-radius:10px;background:#00000038}.team-result-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.team-result-line.team-a{color:#8ac6ff}.team-result-line.team-b{color:#ffb38a}.team-result-line.winner{font-weight:700}.team-result-name{flex:1}.ready-dot{width:9px;height:9px;border-radius:50%;background:#5b6e7e;display:inline-block;margin-right:7px}.ready-dot.ready{background:#58d36a;box-shadow:0 0 6px #58d36ab3}.conn-banner{position:fixed;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#a02828,#6e1616);border:1px solid #e05050;color:#ffe2e2;border-radius:10px;padding:7px 16px;font-size:13px;z-index:50;box-shadow:0 4px 14px #00000080}.conn-banner-btn{flex-shrink:0;border:1px solid rgba(255,226,226,.45);border-radius:7px;background:#00000038;color:#ffe2e2;font-size:12px;padding:4px 10px;cursor:pointer}.conn-banner-btn:hover{background:#00000059}.audio-activation-prompt{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:80;display:flex;align-items:center;justify-content:center;gap:8px;max-width:min(92vw,420px);padding:8px 18px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);box-shadow:var(--glass-shadow),var(--glass-highlight);color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;animation:audio-activation-prompt-in .24s ease-out}.audio-activation-prompt:hover{border-color:var(--gold);transform:translate(-50%) translateY(-1px)}.audio-activation-prompt:active:not(:disabled){transform:translate(-50%) translateY(1px)}.audio-activation-prompt:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@keyframes audio-activation-prompt-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){.audio-activation-prompt{animation:none}}.end-game-vote-anchor{position:fixed;right:0;top:62%;z-index:45;pointer-events:none}.end-game-vote-panel{pointer-events:auto;min-width:200px;max-width:260px;margin-right:8px;padding:10px 12px 12px;border-radius:12px;background:#0c121ce0;border:1px solid rgba(120,150,190,.35);box-shadow:0 8px 24px #00000073;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:none;-webkit-user-select:none;user-select:none}.end-game-vote-panel--dragging{opacity:.92;cursor:grabbing}.end-game-vote-grip{display:block;width:36px;height:4px;margin:0 auto 8px;border-radius:2px;background:#b4c8dc59}.end-game-vote-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.end-game-vote-title{font-size:13px;font-weight:600;color:#e8f0f8}.end-game-vote-countdown{font-size:13px;font-weight:700;color:#f0c060;font-variant-numeric:tabular-nums}.end-game-vote-bars{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.end-game-vote-bar{height:8px;border-radius:4px;background:#4a5568;transition:background .2s ease}.end-game-vote-bar--yes{background:linear-gradient(90deg,#2d8a3e,#58d36a)}.end-game-vote-bar--no{background:linear-gradient(90deg,#8a2d2d,#e05050)}.end-game-vote-bar--pending{background:#4a5568}.end-game-vote-actions{display:flex;gap:8px}.end-game-vote-btn{flex:1;padding:6px 0;border-radius:8px;border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer}.end-game-vote-btn--yes{background:#2d8a3e40;border-color:#58d36a;color:#fff}.end-game-vote-btn--no{background:#8a2d2d40;border-color:#e05050;color:#fff}.table-event-notice{position:fixed;top:52px;left:50%;transform:translate(-50%);max-width:min(92vw,640px);background:linear-gradient(180deg,#8a4a12,#5c3008);border:1px solid #d4923a;color:#fff3dc;border-radius:10px;padding:10px 18px;font-size:14px;line-height:1.45;text-align:center;z-index:49;box-shadow:0 4px 16px #00000073;pointer-events:none;animation:table-event-notice-in .22s ease-out}@keyframes table-event-notice-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pond-seat-corner.peida:after{content:"??";display:inline-block;margin-left:6px;padding:1px 5px;border-radius:4px;font-size:11px;line-height:1.3;color:#ffe8c8;background:#8c4810d9;border:1px solid rgba(212,146,58,.7);vertical-align:middle}.about-panel{overflow:hidden}.about-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:calc(4px * var(--panel-fit, 1))}.about-author-notice{display:flex;flex-direction:column;gap:0;color:#d6e6f2}.about-author-head{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(130,190,235,.22)}.about-author-title{margin:0;font-weight:800;color:var(--gold);line-height:1.35}.overlay-panel .about-author-title{font-size:calc(22px * var(--panel-fit, 1));letter-spacing:calc(1px * var(--panel-fit, 1))}.overlay-panel .about-author-paragraph,.overlay-panel .about-text{font-size:calc(14px * var(--panel-fit, 1))}.overlay-panel .about-section-title{font-size:calc(15px * var(--panel-fit, 1))}.overlay-panel .about-author-badge{font-size:calc(13px * var(--panel-fit, 1));letter-spacing:calc(2px * var(--panel-fit, 1))}.overlay-panel .about-author-copyright{font-size:calc(12px * var(--panel-fit, 1));letter-spacing:calc(.3px * var(--panel-fit, 1))}.overlay-panel .about-author-aside{margin-top:calc(16px * var(--panel-fit, 1));padding:calc(10px * var(--panel-fit, 1)) calc(12px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1))}.about-author-badge{margin:6px 0 0;font-size:13px;letter-spacing:2px;color:#9fc6e8}.about-author-copyright{margin:10px 0 0;font-size:12px;letter-spacing:.3px;color:#8fa8bc;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.about-author-body{display:flex;flex-direction:column;gap:12px}.about-author-paragraph{margin:0;font-size:14px;line-height:1.75;color:#d6e6f2}.about-author-aside{margin-top:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft)}.about-author-hint{margin:0;font-size:13px;line-height:1.65;color:#b7c9d8}.about-author-ack{margin-top:16px;padding-top:14px;border-top:1px solid rgba(130,190,235,.16)}.about-author-ack .about-section-title{margin-top:0}.about-author-ack-subtitle{margin:12px 0 8px;font-size:13px;font-weight:600;letter-spacing:.5px;color:#c4d6e4}.about-author-sponsor-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.about-author-sponsor{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;border:1px solid rgba(130,190,235,.18);background:#08162659}.about-author-sponsor-name{font-size:14px;color:#d6e6f2}.about-author-sponsor-amount{font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#ffe9a8;white-space:nowrap}.about-author-foot{margin-top:16px;padding-top:14px;border-top:1px solid rgba(130,190,235,.16);display:flex;flex-direction:column;gap:8px}.about-author-foot-note{margin:0;font-size:12px;line-height:1.6;color:#8fa8bc}.about-author-foot-invite{margin:0;font-size:13px;line-height:1.65;color:#c4d6e4}.about-text{white-space:pre-wrap;word-break:break-word;font-family:inherit;line-height:1.7;margin:0;color:#d6e6f2}.about-art-list{display:flex;flex-direction:column;gap:12px}.about-art-item{border:1px solid rgba(130,190,235,.22);border-radius:10px;padding:10px 14px;background:#08162666}.about-art-name{font-weight:700;color:var(--gold);margin-bottom:4px}.about-art-preview{display:flex;flex-wrap:nowrap;align-items:center;gap:2px;margin:6px 0 10px;padding:8px 10px;border-radius:8px;background:#00000038;overflow-x:auto}.about-art-details{margin:0;padding:0;border:none;background:transparent}.about-section-title{margin:14px 0 8px;font-size:14px;letter-spacing:1px;color:#ffe9a8}.about-project-list{display:flex;flex-direction:column;gap:8px}.about-project{border:1px solid rgba(130,190,235,.22);border-radius:10px;padding:8px 12px;background:#08162666}.about-project>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:600}.about-project-name{color:#d6e6f2}.about-project-license{font-size:12px;color:#9fc6e8;border:1px solid rgba(159,198,232,.4);border-radius:6px;padding:1px 8px}.about-project-meta{margin-top:8px;font-size:12px}.about-project-note{margin-top:4px;color:#b7c9d8}.about-license{margin-top:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.5;color:#aebfce;background:#00000047;border-radius:8px;padding:10px 12px;max-height:320px;overflow:auto}.about-npm-notices{max-height:360px}.about-actions{flex:0 0 auto;display:flex;justify-content:flex-end;margin-top:calc(12px * var(--panel-fit, 1));padding-top:calc(12px * var(--panel-fit, 1));border-top:1px solid rgba(130,190,235,.18)}.about-actions .btn-primary{min-width:calc(108px * var(--panel-fit, 1))}@media(hover:none)and (pointer:coarse){.table-board{will-change:auto}.discard-flight-tile .tile{filter:none}}.seat-swap-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;background-color:var(--overlay-backdrop-tint);backdrop-filter:var(--overlay-backdrop-filter);-webkit-backdrop-filter:var(--overlay-backdrop-filter);pointer-events:auto}.seat-swap-modal{position:relative;isolation:isolate;overflow:hidden;width:min(72vh,72vw);height:min(72vh,72vw);max-width:540px;max-height:540px;min-width:320px;min-height:320px;border-radius:20px;border:1px solid var(--glass-border);background:transparent;box-shadow:var(--glass-shadow),0 24px 64px #0000006b;padding:clamp(14px,2.5vw,22px)}.seat-swap-modal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;pointer-events:none;transform:translateZ(0);background:radial-gradient(circle at 50% 35%,rgba(255,220,140,.12),transparent 62%),linear-gradient(180deg,var(--glass-panel-tint-top) 0%,var(--glass-panel-tint-bottom) 100%),var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight)}.seat-swap-stage{position:relative;width:100%;height:100%;border-radius:14px;border:1px dashed rgba(255,255,255,.16);background:#00000029}.seat-swap-player{position:absolute;width:clamp(52px,12%,68px);height:clamp(52px,12%,68px);border-radius:999px;border:2px solid rgba(255,246,200,.85);background:radial-gradient(circle at 35% 30%,#fff4c7,#dfba63 70%);color:#1a2d3e;font-weight:700;font-size:clamp(12px,1.6vw,14px);display:grid;place-items:center;transform:translate(-50%,-50%);text-align:center;line-height:1.2}.seat-swap-player.is-moving{transition:left 2s linear,top 2s linear}.seat-swap-arrow{position:absolute;transform-origin:center;color:#ffd97f;font-weight:700;font-size:clamp(18px,2.5vw,24px);letter-spacing:1px;text-shadow:0 0 14px rgba(255,205,92,.45)}.bb-round-end-panel .overlay-panel-body{gap:calc(10px * var(--panel-fit))}.bb-section-label{margin-top:calc(6px * var(--panel-fit));font-size:clamp(13px,1.6vw,15px);font-weight:700;color:#ffd97f;letter-spacing:1px}.bb-win-card,.bb-adj-card{padding:calc(8px * var(--panel-fit)) calc(10px * var(--panel-fit));border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:calc(4px * var(--panel-fit))}.bb-win-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:calc(6px * var(--panel-fit))}.bb-win-index{font-size:clamp(15px,1.8vw,18px);color:#ffd97f}.bb-win-title{font-weight:700;font-size:clamp(15px,1.9vw,18px);color:#fff8e6}.bb-win-detail{font-size:clamp(12px,1.5vw,14px);color:#ffb4b4}.bb-win-score{margin-left:auto;font-weight:700;font-size:clamp(15px,1.9vw,18px);color:#ffd97f;font-variant-numeric:tabular-nums}.bb-win-breakdown{font-size:clamp(11px,1.4vw,13px)}.bb-delta-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:calc(3px * var(--panel-fit)) calc(10px * var(--panel-fit));margin-top:calc(2px * var(--panel-fit))}.bb-delta-row{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:clamp(12px,1.5vw,14px)}.bb-delta-label{color:#d8e6f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-delta-value{font-weight:700;font-variant-numeric:tabular-nums}.bb-adj-head{display:flex;align-items:baseline;gap:calc(6px * var(--panel-fit))}.bb-adj-title{font-weight:700;font-size:clamp(13px,1.6vw,15px);color:#fff8e6}.bb-adjustments,.bb-hands-reveal{display:flex;flex-direction:column;gap:calc(6px * var(--panel-fit))}.audio-settings{display:flex;flex-direction:column;gap:calc(14px * var(--panel-fit, 1))}.audio-settings-section{background:var(--surface-2, rgba(255, 255, 255, .05));border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));border-radius:calc(14px * var(--panel-fit, 1));padding:calc(14px * var(--panel-fit, 1))}.audio-settings-section.is-compact{padding:calc(10px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1))}.audio-settings-section.is-disabled{opacity:.45}.audio-settings-section h3{margin:0 0 calc(10px * var(--panel-fit, 1));font-size:calc(15px * var(--panel-fit, 1))}.audio-settings-hint{margin:0 0 calc(10px * var(--panel-fit, 1));font-size:calc(12px * var(--panel-fit, 1));line-height:1.5}.audio-volume-list{display:flex;flex-direction:column;gap:calc(8px * var(--panel-fit, 1))}.audio-volume-row{display:grid;grid-template-columns:calc(148px * var(--panel-fit, 1)) minmax(0,1fr);align-items:center;column-gap:calc(14px * var(--panel-fit, 1));padding:calc(8px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));background:var(--surface-1, rgba(255, 255, 255, .03));transition:background .15s ease}.audio-volume-row.is-on{background:#7fb0691a}.audio-volume-row.is-disabled{opacity:.45}.audio-volume-toggle{display:inline-flex;align-items:center;gap:calc(10px * var(--panel-fit, 1));width:100%;background:none;border:none;color:inherit;font:inherit;padding:0;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left}.audio-volume-toggle:disabled{cursor:not-allowed}.audio-volume-toggle-label{flex:1 1 auto;min-width:0;font-size:calc(14px * var(--panel-fit, 1));white-space:nowrap}.audio-volume-toggle-switch{position:relative;flex:0 0 auto;width:calc(34px * var(--panel-fit, 1));height:calc(18px * var(--panel-fit, 1))}.audio-volume-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#ffffff2e;transition:background .15s ease}.audio-volume-toggle-thumb{position:absolute;top:calc(2px * var(--panel-fit, 1));left:calc(2px * var(--panel-fit, 1));width:calc(14px * var(--panel-fit, 1));height:calc(14px * var(--panel-fit, 1));border-radius:50%;background:#fff;transition:transform .15s ease}.audio-volume-toggle-switch.on .audio-volume-toggle-track{background:#7fb069}.audio-volume-toggle-switch.on .audio-volume-toggle-thumb{transform:translate(calc(16px * var(--panel-fit, 1)))}.audio-volume-slider-wrap{display:flex;align-items:center;gap:calc(10px * var(--panel-fit, 1))}.audio-volume-slider{flex:1 1 auto;-moz-appearance:none;appearance:none;-webkit-appearance:none;height:calc(6px * var(--panel-fit, 1));border-radius:999px;background:linear-gradient(to right,#7fb069 0%,#7fb069 var(--audio-volume-fill, 0%),rgba(255,255,255,.15) var(--audio-volume-fill, 0%),rgba(255,255,255,.15) 100%);cursor:pointer}.audio-volume-slider:disabled{opacity:.4;cursor:not-allowed}.audio-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:calc(16px * var(--panel-fit, 1));height:calc(16px * var(--panel-fit, 1));border-radius:50%;background:#fff;border:2px solid #7fb069;box-shadow:0 1px 3px #0000004d}.audio-volume-slider::-moz-range-thumb{width:calc(16px * var(--panel-fit, 1));height:calc(16px * var(--panel-fit, 1));border-radius:50%;background:#fff;border:2px solid #7fb069}.audio-volume-pct{flex:0 0 auto}.audio-volume-pct .settings-scale-input{width:3.6em;min-width:3.6em;font-variant-numeric:tabular-nums}.audio-volume-pct .settings-scale-input:disabled{opacity:.4;cursor:not-allowed}.audio-lang-segmented{max-width:calc(220px * var(--panel-fit, 1))}.audio-track-row{display:grid;grid-template-columns:minmax(calc(96px * var(--panel-fit, 1)),calc(150px * var(--panel-fit, 1))) minmax(0,1fr);align-items:center;column-gap:calc(12px * var(--panel-fit, 1));margin-top:calc(8px * var(--panel-fit, 1))}.audio-track-label{font-size:calc(14px * var(--panel-fit, 1))}.audio-track-select{width:100%}.settings-riichi-music-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(6px * var(--panel-fit, 1));margin-top:calc(10px * var(--panel-fit, 1))}.settings-riichi-music-row{display:flex;flex-wrap:wrap;align-items:center;gap:calc(6px * var(--panel-fit, 1)) calc(10px * var(--panel-fit, 1));margin-top:calc(8px * var(--panel-fit, 1))}.settings-riichi-music-chip{width:100%;min-width:0;text-align:left;box-sizing:border-box;padding:calc(8px * var(--panel-fit, 1)) calc(14px * var(--panel-fit, 1));border-radius:calc(10px * var(--panel-fit, 1));border:1px solid var(--border-subtle, rgba(255, 255, 255, .12));background:var(--surface-2, rgba(255, 255, 255, .05));color:inherit;font:inherit;font-size:calc(13px * var(--panel-fit, 1));cursor:pointer;transition:border-color .15s ease,background .15s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-riichi-music-chip:hover:not(:disabled){border-color:#ffffff4d}.settings-riichi-music-chip.active{border-color:#7fb069;background:#7fb0692e}.settings-riichi-music-chip.is-empty{opacity:.5}.settings-riichi-music-upload-btn{align-self:flex-start}.settings-riichi-music-preview-btn{margin-left:calc(4px * var(--panel-fit, 1))}.settings-riichi-protect-row{margin:calc(12px * var(--panel-fit, 1)) 0 0}.settings-riichi-protect-row .game-settings-switch-row{width:100%}.login-screen{height:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:clamp(12px,3vmin,32px);overflow-y:auto}.login-hero{text-align:center}.login-brand-title{font-size:clamp(36px,6vmin,56px);letter-spacing:6px}.login-card{position:relative;isolation:isolate;width:min(400px,92vw);box-sizing:border-box;display:flex;flex-direction:column;gap:14px;padding:26px 30px;border-radius:20px;border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),0 0 48px #5096dc1a;animation:menu-panel-fade-in .56s cubic-bezier(.22,1,.36,1) both}.login-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(180deg,var(--glass-panel-tint-top) 0%,var(--glass-panel-tint-bottom) 100%),var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight)}.login-guest-hint{color:var(--ink-dim);font-size:12px;margin:2px 0 0}.login-remember-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.login-remember-row input{accent-color:var(--gold)}.login-advanced-toggle{align-self:flex-start;background:none;border:none;padding:0;color:var(--ink-dim);font-size:12px;cursor:pointer}.login-advanced-toggle:hover{color:var(--gold)}.login-error{min-height:18px}.login-offline-btn{margin-top:-4px}.home-screen{position:relative;z-index:1;height:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:clamp(12px,3vmin,32px);overflow-y:auto}@property --home-drift-dx{syntax: "<length>"; inherits: false; initial-value: 0vw;}@property --home-drift-sway{syntax: "<length>"; inherits: false; initial-value: 0vw;}@property --home-drift-rot-start{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --home-drift-rot-delta{syntax: "<angle>"; inherits: false; initial-value: 90deg;}.home-sakura-petals{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden;opacity:.62}.home-sakura-petal-drift{position:absolute;top:0;width:clamp(44px,8.4vmin,96px);height:auto;aspect-ratio:50 / 88;opacity:0;--home-drift-dx: var(--drift-dx, 0vw);--home-drift-sway: var(--drift-sway, 0vw);--home-drift-rot-start: var(--drift-rot-start, 0deg);--home-drift-rot-delta: var(--drift-rot-delta, 90deg);animation:home-sakura-petal-fade var(--drift-duration, 24s) linear infinite;animation-delay:var(--drift-delay, 0s)}.home-sakura-petal-fall-y{transform-origin:center center;animation:home-sakura-fall-y var(--drift-duration, 24s) linear infinite;animation-delay:var(--drift-delay, 0s)}.home-sakura-petal-sway{transform-origin:center center;animation:home-sakura-sway-x var(--drift-duration, 24s) linear infinite;animation-delay:var(--drift-delay, 0s)}.home-sakura-petal-drift svg{display:block;width:100%;height:100%;filter:drop-shadow(0 0 3px rgba(255,128,171,.18))}@keyframes home-sakura-petal-fade{0%,to{opacity:0}8%,86%{opacity:var(--drift-opacity, .14)}}@keyframes home-sakura-fall-y{0%{transform:translateY(-10vh) scale(var(--drift-scale, 1))}to{transform:translateY(112vh) scale(var(--drift-scale, 1))}}@keyframes home-sakura-sway-x{0%{transform:translate(calc(var(--home-drift-dx) * 0 + var(--home-drift-sway) * 0)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * 0))}2%{transform:translate(calc(var(--home-drift-dx) * .02 + var(--home-drift-sway) * .2487)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .02))}4%{transform:translate(calc(var(--home-drift-dx) * .04 + var(--home-drift-sway) * .4818)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .04))}6%{transform:translate(calc(var(--home-drift-dx) * .06 + var(--home-drift-sway) * .6845)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .06))}8%{transform:translate(calc(var(--home-drift-dx) * .08 + var(--home-drift-sway) * .8443)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .08))}10%{transform:translate(calc(var(--home-drift-dx) * .1 + var(--home-drift-sway) * .9511)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .1))}12%{transform:translate(calc(var(--home-drift-dx) * .12 + var(--home-drift-sway) * .998)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .12))}14%{transform:translate(calc(var(--home-drift-dx) * .14 + var(--home-drift-sway) * .9823)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .14))}16%{transform:translate(calc(var(--home-drift-dx) * .16 + var(--home-drift-sway) * .9048)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .16))}18%{transform:translate(calc(var(--home-drift-dx) * .18 + var(--home-drift-sway) * .7705)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .18))}20%{transform:translate(calc(var(--home-drift-dx) * .2 + var(--home-drift-sway) * .5878)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .2))}22%{transform:translate(calc(var(--home-drift-dx) * .22 + var(--home-drift-sway) * .3681)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .22))}24%{transform:translate(calc(var(--home-drift-dx) * .24 + var(--home-drift-sway) * .1253)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .24))}26%{transform:translate(calc(var(--home-drift-dx) * .26 + var(--home-drift-sway) * -.1253)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .26))}28%{transform:translate(calc(var(--home-drift-dx) * .28 + var(--home-drift-sway) * -.3681)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .28))}30%{transform:translate(calc(var(--home-drift-dx) * .3 + var(--home-drift-sway) * -.5878)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .3))}32%{transform:translate(calc(var(--home-drift-dx) * .32 + var(--home-drift-sway) * -.7705)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .32))}34%{transform:translate(calc(var(--home-drift-dx) * .34 + var(--home-drift-sway) * -.9048)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .34))}36%{transform:translate(calc(var(--home-drift-dx) * .36 + var(--home-drift-sway) * -.9823)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .36))}38%{transform:translate(calc(var(--home-drift-dx) * .38 + var(--home-drift-sway) * -.998)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .38))}40%{transform:translate(calc(var(--home-drift-dx) * .4 + var(--home-drift-sway) * -.9511)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .4))}42%{transform:translate(calc(var(--home-drift-dx) * .42 + var(--home-drift-sway) * -.8443)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .42))}44%{transform:translate(calc(var(--home-drift-dx) * .44 + var(--home-drift-sway) * -.6845)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .44))}46%{transform:translate(calc(var(--home-drift-dx) * .46 + var(--home-drift-sway) * -.4818)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .46))}48%{transform:translate(calc(var(--home-drift-dx) * .48 + var(--home-drift-sway) * -.2487)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .48))}50%{transform:translate(calc(var(--home-drift-dx) * .5 + var(--home-drift-sway) * -0)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .5))}52%{transform:translate(calc(var(--home-drift-dx) * .52 + var(--home-drift-sway) * .2487)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .52))}54%{transform:translate(calc(var(--home-drift-dx) * .54 + var(--home-drift-sway) * .4818)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .54))}56%{transform:translate(calc(var(--home-drift-dx) * .56 + var(--home-drift-sway) * .6845)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .56))}58%{transform:translate(calc(var(--home-drift-dx) * .58 + var(--home-drift-sway) * .8443)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .58))}60%{transform:translate(calc(var(--home-drift-dx) * .6 + var(--home-drift-sway) * .9511)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .6))}62%{transform:translate(calc(var(--home-drift-dx) * .62 + var(--home-drift-sway) * .998)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .62))}64%{transform:translate(calc(var(--home-drift-dx) * .64 + var(--home-drift-sway) * .9823)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .64))}66%{transform:translate(calc(var(--home-drift-dx) * .66 + var(--home-drift-sway) * .9048)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .66))}68%{transform:translate(calc(var(--home-drift-dx) * .68 + var(--home-drift-sway) * .7705)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .68))}70%{transform:translate(calc(var(--home-drift-dx) * .7 + var(--home-drift-sway) * .5878)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .7))}72%{transform:translate(calc(var(--home-drift-dx) * .72 + var(--home-drift-sway) * .3681)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .72))}74%{transform:translate(calc(var(--home-drift-dx) * .74 + var(--home-drift-sway) * .1253)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .74))}76%{transform:translate(calc(var(--home-drift-dx) * .76 + var(--home-drift-sway) * -.1253)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .76))}78%{transform:translate(calc(var(--home-drift-dx) * .78 + var(--home-drift-sway) * -.3681)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .78))}80%{transform:translate(calc(var(--home-drift-dx) * .8 + var(--home-drift-sway) * -.5878)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .8))}82%{transform:translate(calc(var(--home-drift-dx) * .82 + var(--home-drift-sway) * -.7705)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .82))}84%{transform:translate(calc(var(--home-drift-dx) * .84 + var(--home-drift-sway) * -.9048)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .84))}86%{transform:translate(calc(var(--home-drift-dx) * .86 + var(--home-drift-sway) * -.9823)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .86))}88%{transform:translate(calc(var(--home-drift-dx) * .88 + var(--home-drift-sway) * -.998)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .88))}90%{transform:translate(calc(var(--home-drift-dx) * .9 + var(--home-drift-sway) * -.9511)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .9))}92%{transform:translate(calc(var(--home-drift-dx) * .92 + var(--home-drift-sway) * -.8443)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .92))}94%{transform:translate(calc(var(--home-drift-dx) * .94 + var(--home-drift-sway) * -.6845)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .94))}96%{transform:translate(calc(var(--home-drift-dx) * .96 + var(--home-drift-sway) * -.4818)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .96))}98%{transform:translate(calc(var(--home-drift-dx) * .98 + var(--home-drift-sway) * -.2487)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .98))}to{transform:translate(calc(var(--home-drift-dx) * 1 + var(--home-drift-sway) * -0)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * 1))}}@media(prefers-reduced-motion:reduce){.home-sakura-petals{opacity:.38}.home-sakura-petal-drift,.home-sakura-petal-fall-y,.home-sakura-petal-sway{animation:none}.home-sakura-petal-drift{opacity:var(--drift-opacity, .12)}.home-sakura-petal-fall-y{transform:translateY(42vh) scale(var(--drift-scale, 1))}.home-sakura-petal-sway{transform:translate(calc(var(--home-drift-dx) * .42)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .45))}}html.effect-lite .home-sakura-petal-drift,html.effect-lite .home-sakura-petal-fall-y,html.effect-lite .home-sakura-petal-sway{animation:none}html.effect-lite .home-sakura-petal-drift{opacity:var(--drift-opacity, .12)}html.effect-lite .home-sakura-petal-fall-y{transform:translateY(38vh) scale(var(--drift-scale, 1))}html.effect-lite .home-sakura-petal-sway{transform:translate(calc(var(--home-drift-dx) * .38)) rotate(calc(var(--home-drift-rot-start) + var(--home-drift-rot-delta) * .4))}.home-waveform{position:fixed;left:0;right:0;bottom:clamp(96px,19vh,176px);height:clamp(60px,10vh,108px);pointer-events:none;z-index:0;opacity:.92}.home-waveform-canvas{display:block;width:100%;height:100%;--home-wave-gold: var(--gold, #f0c75a);--home-wave-gold-bright: var(--gold-bright, #ffe9a8);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 35%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 35%,#000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}@media(prefers-reduced-motion:reduce){.home-waveform{opacity:.55}}.home-topbar{position:relative;z-index:2;flex-shrink:0;width:100%;display:flex;align-items:flex-start;justify-content:flex-end;gap:12px}.home-account{display:flex;align-items:center;gap:10px;min-height:40px;font-size:13px}.home-account-name{color:#ffe9c4;font-weight:600}.home-icons{display:flex;gap:10px;margin-left:auto}.home-icon-btn{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:8px 10px;border-radius:12px;border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);color:var(--ink);cursor:pointer;transition:border-color .16s ease,transform .16s ease}.home-icon-btn:hover{border-color:var(--gold);transform:translateY(-1px)}.home-icon{font-size:18px;line-height:1}.home-icon-label{font-size:11px;color:var(--ink-dim)}.home-icon-btn .menu-appearance-label{color:transparent}@media(prefers-reduced-motion:reduce){.home-icon-btn .menu-appearance-label{animation:none;color:var(--ink);background:none;filter:none}}.home-main{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:clamp(12px,3vmin,28px);transform:translateY(clamp(-40px,-11vh,-96px))}.home-hero{flex:0 0 auto;display:flex;flex-direction:column;align-items:center}.home-brand-title{font-size:clamp(40px,7vmin,64px);letter-spacing:8px}.home-actions{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:14px;width:min(360px,92vw)}.home-actions .btn-primary,.home-actions .btn-secondary{width:100%}.home-footer{margin-top:auto;padding-top:16px}.offline-setup-title{text-align:center}.room-password-panel{display:flex;flex-direction:column;gap:calc(14px * var(--panel-fit, 1));padding:calc(24px * var(--panel-fit, 1)) calc(28px * var(--panel-fit, 1));border-radius:calc(16px * var(--panel-fit, 1));box-sizing:border-box}.room-password-panel h3{margin:0}.room-password-actions{justify-content:flex-end;gap:calc(10px * var(--panel-fit, 1))}.login-card--connecting{opacity:.72;pointer-events:none}.lobby-screen{position:relative;z-index:1;height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:clamp(12px,2vmin,20px);padding:clamp(12px,2.5vmin,24px);overflow:hidden;--lobby-surface-bg: rgba(12, 28, 46, .38);--lobby-surface-tint-top: rgba(32, 72, 110, .14);--lobby-surface-tint-bottom: rgba(8, 22, 38, .2);--lobby-surface-inset: rgba(8, 24, 40, .28);--lobby-surface-input: rgba(8, 24, 40, .34)}.lobby-screen .home-icon-btn{background:var(--lobby-surface-bg);backdrop-filter:none;-webkit-backdrop-filter:none}.lobby-screen .lobby-room-card{background:var(--lobby-surface-inset);backdrop-filter:none;-webkit-backdrop-filter:none}.lobby-screen input,.lobby-screen select,.lobby-screen .btn-secondary{background:var(--lobby-surface-input);backdrop-filter:none;-webkit-backdrop-filter:none}.lobby-screen .btn-ghost:hover:not(:disabled){backdrop-filter:none;-webkit-backdrop-filter:none}.lobby-topbar{position:relative;isolation:isolate;display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:10px 14px;border-radius:16px;border:1px solid var(--glass-border);overflow:hidden}.lobby-topbar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;pointer-events:none;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;background:var(--lobby-surface-bg);box-shadow:var(--glass-highlight);backdrop-filter:none;-webkit-backdrop-filter:none}.lobby-identity{display:flex;align-items:center;gap:12px;min-width:0}.lobby-avatar{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:18px;color:#1a1208;background:linear-gradient(145deg,var(--gold-bright, #ffe9a8),var(--gold, #f0c75a));box-shadow:0 0 20px #f0c75a59}.lobby-identity-text{display:flex;flex-direction:column;gap:2px;min-width:0}.lobby-identity-label{font-size:11px;color:var(--ink-dim);letter-spacing:.04em}.lobby-identity-name{font-size:15px;font-weight:600;color:#ffe9c4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-stats{margin:0;font-size:13px;flex:1 1 auto;min-width:140px}.lobby-topbar-actions{margin-left:auto}.lobby-exit-btn{color:#ffb4a8}.lobby-exit-btn:hover{color:#ffd0c8;border-color:#ff8c7873}.lobby-exit-btn .home-icon-label{color:inherit}.lobby-main{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(12px,2vmin,20px)}@media(max-width:820px){.lobby-main{grid-template-columns:1fr;overflow-y:auto}.lobby-screen{overflow-y:auto}}.lobby-panel{position:relative;isolation:isolate;background:transparent;border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),0 0 48px #5096dc1a;min-height:0;display:flex;flex-direction:column;border-radius:18px;overflow:hidden}.lobby-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;pointer-events:none;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(180deg,var(--lobby-surface-tint-top) 0%,var(--lobby-surface-tint-bottom) 100%),var(--lobby-surface-bg);box-shadow:var(--glass-highlight);backdrop-filter:none;-webkit-backdrop-filter:none}.lobby-panel>*{position:relative;z-index:1}.lobby-panel-head{flex:none;padding:16px 18px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.lobby-panel-title{margin:0;font-size:18px;letter-spacing:.06em;color:var(--gold-bright, #ffe9a8)}.lobby-room-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.lobby-empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px;gap:8px}.lobby-empty-title{margin:0;font-size:16px;color:var(--ink)}.lobby-empty-hint{margin:0;font-size:13px;max-width:260px}.lobby-room-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--glass-border);background:var(--lobby-surface-inset);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.lobby-room-card:hover:not(.lobby-room-card--playing):not(.lobby-room-card--full){border-color:#f0c75a59;transform:translateY(-1px);box-shadow:0 8px 24px #00000040}.lobby-room-card--playing{opacity:.72}.lobby-room-card-body{flex:1 1 auto;min-width:0}.lobby-room-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lobby-room-name{margin:0;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-room-lock{margin-left:6px;font-size:12px;font-weight:400}.lobby-room-meta{margin:4px 0 0;font-size:12px;line-height:1.45}.lobby-room-badge{flex:none;font-size:11px;padding:2px 8px;border-radius:999px;letter-spacing:.03em}.lobby-room-badge--playing{color:#7ee08a;background:#7ee08a1f;border:1px solid rgba(126,224,138,.35)}.lobby-room-badge--full{color:#ffb4a8;background:#ff8c781a;border:1px solid rgba(255,140,120,.3)}.lobby-room-join{flex:none;min-width:72px;padding-left:16px;padding-right:16px}.lobby-create-panel .lobby-create-form{flex:1 1 auto;min-height:0;overflow:hidden;padding:12px 18px 18px;display:flex;flex-direction:column;gap:12px}.lobby-create-panel .lobby-create-fields{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-inline:2px;box-sizing:border-box}.lobby-create-panel .field label{font-size:12px;color:var(--ink-dim)}.lobby-create-panel .field .glass-select-wrap,.lobby-create-panel input{width:100%;box-sizing:border-box}.lobby-create-btn{flex:none;width:100%;margin-top:auto}.lobby-error{flex:none;margin:0;text-align:center;padding:0 12px 4px}.room-topbar-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.room-topbar-name{margin:0;font-size:16px;font-weight:600;color:#ffe9c4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-topbar-sub{margin:0;font-size:12px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-main{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(12px,2vmin,20px)}@media(max-width:820px){.room-main{grid-template-columns:1fr;overflow-y:auto}.room-screen{overflow-y:auto}}.room-seats-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 16px 16px;display:flex;flex-direction:column;align-items:stretch;justify-content:center}.room-seats-panel .seat-selection-board{width:100%;max-width:720px;margin:0 auto}.room-seats-panel .seat-cell{width:min(200px,38vw);height:132px;min-height:132px}.room-seats-panel .seat-row.side{gap:clamp(10px,2.5vw,18px)}.room-player-list{display:flex;flex-direction:column;gap:10px;width:100%;max-width:520px;margin:0 auto}.room-player-card{display:flex;align-items:stretch;justify-content:space-between;gap:12px;min-height:76px;padding:14px 16px;border-radius:14px;border:1px solid var(--glass-border);background:var(--glass-inset-bg);backdrop-filter:var(--glass-blur-soft);-webkit-backdrop-filter:var(--glass-blur-soft);transition:border-color .16s ease,box-shadow .16s ease}.room-player-card--empty{border-style:dashed;color:#6e8aa0;background:transparent}.room-player-card--me{border-color:#58d36a8c;box-shadow:0 0 14px #58d36a2e}.room-player-card-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}.room-player-card-head{display:flex;align-items:center;gap:8px;min-width:0;min-height:22px}.room-player-card-head .ready-dot{flex:none}.room-player-card-head .ready-dot--placeholder{visibility:hidden}.room-player-card-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px;font-size:15px;font-weight:600}.room-player-card-seat{font-size:12px}.room-player-card-actions{flex:none;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;min-width:88px;min-height:48px}.room-player-card-status{flex:none;font-size:12px;text-align:right}.room-settings-body{flex:1 1 auto;min-height:0;overflow:hidden;padding:12px 18px 18px;display:flex;flex-direction:column;gap:12px}.room-settings-fields{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-inline:2px;box-sizing:border-box}.room-settings-fields select{flex:1 1 auto;min-width:0;width:100%;box-sizing:border-box}.room-owner-hints{flex:none;display:flex;flex-direction:column;gap:6px;padding-top:4px;border-top:1px solid rgba(255,255,255,.06)}.room-owner-hints .room-hint{margin:0;font-size:12px;line-height:1.45}.room-action-bar{flex:none;justify-content:space-between;gap:12px 16px}.room-action-bar-left,.room-action-bar-right{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.room-action-bar-right{margin-left:auto}.room-start-btn{min-width:140px}
