.player-profile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;animation:profileFadeIn .2s cubic-bezier(.16,1,.3,1) forwards}@keyframes profileFadeIn{0%{opacity:0}to{opacity:1}}.player-profile-card{position:relative;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:24px;box-shadow:0 20px 48px #000000a6,0 0 0 1px #ffffff0d;color:#f8fafc;display:flex;flex-direction:column;gap:18px;animation:profileScaleUp .24s cubic-bezier(.16,1,.3,1) forwards}@keyframes profileScaleUp{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.player-profile-close-btn{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.player-profile-close-btn:hover{background:#ffffff29;color:#fff;transform:scale(1.05)}.player-profile-hero{display:flex;align-items:center;gap:16px;padding-right:28px}.player-profile-avatar{position:relative;width:68px;height:68px;border-radius:50%;border:3px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:800;color:#fff;flex-shrink:0}.player-profile-avatar.is-vip{border-color:#fbbf24}.player-profile-vip-crown{position:absolute;top:-8px;right:-6px;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #0f172a;box-shadow:0 2px 6px #0006}.player-profile-hero-meta{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.player-profile-name-row{display:flex;align-items:center;gap:8px}.player-profile-name{margin:0;font-size:1.25rem;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-profile-vip-tag{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.4);border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:800;letter-spacing:.05em}.player-profile-rank-row{display:flex;align-items:center;gap:8px}.player-profile-level-badge{font-size:.76rem;font-weight:800;padding:2px 7px;border-radius:6px;border:1px solid;display:inline-flex;align-items:center;gap:4px}.player-profile-rank-title{font-size:.8rem;color:#cbd5e1;font-weight:600}.player-profile-xp-bar-container{width:100%;height:6px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-top:6px}.player-profile-xp-bar-fill{height:100%;transition:width .3s ease;border-radius:4px}.player-profile-xp-labels{display:flex;justify-content:space-between;font-size:.72rem;color:#94a3b8;margin-top:2px}.player-profile-actions-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 12px;flex-wrap:wrap}.player-profile-self-tag{font-size:.85rem;color:#38bdf8;font-weight:600}.player-profile-friend-chip{display:flex;align-items:center;gap:8px;background:#22c55e26;border:1px solid rgba(34,197,94,.35);color:#4ade80;border-radius:6px;padding:4px 10px;font-size:.82rem;font-weight:600}.player-profile-unfriend-btn{background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:0;font-size:.85rem}.player-profile-unfriend-btn:hover{color:#f87171}.player-profile-pending-tag{font-size:.82rem;color:#fde047;font-weight:600}.player-profile-add-friend-btn{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.4);border-radius:6px;padding:5px 12px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease}.player-profile-add-friend-btn:hover{background:#3b82f659;color:#fff}.player-profile-taunt-btn{background:#f59e0b2e;color:#fde68a;border:1px solid rgba(245,158,11,.4);border-radius:6px;padding:5px 12px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease}.player-profile-taunt-btn:hover{background:#f59e0b52;color:#fff}.player-profile-tabs{display:flex;gap:8px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}.player-profile-tab{background:transparent;border:none;color:#94a3b8;font-size:.88rem;font-weight:600;padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .15s ease}.player-profile-tab:hover{color:#fff;background:#ffffff0d}.player-profile-tab.is-active{color:#fff;background:#ffffff1f}.player-profile-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.player-profile-stat-box{background:#00000040;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:.78rem;color:#94a3b8;font-weight:500}.stat-value{font-size:1.25rem;font-weight:800;color:#fff}.player-profile-history-list{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto;padding-right:4px}.player-profile-match-row{display:flex;align-items:center;justify-content:space-between;background:#00000040;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px 14px;gap:12px}.match-row-left{display:flex;flex-direction:column;gap:2px}.match-game-type{font-size:.88rem;font-weight:700;color:#f1f5f9}.match-player-count{font-size:.74rem;color:#94a3b8}.match-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.match-badge{font-size:.78rem;font-weight:700;padding:2px 8px;border-radius:4px}.match-badge.is-win{background:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.4)}.match-badge.is-loss{background:#94a3b81f;color:#cbd5e1;border:1px solid rgba(148,163,184,.25)}.match-time{font-size:.72rem;color:#64748b}.player-profile-empty-history{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:#94a3b8;font-size:.88rem;text-align:center}.player-profile-empty-history span{font-size:2rem;opacity:.6}:root,[data-daaluu-color=white]{--daaluu-face: #f5efdf;--daaluu-highlight: #fffdf5;--daaluu-shade: #ded2b9;--daaluu-edge: #b8a789;--daaluu-side: #99866a;--daaluu-pip: #262622;--daaluu-pip-light: #56564d;--daaluu-red: #bc191f;--daaluu-red-light: #e34945;--daaluu-ink: #443b2c;--daaluu-seam: #c4b79d;--daaluu-drop-outline: 2px dotted #e8c98e}[data-daaluu-color=black]{--daaluu-face: #252522;--daaluu-highlight: #41413b;--daaluu-shade: #161715;--daaluu-edge: #11120f;--daaluu-side: #090a08;--daaluu-pip: #f3efdc;--daaluu-pip-light: #fffef3;--daaluu-red: #e3252c;--daaluu-red-light: #ff6460;--daaluu-ink: #eee9d7;--daaluu-seam: #0d0e0c}.daaluu-color-picker{display:inline-flex;align-items:center;gap:6px}.daaluu-color-choice{position:relative;display:grid;place-items:center;width:46px;min-width:46px;height:72px;padding:5px 7px 9px;background:transparent;border:2px solid transparent;border-radius:9px;cursor:pointer}.daaluu-color-choice:hover{background:#ffffff0d}.daaluu-color-choice[aria-pressed=true]{border-color:#e8c98e;background:#e8c98e12}.daaluu-color-choice:focus-visible{outline:3px solid #f3cc7c;outline-offset:3px}.daaluu-color-choice .daaluu-face-tile{width:28px;flex-basis:28px;padding:2px;border-width:1px;pointer-events:none}.daaluu-color-check{position:absolute;right:-3px;bottom:-3px;width:16px;height:16px;pointer-events:none}.daaluu-color-check circle{fill:#e8c98e}.daaluu-color-check path{fill:none;stroke:#173d33;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.daaluu-preparation{width:min(100%,780px);margin:auto;padding:8px 16px;color:#f6eddc}.daaluu-table-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.daaluu-table-heading h2{margin:4px 0;font-size:24px}.daaluu-eyebrow{font-size:12px;letter-spacing:.12em;color:#e8c98e}.daaluu-instructions{font-size:14px;line-height:1.5;margin:8px 0}.daaluu-mixing-surface{position:relative;container-type:size;width:100%;aspect-ratio:1.8;min-height:calc(260px * var(--daaluu-table-scale, 1));max-height:calc(42vh * var(--daaluu-table-scale, 1));overflow:hidden;border:8px solid #654329;border-radius:28px;background:radial-gradient(ellipse at center,#285849,#173d33);box-shadow:inset 0 0 30px #102e27}.daaluu-mixing-surface.can-mix{cursor:grab;touch-action:none}.daaluu-mixing-surface.can-mix:active{cursor:grabbing}.daaluu-mixing-surface:focus-visible{outline:3px solid #f3cc7c;outline-offset:4px}.daaluu-tile-back{position:absolute;left:0;top:0;width:calc(clamp(13px,3%,25px) * var(--daaluu-tile-scale, 1));aspect-ratio:.5;border-radius:4px;background:linear-gradient(125deg,var(--daaluu-highlight),var(--daaluu-face) 30%,var(--daaluu-shade));border:1px solid var(--daaluu-edge);box-shadow:inset 1px 1px 1px #ffffff5c,1px 2px 0 var(--daaluu-side),2px 4px 3px #0006;pointer-events:none;transform:translate3d(calc(var(--tile-x, 0) * 1cqw),calc(var(--tile-y, 0) * 1cqh),0) translate(-50%,-50%) rotate(var(--tile-angle, 0deg));transition:transform 80ms linear}.daaluu-mixing-hand{position:absolute;left:0;top:0;width:clamp(48px,10%,88px);transform-origin:50% 15%;transform:translate3d(calc(var(--hand-x, 0) * 1cqw),calc(var(--hand-y, 0) * 1cqh),0) translate(-50%,-15%) rotate(var(--hand-angle, 0deg));pointer-events:none;z-index:3;transition:transform 80ms linear}.daaluu-mixing-hand svg{display:block;width:100%;filter:drop-shadow(3px 5px 3px #0004)}.daaluu-mixing-hand span{position:absolute;bottom:0;left:50%;transform:translate(-50%,100%);font-size:11px;padding:2px 5px;border-radius:4px;background:#102e27;white-space:nowrap}.daaluu-mixing-hand.is-local{transition:none}.daaluu-participants{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:12px 0;padding:0;font-size:13px}.daaluu-participants li{padding:6px 9px;background:#ffffff0a;border:1px solid #ffffff30;border-radius:8px}.daaluu-participants .has-mixed{border-color:#83bd9b}.daaluu-stacks{position:absolute;top:15%;right:15%;bottom:15%;left:15%;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;align-content:center;justify-items:center}.daaluu-stack{width:calc(32px * var(--daaluu-tile-scale, 1));height:calc(58px * var(--daaluu-tile-scale, 1));position:relative}.daaluu-stack .daaluu-tile-back{width:calc(24px * var(--daaluu-tile-scale, 1));box-shadow:2px 2px var(--daaluu-edge),4px 4px var(--daaluu-side),6px 6px #0005}.daaluu-stack .daaluu-tile-back{transform:none}.daaluu-stack>span:last-child{position:absolute;bottom:0;right:0;background:#173d33;border-radius:8px;padding:0 4px;font-size:12px}.daaluu-retry button{min-height:44px;cursor:pointer}@media (max-width: 480px){.daaluu-preparation{padding:10px}.daaluu-mixing-surface{aspect-ratio:1.1;border-width:5px;border-radius:18px}.daaluu-participants{font-size:11px}}@media (prefers-reduced-motion: reduce){.daaluu-tile-back,.daaluu-mixing-hand{transition:none}.daaluu-mixing-hand{--hand-angle: 0deg !important}}.game-screen.daaluu-game-screen{height:100%;overflow:hidden;justify-content:flex-start}.app-container.is-in-game .app-main:has(.daaluu-game-screen){overflow:hidden}.game-table-area.daaluu-game-area{min-height:0;flex:1;display:flex;flex-direction:column;justify-content:flex-start;width:100%;max-width:1280px;padding:4px 8px calc(60px * var(--daaluu-table-scale, 1));background:transparent}.game-table-area.daaluu-game-area:before{content:none}.daaluu-play-table{color:#f6eddc;width:100%;max-height:100%;overflow-y:auto;scrollbar-width:none;padding:8px;margin:auto;text-align:center}.daaluu-play-table::-webkit-scrollbar{display:none}.daaluu-call-options{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.daaluu-call-options button:not(.daaluu-face-tile),.daaluu-play-table button:not(.daaluu-face-tile){min-height:44px;padding:8px 12px;cursor:pointer}.daaluu-face-tile{position:relative;width:calc(56px * var(--daaluu-tile-scale, 1));flex:0 0 calc(56px * var(--daaluu-tile-scale, 1));display:inline-flex;flex-direction:column;align-items:center;background:linear-gradient(125deg,var(--daaluu-highlight),var(--daaluu-face) 25%,var(--daaluu-face) 70%,var(--daaluu-shade));color:var(--daaluu-ink);border:2px solid var(--daaluu-edge);border-radius:5px;padding:3px;box-shadow:inset 1px 1px 1px #ffffff5c,inset -1px -1px 2px #0004,1px 2px 0 var(--daaluu-side),2px 4px 0 var(--daaluu-side),3px 6px 5px #0007;vertical-align:middle}button.daaluu-face-tile{cursor:pointer;transition:transform .15s}button.daaluu-face-tile:disabled{cursor:default;opacity:1}.daaluu-face-tile.selected{border-color:#dd9330;transform:translateY(-7px)}.daaluu-face-tile:focus-visible{outline:3px solid #f3cc7c;outline-offset:3px}.daaluu-pip-face{display:block;width:100%;height:auto;flex:none}.daaluu-pip-face circle{fill:var(--daaluu-pip)}.daaluu-pip-face circle.red-pip{fill:var(--daaluu-red)}.daaluu-tile-catalogue h3{margin:24px 0 16px}.daaluu-catalogue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:12px}.daaluu-catalogue-grid figure{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0;padding:12px 4px;border:1px solid #b09a7433;border-radius:8px;background:#ffffff05}.daaluu-catalogue-grid figcaption{color:#f6eddc;font-size:13px;line-height:1.4;text-align:center;overflow-wrap:anywhere}.daaluu-face-tile.is-dead{border-style:dashed;border-color:#c46d38}.daaluu-hand-slot,.daaluu-hand{--hand-tile-width: calc(clamp(22px, calc((100vw - 68px)*.1) , 56px) * var(--daaluu-tile-scale, 1));min-height:calc((var(--hand-tile-width) - 10px) * 2.15 + 24px)}.daaluu-hand{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:clamp(1px,.5vw,6px);padding:7px 2px;overflow:hidden}.daaluu-hand[hidden]{display:none}.daaluu-game-screen:has(.daaluu-distribution-button.is-pointer-dragging) .daaluu-hand[data-daaluu-hand-target]{position:relative;overflow:visible}.daaluu-game-screen:has(.daaluu-distribution-button.is-pointer-dragging) .daaluu-hand[data-daaluu-hand-target]:after{content:"↓";position:absolute;z-index:3;top:-24px;left:50%;transform:translate(-50%);display:grid;place-items:center;width:calc(30px * var(--daaluu-tile-scale, 1));height:calc(40px * var(--daaluu-tile-scale, 1));outline:var(--daaluu-drop-outline);outline-offset:2px;border-radius:5px;background:transparent;color:#e8c98e;font-size:18px;pointer-events:none}.daaluu-hand .daaluu-face-tile{width:var(--hand-tile-width);flex-basis:auto}.daaluu-hand-item{display:inline-flex;position:relative;touch-action:none;cursor:grab}.daaluu-hand-item>button{cursor:grab}.daaluu-hand-item>button:disabled{pointer-events:none}.daaluu-hand-item.is-dragging>.daaluu-face-tile{opacity:.15}.daaluu-hand-item:focus-visible{outline:3px solid #f3cc7c;outline-offset:3px;border-radius:5px}.daaluu-hand-ghost{position:fixed;z-index:80;transform:translate(-50%,-50%) rotate(-5deg);pointer-events:none}.daaluu-hand-slot.is-return-drop-target{position:relative;outline:var(--daaluu-drop-outline);outline-offset:4px;border-radius:10px}.daaluu-hand-slot.is-return-drop-target:after{content:attr(data-drop-label);position:absolute;top:-20px;left:50%;transform:translate(-50%);color:#a8c7b8;font-size:12px;white-space:nowrap;pointer-events:none}.daaluu-hand-ghost-count{position:absolute;top:-10px;right:-12px;min-width:26px;padding:3px 5px;border-radius:99px;background:#e8c98e;color:#173d33;font-weight:800;box-shadow:0 3px 8px #0008}.player-area.daaluu-player-area{position:relative;flex:none;gap:2px;padding:4px 8px max(5px,env(safe-area-inset-bottom));text-align:center;background:transparent;border-top:0}.daaluu-player-area .hand-header-bar{gap:8px;min-height:36px}.daaluu-action-slot{min-height:46px;flex:none;display:flex;align-items:center;justify-content:center}.daaluu-action-slot .player-controls{min-height:0}.daaluu-action-slot .play-action{max-width:100%}.daaluu-own-reaction{position:absolute;z-index:60;bottom:calc(100% - 12px);left:50%;transform:translate(-50%);width:0!important;height:0!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;pointer-events:none!important}.game-screen.daaluu-game-screen{background:transparent}@media (max-width: 480px){.daaluu-face-tile{width:calc(44px * var(--daaluu-tile-scale, 1));flex-basis:calc(44px * var(--daaluu-tile-scale, 1))}.daaluu-player-summary{min-width:70px;font-size:10px}}@media (max-width: 480px){.daaluu-mixing-surface{height:260px;aspect-ratio:auto;max-height:none}.daaluu-player-summary{padding:4px 6px}.daaluu-participants{font-size:10px;gap:4px}.daaluu-participants li{padding:4px 6px}}.daaluu-table-scene{position:relative;isolation:isolate;width:min(100%,1240px);min-height:0;flex:1;margin:2px auto;color:#f6eddc}.daaluu-table-felt{position:absolute;z-index:-1;inset:calc(48px * var(--daaluu-table-scale, 1)) calc(28px * var(--daaluu-table-scale, 1)) calc(60px * var(--daaluu-table-scale, 1));border:calc(16px * var(--daaluu-table-scale, 1)) solid #65382b;border-radius:calc(64px * var(--daaluu-table-scale, 1));background-color:#123e34;background-image:url(/daaluu-olzii-center.svg),repeating-linear-gradient(45deg,#e8cb8208 0 1px,transparent 1px 7px),repeating-linear-gradient(-45deg,#071b160e 0 1px,transparent 1px 7px),radial-gradient(ellipse at center,#205244,#0d352e 78%);background-repeat:no-repeat,repeat,repeat,no-repeat;background-position:center;background-size:calc(230px * var(--daaluu-table-scale, 1)) calc(292px * var(--daaluu-table-scale, 1)),auto,auto,auto;box-shadow:0 14px 30px #0008,0 0 0 2px #c99c62,inset 0 0 0 3px #a2784d,inset 0 0 50px #071f18}.daaluu-table-felt:before{content:"";position:absolute;inset:calc(13px * var(--daaluu-table-scale, 1));border:2px solid #d9b575;border-radius:40px;box-shadow:inset 0 0 0 5px #123e34,inset 0 0 0 7px #a78050;pointer-events:none}.daaluu-janlii-marker{position:absolute;z-index:1;top:calc(clamp(76px,13dvh,118px) * var(--daaluu-table-scale, 1));left:calc(clamp(20px,4vw,52px) * var(--daaluu-table-scale, 1));padding:5px;border:1px solid #bd8b4e;border-radius:8px;background:#102e27;box-shadow:0 4px 10px #0006;pointer-events:none}.daaluu-janlii-marker .daaluu-face-tile{width:calc(32px * var(--daaluu-tile-scale, 1));flex-basis:calc(32px * var(--daaluu-tile-scale, 1));padding:2px;border-width:1px}.daaluu-game-screen .daaluu-seat-badge{background:#123a30;border-color:#bd8b4e}.daaluu-game-screen .daaluu-seat.active .daaluu-seat-badge{border-color:#34d399;outline:3px solid #34d39973;outline-offset:3px;box-shadow:0 0 20px #34d39980}.daaluu-table-center{position:relative;z-index:1;box-sizing:border-box;height:100%;min-height:0;padding:calc(clamp(70px,12vh,160px) * var(--daaluu-table-scale, 1)) calc(clamp(80px,12vw,150px) * var(--daaluu-table-scale, 1));display:flex;align-items:center;justify-content:center}.daaluu-table-scene.is-shuffling .daaluu-table-center{position:relative;padding:0}.daaluu-game-screen.is-distributing .daaluu-table-center{padding-top:calc(105px * var(--daaluu-table-scale, 1));padding-bottom:calc(95px * var(--daaluu-table-scale, 1))}.daaluu-game-screen.is-tribute-reveal .daaluu-table-center{padding:calc(130px * var(--daaluu-table-scale, 1)) calc(85px * var(--daaluu-table-scale, 1)) calc(115px * var(--daaluu-table-scale, 1))}.daaluu-seat{position:absolute;z-index:2;width:calc(120px * var(--daaluu-table-scale, 1));display:flex;flex-direction:column;align-items:center;gap:calc(10px * var(--daaluu-table-scale, 1));text-align:center}.daaluu-seat-badge{position:relative;display:flex;flex-direction:column;gap:3px;width:100%;padding:calc(8px * var(--daaluu-table-scale, 1)) calc(7px * var(--daaluu-table-scale, 1));font-size:calc(12px*max(var(--daaluu-table-scale, 1),.8));border-radius:calc(16px * var(--daaluu-table-scale, 1));font-variant-numeric:tabular-nums;border:1px solid #8d7652;border-radius:16px;background:#102e27;box-shadow:0 4px 12px #0004}.daaluu-seat-badge .opponent-turn-indicator{top:-12px;font-size:10px}.daaluu-seat.active .daaluu-seat-badge strong{color:#ecfdf5}.daaluu-seat-badge strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daaluu-seat-badge small{color:#e8c98e;font-size:calc(10px*max(var(--daaluu-table-scale, 1),.8))}.daaluu-debt{position:relative;align-self:center}.daaluu-debt-trigger{padding:0;border:0;background:none;color:#e8c98e;font:inherit;font-size:10px;text-decoration:underline;text-underline-offset:2px;cursor:help}.daaluu-debt-trigger:focus-visible{outline:2px solid #f3cc7c;outline-offset:3px;border-radius:2px}.daaluu-debt-tooltip{position:absolute;z-index:12;top:calc(100% + 8px);left:50%;width:max-content;min-width:130px;max-width:min(200px,calc(100vw - 24px));padding:9px 11px;transform:translate(-50%);border:1px solid #bd8b4e;border-radius:8px;background:#102e27;box-shadow:0 8px 20px #0009;color:#f6eddc;font-size:11px;line-height:1.4;text-align:left;visibility:hidden;pointer-events:none}.daaluu-debt-tooltip strong{display:block;margin-bottom:5px;color:#e8c98e}.daaluu-debt-row{display:flex;justify-content:space-between;gap:12px}.daaluu-debt-row span:first-child{overflow-wrap:anywhere}.daaluu-debt-row span:last-child{white-space:nowrap}.daaluu-debt-trigger:is(:hover,:focus)+.daaluu-debt-tooltip{visibility:visible}.daaluu-seat:has(.daaluu-debt-trigger:is(:hover,:focus)){z-index:12}.daaluu-seat-south .daaluu-debt-tooltip{top:auto;bottom:calc(100% + 8px)}.daaluu-seat-south{left:50%;bottom:0;transform:translate(-50%);flex-direction:column-reverse}.daaluu-seat-north{left:50%;top:calc(12px * var(--daaluu-table-scale, 1));transform:translate(-50%)}.daaluu-seat-north-west{left:33%;top:calc(12px * var(--daaluu-table-scale, 1));transform:translate(-50%)}.daaluu-seat-north-east{left:67%;top:calc(12px * var(--daaluu-table-scale, 1));transform:translate(-50%)}.daaluu-seat-west{left:0;top:50%;transform:translateY(-50%)}.daaluu-seat-east{right:0;top:50%;transform:translateY(-50%)}.daaluu-seat-captures{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:calc(85px * var(--daaluu-tile-scale, 1));gap:4px}.daaluu-seat-captures.is-house-buyer:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;outline:var(--daaluu-drop-outline);border-radius:8px;background:transparent;pointer-events:none}.daaluu-house-drop-hint{position:relative;max-width:110px;color:#e8c98e;font-size:11px;line-height:1.25}.daaluu-house-seller{display:block;width:calc(25px * var(--daaluu-tile-scale, 1));height:calc(52px * var(--daaluu-tile-scale, 1));padding:0;border:0;border-radius:4px;background:transparent;outline:var(--daaluu-drop-outline);outline-offset:3px;cursor:grab;touch-action:none}.daaluu-house-seller.is-dragging{opacity:.35;cursor:grabbing}.daaluu-house-seller:focus-visible{outline:3px solid #f3cc7c;outline-offset:4px}@media (hover: hover) and (pointer: fine){.daaluu-house-seller:hover{outline:var(--daaluu-drop-outline);outline-offset:3px}}.daaluu-house-drag-ghost{position:fixed;z-index:80;display:block;width:calc(25px * var(--daaluu-tile-scale, 1));height:calc(52px * var(--daaluu-tile-scale, 1));transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 6px 7px #0009)}.daaluu-house-drag-ghost.is-over-buyer{filter:drop-shadow(0 0 9px #e8c98e)}.daaluu-capture-tray{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;gap:4px 2px;width:100%;min-height:calc(68px * var(--daaluu-tile-scale, 1));padding:14px 2px 3px}.daaluu-capture-slot{display:flex;align-items:center;justify-content:center;width:100%;min-height:calc(52px * var(--daaluu-tile-scale, 1))}.daaluu-captured-pile{display:inline-block;position:relative;width:calc(25px * var(--daaluu-tile-scale, 1));height:calc(52px * var(--daaluu-tile-scale, 1))}.daaluu-pile-layer{position:absolute;left:0;top:0;transform:translate(calc(var(--layer) * 2px),calc(var(--layer) * -3px))}.daaluu-captured-pile .daaluu-face-tile{width:calc(24px * var(--daaluu-tile-scale, 1));padding:2px;border-width:1px;border-radius:3px}.daaluu-current-pile{position:relative;margin:20px auto 0;padding-bottom:30px;font-size:12px}.daaluu-current-pile>.trick-player-name{bottom:0}.daaluu-current-layers{position:relative;width:135px;height:150px;margin:auto}.daaluu-play-layer{position:absolute;left:50%;bottom:0;display:flex;gap:3px;transform:translate(-50%) translate(calc(var(--layer) * 2px),calc(var(--layer) * -2px))}.daaluu-play-tiles,.daaluu-play-tile-group{display:flex;gap:3px}.daaluu-play-tiles.is-double-pair{gap:12px}.daaluu-play-table h2{font-family:Georgia,serif;font-size:24px;margin:0 0 8px}.daaluu-play-table[data-daaluu-play-drop]{min-height:120px;display:flex;flex-direction:column;justify-content:center}.daaluu-play-table.is-play-drop-target{outline:var(--daaluu-drop-outline);outline-offset:4px;border-radius:14px;background:#e8c98e1a}.daaluu-play-table.is-play-drop-target:after{content:attr(data-drop-label);display:block;color:#f6eddc;font-size:12px;font-weight:700}.daaluu-play-table p{font-size:13px;line-height:1.5}.daaluu-table-center .daaluu-preparation{position:absolute;top:74px;right:54px;bottom:86px;left:54px;width:auto;margin:0;padding:0}.daaluu-table-center .daaluu-instructions{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.daaluu-table-center .daaluu-mixing-surface{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;border:0;border-radius:0;background:transparent;box-shadow:none}.daaluu-table-center .daaluu-retry{position:absolute;z-index:4;top:50%;left:50%;width:min(90%,400px);transform:translate(-50%,-50%);text-align:center}.daaluu-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (max-width: 600px){.daaluu-table-scene{margin:2px auto}.daaluu-table-felt{top:40px;right:10px;bottom:48px;left:10px;border-width:7px;border-radius:36px;background-size:130px 166px,auto,auto,auto}.daaluu-table-felt:before{top:8px;right:8px;bottom:8px;left:8px;border-radius:22px;box-shadow:inset 0 0 0 4px #123e34,inset 0 0 0 6px #a78050}.daaluu-table-center{padding:clamp(58px,11vh,100px) 78px}.daaluu-table-scene.is-shuffling .daaluu-table-center{padding:0}.daaluu-game-screen.is-distributing .daaluu-table-center{padding:100px 55px 90px}.daaluu-game-screen.is-tribute-reveal .daaluu-table-center{padding:105px 38px 88px}.daaluu-seat{width:78px;gap:8px}.daaluu-seat-badge{font-size:10px;padding:7px 3px;border-radius:12px}.daaluu-seat-badge .opponent-turn-indicator{top:-10px;font-size:9px;padding-inline:5px}.daaluu-seat-badge small,.daaluu-debt-trigger{font-size:9px}.daaluu-seat-captures{min-height:calc(75px * var(--daaluu-tile-scale, 1));gap:2px}.daaluu-capture-tray{grid-template-columns:repeat(3,minmax(0,1fr));min-height:calc(58px * var(--daaluu-tile-scale, 1));padding-inline:2px;gap:3px 1px}.daaluu-capture-slot{min-height:calc(44px * var(--daaluu-tile-scale, 1))}.daaluu-captured-pile,.daaluu-house-seller,.daaluu-house-drag-ghost{width:calc(22px * var(--daaluu-tile-scale, 1));height:calc(44px * var(--daaluu-tile-scale, 1))}.daaluu-captured-pile .daaluu-face-tile{width:calc(20px * var(--daaluu-tile-scale, 1))}.daaluu-play-table{padding:0}.daaluu-play-table h2{font-size:19px}.daaluu-call-options{gap:5px}.daaluu-table-center .daaluu-preparation{top:54px;right:20px;bottom:66px;left:20px}.daaluu-table-heading h2{font-size:20px}.daaluu-instructions{font-size:12px}}@media (max-width: 600px){.daaluu-table-felt{inset-block:25px 30px}}@media (prefers-reduced-motion: reduce){button.daaluu-face-tile{transition:none}}.daaluu-distribution.is-inactive{display:none}.daaluu-distribution-prompt{min-height:1.5em}.daaluu-distribution-prompt:empty{display:none}.daaluu-distribution-ring{position:relative;width:min(100%,calc(380px * var(--daaluu-tile-scale, 1)));height:calc(290px * var(--daaluu-tile-scale, 1));margin:calc(12px * var(--daaluu-table-scale, 1)) auto}.daaluu-play-table .daaluu-distribution-button{position:absolute;width:calc(44px * var(--daaluu-tile-scale, 1));height:calc(76px * var(--daaluu-tile-scale, 1));min-height:calc(44px * var(--daaluu-tile-scale, 1));padding:0;border:0;background:transparent;color:#f6eddc;transform:translate(-50%,-50%);touch-action:none;cursor:grab}.daaluu-distribution-button:active{cursor:grabbing}.daaluu-distribution-button:focus-visible{outline:3px solid #f3cc7c;outline-offset:5px;border-radius:6px}.daaluu-distribution-button:disabled{cursor:default;opacity:.65}.daaluu-distribution-button.is-collected{visibility:hidden}.daaluu-distribution-button.is-dragging:focus-visible{outline:none}.daaluu-distribution-stack{position:relative;display:inline-block;width:calc(38px * var(--daaluu-tile-scale, 1));height:calc(65px * var(--daaluu-tile-scale, 1));flex:0 0 calc(38px * var(--daaluu-tile-scale, 1))}.daaluu-distribution-back{position:absolute;left:0;top:0;width:calc(28px * var(--daaluu-tile-scale, 1));height:calc(50px * var(--daaluu-tile-scale, 1));padding:3px;border:1px solid var(--daaluu-edge);border-radius:4px;background:linear-gradient(125deg,var(--daaluu-highlight),var(--daaluu-face) 30%,var(--daaluu-shade));box-shadow:inset 1px 1px 1px #ffffff5c,1px 2px 0 var(--daaluu-side),2px 3px 2px #0006;transform:translate(calc(var(--back-layer) * 1.5px),calc(var(--back-layer) * -2px));overflow:hidden;font-size:5px}.daaluu-stack-number{position:absolute;left:50%;bottom:0;transform:translate(-50%);font-size:11px;color:#e8c98e}.daaluu-deal-help{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.daaluu-collection-ghost,.daaluu-collection-flight{position:fixed;z-index:40;width:calc(70px * var(--daaluu-tile-scale, 1));height:calc(115px * var(--daaluu-tile-scale, 1));pointer-events:none}.daaluu-collection-ghost{transform:translate(-50%,-20%)}.daaluu-collection-ghost>.daaluu-distribution-stack,.daaluu-collection-flight>.daaluu-distribution-stack{position:absolute;z-index:2;left:16px;top:0}.daaluu-collection-ghost>svg,.daaluu-collection-flight>svg{position:absolute;z-index:1;left:-8px;top:20px;width:calc(70px * var(--daaluu-tile-scale, 1));height:calc(115px * var(--daaluu-tile-scale, 1));filter:drop-shadow(3px 5px 3px #0004);opacity:.95;transform:rotate(var(--hand-rotation, 0deg))}.daaluu-collection-flight{left:0;top:0;animation:daaluu-collect-stack .65s ease-in-out both}@keyframes daaluu-collect-stack{0%{opacity:1;transform:translate3d(var(--from-x),var(--from-y),0) translate(-50%,-20%)}85%{opacity:1}to{opacity:0;transform:translate3d(var(--to-x),var(--to-y),0) translate(-50%,-20%)}}@media (max-width: 600px){.daaluu-game-screen.is-distributing .daaluu-table-center{padding:clamp(32px,7dvh,54px) 46px}.daaluu-game-screen.is-distributing .daaluu-play-table{max-height:none;overflow:visible}.daaluu-distribution-ring{width:min(100%,220px);height:clamp(110px,calc(100dvh - 475px),230px);margin:4px auto}.daaluu-play-table .daaluu-distribution-button{width:calc(44px * var(--daaluu-tile-scale, 1));height:clamp(calc(48px * var(--daaluu-tile-scale, 1)),9dvh,calc(62px * var(--daaluu-tile-scale, 1)))}.daaluu-distribution-stack{width:calc(32px * var(--daaluu-tile-scale, 1));height:calc(54px * var(--daaluu-tile-scale, 1))}.daaluu-distribution-back{width:calc(24px * var(--daaluu-tile-scale, 1));height:calc(43px * var(--daaluu-tile-scale, 1))}}@media (max-width: 360px),(max-width: 600px) and (max-height: 600px){.daaluu-game-screen.is-distributing .daaluu-seat-west,.daaluu-game-screen.is-distributing .daaluu-seat-east,.daaluu-game-screen.is-distributing .daaluu-seat-south{visibility:hidden}.daaluu-game-screen.is-distributing .daaluu-play-table .daaluu-distribution-button{width:calc(36px * var(--daaluu-tile-scale, 1));height:calc(46px * var(--daaluu-tile-scale, 1));min-height:calc(44px * var(--daaluu-tile-scale, 1))}.daaluu-game-screen.is-distributing .daaluu-distribution-stack{width:calc(27px * var(--daaluu-tile-scale, 1));height:calc(44px * var(--daaluu-tile-scale, 1))}.daaluu-game-screen.is-distributing .daaluu-distribution-back{width:calc(21px * var(--daaluu-tile-scale, 1));height:calc(38px * var(--daaluu-tile-scale, 1))}}@media (prefers-reduced-motion: reduce){.daaluu-collection-flight{animation-duration:1ms}}.daaluu-tribute-board{margin:14px auto;padding:12px 8px;border-block:1px solid #e8c98e55;color:#f6eddc}.daaluu-tribute-board p{margin:0 0 6px;color:#e8c98e}.daaluu-tribute-board .daaluu-tribute-help{margin:6px 0;color:#c7dccf;font-size:12px}.daaluu-tribute-board strong{font-size:13px}.daaluu-tribute-sets{display:flex;justify-content:center;gap:16px;margin-top:8px}.daaluu-tribute-side{min-width:0;flex:1}.daaluu-tribute-side+.daaluu-tribute-side{border-left:1px solid #e8c98e55;padding-left:16px}.daaluu-tribute-offer{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;min-height:88px;padding:14px 0 6px}.daaluu-tribute-offer .daaluu-face-tile{width:calc(35px * var(--daaluu-tile-scale, 1));flex-basis:calc(35px * var(--daaluu-tile-scale, 1))}.daaluu-tribute-sets.is-batch{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.daaluu-tribute-sets.is-batch .daaluu-tribute-side+.daaluu-tribute-side{border:0;border-top:1px solid #e8c98e55;padding:10px 0 0}.daaluu-tribute-sets.is-batch.is-sibling-return{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.daaluu-tribute-sets.is-batch.is-sibling-return .daaluu-tribute-side+.daaluu-tribute-side{border:0;padding:0}.daaluu-tribute-sets.is-batch.is-sibling-return .daaluu-tribute-offer{min-height:88px;padding:6px 0;align-content:center}.daaluu-tribute-sets.is-batch .daaluu-tribute-side.is-master-round{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;align-items:start}.daaluu-tribute-side.is-master-round>p:first-of-type{grid-column:1;grid-row:1}.daaluu-tribute-side.is-master-round>p:nth-of-type(2){grid-column:2;grid-row:1}.daaluu-tribute-side.is-master-round>.daaluu-tribute-offer{grid-column:1;grid-row:2}.daaluu-tribute-side.is-master-round>.daaluu-tribute-return-target{grid-column:2;grid-row:2;min-height:88px}.daaluu-tribute-side.is-master-round>.daaluu-tribute-row-assign{grid-column:2;grid-row:3}.daaluu-tribute-side.is-master-round>p{align-self:end;margin:0}.daaluu-tribute-side.is-master-round>.daaluu-tribute-offer{min-height:88px;padding:6px 0;align-content:center}.daaluu-tribute-return-target{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;min-height:66px;padding:6px 12px;border:1px solid transparent;border-radius:8px;background:transparent}.daaluu-tribute-return-target.is-ready{outline:var(--daaluu-drop-outline);outline-offset:2px;border-color:transparent;background:transparent}.daaluu-tribute-return-target .daaluu-face-tile{width:calc(35px * var(--daaluu-tile-scale, 1));flex-basis:calc(35px * var(--daaluu-tile-scale, 1))}.daaluu-tribute-placeholder{color:#a8c7b8;font-size:12px;pointer-events:none}.daaluu-tribute-return-target [data-daaluu-board-tile]{cursor:grab;touch-action:none}.daaluu-tribute-return-target [data-daaluu-board-tile]:active{cursor:grabbing}.daaluu-tribute-row-assign{min-height:40px;margin-top:4px;padding:5px 10px;border:1px solid #537b69;border-radius:6px;background:#164335;color:#f6eddc;cursor:pointer}.daaluu-tribute-row-assign:disabled{opacity:.5;cursor:default}@media (max-width: 600px){.daaluu-tribute-sets{gap:6px}.daaluu-tribute-side+.daaluu-tribute-side{padding-left:6px}.daaluu-tribute-sets.is-batch.is-sibling-return{grid-template-columns:minmax(0,1fr)}.daaluu-tribute-sets.is-batch.is-sibling-return .daaluu-tribute-side+.daaluu-tribute-side{border-top:1px solid #e8c98e55;padding-top:10px}}.daaluu-aravgui-board{margin:12px auto;padding:10px;border-block:1px solid #e8c98e55}.daaluu-aravgui-board h3{margin:0 0 4px;color:#e8c98e}.daaluu-aravgui-board p{margin:0 0 6px}.daaluu-aravgui-offer{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;min-height:72px}.daaluu-aravgui-offer .daaluu-face-tile{width:calc(35px * var(--daaluu-tile-scale, 1));flex-basis:calc(35px * var(--daaluu-tile-scale, 1))}.daaluu-motion-board-anchor{width:1px;height:1px;margin:auto}.daaluu-tile-arriving{visibility:hidden}.daaluu-motion-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none;overflow:hidden}.daaluu-special-play{position:fixed;top:0;right:0;bottom:0;left:0;z-index:261;pointer-events:none}.daaluu-special-play .special-combo-anim-container{position:absolute;top:42%}.daaluu-janlii-title{display:flex;align-items:center;justify-content:center;gap:14px}.daaluu-janlii-title .daaluu-face-tile{width:calc(48px * var(--daaluu-tile-scale, 1));flex:0 0 calc(48px * var(--daaluu-tile-scale, 1))}.daaluu-janlii-pick{position:fixed;top:0;right:0;bottom:0;left:0;z-index:261;pointer-events:none}.daaluu-janlii-option{position:absolute;display:block}.daaluu-janlii-option .daaluu-face-tile{width:100%}.daaluu-janlii-option.is-picked{animation:daaluu-janlii-lift var(--janlii-pick-duration) var(--ease-in-out) both}.daaluu-janlii-picking-hand{position:absolute;left:50%;top:-57px;width:36px;transform-origin:50% 80%;animation:daaluu-janlii-grasp var(--janlii-pick-duration) var(--ease-in-out) both}.daaluu-janlii-picking-hand svg{display:block;width:100%}@keyframes daaluu-janlii-grasp{0%{opacity:0;transform:translate(-50%,-18px) rotate(180deg)}20%{opacity:1}48%,62%{opacity:1;transform:translate(-50%,14px) rotate(180deg)}to{opacity:0;transform:translate(-50%,-16px) rotate(180deg)}}@keyframes daaluu-janlii-lift{0%,62%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(-30px) rotate(-5deg)}}.daaluu-tile-flight{position:absolute;left:0;top:0;animation:daaluu-tile-travel .65s cubic-bezier(.22,.61,.36,1) both}.daaluu-house-transfer-guides{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.daaluu-house-transfer-guides marker path{fill:#d8c28b}.daaluu-house-transfer-guide{stroke:#d8c28b;stroke-width:2;stroke-dasharray:3 7;stroke-linecap:round;opacity:.38}.daaluu-house-transfer-count{fill:#d8c28b;stroke:#123e34;stroke-width:3px;paint-order:stroke;font-size:12px;font-weight:700;opacity:.65}.daaluu-tile-flight>.daaluu-face-tile{width:calc(35px * var(--daaluu-tile-scale, 1))}.daaluu-house-flight{display:block;position:relative;width:calc(25px * var(--daaluu-tile-scale, 1));height:calc(52px * var(--daaluu-tile-scale, 1));filter:drop-shadow(0 6px 5px #0008)}.daaluu-house-flight .daaluu-face-tile{width:calc(24px * var(--daaluu-tile-scale, 1));padding:2px;border-width:1px;border-radius:3px}.daaluu-tile-flight.is-leaving{animation-name:daaluu-tile-depart}.daaluu-tile-flight.is-house-transfer{animation-timing-function:var(--ease-in-out)}.daaluu-tile-flight.is-play{animation-name:daaluu-reveal-play}.daaluu-tile-flight.is-play>.daaluu-face-tile{width:calc(56px * var(--daaluu-tile-scale, 1))}@keyframes daaluu-reveal-play{0%{opacity:0;transform:translate3d(var(--from-x),var(--from-y),0) translate(-50%,-50%) rotate(-8deg) scale(.85)}10%{opacity:1}28%,72%{opacity:1;transform:translate3d(var(--reveal-x),var(--reveal-y),0) translate(-50%,-50%) rotate(0) scale(1.12)}98%{opacity:1}to{opacity:0;transform:translate3d(var(--to-x),var(--to-y),0) translate(-50%,-50%) rotate(0) scale(1)}}@keyframes daaluu-tile-travel{0%{opacity:0;transform:translate3d(var(--from-x),var(--from-y),0) translate(-50%,-50%) rotate(-8deg) scale(.85)}12%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate3d(var(--to-x),var(--to-y),0) translate(-50%,-50%) rotate(0) scale(1)}}@keyframes daaluu-tile-depart{0%{opacity:0;transform:translate3d(var(--from-x),var(--from-y),0) translate(-50%,-50%)}2%,85%{opacity:1}to{opacity:0;transform:translate3d(var(--to-x),var(--to-y),0) translate(-50%,-50%) scale(.75)}}@media (prefers-reduced-motion: reduce){.daaluu-janlii-option,.daaluu-janlii-picking-hand{animation:none}.daaluu-janlii-picking-hand{display:none}.daaluu-special-play canvas{display:none}.daaluu-special-play .special-combo-anim-container,.daaluu-special-play .special-combo-anim-text{animation:none}.daaluu-tile-flight{animation-duration:1ms!important;animation-delay:0ms!important}.daaluu-tribute-offer .daaluu-face-tile{animation:none}.daaluu-tile-arriving{visibility:visible}}.daaluu-size-control{position:relative}.daaluu-size-panel{position:absolute;z-index:70;right:0;bottom:calc(100% + 8px);display:grid;gap:10px;width:240px;padding:12px 14px;border:1px solid #bd8b4e;border-radius:10px;background:#102e27;box-shadow:0 10px 24px #0009;color:#f6eddc}.daaluu-size-row{display:grid;grid-template-columns:44px 1fr 40px;align-items:center;gap:8px;font-size:12px}.daaluu-size-row input{width:100%;accent-color:#e8c98e}.daaluu-size-row output{font-variant-numeric:tabular-nums;text-align:right;color:#e8c98e}.daaluu-size-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#a8c7b8}.daaluu-size-reset:disabled{opacity:.45;cursor:default}.daaluu-size-reset{min-height:32px;padding:4px 10px;border:1px solid #bd8b4e88;border-radius:6px;background:transparent;color:#e8c98e;font-size:12px;cursor:pointer}html{--daaluu-tile-scale: var(--daaluu-tiles, 1);--daaluu-table-scale: var(--daaluu-table, 1)}.daaluu-table-scene{--daaluu-tile-scale: calc(var(--daaluu-tiles, 1) * var(--daaluu-table, 1))}.self-counter .daaluu-autoplay-toggle.is-on,.daaluu-autoplay-toggle.is-on{color:#173d33;background:#e8c98e;box-shadow:0 0 0 2px #e8c98e55,0 0 12px #e8c98e66}.self-counter .daaluu-autoplay-toggle.is-on:hover:not(:disabled),.daaluu-autoplay-toggle.is-on:hover{color:#173d33;background:#f3d9a4}.daaluu-caller-mark{position:absolute;z-index:3;top:-7px;left:-7px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e8c98e;color:#173d33;border:1px solid #bd8b4e;box-shadow:0 2px 6px #0007;pointer-events:auto}.self-counter .daaluu-debt{position:relative}.self-counter .daaluu-debt-trigger{color:inherit;font-size:inherit}.self-counter .daaluu-debt-tooltip{top:auto;bottom:calc(100% + 8px)}.daaluu-self-caller{color:#e8c98e;border-color:#bd8b4e88}.matchmaking-dock-banner{position:sticky;top:56px;z-index:45;margin:0 auto;max-width:1120px;background:linear-gradient(135deg,#0f172af5,#10b9812e);border-bottom:1px solid rgba(52,211,153,.45);box-shadow:0 12px 32px #00000073;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden;border-radius:0 0 14px 14px}.matchmaking-dock-banner.is-found{background:linear-gradient(135deg,#064e3bf5,#10b98159);border-bottom-color:#6ee7b7d9}.matchmaking-dock-banner.is-timeout{background:linear-gradient(135deg,#451a03f5,#f59e0b40);border-bottom-color:#fbbf24bf}.matchmaking-dock-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 18px;flex-wrap:wrap}.matchmaking-radar-wrap{position:relative;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.matchmaking-radar-dot{width:10px;height:10px;border-radius:50%;background:#34d399;box-shadow:0 0 10px #34d399d9;display:inline-block;flex-shrink:0}.matchmaking-radar-dot.is-found{background:#fde047;box-shadow:0 0 14px #fde047f2}.matchmaking-radar-dot.is-timeout{background:#f59e0b;box-shadow:0 0 12px #f59e0bd9}.matchmaking-radar-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(52,211,153,.75);animation:mmRadarPulse 1.5s cubic-bezier(0,0,.2,1) infinite}@keyframes mmRadarPulse{0%{transform:scale(.55);opacity:.95}to{transform:scale(1.65);opacity:0}}.matchmaking-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:180px}.matchmaking-headline{font-size:.84rem;font-weight:800;letter-spacing:.05em;color:#ecfdf5}.matchmaking-found-text{color:#fde047}.matchmaking-timeout-text{color:#fde68a}.matchmaking-timeout-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.matchmaking-meta{display:flex;align-items:center;gap:6px;font-size:.78rem;color:#e2e8f0d1;flex-wrap:wrap}.matchmaking-sep{opacity:.5}.matchmaking-active-highlight{color:#6ee7b7;font-weight:700}.matchmaking-timers{display:flex;align-items:center;gap:12px;background:#0206178c;border:1px solid rgba(148,163,184,.22);padding:5px 12px;border-radius:10px}.matchmaking-clock,.matchmaking-estimate{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.matchmaking-clock-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8d9}.matchmaking-clock-value{font-size:.88rem;font-weight:800;font-variant-numeric:tabular-nums;color:#f8fafc}.matchmaking-estimate-value{font-size:.84rem;font-weight:700;font-variant-numeric:tabular-nums;color:#6ee7b7}.matchmaking-cancel-btn{background:#ef444429;border:1px solid rgba(248,113,113,.45);color:#fecaca;border-radius:8px;padding:6px 12px;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease}.matchmaking-cancel-btn:hover{background:#ef444447;border-color:#f87171bf}.matchmaking-progress-track{height:3px;width:100%;background:#0f172ab3;overflow:hidden}.matchmaking-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399,#fde047);transition:width .25s ease}.room-action-card{display:flex;flex-direction:column;gap:8px;padding:11px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#0f172a6b}.room-action-card.is-matchmaking{border-color:#34d39959;background:linear-gradient(180deg,#10b9811a,#0f172a7a)}.room-action-card.is-private-host{border-color:#fbbf243d;background:linear-gradient(180deg,#fbbf240f,#0f172a7a)}.room-action-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.room-action-card-title{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#f1f5f9eb}.room-queue-est-badge{font-size:.72rem;font-weight:600;padding:0;border-radius:0;background:transparent;border:none;color:#a7f3d0;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.room-queue-est-badge.is-instant{background:transparent;border:none;color:#6ee7b7;font-weight:700}.room-private-tag{font-size:.72rem;font-weight:600;padding:0;border-radius:0;background:transparent;border:none;color:var(--parlor-sage, #b7cbbe);-webkit-user-select:none;user-select:none}.quick-play-btn,.room-create-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 14px;text-align:center}.room-btn-main-text{font-size:.95rem;font-weight:800}.room-btn-sublabel{font-size:.72rem;font-weight:500;opacity:.85;line-height:1.25}.room-section-divider{display:flex;align-items:center;gap:10px;color:#94a3b8bf;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:2px 0}.room-section-divider:before,.room-section-divider:after{content:"";flex:1;height:1px;background:#94a3b833}.room-inline-queue-box{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:10px;background:#064e3b73;border:1px solid rgba(52,211,153,.5)}.room-inline-queue-box.is-timeout{background:#78350f73;border-color:#fbbf248c}.room-timeout-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.room-timeout-actions>button{flex:1;min-width:120px}.room-inline-queue-top{display:flex;align-items:center;gap:10px}.room-inline-queue-copy{display:flex;flex-direction:column;gap:2px;font-size:.8rem}.room-inline-queue-copy strong{color:#ecfdf5}.room-inline-queue-copy span{color:#a7f3d0;font-size:.75rem;font-variant-numeric:tabular-nums}.room-cancel-queue-btn{padding:6px 10px;font-size:.78rem}.lobby-badge-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lobby-visibility-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:700}.lobby-visibility-badge.is-public{background:#10b9812e;border:1px solid rgba(52,211,153,.45);color:#6ee7b7}.lobby-visibility-badge.is-private{background:#94a3b829;border:1px solid rgba(148,163,184,.35);color:#cbd5e1}.lobby-matchmaking-bar{background:linear-gradient(135deg,#064e3ba6,#0f172ae0);border:1px solid rgba(52,211,153,.45);border-radius:14px;overflow:hidden;margin-bottom:12px;box-shadow:0 8px 24px #00000047}.lobby-matchmaking-bar.is-ready{border-color:#fde047a6}.lobby-matchmaking-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;flex-wrap:wrap}.lobby-matchmaking-status{display:flex;align-items:center;gap:12px;flex:1;min-width:220px}.lobby-matchmaking-text{display:flex;flex-direction:column;gap:2px}.lobby-matchmaking-text strong{font-size:.86rem;color:#ecfdf5;letter-spacing:.02em}.lobby-matchmaking-text span{font-size:.78rem;color:#d1fae5d1}.lobby-matchmaking-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lobby-matchmaking-clocks{display:flex;align-items:center;gap:10px;background:#0206178c;border:1px solid rgba(52,211,153,.28);padding:6px 12px;border-radius:10px;font-variant-numeric:tabular-nums}.lobby-mm-clock{font-size:.86rem;font-weight:800;color:#f8fafc}.lobby-mm-est{font-size:.78rem;font-weight:600;color:#6ee7b7}.lobby-matchmaking-actions{display:flex;align-items:center;gap:8px}.lobby-mm-hold-btn{background:#0f172ab3;border:1px solid rgba(148,163,184,.38);color:#e2e8f0;border-radius:8px;padding:6px 11px;font-size:.78rem;font-weight:700;cursor:pointer}.lobby-mm-start-now-btn{background:linear-gradient(135deg,#10b981,#059669);border:1px solid rgba(110,231,183,.6);color:#fff;border-radius:8px;padding:6px 12px;font-size:.78rem;font-weight:800;cursor:pointer}.tsai-leave-warning-card{max-width:440px;border:1px solid rgba(251,191,36,.45);background:linear-gradient(180deg,#0f172afa,#1e293bfa);padding:22px;display:flex;flex-direction:column;gap:14px}.tsai-leave-warning-badge{align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.05em;padding:3px 10px;border-radius:999px;background:#fbbf2429;border:1px solid rgba(251,191,36,.45);color:#fde68a}.tsai-leave-warning-title{margin:0;font-size:1.15rem;color:#f8fafc}.tsai-leave-warning-desc{margin:0;font-size:.88rem;line-height:1.5;color:#e2e8f0e0}.tsai-leave-penalty-box{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;background:#ef444424;border:1px solid rgba(248,113,113,.4);font-size:.86rem;color:#fecaca}.tsai-leave-penalty-box strong{font-size:1rem;color:#f87171}.tsai-leave-warning-actions{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}.tsai-stay-btn,.tsai-abandon-btn{flex:1;min-width:150px;padding:10px 14px}.lobby-seats-section{display:flex;flex-direction:column;gap:12px}.lobby-section-title-bar{display:flex;align-items:center;justify-content:space-between;min-height:32px}.lobby-section-title-bar h3{margin:0;font-family:var(--font-display, sans-serif);font-size:1.25rem;font-weight:800;letter-spacing:-.015em;color:var(--parlor-ivory, #f5f0e4);display:flex;align-items:center;gap:8px}.lobby-section-suit{color:var(--parlor-brass, #d9a441);font-size:.95em}.lobby-host-controls-note{font-family:var(--font-base, sans-serif);font-size:.78rem;color:var(--parlor-sage, #b7cbbe);font-weight:600}.lobby-seat-picker{display:flex;flex-direction:column;align-items:center;gap:10px}.lobby-mini-table{position:relative;width:min(100%,460px);aspect-ratio:17 / 11;margin:40px 0 44px}.lobby-mini-table-felt{position:absolute;top:20%;right:17%;bottom:20%;left:17%;border-radius:50%;background:radial-gradient(ellipse at 50% 40%,var(--parlor-baize-felt, #0b3727) 0%,var(--parlor-baize-deep, #051c14) 100%);border:5px solid rgba(217,164,65,.5);box-shadow:inset 0 0 22px #0000008c,0 8px 20px #00000059;transition:border-color .18s ease}.lobby-mini-table.is-moving .lobby-mini-table-felt{border-color:var(--parlor-brass, #d9a441)}.lobby-mini-seat{position:absolute;translate:-50% -30%;display:flex;flex-direction:column;align-items:center;gap:3px;width:84px;padding:0;background:none;border:none;color:var(--parlor-ivory, #f5f0e4);cursor:pointer}.lobby-mini-seat.is-upper{flex-direction:column-reverse;translate:-50% -70%}.lobby-mini-seat:disabled{opacity:1;cursor:default}.lobby-mini-seat-disc{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-family:var(--font-display, sans-serif);font-size:1.08rem;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);background:#04130dd9;border:2px solid rgba(217,164,65,.35);box-shadow:0 3px 8px #00000059;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.lobby-mini-seat.is-empty .lobby-mini-seat-disc{border-style:dashed;color:var(--parlor-sage, #b7cbbe);box-shadow:none}.lobby-mini-table.is-moving .lobby-mini-seat.is-empty .lobby-mini-seat-disc{border-color:var(--parlor-brass, #d9a441);color:var(--parlor-brass, #d9a441)}.lobby-mini-seat-disc.is-bot{color:var(--parlor-brass, #d9a441);background:linear-gradient(145deg,#1b382d,#0b1f17);border-color:#b7cbbe59}.lobby-mini-seat-disc.is-vip{border-color:var(--parlor-brass, #d9a441)}.lobby-mini-seat:not(:disabled):hover .lobby-mini-seat-disc{border-color:var(--parlor-brass, #d9a441);transform:scale(1.06)}.lobby-mini-seat.is-self .lobby-mini-seat-disc{border-color:var(--parlor-jade, #34d399);box-shadow:0 0 0 3px #34d39938}.lobby-mini-seat.is-selected .lobby-mini-seat-disc{border-color:var(--parlor-brass, #d9a441);box-shadow:0 0 0 4px var(--parlor-brass-soft, rgba(217, 164, 65, .24)),0 0 16px #d9a44180}.lobby-mini-seat:focus-visible{outline:none}.lobby-mini-seat:focus-visible .lobby-mini-seat-disc{outline:2px solid var(--parlor-ivory, #f5f0e4);outline-offset:3px}.lobby-online-dot{position:absolute;bottom:-1px;right:-1px;width:11px;height:11px;border-radius:50%;background:#34d399;border:2px solid #072319}.lobby-online-dot.is-offline{background:#8da99a}.lobby-mini-seat-host,.lobby-mini-seat-vip{position:absolute;top:-5px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;font-size:.7rem;line-height:1;text-shadow:none;background:#072319;border:1px solid rgba(217,164,65,.6);color:var(--parlor-brass, #d9a441)}.lobby-mini-seat-host{left:-5px}.lobby-mini-seat-vip{right:-5px;color:#fde68a}.lobby-mini-seat-name{max-width:100%;min-height:1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:700;line-height:1.1;color:var(--parlor-sage, #b7cbbe)}.lobby-mini-seat.is-self .lobby-mini-seat-name,.lobby-mini-seat.is-selected .lobby-mini-seat-name{color:var(--parlor-ivory, #f5f0e4)}.lobby-mini-seat-chip{display:inline-flex;gap:4px;padding:1px 6px;border-radius:999px;background:#0000006b;font-size:.68rem;font-weight:700;line-height:1.35;font-variant-numeric:tabular-nums;white-space:nowrap}.lobby-mini-seat-chip .is-neutral{color:#fde68a}.lobby-mini-seat-chip .is-good{color:#34d399}.lobby-mini-seat-chip .is-bad{color:#f87171}.lobby-mini-seat-chip .is-warning{color:#fbbf24}.lobby-mini-seat-reaction{position:absolute;top:-8px;left:50%;width:0;height:0;display:flex;align-items:flex-end;justify-content:center;overflow:visible;pointer-events:none;z-index:80}.lobby-seat-picker-hint{margin:0;max-width:46ch;font-size:.8rem;color:var(--parlor-sage, #b7cbbe);text-align:center}.lobby-seat-detail{width:min(100%,460px);display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:10px;background:#04130db3;border:1px solid rgba(217,164,65,.4);animation:lobby-seat-detail-in .16s ease-out}.lobby-seat-detail.is-moving{flex-direction:row;align-items:center;justify-content:space-between;border-color:var(--parlor-brass, #d9a441)}.lobby-seat-detail-moving{margin:0;font-size:.86rem;font-weight:700;color:#fde68a}@keyframes lobby-seat-detail-in{0%{opacity:0;translate:0 -4px}to{opacity:1;translate:0 0}}.lobby-seat-detail-head{display:flex;align-items:center;gap:10px}.lobby-seat-detail-who{min-width:0;flex:1}.lobby-seat-detail-who p{margin:0}.lobby-seat-detail-close{align-self:flex-start;width:28px;height:28px;padding:0;border-radius:50%;background:transparent;border:1px solid rgba(183,203,190,.3);color:var(--parlor-sage, #b7cbbe);font-size:.8rem;cursor:pointer}.lobby-seat-detail-close:hover{color:var(--parlor-ivory, #f5f0e4);border-color:var(--parlor-sage, #b7cbbe)}.lobby-seat-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.lobby-seat-detail-btn{padding:5px 11px;border-radius:6px;font-size:.78rem;font-weight:700;color:var(--parlor-ivory, #f5f0e4);background:#ffffff0f;border:1px solid rgba(183,203,190,.35);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.lobby-seat-detail-btn:hover{background:#ffffff1f;border-color:var(--parlor-sage, #b7cbbe)}.lobby-seat-detail-btn:focus-visible,.lobby-seat-detail-close:focus-visible,.lobby-empty-action:focus-visible{outline:2px solid var(--parlor-ivory, #f5f0e4);outline-offset:2px}.lobby-seat-avatar{position:relative;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display, sans-serif);font-weight:800;font-size:1.05rem;text-shadow:0 1px 3px rgba(0,0,0,.65);color:var(--parlor-ivory, #f5f0e4);background:linear-gradient(145deg,#134e38,#07291c);border:1.5px solid rgba(217,164,65,.42);flex-shrink:0}.lobby-seat-avatar.is-bot{background:linear-gradient(145deg,#1b382d,#0b1f17);border-color:#b7cbbe59;color:var(--parlor-brass, #d9a441)}.lobby-seat-avatar.is-vip{border-color:var(--parlor-brass, #d9a441);box-shadow:0 0 10px #d9a44147}.lobby-seat-name{font-size:.98rem;font-weight:700;color:var(--parlor-ivory, #f5f0e4);display:flex;align-items:center;gap:5px}.lobby-seat-name>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-seat-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font-size:.75rem;color:var(--parlor-sage, #b7cbbe);margin-top:2px}.lobby-host-pill{color:var(--parlor-brass, #d9a441);font-weight:700}.lobby-you-tag{color:#6ee7b7;font-weight:800}.lobby-offline-meta{color:#f87171}.lobby-self-profile-link{color:#6ee7b7;border-color:#6ee7b766}.lobby-friend-status{color:#86efac;font-size:.76rem;font-weight:600}.lobby-friend-status.is-pending{color:#f3dfb6}.lobby-add-friend-btn{color:#fde68a;background:linear-gradient(180deg,#d9a4413d,#92681c47);border-color:#d9a44180}.lobby-add-friend-btn:hover{background:linear-gradient(180deg,#d9a44157,#a8782261);border-color:var(--parlor-brass, #d9a441)}.lobby-kick-btn{margin-left:auto;padding:5px 11px;font-size:.78rem;font-weight:700;color:#fca5a5;background:#ef44441f;border:1px solid rgba(239,68,68,.32);border-radius:6px;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.lobby-kick-btn:hover{color:#fff;background:#ef444447;border-color:#ef4444a6}.lobby-kick-btn:focus-visible{outline:2px solid #ef4444;outline-offset:2px}.lobby-seat-badges{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}.lobby-point-badge,.lobby-tsai-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:2px;font-size:.76rem;font-weight:700;font-variant-numeric:tabular-nums;background:#00000047;border-left:2px solid rgba(183,203,190,.45);color:var(--parlor-ivory, #f5f0e4)}.lobby-point-badge.is-bad{background:#ef444424;border-left-color:#ef4444;color:#fca5a5}.lobby-point-badge.is-warning{background:#f59e0b24;border-left-color:#f59e0b;color:#fde68a}.lobby-tsai-badge{color:#fde68a;border-left-color:var(--parlor-brass, #d9a441)}.lobby-tsai-badge.is-low{border-left-color:#ef4444;color:#f87171}.lobby-score-delta{font-size:.76rem;font-weight:700;color:var(--parlor-sage, #b7cbbe)}.lobby-score-delta.is-good{color:#34d399}.lobby-score-delta.is-bad{color:#f87171}.lobby-empty-action{font-size:.78rem;font-weight:700;color:#fde68a;background:linear-gradient(180deg,#d9a44138,#92681c47);border:1px solid rgba(217,164,65,.48);border-radius:6px;padding:6px 12px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.lobby-empty-action:hover{background:linear-gradient(180deg,#d9a44152,#a878225c);border-color:var(--parlor-brass, #d9a441)}@media (max-width: 420px){.lobby-mini-seat{width:70px}.lobby-mini-seat-disc{width:42px;height:42px;font-size:.98rem}.lobby-mini-seat-name{font-size:.7rem}}@media (prefers-reduced-motion: reduce){.lobby-mini-table-felt,.lobby-mini-seat-disc,.lobby-seat-detail-btn,.lobby-kick-btn{transition:none}.lobby-mini-seat:not(:disabled):hover .lobby-mini-seat-disc{transform:none}.lobby-seat-detail{animation:none}}.lobby-screen{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:24px 16px calc(36px + env(safe-area-inset-bottom,0px));min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;box-sizing:border-box;color:var(--parlor-ivory, #f5f0e4)}.lobby-content-modern{width:min(100%,820px);display:flex;flex-direction:column;gap:22px;padding:26px 28px 24px;background:radial-gradient(ellipse 75% 45% at 50% 0%,rgba(217,164,65,.08) 0%,transparent 70%),linear-gradient(180deg,#0d2f22f0,#061811fa);border:1px solid rgba(217,164,65,.36);border-radius:14px;box-shadow:0 24px 56px #0000007a,inset 0 0 0 3px #d9a44112,inset 0 1px #f5f0e41a;position:relative;box-sizing:border-box}.lobby-hero-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--parlor-brass-soft, rgba(217, 164, 65, .24));flex-wrap:wrap}.lobby-game-identity{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.lobby-game-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 0 2px 10px;border-radius:0;background:transparent;border:none;border-left:2.5px solid var(--parlor-brass, #d9a441);color:#f3dfb6;font-size:.78rem;font-weight:700;-webkit-user-select:none;user-select:none}.lobby-game-badge.is-tsai{background:transparent;border-left-color:#fbbf24;color:#fde68a}.lobby-game-suit{color:var(--parlor-brass, #d9a441);font-size:1.05em}.lobby-game-mode-sep{opacity:.6}.lobby-room-title{margin:0;font-family:var(--font-display, sans-serif);font-size:clamp(1.3rem,2.2vw,1.65rem);font-weight:800;line-height:1.15;color:var(--parlor-ivory, #f5f0e4);letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.lobby-share-cluster{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.lobby-code-pill{display:inline-flex;align-items:center;gap:10px;padding:7px 13px;border-radius:8px;background:linear-gradient(180deg,#0a261be0,#04120df0);border:1px solid rgba(217,164,65,.44);box-shadow:0 3px 10px #00000057,inset 0 1px #ffffff1f;color:var(--parlor-ivory, #f5f0e4);font-size:.84rem;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s var(--ease-out)}.lobby-code-pill:hover{border-color:var(--parlor-brass, #d9a441);background:linear-gradient(180deg,#103426f0,#061811fa)}.lobby-code-pill.is-copied{background:#10b98133;border-color:#34d399}.lobby-code-label{color:var(--parlor-sage, #b7cbbe);font-size:.76rem;font-weight:600}.lobby-code-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:800;font-size:1.08rem;color:var(--parlor-brass, #d9a441);letter-spacing:.06em}.lobby-code-copy-hint{display:inline-flex;align-items:center;gap:4px;padding-left:8px;border-left:1px solid rgba(217,164,65,.22);font-size:.76rem;font-weight:600;color:#cfe0d5}.lobby-share-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:8px;background:linear-gradient(180deg,#164431d6,#0a241aeb);border:1px solid rgba(217,164,65,.34);box-shadow:0 3px 10px #0000004d,inset 0 1px #ffffff1f;color:var(--parlor-ivory, #f5f0e4);font-size:.82rem;font-weight:700;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .16s var(--ease-out)}.lobby-share-button:hover{background:linear-gradient(180deg,#1e563feb,#0e3023fa);border-color:var(--parlor-brass, #d9a441);color:#fde68a}@media (hover: hover) and (pointer: fine){.lobby-code-pill:hover,.lobby-share-button:hover{transform:translateY(-1px)}}.lobby-share-button.is-copied{background:#10b98138;border-color:#34d399;color:#6ee7b7}.lobby-main-column,.lobby-main-grid{display:flex;flex-direction:column;gap:22px;width:100%}.lobby-settings-section{display:flex;flex-direction:column;gap:16px;padding:20px 22px;background:#04130d8f;border:1px solid var(--parlor-brass-soft, rgba(217, 164, 65, .24));border-radius:12px;box-sizing:border-box}.lobby-settings-controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;width:100%}.lobby-setting-group{display:flex;flex-direction:column;gap:7px;min-width:0}.lobby-setting-group-label{font-size:.82rem;font-weight:600;color:var(--parlor-sage, #b7cbbe);display:flex;align-items:center;justify-content:space-between;gap:8px}.lobby-vip-label-link{background:none;border:none;color:var(--parlor-brass, #d9a441);font-size:.74rem;font-weight:700;text-decoration:underline;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:4px}.lobby-vip-label-link:hover{color:#fde68a}.segmented-control{display:flex;flex-wrap:wrap;background:#020c08a6;border:1px solid rgba(217,164,65,.2);border-radius:8px;padding:3px;gap:3px;min-width:0}.segmented-pill-wrap{display:inline-flex;flex:1 1 auto;min-width:0}.segmented-pill-wrap>.segmented-pill{width:100%}.segmented-pill{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 9px;border-radius:6px;background:transparent;border:1px solid transparent;color:var(--parlor-sage, #b7cbbe);font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.segmented-pill .pill-suit{color:var(--parlor-brass, #d9a441)}.segmented-pill:hover:not(:disabled):not(.is-active){color:var(--parlor-ivory, #f5f0e4);background:#ffffff0f}.segmented-pill.is-active{background:linear-gradient(135deg,#14583ef2,#0b3827fa);color:var(--parlor-ivory, #f5f0e4);font-weight:700;border-color:#d9a44185;box-shadow:0 1px 4px #00000040,inset 0 1px #ffffff1a}.segmented-pill.is-active:hover{background:linear-gradient(135deg,#1a694afa,#0f4631);border-color:#d9a441b3;color:#fff}.segmented-pill .pill-hint{font-size:.74rem;opacity:.72;margin-left:3px}.segmented-pill.is-active .pill-hint{opacity:.92;color:#d1fae5}.segmented-pill:disabled{opacity:.65;cursor:not-allowed}.segmented-pill.is-vip-pill:disabled{opacity:.85;border:1px dashed rgba(217,164,65,.45);color:#f3dfb6;background:#d9a44112;cursor:pointer}.segmented-pill.is-vip-pill:disabled:hover{background:#d9a44124;border-color:#d9a441b3}.room-vip-pill-badge{display:inline-flex;align-items:center;gap:2px;background:#d9a44138;border:1px solid rgba(217,164,65,.55);color:#fde68a;font-size:.66rem;font-weight:700;padding:1px 5px;border-radius:4px;margin-left:4px}.lobby-tsai-notice{padding:8px 12px;border-radius:8px;background:#d9a44124;border:1px solid rgba(217,164,65,.35);color:#fde68a;font-size:.8rem;font-weight:600}.lobby-toggles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:6px;border-top:1px solid rgba(217,164,65,.14);width:100%}.lobby-toggle-col{display:flex;flex-direction:column;gap:4px;min-width:0}.lobby-toggle-card{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;min-height:44px;border-radius:8px;background:#020c0880;border:1px solid rgba(217,164,65,.18);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;box-sizing:border-box}.lobby-toggle-card:hover{background:#04160fb8;border-color:#d9a44157}.lobby-toggle-card.is-active{background:linear-gradient(135deg,#14583e73,#0b382799);border-color:#d9a44173}.lobby-toggle-card.is-vip-locked{background:#d9a4410f;border:1px dashed rgba(217,164,65,.42)}.lobby-toggle-vip-hint{text-align:right;padding:0 4px}.lobby-vip-inline-link{background:none;border:none;color:var(--parlor-brass, #d9a441);font-size:.74rem;text-decoration:underline;cursor:pointer;font-weight:600;padding:0;display:inline-flex;align-items:center;gap:4px}.lobby-toggle-label{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:var(--parlor-ivory, #f5f0e4);min-width:0}.lobby-toggle-input{width:17px;height:17px;accent-color:#34d399;cursor:pointer}.lobby-guest-rules-card{display:flex;flex-direction:column;gap:12px}.lobby-guest-rules-intro{margin:0;font-size:.84rem;color:var(--parlor-sage, #b7cbbe)}.lobby-rule-badge-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:1px solid rgba(217,164,65,.22);border-left:1px solid rgba(217,164,65,.22);background:#020c086b}.lobby-rule-badge{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-right:1px solid rgba(217,164,65,.22);border-bottom:1px solid rgba(217,164,65,.22);color:var(--parlor-ivory, #f5f0e4);font-size:.84rem}.lobby-rule-label{font-size:.72rem;color:var(--parlor-sage, #b7cbbe);font-weight:600}.lobby-rule-badge.is-gold strong{color:var(--parlor-brass, #d9a441)}.lobby-launchpad{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid var(--parlor-brass-soft, rgba(217, 164, 65, .24));flex-wrap:wrap}.lobby-tools-group{display:flex;align-items:center;gap:8px}.lobby-history-btn{border-radius:8px;padding:7px 12px;font-size:.84rem;display:inline-flex;align-items:center;gap:6px}.lobby-primary-action-wrap{margin-left:auto;display:flex;align-items:center;gap:10px}.lobby-restart-match-btn{border-radius:8px;padding:10px 14px;font-size:.88rem;font-weight:700;background:#d9a44124;border:1px solid rgba(217,164,65,.42);color:#fde68a;display:inline-flex;align-items:center;gap:6px}.lobby-btn-start{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 26px;border-radius:8px;background:var(--parlor-jade, #34d399);color:#042416;font-size:1rem;font-weight:800;border:1px solid rgba(255,255,255,.2);cursor:pointer;box-shadow:0 4px 16px #10b9814d;transition:background-color .16s ease,transform .16s var(--ease-out),box-shadow .16s ease}.lobby-btn-start:hover:not(:disabled){background:#6ee7b7;box-shadow:0 6px 20px #10b9816b}@media (hover: hover) and (pointer: fine){.lobby-btn-start:hover:not(:disabled){transform:translateY(-1px)}}.lobby-btn-start:disabled{background:#ffffff1a;border-color:#ffffff1f;color:var(--parlor-sage, #b7cbbe);box-shadow:none;cursor:not-allowed;transform:none}.lobby-waiting-status{display:inline-flex;align-items:center;gap:10px;padding:6px 4px;border-radius:0;background:transparent;border:none;color:var(--parlor-sage, #b7cbbe);font-size:.88rem;font-weight:600;-webkit-user-select:none;user-select:none}.lobby-waiting-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(217,164,65,.25);border-top-color:var(--parlor-brass, #d9a441);border-radius:50%;animation:lobby-spin .8s linear infinite}@keyframes lobby-spin{to{transform:rotate(360deg)}}.lobby-winner{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;background:#d9a44129;border:1px solid rgba(217,164,65,.48);border-radius:10px;color:#fde68a;font-size:.95rem;font-weight:700;margin:0}@media (max-width: 680px){.lobby-screen{padding:12px 10px calc(24px + env(safe-area-inset-bottom,0px))}.lobby-content-modern{padding:16px 14px 18px;border-radius:12px;gap:16px;width:100%}.lobby-hero-header{flex-direction:column;align-items:stretch;gap:12px;padding-bottom:14px}.lobby-share-cluster{width:100%}.lobby-code-pill{flex:1 1 100%;justify-content:space-between}.lobby-share-button{flex:1 1 calc(50% - 4px)}.lobby-settings-section{padding:14px 12px;gap:12px}.lobby-settings-controls-grid,.lobby-toggles-grid{grid-template-columns:1fr;gap:10px}.segmented-pill{flex:1 1 calc(50% - 4px);white-space:normal;text-align:center}.lobby-launchpad{flex-direction:column;align-items:stretch}.lobby-primary-action-wrap{width:100%;margin-left:0;flex-direction:column}.lobby-btn-start,.lobby-restart-match-btn,.lobby-waiting-status{width:100%;justify-content:center}.lobby-tools-group{justify-content:center}}@media (prefers-reduced-motion: reduce){.lobby-waiting-spinner{animation:none}.lobby-code-pill:hover,.lobby-share-button:hover,.lobby-btn-start:hover:not(:disabled){transform:none}}.table-interaction-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;animation:backdrop-fade .2s var(--ease-out)}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}.table-interaction-card{width:100%;max-width:380px;background:#111827;border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 20px 40px #000000b3;overflow:hidden;transform-origin:center;animation:card-pop .22s var(--ease-out);display:flex;flex-direction:column}@keyframes card-pop{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.table-interaction-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08)}.target-summary{display:flex;align-items:center;gap:10px}.target-icon{font-size:1.4rem}.target-info{display:flex;flex-direction:column}.target-title{font-size:.72rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.target-name{font-size:1rem;color:#f8fafc}.close-button{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.close-button:hover{background:#ffffff1a;color:#fff}.table-throw-action-bar-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:4px 8px;font-size:1.1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,border-color .15s ease,transform .16s var(--ease-out)}.table-throw-action-bar-btn:hover{background:#ffffff29;border-color:#ffffff4d}@media (hover: hover) and (pointer: fine){.table-throw-action-bar-btn:hover{transform:scale(1.06)}}.status-pill{margin:10px 18px 4px;padding:6px 12px;border-radius:8px;font-size:.8rem;font-weight:600;display:flex;align-items:center;justify-content:center}.status-pill.is-vip{background:linear-gradient(90deg,#eab3082e,#f59e0b38);border:1px solid rgba(234,179,8,.45);color:#fde047}.status-pill.is-ready{background:#22c55e26;border:1px solid rgba(34,197,94,.35);color:#86efac}.status-pill.is-exhausted{background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#fca5a5}.table-interaction-tabs{display:flex;gap:8px;padding:10px 18px 4px}.tab-btn{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:8px 12px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.tab-btn:hover{background:#ffffff1f;color:#f8fafc}.tab-btn.active{background:#3b82f6;border-color:#60a5fa;color:#fff;box-shadow:0 2px 10px #3b82f659}.throw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 18px 18px}.throw-item-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .16s var(--ease-out)}.throw-item-btn:hover{background:#ffffff1f;border-color:#ffffff40}@media (hover: hover) and (pointer: fine){.throw-item-btn:hover{transform:translateY(-2px)}}.throw-item-btn:active{transform:scale(.97)}.throw-emoji{font-size:2rem;line-height:1}.throw-name{font-size:.75rem;font-weight:600;color:#e2e8f0;text-align:center}.voice-list{display:flex;flex-direction:column;gap:8px;padding:14px 18px 18px;max-height:320px;overflow-y:auto}.voice-item-btn{display:flex;align-items:center;gap:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 14px;cursor:pointer;text-align:left;transition:background-color .15s ease,border-color .15s ease,transform .16s var(--ease-out)}.voice-item-btn:hover{background:#ffffff1f;border-color:#ffffff40}@media (hover: hover) and (pointer: fine){.voice-item-btn:hover{transform:translate(2px)}}.voice-icon{font-size:1.4rem}.voice-text-wrap{flex:1;display:flex;flex-direction:column}.voice-text-primary{font-size:.85rem;font-weight:700;color:#f8fafc}.voice-play-cue{font-size:.8rem;color:#38bdf8;opacity:.8}.vip-upsell-box{margin:10px 18px 6px;background:linear-gradient(135deg,#eab30829,#f59e0b3d);border:1px solid rgba(234,179,8,.45);border-radius:12px;padding:12px 14px}.vip-upsell-content{display:flex;flex-direction:column;gap:6px}.vip-upsell-content strong{font-size:.85rem;color:#fde047}.vip-upsell-content p{margin:0;font-size:.75rem;color:#fef08a;line-height:1.35}.vip-unlock-btn{margin-top:6px;background:linear-gradient(90deg,#f59e0b,#d97706);border:none;border-radius:8px;padding:8px 12px;color:#0f172a;font-size:.8rem;font-weight:800;cursor:pointer;transition:transform .15s}.vip-unlock-btn:hover{transform:scale(1.02)}.vip-unlock-btn:focus-visible{outline:2px solid #fde047;outline-offset:2px}.vip-feature-modal-body{margin-bottom:18px}.table-interaction-overlay-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;overflow:hidden}.target-lock-reticle{position:absolute;transform:translate(-50%,-50%);pointer-events:none;display:flex;flex-direction:column;align-items:center;z-index:9200;animation:lock-appear .22s var(--ease-out)}.target-lock-ring{width:74px;height:74px;border-radius:50%;border:2.5px dashed #ef4444;box-shadow:0 0 16px #ef444499,inset 0 0 12px #ef44444d;animation:lock-spin 2s linear infinite,lock-pulse .7s ease-in-out infinite alternate}.target-lock-ring.is-daaluu-target{box-sizing:border-box;border-radius:16px;animation:lock-pulse .7s ease-in-out infinite alternate}.target-lock-label{margin-top:6px;background:#0f172af2;border:1.5px solid #ef4444;border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:800;color:#fca5a5;white-space:nowrap;box-shadow:0 4px 12px #0009;letter-spacing:.02em}@keyframes lock-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes lock-pulse{0%{transform:scale(.92);opacity:.75}to{transform:scale(1.08);opacity:1}}@keyframes lock-appear{0%{transform:translate(-50%,-50%) scale(.92);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.flight-trajectory-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9350;overflow:visible;animation:trajectory-fade-in .18s ease-out forwards}@keyframes trajectory-fade-in{0%{opacity:0}to{opacity:1}}.flight-trajectory-dashed{animation:trajectory-flow .8s linear infinite}@keyframes trajectory-flow{0%{stroke-dashoffset:30}to{stroke-dashoffset:0}}.flying-trail-particle{position:absolute;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#fef08a,#f59e0b 60%,#f59e0b00);box-shadow:0 0 10px #f59e0bd9;z-index:9380;will-change:transform,opacity;transition:opacity .12s linear}.flying-trail-p1{width:14px;height:14px}.flying-trail-p2{width:12px;height:12px}.flying-trail-p3{width:10px;height:10px}.flying-trail-p4{width:8px;height:8px}.flying-throwable{position:absolute;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9400;filter:drop-shadow(0 12px 28px rgba(0,0,0,.85)) drop-shadow(0 0 16px rgba(245,158,11,.45))}.projectile-svg{width:64px;height:64px;display:block;filter:drop-shadow(0 6px 14px rgba(0,0,0,.55))}.flight-tracer-tag{display:flex;align-items:center;gap:6px;margin-top:6px;background:#0f172af2;border:2px solid #f59e0b;border-radius:999px;padding:3px 12px;font-size:.8rem;font-weight:800;white-space:nowrap;box-shadow:0 6px 16px #000000bf,0 0 10px #f59e0b59;pointer-events:none}.tracer-from{color:#fde047}.tracer-arrow{color:#38bdf8;font-size:.85rem}.tracer-to{color:#f87171}.impact-announcement-banner{position:fixed;top:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#1e293bf5,#0f172afa);border:2.5px solid #f59e0b;border-radius:999px;padding:10px 28px;font-size:1rem;font-weight:800;color:#f8fafc;box-shadow:0 12px 36px #000c,0 0 24px #f59e0b73;pointer-events:none;z-index:10000;white-space:nowrap;animation:banner-pop 2.3s cubic-bezier(.16,1,.3,1) forwards}.banner-from{color:#fde047;font-weight:900}.banner-action{color:#e2e8f0}.banner-to{color:#f87171;font-weight:900}@keyframes banner-pop{0%{opacity:0;transform:translate(-50%,-24px) scale(.85)}12%{opacity:1;transform:translate(-50%) scale(1.05)}20%{transform:translate(-50%) scale(1)}85%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-16px) scale(.9)}}.avatar-impact-shake{animation:avatar-hit-shake .8s cubic-bezier(.36,.07,.19,.97) both!important;filter:drop-shadow(0 0 20px rgba(239,68,68,.9))!important}@keyframes avatar-hit-shake{10%,90%{transform:translate3d(-3px,0,0) scale(.94)}20%,80%{transform:translate3d(5px,-3px,0) scale(1.06)}30%,50%,70%{transform:translate3d(-7px,3px,0) scale(.93)}40%,60%{transform:translate3d(7px,-2px,0) scale(1.05)}to{transform:translateZ(0) scale(1)}}.impact-effect{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:9500;display:flex;align-items:center;justify-content:center}.impact-container{display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.impact-caption{margin-top:-10px;background:#0f172af5;border-radius:999px;padding:4px 14px;font-size:.85rem;font-weight:900;letter-spacing:.04em;white-space:nowrap;box-shadow:0 8px 20px #000000bf;animation:caption-bounce 2.3s cubic-bezier(.18,1.25,.4,1) forwards;z-index:9600}@keyframes caption-bounce{0%{transform:scale(.4);opacity:0}20%{transform:scale(1.2);opacity:1}30%{transform:scale(1);opacity:1}85%{transform:scale(1);opacity:1}to{transform:scale(.85);opacity:0}}.tea-caption{border:2px solid #f59e0b;color:#fde68a;text-shadow:0 0 10px rgba(245,158,11,.6)}.impact-tea-svg{animation:tea-splat-anim 2.3s cubic-bezier(.12,.9,.2,1) forwards}@keyframes tea-splat-anim{0%{transform:scale(.2) rotate(0);opacity:.2}18%{transform:scale(1.35) rotate(10deg);opacity:1;filter:drop-shadow(0 0 24px rgba(245,158,11,.9))}75%{transform:scale(1.1) translateY(8px) rotate(6deg);opacity:.95}to{transform:scale(.85) translateY(24px);opacity:0}}.slap-caption{border:2px solid #ef4444;color:#fca5a5;text-shadow:0 0 10px rgba(239,68,68,.6)}.impact-slipper-svg{animation:slipper-slap-anim 2.3s cubic-bezier(.2,1.3,.3,1) forwards}@keyframes slipper-slap-anim{0%{transform:scale(.3) rotate(-50deg);opacity:.3}16%{transform:scale(1.45) rotate(15deg);opacity:1;filter:drop-shadow(0 0 28px rgba(239,68,68,.95))}40%{transform:scale(1.15) rotate(-10deg)}80%{transform:scale(1) translateY(10px) rotate(5deg);opacity:.9}to{transform:scale(.7) translateY(28px);opacity:0}}.egg-caption{border:2px solid #f59e0b;color:#fef08a;text-shadow:0 0 10px rgba(245,158,11,.6)}.impact-egg-svg{animation:egg-drip-anim 2.4s cubic-bezier(.12,.9,.2,1) forwards}@keyframes egg-drip-anim{0%{transform:scale(.25);opacity:.3}18%{transform:scale(1.35) rotate(-6deg);opacity:1;filter:drop-shadow(0 0 22px rgba(250,204,21,.9))}75%{transform:scale(1.15) translateY(14px) rotate(3deg);opacity:.95}to{transform:scale(.9) translateY(36px);opacity:0}}.airag-caption{border:2px solid #38bdf8;color:#bae6fd;text-shadow:0 0 10px rgba(56,189,248,.6)}.impact-airag-svg{animation:airag-toast-anim 2.3s ease-out forwards}@keyframes airag-toast-anim{0%{transform:scale(.3) rotate(-15deg);opacity:.2}20%{transform:scale(1.35) rotate(10deg);opacity:1;filter:drop-shadow(0 0 24px rgba(56,189,248,.95))}80%{transform:scale(1.1) rotate(0);opacity:.95}to{transform:scale(.8) translateY(20px);opacity:0}}.cash-caption{border:2px solid #10b981;color:#a7f3d0;text-shadow:0 0 10px rgba(16,185,129,.6)}.cash-rain-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.flutter-bill{position:absolute;top:50%;left:50%;color:#34d399;font-weight:900;font-size:1.2rem;text-shadow:0 0 8px rgba(16,185,129,.8);animation:bill-pop 2.3s ease-out forwards}@keyframes bill-pop{0%{opacity:0;transform:scale(.4)}25%{opacity:1;transform:scale(1.3)}80%{opacity:1;transform:scale(1.1) translateY(15px)}to{opacity:0;transform:scale(.8) translateY(35px)}}.shagai-caption{border:2px solid #f59e0b;color:#fde68a;text-shadow:0 0 10px rgba(245,158,11,.6)}.impact-shagai-svg{animation:shagai-spark-anim 2.3s cubic-bezier(.2,1.4,.3,1) forwards}@keyframes shagai-spark-anim{0%{transform:scale(.3) rotate(0);opacity:.3}18%{transform:scale(1.35) rotate(180deg);opacity:1;filter:drop-shadow(0 0 22px rgba(245,158,11,.9))}75%{transform:scale(1.1) rotate(360deg);opacity:.95}to{transform:scale(.7) translateY(22px);opacity:0}}.table-voice-bubble{position:absolute;transform:translate(-50%,-100%);background:#111827f5;border:1.5px solid #38bdf8;border-radius:14px;padding:8px 14px;box-shadow:0 12px 32px #000000b3,0 0 18px #38bdf866;display:flex;flex-direction:column;gap:4px;white-space:nowrap;pointer-events:none;z-index:9800;animation:voice-pop 3.8s ease-in-out forwards}.table-voice-bubble:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);border-width:8px 8px 0;border-style:solid;border-color:#38bdf8 transparent;display:block;width:0}.voice-bubble-header{display:flex;align-items:center;gap:6px;font-size:.72rem;color:#94a3b8}.voice-bubble-speaker{font-size:.95rem}.voice-bubble-route{color:#38bdf8;font-weight:700}.voice-bubble-body{display:flex;align-items:center;gap:8px}.voice-bubble-text{font-size:.88rem;font-weight:700;color:#f8fafc}.voice-audio-waves{display:inline-flex;align-items:flex-end;gap:2px;height:14px}.audio-bar{width:2.5px;height:14px;background:#38bdf8;border-radius:1px;transform-origin:bottom;animation:audio-bounce .8s var(--ease-in-out) infinite alternate}.ab-1{animation-delay:0s}.ab-2{animation-delay:.2s}.ab-3{animation-delay:.4s}.ab-4{animation-delay:.15s}@keyframes audio-bounce{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}@keyframes voice-pop{0%{opacity:0;transform:translate(-50%,-70%) scale(.6)}8%{opacity:1;transform:translate(-50%,-110%) scale(1.08)}16%{transform:translate(-50%,-100%) scale(1)}80%{opacity:1;transform:translate(-50%,-100%) scale(1)}to{opacity:0;transform:translate(-50%,-120%) scale(.8)}}.seat-throw-action-btn{position:absolute;bottom:-2px;right:-2px;width:22px;height:22px;padding:0;margin:0;box-sizing:border-box;border-radius:50%;background:linear-gradient(135deg,#d97706,#92400e);border:1.5px solid rgba(255,255,255,.9);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #00000073;transition:transform .18s cubic-bezier(.2,.8,.2,1),background .18s ease,box-shadow .18s ease,border-color .18s ease;z-index:30;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seat-throw-action-btn:hover{background:linear-gradient(135deg,#f59e0b,#b45309);border-color:#fff;box-shadow:0 0 10px #f59e0bcc,0 3px 8px #00000080}@media (hover: hover) and (pointer: fine){.seat-throw-action-btn:hover{transform:scale(1.15) translateY(-1px)}}.seat-throw-action-btn:active{transform:scale(.94)}.seat-throw-action-btn .seat-throw-icon{display:inline-flex;align-items:center;justify-content:center;pointer-events:none;color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}@media (max-width: 768px){.seat-throw-action-btn{width:14px;height:14px;bottom:-3px;right:-3px;border-width:1px;box-shadow:0 1px 3px #0006}.seat-throw-action-btn .seat-throw-icon{transform:scale(.62)}}@media (max-width: 380px){.seat-throw-action-btn{width:12px;height:12px;bottom:-3px;right:-3px}.seat-throw-action-btn .seat-throw-icon{transform:scale(.5)}}@media (prefers-reduced-motion: reduce){.table-interaction-card,.target-lock-reticle,.avatar-impact-shake,.target-lock-ring,.audio-bar,.flight-trajectory-dashed{animation:none!important}.flying-trail-particle{display:none!important}}.room-entry.modern-launcher{display:flex;flex-direction:column;gap:14px}.launcher-identity-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:12px;background:#00000047;border:1px solid rgba(255,255,255,.08)}.launcher-user-pill{display:flex;align-items:center;gap:8px;cursor:pointer;padding:2px 6px;border-radius:8px;transition:background .14s ease}.launcher-user-pill:hover{background:#ffffff14}.launcher-user-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.76rem;color:#fff;flex-shrink:0}.launcher-user-name{font-size:.92rem;font-weight:700;color:var(--parlor-ivory, #f5f0e4)}.launcher-guest-chip{display:flex;align-items:center;gap:6px;font-size:.86rem}.launcher-guest-lbl{color:#f5f0e4a6}.launcher-guest-name-btn{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;color:#fef08a;cursor:pointer;padding:2px 6px;border-radius:6px;font-size:.88rem;transition:background .12s ease}.launcher-guest-name-btn:hover{background:#ffffff14}.launcher-guest-edit-icon{font-size:.72rem;opacity:.7}.launcher-guest-input{background:#00000073;border:1px solid rgba(251,191,36,.4);border-radius:6px;color:#fff;padding:3px 8px;font-size:.85rem;font-weight:700;outline:none;width:120px}.launcher-identity-right{display:flex;align-items:center;gap:8px}.launcher-tsai-balance{font-size:.82rem;font-weight:700;color:#fef08a;background:#f59e0b26;border:1px solid rgba(245,158,11,.35);padding:2px 8px;border-radius:6px}.launcher-signin-link{background:transparent;border:none;color:#6ee7b7;font-size:.82rem;font-weight:700;cursor:pointer;text-decoration:underline;padding:2px 6px}.launcher-signin-link:hover{color:#a7f3d0}.launcher-game-tabs{display:flex;gap:6px;padding:5px;background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:12px}.launcher-game-tab{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 8px;border-radius:9px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:#f5f0e4c7;font-size:.86rem;font-weight:700;cursor:pointer;transition:all .14s var(--ease-out);min-height:42px;box-sizing:border-box;text-align:center}.launcher-game-tab:hover{background:#ffffff12;border-color:#ffffff29;color:#fff}.launcher-game-tab.is-active{background:linear-gradient(180deg,#10b98138,#064e3b5c);border-color:#34d3998c;color:#fff;box-shadow:0 2px 10px #00000059,inset 0 1px #6ee7b733}.launcher-game-suit{font-size:1.15rem;line-height:1;flex-shrink:0;width:18px;display:inline-flex;align-items:center;justify-content:center}.launcher-game-tab[data-game=big2] .launcher-game-suit{color:#34d399}.launcher-game-tab[data-game=muushig] .launcher-game-suit{color:#fbbf24}.launcher-game-tab[data-game=twentyone] .launcher-game-suit{color:#f87171}.launcher-game-tab[data-game=daaluu] .launcher-game-suit{color:#38bdf8}.launcher-game-title{font-size:.85rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}@media (max-width: 380px){.launcher-game-tabs{gap:4px;padding:4px}.launcher-game-tab{padding:8px 6px;gap:5px;font-size:.8rem}.launcher-game-suit{font-size:.95rem;width:15px}}.launcher-mode-toggle{display:flex;gap:6px;padding:3px;background:#00000040;border:1px solid rgba(255,255,255,.06);border-radius:10px}.launcher-mode-btn{flex:1;padding:7px 12px;border-radius:7px;border:1px solid transparent;background:transparent;color:#f5f0e4b3;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .12s ease}.launcher-mode-btn.is-active{background:#f59e0b2e;border-color:#f59e0b73;color:#fef08a}.launcher-hero-action{width:100%}.launcher-quick-play-btn{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:14px 18px;border-radius:14px;background:linear-gradient(180deg,#10b981,#059669);color:#fff;border:1px solid rgba(52,211,153,.5);box-shadow:0 4px 18px #10b98159,inset 0 1px #ffffff40;cursor:pointer;transition:transform .14s var(--ease-out),filter .14s ease}.launcher-quick-play-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.launcher-quick-play-btn:active{transform:translateY(1px)}.launcher-qp-main{font-size:1.15rem;font-weight:900;letter-spacing:-.01em}.launcher-qp-sub{font-size:.76rem;color:#ffffffd9;font-weight:600}.launcher-queue-box{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:linear-gradient(135deg,#064e3bd9,#0f172ae6);border:1.5px solid rgba(52,211,153,.55)}.launcher-queue-text{flex:1;display:flex;flex-direction:column;gap:2px}.launcher-queue-text strong{font-size:.92rem;color:#fff}.launcher-queue-text span{font-size:.76rem;color:#a7f3d0}.launcher-cancel-queue-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.launcher-friends-divider{display:flex;align-items:center;text-align:center;color:#f5f0e466;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:2px 0}.launcher-friends-divider:before,.launcher-friends-divider:after{content:"";flex:1;border-bottom:1px solid rgba(255,255,255,.08)}.launcher-friends-divider span{padding:0 10px}.launcher-secondary-actions{display:flex;gap:8px}.launcher-secondary-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);color:var(--parlor-ivory, #f5f0e4);font-size:.84rem;font-weight:700;cursor:pointer;transition:all .12s ease}.launcher-secondary-btn:hover:not(:disabled){background:#ffffff14;border-color:#ffffff38;color:#fff}.launcher-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#04120dd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px}.launcher-dialog-card{width:100%;max-width:400px;border-radius:16px;background:linear-gradient(180deg,#134232,#071f16);border:1.5px solid rgba(217,164,65,.35);box-shadow:0 20px 50px #000000b3;padding:20px;display:flex;flex-direction:column;gap:16px}.launcher-dialog-header{display:flex;align-items:center;justify-content:space-between}.launcher-dialog-header h3{margin:0;font-size:1.15rem;font-weight:800;color:#fef08a}.launcher-dialog-close{background:transparent;border:none;color:#fff9;font-size:1.1rem;cursor:pointer}.launcher-dialog-body{display:flex;flex-direction:column;gap:14px}.launcher-dialog-desc{margin:0;font-size:.82rem;line-height:1.4;color:var(--parlor-sage, #b7cbbe)}.launcher-dialog-field{display:flex;flex-direction:column;gap:6px}.launcher-dialog-field label{font-size:.78rem;font-weight:700;color:#f5f0e4d9}.launcher-dialog-field input[type=text]{background:#00000059;border:1px solid rgba(217,164,65,.3);border-radius:8px;padding:10px 12px;color:#fff;font-size:.95rem;font-weight:700;outline:none}.launcher-dialog-field input[type=text]:focus{border-color:#fbbf24}.launcher-dialog-checkbox{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--parlor-ivory, #f5f0e4);cursor:pointer}.launcher-dialog-actions{display:flex;gap:10px;margin-top:6px}.launcher-dialog-submit{flex:1;padding:10px 16px;border-radius:10px;background:linear-gradient(180deg,#d97706,#b45309);border:1px solid rgba(251,191,36,.4);color:#fff;font-weight:800;font-size:.92rem;cursor:pointer}.launcher-dialog-submit:hover:not(:disabled){filter:brightness(1.1)}.launcher-dialog-submit:disabled{opacity:.5;cursor:not-allowed}.launcher-dialog-cancel{padding:10px 16px;border-radius:10px;background:transparent;border:1px solid rgba(255,255,255,.15);color:#ffffffb3;font-weight:700;font-size:.88rem;cursor:pointer}.launcher-dialog-error{display:flex;align-items:center;gap:10px;background:#b91c1c47;border:1px solid rgba(239,68,68,.55);color:#fecaca;padding:10px 12px;border-radius:9px;font-size:.86rem;font-weight:600;line-height:1.4;animation:launcher-dialog-shake .26s cubic-bezier(.36,.07,.19,.97) both}.launcher-dialog-error-icon{font-size:1.05rem;flex-shrink:0;line-height:1}@keyframes launcher-dialog-shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-3px,0,0)}40%,60%{transform:translate3d(3px,0,0)}}@media (prefers-reduced-motion: reduce){.launcher-dialog-error{animation:none}}.launcher-dialog-field input.has-error{border-color:#ef4444cc!important;background:#280a0a73!important;box-shadow:0 0 0 2px #ef444440!important}.big2-flagship-card{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;background:radial-gradient(ellipse 60% 55% at 85% 20%,rgba(217,164,65,.09) 0%,transparent 70%),linear-gradient(162deg,#0e3424f2,#061811fa);border:1px solid rgba(217,164,65,.44);border-radius:12px;padding:32px 28px;box-shadow:0 22px 48px #00000073,inset 0 0 0 3px #d9a44114}.big2-flagship-info{display:flex;flex-direction:column;justify-content:space-between;gap:14px}.big2-flagship-board{background:#04120da3;border:1px solid rgba(217,164,65,.22);border-radius:10px;padding:20px 18px;display:flex;flex-direction:column;justify-content:space-between;gap:14px}.big2-board-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.big2-board-title{font-size:.86em;font-weight:700;color:var(--parlor-brass, #d9a441)}.big2-suit-order{font-size:.84em;font-weight:700;color:#a7f3d0;background:transparent;padding:0;border-radius:0;border:none;-webkit-user-select:none;user-select:none}.big2-combo-ladder{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;border-top:1px solid rgba(217,164,65,.16)}.big2-combo-ladder li{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:8px;border-bottom:1px solid rgba(217,164,65,.14);font-size:.84em}.big2-combo-ladder li.ladder-top{background:#d9a4411a}.ladder-rank{font-family:var(--font-display, sans-serif);color:var(--parlor-brass, #d9a441);font-weight:800;font-size:.92em;display:inline-flex;align-items:center;justify-content:center}.ladder-name{font-weight:700;color:var(--parlor-ivory, #f5f0e4)}.ladder-desc{color:var(--parlor-sage, #b7cbbe);font-size:.92em}.game-card-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;-webkit-user-select:none;user-select:none}.game-pill{font-size:.76em;font-weight:600;padding:0 0 0 8px;border-radius:0;background:transparent;color:var(--parlor-sage, #b7cbbe);border:none;border-left:1.5px solid rgba(217,164,65,.28);line-height:1.2}.game-pill:first-child{padding-left:0;border-left:none}.game-pill.gold{background:transparent;color:var(--parlor-brass, #d9a441);font-weight:700;border-left:2px solid var(--parlor-brass, #d9a441);padding-left:8px}.game-card-title{font-family:var(--font-display, sans-serif);font-size:clamp(1.5em,2.5vw,1.85em);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:0;color:var(--parlor-ivory, #f5f0e4);display:flex;align-items:center;gap:8px}.game-card-desc{font-size:.95em;color:var(--parlor-sage, #b7cbbe);line-height:1.62;margin:0;max-width:62ch}.game-card-visual{background:#00000047;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:10px}.card-sample-row{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}.card-visual-caption{font-size:.78em;color:#fde68a;font-weight:600;text-align:center}.game-card-features{list-style:none;padding:0;margin:4px 0 8px;display:flex;flex-direction:column;gap:9px;font-size:.9em;color:#d1e4db}.game-card-features li{display:flex;align-items:baseline;gap:10px;line-height:1.5}.game-card-features .feature-pip{color:var(--parlor-brass, #d9a441);font-size:1em;flex-shrink:0;width:14px;text-align:center}.game-card-features .feature-pip.is-red{color:#f87171}.game-card-features li strong{color:var(--parlor-ivory, #f5f0e4)}.game-card-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.game-card-actions button,.game-card-actions a{flex:1;min-width:150px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.94em;font-weight:800;border-radius:9px;text-decoration:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .16s var(--ease-out)}.game-card-actions .btn-play{background:var(--accent-color, #4ade80);color:#062b19;border:none}.game-card-actions .btn-play:hover{background:#6ee7b7}@media (hover: hover) and (pointer: fine){.game-card-actions .btn-play:hover{transform:translateY(-1px)}}.game-card-actions .btn-rules{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.22)}.game-card-actions .btn-rules:hover{background:#ffffff2e;border-color:#fff6}.extra-games-block{display:flex;flex-direction:column;gap:18px;margin-top:8px;padding-top:28px;border-top:1px solid rgba(194,213,184,.14)}.extra-games-header{display:flex;flex-direction:column;gap:6px}.extra-games-title-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.extra-games-tag{font-size:.76em;font-weight:700;letter-spacing:.04em;padding:1px 0 1px 9px;border-radius:0;background:transparent;border:none;border-left:2px solid var(--parlor-brass, #d9a441);color:var(--parlor-brass, #d9a441);-webkit-user-select:none;user-select:none}.extra-games-heading{font-family:var(--font-display, sans-serif);font-size:clamp(1.3em,2.1vw,1.6em);font-weight:800;letter-spacing:-.02em;margin:0;color:var(--parlor-ivory, #f5f0e4)}.extra-games-sub{font-size:.92em;color:var(--parlor-sage, #b7cbbe);margin:0;line-height:1.55;max-width:65ch}.extra-games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.extra-game-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;background:#0618119e;border:1px solid rgba(217,164,65,.2);border-radius:10px;padding:20px 18px}.extra-game-top{display:flex;flex-direction:column;gap:10px}.extra-game-title{font-family:var(--font-display, sans-serif);font-size:1.18em;font-weight:800;letter-spacing:-.015em;line-height:1.2;margin:0;color:var(--parlor-ivory, #f5f0e4)}.extra-game-desc{font-size:.86em;color:#adc8bc;line-height:1.55;margin:0}.extra-game-highlights{list-style:none;padding:0;margin:2px 0 0;display:flex;flex-direction:column;gap:6px;font-size:.82em;color:#bdd6ca}.extra-game-highlights li{line-height:1.4;padding-left:10px;border-left:2px solid rgba(74,222,128,.35)}.extra-game-highlights li strong{color:#e8f3ee}.extra-game-actions{display:flex;gap:8px;margin-top:4px}.extra-game-actions button{flex:1;min-height:36px;padding:6px 10px;font-size:.84em;font-weight:700;border-radius:7px;display:inline-flex;align-items:center;justify-content:center}.extra-game-actions .btn-extra-play{background:#4ade8029;color:#86efac;border:1px solid rgba(74,222,128,.38)}.extra-game-actions .btn-extra-play:hover{background:var(--accent-color, #4ade80);color:#052617}.extra-game-actions .btn-extra-rules{background:#ffffff0f;color:#d6e7de;border:1px solid rgba(255,255,255,.15)}.extra-game-actions .btn-extra-rules:hover{background:#ffffff24;color:#fff}.extra-game-card.coming-soon-card{background:radial-gradient(ellipse 90% 70% at 50% 10%,rgba(217,164,65,.08) 0%,transparent 80%),#0618117a;border:1px dashed rgba(217,164,65,.35);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.extra-game-card.coming-soon-card:hover{border-color:#d9a44199;background:radial-gradient(ellipse 90% 70% at 50% 10%,rgba(217,164,65,.12) 0%,transparent 80%),#081e159e;box-shadow:0 6px 20px #00000047}.coming-soon-status{width:100%;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:6px 12px;background:#d9a44114;border:1px solid rgba(217,164,65,.22);border-radius:7px;font-size:.82em;font-weight:600;color:#fde68a;-webkit-user-select:none;user-select:none}.coming-soon-dot{width:6px;height:6px;border-radius:50%;background:var(--parlor-brass, #d9a441);box-shadow:0 0 8px var(--parlor-brass, #d9a441);flex-shrink:0}@media (max-width: 900px){.big2-flagship-card{grid-template-columns:1fr;padding:24px 20px}.extra-games-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.game-card-actions button,.game-card-actions a,.extra-game-card{transition:background-color .18s ease,border-color .18s ease}.game-card-actions .btn-play:hover,.extra-game-card:hover{transform:none}}.landing-page{width:100%;display:flex;flex-direction:column;align-items:center;color:var(--parlor-ivory, #f5f0e4);padding-bottom:48px}.landing-hero{width:100%;max-width:1160px;padding:28px 20px 44px;display:grid;grid-template-columns:1fr min(100%,416px);gap:44px;align-items:start}.landing-hero-content{display:flex;flex-direction:column;gap:18px}.landing-badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:#d9a4411a;border:1px solid rgba(217,164,65,.35);color:#f6e5c5;padding:4px 12px;border-radius:999px;font-size:.82em;font-weight:700;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.landing-badge-suit{color:var(--parlor-brass, #d9a441);font-size:1.05em}.landing-hero-title{font-family:var(--font-display, sans-serif);font-size:clamp(32px,3.8vw,46px);font-weight:800;line-height:1.12;letter-spacing:-.025em;margin:0;color:var(--parlor-ivory, #f5f0e4);text-shadow:0 2px 14px rgba(0,0,0,.45)}.landing-hero-title-main{display:block}.landing-hero-title-sub{display:block;font-family:var(--font-base, sans-serif);font-size:clamp(16px,1.9vw,21px);font-weight:600;letter-spacing:-.01em;color:#b7cbbe;margin-top:4px}.landing-hero-subtitle{font-size:clamp(14px,1.45vw,15.5px);color:#cfe0d5;line-height:1.58;margin:0;max-width:58ch}.hero-big2-stage{background:radial-gradient(ellipse 65% 75% at 50% 50%,rgba(20,84,58,.35) 0%,transparent 80%),linear-gradient(180deg,#071e15b8,#04120cd9);border:1px solid rgba(217,164,65,.22);border-radius:12px;padding:8px 12px;display:flex;justify-content:center;align-items:center;box-shadow:0 10px 24px #00000052,inset 0 1px #ffffff12;max-width:520px}.hero-card-fan{display:flex;align-items:center;justify-content:center;padding:4px 2px;min-height:82px;overflow:hidden}.hero-fan-slot{display:flex;align-items:center;justify-content:center;margin:-16px -9px;transition:transform .2s ease}.hero-fan-slot.fan-card-opener{transform:scale(.56) rotate(-10deg) translateY(4px);margin-right:2px}.hero-fan-slot.fan-card-combo-1{transform:scale(.56) rotate(-6deg) translateY(2px)}.hero-fan-slot.fan-card-combo-2{transform:scale(.56) rotate(-3deg) translateY(0)}.hero-fan-slot.fan-card-combo-3{transform:scale(.56) rotate(0) translateY(-2px)}.hero-fan-slot.fan-card-combo-4{transform:scale(.56) rotate(3deg) translateY(0)}.hero-fan-slot.fan-card-combo-5{transform:scale(.56) rotate(6deg) translateY(2px);margin-right:2px}.hero-fan-slot.fan-card-boss{transform:scale(.62) rotate(8deg) translateY(-4px);filter:drop-shadow(0 0 10px rgba(251,191,36,.45));z-index:2}.landing-trust-grid{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding-top:10px;border-top:1px solid rgba(217,164,65,.18);margin-top:2px;max-width:560px}.landing-trust-item{display:inline-flex;align-items:center;gap:6px;font-size:.82em;color:#cfe2d5}.landing-trust-item strong{font-weight:600;color:var(--parlor-ivory, #f5f0e4)}.landing-trust-suit{font-size:.95em;color:var(--parlor-brass, #d9a441);line-height:1;flex-shrink:0}.landing-trust-suit.is-red{color:#f87171}.landing-hero-launcher{display:flex;flex-direction:column;width:100%}.room-entry-header{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding-bottom:10px;border-bottom:1px solid rgba(217,164,65,.18)}.room-entry-kicker{font-size:.78rem;font-weight:600;color:var(--parlor-brass, #d9a441)}.room-entry-title{margin:0;font-family:var(--font-display, sans-serif);font-size:1.4rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--parlor-ivory, #f5f0e4)}.quick-play-btn{background:var(--parlor-jade, #34d399);color:#042416;font-weight:800;font-size:1rem;border-radius:8px;box-shadow:0 4px 14px #10b98147}.quick-play-btn:hover:not(:disabled){background:#6ee7b7}.room-create-btn{width:100%;border:1px solid rgba(217,164,65,.28);border-radius:8px}.room-game-picker{display:flex;flex-direction:column;gap:8px;background:#0000003d;border:1px solid rgba(194,213,184,.14);border-radius:12px;padding:8px}.room-game-flagship{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:9px;background:#ffffff0d;border:1px solid rgba(255,255,255,.14);color:#d5e6dd;font-size:.98rem;font-weight:700;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.room-game-flagship:hover{background:#ffffff1a;border-color:#fbbf2466}.room-game-flagship[aria-pressed=true]{background:linear-gradient(135deg,#166546f2,#0d422efa);border-color:#fbbf24a6;color:#fff;box-shadow:0 4px 14px #0000004d,inset 0 1px #ffffff26}.room-game-flagship-left{display:inline-flex;align-items:center;gap:8px}.room-game-flagship-suit{font-size:1.15em;color:#fbbf24}.room-game-flagship-name{font-weight:800;letter-spacing:-.01em}.room-game-flagship-tag{font-size:.74rem;font-weight:600;padding:0;border-radius:0;background:transparent;border:none;color:#fde68a;opacity:.9;white-space:nowrap}.room-extra-games{display:flex;flex-direction:column;gap:5px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}.room-extra-label{font-size:.73rem;font-weight:600;color:#93b5a5;padding:0 2px}.room-extra-segment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.room-extra-segment button{min-height:34px;padding:5px 6px;font-size:.8rem;font-weight:600;border-radius:7px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#b5c8bd;display:flex;align-items:center;justify-content:center;text-align:center}.room-extra-segment button:hover{background:#ffffff17;color:#e6f2ec}.room-extra-segment button[aria-pressed=true]{background:#315a48;border-color:#4ade808c;color:#fff;font-weight:700}.landing-section{width:100%;max-width:1160px;padding:52px 20px;display:flex;flex-direction:column;gap:28px;border-top:1px solid rgba(217,164,65,.15)}.landing-section-header{text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:68ch}.landing-section-header h2{font-family:var(--font-display, sans-serif);font-size:clamp(24px,3.1vw,34px);font-weight:800;line-height:1.15;margin:0;color:var(--parlor-ivory, #f5f0e4);letter-spacing:-.02em}.landing-section-header p{font-size:clamp(14.5px,1.5vw,16px);color:var(--parlor-sage, #b7cbbe);margin:0;line-height:1.6;max-width:64ch}.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--parlor-brass-soft, rgba(217, 164, 65, .24));border-bottom:1px solid var(--parlor-brass-soft, rgba(217, 164, 65, .24));background:#061a1273}.step-card{padding:24px 22px;display:flex;flex-direction:column;gap:10px;border-right:1px solid rgba(217,164,65,.16)}.step-card:last-child{border-right:none}.step-header{display:flex;align-items:center;gap:12px;margin-bottom:2px}.step-num{font-family:var(--font-display, sans-serif);font-size:1.25em;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--parlor-brass, #d9a441)}.step-rule{flex:1;height:1px;background:linear-gradient(90deg,rgba(217,164,65,.38) 0%,transparent 100%)}.step-title{font-size:1.08em;font-weight:700;margin:0;color:var(--parlor-ivory, #f5f0e4)}.step-desc{font-size:.9em;color:var(--parlor-sage, #b7cbbe);line-height:1.58;margin:0;max-width:48ch}.features-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--parlor-brass-soft, rgba(217, 164, 65, .24));border-radius:10px;background:#06191285;overflow:hidden}.feature-card{padding:22px 24px;display:flex;align-items:flex-start;gap:16px;border-bottom:1px solid rgba(217,164,65,.14)}.feature-card:nth-child(odd){border-right:1px solid rgba(217,164,65,.14)}.feature-card:nth-last-child(-n+2){border-bottom:none}.feature-suit-mark{font-size:1.25em;line-height:1.2;color:var(--parlor-brass, #d9a441);flex-shrink:0;width:22px;text-align:center}.feature-suit-mark.is-red{color:#f87171}.feature-suit-mark.is-gold{color:#fbbf24}.feature-body{display:flex;flex-direction:column;gap:6px}.feature-title{font-size:1.04em;font-weight:700;margin:0;color:var(--parlor-ivory, #f5f0e4)}.feature-desc{font-size:.89em;color:var(--parlor-sage, #b7cbbe);line-height:1.58;margin:0;max-width:58ch}.faq-grid{display:flex;flex-direction:column;border-top:1px solid var(--parlor-brass-soft, rgba(217, 164, 65, .24));max-width:820px;width:100%}.faq-item{border-bottom:1px solid rgba(217,164,65,.18);transition:background-color .18s ease}.faq-item[open]{background:#0821178c}.faq-summary{display:flex;align-items:center;justify-content:space-between;padding:18px 16px;font-size:1.02em;font-weight:700;color:var(--parlor-ivory, #f5f0e4);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.faq-summary::-webkit-details-marker{display:none}.faq-summary:after{content:"+";font-size:1.3em;color:var(--parlor-brass, #d9a441);margin-left:12px}.faq-item[open] .faq-summary:after{content:"−"}.faq-content{padding:0 16px 18px;font-size:.92em;color:var(--parlor-sage, #b7cbbe);line-height:1.62;margin:0;max-width:68ch}.landing-footer{width:100%;max-width:1160px;padding:40px 20px 24px;margin-top:24px;border-top:1px solid var(--parlor-brass-soft, rgba(217, 164, 65, .24));display:flex;flex-direction:column;gap:28px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}.footer-brand{display:flex;flex-direction:column;gap:10px}.footer-logo{font-family:var(--font-display, sans-serif);font-size:1.3em;font-weight:800;letter-spacing:-.02em;color:var(--parlor-ivory, #f5f0e4);display:flex;align-items:center;gap:8px}.footer-tagline{font-size:.88em;color:var(--parlor-sage, #b7cbbe);line-height:1.58;margin:0;max-width:44ch}.footer-col{display:flex;flex-direction:column;gap:8px}.footer-col-title{font-size:.92em;font-weight:700;color:var(--parlor-brass, #d9a441);margin:0 0 4px}.footer-col a,.footer-col button{background:transparent;border:none;padding:4px 0;font-size:.9em;color:#c5dbcf;text-decoration:none;text-align:left;cursor:pointer;transition:color .15s ease;display:inline-flex;align-items:center;gap:6px}.footer-col a:hover,.footer-col button:hover{color:#fbbf24}.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);font-size:.84em;color:#8faea1}.footer-copyright{margin:0}.footer-tools{display:flex;align-items:center;gap:10px}@media (max-width: 900px){.landing-hero{display:flex;flex-direction:column;gap:28px}.landing-hero-launcher{order:-1;width:100%;display:flex;flex-direction:column;align-items:center}.landing-hero-launcher .room-entry{width:100%;max-width:480px;margin:0 auto}.steps-grid{grid-template-columns:1fr}.step-card{border-right:none;border-bottom:1px solid rgba(217,164,65,.16)}.step-card:last-child{border-bottom:none}.features-grid{grid-template-columns:1fr}.feature-card:nth-child(odd){border-right:none}.feature-card:nth-last-child(2){border-bottom:1px solid rgba(217,164,65,.14)}.footer-top{grid-template-columns:1fr;gap:24px}}@media (max-width: 600px){.landing-hero{padding:12px 10px 24px;gap:20px}.landing-hero-launcher .room-entry{max-width:100%}.hero-fan-slot{margin:-20px -12px}.landing-trust-grid{gap:8px 14px}.footer-bottom{flex-direction:column;align-items:flex-start}}.status-notice{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid rgba(251,191,36,.4);border-radius:9px;background:#fbbf241f;color:#fde68a;font-size:.82rem;font-weight:650;line-height:1.45;text-align:left}.status-notice--success{border-color:#6ee7b77a;background:#10b98129;color:#d1fae5}.status-notice--error{border-color:#fca5a573;background:#f871711f;color:#fecaca}.status-notice__icon{flex:0 0 18px;width:18px;height:18px;margin-top:1px}.vip-validity{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(251,191,36,.5);border-radius:12px;background:linear-gradient(115deg,#fbbf242b,#fbbf240d 58%,#10b9811f)}.vip-validity__mark{display:grid;flex:0 0 38px;place-items:center;width:38px;height:38px;border-radius:10px;background:#fbbf242b;color:#fbbf24}.vip-validity__mark svg{width:23px;height:23px}.vip-validity__details{flex:1;min-width:0}.vip-validity__label{color:#fde68a;font-size:.76rem;font-weight:700;letter-spacing:.02em}.vip-validity__date{display:block;margin-top:2px;color:#fff;font-size:.94rem;font-weight:800;line-height:1.35}.vip-validity__badge{align-self:flex-start;padding:3px 9px;border:1px solid rgba(110,231,183,.35);border-radius:999px;background:#10b9812b;color:#a7f3d0;font-size:.7rem;font-weight:800;white-space:nowrap}@media (max-width: 430px){.vip-validity{flex-wrap:wrap}.vip-validity__badge{margin-left:50px}}.profile-page{flex:1;width:100%;padding:clamp(20px,4vw,48px) 16px 80px;background:radial-gradient(circle at 85% 8%,rgba(251,191,36,.12),transparent 36%),#081b12;min-height:calc(100vh - 60px)}.profile-page__inner{width:min(100%,860px);margin:0 auto;display:flex;flex-direction:column;gap:20px}.profile-page__nav a{display:inline-flex;align-items:center;gap:6px;color:#a7f3d0;font-size:.92rem;text-decoration:none;font-weight:600;transition:color .15s ease}.profile-page__nav a:hover{color:#fde68a;text-decoration:underline}.profile-page__header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:18px;border-bottom:1px solid rgba(251,191,36,.35);flex-wrap:wrap}.profile-page__eyebrow{margin:0 0 6px;color:#a7f3d0;font-size:.74rem;font-weight:800;letter-spacing:.12em}.profile-page__header h1{margin:0;color:#fde68a;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;line-height:1.1}.profile-page__tabs{display:flex;gap:8px;background:#00000059;padding:6px;border-radius:12px;border:1px solid rgba(255,255,255,.12);flex-wrap:wrap}.profile-page__tab-btn{flex:1;min-width:140px;padding:9px 16px;font-size:.92em;font-weight:600;border-radius:8px;border:1px solid transparent;background:transparent;color:#ffffffbf;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.profile-page__tab-btn:hover{background:#ffffff14;color:#fff}.profile-page__tab-btn.is-active{background:#fbbf2438;border-color:#fbbf2480;color:#fde68a;font-weight:800}.profile-card{background:linear-gradient(160deg,#0b2919e6,#071a10f2);border:1px solid rgba(251,191,36,.38);border-radius:16px;padding:22px;box-shadow:0 12px 36px #00000080;display:flex;flex-direction:column;gap:16px}.profile-hero{background:linear-gradient(135deg,#fbbf242e,#10b98126);border:1px solid rgba(251,191,36,.45);border-radius:14px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.profile-hero__identity{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.profile-hero__avatar{width:56px;height:56px;border-radius:50%;background:#00000073;border:2px solid rgba(251,191,36,.6);display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 4px 12px #0000004d}.profile-hero__info{display:flex;flex-direction:column;gap:4px}.profile-hero__name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.profile-hero__name{font-size:1.35em;font-weight:800;color:#fff}.profile-hero__meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.profile-hero__tsai-box{background:#0000008c;border:1px solid rgba(251,191,36,.55);border-radius:14px;padding:12px 20px;text-align:center;min-width:140px}.profile-progression-card{background:#ffffff0d;border:1px solid rgba(251,191,36,.35);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:14px}.profile-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}.profile-stat-box{background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;text-align:center}.profile-stat-box__label{font-size:.74em;opacity:.75;color:#cbd5e1}.profile-stat-box__val{font-size:1.15em;font-weight:800;margin-top:3px}.profile-page__footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.profile-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:.85em}.profile-links a{color:#ffffffb3;text-decoration:none;transition:color .15s ease}.profile-links a:hover{color:#fde68a;text-decoration:underline}@media (max-width: 600px){.profile-stats-grid{grid-template-columns:1fr}.profile-hero{flex-direction:column;align-items:stretch}.profile-hero__tsai-box{text-align:left;display:flex;justify-content:space-between;align-items:center}}.header-payment-link{display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:8px;width:100%;box-sizing:border-box;padding:6px 10px;border:1px solid rgba(251,191,36,.4);border-radius:6px;background:#fbbf242e;color:#fde68a;font-size:.85rem;text-decoration:none}.header-payment-link:hover{background:#fbbf2447}.header-payment-link:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}.payment-page{flex:1;width:100%;padding:clamp(22px,5vw,64px) 16px 72px;background:radial-gradient(circle at 85% 8%,rgba(251,191,36,.11),transparent 34%),#081b12}.payment-page__inner{width:min(100%,940px);margin:0 auto}.payment-page__nav a{display:inline-flex;align-items:center;gap:6px;color:#a7f3d0;font-size:.9rem;text-decoration:none}.payment-page__nav a:hover{text-decoration:underline}.payment-page__header{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:34px 0 30px;border-bottom:1px solid rgba(251,191,36,.4)}.payment-page__eyebrow,.payment-page__account span,.payment-entry__kind{color:#a7f3d0;font-size:.7rem;font-weight:800;letter-spacing:.11em}.payment-page__eyebrow{margin:0 0 10px}.payment-page__header h1{margin:0;color:#fde68a;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}.payment-page__intro{margin:12px 0 0;color:#cbd5e1;line-height:1.5}.payment-page__account{display:grid;gap:5px;max-width:260px;padding:12px 15px;border:1px solid rgba(110,231,183,.26);border-radius:10px;background:#10b98114}.payment-page__account strong{color:#fff;overflow-wrap:anywhere}.payment-page__body{padding-top:28px}.payment-page__toolbar,.payment-page__toolbar>div{display:flex;align-items:center;gap:10px}.payment-page__toolbar{justify-content:space-between;gap:18px;margin-bottom:16px}.payment-page__toolbar h2{margin:0;color:#fff;font-size:1.2rem}.payment-page__count{min-width:25px;padding:2px 7px;border-radius:99px;background:#fbbf242e;color:#fde68a;font-size:.8rem;font-weight:800;text-align:center}.payment-page__toolbar button,.payment-entry__foot button,.payment-page__empty button{border:1px solid rgba(110,231,183,.48);border-radius:8px;background:#10b9812e;color:#d1fae5;padding:8px 12px;font-weight:700}.payment-page__toolbar button:hover,.payment-entry__foot button:hover,.payment-page__empty button:hover{background:#10b9814a}.payment-page__toolbar button:disabled,.payment-entry__foot button:disabled{opacity:.55;cursor:not-allowed}.payment-page__loading,.payment-page__empty{margin:0;padding:38px 24px;border:1px dashed rgba(251,191,36,.36);border-radius:12px;color:#cbd5e1;background:#0000002e}.payment-page__empty h2{color:#fde68a;margin:0 0 8px}.payment-page__empty p{margin:0 0 18px;line-height:1.5}.payment-page__list{display:grid;gap:14px;margin:0;padding:0;list-style:none}.payment-entry{overflow:hidden;border:1px solid rgba(255,255,255,.14);border-left:4px solid #d9a83c;border-radius:10px;background:linear-gradient(115deg,#fbbf2414,#ffffff06 58%)}.payment-entry__main,.payment-entry__foot{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:20px 24px}.payment-entry__amount{margin:5px 0 3px;color:#fff;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:850;line-height:1.1;font-variant-numeric:tabular-nums}.payment-entry time{color:#cbd5e1;font-size:.83rem}.payment-entry__status{flex:0 0 auto;padding:5px 10px;border:1px solid rgba(251,191,36,.4);border-radius:99px;color:#fde68a;background:#fbbf2421;font-size:.78rem;font-weight:800}.payment-entry__status--paid{border-color:#6ee7b770;color:#a7f3d0;background:#10b9812e}.payment-entry__status--review{border-color:#fca5a56b;color:#fecaca;background:#f8717124}.payment-entry__foot{align-items:end;border-top:1px solid rgba(255,255,255,.1);padding-top:13px;padding-bottom:15px}.payment-entry__foot>div{display:grid;gap:5px;min-width:0}.payment-entry__foot span{color:#94a3b8;font-size:.73rem}.payment-entry__foot code{color:#e2e8f0;font-size:.82rem;overflow-wrap:anywhere}.payment-page :is(a,button):focus-visible{outline:2px solid #fbbf24;outline-offset:3px}@media (max-width: 600px){.payment-page__header{align-items:start;flex-direction:column}.payment-page__account{max-width:100%}.payment-entry__main,.payment-entry__foot{padding-left:16px;padding-right:16px}.payment-entry__foot{align-items:start;flex-direction:column}}.history-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;overflow-y:auto;box-sizing:border-box;padding:24px 16px;background:#0a1912f0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f1f5f9;display:flex;justify-content:center;align-items:flex-start;animation:historyFadeIn .2s ease-out forwards}@keyframes historyFadeIn{0%{opacity:0}to{opacity:1}}.history-modal-container{width:100%;max-width:640px;background:linear-gradient(180deg,#132a1e,#0d1e16);border:1px solid rgba(251,191,36,.25);border-radius:16px;padding:20px;box-shadow:0 20px 48px #000000b3;display:flex;flex-direction:column;gap:16px;margin-top:10px;margin-bottom:24px}.history-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.history-title-group{display:flex;align-items:center;gap:8px}.history-icon{font-size:1.4rem}.history-heading h2{font-size:1.25rem;font-weight:700;margin:0;color:#fde68a}.history-close-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#94a3b8;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.history-close-btn:hover{background:#ffffff29;color:#fff}.history-sessions-selector{display:flex;flex-direction:column;gap:8px}.history-sessions-label{font-size:.8rem;color:#94a3b8;font-weight:600}.history-sessions-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.history-session-chip{flex-shrink:0;display:flex;align-items:center;gap:6px;background:#00000059;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:6px 14px;color:#cbd5e1;font-size:.82rem;cursor:pointer;transition:all .15s ease}.history-session-chip:hover{background:#ffffff14;color:#fff}.history-session-chip.is-selected{background:#f59e0b33;border-color:#fbbf24;color:#fde68a;font-weight:700}.session-chip-room{font-weight:700}.session-chip-time{font-size:.74rem;opacity:.75}.history-summary-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#00000059;border:1px solid rgba(251,191,36,.25);border-radius:12px;padding:12px 16px;flex-wrap:wrap}.summary-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.champion-badge{display:flex;align-items:center;gap:8px}.champion-crown{font-size:1.4rem}.champion-info{display:flex;flex-direction:column}.champion-label{font-size:.7rem;color:#fbbf24;text-transform:uppercase;font-weight:700;letter-spacing:.05em}.champion-name{font-size:1.05rem;font-weight:800;color:#fff}.session-meta-pill{font-size:.78rem;color:#94a3b8;background:#ffffff0f;padding:3px 8px;border-radius:6px}.history-copy-button{background:#fbbf2426;border:1px solid rgba(251,191,36,.4);color:#fde68a;border-radius:6px;padding:6px 14px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease}.history-copy-button:hover{background:#fbbf2440}.history-tabs-container{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:6px}.history-tabs{display:flex;gap:8px}.history-tab-btn{background:transparent;border:none;color:#94a3b8;font-size:.9rem;font-weight:600;padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .15s ease}.history-tab-btn:hover{color:#fff;background:#ffffff0d}.history-tab-btn.is-active{color:#fff;background:#ffffff1f}.history-standings-list{display:flex;flex-direction:column;gap:8px}.history-standing-row{display:flex;align-items:center;gap:12px;background:#00000040;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:10px 14px;transition:transform .15s ease,background .15s ease}.history-standing-row:hover{background:#ffffff0a}.history-standing-row.is-winner{border-color:#fbbf2459;background:#fbbf2414}.history-standing-row.is-me{box-shadow:inset 0 0 0 1px #38bdf866}.standing-rank{font-size:1.1rem;font-weight:800;width:28px;text-align:center}.standing-avatar{width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;color:#fff;flex-shrink:0}.standing-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.standing-name{font-size:.95rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:6px}.standing-name:hover{text-decoration:underline}.bot-tag{font-size:.72rem;color:#94a3b8;font-weight:400}.me-tag{font-size:.72rem;color:#38bdf8;font-weight:700}.standing-ratio{font-size:.76rem;color:#94a3b8}.standing-wins{display:flex;flex-direction:column;align-items:flex-end}.wins-count{font-size:1.25rem;font-weight:800;color:#4ade80}.wins-label{font-size:.7rem;color:#94a3b8}.history-games-list{display:flex;flex-direction:column;gap:8px}.history-game-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#00000040;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:10px 14px}.game-card-left{display:flex;align-items:center;gap:8px}.game-round-pill{font-size:.74rem;font-weight:700;background:#ffffff14;border-radius:4px;padding:2px 6px;color:#cbd5e1}.game-type-badge{font-size:.88rem;font-weight:700;color:#f1f5f9}.game-card-winner{display:flex;align-items:center;gap:8px}.winner-mini-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff}.winner-details{display:flex;flex-direction:column}.winner-label{font-size:.68rem;color:#94a3b8;text-transform:uppercase}.winner-name{font-size:.85rem;font-weight:700;color:#4ade80}.winner-name:hover{text-decoration:underline}.game-card-time{font-size:.74rem;color:#64748b}.history-empty-state{text-align:center;padding:36px 16px;color:#94a3b8;display:flex;flex-direction:column;align-items:center;gap:8px}.history-empty-state span{font-size:2.2rem;opacity:.6}.history-no-data{text-align:center;padding:24px;color:#94a3b8;font-size:.88rem}:root{color-scheme:dark;--bg-color: #082c1f;--parlor-baize-deep: #051c14;--parlor-baize-felt: #0b3727;--parlor-baize-panel: #0e3023;--parlor-ivory: #f5f0e4;--parlor-sage: #b7cbbe;--parlor-brass: #d9a441;--parlor-brass-soft: rgba(217, 164, 65, .24);--parlor-jade: #34d399;--panel-bg: rgba(5, 24, 17, .56);--text-color: var(--parlor-ivory);--accent-color: #34d399;--danger-color: #f87171;--font-display: "Manrope", system-ui, -apple-system, sans-serif;--font-base: "Manrope", system-ui, -apple-system, sans-serif;--card-selected-lift: -14px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1)}html,body{margin:0;padding:0;min-height:100%;background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-base);overflow-x:clip;user-select:none;-webkit-user-select:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-color:var(--bg-color);background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.009) 0px,rgba(255,255,255,.009) 1px,transparent 1px,transparent 8px),repeating-linear-gradient(-45deg,rgba(0,0,0,.025) 0px,rgba(0,0,0,.025) 1px,transparent 1px,transparent 8px),radial-gradient(ellipse 70% 42% at 50% 0%,rgba(251,191,36,.055) 0%,transparent 70%),radial-gradient(ellipse 90% 80% at 50% 42%,#145742,#0b3d2e 56%,#052219);pointer-events:none;transform:translateZ(0)}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}*{box-sizing:border-box}button{font-family:inherit;cursor:pointer;border:none;border-radius:6px;background:var(--accent-color);color:#000;font-weight:600;padding:8px 16px;transition:opacity .16s ease,transform .16s var(--ease-out);touch-action:manipulation}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.danger{background:var(--danger-color)}input[type=text],input[type=email],input[type=password],select{padding:10px 12px;border-radius:6px;border:1px solid rgba(217,164,65,.26);background:#04120dc7;color:var(--parlor-ivory);font-family:inherit;font-size:16px;transition:border-color .16s ease,background-color .16s ease}input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder{color:#b7cbbe8c}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,select:focus{outline:none;border-color:var(--parlor-brass);background:#041610f0}h1,h2,h3,h4{margin-top:0}.app-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}@media (min-width: 769px){.app-container.is-in-game{height:100dvh;min-height:0;overflow:hidden}.app-container.is-in-game .app-main{min-height:0;overflow:hidden}.app-container.is-in-game .game-screen{scrollbar-width:none}.app-container.is-in-game .game-screen::-webkit-scrollbar{display:none}}.app-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:#051811f0;border-bottom:1px solid var(--parlor-brass-soft);box-shadow:0 4px 20px #0006;flex-wrap:wrap;gap:8px;position:sticky;top:0;z-index:1000;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.app-main{flex:1;display:flex;flex-direction:column;min-width:0}.app-container.is-in-game{height:100vh;height:100dvh;overflow:hidden}.app-container.is-in-game .app-main{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.welcome-screen{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:20px 16px calc(32px + env(safe-area-inset-bottom,0px));gap:18px;width:100%}.lobby-screen{flex:1;display:flex;flex-direction:column;align-items:center;padding:18px 14px calc(32px + env(safe-area-inset-bottom,0px));gap:18px;width:100%}.room-entry{width:min(100%,416px);display:flex;flex-direction:column;gap:15px;padding:24px 22px 20px;background:radial-gradient(ellipse 80% 45% at 50% 0%,rgba(217,164,65,.08) 0%,transparent 70%),linear-gradient(180deg,#0d2f22eb,#061811f5);border:1px solid rgba(217,164,65,.34);border-radius:12px;box-shadow:0 20px 44px #0000006b,inset 0 0 0 1px #d9a44114,inset 0 1px #f5f0e41a}.room-entry h1{margin:0 0 12px;font-size:28px;text-align:center}.room-field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#b5c8bd}.room-field input,.room-options input{width:100%;min-width:0}.room-segment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;gap:3px;background:#0003;border-radius:6px}.room-segment.room-segment-3{grid-template-columns:repeat(3,minmax(0,1fr))}.room-segment.room-segment-3 button{font-size:13px;padding:6px 4px}.room-segment button{min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:#b5c8bd;padding:8px;font-size:14px}.room-segment button[aria-pressed=true]{background:#315a48;color:#fff}.room-segment svg{flex-shrink:0}.room-notice{display:flex;flex-direction:column;gap:6px;color:#e0cd92;font-size:12px}.room-options{font-size:13px;color:#b5c8bd}.room-options summary{cursor:pointer;padding:5px 0}.room-options input,.room-options button{margin-top:8px}.room-primary{min-height:44px}.room-secondary{background:#ffffff14;color:#e2e9df;min-height:42px}.room-join{display:flex;gap:8px;padding-top:18px;border-top:1px solid #ffffff14}.room-join input{flex:1;min-width:0}.room-options-body{display:flex;flex-direction:column;gap:8px;padding-top:8px}.room-inline-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.room-inline-check input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:#4ade80}.room-inline-voice{display:flex;align-items:center;justify-content:space-between;gap:8px}.room-vip-pill{background:#d6c48a24;color:#fde68a;border:1px solid rgba(214,196,138,.35);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700;min-height:0;line-height:1.4}.room-vip-tag{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:#fde68a;font-weight:700}.public-rooms-section{display:flex;flex-direction:column}.public-rooms-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto}.public-room-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);font-size:13px}.public-room-item.is-vip-room{background:linear-gradient(135deg,#fbbf241f,#142e21b3);border-color:#fbbf2466}.public-room-meta{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap;color:#cbd5e1}.public-room-meta strong{color:#f8fafc;font-family:monospace}.public-room-item.is-vip-room .public-room-meta strong{color:#fde68a}.public-room-count{font-size:11.5px;color:#86efac;background:#4ade801f;padding:1px 6px;border-radius:4px}.public-room-join{padding:4px 10px;font-size:12px;min-height:32px;flex-shrink:0}.room-tools{display:flex;justify-content:center;gap:8px}.card-back-tool>span{width:20px;height:28px;display:block;pointer-events:none}.room-rejoin{display:flex;justify-content:center;align-items:center;gap:8px;background:#ffffff14;color:#d5dfcf;overflow-wrap:anywhere}.lobby-content{width:min(100%,684px);padding:22px 26px 24px;background:linear-gradient(180deg,#11443380,#061e169e);border:1px solid rgba(194,213,184,.14);border-radius:16px;box-shadow:0 18px 42px #00000042,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lobby-room-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 24px;border-bottom:1px solid #ffffff18}.lobby-room-code{min-width:0;display:flex;flex-direction:column;gap:6px}.lobby-room-code>span{color:#9fb5a8;font-size:12px}.lobby-room-code strong{font-family:monospace;font-size:24px;overflow-wrap:anywhere;letter-spacing:0}.lobby-copy-tools{display:flex;flex-shrink:0;gap:4px}.lobby-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:24px 0}.lobby-columns h2{font-size:15px;margin:0;font-weight:600}.lobby-section-heading{display:flex;align-items:center;justify-content:space-between;min-height:32px}.lobby-player-list{list-style:none;margin:10px 0 0;padding:0}.lobby-player-list li{padding:12px 0;border-bottom:1px solid #ffffff0c}.lobby-player-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px}.lobby-player-row>span{min-width:0;overflow-wrap:anywhere}.lobby-self{color:#a7d9b4}.lobby-player-detail{color:#9fb5a8;font-size:11px;margin-left:6px}.lobby-player-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;font-size:12px;color:#b5c8bd}.lobby-player-low-balance .lobby-player-stats{color:#f87171}.lobby-settings{display:flex;flex-direction:column;gap:14px}.lobby-settings h2{min-height:32px;display:flex;align-items:center}.lobby-setting{display:grid;grid-template-columns:minmax(64px,1fr) minmax(0,170px);align-items:center;gap:10px;font-size:13px;color:#b5c8bd}.lobby-setting select{width:100%;min-width:0;padding:10px 8px;font-size:14px}.lobby-bots{display:flex;gap:8px;align-items:center;font-size:13px;color:#b5c8bd}.lobby-bots input{width:18px;height:18px;accent-color:#a7d9b4}.lobby-actions{display:flex;align-items:center;gap:8px;border-top:1px solid #ffffff18;padding-top:18px}.lobby-actions .room-primary{margin-left:auto;min-width:160px}.lobby-waiting{margin-left:auto;font-size:13px;color:#b5c8bd}.lobby-winner{display:flex;align-items:center;gap:8px;font-size:14px;color:#a7d9b4}@media (max-width: 540px){.room-entry{padding:20px 16px 18px}.lobby-content{padding:18px 16px 20px}.lobby-columns{grid-template-columns:minmax(0,1fr);gap:24px}.lobby-settings{border-top:1px solid #ffffff14;padding-top:18px}.lobby-room-code strong{font-size:20px}}.game-screen{flex:1;display:flex;flex-direction:column;justify-content:space-between;min-height:0;overflow-x:hidden;overflow-y:auto}.game-table-area{flex:1;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:100px 12px 36px;width:100%;max-width:1100px;align-self:center;background:radial-gradient(ellipse 70% 60% at 50% 46%,rgba(52,211,153,.07) 0%,rgba(14,55,38,.28) 45%,transparent 78%);overflow:hidden}.game-table-area:before{content:"";position:absolute;top:60px;right:48px;bottom:36px;left:48px;border-radius:clamp(36px,8vw,68px);border:1px solid rgba(214,196,138,.18);box-shadow:inset 0 0 54px #02120ca6,inset 0 0 18px #00000073,0 0 0 3px #07241980,0 12px 36px #00000059;pointer-events:none}.game-table-area:after{content:"";position:absolute;top:60px;right:48px;bottom:36px;left:48px;border-radius:clamp(36px,8vw,68px);background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.02) 0%,transparent 68%);pointer-events:none}.opponents-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.opponent-badge{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:10;pointer-events:auto;width:120px}.opponent-badge-top{top:16px;left:50%;transform:translate(-50%);width:auto;min-width:140px;max-width:280px;gap:4px}.opponent-badge-top .opponent-turn-indicator,.opponent-badge-top .opponent-pass-indicator{top:-15px}.opponent-badge-top .opponent-hand{height:44px;margin-top:2px;margin-bottom:4px}.opponent-badge-top .opponent-hand-card{height:38px}.game-table-area.has-top-opponent{padding-top:130px}.game-table-area.is-muushig.has-top-opponent{padding-top:236px}.opponent-badge-left{left:16px;top:50%;transform:translateY(-50%)}.opponent-badge-top-left{top:24px;left:32%;transform:translate(-50%)}.opponent-badge-top-right{top:24px;right:32%;transform:translate(50%)}.opponent-badge-right{right:16px;top:50%;transform:translateY(-50%)}.seat-disc{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#153e33;border:1.5px solid #587166;color:#e0e8df;font-family:var(--font-display, sans-serif);font-size:18px;font-weight:800;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.seat-disc.is-vip{border-color:#fde68a;box-shadow:0 0 10px #fbbf2459,inset 0 0 6px #fbbf2429}.is-active .seat-disc.is-vip{border-color:#fef08a!important;box-shadow:0 0 0 3px #fbbf24,0 0 18px #fbbf24b3!important}.self-counter.is-vip strong{color:#fde68a;text-shadow:0 0 10px rgba(251,191,36,.45)}.is-active .seat-disc{border-color:#34d399!important;box-shadow:0 0 0 3px #34d399,0 0 18px #34d399a6!important;animation:seatActiveTurnPulse 1.8s infinite ease-in-out}.opponent-badge.is-active .opponent-name{color:#ecfdf5;background:#10b98140;border-color:#34d39980;box-shadow:0 0 8px #10b9814d}.opponent-turn-indicator{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:#10b981;color:#064e3b;font-size:11px;font-weight:800;padding:1px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;box-shadow:0 0 10px #10b981b3;z-index:20;white-space:nowrap}.opponent-pass-indicator{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:#374151;color:#e5e7eb;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(156,163,175,.4);box-shadow:0 2px 6px #0006;z-index:20;white-space:nowrap;animation:opponentPassPop .25s cubic-bezier(.34,1.56,.64,1)}@keyframes opponentPassPop{0%{transform:translate(-50%) scale(.7);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.opponent-turn-pulsar{width:6px;height:6px;border-radius:50%;background:#fff;animation:activeTurnPulse .9s infinite}.hand-order-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;background:#ffffff1f;color:#cbd5e1;border:1px solid rgba(255,255,255,.2);white-space:nowrap}.hand-order-badge.is-dealer{background:#fbbf2438;color:#fde68a;border-color:#fbbf2480}.hand-order-badge.is-first{background:#34d39938;color:#6ee7b7;border-color:#34d39980}.seat-card-ratio{display:inline-flex;align-items:center;gap:3px;background:#0006;padding:2px 6px;border-radius:6px;color:#f1f5f9;font-size:11px;font-variant-numeric:tabular-nums;border:1px solid rgba(255,255,255,.12);line-height:1}.seat-card-ratio svg{flex-shrink:0;opacity:.9}.seat-point-icon,.self-point-icon{flex-shrink:0;color:#f59e0b;filter:drop-shadow(0 0 3px rgba(245,158,11,.6))}.card-ratio-total{color:#94a3b8;font-size:inherit}.self-card-ratio{display:inline-flex;align-items:center;gap:4px;background:#00000059;padding:3px 8px;border-radius:6px;color:#e2e8f0;font-size:13px;font-variant-numeric:tabular-nums;border:1px solid rgba(255,255,255,.14);line-height:1}.self-card-ratio svg{flex-shrink:0;opacity:.95}.self-card-ratio strong{color:#fff;font-size:13px;font-weight:700}.self-card-ratio .card-ratio-total{color:#94a3b8;font-size:13px;font-weight:500}.seat-card-ratio{transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,color .25s ease}.seat-card-ratio.is-warning{background:#f59e0b40;border:1px solid rgba(245,158,11,.75);box-shadow:0 0 10px #f59e0b66}.seat-card-ratio.is-warning strong{color:#fbbf24;text-shadow:0 0 8px rgba(245,158,11,.6)}.seat-card-ratio.is-warning svg{color:#fbbf24}.seat-card-ratio.is-critical{background:#ef44444d;border:1px solid rgba(239,68,68,.9);box-shadow:0 0 14px #ef4444a6;animation:criticalNumberPulse 1.4s infinite ease-in-out}.seat-card-ratio.is-critical strong{color:#fca5a5;text-shadow:0 0 10px rgba(239,68,68,.85)}.seat-card-ratio.is-critical svg{color:#ef4444}@keyframes criticalNumberPulse{0%,to{transform:scale(1);box-shadow:0 0 8px #ef444473;border-color:#ef4444d9}50%{transform:scale(1.08);box-shadow:0 0 16px #ef4444e6;border-color:#ef4444}}.opponent-hand-card.is-warning>.card-ui{box-shadow:0 0 0 1.5px #f59e0b,0 0 10px #f59e0b99!important;transition:box-shadow .25s ease}@keyframes criticalCardFanPulse{0%,to{box-shadow:0 0 0 1.5px #ef4444,0 0 10px #ef444499!important}50%{box-shadow:0 0 0 2.5px #f87171,0 0 18px #ef4444f2!important}}.opponent-hand-card.is-critical>.card-ui{animation:criticalCardFanPulse 1.4s infinite ease-in-out}.opponent-badge.is-active .opponent-hand{filter:drop-shadow(0 2px 10px rgba(16,185,129,.45));transform:translateY(-2px);transition:transform .22s cubic-bezier(.2,.8,.2,1),filter .22s ease}.opponent-badge.is-active .opponent-hand-card>.card-ui{box-shadow:0 0 0 1.8px #34d399,0 0 12px #34d399d9,0 4px 10px #00000080!important;animation:activeOpponentCardGlow 1.8s infinite ease-in-out;transition:box-shadow .2s ease}.opponent-badge.is-active .opponent-hand-card.is-warning>.card-ui{box-shadow:0 0 0 2px #f59e0b,0 0 14px #f59e0bd9,0 0 8px #34d39999!important;animation:none}.opponent-badge.is-active .opponent-hand-card.is-critical>.card-ui{animation:activeTurnCriticalFanPulse 1.2s infinite ease-in-out}@keyframes activeOpponentCardGlow{0%,to{box-shadow:0 0 0 1.8px #34d399,0 0 10px #34d399bf,0 4px 8px #00000073!important}50%{box-shadow:0 0 0 2.5px #6ee7b7,0 0 18px #34d399f2,0 6px 14px #0000008c!important}}@keyframes activeTurnCriticalFanPulse{0%,to{box-shadow:0 0 0 2px #ef4444,0 0 12px #ef4444d9,0 0 8px #34d39999!important}50%{box-shadow:0 0 0 3px #f87171,0 0 22px #ef4444,0 0 14px #34d399e6!important}}.muushig-permanent-trump-bar{position:absolute;top:26px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;z-index:15;pointer-events:auto;white-space:nowrap}.muushig-permanent-trump-bar.has-top-opponent,.game-table-area.has-top-opponent .muushig-permanent-trump-bar{top:188px}.muushig-trump-plaque{display:inline-flex;align-items:center;gap:8px;background:#081812f0;border:1.5px solid rgba(245,158,11,.6);box-shadow:0 4px 14px #00000073;padding:3px 12px 3px 4px;border-radius:999px;transition:transform .16s var(--ease-out),box-shadow .16s ease,border-color .16s ease;-webkit-user-select:none;user-select:none}.muushig-trump-plaque.is-actionable{cursor:pointer;border-color:#fbbf24d9;box-shadow:0 0 0 2px #fbbf2473,0 6px 18px #fbbf2459;animation:trumpActionPulse 2s infinite ease-in-out}.muushig-trump-plaque.is-actionable:hover{transform:translateY(-2px) scale(1.02);border-color:#fde047;box-shadow:0 0 0 3px #fbbf24b3,0 10px 24px #fbbf2480}.muushig-trump-plaque.is-actionable:active{transform:translateY(0) scale(.98)}.trump-plaque-take-tag{font-size:10px;font-weight:800;color:#78350f;background:#fbbf24;padding:2px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;margin-left:2px;box-shadow:0 1px 4px #00000040}@keyframes trumpActionPulse{0%,to{box-shadow:0 0 0 2px #fbbf2466,0 4px 14px #fbbf2440}50%{box-shadow:0 0 0 3.5px #fbbf24bf,0 8px 22px #fbbf2473}}.muushig-trump-mini-card{width:25px;height:36px;position:relative;border-radius:4px;overflow:hidden;box-shadow:0 2px 6px #00000080;flex-shrink:0}.muushig-trump-mini-card>.card-ui{width:70px;height:100px;scale:.357;transform-origin:top left;border-radius:6px;border:none!important}.trump-plaque-text{display:flex;align-items:center;gap:6px}.trump-plaque-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#fde68a;font-weight:800}.trump-plaque-symbol{font-size:17px;line-height:1;font-weight:900}.trump-plaque-name{font-size:12.5px;font-weight:700;color:#f8fafc}.muushig-stock-deck{position:relative;display:inline-flex;align-items:center;gap:8px;padding:3px 10px 3px 6px;background:#081812f0;border:1.5px solid rgba(255,255,255,.18);box-shadow:0 4px 14px #00000073;border-radius:999px;-webkit-user-select:none;user-select:none;transition:transform .16s var(--ease-out),box-shadow .16s ease,border-color .16s ease}.muushig-stock-deck.is-actionable{cursor:pointer;border-color:#10b981cc;box-shadow:0 0 0 2px #10b98173,0 6px 18px #10b98159;animation:stockActionPulse 2s infinite ease-in-out}.muushig-stock-deck.is-actionable:hover{transform:translateY(-2px) scale(1.02);border-color:#34d399;box-shadow:0 0 0 3px #10b981b3,0 10px 24px #10b98180}.muushig-stock-deck.is-actionable:active{transform:translateY(0) scale(.98)}.muushig-stock-deck.is-empty{opacity:.65}.stock-deck-cards{position:relative;width:25px;height:36px;flex-shrink:0}.stock-deck-layer{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:4px;overflow:hidden}.stock-deck-layer.layer-3{transform:translate(-2.5px,-2px) rotate(-3deg);box-shadow:0 2px 4px #0006;z-index:1}.stock-deck-layer.layer-2{transform:translate(2px,-1px) rotate(2deg);box-shadow:0 2px 5px #00000073;z-index:2}.stock-deck-layer.layer-1{z-index:3;box-shadow:0 2px 6px #00000080}.stock-deck-layer .card-ui{width:70px!important;height:100px!important;scale:.357;transform-origin:top left;border-radius:6px;border:none!important}.stock-deck-empty-slot{width:100%;height:100%;border:1.5px dashed rgba(255,255,255,.25);border-radius:4px;background:#00000040}.stock-deck-info{display:flex;align-items:center;gap:5px}.stock-deck-count-row{display:flex;align-items:baseline;gap:3px}.stock-deck-unit{font-size:10px;color:#94a3b8;font-weight:600}.stock-deck-label{font-size:11px;color:#94a3b8;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.stock-deck-count{font-size:14px;font-weight:800;color:#fde68a}.stock-deck-action-hint{font-size:10px;font-weight:800;color:#064e3b;background:#34d399;padding:2px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;margin-left:2px;box-shadow:0 1px 4px #00000040}@keyframes stockActionPulse{0%,to{box-shadow:0 0 0 2px #10b98166,0 4px 14px #10b98140}50%{box-shadow:0 0 0 3.5px #10b981bf,0 8px 22px #10b98173}}.muushig-stock-pill{display:inline-flex;align-items:center;gap:5px;background:#081812eb;border:1px solid rgba(255,255,255,.18);padding:4px 10px;border-radius:999px;font-size:11.5px;color:#cbd5e1;box-shadow:0 2px 8px #00000059}.stock-pill-label{font-size:10.5px;color:#94a3b8;font-weight:600}.stock-pill-count{font-weight:800;color:#fde68a}.muushig-meta-bar{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;min-height:28px}.muushig-role-summary{display:flex;align-items:center;gap:6px;font-size:11px;color:#cbd5e1;background:#081812e6;padding:3px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);box-shadow:0 2px 6px #0000004d}.muushig-trick-arena{position:relative;min-height:115px;width:100%;display:flex;align-items:center;justify-content:center}.muushig-meta-bar{display:flex;flex-direction:column;align-items:center;gap:4px}.muushig-role-summary{display:flex;align-items:center;gap:6px;font-size:11px;color:#cbd5e1;background:#00000073;padding:2px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.08)}.role-chip.first{color:#6ee7b7;font-weight:600}.role-chip.dealer{color:#fde68a;font-weight:600}.role-chip-arrow{color:#64748b;font-size:9px}.my-reaction-slot{position:absolute;bottom:64px;left:50%;transform:translate(-50%);width:0!important;height:0!important;margin:0!important;padding:0!important;overflow:visible!important;display:flex!important;justify-content:center!important;align-items:center!important;pointer-events:none!important;z-index:70!important}.opponent-reaction-slot{position:absolute;width:0!important;height:0!important;margin:0!important;padding:0!important;overflow:visible!important;display:flex!important;justify-content:center!important;align-items:center!important;pointer-events:none!important;z-index:70!important}.center-turn-indicator{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;z-index:40;pointer-events:none;width:min(360px,92vw)}.turn-indicator-pill{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:700;width:100%;box-shadow:0 4px 16px #0009;pointer-events:auto}.is-my-turn .turn-indicator-pill{background:linear-gradient(135deg,#10b981f5,#059669f5);color:#fff;border:1.5px solid #a7f3d0;box-shadow:0 0 20px #10b981b3;animation:myTurnGlow 1.8s infinite alternate}@keyframes myTurnGlow{0%{box-shadow:0 0 12px #10b98180;transform:scale(1)}to{box-shadow:0 0 24px #10b981d9;transform:scale(1.02)}}.is-opponent-turn .turn-indicator-pill{background:#0f172ae6;color:#cbd5e1;border:1px solid rgba(148,163,184,.35)}.turn-indicator-timer{font-variant-numeric:tabular-nums;font-size:13px;background:#00000059;padding:2px 7px;border-radius:6px;color:#f1f5f9}.turn-indicator-timer.is-urgent{background:#ef4444;color:#fff;animation:activeTurnPulse .8s infinite}.turn-indicator-next{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#94a3b8;background:#0000008c;padding:2px 10px;border-radius:10px}.turn-seq-arrow{color:#34d399;font-size:12px}.turn-timer-track{width:100%;height:5px;background:#00000080;border-radius:3px;overflow:hidden}.turn-timer-fill{height:100%;border-radius:3px;transition:width .1s linear,background .3s}.opponent-hand{position:relative;width:82px;height:44px;margin-top:2px;margin-bottom:4px;pointer-events:none}.opponent-hand-card{position:absolute;top:1px;left:calc(50% - 13px);width:26px;height:38px;transform-origin:center bottom}.opponent-hand-card>.card-ui{scale:.38;transform-origin:top left}.seat-counters,.seat-counters>span{display:flex;align-items:center;gap:5px}.seat-counters{gap:8px;color:#95ada1;font-size:12px;font-variant-numeric:tabular-nums}.seat-card-ratio{font-size:inherit}.seat-card-ratio strong{font-size:inherit;color:#e0e8df;font-weight:700}.seat-card-ratio .card-ratio-total,.seat-point-limit,.seat-muushig-points{font-size:inherit}.dealer-marker{position:absolute;right:-4px;top:-2px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#d6c48a;color:#23372c;font-size:9.5px}.seat-state{position:absolute;right:-4px;bottom:-2px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#244e3e;color:#c8dfcf;border:1px solid #759183;font-size:11px}.seat-state.is-bot-takeover{background:#0284c7;color:#f0f9ff;border-color:#38bdf8;font-size:10px}.seat-state.is-abandoned{background:#d97706;color:#fffbeb;border-color:#fbbf24;font-size:10px}.seat-disc:has(.seat-throw-action-btn) .seat-state{right:auto;left:-4px}.offline-dot{position:absolute;left:0;bottom:0;width:8px;height:8px;border-radius:50%;background:var(--danger-color)}.opponent-status-pill{font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:999px;line-height:1.3;display:inline-flex;align-items:center;gap:3px;white-space:nowrap;letter-spacing:.02em;box-shadow:0 2px 6px #0006;margin-top:1px}.opponent-status-pill.is-offline{background:#ef444438;color:#fca5a5;border:1px solid rgba(239,68,68,.55)}.opponent-status-pill.is-bot{background:#0ea5e938;color:#7dd3fc;border:1px solid rgba(14,165,233,.55)}.opponent-status-pill.is-abandoned{background:#f59e0b38;color:#fcd34d;border:1px solid rgba(245,158,11,.55)}.opponent-friend-slot{display:flex;align-items:center;justify-content:center;margin-top:2px}.opponent-add-friend-btn{display:inline-flex;align-items:center;justify-content:center;gap:3px;background:#10b98133;color:#6ee7b7;border:1px solid rgba(16,185,129,.45);border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:700;cursor:pointer;line-height:1.3;transition:all .15s ease;box-shadow:0 1px 4px #0000004d}.opponent-add-friend-btn:hover{background:#10b98159;color:#a7f3d0;border-color:#34d399b3;transform:translateY(-1px)}.opponent-add-friend-btn:active{transform:translateY(1px)}.opponent-friend-tag{font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;line-height:1.3;display:inline-flex;align-items:center;gap:2px}.opponent-friend-tag.is-friend{background:#10b98126;color:#a7f3d0;border:1px solid rgba(16,185,129,.35)}.opponent-friend-tag.is-pending{background:#f59e0b26;color:#fde68a;border:1px solid rgba(245,158,11,.35)}.active-match-banner{position:relative;z-index:100;margin:12px auto;width:min(94%,720px);background:linear-gradient(135deg,#103426f2,#071c14f5);border:1px solid rgba(251,191,36,.4);border-radius:14px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 10px 30px #00000073,0 0 20px #fbbf2426;animation:activeMatchSlideDown .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes activeMatchSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.active-match-body{display:flex;align-items:center;gap:12px;min-width:0}.active-match-pulse{width:12px;height:12px;border-radius:50%;background:#fbbf24;box-shadow:0 0 10px #fbbf24,0 0 20px #fbbf2499;flex-shrink:0;animation:activeMatchPulse 1.6s infinite ease-in-out}@keyframes activeMatchPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.6}}.active-match-text{display:flex;flex-direction:column;gap:2px;min-width:0}.active-match-eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#fbbf24}.active-match-desc{margin:0;font-size:13.5px;font-weight:600;color:#f1f5f9;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-match-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.active-match-rejoin-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;font-size:13px;font-weight:800;background:linear-gradient(180deg,#f59e0b,#d97706);color:#0f172a;border:1px solid rgba(251,191,36,.5);box-shadow:0 4px 14px #d9770666,inset 0 1px #ffffff59;cursor:pointer;transition:transform .14s ease,filter .14s ease}.active-match-rejoin-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.active-match-rejoin-btn:active{transform:translateY(1px)}.active-match-dismiss-btn{padding:7px 12px;border-radius:8px;font-size:12px;font-weight:600;background:transparent;color:#f1f5f9a6;border:1px solid rgba(255,255,255,.15);cursor:pointer;transition:background-color .14s ease,color .14s ease}.active-match-dismiss-btn:hover{background:#ffffff14;color:#f1f5f9}@media (max-width: 640px){.active-match-banner{flex-direction:column;align-items:stretch;gap:12px;padding:12px 14px}.active-match-desc{white-space:normal}.active-match-actions{justify-content:flex-end}}.is-folded{opacity:.5}.table-status{display:flex;align-items:center;justify-content:center;gap:16px}.stock-count{display:inline-flex;align-items:center;gap:6px;color:#9ab2a4;font-size:13px}.trump-suit{font-size:22px}.table-phase{display:inline-flex;align-items:center;justify-content:center;color:#e2e8f0;font-size:11.5px;font-weight:700;text-align:center;background:#081811f0;border:1px solid rgba(255,255,255,.16);padding:3px 12px;border-radius:999px;box-shadow:0 2px 8px #0006;margin-top:4px}.game-table-center{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:140px;width:100%}.muushig-table-center{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;width:100%;max-width:95%;z-index:5;transition:margin-top .22s var(--ease-out)}.muushig-table-center.has-top-opponent,.game-table-center.has-top-opponent{margin-top:18px}.game-table-area.is-muushig .muushig-table-center.has-top-opponent,.game-table-area.is-muushig .game-table-center.has-top-opponent{margin-top:0}.table-center-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(48px,6vw,60px);height:clamp(48px,6vw,60px);opacity:.12;filter:drop-shadow(0 2px 10px rgba(0,0,0,.35));pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}.hand-header-bar{display:flex;justify-content:center;align-items:center;width:min(100%,880px);margin:0 auto;min-height:36px;padding:0 4px}.self-counter,.self-counter>span{display:inline-flex;align-items:center;gap:7px}.self-counter{display:inline-flex;align-items:center;justify-content:center;margin:0 auto;gap:10px;font-size:13px;color:#a6bcb0;font-variant-numeric:tabular-nums;white-space:nowrap}.self-counter strong{color:#e0e8df;font-size:18px}.self-player-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-family:var(--font-display, sans-serif);font-weight:800;font-size:12px;color:#fff;border:1.5px solid rgba(255,255,255,.4);flex-shrink:0;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.6);-webkit-user-select:none;user-select:none}.self-counter .icon-button,.self-counter .pause-action-button{width:32px;height:32px;padding:0;border-radius:6px;background:#ffffff14;color:#cbd5e1;border:1px solid rgba(255,255,255,.15);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s var(--ease-out)}.self-counter .icon-button:hover:not(:disabled),.self-counter .pause-action-button:hover:not(:disabled){background:#fff3;color:#fff;border-color:#ffffff59}.self-counter .icon-button:disabled,.self-counter .pause-action-button:disabled{opacity:.35;cursor:not-allowed}.hand-area-row{display:flex;align-items:center;justify-content:center;width:100%;max-width:1100px;margin:0 auto;position:relative}.hand-area-row.is-waiting-turn .card-ui{filter:brightness(.85);transition:filter .25s ease,box-shadow .25s ease}.hand-area-row.is-my-turn .card-ui{filter:brightness(1.02);transition:filter .25s ease,box-shadow .25s ease}.hand-area-row.is-my-turn .card-ui:not(.is-selected):not(.is-opening-card){box-shadow:0 0 0 1.5px #34d39973,0 3px 8px #00000059!important}.hand-area-row.is-my-turn .hand-scroll-container{filter:drop-shadow(0 -4px 14px rgba(52,211,153,.32));transition:filter .25s ease}@keyframes openingCardPulse{0%,to{box-shadow:0 0 0 2px #f59e0b,0 0 10px #f59e0ba6,0 2px 5px #0000004d}50%{box-shadow:0 0 0 3px #fbbf24,0 0 20px #fbbf24f2,0 2px 5px #0000004d}}.card-ui.is-opening-card{animation:openingCardPulse 1.8s infinite ease-in-out!important}.card-ui.is-opening-card.is-selected{box-shadow:0 0 0 3px #fbbf24,0 0 20px #fbbf24f2,0 8px 18px #00000073!important}.hand-arrange-controls{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-left:8px;margin-right:4px;flex-shrink:0;align-self:center}.hand-arrange-controls .sort-segment{display:flex;flex-direction:column;gap:2px;border-radius:7px;background:#03120dd9;border:1px solid rgba(217,164,65,.35);padding:2px;box-shadow:0 2px 8px #00000073}.sort-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:none;background:transparent;color:#94a3b8;font-family:var(--font-display, sans-serif);font-size:11px;font-weight:700;padding:3px 6px;min-width:44px;height:22px;line-height:1;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color .15s ease,color .15s ease,transform .12s ease,box-shadow .15s ease}.sort-btn:hover:not(.is-active){background:#ffffff1a;color:#f1f5f9}.sort-btn.is-active,.sort-btn[aria-pressed=true]{background:linear-gradient(135deg,#d9a441,#b88628);color:#082117;font-weight:800;box-shadow:0 1px 4px #00000059,inset 0 1px #fff6}.sort-btn:active{transform:scale(.95)}.hand-arrange-controls .icon-button{width:32px;height:28px;padding:0;border-radius:5px;display:inline-flex;align-items:center;justify-content:center}.hand-arrange-controls .clear-selection-button,.hand-arrange-controls .hand-clear-selection-button,.hand-arrange-controls .clear-selection-slot{width:32px;height:28px;box-sizing:border-box}.hand-arrange-controls .clear-selection-button,.hand-arrange-controls .hand-clear-selection-button{padding:0;border-radius:5px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);display:inline-flex;align-items:center;justify-content:center;color:#e2e8f0;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease,color .15s ease}.hand-arrange-controls .clear-selection-button:hover,.hand-arrange-controls .hand-clear-selection-button:hover{background:#ffffff2e;border-color:#ffffff59;color:#fff}.hand-arrange-controls .clear-selection-button:active,.hand-arrange-controls .hand-clear-selection-button:active{transform:scale(.92)}.hand-arrange-controls .clear-selection-slot{visibility:hidden;pointer-events:none}.turn-dot{width:6px;height:6px;background:#60786c;border-radius:50%}.my-turn:not(.cannot-beat) .turn-dot{background:#a2deb1;box-shadow:0 0 0 4px #a2deb115;animation:activeTurnPulse 1.5s infinite}.my-turn.cannot-beat .turn-dot{background:#f59e0b;box-shadow:none;animation:none}.turn-help-prompt{position:absolute;bottom:calc(100% + 8px);right:0;pointer-events:none;white-space:nowrap;font-size:11px;color:#a7f3d0;font-weight:600;padding:3px 10px;border-radius:6px;background:#0f172af0;border:1px solid rgba(52,211,153,.4);box-shadow:0 4px 12px #00000073;z-index:50;max-width:min(320px,calc(100vw - 32px));overflow:hidden;text-overflow:ellipsis;animation:fadeInPrompt .18s var(--ease-out) forwards}@keyframes fadeInPrompt{0%{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.pass-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:85px;height:42px;padding:0 14px;background:#ffffff1f;color:#e2e8f0;border:1px solid rgba(255,255,255,.22);font-size:13px;font-weight:700;border-radius:8px;transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s var(--ease-out);cursor:pointer}.pass-action:hover:not(:disabled){background:#fff3;color:#fff;border-color:#fff6}.pass-action:disabled{opacity:.35;cursor:not-allowed}.pass-action.is-suggested{background:#f59e0b;color:#1c1917;border:1.5px solid #fde68a;box-shadow:0 0 20px #f59e0bcc,inset 0 0 8px #fff6;animation:pulseSuggestedPass 1.2s infinite;font-weight:800;cursor:pointer;transform:scale(1.05)}.pass-action.is-suggested:hover:not(:disabled){background:#fbbf24;color:#0f172a;border-color:#fff;box-shadow:0 0 28px #f59e0b,0 0 10px #fbbf24cc,inset 0 0 10px #fff9;transform:scale(1.08);filter:brightness(1.1)}.pass-action.is-suggested:active:not(:disabled){background:#d97706;transform:scale(1.03)}@keyframes pulseSuggestedPass{0%{box-shadow:0 0 14px #f59e0b99}50%{box-shadow:0 0 28px #f59e0b;transform:scale(1.08)}to{box-shadow:0 0 14px #f59e0b99;transform:scale(1.05)}}.turn-help-prompt.cannot-beat{background:#1e140af0;color:#fde68a;border-color:#f59e0b99;font-weight:700;box-shadow:0 4px 12px #f59e0b4d}.center-turn-indicator.is-cannot-beat .turn-indicator-pill{background:linear-gradient(135deg,#d97706f5,#b45309f5);color:#fff;border:1.5px solid #fde68a;box-shadow:0 0 22px #f59e0bcc;animation:cannotBeatGlow 1.4s infinite alternate}@keyframes cannotBeatGlow{0%{box-shadow:0 0 14px #f59e0b99;transform:scale(1)}to{box-shadow:0 0 26px #f59e0bf2;transform:scale(1.02)}}.play-action.is-dimmed{opacity:.35!important;box-shadow:none!important;animation:none!important}.secondary-action{background:#ffffff1f;color:var(--text-color)}.play-error{color:var(--danger-color);font-size:13px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.icon-button{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#adc3b6;border-radius:6px;flex-shrink:0}.icon-button:hover{background:#ffffff0d;color:#f0f3ec}.icon-button[aria-pressed=true]{background:#ffffff12;color:#eef3e8}.sort-segment{display:flex;gap:2px;border-radius:6px;background:#00000018}.play-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:110px;height:42px;padding:0 14px;background:#a7d9b4;color:#153a29;font-size:13px;font-weight:700;border-radius:8px;transition:background-color .18s ease,color .18s ease,opacity .18s ease,box-shadow .18s ease,transform .16s var(--ease-out)}.play-action:not(:disabled){box-shadow:0 0 15px #a7d9b499,inset 0 0 8px #fff6;animation:pulsePlay 1.5s infinite;cursor:pointer}@keyframes pulsePlay{0%{box-shadow:0 0 15px #a7d9b480}50%{box-shadow:0 0 25px #a7d9b4e6}to{box-shadow:0 0 15px #a7d9b480}}.play-action:disabled{background:#8da99a;opacity:.4;box-shadow:none}.icon-button svg,.play-action svg{flex-shrink:0}button:focus-visible,summary:focus-visible{outline:2px solid #e2d29c;outline-offset:3px}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);width:max-content;max-width:160px;white-space:normal;padding:6px 9px;border-radius:4px;background:#172820;color:#f0f3ec;border:1px solid #536b5c;font-size:12px;font-weight:400;opacity:0;pointer-events:none;z-index:150}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1}.muushig-fan-row{display:flex;justify-content:center;align-items:center;position:relative}.muushig-fan-row .trick-card-overlap{margin-left:-28px!important}.muushig-trick-cards{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:transform .42s var(--ease-out),opacity .28s var(--ease-out) .14s}.muushig-trick-cards.is-collecting{opacity:0}.muushig-trick-cards.collect-to-bottom{transform:translateY(30vh) scale(.2)}.muushig-trick-cards.collect-to-top{transform:translateY(-30vh) scale(.2)}.muushig-trick-cards.collect-to-left{transform:translate(-30vw) scale(.2)}.muushig-trick-cards.collect-to-right{transform:translate(30vw) scale(.2)}.muushig-trick-cards.collect-to-top-left{transform:translate(-25vw,-25vh) scale(.2)}.muushig-trick-cards.collect-to-top-right{transform:translate(25vw,-25vh) scale(.2)}.muushig-play{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.trick-player-name{max-width:140px;min-width:max-content;left:50%;transform:translate(-50%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75em;color:#cbd5e1;background:#000000d9;padding:2px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.15);position:absolute;bottom:-28px;pointer-events:none;z-index:10;transition:all .2s ease}.trick-player-name.is-winner{color:#fef08a!important;border:1.5px solid rgba(251,191,36,.85);background:#101b16f5!important;box-shadow:0 0 12px #fbbf2473;font-weight:800;transform:translate(-50%) scale(1.04)}.muushig-controls-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,880px);margin:0 auto}.muushig-controls-wrapper .player-controls-secondary{position:absolute;left:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;z-index:1}.muushig-controls-wrapper .player-controls-primary{margin:0 auto;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;z-index:2}.muushig-controls-wrapper .player-controls-spacer{display:none}.muushig-stage-banner-centered{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;white-space:nowrap;max-width:min(92vw,420px);padding:4px 14px;border-radius:999px;background:#081811f2;border:1px solid rgba(52,211,153,.45);box-shadow:0 4px 14px #00000080;color:#a7f3d0;font-size:11.5px;font-weight:600;pointer-events:none;z-index:25;overflow:hidden;text-overflow:ellipsis;animation:fadeInPrompt .18s var(--ease-out) forwards}.muushig-controls-hint{font-size:11.5px;color:#93c5fd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(280px,calc(100vw - 40px));font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.6)}.muushig-join-action{background:linear-gradient(180deg,#10b981,#059669)!important;border-color:#34d399!important;color:#fff!important;box-shadow:0 4px 14px #10b98166!important}.muushig-fold-action{border-color:#f8717180!important;color:#fca5a5!important;background:#ef444426!important}.muushig-fold-action:hover:not(:disabled){background:#ef444447!important;border-color:#f87171!important}.muushig-clear-btn,.icon-button.muushig-clear-btn{width:auto!important;min-width:0;height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#e2e8f0;font-size:13px;font-weight:700;white-space:nowrap;flex-shrink:0;cursor:pointer;box-shadow:0 2px 6px #00000040;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s var(--ease-out)}.muushig-clear-btn:hover,.icon-button.muushig-clear-btn:hover{background:#ffffff38;border-color:#ffffff73;color:#fff;transform:translateY(-1px)}.muushig-clear-btn:active,.icon-button.muushig-clear-btn:active{transform:translateY(0)}.card-ui.is-playable{box-shadow:0 0 0 2.5px #10b981,0 6px 16px #10b98173!important}@media (hover: hover) and (pointer: fine){.card-ui.is-playable:hover:not(.is-selected){transform:translateY(-6px)}}.card-ui.is-dimmed{opacity:.4!important;filter:grayscale(35%)!important;cursor:not-allowed!important;pointer-events:none!important}.card-ui.is-trump-card{border-color:#f59e0bbf!important}.hand-empty-notice{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;background:#0f1d17e0;border:1px solid rgba(255,255,255,.16);border-radius:12px;color:#cbd5e1;font-size:12.5px;font-weight:600;margin:6px auto;box-shadow:0 4px 14px #0006}.hand-empty-icon{font-size:16px}.self-score-badge{display:inline-flex;align-items:center;gap:3px;color:#fbbf24;font-size:13px;margin-left:4px}.seat-muushig-tricks{display:inline-flex;align-items:center;justify-content:center;gap:3.5px;font-size:11px;font-weight:700;padding:1.5px 7px;border-radius:999px;line-height:1.2;transition:all .2s ease;white-space:nowrap}.seat-muushig-tricks.is-safe{background:#10b98133;border:1px solid rgba(16,185,129,.55);color:#34d399;box-shadow:0 1px 6px #10b98133}.seat-muushig-tricks.is-safe .seat-trick-icon{color:#10b981}.seat-muushig-tricks.is-danger{background:#ef444438;border:1px solid rgba(239,68,68,.6);color:#fca5a5;box-shadow:0 0 8px #ef444440;animation:trickDangerPulse 2.4s infinite ease-in-out}.seat-muushig-tricks.is-folded{background:#94a3b81f;border:1px solid rgba(148,163,184,.25);color:#94a3b8}.seat-muushig-tricks .trick-count{font-size:11.5px;font-weight:800}.seat-muushig-tricks .trick-unit{font-size:10px;opacity:.9}.seat-muushig-tricks .trick-danger-icon{font-size:11px;line-height:1}@keyframes trickDangerPulse{0%,to{box-shadow:0 0 6px #ef444433}50%{box-shadow:0 0 12px #ef444480;border-color:#ef4444d9}}.self-tricks-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:2px 8px;border-radius:999px;font-weight:700;transition:all .2s ease;white-space:nowrap}.self-tricks-badge.is-safe{background:#10b98133;border:1px solid rgba(16,185,129,.55);color:#34d399;box-shadow:0 1px 6px #10b98133}.self-tricks-badge.is-safe .seat-trick-icon{color:#10b981}.self-tricks-badge.is-danger{background:#ef444438;border:1px solid rgba(239,68,68,.6);color:#fca5a5;box-shadow:0 0 8px #ef444440;animation:trickDangerPulse 2.4s infinite ease-in-out}.self-tricks-badge .trick-count{font-size:12.5px;font-weight:800}.app-header-left,.app-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-brand-link{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--parlor-ivory, #f5f0e4);cursor:pointer;transition:opacity .15s ease}.app-brand-link:hover{opacity:.92}.app-title{font-family:var(--font-display, sans-serif);font-size:1.08rem;font-weight:800;letter-spacing:-.02em;color:var(--parlor-ivory, #f5f0e4)}.header-auth-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:5px 13px;font-size:.84rem;font-weight:700;border-radius:8px;box-shadow:0 2px 8px #00000052,inset 0 1px #ffffff24;cursor:pointer;transition:transform .16s var(--ease-out),background-color .16s ease,border-color .16s ease,color .16s ease}.header-profile-btn{background:#04140ebf;color:var(--parlor-ivory, #f5f0e4);border:1px solid rgba(217,164,65,.42)}.header-profile-btn:hover{background:#0c2a1ee6;border-color:var(--parlor-brass, #d9a441)}.header-profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-family:var(--font-display, sans-serif);font-weight:800;font-size:11px;color:#fff;border:1px solid rgba(255,255,255,.45);flex-shrink:0;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.6);-webkit-user-select:none;user-select:none}.header-tsai-count{color:var(--parlor-brass, #d9a441);font-weight:800}.header-xp-count{display:inline-flex;align-items:center;gap:5px;color:#38bdf8;font-weight:800;font-size:.85rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.28);border-radius:999px;padding:1px 7px;line-height:1.2}.header-xp-icon{font-size:.85rem;color:#38bdf8}.header-level-badge{background:#0284c7;color:#fff;border-radius:4px;padding:0 4px;font-size:.7rem;font-weight:800;letter-spacing:.02em}.header-auth-sep{opacity:.5}.header-profile-name{display:inline-flex;align-items:center;gap:4px;font-weight:600}.header-vip-crown{display:inline-flex;color:var(--parlor-brass, #d9a441)}.header-login-btn{background:#34d39929;color:#6ee7b7;border:1px solid rgba(52,211,153,.44)}.header-login-btn:hover{background:#34d39942;border-color:#34d399b8;color:var(--parlor-ivory, #f5f0e4)}@media (hover: hover) and (pointer: fine){.header-auth-btn:hover{transform:translateY(-1px)}}.lobby-self-profile-link{transition:opacity .15s ease,color .15s ease}.lobby-self-profile-link:hover{opacity:.85;color:#fde047}.header-tools{position:relative}.header-tools summary{cursor:pointer;list-style:none;display:grid;place-items:center;width:36px;height:36px;border-radius:7px;border:1px solid rgba(217,164,65,.24);color:var(--parlor-ivory, #f5f0e4);background:#04140ea6;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .16s var(--ease-out)}.header-tools summary::-webkit-details-marker{display:none}.header-tools summary:hover{background:#d9a44124;color:#f3dfb6;border-color:#d9a44173}.header-tools summary:active{transform:scale(.96)}.header-tools[open] summary{background:#d9a44133;color:var(--parlor-brass, #d9a441);border-color:var(--parlor-brass, #d9a441)}.header-tools summary:focus-visible{outline:2px solid var(--parlor-brass, #d9a441);outline-offset:2px}@keyframes headerMenuReveal{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.header-menu{position:absolute;right:0;top:calc(100% + 8px);width:min(268px,calc(100vw - 24px));padding:6px;display:flex;flex-direction:column;background:linear-gradient(180deg,#0b281dfa,#05150ffc);border:1px solid rgba(217,164,65,.38);border-radius:10px;box-shadow:0 18px 40px #0000008c,inset 0 0 0 1px #d9a44114;transform-origin:top right;animation:headerMenuReveal .16s var(--ease-out) forwards}.header-menu-group{display:flex;flex-direction:column;gap:2px;padding:6px 4px;border-bottom:1px solid rgba(217,164,65,.14)}.header-menu-group:last-child{border-bottom:none}.header-menu-label{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#b7cbbe94;padding:4px 10px 3px;-webkit-user-select:none;user-select:none}.header-menu-item{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;padding:7px 10px;border-radius:6px;background:transparent;border:1px solid transparent;color:var(--parlor-ivory, #f5f0e4);font-size:.85rem;font-weight:600;text-align:left;text-decoration:none;box-sizing:border-box;cursor:pointer;transition:background-color .14s ease,color .14s ease,border-color .14s ease}.header-menu-item:hover{background:#ffffff12;color:#fff}.header-menu-icon{color:var(--parlor-brass, #d9a441);width:15px;text-align:center;flex-shrink:0}.header-menu-tsai{margin-left:auto;color:var(--parlor-brass, #d9a441);font-weight:800;font-size:.82rem;white-space:nowrap}.header-menu-profile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-menu-item.is-gold{color:#f3dfb6}.header-menu-item.is-gold:hover{background:#d9a44124;border-color:#d9a4414d}.header-menu-item.is-accent{color:#86efac}.header-menu-item.is-accent:hover{background:#34d39924;border-color:#34d3994d}.header-menu-item.is-danger{color:#fca5a5}.header-menu-item.is-danger:hover{background:#ef444429;border-color:#ef444459}.header-sound-btn.is-muted{color:#fca5a5}.header-lang-row{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 2px;gap:8px}.header-lang-label{font-size:.76rem;font-weight:600;color:var(--parlor-sage, #b7cbbe);-webkit-user-select:none;user-select:none}.header-lang-segment{display:inline-flex;background:#020c08a6;border:1px solid rgba(217,164,65,.22);border-radius:6px;padding:2px;gap:2px}.header-lang-pill{padding:4px 8px;font-size:.76rem;font-weight:700;background:transparent;color:var(--parlor-sage, #b7cbbe);border-radius:4px;border:1px solid transparent}.header-lang-pill.is-active{background:#14583ef2;color:var(--parlor-ivory, #f5f0e4);border-color:#d9a44173}.header-menu-daaluu-picker{padding:2px 6px}.opponent-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:700;color:#c8d5cc;padding:1px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#0000004d;box-sizing:border-box;text-align:center;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.center-trick-area{width:min(440px,calc(100% - 340px));min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;z-index:5;padding:8px}.trick-history-stack{position:relative;width:100%;height:140px;display:flex;justify-content:center;align-items:center}.trick-card{width:78px!important;height:112px!important;font-size:15px}.trick-card-overlap{margin-left:-46px!important}.trick-label{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background:#000000bf;color:#e2e8f0;padding:3px 12px;border-radius:12px;font-size:12.5px;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis;pointer-events:none;z-index:10}.player-area{position:relative;background:#0003;padding:12px 14px calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:6px;border-top:1px solid rgba(255,255,255,.12)}.player-controls{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;order:2;width:min(100%,880px);margin:0 auto;min-height:42px}.player-controls-secondary{position:absolute;left:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.player-controls-primary{display:flex;gap:10px;align-items:center;justify-content:center;margin:0 auto;position:relative}.card-ui{width:70px;height:100px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.card-ui:active{filter:brightness(.96)}.hand-column{flex:0 1 auto;max-width:calc(100% - 46px);min-width:0;display:flex;flex-direction:column;align-items:stretch;position:relative;transition:max-width .2s ease}.hand-area-row.is-scrollable .hand-column{flex:1;width:calc(100% - 46px);max-width:calc(100% - 46px)}.hand-area-row.is-compact .hand-column{flex:0 1 auto;max-width:calc(100% - 46px)}.hand-scroll-container{width:max-content;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;padding:24px 6px 14px;scrollbar-width:none;-ms-overflow-style:none}.hand-area-row.is-scrollable .hand-scroll-container{width:100%}.hand-area-row.is-compact .hand-scroll-container{width:max-content;max-width:100%}.hand-scroll-container::-webkit-scrollbar{display:none}.hand-scrollbar-slot{width:100%;height:11px;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;flex-shrink:0;box-sizing:border-box;transition:height .18s ease,margin .18s ease,opacity .18s ease}.hand-scrollbar-slot:not(.can-scroll){height:0;margin:0;overflow:hidden;opacity:0;pointer-events:none}.hand-scrollbar-track{width:min(220px,calc(100% - 24px));height:5px;background:#00000073;border-radius:999px;margin:0 auto;position:relative;overflow:hidden;cursor:pointer;box-shadow:inset 0 1px 2px #0009;flex-shrink:0}.hand-scrollbar-thumb{position:absolute;top:0;height:100%;background:linear-gradient(90deg,#34d399,#4ade80);border-radius:999px;box-shadow:0 0 6px #4ade8099;transition:left .05s ease-out}.hand-cards-row{display:flex;align-items:center;width:max-content;margin:0 auto;min-height:106px}.hand-card-wrapper{display:inline-flex;position:relative;touch-action:pan-x pan-y;cursor:pointer;user-select:none;-webkit-user-select:none}.hand-card-wrapper.is-drawn-card{animation:cardDrawEntrance .28s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--draw-idx, 0) * 45ms);will-change:transform,opacity}@keyframes cardDrawEntrance{0%{opacity:0;transform:translateY(-28px) scale(.95)}65%{opacity:1;transform:translateY(2px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.hand-card-wrapper.is-drawn-card{animation:none!important}}.hand-card-wrapper:active{cursor:grabbing}.hand-card-wrapper.is-dragging{opacity:.18}.hand-card-item{cursor:pointer;touch-action:pan-x pan-y;-webkit-tap-highlight-color:transparent}.hand-card-overlap{margin-left:var(--dynamic-overlap, -22px);transition:margin-left .22s cubic-bezier(.22,1,.36,1)}.hand-card-group-start{margin-left:calc(var(--dynamic-overlap, -22px) + 14px);transition:margin-left .22s cubic-bezier(.22,1,.36,1)}@media (hover: hover) and (pointer: fine){.hand-card-item:hover{transform:translateY(-8px)}.hand-card-item.is-selected:hover{transform:translateY(calc(var(--card-selected-lift, -14px) - 4px))}}@media (min-width: 1024px){.hand-cards-row{min-height:140px}.hand-card-item{width:90px!important;height:130px!important}.hand-card-overlap{margin-left:var(--dynamic-overlap, -32px)}.hand-card-group-start{margin-left:calc(var(--dynamic-overlap, -32px) + 20px)}.center-trick-area{width:min(520px,calc(100% - 340px));min-height:165px}.trick-history-stack{height:155px}.trick-card{width:88px!important;height:126px!important;font-size:17.5px}.trick-card-overlap{margin-left:-52px!important}.trick-label{bottom:-32px;font-size:13.5px;padding:4px 14px}.opponent-badge{width:140px;gap:5px}.seat-disc{width:50px;height:50px;font-size:21px}.opponent-hand{width:94px;height:50px;margin-top:2px;margin-bottom:3px}.opponent-hand-card{width:30px;height:44px;left:calc(50% - 15px)}.opponent-hand-card>.card-ui{scale:.44}.opponent-name{font-size:13.5px;font-weight:700}.seat-counters{font-size:13.5px;gap:10px}.seat-card-ratio strong,.seat-card-ratio .card-ratio-total,.seat-point-limit,.seat-muushig-points,.seat-muushig-tricks,.self-card-ratio strong,.self-card-ratio .card-ratio-total{font-size:13.5px}.seat-card-ratio svg,.seat-counters svg{width:14px;height:14px}}@media (max-width: 768px){.app-header{padding:8px 10px;gap:6px}.welcome-screen,.lobby-screen{padding:12px 10px calc(28px + env(safe-area-inset-bottom,0px));gap:14px}.game-table-area{padding:102px 8px 30px;min-height:350px}.game-table-area.has-top-opponent{padding-top:114px}.game-table-area.is-muushig.has-top-opponent{padding-top:195px}.game-table-area:before,.game-table-area:after{top:68px;right:18px;bottom:24px;left:18px;border-radius:28px}.opponents-container{position:absolute}.opponent-badge-left{left:6px}.opponent-badge-right{right:6px}.opponent-badge-top-left{left:30%;top:20px}.opponent-badge-top-right{right:30%;top:20px}.opponent-badge-top{top:14px;width:auto;min-width:120px;max-width:240px;gap:3px}.opponent-badge-top .opponent-turn-indicator,.opponent-badge-top .opponent-pass-indicator{top:-14px}.opponent-badge-top .opponent-hand{width:66px;height:34px;margin-top:1px;margin-bottom:3px}.opponent-badge-top .opponent-hand-card{height:28px}.muushig-table-center.has-top-opponent{margin-top:16px}.game-table-area.is-muushig .muushig-table-center.has-top-opponent,.game-table-area.is-muushig .game-table-center.has-top-opponent{margin-top:0}.muushig-permanent-trump-bar{top:18px}.muushig-permanent-trump-bar.has-top-opponent,.game-table-area.has-top-opponent .muushig-permanent-trump-bar{top:154px}.opponent-badge{width:78px;gap:4px}.seat-disc{width:36px;height:36px;font-size:15px}.opponent-name{font-size:11px;padding:1px 6px}.seat-counters{font-size:11px;gap:6px}.seat-card-ratio,.seat-card-ratio strong,.seat-card-ratio .card-ratio-total,.seat-point-limit,.seat-muushig-points,.seat-muushig-tricks{font-size:11px}.self-card-ratio,.self-card-ratio strong,.self-card-ratio .card-ratio-total{font-size:11.5px}.opponent-hand{width:66px;height:34px;margin-top:1px;margin-bottom:4px}.opponent-hand-card{width:20px;height:28px;left:calc(50% - 10px)}.opponent-hand-card>.card-ui{scale:.3}.table-status{gap:8px;flex-wrap:wrap}.muushig-trick-cards{gap:6px}.center-trick-area{margin:0 auto;min-height:110px;width:calc(100% - 162px);max-width:440px;padding:4px}.trick-history-stack{height:110px}.trick-card{width:58px!important;height:82px!important;font-size:12px;border-radius:5px!important}.trick-card-overlap{margin-left:-38px!important}.muushig-fan-row .trick-card-overlap{margin-left:-22px!important}.trick-label{bottom:-22px;font-size:11px;padding:2px 8px}.trick-clearing-badge{bottom:-24px;font-size:.75em;padding:3px 10px}.hand-arrange-controls{margin-left:4px;margin-right:2px;gap:3px}.sort-btn{min-width:38px;height:20px;font-size:10px;padding:2px 4px}.hand-arrange-controls .icon-button,.hand-arrange-controls .clear-selection-button,.hand-arrange-controls .clear-selection-slot{width:28px!important;height:26px!important}.player-area{padding:10px 10px calc(14px + env(safe-area-inset-bottom,0px));gap:8px}.player-controls{gap:6px}.icon-button{width:36px;height:40px}.muushig-clear-btn,.icon-button.muushig-clear-btn{width:auto!important;height:40px;padding:0 10px;font-size:12px}.play-action{min-width:94px;padding:0 10px;gap:6px;font-size:12px}.play-action svg{width:17px}.self-counter{gap:8px}.player-controls-secondary{gap:6px}.player-controls-primary{margin:0 auto;justify-content:center}:root{--card-selected-lift: -12px}.hand-column{max-width:calc(100% - 36px)}.hand-area-row.is-scrollable .hand-column{width:calc(100% - 36px);max-width:calc(100% - 36px)}.hand-area-row.is-compact .hand-column{max-width:calc(100% - 36px)}.hand-scroll-container{padding:22px 4px 10px}.hand-scrollbar-slot{height:8px;margin:0 auto 4px}.hand-scrollbar-track{width:min(180px,calc(100% - 16px));height:4px;margin:0 auto}.hand-cards-row{min-height:104px}.hand-card-item{width:68px!important;height:98px!important}.hand-card-overlap{margin-left:var(--dynamic-overlap, -22px)}.hand-card-group-start{margin-left:calc(var(--dynamic-overlap, -22px) + 12px)}.my-reaction-slot{bottom:58px}.modal-overlay{padding:12px 10px 32px!important;overscroll-behavior-y:contain}.modal-card{padding:16px!important}.special-combo-anim-container{top:32%;width:min(88vw,360px)}.special-combo-anim-text{font-size:clamp(1.05rem,5.2vw,1.35rem)}.special-combo-anim-sub{font-size:.8rem;padding:2px 10px}}@media (max-width: 380px){.self-counter{font-size:11px;gap:6px}.self-counter strong{font-size:14px}.trick-card{width:54px!important;height:76px!important;font-size:11px}.trick-card-overlap{margin-left:-35px!important}}@keyframes reactionFloat{0%{opacity:0;transform:translateY(16px) scale(.8)}18%{opacity:1;transform:translateY(-6px) scale(1.12)}30%{opacity:1;transform:translateY(0) scale(1)}75%{opacity:1;transform:translateY(-12px) scale(1)}to{opacity:0;transform:translateY(-28px) scale(.92)}}.reaction-animate{animation:reactionFloat 2s cubic-bezier(.16,1,.3,1) forwards;pointer-events:none;will-change:transform,opacity}.win-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#04120ddb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;animation:winBackdropFadeIn .22s var(--ease-out) forwards}.win-modal-card{position:relative;width:100%;max-width:440px;max-height:90vh;max-height:90dvh;overflow-y:auto;border-radius:20px;background:linear-gradient(180deg,#0e3527,#071f16);border:1px solid rgba(217,164,65,.3);box-shadow:0 24px 60px #000000bf,0 0 0 1px #fbbf2424 inset,0 8px 30px #00000080;animation:winModalSpringIn .26s cubic-bezier(.16,1,.3,1) forwards;display:flex;flex-direction:column}.win-hero-header{position:relative;text-align:center;padding:22px 20px 18px;background:radial-gradient(ellipse at 50% 0%,rgba(251,191,36,.22) 0%,transparent 75%),linear-gradient(180deg,#134232,#0c2b20);border-bottom:1px solid rgba(217,164,65,.22)}.win-hero-crest{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle,#fbbf2440,#d9a4411a 70%);border:1.5px solid rgba(251,191,36,.45);box-shadow:0 0 18px #fbbf2440;margin-bottom:8px}.win-hero-crown{font-size:1.6rem;line-height:1}.win-hero-title{font-family:var(--font-display, Georgia, serif);font-size:1.3rem;font-weight:900;color:#fef08a;letter-spacing:-.015em;margin:0 0 4px}.win-hero-subtitle{font-size:.84rem;line-height:1.4;color:var(--parlor-sage, #b7cbbe);margin:0}.win-daaluu-label{font-size:.95rem;font-weight:700;color:var(--parlor-sage, #b7cbbe);margin:4px 0 2px}.win-hero-title.win-daaluu-winner-name{font-size:clamp(2.2rem,9vw,3.4rem);line-height:1.05;margin:0;overflow-wrap:anywhere}.win-xp-reward-card{margin:12px 16px 4px;padding:12px 14px;background:linear-gradient(135deg,#0ea5e926,#0369a138);border:1px solid rgba(56,189,248,.35);border-radius:14px;box-shadow:0 4px 16px #00000040,inset 0 1px #ffffff1a;display:flex;flex-direction:column;gap:8px}.win-xp-reward-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.win-xp-reward-badge{display:flex;align-items:center;gap:6px}.win-xp-lightning{font-size:1.15rem;color:#38bdf8;filter:drop-shadow(0 0 6px rgba(56,189,248,.6))}.win-xp-amount{font-size:1.15rem;font-weight:900;color:#38bdf8;letter-spacing:-.01em}.win-xp-tag{font-size:.7rem;font-weight:700;color:#7dd3fc;background:#38bdf82e;padding:1px 6px;border-radius:999px;border:1px solid rgba(56,189,248,.3)}.win-xp-level-badge{display:flex;align-items:center;gap:4px;font-size:.8rem;font-weight:800;color:#f0f9ff;background:#0284c759;border:1px solid rgba(56,189,248,.35);padding:2px 8px;border-radius:8px}.win-xp-rank-title{color:#bae6fd;font-weight:600}.win-xp-progress-bar-bg{position:relative;width:100%;height:8px;background:#00000059;border-radius:999px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.win-xp-progress-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#0284c7,#38bdf8);box-shadow:0 0 8px #38bdf880;transition:width .6s cubic-bezier(.16,1,.3,1)}.win-xp-progress-labels{display:flex;justify-content:space-between;font-size:.72rem;color:#94a3b8}.win-xp-progress-labels strong{color:#f1f5f9}.win-xp-percent{font-weight:700;color:#38bdf8}.win-row-xp-gain{font-size:.7rem;font-weight:800;color:#38bdf8;background:#38bdf81f;border:1px solid rgba(56,189,248,.25);border-radius:4px;padding:1px 5px;margin-top:2px}.xp-gain-toast{position:fixed;top:64px;right:20px;z-index:300;display:flex;align-items:center;gap:10px;padding:10px 16px;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;border:1px solid rgba(56,189,248,.45);border-radius:12px;box-shadow:0 10px 30px #00000080,0 0 16px #38bdf859;animation:xpToastSlideIn .24s cubic-bezier(.16,1,.3,1) forwards}@keyframes xpToastSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.xp-toast-icon{font-size:1.25rem;color:#fef08a;filter:drop-shadow(0 0 6px rgba(254,240,138,.8))}.xp-toast-amount{font-size:1rem;font-weight:900;letter-spacing:-.01em}.xp-toast-levelup{font-size:.82rem;font-weight:800;color:#fef08a;background:#fef08a33;border:1px solid rgba(254,240,138,.4);padding:2px 8px;border-radius:999px}.xp-toast-dismiss{background:transparent;border:none;color:#fff9;font-size:1.2rem;cursor:pointer;padding:0 2px;line-height:1}.xp-toast-dismiss:hover{color:#fff}.win-standings-container{padding:14px 16px 10px}.win-standings-list{display:flex;flex-direction:column;gap:8px}.win-player-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:14px;background:#00000047;border:1px solid rgba(255,255,255,.08);transition:transform .14s ease,border-color .14s ease}.win-player-row.is-winner{background:linear-gradient(90deg,#d9a44138,#d9a44114);border:1.5px solid rgba(217,164,65,.5);box-shadow:0 0 16px #d9a44129}.win-player-row.is-me{border:1.5px solid rgba(52,211,153,.45);background:linear-gradient(90deg,#10b98129,#064e3b33)}.win-player-row.is-winner.is-me{border:1.5px solid rgba(251,191,36,.65);box-shadow:0 0 18px #fbbf2440,0 0 8px #34d39940}.win-player-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.win-rank-badge{font-size:1.25rem;line-height:1;width:24px;text-align:center;flex-shrink:0}.win-player-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #00000059}.win-player-info{min-width:0;flex:1}.win-name-row{display:flex;align-items:center;gap:6px}.win-player-name{font-size:.92rem;font-weight:700;color:var(--parlor-ivory, #f5f0e4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.win-me-badge{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:999px;background:#059669;color:#fff;border:1px solid #34d399}.win-hand-desc{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--parlor-sage, #94a3b8);margin-top:2px}.win-mult-tag{font-size:.7rem;font-weight:800;color:#fbbf24;background:#fbbf2426;border:1px solid rgba(251,191,36,.3);padding:0 5px;border-radius:4px}.win-player-right{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;font-variant-numeric:tabular-nums}.win-score-primary{font-size:1.05rem;font-weight:900;letter-spacing:-.01em}.win-score-primary.is-pos{color:#6ee7b7}.win-score-primary.is-neg{color:#fca5a5}.win-score-sub{font-size:.72rem;font-weight:600;color:#f5f0e48c;margin-top:1px}.win-actions{padding:6px 16px 18px;display:flex;flex-direction:column;gap:8px}.win-btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 18px;border-radius:12px;font-weight:800;font-size:.95rem;background:linear-gradient(180deg,#d97706,#b45309);color:#fff;border:1px solid rgba(251,191,36,.35);box-shadow:0 4px 14px #d9770659,inset 0 1px #fff3;cursor:pointer;transition:transform .14s var(--ease-out),filter .14s ease}.win-btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.win-btn-primary:active{transform:translateY(1px)}.win-btn-secondary{display:flex;align-items:center;justify-content:center;width:100%;padding:9px 14px;border-radius:10px;font-weight:700;font-size:.85rem;background:#d9a44124;border:1px solid rgba(217,164,65,.38);color:#fef08a;cursor:pointer;transition:background .14s ease,border-color .14s ease}.win-btn-secondary:hover{background:#d9a44138;border-color:#d9a4418c}.win-btn-ghost{display:flex;align-items:center;justify-content:center;width:100%;padding:8px 12px;border-radius:8px;font-weight:600;font-size:.82rem;background:transparent;color:#f5f0e4a6;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease}.win-btn-ghost:hover{background:#ffffff0f;color:var(--parlor-ivory, #f5f0e4);border-color:#ffffff38}.win-modal-card.is-match-over{max-width:468px;background:radial-gradient(ellipse at 50% 0%,#f59e0b3d,#0f172afa 65%),linear-gradient(180deg,#181528,#0d0e17);border:2px solid rgba(245,158,11,.55);box-shadow:0 24px 64px #000000e0,0 0 36px #f59e0b3d,inset 0 1px #fef08a59}.win-hero-header.is-match-over{background:radial-gradient(ellipse at 50% 0%,rgba(245,158,11,.35) 0%,transparent 80%),linear-gradient(180deg,#241c38,#151426);border-bottom:1px solid rgba(245,158,11,.32);padding:22px 20px 18px}.win-match-banner-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:999px;background:linear-gradient(90deg,#f59e0b47,#d9770661);border:1px solid rgba(251,191,36,.55);color:#fef08a;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.win-round-banner-tag{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;background:#10b98126;border:1px solid rgba(52,211,153,.35);color:#6ee7b7;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.win-hero-crest.is-match-trophy{width:58px;height:58px;background:radial-gradient(circle,#f59e0b66,#b453092e 75%);border:2px solid rgba(251,191,36,.65);box-shadow:0 0 24px #fbbf2461;margin-bottom:8px}.win-hero-trophy{font-size:1.95rem;line-height:1}.win-champion-spotlight{margin:12px 16px 0;padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,#f59e0b33,#b453091f);border:1.5px solid rgba(245,158,11,.5);box-shadow:0 0 18px #f59e0b2e;display:flex;align-items:center;justify-content:space-between;gap:12px}.win-champion-left{display:flex;align-items:center;gap:10px;min-width:0}.win-champion-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 0 12px #fbbf2473;border:2px solid #fbbf24;flex-shrink:0}.win-champion-info{display:flex;flex-direction:column;min-width:0}.win-champion-tag{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:800;color:#fef08a;text-transform:uppercase;letter-spacing:.04em}.win-champion-name{font-size:1.02rem;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.win-champion-score-box{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.win-champion-score-num{font-size:1.15rem;font-weight:900;color:#fef08a;font-variant-numeric:tabular-nums}.win-champion-score-lbl{font-size:.68rem;color:#fef08ab3}.win-match-reason-box{margin:10px 16px 0;padding:8px 12px;border-radius:10px;background:#0006;border:1px solid rgba(255,255,255,.08);font-size:.76rem;line-height:1.35;display:flex;flex-direction:column;gap:4px}.win-match-reason-item{display:flex;align-items:baseline;gap:6px}.win-match-reason-item.is-busted{color:#fca5a5}.win-match-reason-item.is-round-diff{color:#93c5fd}.win-standings-header{display:flex;justify-content:space-between;align-items:center;padding:0 4px 6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#f5f0e499}.win-player-row.is-busted-player{border:1.5px solid rgba(239,68,68,.55);background:linear-gradient(90deg,#ef44442e,#991b1b38)}.win-player-row.rank-1{background:linear-gradient(90deg,#d9a4413d,#d9a4411a);border:1.5px solid rgba(251,191,36,.6);box-shadow:0 0 16px #f59e0b33}.win-player-row.rank-2{border-color:#cbd5e166}.win-player-row.rank-3{border-color:#d9770659}.win-btn-primary.is-match-over-cta{background:linear-gradient(180deg,#f59e0b,#b45309);border-color:#fbbf248c;box-shadow:0 4px 18px #f59e0b73,inset 0 1px #ffffff4d}.win-btn-primary.is-match-over-cta:hover{filter:brightness(1.12)}@keyframes winModalSpringIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes winBackdropFadeIn{0%{opacity:0}to{opacity:1}}.win-settlement-backdrop{animation:winBackdropFadeIn .2s var(--ease-out) forwards}.win-settlement-card{animation:winModalSpringIn .26s var(--ease-out) forwards}@keyframes activeTurnPulse{0%{box-shadow:0 0 #a2deb1b3}70%{box-shadow:0 0 0 15px #a2deb100}to{box-shadow:0 0 #a2deb100}}@keyframes seatActiveTurnPulse{0%,to{box-shadow:0 0 0 3px #34d399,0 0 14px #34d39999}50%{box-shadow:0 0 0 4.5px #6ee7b7,0 0 22px #34d399e6}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.special-combo-anim-container{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);z-index:10000;display:flex;flex-direction:column;align-items:center;pointer-events:none;width:min(92vw,440px);animation:specialComboIn 2.5s cubic-bezier(.175,.885,.32,1.275) forwards}.special-combo-anim-text{font-size:clamp(1.25rem,5vw,1.85rem);font-weight:900;text-transform:uppercase;color:#ffde59;text-shadow:0 0 10px rgba(255,145,77,.8),0 2px 4px rgba(0,0,0,.8);text-align:center;line-height:1.15;white-space:normal;letter-spacing:.04em;padding:0 8px;animation:specialComboPulse .5s alternate infinite}.special-combo-anim-text.is-royalFlush{color:#fef08a;text-shadow:0 0 16px rgba(236,72,153,.95),0 0 28px rgba(139,92,246,.85),0 2px 5px rgba(0,0,0,.9)}.special-combo-anim-text.is-straightFlush{color:#fde047;text-shadow:0 0 16px rgba(244,63,94,.95),0 0 24px rgba(6,182,212,.85),0 2px 5px rgba(0,0,0,.9)}.special-combo-anim-text.is-fourOfAKind{color:#fbbf24;text-shadow:0 0 16px rgba(239,68,68,.95),0 0 24px rgba(245,158,11,.85),0 2px 5px rgba(0,0,0,.9)}.special-combo-anim-text.is-fullHouse{color:#a7f3d0;text-shadow:0 0 16px rgba(16,185,129,.95),0 0 24px rgba(245,158,11,.75),0 2px 5px rgba(0,0,0,.9)}.special-combo-anim-sub{font-size:clamp(.78rem,3vw,.95rem);font-weight:700;color:#f8fafc;text-shadow:0 1px 3px rgba(0,0,0,.9);margin-top:6px;background:#000000a6;border:1px solid rgba(255,255,255,.15);padding:3px 12px;border-radius:999px;white-space:nowrap}@keyframes specialComboIn{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}15%{transform:translate(-50%,-50%) scale(1.05);opacity:1}25%{transform:translate(-50%,-50%) scale(1);opacity:1}80%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.06);opacity:0}}@keyframes specialComboPulse{0%{filter:brightness(1) drop-shadow(0 0 4px rgba(255,145,77,.4))}to{filter:brightness(1.2) drop-shadow(0 0 10px rgba(255,145,77,.8))}}.trick-play-snap{animation:trickCardSnap .26s cubic-bezier(.22,1,.36,1) both;will-change:transform,opacity}@keyframes trickCardSnap{0%{opacity:0;transform:translateY(-24px) scale(.94)}75%{opacity:1;transform:translateY(2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.trick-play-from-bottom{animation:trickSnapFromBottom .28s cubic-bezier(.22,1,.36,1) both}.trick-play-from-top{animation:trickSnapFromTop .28s cubic-bezier(.22,1,.36,1) both}.trick-play-from-left{animation:trickSnapFromLeft .28s cubic-bezier(.22,1,.36,1) both}.trick-play-from-right{animation:trickSnapFromRight .28s cubic-bezier(.22,1,.36,1) both}.trick-play-from-top-left{animation:trickSnapFromTopLeft .28s cubic-bezier(.22,1,.36,1) both}.trick-play-from-top-right{animation:trickSnapFromTopRight .28s cubic-bezier(.22,1,.36,1) both}@keyframes trickSnapFromBottom{0%{opacity:0;transform:translateY(88px) scale(.92)}75%{opacity:1;transform:translateY(-2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes trickSnapFromTop{0%{opacity:0;transform:translateY(-88px) scale(.92)}75%{opacity:1;transform:translateY(2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes trickSnapFromLeft{0%{opacity:0;transform:translate(-120px,-20px) scale(.92)}75%{opacity:1;transform:translate(2px) scale(1.02)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes trickSnapFromRight{0%{opacity:0;transform:translate(120px,-20px) scale(.92)}75%{opacity:1;transform:translate(-2px) scale(1.02)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes trickSnapFromTopLeft{0%{opacity:0;transform:translate(-88px,-68px) scale(.92)}75%{opacity:1;transform:translate(2px,1px) scale(1.02)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes trickSnapFromTopRight{0%{opacity:0;transform:translate(88px,-68px) scale(.92)}75%{opacity:1;transform:translate(-2px,1px) scale(1.02)}to{opacity:1;transform:translate(0) scale(1)}}@media (max-width: 768px){@keyframes trickSnapFromBottom{0%{opacity:0;transform:translateY(60px) scale(.92)}75%{opacity:1;transform:translateY(-2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes trickSnapFromTop{0%{opacity:0;transform:translateY(-60px) scale(.92)}75%{opacity:1;transform:translateY(2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes trickSnapFromLeft{0%{opacity:0;transform:translate(-70px,-12px) scale(.92)}75%{opacity:1;transform:translate(2px) scale(1.02)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes trickSnapFromRight{0%{opacity:0;transform:translate(70px,-12px) scale(.92)}75%{opacity:1;transform:translate(-2px) scale(1.02)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes trickSnapFromTopLeft{0%{opacity:0;transform:translate(-55px,-45px) scale(.92)}75%{opacity:1;transform:translate(2px,1px) scale(1.02)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes trickSnapFromTopRight{0%{opacity:0;transform:translate(55px,-45px) scale(.92)}75%{opacity:1;transform:translate(-2px,1px) scale(1.02)}to{opacity:1;transform:translate(0) scale(1)}}}.trick-play-layer{will-change:transform,opacity,filter}.trick-clearing-container{display:flex;flex-direction:column;align-items:center;position:relative;will-change:transform,opacity;animation-duration:.9s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:forwards;animation-name:trickSweepToCenter}.trick-clearing-container.sweep-to-bottom{animation-name:trickSweepToBottom}.trick-clearing-container.sweep-to-top{animation-name:trickSweepToTop}.trick-clearing-container.sweep-to-left{animation-name:trickSweepToLeft}.trick-clearing-container.sweep-to-right{animation-name:trickSweepToRight}.trick-clearing-container.sweep-to-top-left{animation-name:trickSweepToTopLeft}.trick-clearing-container.sweep-to-top-right{animation-name:trickSweepToTopRight}.trick-clearing-container.sweep-to-center{animation-name:trickSweepToCenter}@keyframes trickSweepToBottom{0%{opacity:1;transform:scale(1) translateY(0)}30%{opacity:1;transform:scale(1.04) translateY(-4px)}to{opacity:0;transform:scale(.65) translateY(130px)}}@keyframes trickSweepToTop{0%{opacity:1;transform:scale(1) translateY(0)}30%{opacity:1;transform:scale(1.04) translateY(4px)}to{opacity:0;transform:scale(.65) translateY(-130px)}}@keyframes trickSweepToLeft{0%{opacity:1;transform:scale(1) translate(0)}30%{opacity:1;transform:scale(1.04) translate(4px)}to{opacity:0;transform:scale(.65) translate(-140px,-20px)}}@keyframes trickSweepToRight{0%{opacity:1;transform:scale(1) translate(0)}30%{opacity:1;transform:scale(1.04) translate(-4px)}to{opacity:0;transform:scale(.65) translate(140px,-20px)}}@keyframes trickSweepToTopLeft{0%{opacity:1;transform:scale(1) translate(0)}30%{opacity:1;transform:scale(1.04) translate(4px,4px)}to{opacity:0;transform:scale(.65) translate(-110px,-90px)}}@keyframes trickSweepToTopRight{0%{opacity:1;transform:scale(1) translate(0)}30%{opacity:1;transform:scale(1.04) translate(-4px,4px)}to{opacity:0;transform:scale(.65) translate(110px,-90px)}}@keyframes trickSweepToCenter{0%{opacity:1;transform:scale(1) translateY(0)}30%{opacity:1;transform:scale(1.04) translateY(-4px)}to{opacity:0;transform:scale(.65) translateY(-40px)}}@media (max-width: 768px){@keyframes trickSweepToBottom{0%{opacity:1;transform:scale(1) translateY(0)}30%{opacity:1;transform:scale(1.04) translateY(-3px)}to{opacity:0;transform:scale(.65) translateY(85px)}}@keyframes trickSweepToTop{0%{opacity:1;transform:scale(1) translateY(0)}30%{opacity:1;transform:scale(1.04) translateY(3px)}to{opacity:0;transform:scale(.65) translateY(-85px)}}@keyframes trickSweepToLeft{0%{opacity:1;transform:scale(1) translate(0)}30%{opacity:1;transform:scale(1.04) translate(3px)}to{opacity:0;transform:scale(.65) translate(-90px,-15px)}}@keyframes trickSweepToRight{0%{opacity:1;transform:scale(1) translate(0)}30%{opacity:1;transform:scale(1.04) translate(-3px)}to{opacity:0;transform:scale(.65) translate(90px,-15px)}}@keyframes trickSweepToTopLeft{0%{opacity:1;transform:scale(1) translate(0)}30%{opacity:1;transform:scale(1.04) translate(3px,3px)}to{opacity:0;transform:scale(.65) translate(-75px,-65px)}}@keyframes trickSweepToTopRight{0%{opacity:1;transform:scale(1) translate(0)}30%{opacity:1;transform:scale(1.04) translate(-3px,3px)}to{opacity:0;transform:scale(.65) translate(75px,-65px)}}}@media (prefers-reduced-motion: reduce){.trick-play-snap,.trick-play-from-bottom,.trick-play-from-top,.trick-play-from-left,.trick-play-from-right,.trick-play-from-top-left,.trick-play-from-top-right{animation:trickCardSnapFade .18s ease both!important}.trick-clearing-container,.trick-clearing-container.sweep-to-bottom,.trick-clearing-container.sweep-to-top,.trick-clearing-container.sweep-to-left,.trick-clearing-container.sweep-to-right,.trick-clearing-container.sweep-to-top-left,.trick-clearing-container.sweep-to-top-right,.trick-clearing-container.sweep-to-center{animation:trickCardClearFade .3s ease forwards!important}}@keyframes trickCardSnapFade{0%{opacity:0}to{opacity:1}}@keyframes trickCardClearFade{0%{opacity:1}to{opacity:0}}.trick-clearing-badge{position:absolute;bottom:-32px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#142319f2,#0f1914f2);border:1px solid rgba(214,196,138,.7);color:#f7e7b4;padding:4px 14px;border-radius:16px;font-size:.85em;font-weight:700;white-space:nowrap;box-shadow:0 4px 14px #00000080,0 0 10px #d6c48a59;display:flex;align-items:center;gap:6px}.reaction-popover{box-sizing:border-box;overscroll-behavior:contain;color:#f6eddc;font-family:var(--font-base);text-align:left}.reaction-popover button{min-width:0;min-height:44px;cursor:pointer}.reaction-popover button:focus-visible{outline:2px solid #e8c98e;outline-offset:2px}.reconnect-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#04120dd1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;animation:reconnectFadeIn .22s var(--ease-out) forwards}.reconnect-modal-card{position:relative;width:100%;max-width:380px;background:linear-gradient(180deg,#0d382b,#07221a);border:1px solid rgba(245,240,228,.15);border-radius:18px;padding:30px 24px 22px;text-align:center;box-shadow:0 24px 60px #000000a6,0 0 0 1px #fbbf2424 inset,0 8px 24px #00000059;animation:reconnectCardPop .24s var(--ease-out) forwards}@keyframes reconnectFadeIn{0%{opacity:0}to{opacity:1}}@keyframes reconnectCardPop{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.reconnect-radar-container{position:relative;width:64px;height:64px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}.reconnect-radar-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px dashed rgba(251,191,36,.45);animation:reconnectSpin 8s linear infinite}.reconnect-radar-core{position:relative;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle,#fbbf2438,#d9a44114 70%);border:1px solid rgba(251,191,36,.4);display:flex;align-items:center;justify-content:center;color:var(--parlor-brass);box-shadow:0 0 16px #fbbf2433;animation:reconnectPulse 2.4s ease-in-out infinite}@keyframes reconnectSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes reconnectPulse{0%,to{transform:scale(1);box-shadow:0 0 16px #fbbf2433}50%{transform:scale(1.06);box-shadow:0 0 24px #fbbf2461}}.reconnect-wifi-icon{stroke:var(--parlor-brass)}.reconnect-title{font-family:var(--font-display);font-size:1.22rem;font-weight:800;color:var(--parlor-ivory);margin:0 0 10px;letter-spacing:-.015em}.reconnect-room-badge{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--parlor-brass);background:#d9a4411f;border:1px solid rgba(217,164,65,.26);padding:3px 10px;border-radius:20px;margin-bottom:12px}.reconnect-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--parlor-brass);animation:reconnectDotBlink 1.4s infinite ease-in-out}@keyframes reconnectDotBlink{0%,to{opacity:1}50%{opacity:.3}}.reconnect-desc{font-size:.85rem;line-height:1.45;color:var(--parlor-sage);margin:0 0 22px}.reconnect-actions{display:flex;flex-direction:column;gap:10px}.reconnect-btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;border-radius:10px;font-weight:700;font-size:.9rem;background:linear-gradient(180deg,#d97706,#b45309);color:#fff;border:1px solid rgba(251,191,36,.32);box-shadow:0 3px 12px #d9770652,inset 0 1px #fff3;cursor:pointer;transition:transform .14s var(--ease-out),filter .14s ease}.reconnect-btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.reconnect-btn-primary:active{transform:translateY(1px)}.reconnect-btn-secondary{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 12px;border-radius:8px;font-weight:600;font-size:.82rem;background:transparent;color:#f5f0e4a6;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease}.reconnect-btn-secondary:hover{background:#ffffff0f;color:var(--parlor-ivory);border-color:#fff3}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
