/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#08111e;--panel:#101b2b;--panel-2:#162437;--line:#94a3b838;--table:#087a67;--table-dark:#055c50;--tile:#f6f0e4;--cyan:#35d7e5;--amber:#f4b740;--text:#f5f7fa;--muted:#94a3b8}*{box-sizing:border-box}html,body{min-height:100%}body{background:radial-gradient(circle at 44% 18%, #1b525f2e, transparent 42%), var(--bg);color:var(--text);margin:0;font-family:Inter,Noto Sans JP,Yu Gothic,sans-serif}button{font:inherit}.game-shell{background-image:linear-gradient(#ffffff04 1px,#0000 1px);background-size:100% 4px;min-height:100vh;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:#060f1bf0;grid-template-columns:1fr auto 1fr;align-items:center;height:64px;padding:0 22px;display:grid;box-shadow:0 10px 40px #0000003d}.brand,.match-labels,.top-actions,.section-title,.round-heading,.dora,.turn-notice,.call-actions{align-items:center;display:flex}.brand{gap:11px}.brand-mark{width:34px;height:34px;color:var(--cyan);background:linear-gradient(145deg,#142c3d,#0c1826);border:1px solid #35d7e573;border-radius:9px;place-items:center;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.02em;font-size:17px}.brand small{color:var(--muted);letter-spacing:.08em;margin-top:2px;font-size:10px}.match-labels{color:#cbd5e1;gap:18px;font-size:13px;font-weight:700}.secure-pill{color:#8be9f0;background:#35d7e512;border:1px solid #35d7e52e;border-radius:999px;padding:7px 11px}.top-actions{justify-content:flex-end;gap:4px}.top-actions button{color:#cbd5e1;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 12px}.top-actions button:hover{color:#fff;background:#ffffff0f}.lobby-header-actions{align-items:center;gap:8px;display:flex}.sound-toggle,.top-actions .sound-toggle{color:#eadcae;white-space:nowrap;cursor:pointer;background:#08131fb8;border:1px solid #fbd57d4d;border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-size:12px;font-weight:700;display:inline-flex}.sound-toggle span{background:#fbd57d29;border-radius:50%;place-items:center;width:17px;height:17px;font-size:12px;display:grid}.sound-toggle.is-off{color:#94a3b8;border-color:#94a3b83d}.sound-toggle.is-off span{background:#94a3b81f}.play-layout{grid-template-columns:minmax(760px,1fr) 272px;gap:14px;height:calc(100vh - 64px);padding:14px;display:grid}.table-wrap{border:1px solid var(--line);background:#0b1624;border-radius:20px;grid-template-rows:minmax(0,1fr) 88px;min-width:0;display:grid;overflow:hidden;box-shadow:0 24px 80px #00000052}.mahjong-table{background:radial-gradient(circle at 50% 45%, #139a8047, transparent 36%), linear-gradient(135deg, transparent 49.8%, #02372f6b 50%, transparent 50.2%), linear-gradient(45deg, transparent 49.8%, #02372f6b 50%, transparent 50.2%), var(--table);border:14px solid #132438;min-height:560px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #061521,inset 0 0 70px #00000052}.mahjong-table:after{content:"";pointer-events:none;mix-blend-mode:soft-light;opacity:.4;background-image:radial-gradient(#ffffff14 .6px,#0000 .6px);background-size:4px 4px;position:absolute;inset:0}.tile{z-index:2;background:linear-gradient(150deg, #fffdf7 0%, var(--tile) 72%);color:#12202a;cursor:default;border:1px solid #b8ae9e;border-bottom:5px solid #c8b993;border-radius:6px;flex:none;place-items:center;width:clamp(42px,4vw,58px);height:clamp(58px,5.4vw,78px);padding:0;transition:transform .12s ease-out,border-color .12s ease-out,box-shadow .12s ease-out;display:grid;position:relative;box-shadow:0 5px 8px #00000047}.tile span{font-family:"Noto Sans Symbols 2",Segoe UI Symbol,sans-serif;font-size:clamp(35px,3.6vw,51px);line-height:1;display:block}.tile:not([tabindex="-1"]){cursor:pointer}.tile:not([tabindex="-1"]):hover{transform:translateY(-4px)}.tile--selected{border-color:var(--cyan);box-shadow:0 0 0 2px var(--cyan), 0 8px 22px #35d7e557;transform:translateY(-8px)}.tile--compact{border-bottom-width:3px;border-radius:4px;width:clamp(26px,2.4vw,34px);height:clamp(37px,3.3vw,47px)}.tile--compact span{font-size:clamp(22px,2.15vw,29px)}.tile--sideways{margin:6px 7px;transform:rotate(90deg)}.tile--dimmed{filter:grayscale(.85)brightness(.58);opacity:.68}.tile--red{color:#ba2731}.tile--call-candidate{z-index:8;background:linear-gradient(150deg,#fffdf7 0%,#fff0b8 72%);border-color:#ffd35c;animation:.85s ease-in-out infinite alternate call-candidate-pulse;box-shadow:0 0 0 3px #ffd35cf2,0 0 22px #ffd35cbf}.tile--claimed{z-index:8;border-color:#ff6d73;animation:.7s ease-in-out infinite alternate claimed-tile-pulse;box-shadow:0 0 0 3px #ff5860f2,0 0 24px #ff4850d9}@keyframes call-candidate-pulse{0%{box-shadow:0 0 0 2px #ffd35cb8,0 0 10px #ffd35c7a}to{box-shadow:0 0 0 4px #ffd35c,0 0 28px #ffd35ceb}}@keyframes claimed-tile-pulse{0%{box-shadow:0 0 0 2px #ff5860b8,0 0 12px #ff485080}to{box-shadow:0 0 0 4px #ff5860,0 0 30px #ff4850f2}}.red-five-dot{background:#d52e38;border-radius:50%;width:5px;height:5px;position:absolute;bottom:7px;right:4px;box-shadow:0 0 0 1px #fffc}.player{z-index:4;background:#0a1826f0;border:1px solid #94a3b859;border-radius:10px;grid-template-columns:29px 1fr auto;align-items:center;gap:9px;min-width:154px;padding:8px 10px;display:grid;position:absolute;box-shadow:0 8px 18px #0000003d}.player strong,.player small{display:block}.player strong{font-size:13px}.player small{color:var(--muted);margin-top:2px;font-size:9px}.player b{font-variant-numeric:tabular-nums;font-size:13px}.player--top{top:11px;left:50%;transform:translate(-50%)}.player--bottom{bottom:101px;left:50%;transform:translate(-50%)}.player--left{top:50%;left:76px;transform:translateY(-50%)}.player--right{top:50%;right:76px;transform:translateY(-50%)}.wind{color:#fff;background:#26374b;border-radius:7px;place-items:center;width:26px;height:26px;font-size:12px;font-style:normal;font-weight:800;display:inline-grid}.wind--東{background:#a83d42}.wind--南{background:#4f7f47}.wind--西{background:#3e69a0}.wind--北{background:#5a567f}.river{z-index:3;transform-origin:50%;grid-template-columns:repeat(6,max-content);gap:2px;display:grid;position:absolute}.river--bottom{bottom:178px;left:50%;transform:translate(-50%)}.river--top{top:132px;left:50%;transform:translate(-50%)rotate(180deg)}.river--left,.river--right{grid-template-rows:repeat(6,max-content);grid-template-columns:none;grid-auto-flow:column;top:45%;transform:translateY(-50%)}.river--left .tile,.river--right .tile{border-bottom-width:3px;width:47px;height:34px;margin:0}.river--left .tile span{transform:rotate(90deg)}.river--right .tile span{transform:rotate(-90deg)}.opponent-hand{z-index:2;opacity:.92;gap:1px;display:flex;position:absolute}.opponent-hand--top{top:68px;left:50%;transform:translate(-50%)rotate(180deg)}.opponent-hand--right,.opponent-hand--left{flex-direction:column;top:50%;transform:translateY(-50%)}.opponent-hand--right .tile,.opponent-hand--left .tile{border-bottom-width:3px;width:47px;height:26px}.melds{z-index:4;gap:8px;display:flex;position:absolute}.meld{align-items:flex-end;gap:1px;display:flex}.melds--bottom{bottom:16px;right:max(22px,50% - 515px)}.melds--top{top:68px;left:max(22px,50% - 350px);transform:rotate(180deg)}.melds--right,.melds--left{flex-direction:column;bottom:74px}.melds--right{right:18px}.melds--left{left:18px}.melds--right .meld,.melds--left .meld{flex-direction:column}.melds--right .tile,.melds--left .tile{width:47px;height:34px;margin:0}.melds--right .tile span{transform:rotate(-90deg)}.melds--left .tile span{transform:rotate(90deg)}.round-center{z-index:5;background:#081420f2;border:1px solid #35d7e540;border-radius:14px;width:154px;padding:12px;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);box-shadow:0 15px 34px #00000052}.round-heading{justify-content:space-between}.round-heading span{color:var(--amber);font-size:18px;font-weight:800}.round-heading small{color:var(--muted)}.round-grid{grid-template-columns:1fr 1fr;gap:6px;margin:10px 0;display:grid}.round-grid div{background:var(--panel-2);border-radius:7px;padding:7px}.round-grid small,.round-grid strong{display:block}.round-grid small,.dora small{color:var(--muted);font-size:9px}.round-grid strong{margin-top:2px;font-size:14px}.riichi-stick-pot{background:#ffffff06;border:1px solid #94a3b82e;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:7px;margin:0 0 9px;padding:6px 7px;display:grid}.riichi-stick-pot>small{color:var(--muted);font-size:8px}.riichi-stick-slot{justify-content:flex-end;align-items:center;gap:6px;display:flex}.riichi-stick-slot b{color:#dce8ef;text-align:right;min-width:22px;font-size:10px}.riichi-stick{opacity:.22;background:#e2dcc729;border:1px solid #e1d8c359;border-radius:5px;width:54px;height:9px;display:block;position:relative;box-shadow:inset 0 1px #ffffff14}.riichi-stick-pot.has-stick .riichi-stick{opacity:1;background:linear-gradient(#fffdf3,#d8d1bb);border-color:#fff8dc;box-shadow:0 2px 5px #00000052,inset 0 1px #fff}.riichi-stick i{opacity:0;background:#b52e38;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;transform:translateY(-50%)}.riichi-stick-pot.has-stick .riichi-stick i{opacity:1}.riichi-stick i:first-child{left:21px}.riichi-stick i:nth-child(2){left:26px}.riichi-stick i:nth-child(3){left:31px}.dora{justify-content:space-between}.dora .tile{width:27px;height:37px}.hand{z-index:6;align-items:flex-end;gap:20px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.hand-main{align-items:flex-end;gap:2px;display:flex}.drawn-tile{display:flex}.wait-display{z-index:12;background:#07111df0;border:1px solid #35d7e5b8;border-radius:12px;align-items:center;gap:9px;min-height:54px;padding:8px 12px;display:flex;position:absolute;bottom:16px;left:18px;box-shadow:0 12px 34px #0000005c,0 0 24px #35d7e521}.wait-display>div:first-child{color:#e8f6f8;gap:1px;font-size:11px;display:grid}.wait-display>div:first-child span,.wait-display>small{color:var(--cyan);font-size:10px;font-weight:800}.wait-tiles{gap:3px;display:flex}.wait-display .tile{pointer-events:none}.wait-display--hint{color:#e8f6f8;font-size:12px}.result-overlay{z-index:20;text-align:center;background:#07111df5;border:1px solid #f4b740b8;border-radius:16px;gap:16px;width:min(620px,100% - 32px);padding:24px 28px;display:grid;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 80px #0000008c,0 0 40px #f4b7401f}.result-overlay--win{opacity:0;animation:.38s cubic-bezier(.2,.8,.2,1) 1.15s forwards result-reveal}.result-title{gap:5px;display:grid}.result-title strong{color:var(--amber);letter-spacing:.14em;font-size:34px}.result-title>span{color:#e5edf3;font-size:16px;font-weight:800}.score-transfers{gap:7px;display:grid}.score-transfer,.score-bonus{color:#eef5f7;background:#ffffff0b;border:1px solid #ffffff1c;border-radius:9px;grid-template-columns:minmax(80px,1fr) auto 28px minmax(80px,1fr) auto;align-items:center;gap:8px;padding:9px 12px;font-size:15px;display:grid}.score-transfer i,.score-bonus i{color:var(--amber);font-size:19px;font-style:normal}.score-transfer b{color:#ff8589}.score-transfer .score-plus,.score-bonus b{color:#5fe3cf}.score-changes{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.score-changes span{color:#9cabba;background:#ffffff12;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.score-changes .is-plus{color:#5fe3cf}.score-changes .is-minus{color:#ff8589}.result-overlay{max-height:calc(100% - 28px);overflow-y:auto}.result-revealed-hands{text-align:left;gap:8px;display:grid}.result-revealed-hand{background:#ffffff09;border:1px solid #ffffff1c;border-radius:10px;gap:7px;min-width:0;padding:9px 10px;display:grid}.result-revealed-hand>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.result-revealed-hand>header strong{color:#eef5f7;font-size:12px}.result-revealed-hand>header span{color:#8be9f0;background:#35d7e51c;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900}.result-revealed-tiles,.result-revealed-waits{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.result-revealed-tiles .tile,.result-revealed-waits .tile{pointer-events:none}.result-revealed-tiles--hidden{min-height:28px;color:var(--muted);align-items:center;font-size:11px}.result-revealed-meld{align-items:center;gap:1px;margin-left:7px;display:inline-flex}.result-revealed-waits{color:var(--cyan);gap:4px;padding-top:2px}.result-revealed-waits small{color:var(--cyan);margin-right:4px;font-size:10px;font-weight:900}.five-preview-shell .result-overlay{gap:8px;width:min(760px,100% - 24px);padding:14px 16px}.five-preview-shell .result-overlay .result-title{gap:2px}.five-preview-shell .result-overlay .result-title strong{font-size:28px}.five-preview-shell .result-overlay .result-title>span{font-size:13px}.five-preview-shell .result-revealed-hands{grid-template-columns:minmax(0,1fr);align-content:start;gap:5px}.five-preview-shell .result-revealed-hand{gap:4px;padding:6px 7px}.five-preview-shell .result-revealed-hand>header strong{font-size:10px}.five-preview-shell .result-revealed-hand>header span{padding:2px 5px;font-size:8px}.five-preview-shell .result-revealed-tiles{flex-wrap:nowrap;min-width:0;overflow:visible}.five-preview-shell .result-revealed-tiles>*{flex:none}.five-preview-shell .result-revealed-tiles,.five-preview-shell .result-revealed-waits{gap:1px}.five-preview-shell .five-preview__tenpai-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.five-preview-shell .five-preview__tenpai-list span{text-align:center;white-space:nowrap;padding:3px 2px;font-size:8px}.winning-tile-label{color:#ffd66c;letter-spacing:.12em;justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:900;display:flex}.winning-tile-label .tile{pointer-events:none;filter:drop-shadow(0 0 10px #ffd35c73);width:38px;height:52px}.result-confirm{color:#251808;letter-spacing:.06em;cursor:pointer;background:linear-gradient(#f6d878,#bd862d);border:1px solid #ffe29a;border-radius:10px;min-height:48px;font-size:16px;font-weight:950;transition:transform .15s,filter .15s,box-shadow .15s;box-shadow:inset 0 1px #ffffff80,0 5px #704513,0 10px 22px #00000057}.result-confirm:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.result-confirm:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 1px #ffffff59,0 2px #704513,0 5px 12px #0000004d}.result-confirm:disabled{cursor:wait;filter:grayscale(.65);opacity:.68;box-shadow:none}.win-impact{z-index:24;pointer-events:none;width:330px;height:390px;animation:1.55s ease-out forwards win-impact-stage;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.win-impact:before{content:"";opacity:0;background:radial-gradient(circle,#fff6ab70,#53c3ff29 36%,#0000 67%);border-radius:50%;animation:.55s ease-out .25s both impact-flash;position:absolute;inset:30px 20px 0}.dandama-strike{z-index:3;opacity:0;filter:drop-shadow(0 0 8px #fff)drop-shadow(0 0 24px #5bd9ff);width:235px;animation:.72s cubic-bezier(.12,.76,.18,1.16) .22s both dandama-drop;position:absolute;top:2px;left:50%;transform:translate(-50%,-165%)scale(.35)}.dandama-strike img{width:100%;height:auto;display:block}.winning-tile{z-index:4;opacity:0;animation:.62s cubic-bezier(.18,.9,.23,1.3) .54s both winning-tile-impact;position:absolute;bottom:18px;left:50%;transform:translate(-50%)scale(.7)}.winning-tile .tile{pointer-events:none;border-color:#fff4a8;width:82px;height:112px;box-shadow:0 0 0 4px #fff39ab8,0 0 28px #ffed71f2,0 18px 32px #0000008c}.lightning{z-index:2;opacity:0;clip-path:polygon(46% 0,72% 0,55% 36%,83% 36%,37% 100%,48% 52%,20% 52%);filter:drop-shadow(0 0 7px #fff)drop-shadow(0 0 18px #47bfff);background:linear-gradient(90deg,#0000,#fff 32%,#75dcff 58%,#0000);width:52px;height:300px;animation:.48s steps(2,end) 80ms both lightning-strike;position:absolute;top:-80px}.lightning--left{left:54px;transform:rotate(-10deg)}.lightning--right{animation-delay:.17s;right:48px;transform:rotate(11deg)scaleX(-1)}@keyframes lightning-strike{0%{opacity:0;transform:translateY(-35px)scaleY(.65)}22%,48%{opacity:1}35%,70%{opacity:.2}to{opacity:0;transform:translateY(35px)scaleY(1.05)}}@keyframes impact-flash{0%{opacity:0;transform:scale(.35)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}@keyframes dandama-drop{0%{opacity:0;transform:translate(-50%,-165%)scale(.35)}45%{opacity:1}72%{transform:translate(-50%,42px)scale(1.06)}to{opacity:1;transform:translate(-50%,28px)scale(1)}}@keyframes winning-tile-impact{0%{opacity:0;transform:translate(-50%)scale(.45)}60%{opacity:1;transform:translate(-50%)scale(1.12)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes win-impact-stage{0%,82%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes result-reveal{0%{opacity:0;transform:translate(-50%,calc(18px - 50%))scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.action-rail{border-top:1px solid var(--line);background:#0a1522;grid-template-columns:minmax(150px,1fr) auto minmax(130px,190px);align-items:center;gap:10px;padding:12px 16px;display:grid;position:relative}.meld-picker{z-index:30;background:#07111df7;border:1px solid #ffd35cb8;border-radius:14px;min-width:310px;padding:12px;position:absolute;bottom:calc(100% + 10px);right:12px;box-shadow:0 18px 55px #00000080}.meld-picker-title{color:var(--amber);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;display:flex}.meld-picker-title button{color:#fff;cursor:pointer;background:#ffffff14;border:0;border-radius:7px;width:28px;height:28px}.meld-option-list{gap:8px;display:grid}.meld-option{background:var(--panel-2);color:#e7edf2;cursor:pointer;border:1px solid #94a3b847;border-radius:10px;align-items:center;gap:2px;padding:8px 10px;display:flex}.meld-option:hover{background:#1d3147;border-color:#ffd35c}.meld-option>span{color:#f7d36f;margin-left:auto;padding-left:12px;font-size:11px;font-weight:800}.turn-notice{color:#dce8ef;gap:9px;font-size:13px}.pulse-dot,.live-dot{background:var(--cyan);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #35d7e51a}.call-actions{gap:5px}.action,.discard-button{cursor:pointer;border-radius:10px;height:52px;font-weight:800}.action{background:var(--panel-2);color:#dbe5ee;border:1px solid #94a3b847;min-width:53px;padding:0 9px}.action:hover:not(:disabled),.action.active{border-color:var(--cyan);transform:translateY(-1px)}.action.amber{color:var(--amber);border-color:#f4b7408c}.action.win{color:#ff8c8c;border-color:#dd494994}.action.abortive{color:#cdb7ff;border-color:#ba97ff73;min-width:68px;font-size:11px}.action:disabled{opacity:.32;cursor:not-allowed}.discard-button{color:#05202b;background:linear-gradient(135deg,#4edee8,#2bc4d5);border:1px solid #7af1f6;font-size:17px;box-shadow:0 8px 22px #35d7e533,inset 0 1px #fff6}.discard-button:disabled{filter:saturate(.2);opacity:.45}.discard-button kbd{border:1px solid #0003;border-radius:4px;margin-left:8px;padding:2px 5px;font-size:9px}.side-panel{flex-direction:column;gap:12px;min-height:0;display:flex}.side-panel section{border:1px solid var(--line);background:#0f1c2ceb;border-radius:14px;overflow:hidden}.section-title{border-bottom:1px solid var(--line);color:#dce5ed;justify-content:space-between;min-height:43px;padding:0 14px;font-size:12px;font-weight:800}.info-hero{padding:14px}.info-hero strong,.info-hero span{display:block}.info-hero strong{color:var(--amber);font-size:21px}.info-hero span{color:var(--muted);margin-top:4px;font-size:11px}.round-meta{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.round-meta div{padding:11px 14px}.round-meta div+div{border-left:1px solid var(--line)}.round-meta small,.round-meta b{display:block}.round-meta small{color:var(--muted);font-size:9px}.round-meta b{margin-top:3px;font-size:12px}.score-list{margin:0;padding:7px;list-style:none}.score-list li{border-radius:8px;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:9px 8px;display:grid}.score-list li+li{border-top:1px solid #94a3b81a}.score-list li.is-you{background:#35d7e50f}.score-list strong,.score-list small{display:block}.score-list strong{font-size:12px}.score-list small{color:var(--muted);margin-top:2px;font-size:9px}.score-list b{font-variant-numeric:tabular-nums;font-size:12px}.rule-card{flex:1}.rule-card dl{margin:0;padding:7px 14px}.rule-card dl div{border-bottom:1px solid #94a3b81a;justify-content:space-between;padding:8px 0;font-size:11px;display:flex}.rule-card dt{color:var(--muted)}.rule-card dd{margin:0;font-weight:700}.game-loading{place-content:center;justify-items:center;gap:14px;display:grid}.loading-mark{width:72px;height:72px;color:var(--cyan);background:linear-gradient(145deg,#142c3d,#0c1826);border:1px solid #35d7e580;border-radius:20px;place-items:center;font-size:34px;font-weight:900;display:grid;box-shadow:0 0 40px #35d7e529}.game-loading p{color:var(--muted);margin:0;font-size:13px}@media (width<=1120px){.play-layout{grid-template-columns:1fr;overflow:auto}.side-panel{display:none}.play-layout,.table-wrap{min-height:760px}}@media (width<=780px){.topbar{grid-template-columns:1fr auto}.match-labels,.wall--left,.wall--right{display:none}.play-layout{min-width:720px;padding:8px}.action-rail{grid-template-columns:1fr auto}.turn-notice{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.online-lobby{isolation:isolate;color:#fff9e9;background:radial-gradient(circle at 42% 40%,#50b57057,#0000 38%),radial-gradient(circle at 50% 105%,#00160db8,#0000 45%),linear-gradient(120deg,#00261b26,#011f199e),#08623f;min-height:100vh;padding:0 clamp(24px,5vw,84px) 38px;position:relative;overflow:hidden}.online-lobby:before{content:"";z-index:-2;pointer-events:none;opacity:.7;background:repeating-radial-gradient(circle at 0 100%,#0000 0 22px,#f5cb6721 23px 25px,#0000 26px 42px) 0 0/230px 230px,repeating-radial-gradient(circle at 100% 0,#0000 0 28px,#f5cb671a 29px 31px,#0000 32px 52px) 0 0/270px 270px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(100deg,#000 0%,#0000 42% 68%,#000 100%);mask-image:linear-gradient(100deg,#000 0%,#0000 42% 68%,#000 100%)}.online-lobby:after{content:"";z-index:-1;pointer-events:none;mix-blend-mode:soft-light;opacity:.65;background-image:radial-gradient(#ffffff1f .65px,#0000 .7px),radial-gradient(#00000024 .65px,#0000 .7px);background-position:0 0,2px 2px;background-size:4px 4px;position:absolute;inset:0}.lobby-header{z-index:20;border-bottom:1px solid #fbd57d45;justify-content:space-between;align-items:center;min-height:84px;display:flex;position:relative}.lobby-logo-lockup{align-items:center;gap:12px;display:flex}.lobby-logo-lockup strong,.lobby-logo-lockup small{display:block}.lobby-logo-lockup strong{color:#fff4d1;letter-spacing:.12em;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:19px}.lobby-logo-lockup small{color:#ffeec794;letter-spacing:.18em;margin-top:3px;font-size:9px;font-weight:700}.header-mon{color:#ffe5a3;background:radial-gradient(circle,#a71f2b,#5f0710);border:1px solid #f8cd68ad;border-radius:50%;place-items:center;width:40px;height:40px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-weight:900;display:grid;box-shadow:0 0 0 3px #5b1415b3,0 4px 16px #00000047}.lobby-status{color:#ffe4a0;letter-spacing:.08em;align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.lobby-status i{background:#72e29d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #72e29dcc}.lobby-hero{grid-template-columns:minmax(0,1.35fr) minmax(360px,.8fr);align-items:center;gap:clamp(38px,6vw,96px);width:min(1280px,100%);min-height:calc(100vh - 122px);margin:0 auto;display:grid}.lobby-brand-stage{place-items:center;min-height:610px;display:grid;position:relative}.dankon-brand{z-index:4;justify-items:center;width:min(720px,92%);display:grid;position:relative}.dankon-brand img{object-fit:contain;filter:drop-shadow(0 18px 22px #00000075);width:100%;height:auto}.dankon-subtitle{color:#ffe7ab;letter-spacing:.22em;white-space:nowrap;align-items:center;gap:13px;width:min(420px,76%);margin-top:-9px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(14px,1.5vw,19px);font-weight:800;display:flex}.dankon-subtitle i{background:linear-gradient(90deg,#0000,#e6bd63);flex:1;height:1px}.dankon-subtitle i:last-child{transform:scaleX(-1)}.dankon-brand>p{color:#fff8debf;letter-spacing:.1em;text-shadow:0 2px 5px #0006;margin:15px 0 0;font-size:12px;font-weight:600}.dankon-brand--compact{border-radius:8px;width:43px;height:43px;overflow:hidden}.dankon-brand--compact img{object-fit:cover;object-position:38% 50%;width:74px;max-width:none;height:43px}.lobby-art-tile{z-index:2;filter:drop-shadow(0 14px 14px #0000006b);width:100px;position:absolute}.lobby-art-tile svg{width:100%;height:auto;display:block}.lobby-art-tile--east{top:6%;left:2%;transform:rotate(-18deg)}.lobby-art-tile--red{bottom:5%;right:0;transform:rotate(12deg)}.lobby-art-tile--sou{width:82px;bottom:2%;left:11%;transform:rotate(14deg)}.lobby-cloud{z-index:1;opacity:.75;border-top:3px solid #f3c057a3;border-radius:50%;width:170px;height:28px;position:absolute}.lobby-cloud:before,.lobby-cloud:after{content:"";border:3px solid #f3c057a3;border-bottom:0;border-radius:22px 22px 0 0;width:38px;height:18px;position:absolute;top:-16px}.lobby-cloud:before{left:34px}.lobby-cloud:after{left:72px}.lobby-cloud--one{top:54%;left:-4%;transform:rotate(-4deg)}.lobby-cloud--two{top:24%;right:0;transform:scaleX(-1)rotate(5deg)}.eyebrow{color:#f2c664;letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:900}.waiting-card>p{color:#fff4d7a8;font-size:14px;line-height:1.8}.lobby-panel,.waiting-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,#ffffff0a,#0000 26%),#171310e6;border:1px solid #ecc66d66;border-radius:8px;box-shadow:0 0 0 5px #4d2a17cc,0 0 0 6px #ecc66d61,0 28px 80px #0000006b}.lobby-panel-wrap{width:min(440px,100%);padding-top:61px;position:relative}.panel-heading{z-index:3;color:#ffe8ad;background:linear-gradient(#8e271e,#51100e);border:1px solid #dfb75b;border-radius:50% 50% 9px 9px;align-content:center;justify-items:center;width:210px;height:76px;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 5px #35130c,0 10px 25px #00000059}.panel-heading span{letter-spacing:.28em;font-size:9px;font-weight:800}.panel-heading strong{letter-spacing:.12em;margin-top:2px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:24px}.lobby-panel{grid-template-columns:minmax(0,1fr);gap:14px;padding:38px 28px 28px;display:grid}.lobby-panel label{gap:7px;display:grid}.lobby-panel label>span{color:#dbcba7;font-size:11px;font-weight:800}.lobby-panel input{color:#fff9e9;width:100%;min-width:0;height:52px;font:inherit;background:#041711b8;border:1px solid #debd7147;border-radius:6px;outline:none;padding:0 15px}.lobby-panel input:focus{border-color:#efc967;box-shadow:0 0 0 3px #efc96721}.room-code-input{text-align:center;letter-spacing:.24em;font-size:22px!important;font-weight:900!important}.primary-lobby-button,.secondary-lobby-button,.copy-room-button,.lobby-link-button{cursor:pointer;border-radius:6px;min-height:50px;font-weight:900;transition:transform .14s,filter .14s,box-shadow .14s}.primary-lobby-button:hover,.secondary-lobby-button:hover,.copy-room-button:hover,.lobby-link-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary-lobby-button{color:#fff4d1;text-shadow:0 1px 2px #0006;background:linear-gradient(#c8452e,#8f211d);border:1px solid #ffd986;box-shadow:inset 0 1px #ffffff3d,0 5px #4f1714}.secondary-lobby-button,.copy-room-button{color:#ffebbd;background:linear-gradient(#1c593ef5,#0c3928f5);border:1px solid #e7c06680}.primary-lobby-button:disabled,.secondary-lobby-button:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.42}.lobby-divider{color:#8e826a;align-items:center;gap:10px;font-size:10px;display:flex}.lobby-divider:before,.lobby-divider:after{content:"";background:#e7c06633;flex:1;height:1px}.cpu-practice-button{color:#fff4d7d1;cursor:pointer;background:#00221785;border:1px solid #ffe19b3d;border-radius:999px;width:max-content;margin:18px auto 0;padding:8px 14px;font-size:11px;display:block}.cpu-practice-button span{color:#f0c86d;margin-right:6px;font-weight:900}.waiting-card{text-align:center;width:min(680px,100%);margin:72px auto 0;padding:36px}.waiting-card h1{margin:12px 0 6px;font-size:22px}.waiting-card h1 b{color:#f2c55e;letter-spacing:.16em;margin-top:8px;font-size:46px;display:block}.copy-room-button{min-height:40px;margin:8px 0 24px;padding:0 18px}.lobby-seats{grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 24px;display:grid}.lobby-seat{color:#968c77;text-align:left;border:1px dashed #e7c06640;border-radius:11px;grid-template-columns:34px 1fr 10px;align-items:center;gap:10px;padding:13px;display:grid}.lobby-seat>span{background:#ffffff0d;border-radius:8px;place-items:center;width:30px;height:30px;font-size:11px;font-weight:900;display:grid}.lobby-seat div{gap:2px;display:grid}.lobby-seat strong{color:#fff2d0;font-size:13px}.lobby-seat small{font-size:10px}.lobby-seat i{background:#536674;border-radius:50%;width:7px;height:7px}.lobby-seat.is-filled{border-style:solid;border-color:#e7c06661}.lobby-seat.is-filled i{background:#3ddc97;box-shadow:0 0 10px #3ddc9799}.start-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.waiting-pulse{color:#a9bcc8;font-size:12px}.waiting-pulse span{background:#f2c55e;border-radius:50%;width:7px;height:7px;margin-right:8px;animation:.85s ease-in-out infinite alternate call-candidate-pulse;display:inline-block}.lobby-error{color:#ff8e93;background:#ff5c631a;border-radius:8px;margin:0;padding:10px;font-size:11px}.host-note{color:#f1c96b!important;margin:-4px 0 10px!important;font-size:11px!important}.sync-error{font-weight:900;color:#ff7479!important}.game-shell{background:radial-gradient(circle at 50% -20%,#2746567a,#0000 48%),#050b12}.game-shell .topbar{z-index:50;background:linear-gradient(#0d161ffa,#050c13f5);border-bottom-color:#d8a95238;height:54px;padding:0 18px;position:relative;box-shadow:0 8px 28px #0000006b}.game-shell .brand-mark{color:#f3c96f;background:linear-gradient(145deg,#2a3440,#111a24);border-color:#d9b2679e;box-shadow:inset 0 0 0 1px #ffffff0d,0 3px 10px #00000059}.game-shell .play-layout{height:calc(100vh - 54px);padding:0;display:block}.game-shell .table-wrap{height:100%;min-height:690px;box-shadow:none;background:#071018;border:0;border-radius:0;grid-template-rows:minmax(0,1fr) 80px}.game-shell .side-panel{display:none}.mahjong-table{background:radial-gradient(at 50% 46%,#1f9a7b52,#0000 39%),linear-gradient(135deg,#0000 49.88%,#002b2647 50%,#0000 50.12%),linear-gradient(45deg,#0000 49.88%,#002b2647 50%,#0000 50.12%),linear-gradient(155deg,#087a68 0%,#076454 49%,#064d43 100%);border:clamp(12px,1.25vw,20px) solid #3a281e;border-image:linear-gradient(135deg,#6f4b31,#261812 35%,#51351f 70%,#1d120e) 1;min-height:610px;box-shadow:inset 0 0 0 4px #071820,inset 0 0 80px #0000007a,inset 0 20px 50px #16b79312}.mahjong-table:before{content:"";z-index:1;pointer-events:none;clip-path:polygon(16% 0,84% 0,100% 16%,100% 84%,84% 100%,16% 100%,0 84%,0 16%);border:1px solid #04393394;position:absolute;inset:5.8%;box-shadow:inset 0 0 32px #00000014}.mahjong-table:after{opacity:.45;background-image:radial-gradient(#ffffff17 .55px,#0000 .7px),linear-gradient(100deg,#0000 0 48%,#ffffff05 50%,#0000 52%);background-size:4px 4px,110px 100%}.tile{--tile-w:clamp(43px, 3.95vw, 60px);--tile-h:clamp(61px, 5.55vw, 84px);width:var(--tile-w);height:var(--tile-h);background:linear-gradient(115deg,#ffffffeb,#0000 27%),linear-gradient(160deg,#fffefa 0%,#f3efe4 62%,#ddd4c2 100%);border-top:1px solid #d4cdbf;border-bottom:clamp(5px,.48vw,7px) solid #a99a7d;border-left:1px solid #d4cdbf;border-right:1px solid #aaa293;border-radius:7px 7px 5px 5px;overflow:visible;box-shadow:inset 0 0 0 1px #ffffffe6,inset -2px -2px 4px #6452331f,0 5px #76684f,0 9px 13px #0000005c}.tile:after{content:"";pointer-events:none;border:1px solid #7e70572b;border-radius:4px;position:absolute;inset:3px}.tile:not([tabindex="-1"]):hover{filter:brightness(1.04);transform:translateY(-7px)}.tile--selected{border-color:#ffdc78;transform:translateY(-11px);box-shadow:inset 0 0 0 1px #ffffffe6,0 5px #806a3e,0 0 0 3px #f3c75e,0 10px 28px #ffca4e7a}.tile--compact{--tile-w:clamp(27px, 2.25vw, 35px);--tile-h:clamp(39px, 3.25vw, 50px);width:var(--tile-w);height:var(--tile-h);border-bottom-width:3px;border-radius:5px 5px 3px 3px;box-shadow:inset 0 0 0 1px #fffc,0 3px #76684f,0 5px 7px #00000047}.tile--back{background:linear-gradient(135deg,#ffffff3d,#0000 32%),repeating-linear-gradient(45deg,#0000 0 5px,#54330a14 5px 7px),linear-gradient(155deg,#e9ad46,#b96f1e);border-color:#a57730;box-shadow:inset 0 0 0 3px #f2c161,inset 0 0 0 5px #683a0d38,0 3px #704319,0 7px 10px #0000004f}.tile--back:before{content:"◇";color:#6f3b0d61;font-size:calc(var(--tile-w) * .35);border:1px solid #6c380c57;place-items:center;display:grid;position:absolute;inset:22%}.tile .tile-mark{z-index:2;place-items:center;width:86%;height:86%;line-height:1;display:grid;position:relative}.tile-mark--man{grid-template-rows:1fr auto;padding:4% 0 2%;font-family:Yu Mincho,Hiragino Mincho ProN,serif}.tile-mark--man b{color:#17242a;font-size:calc(var(--tile-w) * .54);letter-spacing:-.12em;text-shadow:0 1px #ffffff80;font-weight:900}.tile-mark--man i{color:#b92b30;font-size:calc(var(--tile-w) * .37);margin-top:-5%;font-style:normal;font-weight:900}.tile-mark--pin{grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:3%;padding:8%}.tile-mark--pin i{aspect-ratio:1;border:max(1px, calc(var(--tile-w) * .028)) solid #164f74;background:radial-gradient(circle, #f4efe3 0 19%, #26658a 21% 33%, transparent 35%), repeating-conic-gradient(#2c7599 0 13deg, #f4efe3 13deg 26deg);border-radius:50%;place-self:center;width:84%;box-shadow:inset 0 0 0 1px #0a31483d}.tile-mark--pin i:nth-child(2n){background:radial-gradient(circle, #f4efe3 0 19%, #2a8867 21% 33%, transparent 35%), repeating-conic-gradient(#38a078 0 13deg, #f4efe3 13deg 26deg);border-color:#228461}.tile-mark--pin-1{grid-template-columns:1fr;padding:17%}.tile-mark--pin-1 i{width:100%}.tile-mark--pin-2{grid-template-columns:1fr;padding:10% 29%}.tile-mark--pin-3{grid-template-columns:1fr;padding:4% 30%}.tile-mark--pin-4{grid-template-columns:repeat(2,1fr);padding:13%}.tile-mark--pin-5{grid-template-columns:repeat(2,1fr);padding:7% 12%}.tile-mark--pin-5 i:nth-child(5){grid-area:2/1/auto/3;width:38%}.tile-mark--pin-6{grid-template-columns:repeat(2,1fr);padding:7% 13%}.tile-mark--pin-7,.tile-mark--pin-8,.tile-mark--pin-9{padding:5%}.tile-mark--sou{grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:1%;padding:5% 8%}.tile-mark--sou i{background:linear-gradient(90deg,#1f6b47,#4aa66a 45%,#16563b);border-radius:999px;place-self:center;width:25%;min-width:2px;height:90%;position:relative;transform:rotate(4deg);box-shadow:0 0 0 1px #144c302e}.tile-mark--sou i:after{content:"";background:#286b47;border-radius:99px;width:240%;height:8%;position:absolute;top:45%;left:50%;transform:translate(-50%)rotate(-12deg)}.tile-mark--sou i:nth-child(2n){transform:rotate(-4deg)}.tile-mark--sou i.is-red,.tile--red .tile-mark--sou i:first-child{background:linear-gradient(90deg,#9f2f33,#d24b4e 45%,#81272b)}.tile-mark--sou i.is-red:after,.tile--red .tile-mark--sou i:first-child:after{background:#9d3034}.tile-mark--sou-1{grid-template-columns:1fr;padding:13% 34%}.tile-mark--sou-1 i{width:36%}.tile-mark--sou-2{grid-template-columns:1fr;padding:6% 35%}.tile-mark--sou-3{grid-template-columns:1fr;padding:3% 35%}.tile-mark--sou-4{grid-template-columns:repeat(2,1fr);padding:8% 18%}.tile-mark--sou-5{grid-template-columns:repeat(2,1fr);padding:5% 16%}.tile-mark--sou-5 i:nth-child(5){grid-area:2/1/auto/3}.tile-mark--sou-6{grid-template-columns:repeat(2,1fr);padding:4% 18%}.tile .tile-mark--honor{color:#18252b;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:calc(var(--tile-w) * .66);text-shadow:0 1px #fff9;font-weight:900}.tile-mark--honor-5{border:max(1px, calc(var(--tile-w) * .035)) solid #2b7292;box-shadow:inset 0 0 0 max(2px, calc(var(--tile-w) * .07)) #f4efe3;font-size:0}.tile-mark--honor-6{color:#19845c}.tile-mark--honor-7{color:#bb2d34}.tile--compact .tile-mark--man b{font-size:calc(var(--tile-w) * .55)}.tile--compact .tile-mark--man i{font-size:calc(var(--tile-w) * .34)}.player{background:linear-gradient(135deg,#212d38fa,#081119f5);border-color:#e2be7047;border-radius:8px;grid-template-columns:36px 25px minmax(62px,1fr) auto;gap:8px;min-width:172px;padding:7px 10px 7px 7px;box-shadow:inset 0 0 0 1px #ffffff09,0 8px 18px #00000061}.player-avatar{color:#ffe8b6;background:radial-gradient(circle at 35% 25%,#fff3,#0000 22%),linear-gradient(145deg,#6e354a,#2d263d);border:1px solid #f0c86f7a;border-radius:5px;place-items:center;width:36px;height:36px;font-family:Yu Mincho,serif;font-size:16px;font-weight:900;display:grid}.player-copy{min-width:0}.player strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player--active{border-color:#f2c866;box-shadow:0 0 0 2px #f2c86630,0 0 22px #f2c86624}.player--top{top:8px}.player--bottom{bottom:97px}.player--left{left:58px}.player--right{right:58px}.opponent-hand{gap:2px}.opponent-hand--top{top:59px}.opponent-hand--left{left:15px}.opponent-hand--right{right:15px}.river{gap:3px}.river--top{top:calc(46% - 176px)}.river--bottom{bottom:calc(54% - 178px)}.river--left,.river--right{top:46%}.river--left{left:calc(50% - 267px)}.river--right{right:calc(50% - 267px)}.round-center{background:linear-gradient(135deg,#252b32f7,#070f17fa);border:1px solid #e2be706b;border-radius:8px;width:170px;padding:13px;top:46%;box-shadow:inset 0 0 0 3px #ffffff06,inset 0 0 0 5px #0000002e,0 13px 30px #0000006e}.round-heading span{color:#f0c568}.round-grid div{background:#0a161fb8;border:1px solid #ffffff0a}.hand{gap:clamp(15px,1.5vw,25px);bottom:16px}.hand-main{filter:drop-shadow(0 10px 8px #0000002e);gap:2px}.melds--bottom{bottom:14px}.melds--top{top:59px}.melds--left{bottom:45px;left:64px}.melds--right{bottom:45px;right:64px}.wait-display{background:linear-gradient(135deg,#1c2630f7,#070f17f7);border-color:#f2c8668c;border-radius:8px;bottom:15px;left:18px}.action-rail{background:linear-gradient(#111c27,#071019);border-top:1px solid #e2be702e;grid-template-columns:minmax(190px,1fr) auto minmax(130px,180px);padding:10px 18px;box-shadow:0 -8px 28px #0000005c}.action,.discard-button{border-radius:7px;height:50px}.action{background:linear-gradient(#23303d,#111c27);border-color:#d2b1693b}.action:hover:not(:disabled),.action.active{border-color:#f1c967;box-shadow:inset 0 0 0 1px #f1c96726}.discard-button{color:#2a1d0b;background:linear-gradient(#f5d77f,#c99635);border-color:#f0cd77;box-shadow:inset 0 1px #ffffff8c,0 5px 18px #c996353d}@media (width<=1040px){.game-shell .play-layout{min-width:780px;overflow:auto}.game-shell .table-wrap{min-height:720px}.player--left{left:48px}.player--right{right:48px}}.tile{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.tile:after,.tile--back:before{content:none}.tile--back{box-shadow:none;background:0 0;border:0}.tile-art,.tile .tile-art{z-index:2;pointer-events:none;width:100%;height:100%;line-height:0;display:block;position:absolute;inset:0}.tile-art svg{filter:drop-shadow(0 5px 4px #00000047);width:100%;height:100%;display:block;overflow:visible}.tile--compact .tile-art svg{filter:drop-shadow(0 3px 2px #0000003d)}.tile--selected{background:0 0;border:0;box-shadow:0 0 0 3px #f3c75e,0 10px 28px #ffca4e7a}.tile--call-candidate{background:#ffe1761f;border:0}.tile--claimed{border:0}.lobby-link-button{color:#b9c9d2;background:#ffffff0f;min-height:38px;padding:0 15px}@media (width<=820px){.online-lobby{padding:0 20px 40px;overflow:auto}.lobby-header{min-height:70px}.lobby-logo-lockup small{display:none}.lobby-hero{grid-template-columns:1fr;gap:10px;padding:18px 0 44px}.lobby-brand-stage{min-height:430px}.dankon-brand{width:min(530px,94%)}.dankon-brand>p{text-align:center;max-width:320px;line-height:1.7}.lobby-art-tile{width:72px}.lobby-art-tile--sou{width:60px}.lobby-panel-wrap,.lobby-panel{width:100%}.lobby-seats,.start-options{grid-template-columns:1fr}.waiting-card{margin-top:36px;padding:24px}}@media (width<=520px){.lobby-brand-stage{min-height:330px}.dankon-subtitle{letter-spacing:.13em;width:88%;font-size:12px}.lobby-art-tile--east{top:1%;left:-4%}.lobby-art-tile--red{right:-4%}.lobby-cloud{transform:scale(.72)}.lobby-panel{padding-inline:20px}}.game-shell .player,.game-shell .play-layout.has-chat .player{overflow:visible}.game-shell .melds--bottom,.game-shell .play-layout.has-chat .melds--bottom{flex-direction:column-reverse;align-items:flex-end;top:auto;bottom:14px;right:clamp(10px,1.2cqw,18px)}.landing-lobby{--party-green:#006848;--party-green-deep:#004b3b;--party-cream:#fff7e5;--party-coral:#f13b26;--party-cyan:#18c1d9;--party-yellow:#f4c542;background:radial-gradient(circle at 37% 40%, #19ab763d, transparent 35%), linear-gradient(105deg, #ffffff06, transparent 42%), var(--party-green);min-height:100vh;padding:0}.landing-lobby:before{opacity:.32;background:linear-gradient(90deg,#0000 48px,#00302561 49px 52px,#0000 53px) 0 0/100% 100%,linear-gradient(0deg,#0000 48px,#0030253d 49px 52px,#0000 53px) 0 0/100% 100%;inset:72px 0 0;-webkit-mask-image:none;mask-image:none}.landing-lobby:after{opacity:.42}.landing-lobby .lobby-header{background:radial-gradient(#b4915214 .6px, transparent .7px), var(--party-cream);background-size:4px 4px;border-bottom:4px solid #005440;min-height:72px;padding:0 clamp(28px,4vw,64px)}.landing-lobby .lobby-logo-lockup{gap:16px}.landing-lobby .lobby-logo-lockup strong{color:#064a3c;letter-spacing:.03em;font-family:Noto Sans JP,Yu Gothic,sans-serif;font-size:clamp(23px,2.1vw,32px);font-weight:950}.landing-lobby .lobby-logo-lockup small{color:#075244;letter-spacing:.08em;border-left:2px solid #e3b83f;margin:0;padding-left:16px;font-size:11px;font-weight:900}.landing-lobby .lobby-status{color:#075244;font-size:13px}.landing-lobby .lobby-status i{background:var(--party-cyan);box-shadow:0 0 0 4px #18c1d91a}.landing-lobby .lobby-hero{z-index:2;grid-template-columns:minmax(0,1.24fr) minmax(390px,.76fr);gap:clamp(22px,3vw,48px);width:min(1460px,100%);min-height:calc(100vh - 72px);padding:18px clamp(42px,5.5vw,88px) 24px;position:relative}.landing-lobby .lobby-brand-stage{align-content:center;min-height:690px;padding-bottom:148px}.landing-lobby .dankon-brand{width:min(680px,92%)}.landing-lobby .dankon-brand img{filter:drop-shadow(0 15px 11px #00231a47)}.landing-lobby .dankon-subtitle,.landing-lobby .dankon-brand>p{display:none}.landing-lobby .lobby-cloud{z-index:3;border-color:#f5be3fc7}.landing-lobby .lobby-cloud:before,.landing-lobby .lobby-cloud:after{border-color:#f5be3fc7}.landing-lobby .lobby-cloud--one{top:52%;left:5%}.landing-lobby .lobby-cloud--two{top:25%;right:2%}.lobby-tile-rack{z-index:6;background:0 0;align-items:flex-end;gap:5px;display:flex;position:absolute;bottom:12px;left:8%}.lobby-tile-rack .lobby-art-tile{filter:drop-shadow(0 10px 7px #00231952);width:clamp(58px,5.7vw,82px);position:relative;transform:none}.lobby-tile-rack .lobby-art-tile:nth-child(2){transform:rotate(-1deg)}.lobby-tile-rack .lobby-art-tile:nth-child(3){transform:rotate(1deg)}.lobby-tile-rack .lobby-art-tile:nth-child(5){transform:rotate(-1deg)}.landing-lobby .lobby-panel-wrap{background:var(--party-cream);border:3px solid #f4e4bf;border-radius:28px;width:min(460px,100%);padding:22px 22px 18px;box-shadow:0 0 0 3px #08725a,0 14px #003f2e57,0 24px 42px #002d213d}.landing-lobby .panel-heading{width:auto;height:auto;box-shadow:none;color:var(--party-green-deep);background:0 0;border:0;border-radius:0;grid-template-columns:60px 1fr 76px;place-items:center start;gap:12px;display:grid;position:static;transform:none}.landing-lobby .panel-heading .lobby-art-tile{filter:drop-shadow(0 5px 4px #332a152e);width:56px;position:relative}.landing-lobby .panel-heading strong{color:var(--party-green-deep);letter-spacing:.02em;margin:0;font-family:Noto Sans JP,Yu Gothic,sans-serif;font-size:clamp(27px,2.4vw,38px);font-weight:950}.landing-lobby .panel-heading-tiles{align-items:flex-end;gap:2px;display:flex}.landing-lobby .panel-heading-tiles .lobby-art-tile{filter:drop-shadow(0 3px 2px #332a1524);width:34px}.landing-lobby .lobby-panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-top:1px solid #0058421f;border-radius:0;gap:13px;padding:17px 0 0}.landing-lobby .lobby-panel label{gap:7px}.landing-lobby .lobby-panel label>span{color:#075244;font-size:12px}.landing-lobby .lobby-panel input{color:#073f36;background:#fffaf0;border:1px solid #b7a987;border-radius:12px;height:54px;font-size:17px;font-weight:800}.landing-lobby .lobby-panel input:focus{border-color:var(--party-cyan);box-shadow:0 0 0 3px #18c1d933}.landing-lobby .room-code-input{text-align:left;letter-spacing:.13em;font-size:24px!important}.landing-lobby .primary-lobby-button,.landing-lobby .secondary-lobby-button{border-radius:16px;min-height:62px;font-size:clamp(17px,1.55vw,23px)}.landing-lobby .primary-lobby-button{background:linear-gradient(180deg, #fb553f, var(--party-coral));color:#fff;text-shadow:0 1px 2px #640b0547;border:2px solid #ff765e;box-shadow:inset 0 1px #fff6,0 5px #a91f17}.landing-lobby .secondary-lobby-button{color:#064c3f;background:#fffaf0;border:3px solid #08725a;box-shadow:0 4px #004d3a40}.landing-lobby .lobby-divider{color:#075244;font-size:12px;font-weight:900}.landing-lobby .lobby-divider:before,.landing-lobby .lobby-divider:after{background:#00584252}.landing-lobby .cpu-practice-button{background:var(--party-cream);color:#064c3f;border:2px solid #e5d5b2;border-radius:22px;width:100%;min-height:68px;margin:22px 0 0;padding:0 24px;font-size:clamp(17px,1.6vw,23px);font-weight:950;box-shadow:0 7px #00443342,0 10px 22px #002d2133}.landing-lobby .cpu-practice-button .lobby-art-tile{vertical-align:middle;filter:drop-shadow(0 4px 3px #332a152e);width:43px;margin-right:14px;display:inline-block;position:relative}.landing-lobby .cpu-practice-button strong{vertical-align:middle}.resume-dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040a0fb8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.resume-dialog{text-align:center;background:linear-gradient(145deg,#141d23fa,#091015fa);border:1px solid #e0b44e8c;border-radius:18px;width:min(520px,100%);padding:32px;box-shadow:0 24px 80px #0000007a,0 0 34px #35cbd21f}.resume-dialog-kicker{color:#e6bf68;letter-spacing:.16em;margin-bottom:10px;font-size:12px;display:block}.resume-dialog h1{color:#fff7df;white-space:nowrap;margin:0;font-size:clamp(22px,3vw,30px);line-height:1.35}.resume-dialog p{color:#b8c2c7;margin:14px 0 24px;font-size:14px}.resume-dialog-actions{justify-content:center;gap:12px;display:flex}.resume-dialog-actions button{min-width:150px}@media (width<=560px){.resume-dialog{padding:24px 18px}.resume-dialog h1{font-size:21px}.resume-dialog-actions{flex-direction:column}.resume-dialog-actions button{width:100%}}.lobby-party-decor{z-index:1;pointer-events:none;position:absolute;inset:72px 0 0;overflow:hidden}.party-ribbon{filter:drop-shadow(0 5px 3px #00281d38);border:18px solid #0000;border-left-color:currentColor;border-radius:50%;width:160px;height:310px;position:absolute}.party-ribbon--orange{color:#f08e2d;top:-65px;left:5%;transform:rotate(19deg)}.party-ribbon--cyan{color:var(--party-cyan);top:270px;left:1%;transform:rotate(-18deg)scale(.76)}.party-ribbon--coral{color:#f15a3a;bottom:-90px;right:-70px;transform:rotate(23deg)scale(.9)}.party-ribbon--red-low{color:#ef583a;bottom:-230px;left:41%;transform:rotate(78deg)scale(.68)}.party-confetti{background:var(--party-yellow);border-radius:2px;width:13px;height:13px;position:absolute;transform:rotate(35deg);box-shadow:0 3px 4px #00281d33}.party-confetti--one{background:#ff684f;top:7%;left:37%}.party-confetti--two{background:var(--party-cyan);top:16%;left:51%}.party-confetti--three{background:var(--party-yellow);top:22%;right:5%}.party-confetti--four{background:var(--party-cyan);bottom:13%;left:48%}.party-confetti--five{background:#ff684f;bottom:35%;right:9%}.party-confetti--six{background:var(--party-yellow);top:24%;left:6%}.party-confetti--seven{background:#ff684f;top:49%;left:42%}.party-confetti--eight{background:var(--party-cyan);bottom:11%;right:2%}.lobby-edge-tiles{z-index:5;pointer-events:none;position:absolute;inset:72px 0 0;overflow:hidden}.landing-lobby .lobby-edge-tile{filter:drop-shadow(0 11px 7px #00231957);width:76px;position:absolute}.landing-lobby .lobby-edge-tile--red{top:28px;left:3.2%;transform:rotate(-11deg)}.landing-lobby .lobby-edge-tile--sou{top:30%;left:-30px;transform:rotate(-28deg)}.landing-lobby .lobby-edge-tile--pin{top:51%;left:-18px;transform:rotate(-18deg)}.landing-lobby .lobby-edge-tile--east{top:22px;right:2.4%;transform:rotate(12deg)}.landing-lobby .lobby-edge-tile--right-pin{top:35%;right:-44px;transform:rotate(24deg)}.landing-lobby .lobby-edge-tile--green{bottom:25px;right:2.3%;transform:rotate(14deg)}@media (width<=900px){.landing-lobby{overflow:auto}.landing-lobby .lobby-hero{grid-template-columns:1fr;padding-top:10px}.landing-lobby .lobby-brand-stage{min-height:590px}.landing-lobby .lobby-panel-wrap{justify-self:center}.party-ribbon--cyan,.party-confetti--four,.party-confetti--five{display:none}}@media (width<=520px){.landing-lobby .lobby-header{padding:0 16px}.landing-lobby .lobby-logo-lockup small{display:none}.landing-lobby .lobby-brand-stage{min-height:420px;padding-bottom:105px}.landing-lobby .dankon-brand{width:96%}.lobby-tile-rack{gap:2px;left:50%;transform:translate(-50%)}.lobby-tile-rack .lobby-art-tile{width:clamp(45px,14.5vw,58px)}.landing-lobby .lobby-edge-tile,.landing-lobby .lobby-cloud,.party-ribbon{display:none}.landing-lobby .lobby-panel-wrap{padding:18px 16px 16px}.landing-lobby .panel-heading{grid-template-columns:50px 1fr}.landing-lobby .panel-heading .lobby-art-tile{width:48px}.landing-lobby .panel-heading-tiles{display:none}}.sumi-lobby{--sumi-black:#05070b;--sumi-navy:#0a1320;--sumi-panel:#0c1723;--sumi-gold:#b89a55;--sumi-gold-bright:#dfc17b;--sumi-red:#c93331;--sumi-red-dark:#801b1c;--sumi-cyan:#26c6c8;--sumi-ivory:#eee6d5;background:radial-gradient(circle at 34% 45%,#3d247352,#0000 31%),radial-gradient(circle at 74% 75%,#0f81912b,#0000 32%),linear-gradient(115deg,#06080d 0%,#070a11 53%,#07101a 100%);min-height:100vh;position:relative;overflow:hidden}.sumi-lobby:before{opacity:.68;background:radial-gradient(at 18% 84%,#15202ab8,#0000 42%),radial-gradient(at 88% 12%,#151b27c2,#0000 35%),repeating-radial-gradient(circle at 33% 46%,#ffffff06 0 1px,#0000 1px 5px);inset:0;-webkit-mask-image:none;mask-image:none}.sumi-lobby:after{opacity:.38;background:linear-gradient(112deg,#0000 0 49%,#26c6c80d 58%,#0000 66%),radial-gradient(#ffffff0e .55px,#0000 .7px) 0 0/4px 4px}.sumi-lobby .lobby-header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#05070bf5,#05070bc7);border-bottom:1px solid #b89a5538;min-height:68px;padding:0 clamp(24px,4vw,68px);position:relative;box-shadow:0 15px 40px #0003}.sumi-lobby .lobby-logo-lockup{gap:16px}.sumi-lobby .lobby-logo-lockup strong{color:var(--sumi-ivory);letter-spacing:.08em;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(23px,2.1vw,31px);font-weight:800}.sumi-lobby .lobby-logo-lockup small{color:var(--sumi-gold);letter-spacing:.18em;border-left:1px solid #b89a559e;margin:0;padding-left:16px;font-size:10px;font-weight:700}.sumi-lobby .lobby-status{color:#dce7e5;letter-spacing:.08em;font-size:12px}.sumi-lobby .lobby-status i{background:var(--sumi-cyan);box-shadow:0 0 0 4px #26c6c81a,0 0 18px #26c6c88c}.sumi-lobby .lobby-hero{z-index:4;grid-template-columns:minmax(0,1.28fr) minmax(390px,.72fr);gap:clamp(28px,4vw,74px);width:min(1540px,100%);min-height:calc(100vh - 68px);padding:clamp(24px,4vh,52px) clamp(42px,6vw,96px);position:relative}.sumi-lobby .lobby-brand-stage{align-content:center;min-height:0;padding:0}.sumi-lobby .dankon-brand{width:min(770px,100%);transform:translate(-2%)}.sumi-lobby .dankon-brand img{filter:saturate(1.05)contrast(1.06)drop-shadow(0 0 16px #c933311f)drop-shadow(0 28px 42px #0000007a);width:100%}.sumi-lobby .dankon-subtitle,.sumi-lobby .dankon-brand>p{display:none}.sumi-lobby .lobby-cloud{z-index:-1;filter:drop-shadow(0 0 8px #b89a551f);border-color:#b89a558a;width:165px}.sumi-lobby .lobby-cloud:before,.sumi-lobby .lobby-cloud:after{border-color:#b89a558a}.sumi-lobby .lobby-cloud--one{top:67%;left:4%}.sumi-lobby .lobby-cloud--two{top:15%;right:-3%}.sumi-lobby .lobby-panel-wrap{background:linear-gradient(145deg, #101d2bf7, #060d17fa), var(--sumi-panel);border:1px solid #b89a55a8;border-radius:4px;width:min(460px,100%);padding:34px 36px 32px;position:relative;box-shadow:inset 0 0 0 1px #dfc17b14,0 0 0 5px #03070c6b,0 24px 65px #00000085,0 0 26px #26c6c812}.sumi-lobby .lobby-panel-wrap:before,.sumi-lobby .lobby-panel-wrap:after{content:"";pointer-events:none;width:72px;height:72px;position:absolute}.sumi-lobby .lobby-panel-wrap:before{border-top:2px solid var(--sumi-gold-bright);border-left:2px solid var(--sumi-gold-bright);top:-2px;left:-2px}.sumi-lobby .lobby-panel-wrap:after{border-right:2px solid var(--sumi-cyan);border-bottom:2px solid var(--sumi-cyan);filter:drop-shadow(0 0 8px #26c6c880);bottom:-2px;right:-2px}.sumi-lobby .panel-heading{width:auto;height:auto;box-shadow:none;background:0 0;border:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid;position:static;transform:none}.sumi-lobby .panel-heading i{background:linear-gradient(90deg,#0000,#b89a55b8);height:1px;display:block}.sumi-lobby .panel-heading i:last-child{background:linear-gradient(90deg,#b89a55b8,#0000)}.sumi-lobby .panel-heading strong{color:var(--sumi-gold-bright);letter-spacing:.12em;white-space:nowrap;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(24px,2.2vw,32px);font-weight:700}.sumi-lobby .lobby-panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;gap:15px;padding:26px 0 0}.sumi-lobby .lobby-panel label{gap:8px}.sumi-lobby .lobby-panel label>span{color:#d8d3c7;letter-spacing:.08em;font-size:12px;font-weight:700}.sumi-lobby .display-name-picker,.sumi-lobby .game-mode-picker{border:0;min-width:0;margin:0;padding:0}.sumi-lobby .game-mode-picker legend{color:#d8d3c7;letter-spacing:.08em;margin-bottom:9px;font-size:12px;font-weight:700}.sumi-lobby .game-mode-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.sumi-lobby .game-mode-picker button{color:#d8d3c7;letter-spacing:.04em;background:#03080eb3;border:1px solid #b89a556b;border-radius:5px;min-height:46px;font-size:15px;font-weight:800;transition:border-color .16s,background .16s,color .16s,box-shadow .16s}.sumi-lobby .game-mode-picker button small{color:#8df5f1;vertical-align:2px;background:#26c6c82e;border-radius:999px;margin-left:6px;padding:1px 5px;font-size:10px;display:inline-block}.sumi-lobby .game-mode-picker button:hover,.sumi-lobby .game-mode-picker button.is-selected{border-color:var(--sumi-cyan);color:#fff7df;background:linear-gradient(#26c6c833,#0d3a415c);box-shadow:0 0 0 2px #26c6c824,inset 0 0 18px #26c6c814}.sumi-lobby .game-mode-picker p{color:#d8d3c7b8;margin:8px 0 0;font-size:11px;line-height:1.5}.sumi-lobby .display-name-picker legend{color:#d8d3c7;letter-spacing:.08em;margin-bottom:9px;font-size:12px;font-weight:700}.sumi-lobby .display-name-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sumi-lobby .display-name-picker button{color:#d8d3c7;letter-spacing:.02em;white-space:nowrap;background:#03080eb3;border:1px solid #b89a556b;border-radius:5px;min-width:0;min-height:42px;padding:8px 5px;font-size:clamp(12px,1vw,14px);font-weight:700;transition:border-color .16s,background .16s,color .16s,box-shadow .16s}.sumi-lobby .display-name-picker button:hover{color:#fff7df;border-color:#e2c477e6}.sumi-lobby .display-name-picker button.is-selected{border-color:var(--sumi-cyan);color:#fff7df;background:linear-gradient(#26c6c833,#0d3a415c);box-shadow:0 0 0 2px #26c6c824,inset 0 0 18px #26c6c814}.sumi-lobby .display-name-picker button:focus-visible{outline:2px solid var(--sumi-cyan);outline-offset:2px}.sumi-lobby .lobby-panel input{color:#f1ede4;background:#03080eb8;border:1px solid #b89a5594;border-radius:5px;height:54px;font-size:17px;font-weight:700;box-shadow:inset 0 3px 14px #00000038}.sumi-lobby .lobby-panel input::placeholder{color:#dcd9cf47}.sumi-lobby .lobby-panel input:focus{border-color:var(--sumi-cyan);box-shadow:0 0 0 3px #26c6c824,inset 0 3px 14px #00000038}.sumi-lobby .room-code-input{text-align:left;letter-spacing:.14em;font-size:24px!important}.sumi-lobby .primary-lobby-button,.sumi-lobby .secondary-lobby-button{letter-spacing:.04em;border-radius:4px;min-height:60px;font-size:clamp(16px,1.45vw,21px);font-weight:800;transition:transform .18s,box-shadow .18s,border-color .18s}.sumi-lobby .primary-lobby-button{background:linear-gradient(135deg, transparent 0 9%, #ffffff0b 9% 10%, transparent 10% 90%, #0000001f 90%), linear-gradient(180deg, #d74740, var(--sumi-red));box-shadow:inset 0 0 0 1px #ffd2b029, 0 4px 0 var(--sumi-red-dark), 0 12px 28px #801b1c38;color:#fff;text-shadow:0 1px 2px #3c00006b;border:1px solid #e56b5f}.sumi-lobby .primary-lobby-button:hover:not(:disabled){box-shadow:inset 0 0 0 1px #ffd2b033, 0 6px 0 var(--sumi-red-dark), 0 16px 34px #c9333147;transform:translateY(-2px)}.sumi-lobby .secondary-lobby-button{color:var(--sumi-ivory);background:#070e1794;border:1px solid #b89a55b8;box-shadow:inset 0 0 18px #b89a5506}.sumi-lobby .secondary-lobby-button:hover:not(:disabled){border-color:var(--sumi-gold-bright);transform:translateY(-2px);box-shadow:0 0 18px #b89a5521}.sumi-lobby .lobby-divider{color:var(--sumi-gold-bright);font-size:12px;font-weight:700}.sumi-lobby .lobby-divider:before,.sumi-lobby .lobby-divider:after{background:linear-gradient(90deg,#0000,#b89a559e)}.sumi-lobby .lobby-divider:after{background:linear-gradient(90deg,#b89a559e,#0000)}.sumi-lobby .cpu-practice-button{color:#e8e6df;letter-spacing:.04em;background:#050f19d6;border:1px solid #26c6c89e;border-radius:4px;width:100%;min-height:58px;margin:24px 0 0;font-size:clamp(16px,1.4vw,20px);font-weight:700;transition:transform .18s,box-shadow .18s,border-color .18s;box-shadow:inset 0 0 20px #26c6c806}.sumi-lobby .cpu-practice-button:hover{border-color:var(--sumi-cyan);transform:translateY(-2px);box-shadow:0 0 20px #26c6c821}.sumi-atmosphere{pointer-events:none;position:absolute;inset:68px 0 0;overflow:hidden}.sumi-atmosphere--back{z-index:3}.sumi-atmosphere--front{z-index:6}.sumi-lobby .lobby-panel-wrap{z-index:10}.sakura{--petal-size:1;--petal-opacity:.9;--petal-blur:0px;--petal-glow:12px;--drift-x:18vw;width:18px;height:12px;box-shadow:0 0 var(--petal-glow) #ff7ea494, 0 0 calc(var(--petal-glow) * 2) #e9497c2e;opacity:var(--petal-opacity);filter:blur(var(--petal-blur));transform:scale(var(--petal-size));transform-origin:50%;will-change:translate, rotate, transform;background:radial-gradient(circle at 35% 32%,#fff8fb 0 13%,#0000 14%),linear-gradient(135deg,#ffe6ee,#f58ead 52%,#bd3c67);border-radius:90% 10% 85% 15%;animation-name:sakura-fall,sakura-flutter;animation-duration:12s,2.7s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;position:absolute;top:-12%}.sakura--one{--petal-size:.52;--petal-opacity:.58;--drift-x:10vw;animation-duration:17s,3.5s;animation-delay:-13s,-1s;left:2%}.sakura--two{--petal-size:.78;--petal-opacity:.72;--drift-x:22vw;animation-duration:14s,2.9s;animation-delay:-5s,-.8s;left:13%}.sakura--three{--petal-size:.45;--petal-opacity:.55;--drift-x:15vw;animation-duration:18s,3.8s;animation-delay:-10s,-2s;left:28%}.sakura--four{--petal-size:.68;--petal-opacity:.72;--drift-x:25vw;animation-duration:15s,3.1s;animation-delay:-2s,-1.4s;left:41%}.sakura--five{--petal-size:.42;--petal-opacity:.52;--drift-x:12vw;animation-duration:19s,4s;animation-delay:-16s,-.3s;left:57%}.sakura--six{--petal-size:.7;--petal-opacity:.62;--drift-x:18vw;animation-duration:16s,3.2s;animation-delay:-8s,-2.2s;left:69%}.sakura--seven{--petal-size:.5;--petal-opacity:.5;--drift-x:10vw;animation-duration:18s,3.7s;animation-delay:-4s,-1.7s;left:82%}.sakura--eight{--petal-size:.62;--petal-opacity:.56;--drift-x:-8vw;animation-duration:15s,3s;animation-delay:-12s,-.6s;left:92%}.sakura--nine{--petal-size:1.05;--petal-blur:.3px;--petal-glow:16px;--drift-x:28vw;animation-duration:11s,2.3s;animation-delay:-7s,-.7s;left:6%}.sakura--ten{--petal-size:1.42;--petal-blur:.8px;--petal-glow:19px;--drift-x:19vw;animation-duration:13s,2.6s;animation-delay:-1s,-1.1s;left:20%}.sakura--eleven{--petal-size:.92;--petal-glow:15px;--drift-x:31vw;animation-duration:10s,2.1s;animation-delay:-9s,-.4s;left:37%}.sakura--twelve{--petal-size:1.18;--petal-blur:.4px;--petal-glow:17px;--drift-x:24vw;animation-duration:12s,2.5s;animation-delay:-4s,-1.8s;left:51%}.sakura--thirteen{--petal-size:.88;--petal-glow:15px;--drift-x:20vw;animation-duration:11s,2.2s;animation-delay:-6s,-.9s;left:70%}.sakura--fourteen{--petal-size:1.28;--petal-blur:.7px;--petal-glow:20px;--drift-x:-16vw;animation-duration:14s,2.8s;animation-delay:-11s,-1.5s;left:88%}@keyframes sakura-fall{0%{translate:-8vw -8vh;rotate:none}38%{translate:calc(var(--drift-x) * .42) 40vh;rotate:145deg}72%{translate:calc(var(--drift-x) * .74 - 5vw) 78vh;rotate:286deg}to{translate:var(--drift-x) 118vh;rotate:430deg}}@keyframes sakura-flutter{0%,to{transform:scale(var(--petal-size)) skewX(-7deg) rotateY(0deg)}50%{transform:scale(calc(var(--petal-size) * .72), var(--petal-size)) skewX(12deg) rotateY(72deg)}}@media (width<=980px){.sumi-lobby{overflow:auto}.sumi-lobby .lobby-hero{grid-template-columns:1fr;gap:8px;padding:18px clamp(20px,6vw,54px) 44px}.sumi-lobby .lobby-brand-stage{min-height:430px}.sumi-lobby .dankon-brand{width:min(670px,94%);margin-inline:auto;transform:none}.sumi-lobby .lobby-panel-wrap{justify-self:center}}@media (width<=520px){.sumi-lobby .lobby-header{padding:0 16px}.sumi-lobby .lobby-logo-lockup small{display:none}.sumi-lobby .lobby-brand-stage{min-height:330px}.sumi-lobby .lobby-panel-wrap{padding:28px 20px 24px}.sumi-lobby .panel-heading{grid-template-columns:42px auto 42px}.sumi-lobby .panel-heading strong{font-size:25px}}@media (prefers-reduced-motion:reduce){.sakura{animation:none}}.game-shell{--match-ink:#080b10;--match-navy:#0d1826;--match-jade:#075f52;--match-gold:#b6924a;--match-gold-bright:#e2c477;--match-cyan:#36d6e5;background:radial-gradient(circle at 3% 18%, #2c3d8f3d, transparent 19%), radial-gradient(circle at 97% 80%, #0e828f29, transparent 24%), radial-gradient(circle at 50% 0, #2b40535c, transparent 46%), var(--match-ink)}.game-shell .topbar{background:linear-gradient(#090e15fa,#060b11f5);border-bottom:1px solid #b6924a61;height:62px;padding:0 22px}.game-shell .play-layout{height:calc(100vh - 62px)}.game-brand-logo{object-fit:contain;object-position:center;filter:saturate(.95)contrast(1.05)drop-shadow(0 3px 8px #00000061);width:78px;height:48px}.game-shell .brand strong{color:#f1eadc;letter-spacing:.1em;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:17px}.game-shell .table-wrap{background:#080e15;grid-template-rows:minmax(0,1fr) 82px}.game-shell .mahjong-table{background:radial-gradient(ellipse at 50% 45%, #1b997d3d, transparent 42%), linear-gradient(135deg, transparent 49.88%, #0027234d 50%, transparent 50.12%), linear-gradient(45deg, transparent 49.88%, #0027234d 50%, transparent 50.12%), linear-gradient(155deg, #087264 0%, var(--match-jade) 50%, #05493f 100%);border:clamp(12px,1.2vw,18px) solid #151c22;border-image:linear-gradient(135deg,#493920,#0e151c 28%,#70562c 52%,#111a22 76%,#3c2f1e) 1;box-shadow:inset 0 0 0 4px #061218,inset 0 0 95px #00000080,inset 0 24px 54px #36d6e509}.game-shell .mahjong-table:before{border-color:#b6924a33;inset:6.7%;box-shadow:inset 0 0 0 1px #022d288c,inset 0 0 40px #00000017}.game-shell .player{background:radial-gradient(circle at 10% 0,#ffffff0e,#0000 30%),linear-gradient(135deg,#111d2afa,#050c14fa);border:1px solid #b6924aad;border-radius:10px;grid-template-columns:56px minmax(72px,1fr) auto;gap:12px;min-width:250px;min-height:76px;padding:9px 14px 9px 10px;box-shadow:inset 0 0 0 1px #ffffff08,0 12px 25px #00000070}.game-shell .player-avatar{display:none}.game-shell .player .wind{color:#fff6dd;border:1px solid #e2c477a6;border-radius:8px;width:56px;height:56px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:26px;box-shadow:inset 0 0 16px #ffffff0d,0 4px 10px #0000004d}.game-shell .player-copy{align-content:center;gap:3px;display:grid}.game-shell .player strong{color:#f4efe6;letter-spacing:.04em;font-size:18px;font-weight:800}.game-shell .player small{color:#93a4af;margin:0;font-size:11px}.game-shell .player b{color:#fff8e9;letter-spacing:-.03em;text-align:right;font-variant-numeric:tabular-nums;text-shadow:0 2px 8px #00000052;min-width:108px;font-size:31px;font-weight:850;line-height:1}.game-shell .player--top,.game-shell .player--bottom{min-width:352px}.game-shell .player--top{top:7px}.game-shell .player--bottom{bottom:100px;left:50%;right:auto;transform:translate(-50%)}.game-shell .player--active{border-color:var(--match-cyan);box-shadow:inset 0 0 0 1px #36d6e51f,0 0 0 2px #36d6e51c,0 0 24px #36d6e53d,0 12px 25px #0000006b}.game-shell .player--active:after{content:"";background:linear-gradient(90deg, transparent, var(--match-cyan), transparent);height:2px;animation:1.8s ease-in-out infinite player-turn-glow;position:absolute;bottom:-1px;left:12%;right:12%}@keyframes player-turn-glow{0%,to{opacity:.4;filter:blur(.2px)}50%{opacity:1;filter:blur(1px)}}.game-shell .opponent-hand--top{top:88px}.game-shell .round-center{background:linear-gradient(145deg,#0c1722fa,#040a11fc);border-color:#b6924ab8;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:minmax(174px,1fr) 96px;column-gap:10px;width:300px;min-height:0;padding:12px 14px 13px;display:grid;box-shadow:inset 0 0 0 3px #ffffff05,inset 0 0 0 5px #b6924a0f,0 15px 34px #0000007a}.game-shell .river--top{top:auto;bottom:calc(54% + 94px)}.game-shell .river--bottom{top:calc(46% + 94px);bottom:auto}.game-shell .river--right{direction:ltr;right:calc(50% - 470px)}.game-shell .river--left,.game-shell .river--right{grid-template-rows:none;grid-template-columns:repeat(6,max-content);grid-auto-flow:row}.game-shell .round-heading{grid-column:1/-1;gap:16px}.game-shell .round-heading span{color:var(--match-gold-bright);font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:28px;line-height:1.1}.game-shell .round-heading small{color:#bcc6d2;font-size:14px;font-weight:700}.game-shell .round-grid{grid-area:2/1;gap:8px;margin:8px 0 0}.game-shell .round-grid div{background:#0d1c28e6;border:1px solid #90a8b921;min-height:62px;padding:8px}.game-shell .round-grid small,.game-shell .dora small{color:#aeb9c7;font-size:14px;font-weight:700}.game-shell .round-grid strong{margin-top:4px;font-size:27px;line-height:1}.game-shell .dora{flex-direction:column;grid-area:2/2;align-items:stretch;gap:8px;min-height:62px;margin-top:8px}.game-shell .dora-list{justify-content:flex-end;gap:4px;min-width:0;display:flex}.game-shell .dora .tile{width:29px;height:41px}.game-shell .player-riichi{color:#ffcf59;letter-spacing:.08em;font-weight:900}.game-shell .player--riichi{border-color:#ffcf59;box-shadow:inset 0 0 0 1px #ffcf5938,0 0 0 2px #ff444b26,0 0 30px #ff444b52,0 12px 25px #00000070}.game-shell .riichi-badge{z-index:8;pointer-events:none;color:#fff8d9;letter-spacing:.18em;text-align:center;background:linear-gradient(#d94249,#8f1821);border:1px solid #ffd66c;border-radius:999px;min-width:56px;padding:3px 10px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:14px;font-weight:900;animation:1.35s ease-in-out infinite alternate riichi-badge-pulse;position:absolute;top:-13px;right:12px;box-shadow:0 4px 14px #00000073,0 0 18px #ff414a59}@keyframes riichi-badge-pulse{0%{filter:brightness(.94);transform:translateY(0)}to{filter:brightness(1.18);transform:translateY(-1px)}}.game-shell .action-rail{background:linear-gradient(#111c28,#071019);border-top-color:#b6924a57}.game-shell .action:hover:not(:disabled),.game-shell .action.active,.game-shell .tile--selected{border-color:var(--match-cyan);box-shadow:0 0 0 2px #36d6e52e,0 0 24px #36d6e547}@media (width<=1180px){.game-shell .player{grid-template-columns:48px minmax(60px,1fr) auto;gap:9px;min-width:218px}.game-shell .player--top,.game-shell .player--bottom{min-width:310px}.game-shell .player .wind{width:48px;height:48px;font-size:23px}.game-shell .player b{min-width:92px;font-size:27px}.game-shell .opponent-hand--left{left:246px}.game-shell .opponent-hand--right{right:246px}.game-shell .round-center{grid-template-columns:minmax(158px,1fr) 90px;column-gap:8px;width:280px;min-height:0;padding:11px 12px 12px}.game-shell .river--top{bottom:calc(54% + 86px)}.game-shell .river--bottom{top:calc(46% + 86px)}.game-shell .round-heading span{font-size:26px}.game-shell .round-heading small{font-size:13px}.game-shell .round-grid div{min-height:58px;padding:8px}.game-shell .round-grid strong{font-size:25px}.game-shell .round-grid small,.game-shell .dora small{font-size:13px}.game-shell .dora .tile{width:27px;height:38px}}@media (prefers-reduced-motion:reduce){.game-shell .player--active:after,.game-shell .riichi-badge{animation:none}.game-shell .win-impact{display:none}.game-shell .result-overlay--win{opacity:1;animation:none}}.game-shell .play-layout.has-chat{background:#070d13;grid-template-columns:minmax(780px,1fr) 340px;gap:0;display:grid}.game-shell .play-layout.has-chat .table-wrap{min-width:0}.game-shell .chat-toggle{color:#e8d39f;background:#b6924a14;border:1px solid #b6924a59;align-items:center;gap:7px;font-weight:800;display:inline-flex}.game-shell .chat-toggle.is-open{color:#82edf4;background:#36d6e51a;border-color:#36d6e58c}.game-shell .chat-toggle span{color:#fff;background:#d14a4f;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:10px;display:inline-grid}.table-chat{z-index:55;background:radial-gradient(circle at 100% 0,#36d6e512,#0000 32%),linear-gradient(#111c28,#070e15);border-left:1px solid #b6924a5c;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;position:relative;box-shadow:-16px 0 38px #00000047}.table-chat__header{border-bottom:1px solid #b6924a40;justify-content:space-between;align-items:center;min-height:66px;padding:11px 14px 10px 16px;display:flex}.table-chat__header>div{grid-template-columns:9px 1fr;column-gap:9px;display:grid}.table-chat__header i{background:#36d6e5;border-radius:50%;grid-row:1/3;align-self:center;width:8px;height:8px;box-shadow:0 0 12px #36d6e5bf}.table-chat__header strong{color:#f4e7c4;font-size:15px}.table-chat__header small{color:#8291a0;margin-top:2px;font-size:10px}.table-chat__header button{color:#cbd4dc;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:7px;width:34px;height:34px;font-size:20px}.table-chat__messages{scrollbar-color:#b6924a66 transparent;flex-direction:column;gap:12px;min-height:0;padding:14px;display:flex;overflow-y:auto}.table-chat__messages article{align-self:flex-start;width:min(92%,285px)}.table-chat__messages article.is-mine{align-self:flex-end}.table-chat__messages article header{grid-template-columns:24px 1fr auto;align-items:center;gap:6px;margin-bottom:5px;display:grid}.table-chat__messages article header .wind{border-radius:5px;width:24px;height:24px;font-size:11px}.table-chat__messages article header strong{color:#dce5eb;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.table-chat__messages article header time{color:#687786;font-size:9px}.table-chat__messages article p{color:#eef3f5;overflow-wrap:anywhere;white-space:pre-wrap;background:#182534;border:1px solid #9bacbc24;border-radius:4px 12px 12px;margin:0;padding:10px 12px;font-size:13px;line-height:1.55}.table-chat__messages article.is-mine p{background:#11353c;border-color:#36d6e540;border-radius:12px 4px 12px 12px}.table-chat__messages article p a{color:#52dce8;text-underline-offset:2px;text-decoration:underline}.table-chat__empty{color:#687786;text-align:center;justify-items:center;gap:5px;margin:auto;display:grid}.table-chat__empty strong{color:#aeb9c2;font-size:13px}.table-chat__empty span{font-size:11px}.table-chat__form{background:#050b11d1;border-top:1px solid #b6924a40;padding:12px}.table-chat__form textarea{resize:none;color:#edf2f4;width:100%;font:inherit;background:#0e1924;border:1px solid #90a2b247;border-radius:8px;outline:0;padding:10px 11px;font-size:13px;line-height:1.45}.table-chat__form textarea:focus{border-color:#36d6e5b8;box-shadow:0 0 0 3px #36d6e517}.table-chat__form>div{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.table-chat__form>div span{color:#687786;font-size:9px}.table-chat__form button{color:#261a09;cursor:pointer;background:linear-gradient(#efcf79,#b9822c);border:1px solid #d8b566;border-radius:7px;min-width:78px;height:34px;font-weight:900}.table-chat__form button:disabled{filter:grayscale(.7);opacity:.45;cursor:not-allowed}.table-chat__form>p{color:#ff8589;margin:7px 0 0;font-size:10px}@media (width<=860px){.game-shell .play-layout.has-chat{display:block}.table-chat{border:1px solid #b6924a73;border-radius:12px;width:min(340px,100vw - 24px);position:fixed;top:66px;bottom:12px;right:12px;overflow:hidden;box-shadow:0 22px 65px #0000009e}}@media (width>=861px){.game-shell .play-layout.has-chat{grid-template-columns:minmax(0,1fr) clamp(280px,27vw,340px);display:grid}.game-shell .play-layout.has-chat .table-wrap{width:100%;min-width:0;overflow:hidden}.game-shell .play-layout.has-chat .mahjong-table{min-width:0}.game-shell .play-layout.has-chat .player--left,.game-shell .play-layout.has-chat .player--right{grid-template-columns:48px minmax(58px,1fr) auto;gap:8px;min-width:205px;padding-right:10px}.game-shell .play-layout.has-chat .player--left{left:10px}.game-shell .play-layout.has-chat .player--right{right:10px}.game-shell .play-layout.has-chat .player--left .wind,.game-shell .play-layout.has-chat .player--right .wind{width:48px;height:48px;font-size:23px}.game-shell .play-layout.has-chat .player--left b,.game-shell .play-layout.has-chat .player--right b{min-width:82px;font-size:25px}}.game-shell .melds--bottom{flex-direction:column-reverse;align-items:flex-end;bottom:14px;right:18px}.game-shell .melds--top{flex-direction:column-reverse;align-items:flex-end;top:108px;left:18px;right:auto}.game-shell .melds--left{flex-direction:row;align-items:flex-end;top:auto;bottom:45px;left:64px}.game-shell .melds--right{flex-direction:row-reverse;align-items:flex-start;top:45px;bottom:auto;right:64px}@media (width<=1180px){.game-shell .melds--bottom{bottom:14px;right:12px}.game-shell .melds--top{top:102px;left:12px;right:auto}.game-shell .melds--left{left:52px}.game-shell .melds--right{top:40px;right:52px}}.game-shell .river--left,.game-shell .river--right{transform-origin:50%;direction:ltr;grid-template-rows:none;grid-template-columns:repeat(6,max-content);grid-auto-rows:max-content;grid-auto-flow:row;width:max-content;top:50%;bottom:auto}.game-shell .river--left{left:calc(50% - 310px);right:auto;transform:translate(-50%,-50%)rotate(90deg)}.game-shell .river--right{left:calc(50% + 310px);right:auto;transform:translate(-50%,-50%)rotate(-90deg)}.game-shell .river--left .tile,.game-shell .river--right .tile{border-bottom-width:3px;width:clamp(26px,2.4vw,34px);height:clamp(37px,3.3vw,47px);margin:0}.game-shell .river--left .tile span,.game-shell .river--right .tile span{transform:none}@media (height<=900px){.game-shell .table-wrap{grid-template-rows:minmax(0,1fr) 72px;min-height:0}.game-shell .mahjong-table{min-height:0}.game-shell .player--top,.game-shell .player--bottom{grid-template-columns:48px minmax(72px,1fr) auto;min-width:320px;min-height:64px;padding:7px 12px 7px 9px}.game-shell .player--top{top:5px}.game-shell .player--bottom{bottom:98px}.game-shell .player--top .wind,.game-shell .player--bottom .wind{width:48px;height:48px;font-size:23px}.game-shell .player--top b,.game-shell .player--bottom b{min-width:96px;font-size:28px}.game-shell .opponent-hand--top{top:75px}.game-shell .river--top{top:128px;bottom:auto}.game-shell .river--bottom{top:auto;bottom:180px}.game-shell .hand{bottom:8px}.game-shell .round-center{box-sizing:border-box;grid-template-columns:minmax(0,1fr) 86px;width:300px;transform:translate(-50%,-50%)scale(.92)}.game-shell .round-heading{min-width:0}.game-shell .round-heading small{white-space:nowrap}.game-shell .dora,.game-shell .dora-list{min-width:0;max-width:100%}.game-shell .dora-list{flex-wrap:wrap;align-content:flex-end}.game-shell .dora .tile{width:25px;height:35px}.game-shell .river--left,.game-shell .river--right{top:50%}.game-shell .melds--top{top:76px}.game-shell .melds--bottom{bottom:14px}}@media (height<=740px){.game-shell .table-wrap{grid-template-rows:minmax(0,1fr) 64px}.game-shell .player--top,.game-shell .player--bottom{grid-template-columns:42px minmax(66px,1fr) auto;min-width:286px;min-height:56px}.game-shell .player--bottom{bottom:86px}.game-shell .player--top .wind,.game-shell .player--bottom .wind{width:42px;height:42px;font-size:21px}.game-shell .player--top b,.game-shell .player--bottom b{min-width:86px;font-size:25px}.game-shell .opponent-hand--top{top:65px}.game-shell .river--top{top:112px}.game-shell .river--bottom{bottom:156px}.game-shell .round-center{transform:translate(-50%,-50%)scale(.82)}.game-shell .river--left,.game-shell .river--right{top:50%}.game-shell .melds--top{top:66px}.game-shell .melds--bottom{bottom:14px}}.game-shell .match-final{z-index:70;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:radial-gradient(circle at 50% 38%,#e2c47729,#0000 34%),#02080db8;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.game-shell .match-final__glow{aspect-ratio:1;background:repeating-conic-gradient(from 4deg, #e2c47721 0 2deg, transparent 2deg 13deg);border-radius:50%;width:min(720px,80vw);animation:22s linear infinite final-rays;position:absolute;-webkit-mask-image:radial-gradient(circle,#000 0 34%,#0000 69%);mask-image:radial-gradient(circle,#000 0 34%,#0000 69%)}@keyframes final-rays{to{transform:rotate(1turn)}}.game-shell .match-final__card{background:linear-gradient(140deg,#182634fa,#050d15fc);border:1px solid #e2c477d1;border-radius:16px;width:min(680px,100vw - 42px);max-height:calc(100% - 20px);padding:25px 28px 27px;position:relative;overflow:auto;box-shadow:inset 0 0 0 3px #ffffff06,0 26px 90px #000000b3,0 0 42px #e2c4771f}.game-shell .match-final__card>header{justify-items:center;gap:2px;margin-bottom:16px;display:grid}.game-shell .match-final__card>header span{color:var(--match-cyan);letter-spacing:.32em;font-size:10px;font-weight:900}.game-shell .match-final__card>header strong{color:var(--match-gold-bright);letter-spacing:.16em;text-shadow:0 4px 22px #e2c4773d;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(30px,4vw,46px)}.game-shell .match-final__card>header small{color:#aeb9c7;font-weight:800}.game-shell .match-final__standings{gap:7px;margin:0;padding:0;list-style:none;display:grid}.game-shell .match-final__standings li{color:#f5f2eb;background:#ffffff09;border:1px solid #96a9b82e;border-radius:9px;grid-template-columns:62px minmax(100px,1fr) auto 66px;align-items:center;gap:12px;min-height:61px;padding:9px 13px;display:grid}.game-shell .match-final__standings li.is-first{background:linear-gradient(90deg,#b6924a42,#ffffff0b);border-color:#e2c477b8;min-height:76px;box-shadow:inset 4px 0 #e2c477,0 8px 28px #00000038}.game-shell .match-final__standings li.is-you{outline-offset:-2px;outline:2px solid #36d6e566}.game-shell .match-final__rank{color:#c7d1db;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:30px;font-weight:900}.game-shell .is-first .match-final__rank{color:#f2d77f;font-size:42px}.game-shell .match-final__rank small,.game-shell .match-final__standings b small{margin-left:2px;font-size:11px}.game-shell .match-final__standings li>div{gap:2px;display:grid}.game-shell .match-final__standings li>div strong{font-size:17px}.game-shell .match-final__name{align-items:center;gap:10px;min-width:0;display:flex}.game-shell .match-final__champion{flex:none;width:clamp(78px,8vw,108px);height:58px;display:block}.game-shell .match-final__champion img{object-fit:contain;filter:drop-shadow(0 2px 2px #0000008c)drop-shadow(0 0 7px #e2c47742);width:100%;height:100%;display:block}.game-shell .match-final__standings li>div small{color:var(--match-cyan);font-size:10px;font-weight:900}.game-shell .match-final__standings li>b{color:#fff8e9;font-variant-numeric:tabular-nums;font-size:26px}.game-shell .match-final__standings li>em{color:#9babb7;text-align:right;font-size:12px;font-style:normal;font-weight:800}.game-shell .match-final__actions{grid-template-columns:1.4fr 1fr;gap:10px;margin-top:17px;display:grid}.game-shell .match-final__actions button{cursor:pointer;border-radius:9px;min-height:50px;font-size:14px;font-weight:900}.game-shell .match-final__rematch{color:#251808;background:linear-gradient(#f3d476,#b98029);border:1px solid #ffe29a;box-shadow:inset 0 1px #ffffff8c,0 5px #704513}.game-shell--result-preview{background:radial-gradient(circle at 50% 42%,#075f526b,#0000 43%),linear-gradient(145deg,#071018,#0b201f 52%,#05090e);min-height:100svh}.game-shell .match-final__exit{color:#d9e1e7;background:#ffffff0b;border:1px solid #b7c7d266}.game-shell .match-final__actions button:disabled{cursor:wait;filter:grayscale(.7);opacity:.62}@media (width<=1400px),(height<=900px){.game-shell .player--left,.game-shell .player--right{box-sizing:border-box;grid-template-columns:44px minmax(0,1fr) auto;gap:7px;width:clamp(172px,19vw,216px);min-width:0;padding:7px 9px 7px 7px}.game-shell .player--left{left:10px}.game-shell .player--right{right:10px}.game-shell .player--left .wind,.game-shell .player--right .wind{width:44px;height:44px;font-size:21px}.game-shell .player--left strong,.game-shell .player--right strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.game-shell .player--left b,.game-shell .player--right b{min-width:75px;font-size:23px}}@media (width>=861px){.game-shell .play-layout.has-chat{grid-template-columns:minmax(0,1fr) clamp(260px,24vw,320px)}.game-shell .play-layout.has-chat .player--left,.game-shell .play-layout.has-chat .player--right{grid-template-columns:40px minmax(0,1fr) auto;gap:6px;width:clamp(166px,17vw,190px);min-width:0;padding:6px 8px 6px 6px}.game-shell .play-layout.has-chat .player--left .wind,.game-shell .play-layout.has-chat .player--right .wind{width:40px;height:40px;font-size:20px}.game-shell .play-layout.has-chat .player--left b,.game-shell .play-layout.has-chat .player--right b{min-width:67px;font-size:21px}.game-shell .play-layout.has-chat .river--left{left:calc(50% - clamp(188px,22vw,250px))}.game-shell .play-layout.has-chat .river--right{left:calc(50% + clamp(188px,22vw,250px))}}@media (height<=820px){.game-shell .player--top{top:3px}.game-shell .opponent-hand--top{top:64px}.game-shell .river--top{top:112px}.game-shell .river--bottom{top:auto;bottom:150px}.game-shell .player--bottom{bottom:78px}.game-shell .hand{bottom:5px}.game-shell .hand .tile{width:clamp(38px,3.6vw,50px);height:clamp(53px,5vw,67px)}.game-shell .player--top,.game-shell .player--bottom{grid-template-columns:42px minmax(68px,1fr) auto;min-height:54px;padding-block:5px}.game-shell .player--top .wind,.game-shell .player--bottom .wind{width:42px;height:42px}.game-shell .round-center{transform:translate(-50%,-50%)scale(.82)}}@media (height<=690px){.game-shell .river--top{top:100px}.game-shell .river--bottom{bottom:130px}.game-shell .player--bottom{bottom:69px}.game-shell .opponent-hand--top{top:57px}.game-shell .round-center{transform:translate(-50%,-50%)scale(.72)}}@media (width<=720px){.game-shell .match-final__card{padding:20px 16px}.game-shell .match-final__standings li{grid-template-columns:46px minmax(80px,1fr) auto}.game-shell .match-final__standings li>em{display:none}.game-shell .match-final__actions{grid-template-columns:1fr}}.game-shell .topbar{min-width:1240px}.game-shell .round-center,.game-shell .play-layout.has-chat .round-center{transform:translate(-50%,-50%)}.game-shell .melds,.game-shell .play-layout.has-chat .melds{flex-flow:row-reverse;align-items:flex-end;gap:8px;display:flex;transform:none}.game-shell .melds .meld,.game-shell .play-layout.has-chat .melds .meld{flex-flow:row;align-items:flex-end;gap:1px;display:flex}.game-shell .melds--left .tile,.game-shell .melds--right .tile,.game-shell .melds--top .tile,.game-shell .melds--bottom .tile,.game-shell .play-layout.has-chat .melds .tile{width:var(--tile-w);height:var(--tile-h)}.game-shell .player--top,.game-shell .play-layout.has-chat .player--top{top:20px}.game-shell .player--top .riichi-badge,.game-shell .play-layout.has-chat .player--top .riichi-badge{top:-11px}@media (height<=720px){.game-shell .melds--top,.game-shell .play-layout.has-chat .melds--top{gap:3px;top:86px;right:18px}}@media (prefers-reduced-motion:reduce){.game-shell .match-final__glow{animation:none}}.game-shell .table-wrap{container-type:inline-size}.game-shell .opponent-hand--left{left:clamp(8px,1.2cqw,16px)}.game-shell .opponent-hand--right{right:clamp(8px,1.2cqw,16px)}.game-shell .player--left,.game-shell .player--right{grid-template-columns:46px minmax(68px,1fr) 84px;gap:8px;width:clamp(226px,25cqw,260px);min-width:226px;padding:7px 10px 7px 8px;top:28%;transform:translateY(-50%)}.game-shell .player--left strong,.game-shell .player--right strong,.game-shell .play-layout.has-chat .player--left strong,.game-shell .play-layout.has-chat .player--right strong{text-overflow:clip;white-space:nowrap;font-size:clamp(13px,1.4cqw,17px);overflow:visible}@media (width>=861px){.game-shell .play-layout.has-chat .player--left,.game-shell .play-layout.has-chat .player--right{grid-template-columns:42px minmax(66px,1fr) 78px;gap:7px;width:clamp(220px,29cqw,246px);min-width:220px;padding:6px 9px 6px 7px;top:27%}.game-shell .play-layout.has-chat .player--left{left:clamp(52px,6cqw,72px)}.game-shell .play-layout.has-chat .player--right{right:clamp(52px,6cqw,72px)}.game-shell .play-layout.has-chat .player--left .wind,.game-shell .play-layout.has-chat .player--right .wind{width:42px;height:42px;font-size:20px}.game-shell .play-layout.has-chat .player--left b,.game-shell .play-layout.has-chat .player--right b{min-width:78px;font-size:clamp(20px,2.5cqw,25px)}.game-shell .play-layout.has-chat .river--left{left:calc(50% - clamp(142px,18cqw,220px))}.game-shell .play-layout.has-chat .river--right{left:calc(50% + clamp(142px,18cqw,220px))}}@media (height<=690px){.game-shell .player--bottom{bottom:82px}.game-shell .river--bottom{bottom:148px}}.game-shell .player--left,.game-shell .player--right{grid-template-columns:38px minmax(54px,1fr) 70px;gap:6px;width:clamp(188px,21cqw,202px);min-width:188px;min-height:54px;padding:6px 8px 6px 7px}.game-shell .player--left{left:clamp(46px,5cqw,68px)}.game-shell .player--right{right:clamp(46px,5cqw,68px)}.game-shell .player--left .wind,.game-shell .player--right .wind{width:38px;height:38px;font-size:19px}.game-shell .player--left strong,.game-shell .player--right strong{font-size:clamp(13px,1.25cqw,15px)}.game-shell .player--left small,.game-shell .player--right small{font-size:9px}.game-shell .player--left b,.game-shell .player--right b{min-width:70px;font-size:clamp(20px,2cqw,23px)}.game-shell .river--left{left:calc(50% - clamp(140px,17cqw,250px))}.game-shell .river--right{left:calc(50% + clamp(140px,17cqw,250px))}@media (width>=861px){.game-shell .play-layout.has-chat .player--left,.game-shell .play-layout.has-chat .player--right{grid-template-columns:36px minmax(52px,1fr) 66px;gap:5px;width:clamp(182px,24cqw,194px);min-width:182px;padding:5px 7px 5px 6px}.game-shell .play-layout.has-chat .player--left{left:clamp(42px,5cqw,54px)}.game-shell .play-layout.has-chat .player--right{right:clamp(42px,5cqw,54px)}.game-shell .play-layout.has-chat .player--left .wind,.game-shell .play-layout.has-chat .player--right .wind{width:36px;height:36px;font-size:18px}.game-shell .play-layout.has-chat .player--left b,.game-shell .play-layout.has-chat .player--right b{min-width:66px;font-size:clamp(19px,2.3cqw,22px)}.game-shell .play-layout.has-chat .river--left{left:calc(50% - clamp(120px,15cqw,180px))}.game-shell .play-layout.has-chat .river--right{left:calc(50% + clamp(120px,15cqw,180px))}}.game-shell .player,.game-shell .play-layout.has-chat .player{box-sizing:border-box;grid-template-columns:36px minmax(0,1fr) 72px;gap:5px;width:210px;min-width:210px;min-height:52px;padding:6px 7px;overflow:visible}.game-shell .player strong,.game-shell .play-layout.has-chat .player strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.15;overflow:hidden}.game-shell .player small,.game-shell .play-layout.has-chat .player small{text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.1;overflow:hidden}.game-shell .player b,.game-shell .play-layout.has-chat .player b{letter-spacing:-.045em;text-align:right;text-overflow:clip;white-space:nowrap;width:72px;min-width:0;max-width:72px;font-size:19px;line-height:1;overflow:hidden}.game-shell .player--left,.game-shell .play-layout.has-chat .player--left{left:clamp(34px,4cqw,58px)}.game-shell .player--right,.game-shell .play-layout.has-chat .player--right{right:clamp(34px,4cqw,58px)}@media (width<=1040px){.game-shell .player,.game-shell .play-layout.has-chat .player{grid-template-columns:34px minmax(0,1fr) 70px;width:202px;min-width:202px;padding-inline:6px}.game-shell .player .wind,.game-shell .play-layout.has-chat .player .wind{width:34px;height:34px;font-size:17px}.game-shell .player b,.game-shell .play-layout.has-chat .player b{width:70px;max-width:70px;font-size:18px}}.game-shell .melds,.game-shell .play-layout.has-chat .melds{gap:0}.game-shell .melds--bottom,.game-shell .play-layout.has-chat .melds--bottom{flex-direction:row-reverse;align-items:flex-end;inset:auto 14px 14px auto;transform:none}.game-shell .melds--bottom .meld,.game-shell .play-layout.has-chat .melds--bottom .meld{flex-direction:row;gap:0}.game-shell .melds--top,.game-shell .play-layout.has-chat .melds--top{flex-direction:column;align-items:flex-start;inset:14px auto auto 18px;transform:rotate(180deg)}.game-shell .melds--top .meld,.game-shell .play-layout.has-chat .melds--top .meld{flex-direction:row}.game-shell .melds--right,.game-shell .play-layout.has-chat .melds--right{flex-direction:row-reverse;align-items:flex-start;inset:14px 18px auto auto;transform:none}.game-shell .melds--left,.game-shell .play-layout.has-chat .melds--left{flex-direction:row;align-items:flex-end;inset:auto auto 14px 18px;transform:none}.game-shell .melds--right .meld,.game-shell .melds--left .meld,.game-shell .play-layout.has-chat .melds--right .meld,.game-shell .play-layout.has-chat .melds--left .meld{flex-direction:column}.game-shell .melds--left .tile,.game-shell .melds--right .tile,.game-shell .play-layout.has-chat .melds--left .tile,.game-shell .play-layout.has-chat .melds--right .tile{width:var(--tile-w);height:var(--tile-h)}.game-shell .player--top .riichi-badge,.game-shell .play-layout.has-chat .player--top .riichi-badge{top:-13px;bottom:auto}@media (width<=720px){.game-shell .player--top,.game-shell .play-layout.has-chat .player--top{left:calc(50% + clamp(44px,10cqw,72px))}.game-shell .player--bottom,.game-shell .play-layout.has-chat .player--bottom{left:calc(50% - clamp(44px,10cqw,72px))}}.game-shell .opponent-hand--top,.game-shell .play-layout.has-chat .opponent-hand--top{top:clamp(10px,4.2vh,48px)}.game-shell .player--top,.game-shell .play-layout.has-chat .player--top{top:clamp(58px,9.4vh,108px);left:calc(50% + clamp(150px,18cqw,270px))}@media (width<=720px){.game-shell .player--top,.game-shell .play-layout.has-chat .player--top{left:calc(50% + clamp(88px,16cqw,126px))}}.game-shell .river--top,.game-shell .play-layout.has-chat .river--top{top:auto;bottom:calc(54% + 178px)}.game-shell .river--bottom,.game-shell .play-layout.has-chat .river--bottom{top:calc(46% + 178px);bottom:auto}@media (height<=900px){.game-shell .river--top,.game-shell .play-layout.has-chat .river--top{top:68px;bottom:auto}.game-shell .river--bottom,.game-shell .play-layout.has-chat .river--bottom{top:auto;bottom:112px}.game-shell .river--top .tile,.game-shell .river--bottom .tile,.game-shell .play-layout.has-chat .river--top .tile,.game-shell .play-layout.has-chat .river--bottom .tile{width:clamp(34px,3vw,44px);height:clamp(47px,4.15vw,60px)}}@media (height<=690px){.game-shell .river--top,.game-shell .play-layout.has-chat .river--top{top:62px}.game-shell .river--bottom,.game-shell .play-layout.has-chat .river--bottom{bottom:96px}}.game-shell .player--top,.game-shell .play-layout.has-chat .player--top{left:calc(50% + clamp(220px,24cqw,360px));right:auto;transform:translate(-50%)}.game-shell .player--bottom,.game-shell .play-layout.has-chat .player--bottom{left:calc(50% - clamp(190px,22cqw,330px));right:auto;transform:translate(-50%)}.game-shell .player--right,.game-shell .play-layout.has-chat .player--right{top:58%}@media (width<=720px){.game-shell .player--top,.game-shell .play-layout.has-chat .player--top{left:calc(50% + clamp(94px,18cqw,132px))}.game-shell .player--bottom,.game-shell .play-layout.has-chat .player--bottom{left:calc(50% - clamp(88px,17cqw,124px))}.game-shell .player--right,.game-shell .play-layout.has-chat .player--right{top:54%}}.game-shell .play-layout,.game-shell .play-layout.has-chat{box-sizing:border-box;grid-template-columns:minmax(1152px,1fr);width:100%;min-width:1180px;height:calc(100vh - 64px);min-height:656px}.game-shell .mahjong-table,.game-shell .play-layout.has-chat .mahjong-table{box-sizing:border-box;width:100%;min-width:1152px;height:auto;min-height:540px;container-type:inline-size}.game-shell .player,.game-shell .play-layout.has-chat .player,.game-shell .player--top,.game-shell .player--right,.game-shell .player--bottom,.game-shell .player--left{box-sizing:border-box;grid-template-rows:20px 12px;grid-template-columns:36px minmax(0,1fr) 72px;align-items:center;gap:2px 5px;width:210px;min-width:210px;max-width:210px;height:52px;min-height:52px;max-height:52px;padding:6px 7px;overflow:visible}.game-shell .player .wind,.game-shell .play-layout.has-chat .player .wind{width:36px;height:36px;font-size:18px}.game-shell .player strong,.game-shell .play-layout.has-chat .player strong{font-size:14px;line-height:20px}.game-shell .player small,.game-shell .play-layout.has-chat .player small{font-size:9px;line-height:12px}.game-shell .player b,.game-shell .play-layout.has-chat .player b{width:72px;min-width:72px;max-width:72px;font-size:19px;line-height:1}.game-shell .player--top,.game-shell .play-layout.has-chat .player--top{inset:102px 6% auto auto;transform:none}.game-shell .player--left,.game-shell .play-layout.has-chat .player--left{inset:32% auto auto 4%;transform:none}.game-shell .player--right,.game-shell .play-layout.has-chat .player--right{inset:62% 4% auto auto;transform:none}.game-shell .player--bottom,.game-shell .play-layout.has-chat .player--bottom{inset:auto auto 104px 6%;transform:none}.game-shell .melds,.game-shell .play-layout.has-chat .melds,.game-shell .melds--top,.game-shell .melds--right,.game-shell .melds--bottom,.game-shell .melds--left{align-items:flex-end;gap:8px;display:flex;transform:none;flex-flow:row-reverse!important}.game-shell .melds .meld,.game-shell .play-layout.has-chat .melds .meld,.game-shell .melds--top .meld,.game-shell .melds--right .meld,.game-shell .melds--bottom .meld,.game-shell .melds--left .meld{align-items:flex-end;gap:1px;display:flex;flex-flow:row!important}.game-shell .melds--top,.game-shell .play-layout.has-chat .melds--top{inset:16px auto auto 18px}.game-shell .melds--right,.game-shell .play-layout.has-chat .melds--right{inset:16px 18px auto auto}.game-shell .melds--bottom,.game-shell .play-layout.has-chat .melds--bottom{inset:auto 18px 14px auto}.game-shell .melds--left,.game-shell .play-layout.has-chat .melds--left{inset:auto auto 14px 18px}.game-shell .melds .tile,.game-shell .play-layout.has-chat .melds .tile{width:var(--tile-w);height:var(--tile-h)}.game-shell{width:100%;min-width:0;min-height:100vh;overflow:hidden}.game-shell .play-layout,.game-shell .play-layout.has-chat{box-sizing:border-box;grid-template-columns:minmax(0,1fr);align-items:stretch;width:100%;min-width:0;height:calc(100vh - 64px);min-height:0}.game-shell .play-layout.has-chat{grid-template-columns:minmax(0,1fr) 320px;min-width:0}.game-shell .table-wrap,.game-shell .play-layout.has-chat .table-wrap{width:auto;min-width:0;height:100%;min-height:0}.game-shell .table-stage{--table-ring-x:clamp(64px, 7vw, 96px);--table-ring-y:clamp(50px, 6.5vh, 70px);background:linear-gradient(90deg,#ffffff0b,#0000 12% 88%,#0000002e),linear-gradient(#4a371f,#281d11);border:4px solid #17130d;min-width:0;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #cfa65057}.game-shell .table-stage>.mahjong-table,.game-shell .play-layout.has-chat .table-stage>.mahjong-table{inset:var(--table-ring-y) var(--table-ring-x);box-sizing:border-box;width:auto;min-width:0;height:auto;min-height:0;position:absolute;container-type:inline-size}.game-shell .table-stage>.player{box-sizing:border-box;z-index:12;grid-template-rows:20px 12px;grid-template-columns:36px minmax(0,1fr) 72px;align-items:center;gap:2px 5px;width:210px;min-width:210px;max-width:210px;height:52px;min-height:52px;max-height:52px;padding:6px 7px;overflow:visible}.game-shell .table-stage>.player strong{font-size:14px;line-height:20px}.game-shell .table-stage>.player small{font-size:9px;line-height:12px}.game-shell .table-stage>.player b{width:72px;min-width:72px;max-width:72px;font-size:19px;line-height:1}.game-shell .table-stage>.player--top{transform-origin:50%;inset:8px auto auto 50%;transform:translate(-50%)rotate(180deg)}.game-shell .table-stage>.player--left{transform-origin:50%;inset:50% auto auto 8px;transform:translateY(-50%)rotate(90deg)}.game-shell .table-stage>.player--right{transform-origin:50%;inset:50% 8px auto auto;transform:translateY(-50%)rotate(-90deg)}.game-shell .table-stage>.player--bottom{transform-origin:50%;inset:auto auto 8px 50%;transform:translate(-50%)}.game-shell .table-stage .melds,.game-shell .table-stage .melds--top,.game-shell .table-stage .melds--right,.game-shell .table-stage .melds--bottom,.game-shell .table-stage .melds--left{align-items:flex-end;gap:8px;display:flex;transform:none;flex-flow:row-reverse!important}.game-shell .table-stage .melds .meld{align-items:flex-end;gap:1px;display:flex;flex-flow:row!important}.game-shell .table-stage .melds--top{inset:16px 18px auto auto}.game-shell .table-stage .melds--right,.game-shell .table-stage .melds--bottom{inset:auto 18px 16px auto}.game-shell .table-stage .melds--left{inset:auto auto 16px 18px}@media (width<=980px),(height<=720px){.game-shell .table-stage{--table-ring-x:56px;--table-ring-y:45px}.game-shell .table-stage>.player{grid-template-rows:18px 10px;grid-template-columns:30px minmax(0,1fr) 62px;width:178px;min-width:178px;max-width:178px;height:44px;min-height:44px;max-height:44px;padding:4px 6px}.game-shell .table-stage>.player .wind{width:30px;height:30px;font-size:15px}.game-shell .table-stage>.player strong{font-size:12px}.game-shell .table-stage>.player small{font-size:8px}.game-shell .table-stage>.player b{width:62px;min-width:62px;max-width:62px;font-size:16px}}.game-shell .table-stage{--table-ring-x:72px;--table-ring-y:64px}.game-shell .table-stage>.player{border-radius:8px;grid-template-rows:1fr;grid-template-columns:34px minmax(0,1fr) 84px;gap:7px;width:230px;min-width:230px;max-width:230px;height:48px;min-height:48px;max-height:48px;padding:5px 8px}.game-shell .table-stage>.player .wind{width:34px;height:34px;font-size:17px}.game-shell .table-stage>.player .player-copy{white-space:nowrap;align-items:center;min-width:0;display:flex}.game-shell .table-stage>.player .player-copy strong{text-overflow:ellipsis;min-width:0;font-size:15px;line-height:1;overflow:hidden}.game-shell .table-stage>.player .player-copy small{display:none}.game-shell .table-stage>.player b{text-align:right;white-space:nowrap;width:84px;min-width:84px;max-width:84px;font-size:20px;line-height:1}.game-shell .table-stage>.player--top{inset:8px auto auto 50%;transform:translate(-50%)rotate(180deg)}.game-shell .table-stage>.player--bottom{inset:auto auto 8px 50%;transform:translate(-50%)}.game-shell .table-stage>.player--left{inset:50% auto auto -79px;transform:translateY(-50%)rotate(90deg)}.game-shell .table-stage>.player--right{inset:50% -79px auto auto;transform:translateY(-50%)rotate(-90deg)}@media (width<=980px),(height<=720px){.game-shell .table-stage{--table-ring-x:60px;--table-ring-y:54px}.game-shell .table-stage>.player{grid-template-columns:30px minmax(0,1fr) 72px;width:196px;min-width:196px;max-width:196px;height:42px;min-height:42px;max-height:42px;padding:4px 6px}.game-shell .table-stage>.player .wind{width:30px;height:30px;font-size:15px}.game-shell .table-stage>.player .player-copy strong{font-size:13px}.game-shell .table-stage>.player b{width:72px;min-width:72px;max-width:72px;font-size:17px}.game-shell .table-stage>.player--top{top:6px}.game-shell .table-stage>.player--bottom{bottom:6px}.game-shell .table-stage>.player--left{left:-68px}.game-shell .table-stage>.player--right{right:-68px}}.game-shell .table-stage>.player,.game-shell .play-layout.has-chat .table-stage>.player{box-shadow:none;color:#fff7e5;text-shadow:0 1px 2px #000000e0;background:0 0;border:0;border-radius:0}.game-shell .table-stage>.player--active{box-shadow:none;filter:drop-shadow(0 0 5px #3fdae7ad);background:0 0;border:0}.game-shell .table-stage>.player .wind{border:0;border-radius:3px;box-shadow:inset 0 0 0 1px #efd28e61}.game-shell .table-stage>.player--top{top:8px}.game-shell .table-stage>.player--bottom{bottom:8px}.game-shell .table-stage>.player--left{left:-79px}.game-shell .table-stage>.player--right{right:-79px}@media (width<=980px),(height<=720px){.game-shell .table-stage>.player--top{top:6px}.game-shell .table-stage>.player--bottom{bottom:6px}.game-shell .table-stage>.player--left{left:-68px}.game-shell .table-stage>.player--right{right:-68px}}.game-shell{min-width:0;min-height:0;overflow:hidden}.game-shell .topbar{width:100%;min-width:0}.game-shell .play-layout,.game-shell .play-layout.has-chat{width:100%;min-width:0;height:calc(100vh - 64px);min-height:0}.game-shell .play-layout{grid-template-columns:minmax(0,1fr)}.game-shell .table-wrap,.game-shell .play-layout.has-chat .table-wrap,.game-shell .mahjong-table,.game-shell .play-layout.has-chat .mahjong-table{min-width:0;min-height:0}@media (width<=980px),(height<=720px){.game-shell .table-stage>.player--top,.game-shell .play-layout.has-chat .table-stage>.player--top{top:6px!important}.game-shell .table-stage>.player--bottom,.game-shell .play-layout.has-chat .table-stage>.player--bottom{bottom:6px!important}.game-shell .table-stage>.player--left,.game-shell .play-layout.has-chat .table-stage>.player--left{left:-68px!important}.game-shell .table-stage>.player--right,.game-shell .play-layout.has-chat .table-stage>.player--right{right:-68px!important}}.game-shell{--festival-ink:#070b0e;--festival-charcoal:#0d1216;--festival-charcoal-2:#151c20;--festival-wood:#21150f;--festival-wood-light:#3b2518;--festival-gold:#bd8731;--festival-gold-light:#edca73;--festival-vermilion:#9b241f;--festival-vermilion-light:#cf4434;--festival-jade:#07523f;--festival-cyan:#45dce3;--festival-cream:#f7ecd4;color:var(--festival-cream);background:radial-gradient(circle at 16% 6%,#b7261f1c,#0000 19%),linear-gradient(#090d10,#0c1115 54%,#070a0c)}.game-shell .topbar{isolation:isolate;background:linear-gradient(90deg,#97221c47,#0000 23% 76%,#07554433),repeating-linear-gradient(135deg,#ffffff05 0 1px,#0000 1px 9px),linear-gradient(#101417,#080c0f);border-bottom:2px solid #6f4b22;height:68px;min-height:68px;padding:7px clamp(16px,2.4vw,38px);position:relative;overflow:hidden;box-shadow:inset 0 -1px #efc76733,0 8px 22px #0000006b}.game-shell .topbar:before,.game-shell .topbar:after{content:"";z-index:-1;opacity:.72;width:11px;height:11px;position:absolute;transform:rotate(33deg);box-shadow:54px 19px #c74835,112px -5px #d4a448,173px 13px #238b81}.game-shell .topbar:before{top:8px;left:28%}.game-shell .topbar:after{bottom:3px;right:25%;transform:rotate(53deg)scale(.7)}.game-shell .brand{gap:11px}.game-shell .game-brand-logo{object-fit:contain;filter:drop-shadow(0 0 8px #c9312959);width:66px;height:52px}.game-shell .brand strong{color:#f5e5bf;letter-spacing:.12em;text-shadow:0 1px #000,0 0 10px #dcac4c29;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:20px}.game-shell .brand small{color:#c39b51;letter-spacing:.18em;font-size:9px}.game-shell .match-labels{gap:10px}.game-shell .secure-pill{color:#9ef6f4;background:linear-gradient(#0d4645cc,#062326e6);border:1px solid #45dce380;border-radius:999px;min-height:34px;padding:0 14px;box-shadow:inset 0 0 0 1px #ffffff0a,0 0 16px #45dce31a}.game-shell .match-labels>span:not(.secure-pill){color:#d4c29a}.game-shell .top-actions{gap:8px}.game-shell .top-actions button{color:#e9d19a;background:linear-gradient(#181b1b,#0b0f11);border:1px solid #70552c;border-radius:9px;min-height:38px;padding:0 14px;box-shadow:inset 0 1px #ffffff0d,0 4px 10px #0000004d}.game-shell .top-actions .sound-toggle{color:#edcf80}.game-shell .top-actions .bgm-toggle{color:#8ce7e5;border-color:#176d70}.game-shell .top-actions .chat-toggle{color:#c9ffff;background:linear-gradient(#096b70,#06474b);border-color:#158c91}.game-shell .top-actions .chat-toggle.is-open{box-shadow:inset 0 0 0 1px #59e6e8,0 0 14px #45dce32e}.game-shell .top-actions>button:last-child{color:#ffe0c3;background:linear-gradient(#8d2b25,#591815);border-color:#9e4438}.game-shell .play-layout,.game-shell .play-layout.has-chat{background:#0a0d0f;gap:0}.game-shell .play-layout.has-chat{grid-template-columns:minmax(0,1fr) minmax(290px,320px)}.game-shell .table-wrap,.game-shell .play-layout.has-chat .table-wrap{background:#130e0a;padding:10px}.game-shell .table-stage{--table-ring-x:clamp(66px, 6.7vw, 90px);--table-ring-y:clamp(54px, 6.4vh, 68px);background:linear-gradient(135deg,#c7372af5 0 39px,#d09b42 40px 43px,#0000 44px) 0 0/86px 86px no-repeat,linear-gradient(225deg,#c7372af5 0 39px,#d09b42 40px 43px,#0000 44px) 100% 0/86px 86px no-repeat,linear-gradient(45deg,#c7372af5 0 39px,#d09b42 40px 43px,#0000 44px) 0 100%/86px 86px no-repeat,linear-gradient(315deg,#c7372af5 0 39px,#d09b42 40px 43px,#0000 44px) 100% 100%/86px 86px no-repeat,repeating-linear-gradient(90deg,#ffffff05 0 1px,#0000 1px 13px),linear-gradient(#3a2619,#20150f 48%,#17100c);border:5px solid #07090a;border-radius:4px;box-shadow:inset 0 0 0 2px #8e632b,inset 0 0 0 5px #0d0704db,inset 0 0 35px #00000094,0 12px 34px #0000006b}.game-shell .table-stage:before,.game-shell .table-stage:after{content:"";z-index:3;pointer-events:none;opacity:.55;position:absolute}.game-shell .table-stage:before{background:linear-gradient(90deg,#0000,#e0b55e 20% 80%,#0000);height:1px;inset:7px 25% auto;box-shadow:0 calc(100vh - 100px) #e0b55e6b}.game-shell .table-stage:after{background:linear-gradient(#0000,#e0b55e 20% 80%,#0000);width:1px;inset:22% auto 22% 10px;box-shadow:calc(100vw - 52px) 0 #e0b55e6b}.game-shell .table-stage>.mahjong-table,.game-shell .play-layout.has-chat .table-stage>.mahjong-table{background:radial-gradient(circle at 50% 45%,#1b966c29,#0000 44%),repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 4px),linear-gradient(145deg,#08795d,#07583f 54%,#064632);border:4px solid #090d0d;border-radius:2px;box-shadow:0 0 0 2px #c48c318c,0 0 0 9px #080b0abd,inset 0 0 70px #0000003d,0 14px 28px #0006}.game-shell .table-stage>.player,.game-shell .play-layout.has-chat .table-stage>.player{width:218px;min-width:218px;max-width:218px;height:46px;min-height:46px;max-height:46px;color:var(--festival-cream);text-shadow:0 1px 2px #000;background:linear-gradient(#1c1e1db8,#070a0bcc);border:1px solid #d9aa4e52;border-radius:7px;grid-template-columns:34px minmax(0,1fr) 82px;gap:6px;padding:5px 7px;box-shadow:inset 0 0 0 1px #ffffff06,0 3px 10px #00000057}.game-shell .table-stage>.player .player-avatar{display:none}.game-shell .table-stage>.player .wind{border:1px solid #f1cd7e9e;border-radius:5px;width:32px;height:32px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:16px;box-shadow:inset 0 0 9px #0003}.game-shell .table-stage>.player .player-copy strong{color:#fff5df;letter-spacing:.03em;font-size:14px}.game-shell .table-stage>.player b{color:#fff8e7;font-size:19px}.game-shell .table-stage>.player--active,.game-shell .play-layout.has-chat .table-stage>.player--active{background:linear-gradient(#0a4c48c7,#061b1fe0);border-color:#45dce3d9;box-shadow:inset 0 0 0 1px #45dce326,0 0 16px #45dce345}.game-shell .table-stage>.player .riichi-badge{color:#fff0cf;background:linear-gradient(#c43a2f,#761a18);border:1px solid #f1c56e;box-shadow:0 3px #4a0b0a,0 0 10px #cf443461}.game-shell .round-center{background:radial-gradient(circle at 82% 15%,#c38f311f,#0000 23%),repeating-radial-gradient(at 50% 118%,#0000 0 13px,#d3a44913 14px 15px,#0000 16px 28px),linear-gradient(155deg,#151b1dfa,#060a0cfa);border:2px solid #a9772e;border-radius:17px;overflow:hidden;box-shadow:inset 0 0 0 1px #f4d1841f,0 18px 38px #0000007a}.game-shell .round-heading span{color:#ebc86f;text-shadow:0 1px #000;font-family:Yu Mincho,Hiragino Mincho ProN,serif}.game-shell .round-heading small,.game-shell .round-grid small,.game-shell .dora small{color:#c7baa0}.game-shell .round-grid div{background:#0510129e;border:1px solid #cfa65040}.game-shell .round-grid strong{color:#fff8e8}.game-shell .tile{background:linear-gradient(145deg,#fffdf4 0 65%,#eee1c9 100%);border-color:#d5c699;box-shadow:inset 0 -3px #bca65e,inset 0 1px #fff,0 4px 8px #00000047}.game-shell .tile--back{background:repeating-linear-gradient(90deg,#c98724 0 3px,#dca640 3px 6px,#b8751c 6px 8px);border-color:#a6691f;box-shadow:inset 0 0 0 2px #f6ca693d,0 4px 8px #0000004d}.game-shell .action-rail{background:radial-gradient(at 50% 140%,#c28f2d24,#0000 52%),repeating-linear-gradient(135deg,#ffffff04 0 1px,#0000 1px 10px),linear-gradient(#12181b,#080c0e);border-top:2px solid #80602d;min-height:70px;padding:10px 16px;box-shadow:inset 0 1px #eeca791f}.game-shell .turn-notice{color:#d9d1c1}.game-shell .pulse-dot{background:var(--festival-cyan);box-shadow:0 0 12px var(--festival-cyan)}.game-shell .action{color:#d7cbb2;background:linear-gradient(#1b2425,#0c1113);border:1px solid #675535;border-radius:8px;box-shadow:inset 0 1px #ffffff0a}.game-shell .action:hover:not(:disabled),.game-shell .action.active{color:#bdf9f6;background:linear-gradient(#0b6464,#073b3f);border-color:#3ebbc0}.game-shell .action.amber{color:#edcb72;border-color:#84652e}.game-shell .action.win{color:#ffb0a5;border-color:#8c3931}.game-shell .discard-button{color:#291907;background:linear-gradient(#f5d773,#bf862b);border:1px solid #ffe39b;border-radius:10px;box-shadow:inset 0 1px #fff5c8,0 4px #714716,0 9px 18px #00000057}.game-shell .discard-button:hover:not(:disabled){filter:brightness(1.07)}.game-shell .table-chat{background:radial-gradient(circle at 100% 0,#96261f1f,#0000 25%),linear-gradient(#10191e,#080d11);border-left:2px solid #765528;box-shadow:inset 1px 0 #ebc77317}.game-shell .table-chat__header{background:linear-gradient(#242b2ab8,#0b111499);border-bottom:1px solid #614722;min-height:68px}.game-shell .table-chat__header i{background:#bb342b;box-shadow:0 0 11px #bb342bb3}.game-shell .table-chat__header strong{color:#f1d899}.game-shell .table-chat__header small{color:#8f9ba0}.game-shell .table-chat__header button{color:#e5b4a6;background:#291514;border-color:#774439}.game-shell .table-chat__empty:before{content:"✿";color:#9b2d27;opacity:.8;margin-bottom:8px;font-size:28px;display:block}.game-shell .table-chat__empty strong{color:#e7d5ae}.game-shell .table-chat__form{background:#070b0dd1;border-top-color:#604622}.game-shell .table-chat__form textarea{color:#f5ead4;background:#0d161b;border-color:#5d4d34}.game-shell .table-chat__form textarea:focus{border-color:#c89139;box-shadow:0 0 0 2px #c8913921}.game-shell .table-chat__form button{color:#fff1d7;background:linear-gradient(#b83a30,#741c19);border:1px solid #dc7b66;box-shadow:0 3px #42100e}@media (width<=1100px),(height<=760px){.game-shell .topbar{height:60px;min-height:60px;padding-block:4px}.game-shell .game-brand-logo{width:55px;height:44px}.game-shell .brand strong{font-size:17px}.game-shell .brand small{font-size:8px}.game-shell .play-layout,.game-shell .play-layout.has-chat{height:calc(100vh - 60px)}.game-shell .play-layout.has-chat{grid-template-columns:minmax(0,1fr) 286px}.game-shell .table-wrap,.game-shell .play-layout.has-chat .table-wrap{padding:7px}.game-shell .table-stage{--table-ring-x:58px;--table-ring-y:50px}.game-shell .table-stage>.player,.game-shell .play-layout.has-chat .table-stage>.player{grid-template-columns:28px minmax(0,1fr) 68px;width:188px;min-width:188px;max-width:188px;height:40px;min-height:40px;max-height:40px;padding:4px 6px}.game-shell .table-stage>.player .wind{width:28px;height:28px;font-size:14px}.game-shell .table-stage>.player .player-copy strong{font-size:12px}.game-shell .table-stage>.player b{width:68px;min-width:68px;max-width:68px;font-size:16px}.game-shell .action-rail{min-height:62px;padding-block:7px}}.game-canvas .table-wrap,.game-canvas .play-layout.has-chat .table-wrap{border:0!important;border-radius:0!important;grid-template-rows:minmax(0,1fr) 72px!important;width:1280px!important;height:720px!important;padding:0!important;display:grid!important;position:absolute!important;inset:0!important;overflow:hidden!important}.game-canvas .table-stage,.game-canvas .play-layout.has-chat .table-stage{--table-ring-x:52px!important;--table-ring-y:48px!important;border-width:0!important;border-radius:0!important;width:1280px!important;height:648px!important;position:relative!important}.game-canvas .table-stage>.mahjong-table,.game-canvas .play-layout.has-chat .table-stage>.mahjong-table{border-radius:8px!important;inset:48px 52px 22px!important}.game-canvas .mahjong-table .round-center,.game-canvas .play-layout.has-chat .mahjong-table .round-center{border-radius:13px!important;grid-template-columns:minmax(0,1fr) 64px!important;column-gap:7px!important;width:220px!important;min-width:220px!important;max-width:220px!important;min-height:142px!important;padding:12px!important}.game-canvas .round-center .dora-list .tile{width:27px!important;height:38px!important}.game-canvas .mahjong-table .hand .tile,.game-canvas .play-layout.has-chat .mahjong-table .hand .tile{border-radius:5px!important;flex:0 0 54px!important;width:54px!important;height:73px!important}.game-canvas .mahjong-table .hand .tile-art svg{width:100%!important;height:100%!important}.game-canvas .table-stage>.player,.game-canvas .play-layout.has-chat .table-stage>.player{grid-template-rows:26px!important;grid-template-columns:26px minmax(0,1fr) 68px!important;width:184px!important;min-width:184px!important;max-width:184px!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:5px 6px!important}.game-canvas .table-stage>.player .wind{width:26px!important;min-width:26px!important;max-width:26px!important;height:26px!important;min-height:26px!important;max-height:26px!important;font-size:13px!important;line-height:26px!important}.game-canvas .table-stage>.player .player-copy strong{font-size:12px!important}.game-canvas .table-stage>.player>b{width:68px!important;min-width:68px!important;max-width:68px!important;font-size:15px!important}.game-canvas .table-chat,.game-canvas .play-layout.has-chat .table-chat{z-index:60!important;border-left:2px solid #765528!important;width:330px!important;height:666px!important;display:grid!important;position:absolute!important;inset:54px 0 0 auto!important;box-shadow:-18px 0 42px #0000007a!important}@media (width<=1100px),(height<=760px){.game-canvas .topbar{height:54px!important;min-height:54px!important}.game-canvas .play-layout,.game-canvas .play-layout.has-chat{width:1280px!important;min-width:1280px!important;height:720px!important;min-height:720px!important}.game-canvas .table-wrap,.game-canvas .play-layout.has-chat .table-wrap{height:720px!important}.game-canvas .table-stage{--table-ring-x:52px!important;--table-ring-y:48px!important;width:1280px!important;height:648px!important}}.game-shell .table-stage,.game-shell .play-layout.has-chat .table-stage{--table-ring-x:clamp(58px, 5.8vw, 78px);--table-ring-y:clamp(48px, 6.2vh, 64px);overflow:hidden}.game-shell .table-stage>.mahjong-table,.game-shell .play-layout.has-chat .table-stage>.mahjong-table{overflow:hidden;inset:var(--table-ring-y) var(--table-ring-x)!important}.game-shell .table-stage>.player,.game-shell .play-layout.has-chat .table-stage>.player{box-sizing:border-box;grid-template-rows:30px!important;grid-template-columns:30px minmax(0,1fr) 76px!important;align-items:center!important;gap:6px!important;width:clamp(184px,15vw,216px)!important;min-width:clamp(184px,15vw,216px)!important;max-width:clamp(184px,15vw,216px)!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding:5px 7px!important;display:grid!important;overflow:visible!important}.game-shell .table-stage>.player .player-avatar,.game-shell .play-layout.has-chat .table-stage>.player .player-avatar{display:none!important}.game-shell .table-stage>.player .wind,.game-shell .play-layout.has-chat .table-stage>.player .wind{box-sizing:border-box!important;grid-area:1/1!important;place-self:center!important;width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;min-height:30px!important;max-height:30px!important;margin:0!important;font-size:15px!important;line-height:30px!important;overflow:hidden!important}.game-shell .table-stage>.player .player-copy,.game-shell .play-layout.has-chat .table-stage>.player .player-copy{grid-area:1/2!important;align-items:center!important;min-width:0!important;display:flex!important;overflow:hidden!important}.game-shell .table-stage>.player .player-copy strong,.game-shell .play-layout.has-chat .table-stage>.player .player-copy strong{text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;font-size:13px!important;line-height:1!important;overflow:hidden!important}.game-shell .table-stage>.player .player-copy small,.game-shell .play-layout.has-chat .table-stage>.player .player-copy small{display:none!important}.game-shell .table-stage>.player>b,.game-shell .play-layout.has-chat .table-stage>.player>b{box-sizing:border-box!important;text-align:right!important;white-space:nowrap!important;grid-area:1/3!important;width:76px!important;min-width:76px!important;max-width:76px!important;margin:0!important;font-size:17px!important;line-height:1!important;overflow:hidden!important}.game-shell .table-stage>.player--top,.game-shell .play-layout.has-chat .table-stage>.player--top{inset:calc((var(--table-ring-y) - 40px) / 2) auto auto 50%!important;transform:translate(-50%)rotate(180deg)!important}.game-shell .table-stage>.player--bottom,.game-shell .play-layout.has-chat .table-stage>.player--bottom{inset:auto auto calc((var(--table-ring-y) - 40px) / 2) 50%!important;transform:translate(-50%)!important}.game-shell .table-stage>.player--left,.game-shell .play-layout.has-chat .table-stage>.player--left{inset:50% auto auto calc(var(--table-ring-x) / 2)!important;transform:translate(-50%,-50%)rotate(90deg)!important}.game-shell .table-stage>.player--right,.game-shell .play-layout.has-chat .table-stage>.player--right{inset:50% calc(var(--table-ring-x) / 2) auto auto!important;transform:translate(50%,-50%)rotate(-90deg)!important}.game-shell .table-stage>.player .riichi-badge,.game-shell .play-layout.has-chat .table-stage>.player .riichi-badge{min-width:42px!important;padding:2px 5px!important;font-size:11px!important;animation:none!important;inset:50% -47px auto auto!important;transform:translateY(-50%)!important}.game-shell .mahjong-table .round-center,.game-shell .play-layout.has-chat .mahjong-table .round-center{box-sizing:border-box!important;z-index:5!important;width:clamp(236px,23cqw,286px)!important;max-width:286px!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.game-shell .mahjong-table .river,.game-shell .play-layout.has-chat .mahjong-table .river{z-index:7!important;grid-template-rows:repeat(3,max-content)!important;grid-template-columns:repeat(6,max-content)!important;grid-auto-flow:row!important;gap:3px!important}.game-shell .mahjong-table .river .tile,.game-shell .play-layout.has-chat .mahjong-table .river .tile,.game-shell .mahjong-table .melds .tile,.game-shell .play-layout.has-chat .mahjong-table .melds .tile{border-bottom-width:3px!important;width:clamp(23px,2.35cqw,32px)!important;height:clamp(32px,3.25cqw,44px)!important;margin:0!important}.game-shell .mahjong-table .river--left .tile,.game-shell .mahjong-table .river--right .tile,.game-shell .play-layout.has-chat .mahjong-table .river--left .tile,.game-shell .play-layout.has-chat .mahjong-table .river--right .tile{width:clamp(23px,2.35cqw,32px)!important;height:clamp(32px,3.25cqw,44px)!important}.game-shell .mahjong-table .river--left .tile span,.game-shell .mahjong-table .river--right .tile span,.game-shell .play-layout.has-chat .mahjong-table .river--left .tile span,.game-shell .play-layout.has-chat .mahjong-table .river--right .tile span{transform:none!important}.game-shell .mahjong-table .melds,.game-shell .play-layout.has-chat .mahjong-table .melds{z-index:8!important;flex-flow:row-reverse!important;align-items:flex-end!important;gap:6px!important;display:flex!important;transform:none!important}.game-shell .mahjong-table .melds .meld,.game-shell .play-layout.has-chat .mahjong-table .melds .meld{flex-flow:row!important;align-items:flex-end!important;gap:1px!important;display:flex!important}.game-shell .mahjong-table .melds--left .tile span,.game-shell .mahjong-table .melds--right .tile span,.game-shell .play-layout.has-chat .mahjong-table .melds--left .tile span,.game-shell .play-layout.has-chat .mahjong-table .melds--right .tile span{transform:none!important}.game-shell .mahjong-table .hand .tile{width:clamp(38px,4.15cqw,58px)!important;height:clamp(52px,5.55cqw,78px)!important}@media (width<=1100px),(height<=760px){.game-shell .table-stage,.game-shell .play-layout.has-chat .table-stage{--table-ring-x:54px;--table-ring-y:46px}.game-shell .table-stage>.player,.game-shell .play-layout.has-chat .table-stage>.player{grid-template-rows:26px!important;grid-template-columns:26px minmax(0,1fr) 64px!important;width:174px!important;min-width:174px!important;max-width:174px!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:5px!important}.game-shell .table-stage>.player .wind,.game-shell .play-layout.has-chat .table-stage>.player .wind{width:26px!important;min-width:26px!important;max-width:26px!important;height:26px!important;min-height:26px!important;max-height:26px!important;font-size:13px!important;line-height:26px!important}.game-shell .table-stage>.player .player-copy strong,.game-shell .play-layout.has-chat .table-stage>.player .player-copy strong{font-size:11px!important}.game-shell .table-stage>.player>b,.game-shell .play-layout.has-chat .table-stage>.player>b{width:64px!important;min-width:64px!important;max-width:64px!important;font-size:14px!important}.game-shell .table-stage>.player--top,.game-shell .play-layout.has-chat .table-stage>.player--top{top:calc((var(--table-ring-y) - 36px) / 2)!important}.game-shell .table-stage>.player--bottom,.game-shell .play-layout.has-chat .table-stage>.player--bottom{bottom:calc((var(--table-ring-y) - 36px) / 2)!important}.game-shell .mahjong-table .river--top,.game-shell .play-layout.has-chat .mahjong-table .river--top{bottom:calc(50% + 92px)!important}.game-shell .mahjong-table .river--bottom,.game-shell .play-layout.has-chat .mahjong-table .river--bottom{top:calc(50% + 92px)!important}.game-shell .mahjong-table .river--left,.game-shell .play-layout.has-chat .mahjong-table .river--left{right:calc(50% + 142px)!important}.game-shell .mahjong-table .river--right,.game-shell .play-layout.has-chat .mahjong-table .river--right{left:calc(50% + 142px)!important}}.game-shell .mahjong-table .melds,.game-shell .play-layout.has-chat .mahjong-table .melds{--meld-tile-w:clamp(23px, 2.35cqw, 32px);--meld-tile-h:clamp(32px, 3.25cqw, 44px);flex-flow:row-reverse!important;align-items:flex-end!important;gap:7px!important;display:flex!important;transform:none!important}.game-shell .mahjong-table .melds .meld,.game-shell .play-layout.has-chat .mahjong-table .melds .meld{min-width:max-content;flex-flow:row!important;align-items:flex-end!important;gap:1px!important;display:flex!important}.game-shell .mahjong-table .meld-tile-slot,.game-shell .play-layout.has-chat .mahjong-table .meld-tile-slot,.meld-picker .meld-tile-slot{width:var(--meld-tile-w,32px);height:var(--meld-tile-h,44px);flex:none;display:inline-block;position:relative}.game-shell .mahjong-table .meld-tile-slot--sideways,.game-shell .play-layout.has-chat .mahjong-table .meld-tile-slot--sideways,.meld-picker .meld-tile-slot--sideways{width:var(--meld-tile-h,44px);height:var(--meld-tile-w,32px)}.game-shell .mahjong-table .meld-tile-slot>.tile,.game-shell .play-layout.has-chat .mahjong-table .meld-tile-slot>.tile,.meld-picker .meld-tile-slot>.tile{transform-origin:50%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:var(--meld-tile-w,32px)!important;height:var(--meld-tile-h,44px)!important;margin:0!important}.game-shell .mahjong-table .meld-tile-slot--sideways>.tile,.game-shell .play-layout.has-chat .mahjong-table .meld-tile-slot--sideways>.tile,.meld-picker .meld-tile-slot--sideways>.tile{transform:translate(-50%,-50%)rotate(90deg)!important}.game-shell .mahjong-table .melds--bottom,.game-shell .play-layout.has-chat .mahjong-table .melds--bottom{inset:auto 14px 10px auto!important}.game-shell .mahjong-table .melds--left,.game-shell .play-layout.has-chat .mahjong-table .melds--left{inset:auto auto 10px 14px!important}.game-shell .mahjong-table .melds--top,.game-shell .play-layout.has-chat .mahjong-table .melds--top{inset:10px auto auto 14px!important}.game-shell .mahjong-table .melds--right,.game-shell .play-layout.has-chat .mahjong-table .melds--right{inset:10px 14px auto auto!important}.game-shell .mahjong-table .tile,.game-shell .play-layout.has-chat .mahjong-table .tile{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.game-shell .mahjong-table .tile:after,.game-shell .play-layout.has-chat .mahjong-table .tile:after{content:none!important}.game-shell .mahjong-table .tile-art svg,.game-shell .play-layout.has-chat .mahjong-table .tile-art svg{filter:drop-shadow(0 4px 3px #00000042)}.game-shell .mahjong-table .river,.game-shell .play-layout.has-chat .mahjong-table .river{--river-tile-w:clamp(22px, 2.15cqw, 30px);--river-tile-h:clamp(31px, 3cqw, 42px);place-items:center!important}.game-shell .mahjong-table .river-tile-slot,.game-shell .play-layout.has-chat .mahjong-table .river-tile-slot{width:var(--river-tile-w);height:var(--river-tile-h);display:block;position:relative}.game-shell .mahjong-table .river-tile-slot>.tile,.game-shell .play-layout.has-chat .mahjong-table .river-tile-slot>.tile{transform-origin:50%;position:absolute;inset:50% auto auto 50%;width:var(--river-tile-w)!important;height:var(--river-tile-h)!important;margin:0!important;transform:translate(-50%,-50%)!important}.game-shell .mahjong-table .river-tile-slot--sideways>.tile,.game-shell .play-layout.has-chat .mahjong-table .river-tile-slot--sideways>.tile{transform:translate(-50%,-50%)rotate(90deg)!important}.game-shell .mahjong-table .melds--left,.game-shell .mahjong-table .melds--right,.game-shell .play-layout.has-chat .mahjong-table .melds--left,.game-shell .play-layout.has-chat .mahjong-table .melds--right{writing-mode:horizontal-tb!important;align-items:center!important;max-width:none!important;max-height:calc(50% - 22px)!important;display:flex!important}.game-shell .mahjong-table .melds--left,.game-shell .play-layout.has-chat .mahjong-table .melds--left{flex-flow:column-reverse!important}.game-shell .mahjong-table .melds--right,.game-shell .play-layout.has-chat .mahjong-table .melds--right{flex-flow:column!important}.game-shell .mahjong-table .melds--left .meld,.game-shell .mahjong-table .melds--right .meld,.game-shell .play-layout.has-chat .mahjong-table .melds--left .meld,.game-shell .play-layout.has-chat .mahjong-table .melds--right .meld{min-height:max-content;flex-flow:column!important;align-items:center!important;min-width:0!important;display:flex!important}.game-shell .mahjong-table .melds--left .meld-tile-slot,.game-shell .mahjong-table .melds--right .meld-tile-slot,.game-shell .play-layout.has-chat .mahjong-table .melds--left .meld-tile-slot,.game-shell .play-layout.has-chat .mahjong-table .melds--right .meld-tile-slot{width:var(--meld-tile-h,44px)!important;height:var(--meld-tile-w,32px)!important}.game-shell .mahjong-table .melds--left .meld-tile-slot--sideways,.game-shell .mahjong-table .melds--right .meld-tile-slot--sideways,.game-shell .play-layout.has-chat .mahjong-table .melds--left .meld-tile-slot--sideways,.game-shell .play-layout.has-chat .mahjong-table .melds--right .meld-tile-slot--sideways{width:var(--meld-tile-w,32px)!important;height:var(--meld-tile-h,44px)!important}.game-shell .mahjong-table .melds--left .meld-tile-slot>.tile,.game-shell .play-layout.has-chat .mahjong-table .melds--left .meld-tile-slot>.tile{transform:translate(-50%,-50%)rotate(90deg)!important}.game-shell .mahjong-table .melds--right .meld-tile-slot>.tile,.game-shell .play-layout.has-chat .mahjong-table .melds--right .meld-tile-slot>.tile{transform:translate(-50%,-50%)rotate(-90deg)!important}.game-shell .mahjong-table .melds--left .meld-tile-slot--sideways>.tile,.game-shell .play-layout.has-chat .mahjong-table .melds--left .meld-tile-slot--sideways>.tile{transform:translate(-50%,-50%)rotate(180deg)!important}.game-shell .mahjong-table .melds--right .meld-tile-slot--sideways>.tile,.game-shell .play-layout.has-chat .mahjong-table .melds--right .meld-tile-slot--sideways>.tile{transform:translate(-50%,-50%)rotate(0)!important}.game-shell .mahjong-table .hand,.game-shell .play-layout.has-chat .mahjong-table .hand{bottom:5px!important}.game-shell .mahjong-table .hand .tile,.game-shell .play-layout.has-chat .mahjong-table .hand .tile{width:clamp(36px,3.85cqw,54px)!important;height:clamp(50px,5.2cqw,73px)!important}.game-shell .mahjong-table .opponent-hand--top,.game-shell .play-layout.has-chat .mahjong-table .opponent-hand--top{top:5px!important}.game-shell .mahjong-table .opponent-hand--top .tile,.game-shell .play-layout.has-chat .mahjong-table .opponent-hand--top .tile{width:clamp(24px,2.5cqw,34px)!important;height:clamp(34px,3.45cqw,47px)!important}.game-shell .mahjong-table .opponent-hand--left,.game-shell .play-layout.has-chat .mahjong-table .opponent-hand--left{left:clamp(62px,6.3cqw,86px)!important}.game-shell .mahjong-table .opponent-hand--right,.game-shell .play-layout.has-chat .mahjong-table .opponent-hand--right{right:clamp(62px,6.3cqw,86px)!important}.game-shell .mahjong-table .melds--left,.game-shell .play-layout.has-chat .mahjong-table .melds--left{max-height:calc(100% - 20px)!important;inset:auto auto 10px clamp(8px,1.2cqw,16px)!important}.game-shell .mahjong-table .melds--right,.game-shell .play-layout.has-chat .mahjong-table .melds--right{max-height:calc(100% - 20px)!important;inset:10px clamp(8px,1.2cqw,16px) auto auto!important}.game-shell .mahjong-table .melds--left[data-meld-count="3"],.game-shell .mahjong-table .melds--left[data-meld-count="4"],.game-shell .mahjong-table .melds--right[data-meld-count="3"],.game-shell .mahjong-table .melds--right[data-meld-count="4"],.game-shell .play-layout.has-chat .mahjong-table .melds--left[data-meld-count="3"],.game-shell .play-layout.has-chat .mahjong-table .melds--left[data-meld-count="4"],.game-shell .play-layout.has-chat .mahjong-table .melds--right[data-meld-count="3"],.game-shell .play-layout.has-chat .mahjong-table .melds--right[data-meld-count="4"]{--meld-tile-w:clamp(23px, 2.15cqw, 29px);--meld-tile-h:clamp(32px, 2.95cqw, 40px);gap:3px!important}.game-shell .mahjong-table .tile--claimed,.game-shell .play-layout.has-chat .mahjong-table .tile--claimed{z-index:12;filter:drop-shadow(0 0 8px #ff5762)drop-shadow(0 0 18px #ff3e4de6);animation:.56s ease-in-out infinite alternate claimed-target-flash}@keyframes claimed-target-flash{0%{filter:drop-shadow(0 0 5px #ff5964)drop-shadow(0 0 10px #ff44529e)}to{filter:drop-shadow(0 0 9px #fff0b5)drop-shadow(0 0 24px #ff394c)}}.game-shell .tile--matching:not(.tile--call-candidate):not(.tile--claimed){z-index:10;animation:.76s ease-in-out infinite alternate matching-tile-blue-pulse;box-shadow:0 0 0 2px #5bc2fffa,0 0 12px #2fa6ffe6,0 0 26px #237dff9e}@keyframes matching-tile-blue-pulse{0%{box-shadow:0 0 0 2px #5bc2ffd1,0 0 9px #2fa6ffad,0 0 18px #237dff6b}to{box-shadow:0 0 0 3px #b4e7ff,0 0 16px #38b5ff,0 0 30px #237dffbd}}.game-shell .turn-notice--call-ready{color:#fff1b0;text-shadow:0 0 12px #ffcb438c}.game-shell .mahjong-table .hand .tile--dora,.game-shell .play-layout.has-chat .mahjong-table .hand .tile--dora{isolation:isolate}.game-shell .mahjong-table .hand .tile-dora-shine,.game-shell .play-layout.has-chat .mahjong-table .hand .tile-dora-shine{z-index:4;pointer-events:none;border-radius:5px;display:block;position:absolute;inset:3px 4px 7px;overflow:hidden}.game-shell .mahjong-table .hand .tile-dora-shine:before,.game-shell .play-layout.has-chat .mahjong-table .hand .tile-dora-shine:before{content:"";opacity:0;filter:blur(.4px);background:linear-gradient(90deg,#0000,#ffdd762e 24%,#fffbdceb 51%,#ffd55133 76%,#0000);width:46%;animation:3.6s ease-in-out infinite hand-dora-glint;position:absolute;top:-18%;bottom:-18%;left:-62%;transform:skew(-18deg)}@keyframes hand-dora-glint{0%,70%{opacity:0;transform:translate(0)skew(-18deg)}74%{opacity:.9}87%{opacity:.9;transform:translate(355%)skew(-18deg)}91%,to{opacity:0;transform:translate(355%)skew(-18deg)}}@media (prefers-reduced-motion:reduce){.game-shell .mahjong-table .hand .tile-dora-shine:before,.game-shell .play-layout.has-chat .mahjong-table .hand .tile-dora-shine:before{animation:none}.game-shell .mahjong-table .hand .tile--dora .tile-art svg,.game-shell .play-layout.has-chat .mahjong-table .hand .tile--dora .tile-art svg{filter:drop-shadow(0 0 5px #ffd2528c)}}.game-shell .turn-notice--ron-ready{color:#fff;text-shadow:0 0 14px #ff4048e6}.game-shell .action--ready{animation:.72s ease-in-out infinite alternate callable-action-pulse;position:relative;overflow:visible;color:#fff7c8!important;background:linear-gradient(#826419,#463008)!important;border-color:#ffe177!important;box-shadow:0 0 0 2px #ffd75747,0 0 18px #ffbf3080!important}.game-shell .action--ready-win{background:linear-gradient(#a42e2e,#5d1418)!important;border-color:#ff8b82!important;box-shadow:0 0 0 2px #ff68654d,0 0 22px #ff3641ad!important}.game-shell .action--ready small{letter-spacing:.04em;margin-top:1px;font-size:8px;line-height:1;display:block}@keyframes callable-action-pulse{0%{filter:brightness();transform:translateY(0)}to{filter:brightness(1.22);transform:translateY(-2px)}}.game-shell .result-overlay{max-height:calc(100% - 28px);overflow-y:auto}.result-yaku{text-align:left;background:#ffffff09;border:1px solid #ebc66c61;border-radius:11px;overflow:hidden}.result-yaku header{color:#f2d37d;border-bottom:1px solid #ebc66c3d;justify-content:space-between;align-items:center;gap:16px;padding:9px 13px;display:flex}.result-yaku header span{color:#fff4d8;font-weight:900}.result-yaku ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:1px;list-style:none;display:grid}.result-yaku li{color:#f4f0e7;background:#040c1294;justify-content:space-between;gap:12px;padding:8px 11px;font-size:14px;font-weight:800;display:flex}.result-yaku li b{color:#f2c95f;white-space:nowrap}@media (height<=760px){.game-shell .result-overlay{gap:9px;padding-block:16px}.result-yaku li{padding-block:5px}}.limit-cut-in{z-index:27;pointer-events:none;animation:1.82s ease-out both limit-cutin-stage;position:absolute;inset:0;overflow:hidden}.limit-cut-in__flash{opacity:0;background:radial-gradient(circle at 70% 48%,#fff6afe6,#7358ff47 17%,#0000 45%);animation:.52s ease-out .34s both limit-cutin-flash;position:absolute;inset:0}.limit-cut-in__band{background:linear-gradient(102deg,#04070dfc 0 32%,#130811f7 55%,#04070efc 100%);border-block:2px solid #ffdf7ee6;width:116%;height:clamp(220px,34%,340px);animation:1.72s cubic-bezier(.19,.74,.22,1) both limit-cutin-sweep;position:absolute;top:27%;left:-8%;overflow:hidden;transform:translate(-115%)rotate(-5deg);box-shadow:0 0 0 3px #5f2d196b,0 20px 55px #000000b8,0 0 42px #e8372a38}.limit-cut-in__band:before,.limit-cut-in__band:after{content:"";background:linear-gradient(98deg,#0000 4%,#a30711b3 19%,#0000 37%),repeating-linear-gradient(101deg,#0000 0 38px,#ffffff0e 40px 42px);position:absolute;inset:-34% -5%;transform:skew(-18deg)}.limit-cut-in__band:after{filter:blur(2px)drop-shadow(0 0 14px #ee2930);background:linear-gradient(90deg,#0000,#fff6c3 16%,#d91f24 57%,#0000);height:14px;animation:.72s ease-out .24s both limit-cutin-slash;inset:auto -5% 8% 18%}.limit-cut-in__brush{z-index:1;opacity:.72;clip-path:polygon(0 42%,14% 18%,33% 46%,59% 0,81% 52%,100% 30%,100% 74%,76% 58%,50% 100%,29% 57%,0 88%);background:linear-gradient(90deg,#0000 1%,#d41620 12%,#f4d070 44%,#0000 88%);width:100%;height:9px;position:absolute;left:0}.limit-cut-in__brush--top{top:12%}.limit-cut-in__brush--bottom{bottom:11%;transform:scaleX(-1)}.limit-cut-in__brand{z-index:3;opacity:0;filter:drop-shadow(0 0 3px #fff)drop-shadow(0 0 22px #d31c24db);width:clamp(230px,27vw,420px);animation:.58s cubic-bezier(.15,.85,.22,1.18) .22s both limit-cutin-brand;position:absolute;top:50%;left:13%;transform:translateY(-50%)rotate(4deg)scale(.7)}.limit-cut-in__brand img{width:100%;height:auto;display:block}.limit-cut-in__copy{z-index:4;color:#fff7da;text-shadow:0 3px #25080a,0 0 15px #ffc54d6b;min-width:270px;display:grid;position:absolute;top:50%;left:49%;transform:translateY(-50%)}.limit-cut-in__copy span{color:#f4e6bd;letter-spacing:.16em;font-size:clamp(17px,1.5vw,24px);font-weight:900}.limit-cut-in__copy strong{color:#f5d273;letter-spacing:.08em;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(58px,7vw,106px);line-height:.95}.limit-cut-in__copy b{letter-spacing:.04em;margin-top:7px;font-size:clamp(24px,2.8vw,42px);line-height:1}.limit-cut-in__orb{z-index:2;aspect-ratio:1;opacity:0;background:radial-gradient(circle,#48138640 0 20%,#2a36c3e0 23%,#5f169f9e 48%,#0000 71%);border:2px solid #a688ffe6;border-radius:50%;width:clamp(150px,18vw,250px);animation:.55s cubic-bezier(.12,.82,.2,1.2) .42s both limit-cutin-orb;position:absolute;top:50%;right:12%;transform:translateY(-50%)scale(.2);box-shadow:0 0 18px #fff,0 0 42px #653bd7,inset 0 0 38px #26106d}.limit-cut-in__orb:before,.limit-cut-in__orb:after{content:"";border:2px solid #dfcfffa6;border-radius:50%;position:absolute;inset:11%}.limit-cut-in__orb:after{border-radius:18%;inset:24%;transform:rotate(45deg)}.limit-cut-in__tile{z-index:5;opacity:0;animation:.54s cubic-bezier(.15,.86,.18,1.25) .5s both limit-cutin-tile;position:absolute;top:50%;right:calc(12% + clamp(25px,4vw,58px));transform:translateY(-50%)rotate(8deg)scale(.35)}.limit-cut-in__tile .tile{pointer-events:none;border-color:#fff0a4;width:clamp(82px,8vw,122px);height:clamp(112px,11vw,166px);box-shadow:0 0 0 4px #ffee8eb3,0 0 34px #fff0a5,0 18px 34px #000000b8}.limit-cut-in__bolt{z-index:4;clip-path:polygon(45% 0,70% 0,53% 38%,80% 38%,34% 100%,47% 55%,18% 55%);filter:drop-shadow(0 0 6px #fff)drop-shadow(0 0 18px #ffd22e);opacity:0;background:linear-gradient(90deg,#0000,#fff 35%,#ffd952 57%,#0000);width:48px;height:150%;animation:.45s steps(2,end) .45s both limit-cutin-bolt;position:absolute;top:-25%;right:18%}.limit-cut-in__bolt--two{animation-delay:.58s;right:9%;transform:scaleX(-1)rotate(10deg)}.result-overlay--limit{animation-delay:1.62s}@keyframes limit-cutin-sweep{0%{transform:translate(-115%)rotate(-5deg)}18%,76%{transform:translate(0)rotate(-5deg)}to{transform:translate(115%)rotate(-5deg)}}@keyframes limit-cutin-stage{0%,91%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes limit-cutin-flash{0%{opacity:0;transform:scale(.5)}38%{opacity:1}to{opacity:0;transform:scale(1.22)}}@keyframes limit-cutin-slash{0%{opacity:0;transform:translate(-65%)scaleX(.2)}38%{opacity:1}to{opacity:.15;transform:translate(20%)scaleX(1.2)}}@keyframes limit-cutin-brand{0%{opacity:0;transform:translateY(-50%)translate(-65px)rotate(4deg)scale(.7)}to{opacity:1;transform:translateY(-50%)rotate(4deg)scale(1)}}@keyframes limit-cutin-orb{0%{opacity:0;transform:translateY(-50%)scale(.2)rotate(-35deg)}to{opacity:1;transform:translateY(-50%)scale(1)rotate(0)}}@keyframes limit-cutin-tile{0%{opacity:0;transform:translateY(-50%)rotate(18deg)scale(.35)}to{opacity:1;transform:translateY(-50%)rotate(8deg)scale(1)}}@keyframes limit-cutin-bolt{0%,to{opacity:0}25%,55%{opacity:1}40%,72%{opacity:.16}}@media (width<=900px),(height<=650px){.limit-cut-in__band{height:220px;top:29%}.limit-cut-in__brand{width:230px;left:9%}.limit-cut-in__copy{min-width:210px;left:42%}.limit-cut-in__copy strong{font-size:58px}.limit-cut-in__orb{width:150px;right:5%}.limit-cut-in__tile{right:calc(5% + 34px)}}@media (prefers-reduced-motion:reduce){.limit-cut-in,.limit-cut-in__flash,.limit-cut-in__band,.limit-cut-in__brand,.limit-cut-in__orb,.limit-cut-in__tile,.limit-cut-in__bolt,.limit-cut-in__band:after{animation-duration:.01ms!important;animation-delay:0s!important}.result-overlay--limit{animation-delay:0s}}.cutin-preview{color:#b9c6d3;text-align:center;background:#07111d;place-content:center;gap:16px;min-height:100vh;padding:24px;display:grid}.cutin-preview__table{aspect-ratio:16/10;background:linear-gradient(45deg,#0000 49.85%,#003f3a80 50%,#0000 50.15%),linear-gradient(-45deg,#0000 49.85%,#003f3a80 50%,#0000 50.15%),radial-gradient(circle at 50% 48%,#12816f,#075e54 72%,#06483f);border:10px solid #302719;width:min(1180px,100vw - 48px);position:relative;overflow:hidden;box-shadow:0 26px 80px #00000080,inset 0 0 90px #0000002e}.cutin-preview__wall{background:repeating-linear-gradient(90deg,#d8972d 0 35px,#ab701e 36px 39px);border-radius:4px;position:absolute;box-shadow:0 5px 10px #00000059}.cutin-preview__wall--top{width:38%;height:36px;top:7%;left:31%}.cutin-preview__wall--left{width:36px;height:38%;top:32%;left:7%;transform:rotate(90deg)}.cutin-preview__wall--right{width:36px;height:38%;top:32%;right:7%;transform:rotate(90deg)}.cutin-preview__center{color:#e9c768;background:#07131f;border:2px solid #8a6a2a;border-radius:12px;padding:22px 42px;font:900 34px/1 Yu Mincho,serif;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cutin-preview>p{margin:0;font-size:13px}.game-shell .mahjong-table,.game-shell .play-layout.has-chat .mahjong-table{--river-tile-w:clamp(22px, 2.15cqw, 30px);--river-tile-h:clamp(31px, 3cqw, 42px);--river-gap:3px;--river-block-h:calc(var(--river-tile-h) * 3 + var(--river-gap) * 2);container-type:size!important}.game-shell .mahjong-table .round-center,.game-shell .play-layout.has-chat .mahjong-table .round-center{grid-template-columns:minmax(0,1fr) minmax(72px,82px)!important;column-gap:10px!important;width:clamp(250px,24cqw,300px)!important;min-width:250px!important;max-width:300px!important;overflow:visible!important}.game-shell .mahjong-table .round-heading,.game-shell .mahjong-table .round-grid,.game-shell .mahjong-table .round-grid>div,.game-shell .mahjong-table .dora{min-width:0!important}.game-shell .mahjong-table .round-heading small,.game-shell .mahjong-table .round-grid small,.game-shell .mahjong-table .dora small{writing-mode:horizontal-tb!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important}.game-shell .mahjong-table .round-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.game-shell .mahjong-table .dora{grid-column:2!important;overflow:visible!important}.game-shell .mahjong-table .dora-list{flex-wrap:nowrap!important;justify-content:flex-start!important;align-items:flex-start!important;min-width:30px!important;display:flex!important;overflow:visible!important}.game-shell .mahjong-table .river,.game-shell .play-layout.has-chat .mahjong-table .river{gap:var(--river-gap)!important;grid-template-rows:repeat(3,max-content)!important;grid-template-columns:repeat(6,max-content)!important;grid-auto-flow:row!important}.game-shell .mahjong-table .river-tile-slot,.game-shell .play-layout.has-chat .mahjong-table .river-tile-slot{width:var(--river-tile-w)!important;height:var(--river-tile-h)!important}.game-shell .mahjong-table .river-tile-slot--sideways,.game-shell .play-layout.has-chat .mahjong-table .river-tile-slot--sideways{width:var(--river-tile-h)!important;height:var(--river-tile-w)!important}.game-shell .mahjong-table .river-tile-slot>.tile,.game-shell .play-layout.has-chat .mahjong-table .river-tile-slot>.tile{width:var(--river-tile-w)!important;height:var(--river-tile-h)!important}.game-shell .mahjong-table .river--top,.game-shell .play-layout.has-chat .mahjong-table .river--top{inset:clamp(92px,13cqh,112px) auto auto 50%!important;transform:translate(-50%)rotate(180deg)!important}.game-shell .mahjong-table .river--bottom,.game-shell .play-layout.has-chat .mahjong-table .river--bottom{inset:auto auto clamp(120px,18cqh,146px) 50%!important;transform:translate(-50%)!important}.game-shell .mahjong-table .river--left,.game-shell .play-layout.has-chat .mahjong-table .river--left{inset:50% calc(50% + 166px) auto auto!important;transform:translateY(-50%)rotate(90deg)!important}.game-shell .mahjong-table .river--right,.game-shell .play-layout.has-chat .mahjong-table .river--right{inset:50% auto auto calc(50% + 166px)!important;transform:translateY(-50%)rotate(-90deg)!important}.game-shell .mahjong-table .hand,.game-shell .play-layout.has-chat .mahjong-table .hand{z-index:6!important;bottom:5px!important;left:50%!important}.game-canvas{width:1280px!important;height:720px!important}.game-canvas .topbar{z-index:40!important;width:1280px!important;height:54px!important;min-height:54px!important;padding:0 18px!important;position:absolute!important;inset:0 0 auto!important}.game-canvas .table-wrap,.game-canvas .play-layout.has-chat .table-wrap{grid-template-rows:minmax(0,1fr) 72px!important;width:1280px!important;min-width:1280px!important;height:720px!important;min-height:720px!important;padding:0!important;display:grid!important;position:absolute!important;inset:0!important;overflow:hidden!important}.game-canvas .table-stage,.game-canvas .play-layout.has-chat .table-stage{--table-ring-x:52px!important;--table-ring-y:48px!important;width:1280px!important;min-width:1280px!important;height:648px!important;min-height:648px!important}.game-canvas .mahjong-table .round-center,.game-canvas .play-layout.has-chat .mahjong-table .round-center{grid-template-columns:minmax(0,1fr) 64px!important;column-gap:7px!important;width:220px!important;min-width:220px!important;max-width:220px!important;min-height:142px!important;padding:12px!important;overflow:hidden!important}.game-canvas .mahjong-table .river,.game-canvas .play-layout.has-chat .mahjong-table .river{--river-tile-w:31px!important;--river-tile-h:43px!important;--river-gap:3px!important}.game-canvas .mahjong-table .river--top,.game-canvas .play-layout.has-chat .mahjong-table .river--top{inset:auto auto calc(50% + 82px) 50%!important}.game-canvas .mahjong-table .river--bottom,.game-canvas .play-layout.has-chat .mahjong-table .river--bottom{inset:calc(50% + 82px) auto auto 50%!important}.game-canvas .mahjong-table .hand,.game-canvas .play-layout.has-chat .mahjong-table .hand{max-width:calc(100% - 150px)!important;bottom:6px!important}.game-canvas .action-rail{grid-template-columns:minmax(240px,1fr) auto 220px!important;gap:10px!important;height:72px!important;min-height:72px!important;padding:7px 14px!important}.game-canvas .action{width:62px!important;min-width:62px!important;height:50px!important}.game-canvas .discard-button{width:220px!important;min-width:220px!important;height:52px!important}.game-canvas .table-chat,.game-canvas .play-layout.has-chat .table-chat{z-index:60!important;width:330px!important;height:666px!important;display:grid!important;position:absolute!important;inset:54px 0 0 auto!important}.game-canvas .side-panel{display:none!important}.game-shell{width:100vw!important;height:100dvh!important;min-height:0!important;position:fixed!important;inset:0!important;overflow:hidden!important}.game-canvas{--game-scale:1;width:1920px;height:1200px;transform:translate(-50%, -50%) scale(var(--game-scale));transform-origin:50%;position:absolute;top:50%;left:50%;overflow:hidden}.game-canvas .topbar{width:1920px!important;height:80px!important;min-height:80px!important;padding:0 42px!important}.game-canvas .play-layout,.game-canvas .play-layout.has-chat{grid-template-columns:minmax(0,1fr)!important;width:1920px!important;min-width:1920px!important;height:1120px!important;min-height:1120px!important;overflow:hidden!important}.game-canvas .play-layout.has-chat{grid-template-columns:1600px 320px!important}.game-canvas .table-wrap,.game-canvas .play-layout.has-chat .table-wrap{grid-template-rows:minmax(0,1fr) 100px!important;width:100%!important;min-width:0!important;height:1120px!important;min-height:0!important;padding:10px!important;overflow:hidden!important}.game-canvas .table-stage,.game-canvas .play-layout.has-chat .table-stage{--table-ring-x:78px!important;--table-ring-y:64px!important;width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;position:relative!important;overflow:hidden!important}.game-canvas .table-stage>.mahjong-table,.game-canvas .play-layout.has-chat .table-stage>.mahjong-table{position:absolute!important;inset:64px 78px!important;overflow:hidden!important;container-type:size!important}.game-canvas .mahjong-table .round-center,.game-canvas .play-layout.has-chat .mahjong-table .round-center{width:286px!important;min-width:286px!important;max-width:286px!important;top:50%!important;left:50%!important;overflow:hidden!important;transform:translate(-50%,-50%)!important}.game-canvas .mahjong-table .river,.game-canvas .play-layout.has-chat .mahjong-table .river{--river-tile-w:30px!important;--river-tile-h:42px!important;--river-gap:3px!important;grid-template-rows:repeat(3,max-content)!important;grid-template-columns:repeat(6,max-content)!important;grid-auto-flow:row!important;gap:3px!important;width:max-content!important;height:max-content!important;overflow:visible!important}.game-canvas .mahjong-table .river-tile-slot,.game-canvas .play-layout.has-chat .mahjong-table .river-tile-slot{flex:none!important;width:30px!important;height:42px!important}.game-canvas .topbar *,.game-canvas .player *,.game-canvas .round-center *,.game-canvas .action-rail button,.game-canvas .turn-notice,.game-canvas .table-chat__header *{white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important}.game-canvas .player,.game-canvas .round-center,.game-canvas .action,.game-canvas .discard-button,.game-canvas .top-actions button{box-sizing:border-box!important}.game-canvas .player-copy,.game-canvas .turn-notice,.game-canvas .top-actions,.game-canvas .match-labels{min-width:0!important;overflow:hidden!important}@media (width<=1100px),(height<=760px){.game-canvas .topbar{height:80px!important;min-height:80px!important}.game-canvas .play-layout,.game-canvas .play-layout.has-chat{height:1120px!important}.game-canvas .table-stage{--table-ring-x:78px!important;--table-ring-y:64px!important}}.sumi-lobby .lobby-panel-wrap{z-index:100!important;pointer-events:auto!important;position:relative!important}.sumi-lobby .lobby-panel,.sumi-lobby .display-name-picker,.sumi-lobby .game-mode-picker,.sumi-lobby .primary-lobby-button,.sumi-lobby .secondary-lobby-button,.sumi-lobby .cpu-practice-button,.sumi-lobby .room-code-input{z-index:101;touch-action:manipulation;position:relative;pointer-events:auto!important}.game-shell .river--top,.game-shell .play-layout.has-chat .river--top{translate:0 -72px}.game-shell .river--bottom,.game-shell .play-layout.has-chat .river--bottom{translate:0 72px}@media (height<=720px){.game-shell .river--top,.game-shell .play-layout.has-chat .river--top{translate:0 -48px}.game-shell .river--bottom,.game-shell .play-layout.has-chat .river--bottom{translate:0 48px}}.game-shell .mahjong-table,.game-shell .play-layout.has-chat .mahjong-table{--round-center-x:50%;--round-center-y:50%;--round-center-w:250px;--round-center-h:192px;--round-center-half-w:125px;--round-center-half-h:96px;--river-center-gap:18px;--river-tile-w:clamp(34px, 2.7cqw, 40px);--river-tile-h:clamp(46px, 3.6cqw, 52px);--river-gap:2px}.game-shell .round-center,.game-shell .play-layout.has-chat .round-center{left:var(--round-center-x);top:var(--round-center-y);width:var(--round-center-w);height:var(--round-center-h);box-sizing:border-box;transform:translate(-50%,-50%)}.game-shell .river,.game-shell .play-layout.has-chat .river{gap:var(--river-gap);translate:none}.game-shell .river--bottom,.game-shell .river--top,.game-shell .play-layout.has-chat .river--bottom,.game-shell .play-layout.has-chat .river--top{grid-template-columns:repeat(6, var(--river-tile-w));grid-auto-rows:var(--river-tile-h)}.game-shell .river--bottom .tile,.game-shell .river--top .tile,.game-shell .play-layout.has-chat .river--bottom .tile,.game-shell .play-layout.has-chat .river--top .tile{width:var(--river-tile-w);height:var(--river-tile-h);margin:0}.game-shell .river--bottom,.game-shell .play-layout.has-chat .river--bottom{left:var(--round-center-x);right:auto;top:calc(var(--round-center-y) + var(--round-center-half-h) + var(--river-center-gap));bottom:auto;transform:translate(-50%)}.game-shell .river--top,.game-shell .play-layout.has-chat .river--top{left:var(--round-center-x);top:auto;right:auto;bottom:calc(100% - var(--round-center-y) + var(--round-center-half-h) + var(--river-center-gap));transform:translate(-50%)rotate(180deg)}.game-shell .river--left,.game-shell .river--right,.game-shell .play-layout.has-chat .river--left,.game-shell .play-layout.has-chat .river--right{top:var(--round-center-y);grid-template-columns:none;grid-template-rows:repeat(6, var(--river-tile-w));grid-auto-flow:column;grid-auto-columns:var(--river-tile-h);bottom:auto;transform:translateY(-50%)translate(0)}.game-shell .river--left .tile,.game-shell .river--right .tile,.game-shell .play-layout.has-chat .river--left .tile,.game-shell .play-layout.has-chat .river--right .tile{width:var(--river-tile-h);height:var(--river-tile-w);margin:0}.game-shell .river--left,.game-shell .play-layout.has-chat .river--left{left:auto;right:calc(100% - var(--round-center-x) + var(--round-center-half-w) + var(--river-center-gap))}.game-shell .river--right,.game-shell .play-layout.has-chat .river--right{left:calc(var(--round-center-x) + var(--round-center-half-w) + var(--river-center-gap));right:auto}@media (height<=820px){.game-shell .mahjong-table,.game-shell .play-layout.has-chat .mahjong-table{--round-center-h:176px;--round-center-half-h:88px;--river-center-gap:14px;--river-tile-w:32px;--river-tile-h:42px}}.game-canvas .mahjong-table,.game-canvas .play-layout.has-chat .mahjong-table{--river-center-panel-w:220px;--river-center-panel-h:160px;--river-center-panel-half-w:110px;--river-center-panel-half-h:80px;--river-center-gap:14px;--river-tile-w:27px!important;--river-tile-h:37px!important;--river-gap:2px!important}.game-canvas .mahjong-table .round-center,.game-canvas .play-layout.has-chat .mahjong-table .round-center{width:var(--river-center-panel-w)!important;min-width:var(--river-center-panel-w)!important;max-width:var(--river-center-panel-w)!important;height:var(--river-center-panel-h)!important;min-height:var(--river-center-panel-h)!important;max-height:var(--river-center-panel-h)!important;box-sizing:border-box!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.game-canvas .mahjong-table .river,.game-canvas .play-layout.has-chat .mahjong-table .river{gap:var(--river-gap)!important;translate:none!important}.game-canvas .mahjong-table .river--top,.game-canvas .mahjong-table .river--bottom,.game-canvas .play-layout.has-chat .mahjong-table .river--top,.game-canvas .play-layout.has-chat .mahjong-table .river--bottom{grid-template-columns:repeat(6, var(--river-tile-w))!important;grid-auto-rows:var(--river-tile-h)!important}.game-canvas .mahjong-table .river--left,.game-canvas .mahjong-table .river--right,.game-canvas .play-layout.has-chat .mahjong-table .river--left,.game-canvas .play-layout.has-chat .mahjong-table .river--right{grid-template-columns:none!important;grid-template-rows:repeat(6, var(--river-tile-w))!important;grid-auto-flow:column!important;grid-auto-columns:var(--river-tile-h)!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}.game-canvas .mahjong-table .river--left,.game-canvas .play-layout.has-chat .mahjong-table .river--left{inset:50% calc(50% + var(--river-center-panel-half-w) + var(--river-center-gap)) auto auto!important}.game-canvas .mahjong-table .river--right,.game-canvas .play-layout.has-chat .mahjong-table .river--right{inset:50% auto auto calc(50% + var(--river-center-panel-half-w) + var(--river-center-gap))!important}.game-canvas .mahjong-table .river-tile-slot>.tile,.game-canvas .play-layout.has-chat .mahjong-table .river-tile-slot>.tile{width:var(--river-tile-w)!important;height:var(--river-tile-h)!important}.game-canvas .mahjong-table .river:has(.river-tile-slot:nth-child(19)){--river-tile-w:21px!important;--river-tile-h:27px!important;--river-gap:2px!important}.game-canvas .play-layout.has-chat .mahjong-table .river:has(.river-tile-slot:nth-child(19)){--river-tile-w:21px!important;--river-tile-h:27px!important;--river-gap:2px!important}.game-canvas .mahjong-table .river--left,.game-canvas .play-layout.has-chat .mahjong-table .river--left{transform:translate(144px,-50%)!important}.game-canvas .mahjong-table .river--right,.game-canvas .play-layout.has-chat .mahjong-table .river--right{transform:translate(-144px,-50%)!important}.game-canvas .mahjong-table .round-center,.game-canvas .play-layout.has-chat .mahjong-table .round-center{grid-template-columns:minmax(0,1fr) 128px!important;column-gap:8px!important;width:340px!important;min-width:340px!important;max-width:340px!important;height:160px!important;min-height:160px!important;max-height:160px!important}.game-canvas .mahjong-table .dora,.game-canvas .play-layout.has-chat .mahjong-table .dora{width:128px!important;min-width:128px!important;overflow:visible!important}.game-canvas .mahjong-table .dora-list,.game-canvas .play-layout.has-chat .mahjong-table .dora-list{grid-template-columns:repeat(4,27px)!important;grid-auto-flow:column!important;justify-content:start!important;align-items:start!important;gap:3px!important;width:117px!important;min-width:117px!important;display:grid!important;overflow:visible!important}.game-canvas .mahjong-table .dora-slot,.game-canvas .play-layout.has-chat .mahjong-table .dora-slot{box-sizing:border-box!important;width:27px!important;height:37px!important;display:block!important;position:relative!important}.game-canvas .mahjong-table .dora-slot>.tile,.game-canvas .play-layout.has-chat .mahjong-table .dora-slot>.tile{width:27px!important;height:37px!important}.game-canvas .mahjong-table .round-center,.game-canvas .play-layout.has-chat .mahjong-table .round-center{grid-template-columns:minmax(0,1fr) 150px!important;column-gap:10px!important;width:460px!important;min-width:460px!important;max-width:460px!important;height:160px!important;min-height:160px!important;max-height:160px!important;overflow:hidden!important}.game-canvas .mahjong-table .dora,.game-canvas .play-layout.has-chat .mahjong-table .dora{flex-direction:column!important;grid-area:2/2!important;justify-content:flex-start!important;align-items:flex-start!important;gap:4px!important;width:150px!important;min-width:150px!important;max-width:150px!important;margin:0!important;display:flex!important;overflow:hidden!important}.game-canvas .mahjong-table .dora>small,.game-canvas .play-layout.has-chat .mahjong-table .dora>small{white-space:nowrap!important;width:100%!important;line-height:1!important;display:block!important}.game-canvas .mahjong-table .dora-list,.game-canvas .play-layout.has-chat .mahjong-table .dora-list{grid-template-rows:42px!important;grid-template-columns:repeat(4,30px)!important;grid-auto-flow:column!important;justify-content:start!important;align-items:start!important;gap:5px!important;width:135px!important;min-width:135px!important;max-width:135px!important;height:42px!important;min-height:42px!important;margin:0!important;display:grid!important;overflow:hidden!important}.game-canvas .mahjong-table .dora-slot,.game-canvas .play-layout.has-chat .mahjong-table .dora-slot{box-sizing:border-box!important;width:30px!important;min-width:30px!important;max-width:30px!important;height:42px!important;min-height:42px!important;max-height:42px!important;display:block!important;position:relative!important;overflow:hidden!important}.game-canvas .mahjong-table .dora-slot>.tile,.game-canvas .play-layout.has-chat .mahjong-table .dora-slot>.tile{width:30px!important;min-width:30px!important;max-width:30px!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important}.game-canvas .mahjong-table .dora-slot--empty,.game-canvas .play-layout.has-chat .mahjong-table .dora-slot--empty{background:#ffffff06!important;border:1px solid #efd28e47!important;border-radius:4px!important;box-shadow:inset 0 0 0 1px #0003!important}.game-canvas .mahjong-table .center-hud-v3,.game-canvas .play-layout.has-chat .mahjong-table .center-hud-v3{z-index:5!important;box-sizing:border-box!important;background:linear-gradient(145deg,#0c1722fa,#040a11fc)!important;border:2px solid #b6924ab8!important;border-radius:12px!important;width:280px!important;min-width:280px!important;max-width:280px!important;height:160px!important;min-height:160px!important;max-height:160px!important;padding:12px!important;position:absolute!important;top:50%!important;left:50%!important;overflow:hidden!important;transform:translate(-50%,-50%)!important;box-shadow:inset 0 0 0 3px #ffffff05,inset 0 0 0 5px #b6924a0f,0 15px 34px #0000007a!important}.game-canvas .center-hud-v3 .round-heading,.game-canvas .play-layout.has-chat .center-hud-v3 .round-heading{justify-content:space-between!important;align-items:center!important;gap:8px!important;height:30px!important;margin:0!important;display:flex!important;position:absolute!important;top:10px!important;left:12px!important;right:12px!important}.game-canvas .center-hud-v3 .round-grid,.game-canvas .play-layout.has-chat .center-hud-v3 .round-grid{grid-template-columns:repeat(2,1fr)!important;gap:6px!important;width:116px!important;height:62px!important;margin:0!important;display:grid!important;position:absolute!important;top:49px!important;left:12px!important}.game-canvas .center-hud-v3 .round-grid>div,.game-canvas .play-layout.has-chat .center-hud-v3 .round-grid>div{min-width:0!important;min-height:62px!important;padding:7px!important}.game-canvas .center-hud-v3 .dora,.game-canvas .play-layout.has-chat .center-hud-v3 .dora{flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;gap:4px!important;width:120px!important;min-width:120px!important;max-width:120px!important;height:62px!important;min-height:62px!important;margin:0!important;display:flex!important;position:absolute!important;top:49px!important;right:12px!important;overflow:visible!important}.game-canvas .center-hud-v3 .dora>small,.game-canvas .play-layout.has-chat .center-hud-v3 .dora>small{white-space:nowrap!important;width:100%!important;line-height:1!important;display:block!important}.game-canvas .center-hud-v3 .dora-list,.game-canvas .play-layout.has-chat .center-hud-v3 .dora-list{grid-template-rows:37px!important;grid-template-columns:repeat(4,27px)!important;grid-auto-flow:column!important;justify-content:start!important;align-items:start!important;gap:3px!important;width:117px!important;min-width:117px!important;max-width:117px!important;height:37px!important;min-height:37px!important;max-height:37px!important;margin:0!important;display:grid!important;overflow:visible!important}.game-canvas .center-hud-v3 .dora-slot,.game-canvas .play-layout.has-chat .center-hud-v3 .dora-slot{box-sizing:border-box!important;width:27px!important;min-width:27px!important;max-width:27px!important;height:37px!important;min-height:37px!important;max-height:37px!important;display:block!important;position:relative!important;overflow:hidden!important}.game-canvas .center-hud-v3 .dora-slot>.tile,.game-canvas .play-layout.has-chat .center-hud-v3 .dora-slot>.tile{width:27px!important;min-width:27px!important;max-width:27px!important;height:37px!important;min-height:37px!important;max-height:37px!important;margin:0!important}.game-canvas .center-hud-v3 .dora-slot--empty,.game-canvas .play-layout.has-chat .center-hud-v3 .dora-slot--empty{background:#ffffff06!important;border:1px solid #efd28e47!important;border-radius:4px!important;box-shadow:inset 0 0 0 1px #0003!important}.game-canvas .center-hud-v3 .riichi-stick-pot,.game-canvas .play-layout.has-chat .center-hud-v3 .riichi-stick-pot{width:116px!important;min-width:116px!important;max-width:116px!important;margin:0!important;position:absolute!important;bottom:10px!important;left:12px!important}.game-canvas .mahjong-table .river--left,.game-canvas .mahjong-table .river--right,.game-canvas .play-layout.has-chat .mahjong-table .river--left,.game-canvas .play-layout.has-chat .mahjong-table .river--right{transform-origin:50%!important;grid-template-rows:repeat(4,37px)!important;grid-template-columns:repeat(6,27px)!important;grid-auto-flow:row!important;gap:2px!important;width:172px!important;min-width:172px!important;max-width:172px!important;height:154px!important;min-height:154px!important;max-height:154px!important;top:50%!important;bottom:auto!important;overflow:visible!important;translate:none!important}.game-canvas .mahjong-table .river--left,.game-canvas .play-layout.has-chat .mahjong-table .river--left{left:calc(50% - 223px)!important;right:auto!important;transform:translate(-50%,-50%)rotate(90deg)!important}.game-canvas .mahjong-table .river--right,.game-canvas .play-layout.has-chat .mahjong-table .river--right{left:calc(50% + 223px)!important;right:auto!important;transform:translate(-50%,-50%)rotate(-90deg)!important}.game-canvas .mahjong-table .river--top,.game-canvas .mahjong-table .river--bottom,.game-canvas .play-layout.has-chat .mahjong-table .river--top,.game-canvas .play-layout.has-chat .mahjong-table .river--bottom{transform-origin:50%!important;grid-template-rows:repeat(4,37px)!important;grid-template-columns:repeat(6,27px)!important;grid-auto-flow:row!important;gap:2px!important;width:172px!important;min-width:172px!important;max-width:172px!important;height:154px!important;min-height:154px!important;max-height:154px!important;overflow:visible!important;translate:none!important}.game-canvas .mahjong-table .river--bottom,.game-canvas .play-layout.has-chat .mahjong-table .river--bottom{direction:ltr!important;inset:calc(50% + 86px) auto auto calc(50% - 140px)!important;transform:none!important}.game-canvas .mahjong-table .river--top,.game-canvas .play-layout.has-chat .mahjong-table .river--top{direction:ltr!important;inset:auto auto calc(50% + 86px) calc(50% - 140px)!important;transform:rotate(180deg)!important}.game-canvas .mahjong-table .river--top,.game-canvas .mahjong-table .river--right,.game-canvas .mahjong-table .river--bottom,.game-canvas .mahjong-table .river--left,.game-canvas .play-layout.has-chat .mahjong-table .river--top,.game-canvas .play-layout.has-chat .mahjong-table .river--right,.game-canvas .play-layout.has-chat .mahjong-table .river--bottom,.game-canvas .play-layout.has-chat .mahjong-table .river--left{transform-origin:50%!important;direction:ltr!important;grid-template-rows:repeat(4,37px)!important;grid-template-columns:repeat(6,27px)!important;grid-auto-flow:row!important;gap:2px!important;width:172px!important;min-width:172px!important;max-width:172px!important;height:154px!important;min-height:154px!important;max-height:154px!important;margin:0!important;overflow:visible!important;translate:none!important}.game-canvas .mahjong-table .river,.game-canvas .play-layout.has-chat .mahjong-table .river{--river-tile-w:30px!important;--river-tile-h:42px!important;--river-gap:3px!important;grid-template-columns:repeat(6, var(--river-tile-w))!important;grid-template-rows:repeat(4, var(--river-tile-h))!important;gap:var(--river-gap)!important;transform-origin:50%!important;direction:ltr!important;grid-auto-flow:row!important;width:max-content!important;min-width:0!important;max-width:none!important;height:max-content!important;min-height:0!important;max-height:none!important;margin:0!important;overflow:visible!important;translate:none!important}.game-canvas .mahjong-table .river-tile-slot>.tile,.game-canvas .play-layout.has-chat .mahjong-table .river-tile-slot>.tile{width:var(--river-tile-w)!important;min-width:var(--river-tile-w)!important;max-width:var(--river-tile-w)!important;height:var(--river-tile-h)!important;min-height:var(--river-tile-h)!important;max-height:var(--river-tile-h)!important;margin:0!important}.game-canvas .mahjong-table .river,.game-canvas .play-layout.has-chat .mahjong-table .river{--river-tile-w:30px!important;--river-tile-h:42px!important;--river-gap:3px!important;transform-origin:50%!important;direction:ltr!important;grid-template-rows:repeat(4,42px)!important;grid-template-columns:repeat(6,30px)!important;grid-auto-flow:row!important;place-content:start!important;place-items:stretch stretch!important;gap:3px!important;width:195px!important;min-width:195px!important;max-width:195px!important;height:177px!important;min-height:177px!important;max-height:177px!important;margin:0!important;overflow:visible!important;translate:none!important}.game-canvas .mahjong-table .river-tile-slot,.game-canvas .play-layout.has-chat .mahjong-table .river-tile-slot,.game-canvas .mahjong-table .river-tile-slot>.tile,.game-canvas .play-layout.has-chat .mahjong-table .river-tile-slot>.tile{width:30px!important;min-width:30px!important;max-width:30px!important;height:42px!important;min-height:42px!important;max-height:42px!important}.game-canvas .mahjong-table .opponent-hand,.game-canvas .play-layout.has-chat .mahjong-table .opponent-hand{opacity:1!important}.game-canvas .mahjong-table .opponent-tile-slot,.game-canvas .play-layout.has-chat .mahjong-table .opponent-tile-slot{pointer-events:none!important;flex:none!important;margin:0!important;padding:0!important;display:block!important;position:relative!important;overflow:visible!important}.game-canvas .mahjong-table .opponent-tile-slot--top,.game-canvas .play-layout.has-chat .mahjong-table .opponent-tile-slot--top{width:34px!important;min-width:34px!important;max-width:34px!important;height:47px!important;min-height:47px!important;max-height:47px!important}.game-canvas .mahjong-table .opponent-tile-slot--left,.game-canvas .mahjong-table .opponent-tile-slot--right,.game-canvas .play-layout.has-chat .mahjong-table .opponent-tile-slot--left,.game-canvas .play-layout.has-chat .mahjong-table .opponent-tile-slot--right{width:47px!important;min-width:47px!important;max-width:47px!important;height:26px!important;min-height:26px!important;max-height:26px!important}.game-canvas .mahjong-table .opponent-tile-slot .tile-art,.game-canvas .play-layout.has-chat .mahjong-table .opponent-tile-slot .tile-art{display:none!important}.game-canvas .mahjong-table .opponent-tile-slot>.tile,.game-canvas .play-layout.has-chat .mahjong-table .opponent-tile-slot>.tile{box-sizing:border-box!important;cursor:default!important;background:linear-gradient(#fffefa 0%,#f5f0e5 100%)!important;border-radius:3px!important;min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;position:absolute!important;overflow:hidden!important;transform:none!important;box-shadow:0 2px 4px #00000047!important}.game-canvas .mahjong-table .opponent-hand--top,.game-canvas .play-layout.has-chat .mahjong-table .opponent-hand--top{transform:translate(-50%)!important}.game-canvas .mahjong-table .opponent-tile-slot--top>.tile,.game-canvas .play-layout.has-chat .mahjong-table .opponent-tile-slot--top>.tile{border:1px solid #b9b09f!important;border-bottom:4px solid #c79224!important;border-radius:3px 3px 2px 2px!important;width:34px!important;height:14px!important;inset:auto auto 0 0!important;box-shadow:0 2px #68481040,0 4px 5px #0000003d!important}.game-canvas .mahjong-table .opponent-tile-slot--left>.tile,.game-canvas .play-layout.has-chat .mahjong-table .opponent-tile-slot--left>.tile{border:1px solid #b9b09f!important;border-right:4px solid #c79224!important;border-radius:3px 2px 2px 3px!important;width:14px!important;height:26px!important;inset:0 0 auto auto!important;box-shadow:2px 0 #68481038,4px 2px 5px #00000038!important}.game-canvas .mahjong-table .opponent-tile-slot--right>.tile,.game-canvas .play-layout.has-chat .mahjong-table .opponent-tile-slot--right>.tile{border:1px solid #b9b09f!important;border-left:4px solid #c79224!important;border-radius:2px 3px 3px 2px!important;width:14px!important;height:26px!important;inset:0 auto auto 0!important;box-shadow:-2px 0 #68481038,-4px 2px 5px #00000038!important}.game-canvas .mahjong-table .opponent-tile-slot--top>.tile,.game-canvas .play-layout.has-chat .mahjong-table .opponent-tile-slot--top>.tile{background:linear-gradient(#fffefa 0%,#f8f4eb 58%,#eee7d9 100%)!important;border-bottom:7px solid #c79224!important;height:22px!important;box-shadow:inset 0 -1px #765e362e,0 3px #6848103d,0 6px 7px #0000003d!important}.game-canvas .mahjong-table .opponent-tile-slot--left>.tile,.game-canvas .play-layout.has-chat .mahjong-table .opponent-tile-slot--left>.tile{background:linear-gradient(90deg,#fffefa 0%,#f8f4eb 58%,#eee7d9 100%)!important;border-right:7px solid #c79224!important;width:22px!important;box-shadow:inset -1px 0 #765e362e,3px 0 #68481038,6px 2px 7px #00000038!important}.game-canvas .mahjong-table .opponent-tile-slot--right>.tile,.game-canvas .play-layout.has-chat .mahjong-table .opponent-tile-slot--right>.tile{background:linear-gradient(270deg,#fffefa 0%,#f8f4eb 58%,#eee7d9 100%)!important;border-left:7px solid #c79224!important;width:22px!important;box-shadow:inset 1px 0 #765e362e,-3px 0 #68481038,-6px 2px 7px #00000038!important}.game-canvas .mahjong-table:before,.game-canvas .play-layout.has-chat .mahjong-table:before{content:none!important;box-shadow:none!important;border:0!important;display:none!important}.game-canvas .center-hud-v3 .riichi-stick-pot,.game-canvas .play-layout.has-chat .center-hud-v3 .riichi-stick-pot{box-sizing:border-box!important;grid-template-columns:64px minmax(0,1fr)!important;align-items:center!important;column-gap:10px!important;width:auto!important;min-width:0!important;max-width:none!important;height:34px!important;min-height:34px!important;margin:0!important;padding:5px 8px!important;display:grid!important;position:absolute!important;bottom:9px!important;left:12px!important;right:12px!important;overflow:hidden!important}.game-canvas .center-hud-v3 .riichi-stick-pot>small,.game-canvas .play-layout.has-chat .center-hud-v3 .riichi-stick-pot>small{color:#91a0ad!important;letter-spacing:0!important;text-align:left!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;writing-mode:horizontal-tb!important;width:64px!important;min-width:64px!important;max-width:64px!important;margin:0!important;font-size:10px!important;line-height:1!important;display:block!important}.game-canvas .center-hud-v3 .riichi-stick-slot,.game-canvas .play-layout.has-chat .center-hud-v3 .riichi-stick-slot{grid-template-columns:minmax(72px,1fr) 30px!important;align-items:center!important;gap:9px!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;display:grid!important;overflow:hidden!important}.game-canvas .center-hud-v3 .riichi-stick-slot .riichi-stick,.game-canvas .play-layout.has-chat .center-hud-v3 .riichi-stick-slot .riichi-stick{justify-self:start!important;width:100%!important;min-width:72px!important;max-width:110px!important;height:10px!important;margin:0!important}.game-canvas .center-hud-v3 .riichi-stick-slot>b,.game-canvas .play-layout.has-chat .center-hud-v3 .riichi-stick-slot>b{color:#e8edf2!important;font-variant-numeric:tabular-nums!important;text-align:right!important;white-space:nowrap!important;justify-self:end!important;width:30px!important;min-width:30px!important;max-width:30px!important;margin:0!important;font-size:13px!important;line-height:1!important;display:block!important;overflow:visible!important}.game-canvas .mahjong-table .abortive-draw-prompt-backdrop,.game-canvas .play-layout.has-chat .mahjong-table .abortive-draw-prompt-backdrop{z-index:24!important;-webkit-backdrop-filter:blur(1.5px)!important;backdrop-filter:blur(1.5px)!important;background:#02080b61!important;place-items:center!important;padding:20px!important;display:grid!important;position:absolute!important;inset:0!important}.game-canvas .mahjong-table .abortive-draw-prompt,.game-canvas .play-layout.has-chat .mahjong-table .abortive-draw-prompt{box-sizing:border-box!important;color:#f7ecd4!important;text-align:center!important;background:linear-gradient(150deg,#101b23fc,#040b11fc)!important;border:2px solid #dcb55bd1!important;border-radius:14px!important;gap:10px!important;width:min(330px,100% - 40px)!important;padding:18px 20px 20px!important;display:grid!important;box-shadow:0 20px 55px #00000094,inset 0 0 0 3px #ffffff06!important}.game-canvas .abortive-draw-prompt>small{color:#a9b7c0!important;letter-spacing:.16em!important;font-size:10px!important;font-weight:800!important}.game-canvas .abortive-draw-prompt>strong{color:#edca73!important;font-family:Yu Mincho,Hiragino Mincho ProN,serif!important;font-size:26px!important;line-height:1.1!important}.game-canvas .abortive-draw-prompt>p{color:#edf1f2!important;margin:0!important;font-size:14px!important;font-weight:800!important}.game-canvas .abortive-draw-prompt__actions{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:5px!important;display:grid!important}.game-canvas .abortive-draw-prompt__actions button{cursor:pointer!important;border-radius:8px!important;min-height:42px!important;font-size:13px!important;font-weight:900!important}.game-canvas .abortive-draw-prompt__cancel{color:#e7ecee!important;background:linear-gradient(#27323a,#151d23)!important;border:1px solid #ffffff2e!important}.game-canvas .abortive-draw-prompt__confirm{color:#231707!important;background:linear-gradient(#e8c35f,#b77b20)!important;border:1px solid #f2d074!important;box-shadow:inset 0 1px #fff6,0 3px #68410f!important}.game-canvas .meld{overflow:visible!important}.game-canvas .meld-tile-stack{flex:0 0 50px!important;width:50px!important;height:58px!important;display:inline-block!important;position:relative!important;overflow:visible!important}.game-canvas .meld-tile-stack__layer{display:block!important;position:absolute!important;bottom:0!important;left:0!important}.game-canvas .meld-tile-stack__layer--added{z-index:5!important;bottom:17px!important}.game-canvas .melds--left .meld-tile-stack,.game-canvas .melds--right .meld-tile-stack{flex-basis:62px!important;width:62px!important;height:50px!important}.game-canvas .melds--left .meld-tile-stack__layer--added{bottom:0!important;left:17px!important}.game-canvas .melds--right .meld-tile-stack__layer--added{bottom:0!important;left:-17px!important}.game-canvas .meld--ankan .meld-tile-slot--hidden .tile--back{opacity:1!important}.game-canvas .meld .tile--sideways,.game-canvas .meld-option .tile--sideways{transform:rotate(270deg)!important}.game-canvas .meld-option__tiles{color:inherit!important;font-size:inherit!important;font-weight:inherit!important;align-items:flex-end!important;gap:0!important;margin-left:0!important;padding-left:0!important;display:inline-flex!important}.game-canvas .meld-option__tiles>.meld{align-items:flex-end!important;gap:1px!important;display:inline-flex!important;overflow:visible!important}.game-canvas .meld-option>.meld-option__label{margin-left:auto!important;padding-left:12px!important}.game-canvas .meld-option__melds.melds--bottom{z-index:auto!important;flex-direction:row!important;align-items:flex-end!important;gap:0!important;width:auto!important;height:auto!important;display:inline-flex!important;position:static!important;inset:auto!important;transform:none!important}.game-canvas .meld-option__melds>.meld{margin:0!important}.game-canvas .meld-option__melds .meld-tile-slot--sideways>.tile.tile--sideways{transform-origin:50%!important;margin:0!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)rotate(270deg)!important}.game-shell .bgm-volume-control{color:#dcebea;white-space:nowrap;background:#05121ad1;border:1px solid #4cbeca7a;border-radius:8px;align-items:center;gap:6px;height:32px;padding:0 8px;font-size:10px;font-weight:700;display:inline-flex}.game-shell .bgm-volume-control input[type=range]{accent-color:#46c9cd;cursor:pointer;width:82px}.game-shell .bgm-volume-control b{color:#f3e6b9;font-variant-numeric:tabular-nums;min-width:31px}@media (width<=900px){.game-shell .bgm-volume-control span{display:none}.game-shell .bgm-volume-control input[type=range]{width:64px}}.game-shell .table-stage>.player.player--riichi,.game-shell .play-layout.has-chat .table-stage>.player.player--riichi{animation:.82s cubic-bezier(.2,.8,.2,1) riichi-player-plate-enter;background:radial-gradient(circle at 82% 18%,#cb312c3d,#0000 36%),linear-gradient(#481c18f5,#1f1113f5)!important;border-color:#f0c766!important;box-shadow:inset 0 0 0 1px #ffe2902e,0 0 0 2px #ca2f2a38,0 0 20px #e03e3157,0 8px 20px #00000057!important}.game-shell .table-stage>.player.player--riichi .riichi-badge,.game-shell .play-layout.has-chat .table-stage>.player.player--riichi .riichi-badge{z-index:12!important;color:#fff3ca!important;letter-spacing:.08em!important;text-shadow:0 1px 1px #370000a6!important;pointer-events:none!important;background:linear-gradient(#c84539,#7f1e1e)!important;border:1px solid #f0c766!important;border-radius:999px!important;width:auto!important;min-width:34px!important;max-width:none!important;height:auto!important;min-height:18px!important;padding:2px 6px!important;font-size:10px!important;font-weight:900!important;line-height:13px!important;animation:none!important;position:absolute!important;inset:5px 7px auto auto!important;overflow:visible!important;transform:none!important;box-shadow:0 2px 7px #7512126b!important}.game-shell .table-stage>.player.player--riichi .riichi-badge:after,.game-shell .play-layout.has-chat .table-stage>.player.player--riichi .riichi-badge:after{content:none!important}.game-shell .table-stage>.player.player--riichi strong,.game-shell .play-layout.has-chat .table-stage>.player.player--riichi strong{color:#fff4d2!important}.game-shell .table-stage>.player.player--riichi b,.game-shell .play-layout.has-chat .table-stage>.player.player--riichi b{color:#ffd875!important}@keyframes riichi-player-plate-enter{0%{filter:brightness();transform:scale(1)}35%{filter:brightness(1.38);transform:scale(1.025)}to{filter:brightness();transform:scale(1)}}@media (prefers-reduced-motion:reduce){.game-shell .table-stage>.player.player--riichi,.game-shell .play-layout.has-chat .table-stage>.player.player--riichi{animation:none}}.game-shell .player.player--riichi .riichi-badge{display:none!important}.game-shell .player.player--riichi .player-copy small.player-riichi{color:#fff0b5;letter-spacing:.06em;text-shadow:0 1px 2px #000000bf;background:linear-gradient(#98271bf5,#5b1210f5);border:1px solid #ffd75ee0;border-radius:999px;align-items:center;width:max-content;min-width:42px;min-height:18px;margin-top:2px;padding:1px 7px;font-size:10px;font-weight:800;line-height:1;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff14,0 0 8px #ff4f2b52}.game-shell .table-stage>.player.player--riichi .player-copy,.game-shell .play-layout.has-chat .table-stage>.player.player--riichi .player-copy{flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;min-width:0!important;height:36px!important;display:flex!important;overflow:visible!important}.game-shell .table-stage>.player.player--riichi .player-copy>strong,.game-shell .play-layout.has-chat .table-stage>.player.player--riichi .player-copy>strong{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;line-height:1.05!important;display:block!important;overflow:hidden!important}.game-shell .table-stage>.player.player--riichi .player-copy>small.player-riichi,.game-shell .play-layout.has-chat .table-stage>.player.player--riichi .player-copy>small.player-riichi{visibility:visible!important;opacity:1!important;color:#fff0b5!important;letter-spacing:.05em!important;text-shadow:0 1px 2px #000c!important;background:linear-gradient(#a83428,#681613)!important;border:1px solid #ffd75eeb!important;border-radius:999px!important;justify-content:center!important;align-items:center!important;width:auto!important;min-width:38px!important;max-width:100%!important;height:14px!important;min-height:14px!important;max-height:14px!important;margin:2px 0 0!important;padding:0 5px!important;font-size:9px!important;font-weight:900!important;line-height:12px!important;display:inline-flex!important;position:static!important;overflow:visible!important;transform:none!important;box-shadow:0 0 7px #ff4b2961!important}.game-canvas .mahjong-table .melds--bottom .meld,.game-canvas .play-layout.has-chat .mahjong-table .melds--bottom .meld{flex-direction:row!important}.game-canvas .mahjong-table .melds--top .meld,.game-canvas .play-layout.has-chat .mahjong-table .melds--top .meld{flex-direction:row-reverse!important}.game-canvas .mahjong-table .melds--left .meld,.game-canvas .play-layout.has-chat .mahjong-table .melds--left .meld{flex-direction:column!important}.game-canvas .mahjong-table .melds--right .meld,.game-canvas .play-layout.has-chat .mahjong-table .melds--right .meld{flex-direction:column-reverse!important}.game-canvas .mahjong-table .melds--bottom .meld-tile-slot:not(.meld-tile-slot--sideways)>.tile,.game-canvas .play-layout.has-chat .mahjong-table .melds--bottom .meld-tile-slot:not(.meld-tile-slot--sideways)>.tile{transform:translate(-50%,-50%)rotate(0)!important}.game-canvas .mahjong-table .melds--left .meld-tile-slot:not(.meld-tile-slot--sideways)>.tile,.game-canvas .play-layout.has-chat .mahjong-table .melds--left .meld-tile-slot:not(.meld-tile-slot--sideways)>.tile{transform:translate(-50%,-50%)rotate(90deg)!important}.game-canvas .mahjong-table .melds--top .meld-tile-slot:not(.meld-tile-slot--sideways)>.tile,.game-canvas .play-layout.has-chat .mahjong-table .melds--top .meld-tile-slot:not(.meld-tile-slot--sideways)>.tile{transform:translate(-50%,-50%)rotate(180deg)!important}.game-canvas .mahjong-table .melds--right .meld-tile-slot:not(.meld-tile-slot--sideways)>.tile,.game-canvas .play-layout.has-chat .mahjong-table .melds--right .meld-tile-slot:not(.meld-tile-slot--sideways)>.tile,.game-canvas .mahjong-table .melds--bottom .meld-tile-slot--sideways>.tile.tile--sideways,.game-canvas .play-layout.has-chat .mahjong-table .melds--bottom .meld-tile-slot--sideways>.tile.tile--sideways{transform:translate(-50%,-50%)rotate(270deg)!important}.game-canvas .mahjong-table .melds--left .meld-tile-slot--sideways>.tile.tile--sideways,.game-canvas .play-layout.has-chat .mahjong-table .melds--left .meld-tile-slot--sideways>.tile.tile--sideways{transform:translate(-50%,-50%)rotate(0)!important}.game-canvas .mahjong-table .melds--top .meld-tile-slot--sideways>.tile.tile--sideways,.game-canvas .play-layout.has-chat .mahjong-table .melds--top .meld-tile-slot--sideways>.tile.tile--sideways{transform:translate(-50%,-50%)rotate(90deg)!important}.game-canvas .mahjong-table .melds--right .meld-tile-slot--sideways>.tile.tile--sideways,.game-canvas .play-layout.has-chat .mahjong-table .melds--right .meld-tile-slot--sideways>.tile.tile--sideways{transform:translate(-50%,-50%)rotate(180deg)!important}.game-canvas .mahjong-table .melds--bottom .meld-tile-stack .tile--sideways{transform:rotate(270deg)!important}.game-canvas .mahjong-table .melds--left .meld-tile-stack .tile--sideways{transform:rotate(0)!important}.game-canvas .mahjong-table .melds--top .meld-tile-stack .tile--sideways{transform:rotate(90deg)!important}.game-canvas .mahjong-table .melds--right .meld-tile-stack .tile--sideways{transform:rotate(180deg)!important}.game-canvas .mahjong-table .melds--top .meld,.game-canvas .play-layout.has-chat .mahjong-table .melds--top .meld{align-items:flex-start!important}.game-canvas .mahjong-table .melds--top .meld-tile-slot,.game-canvas .play-layout.has-chat .mahjong-table .melds--top .meld-tile-slot,.game-canvas .mahjong-table .melds--top .meld-tile-stack,.game-canvas .play-layout.has-chat .mahjong-table .melds--top .meld-tile-stack{align-self:flex-start!important}.game-canvas .mahjong-table .wait-display,.game-canvas .play-layout.has-chat .mahjong-table .wait-display{bottom:100px!important}.game-canvas .mahjong-table>.wait-display{grid-template-rows:auto auto!important;grid-template-columns:max-content 1fr max-content!important;align-items:center!important;gap:7px 12px!important;width:max-content!important;min-width:260px!important;max-width:none!important;min-height:88px!important;padding:9px 12px!important;display:grid!important;bottom:108px!important;left:140px!important;right:auto!important;transform:none!important}.game-canvas .mahjong-table>.wait-display>div:first-child{grid-area:1/1/auto/3!important;gap:1px!important;min-width:0!important;display:grid!important}.game-canvas .mahjong-table>.wait-display>div:first-child strong{white-space:nowrap!important}.game-canvas .mahjong-table>.wait-display>small{white-space:nowrap!important;grid-area:1/3!important;place-self:center end!important}.game-canvas .mahjong-table>.wait-display>.wait-tiles{flex-wrap:nowrap!important;grid-area:2/1/auto/-1!important;gap:6px!important;width:max-content!important;display:flex!important}.game-canvas .mahjong-table>.wait-display{grid-template-columns:max-content max-content!important;justify-content:start!important;column-gap:10px!important;width:max-content!important;min-width:0!important;max-width:none!important;padding-left:10px!important;padding-right:10px!important}.game-canvas .mahjong-table>.wait-display>div:first-child{grid-area:1/1!important}.game-canvas .mahjong-table>.wait-display>small{grid-area:1/2!important;justify-self:start!important}.game-canvas .mahjong-table>.wait-display>.wait-tiles{grid-area:2/1/auto/-1!important;width:max-content!important}.game-canvas .battle-log-panel{z-index:55!important;color:#e9eff2!important;background:linear-gradient(#08131df7,#050d16f7)!important;border:1px solid #d2a44eb8!important;border-radius:14px!important;grid-template-rows:auto minmax(0,1fr)!important;width:390px!important;display:grid!important;position:absolute!important;top:96px!important;bottom:116px!important;right:24px!important;overflow:hidden!important;box-shadow:inset 0 0 0 1px #ffffff06,0 18px 48px #00000057!important}.game-canvas .battle-log-panel__header{background:#091722eb!important;border-bottom:1px solid #94a3b829!important;justify-content:space-between!important;align-items:center!important;gap:14px!important;min-height:66px!important;padding:12px 14px!important;display:flex!important}.game-canvas .battle-log-panel__header>div{gap:2px!important;display:grid!important}.game-canvas .battle-log-panel__header strong{color:#f5ead0!important;font-size:17px!important;font-weight:900!important}.game-canvas .battle-log-panel__header small{color:#66818d!important;letter-spacing:.18em!important;font-size:9px!important;font-weight:900!important}.game-canvas .battle-log-panel__header>span{color:#42d7df!important;font-size:13px!important;font-weight:900!important}.game-canvas .battle-log-panel__list{overscroll-behavior:contain!important;scrollbar-width:thin!important;scrollbar-color:#4799a38c transparent!important;min-height:0!important;padding:10px 12px 18px!important;overflow-y:auto!important}.game-canvas .battle-log-panel__round{grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:9px!important;padding:12px 2px 9px!important;display:grid!important}.game-canvas .battle-log-panel__round>span{background:linear-gradient(90deg,#0000,#ddae538c)!important;height:1px!important}.game-canvas .battle-log-panel__round>span:last-child{background:linear-gradient(90deg,#ddae538c,#0000)!important}.game-canvas .battle-log-panel__round strong{color:#e2bc6c!important;white-space:nowrap!important;font-size:11px!important;font-weight:900!important}.game-canvas .battle-log-panel__event{border-bottom:1px solid #94a3b81c!important;gap:6px!important;padding:9px 5px 10px!important;display:grid!important;position:relative!important}.game-canvas .battle-log-panel__event>header{grid-template-columns:24px minmax(0,1fr) auto!important;align-items:center!important;gap:7px!important;display:grid!important}.game-canvas .battle-log-panel__event>header strong{color:#edf2f3!important;text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;font-size:12px!important;overflow:hidden!important}.game-canvas .battle-log-panel__event>header b{color:#8ba2ad!important;font-size:10px!important;font-weight:900!important}.game-canvas .battle-log-panel__event p{color:#9fb0b8!important;margin:0 0 0 31px!important;font-size:10px!important;line-height:1.45!important}.game-canvas .battle-log-panel__tiles{align-items:center!important;gap:6px!important;width:max-content!important;margin-left:31px!important;display:flex!important}.game-canvas .battle-log-panel__tiles>span:not(.tile){color:#82949d!important;font-size:10px!important;font-weight:800!important}.game-canvas .battle-log-panel__tiles .tile{border-bottom-width:3px!important;flex:0 0 28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;height:39px!important;min-height:39px!important;max-height:39px!important;margin:0!important}.game-canvas .battle-log-panel__tiles .tile-art{width:100%!important;height:100%!important}.game-canvas .battle-log-panel__tiles--meld{gap:3px!important}.game-canvas .battle-log-panel__event.is-riichi{background:linear-gradient(90deg,#892d1c38,#d5a43b12)!important;border:1px solid #e8be5757!important;border-radius:8px!important;margin:3px 0!important}.game-canvas .battle-log-panel__event.is-riichi>header b{color:#ffd36f!important}.game-canvas .battle-log-panel__event.is-chi>header b,.game-canvas .battle-log-panel__event.is-pon>header b,.game-canvas .battle-log-panel__event.is-kan>header b{color:#71d9df!important}.game-canvas .battle-log-panel__event.is-win{background:linear-gradient(135deg,#1c654f57,#081c22b8)!important;border:1px solid #52d19e85!important;border-radius:9px!important;margin:6px 0!important;padding:12px 9px!important;box-shadow:inset 0 0 18px #3dd59b0f!important}.game-canvas .battle-log-panel__event.is-win>header b,.game-canvas .battle-log-panel__event.is-win>header strong{color:#9af0c8!important}.game-canvas .battle-log-panel__event.is-draw>header strong,.game-canvas .battle-log-panel__event.is-draw>header b{color:#c3ccd1!important}.game-canvas .battle-log-panel__event.is-score>header strong{color:#d9bd78!important}.game-canvas .battle-log-panel__event.is-score p{color:#d5dde0!important;margin-left:0!important}.game-canvas .battle-log-panel__latest{color:#79e1e6!important;cursor:pointer!important;background:#04161df0!important;border:1px solid #42d7df85!important;border-radius:999px!important;min-width:126px!important;height:30px!important;font-size:10px!important;font-weight:900!important;position:absolute!important;bottom:14px!important;left:50%!important;transform:translate(-50%)!important;box-shadow:0 6px 18px #0000004d!important}.game-canvas .battle-log-panel__event>header:not(:has(.wind)){grid-template-columns:minmax(0,1fr) auto!important}.game-canvas .battle-log-panel__event.is-score>header{grid-template-columns:1fr!important}.game-canvas .battle-log-panel{background:linear-gradient(#08131dee,#050d16f0)!important;border-color:#bd91427a!important;width:340px!important;box-shadow:inset 0 0 0 1px #ffffff05,0 12px 34px #00000042!important}.game-canvas .battle-log-panel__header{background:#08141edb!important;gap:10px!important;height:48px!important;min-height:48px!important;padding:7px 11px!important}.game-canvas .battle-log-panel__header strong{font-size:14px!important}.game-canvas .battle-log-panel__header small{letter-spacing:.14em!important;font-size:8px!important}.game-canvas .battle-log-panel__header>span{font-size:11px!important}.game-canvas .battle-log-panel__list{padding:7px 10px 14px!important}.game-canvas .battle-log-panel__round{gap:7px!important;padding:8px 2px 6px!important}.game-canvas .battle-log-panel__round strong{font-size:9px!important}.game-canvas .battle-log-panel__event{gap:4px!important;padding:6px 4px 7px!important}.game-canvas .battle-log-panel__event>header{grid-template-columns:20px minmax(0,1fr) auto!important;gap:6px!important}.game-canvas .battle-log-panel__event>header .wind{border-radius:5px!important;width:20px!important;height:20px!important;font-size:9px!important}.game-canvas .battle-log-panel__event>header strong{font-size:10px!important}.game-canvas .battle-log-panel__event>header b{font-size:9px!important}.game-canvas .battle-log-panel__event p{margin-left:26px!important;font-size:9px!important;line-height:1.35!important}.game-canvas .battle-log-panel__event.is-discard{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;column-gap:8px!important;min-height:34px!important;padding-top:4px!important;padding-bottom:4px!important}.game-canvas .battle-log-panel__event.is-discard>header{grid-column:1!important;min-width:0!important}.game-canvas .battle-log-panel__event.is-discard>header b{display:none!important}.game-canvas .battle-log-panel__event.is-discard>.battle-log-panel__tiles{grid-column:2!important;gap:4px!important;margin-left:0!important}.game-canvas .battle-log-panel__event.is-discard>.battle-log-panel__tiles>span:not(.tile){font-size:8px!important}.game-canvas .battle-log-panel__tiles{gap:5px!important;margin-left:26px!important}.game-canvas .battle-log-panel__tiles .tile{border-bottom-width:2px!important;border-radius:3px!important;flex:0 0 21px!important;width:21px!important;min-width:21px!important;max-width:21px!important;height:30px!important;min-height:30px!important;max-height:30px!important}.game-canvas .battle-log-panel__event.is-chi,.game-canvas .battle-log-panel__event.is-pon,.game-canvas .battle-log-panel__event.is-kan{padding-top:7px!important;padding-bottom:8px!important}.game-canvas .battle-log-panel__event.is-chi .battle-log-panel__tiles .tile,.game-canvas .battle-log-panel__event.is-pon .battle-log-panel__tiles .tile,.game-canvas .battle-log-panel__event.is-kan .battle-log-panel__tiles .tile{flex-basis:23px!important;width:23px!important;min-width:23px!important;max-width:23px!important;height:32px!important;min-height:32px!important;max-height:32px!important}.game-canvas .battle-log-panel__event.is-riichi{border-color:#e1b34445!important;margin:2px 0!important;padding:7px 6px!important}.game-canvas .battle-log-panel__event.is-win{margin:4px 0!important;padding:9px 7px!important}.game-canvas .battle-log-panel__event.is-score{padding-left:26px!important}.game-canvas .battle-log-panel__event.is-score p{margin-left:0!important}.game-canvas .battle-log-panel__latest{min-width:112px!important;height:27px!important;font-size:9px!important;bottom:10px!important}.tile-mark--pin i,.tile-mark--pin i:nth-child(2n){background:radial-gradient(circle, #f4efe3 0 19%, #17242a 21% 33%, transparent 35%), repeating-conic-gradient(#17242a 0 13deg, #f4efe3 13deg 26deg)!important;border-color:#17242a!important;box-shadow:inset 0 0 0 1px #0000002e!important}.pin-palette-preview-page{color:#edf2f3;background:radial-gradient(circle at 50% 30%,#1278603d,#0000 42%),#07131b;min-height:100vh;padding:42px}.pin-palette-preview-page>header{max-width:980px;margin:0 auto 26px}.pin-palette-preview-page>header strong{color:#f0d48d;font-size:28px;display:block}.pin-palette-preview-page>header span{color:#9fb0b8;margin-top:6px;font-size:13px;display:block}.pin-palette-preview-grid{grid-template-columns:repeat(5,minmax(120px,1fr));gap:18px;max-width:980px;margin:0 auto;display:grid}.pin-palette-preview-card{background:#08151fe6;border:1px solid #d6ac5057;border-radius:12px;place-items:center;gap:8px;min-height:158px;padding:18px;display:grid}.pin-palette-preview-card .tile{flex:0 0 72px!important;width:72px!important;height:96px!important}.pin-palette-preview-card>span{color:#d9e1e4;font-size:13px;font-weight:800}.tile-mark--pin i,.tile-mark--pin i:nth-child(2n){background:radial-gradient(circle, #f4efe3 0 19%, #21349e 21% 33%, transparent 35%), repeating-conic-gradient(#21349e 0 13deg, #f4efe3 13deg 26deg)!important;border-color:#21349e!important}.tile-mark--pin i.is-red,.tile--red .tile-mark--pin i{background:radial-gradient(circle, #f4efe3 0 19%, #a01f28 21% 33%, transparent 35%), repeating-conic-gradient(#a01f28 0 13deg, #f4efe3 13deg 26deg)!important;border-color:#a01f28!important}.five-preview-shell{color:#f7f0dd;background:#21140c;min-height:100vh;overflow:hidden}.five-preview__layout{grid-template-columns:minmax(0,1fr) 300px;height:100vh;min-height:0;display:grid}.five-preview__table-wrap{background:linear-gradient(135deg,#3c2517,#21130c);min-width:0;padding:0;position:relative}.five-preview__stage{background:radial-gradient(circle at 50% 45%,#452b1b,#25150d 75%);place-items:center;width:100%;height:100%;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 34px #0000004d;container-type:size}.five-preview__board{aspect-ratio:1;width:min(100cqw,100cqh);max-width:100%;height:auto;max-height:100%;position:relative;container-type:size}.five-preview__board:before{content:"";z-index:0;clip-path:polygon(50% 0,100% 35%,100% 100%,0 100%,0 35%);filter:drop-shadow(0 0 1.6cqh #00000094);background:linear-gradient(145deg,#704c2c,#3d2818 58%,#20150e);position:absolute;inset:0}.five-preview__felt{z-index:1;clip-path:polygon(50% 0,100% 35%,100% 100%,0 100%,0 35%);background:radial-gradient(circle at 50% 52%,#16886ff5,#03604dfa 67%,#004b3b);position:absolute;inset:1.45cqh;overflow:hidden;box-shadow:inset 0 0 3cqh #00241d7a}.five-preview__player{z-index:12;transform-origin:50%;background:#11100df2;border:1px solid #e6c3705c;border-radius:.8cqh;grid-template-columns:1fr auto auto;align-items:center;gap:1cqh;width:20cqh;padding:.8cqh 1.2cqh;font-size:1.55cqh;display:grid;position:absolute;box-shadow:0 .8cqh 1.8cqh #0000006b}.five-preview__player strong{color:#f5d887;font-size:1.75cqh}.five-preview__player small{color:#ffcf68;font-size:1.05cqh;font-weight:800}.five-preview__player--riichi{border-color:#ffcf68e6;box-shadow:0 0 0 .3cqh #ffcf6833,0 .8cqh 1.8cqh #0000006b}.five-preview__player--upper-left{transform:rotate(var(--upper-left-label-angle))}.five-preview__player--upper-right{transform:rotate(var(--upper-right-label-angle))}.five-preview__player--lower-left{transform:rotate(var(--lower-left-label-angle))}.five-preview__player--lower-right{transform:rotate(var(--lower-right-label-angle))}.five-preview__player--bottom{transform:none}.five-preview__hand,.five-preview__river,.five-preview__melds{z-index:4;transform-origin:50%;position:absolute}.five-preview__hand{gap:.28cqh;display:flex}.five-preview__hand .tile,.five-preview__river .tile,.five-preview__melds .tile{pointer-events:none}.five-preview__hand .tile{width:3.2cqh;height:4.55cqh}.five-preview__hand--upper-left{transform:rotate(var(--upper-left-angle))}.five-preview__hand--upper-right{transform:rotate(var(--upper-right-angle))}.five-preview__hand--lower-left{transform:rotate(var(--lower-left-angle))}.five-preview__hand--lower-right{transform:rotate(var(--lower-right-angle))}.five-preview__river{grid-template-columns:repeat(6,2.75cqh);grid-auto-rows:3.85cqh;gap:.38cqh;display:grid}.five-preview__river .tile{width:2.75cqh;height:3.85cqh}.five-preview__river--upper-left{transform:rotate(var(--upper-left-angle))}.five-preview__river--upper-right{transform:rotate(var(--upper-right-angle))}.five-preview__river--lower-left{transform:rotate(var(--lower-left-angle))}.five-preview__river--lower-right{transform:rotate(var(--lower-right-angle))}.five-preview__river--bottom{transform:rotate(var(--bottom-angle))}.five-preview__melds{gap:1cqh;display:flex}.five-preview__meld{align-items:flex-end;gap:.2cqh;display:flex}.five-preview__meld .tile{width:3cqh;height:4.25cqh}.five-preview__melds--upper-left{transform:rotate(var(--upper-left-angle))}.five-preview__melds--upper-right{transform:rotate(var(--upper-right-angle))}.five-preview__melds--lower-left{transform:rotate(var(--lower-left-angle))}.five-preview__melds--lower-right{transform:rotate(var(--lower-right-angle))}.five-preview__hud{z-index:7;aspect-ratio:1;isolation:isolate;clip-path:polygon(50% 0,100% 35%,100% 100%,0 100%,0 35%);filter:drop-shadow(0 1cqh 1.8cqh #0000007a);text-align:center;background:linear-gradient(145deg,#f0d58a 0%,#8c672d 35%,#4b3014 70%,#d0a957 100%);flex-direction:column;justify-content:center;align-items:center;gap:.65cqh;width:25cqh;padding:4.1cqh 3cqh 2.3cqh;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.five-preview__hud:before{content:"";z-index:-1;clip-path:inherit;background:linear-gradient(155deg,#112a31fc,#040f18fc 72%);position:absolute;inset:.34cqh;box-shadow:inset 0 0 2.2cqh #00000080}.five-preview__hud:after{content:"◆";z-index:0;color:#f5d37fa6;font-size:.8cqh;position:absolute;top:2.25cqh;left:50%;transform:translate(-50%)}.five-preview__hud>*{z-index:1;position:relative}.five-preview__hud-round{justify-content:center;align-items:baseline;gap:.8cqh;display:flex}.five-preview__hud-round strong{color:#ffe29a;font-size:2.1cqh}.five-preview__hud span,.five-preview__hud small{color:#c8d8cb;font-size:1.15cqh}.five-preview__hud-grid{border-block:1px solid #e8c56f3d;gap:2.2cqh;padding:.35cqh 1.4cqh;display:flex}.five-preview__hud-grid span{gap:.1cqh;display:grid}.five-preview__hud-grid strong{color:#ffe29a;font-size:2cqh}.five-preview__hud-dora{background:#041b1f80;border:1px solid #7ec9bd29;border-radius:.5cqh;align-items:center;gap:.7cqh;padding:.3cqh .75cqh;display:flex}.five-preview__hud .tile{width:3.2cqh;height:4.45cqh}.five-preview__hud>b{color:#8bd5ca;letter-spacing:.14em;font-size:1.05cqh}.five-preview__table-mark{z-index:1;color:#e8cf8517;font-family:serif;font-size:7cqh;position:absolute;inset:51% auto auto 50%;transform:translate(-50%,-50%)}.five-preview__local-hand{z-index:15;text-align:center;position:absolute}.five-preview__local-hand>div{justify-content:center;align-items:flex-end;gap:.3cqh;display:flex}.five-preview__local-tile{cursor:pointer;width:4.8cqh;height:6.55cqh;line-height:0;display:block}.five-preview__local-tile img{filter:drop-shadow(0 .55cqh .45cqh #00000057);width:100%;height:100%;display:block}.five-preview__local-hand .tile{border-radius:.55cqh;width:4.8cqh;height:6.55cqh}.five-preview__local-hand .tile span{font-size:4.9cqh}.five-preview__actions{z-index:30;pointer-events:none;position:absolute;inset:0}.five-preview__notice{color:#fce79b;font-size:1.5cqh;font-weight:800;position:absolute;bottom:1cqh;left:1.2cqh}.five-preview__action-buttons{pointer-events:auto;gap:1cqh;width:12cqh;display:grid;position:absolute;bottom:2cqh;right:1.8cqh}.five-preview__action-buttons small{color:#b8a777;text-align:center;font-size:1.1cqh}.five-preview__action-buttons button{color:#fff3cb;cursor:pointer;background:linear-gradient(#4c361b,#281b0d);border:1px solid #edd17e80;border-radius:.8cqh;min-height:5.8cqh;font-size:1.7cqh;font-weight:800}.five-preview__meld-picker{pointer-events:auto;background:#071017f7;border:1px solid #edd17e9e;border-radius:1cqh;width:30cqh;padding:1.4cqh;position:absolute;bottom:2cqh;right:16cqh;box-shadow:0 1.2cqh 3cqh #0000007a}.five-preview__meld-picker-title{color:#ffe29a;justify-content:space-between;align-items:center;margin-bottom:1cqh;font-size:1.4cqh;display:flex}.five-preview__meld-picker-title button{color:#cbd5e1;cursor:pointer;background:0 0;border:0;min-height:0;font-size:2cqh}.five-preview__meld-choice-list{flex-wrap:wrap;gap:.8cqh;display:flex}.five-preview__meld-choice{color:#e9e2c8;cursor:pointer;background:#19242beb;border:1px solid #edd17e52;border-radius:.7cqh;justify-items:center;gap:.5cqh;padding:.7cqh;display:grid}.five-preview__meld-choice>span{gap:.15cqh;display:flex}.five-preview__meld-choice .tile{width:3cqh;height:4.15cqh}.five-preview__meld-choice small{white-space:nowrap;font-size:1cqh}.five-preview__wait-display{color:#d9eee3;pointer-events:none;background:#07151ae6;border:1px solid #82c9bd52;border-radius:.8cqh;gap:.5cqh;min-width:18cqh;padding:1cqh;display:grid;position:absolute;bottom:18cqh;right:16cqh}.five-preview__wait-display small{color:#ffe29a;font-size:1.1cqh;font-weight:800}.five-preview__wait-display>span{flex-wrap:wrap;gap:.35cqh;display:flex}.five-preview__wait-display .tile{width:2.8cqh;height:3.8cqh}.five-preview__result{z-index:40;color:#f8edce;text-align:center;background:linear-gradient(145deg,#0b1f25fa,#030f15fa);border:2px solid #f4cb6aeb;border-radius:16px;gap:.65cqh;width:min(42cqw,420px);min-width:260px;padding:2.2cqh 2cqw;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #0c2325b8,0 18px 45px #00000073}.five-preview__result:before,.five-preview__result:after{content:"✦";color:#d9a947;font-size:1.4rem;position:absolute;top:.65cqh}.five-preview__result:before{left:1cqw}.five-preview__result:after{right:1cqw}.five-preview__result small{color:#f1c568;letter-spacing:.18em;font-size:1.25cqh;font-weight:900}.five-preview__result strong{color:#fff8df;font-size:3.4cqh}.five-preview__result>span{color:#d8caa9;font-size:1.65cqh}.five-preview__result-scoring{border-top:1px solid #f4cb6a59;gap:.45cqh;margin-top:.5cqh;padding-top:.8cqh;display:grid}.five-preview__result-scoring b{color:#f5d77d;font-size:1.7cqh}.five-preview__result-scoring span{color:#b9c6c0;font-size:1.25cqh;line-height:1.4}.five-preview__result--final{width:min(48cqw,520px)}.five-preview__standings{text-align:left;gap:.35cqh;margin-top:.8cqh;display:grid}.five-preview__standings>div{background:#ffffff0a;border:1px solid #f4cb6a40;border-radius:.5em;grid-template-columns:4.5em 1fr auto;align-items:center;gap:.7em;padding:.45em .7em;font-size:1.55cqh;display:grid}.five-preview__standings>div:first-child{background:#9c702333;border-color:#f4cb6abf}.five-preview__standings b{color:#f1c568}.five-preview__standings span{color:#f8edce}.five-preview__standings strong{color:#fff8df}.five-preview__tenpai-list{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35em;margin-top:.5em;display:grid}.five-preview__tenpai-list span{background:#ffffff0a;border-radius:.35em;padding:.35em .55em;font-size:1.15cqh}.five-preview__tenpai-list .is-tenpai{color:#9af0c8;border:1px solid #52d19e59}.five-preview__tenpai-list .is-noten{color:#aeb9c7;border:1px solid #94a3b82e}.five-preview__log{color:#f0e0b6b8;pointer-events:none;gap:.15cqh;max-width:50%;font-size:1.05cqh;display:grid;position:absolute;bottom:5.2cqh;left:1.2cqh}.five-preview__volume{color:#9eacb8;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex}.five-preview__volume input{accent-color:#55dbe2;width:72px}.five-preview__volume b{color:#d9e3e9;font-size:10px}.five-preview__chat>.battle-log-panel{z-index:1;color:#e9eff2;background:linear-gradient(#08131dfa,#050d16fa);border-top:1px solid #e7c67624;flex:1;grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;position:relative;overflow:hidden}.five-preview__chat .battle-log-panel__header{background:#091722eb;border-bottom:1px solid #94a3b829;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:8px 12px;display:flex}.five-preview__chat .battle-log-panel__header>div{gap:2px;display:grid}.five-preview__chat .battle-log-panel__header strong{color:#f5ead0;font-size:15px}.five-preview__chat .battle-log-panel__header small{color:#66818d;letter-spacing:.14em;font-size:8px}.five-preview__chat .battle-log-panel__header>span{color:#42d7df;font-size:11px;font-weight:900}.five-preview__chat .battle-log-panel__list{scrollbar-width:thin;min-height:0;padding:8px 10px 14px;overflow-y:auto}.five-preview__chat .battle-log-panel__round{grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;padding:9px 2px 7px;display:grid}.five-preview__chat .battle-log-panel__round>span{background:#ddae538c;height:1px}.five-preview__chat .battle-log-panel__round strong{color:#e2bc6c;white-space:nowrap;font-size:10px}.five-preview__chat .battle-log-panel__event{border-bottom:1px solid #94a3b81c;gap:4px;padding:6px 4px;display:grid}.five-preview__chat .battle-log-panel__event>header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.five-preview__chat .battle-log-panel__event>header strong{color:#edf2f3;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.five-preview__chat .battle-log-panel__event>header b{color:#8ba2ad;font-size:9px}.five-preview__chat .battle-log-panel__event p{color:#9fb0b8;margin:0;font-size:9px;line-height:1.35}.five-preview__chat .battle-log-panel__event.is-round{color:#e2bc6c}.five-preview__chat .battle-log-panel__event.is-riichi{background:#892d1c2e;border:1px solid #e8be5757;border-radius:7px}.five-preview__chat .battle-log-panel__event.is-chi>header strong,.five-preview__chat .battle-log-panel__event.is-pon>header strong,.five-preview__chat .battle-log-panel__event.is-kan>header strong{color:#71d9df}.five-preview__chat .battle-log-panel__event.is-win{background:#1c654f47;border:1px solid #52d19e85;border-radius:8px}.five-preview__chat .battle-log-panel__event.is-win>header strong{color:#9af0c8}.five-preview__chat .battle-log-panel__event.is-score>header strong{color:#d9bd78}.five-preview__chat{background:#101a25;border-left:1px solid #e7c6762e;flex-direction:column;min-width:0;display:flex}.five-preview__chat-tools{background:#09121e;border-bottom:1px solid #e7c67624;justify-content:flex-end;align-items:center;gap:8px;min-height:58px;padding:0 14px;display:flex}.five-preview__chat-tools button{color:#c7d0dc;background:0 0;border:0;font-size:13px}.five-preview__chat .table-chat__header{position:static}.five-preview__chat-empty{color:#b7c0c9;text-align:center;flex:1;place-items:center;gap:8px;font-size:13px;display:grid}.five-preview__chat-empty span{color:#718090;font-size:11px}.five-preview__chat textarea{resize:none;color:#e8eef4;background:#0b131d;border:1px solid #304254;border-radius:7px;min-height:80px;margin:14px;padding:10px}@media (width<=1050px){.five-preview__layout{grid-template-columns:1fr}.five-preview__chat{display:none}.five-preview__board{max-height:100%}}.five-preview-shell{background:#07101a!important}.game-canvas.five-preview__canvas{background:radial-gradient(circle at 48% 42%,#10585224,#0000 34%),linear-gradient(145deg,#07111c,#03080e)!important;width:1600px!important;min-width:1600px!important;max-width:1600px!important;height:900px!important;min-height:900px!important;max-height:900px!important}.game-canvas .five-preview__layout{grid-template-columns:minmax(0,1fr)!important;gap:0!important;width:1600px!important;min-width:1600px!important;height:900px!important;min-height:900px!important;padding:0!important;display:grid!important;overflow:hidden!important}.game-canvas .five-preview__table-wrap{background:linear-gradient(145deg,#3a2417,#1d110a)!important;border:0!important;border-radius:0!important;grid-template-rows:minmax(0,1fr) 72px!important;width:1280px!important;min-width:1280px!important;height:846px!important;min-height:846px!important;padding:0!important;overflow:hidden!important}.game-canvas .five-preview__stage{background:radial-gradient(circle at 50% 46%,#57361f61,#0000 52%),linear-gradient(145deg,#3b2416,#201209)!important;place-items:center!important;width:100%!important;min-width:0!important;height:774px!important;min-height:0!important;display:grid!important;position:relative!important;overflow:hidden!important;box-shadow:inset 0 0 44px #00000061!important;container-type:normal!important}.game-canvas .five-preview__board{aspect-ratio:26/19!important;flex:none!important;width:1040px!important;min-width:1040px!important;max-width:1040px!important;height:760px!important;min-height:760px!important;max-height:760px!important;position:relative!important;overflow:visible!important;container-type:size!important}.game-canvas .five-preview__board:before{content:"";z-index:0;clip-path:polygon(50% 0,100% 35%,100% 100%,0 100%,0 35%);filter:drop-shadow(0 0 16px #00000094);background:linear-gradient(145deg,#765333,#3d2818 58%,#20150e);position:absolute;inset:0}.game-canvas .five-preview__felt.mahjong-table{clip-path:polygon(50% 0,100% 35%,100% 100%,0 100%,0 35%);z-index:1!important;background:radial-gradient(circle at 50% 52%,#16886ff5,#03604dfa 67%,#004b3b)!important;border:0!important;border-radius:0!important;width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;position:absolute!important;inset:14px!important;overflow:hidden!important;box-shadow:inset 0 0 30px #00241d7a!important}.game-canvas .five-preview__felt.mahjong-table:before,.game-canvas .five-preview__felt.mahjong-table:after{content:none!important;display:none!important}.game-canvas .player.player--no-wind{grid-template-columns:minmax(0,1fr) 76px!important}.game-canvas .five-preview__player{z-index:12!important;width:200px!important;min-width:200px!important;max-width:200px!important;height:36px!important;min-height:36px!important;max-height:36px!important;color:var(--festival-cream)!important;text-shadow:0 1px 2px #000!important;transform-origin:50%!important;background:linear-gradient(#1c1e1db8,#070a0bcc)!important;border:1px solid #d9aa4e52!important;border-radius:7px!important;grid-template-rows:26px!important;grid-template-columns:minmax(0,1fr) 76px!important;align-items:center!important;gap:9px!important;padding:5px 6px!important;display:grid!important;overflow:hidden!important;box-shadow:inset 0 0 0 1px #ffffff06,0 3px 10px #00000057!important}.game-canvas .five-preview__player.player--active{background:linear-gradient(#0a4c48c7,#061b1fe0)!important;border-color:#45dce3d9!important;box-shadow:inset 0 0 0 1px #45dce326,0 0 16px #45dce345!important}.game-canvas .five-preview__player .player-copy strong{color:#fff5df!important;letter-spacing:.03em!important;font-size:11px!important}.game-canvas .five-preview__player .player-copy small{color:#93a4af!important;font-size:8px!important}.game-canvas .five-preview__player>b{color:#fff8e7!important;text-align:right!important;white-space:nowrap!important;width:76px!important;min-width:76px!important;max-width:76px!important;font-size:14px!important;line-height:1!important;overflow:hidden!important}.game-canvas .five-preview__player--upper-left{transform:rotate(var(--upper-left-label-angle))!important}.game-canvas .five-preview__player--upper-right{transform:rotate(var(--upper-right-label-angle))!important}.game-canvas .five-preview__player--lower-left{transform:rotate(var(--lower-left-label-angle))!important}.game-canvas .five-preview__player--lower-right{transform:rotate(var(--lower-right-label-angle))!important}.game-canvas .five-preview__player--bottom{transform:none!important}.game-canvas .five-preview__hand,.game-canvas .five-preview__river,.game-canvas .five-preview__melds,.game-canvas .five-preview__local-hand{z-index:4!important;transform-origin:50%!important;position:absolute!important}.game-canvas .mahjong-table .five-preview__hand .opponent-hand,.game-canvas .mahjong-table .five-preview__hand .opponent-hand--top{opacity:1!important;gap:2px!important;display:flex!important;position:relative!important;inset:auto!important;transform:none!important}.game-canvas .five-preview__hand--upper-left{transform:rotate(var(--upper-left-angle))!important}.game-canvas .five-preview__hand--upper-right{transform:rotate(var(--upper-right-angle))!important}.game-canvas .five-preview__hand--lower-left{transform:rotate(var(--lower-left-angle))!important}.game-canvas .five-preview__hand--lower-right{transform:rotate(var(--lower-right-angle))!important}.game-canvas .five-preview__river{grid-template-rows:repeat(4,39px)!important;grid-template-columns:repeat(6,28px)!important;grid-auto-rows:39px!important;gap:2px!important;width:178px!important;min-width:178px!important;height:162px!important;min-height:162px!important;max-height:162px!important;display:grid!important}.game-canvas .five-preview__river .tile{width:28px!important;min-width:28px!important;max-width:28px!important;height:39px!important;min-height:39px!important;max-height:39px!important;margin:0!important}.game-canvas .five-preview__river--upper-left{transform:rotate(var(--upper-left-angle))!important}.game-canvas .five-preview__river--upper-right{transform:rotate(var(--upper-right-angle))!important}.game-canvas .five-preview__river--lower-left{transform:rotate(var(--lower-left-angle))!important}.game-canvas .five-preview__river--lower-right{transform:rotate(var(--lower-right-angle))!important}.game-canvas .five-preview__river--bottom{transform:rotate(var(--bottom-angle))!important}.game-canvas .five-preview__river .tile--claimed{filter:drop-shadow(0 0 8px #ff5762)drop-shadow(0 0 18px #ff3e4de6);animation:.56s ease-in-out infinite alternate claimed-target-flash;z-index:12!important}.game-canvas .five-preview__melds{z-index:9!important;white-space:nowrap!important;flex-wrap:nowrap!important;place-content:flex-end flex-start!important;align-items:flex-end!important;gap:0 6px!important;width:max-content!important;min-width:0!important;max-width:none!important;height:39px!important;min-height:39px!important;max-height:39px!important;display:flex!important}.game-canvas .five-preview__meld{flex:none!important;align-items:flex-end!important;gap:1px!important;display:flex!important}.game-canvas .five-preview__meld .tile{width:28px!important;min-width:28px!important;max-width:28px!important;height:39px!important;min-height:39px!important;max-height:39px!important;margin:0!important}.game-canvas .five-preview__melds--upper-left{transform:rotate(var(--upper-left-angle))!important}.game-canvas .five-preview__melds--upper-right{transform:rotate(var(--upper-right-angle))!important}.game-canvas .five-preview__melds--lower-left{transform:rotate(var(--lower-left-angle))!important}.game-canvas .five-preview__melds--lower-right{transform:rotate(var(--lower-right-angle))!important}.game-canvas .five-preview__melds--bottom{transform:none!important}.game-canvas .five-preview__local-hand{z-index:15!important;text-align:center!important}.game-canvas .five-preview__local-hand>div{white-space:nowrap!important;justify-content:center!important;align-items:flex-end!important;gap:3px!important;display:flex!important}.game-canvas .five-preview__local-hand .tile{border-radius:6px!important;width:47px!important;min-width:47px!important;max-width:47px!important;height:66px!important;min-height:66px!important;max-height:66px!important;margin:0!important}.game-canvas .five-preview__local-hand .tile--dora{isolation:isolate}.game-canvas .five-preview__local-hand .tile-dora-shine{z-index:4;pointer-events:none;border-radius:5px;display:block;position:absolute;inset:3px 4px 7px;overflow:hidden}.game-canvas .five-preview__local-hand .tile-dora-shine:before{content:"";opacity:0;filter:blur(.4px);background:linear-gradient(90deg,#0000,#ffdd762e 24%,#fffbdceb 51%,#ffd55133 76%,#0000);width:46%;animation:3.6s ease-in-out infinite hand-dora-glint;position:absolute;top:-18%;bottom:-18%;left:-62%;transform:skew(-18deg)}.game-canvas .five-preview__table-mark{z-index:1;color:#e8cf8514;font-family:serif;font-size:68px;position:absolute;inset:51% auto auto 50%;transform:translate(-50%,-50%)}.game-canvas .five-preview__table-wrap>.action-rail{height:72px!important;min-height:72px!important}.game-canvas .five-preview__table-wrap>.action-rail .meld-picker{right:12px!important}.game-canvas .five-preview__table-wrap>.action-rail>.wait-display{bottom:calc(100% + 10px)!important;left:12px!important;right:auto!important}.game-canvas .five-preview__meld>.meld{--meld-tile-w:28px;--meld-tile-h:40px;align-items:flex-end!important;gap:0!important;display:inline-flex!important}.game-canvas .five-preview__meld .meld-tile-slot{width:var(--meld-tile-w)!important;height:var(--meld-tile-h)!important;flex:none!important;display:inline-block!important;position:relative!important}.game-canvas .five-preview__meld .meld-tile-slot--sideways{width:var(--meld-tile-h)!important;height:var(--meld-tile-w)!important}.game-canvas .five-preview__meld .meld-tile-slot>.tile{width:var(--meld-tile-w)!important;height:var(--meld-tile-h)!important;transform-origin:50%!important;margin:0!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.game-canvas .five-preview__meld .meld-tile-slot--sideways>.tile.tile--sideways{transform:translate(-50%,-50%)rotate(270deg)!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.game-canvas{width:1600px!important;height:900px!important;overflow:hidden!important}.game-canvas .topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:40!important;background:linear-gradient(#050a0ef0,#050a0e9e)!important;border-bottom:1px solid #e0b55e61!important;width:1600px!important;height:54px!important;min-height:54px!important;padding:0 18px!important;position:absolute!important;inset:0 0 auto!important}.game-canvas .game-brand-logo{width:48px!important;height:42px!important}.game-canvas .brand strong{font-size:17px!important}.game-canvas .brand small{display:none!important}.game-canvas .match-labels{gap:9px!important;font-size:12px!important}.game-canvas .secure-pill{min-height:30px!important;padding:0 11px!important}.game-canvas .top-actions{gap:6px!important}.game-canvas .top-actions button{height:32px!important;min-height:32px!important;padding:0 10px!important;font-size:12px!important}.game-canvas .play-layout,.game-canvas .play-layout.has-chat{width:1600px!important;min-width:1600px!important;height:900px!important;min-height:900px!important;padding:0!important;display:block!important;position:absolute!important;inset:0!important;overflow:hidden!important}.game-canvas .table-wrap,.game-canvas .play-layout.has-chat .table-wrap{border:0!important;border-radius:0!important;grid-template-rows:minmax(0,1fr) 72px!important;width:1280px!important;min-width:1280px!important;height:846px!important;min-height:846px!important;padding:0!important;display:grid!important;position:absolute!important;inset:54px auto auto 0!important;overflow:hidden!important}.game-canvas .table-stage,.game-canvas .play-layout.has-chat .table-stage{--table-ring-x:52px!important;--table-ring-y:48px!important;border-width:0!important;border-radius:0!important;width:1280px!important;min-width:1280px!important;height:774px!important;min-height:774px!important;position:relative!important;overflow:hidden!important}.game-canvas .table-stage>.mahjong-table,.game-canvas .play-layout.has-chat .table-stage>.mahjong-table{border-radius:8px!important;position:absolute!important;inset:48px 52px 22px!important;overflow:hidden!important}.game-canvas .mahjong-table .round-center,.game-canvas .play-layout.has-chat .mahjong-table .round-center{border-radius:13px!important;grid-template-columns:minmax(0,1fr) 64px!important;column-gap:7px!important;width:220px!important;min-width:220px!important;max-width:220px!important;min-height:142px!important;padding:12px!important;top:50%!important;left:50%!important;overflow:hidden!important;transform:translate(-50%,-50%)!important}.game-canvas .round-heading span{font-size:26px!important}.game-canvas .round-heading small,.game-canvas .round-grid small,.game-canvas .dora small{font-size:11px!important}.game-canvas .round-grid strong{font-size:28px!important}.game-canvas .mahjong-table .river,.game-canvas .play-layout.has-chat .mahjong-table .river{--river-tile-w:31px!important;--river-tile-h:43px!important;--river-gap:3px!important;grid-template-rows:repeat(3,max-content)!important;grid-template-columns:repeat(6,max-content)!important;grid-auto-flow:row!important;gap:3px!important;width:max-content!important;height:max-content!important}.game-canvas .mahjong-table .river-tile-slot,.game-canvas .play-layout.has-chat .mahjong-table .river-tile-slot{width:31px!important;height:43px!important}.game-canvas .mahjong-table .river-tile-slot--sideways,.game-canvas .play-layout.has-chat .mahjong-table .river-tile-slot--sideways{width:43px!important;height:31px!important}.game-canvas .mahjong-table .river-tile-slot>.tile,.game-canvas .play-layout.has-chat .mahjong-table .river-tile-slot>.tile{width:31px!important;height:43px!important;margin:0!important}.game-canvas .mahjong-table .river--top,.game-canvas .play-layout.has-chat .mahjong-table .river--top{inset:auto auto calc(50% + 82px) 50%!important;transform:translate(-50%)rotate(180deg)!important}.game-canvas .mahjong-table .river--bottom,.game-canvas .play-layout.has-chat .mahjong-table .river--bottom{inset:calc(50% + 82px) auto auto 50%!important;transform:translate(-50%)!important}.game-canvas .mahjong-table .river--left,.game-canvas .play-layout.has-chat .mahjong-table .river--left{inset:50% calc(50% + 133px) auto auto!important;transform:translateY(-50%)rotate(90deg)!important}.game-canvas .mahjong-table .river--right,.game-canvas .play-layout.has-chat .mahjong-table .river--right{inset:50% auto auto calc(50% + 133px)!important;transform:translateY(-50%)rotate(-90deg)!important}.game-canvas .mahjong-table .hand,.game-canvas .play-layout.has-chat .mahjong-table .hand{flex-wrap:nowrap!important;max-width:calc(100% - 150px)!important;bottom:6px!important;left:50%!important;transform:translate(-50%)!important}.game-canvas .mahjong-table .hand .tile,.game-canvas .play-layout.has-chat .mahjong-table .hand .tile{flex:0 0 54px!important;width:54px!important;height:73px!important}.game-canvas .table-stage>.player,.game-canvas .play-layout.has-chat .table-stage>.player{grid-template-rows:26px!important;grid-template-columns:26px minmax(0,1fr) 76px!important;width:200px!important;min-width:200px!important;max-width:200px!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:5px 6px!important;overflow:hidden!important}.game-canvas .table-stage>.player>b,.game-canvas .play-layout.has-chat .table-stage>.player>b{text-align:right!important;white-space:nowrap!important;width:76px!important;min-width:76px!important;max-width:76px!important;font-size:14px!important;line-height:1!important;overflow:hidden!important}.game-canvas .table-stage>.player--top{top:8px!important}.game-canvas .table-stage>.player--bottom{bottom:8px!important}.game-canvas .table-stage>.player--left{left:24px!important}.game-canvas .table-stage>.player--right{right:24px!important}.game-canvas .action-rail{z-index:32!important;grid-template-columns:minmax(240px,1fr) auto 220px!important;align-items:center!important;gap:10px!important;height:72px!important;min-height:72px!important;padding:7px 14px!important;display:grid!important;position:relative!important}.game-canvas .turn-notice{font-size:13px!important}.game-canvas .call-actions{gap:5px!important}.game-canvas .action{width:62px!important;min-width:62px!important;height:50px!important;padding:0 5px!important;font-size:15px!important}.game-canvas .discard-button{width:220px!important;min-width:220px!important;height:52px!important;font-size:20px!important}.game-canvas .table-chat,.game-canvas .play-layout.has-chat .table-chat{z-index:60!important;width:320px!important;height:846px!important;box-shadow:none!important;border-left:2px solid #765528!important;display:grid!important;position:absolute!important;inset:54px 0 0 auto!important}.game-canvas .table-chat__header button,.game-canvas .side-panel{display:none!important}.game-canvas .table-stage:before,.game-canvas .table-stage:after,.game-canvas .play-layout.has-chat .table-stage:before,.game-canvas .play-layout.has-chat .table-stage:after{content:none!important;display:none!important}.game-canvas{--material-edge:#e0be709e;--material-highlight:#ffffff38;--material-contact:0 3px 0 #5233176b, 0 8px 14px #0000004d;--material-control-shadow:0 3px 0 #4a2e107a, 0 8px 16px #00000047}.game-canvas .mahjong-table,.game-canvas .play-layout.has-chat .mahjong-table{box-shadow:inset 0 0 0 4px #041216eb,inset 0 0 80px #00000075,inset 0 18px 45px #22caa61a,0 16px 30px #00000047!important}.game-canvas .action,.game-canvas .discard-button,.game-canvas .top-actions button{border-top-color:var(--material-edge)!important;box-shadow:inset 0 1px 0 var(--material-highlight), var(--material-control-shadow)!important;border-bottom-width:3px!important;border-right-color:#e0be706b!important}.game-canvas .action{background:linear-gradient(145deg,#2a3841fa,#0c151dfa)!important}.game-canvas .action:hover:not(:disabled),.game-canvas .action.active{filter:brightness(1.08)!important;box-shadow:inset 0 1px #ffffff3d,0 3px #1b6c7085,0 8px 16px #00000042!important}.game-canvas .discard-button{text-shadow:0 1px #ffffff59;color:#2c1b08!important;background:linear-gradient(145deg,#f1d274 0%,#d6a63e 62%,#b77f22 100%)!important;border-color:#ffe39b!important}.game-canvas .action:disabled,.game-canvas .discard-button:disabled{box-shadow:inset 0 1px #ffffff14,0 2px 4px #00000038!important}@media (width<=1100px),(height<=760px){.game-canvas .topbar{height:54px!important;min-height:54px!important}.game-canvas .play-layout,.game-canvas .play-layout.has-chat{width:1600px!important;min-width:1600px!important;height:900px!important;min-height:900px!important}.game-canvas .table-wrap,.game-canvas .play-layout.has-chat .table-wrap{height:846px!important}.game-canvas .table-stage,.game-canvas .play-layout.has-chat .table-stage{--table-ring-x:52px!important;--table-ring-y:48px!important;width:1280px!important;height:774px!important}}.game-canvas .table-chat,.game-canvas .play-layout.has-chat .table-chat{background:linear-gradient(#131f28fa,#070e15fc)!important;border-left:1px solid #e0b55e7a!important;box-shadow:inset 10px 0 24px #0000002e,-10px 0 24px #0000002e!important}.game-canvas .table-chat__header{background:linear-gradient(#1e2b33ad,#0c161d6b)!important;border-bottom-color:#e0b55e57!important;min-height:66px!important}.game-canvas .table-chat__header strong{letter-spacing:.03em;color:#f2d995!important}.game-canvas .table-chat__header i{background:#d14a4f!important;box-shadow:0 0 12px #d14a4f8c!important}.game-canvas .table-chat__messages{background:linear-gradient(#030a1014,#030a104d)!important}.game-canvas .table-chat__form{background:#050b11eb!important;border-top-color:#e0b55e57!important}.game-canvas .table-chat__form textarea{background:#0d1821!important;border-color:#e0b55e57!important}.game-canvas .action-rail{background:linear-gradient(#19232afa,#070f16fc)!important;border-top:1px solid #e0b55e7a!important;box-shadow:inset 0 1px #ffffff0f,0 -8px 18px #00000029!important}.game-canvas .turn-notice{background:#060f168c!important;border:1px solid #e0b55e2e!important;border-radius:8px!important;min-width:0!important;padding:8px 12px!important;box-shadow:inset 0 1px #ffffff0a!important}.game-canvas .call-actions{background:#040c1275!important;border:1px solid #e0b55e3d!important;border-radius:10px!important;padding:4px!important;box-shadow:inset 0 1px #ffffff0a!important}.game-canvas .discard-button{border-radius:10px!important}.game-canvas .wait-display.wait-display--tenpai{border-color:#f2c866b8!important;box-shadow:0 12px 34px #0000005c,0 0 22px #f2c8661f!important}.game-canvas .wait-display.wait-display--tenpai>div:first-child span,.game-canvas .wait-display.wait-display--tenpai>small{color:#f2c866!important}.game-canvas .table-stage,.game-canvas .play-layout.has-chat .table-stage{width:1100px!important;min-width:1100px!important;margin-left:90px!important}.game-canvas .table-stage>.mahjong-table,.game-canvas .play-layout.has-chat .table-stage>.mahjong-table{inset:48px 38px 22px!important}.game-canvas .riichi-rail-effect{z-index:28!important;pointer-events:none!important;width:1280px!important;height:774px!important;position:absolute!important;inset:0 auto auto 0!important;overflow:hidden!important}.game-canvas .riichi-rail-effect__side{background:linear-gradient(#35160c33,#0a09096b),repeating-linear-gradient(135deg,#e0b55e0b 0 2px,#0000 2px 10px)!important;border-top:1px solid #e3a54338!important;border-bottom:1px solid #e3a54338!important;width:90px!important;position:absolute!important;top:0!important;bottom:0!important;overflow:hidden!important;box-shadow:inset 0 0 26px #00000052!important}.game-canvas .riichi-rail-effect__side--left{left:0!important}.game-canvas .riichi-rail-effect__side--right{right:0!important}.game-canvas .riichi-rail-effect__side:before,.game-canvas .riichi-rail-effect__side:after{content:""!important;opacity:.72!important;background:linear-gradient(90deg,#0000,#ffe187b3,#0000)!important;height:1px!important;position:absolute!important;left:11px!important;right:11px!important}.game-canvas .riichi-rail-effect__side:before{top:17px!important}.game-canvas .riichi-rail-effect__side:after{bottom:17px!important}.game-canvas .riichi-rail-effect__flare{z-index:1!important;filter:blur(3px)!important;background:linear-gradient(#0000,#ff48303d,#ffdd85b8,#0000)!important;height:24%!important;animation:2.6s ease-in-out infinite riichi-rail-flare!important;position:absolute!important;top:-20%!important;left:-18px!important;right:-18px!important}.game-canvas .riichi-rail-effect__track{z-index:2!important;color:#fff3bf!important;letter-spacing:.08em!important;text-shadow:0 0 3px #8e2416,0 0 10px #ff5f38f2,0 2px #621b0ef2!important;writing-mode:vertical-rl!important;flex-direction:column!important;align-items:center!important;gap:44px!important;font-family:Yu Mincho,Hiragino Mincho ProN,serif!important;font-size:38px!important;font-weight:900!important;line-height:1!important;animation:5.6s linear infinite riichi-rail-flow!important;display:flex!important;position:absolute!important;top:-360px!important;left:50%!important;transform:translate(-50%)!important}.game-canvas .riichi-rail-effect__track span{white-space:nowrap!important;display:block!important}@keyframes riichi-rail-flow{0%{transform:translate(-50%,-4%)}to{transform:translate(-50%,72%)}}@keyframes riichi-rail-flare{0%,to{opacity:.15;transform:translateY(-10%)}45%{opacity:.92;transform:translateY(350%)}}.game-canvas .riichi-preview-center{color:#f7df9d!important;text-align:center!important;background:#051116c7!important;border:1px solid #e0b55e7a!important;border-radius:14px!important;gap:10px!important;min-width:250px!important;padding:22px 28px!important;display:grid!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;box-shadow:0 12px 28px #0000003d,inset 0 1px #ffffff14!important}.game-canvas .riichi-preview-center strong{font-size:24px!important}.game-canvas .riichi-preview-center span{color:#eff5eeb8!important;font-size:13px!important}.game-canvas .riichi-rail-effect__track{writing-mode:initial!important;animation:5.6s linear infinite riichi-rail-flow-fixed!important;top:20px!important}.game-canvas .riichi-rail-effect__track span{writing-mode:vertical-rl!important;text-orientation:upright!important}@keyframes riichi-rail-flow-fixed{0%{transform:translate(-50%,-20px)}to{transform:translate(-50%,280px)}}.game-canvas .riichi-rail-effect__track{gap:0!important;height:auto!important;animation:3.6s linear infinite riichi-single-drop!important;display:block!important;top:-104px!important}.game-canvas .riichi-rail-effect__track span{writing-mode:vertical-rl!important;text-orientation:upright!important;display:block!important}@keyframes riichi-single-drop{0%{transform:translate(-50%)}to{transform:translate(-50%,900px)}}.game-canvas .riichi-rail-effect__track{flex-direction:column!important;align-items:center!important;width:1.2em!important;height:auto!important;animation:3.6s linear infinite riichi-glyph-drop!important;display:flex!important;top:-118px!important}.game-canvas .riichi-rail-effect__track span{writing-mode:horizontal-tb!important;text-orientation:mixed!important;text-align:center!important;white-space:nowrap!important;width:1.2em!important;height:1.2em!important;line-height:1.2!important;display:block!important}@keyframes riichi-glyph-drop{0%{transform:translate(-50%)}to{transform:translate(-50%,900px)}}.game-canvas .riichi-rail-effect__side{-webkit-mask-image:linear-gradient(#0000 0%,#000 12% 88%,#0000 100%)!important;mask-image:linear-gradient(#0000 0%,#000 12% 88%,#0000 100%)!important}.game-canvas .riichi-rail-effect__track{flex-direction:column!important;align-items:center!important;gap:22px!important;width:72px!important;animation:4.2s linear infinite riichi-logo-reel!important;display:flex!important;top:-150px!important}.game-canvas .riichi-rail-effect__track img{object-fit:contain!important;filter:drop-shadow(0 0 5px #ff4830d9)drop-shadow(0 3px 4px #0000008c)!important;flex:none!important;width:68px!important;height:auto!important;display:block!important}@keyframes riichi-logo-reel{0%{transform:translate(-50%)}to{transform:translate(-50%,570px)}}.game-canvas .riichi-rail-effect__track{display:none!important}.game-canvas .riichi-rail-effect__side{background:linear-gradient(#5a0d0a4d,#05080aa8),repeating-linear-gradient(135deg,#ffda7d14 0 2px,#0000 2px 13px)!important;animation:1.05s ease-in-out infinite alternate riichi-rail-pulse!important;box-shadow:inset 0 0 34px #ff342457,inset 0 0 8px #ffe39770,0 0 18px #ff3a2775!important}.game-canvas .riichi-rail-effect__side:before{content:""!important;z-index:3!important;filter:blur(2px)!important;opacity:.95!important;background:linear-gradient(#0000,#fff8c3fa,#ff4e2d94,#0000)!important;height:24%!important;animation:1.65s linear infinite riichi-rail-sweep!important;position:absolute!important;top:-28%!important;left:-38%!important;right:-38%!important}.game-canvas .riichi-rail-effect__side:after{content:""!important;z-index:4!important;background:linear-gradient(90deg,#0000,#ffe8a8,#ff6449,#ffe8a8,#0000)!important;height:2px!important;animation:.72s ease-in-out infinite alternate riichi-rail-flash!important;display:none!important;position:absolute!important;top:50%!important;left:10px!important;right:10px!important;box-shadow:0 0 14px #ff7652,0 0 28px #ffd36dcc!important}@keyframes riichi-rail-pulse{0%{filter:saturate()brightness(.92);opacity:.78}to{filter:saturate(1.65)brightness(1.32);opacity:1}}@keyframes riichi-rail-sweep{0%{transform:translateY(0)}to{transform:translateY(570%)}}@keyframes riichi-rail-flash{0%{opacity:.34;transform:scaleX(.74)}to{opacity:1;transform:scaleX(1.12)}}.five-preview-shell .five-preview__stage{place-items:center!important;padding:0!important;overflow:hidden!important}.five-preview-shell .five-preview__board{aspect-ratio:auto!important;width:1250px!important;min-width:1250px!important;max-width:1250px!important;height:738px!important;min-height:738px!important;max-height:738px!important;position:relative!important;overflow:hidden!important}.five-preview-shell .five-preview__board:before,.five-preview-shell .five-preview__felt.mahjong-table{clip-path:polygon(50% 0,100% 31%,100% 100%,0 100%,0 31%)!important}.five-preview-shell .five-preview__felt.mahjong-table{width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;inset:13px!important;overflow:hidden!important}.five-preview-shell .five-preview__hand .opponent-hand,.five-preview-shell .five-preview__hand .opponent-hand--top{margin:0!important;position:static!important;inset:auto!important;transform:none!important}.five-preview-shell .five-preview__hand,.five-preview-shell .five-preview__river,.five-preview-shell .five-preview__melds,.five-preview-shell .five-preview__player,.five-preview-shell .five-preview__local-hand{transform-origin:50%!important;margin:0!important;position:absolute!important}.five-preview-shell .five-preview__hand,.five-preview-shell .five-preview__river,.five-preview-shell .five-preview__melds{box-shadow:none!important;background:0 0!important}.five-preview-shell .five-preview__local-hand{inset:auto auto 61px 50%!important;transform:translate(-50%)!important}.five-preview-shell .five-preview__hand--upper-left{inset:18% auto auto 28%!important;transform:translate(-50%,-50%)rotate(160deg)!important}.five-preview-shell .five-preview__hand--upper-right{inset:18% auto auto 72%!important;transform:translate(-50%,-50%)rotate(200deg)!important}.five-preview-shell .five-preview__hand--lower-left{inset:62% auto auto 8%!important;transform:translate(-50%,-50%)rotate(90deg)!important}.five-preview-shell .five-preview__hand--lower-right{inset:62% auto auto 92%!important;transform:translate(-50%,-50%)rotate(270deg)!important}.five-preview-shell .five-preview__hand .opponent-tile-slot,.five-preview-shell .five-preview__hand .opponent-tile-slot--top{width:27px!important;min-width:27px!important;max-width:27px!important;height:38px!important;min-height:38px!important;max-height:38px!important}.five-preview-shell .five-preview__hand .opponent-tile-slot>.tile,.five-preview-shell .five-preview__hand .opponent-tile-slot--top>.tile{width:27px!important;min-width:27px!important;max-width:27px!important;height:38px!important;min-height:38px!important;max-height:38px!important;margin:0!important}.five-preview-shell .five-preview__local-hand>div{white-space:nowrap!important;justify-content:center!important;align-items:flex-end!important;gap:3px!important;display:flex!important}.five-preview-shell .five-preview__local-hand .tile{width:47px!important;min-width:47px!important;max-width:47px!important;height:66px!important;min-height:66px!important;max-height:66px!important;margin:0!important}.five-preview-shell .five-preview__river{z-index:7!important;grid-template-rows:repeat(4,42px)!important;grid-template-columns:repeat(5,32px)!important;grid-auto-flow:row!important;gap:2px!important;width:168px!important;min-width:168px!important;max-width:168px!important;height:174px!important;min-height:174px!important;max-height:174px!important;display:grid!important;overflow:visible!important}.five-preview-shell .five-preview__river .tile{width:32px!important;min-width:32px!important;max-width:32px!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important}.five-preview-shell .five-preview__river--upper-left{inset:42% auto auto 30%!important;transform:translate(-50%,-50%)rotate(160deg)!important}.five-preview-shell .five-preview__river--upper-right{inset:42% auto auto 70%!important;transform:translate(-50%,-50%)rotate(200deg)!important}.five-preview-shell .five-preview__river--lower-left{inset:70% auto auto 27.5%!important;transform:translate(-50%,-50%)rotate(90deg)!important}.five-preview-shell .five-preview__river--lower-right{inset:70% auto auto 72.5%!important;transform:translate(-50%,-50%)rotate(270deg)!important}.five-preview-shell .five-preview__river--bottom{inset:73% auto auto 50%!important;transform:translate(-50%,-50%)!important}.five-preview-shell .five-preview__melds{z-index:9!important;white-space:normal!important;background:linear-gradient(135deg,#00483cd6,#002b26e6)!important;flex-flow:row-reverse!important;place-content:center flex-start!important;align-items:flex-end!important;gap:0 1px!important;width:455px!important;min-width:455px!important;max-width:455px!important;height:43px!important;min-height:43px!important;max-height:43px!important;display:flex!important;overflow:visible!important;box-shadow:inset 0 0 0 1px #042724b8,0 5px 12px #00141138!important}.five-preview-shell .five-preview__meld{flex:none!important;align-items:center!important;gap:0!important;display:flex!important}.five-preview-shell .five-preview__meld .tile{width:28px!important;min-width:28px!important;max-width:28px!important;height:40px!important;min-height:40px!important;max-height:40px!important;margin:0!important}.five-preview-shell .five-preview__melds--bottom{inset:82% auto auto 67%!important;transform:none!important}.five-preview-shell .five-preview__melds--upper-left{inset:18% auto auto 13%!important;transform:translate(-50%,-50%)rotate(160deg)!important}.five-preview-shell .five-preview__melds--upper-right{inset:18% auto auto 87%!important;transform:translate(-50%,-50%)rotate(200deg)!important}.five-preview-shell .five-preview__melds--lower-left{inset:86% auto auto 17%!important;transform:translate(-50%,-50%)rotate(90deg)!important}.five-preview-shell .five-preview__melds--lower-right{inset:86% auto auto 94%!important;transform:translate(-50%,-50%)rotate(270deg)!important}.five-preview-shell .five-preview__player--bottom{inset:auto auto 8px 50%!important;transform:translate(-50%)!important}.five-preview-shell .five-preview__player--upper-left{inset:7% auto auto 25%!important;transform:translate(-50%,-50%)rotate(-20deg)!important}.five-preview-shell .five-preview__player--upper-right{inset:7% auto auto 75%!important;transform:translate(-50%,-50%)rotate(20deg)!important}.five-preview-shell .five-preview__player--lower-left{inset:62% auto auto 2.5%!important;transform:translate(-50%,-50%)rotate(-90deg)!important}.five-preview-shell .five-preview__player--lower-right{inset:62% auto auto 97.5%!important;transform:translate(-50%,-50%)rotate(90deg)!important}.five-preview-shell .center-hud-v3{width:268px!important;min-width:268px!important;max-width:268px!important;height:154px!important;min-height:154px!important;max-height:154px!important;top:49%!important;left:50%!important;transform:translate(-50%,-50%)!important}.five-preview-shell .five-preview__table-mark{display:none!important}@media (width<=1280px),(height<=760px){.five-preview-shell .five-preview__board{width:1250px!important;height:738px!important}}.game-canvas.five-preview__canvas .five-preview__table-wrap,.game-canvas.five-preview__canvas .five-preview__stage{box-shadow:none!important;background:#07101a!important;overflow:visible!important}.game-canvas.five-preview__canvas .five-preview__layout.has-battle-log>.battle-log-panel{border-radius:14px!important;width:320px!important;min-width:320px!important;max-width:320px!important;height:846px!important;min-height:846px!important;max-height:846px!important;margin:0!important;position:absolute!important;inset:54px 0 0 auto!important;overflow:hidden!important}.game-canvas.five-preview__canvas .five-preview__table-wrap{width:1280px!important;min-width:1280px!important}.game-canvas.five-preview__canvas .five-preview__board{aspect-ratio:auto!important;width:1250px!important;min-width:1250px!important;max-width:1250px!important;height:738px!important;min-height:738px!important;max-height:738px!important;overflow:visible!important;transform:translate(-60px)!important}.game-canvas.five-preview__canvas .five-preview__board:before{z-index:0!important;clip-path:polygon(50% 0,100% 31%,100% 100%,0 100%,0 31%)!important;filter:none!important;background:linear-gradient(145deg,#765333,#3d2818 58%,#20150e)!important;inset:0!important;box-shadow:inset 0 0 0 3px #080d0eeb!important}.game-canvas.five-preview__canvas .five-preview__board:after{content:""!important;z-index:1!important;clip-path:polygon(625px 31.95px,1220px 249.75px,1220px 708px,30px 708px,30px 249.75px)!important;box-shadow:none!important;pointer-events:none!important;background:linear-gradient(145deg,#d0a04a 0%,#8b5f22 38%,#b57d2d 72%,#6b421b 100%)!important;position:absolute!important;inset:0!important}.game-canvas.five-preview__canvas .five-preview__felt.mahjong-table{z-index:2!important;clip-path:polygon(625px 37.27px,1215px 253.24px,1215px 703px,35px 703px,35px 253.24px)!important;border:0!important;inset:0!important;box-shadow:inset 0 0 70px #0000003d!important}.game-canvas.five-preview__canvas .five-preview__seat{z-index:4!important;pointer-events:none!important;transform-origin:0 0!important;width:0!important;height:0!important;position:absolute!important;top:0!important;left:0!important;overflow:visible!important}.game-canvas.five-preview__canvas .five-preview__seat--upper-left{top:115px!important;left:312.5px!important;transform:rotate(160deg)!important}.game-canvas.five-preview__canvas .five-preview__seat--upper-right{top:115px!important;left:937.5px!important;transform:rotate(200deg)!important}.game-canvas.five-preview__canvas .five-preview__seat--upper-left>.five-preview__player,.game-canvas.five-preview__canvas .five-preview__seat--upper-right>.five-preview__player{top:-30px!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-left{top:484px!important;left:0!important;transform:rotate(90deg)!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-right{top:484px!important;left:1250px!important;transform:rotate(270deg)!important}.game-canvas.five-preview__canvas .five-preview__seat--bottom{top:738px!important;left:625px!important;transform:none!important}.game-canvas.five-preview__canvas .five-online-staging__hand{z-index:5!important;pointer-events:none!important;justify-content:center!important;align-items:flex-end!important;gap:3px!important;width:410px!important;height:34px!important;display:flex!important;position:absolute!important;top:-145px!important;left:-205px!important}.game-canvas.five-preview__canvas .five-online-staging__hand i{background:linear-gradient(#fffdf5 0 74%,#d4a32c 74% 100%)!important;border:1px solid #5e502fbf!important;border-radius:3px!important;flex:0 0 26px!important;width:26px!important;height:34px!important;display:block!important;box-shadow:0 2px 3px #00000047!important}.game-canvas.five-preview__canvas .five-online-staging__notice{z-index:10!important;color:#d9e7e5!important;text-align:center!important;background:linear-gradient(145deg,#081b22f5,#040e15f7)!important;border:1px solid #e0b657b3!important;border-radius:12px!important;gap:7px!important;width:360px!important;padding:22px 26px!important;display:grid!important;position:absolute!important;top:52%!important;left:50%!important;transform:translate(-50%,-50%)!important;box-shadow:0 12px 32px #0000006b!important}.game-canvas.five-preview__canvas .five-online-staging__notice small{color:#58dbe1!important;letter-spacing:.14em!important;font-size:11px!important;font-weight:900!important}.game-canvas.five-preview__canvas .five-online-staging__notice strong{color:#f4d67d!important;font-size:22px!important}.game-canvas.five-preview__canvas .five-online-staging__notice p{color:#9fb2b7!important;margin:0!important;font-size:12px!important;line-height:1.5!important}.game-canvas.five-preview__canvas .five-online-staging__seat>.five-preview__player{pointer-events:none!important}.game-canvas.five-preview__canvas .five-online-staging__chat{height:846px!important;min-height:846px!important}.game-canvas.five-preview__canvas .five-online-staging__chat .table-chat__header{position:static!important}.game-canvas.five-preview__canvas .five-online-staging__chat .table-chat__form textarea{margin:0!important}.five-online-staging .game-canvas.five-preview__canvas .five-preview__layout,.five-online-game .game-canvas.five-preview__canvas .five-preview__layout{grid-template-columns:1280px 320px!important}.five-online-staging .game-canvas.five-preview__canvas .five-preview__layout.has-chat>.five-preview__table-wrap,.five-online-game .game-canvas.five-preview__canvas .five-preview__layout.has-chat>.five-preview__table-wrap{justify-self:start!important;width:1280px!important;min-width:1280px!important;max-width:1280px!important;height:846px!important;min-height:846px!important;max-height:846px!important;margin:0!important;padding:0!important;overflow:visible!important}.five-online-staging .game-canvas.five-preview__canvas .five-preview__layout.has-chat .five-preview__stage,.five-online-game .game-canvas.five-preview__canvas .five-preview__layout.has-chat .five-preview__stage{width:1280px!important;min-width:1280px!important;max-width:1280px!important;margin-left:0!important;margin-right:0!important;overflow:visible!important}.game-canvas.five-preview__canvas .five-online-game__chat{height:846px!important;min-height:846px!important}.game-canvas.five-preview__canvas .five-online-game__chat .table-chat__header{position:static!important}.game-canvas.five-preview__canvas .five-online-game__chat .table-chat__form textarea{margin:0!important}.game-canvas.five-preview__canvas .five-online-game__error{z-index:12!important;color:#ff9b91!important;max-width:520px!important;margin:0!important;font-size:12px!important;position:absolute!important;bottom:98px!important;left:18px!important}.game-canvas.five-preview__canvas .five-preview__stage{width:1280px!important;min-width:1280px!important;max-width:1280px!important;margin-left:0!important;margin-right:0!important}.game-canvas.five-preview__canvas .five-preview__board{transform:none!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__hand,.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__local-hand,.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__river,.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__melds,.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__player{pointer-events:auto!important;margin:0!important;position:absolute!important;bottom:auto!important;right:auto!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__hand{width:420px!important;min-width:420px!important;max-width:420px!important;height:42px!important;min-height:42px!important;max-height:42px!important;top:-180px!important;left:-210px!important;transform:none!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__hand .opponent-hand,.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__hand .opponent-hand--top{justify-content:center!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;display:flex!important;position:static!important;transform:none!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__river{background:linear-gradient(135deg,#004a3db8,#00302bd1)!important;top:-305px!important;left:-84px!important;transform:none!important;box-shadow:inset 0 0 0 1px #042724b8,0 5px 12px #00141133!important}.game-canvas.five-preview__canvas .five-preview__river .tile--sideways{transform:rotate(90deg)scale(.72)!important}.game-canvas.five-preview__canvas .five-preview__seat--upper-left>.five-preview__river{top:-300px!important;left:-150px!important}.game-canvas.five-preview__canvas .five-preview__seat--upper-right>.five-preview__river{top:-300px!important;left:-18px!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-left>.five-preview__river{top:-308px!important;left:-47.63px!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-right>.five-preview__river{top:-308px!important;left:-120.37px!important}.five-preview-shell:not(.five-preview--show-lane-guides) .game-canvas.five-preview__canvas .five-preview__seat>.five-preview__river,.five-preview-shell:not(.five-preview--show-lane-guides) .game-canvas.five-preview__canvas .five-preview__seat>.five-preview__melds{box-shadow:none!important;background:0 0!important}.five-preview-shell.five-preview--show-lane-guides .game-canvas.five-preview__canvas .five-preview__seat>.five-preview__river{background:linear-gradient(135deg,#004a3db8,#00302bd1)!important;box-shadow:inset 0 0 0 1px #042724b8,0 5px 12px #00141133!important}.five-preview-shell.five-preview--show-lane-guides .game-canvas.five-preview__canvas .five-preview__seat>.five-preview__melds{background:linear-gradient(135deg,#00483cd6,#002b26e6)!important;box-shadow:inset 0 0 0 1px #042724b8,0 5px 12px #00141138!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__melds{width:455px!important;min-width:455px!important;max-width:455px!important;top:-115px!important;left:-135px!important;transform:none!important}.game-canvas.five-preview__canvas .five-preview__seat--upper-left>.five-preview__melds{top:-81.28px!important;left:-156.44px!important}.game-canvas.five-preview__canvas .five-preview__seat--upper-right>.five-preview__melds{top:-81.28px!important;left:-136.38px!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-left>.five-preview__melds,.game-canvas.five-preview__canvas .five-preview__seat--lower-right>.five-preview__melds{width:455px!important;min-width:455px!important;max-width:455px!important;top:-105px!important;left:-225px!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-left>.five-preview__melds{top:-85px!important;left:-243px!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-right>.five-preview__melds{top:-85px!important;left:-233.74px!important}.game-canvas.five-preview__canvas .five-preview__seat--bottom>.five-preview__local-hand{width:700px!important;min-width:700px!important;max-width:700px!important;height:70px!important;min-height:70px!important;max-height:70px!important;top:-84px!important;bottom:auto!important;left:-380px!important;transform:none!important}.game-canvas.five-preview__canvas .five-preview__seat--bottom>.five-preview__local-hand>div{width:100%!important;min-width:0!important;max-width:none!important}.game-canvas.five-preview__canvas .five-preview__seat--bottom>.five-preview__melds{width:455px!important;min-width:455px!important;max-width:455px!important;top:-86px!important;left:125px!important;transform:none!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__player{z-index:20!important;background:linear-gradient(#2a1f15f0,#0b0a09f5)!important;border:1px solid #d9aa4e85!important;border-radius:6px!important;grid-template-columns:minmax(0,1fr) 82px!important;gap:6px!important;width:214px!important;min-width:214px!important;max-width:214px!important;height:30px!important;min-height:30px!important;max-height:30px!important;padding:2px 7px!important;top:-30px!important;left:-107px!important;overflow:hidden!important;transform:rotate(-180deg)!important;box-shadow:inset 0 0 0 1px #ffffff06!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__player.player--no-wind{grid-template-columns:minmax(0,1fr) 82px!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__player .player-avatar{display:none!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__player .player-copy{min-width:0!important;display:block!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__player .player-copy strong{color:#fff5df!important;letter-spacing:.03em!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:13px!important;line-height:1.1!important;display:block!important;overflow:hidden!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__player .player-copy small{display:none!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__player>b{color:#fff8e7!important;text-align:right!important;white-space:nowrap!important;width:82px!important;min-width:82px!important;max-width:82px!important;font-size:17px!important;line-height:1!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__player .wind{width:26px!important;height:26px!important;font-size:14px!important}.game-canvas.five-preview__canvas .five-preview__seat--bottom>.five-preview__player{left:-107px!important;transform:none!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-left>.five-preview__player,.game-canvas.five-preview__canvas .five-preview__seat--lower-right>.five-preview__player,.game-canvas.five-preview__canvas .five-preview__seat--bottom>.five-preview__player{border-radius:6px!important;height:30px!important;min-height:30px!important;max-height:30px!important;padding:2px 7px!important;top:-30px!important}.game-canvas.five-preview__canvas .five-preview__seat--bottom>.five-preview__local-hand{top:-190px!important}.game-canvas.five-preview__canvas .five-preview__seat--bottom>.five-preview__river{top:-305px!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-right>.five-preview__river{top:-308px!important}.game-canvas.five-preview__canvas .five-preview__seat--upper-left>.five-preview__hand,.game-canvas.five-preview__canvas .five-preview__seat--upper-right>.five-preview__hand,.game-canvas.five-preview__canvas .five-preview__seat--lower-left>.five-preview__hand,.game-canvas.five-preview__canvas .five-preview__seat--lower-right>.five-preview__hand{top:-118px!important}.game-canvas.five-preview__canvas .five-preview__seat--upper-left>.five-preview__hand{top:-109.84px!important;left:-220.03px!important}.game-canvas.five-preview__canvas .five-preview__seat--upper-right>.five-preview__hand{top:-109.84px!important;left:-199.97px!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-left>.five-preview__hand{left:-223.63px!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-right>.five-preview__hand{left:-176.37px!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__hand .opponent-tile-slot,.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__hand .opponent-tile-slot--top{flex:none!important;width:27px!important;min-width:27px!important;max-width:27px!important;height:38px!important;min-height:38px!important;max-height:38px!important;margin:0!important;padding:0!important;display:block!important;position:relative!important;overflow:visible!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__hand .opponent-tile-slot>.tile,.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__hand .opponent-tile-slot--top>.tile{box-sizing:border-box!important;background:linear-gradient(#fffefa 0%,#f8f4eb 58%,#eee7d9 100%)!important;border:1px solid #b9b09f!important;border-top:5px solid #c79224!important;border-radius:3px 3px 2px 2px!important;width:27px!important;min-width:27px!important;max-width:27px!important;height:18px!important;min-height:18px!important;max-height:18px!important;margin:0!important;padding:0!important;position:absolute!important;inset:0 auto auto 0!important;overflow:hidden!important;transform:none!important;box-shadow:inset 0 1px #765e362e,0 3px #6848103d,0 6px 7px #0000003d!important}.game-canvas.five-preview__canvas .five-preview__seat>.five-preview__hand .opponent-tile-slot .tile-art{display:none!important}.game-canvas.five-preview__canvas .five-preview__seat--bottom>.five-preview__local-hand{height:76px!important;min-height:76px!important;max-height:76px!important;top:-115px!important;left:-350px!important}.game-canvas.five-preview__canvas .five-preview__seat--bottom>.five-preview__local-hand .tile{width:54px!important;min-width:54px!important;max-width:54px!important;height:73px!important;min-height:73px!important;max-height:73px!important;box-shadow:none!important;border-radius:5px!important;flex:0 0 54px!important;margin:0!important}.game-canvas.five-preview__canvas .five-preview__local-hand .tile-art svg,.game-canvas.five-preview__canvas .five-preview__river .tile-art svg,.game-canvas.five-preview__canvas .five-preview__melds .tile-art svg{filter:none!important}.game-canvas.five-preview__canvas .five-preview__player.player--active{background:linear-gradient(#0a5c58f0,#051f24f5)!important;border:2px solid #45dce3f5!important;animation:1.65s ease-in-out infinite five-player-turn-pulse!important;box-shadow:inset 0 0 0 1px #befff833,0 0 0 3px #45dce32e,0 0 22px #45dce394,0 8px 18px #0000006b!important}.game-canvas.five-preview__canvas .five-preview__player.player--active:before{content:"";z-index:2;background:#69f5ee;border-radius:0 3px 3px 0;width:4px;position:absolute;top:5px;bottom:5px;left:0;box-shadow:0 0 10px #69f5eef2}.game-canvas.five-preview__canvas .five-preview__player.player--active:after{content:"";z-index:3;background:linear-gradient(90deg,#0000,#69f5ee 18%,#fff0a7 50%,#69f5ee 82%,#0000);border-radius:99px;height:3px;animation:1.1s ease-in-out infinite five-player-turn-line;position:absolute;bottom:1px;left:7%;right:7%;box-shadow:0 0 9px #69f5eee6}.game-canvas.five-preview__canvas .five-preview__player.player--active .player-copy strong{color:#fff!important;text-shadow:0 0 8px #9efff7b3,0 1px 2px #000!important;font-size:13px!important}.game-canvas.five-preview__canvas .five-preview__player.player--active .player-copy{flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:1px!important}.game-canvas.five-preview__canvas .five-preview__player.player--active .player-copy small{display:none!important}.game-canvas.five-preview__canvas .five-preview__player.player--active>b{color:#fff5bf!important;text-shadow:0 0 8px #ffe0808c,0 1px 2px #000!important}@keyframes five-player-turn-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.12)}}@keyframes five-player-turn-line{0%,to{opacity:.55;transform:scaleX(.82)}50%{opacity:1;transform:scaleX(1)}}.game-canvas.five-preview__canvas .five-preview__progress{z-index:12!important;color:#f6f0df!important;pointer-events:none!important;background:linear-gradient(#091822f5,#050e17fa)!important;border:1px solid #c1913db8!important;border-left:3px solid #4ddee2e6!important;border-radius:10px!important;grid-template-columns:76px 92px 72px 72px!important;align-items:stretch!important;gap:0!important;width:340px!important;height:64px!important;padding:6px 8px!important;display:grid!important;position:absolute!important;top:8px!important;left:0!important;overflow:hidden!important;box-shadow:inset 0 0 0 1px #ffe39c0f,0 8px 22px #0000005c!important}.game-canvas.five-preview__canvas .five-preview__progress-item{font-variant-numeric:tabular-nums!important;border-left:1px solid #c397483d!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:2px!important;min-width:0!important;display:flex!important}.game-canvas.five-preview__canvas .five-preview__progress-item:first-child{border-left:0!important}.game-canvas.five-preview__canvas .five-preview__progress-item>span{color:#d1dce0c2!important;letter-spacing:.05em!important;white-space:nowrap!important;font-size:9px!important;font-weight:700!important;line-height:1!important}.game-canvas.five-preview__canvas .five-preview__progress-item>strong{color:#fff8df!important;text-shadow:0 1px 2px #000000b8!important;white-space:nowrap!important;font-size:18px!important;font-weight:800!important;line-height:1.05!important}.game-canvas.five-preview__canvas .five-preview__progress-round>strong{color:#f3c75e!important;font-size:20px!important}.game-canvas.five-preview__canvas .five-preview__progress-item>strong>small{color:#e1dbc6c7!important;margin-left:2px!important;font-size:9px!important;font-weight:700!important}.game-canvas.five-preview__canvas .five-preview__progress-dora{flex-direction:row!important;gap:6px!important}.game-canvas.five-preview__canvas .five-preview__progress-dora>span{writing-mode:vertical-rl!important;font-size:8px!important}.game-canvas.five-preview__canvas .five-preview__progress-dora-tile{place-items:center!important;width:28px!important;height:40px!important;display:grid!important}.game-canvas.five-preview__canvas .five-preview__progress-dora-tile .tile{width:28px!important;min-width:28px!important;max-width:28px!important;height:40px!important;min-height:40px!important;max-height:40px!important;box-shadow:none!important;border-radius:4px!important}.game-canvas.five-preview__canvas .five-preview__progress-dora-tile .tile-art svg{filter:none!important}.game-canvas.five-preview__canvas .five-preview__seat-riichi-stick{z-index:8!important;transform-origin:50%!important;pointer-events:none!important;background:linear-gradient(#fffef8 0%,#ece8da 62%,#d3cdbb 100%)!important;border:1px solid #b7ae97f5!important;border-radius:6px!important;width:78px!important;height:10px!important;margin:0!important;position:absolute!important;top:-223px!important;left:96px!important;transform:rotate(90deg)!important;box-shadow:inset 0 1px #fff,0 2px 5px #00000057!important}.game-canvas.five-preview__canvas .five-preview__seat-riichi-stick>span{background:#c82f35!important;border-radius:50%!important;width:6px!important;height:6px!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;box-shadow:inset 0 1px 1px #ffffff8c!important}.game-canvas.five-preview__canvas .five-preview__seat--upper-left>.five-preview__seat-riichi-stick{top:-218px!important;left:30px!important}.game-canvas.five-preview__canvas .five-preview__seat--upper-right>.five-preview__seat-riichi-stick{top:-218px!important;left:162px!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-left>.five-preview__seat-riichi-stick{top:-226px!important;left:132.37px!important}.game-canvas.five-preview__canvas .five-preview__seat--lower-right>.five-preview__seat-riichi-stick{top:-226px!important;left:59.63px!important}.five-player-rules-trigger{z-index:80;color:#f3dfaa;letter-spacing:.04em;cursor:pointer;background:linear-gradient(#0c1922f5,#061018fa);border:1px solid #c48f30d9;border-radius:9px;min-width:132px;padding:10px 18px;font-weight:700;position:absolute;top:28px;right:28px;box-shadow:0 4px 14px #00000047,inset 0 1px #ffffff0f}.five-player-rules-trigger:hover,.five-player-rules-trigger:focus-visible{border-color:#58d9df;outline:none;box-shadow:0 0 0 2px #58d9df2e,0 5px 18px #00000052}.five-player-rules-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#02080cb8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.five-player-rules-modal{color:#f4f0e5;background:linear-gradient(145deg,#0a1720 0%,#07121a 62%,#0b1b24 100%);border:1px solid #c48f30d1;border-radius:14px;width:min(680px,100vw - 48px);max-height:min(760px,100vh - 48px);overflow:auto;box-shadow:0 22px 70px #00000094,inset 0 1px #ffffff0d}.five-player-rules-modal__header{border-bottom:1px solid #c48f3047;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px 18px;display:flex}.five-player-rules-modal__header span{color:#55d7dc;letter-spacing:.16em;margin-bottom:4px;font-size:12px;display:block}.five-player-rules-modal__header h2{color:#f1d487;margin:0;font-size:25px;line-height:1.25}.five-player-rules-modal__close{color:#ddd4c0;cursor:pointer;background:#050d13cc;border:1px solid #c48f3080;border-radius:8px;flex:none;width:38px;height:38px;font-size:25px;line-height:1}.five-player-rules-modal__close:hover,.five-player-rules-modal__close:focus-visible{color:#fff;border-color:#58d9df;outline:none}.five-player-rules-modal__body{padding:10px 26px 8px}.five-player-rules-modal__rule{border-bottom:1px solid #ffffff12;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;padding:16px 0;display:grid}.five-player-rules-modal__rule:last-child{border-bottom:0}.five-player-rules-modal__rule>span{color:#e5c978;border:1px solid #c48f307a;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;display:grid}.five-player-rules-modal__rule p{color:#eeeae0;margin:4px 0 0;font-size:15px;line-height:1.65}.five-player-rules-modal__footer{justify-content:flex-end;padding:16px 26px 22px;display:flex}.five-player-rules-modal__done{color:#f0d582;cursor:pointer;background:linear-gradient(#17303a,#0b1c25);border:1px solid #c48f30c7;border-radius:8px;min-width:112px;padding:10px 20px;font-weight:700}.five-player-rules-modal__done:hover,.five-player-rules-modal__done:focus-visible{border-color:#58d9df;outline:none;box-shadow:0 0 0 2px #58d9df29}@media (width<=700px){.five-player-rules-trigger{min-width:112px;padding:8px 12px;font-size:12px;top:16px;right:16px}.five-player-rules-modal__header{padding:18px 18px 14px}.five-player-rules-modal__body{padding:6px 18px}.five-player-rules-modal__footer{padding:12px 18px 18px}.five-player-rules-modal__header h2{font-size:21px}.five-player-rules-modal__rule p{font-size:14px}}
