:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;--ink:#f8fafc;--muted:#bcb7d7;--panel:#18113de0;--panel-solid:#18113d;--line:#ffffff21;--green:#34d399;--green-dark:#08785a;--yellow:#f9c74f;--coral:#ff7a66;--danger:#ff9382;background:#0d0a27;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#0d0a27;min-width:320px;min-height:100%}body{overscroll-behavior:none;min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #f9c74f}button:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.5}#root{min-height:100vh}.eyebrow{color:var(--yellow);letter-spacing:.17em;text-transform:uppercase;margin:0 0 .55rem;font-size:.72rem;font-weight:850}.primary-button,.secondary-button,.ghost-button,.start-button,.play-button,.pass-button{cursor:pointer;border:0;border-radius:.9rem;min-height:46px;padding:.72rem 1rem;font-weight:800;transition:transform .15s,background .15s,border-color .15s}.primary-button,.play-button,.start-button{color:#06211b;background:linear-gradient(135deg,#65f0bd,#34d399);box-shadow:0 .8rem 1.6rem #0dac7c38}.primary-button:hover:not(:disabled),.play-button:hover:not(:disabled),.start-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled),.pass-button:hover:not(:disabled){transform:translateY(-1px)}.secondary-button,.pass-button{color:#c7fae8;background:#124b3fb3;border:1px solid #65f0bd57}.ghost-button{border:1px solid var(--line);color:#d8ebe6;background:#ffffff0d}.full-button{width:100%}.home-page{min-height:100dvh;padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));background:radial-gradient(circle at 20% 12%,#14856561,#0000 35%),radial-gradient(circle at 85% 82%,#f9c74f29,#0000 30%),linear-gradient(150deg,#09231e 0%,#061512 65%,#0e2f27 100%);place-items:center;display:grid;position:relative;overflow:hidden}.home-page:before{opacity:.1;content:"";pointer-events:none;background-image:linear-gradient(30deg,#fff 1px,#0000 1px),linear-gradient(150deg,#fff 1px,#0000 1px);background-size:44px 76px;position:absolute;inset:0}.home-glow{border:2px solid #ffffff17;border-radius:1.2rem;width:10rem;height:14rem;position:absolute;transform:rotate(18deg)}.glow-one{top:-5rem;right:-2rem}.glow-two{bottom:-6rem;left:-3rem;transform:rotate(-22deg)}.home-card{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#061d19d1;border:1px solid #ffffff24;border-radius:1.6rem;width:min(100%,31rem);padding:clamp(1.35rem,5vw,2.5rem);position:relative;box-shadow:0 2.2rem 6rem #00000059}.home-topline,.home-header{justify-content:space-between;align-items:center;display:flex}.mini-cards{color:#ffe6b0;letter-spacing:.2rem;font-size:1.15rem}.language-button{min-height:38px;padding:.45rem .75rem;font-size:.82rem}.home-card h1,.section-heading h1{letter-spacing:-.04em;margin:0;line-height:1}.home-card h1{max-width:10ch;font-size:clamp(2.55rem,13vw,4.5rem)}.home-tagline{color:var(--muted);margin:1rem 0 1.6rem;font-size:1rem;line-height:1.6}.invite-note{color:#ffedbd;background:#f9c74f14;border:1px solid #f9c74f4d;border-radius:.9rem;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.25rem;padding:.85rem 1rem;font-size:.85rem;display:flex}.invite-note strong{letter-spacing:.13em}.field-label{color:#d5e9e4;margin:0 0 .45rem;font-size:.82rem;font-weight:750;display:block}.text-input{color:#fff;background:#ffffff0f;border:1px solid #ffffff29;border-radius:.9rem;width:100%;min-height:50px;margin-bottom:.85rem;padding:.8rem .95rem}.text-input::placeholder{color:#78978f}.text-input:focus{background:#ffffff17;border-color:#65f0bd}.field-error{color:var(--danger);margin:-.4rem 0 .85rem;font-size:.8rem}.or-divider{align-items:center;gap:1rem;margin:1.15rem 0;display:flex}.or-divider:before,.or-divider:after{background:var(--line);content:"";flex:1;height:1px}.or-divider span{background:#638d82;border-radius:50%;width:.3rem;height:.3rem}.join-row{grid-template-columns:minmax(0,1fr) auto;gap:.65rem;display:grid}.room-code-input{letter-spacing:.12em;text-transform:uppercase;margin:0;font-weight:850}.connection-badge{color:#b9d4cd;white-space:nowrap;align-items:center;gap:.42rem;min-height:30px;font-size:.72rem;font-weight:750;display:inline-flex}.home-card>.connection-badge{margin-top:1rem}.connection-dot{background:#f9c74f;border-radius:50%;width:.48rem;height:.48rem;box-shadow:0 0 0 3px #f9c74f1f}.connection-online .connection-dot{background:#45e0a7;box-shadow:0 0 0 3px #45e0a721}.connection-offline .connection-dot{background:#ff7a66}.error-banner{color:#ffd2ca;background:#ff7a6617;border:1px solid #ff7a6647;border-radius:.8rem;margin:.85rem 0 0;padding:.75rem .9rem;font-size:.82rem;line-height:1.45}.room-page{background:radial-gradient(circle at 16% 8%,#7a56ff4d,#0000 36%),radial-gradient(circle at 86% 88%,#ff4f872e,#0000 35%),#0d0a27;min-height:100dvh}.room-header{z-index:20;min-height:66px;padding:calc(.55rem + env(safe-area-inset-top)) .85rem .55rem;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#0d0a27e0;border-bottom:1px solid #ffffff1c;justify-content:space-between;align-items:center;gap:.7rem;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:.65rem;min-width:0;display:flex}.brand-mark{background:var(--yellow);border-radius:70% 28%;flex:none;place-items:center;width:2.5rem;height:1.75rem;display:grid;position:relative;overflow:hidden;transform:rotate(-7deg);box-shadow:0 .35rem #b94c70}.brand-mark:before{content:"";background:#fffdf3;border-radius:50%;width:1.05rem;height:1.05rem}.brand-mark i{background:#1a143a;border:2px solid #fffdf3;border-radius:50%;width:.52rem;height:.52rem;position:absolute}.brand-lockup strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;display:block;overflow:hidden}.brand-subtitle{color:#aaa2cf;letter-spacing:.08em;margin-top:.15rem;font-size:.53rem;font-weight:750;display:block}.room-code-button{border:1px solid var(--line);color:#bcb5e5;cursor:pointer;background:#ffffff0d;border-radius:.75rem;min-height:38px;padding:.3rem .65rem;font-size:.58rem;line-height:1.15;display:grid}.room-code-button b{color:#ffe166;letter-spacing:.09em;font-size:.7rem}.header-actions{align-items:center;gap:.45rem;display:flex}.header-actions .connection-badge,.compact-share{display:none}.icon-button{border:1px solid var(--line);color:#d5ebe5;cursor:pointer;background:#ffffff0a;border-radius:.75rem;place-items:center;width:38px;height:38px;padding:0;font-size:1.3rem;display:grid}.lobby-shell,.game-shell{width:min(100%,70rem);margin:0 auto}.lobby-shell{padding:1.2rem 1rem calc(2rem + env(safe-area-inset-bottom))}.section-heading{justify-content:space-between;align-items:end;margin:.6rem 0 1.2rem;display:flex}.section-heading h1{font-size:clamp(2rem,8vw,3.3rem)}.seat-count{border:1px solid var(--line);color:#a9cdc3;background:#ffffff0a;border-radius:2rem;padding:.5rem .7rem;font-weight:800}.lobby-grid{gap:.65rem;display:grid}.lobby-player{border:1px solid var(--line);background:#ffffff0a;border-radius:1rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:74px;padding:.75rem;display:grid;position:relative}.lobby-player.is-you{background:#1f7f6726;border-color:#65f0bd73}.player-avatar{color:#09221d;background:#83e1bf;border:2px solid #ffffff26;border-radius:.9rem;flex:none;place-items:center;width:2.75rem;height:2.75rem;font-size:1.15rem;font-weight:900;display:grid}.avatar-1{background:#f9c74f}.avatar-2{background:#f89880}.avatar-3{background:#95d3ff}.avatar-4{background:#c4a7ff}.avatar-5{background:#f6a8ce}.player-copy{min-width:0}.player-copy strong,.player-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.player-copy strong{font-size:.95rem}.player-copy span{color:#8caea5;margin-top:.2rem;font-size:.72rem}.ready-chip{color:#78988f;font-size:.7rem;font-weight:800}.ready-chip.ready{color:#61e5b3}.remove-button{color:#f7ab9f;cursor:pointer;background:0 0;border:0;min-height:25px;padding:.15rem .4rem;font-size:.65rem;position:absolute;top:.3rem;right:.35rem}.empty-player{opacity:.6;border-style:dashed;min-height:61px}.empty-avatar{color:#87aaa1;border:1px dashed #70978c;border-radius:50%;place-items:center;width:2.35rem;height:2.35rem;display:grid}.lobby-actions{grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1.2rem;display:grid}.lobby-actions .start-button{grid-column:1/-1}.lobby-hint{color:#7fa69c;text-align:center;max-width:45rem;margin:.9rem auto 0;font-size:.75rem;line-height:1.5}.game-page{background:radial-gradient(circle at 50% 24%,#755effb8,#0000 38%),radial-gradient(circle at 8% 72%,#63f3c01a,#0000 30%),radial-gradient(circle at 92% 88%,#ff4f872e,#0000 35%),linear-gradient(155deg,#4b32bf 0%,#2b1b80 58%,#17103f 100%);height:100dvh;overflow:hidden}.game-page .room-header{position:relative}.game-page .game-shell{--avatar-size:clamp(3.25rem, 5.2vw, 4.3rem);--avatar-icon-size:clamp(1.15rem, 2.25vw, 1.82rem);--hand-card-width:clamp(3.75rem, 6.7vw, 5.15rem);--hand-card-height:clamp(5.5rem, 9.75vw, 7.5rem);--table-card-width:clamp(3.38rem, 5.85vw, 4.5rem);--table-card-height:clamp(4.84rem, 8.32vw, 6.42rem);--deck-width:clamp(3.25rem, 5.6vw, 4.5rem);--deck-height:clamp(4.5rem, 7.85vw, 6.2rem);--flight-card-width:2.82rem;--flight-card-height:4.05rem;isolation:isolate;width:min(100%,90rem);height:calc(100dvh - 66px);min-height:0;padding:0;position:relative;overflow:hidden}.party-pattern{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.party-pattern i{border:3px solid #ffffff1a;display:block;position:absolute;transform:rotate(18deg)}.party-pattern i:first-child{border-radius:7px;width:26px;height:26px;top:17%;left:4%}.party-pattern i:nth-child(2){border-color:#ffdb572b;border-radius:50%;width:46px;height:22px;top:32%;right:-11px}.party-pattern i:nth-child(3){border-color:#63f3c026;width:18px;height:52px;top:56%;left:-6px}.party-pattern i:nth-child(4){border-radius:50%;width:34px;height:34px;top:8%;right:12%}.table-stage{position:absolute;inset:0;overflow:hidden}.table-rim{background:radial-gradient(#7e68ff66,#0000 68%),linear-gradient(145deg,#ffffff12,#140b4817);border:1px solid #ffffff2b;border-radius:50% 50% 42% 42%;position:absolute;inset:clamp(2.4rem,6vh,4.8rem) clamp(2.5rem,8vw,7rem) clamp(8rem,21vh,12.5rem);box-shadow:inset 0 0 0 8px #100a4517,0 1.2rem 4rem #0c053533}.opponent-ring{z-index:7;pointer-events:none;position:absolute;inset:0}.table-player{text-align:center;pointer-events:auto;justify-items:center;width:clamp(5.8rem,9.5vw,8.4rem);display:grid;position:absolute;transform:translate(-50%,-50%)}.table-player .player-avatar,.self-identity .player-avatar{width:var(--avatar-size);height:var(--avatar-size);color:#25173d;font-size:var(--avatar-icon-size);border:3px solid #ffffffc7;border-radius:1.15rem;box-shadow:0 .5rem 1.1rem #0c05354d}.seat-upper-left{top:14%;left:31%}.seat-upper-right{top:14%;left:69%}.seat-top{top:9%;left:50%}.seat-left{top:28%;left:11%}.seat-right{top:28%;left:89%}.seat-left-high{top:13%;left:24%}.seat-right-high{top:13%;left:76%}.seat-left-low{top:38%;left:8%}.seat-right-low{top:38%;left:92%}.seat-copy{min-width:0;max-width:100%;margin-top:.52rem}.seat-copy strong,.seat-copy span,.self-identity>div strong,.self-identity>div span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.seat-copy strong{text-shadow:0 2px 4px #110840b3;font-size:clamp(.66rem,1.2vw,.82rem)}.seat-copy span{color:#d7d1f0;background:#0b06307a;border:1px solid #ffffff17;border-radius:99px;margin-top:.16rem;padding:.2rem .38rem;font-size:clamp(.5rem,.85vw,.62rem)}.table-player em,.self-identity em{color:#332404;background:var(--yellow);white-space:nowrap;border-radius:1rem;padding:.14rem .38rem;font-size:.52rem;font-style:normal;font-weight:900;line-height:1.2;position:absolute;top:-.45rem;right:.55rem}.table-player em.pass-mark{top:calc(var(--avatar-size) - .82rem);color:#fff;background:#8f4c86;right:.1rem}.current-player .player-avatar{border-color:var(--yellow);animation:1.6s ease-in-out infinite active-seat;box-shadow:0 0 0 .35rem #ffdb572b,0 0 1.7rem #ffdb5761}.turn-bubble{z-index:4;text-align:center;background:#fff7cf;border:1px solid #ffffff47;border-radius:.85rem .85rem .85rem .2rem;width:max-content;max-width:min(12rem,42vw);padding:.42rem .62rem;font-weight:850;line-height:1.25;position:absolute;top:calc(100% + .7rem);left:50%;overflow:visible;transform:translate(-50%);box-shadow:0 .55rem 1.3rem #0c05353d;color:#27183a!important;text-overflow:clip!important;white-space:normal!important;font-size:clamp(.58rem,1vw,.72rem)!important}.seat-left .turn-bubble,.seat-left-high .turn-bubble,.seat-left-low .turn-bubble{top:50%;left:calc(100% + .45rem);transform:translateY(-50%)}.seat-right .turn-bubble,.seat-right-high .turn-bubble,.seat-right-low .turn-bubble{top:50%;left:auto;right:calc(100% + .45rem);transform:translateY(-50%)}.center-zone{z-index:3;width:min(57rem,72vw);position:absolute;top:39%;left:50%;transform:translate(-50%,-50%)}.center-table-grid{grid-template-columns:minmax(5.4rem,.7fr) minmax(10rem,1.3fr);justify-content:center;align-items:center;gap:clamp(1.2rem,5vw,4rem);display:grid}.pile-stats,.last-play-area{z-index:1;text-align:center;justify-items:center;display:grid;position:relative}.deck-stack{width:var(--deck-width);height:var(--deck-height);color:#fff;background:radial-gradient(circle,#fff9 1px,#0000 1.5px) 0 0/8px 8px,linear-gradient(135deg,#ff567f,#d72d76);border:2px solid #f8f2ff;border-radius:.65rem;place-items:center;font-size:1rem;font-weight:950;display:grid;position:relative;transform:rotate(-6deg);box-shadow:-5px 4px #8f2570,-9px 7px #56216e,0 .75rem 1.5rem #0c052f47}.deck-stack i{border:1px solid #ffffff8c;border-radius:.42rem;place-items:center;font-style:normal;display:grid;position:absolute;inset:.5rem}.pile-stats div{margin-top:.75rem}.pile-stats strong,.pile-stats span{display:block}.pile-stats strong{color:#fff8cf;font-size:clamp(.66rem,1vw,.78rem)}.pile-stats span{color:#c9c2e9;margin-top:.2rem;font-size:clamp(.54rem,.85vw,.66rem)}.last-play-area>p{color:#d4cff1;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:clamp(.58rem,.95vw,.7rem);font-weight:800}.last-play-content{justify-items:center;animation:.24s ease-out both table-settle;display:grid}.last-play-content>strong{color:var(--yellow);margin-bottom:.45rem;font-size:clamp(.65rem,1.1vw,.82rem)}.empty-table-play{color:#b7b0d8;background:#110a3b1f;border:1px dashed #ffffff36;border-radius:1rem;place-items:center;min-width:clamp(9rem,20vw,14rem);min-height:clamp(4.4rem,9vw,6.2rem);font-size:.7rem;display:grid}.table-cards{justify-content:center;max-width:min(48vw,32rem);padding:.15rem;display:flex}.playing-card{color:#17142c;vertical-align:middle;background:linear-gradient(145deg,#fffef7,#eeeaf4);border:1px solid #31205229;border-radius:.65rem;flex-direction:column;flex:none;justify-content:space-between;align-items:flex-start;width:clamp(3.58rem,6.72vw,5.04rem);height:clamp(5.15rem,9.52vw,7.22rem);padding:.42rem;display:inline-flex;position:relative;box-shadow:0 .45rem .9rem #0000003d}button.playing-card{cursor:pointer}.playing-card+.playing-card{margin-left:-.52rem}.table-cards .playing-card{width:var(--table-card-width);height:var(--table-card-height);padding:.39rem}.card-rank{font-size:clamp(.8rem,1.68vw,1.12rem);font-weight:950;line-height:1}.card-suit{align-self:center;font-size:clamp(1.4rem,3.14vw,2.24rem);line-height:1}.card-corner{align-self:flex-end;font-size:.62rem;font-weight:850}.red-card{color:#d13c37}.joker-card{color:#5b2b69;background:linear-gradient(145deg,#fff7c9,#eadcf2)}.selected-card{border:3px solid var(--yellow);box-shadow:0 0 0 3px #f9c74f2e,0 .85rem 1.2rem #0000004d}.ai-bubble{z-index:9;background:#110a35db;border:1px solid #f9c74f3d;border-radius:.8rem .8rem .2rem;align-items:center;gap:.5rem;max-width:min(15rem,70%);padding:.55rem .65rem;display:flex;position:absolute;top:52%;right:clamp(.6rem,2vw,1.5rem)}.ai-bubble p{color:#e0dcf2;margin:0;font-size:.65rem;line-height:1.35}.ai-bubble strong{color:#f7d982;display:block}.self-zone{z-index:12;width:min(13rem,18vw);position:absolute;bottom:clamp(1rem,3vh,2rem);left:clamp(1rem,2.5vw,2.5rem)}.self-meta{position:relative}.self-identity{align-items:center;gap:.6rem;display:flex;position:relative}.self-identity>div{min-width:0}.self-identity>div strong{font-size:clamp(.72rem,1.1vw,.9rem)}.self-identity>div span{color:#d4ceef;margin-top:.16rem;font-size:clamp(.54rem,.85vw,.65rem)}.self-identity em{right:auto;left:calc(var(--avatar-size) - .9rem)}.self-turn-bubble{top:auto;bottom:calc(100% + .55rem);left:0;transform:none}.selection-copy{color:#b8b1d9;margin-top:.35rem;font-size:.6rem;display:block}.hand-zone{z-index:11;bottom:calc(.1rem + env(safe-area-inset-bottom));width:min(58vw,47rem);height:clamp(8rem,22vh,12.5rem);position:absolute;left:50%;transform:translate(-50%)}.hand-scroller{width:100%;height:100%;padding:1.1rem .35rem .2rem;overflow:hidden}.hand-cards{justify-content:center;align-items:flex-end;min-width:0;height:100%;padding-bottom:.35rem;display:flex}.hand-card{width:var(--hand-card-width);height:var(--hand-card-height);transform:rotate(var(--fan-rotate,0deg)) translateY(var(--fan-drop,0));transform-origin:50% 112%;transition:transform .16s,box-shadow .16s}.hand-card.selected-card{transform:rotate(var(--fan-rotate,0deg)) translateY(calc(var(--fan-drop,0px) - 1.1rem))}.action-zone{z-index:14;right:clamp(.75rem,2vw,2rem);bottom:calc(1rem + env(safe-area-inset-bottom));width:min(15rem,18vw);position:absolute}.action-zone>p{color:#d0cae8;text-align:right;margin:0 0 .45rem;font-size:.62rem;font-weight:750}.game-page .game-actions{grid-template-columns:minmax(4.5rem,.8fr) minmax(5.8rem,1.2fr);gap:.5rem;display:grid}.play-button,.pass-button{min-height:52px;font-size:1rem}.pass-button{color:#261b42;background:#f1edff;border-color:#f4f0ff}.flight-card-group{z-index:40;pointer-events:none;will-change:transform, opacity;display:flex;position:absolute;transform:translate(-50%,-50%)}.flight-card-group .playing-card{width:var(--flight-card-width);height:var(--flight-card-height);padding:.34rem}.flight-card-group .playing-card+.playing-card{margin-left:-1.5rem}.flight-card-back{width:var(--flight-card-width);height:var(--flight-card-height);color:#fff;background:radial-gradient(circle,#ffffff94 1px,#0000 1.4px) 0 0/7px 7px,linear-gradient(135deg,#ff567f,#c82e79);border:2px solid #fff;border-radius:.5rem;place-items:center;font-weight:950;display:grid;box-shadow:0 .65rem 1.4rem #0c052f5c}.play-flight{animation:play-flight var(--flight-duration) cubic-bezier(.2, .75, .24, 1) both}.draw-flight{animation:draw-flight var(--flight-duration) cubic-bezier(.16, .72, .2, 1) both}.choice-panel,.winner-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07031ec7;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.choice-card,.winner-card{text-align:center;background:#18113d;border:1px solid #ffffff29;border-radius:1.4rem;width:min(100%,29rem);padding:1.5rem;box-shadow:0 2rem 5rem #00000070}.choice-card h2,.winner-card h2{margin:.4rem 0 .7rem;font-size:1.55rem}.choice-card>p:not(.eyebrow),.winner-actions p{color:#bcb6d7;line-height:1.5}.choice-options,.winner-actions{gap:.65rem;margin-top:1rem;display:grid}.winner-card{background:radial-gradient(circle at 50% 0,#f9c74f2b,#0000 45%),#18113d;border-color:#f9c74f5c;position:relative;overflow:hidden}.winner-crown{color:var(--yellow);filter:drop-shadow(0 .7rem 1rem #f9c74f2e);margin-bottom:.5rem;font-size:4rem;display:block}@media (width>=600px){.room-header{padding-left:1.25rem;padding-right:1.25rem}.header-actions .connection-badge,.compact-share{display:inline-flex}.lobby-shell{padding:2rem 1.5rem 3rem}.lobby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.lobby-actions .start-button{grid-column:auto}}@media (width<=899px){.table-rim{inset:clamp(2rem,5vh,3.3rem) clamp(1rem,5vw,2.5rem) clamp(9.5rem,22vh,12rem)}.seat-left{left:13%}.seat-right{left:87%}.seat-left-high{left:22%}.seat-right-high{left:78%}.seat-left-low{left:12%}.seat-right-low{left:88%}.center-zone{width:min(82vw,34rem);top:38%}.center-table-grid{grid-template-columns:minmax(4.6rem,.66fr) minmax(8.4rem,1.34fr);gap:clamp(.8rem,5vw,2.3rem)}.self-zone{bottom:calc(10.9rem + env(safe-area-inset-bottom));width:min(12rem,54vw);left:.75rem}.hand-zone{bottom:calc(3.7rem + env(safe-area-inset-bottom));width:100%;height:8.4rem}.hand-scroller{padding-top:.8rem}.action-zone{right:.5rem;bottom:calc(.75rem + env(safe-area-inset-bottom));width:min(10.5rem,48vw)}.action-zone>p{display:none}.play-button,.pass-button{min-height:44px;padding:.55rem .7rem;font-size:.82rem}.ai-bubble{max-width:12rem;top:57%}}@media (width<=599px){.room-header{min-height:62px;padding-top:calc(.4rem + env(safe-area-inset-top))}.game-page .game-shell{--avatar-size:2.95rem;--avatar-icon-size:1.1rem;--hand-card-width:3.6rem;--hand-card-height:5.22rem;--table-card-width:2.98rem;--table-card-height:4.28rem;--deck-width:3.25rem;--deck-height:4.5rem;--flight-card-width:2.82rem;--flight-card-height:4.05rem;height:calc(100dvh - 62px)}.brand-subtitle,.room-code-button span,.header-actions .connection-badge{display:none}.game-page .compact-share{display:inline-flex}.room-code-button{min-height:36px;padding:.3rem .45rem}.header-actions{gap:.3rem}.header-actions .ghost-button,.icon-button{height:36px;min-height:36px;padding:.35rem .52rem;font-size:.68rem}.icon-button{width:36px;font-size:1rem}.table-player{width:5.4rem}.seat-upper-left{top:13%;left:29%}.seat-upper-right{top:13%;left:71%}.seat-top{top:7%}.seat-left{top:27%;left:14%}.seat-right{top:27%;left:86%}.seat-left-high{top:12%;left:23%}.seat-right-high{top:12%;left:77%}.seat-left-low{top:27%;left:14%}.seat-right-low{top:27%;left:86%}.seat-copy strong{font-size:.62rem}.seat-copy span{font-size:.48rem}.turn-bubble{max-width:9.3rem;padding:.36rem .48rem;font-size:.56rem!important}.center-zone{width:92vw;top:38%}.center-table-grid{grid-template-columns:5.6rem minmax(8.2rem,1fr);gap:1.2rem}.pile-stats{transform:translate(1.15rem)}.table-cards{max-width:58vw}.table-cards .playing-card{width:var(--table-card-width);height:var(--table-card-height)}.playing-card+.playing-card{margin-left:-.9rem}.hand-card{width:var(--hand-card-width);height:var(--hand-card-height)}.self-zone{bottom:calc(10.6rem + env(safe-area-inset-bottom))}.selection-copy{display:none}.ai-bubble{max-width:9.5rem;padding:.4rem .5rem;top:55%;right:.5rem}.ai-bubble p{font-size:.55rem}}@media (height<=500px) and (orientation:landscape){.room-header{min-height:52px;padding-top:calc(.25rem + env(safe-area-inset-top));padding-bottom:.25rem}.game-page .game-shell{--avatar-size:2.55rem;--avatar-icon-size:1rem;--hand-card-width:3.15rem;--hand-card-height:4.5rem;--table-card-width:2.65rem;--table-card-height:3.78rem;--deck-width:2.65rem;--deck-height:3.65rem;--flight-card-width:2.65rem;--flight-card-height:3.78rem;height:calc(100dvh - 52px)}.brand-mark{width:2.15rem;height:1.5rem}.table-rim{inset:.8rem 3.5rem 5.2rem}.table-player .player-avatar,.self-identity .player-avatar{border-width:2px;border-radius:.75rem}.seat-upper-left,.seat-upper-right{top:17%}.seat-top{top:8%}.seat-left,.seat-right{top:34%}.seat-left-high,.seat-right-high{top:15%}.seat-left-low,.seat-right-low{top:42%}.seat-copy{margin-top:.15rem}.seat-copy span{padding:.1rem .28rem}.center-zone{width:52vw;top:43%}.deck-stack{width:var(--deck-width);height:var(--deck-height)}.pile-stats div{margin-top:.35rem}.empty-table-play{min-width:8rem;min-height:3.2rem}.table-cards .playing-card{width:var(--table-card-width);height:var(--table-card-height)}.self-zone{bottom:calc(5.2rem + env(safe-area-inset-bottom));left:.55rem}.self-identity>div span,.selection-copy{display:none}.hand-zone{bottom:calc(.75rem + env(safe-area-inset-bottom));width:64vw;height:5.9rem}.hand-card{width:var(--hand-card-width);height:var(--hand-card-height)}.action-zone{bottom:calc(.75rem + env(safe-area-inset-bottom));width:10.5rem}.game-page .game-actions{grid-template-columns:minmax(4rem,.8fr) minmax(5rem,1.2fr)}.play-button,.pass-button{min-height:38px;padding:.35rem .5rem;font-size:.72rem}.ai-bubble{display:none}.turn-bubble{max-width:8.5rem;padding:.28rem .4rem;font-size:.52rem!important}}@keyframes active-seat{0%,to{transform:translateY(0)}50%{transform:translateY(-.22rem)}}@keyframes table-settle{0%{opacity:0;transform:translateY(-.35rem)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes play-flight{0%{opacity:0;transform:translate(-50%,-50%)scale(.78)rotate(-7deg)}15%{opacity:1}82%{opacity:1;transform:translate(calc(-50% + var(--flight-x)), calc(-50% + var(--flight-y))) scale(1.04) rotate(2deg)}to{opacity:0;transform:translate(calc(-50% + var(--flight-x)), calc(-50% + var(--flight-y))) scale(1) rotate(0)}}@keyframes draw-flight{0%{opacity:0;transform:translate(-50%,-50%)scale(.76)rotate(-8deg)}16%{opacity:1}84%{opacity:1;transform:translate(calc(-50% + var(--flight-x)), calc(-50% + var(--flight-y))) scale(1.02) rotate(5deg)}to{opacity:0;transform:translate(calc(-50% + var(--flight-x)), calc(-50% + var(--flight-y))) scale(.96) rotate(0)}}@keyframes soft-flight{0%{opacity:0}45%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.current-player .player-avatar,.play-flight,.draw-flight,.last-play-content{animation:.16s both soft-flight!important}}
