:root{color:#fff;font-synthesis:none;text-rendering:optimizelegibility;background:#120d0b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{overscroll-behavior:none;min-height:100dvh;overflow:hidden}button{font:inherit;-webkit-tap-highlight-color:transparent}.game-shell{background:#100b09;place-items:start center;min-height:100dvh;display:grid}.game-stage{--card-width:clamp(68px, calc(var(--world-width) * .194), 94px);--stage-width:min(100vw, 520px);--world-width:var(--stage-width);width:var(--stage-width);isolation:isolate;background-color:#120d0b;height:100dvh;min-height:600px;position:relative;overflow:hidden}.fixed-table-world{z-index:0;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.fixed-table-world-wood{background:url(/assets/backgrounds/wood_table_background.png) 0 0/100% no-repeat;position:absolute;inset:0}.fixed-table-world-wood:after{content:"";background:linear-gradient(#00000014,#0000001a);position:absolute;inset:0}.fixed-table-world-mat{left:calc(var(--world-width) * .0832);top:calc(var(--world-width) * .426);width:calc(var(--world-width) * .8395);height:calc(var(--world-width) * .7825);z-index:1;transform-origin:50%;filter:drop-shadow(0 3px 2px #00000021)drop-shadow(0 9px 14px #0000003b);will-change:transform;background:url(/assets/backgrounds/green_mat_reference_wear_transparent.png) 50%/100% 100% no-repeat;position:absolute;transform:perspective(1800px)rotateX(2.6deg)rotate(-.12deg)}.game-stage:after{content:"";z-index:20;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 80px #00000040}.top-hud{z-index:80;top:max(12px, env(safe-area-inset-top));justify-content:flex-end;align-items:center;gap:10px;display:flex;position:absolute;left:14px;right:14px}.profile-chip,.coin-chip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#16120fc7;border:1px solid #ffffff1a;box-shadow:0 6px 18px #00000038}.profile-chip{border-radius:14px;align-items:center;gap:9px;min-width:0;padding:6px 10px 6px 6px;display:flex}.profile-chip strong,.profile-chip span{text-overflow:ellipsis;white-space:nowrap;max-width:150px;display:block;overflow:hidden}.profile-chip strong{font-size:12px}.profile-chip span{color:#ffffff8c;text-transform:uppercase;letter-spacing:.06em;margin-top:1px;font-size:9px}.avatar{background:#234e32;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:800;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.coin-chip{color:#f4d477;border-radius:999px;padding:9px 12px;font-size:14px;font-weight:800}.playing-card{width:var(--card-width);aspect-ratio:5/7;transform-origin:50% 105%;filter:drop-shadow(0 6px 5px #0000004d);cursor:pointer;background:0 0;border:0;padding:0;transition:filter .12s;position:absolute}.playing-card img{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;backface-visibility:hidden;image-rendering:auto;width:100%;height:100%;display:block}.opponent-seat{z-index:auto;pointer-events:none;width:142px;height:128px;position:absolute}.opponent-seat.seat-top-center{top:8.8%;left:calc(50% - 71px)}.opponent-seat.seat-top-left{top:11.6%;left:-30px}.opponent-seat.seat-top-right{top:11.6%;right:-30px}.opponent-seat.seat-bottom-left{bottom:24.3%;left:-30px}.opponent-seat.seat-bottom-right{bottom:24.3%;right:-30px}.opponent-profile{z-index:87;justify-items:center;gap:4px;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%)}.seat-bottom-left .opponent-profile,.seat-bottom-right .opponent-profile{top:auto;bottom:0}.opponent-avatar-frame,.self-avatar-frame{border-radius:15px;place-items:center;width:52px;height:52px;display:grid;position:relative}.opponent-avatar-frame:before,.self-avatar-frame:before{content:"";z-index:3;border-radius:inherit;pointer-events:none;-webkit-mask-composite:xor;background:#ffffff29;padding:5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.opponent-avatar-frame.role-outline-attack:after,.self-avatar-frame.role-outline-attack:after,.opponent-avatar-frame.role-outline-defense:after,.self-avatar-frame.role-outline-defense:after{content:"";z-index:4;border-radius:inherit;pointer-events:none;-webkit-mask-composite:xor;padding:5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.opponent-avatar-frame.role-outline-attack:after,.self-avatar-frame.role-outline-attack:after{background:#ff5454;box-shadow:0 0 10px #ff54543d}.opponent-avatar-frame.role-outline-defense:after,.self-avatar-frame.role-outline-defense:after{background:#8eff5e;box-shadow:0 0 10px #8eff5e38}.opponent-avatar-frame.role-outline-attack.role-outline-muted:after,.self-avatar-frame.role-outline-attack.role-outline-muted:after{opacity:.52;box-shadow:0 0 6px #ff545424}.turn-timer-ring{z-index:5;border-radius:inherit;pointer-events:none;contain:paint;background:conic-gradient(from 0deg at 50% 50%, transparent 0deg var(--turn-sweep,0deg), #f0d061 var(--turn-sweep,0deg) 360deg);-webkit-mask-composite:xor;padding:5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.turn-timer-ring.timer-stage-active{background:conic-gradient(from 0deg at 50% 50%, transparent 0deg var(--turn-sweep,0deg), #f0d061 var(--turn-sweep,0deg) 360deg)}.turn-timer-ring.timer-stage-grace{background:conic-gradient(from 0deg at 50% 50%, transparent 0deg var(--turn-sweep,0deg), #ff5252 var(--turn-sweep,0deg) 360deg)}.turn-timer-ring.timer-countdown-pulse{animation:.86s cubic-bezier(.16,.78,.24,1) both timerCountdownPulse}.turn-timer-ring.timer-stage-active.timer-countdown-pulse{--timer-pulse-glow:#f0d061eb}.turn-timer-ring.timer-stage-grace.timer-countdown-pulse{--timer-pulse-glow:#ff5252f0}@keyframes timerCountdownPulse{0%{opacity:1;filter:brightness(1.45) drop-shadow(0 0 4px var(--timer-pulse-glow)) drop-shadow(0 0 11px var(--timer-pulse-glow))}34%{opacity:.94;filter:brightness(1.18) drop-shadow(0 0 3px var(--timer-pulse-glow)) drop-shadow(0 0 7px var(--timer-pulse-glow))}to{opacity:.58;filter:brightness()drop-shadow(0 0 #0000)}}.connection-badge{z-index:7;color:#ffd59d;text-shadow:0 1px 4px #000000b8;pointer-events:none;place-items:center;width:16px;height:16px;font-size:12px;font-weight:900;line-height:1;display:grid;position:absolute;top:-12px;right:-18px}.connection-badge:after{content:"";transform-origin:50%;background:#ff8264;border-radius:999px;width:2px;height:15px;position:absolute;top:0;right:2px;transform:rotate(40deg);box-shadow:0 0 6px #ff826461}.opponent-avatar{z-index:2;background:linear-gradient(145deg,#26402eeb,#121d16eb);border:1px solid #ffffff24;border-radius:15px;place-items:center;width:52px;height:52px;font-size:17px;font-weight:900;display:grid;position:relative;box-shadow:0 6px 14px #0000004d,inset 0 1px #ffffff1a}.opponent-name{text-overflow:ellipsis;white-space:nowrap;color:#ffffffdb;text-shadow:0 1px 4px #000;max-width:92px;font-size:10px;font-weight:600;overflow:hidden}.seat-top-left .opponent-name,.seat-top-center .opponent-name,.seat-top-right .opponent-name{order:-1;margin-bottom:1px}.seat-top-left .opponent-hand,.seat-top-center .opponent-hand,.seat-top-right .opponent-hand{top:64px}.self-seat{z-index:87;pointer-events:none;position:absolute;bottom:22.4%;left:50%;transform:translate(-50%)}.self-seat-avatar{z-index:2;color:#fff;text-shadow:0 1px 3px #00000059;background:linear-gradient(145deg,#26402eeb,#121d16eb);border:1px solid #ffffff24;border-radius:15px;place-items:center;width:52px;height:52px;font-size:17px;font-weight:900;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 14px #0000004d,inset 0 1px #ffffff1a}.self-seat-avatar img{object-fit:cover;width:100%;height:100%}.opponent-hand{z-index:8;width:1px;height:1px;position:absolute;top:62px;left:50%}.seat-bottom-left .opponent-hand,.seat-bottom-right .opponent-hand{top:auto;bottom:126px}.opponent-card-slot{left:calc(var(--card-width) * -.23);width:calc(var(--card-width) * .46);aspect-ratio:5/7;transform-origin:50% -6%;transition:transform .19s cubic-bezier(.2,.75,.24,1);position:absolute;top:0}.seat-top-center .opponent-card-slot{width:calc(var(--card-width) * .46);left:calc(var(--card-width) * -.23)}.seat-top-left .opponent-card-slot,.seat-top-center .opponent-card-slot,.seat-top-right .opponent-card-slot{width:calc(var(--card-width) * .46);left:calc(var(--card-width) * -.23);transform-origin:50% 106%}.opponent-card{width:100%;top:0;left:0}.player-out{z-index:82;color:#ffffffe6;white-space:nowrap;background:#070a08c7;border:1px solid #ffffff24;border-radius:8px;padding:4px 8px;font-size:9px;font-weight:700;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 5px 12px #00000038}.seat-bottom-left .player-out,.seat-bottom-right .player-out,.self-avatar-frame .self-player-out{top:auto;bottom:calc(100% + 6px)}.player-action-bubble{z-index:90;pointer-events:none;transform-origin:0 0;animation:.25s cubic-bezier(.18,.9,.25,1.14) both player-action-unified-pop;position:absolute}.player-action-canvas{pointer-events:none;filter:drop-shadow(0 6px 14px #00000029);width:100%;height:100%;display:block;position:absolute;inset:0}.player-action-seat-top-left,.player-action-seat-top-center,.player-action-seat-top-right{transform-origin:50% 0;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.player-action-seat-bottom-left,.player-action-seat-bottom-right,.player-action-seat-self{transform-origin:50% 100%;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}@keyframes player-action-unified-pop{0%{opacity:0;scale:.18}55%{opacity:1;scale:1.06}78%{scale:.97}to{opacity:1;scale:1}}@keyframes player-action-water-body-in{0%{opacity:0;scale:.2}58%{opacity:1;scale:1.08 .94}78%{scale:.97 1.04}to{opacity:1;scale:1}}.source-hidden .playing-card,.table-flight-hidden .playing-card{opacity:0!important;visibility:hidden!important;transition:none!important}.table-zone{z-index:7;top:calc(var(--world-width) * .49);width:100%;height:36%;position:absolute;left:50%;transform:translate(-50%)}.deck-pile{width:calc(var(--card-width) * .92);aspect-ratio:5/7;position:absolute;top:27%;left:-16px}.deck-card{width:calc(var(--card-width) * .92);pointer-events:none;top:0;left:0}.trump-preview-card{z-index:0;filter:drop-shadow(0 5px 5px #0000003d);top:26%;left:8px;transform:rotate(0)}.deck-card-back{z-index:2;transform:rotate(-4deg)translate(-3px,2px)}.deck-card-front{z-index:3;transform:rotate(2deg)translate(3px,-1px)}.deck-pile span{z-index:10;text-align:center;background:#000000ad;border:1px solid #ffffff1c;border-radius:999px;place-items:center;min-width:29px;min-height:29px;padding:5px;font-size:12px;font-weight:800;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #00000047}.deck-pile span.red-suit{color:#efb3a3;font-size:17px}.battle-slot{width:82%;height:92%;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.battle-pair{isolation:isolate;position:absolute;inset:0}.table-card{width:calc(var(--card-width) * .92);pointer-events:none;transform-style:preserve-3d;transform-origin:50%;transition:none!important}.table-card:after{content:"";opacity:0;backface-visibility:hidden;pointer-events:none;background:url(/assets/card-back.png) 50%/contain no-repeat;position:absolute;inset:0;transform:rotateY(-90deg)}.attack-card{z-index:1;transform:rotate(4deg)}.defense-card{z-index:2;transform:rotate(-6deg)}.discard-ghost{width:calc(var(--card-width) * .92);transform-origin:50%;pointer-events:none;filter:drop-shadow(0 6px 5px #00000038);opacity:.98;transition:none!important}.discard-ghost.discard-pending{opacity:0!important;visibility:hidden!important}.game-message-layer{z-index:87;pointer-events:none;position:absolute;inset:0}.human-action-prompt{text-overflow:ellipsis;white-space:nowrap;color:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;text-shadow:0 1px 3px #00000073;background:#111411e0;border:1px solid #ffffff29;border-radius:12px;max-width:min(280px,78vw);padding:8px 14px;font-size:10.5px;font-weight:650;line-height:1.2;animation:.18s ease-out statusPop;position:absolute;top:calc(60.3% + 52px);left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 5px 12px #00000047,inset 0 1px #ffffff0d}.human-action-prompt-turn{padding:9px 16px;font-size:12px;font-weight:800}.player-zone{z-index:88;width:100%;height:204px;position:absolute;bottom:4.2%;left:50%;transform:translate(-50%)}.player-hand{width:1px;height:1px;position:absolute;bottom:0;left:50%}.player-card-slot{left:calc(var(--card-width) * -.6);width:calc(var(--card-width) * 1.18);aspect-ratio:5/7;transform-origin:50% 112%;transition:transform .23s cubic-bezier(.2,.75,.24,1);position:absolute;bottom:0}.player-card{width:100%;bottom:0;left:0}.player-hand .playing-card{transform-origin:50% 118%}.swipe-card{touch-action:none;transform:translate3d(var(--drag-x,0px), var(--drag-y,0px), 0);will-change:transform;transition:transform .165s cubic-bezier(.2,.78,.25,1),filter .15s}.swipe-card.dragging{z-index:96;filter:drop-shadow(0 16px 12px #0000006b)brightness(1.06);transition:none}.swipe-card.launching{z-index:97;filter:drop-shadow(0 18px 12px #0000005c)brightness(1.05);transition:none}.swipe-card.disabled{cursor:default}.source-hidden .swipe-card{transition:none!important}.card-motion-overlay{z-index:95;pointer-events:none;contain:layout paint style;will-change:transform;filter:drop-shadow(0 10px 8px #0000005c);backface-visibility:hidden;position:absolute}.card-motion-inner{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;position:relative}.card-motion-overlay img{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;backface-visibility:hidden;width:100%;height:100%;display:block;position:absolute;inset:0}.card-motion-back{transform:rotateY(180deg)}@keyframes statusPop{0%{opacity:0;transform:translate(-50%,-50%)scale(.88)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.setup-panel,.game-over-panel{z-index:90;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;background:#121712eb;border:1px solid #ffffff24;border-radius:18px;width:min(78%,330px);padding:18px 18px 16px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 50px #0000006b,inset 0 1px #ffffff1a}.setup-panel strong,.game-over-panel strong{font-size:21px;display:block}.setup-panel p,.game-over-panel p{color:#ffffffad;margin:7px 0 13px;font-size:11px}.setup-panel small{color:#ffffff7a;margin:9px 0 12px;font-size:9px;display:block}.player-count-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.setup-option-title{font-weight:700;color:#ffffffd1!important;margin:13px 0 7px!important}.setup-option-title.first-option{margin-top:8px!important}.deck-size-switch{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.throw-mode-switch,.game-mode-switch{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.player-count-grid button,.deck-size-switch button,.throw-mode-switch button,.game-mode-switch button,.start-game-button,.game-over-panel button{color:#fff;background:#ffffff0f;border:1px solid #ffffff21;border-radius:11px;min-height:38px;font-size:11px;font-weight:750}.player-count-grid button.selected,.deck-size-switch button.selected,.throw-mode-switch button.selected,.game-mode-switch button.selected{background:#314e33eb;border-color:#c6e8c947;box-shadow:inset 0 0 0 1px #c6e8c914}.player-count-grid button.unavailable,.throw-mode-switch button.unavailable{opacity:.34;cursor:not-allowed}.player-count-grid button.unavailable:active,.throw-mode-switch button.unavailable:active{opacity:.52;transform:scale(.94)}.setup-panel .deck-size-hint{min-height:11px;margin:7px 0 3px}.setup-panel .throw-mode-hint,.setup-panel .game-mode-hint{min-height:22px;margin:7px 0 12px;line-height:1.25}.game-mode-switch button{justify-content:center;align-items:center;gap:7px;padding:5px 7px;display:flex}.transfer-card-target{z-index:12;transform-origin:50%;pointer-events:none;background:#ffffff1a;border:1.5px dashed #ffffff75;border-radius:7%;animation:.95s ease-in-out infinite alternate transfer-target-breathe;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d,0 5px 14px #0000001f}.transfer-card-target:after{content:"";border:1px solid #ffffff17;border-radius:6%;position:absolute;inset:8%}.transfer-card-target-icon{z-index:2;background:#181f18b8;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 10px #00000038}.transfer-card-target-icon svg{fill:none;stroke:#ffffffeb;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}@keyframes transfer-target-breathe{0%{opacity:.72}to{opacity:1}}.setup-unavailable-hint{color:#ffd29400;min-height:16px;margin:-4px 0 8px;font-size:10px;font-weight:750;line-height:1.25;transition:color .12s}.setup-unavailable-hint.visible{color:#ffd294eb;animation:.18s ease-out both setup-unavailable-pop}@keyframes setup-unavailable-pop{0%{opacity:0;transform:translateY(-2px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.start-game-button,.game-over-panel button{background:#2f4a31f5;width:100%}.dev-panel{z-index:99;left:10px;right:10px;bottom:max(8px, env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;gap:6px;display:flex;position:absolute}.dev-panel button{color:#fff;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#16120fd6;border:1px solid #ffffff21;border-radius:10px;padding:9px 14px;font-size:11px;box-shadow:0 4px 14px #0000002e}.dev-panel .primary-action{color:#eff9e4;background:linear-gradient(#2a422bf0,#162318f5);border-color:#e3f5cd33;font-weight:800}.dev-panel .take-action{color:#ffe8c8;background:linear-gradient(#483521eb,#281e16f5);border-color:#ffe3be2e;font-weight:800}.dev-status-line{z-index:79;top:max(4px, env(safe-area-inset-top));text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#ffffff6e;text-shadow:0 1px 3px #000;pointer-events:none;width:min(92%,470px);font-size:8px;line-height:1.1;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.room-slot-frame{pointer-events:none}.room-slot-empty-frame:before{background:#ffffff12}.room-empty-slot{z-index:2;color:#ffffff8a;background:#0f14108a;border:1.5px dashed #ffffff57;border-radius:15px;place-items:center;width:52px;height:52px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0a,0 5px 14px #0000002e}.room-empty-slot span{font-size:25px;font-weight:400;line-height:1;transform:translateY(-1px)}.room-empty-slot-name{color:#ffffff75;font-weight:600}.room-member-avatar{overflow:hidden}.room-member-avatar img{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.room-self-seat{z-index:88}.room-lobby-caption{z-index:86;pointer-events:none;text-align:center;text-shadow:0 2px 8px #000000b8;justify-items:center;gap:4px;width:min(76%,320px);display:grid;position:absolute;top:49.5%;left:50%;transform:translate(-50%,-50%)}.room-lobby-caption strong{letter-spacing:.02em;font-size:16px}.room-lobby-caption span{color:#ffffffc7;font-size:11px;font-weight:750}.room-lobby-caption small{color:#ffffff7d;font-size:9px}.room-notice{z-index:120;left:50%;bottom:calc(max(8px, env(safe-area-inset-bottom)) + 52px);color:#ffffffdb;text-align:center;pointer-events:none;background:#121712eb;border:1px solid #ffffff1f;border-radius:10px;max-width:min(80%,320px);padding:8px 11px;font-size:10px;font-weight:700;position:absolute;transform:translate(-50%);box-shadow:0 8px 24px #00000047}.room-lobby-controls .invite-friend-action{color:#f0faee;background:linear-gradient(#304e34f5,#192b1df5);border-color:#c4e8cb38;min-width:156px;font-weight:850}.dev-panel .room-ready-action{color:#f1ffe9;background:linear-gradient(#345c30f5,#193219f5);border-color:#d2f7c642;min-width:112px;font-weight:900}.dev-panel .room-ready-action:disabled{opacity:.64}.dev-panel .room-leave-action{color:#ffffffad}@media (height<=690px){.player-zone{width:100%;bottom:2.8%;transform:translate(-50%)}.opponent-seat.seat-bottom-left,.opponent-seat.seat-bottom-right{bottom:22%}.self-seat{bottom:20.8%}}@media (width>=700px){body{overflow:auto}.game-stage{box-shadow:0 0 60px #0000008c}}@media (hover:hover) and (pointer:fine){.player-card:hover{filter:drop-shadow(0 10px 8px #00000061)brightness(1.04)}}@media (hover:none),(pointer:coarse){.swipe-card{will-change:auto}.swipe-card.dragging,.swipe-card.launching{will-change:transform}}.alpha-test-tools{z-index:200;top:max(23px, calc(env(safe-area-inset-top) + 19px));pointer-events:none;align-items:center;gap:5px;display:flex;position:absolute;left:10px}.alpha-test-badge,.fps-counter{box-sizing:border-box;text-align:center;color:#ffffffeb;white-space:nowrap;pointer-events:none;contain:layout paint style;background:#000000b8;border:1px solid #ffffff24;border-radius:7px;min-width:54px;min-height:20px;padding:3px 7px;font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:0 2px 6px #0000003d}.alpha-test-badge{letter-spacing:.02em}.fps-counter.fps-good{color:#b9f8c8}.fps-counter.fps-mid{color:#ffe198}.fps-counter.fps-low{color:#ffaaa0}.phase-dealing .opponent-card-slot,.phase-dealing .player-card-slot,.phase-resolving .opponent-card-slot,.phase-resolving .player-card-slot{will-change:transform;backface-visibility:hidden}.card-motion-overlay{transform:translateZ(0)}.pixi-card-layer{pointer-events:none;contain:strict;position:absolute;inset:0;overflow:hidden}.pixi-card-layer-base{z-index:7}.pixi-card-layer-human{z-index:88}.pixi-card-canvas{pointer-events:none;display:block;position:absolute;inset:0;width:100%!important;height:100%!important}.react-card-input-layer{z-index:96;touch-action:none;background:0 0;position:absolute;inset:0}
