:root{font-family:Inter,Noto Sans KR,PingFang SC,Apple SD Gothic Neo,system-ui,sans-serif;color:#ecf6ff;background:#030711;--bg:#030711;--surface:#07101f;--surface-2:#0a1629;--line:#183552;--cyan:#00e5ff;--blue:#087fff;--violet:#8a2be2;--magenta:#df31d6;--coral:#ff4d6d;--amber:#ffc857;--muted:#7890a8;--card-w:clamp(42px,4vw,64px);--card-h:calc(var(--card-w)*1.48)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;background:var(--bg)}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.44}button:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.app{display:flex;min-height:100vh;flex-direction:column;overflow:hidden;background:var(--bg)}.topbar{position:relative;z-index:40;height:72px;flex:0 0 72px;display:flex;align-items:center;padding:0 clamp(16px,2.2vw,38px);border-bottom:1px solid #17344e;background:#050a14ef;box-shadow:0 10px 30px #0007;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;min-width:190px}.brand>span:last-child{display:flex;flex-direction:column}.brand b{font-size:19px;letter-spacing:.06em;color:#e8f3ff;text-shadow:0 0 18px #287ef866}.brand small{margin-top:3px;color:#56718e;font-size:8px;letter-spacing:.22em}.brand-mark{position:relative;width:35px;height:35px;display:block;border:1px solid #00e5ff88;border-radius:50%;background:radial-gradient(circle,#102642,#050a14);box-shadow:0 0 18px #00e5ff2d}.brand-mark:after{content:"";position:absolute;inset:9px;border:2px solid #8a2be2;border-radius:50%}.brand-mark i{position:absolute;left:16px;top:5px;width:2px;height:25px;background:linear-gradient(var(--cyan),var(--violet));transform:rotate(45deg);box-shadow:0 0 8px var(--cyan)}.brand-mark i+i{transform:rotate(-45deg)}.topbar nav{height:100%;display:flex;align-items:stretch;margin:auto}.topbar nav button{min-width:88px;border:0;background:none;color:#617c97;font-weight:700;position:relative}.topbar nav button:hover{color:#bfeaff}.topbar nav button.active{color:var(--cyan);text-shadow:0 0 14px #00e5ff88}.topbar nav button.active:after{content:"";position:absolute;left:28%;right:28%;bottom:0;height:2px;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}.wallet{height:38px;display:flex;align-items:center;gap:8px;padding:0 6px 0 13px;border:1px solid #1d4668;border-radius:22px;background:#071323;color:#d8eaff;font-weight:750;font-size:13px;white-space:nowrap;box-shadow:inset 0 0 15px #0274b312}.wallet>i{width:9px;height:9px;transform:rotate(45deg);background:linear-gradient(135deg,var(--cyan),var(--violet));box-shadow:0 0 9px var(--cyan)}.wallet button{width:27px;height:27px;border:1px solid #00e5ff88;border-radius:50%;background:#071a29;color:var(--cyan);font-size:18px;line-height:1}.menu-button{width:36px;height:36px;margin-left:10px;display:grid;place-content:center;gap:4px;border:0;background:transparent}.menu-button i{display:block;width:20px;height:2px;background:#b5cce2;border-radius:2px}.presence{display:inline-block;width:6px;height:6px;margin:0 5px 1px 1px;border-radius:50%;background:#647587}.presence.live{background:#2cffb3;box-shadow:0 0 8px #2cffb3}.presence.connecting{background:var(--amber);box-shadow:0 0 8px var(--amber)}.presence.offline{background:var(--coral);box-shadow:0 0 8px var(--coral)}.lobby{background:radial-gradient(circle at 50% 22%,#111b44 0,#071020 35%,#030711 76%)}.lobby-stage{position:relative;isolation:isolate;min-height:calc(100svh - 72px);display:grid;place-items:center;overflow:hidden;padding:48px 24px 64px}.city-grid{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,transparent 58%,#020711),radial-gradient(ellipse at 50% 70%,#073b7444,transparent 52%),repeating-linear-gradient(90deg,transparent 0 72px,#003d6324 73px 74px),repeating-linear-gradient(0deg,transparent 0 58px,#55207e20 59px 60px);-webkit-mask-image:linear-gradient(transparent 3%,#000 42%,#000);mask-image:linear-gradient(transparent 3%,#000 42%,#000)}.city-grid:after{content:"";position:absolute;left:-5%;right:-5%;bottom:18%;height:28%;background:linear-gradient(90deg,#061021 1%,transparent 1%) 0 0/7% 100%,linear-gradient(155deg,transparent 45%,#7c169155 46% 47%,transparent 48%),linear-gradient(25deg,transparent 45%,#007fff55 46% 47%,transparent 48%);clip-path:polygon(0 68%,5% 58%,9% 72%,14% 26%,19% 62%,24% 37%,29% 70%,35% 19%,40% 56%,45% 31%,50% 70%,56% 22%,62% 66%,68% 34%,72% 71%,78% 17%,83% 58%,89% 30%,94% 69%,100% 44%,100% 100%,0 100%);opacity:.72;filter:drop-shadow(0 0 18px #003e7d)}.lobby-panel{position:relative;width:min(920px,94vw);padding:clamp(26px,4vw,54px);border:1px solid #1c4363;border-radius:24px;background:linear-gradient(145deg,#081323ef,#050a16f4);box-shadow:0 32px 100px #000d,0 0 60px #0a6cff1c,inset 0 1px #ffffff0d}.lobby-panel:before{content:"";position:absolute;left:22%;right:22%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 20px var(--cyan)}.lobby-heading{text-align:center}.lobby-heading small{color:var(--cyan);letter-spacing:.3em;font-size:10px}.lobby-heading h1{margin:12px 0 10px;font-size:clamp(32px,4vw,54px);line-height:1.06;letter-spacing:-.04em}.lobby-heading p{margin:0;color:#8196aa;font-size:13px}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.mode-card{position:relative;min-height:210px;padding:26px 18px 22px;overflow:hidden;border:1px solid #225077;border-radius:15px;background:linear-gradient(165deg,#0d1d34,#07101f);color:#e7f3ff;text-align:left;transition:transform .2s,border-color .2s,box-shadow .2s}.mode-card:after{content:"";position:absolute;inset:auto -20% -60% 20%;height:130px;border-radius:50%;filter:blur(24px);opacity:.32}.mode-card.quick{border-color:#ff4d6d99}.mode-card.quick:after{background:var(--coral)}.mode-card.ai{border-color:#00e5ff88}.mode-card.ai:after{background:var(--cyan)}.mode-card.friend{border-color:#a74cff99}.mode-card.friend:after{background:var(--violet)}.mode-card:hover{transform:translateY(-5px);border-color:#c7f8ff;box-shadow:0 18px 45px #0009,0 0 26px #00e5ff22}.mode-card b,.mode-card span,.mode-card em{position:relative;z-index:2;display:block}.mode-card b{margin-top:22px;font-size:20px}.mode-card span{margin-top:7px;color:#7890a8;font-size:11px}.mode-card em{position:absolute;right:15px;bottom:12px;font-style:normal;font-size:8px;letter-spacing:.15em;color:#59728b}.mode-glyph{position:relative;z-index:2;display:block;width:58px;height:58px;border-radius:16px;background:#102440;border:1px solid #ffffff1c;box-shadow:inset 0 0 22px #001329}.mode-glyph.quick{background:linear-gradient(145deg,#3e1730,#c6385b);box-shadow:0 0 25px #ff4d6d40}.mode-glyph.quick i{position:absolute;left:28px;top:11px;width:3px;height:38px;background:#ffd6dc;border-radius:3px;transform:rotate(45deg)}.mode-glyph.quick i+i{transform:rotate(-45deg)}.mode-glyph.quick i:nth-child(3){display:none}.mode-glyph.ai{border-color:#00e5ff66;box-shadow:0 0 25px #00e5ff2f}.mode-glyph.ai:before{content:"";position:absolute;inset:12px;border:2px solid #79efff;border-radius:50%;box-shadow:inset 0 0 13px #00e5ff}.mode-glyph.ai i{position:absolute;top:27px;width:5px;height:5px;border-radius:50%;background:#b9fbff;box-shadow:0 0 8px var(--cyan)}.mode-glyph.ai i:first-child{left:21px}.mode-glyph.ai i:nth-child(2){right:21px}.mode-glyph.ai i:nth-child(3){left:26px;top:7px;width:2px;height:8px}.mode-glyph.friend{border-color:#a34cff66;box-shadow:0 0 25px #8a2be238}.mode-glyph.friend i{position:absolute;width:18px;height:18px;border-radius:50%;background:linear-gradient(145deg,#d5b9ff,#8139bd);top:14px}.mode-glyph.friend i:first-child{left:20px}.mode-glyph.friend i:nth-child(2){left:9px;top:27px}.mode-glyph.friend i:nth-child(3){right:9px;top:27px}.lobby-meta{display:flex;justify-content:space-between;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid #173551;color:#617b95;font-size:10px;letter-spacing:.08em}.login-providers{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:15px}.login-providers>span{margin-right:5px;color:#58718a;font-size:9px}.login-providers button{border:1px solid #193652;border-radius:7px;background:#07101f;color:#71879c;padding:6px 9px;font-size:9px}.login-providers small{margin-left:5px;color:#41586e}.lobby-back{display:block;margin:16px auto 0;border:0;background:none;color:#8fa7be}.shop-stage{position:relative;flex:1;min-height:calc(100svh - 72px);padding:42px 16px;background:radial-gradient(circle at 50% 0,#102044,#030711 60%)}.game-shell{height:100svh}.game-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:0;flex:1}.game-sidebar{z-index:10;display:flex;min-height:0;flex-direction:column;padding:18px 14px;border-right:1px solid #173652;background:linear-gradient(180deg,#07101f,#040914);box-shadow:14px 0 35px #0008}.room-summary,.activity,.quick-chat{border:1px solid #173c5b;border-radius:12px;background:#081525;padding:14px}.room-summary{display:grid;grid-template-columns:1fr auto;gap:5px 10px}.room-summary small{color:var(--cyan);font-size:8px;letter-spacing:.18em}.room-summary b{grid-row:2;font-size:18px;letter-spacing:.07em}.room-summary span{grid-column:2;grid-row:1/3;align-self:center;color:var(--amber);font-size:9px}.activity{margin-top:12px}.activity h2,.quick-chat h2{margin:0 0 12px;color:#5bcfe4;font-size:11px;letter-spacing:.08em}.activity>div{display:flex;align-items:center;gap:8px;padding:9px 0;border-top:1px solid #132b43}.activity p{min-width:0;margin:0;display:flex;flex:1;flex-direction:column}.activity p b{overflow:hidden;color:#c4d7e9;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.activity p small{margin-top:2px;color:#536c83;font-size:8px}.activity em{color:#4f667d;font-style:normal;font-size:7px}.mini-avatar{width:28px;height:28px;display:grid;place-items:center;border:1px solid #00e5ff66;border-radius:50%;background:radial-gradient(circle,#193d60,#06101f);color:var(--cyan);font-size:8px}.avatar-0{border-color:#ff4d6d99;color:#ff879b}.quick-chat{margin-top:auto}.quick-chat>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.quick-chat button,.rules-button{min-height:34px;border:1px solid #193a59;border-radius:7px;background:#07101f;color:#7891a9;font-size:9px}.quick-chat button:hover{border-color:var(--cyan);color:#c5f8ff}.rules-button{margin-top:12px;text-align:left;padding:0 13px}.rules-button span{margin-right:8px;color:var(--cyan)}.board{position:relative;isolation:isolate;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#092c5a 0,#06152d 28%,#030812 70%),linear-gradient(#050913,#01030a)}.board:after{content:"";position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,#06153388,transparent 28%,transparent 72%,#25092d5c),radial-gradient(circle at 50% 80%,#7b157327,transparent 28%);box-shadow:inset 0 0 120px #000}.board>.city-grid{opacity:.7}.arena-lines{position:absolute;z-index:-1;inset:19% 18% 17%;clip-path:polygon(16% 0,84% 0,100% 32%,88% 100%,12% 100%,0 32%);background:linear-gradient(135deg,#006aff 0 3px,transparent 3px 97%,#006aff 97%),linear-gradient(45deg,#8a2be2 0 2px,transparent 2px 98%,#8a2be2 98%);filter:drop-shadow(0 0 8px #007fff);opacity:.85}.arena-lines:before{content:"";position:absolute;inset:8px;clip-path:inherit;background:#030917}.arena-glow{position:absolute;z-index:-2;inset:29% 22% 24%;border-radius:50%;background:#007fff1c;filter:blur(32px)}.mobile-board-bar{display:none}.player{position:absolute;z-index:6;display:flex;align-items:center;gap:9px}.player>span:nth-child(2){display:flex;flex-direction:column}.player b{color:#d8e8f7;font-size:11px}.player small{color:#7890a8;font-size:8px}.avatar{width:48px;height:48px;display:grid!important;place-items:center;border:2px solid var(--cyan);border-radius:50%;background:radial-gradient(circle at 50% 35%,#244a70,#07101f 65%);color:var(--cyan);font-weight:850;font-size:10px;box-shadow:0 0 22px #00e5ff45}.avatar-ai{border-color:var(--coral);color:#ff9aac;box-shadow:0 0 24px #ff4d6d42}.avatar-me{border-color:var(--cyan)}.player.opponent{top:20px;left:50%;transform:translate(-50%)}.player.me{left:24px;bottom:18px}.player.me strong{margin-left:8px;padding-left:14px;border-left:1px solid #20415d;color:var(--amber);font-size:22px}.player.me strong small{margin-left:2px;color:#6b8297;font-size:8px}.backs{display:flex;margin-left:12px}.backs i{width:34px;height:49px;margin-left:-10px;border:1px solid #ce34c3;border-radius:5px;background:repeating-linear-gradient(45deg,#701368 0 5px,#9f188e 5px 7px);box-shadow:0 0 12px #df31d644}.score-panel{position:absolute;z-index:4;top:38%;width:96px;padding:12px;border:1px solid #165084;border-radius:10px;background:#061326cc;text-align:center}.score-left{left:22%}.score-right{right:22%}.score-panel span{display:block;color:#579ec1;font-size:9px}.score-panel b{display:block;margin-top:4px;font-size:24px}.score-panel small{font-size:9px;color:#718aa0}.turn{position:absolute;z-index:5;left:50%;top:28%;display:flex;min-width:210px;transform:translate(-50%);align-items:center;flex-direction:column;text-align:center}.turn>span{width:78px;height:78px;display:grid;place-items:center;border:4px solid #0b86c9;border-radius:50%;background:radial-gradient(circle,#102c4d,#050c18);color:#e5f6ff;font-size:25px;box-shadow:0 0 0 8px #08294b,0 0 25px #00e5ff40}.turn>span:after{content:"";position:absolute;width:72px;height:72px;border-top:3px solid var(--cyan);border-radius:50%;transform:rotate(35deg)}.turn b{margin-top:17px;color:var(--cyan);font-size:25px;text-shadow:0 0 18px #00e5ff88}.turn small{max-width:270px;margin-top:4px;color:#b6c8d9;font-size:10px}.turn>span.urgent{border-color:var(--coral);color:#ff9eaf;animation:timer-pulse .8s ease-in-out infinite alternate}@keyframes timer-pulse{to{box-shadow:0 0 0 8px #401526,0 0 28px #ff4d6d}}.table{position:absolute;z-index:5;left:50%;top:56%;display:grid;grid-template-columns:repeat(4,var(--card-w));gap:8px;transform:translate(-50%,-50%)}.hwatu{position:relative;width:var(--card-w);height:var(--card-h);padding:0;overflow:hidden;border:1px solid #ffd27c;border-radius:7px;background:linear-gradient(155deg,#fff9e8,#eadfca);color:#111;box-shadow:0 7px 18px #000a;transition:transform .15s,border-color .15s,box-shadow .15s}.hwatu:after{content:"";position:absolute;right:-24%;bottom:-20%;width:80%;height:44%;border-radius:50% 50% 0 0;background:#c92e38}.hwatu small{position:absolute;z-index:3;left:5px;top:3px;font:800 10px Georgia}.card-art{position:absolute;z-index:1;left:5%;top:16%;width:90%;height:62%}.card-art .stem{fill:none;stroke:#16283a;stroke-width:2.5;stroke-linecap:round}.card-art .leaf{fill:#3b875f}.card-art .bloom{fill:#ef6a91;stroke:#bd315b;stroke-width:1}.card-art .ribbon{fill:#efbc3e}.month-6 .card-art .bloom,.month-8 .card-art .bloom{fill:#8e4ed9}.month-10 .card-art .bloom,.month-11 .card-art .bloom{fill:#e34c36}.month-12 .card-art .leaf{fill:#4e77c6}.card-name{position:absolute;z-index:3;left:5px;bottom:5px;color:#481118;font-size:8px;font-weight:900}.hwatu>i{position:absolute;z-index:4;right:3px;bottom:3px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#ffc72f;color:#551b1c;font:800 8px Georgia}.hwatu>i:empty{display:none}.hwatu:hover:not(:disabled),.hwatu.selected{z-index:8;transform:translateY(-12px);border-color:var(--cyan);box-shadow:0 0 0 2px var(--cyan),0 0 24px #00e5ff99,0 12px 24px #000}.hand{position:absolute;z-index:8;bottom:15px;left:50%;display:flex;gap:6px;transform:translate(-50%)}.captured{position:absolute;z-index:5;right:22px;top:47%;display:flex;align-items:center;gap:7px}.captured label{position:absolute;right:0;top:-19px;color:#5b819d;font-size:8px}.captured>div{display:flex}.captured .hwatu{--card-w:31px;margin-left:-12px}.captured .card-name,.captured .hwatu small{display:none}.captured>b{color:var(--amber);font-size:9px}.special-actions{position:absolute;z-index:10;left:50%;bottom:126px;display:flex;gap:8px;transform:translate(-50%)}.special-actions button{padding:8px 13px;border:1px solid var(--violet);border-radius:8px;background:#1a0a29ee;color:#fff;box-shadow:0 0 18px #8a2be244}.special-actions b,.special-actions span{display:block}.special-actions b{color:#dcb8ff;font-size:10px}.special-actions span{margin-top:2px;color:#7f6691;font-size:8px}.play-button{position:absolute;z-index:9;right:24px;bottom:23px;min-width:90px;padding:12px 20px;border:1px solid #ff758d;border-radius:8px;background:linear-gradient(180deg,#ff536e,#b91f43);color:#fff;font-weight:850;box-shadow:inset 0 1px #fff5,0 0 24px #ff4d6d66}.edge-actions{position:absolute;z-index:6;right:0;top:24%;display:flex;flex-direction:column}.edge-actions button{width:34px;height:50px;border:1px solid #17466b;border-right:0;background:#07111ed9;color:#5e8bae;font-size:8px}.edge-actions button:first-child{border-radius:9px 0 0}.edge-actions button:last-child{border-radius:0 0 0 9px}.decision{position:absolute;z-index:30;left:50%;top:50%;width:min(460px,90vw);padding:30px;transform:translate(-50%,-50%);border:1px solid #2572a3;border-radius:18px;background:#07101ff2;text-align:center;box-shadow:0 32px 90px #000,0 0 35px #00e5ff20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.decision small{color:var(--cyan);letter-spacing:.22em}.decision h2{margin:10px;color:#f1f7ff;font-size:30px}.decision p{color:#7f96aa;font-size:12px;line-height:1.6}.decision>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.decision button{padding:14px;border:1px solid #24557d;border-radius:9px;background:#081525;color:#d6e9fb;font-weight:800}.decision button span{display:block;margin-top:4px;color:#60788f;font-size:8px}.decision .again{border-color:#ff647e;background:linear-gradient(#ff536e,#bb2145);color:#fff}.invite code{display:block;overflow:hidden;margin:16px 0;padding:11px;border:1px solid #1b4668;border-radius:8px;background:#020711;color:var(--cyan);text-overflow:ellipsis;white-space:nowrap;font-size:9px}.game-controls{z-index:20;height:54px;flex:0 0 54px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-top:1px solid #173852;background:#050b15}.game-controls button{min-width:92px;padding:8px 14px;border:1px solid #1c5278;border-radius:7px;background:#081421;color:#72cfe5}.game-controls button:hover:not(:disabled){border-color:var(--cyan);color:#d3fbff}.game-controls p{color:#526d86;font-size:9px}.game-controls .forfeit{border-color:#71314a;color:#ff728b}.site-footer{margin-top:auto;padding:20px 24px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:13px 28px;border-top:1px solid #16334e;background:#030711;text-align:center}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.footer-links button,.refund-link{padding:2px 0;border:0;border-bottom:1px solid transparent;background:none;color:#60778e;font-size:11px}.footer-links button:hover,.refund-link:hover{border-bottom-color:var(--cyan);color:var(--cyan)}.footer-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.footer-controls label{display:flex;align-items:center;gap:7px;color:#4f667c;font-size:9px;text-transform:uppercase}.footer-controls select{padding:5px 8px;border:1px solid #183c5b;border-radius:7px;background:#07101f;color:#b5c9dc}.footer-note{flex-basis:100%;margin:0;color:#3e5367;font-size:9px}.legal-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:#01040bc4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.legal-sheet{width:min(720px,100%);max-height:82vh;display:flex;flex-direction:column;border:1px solid #1d557e;border-radius:17px;background:#07101f;box-shadow:0 30px 100px #000}.legal-sheet header{height:auto;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #173953;background:transparent}.legal-sheet h2{margin:0;color:#d8ebfb;font-size:19px}.legal-sheet header button{padding:7px 14px;border:1px solid #1d4b70;border-radius:7px;background:#081525;color:#8eabc4}.legal-body{overflow-y:auto;padding:22px 24px 30px;color:#9ab0c4;font-size:13px;line-height:1.75}.legal-body h2{margin:22px 0 8px;color:var(--cyan);font-size:14px}.legal-body h2:first-child{margin-top:0}.shop{width:min(780px,100%);margin:0 auto;padding:30px 24px;text-align:center;border:1px solid #173b59;border-radius:20px;background:#07101fe8;box-shadow:0 28px 90px #0009}.shop-kicker{margin:0 0 7px;color:var(--cyan);font-size:9px;letter-spacing:.3em}.shop h2{margin:0 0 8px;font-size:28px}.shop-sub{margin:0 0 22px;color:#7790a8;font-size:12px}.channel-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:20px}.channel{display:flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid #1a466a;border-radius:999px;background:#081525;color:#8ca7bf}.channel.on{border-color:var(--cyan);color:#d8faff;box-shadow:0 0 16px #00e5ff22}.pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.pack{padding:20px 16px;display:flex;align-items:center;flex-direction:column;gap:6px;border:1px solid #173c5a;border-radius:14px;background:#081525}.pack b{font-size:14px}.pack strong{color:var(--cyan);font-size:22px}.pack small{color:#5c7186}.pack button{width:100%;margin-top:8px;padding:10px;border:1px solid #ff768d;border-radius:8px;background:linear-gradient(#ff536e,#be2147);color:#fff;font-weight:800}.shop-notice{color:#829bb1}.refund-link{margin-top:18px}@media(max-width:1100px){:root{--card-w:clamp(42px,5.5vw,60px)}.game-layout{grid-template-columns:176px minmax(0,1fr)}.game-sidebar{padding:12px 9px}.quick-chat{display:none}.score-left{left:10%}.score-right{right:10%}.captured{right:10px}.topbar nav button{min-width:72px}.arena-lines{left:10%;right:10%}}@media(orientation:portrait)and (max-width:900px){.game-layout{display:block}.game-sidebar{display:none}.board{height:calc(100svh - 126px)}.score-left{left:8%}.score-right{right:8%}.captured{top:40%}.table{top:54%}.turn{top:27%}.topbar nav{display:none}.topbar .wallet{margin-left:auto}.menu-button{display:grid}.lobby-panel{width:min(620px,94vw)}.mode-grid{gap:12px}.mode-card{min-height:190px;padding:22px 14px}.mode-card b{font-size:17px}}@media(max-width:700px)and (orientation:portrait){:root{--card-w: calc((100vw - 30px)*.1 - 2px) }.topbar{height:56px;flex-basis:56px;padding:0 10px}.brand{min-width:0}.brand-mark{width:29px;height:29px}.brand-mark i{left:13px;top:4px;height:21px}.brand b{font-size:13px}.brand small{display:none}.topbar nav,.menu-button{display:none}.wallet{height:32px;margin-left:auto;padding-left:9px;font-size:10px}.wallet button{width:23px;height:23px}.lobby-stage{min-height:calc(100svh - 56px);padding:22px 13px 30px}.lobby-panel{padding:22px 14px;border-radius:17px}.lobby-heading{text-align:left}.lobby-heading h1{font-size:29px}.lobby-heading p{font-size:11px}.mode-grid{grid-template-columns:1fr;gap:10px;margin-top:20px}.mode-card{min-height:91px;padding:14px 14px 12px 88px}.mode-glyph{position:absolute;left:16px;top:16px;width:58px;height:58px}.mode-card b{margin-top:6px;font-size:17px}.mode-card span{font-size:9px}.mode-card em{right:11px;bottom:8px}.lobby-meta{font-size:8px}.lobby-meta span:last-child{display:none}.login-providers{display:none}.site-footer{padding:16px 10px}.footer-controls{display:none}.game-shell{height:100svh}.game-layout{flex:1}.board{height:calc(100svh - 102px);min-height:0}.board>.city-grid{opacity:.42}.mobile-board-bar{position:absolute;z-index:12;left:0;right:0;top:0;height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid #153652;background:#050b16c9}.mobile-board-bar button{border:0;background:none;color:#a9c6dc;font-size:22px}.mobile-board-bar b{font-size:10px;letter-spacing:.08em}.mobile-board-bar span{color:#6e8aa3;font-size:7px}.arena-lines{inset:17% 1% 16%;opacity:.64}.player.opponent{top:49px}.player.opponent .avatar{width:34px;height:34px}.player.opponent>span:nth-child(2){display:none}.backs{margin-left:2px}.backs i{width:24px;height:36px;margin-left:-8px}.score-panel{top:29%;width:62px;padding:7px}.score-panel span{font-size:7px}.score-panel b{font-size:16px}.score-left{left:3px}.score-right{right:3px}.turn{top:23%;min-width:160px}.turn>span{width:58px;height:58px;border-width:3px;font-size:19px;box-shadow:0 0 0 5px #08294b,0 0 20px #00e5ff33}.turn>span:after{width:54px;height:54px}.turn b{margin-top:10px;font-size:18px}.turn small{max-width:185px;font-size:8px}.table{top:51%;grid-template-columns:repeat(4,45px);gap:5px}.table .hwatu{--card-w:45px}.hand{bottom:6px;width:100%;justify-content:center;gap:2px;padding:0 4px}.hand .hwatu:hover:not(:disabled),.hand .hwatu.selected{transform:translateY(-7px)}.hwatu{border-radius:4px}.hwatu small{left:3px;top:2px;font-size:7px}.card-name{display:none}.hwatu>i{width:13px;height:13px;font-size:6px}.captured{display:none}.player.me{left:8px;bottom:73px}.player.me .avatar{width:34px;height:34px}.player.me>span:nth-child(2){display:none}.player.me strong{margin-left:0;padding-left:7px;font-size:15px}.play-button{right:8px;bottom:70px;min-width:62px;padding:9px 12px;font-size:10px}.edge-actions{display:none}.special-actions{bottom:70px}.special-actions span{display:none}.decision{padding:22px 16px}.decision h2{font-size:24px}.game-controls{height:46px;flex-basis:46px;padding:0 8px}.game-controls button{min-width:72px;padding:7px;font-size:9px}.game-controls p{display:none}}@media(orientation:landscape)and (max-height:620px){:root{--card-w:clamp(34px,5.15vw,52px)}.topbar{height:44px;flex-basis:44px;padding:0 12px}.brand{min-width:0}.brand-mark{width:27px;height:27px}.brand-mark i{left:12px;top:3px;height:20px}.brand b{font-size:12px}.brand small,.topbar nav{display:none}.wallet{height:29px;margin-left:auto;font-size:9px}.wallet button{width:21px;height:21px}.menu-button{display:grid;width:31px;height:31px}.game-layout{display:block;flex:1}.game-sidebar,.game-controls{display:none}.board{height:calc(100svh - 44px);min-height:0}.board>.city-grid{opacity:.45}.mobile-board-bar{display:none}.arena-lines{inset:8% 17% 10%}.player.opponent{top:5px}.player.opponent .avatar{width:32px;height:32px}.player.opponent b{font-size:8px}.player.opponent small{font-size:6px}.backs i{width:25px;height:36px;margin-left:-8px}.turn{top:18%;min-width:145px}.turn>span{width:48px;height:48px;border-width:2px;font-size:16px;box-shadow:0 0 0 4px #08294b,0 0 15px #00e5ff33}.turn>span:after{width:44px;height:44px}.turn b{margin-top:6px;font-size:14px}.turn small{max-width:180px;font-size:7px}.table{top:50%;grid-template-columns:repeat(4,38px);gap:4px}.table .hwatu{--card-w:38px}.score-panel{top:36%;width:65px;padding:7px}.score-panel span{font-size:6px}.score-panel b{font-size:15px}.score-left{left:18%}.score-right{right:18%}.hand{bottom:5px;gap:3px}.player.me{left:8px;bottom:8px}.player.me .avatar{width:32px;height:32px}.player.me>span:nth-child(2){display:none}.player.me strong{font-size:14px;margin-left:0;padding-left:7px}.captured{display:none}.play-button{right:10px;bottom:9px;min-width:64px;padding:9px 12px;font-size:9px}.edge-actions{top:30%}.edge-actions button{height:35px}.special-actions{bottom:58px}.special-actions span{display:none}.decision{width:min(420px,72vw);padding:18px}.decision h2{font-size:22px;margin:6px}.decision p{margin:5px}.decision>div{margin-top:10px}.decision button{padding:9px}.lobby-stage{min-height:calc(100svh - 44px);padding:14px}.lobby-panel{width:min(900px,94vw);padding:18px 24px}.lobby-heading h1{font-size:25px}.lobby-heading h1 br{display:none}.lobby-heading p{font-size:9px}.mode-grid{margin-top:14px;gap:10px}.mode-card{min-height:104px;padding:14px 10px 10px 76px}.mode-glyph{position:absolute;left:12px;top:17px;width:54px;height:54px}.mode-card b{margin-top:12px;font-size:14px}.mode-card span{font-size:8px}.lobby-meta{margin-top:12px;padding-top:10px}.login-providers,.site-footer{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hwatu,.mode-card{transition:none}.turn>span.urgent{animation:none}}.topbar-language{position:relative;margin:0 8px 0 10px}.topbar-language>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar-language select{height:34px;min-width:62px;padding:0 22px 0 9px;border:1px solid #1d4668;border-radius:18px;background:#061222;color:#99b5ca;font-size:9px;font-weight:800}.rules-button span{display:inline-block;width:12px;height:12px;margin-right:8px;border:1px solid var(--cyan);border-radius:3px;vertical-align:-2px;box-shadow:inset 0 0 0 2px #07101f,0 0 7px #00e5ff66}.history-panel .history-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.history-stats>span{display:flex;min-width:0;flex-direction:column;gap:5px;padding:12px;border:1px solid #1a496d;border-radius:9px;background:#061425}.history-stats b{overflow:hidden;color:#d7ebfb;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.history-stats strong{color:var(--amber);font-size:10px}.history-panel>button{width:100%;margin-top:12px}.payment-glyph{position:relative;width:18px;height:13px;border:1px solid currentColor;border-radius:3px}.payment-glyph:before{content:"";position:absolute;left:2px;right:2px;top:3px;height:2px;background:currentColor;opacity:.7}.payment-glyph:after{content:"";position:absolute;left:3px;bottom:2px;width:5px;height:1px;background:currentColor}@media(max-width:700px)and (orientation:portrait){.topbar-language{margin:0 4px 0 auto}.topbar-language select{height:30px;min-width:56px;width:56px;padding:0 16px 0 6px;font-size:8px}.topbar .wallet{margin-left:0;padding-left:8px;font-size:9px}}@media(orientation:landscape)and (max-height:620px){.topbar-language{margin:0 4px 0 auto}.topbar-language select{height:28px;min-width:56px;width:56px;padding:0 15px 0 6px;font-size:8px}.topbar .wallet{margin-left:0}.lobby-stage{padding:8px 14px}.lobby-panel{padding:10px 20px}.lobby-heading small{font-size:7px}.lobby-heading h1{margin:5px 0 4px;font-size:22px}.lobby-heading p{font-size:8px}.mode-grid{margin-top:8px}.mode-card{min-height:78px;height:78px;padding:8px 8px 8px 62px}.mode-glyph{left:9px;top:15px;width:46px;height:46px;border-radius:12px}.mode-glyph.quick i{left:22px;top:8px;height:30px}.mode-glyph.ai:before{inset:9px}.mode-glyph.ai i{top:21px}.mode-glyph.ai i:first-child{left:17px}.mode-glyph.ai i:nth-child(2){right:17px}.mode-glyph.ai i:nth-child(3){left:21px;top:5px}.mode-glyph.friend i{width:14px;height:14px;top:11px}.mode-glyph.friend i:first-child{left:16px}.mode-glyph.friend i:nth-child(2){left:7px;top:22px}.mode-glyph.friend i:nth-child(3){right:7px;top:22px}.mode-card b{margin-top:7px;font-size:13px}.mode-card span{font-size:7px}.mode-card em{bottom:6px}.lobby-meta{display:none}}.login-cta{background:none;border:1px solid #c9a44c55;border-radius:999px;color:#c9a44c;padding:6px 16px;font-size:12.5px;cursor:pointer;letter-spacing:.04em}.login-cta:hover{background:#c9a44c1a;border-color:#c9a44c}.login-sheet{background:#0f1310;border:1px solid #c9a44c33;border-radius:16px;max-width:420px;width:100%;display:flex;flex-direction:column}.login-sheet header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #c9a44c22}.login-sheet h2{margin:0;font-size:18px;color:#c9a44c;letter-spacing:.02em}.login-sheet header button{background:none;border:1px solid #c9a44c44;border-radius:7px;color:#9a958a;padding:6px 14px;cursor:pointer;font-size:12.5px}.login-body{padding:20px 24px 26px;display:flex;flex-direction:column;gap:10px}.login-sub{margin:0 0 6px;color:#8b867d;font-size:13px;line-height:1.6}.login-option{display:flex;align-items:center;gap:11px;width:100%;background:#12161380;border:1px solid #c9a44c2e;border-radius:10px;color:#e8e4d8;padding:12px 15px;font-size:14px;cursor:pointer;text-align:left}.login-option:hover:not(:disabled){border-color:#c9a44c;background:#c9a44c14}.login-option:disabled{opacity:.42;cursor:not-allowed}.login-glyph{width:19px;height:19px;border-radius:50%;flex:none;background:#c9a44c33;position:relative}.login-glyph.google{background:conic-gradient(#e84335 0 25%,#f9bb00 0 50%,#34a853 0 75%,#4285f4 0)}.login-glyph.mail{border-radius:4px;background:#c9a44c55}.login-glyph.phone{border-radius:5px;background:#c9a44c55;width:14px;height:20px}.login-field{display:flex;flex-direction:column;gap:6px;color:#8b867d;font-size:12px;letter-spacing:.04em}.login-field input{background:#0d110e;border:1px solid #c9a44c3a;border-radius:9px;color:#e8e4d8;padding:11px 13px;font-size:15px;letter-spacing:.04em}.login-field input:focus{outline:none;border-color:#c9a44c}.login-field input:disabled{opacity:.6}.login-primary{margin-top:4px;background:linear-gradient(180deg,#d8b45e,#b28d38);color:#181405;border:0;border-radius:9px;padding:11px 0;font-weight:700;cursor:pointer;letter-spacing:.04em}.login-primary:disabled{opacity:.45;cursor:not-allowed}.login-back{background:none;border:0;color:#6f6b62;font-size:12.5px;cursor:pointer;padding:4px}.login-back:hover{color:#c9a44c}.login-hint{margin:2px 0 0;color:#6f6b62;font-size:12px}.login-error{margin:4px 0 0;color:#e08b8b;font-size:12.5px}.hwatu.selected{border-color:#00e5ff;box-shadow:0 0 0 2px #00e5ff,0 0 24px #00e5ff99,0 10px 22px #000;transform:translateY(-12px)}:root{--reference-line:#6f7e92;--reference-panel:#050d1bcc;--reference-panel-solid:#06101f;--reference-card:#f4e8cb;--card-w:clamp(52px,4.25vw,64px);--card-h:calc(var(--card-w)*1.58)}.topbar{height:64px;flex-basis:64px;padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));border-bottom:1px solid #53617599;background:linear-gradient(180deg,#030812fa,#050a14f2);box-shadow:0 8px 30px #000b}.brand{min-width:210px;gap:0}.brand-mark{display:none}.brand b{font-size:20px;letter-spacing:.04em;color:#dce9ff}.brand small{font-size:7px;color:#74879e}.topbar nav button{min-width:96px;color:#77879a;font-size:14px}.topbar nav button.active{color:var(--cyan)}.wallet{height:36px;border-color:#326182;background:#031021d9;box-shadow:inset 0 0 20px #0087c322,0 0 16px #001}.notification-button{position:relative;width:42px;height:42px;margin-left:8px;border:0;border-radius:50%;background:transparent;color:#d9e8f7}.notification-button span{position:absolute;left:14px;top:10px;width:14px;height:16px;border:1.6px solid currentColor;border-top-left-radius:8px;border-top-right-radius:8px;border-bottom:0}.notification-button span:before{content:"";position:absolute;left:-4px;right:-4px;bottom:-4px;height:5px;border:1.6px solid currentColor;border-top:0;border-radius:0 0 8px 8px}.notification-button span:after{content:"";position:absolute;left:5px;bottom:-8px;width:3px;height:3px;border-radius:50%;background:currentColor;box-shadow:0 0 8px #00e5ff}.notification-popover{position:fixed;z-index:100;right:max(18px,env(safe-area-inset-right));top:58px;width:250px;padding:16px;border:1px solid #285577;border-radius:10px;background:#06101ff2;box-shadow:0 20px 60px #000d,0 0 24px #00bce827;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.notification-popover b{color:#dcecff;font-size:12px}.notification-popover p{margin:7px 0 0;color:#7892a9;font-size:10px;line-height:1.5}.mobile-menu-popover{position:fixed;z-index:100;right:max(10px,env(safe-area-inset-right));top:48px;width:150px;padding:7px;border:1px solid #285577;border-radius:10px;background:#06101ff5;box-shadow:0 20px 60px #000e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-menu-popover button{width:100%;min-height:40px;padding:0 12px;border:0;border-bottom:1px solid #183650;background:transparent;color:#b9cee1;text-align:left;font-size:11px}.mobile-menu-popover button:last-child{border-bottom:0}.mobile-menu-popover button:hover{background:#0b2035;color:#fff}.lobby{background:#02060f url(/assets/neon-arena-v2-Co6NcnKn.webp) center 26%/cover fixed no-repeat}.lobby-stage{min-height:calc(100svh - 64px);background:linear-gradient(180deg,#02071366,#020712e8 88%)}.lobby-stage>.city-grid{display:none}.lobby-panel{width:min(900px,92vw);padding:46px 52px 40px;border:1px solid #7b81906e;border-radius:17px;background:linear-gradient(150deg,#071323ed,#030915f2);box-shadow:0 34px 100px #000,0 0 45px #0078ff22,inset 0 1px #fff1;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.lobby-heading h1{font-size:48px}.lobby-heading p{color:#9aa8b8}.mode-grid{gap:18px;margin-top:32px}.mode-card{min-height:196px;border-radius:9px;background:linear-gradient(155deg,#102038ec,#060d1aea)}.mode-card.quick{background:radial-gradient(circle at 45% 20%,#ff4d6d27,transparent 48%),linear-gradient(155deg,#26101d,#090d18)}.mode-card.ai{background:radial-gradient(circle at 45% 20%,#00e5ff22,transparent 48%),linear-gradient(155deg,#071d30,#090d18)}.mode-card.friend{background:radial-gradient(circle at 45% 20%,#a84cff2b,transparent 48%),linear-gradient(155deg,#1b0d2b,#090d18)}.game-shell{height:100svh;background:#02060f}.game-layout{grid-template-columns:212px minmax(0,1fr)}.game-sidebar{padding:14px 12px;border-right:1px solid #4f607782;background:linear-gradient(180deg,#041020f4,#030914fa);box-shadow:12px 0 32px #000b}.room-summary,.activity,.quick-chat{border-color:#315376;border-radius:9px;background:linear-gradient(160deg,#08182aee,#040b16ee)}.room-summary{padding:12px}.activity{margin-top:10px}.activity>div{padding:10px 0}.quick-chat{margin-bottom:2px}.mini-avatar{background:center/cover no-repeat}.mini-avatar.avatar-0{background-image:url(/assets/player-night-v2-BSkFkB3k.webp);font-size:0}.mini-avatar.avatar-1{background-image:url(/assets/player-violet-v2-DbRyuw3E.webp);font-size:0}.board{background-image:linear-gradient(180deg,#0207140c 0,#02061122 45%,#01050ddd),url(/assets/neon-arena-v2-Co6NcnKn.webp);background-position:center top;background-size:cover;background-repeat:no-repeat}.board>.city-grid{display:none}.board:before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 3px,#00d9ff08 4px),radial-gradient(ellipse at 50% 53%,transparent 0 36%,#02071122 62%,#01040bdd 100%);mix-blend-mode:screen}.board:after{z-index:-1;background:linear-gradient(90deg,#0207119e 0,transparent 18%,transparent 82%,#1204149c 100%);box-shadow:inset 0 0 90px #000b}.arena-lines{inset:20% 11% 18%;opacity:.72;background:linear-gradient(135deg,#047eff 0 3px,transparent 3px 97%,#047eff 97%),linear-gradient(45deg,#0074ff 0 3px,transparent 3px 97%,#0074ff 97%);filter:drop-shadow(0 0 7px #057dff)}.arena-lines:before{inset:7px;background:linear-gradient(180deg,#020b1bd9,#030716ed)}.arena-glow{inset:28% 20% 18%;background:#006fff1c;filter:blur(42px)}.player{gap:10px}.player b{font-size:12px;color:#eef5ff}.player small{color:#ffb44f;font-size:9px}.avatar{width:54px;height:54px;border-width:2px;background-position:center;background-size:cover;background-repeat:no-repeat;font-size:0}.avatar-ai{background-image:url(/assets/player-night-v2-BSkFkB3k.webp);border-color:#ff4d6d;box-shadow:0 0 0 3px #07101f,0 0 24px #ff4d6d77}.avatar-me{background-image:url(/assets/player-violet-v2-DbRyuw3E.webp);border-color:#00e5ff;box-shadow:0 0 0 3px #07101f,0 0 24px #00e5ff66}.player.opponent{top:18px}.player.me{left:24px;bottom:20px}.backs{margin-left:14px}.backs i{position:relative;width:39px;height:57px;margin-left:-11px;border-color:#dc4ee0;background:linear-gradient(135deg,#4e0c54,#86126f);box-shadow:inset 0 0 0 2px #ff71db1f,0 0 14px #e122d754}.backs i:after{content:"◇";position:absolute;inset:0;display:grid;place-items:center;color:#df64d5aa;font-size:19px}.score-panel{top:38%;width:92px;padding:11px 8px;border-color:#0e74bd;background:#031126dc;box-shadow:inset 0 0 20px #0063a51e}.score-left{left:20%}.score-right{right:20%}.score-panel span{font-size:9px;color:#6eb9de}.score-panel b{font-size:23px}.turn{top:28%;min-width:230px}.turn>span{width:74px;height:74px;border-width:3px;background:radial-gradient(circle,#0b2344,#020914);font-size:25px;box-shadow:0 0 0 6px #07274a,0 0 28px #00dfff55}.turn>span:after{width:70px;height:70px}.turn b{margin-top:14px;font-size:27px}.turn small{font-size:11px}.table{top:56%;grid-template-columns:repeat(4,48px);gap:6px}.table .hwatu{--card-w:48px}.hwatu{border:1px solid #ffcf73;border-radius:5px;background:linear-gradient(160deg,#fff5dc,#eadbbd);box-shadow:0 9px 20px #000c,0 0 0 1px #24160b;transition:transform .18s ease-out,border-color .18s,box-shadow .18s}.hwatu:after{right:-22%;bottom:-18%;width:84%;height:44%;background:#cf2d38}.hwatu:before{content:"";position:absolute;z-index:2;right:6%;bottom:4%;width:27%;aspect-ratio:1;border-radius:50%;background:#f5c133;box-shadow:inset 0 0 0 1px #e2a90d}.hwatu small{left:6px;top:4px;font:800 11px Georgia;color:#17100c}.card-art{position:absolute;z-index:1;inset:12% 4% auto;width:92%;height:66%;overflow:visible;filter:drop-shadow(0 2px 1px #0003);--leaf:#25704f;--bloom:#ed587f;--heart:#f3ba25}.card-art .stem{fill:none;stroke:#172c31;stroke-width:2.6;stroke-linecap:round}.card-art .branch{stroke-width:2}.card-art .leaf{fill:var(--leaf);stroke:#164d38;stroke-width:.8}.card-art .alt{fill:#3e9668}.card-art .bloom{fill:var(--bloom);stroke:#9f294c;stroke-width:.8}.card-art .heart{fill:var(--heart)}.card-art .ribbon{fill:#e9aa2e;opacity:.95}.card-art .animal{fill:#9b6336;stroke:#583719;stroke-width:1}.card-art .umbrella{fill:#755bd3;stroke:#372478;stroke-width:1.2}.month-art-2,.month-art-6{--bloom:#8f5ad8;--leaf:#276b58}.month-art-3{--bloom:#ef77a1;--heart:#f6c72f}.month-art-4,.month-art-8{--bloom:#5a86d9;--leaf:#1c7868}.month-art-5,.month-art-9{--bloom:#e6b338;--leaf:#347b48}.month-art-7{--bloom:#d56c75}.month-art-10,.month-art-11{--bloom:#dc4b37;--leaf:#a6492d}.month-art-12{--bloom:#735bd6;--leaf:#4268aa}.card-name{left:5px;bottom:5px;font-size:8px}.hwatu>i{right:4px;bottom:4px;width:19px;height:19px;background:#f7c52f}.hand{bottom:17px;gap:7px}.hand .hwatu{box-shadow:0 10px 25px #000e,0 0 0 1px #20150c}.hwatu:hover:not(:disabled),.hwatu.selected{transform:translateY(-14px);border-color:#00e5ff;box-shadow:0 0 0 2px #00e5ff,0 0 28px #00e5ff99,0 14px 28px #000}.captured{right:18px;top:47%}.captured .hwatu:before{display:none}.play-button{right:24px;bottom:25px;min-width:92px;border-radius:7px;background:linear-gradient(180deg,#ff526d,#c01f43);box-shadow:inset 0 1px #fff7,0 0 26px #ff3d6077}.game-controls{height:48px;flex-basis:48px;border-top-color:#40556d;background:#030914}.dealer-badge{padding:3px 5px;border:1px solid #ffbd5a;border-radius:6px;background:#ffb34a;color:#291506;font-size:7px;font-style:normal;font-weight:900;box-shadow:0 0 12px #ffae4055}.hand-guide{position:absolute;z-index:7;left:50%;bottom:calc(var(--card-h) + 35px);margin:0;transform:translate(-50%);color:#00e5ff;font-size:10px;font-weight:800;letter-spacing:.08em;text-shadow:0 0 12px #00e5ffaa;white-space:nowrap}.board-assist{position:absolute;z-index:10;right:24px;bottom:78px;min-width:92px;min-height:42px;padding:0 13px;border:1px solid #27618a;border-radius:8px;background:#061526e8;color:#93d9ef;font-size:10px;font-weight:800;box-shadow:inset 0 0 16px #00a7e51e}.board-assist span{display:inline-block;width:17px;height:13px;margin-right:7px;border:1.5px solid #73d7f4;border-radius:5px;vertical-align:-2px;box-shadow:0 0 8px #00dfff66}.board-assist span:before{content:"··";letter-spacing:3px;position:relative;left:3px;top:-3px}.board-assist span:after{content:"";position:absolute;width:5px;height:5px;margin:4px 0 0 -11px;border-top:1px solid #73d7f4;transform:rotate(45deg)}.seat-grid{grid-template-columns:1fr 1fr!important;gap:10px!important;margin:18px 0 0!important}.seat-grid>span{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #1a496d;border-radius:9px;background:#061425}.seat-grid b{color:#cfeaff;font-size:10px}.empty-seat{width:36px;height:36px;border:1px dashed #486078;border-radius:50%;background:#020814}.empty-seat:after{content:"+";display:grid;height:100%;place-items:center;color:#607d97;font-size:20px}.waiting-board .arena-lines{opacity:.28;filter:drop-shadow(0 0 5px #057dff)}.waiting-board .arena-glow{opacity:.35}.waiting-board .player,.waiting-board .score-panel,.waiting-board .turn,.waiting-board .table,.waiting-board .captured,.waiting-board .special-actions,.waiting-board .hand-guide,.waiting-board .hand,.waiting-board .play-button,.waiting-board .board-assist,.waiting-board .edge-actions{display:none}.waiting-board .decision.invite{display:block}button{cursor:pointer;touch-action:manipulation}button:not(.hwatu):active:not(:disabled){filter:brightness(1.16)}button:focus-visible{outline:2px solid #00e5ff;outline-offset:3px}.hwatu:focus-visible{outline-color:#ffcf73}.notification-button:hover,.board-assist:hover:not(:disabled){color:#fff;background:#0a2034;box-shadow:0 0 20px #00e5ff33}@media(max-width:1100px){:root{--card-w:clamp(45px,5.35vw,58px)}.game-layout{grid-template-columns:176px minmax(0,1fr)}.arena-lines{left:8%;right:8%}.score-left{left:10%}.score-right{right:10%}}@media(orientation:portrait)and (max-width:900px){:root{--card-w:52px}.topbar{height:64px;flex-basis:64px}.board{height:calc(100svh - 112px);background-position:center top;background-size:auto 100%}.waiting-board{height:calc(100svh - 64px)}.arena-lines{inset:20% 8% 15%}.player.opponent{top:22px}.turn{top:28%}.table{top:54%}.hand{bottom:13px}.player.me{bottom:18px}.play-button{bottom:calc(var(--card-h) + 26px)}.board-assist{display:none}.lobby-stage{min-height:calc(100svh - 64px);padding:36px 24px}}@media(max-width:700px)and (orientation:portrait){:root{--card-w: calc((100vw - 42px)*.1 - 1px) ;--card-h:calc(var(--card-w)*1.58)}.topbar{height:56px;flex-basis:56px;padding:0 max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left))}.brand{min-width:0}.brand b{font-size:14px}.wallet{height:36px}.wallet button{width:32px;height:32px}.notification-button{width:44px;height:44px;margin-left:0}.lobby{background-position:center top}.lobby-stage{min-height:calc(100svh - 56px);place-items:start center;padding:24px 12px}.lobby-panel{padding:22px 14px;border-radius:13px}.lobby-heading h1{font-size:30px}.mode-card{border-radius:8px}.mode-grid{gap:10px;margin-top:20px}.mode-card{height:112px;min-height:112px;padding:14px 14px 12px 88px}.mode-card b{margin-top:7px;font-size:17px}.mode-glyph{left:16px;top:20px;width:58px;height:58px}.board{height:calc(100svh - 104px);background-position:center top;background-size:auto 100%}.waiting-board{height:calc(100svh - 56px)}.board:before{background:linear-gradient(180deg,#02071311,#02071388)}.mobile-board-bar button{width:44px;height:44px;margin-left:-7px}.notification-popover{top:52px;right:max(10px,env(safe-area-inset-right));width:min(250px,calc(100vw - 20px))}.arena-lines{inset:18% 2% 13%}.player.opponent{top:48px}.player.opponent .avatar{width:36px;height:36px}.backs i{width:25px;height:38px}.score-panel{top:31%}.turn{top:24%}.turn b{font-size:19px}.turn small{font-size:8px}.table{top:52%;grid-template-columns:repeat(4,44px);gap:5px}.table .hwatu{--card-w:44px}.hand{bottom:7px;gap:2px;padding:0 4px}.hwatu small{left:3px;top:2px;font-size:7px}.card-art{font-size:calc(var(--card-w)*.5)}.card-name{display:none}.hwatu:before{right:5%;bottom:4%}.hwatu>i{width:13px;height:13px;font-size:6px}.player.me{bottom:70px}.play-button{bottom:70px;min-height:44px}.board-assist{display:none}.hand-guide{bottom:calc(var(--card-h) + 15px);font-size:7px}.game-controls{height:calc(48px + env(safe-area-inset-bottom));flex-basis:calc(48px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.game-controls button{min-height:44px}}@media(orientation:landscape)and (max-height:620px){:root{--card-w:clamp(38px,5.45vw,50px);--card-h:calc(var(--card-w)*1.58)}.topbar{height:44px;flex-basis:44px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.board{height:calc(100svh - 44px);background-position:center top;background-size:cover}.arena-lines{inset:10% 14% 9%}.player.opponent{top:6px}.avatar{width:34px;height:34px}.backs i{width:25px;height:38px}.turn{top:17%}.turn b{font-size:15px}.table{top:67%;grid-template-columns:repeat(8,28px);gap:3px}.table .hwatu{--card-w:28px}.score-left{left:18%}.score-right{right:18%}.hand{bottom:max(5px,env(safe-area-inset-bottom));gap:4px}.player.me{bottom:max(7px,env(safe-area-inset-bottom))}.play-button{bottom:max(7px,env(safe-area-inset-bottom));min-height:44px}.board-assist,.hand-guide{display:none}.notification-button{width:44px;height:44px;margin-left:0}.special-actions{left:11%;bottom:48px;transform:none}}@media(prefers-reduced-motion:reduce){.board:before{background:linear-gradient(180deg,#02071311,#02071388)}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(orientation:landscape)and (max-height:620px){.lobby-stage{padding:8px 14px}.lobby-panel{padding:10px 20px}.lobby-heading small{font-size:7px}.lobby-heading h1{margin:5px 0 4px;font-size:22px}.lobby-heading p{font-size:8px}.mode-grid{margin-top:8px}.mode-card{min-height:78px;height:78px;padding:8px 8px 8px 62px}.mode-card>.mode-glyph{position:absolute;left:9px;top:15px;width:46px;height:46px;border-radius:12px}.mode-card b{position:absolute;left:68px;top:19px;margin:0;font-size:13px}.mode-card>span:not(.mode-glyph){position:absolute;left:68px;top:39px;margin:0;font-size:7px}.mode-card em{bottom:6px}.lobby-meta{display:none}}
