*{box-sizing:border-box}body{margin:0;font-family:Arial,Microsoft YaHei,sans-serif;background:#101820;color:#f7efe1}button,input,select{font:inherit}.app-shell{position:relative;min-height:100vh}.home{min-height:100vh;display:grid;place-items:center;padding:24px;background-image:linear-gradient(90deg,#080c12db,#080c1257 52%,#080c12b8),var(--home-bg-landscape);background-size:cover;background-position:center}.home>div{width:min(1040px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:18px;border-radius:8px;background:#0a10188a;box-shadow:0 18px 48px #00000057}.eyebrow{color:#d8b86a;text-transform:uppercase;letter-spacing:0}h1{margin:0 0 12px;font-size:44px}.start-row{display:flex;gap:10px;margin-top:24px}.account-row{display:grid;grid-template-columns:minmax(88px,1fr) minmax(88px,1fr) auto auto auto minmax(140px,1fr) auto;gap:8px;align-items:center;margin-top:18px}.account-row input,.account-row button{padding:9px 10px}.account-row span{min-width:0;overflow:hidden;color:#d8c9a3;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.home-error{margin:10px 0 0;padding:9px 10px;border:1px solid rgba(242,209,107,.4);border-radius:6px;background:#8f243075;color:#fff1b2;font-size:13px}.room-controls{display:grid;grid-template-columns:minmax(140px,1fr) minmax(112px,.6fr) auto auto minmax(88px,auto);gap:8px;align-items:end;margin-top:12px}.room-controls label{min-width:0;display:grid;gap:4px}.room-controls label span,.connection-status{color:#d8c9a3;font-size:12px}.room-controls select,.room-controls input{width:100%;padding:9px 10px}.room-controls select{border:1px solid #6f83a6;border-radius:6px;background:#17202a;color:#fff}.connection-status{align-self:center;padding:9px 10px;border:1px solid rgba(247,239,225,.12);border-radius:6px;background:#10182075;text-align:center}.room-panel,.room-list{margin-top:12px;padding:12px;border:1px solid rgba(247,239,225,.12);border-radius:8px;background:#080c1280}.room-panel header,.room-list header,.room-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.room-panel header strong,.room-list header strong,.room-card strong{display:block;color:#fff3cf}.room-panel header span,.room-list header span,.room-card span,.room-card small{color:#d8c9a3;font-size:12px}.room-actions,.room-card-actions{flex:0 0 auto;display:flex;gap:8px}.room-actions button,.room-card-actions button{padding:8px 10px}.room-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:10px}.room-players span,.room-card{min-width:0;border:1px solid rgba(247,239,225,.1);border-radius:6px;background:#1018207a}.room-players span{display:grid;gap:2px;padding:8px 9px}.room-players b,.room-players small,.room-card strong,.room-card span,.room-card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-players b{color:#f7efe1;font-size:13px}.room-players small{color:#d8c9a3;font-size:12px}.room-players .owner{border-color:#f2d16b6b}.room-players .offline,.room-card small.offline{opacity:.56}.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:10px}.room-card{display:grid;gap:7px;padding:10px}.room-card-players{display:flex;gap:5px;min-height:22px;overflow:hidden}.room-card-players small{max-width:72px;padding:3px 6px;border-radius:4px;background:#f7efe114}.room-empty{margin:10px 0 0;color:#d8c9a3;font-size:13px}.profile-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:22px}.profile-button{min-height:66px;display:grid;align-content:center;gap:4px;padding:9px 10px;border:1px solid rgba(247,239,225,.16);background:#1018208a;text-align:left}.profile-button.selected{border-color:#f2d16b;background:#8f243094}.profile-button strong,.profile-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-button span{color:#d8c9a3;font-size:12px}input{min-width:0;flex:1;border:1px solid #6f83a6;border-radius:6px;padding:12px;background:#17202a;color:#fff}button{border:0;border-radius:6px;padding:10px 14px;color:#fff;background:#596b8f;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.ghost{background:#ffffff29}.table{position:relative;min-height:100vh;overflow:hidden;background-image:linear-gradient(#060b1157,#060b1194),var(--table-bg-landscape);background-size:cover;background-position:center;--seat-w: clamp(150px, 14.6vw, 190px);--seat-side-w: clamp(132px, 12.2vw, 158px);--self-seat-w: clamp(184px, 17.6vw, 230px);--seat-gap-top: 78px;--seat-center-y: 49%;--table-felt: rgba(20, 50, 46, .58);--table-gold: rgba(242, 209, 107, .38);--panel-bg: rgba(12, 18, 25, .78)}.table:before{position:absolute;inset:0;content:"";background:radial-gradient(ellipse at 50% 46%,rgba(255,231,150,.11) 0 12%,transparent 36%),linear-gradient(#03080d2e,#03080d80);pointer-events:none}.table:after{position:absolute;z-index:0;left:50%;top:47%;width:min(58vw,760px);height:min(40vh,360px);border:1px solid rgba(242,209,107,.2);border-radius:50%;background:radial-gradient(ellipse at center,var(--table-felt) 0 46%,rgba(17,39,37,.35) 62%,transparent 72%),radial-gradient(ellipse at center,transparent 0 58%,rgba(242,209,107,.14) 59% 61%,transparent 62%);box-shadow:inset 0 0 62px #00000080,0 18px 70px #0000006b;content:"";transform:translate(-50%,-50%);pointer-events:none}.resource-loading-overlay{position:absolute;z-index:80;inset:0;display:grid;place-items:center;padding:24px;background:#05090e70;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.resource-loading-panel{width:min(460px,calc(100vw - 32px));padding:18px;border:1px solid rgba(242,209,107,.34);border-radius:8px;background:#0c1219e0;box-shadow:0 18px 58px #0000005c}.resource-loading-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff3cf}.resource-loading-panel header span{font-size:16px;font-weight:700}.resource-loading-panel header strong{color:#f2d16b;font-size:26px;line-height:1}.resource-progress-track{height:10px;margin-top:14px;overflow:hidden;border:1px solid rgba(247,239,225,.14);border-radius:999px;background:#f7efe114}.resource-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d8b86a,#f4df9b 58%,#89d1c1);box-shadow:0 0 20px #f2d16b57;transition:width .16s ease}.resource-loading-panel p,.resource-loading-panel small{display:block;min-width:0;margin:10px 0 0;overflow:hidden;color:#d8c9a3;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.resource-loading-panel small{color:#f7efe1ad;font-size:12px}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#101820d1}.topbar span{display:block;color:#d8c9a3;font-size:13px}.top-actions{display:flex;gap:8px}.lobby-return{position:absolute;z-index:20;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));padding:8px 12px;border:1px solid rgba(247,239,225,.16);background:#101820a8}.table-ai-summary{position:absolute;z-index:18;top:calc(72px + env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));max-width:min(320px,calc(100vw - 20px));overflow:hidden;padding:6px 10px;border:1px solid rgba(129,226,255,.42);border-radius:999px;background:#0d2a31c2;color:#d7f8ff;font-size:12px;font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 10px 26px #00000047,inset 0 1px #e1fcff1f}.table-eight .table-ai-summary{top:auto;bottom:calc(168px + env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));max-width:min(220px,calc(50vw - 24px));font-size:11px}.players{position:absolute;z-index:3;inset:64px 0 0;pointer-events:none}.table-eight .topbar{height:0;min-height:0;overflow:hidden;padding:0;background:transparent}.table-eight .players{inset:0 auto 0 50%;width:min(100vw,1540px);transform:translate(-50%)}.seat{position:relative;width:var(--seat-w);min-height:0;aspect-ratio:2 / 3;display:block;padding:0;border:0;border-radius:6px;overflow:visible;background:#080c1294;text-align:left;box-shadow:0 16px 34px #00000075,inset 0 0 0 1px #f7efe114;pointer-events:auto;cursor:pointer}.seat-main{position:absolute;inset:0;border-radius:inherit}.players>.seat{position:absolute}.seat-self{left:max(18px,calc(50% - 470px));bottom:max(14px,env(safe-area-inset-bottom));width:var(--self-seat-w)}.seat-top-left{left:max(28px,calc(50% - 420px));top:var(--seat-gap-top)}.seat-top-mid-left{left:max(28px,calc(50% - 246px));top:calc(var(--seat-gap-top) - 24px)}.seat-top-center{left:50%;top:calc(var(--seat-gap-top) - 34px);transform:translate(-50%)}.seat-top-mid-right{right:max(28px,calc(50% - 246px));top:calc(var(--seat-gap-top) - 24px)}.seat-top-right{right:max(28px,calc(50% - 420px));top:var(--seat-gap-top)}.seat-left-mid,.seat-right-mid{width:var(--seat-side-w);top:var(--seat-center-y);transform:translateY(-50%)}.seat-left-mid{left:max(22px,calc(50% - 476px))}.seat-right-mid{right:max(22px,calc(50% - 476px))}.players-many .seat{width:clamp(106px,10.1vw,128px)}.players-many .seat-left-mid,.players-many .seat-right-mid{width:clamp(106px,9.8vw,124px)}.players-many .seat-self{width:var(--self-seat-w)}.players-eight .seat-self{width:clamp(150px,min(17.6vw,20vh),210px)}.players-eight .seat:not(.seat-self){width:clamp(132px,8.4vw,162px)}.players-eight .seat-self{left:clamp(18px,2.6vw,56px)}.players-eight .seat-top-left{left:12%;top:clamp(42px,7vh,78px);transform:translate(-50%)}.players-eight .seat-top-mid-left{left:31%;top:clamp(24px,5.8vh,58px);transform:translate(-50%)}.players-eight .seat-top-center{left:50%;top:clamp(16px,5vh,48px);transform:translate(-50%)}.players-eight .seat-top-mid-right{right:auto;left:69%;top:clamp(24px,5.8vh,58px);transform:translate(-50%)}.players-eight .seat-top-right{right:auto;left:88%;top:clamp(42px,7vh,78px);transform:translate(-50%)}.players-eight .seat-left-mid{left:clamp(14px,3vw,72px);top:48%}.players-eight .seat-right-mid{right:clamp(14px,3vw,72px);top:48%}.players-eight .seat-self .seat-title span{font-size:clamp(10px,1.5vh,13px)}.players-eight .seat-self .seat-title small{font-size:clamp(7px,1.15vh,9px)}.players-eight .seat-self .hp{font-size:clamp(11px,1.7vh,14px)}.players-eight .seat-self .seat-skill-actions{gap:clamp(2px,.5vh,4px)}.players-eight .seat-self .seat-skill-actions button{height:clamp(18px,3vh,24px);padding:2px 5px;font-size:clamp(9px,1.35vh,11px)}.players-eight .seat-self .seat-skill-actions img{width:clamp(14px,2.2vh,18px);height:clamp(14px,2.2vh,18px);flex-basis:clamp(14px,2.2vh,18px)}.players-eight .seat-self .equip-slot{height:clamp(14px,2.5vh,20px)}.players-eight .seat-float{min-width:26px;padding:2px 7px;font-size:20px}.portrait{position:absolute;inset:0;display:block;overflow:hidden;background:#080c125c}.portrait:after{position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,#070a0f0f 0 38%,#070a0f8f 76%,#070a0fdb),linear-gradient(90deg,rgba(0,0,0,.38),transparent 24%,transparent 72%,rgba(0,0,0,.4));content:"";pointer-events:none}.portrait-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.portrait-art{z-index:1}.seat-info{position:absolute;z-index:4;inset:0;pointer-events:none}.seat-title{position:absolute;left:8.5%;right:14%;bottom:15.8%;min-width:0;padding:4px 6px;border-radius:4px;background:linear-gradient(90deg,#090d13d1,#090d1361);text-shadow:0 1px 3px rgba(0,0,0,.9)}.seat-title span,.seat-title small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-title span{color:#fff3cf;font-size:12px;font-weight:800}.seat-title small{color:#f7efe1b8;font-size:8px}.skills{position:absolute;left:8.5%;right:17%;bottom:8%;display:flex;gap:4px}.skills b{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:0;width:18px;height:18px;padding:0;border-radius:4px;background:#10182080;color:#f8e6ad}.skills img{width:18px;height:18px;flex:0 0 18px;border-radius:50%;object-fit:cover}.skills span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.seat-skill-actions{position:absolute;left:9%;right:13%;bottom:9.2%;display:flex;flex-wrap:wrap;gap:4px;pointer-events:auto}.seat-skill-actions button{min-width:0;height:24px;display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid rgba(247,239,225,.18);border-radius:4px;background:#1018209e;color:#f8e6ad;font-size:11px;line-height:1}.seat-skill-actions button.selected{border-color:#f2d16b;background:#8f2430}.seat-skill-actions button.passive,.seat-skill-actions button:disabled{opacity:.52}.seat-skill-actions img{width:18px;height:18px;flex:0 0 18px;border-radius:50%;object-fit:cover}.seat-skill-actions span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat.active{outline:2px solid #c7a35a;outline-offset:2px;box-shadow:0 0 0 1px #ffeeb173,0 18px 40px #0000007a,0 0 28px #f2d16b33}.seat.selected{outline:2px solid #f2d16b;outline-offset:2px}.seat.targetable{box-shadow:0 0 0 2px #f2d16b80,0 10px 24px #00000057,0 0 24px #f2d16b38}.seat.dead{filter:grayscale(1)}.seat-pulse-source{animation:seat-source-pulse .72s ease-out}.seat-pulse-target{animation:seat-target-pulse .72s ease-out}.seat-pulse-damage{animation:seat-damage-pulse .72s ease-out}.seat-pulse-damage .seat-main:after{position:absolute;z-index:28;inset:9%;content:"×";display:grid;place-items:center;border:2px solid rgba(255,235,219,.9);border-radius:8px;background:#66080d38;color:#ff2d2d;font-size:clamp(58px,6.2vw,92px);font-weight:1000;line-height:1;text-shadow:0 2px 0 #fff4e8,0 0 18px rgba(255,35,35,.92),0 0 34px rgba(255,92,38,.68);pointer-events:none;animation:seat-damage-cross .72s cubic-bezier(.18,.82,.24,1) both}.seat-pulse-heal{animation:seat-heal-pulse .72s ease-out}.seat-float-effects{position:absolute;z-index:12;inset:0;overflow:visible;pointer-events:none}.seat-float{position:absolute;right:10%;top:16%;min-width:32px;display:grid;place-items:center;padding:3px 8px;border:1px solid rgba(255,244,216,.78);border-radius:999px;background:#0f1216b3;font-size:24px;font-weight:900;line-height:1;text-align:center;text-shadow:0 2px 7px rgba(0,0,0,.94);white-space:nowrap;transform:translate(18%);animation:seat-float-rise .98s cubic-bezier(.2,.82,.24,1) both}.seat-float-damage{top:34%;border-color:#ff8e70c7;background:#621614c7;color:#ffd0c2;box-shadow:0 0 22px #ff4c4c7a;transform:translate(18%);animation-name:seat-float-damage}.seat-float-heal{border-color:#8bffb1b8;background:#124e2bc7;color:#d7ffdf;box-shadow:0 0 22px #5bff9c6b}.seat-float-miss{border-color:#ffdc84b8;background:#584012c7;color:#ffe2a5;font-size:16px;box-shadow:0 0 20px #ffbc4157}.seat small{color:#d8c9a3}.hp{position:absolute;right:7%;top:22%;display:grid;grid-template-columns:auto auto;align-items:center;gap:3px;min-width:40px;padding:2px 5px;border:1px solid rgba(255,216,133,.36);border-radius:999px;background:linear-gradient(180deg,#281410e0,#0c1012bd),radial-gradient(circle at 25% 20%,rgba(255,226,143,.18),transparent 58%);box-shadow:inset 0 1px #fff4c621,0 4px 12px #0000005c;color:#ffd66f;font-size:10px;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.86)}.hp-label{color:#ffe5a5c7;font-size:8px;font-weight:900;letter-spacing:0}.hp-pips{display:flex;gap:2px}.hp-pips i{width:7px;height:7px;border:1px solid rgba(255,226,160,.62);border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff0bd 0 22%,#e9463e 32% 72%,#7b1418);box-shadow:0 0 8px #ff4f447a}.hp-pips i.empty{background:#140e0dad;box-shadow:inset 0 0 4px #000000b8}.seat-mini-stats{position:absolute;right:7%;bottom:31%;display:flex;gap:4px;pointer-events:none}.seat-mini-stat{display:grid;min-width:32px;padding:2px 5px 3px;border:1px solid rgba(228,181,91,.28);border-radius:6px;background:linear-gradient(180deg,#122420e0,#11100ebd);box-shadow:inset 0 1px #ffefbb1f,0 5px 12px #00000047;text-align:center}.seat-mini-stat b{color:#fff1be;font-size:12px;font-weight:900;line-height:1}.seat-mini-stat small{margin-top:1px;color:#ebcf94b8;font-size:8px;font-weight:800;line-height:1}.delayed,.self-delayed{display:flex;flex-wrap:wrap;gap:4px;min-height:22px}.delayed{position:absolute;z-index:5;inset:auto;width:max-content;max-width:68%;max-height:46px;overflow:hidden;pointer-events:auto}.seat-self .delayed,.seat-top-left .delayed,.seat-top-mid-left .delayed,.seat-top-center .delayed,.seat-top-mid-right .delayed,.seat-top-right .delayed{bottom:4%}.seat-left-mid .delayed,.seat-top-left .delayed,.seat-top-mid-left .delayed,.seat-top-center .delayed,.seat-self .delayed{right:4%}.seat-right-mid .delayed,.seat-top-mid-right .delayed,.seat-top-right .delayed{left:4%}.seat-left-mid .delayed,.seat-right-mid .delayed{top:50%;transform:translateY(-50%)}.self-equipment em{color:#f7efe16b;font-style:normal}.delayed b,.self-delayed b{display:inline-flex;align-items:center;gap:4px;width:28px;min-width:28px;height:36px;overflow:hidden;padding:2px;border-radius:4px;background:#f2d16b52;color:#fff1b2;font-size:0;text-overflow:ellipsis;white-space:nowrap}.delayed b,.self-delayed b{border:1px solid rgba(152,217,255,.5);background:#4574a67a;color:#d8f1ff}.delayed b img,.self-delayed b img{width:100%;height:100%;flex:0 0 auto;border-radius:2px;object-fit:cover}.delayed b span,.self-delayed b span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.equipment-slots{position:absolute;left:8.5%;right:8.5%;bottom:1%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;min-height:0}.equip-slot{min-width:0;height:17px;display:grid;place-items:center;padding:1px;border:1px solid rgba(242,209,107,.22);border-radius:4px;background:#12161c6b;box-shadow:inset 0 0 10px #f2d16b1f}.equip-slot small,.equip-slot b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equip-slot small{display:none}.equip-slot img{width:14px;height:14px;flex:0 0 14px;border-radius:3px;object-fit:cover}.equip-slot b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.equip-slot.empty{grid-template-columns:1fr;border-color:#f7efe10f;background:#f7efe103;box-shadow:none}.equip-slot.empty small{color:#f7efe133;font-weight:500;text-align:center}.seat-self .seat-title{bottom:25.6%;left:9%;right:13%}.seat-self .seat-title span{font-size:13px}.seat-self .seat-title small{color:#f2d16b;font-size:9px;font-weight:700}.seat-self .hp{right:6.5%;top:22%;font-size:14px}.seat-self .equip-slot{height:20px}@media(max-height:760px)and (min-width:821px){.table-ai-summary{top:calc(64px + env(safe-area-inset-top))}.table-eight .table-ai-summary{top:auto;bottom:calc(140px + env(safe-area-inset-bottom));max-width:min(200px,calc(42vw - 20px))}.center{top:48%;max-height:34vh;overflow:auto}.battle-effects{top:48%}.action-feed{top:52%}.table-eight .players{width:min(100vw,1180px)}.players-eight .seat:not(.seat-self){width:clamp(96px,7.8vw,126px)}.players-eight .seat-self{left:12px;width:clamp(142px,min(12vw,20vh),172px)}.players-eight .seat-left-mid,.players-eight .seat-right-mid{top:48%}.players-eight .seat-top-left{left:10%;top:0;transform:translate(-50%)}.players-eight .seat-top-mid-left{left:30%;top:-6px;transform:translate(-50%)}.players-eight .seat-top-mid-right{right:auto;left:70%;top:-6px;transform:translate(-50%)}.players-eight .seat-top-right{right:auto;left:90%;top:0;transform:translate(-50%)}.players-eight .seat-left-mid{left:10px}.players-eight .seat-right-mid{right:10px}}.center{position:absolute;z-index:8;left:50%;top:44%;transform:translate(-50%,-50%);min-width:300px;max-width:min(520px,calc(100vw - 32px));padding:16px 20px;border:1px solid rgba(242,209,107,.22);border-radius:6px;background:linear-gradient(180deg,#1c2e2dd6,#0c1219db),var(--panel-bg);box-shadow:0 16px 48px #0006,inset 0 1px #ffffff14;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.center.warn{border-color:#f2d16b94;outline:2px solid rgba(242,209,107,.32);box-shadow:0 18px 56px #0000007a,0 0 34px #f2d16b29,inset 0 1px #ffffff1a}.center p{margin:0}.flight-effects{position:fixed;z-index:88;inset:0;overflow:hidden;pointer-events:none}.pixi-effects-layer{position:fixed;z-index:89;inset:0;overflow:hidden;pointer-events:none}.pixi-effects-layer canvas{display:block;width:100%;height:100%}.self-hand-card-launches{position:fixed;z-index:90;inset:0;overflow:hidden;pointer-events:none}.self-hand-card-launch{position:absolute;transform-origin:center;animation:self-hand-card-launch 1.5s cubic-bezier(.18,.86,.2,1) both;filter:drop-shadow(0 18px 22px rgba(0,0,0,.54));will-change:transform,opacity}.self-hand-card-launch-face{position:absolute;inset:0;display:block;overflow:hidden;border-radius:7px;transform:none!important;transition:none!important;pointer-events:none}.self-hand-card-launch-hand.hand{position:absolute;inset:0;display:block;width:100%;min-height:0;overflow:visible;padding:0;background:transparent;box-shadow:none}.self-hand-card-launch-face.card{width:100%;height:100%;margin:0}.self-hand-card-launch-face .card-selection-ring{display:none}.self-hand-card-launch-face:after{position:absolute;z-index:8;inset:-24%;background:linear-gradient(110deg,transparent 22%,rgba(255,246,190,.34) 47%,transparent 68%);content:"";transform:translate(-52%);animation:self-hand-card-launch-shine 1.5s ease-out both;pointer-events:none}.dom-effects-fallback{opacity:.22}.flight-effect{position:absolute;height:0;transform-origin:left center;opacity:0;filter:drop-shadow(0 0 10px rgba(255,230,132,.68));animation:flight-life 1.5s ease-out both;will-change:transform,opacity}.flight-effect.flight-effect-attack{z-index:4;filter:drop-shadow(0 0 5px rgba(255,216,112,.8)) drop-shadow(0 0 12px rgba(188,35,22,.46))}.flight-effect.flight-effect-attack:before{top:-3px;height:6px;background:linear-gradient(90deg,transparent 0 4%,rgba(255,246,188,.76) 14%,#fff064 34%,#ff321f 66%,#ffe6a1 100%);box-shadow:0 0 0 1px #ffe17e5c,0 0 9px #bf2c1e94,0 0 16px #ffd25c52}.flight-effect.flight-effect-attack:after{right:-5px;top:-9px;border-top-width:9px;border-bottom-width:9px;border-left-width:18px;border-left-color:#fff064;filter:drop-shadow(0 0 1px rgba(255,255,255,.72)) drop-shadow(0 0 8px rgba(218,51,30,.62))}.flight-effect.flight-effect-attack span{top:-27px;border-color:#e0b3578f;background:#36120ec7;color:#ffe3a5;box-shadow:0 0 8px #ab281b47}.flight-effect:before{position:absolute;left:0;top:-4px;width:100%;height:8px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,251,210,.92) 18%,rgba(255,83,54,.98) 70%,rgba(255,219,111,.96));box-shadow:0 0 18px #ff5636b8,0 0 34px #ffd8755c;content:"";transform:translateZ(0) scaleX(0);transform-origin:left center;animation:flight-beam 1.5s cubic-bezier(.16,.82,.22,1) both;will-change:transform,opacity}.flight-effect:after{position:absolute;right:-2px;top:-10px;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:20px solid #ffdd78;content:"";filter:drop-shadow(0 0 10px rgba(255,225,125,.95));opacity:0;animation:flight-head 1.5s cubic-bezier(.16,.82,.22,1) both;will-change:transform,opacity}.flight-effect span{position:absolute;left:52%;top:-30px;max-width:120px;padding:2px 8px;overflow:hidden;border:1px solid rgba(255,238,171,.62);border-radius:999px;background:#0f131cc2;color:#fff1bb;font-size:12px;font-weight:800;text-overflow:ellipsis;text-shadow:0 2px 6px rgba(0,0,0,.9);transform:translate3d(-50%,0,0);white-space:nowrap;will-change:transform,opacity}.flight-effect-beam,.flight-effect-head,.flight-effect-pulse,.flight-effect-particles{position:absolute;display:block;pointer-events:none}.flight-effect-beam{left:0;top:-2px;width:100%;height:4px;border-radius:999px;background:#ffffffc2;opacity:0;transform:scaleX(0);transform-origin:left center;animation:flight-beam 1.5s cubic-bezier(.16,.82,.22,1) both}.flight-effect-head{right:-5px;top:-8px;width:16px;height:16px;border-right:4px solid rgba(255,255,255,.9);border-bottom:4px solid rgba(255,255,255,.9);opacity:0;transform:rotate(-45deg) translate3d(-18px,0,0) scale(.7);animation:flight-head 1.5s cubic-bezier(.16,.82,.22,1) both}.flight-effect-pulse{right:-16px;top:-16px;width:32px;height:32px;border:2px solid rgba(255,236,128,.78);border-radius:50%;opacity:0;transform:scale(.35);animation:flight-impact-pulse 1.5s ease-out both}.flight-effect-particles{right:5%;top:0;width:8px;height:8px;border-radius:50%;background:#fff8c8;opacity:0;box-shadow:-26px -16px #ff4a2d,-50px 13px #ffd747,-82px -10px #fff8c8,-118px 17px #ff4a2d,-152px -14px #ffd747;animation:flight-particles 1.5s ease-out both}.flight-effect-attack .flight-effect-beam{top:-1px;height:2px;background:linear-gradient(90deg,transparent 0 6%,rgba(255,255,238,.88) 18%,#fff064 40%,#ff321f 72%,#fff1b5 100%);box-shadow:0 0 4px #ffe68eb8,0 0 10px #ba2a1c75}.flight-effect-attack .flight-effect-head{right:-6px;top:-8px;width:16px;height:16px;border-right-width:4px;border-bottom-width:4px;border-color:#fff064;filter:drop-shadow(0 0 1px rgba(255,255,255,.7)) drop-shadow(0 0 7px rgba(190,43,27,.62))}.flight-effect-attack .flight-effect-pulse{right:-14px;top:-14px;width:28px;height:28px;border-width:1px;border-color:#ffd36fb8;box-shadow:0 0 9px #c32e1c75,inset 0 0 8px #ffe99847}.flight-effect-attack .flight-effect-particles{width:4px;height:4px;background:#ffe6a1;box-shadow:-20px -9px #c42d1ddb,-42px 8px #ffd873e6,-70px -6px #ffecabd1,-104px 9px #b9311fb8}.table-eight .flight-effect:before{top:-3px;height:6px}.table-eight .flight-effect:after{top:-8px;border-top-width:8px;border-bottom-width:8px;border-left-width:16px}.table-eight .flight-effect span{top:-24px;max-width:92px;padding:1px 6px;font-size:10px}.table-eight .flight-effect.flight-effect-attack:before{top:-3px;height:5px}.table-eight .flight-effect.flight-effect-attack:after{top:-8px;border-top-width:8px;border-bottom-width:8px;border-left-width:16px}.table-eight .flight-effect.flight-effect-attack span{top:-28px;max-width:112px;font-size:11px}.flight-effect-skill{filter:drop-shadow(0 0 10px rgba(92,219,255,.68))}.flight-effect-skill:before{background:linear-gradient(90deg,transparent,rgba(230,255,255,.94) 18%,rgba(72,207,255,.98) 68%,rgba(168,244,255,.96));box-shadow:0 0 18px #53daffbd,0 0 34px #87f6ff5c}.flight-effect-skill:after{border-left-color:#94f1ff;filter:drop-shadow(0 0 10px rgba(114,230,255,.96))}.flight-effect-tactic{filter:drop-shadow(0 0 10px rgba(205,135,255,.68))}.flight-effect-tactic:before{background:linear-gradient(90deg,transparent,rgba(255,246,215,.92) 18%,rgba(188,101,255,.98) 68%,rgba(255,219,111,.96));box-shadow:0 0 18px #be69ffb3,0 0 34px #ffde7b52}.flight-effect-tactic:after{border-left-color:#d9a7ff;filter:drop-shadow(0 0 10px rgba(210,150,255,.94))}.flight-effect-heal{filter:drop-shadow(0 0 10px rgba(112,255,172,.68))}.flight-effect-heal:before{background:linear-gradient(90deg,transparent,rgba(238,255,232,.92) 18%,rgba(93,244,151,.98) 68%,rgba(207,255,188,.96));box-shadow:0 0 18px #61f697b8,0 0 34px #d4ffb652}.flight-effect-heal:after{border-left-color:#b8ff9a;filter:drop-shadow(0 0 10px rgba(150,255,176,.96))}.battle-effects{position:fixed;z-index:17;inset:0;pointer-events:none}.action-feed{position:absolute;z-index:15;left:50%;top:39%;width:min(520px,calc(100vw - 40px));transform:translate(-50%);display:grid;gap:6px;pointer-events:none;text-align:center}.action-feed div{padding:7px 12px;border:1px solid rgba(240,214,138,.16);border-radius:6px;background:#0c1219c7;color:#f8f1df;font-size:13px;line-height:1.35;text-shadow:0 2px 6px rgba(0,0,0,.85)}.action-feed .card,.action-feed .skill,.action-feed .damage,.action-feed .phase,.action-feed .system{border:1px solid rgba(240,214,138,.12)}.battle-effect{position:absolute;width:clamp(76px,6.8vw,94px);display:grid;justify-items:center;gap:3px;color:#fff7d8;text-align:center;text-shadow:0 2px 6px rgba(0,0,0,.9);contain:layout paint;transform:translate3d(calc(-50% + var(--stack-offset, 0px)),-50%,0);animation:battle-card-settle 4.8s cubic-bezier(.16,.86,.22,1) both;backface-visibility:hidden;will-change:transform,opacity}.battle-effect-delayed{animation:battle-card-to-delayed 1.5s cubic-bezier(.16,.86,.22,1) both}.played-card-actor{position:relative;z-index:2;max-width:100%;padding:2px 6px;overflow:hidden;border:1px solid rgba(255,228,143,.3);border-radius:5px;background:#0c1119b3;color:#fff1bd;font-size:10px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.played-card-face{position:relative;z-index:2;width:clamp(62px,5.6vw,76px);aspect-ratio:5 / 7;display:grid;grid-template-rows:1fr auto;align-items:end;justify-items:center;padding:4px;border:1px solid rgba(255,238,177,.88);border-radius:7px;background:#f7efe1;box-shadow:0 8px 20px #00000080,0 0 14px #ffd97642;color:#17202a;overflow:hidden;transform:rotate(var(--card-rotate));backface-visibility:hidden;will-change:transform}.played-card-face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.battle-effect-skill .played-card-face{border-color:#d5eaffeb;background:#102033;box-shadow:0 8px 22px #00000085,0 0 18px #6ab9ff57}.battle-effect-skill .played-card-face img{object-position:center}.battle-effect-skill strong{background:#0a1623c7;color:#e8f6ff}.battle-effect i{position:relative;z-index:1;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,244,194,.82);border-radius:50%;background:radial-gradient(circle,#fff7d82e,#0c0e14b8);box-shadow:0 0 18px #ffeb8e6b,inset 0 0 14px #fff2b433;font-size:21px;font-style:normal;font-weight:900;line-height:1}.battle-effect strong,.battle-effect span{position:relative;z-index:1;display:block}.battle-effect strong{width:100%;padding:3px 4px 2px;background:#0c1119b3;color:#fff7d8;font-size:12px;font-weight:900;line-height:1.1}.battle-effect span{max-width:100%;padding:2px 6px;overflow:hidden;border-radius:5px;background:#0c11199e;color:#fff5d6d6;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.battle-effect-slash{color:#ffe7ba}.battle-effect-dodge{color:#e9fbff}.battle-effect-damage{color:#ffd2d2}.battle-effect-damage i{border-color:#ff7575d1;box-shadow:0 0 34px #ff4c4c94,inset 0 0 22px #ff878738}.battle-effect-heal{color:#dcffe8}.battle-effect-nullify,.battle-effect-tactic,.battle-effect-boost,.battle-effect-skill{color:#f6e6ff}.pending-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:14px}.pending-actions.locked{opacity:.72}.pending-action-dock,.pending-response-dock{position:absolute;z-index:120;left:max(330px,calc(50% - 315px));right:max(18px,calc(50% - 640px));bottom:clamp(202px,24vh,248px);justify-content:center;align-items:center;max-width:none;margin-top:0;pointer-events:auto}.pending-action-label,.pending-response-label{max-width:min(360px,34vw);min-height:40px;display:grid;place-items:center;overflow:hidden;padding:8px 12px;border:1px solid rgba(255,229,162,.28);border-radius:7px;background:#080d12d6;color:#fff5d8;font-size:13px;font-weight:900;line-height:1.25;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 5px rgba(0,0,0,.9);white-space:nowrap}.pending-action-dock button,.pending-response-dock button{min-width:118px;height:46px;padding:9px 14px;border-radius:7px;box-shadow:0 14px 32px #00000057}.pending-action-dock button:first-of-type,.pending-response-dock button:first-of-type{min-width:168px}.table-four .pending-action-dock,.table-four .pending-response-dock{left:max(330px,calc(50% - 315px));right:max(34px,calc(50% - 624px))}.pending-pool{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:14px;max-width:min(560px,82vw);overflow-x:auto;padding:8px 2px 12px;scrollbar-width:thin}.pool-card{flex:0 0 78px;aspect-ratio:2 / 3;min-width:78px;padding:5px;border:1px solid rgba(255,244,194,.8);border-radius:6px;background:#f7efe1;color:#17202a;box-shadow:0 8px 20px #00000057,0 0 0 1px #f2d16b40;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.pool-card:disabled{filter:grayscale(.8);opacity:.5}.pool-card.selected{outline:3px solid #f2d16b;transform:translateY(-6px);box-shadow:0 14px 26px #0000006b,0 0 22px #f2d16b52}.pool-card img{width:100%;height:70px;object-fit:cover;border-radius:4px}.pool-card span,.pool-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pool-card span{margin-top:4px;font-size:12px;font-weight:800}.pool-card small{color:#17202aad;font-size:10px}.character-select{display:grid;gap:10px;margin-top:12px}.character-select strong{color:#ffd978}.candidate-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.candidate-row button{min-width:0;overflow:hidden;padding:8px 9px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.candidate-row button.has-avatar{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:7px 9px 7px 7px;text-align:left}.candidate-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidate-row img{width:28px;height:28px;border-radius:50%;object-fit:cover}.inspector{position:absolute;right:18px;bottom:436px;width:min(340px,calc(100vw - 40px));max-height:min(260px,calc(100vh - 500px));overflow:auto;padding:14px;border-radius:8px;background:#0a1018db;border:1px solid rgba(242,209,107,.22);box-shadow:0 18px 42px #00000057;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.inspector strong,.inspector span{display:block}.inspector span{margin-top:4px;color:#d8c9a3;font-size:13px}.inspector p{margin:10px 0 0;line-height:1.55;color:#f7efe1e6;font-size:13px}.inspector b{color:#f2d16b}.hand-zone{position:absolute;z-index:10;left:max(280px,calc(50% - 190px));right:18px;bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:end;gap:14px;min-width:0}.hand{flex:1;display:flex;min-width:0;min-height:176px;gap:10px;align-items:end;overflow-x:auto;overflow-y:hidden;padding:14px 12px 12px;border:1px solid rgba(242,209,107,.18);background:linear-gradient(180deg,#172728c7,#0c1219c7),#101820a6;border-radius:8px;box-shadow:0 16px 38px #00000061,inset 0 1px #ffffff0f;scrollbar-width:thin}.card{position:relative;flex:0 0 96px;aspect-ratio:2 / 3;padding:6px;border:1px solid rgba(255,244,194,.8);border-radius:7px;background:#f7efe1;color:#17202a;box-shadow:0 8px 18px #00000047;transform-origin:bottom center;transition:transform .15s ease,outline-color .15s ease,box-shadow .15s ease,filter .15s ease}.card.playable:hover{transform:translateY(-10px)}.card.playable{box-shadow:0 10px 22px #00000052,0 0 0 2px #f2d16b5c,0 0 18px #f2d16b2e}.card.selected{transform:translateY(-16px);outline:3px solid #f2d16b;box-shadow:0 18px 34px #00000070,0 0 26px #f2d16b52}.card img{width:100%;height:88px;object-fit:cover;border-radius:4px}.card span,.card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card span{margin-top:5px;font-size:13px;font-weight:800;line-height:1.15}.card small{color:#17202aa8;font-size:10px;line-height:1.2}.action-buttons{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;align-self:end}.primary,.secondary-action{height:52px;min-width:92px;max-width:128px;overflow:hidden;padding:8px 12px;text-overflow:ellipsis;white-space:nowrap}.primary{background:linear-gradient(180deg,#b83a42,#8f2430);box-shadow:0 10px 24px #8f243047}.secondary-action{border:1px solid rgba(247,239,225,.18);background:#101820b8;color:#f7efe1}.log{position:absolute;z-index:9;right:18px;top:84px;bottom:auto;width:min(246px,calc(100vw - 36px));max-height:154px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;min-width:0;gap:6px;padding:8px;border:1px solid rgba(247,239,225,.1);border-radius:8px;background:#0c1219bd;box-shadow:0 12px 32px #00000042;font-size:12px;line-height:1.35;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);contain:layout paint}.log header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding-bottom:5px;border-bottom:1px solid rgba(247,239,225,.12);background:#0c1219e0;color:#fff1c1;overflow:hidden}.log header strong{min-width:0;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log header span{flex:0 0 auto;color:#fff1c19e;font-size:11px;line-height:1.2;white-space:nowrap}.log-list{display:grid;min-width:0;max-height:108px;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.log-entry{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;min-width:0;gap:6px;overflow:hidden}.log-entry+.log-entry{margin-top:0}.log-entry span{min-width:0;padding:2px 4px;border:1px solid rgba(240,214,138,.15);border-radius:5px;background:#f7efe114;color:#fff1c1d1;font-size:10px;font-weight:800;line-height:1.25;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-entry p{min-width:0;margin:0;color:#f8f1df;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.log-entry.card span,.log-entry.skill span{border-color:#ffd88047;color:#ffe2a0}.log-entry.damage span{border-color:#ff808052;color:#ffb4a8}.log-entry.phase span{border-color:#81e2ff42;color:#bcefff}.table-eight .inspector{display:none}.table-eight .action-feed{top:57%;width:min(560px,calc(100vw - 28px))}.table-eight .action-feed{display:none}.table{--table-felt: rgba(16, 57, 48, .72);--table-gold: rgba(224, 172, 82, .56);--panel-bg: rgba(18, 24, 22, .84);background-color:#100d0a;background-image:linear-gradient(180deg,#08090733,#080706a3),radial-gradient(ellipse at 50% 45%,#1f5b446b 0 30%,#502a184d 58%,#120a07ad),repeating-linear-gradient(92deg,#8a4e2633 0 2px,#2e180e2e 2px 9px),var(--table-bg-landscape);color:#fff0cf}.table:before{background:linear-gradient(90deg,rgba(2,7,6,.56),transparent 20% 80%,rgba(2,7,6,.56)),linear-gradient(180deg,rgba(0,0,0,.3),transparent 24% 76%,rgba(0,0,0,.46)),repeating-linear-gradient(0deg,rgba(255,230,160,.018) 0 1px,transparent 1px 6px)}.table:after{top:47%;width:min(68vw,920px);height:min(45vh,430px);border:1px solid rgba(226,179,92,.38);border-radius:48%;background:radial-gradient(ellipse at 50% 42%,rgba(34,101,76,.72) 0 38%,rgba(21,61,51,.7) 52%,rgba(68,38,22,.58) 66%,transparent 76%),repeating-radial-gradient(ellipse at center,rgba(255,227,145,.08) 0 1px,transparent 1px 16px);box-shadow:inset 0 0 0 8px #5a30195c,inset 0 0 0 10px #e6b45829,inset 0 0 72px #0000009e,0 26px 78px #00000094}.topbar{border-bottom:1px solid rgba(220,169,82,.22);background:linear-gradient(180deg,#2d1f14e6,#0f1613d6),#101820d1;box-shadow:0 10px 34px #0000005c}.lobby-return{border-color:#e2b35c52;background:linear-gradient(180deg,#332215e0,#121816c2);box-shadow:0 10px 26px #00000052,inset 0 1px #fff1bf1f}.seat{border:1px solid rgba(226,179,92,.38);border-radius:8px;background:linear-gradient(135deg,#693a1feb,#161411e0 32%,#2d4b39c7),#080c1294;box-shadow:0 18px 38px #0000008f,0 0 0 1px #ffebaa14,inset 0 0 0 2px #100a079e,inset 0 0 0 4px #d5a14e1c}.seat:before,.seat:after{position:absolute;z-index:3;inset:0;content:"";pointer-events:none}.seat:before{border-radius:inherit;box-shadow:inset 0 0 0 1px #fff1c42e,inset 0 0 24px #00000075}.seat:after{inset:6px;border:1px solid rgba(218,171,90,.24);border-radius:5px}.portrait{inset:7px;border-radius:5px;background:linear-gradient(135deg,#1749398f,#4a27186b),#080c125c}.portrait:after{background:linear-gradient(180deg,#07080605 0 32%,#080a0870 68%,#080807eb),linear-gradient(90deg,rgba(0,0,0,.48),transparent 22%,transparent 72%,rgba(0,0,0,.48))}.seat-title{left:9%;right:16%;bottom:16.5%;padding:5px 7px;border:1px solid rgba(226,179,92,.22);border-radius:5px;background:linear-gradient(90deg,#1c110ce6,#162d25b8 72%,#162d253d);box-shadow:inset 0 1px #ffefb61a}.seat-title span{color:#fff0c0;font-weight:900}.seat-title small{color:#f6d799d1}.hp{right:8.5%;top:24%;gap:2px;filter:drop-shadow(0 0 3px rgba(255,187,105,.35))}.skills b,.seat-skill-actions button,.equip-slot,.delayed b,.self-delayed b{border-color:#e2b35c57;background:linear-gradient(180deg,#2d4537db,#1b1812c2);box-shadow:inset 0 1px #fff1bf1f,0 4px 10px #00000038}.skills b,.skills img{width:20px;height:20px}.skills img{flex-basis:20px;border:1px solid rgba(232,190,104,.5)}.seat-skill-actions button{color:#f8e0a8;font-weight:700}.seat-skill-actions button.selected{border-color:#ffe189d1;background:linear-gradient(180deg,#b64036,#762219);box-shadow:0 0 18px #d14b3052}.equip-slot{border-radius:5px}.equip-slot.empty{border-color:#e2b35c1f;background:#12120e61}.seat.active{outline:2px solid rgba(255,219,128,.94);box-shadow:0 0 0 1px #ffeeb19e,0 18px 42px #0000008a,0 0 30px #e7b1545c,inset 0 0 0 2px #552a169e}.seat.selected{outline:3px solid #f1c764;box-shadow:0 18px 40px #00000080,0 0 30px #f1c7646b}.seat.targetable{box-shadow:0 0 0 2px #f4d271cc,0 12px 30px #0000006b,0 0 34px #f4d27161,inset 0 0 0 2px #5e2d168f}.center{border-color:#e2b35c6b;border-radius:8px;background:linear-gradient(180deg,#254538eb,#111915e6),repeating-linear-gradient(90deg,rgba(255,236,172,.025) 0 1px,transparent 1px 8px);box-shadow:0 18px 52px #00000085,0 0 0 1px #fff1bc14,inset 0 0 0 1px #ffefb71a,inset 0 -18px 36px #2b180e47}.center.warn{border-color:#ffd167c2;outline-color:#b83a2d6b;box-shadow:0 18px 56px #0000008a,0 0 38px #e3a0453d,inset 0 1px #ffffff1f}.action-feed{gap:7px}.action-feed div{max-width:100%;overflow-wrap:anywhere;border-color:#e2b35c47;border-radius:999px;background:linear-gradient(90deg,#351b12eb,#143129e0,#351b12db);box-shadow:0 8px 24px #0000005c,inset 0 1px #fff1bc1a;color:#fff4d0}.action-feed .damage{border-color:#ff7e5e6b;background:linear-gradient(90deg,#591812f0,#7a251de6,#2c1610e0)}.action-feed .skill{border-color:#89d4a55c;background:linear-gradient(90deg,#153427f0,#325035e6,#1d1e14e0)}.log,.inspector{border-color:#e2b35c42;background:linear-gradient(180deg,#1b221ce0,#10120edb);box-shadow:0 18px 42px #0000006b,inset 0 1px #fff1bf14}.hand-zone{gap:16px}.hand{position:relative;min-height:188px;gap:0;align-items:end;padding:22px 18px 18px;border-color:#e2b35c6b;border-radius:8px 8px 14px 14px;background:linear-gradient(180deg,#1f3f33db,#12140feb 62%,#5e3219b8),repeating-linear-gradient(90deg,rgba(255,229,160,.04) 0 1px,transparent 1px 10px);box-shadow:0 20px 46px #00000085,inset 0 1px #fff1bf24,inset 0 -12px #572d1752}.hand:before{position:absolute;left:14px;right:14px;bottom:10px;height:18px;border:1px solid rgba(226,179,92,.26);border-radius:999px;background:linear-gradient(180deg,#a65c2b5c,#26160e75);box-shadow:inset 0 5px 12px #00000061;content:"";pointer-events:none}.card,.pool-card,.played-card-face{border-color:#865025bd;border-radius:8px;background:linear-gradient(180deg,#fff6df,#ead9b6 72%,#d7bf8f),#f7efe1;box-shadow:0 10px 20px #00000057,inset 0 0 0 2px #ffffff61,inset 0 0 0 4px #7a46201f}.card{flex-basis:98px;margin-right:-18px;transform:translateY(4px) rotate(var(--card-tilt, 0deg));will-change:transform}.card:nth-child(6n+1){--card-tilt: -4deg}.card:nth-child(6n+2){--card-tilt: -2.5deg}.card:nth-child(6n+3){--card-tilt: -1deg}.card:nth-child(6n+4){--card-tilt: 1deg}.card:nth-child(6n+5){--card-tilt: 2.5deg}.card:nth-child(6n){--card-tilt: 4deg}.card.playable{box-shadow:0 12px 24px #0000005c,0 0 0 2px #f1c76494,0 0 22px #f1c76452,inset 0 0 0 2px #fff6}.card.playable:hover{transform:translateY(-16px) rotate(0) scale(1.03);z-index:4}.card.selected{outline:3px solid #f1c764;transform:translateY(-22px) rotate(0) scale(1.04);z-index:5;box-shadow:0 20px 38px #00000080,0 0 30px #f1c76470,inset 0 0 0 2px #ffffff70}.card img,.pool-card img{border:1px solid rgba(118,70,34,.24);box-shadow:inset 0 0 0 1px #fff3}.card span,.pool-card span{color:#21150e;font-weight:900}.card small,.pool-card small{color:#2a190ead}.action-buttons{gap:10px}.primary,.secondary-action{min-width:104px;border-radius:8px;border:1px solid rgba(255,230,162,.34);font-weight:900;letter-spacing:0;box-shadow:0 12px 26px #00000057,inset 0 1px #fff4c429}.primary{background:linear-gradient(180deg,#d15942,#9f2f26 58%,#681d18);color:#fff2c8;text-shadow:0 2px 6px rgba(0,0,0,.78);box-shadow:0 14px 28px #7f231961,0 0 22px #d54b3038,inset 0 1px #ffefb92e}.secondary-action{background:linear-gradient(180deg,#324b3aeb,#181a14e6);color:#f7e6ba}.primary:hover:not(:disabled),.secondary-action:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.rotate-hint{position:fixed;z-index:30;inset:0;display:none;place-items:center;padding:24px;border:0;border-radius:0;background:#04080edb;color:#fff4d2;text-align:center}.rotate-hint strong,.rotate-hint span{display:block}.rotate-hint strong{font-size:24px}.rotate-hint span{margin-top:8px;color:#f7efe1c2;font-size:14px}@keyframes battle-card-settle{0%{opacity:0;transform:translate3d(calc(-50% + var(--from-x)),calc(-50% + var(--from-y)),0) scale(.9) rotate(-4deg)}18%,to{opacity:1;transform:translate3d(calc(-50% + var(--stack-offset, 0px)),-50%,0) scale(1) rotate(0)}}@keyframes self-hand-card-launch{0%{opacity:1;transform:translateZ(0) scale(1) rotate(var(--card-tilt, 0deg))}82%{opacity:1;transform:translate3d(var(--launch-x),var(--launch-y),0) scale(var(--launch-scale, .9)) rotate(var(--launch-rotate, 0deg))}to{opacity:0;transform:translate3d(var(--launch-x),var(--launch-y),0) scale(calc(var(--launch-scale, .9) * .96)) rotate(var(--launch-rotate, 0deg))}}@keyframes self-hand-card-launch-shine{0%,20%{opacity:0;transform:translate(-56%) rotate(12deg)}44%{opacity:1}78%,to{opacity:0;transform:translate(56%) rotate(12deg)}}@keyframes seat-arrow-marker-pulse{0%,to{opacity:.88;transform:var(--seat-marker-base-transform) translateY(0) scale(1)}50%{opacity:1;transform:var(--seat-marker-base-transform) translateY(-4px) scale(1.06)}}@keyframes battle-card-to-delayed{0%{opacity:0;transform:translate3d(calc(-50% + var(--from-x)),calc(-50% + var(--from-y)),0) scale(.9) rotate(-4deg)}44%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1.02) rotate(0)}76%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1) rotate(0)}to{opacity:0;transform:translate3d(calc(-50% + var(--placement-to-x, 0px)),calc(-50% + var(--placement-to-y, 0px)),0) scale(.32) rotate(0)}}@keyframes battle-pop{0%{opacity:0;transform:translateY(10px) scale(.92)}18%,72%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.96)}}@keyframes battle-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}30%{opacity:.5}to{opacity:0;transform:translate(-50%,-50%) scale(1.1)}}@keyframes battle-streak{0%{opacity:0;transform:translate(-50%,-50%) scaleX(.5)}35%{opacity:.45}to{opacity:0;transform:translate(-50%,-50%) scaleX(1)}}@keyframes flight-life{0%{opacity:1}12%,82%{opacity:1}to{opacity:0}}@keyframes flight-beam{0%{opacity:1;transform:translateZ(0) scaleX(.72)}53%,82%{opacity:1;transform:translateZ(0) scaleX(1)}to{opacity:0;transform:translateZ(0) scaleX(1)}}@keyframes flight-head{0%{opacity:1;transform:translate3d(-12px,0,0) scale(.94)}24%,82%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:0;transform:translate3d(8px,0,0) scale(.96)}}@keyframes seat-source-pulse{0%,to{filter:none}35%{filter:brightness(1.24) drop-shadow(0 0 14px rgba(255,226,142,.74))}}@keyframes seat-target-pulse{0%,to{filter:none}35%{filter:brightness(1.16) drop-shadow(0 0 14px rgba(255,244,196,.62))}}@keyframes seat-damage-pulse{0%,to{filter:none}20%{filter:brightness(1.34) saturate(1.25) drop-shadow(0 0 14px rgba(255,76,76,.82))}40%{filter:brightness(1.12) saturate(1.18) drop-shadow(0 0 18px rgba(255,50,50,.68))}60%{filter:brightness(1.28) saturate(1.2) drop-shadow(0 0 16px rgba(255,76,76,.76))}}@keyframes seat-damage-cross{0%{opacity:0;transform:scale(.62) rotate(-9deg)}16%{opacity:1;transform:scale(1.08) rotate(3deg)}72%{opacity:1;transform:scale(1) rotate(-2deg)}to{opacity:0;transform:scale(1.16) rotate(-2deg)}}@keyframes seat-dodge-pulse{0%,to{filter:none;transform:translate(0)}35%{filter:brightness(1.28) drop-shadow(0 0 15px rgba(138,224,255,.82));transform:translate(8px)}}@keyframes seat-heal-pulse{0%,to{filter:none}35%{filter:brightness(1.22) drop-shadow(0 0 15px rgba(91,255,156,.72))}}@keyframes seat-float-rise{0%{opacity:0;transform:translate(18%,8px) scale(.74)}18%{opacity:1;transform:translate(18%) scale(1.08)}70%{opacity:1;transform:translate(18%,-20px) scale(1)}to{opacity:0;transform:translate(18%,-34px) scale(.92)}}@keyframes seat-float-damage{0%{opacity:0;transform:translate(18%,-8px) scale(.78)}16%{opacity:1;transform:translate(18%,4px) scale(1.1)}42%{opacity:1;transform:translate(18%,12px) scale(.98)}72%{opacity:1;transform:translate(18%,18px) scale(.96)}to{opacity:0;transform:translate(18%,26px) scale(.9)}}@media(min-width:1280px){.hand-zone{left:max(320px,calc(50% - 310px));right:max(18px,calc(50% - 640px))}.hand{min-height:190px}.card{flex-basis:98px}.players-eight .seat:not(.seat-self){width:clamp(150px,9vw,176px)}.players-eight .seat-title{padding:5px 7px}.players-eight .seat-title span{font-size:clamp(13px,.78vw,15px)}.players-eight .seat-title small{font-size:clamp(9px,.54vw,11px)}.players-eight .hp{font-size:clamp(13px,.78vw,16px);gap:2px}.players-eight .skills{gap:5px}.players-eight .skills b,.players-eight .skills img{width:clamp(20px,1.25vw,24px);height:clamp(20px,1.25vw,24px)}.players-eight .skills img{flex-basis:clamp(20px,1.25vw,24px)}.players-eight .equip-slot{height:clamp(18px,1.2vw,22px)}.players-eight .equip-slot img{width:clamp(15px,1vw,18px);height:clamp(15px,1vw,18px);flex-basis:clamp(15px,1vw,18px)}}@media(min-width:1280px)and (max-height:760px){.hand{min-height:158px;padding-top:16px}.card{flex-basis:84px;margin-right:-15px}.card img{height:76px}.players-eight .seat:not(.seat-self){width:clamp(112px,7.2vw,142px)}.players-eight .seat-left-mid,.players-eight .seat-right-mid{top:45%}}@media(max-width:820px){.home{background-image:linear-gradient(180deg,#080c1285,#080c12d6),var(--home-bg-portrait)}.home>div{padding:14px}.start-row{flex-direction:column}.account-row,.room-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.account-row span{grid-column:1 / -1}.connection-status,.room-panel header,.room-list header{grid-column:1 / -1}.room-panel header,.room-card-actions{align-items:stretch;flex-direction:column}.room-actions,.room-card-actions{width:100%}.room-actions button,.room-card-actions button{flex:1}.profile-row{grid-template-columns:repeat(2,minmax(0,1fr))}.players{inset:64px 0 0}.table-eight .players{inset:0 auto 0 50%;width:min(100vw,1080px);transform:translate(-50%)}.seat,.players-many .seat{width:clamp(94px,27vw,126px)}.seat-self{left:10px;bottom:max(8px,env(safe-area-inset-bottom));width:clamp(112px,31vw,146px)}.seat-top-left,.seat-left-mid{left:10px;top:16px;transform:none}.seat-top-center,.seat-top-mid-left{left:50%;top:8px;transform:translate(-50%)}.seat-top-right,.seat-top-mid-right,.seat-right-mid{right:10px;top:16px;transform:none}.players-many .seat-left-mid,.players-many .seat-right-mid{top:min(240px,34vh)}.players-eight .seat:not(.seat-self){width:clamp(68px,13.6vw,98px)}.players-eight .seat-self{left:8px;width:clamp(108px,min(25vw,19vh),136px)}.players-eight .seat-top-left{left:9%;top:10px;transform:translate(-50%)}.players-eight .seat-top-mid-left{left:29%;top:4px;transform:translate(-50%)}.players-eight .seat-top-center{left:50%;top:4px;transform:translate(-50%)}.players-eight .seat-top-mid-right{right:auto;left:71%;top:4px;transform:translate(-50%)}.players-eight .seat-top-right{right:auto;left:91%;top:10px;transform:translate(-50%)}.players-eight .seat-left-mid{left:8px;top:min(242px,40vh);transform:none}.players-eight .seat-right-mid{right:8px;top:min(242px,40vh);transform:none}.seat-info{inset:0}.seat-title span{font-size:9px}.seat-title small{font-size:6px}.hp{font-size:9px}.skills b{max-width:none}.skills img{width:16px;height:16px;flex-basis:16px}.center{top:45%;min-width:0;width:min(420px,calc(100vw - 20px));max-height:min(38vh,250px);overflow:auto;padding:12px}.action-feed{top:54%;width:min(360px,calc(100vw - 20px))}.action-feed div{padding:5px 9px;font-size:11px}.battle-effect{width:68px;gap:5px}.battle-effect i{width:34px;height:34px;font-size:18px}.battle-effect strong{font-size:11px}.battle-effect span{font-size:9px}.played-card-face{width:56px;border-width:1px}.played-card-actor{max-width:74px;padding:2px 5px;font-size:9px}.log{right:max(10px,env(safe-area-inset-right));top:calc(70px + env(safe-area-inset-top));bottom:auto;width:min(236px,calc(100vw - 20px));max-height:112px;padding:8px;font-size:11px}.log-list{max-height:72px}.log header{padding-bottom:5px}.log-entry{grid-template-columns:30px minmax(0,1fr);gap:6px}.inspector{left:10px;right:10px;bottom:calc(152px + env(safe-area-inset-bottom));width:auto;max-height:128px;padding:10px}.inspector p{font-size:12px}.hand-zone{left:max(126px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));width:auto;min-width:0;transform:none;align-items:end;gap:8px}.self-delayed{display:none}.equipment-slots{position:absolute;left:11%;right:11%;bottom:1.4%;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.equip-slot{height:14px;padding:1px}.equip-slot small{font-size:7px}.equip-slot b{font-size:8px}.action-buttons{flex:0 0 auto;flex-direction:column;gap:6px}.primary,.secondary-action{height:42px;min-width:62px;max-width:78px;padding:8px;font-size:12px}.hand{min-height:138px;padding:13px 10px 10px;gap:0}.card{flex-basis:74px;margin-right:-13px;padding:5px}.card img{height:66px}.card span{margin-top:4px;font-size:11px}.card small{font-size:9px}.pending-pool{justify-content:flex-start;max-width:calc(100vw - 44px);padding-bottom:10px}.pool-card{flex-basis:68px;min-width:68px}.pool-card img{height:58px}}@media(orientation:portrait)and (pointer:coarse)and (max-width:820px){.rotate-hint{display:grid}}.center{top:52%;max-height:min(36vh,310px)}.battle-effects{z-index:18}.battle-effect{width:clamp(76px,6.8vw,94px)}.action-feed{left:auto;right:clamp(14px,2.4vw,42px);top:clamp(88px,14vh,138px);width:clamp(190px,18vw,282px);transform:none;justify-items:end;text-align:left}.action-feed div{justify-self:end;max-width:100%;padding:6px 11px}.inspector{left:clamp(14px,2.4vw,36px);right:auto;bottom:clamp(228px,31vh,380px);width:min(328px,calc(100vw - 40px));max-height:min(248px,32vh)}.log{right:clamp(14px,2.4vw,36px);top:clamp(76px,11vh,122px);bottom:auto;width:clamp(198px,18vw,252px);max-height:min(154px,22vh)}.table-eight .center{top:56%;width:min(520px,calc(100vw - 64px))}.table-eight .action-feed{left:50%;right:auto;top:61%;width:min(420px,calc(100vw - 320px));transform:translate(-50%);justify-items:center;text-align:center}.table-eight .action-feed div{justify-self:center}@media(max-height:760px)and (min-width:821px){.center{top:54%;max-height:30vh}.action-feed{top:clamp(68px,10vh,96px)}.inspector{bottom:clamp(198px,29vh,300px);max-height:min(210px,30vh)}.log{top:clamp(60px,9vh,86px);bottom:auto;max-height:min(118px,18vh)}.log-list{max-height:76px}.table-eight .center{top:58%}.table-eight .action-feed{top:62%}.table-eight .log{top:clamp(54px,8vh,78px);bottom:auto;max-height:min(104px,16vh)}}@media(max-width:820px){.center{top:51%;max-height:min(34vh,220px)}.battle-effect{width:68px}.action-feed{left:50%;right:auto;top:clamp(126px,32vh,214px);width:min(360px,calc(100vw - 20px));transform:translate(-50%);justify-items:center;text-align:center}.action-feed div{justify-self:center}.inspector{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:calc(154px + env(safe-area-inset-bottom));width:auto;max-height:116px}.table-eight .center{top:55%;width:min(420px,calc(100vw - 20px))}.table-eight .action-feed{left:50%;right:auto;top:clamp(128px,34vh,214px);width:min(360px,calc(100vw - 20px));transform:translate(-50%)}.log,.table-eight .log{right:max(8px,env(safe-area-inset-right));top:calc(70px + env(safe-area-inset-top));bottom:auto;width:min(236px,calc(100vw - 16px));max-height:106px;padding:8px;font-size:11px}.log-list{max-height:68px}}.center{left:50%;top:clamp(172px,37vh,360px);transform:translate(-50%,-50%)}.center-compact{z-index:12;min-width:0;width:max-content;max-width:min(420px,calc(100vw - 36px));padding:8px 14px;border-radius:999px;border-color:#e2b35c4d;background:linear-gradient(90deg,#2c1d12cc,#143129c2);box-shadow:0 10px 28px #00000047,inset 0 1px #fff1bc1a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.center-panel{z-index:16;top:clamp(180px,40vh,380px);max-height:min(32vh,286px);overflow:auto}.center p{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;color:#fff4d0;font-size:14px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.center-compact p{white-space:nowrap}.center-ai{border-color:#74ddff94;box-shadow:0 12px 34px #00000057,0 0 22px #64daff38,inset 0 1px #e1fcff24}.center-ai-chip{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#5bcfff33;color:#c9f4ff;font-size:11px;line-height:1.1;letter-spacing:0;text-transform:uppercase}.battle-effects{z-index:14}.battle-effect{width:clamp(70px,6.2vw,86px);transform:translate3d(calc(-50% + var(--stack-offset, 0px)),-50%,0)}.played-card-face{width:clamp(56px,5vw,68px)}.action-feed{z-index:13;left:auto;right:clamp(12px,2vw,28px);top:clamp(76px,10vh,118px);width:clamp(210px,20vw,300px);max-height:min(24vh,168px);overflow:hidden;transform:none;justify-items:end;gap:5px;text-align:left}.action-feed div{justify-self:end;max-width:100%;padding:5px 10px;font-size:12px;line-height:1.25;animation:action-feed-fade 4.2s ease both}.inspector{z-index:12;bottom:clamp(226px,30vh,342px);max-height:min(220px,28vh)}.log{z-index:11;right:clamp(12px,2vw,28px);top:clamp(76px,10vh,118px);bottom:auto;width:clamp(198px,18vw,252px);max-height:min(154px,22vh)}.seat-state-layer{position:absolute;z-index:24;inset:0;pointer-events:none}.seat-arrow-marker{position:absolute;z-index:12;--seat-marker-base-transform: translateX(-50%);left:50%;top:auto;bottom:calc(100% + 10px);width:36px;height:36px;border:2px solid rgba(255,247,203,.9);border-radius:50%;background:#0f1216c2;box-shadow:0 0 18px #ffe26e94,inset 0 0 10px #fff5c22e;transform:var(--seat-marker-base-transform);animation:seat-arrow-marker-pulse 1.05s ease-in-out infinite}.seat-top-left .seat-arrow-marker,.seat-top-mid-left .seat-arrow-marker,.seat-top-center .seat-arrow-marker,.seat-top-mid-right .seat-arrow-marker,.seat-top-right .seat-arrow-marker{--seat-marker-base-transform: translateX(-50%) rotate(180deg);top:calc(100% + 10px);bottom:auto}.seat-left-mid .seat-arrow-marker{--seat-marker-base-transform: translateY(-50%) rotate(90deg);inset:50% -46px auto auto}.seat-right-mid .seat-arrow-marker{--seat-marker-base-transform: translateY(-50%) rotate(-90deg);inset:50% auto auto -46px}.seat-arrow-marker:before,.seat-arrow-marker:after{position:absolute;left:50%;content:"";transform:translate(-50%)}.seat-arrow-marker:before{top:7px;width:8px;height:15px;border-radius:999px;background:currentColor}.seat-arrow-marker:after{bottom:5px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid currentColor;filter:drop-shadow(0 2px 5px rgba(0,0,0,.6))}.seat-arrow-marker-active{color:#ffe16a;border-color:#ffe668f5;background:#4d360ed6}.seat-arrow-marker-target{color:#83ecff;border-color:#83ecfff5;background:#0d3442db;box-shadow:0 0 18px #5cd5ff9e,inset 0 0 10px #d7f8ff2e}.seat.active-ai{outline:3px solid rgba(129,226,255,.96);outline-offset:3px;box-shadow:0 0 0 1px #e0fbffa3,0 18px 44px #0000008f,0 0 34px #5bd6ff80,inset 0 0 0 2px #20606c9e;animation:active-ai-seat-pulse 1.12s ease-in-out infinite}.seat.active-ai:before{box-shadow:inset 0 0 0 1px #dafaff4d,inset 0 0 26px #46d8ff52}@keyframes active-ai-seat-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.16) drop-shadow(0 0 16px rgba(91,214,255,.55))}}@keyframes action-feed-fade{0%{opacity:0;transform:translateY(-6px)}12%,78%{opacity:1;transform:translateY(0)}to{opacity:.32;transform:translateY(-4px)}}@media(max-height:760px)and (min-width:821px){.center{top:clamp(142px,35vh,274px)}.center-panel{max-height:min(28vh,214px)}.action-feed{top:clamp(58px,8.2vh,82px);max-height:126px}.inspector{bottom:clamp(178px,27vh,246px);max-height:min(188px,27vh)}.log{top:clamp(58px,8.2vh,82px);bottom:auto;max-height:min(112px,17vh)}.log-list{max-height:72px}}.table-eight .center{top:clamp(150px,39vh,330px);width:auto;max-width:min(460px,calc(100vw - 40px))}.table-eight .center-panel{top:clamp(166px,42vh,350px)}.table-eight .action-feed{display:none;left:auto;right:clamp(10px,1.8vw,24px);top:clamp(62px,9vh,96px);width:clamp(190px,18vw,270px);transform:none;justify-items:end;text-align:left}.table-eight .action-feed div{justify-self:end}.table-eight .log{right:clamp(10px,1.8vw,24px);top:clamp(58px,8.6vh,88px);bottom:auto;width:clamp(184px,16vw,226px);max-height:min(118px,18vh)}.table-eight .log-list{max-height:76px}@media(max-width:820px){.table-ai-summary{top:calc(54px + env(safe-area-inset-top));max-width:min(220px,calc(100vw - 20px));padding:5px 8px;font-size:11px}.table-eight .table-ai-summary{top:auto;bottom:calc(124px + env(safe-area-inset-bottom));max-width:min(150px,calc(46vw - 18px));font-size:10px}.center{top:clamp(136px,30vh,210px);max-width:calc(100vw - 20px)}.center-compact{width:max-content;max-width:calc(100vw - 20px);padding:6px 10px}.center-panel{top:clamp(146px,34vh,236px);width:min(420px,calc(100vw - 20px));max-height:min(30vh,196px)}.center p{font-size:12px}.center-compact p{white-space:normal}.battle-effect{width:62px;transform:translate3d(calc(-50% + var(--stack-offset, 0px)),-50%,0)}.seat-float{min-width:26px;padding:2px 7px;font-size:20px}.played-card-face{width:52px}.played-card-actor,.battle-effect span{max-width:66px}.action-feed{left:auto;right:max(8px,env(safe-area-inset-right));top:clamp(72px,12vh,112px);width:min(260px,calc(100vw - 18px));max-height:110px;transform:none;justify-items:end;text-align:left}.table-eight .action-feed{display:none}.action-feed div{justify-self:end;padding:4px 8px;font-size:10px}.inspector{bottom:calc(150px + env(safe-area-inset-bottom));max-height:104px}.log,.table-eight .log{right:max(8px,env(safe-area-inset-right));top:calc(68px + env(safe-area-inset-top));bottom:auto;width:min(232px,calc(100vw - 16px));max-height:104px;padding:8px;font-size:11px}.log-list,.table-eight .log-list{max-height:66px}.log header{padding-bottom:5px}.log header strong{font-size:12px}.log-entry{grid-template-columns:30px minmax(0,1fr);gap:6px}}.action-feed,.table-eight .action-feed{position:absolute;z-index:13;display:grid;left:auto;right:clamp(256px,18vw,330px);top:calc(72px + env(safe-area-inset-top));width:clamp(260px,28vw,420px);max-height:104px;gap:5px;overflow:hidden;justify-items:end;transform:none;text-align:left;pointer-events:none}.action-feed div,.table-eight .action-feed div{justify-self:end;max-width:100%;min-height:26px;overflow:hidden;padding:5px 10px;border:1px solid rgba(255,229,162,.18);border-radius:999px;background:#0d1218b8;box-shadow:0 8px 22px #00000047,inset 0 1px #fff6cd14;color:#fff5d8;font-size:12px;font-weight:800;line-height:1.3;overflow-wrap:anywhere;text-shadow:0 1px 4px rgba(0,0,0,.86);animation:action-feed-fade 4.2s ease both}.action-feed .damage{border-color:#ff977a52;background:#4c1a16c2;color:#ffe0d7}.action-feed .skill,.action-feed .card{border-color:#a6e2b43d;background:#13362abd;color:#e9ffed}.action-feed .phase,.action-feed .system{border-color:#93d7ff3d;background:#122b3ab8;color:#e3f6ff}.log,.table-eight .log{position:absolute;z-index:12;left:auto;right:clamp(18px,2vw,28px);top:calc(72px + env(safe-area-inset-top));bottom:auto;display:grid;grid-template-rows:auto minmax(0,1fr);width:clamp(218px,16vw,248px);max-height:96px;min-width:0;gap:5px;overflow:hidden;padding:7px 8px;border:1px solid rgba(255,229,162,.16);border-radius:8px;background:#0c1117ad;box-shadow:0 10px 28px #00000047,inset 0 1px #fff6cd14;color:#fff5d8;font-size:12px;line-height:1.25;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);contain:layout paint}.log header{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:8px;padding:0;border:0;background:transparent;color:#ffe8a8;overflow:hidden}.log header strong{min-width:0;overflow:hidden;color:#ffe8a8;font-size:12px;font-weight:900;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.log header span{flex:0 0 auto;color:#fff4d5c2;font-size:12px;line-height:1.2;white-space:nowrap}.log-list,.table-eight .log-list{display:grid;min-width:0;max-height:62px;gap:4px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.log-entry{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;min-width:0;gap:6px;overflow:hidden}.log-entry span{min-width:0;overflow:hidden;padding:2px 4px;border:1px solid rgba(255,229,162,.16);border-radius:5px;background:#fff0c614;color:#ffe8a8;font-size:12px;font-weight:900;line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}.log-entry p{min-width:0;margin:0;overflow:hidden;color:#fff6df;font-size:12px;line-height:1.25;overflow-wrap:anywhere;word-break:break-word}.center{top:clamp(96px,17vh,156px)}.center-compact{width:auto;max-width:min(360px,calc(100vw - 32px));padding:5px 10px;border-radius:999px;background:#141f20b3;box-shadow:0 8px 22px #00000038,inset 0 1px #fff6cd14}.center-compact p{color:#fff5d8;font-size:12px;line-height:1.25;white-space:normal}.center-panel{top:clamp(150px,32vh,270px);max-height:min(30vh,240px)}.table-eight .center{top:clamp(92px,16vh,142px);max-width:min(360px,calc(100vw - 32px))}.table-eight .center-panel{top:clamp(150px,34vh,280px)}@media(max-width:1100px)and (min-width:821px){.action-feed,.table-eight .action-feed{right:clamp(230px,21vw,290px);width:clamp(230px,26vw,340px)}.log,.table-eight .log{width:clamp(204px,19vw,232px)}}@media(max-width:820px){.action-feed,.table-eight .action-feed{right:max(10px,env(safe-area-inset-right));top:calc(54px + env(safe-area-inset-top));width:min(320px,calc(100vw - 20px));max-height:86px}.action-feed div,.table-eight .action-feed div{min-height:25px;padding:4px 9px;font-size:12px}.log,.table-eight .log{top:calc(142px + env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:min(232px,calc(100vw - 20px));max-height:88px;padding:6px 7px;font-size:12px}.log-list,.table-eight .log-list{max-height:54px}.center,.table-eight .center{top:clamp(92px,18vh,138px);max-width:calc(100vw - 24px)}.center-panel,.table-eight .center-panel{top:clamp(136px,31vh,220px);width:min(420px,calc(100vw - 20px));max-height:min(30vh,190px)}}.action-feed,.table-eight .action-feed,.action-feed div,.table-eight .action-feed div{display:none}.action-feed div:first-child,.table-eight .action-feed div:first-child{display:block;max-width:100%;min-height:0;padding:6px 13px;border:1px solid rgba(129,226,255,.34);border-radius:999px;background:#09171fd1;box-shadow:0 10px 26px #00000061,inset 0 1px #d9faff1f;color:#e9fbff;font-size:13px;font-weight:900;line-height:1.25;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 5px rgba(0,0,0,.92);white-space:nowrap;animation:none;opacity:1}.log,.table-eight .log{left:auto;right:clamp(22px,2.2vw,34px);top:auto;bottom:clamp(122px,14vh,146px);width:clamp(300px,23vw,360px);height:128px;max-height:128px;gap:7px;overflow:hidden;padding:10px 12px;border:1px solid rgba(255,229,162,.22);border-radius:8px;background:linear-gradient(180deg,#080d12f0,#0e1419e6),#080c12e6;box-shadow:0 16px 36px #0000006b,inset 0 1px #fff4cb14;color:#fff3d4;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.log header{padding:0 0 1px}.log header strong{color:#ffe7a3;font-size:13px}.log header span{color:#fff4d5d1;font-size:12px}.log-list,.table-eight .log-list{min-height:0;max-height:none;display:flex;flex-direction:column;gap:5px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-color:rgba(255,229,162,.42) transparent;scrollbar-width:thin;scrollbar-gutter:stable}.log-list::-webkit-scrollbar,.table-eight .log-list::-webkit-scrollbar{width:4px;height:0}.log-list::-webkit-scrollbar-track,.table-eight .log-list::-webkit-scrollbar-track{background:transparent}.log-list::-webkit-scrollbar-thumb,.table-eight .log-list::-webkit-scrollbar-thumb{border-radius:999px;background:#ffe5a261}.log-entry{flex:0 0 auto;min-height:23px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:7px;overflow:hidden;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff3d4;transform:none}.log-entry span{min-width:0;padding:3px 5px;border:1px solid rgba(255,229,162,.22);border-radius:5px;background:#ffe8a61f;color:#ffe7a3;font-size:12px;font-weight:900;line-height:1.1;text-align:center}.log-entry p{min-width:0;margin:0;overflow:hidden;color:#fff7e6;font-size:13px;font-weight:800;line-height:1.25;text-shadow:0 1px 5px rgba(0,0,0,.9);overflow-wrap:anywhere;word-break:break-word}.log-type-damage span,.feed-type-damage{border-color:#ff8e705c;color:#ffd2c6}.log-type-skill span,.log-type-card span,.feed-type-skill,.feed-type-card{border-color:#a3e2b247;color:#e9ffed}.log-type-phase span,.log-type-system span,.feed-type-phase,.feed-type-system{border-color:#93d7ff4d;color:#e3f6ff}.pending-pool-wugu{position:relative;padding-top:30px}.pending-pool-hint{position:absolute;left:50%;top:0;max-width:min(420px,calc(100vw - 48px));overflow:hidden;padding:4px 10px;border:1px solid rgba(255,229,162,.34);border-radius:999px;background:#080d12d1;color:#fff5d8;font-size:12px;font-weight:900;line-height:1.2;text-overflow:ellipsis;text-shadow:0 1px 5px rgba(0,0,0,.9);transform:translate(-50%);white-space:nowrap}.hand{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.hand-rack{overflow:hidden}@media(min-width:821px){.table-eight .log{right:clamp(18px,2vw,28px);bottom:clamp(112px,13vh,136px)}}@media(max-width:820px){.action-feed,.table-eight .action-feed{top:calc(64px + env(safe-area-inset-top));width:min(320px,calc(100vw - 24px))}.log,.table-eight .log{right:max(10px,env(safe-area-inset-right));bottom:calc(142px + env(safe-area-inset-bottom));width:min(300px,calc(100vw - 20px));height:120px;max-height:120px;padding:9px 10px}.log-entry p{font-size:12px}}.hand-zone{left:max(260px,calc(50% - 420px));right:max(34px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;min-width:0;pointer-events:auto}.hand-zone-frame{position:absolute;z-index:-1;left:2px;right:122px;bottom:-7px;height:76px;pointer-events:none}.hand-zone-rail{position:absolute;left:18px;right:18px;height:10px;border:1px solid rgba(248,210,116,.34);border-radius:999px;background:linear-gradient(180deg,#ffde906b,#5c2d12b8),repeating-linear-gradient(90deg,#461c082e 0 8px,#ffeaac1a 8px 12px);box-shadow:0 10px 24px #0000006b,inset 0 1px #fff6c647}.hand-zone-rail-top{top:8px}.hand-zone-rail-bottom{bottom:6px}.hand-table{position:relative;min-width:0;padding-top:20px}.hand-rack{position:relative;min-width:0;overflow:visible;padding:15px 14px 13px;border:1px solid rgba(239,197,105,.48);border-radius:8px 8px 13px 13px;background:linear-gradient(180deg,#4b261280,#21150cbd 40%,#542d14d1),repeating-linear-gradient(90deg,rgba(255,231,165,.08) 0 1px,transparent 1px 13px),linear-gradient(90deg,#451a0aeb,#7d441ee6 42%,#39180cf0);box-shadow:0 22px 46px #00000080,inset 0 1px #fff1bc2e,inset 0 -12px 18px #1f10086b}.hand-rack:before{position:absolute;z-index:1;left:12px;right:12px;bottom:8px;height:24px;border:1px solid rgba(255,223,142,.32);border-radius:999px;background:linear-gradient(180deg,#b4642a7a,#271308b8);box-shadow:inset 0 8px 14px #00000070,0 -1px #ffefb71a;content:"";pointer-events:none}.hand-rack:after{position:absolute;z-index:3;left:18px;right:18px;bottom:11px;height:8px;border-radius:999px;background:linear-gradient(90deg,#ffe2962e,#ffeeb285,#ffe2962e);content:"";pointer-events:none}.hand-rack-backplate{position:absolute;inset:8px 9px 14px;border:1px solid rgba(58,26,11,.62);border-radius:7px 7px 11px 11px;background:radial-gradient(ellipse at 50% 12%,rgba(255,229,158,.16),transparent 44%),linear-gradient(180deg,#1b3e31a8,#121c15cc 57%,#321c0cdb);box-shadow:inset 0 14px 28px #00000057;pointer-events:none}.hand-stack-edge{position:absolute;z-index:1;left:18px;bottom:17px;display:flex;gap:3px;pointer-events:none}.hand-stack-edge span{width:34px;height:10px;border:1px solid rgba(246,211,132,.3);border-radius:999px;background:#f4e2b247;box-shadow:0 4px 9px #0000004d}.hand{position:relative;z-index:2;width:100%;min-width:0;min-height:clamp(170px,21vh,218px);display:flex;flex:1 1 auto;align-items:end;gap:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:34px 18px 22px;border:0;border-radius:0;background:transparent;box-shadow:none;scrollbar-width:none;-ms-overflow-style:none;isolation:isolate}.hand::-webkit-scrollbar{width:0;height:0;display:none}.hand .card{position:relative;flex:0 0 clamp(92px,7.8vw,122px);aspect-ratio:2 / 3;margin:0 clamp(-30px,-2.15vw,-18px) 0 0;overflow:hidden;padding:0;border:1px solid rgba(118,67,26,.96);border-radius:7px;background:linear-gradient(180deg,#f7ebca,#d7ba78);color:#27160a;box-shadow:0 10px 20px #00000070,0 0 0 1px #ffeaa452,inset 0 0 0 2px #fff6d557;cursor:pointer;transform:translateY(var(--card-arc, 0)) rotate(var(--card-tilt, 0deg));transform-origin:50% 112%;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,border-color .16s ease;will-change:transform}.hand .card:last-child{margin-right:0}.hand .card:before{position:absolute;z-index:2;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent 18% 80%,rgba(72,34,13,.2)),linear-gradient(180deg,rgba(255,255,255,.22),transparent 30% 74%,rgba(64,27,9,.16));content:"";pointer-events:none}.hand .card-frame{position:absolute;z-index:3;inset:3px;display:block;overflow:visible;border:1px solid rgba(255,234,167,.52);border-radius:5px;box-shadow:inset 0 0 0 1px #49220d6b,inset 0 0 12px #2a12072e;pointer-events:none}.hand .card-art{position:absolute;z-index:1;inset:4px;display:block;overflow:hidden;border-radius:4px;background:#e8d0a0}.hand .card img{display:block;width:100%;height:100%;border:0;border-radius:0;object-fit:cover;box-shadow:none}.hand .card-corner{position:absolute;z-index:5;left:7px;top:7px;min-width:22px;display:grid;justify-items:center;gap:0;overflow:visible;padding:2px 3px 3px;border:1px solid rgba(255,244,210,.72);border-radius:4px;background:#f6ebcdeb;box-shadow:0 2px 6px #25120852;line-height:1;text-shadow:none;white-space:normal;pointer-events:none}.hand .card-corner b{font-size:11px;font-weight:900;line-height:1}.hand .card-corner i{font-size:12px;font-style:normal;font-weight:900;line-height:1}.hand .card-name{position:absolute;z-index:5;left:6px;right:6px;bottom:6px;display:block;min-width:0;height:22px;overflow:hidden;padding:3px 25px 3px 7px;border:1px solid rgba(96,49,18,.46);border-radius:4px;background:linear-gradient(180deg,#fff3cff0,#d6ad61e6);box-shadow:0 -4px 10px #1e0c043d,inset 0 1px #ffffff70;color:#251408;font-size:12px;font-weight:900;line-height:14px;text-align:left;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(255,244,208,.7);white-space:nowrap;pointer-events:none}.hand .card-meta{position:absolute;z-index:6;right:9px;bottom:10px;display:flex;align-items:center;gap:1px;min-width:0;overflow:visible;color:#201208;font-size:10px;font-weight:900;line-height:1;text-shadow:0 1px 0 rgba(255,241,207,.74);white-space:nowrap;pointer-events:none}.hand .card-meta span,.hand .card-meta b{display:inline;overflow:visible;font:inherit}.hand .suit-red,.hand .suit-heart,.hand .suit-diamond{color:#a8261c}.hand .suit-black,.hand .suit-spade,.hand .suit-club,.hand .suit-none{color:#24160d}.hand .card-selection-ring{position:absolute;z-index:7;inset:2px;display:block;overflow:visible;border:2px solid transparent;border-radius:6px;box-shadow:none;pointer-events:none}.hand .card.playable{border-color:#e7ba46fa;filter:saturate(1.06) brightness(1.03);box-shadow:0 13px 26px #0000007a,0 0 0 2px #f5cc5e80,0 0 18px #f5cc5e57,inset 0 0 0 2px #fff6d56b}.hand .card:not(.playable){filter:saturate(.92) brightness(.93)}.hand .card:hover,.hand .card:focus-visible{z-index:50;transform:translateY(-16px) rotate(0) scale(1.04);filter:saturate(1.08) brightness(1.05);outline:0;box-shadow:0 18px 34px #0000008a,0 0 0 2px #ffe89480,0 0 22px #ffdd7a47,inset 0 0 0 2px #fff8dc6b}.hand .card.selected{z-index:70;border-color:#ffe374fa;filter:saturate(1.14) brightness(1.08);transform:translateY(-26px) rotate(0) scale(1.06);box-shadow:0 23px 42px #00000094,0 0 0 3px #ffe266b8,0 0 30px #ffd24885,inset 0 0 0 2px #fffadf80}.hand .card.selected .card-selection-ring{border-color:#fff6b6eb;box-shadow:inset 0 0 12px #ffec9557}.hand-zone .action-buttons{position:relative;z-index:4;flex:0 0 auto;display:grid;grid-auto-rows:min-content;gap:8px;align-self:end;justify-items:stretch}.hand-zone .action-status{width:112px;max-width:112px;min-height:24px;overflow:hidden;padding:4px 7px;border:1px solid rgba(255,229,162,.2);border-radius:6px;background:#0c1216c2;box-shadow:inset 0 1px #fff4cb14}.hand-zone .action-status-text{display:block;overflow:hidden;color:#ffe7a3;font-size:11px;font-weight:800;line-height:1.25;text-align:center;text-overflow:ellipsis;white-space:nowrap}.hand-zone .primary,.hand-zone .secondary-action{width:112px;min-width:112px;max-width:112px;height:46px;padding:8px 10px;border-radius:7px}.table-four .hand-zone{left:max(330px,calc(50% - 315px));right:max(18px,calc(50% - 640px))}.players-four .seat-self{z-index:7;left:max(18px,calc(50% - 505px));bottom:max(24px,env(safe-area-inset-bottom))}.players-four .seat:not(.seat-self){z-index:4}.players-four .seat-left-mid,.players-four .seat-right-mid{top:44%}.center,.table-eight .center{top:clamp(250px,50vh,calc(100vh - 260px))}.center-panel,.table-eight .center-panel{top:clamp(286px,54vh,calc(100vh - 245px))}.log,.table-eight .log{bottom:clamp(236px,30vh,312px)}.battle-effects{pointer-events:none;contain:layout paint}.flight-effects{pointer-events:none}.battle-effects{z-index:24}.flight-effects{z-index:88}.battle-effect{width:clamp(112px,8.8vw,152px);width:clamp(168px,17vw,280px);gap:clamp(4px,.46vw,7px);transform:translate3d(calc(-50% + var(--stack-offset, 0px)),-50%,0);will-change:transform,opacity}.played-card-face{width:clamp(96px,7.2vw,132px);border-radius:8px;transform:translateZ(0) rotate(var(--card-rotate));will-change:transform}.battle-effect-delayed .played-card-face{transform:translateZ(0) rotate(var(--card-rotate))}.played-card-actor{max-width:min(100%,clamp(132px,14vw,220px));font-size:clamp(10px,.72vw,12px)}.battle-effect strong{font-size:clamp(13px,.9vw,16px)}.battle-effect span{max-width:min(100%,clamp(164px,16vw,268px));padding:4px 8px;overflow:visible;border:1px solid rgba(255,232,168,.18);background:#0c1119c7;font-size:clamp(10px,.72vw,12px);line-height:1.25;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.flight-effect{transform:translateZ(0) rotate(var(--flight-angle, 0deg))}@keyframes flight-impact-pulse{0%{opacity:.78;transform:scale(.62)}46%{opacity:0;transform:scale(.32)}58%{opacity:.96;transform:scale(.7)}to{opacity:0;transform:scale(1.8)}}@keyframes flight-particles{0%{opacity:.88;transform:translate3d(-6px,0,0) scale(.88)}24%{opacity:1;transform:translateZ(0) scale(1)}42%,72%{opacity:1}to{opacity:0;transform:translate3d(24px,-3px,0) scale(1.3)}}@media(min-width:1280px){.hand-zone{left:max(300px,calc(50% - 460px));right:max(34px,calc(50% - 624px))}.hand .card{flex-basis:clamp(102px,7vw,128px)}.battle-effect{width:clamp(190px,18vw,300px)}.played-card-face{width:clamp(110px,7.6vw,142px)}}@media(max-height:760px)and (min-width:821px){.hand-rack{padding-top:10px}.hand{min-height:150px;padding-top:27px;padding-bottom:17px}.hand .card{flex-basis:clamp(82px,6.3vw,104px);margin-right:clamp(-24px,-1.8vw,-15px)}.hand .card-name{height:20px;font-size:11px;line-height:13px}.hand .card.selected{transform:translateY(-22px) rotate(0) scale(1.05)}.log,.table-eight .log{bottom:clamp(194px,28vh,238px)}.pending-action-dock,.pending-response-dock{bottom:clamp(164px,27vh,202px)}.battle-effect{width:clamp(150px,15vw,230px)}.played-card-face{width:clamp(86px,6.4vw,114px)}}@media(max-width:820px){.hand-zone{left:max(98px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:max(7px,env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto;gap:6px}.pending-action-dock,.pending-response-dock{left:max(118px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:calc(128px + env(safe-area-inset-bottom));gap:5px}.pending-action-label,.pending-response-label{order:-1;flex-basis:100%;max-width:100%;min-height:28px;padding:5px 8px;font-size:11px}.pending-action-dock button,.pending-response-dock button{flex:1 1 0;min-width:0;height:38px;padding:6px 8px;font-size:12px}.pending-action-dock button:first-of-type,.pending-response-dock button:first-of-type{min-width:0;flex-grow:1.45}.hand-zone-frame{right:78px;height:54px}.hand-zone-rail{left:10px;right:10px;height:7px}.hand-table{padding-top:12px}.hand-rack{padding:8px 7px 9px;border-radius:7px 7px 10px 10px}.hand-rack-backplate{inset:5px 5px 10px}.hand-rack:before{left:8px;right:8px;bottom:5px;height:17px}.hand-rack:after,.hand-stack-edge{display:none}.hand{min-height:116px;padding:22px 9px 14px}.hand .card{flex-basis:clamp(64px,16.5vw,78px);margin-right:clamp(-18px,-3.8vw,-10px);border-radius:5px}.hand .card-art{inset:3px}.hand .card-frame{inset:2px}.hand .card-corner{left:5px;top:5px;min-width:18px;padding:1px 2px 2px}.hand .card-corner b{font-size:9px}.hand .card-corner i{font-size:10px}.hand .card-name{left:4px;right:4px;bottom:4px;height:18px;padding:2px 18px 2px 5px;font-size:10px;line-height:12px}.hand .card-meta{right:6px;bottom:8px;font-size:8px}.hand .card:hover,.hand .card:focus-visible{transform:translateY(-12px) rotate(0) scale(1.035)}.hand .card.selected{transform:translateY(-17px) rotate(0) scale(1.045)}.hand-zone .action-buttons{gap:5px}.hand-zone .action-status{width:70px;max-width:70px;min-height:20px;padding:3px 5px}.hand-zone .action-status-text{font-size:9px}.hand-zone .primary,.hand-zone .secondary-action{width:70px;min-width:70px;max-width:70px;height:38px;padding:6px 7px;font-size:11px}.table-four .hand-zone{left:max(132px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right))}.players-four .seat-self{bottom:max(76px,env(safe-area-inset-bottom));width:clamp(104px,29vw,138px)}.center,.table-eight .center{top:clamp(170px,43vh,calc(100vh - 174px))}.center-panel,.table-eight .center-panel{top:clamp(190px,46vh,calc(100vh - 164px))}.log,.table-eight .log{bottom:auto}.battle-effect{width:min(78vw,220px);gap:4px}.played-card-face{width:clamp(72px,19vw,102px)}.played-card-actor,.battle-effect span{max-width:min(78vw,220px)}.battle-effect strong{font-size:clamp(12px,3.2vw,14px)}}.center{top:clamp(300px,52vh,430px)}.center-compact{max-width:min(460px,calc(100vw - 42px));padding:8px 14px}.center-panel{top:clamp(340px,58vh,470px);max-height:min(30vh,240px)}.table-eight .center{top:clamp(300px,50vh,420px)}.table-eight .center-panel{top:clamp(340px,56vh,460px)}.seat-pulse-dodge{animation:none}.hand-zone{left:max(340px,calc(50% - 390px))}.table-four .hand-zone{left:max(340px,calc(50% - 250px))}@media(min-width:1280px){.hand-zone{left:max(340px,calc(50% - 430px))}}@media(max-height:760px)and (min-width:821px){.center{top:clamp(250px,51vh,360px)}.center-panel{top:clamp(310px,58vh,410px);max-height:min(28vh,210px)}}@media(max-width:820px){.center,.table-eight .center{top:clamp(210px,44vh,300px)}.center-panel,.table-eight .center-panel{top:clamp(230px,48vh,330px)}.hand-zone{left:max(118px,env(safe-area-inset-left))}.table-four .hand-zone{left:max(162px,env(safe-area-inset-left))}}@media(max-width:820px)and (orientation:portrait){.table-eight{--mobile-eight-hand-height: clamp(132px, 20vh, 166px);--mobile-eight-self-w: clamp(82px, 22vw, 104px);--mobile-eight-seat-w: clamp(58px, 15vw, 70px);background-position:center top}.table-eight:after{top:44%;width:86vw;height:min(38vh,330px)}.table-eight .players{inset:0 auto 0 50%;width:100vw;height:calc(100vh - var(--mobile-eight-hand-height) - env(safe-area-inset-bottom));transform:translate(-50%)}.players-eight .seat:not(.seat-self){width:var(--mobile-eight-seat-w)}.players-eight .seat-self{left:max(7px,env(safe-area-inset-left));bottom:calc(var(--mobile-eight-hand-height) - 24px + env(safe-area-inset-bottom));width:var(--mobile-eight-self-w)}.players-eight .seat-top-left{left:8.5%;top:max(8px,env(safe-area-inset-top))}.players-eight .seat-top-mid-left{left:29%;top:calc(max(8px,env(safe-area-inset-top)) + 2px)}.players-eight .seat-top-center{left:50%;top:calc(max(8px,env(safe-area-inset-top)) + 8px)}.players-eight .seat-top-mid-right{left:71%;top:calc(max(8px,env(safe-area-inset-top)) + 2px)}.players-eight .seat-top-right{left:91.5%;top:max(8px,env(safe-area-inset-top))}.players-eight .seat-left-mid{left:max(7px,env(safe-area-inset-left));top:clamp(184px,33vh,292px)}.players-eight .seat-right-mid{right:max(7px,env(safe-area-inset-right));top:clamp(184px,33vh,292px)}.players-eight .seat-title{left:7%;right:10%;bottom:18%;padding:2px 3px}.players-eight .seat-title span{font-size:8px;line-height:1.05}.players-eight .seat-title small{font-size:0}.players-eight .hp{right:6%;top:18%;gap:0;font-size:8px}.players-eight .skills{left:7%;right:16%;bottom:7%;gap:2px}.players-eight .skills b,.players-eight .skills img{width:12px;height:12px;flex-basis:12px}.players-eight .equipment-slots{left:8%;right:8%;bottom:1%;gap:1px}.players-eight .equip-slot{height:8px;min-height:0}.players-eight .equip-slot img,.players-eight .equip-slot small,.players-eight .equip-slot b{display:none}.players-eight .seat-self .seat-title{bottom:25%;padding:2px 4px}.players-eight .seat-self .seat-title span{font-size:9px}.players-eight .seat-self .seat-title small{display:block;font-size:6px}.players-eight .seat-self .hp{top:20%;font-size:9px}.players-eight .seat-self .seat-skill-actions{left:7%;right:7%;bottom:8%;gap:2px}.players-eight .seat-self .seat-skill-actions button{height:16px;padding:1px 3px;font-size:8px}.players-eight .seat-self .seat-skill-actions img{width:10px;height:10px;flex-basis:10px}.players-eight .seat-self .equip-slot{height:10px}.table-eight .seat-arrow-marker{width:22px;height:22px;border-width:1px}.table-eight .seat-arrow-marker:before{top:4px;width:5px;height:9px}.table-eight .seat-arrow-marker:after{bottom:3px;border-left-width:5px;border-right-width:5px;border-top-width:7px}.table-eight .seat-top-left .seat-arrow-marker,.table-eight .seat-top-mid-left .seat-arrow-marker,.table-eight .seat-top-center .seat-arrow-marker,.table-eight .seat-top-mid-right .seat-arrow-marker,.table-eight .seat-top-right .seat-arrow-marker{top:calc(100% + 4px)}.table-eight .seat-left-mid .seat-arrow-marker{right:-28px}.table-eight .seat-right-mid .seat-arrow-marker{left:-28px}.table-eight .center{z-index:17;top:calc(172px + env(safe-area-inset-top));width:auto;min-width:0;max-width:min(250px,calc(100vw - 132px));padding:5px 9px;border-radius:999px;transform:translate(-50%,-50%)}.table-eight .center p{display:block;overflow:hidden;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.table-eight .center-panel{top:clamp(220px,39vh,292px);width:min(292px,calc(100vw - 28px));max-height:min(24vh,174px);padding:10px}.table-eight .action-feed{display:grid;left:50%;right:auto;top:calc(204px + env(safe-area-inset-top));width:min(238px,calc(100vw - 132px));max-height:30px;transform:translate(-50%);justify-items:center;text-align:center}.table-eight .action-feed div:first-child{justify-self:center;max-width:100%;padding:4px 9px;font-size:10px}.table-eight .log{left:50%;right:auto;top:auto;bottom:calc(var(--mobile-eight-hand-height) + 8px + env(safe-area-inset-bottom));width:min(214px,calc(100vw - 156px));height:58px;max-height:58px;padding:5px 7px;gap:3px;border-radius:7px;transform:translate(-50%)}.table-eight .log header{display:none}.table-eight .log-list{max-height:48px;gap:3px;padding-right:2px}.table-eight .log-entry{min-height:18px;grid-template-columns:28px minmax(0,1fr);gap:4px}.table-eight .log-entry span{padding:2px 3px;font-size:9px}.table-eight .log-entry p{font-size:10px;line-height:1.2}.table-eight .table-ai-summary{left:auto;right:max(7px,env(safe-area-inset-right));bottom:calc(var(--mobile-eight-hand-height) + 72px + env(safe-area-inset-bottom));max-width:min(110px,28vw);padding:4px 7px;font-size:9px}.table-eight .hand-zone{left:max(6px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(5px,env(safe-area-inset-bottom));gap:5px;grid-template-columns:minmax(0,1fr) 58px}.table-eight .pending-action-dock,.table-eight .pending-response-dock{left:max(84px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(var(--mobile-eight-hand-height) + 12px + env(safe-area-inset-bottom))}.table-eight .hand-zone-frame{right:62px;height:46px}.table-eight .hand-table{padding-top:8px}.table-eight .hand-rack{padding:6px 5px 7px}.table-eight .hand-rack-backplate{inset:4px 4px 8px}.table-eight .hand{min-height:clamp(104px,16.5vh,130px);padding:18px 7px 12px}.table-eight .hand .card{flex-basis:clamp(58px,15.2vw,68px);margin-right:clamp(-17px,-4.4vw,-11px)}.table-eight .hand .card:hover,.table-eight .hand .card:focus-visible{transform:translateY(-10px) rotate(0) scale(1.03)}.table-eight .hand .card.selected{transform:translateY(-14px) rotate(0) scale(1.04)}.table-eight .hand-zone .action-buttons{gap:4px}.table-eight .hand-zone .action-status{width:58px;max-width:58px;min-height:18px;padding:2px 3px}.table-eight .hand-zone .action-status-text{font-size:8px;line-height:1.15}.table-eight .hand-zone .primary,.table-eight .hand-zone .secondary-action{width:58px;min-width:58px;max-width:58px;height:34px;padding:5px 4px;font-size:10px}.table-eight .inspector{left:max(7px,env(safe-area-inset-left));right:max(7px,env(safe-area-inset-right));bottom:calc(var(--mobile-eight-hand-height) + 72px + env(safe-area-inset-bottom));max-height:82px;padding:8px}.table-eight .battle-effect{width:min(58vw,176px)}.table-eight .played-card-face{width:clamp(58px,16vw,78px)}}
