@keyframes cardSlideIn{0%{opacity:0;transform:translate(-50%)scale(.92)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes cardSlideInRight{0%{opacity:0;transform:translateY(-20px)translate(20px)scale(.8)}to{opacity:1;transform:translateY(0)translate(0)scale(1)}}@keyframes target-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@keyframes pulseResponse{0%,to{opacity:0}50%{opacity:1}}@keyframes glowResponse{0%,to{opacity:.4}50%{opacity:1}}@keyframes badgePop{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes sway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes shine{0%{transform:translate(-100%)translateY(-100%)rotate(45deg)}to{transform:translate(100%)translateY(100%)rotate(45deg)}}@keyframes impactBurst{0%{opacity:1;transform:translate(-50%,-50%)scale(0)}40%{opacity:.9;transform:translate(-50%,-50%)scale(1.4)}to{opacity:0;transform:translate(-50%,-50%)scale(2.2)}}@keyframes impactRing{0%{opacity:.8;transform:translate(-50%,-50%)scale(.5)}to{opacity:0;transform:translate(-50%,-50%)scale(2)}}@keyframes targetShake{0%,to{transform:translate(0)}20%{transform:translate(-4px,2px)}40%{transform:translate(4px,-2px)}60%{transform:translate(-3px,-3px)}80%{transform:translate(3px,3px)}}.impact-effect{background:radial-gradient(circle, #fbbf24 0%, var(--impact-color,#ef4444) 50%, transparent 70%);pointer-events:none;z-index:10001;border-radius:50%;width:90px;height:90px;animation:.45s ease-out forwards impactBurst;position:fixed}.impact-effect:after{content:"";border:3px solid var(--impact-color,#ef4444);border-radius:50%;animation:.45s ease-out forwards impactRing;position:absolute;inset:-20px}.target-shake{animation:.3s ease-in-out targetShake!important}.attack-ghost,.block-ghost{will-change:transform, opacity}.arena-container{touch-action:manipulation;overscroll-behavior:none;color:#fff;background-color:#0000;background-image:radial-gradient(#1a1a2e03 100%,#050d25 100%),url(/assets/images/bg/arena3.avif);background-position:0 0,50%;background-repeat:repeat,no-repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:100%;min-height:100dvh;font-family:Segoe UI,system-ui,sans-serif;position:relative;overflow:hidden}.arena-container:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 20% 30%,#4a9eff14 0%,#0000 25%),radial-gradient(circle at 80% 70%,#8b5cf614 0%,#0000 25%);position:absolute;inset:0}.arena-main{width:100%;height:100dvh;padding-top:env(safe-area-inset-top,0px);flex-direction:column;align-items:center;gap:16px;max-width:1400px;margin:0 auto;display:flex;transform:perspective(900px)rotateX(14deg)}.arena-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a99;border-bottom:1px solid #ffffff14;flex-direction:column;justify-content:space-between;align-items:center;padding:12px 16px;display:none;bottom:0;left:0;right:0}.arena-exit-btn{color:#fca5a5;cursor:var(--cursor-pointer);background:#ef444426;border:1px solid #ef44444d;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:700;transition:transform .2s,opacity .2s;display:flex}.arena-exit-btn:hover{background:#ef444440;transform:translateY(-1px)}.connection-status-bar{align-items:center;gap:10px;display:flex}.dev-mode-indicator{color:#fbbf24;letter-spacing:.5px;background:#f59e0b33;border:1px solid #f59e0b66;border-radius:8px;padding:4px 10px;font-size:.7rem;font-weight:800}.status-indicator{color:#fffc;background:#00000059;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:8px;padding:6px 12px;font-size:.75rem;font-weight:600;display:flex}.status-dot{background:#6b7280;border-radius:50%;width:8px;height:8px}.status-connected .status-dot{background:#22c55e;box-shadow:0 0 8px #22c55e}.status-connecting .status-dot,.status-reconnecting .status-dot{background:#f59e0b;animation:1.5s infinite pulse}.status-error .status-dot,.status-disconnected .status-dot{background:#ef4444}.reconnect-btn{color:#93c5fd;cursor:var(--cursor-pointer);background:#3b82f633;border:1px solid #3b82f666;border-radius:6px;padding:4px 10px;font-size:.7rem;font-weight:700;transition:transform .2s,opacity .2s}.reconnect-btn:hover{background:#3b82f659}.notification-container{z-index:2500;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:70px;left:50%;transform:translate(-50%)}.notification-item{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172af2;border:1px solid #ffffff1a;border-radius:12px;padding:12px 20px;font-size:.9rem;font-weight:600;animation:.3s cardSlideIn;box-shadow:0 10px 30px #00000059}.notification-item.error{background:#450a0af2;border-color:#ef444480}.notification-item.success{background:#064e3bf2;border-color:#22c55e80}.player-panels-row{align-items:stretch;gap:16px;width:100%;max-width:1200px;display:flex}.player-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172aa6;border:1px solid #ffffff1a;border-radius:16px;min-width:260px;padding:14px 16px;transition:transform .3s,opacity .3s;box-shadow:0 8px 24px #00000040}.player-panel.active-turn{border-color:#22c55e80;box-shadow:0 0 20px #22c55e26,0 8px 24px #00000040}.player-panel.pending-target{cursor:var(--cursor-crosshair);border-color:#ef444499;animation:1.5s infinite target-pulse}.player-panel.opponent{border-color:#ef444440}.player-panel-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.player-name{color:#fff;text-shadow:1px 1px 2px #00000080;font-size:1rem;font-weight:800}.player-stats{gap:12px;font-size:.9rem;font-weight:700;display:flex}.life-stat{color:#fca5a5}.mana-stat{color:#93c5fd}.player-zone-counts{color:#fff9;gap:14px;margin-top:6px;font-size:.75rem;display:flex}.game-info-pill{z-index:1000;color:#fff;background:linear-gradient(135deg,#4f46e5e6,#9333eae6);border:1px solid #ffffff26;border-radius:16px;flex-direction:column;gap:6px;min-width:180px;padding:12px 16px;font-size:.8rem;font-weight:700;display:flex;position:fixed;top:70px;right:16px;box-shadow:0 10px 30px #0000004d}.game-info-pill .resource-line{color:#fde68a}.game-info-pill .resource-line.exhausted{color:#fca5a5}.battle-field{flex-direction:column;align-items:center;gap:12px;width:100%;max-width:1200px;display:flex}.opponent-field,.my-field{border-radius:16px;width:100%;transition:transform .3s,opacity .3s}.cards-grid{isolation:isolate;flex-wrap:nowrap;justify-content:center;align-items:center;width:100%;min-height:170px;transition:transform .3s,opacity .3s;display:flex;position:relative}.cards-grid:after{content:"";pointer-events:none;z-index:-1;opacity:0;border-radius:12px;position:absolute;inset:0;box-shadow:inset 0 0 24px #3b82f640}.empty-field-message{color:#6b7280;border-radius:12px;justify-content:center;align-items:center;width:100%;font-size:.9rem;font-style:italic;transition:transform .3s,opacity .3s;display:flex}.my-field .cards-grid.drop-zone-hover .empty-field-message,.my-field .cards-grid.drop-zone-hover{color:#3b82f6;background:#3b82f61f;border-color:#3b82f6;border-radius:12px}.my-field .cards-grid.drop-zone-hover:after{animation:1.2s ease-in-out infinite dropZonePulse}@keyframes dropZonePulse{0%,to{opacity:0}50%{opacity:1}}.player-card{transform-origin:50%;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;transition:transform .3s,opacity .3s;display:flex;position:relative;overflow:visible}.player-card-visual{pointer-events:auto;cursor:var(--cursor-pointer)}.player-card:not(:first-child){margin-left:calc(-200px + 180px * var(--card-scale,.7))}.cancel-target-btn{color:#fff;width:30px;height:30px;cursor:var(--cursor-pointer);z-index:20;background:#000;border-radius:50%;justify-content:center;align-items:center;padding:10px;font-size:1.2rem;display:flex;position:absolute;top:-10px;right:-10px}.cancel-ability-target-btn{color:#fff;width:30px;height:30px;cursor:var(--cursor-pointer);z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:2px solid #fffc;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.2rem;display:flex;position:absolute;top:-10px;right:-36px}.cancel-ability-target-btn:hover{background:#ffffff4d;transform:scale(1.1)}@media (hover:hover){.opponent-field .player-card:has(.player-card-visual:hover){filter:drop-shadow(0 4px 12px #f446);transform:scale(1.05)}}.opponent-field .player-card-visual:hover{cursor:var(--cursor-crosshair)}.vs-indicator{justify-content:center;align-items:center;display:flex}.vs-pill{text-transform:uppercase;letter-spacing:1px;color:#fffc;background:#ffffff14;border:1px solid #ffffff1a;border-radius:20px;padding:6px 18px;font-size:.75rem;font-weight:800}.targeting-scrim{z-index:0;pointer-events:none;background:#000000b8;animation:.22s ease-out targeting-scrim-in;position:absolute;inset:0}.targeting-cancel-pill{top:calc(64px + env(safe-area-inset-top,0px));z-index:2600;color:#fff;min-height:40px;cursor:var(--cursor-pointer);background:#0f172aeb;border:1px solid #ffffff59;border-radius:999px;padding:8px 18px;font-size:.85rem;font-weight:700;animation:.22s ease-out targeting-scrim-in;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}.targeting-progress-pill{top:calc(112px + env(safe-area-inset-top,0px));cursor:var(--cursor-default)}button.targeting-progress-pill{cursor:var(--cursor-pointer)}button.targeting-progress-pill:disabled{opacity:.55;cursor:var(--cursor-not-allowed)}.targeting-reopen-pill{top:calc(160px + env(safe-area-inset-top,0px))}@keyframes targeting-scrim-in{0%{opacity:0}to{opacity:1}}.arena-container.is-targeting .arena-layout-zone.targeting-dimmed,.arena-container.is-targeting .arena-player-phase-panel.targeting-dimmed{filter:brightness(.28)saturate(.35)blur(1px);transition:filter .22s ease-out}.arena-container.is-targeting .arena-layout-zone.targeting-focus .player-card:not(.is-ability-target):not(.is-ability-source):not(.has-attached-target),.arena-container.is-targeting .arena-layout-zone.targeting-source .player-card:not(.is-ability-source):not(.is-ability-target):not(.has-attached-target),.arena-container.is-targeting .arena-layout-zone.targeting-focus .hand-card-wrapper:not(.is-ability-target):not(.is-ability-source),.arena-container.is-targeting .arena-layout-zone.targeting-source .hand-card-wrapper:not(.is-ability-source):not(.is-ability-target){filter:brightness(.32)saturate(.4);transition:filter .22s ease-out}.arena-container.is-targeting .arena-layout-zone.targeting-dimmed,.arena-container.is-targeting .arena-layout-zone.targeting-dimmed *,.arena-container.is-targeting .arena-player-phase-panel.targeting-dimmed,.arena-container.is-targeting .arena-player-phase-panel.targeting-dimmed *,.arena-container.is-targeting .arena-layout-zone.targeting-focus .player-card:not(.is-ability-target):not(.is-ability-source):not(.has-attached-target),.arena-container.is-targeting .arena-layout-zone.targeting-focus .player-card:not(.is-ability-target):not(.is-ability-source):not(.has-attached-target) *,.arena-container.is-targeting .arena-layout-zone.targeting-source .player-card:not(.is-ability-source):not(.is-ability-target):not(.has-attached-target),.arena-container.is-targeting .arena-layout-zone.targeting-source .player-card:not(.is-ability-source):not(.is-ability-target):not(.has-attached-target) *,.arena-container.is-targeting .arena-layout-zone.targeting-focus .hand-card-wrapper:not(.is-ability-target):not(.is-ability-source),.arena-container.is-targeting .arena-layout-zone.targeting-focus .hand-card-wrapper:not(.is-ability-target):not(.is-ability-source) *,.arena-container.is-targeting .arena-layout-zone.targeting-source .hand-card-wrapper:not(.is-ability-source):not(.is-ability-target),.arena-container.is-targeting .arena-layout-zone.targeting-source .hand-card-wrapper:not(.is-ability-source):not(.is-ability-target) *{pointer-events:none!important}.arena-container.is-targeting .player-card.has-attached-target .attached-card.is-attached-target{z-index:3}.arena-container.is-targeting .arena-layout-zone.targeting-focus .zone-box.ability-target-zone{background:#f59e0b33;border-color:#f59e0bf2}.arena-container.is-targeting .arena-player-phase-panel.targeting-focus{filter:drop-shadow(0 0 14px #f59e0b8c)}.arena-container.is-targeting .player-card.is-picked-target .player-card-visual{outline-offset:3px;border-radius:12px;outline:3px solid #f59e0bf2;box-shadow:0 0 22px #f59e0bbf}.arena-container.is-targeting .player-card.is-picked-target:after{content:"✓";z-index:3;color:#1c1917;text-align:center;pointer-events:none;background:#f59e0bf2;border-radius:999px;min-width:26px;height:26px;padding:0 6px;font-size:.85rem;font-weight:800;line-height:26px;position:absolute;top:-8px;right:-8px;box-shadow:0 4px 12px #00000073}.zone-box.ability-target-zone{background:#f59e0b1f;border-color:#f59e0bb3;box-shadow:0 0 12px #f59e0b40}.zone-box.ability-target-zone:after{animation:1.4s ease-in-out infinite ability-target-pulse;box-shadow:0 0 20px #f59e0b73}@keyframes ability-target-pulse{0%,to{opacity:0}50%{opacity:1}}.game-zones-row{flex-direction:row;flex:1;justify-content:center;align-items:stretch;gap:10px;display:flex}.zone-box{isolation:isolate;background:linear-gradient(#ffffff12 0%,#0f172a38 100%);border:1px solid #ffffff17;border-radius:16px;flex-direction:column;align-items:center;gap:6px;width:100%;min-width:90px;padding:10px 12px;transition:transform .2s,opacity .2s;display:flex;position:relative;box-shadow:inset 0 1px #ffffff17,0 6px 18px #00000047}.zone-box:after{content:"";border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;position:absolute;inset:0}.zone-box:hover{background:linear-gradient(#ffffff1a 0%,#0f172a57 100%);border-color:#ffffff2e;box-shadow:inset 0 1px #ffffff1f,0 8px 22px #00000057}.zone-header{justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.zone-title{text-transform:uppercase;letter-spacing:.8px;color:#ffffff8c;font-size:.65rem;font-weight:800}.zone-box.zone-viewable{cursor:var(--cursor-pointer)}.zone-box.zone-viewable:hover .zone-title,.zone-box.zone-viewable:focus-visible .zone-title{color:#ffffffd9}.zone-box.zone-viewable:focus-visible{outline-offset:2px;outline:2px solid #ffffff59}.zone-content{justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:relative}.zone-count{color:#ffffff73;font-size:.65rem;font-weight:700}.zone-stack-bg{background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;width:52px;height:72px;position:absolute}.zone-stack-bg:first-child{transform:translate(2px,2px)}.zone-stack-bg:nth-child(2){transform:translate(-1px,-1px)}.stack-container{justify-content:center;align-items:center;width:100%;min-height:120px;display:flex;position:relative}.stacked-card{transform-origin:50%;transform:translate(calc(-50% + var(--offset-x,0px)), calc(-50% + var(--offset-y,0px))) scale(var(--card-scale,1));transition:transform .3s;position:absolute;top:50%;left:50%}@media (hover:hover){.stacked-card:hover{transform:translate(calc(-50% + var(--offset-x,0px)), calc(-50% + var(--offset-y,0px) - 12px)) scale(calc(var(--card-scale,1) * 1.08));z-index:1000!important}}.zone-card-row{transform:scale(var(--card-scale,1));transform-origin:50%;transition:transform .3s}.zone-empty{color:#ffffff40;font-size:.6rem}.card-preview-overlay{z-index:40000;pointer-events:auto;overscroll-behavior:contain;touch-action:none;transition:opacity .2s;position:fixed;overflow:visible}.card-preview-overlay.hover{animation:.2s ease-out cardSlideInRight;right:16px}.card-preview-overlay.sticky{animation:.2s ease-out previewStickyIn}@keyframes previewStickyIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.card-preview-close{z-index:50;color:#fff;width:36px;height:36px;cursor:var(--cursor-pointer);background:#0f172af2;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex;position:absolute;top:-14px;right:-14px;box-shadow:0 6px 16px #00000073}.card-preview-stack{overflow:visible}.card-preview-stack .tilt-card-wrapper.tapped,.card-preview-stack .tilt-card-wrapper.status-rotated{transform:translateZ(.1px)}.card-preview-stack-item{cursor:var(--cursor-pointer);filter:drop-shadow(-6px 0 10px #00000073);transition:transform .18s;position:absolute;top:0}.card-preview-stack-item.pinned:after{content:"";pointer-events:none;border:2px solid #ff9f6bd9;border-radius:10px;position:absolute;inset:-3px}.card-preview-pin-badge{pointer-events:none;background:#0f172af2;border:1px solid #ff9f6bd9;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;line-height:1;display:flex;position:absolute;top:-8px;left:-8px}.card-preview-overlay.drag-passthrough,.card-preview-overlay.drag-passthrough *{pointer-events:none!important}.card-preview-overlay.floating{flex-direction:column;align-items:center;gap:12px;transition:translate .35s cubic-bezier(.22,1,.36,1);animation:.3s ease-out floatingCardIn;display:flex;top:50%;left:50%;translate:-50% -50%}.card-preview-overlay.floating.floating--beside-ability{translate:calc(-100% - 16px) -50%}@keyframes floatingCardIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.floating-preview-header{color:#ff9f6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;isolation:isolate;background:#0f172af2;border:1px solid #ff6b3599;border-radius:24px;padding:8px 18px;font-size:.85rem;font-weight:800;position:relative;box-shadow:0 10px 30px #00000059}.floating-preview-header:after{content:"";border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;animation:2s infinite pulseResponse;position:absolute;inset:0;box-shadow:0 0 0 4px #ff6b3540}.floating-preview-header.is-mine{color:#86efac;border-color:#4ade80b3}.floating-response-actions{justify-content:center;align-items:center;gap:12px;animation:.2s ease-out floatingCardIn;display:flex}.floating-response-actions.is-preview,.active-ability-actions.is-preview{pointer-events:none}.floatingPreviewContent,.hover .cardDetailView{border-radius:16px;position:relative;overflow:hidden;box-shadow:0 0 0 2px #ff6b3566,0 20px 50px #00000080}.hover .cardDetailView{animation:none;box-shadow:0 20px 50px #00000080}.floating-preview-content .card-detail-card .card,.hover .card-detail-card .card{border-color:#ff6b3599}.player-hand{z-index:100;pointer-events:none;width:100%;max-width:1000px;height:210px;transition:transform .3s,scale .3s;scale:.6}@media (hover:hover){.player-hand:hover{transform:translateY(-10%)}}.player-hand.opponent-hand{bottom:auto;transform:translate(-50%)translateY(-150%)rotate(180deg)scale(.7)}.hand-container{justify-content:center;align-items:flex-end;width:100%;height:100%;display:flex;position:relative}.hand-card-wrapper{pointer-events:auto;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;position:absolute;bottom:10px}.hand-card-wrapper:hover{z-index:100!important}.hand-card-index{color:#e2e8f073;text-align:center;letter-spacing:.5px;pointer-events:none;background:#0f172a59;border-radius:6px;min-width:15px;padding:0 4px;font-size:.62rem;font-weight:600;line-height:15px;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.hand-card-wrapper:hover .hand-card-index{color:#e2e8f0e6;background:#0f172a99}.key-hint{letter-spacing:0;text-transform:none;vertical-align:middle;opacity:.75;border:1px solid #ffffff47;border-bottom-width:2px;border-radius:4px;justify-content:center;align-items:center;min-width:1.5em;margin-left:6px;padding:1px 5px;font-family:inherit;font-size:.7em;font-weight:600;line-height:1.4;display:inline-flex}@media (hover:none),(pointer:coarse){html:not([data-keyboard-input]) .key-hint,html:not([data-keyboard-input]) .hand-card-index,html:not([data-keyboard-input]) .key-hint-list{display:none!important}}.hand-card-wrapper:before{content:"";opacity:0;pointer-events:none;z-index:-1;border-radius:10px;transition:opacity .25s;position:absolute;inset:-6px;box-shadow:2px 2px 20px #fff}.hand-container[data-remote-hover-hand=true] .hand-card-wrapper:before{opacity:1}.phase-status-container{z-index:300;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;background:#0f172aeb;border:1px solid #4a9eff66;border-radius:16px;min-width:260px;max-width:92vw;padding:8px 10px;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 30px #00000059}.phase-drag-handle{cursor:var(--cursor-grab);border-bottom:1px solid #ffffff14;align-items:center;gap:8px;margin-bottom:6px;padding:4px 2px 8px;display:flex}.drag-grip{letter-spacing:1px;color:#ffffff59;font-size:10px;line-height:1}.phase-current-label{flex:1;align-items:center;gap:8px;display:flex;overflow:hidden}.turn-indicator-mini{color:#ff8a8a;white-space:nowrap;background:#ff6b6b2e;border-radius:10px;flex-shrink:0;padding:3px 7px;font-size:10px;font-weight:700}.turn-indicator-mini.my-turn{color:#4ecdc4;background:#4ecdc42e}.turn-indicator-mini.response-phase{color:#ff9f6b;background:linear-gradient(135deg,#ff6b3540,#f7931e40)}.current-phase-name{color:#4a9eff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.phase-bar{align-items:center;gap:8px;display:flex}.phases-strip{scrollbar-width:none;flex:1;align-items:center;gap:4px;padding:2px;display:flex;overflow-x:auto}.phases-strip::-webkit-scrollbar{display:none}.phase-item{width:34px;height:34px;cursor:var(--cursor-default);background:#ffffff0f;border:1px solid #0000;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s,opacity .2s;display:flex;position:relative}.phase-item .phase-icon{filter:grayscale(.25);font-size:15px;line-height:1;transition:transform .2s}.phase-item .phase-tooltip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:10;background:#000000d9;border:1px solid #ffffff1a;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 6px 16px #0000004d}.phase-item .phase-tooltip:after{content:"";border:5px solid #0000;border-top-color:#000000d9;position:absolute;top:100%;left:50%;transform:translate(-50%)}.phase-item:hover .phase-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.phase-item:hover .phase-icon{filter:grayscale(0);transform:scale(1.1)}.phase-item.current-phase{background:#4a9eff38;border-color:#4a9effb3;box-shadow:0 0 12px #4a9eff4d}.phase-item.completed-phase{opacity:.65;background:#4ecdc41f}.phase-item.completed-phase .phase-icon{filter:grayscale(.6)}.phase-item.disabled{opacity:.35}.phase-dot-marker{background:#4ecdc4;border-radius:50%;width:4px;height:4px;animation:1.5s infinite pulse;position:absolute;bottom:3px}.phase-item.allows-response:after{content:"💫";font-size:9px;position:absolute;top:-4px;right:-4px}.phase-item.response-phase{background:linear-gradient(135deg,#ff6b3540,#f7931e40);border-color:#ff6b35b3}.phase-actions-right{border-left:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:5px;padding-left:6px;display:flex}.arena-loading{color:#ffffffb3;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;display:flex}@media (max-width:900px){.arena-main{transform:none}}@media (max-width:768px){.arena-main{padding-top:72px}.player-panels-row{flex-direction:column}.player-panel{width:100%;min-width:0}.game-info-pill{width:100%;position:relative;top:auto;right:auto}.card,.card.md{width:110px}.phase-status-container{min-width:0;bottom:10px;left:10px;right:10px}}.payment-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.payment-modal{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:2px solid #ffd7004d;border-radius:20px;width:90%;max-width:800px;max-height:90vh;padding:30px;animation:.3s ease-out slideUp;overflow-y:auto;box-shadow:0 20px 60px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.payment-header{border-bottom:2px solid #ffd70033;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.payment-header h3{color:gold;text-shadow:0 2px 4px #00000080;margin:0;font-size:24px}.close-btn{color:#f44;width:36px;height:36px;cursor:var(--cursor-pointer);background:#f003;border:2px solid #ff000080;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:transform .2s,opacity .2s;display:flex}.close-btn:hover{background:#f006;transform:scale(1.1)}.card-to-pay{margin-bottom:20px}.card-info{background:#0000004d;border:1px solid #ffd70033;border-radius:12px;padding:15px}.card-info h4{color:#fff;margin:0 0 10px;font-size:16px}.card-preview{justify-content:center;margin:15px 0;display:flex}.card-preview .card{transform-origin:50%;transform:scale(.7)}.cost-info{text-align:center;color:#ccc;margin:10px 0 0;font-size:18px}.payment-status{background:#0006;border:2px solid #64c8ff4d;border-radius:12px;margin-bottom:20px;padding:15px 20px}.payment-status h4{color:#fff;margin:0 0 12px;font-size:16px}.cost-breakdown{flex-direction:column;gap:10px;display:flex}.cost-item{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.cost-type{color:gold;text-transform:capitalize;font-size:16px;font-weight:700}.cost-amount{color:#fff;font-size:18px;font-weight:700}.cost-icon{color:#fbbf24;font-size:20px}.cost-icon.complete{color:#4ade80;text-shadow:0 0 10px #4ade8080}.resources-container{margin-bottom:20px}.resources-container h4{color:#fff;margin:0 0 15px;font-size:18px}.resources-grid{background:#0003;border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px;max-height:400px;padding:10px;display:grid;overflow-y:auto}.resource-item{cursor:var(--cursor-pointer);background:#ffffff0d;border:3px solid #0000;border-radius:12px;padding:5px;transition:transform .2s,opacity .2s;position:relative}.resource-item:hover:not(.tapped){border-color:#ffd70080;transform:translateY(-5px);box-shadow:0 5px 15px #ffd7004d}.resource-item.selected{background:#4ade8026;border-color:#4ade80;box-shadow:0 0 20px #4ade8066}.resource-item.tapped{opacity:.4;cursor:var(--cursor-not-allowed)}.resource-item .card{transform-origin:50%;transform:scale(.8)}.resource-value{color:#000;background:linear-gradient(135deg,gold,#ffed4e);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;font-weight:700;display:flex;position:absolute;top:-5px;right:-5px;box-shadow:0 2px 8px #0006}.payment-actions{justify-content:center;gap:15px;margin-top:20px;display:flex}.payment-actions button{cursor:var(--cursor-pointer);text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:12px;padding:12px 30px;font-size:16px;font-weight:700;transition:transform .2s,opacity .2s}.btn-cancel{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.btn-cancel:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ef444466}.btn-confirm{color:#fff;background:linear-gradient(135deg,#4ade80,#22c55e);box-shadow:0 4px 12px #4ade804d}.btn-confirm:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #4ade8066}.btn-confirm:disabled{cursor:var(--cursor-not-allowed);opacity:.5;background:linear-gradient(135deg,#666,#555)}.resources-grid::-webkit-scrollbar{width:8px}.resources-grid::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.resources-grid::-webkit-scrollbar-thumb{background:#ffd70066;border-radius:4px}.resources-grid::-webkit-scrollbar-thumb:hover{background:#ffd70099}.payment-modal::-webkit-scrollbar{width:8px}.payment-modal::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.payment-modal::-webkit-scrollbar-thumb{background:#ffd70066;border-radius:4px}.payment-modal::-webkit-scrollbar-thumb:hover{background:#ffd70099}@media (max-width:768px){.payment-modal{width:95%;max-height:85vh;padding:20px}.payment-header h3{font-size:18px}.resources-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}.payment-actions button{padding:10px 16px;font-size:14px}}@keyframes floatUpAndFade{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}15%{opacity:1;transform:translate(-50%,-110%)scale(1.25)}40%{transform:translate(-50%,-160%)scale(1.1)}to{opacity:0;transform:translate(-50%,-240%)scale(1)}}.floating-text{white-space:nowrap;pointer-events:none;z-index:20000;text-shadow:0 2px 4px #0009;font-family:Montserrat,Segoe UI,system-ui,sans-serif;font-size:1.6rem;font-weight:900;animation:1s ease-out forwards floatUpAndFade;position:fixed}.floating-text-positive{color:#4ade80}.floating-text-negative{color:#ef4444}.floating-text-life-up{color:#4ade80}.floating-text-life-down{color:#ef4444}.floating-text-mana-up{color:#60a5fa}.floating-text-mana-down{color:#f87171}.floating-text-attack-up{color:#fbbf24}.floating-text-attack-down{color:#f87171}.floating-text-defense-up{color:#60a5fa}.floating-text-defense-down{color:#f87171}.floating-text-generic{color:#fff}.floating-text-neutral{color:#d1d5db}@keyframes statPopUp{0%{transform:scale(1)}35%{transform:scale(1.55)}60%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes statPopDown{0%{transform:scale(1)}35%{transform:scale(1.55)}60%{transform:scale(1.25)}to{transform:scale(1)}}.stat-modified-positive{text-shadow:0 0 8px #4ade8099;color:#4ade80!important}.stat-modified-negative{text-shadow:0 0 8px #ef444499;color:#f87171!important}.stat-changing-up{color:#4ade80;text-shadow:0 0 14px #4ade80f2;animation:.7s cubic-bezier(.34,1.56,.64,1) statPopUp}.stat-changing-down{color:#ef4444;text-shadow:0 0 14px #ef4444f2;animation:.7s cubic-bezier(.34,1.56,.64,1) statPopDown}.card-stats.stats-up{box-shadow:0 0 12px #4ade8066;background:linear-gradient(135deg,#14532d 0%,#166534 100%)!important;border-color:#22c55e!important}.card-stats.stats-down{box-shadow:0 0 12px #ef444466;background:linear-gradient(135deg,#7f1d1d 0%,#991b1b 100%)!important;border-color:#ef4444!important}.card-detail-view{color:#fff;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:2px solid #ffffff1f;border-radius:18px;gap:16px;max-width:520px;padding:18px;display:flex;box-shadow:0 20px 60px #00000080}.card-detail-card{flex-shrink:0}.card-detail-card .card{border-color:#fff3}.card-detail-info{flex-direction:column;gap:10px;min-width:220px;max-width:280px;display:flex}.card-detail-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-detail-name{color:#fff;text-shadow:0 2px 4px #0009;margin:0;font-size:1.15rem;font-weight:800}.card-detail-cost{background:linear-gradient(135deg,#4a5568 0%,#2d3748 100%);border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:.85rem;font-weight:800;display:flex;box-shadow:inset 0 1px 2px #ffffff1a,0 2px 6px #0000004d}.card-detail-type-line{text-transform:uppercase;letter-spacing:.5px;color:#93c5fd;align-items:center;gap:8px;font-size:.8rem;font-weight:700;display:flex}.card-detail-type-icon{font-size:1rem}.card-detail-resource-type{color:#d1d5db;text-transform:none}.card-detail-stats{background:#00000059;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:10px;width:fit-content;padding:8px 12px;font-size:.95rem;font-weight:700;display:flex}.card-detail-stat{align-items:center;gap:4px;display:inline-flex}.card-detail-stat small{opacity:.8;font-size:.75rem}.card-detail-stat.positive{color:#4ade80}.card-detail-stat.negative{color:#f87171}.card-detail-stat-separator{color:#fbbf24;font-weight:900}.card-detail-resource-value{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf244d;border-radius:10px;width:fit-content;padding:8px 12px;font-weight:700}.card-detail-description{color:#e2e8f0;background:#0000004d;border:1px solid #ffffff14;border-radius:12px;padding:10px 12px;font-size:.85rem;line-height:1.4}.card-detail-description p{margin:0}.card-detail-abilities{flex-direction:column;gap:8px;display:flex}.card-detail-abilities h4{text-transform:uppercase;letter-spacing:.8px;color:#ffffff8c;margin:0 0 2px;font-size:.75rem}.card-detail-ability{background:#0000004d;border:1px solid #ffffff14;border-radius:10px;padding:8px 10px;transition:transform .2s,opacity .2s}.card-detail-ability.highlighted{background:#8b5cf62e;border-color:#8b5cf680;box-shadow:0 0 16px #8b5cf640}.card-detail-ability-header{align-items:center;gap:6px;margin-bottom:4px;font-size:.75rem;font-weight:700;display:flex}.card-detail-ability-icon{font-size:.85rem}.card-detail-ability-type{text-transform:capitalize;color:#c4b5fd}.card-detail-ability-cost{color:#fbbf24;margin-left:auto;font-weight:600}.card-detail-ability-text{color:#e2e8f0;margin:0;font-size:.8rem;line-height:1.35}@media (max-width:768px){.card-detail-view{flex-direction:column;align-items:center;max-width:92vw;padding:14px}.card-detail-info{width:100%;min-width:auto;max-width:100%}}@media (max-width:900px){.cancel-ability-target-btn{top:-36px;left:50%;right:auto;transform:translate(-50%)}}@media (max-width:640px){.arena-layout-zone-hand.inverted{transform:perspective(700px)rotateX(340deg)scale(.7)}}@media (max-width:640px),(max-height:520px){.active-ability-groups{zoom:.62}.notification-container{width:calc(100vw - 24px);top:64px}.notification-item{text-align:center;padding:10px 14px;font-size:.8rem}}@media (max-width:640px){.card-preview-overlay.floating.floating--beside-ability{translate:-50% calc(-100% - 8px)}.active-ability-overlay.active-ability-overlay--beside-floating{translate:-50% 8px}}.coin-toss-overlay{--coin-size:168px;--coin-depth:12px;--coin-gold:#c9a84c;z-index:5000;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.coin-toss-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:radial-gradient(at 50% 42%,#c9a84c24,#0000 62%),#06060ce0;position:absolute;inset:0}.coin-toss-content{z-index:1;width:380px;max-width:92vw;animation:.45s cubic-bezier(.2,.9,.3,1.2) both coinTossPop;position:relative}@keyframes coinTossPop{0%{opacity:0;transform:translateY(18px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.coin-toss-card{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex;box-shadow:0 30px 80px #0009}.coin-toss-glow{opacity:.3;pointer-events:none;background:radial-gradient(circle,#c9a84c52,#c9a84c12 45%,#0000 70%);border-radius:50%;width:340px;height:340px;margin-left:-170px;transition:opacity .6s;position:absolute;top:52px;left:50%}.coin-toss-overlay--spinning .coin-toss-glow{opacity:.55}.coin-toss-overlay--landed .coin-toss-glow{opacity:1}.coin-toss-title{letter-spacing:.06em;color:#e8e0cc;margin:0;font-size:1.5rem;font-weight:400;position:relative}.coin-toss-subtitle{color:#ffffffb8;margin:0;font-size:.95rem;position:relative}.coin-toss-subtitle strong{color:#fff;font-weight:600}.coin-toss-dots i{opacity:.3;background:currentColor;border-radius:50%;width:4px;height:4px;margin-left:4px;animation:1.2s ease-in-out infinite coinDots;display:inline-block}.coin-toss-dots i:nth-child(2){animation-delay:.2s}.coin-toss-dots i:nth-child(3){animation-delay:.4s}@keyframes coinDots{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.coin-scene{width:calc(var(--coin-size) + 40px);height:calc(var(--coin-size) + 64px);perspective:900px;justify-content:center;align-items:center;display:flex;position:relative}.coin-shadow{width:calc(var(--coin-size) * .78);height:14px;margin-left:calc(var(--coin-size) * -.39);transform-origin:50%;background:radial-gradient(#0009,#0000 70%);border-radius:50%;animation:3.2s ease-in-out infinite coinShadowIdle;position:absolute;bottom:4px;left:50%}.coin{width:var(--coin-size);height:var(--coin-size);transform-style:preserve-3d;will-change:transform;animation:3.2s ease-in-out infinite coinIdle;position:relative}.coin-face{object-fit:contain;backface-visibility:hidden;filter:drop-shadow(0 6px 14px #00000080);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.coin-face--heads{transform:translateZ(calc(var(--coin-depth) / 2))}.coin-face--tails{transform:rotateY(180deg) translateZ(calc(var(--coin-depth) / 2))}.coin-edge{transform:translateZ(calc(var(--coin-depth) / 2 - var(--coin-depth) * (var(--i) + .5) / 6));backface-visibility:visible;background:linear-gradient(90deg,#3a2a13 0%,#8a6630 28%,#d8bb7c 50%,#8a6630 72%,#3a2a13 100%);border-radius:50%;position:absolute;inset:4%}@keyframes coinIdle{0%{transform:translateY(0)rotateY(-24deg)rotateX(8deg)}50%{transform:translateY(-10px)rotateY(24deg)rotateX(8deg)}to{transform:translateY(0)rotateY(-24deg)rotateX(8deg)}}@keyframes coinShadowIdle{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}.coin--spinning{animation:.5s linear infinite coinSpin}@keyframes coinSpin{0%{transform:translateY(-32px)rotateY(0)rotateX(12deg)}to{transform:translateY(-32px)rotateY(1080deg)rotateX(12deg)}}.coin-toss-overlay--spinning .coin-shadow{opacity:.4;animation:none;transform:scale(.6)}.coin--landed{animation:none}.coin--land-heads{animation:1.1s cubic-bezier(.15,.85,.25,1) forwards coinLandHeads}.coin--land-tails{animation:1.1s cubic-bezier(.15,.85,.25,1) forwards coinLandTails}@keyframes coinLandHeads{0%{transform:translateY(-32px)rotateY(0)rotateX(12deg)}to{transform:translateY(0)rotateY(1440deg)rotateX(0)scale(1.06)}}@keyframes coinLandTails{0%{transform:translateY(-32px)rotateY(0)rotateX(12deg)}to{transform:translateY(0)rotateY(1620deg)rotateX(0)scale(1.06)}}.coin-toss-overlay--landed .coin-shadow{opacity:.95;transition:transform 1.1s ease-out,opacity 1.1s ease-out;animation:none;transform:scale(1.05)}.coin-toss-actions{justify-content:center;gap:14px;width:100%;margin-top:2px;display:flex;position:relative}.coin-toss-actions .coin-side-btn{border-radius:14px;width:140px;padding:14px 10px 12px;transition:transform .18s,filter .2s}.coin-toss-actions .coin-side-btn>span{flex-direction:column;gap:8px}.coin-toss-actions .coin-side-btn:hover:not(:disabled){transform:translateY(-3px)}.coin-toss-actions .coin-side-btn:active:not(:disabled){transform:translateY(-1px)scale(.98)}.coin-side-btn-token{object-fit:contain;filter:drop-shadow(0 6px 12px #00000080);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:68px;height:68px;transition:transform .25s}.coin-side-btn:hover:not(:disabled) .coin-side-btn-token{transform:rotateY(22deg)scale(1.06)}.coin-side-btn-label{letter-spacing:.04em;font-size:1.05rem}.coin-side-btn-hint{opacity:.65}.coin-toss-result{flex-direction:column;align-items:center;gap:4px;animation:.5s cubic-bezier(.2,.9,.3,1.2) .9s both coinTossPop;display:flex;position:relative}.coin-toss-outcome-chip{letter-spacing:.12em;text-transform:uppercase;color:#e8e0cc;background:linear-gradient(#c9a84c2e,#0e0e16e6);border:1px solid #c9a84c59;border-radius:999px;align-items:center;gap:8px;padding:4px 14px 4px 5px;font-size:.78rem;font-weight:600;display:inline-flex}.coin-toss-outcome-chip img{object-fit:contain;width:26px;height:26px}.coin-toss-outcome{color:#fff;margin:4px 0 0;font-size:1.25rem;font-weight:700}.coin-toss-result--win .coin-toss-outcome{color:var(--coin-gold)}.coin-toss-outcome-detail{color:#ffffff8c;margin:0;font-size:.82rem}@media (prefers-reduced-motion:reduce){.coin,.coin--spinning,.coin-shadow,.coin-toss-dots i,.coin-toss-content,.coin-toss-result{animation:none!important}.coin--land-heads{transform:rotateY(0)}.coin--land-tails{transform:rotateY(180deg)}}@media (max-width:480px){.coin-toss-overlay{--coin-size:128px}.coin-toss-content{width:92vw}.coin-toss-actions .coin-side-btn{width:124px}.coin-side-btn-token{width:56px;height:56px}}.arena-layout{flex-direction:column;flex:1;align-items:center;width:100%;height:100%;display:flex;position:relative;bottom:2.5rem}.arena-layout-layer{pointer-events:none;width:100%;height:50%;position:relative;inset:0}.arena-layout-layer>*{pointer-events:auto}.arena-layout-shared{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.arena-layout-zone{justify-content:center;align-items:center;display:flex;position:absolute;overflow:visible}.arena-layout-zone-hand{transition:transform .3s}.arena-layout-zone-hand.pov{transform:perspective(500px)rotateX(340deg)}@media (hover:hover){.arena-layout-zone-hand.pov:hover{transform:perspective(500px)rotateX(354deg)}}.arena-layout-zone-hand.inverted{transform:perspective(700px)rotateX(320deg)}@media (max-width:768px){.arena-layout-zone-hand.pov{align-items:flex-end}.arena-layout-zone-hand.pov .player-hand{transform-origin:50% 100%}.arena-layout{bottom:0}}.arena-layout-zone .game-zones-row{justify-content:center;align-items:center;width:100%;height:100%}.arena-layout-zone .zone-box{gap:2px;min-width:0;height:100%;min-height:0;padding:6px 8px}.arena-layout-zone .zone-content{flex:auto;height:auto;min-height:0;padding:2px;overflow:visible}.arena-layout-zone .zone-card-row{flex-wrap:nowrap;width:max-content;max-width:none}.arena-layout-zone .stack-container{height:100%;min-height:0}.arena-layout-zone .battle-field,.arena-layout-zone .my-field,.arena-layout-zone .opponentsPlayers-list,.arena-layout-zone .opponent-field{width:100%;height:100%}.arena-layout-zone .cards-grid{min-height:100%}.field-zone{isolation:isolate;background:linear-gradient(#ffffff0f 0%,#0f172a33 100%);border:1px solid #ffffff17;border-radius:16px;flex-direction:column;gap:4px;width:100%;height:100%;padding:6px 8px 8px;transition:transform .2s,opacity .2s;display:flex;position:relative;box-shadow:inset 0 1px #ffffff17,0 6px 18px #00000047}.field-zone:after{content:"";border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;position:absolute;inset:0}.field-zone:hover{border-color:#ffffff2e;box-shadow:inset 0 1px #ffffff1f,0 8px 22px #00000057}.field-zone-header{flex:none;justify-content:space-between;align-items:center;gap:8px;padding:0 4px;display:flex}.field-zone-header .zone-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.arena-layout-zone .field-zone .cards-grid{flex:auto;min-height:0}.field-zone.drop-candidate{background:linear-gradient(#3b82f62e 0%,#0f172a3d 100%);border-color:#3b82f68c}.field-zone.drop-candidate:after,.zone-box.drop-candidate:after{animation:1.6s ease-in-out infinite fieldZoneCandidate;box-shadow:inset 0 0 0 1px #3b82f673,0 0 26px #3b82f666}.field-zone.drop-candidate .zone-title,.field-zone.drop-candidate .zone-count{color:#bfdbfef2}@keyframes fieldZoneCandidate{0%,to{opacity:.35}50%{opacity:1}}.cards-grid.drop-candidate .empty-field-message{pointer-events:none;color:#bfdbfef2;letter-spacing:.5px;text-transform:uppercase;background:#3b82f60f;border:1px dashed #3b82f68c;border-radius:12px;gap:6px;font-size:.8rem;font-style:normal;font-weight:600;position:absolute;inset:0}.arena-layout.is-dragging .arena-layout-player .arena-layout-zone-field:not(.drop-candidate) .field-zone,.arena-layout.is-dragging .arena-layout-player .arena-layout-zone-panel:not(.drop-candidate) .zone-box{opacity:.55}.zone-box.drop-candidate{background:linear-gradient(#3b82f62e 0%,#0f172a3d 100%);border-color:#3b82f68c}.zone-box.drop-candidate .zone-title,.zone-box.drop-candidate .zone-count,.zone-box.drop-candidate .zone-empty{color:#bfdbfef2}.zone-box.drop-zone-hover,.arena-layout-zone[data-touch-drop-hover] .zone-box{background:#3b82f61f;border-color:#3b82f6}.zone-box.drop-zone-hover:after,.arena-layout-zone[data-touch-drop-hover] .zone-box:after{animation:1.2s ease-in-out infinite dropZonePulse;box-shadow:inset 0 0 24px #3b82f640}.arena-layout-zone[data-touch-drop-hover] .cards-grid{background:#3b82f61f;border-color:#3b82f6;border-radius:12px}.arena-layout-zone[data-touch-drop-hover] .cards-grid:after{animation:1.2s ease-in-out infinite dropZonePulse}.arena-layout-zone.tap-target,.arena-layout-zone.tap-target .field-zone,.arena-layout-zone.tap-target .zone-box{cursor:var(--cursor-pointer)}.arena-layout-ui-layer{pointer-events:none;position:absolute;inset:0}.arena-layout-ui-layer>*{pointer-events:none}.arena-layout-overlay{text-shadow:0 1px 3px #0009;position:absolute;overflow:hidden}.arena-layout-overlay-element{width:100%;height:100%}.arena-layout-overlay.is-player-target{border-radius:10px;overflow:visible}.arena-layout-overlay.is-player-target:after{content:"";border-radius:inherit;pointer-events:none;z-index:-1;animation:1.2s ease-in-out infinite target-pulse;position:absolute;inset:0;box-shadow:0 0 0 5px #ff4444b3,0 0 16px #ff444459}.arena-stats-overlay{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;background:#141419bf;border:1px solid #c9a84c4d;border-radius:8px;min-width:280px;padding:.5rem 1rem;position:absolute;left:50%;transform:translate(-50%)}.arena-stats-top{top:-2.5rem}.arena-stats-bottom{bottom:2.5rem}.arena-stats-overlay .player-panel-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.arena-stats-overlay .player-zone-counts{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;font-size:.8rem;display:flex}.card-ghost-layer{pointer-events:none;transform-origin:0 0;will-change:transform, opacity;backface-visibility:hidden;position:fixed;top:0;left:0}.card-ghost,.card-ghost *{pointer-events:none!important;transition:none!important;animation:none!important}.card-drag-ghost{filter:drop-shadow(0 18px 26px #0000008c);cursor:var(--cursor-grabbing)}.card-drop-ghost,.card-zone-change-ghost{filter:drop-shadow(0 22px 32px #0000008c)}.card-fall-shadow{pointer-events:none;filter:blur(6px);opacity:0;will-change:transform, opacity;background:radial-gradient(#000000bf 0%,#00000059 45%,#0000 72%);border-radius:50%;position:fixed;transform:translate(-50%,-50%)}.dust-burst{pointer-events:none;width:0;height:0;position:fixed;transform:translateZ(0)}.dust-burst>*{pointer-events:none;will-change:transform, opacity;backface-visibility:hidden;opacity:0;position:absolute;top:0;left:0}.dust-wave{background:radial-gradient(closest-side at 50% 55%,#fffcf400 42%,#e2d6c280 62%,#b0a18c47 80%,#8c7e6c00 100%);border-radius:50%}.dust-puff{background:radial-gradient(circle closest-side at 42% 38%,#fffaf09e 0%,#e0d5c36b 34%,#a89b8838 62%,#786e6000 100%);border-radius:50%}.dust-grit{background:radial-gradient(circle closest-side,#4a4034f2 0%,#4a40348c 70%,#4a403400 100%);border-radius:50%}@media (prefers-reduced-motion:reduce){.dust-burst{display:none}}.card-drop-landed,.card-zone-change-landed{position:relative}.card-drop-landed:after,.card-zone-change-landed:after{content:"";border-radius:var(--card-radius,12px);pointer-events:none;z-index:5;background:#ffffff8c;animation:.4s ease-out forwards cardLandFlash;position:absolute;inset:0}@keyframes cardLandFlash{0%{opacity:1}to{opacity:0}}body.dragging .card-preview-overlay{display:none!important}.arena-overlay-var{transform-origin:50%;display:inline-block}.arena-overlay-var--up,.arena-overlay-var--down,.arena-overlay-var--neutral{text-shadow:0 0 8px var(--overlay-var-glow), 0 0 18px var(--overlay-var-glow);animation:1.5s cubic-bezier(.22,1,.36,1) both overlayVarPop}.arena-overlay-var--tick-1{animation-name:overlayVarPopAlt}.arena-overlay-var--up{--overlay-var-glow:#4ade80}.arena-overlay-var--down{--overlay-var-glow:#ef4444}.arena-overlay-var--neutral{--overlay-var-glow:#fbbf24}@keyframes overlayVarPop{0%{transform:scale(1)}18%{transform:scale(1.45)}45%{transform:scale(.94)}to{transform:scale(1)}}@keyframes overlayVarPopAlt{0%{transform:scale(1)}18%{transform:scale(1.45)}45%{transform:scale(.94)}to{transform:scale(1)}}.arena-overlay-image--changed{animation:1.5s cubic-bezier(.22,1,.36,1) both overlayImagePop}.arena-overlay-image--changed-1{animation-name:overlayImagePopAlt}@keyframes overlayImagePop{0%{transform:scale(.7)rotate(-6deg)}25%{transform:scale(1.18)rotate(3deg)}55%{transform:scale(.96)rotate(0)}to{transform:scale(1)}}@keyframes overlayImagePopAlt{0%{transform:scale(.7)rotate(-6deg)}25%{transform:scale(1.18)rotate(3deg)}55%{transform:scale(.96)rotate(0)}to{transform:scale(1)}}.ability-orb{pointer-events:none;will-change:transform, opacity;background:radial-gradient(circle at 34% 30%, #fffdf2 0%, #fff6c8 22%, var(--orb-color,#facc15) 58%, transparent 100%);box-shadow:0 0 6px #fff8d0, 0 0 14px var(--orb-color,#facc15), 0 0 30px var(--orb-color,#facc15);border-radius:50%;position:fixed}@supports (color:color-mix(in lab, red, red)){.ability-orb{box-shadow:0 0 6px #fff8d0, 0 0 14px var(--orb-color,#facc15), 0 0 30px color-mix(in srgb, var(--orb-color,#facc15) 60%, transparent)}}.ability-orb__tail{transform-origin:0;background:linear-gradient(to right, var(--orb-color,#facc15) 0%, var(--orb-color,#facc15) 45%, transparent 100%);border-radius:999px;width:380%;height:42%;margin-top:-21%;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.ability-orb__tail{background:linear-gradient(to right, color-mix(in srgb, var(--orb-color,#facc15) 85%, transparent) 0%, color-mix(in srgb, var(--orb-color,#facc15) 40%, transparent) 45%, transparent 100%)}}.ability-orb__tail{filter:blur(1.5px)}.ability-orb__core{background:radial-gradient(circle, var(--orb-color,#facc15) 0%, transparent 70%);border-radius:50%;position:absolute;inset:-60%}@supports (color:color-mix(in lab, red, red)){.ability-orb__core{background:radial-gradient(circle, color-mix(in srgb, var(--orb-color,#facc15) 50%, transparent) 0%, transparent 70%)}}.ability-orb__core{animation:.42s ease-in-out infinite alternate abilityOrbPulse}@keyframes abilityOrbPulse{0%{opacity:.5;transform:scale(.8)}to{opacity:1;transform:scale(1.3)}}.ability-orb-burst{pointer-events:none;border:2px solid var(--orb-color,#facc15);width:10px;height:10px;box-shadow:0 0 12px var(--orb-color,#facc15);border-radius:50%;margin:-5px 0 0 -5px;animation:.52s cubic-bezier(.22,1,.36,1) forwards abilityOrbBurst;position:fixed}.ability-orb-burst:after{content:"";background:radial-gradient(circle, #fff7cc 0%, var(--orb-color,#facc15) 45%, transparent 70%);border-radius:50%;position:absolute;inset:-60%}@supports (color:color-mix(in lab, red, red)){.ability-orb-burst:after{background:radial-gradient(circle, #fff7cc 0%, color-mix(in srgb, var(--orb-color,#facc15) 55%, transparent) 45%, transparent 70%)}}.ability-orb-burst:after{animation:.38s ease-out forwards abilityOrbFlash}@keyframes abilityOrbBurst{0%{opacity:.95;transform:scale(.4)}to{opacity:0;transform:scale(4.2)}}@keyframes abilityOrbFlash{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.4)}}.ability-orb-hit{text-shadow:0 0 10px var(--orb-color,#facc15), 0 0 26px var(--orb-color,#facc15);animation:.62s cubic-bezier(.22,1,.36,1) abilityOrbHit;display:inline-block}@keyframes abilityOrbHit{0%{transform:scale(1)}25%{transform:scale(1.22)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.arena-overlay-var--up,.arena-overlay-var--down,.arena-overlay-var--neutral,.arena-overlay-image--changed,.ability-orb-hit{animation:none}.ability-orb,.ability-orb-burst{display:none}}.turn-timeline{z-index:12;pointer-events:none;--timeline-color:#ffe9a8;--timeline-color-strong:#ffd166;--timeline-glow:#ffd678bf;height:0;position:absolute;top:50%;left:6%;right:6%}.turn-timeline.critical{--timeline-color:#ffb3b3;--timeline-color-strong:#ff4d4d;--timeline-glow:#ff4d4dcc}.turn-timeline-track,.turn-timeline-fill{border-radius:999px;height:2px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.turn-timeline-track{background:linear-gradient(90deg,#0000,#ffffff38 12% 88%,#0000);right:0}.turn-timeline-fill{transform-origin:0;transform:translateY(-50%) scaleX(var(--timeline-progress,0));background:linear-gradient(90deg, #ffffff59, var(--timeline-color) 60%, #fff);box-shadow:0 0 6px var(--timeline-glow), 0 0 14px var(--timeline-glow);transition:transform .2s linear;right:0}.turn-timeline-head-track{height:0;transform:translateX(calc(var(--timeline-progress,0) * 100%));transition:transform .2s linear;position:absolute;top:50%;left:0;right:0}.turn-timeline-head{width:0;height:0;position:absolute;top:0;left:0}.turn-timeline-spark-halo,.turn-timeline-spark-core,.turn-timeline-spark{border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.turn-timeline-spark-halo{background:radial-gradient(circle, var(--timeline-glow) 0%, #ffd67840 45%, transparent 70%);filter:blur(1px);width:22px;height:22px;animation:1.1s ease-in-out infinite turn-timeline-breathe}.turn-timeline-spark-core{background:radial-gradient(circle, #fff 0%, #fff4cf 55%, var(--timeline-color-strong) 100%);width:7px;height:7px;box-shadow:0 0 6px #fff, 0 0 12px var(--timeline-glow), 0 0 22px var(--timeline-glow);animation:.35s steps(2,end) infinite turn-timeline-flicker}.turn-timeline-spark{width:var(--spark-size,3px);height:var(--spark-size,3px);box-shadow:0 0 4px var(--timeline-color-strong), 0 0 8px var(--timeline-glow);opacity:0;animation:.9s ease-out infinite turn-timeline-spark;animation-delay:var(--spark-delay,0s);background:#fff7dd}.turn-timeline.critical .turn-timeline-spark-halo,.turn-timeline.critical .turn-timeline-spark{animation-duration:.55s}@keyframes turn-timeline-breathe{0%,to{opacity:.9;transform:translate(-50%,-50%)scale(1)}50%{opacity:.5;transform:translate(-50%,-50%)scale(1.45)}}@keyframes turn-timeline-flicker{0%{transform:translate(-50%,-50%)scale(1)}to{transform:translate(-50%,-50%)scale(1.25)}}@keyframes turn-timeline-spark{0%{opacity:0;transform:translate(-50%,-50%)scale(1)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--spark-dx,12px) * -1), calc(-50% + var(--spark-dy,6px))) scale(.2)}}.turn-timeline-label{color:#fff3d6;text-align:center;font-variant-numeric:tabular-nums;min-width:34px;text-shadow:0 0 6px var(--timeline-glow);box-shadow:0 0 10px #00000080, 0 0 8px var(--timeline-glow);background:#0a0c18d9;border:1px solid #ffebb48c;border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:700;line-height:1.2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.turn-timeline.critical .turn-timeline-label{color:#ffd6d6;border-color:#ff7878cc;animation:.6s ease-in-out infinite turn-timeline-breathe-label}@keyframes turn-timeline-breathe-label{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.08)}}@media (prefers-reduced-motion:reduce){.turn-timeline-spark-halo,.turn-timeline-spark-core,.turn-timeline-spark,.turn-timeline-label{animation:none}}.replay-timeline{left:50%;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:45000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;-webkit-user-select:none;user-select:none;background:#080c1cd1;border:1px solid #ffd67840;border-radius:14px;flex-direction:column;gap:6px;width:min(960px,100% - 24px);padding:10px 14px 8px;font-size:13px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 30px #00000073}.replay-timeline.docked{width:100%;max-width:1100px;box-shadow:none;border-radius:12px;margin:0 auto;position:static;transform:none}.replay-timeline-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.replay-btn{color:#fff;min-width:34px;height:30px;cursor:var(--cursor-pointer);background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;padding:0 10px}.replay-btn:hover{background:#ffffff2e}.replay-btn-play{background:#fbbf2433;border-color:#fbbf2480;min-width:64px}.replay-btn-play:hover{background:#fbbf2459}.replay-speed{gap:4px;margin-left:10px;display:flex}.replay-speed-btn{color:#ffffffb3;cursor:var(--cursor-pointer);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #ffffff1f;border-radius:6px;padding:4px 8px}.replay-speed-btn.active{color:#fde68a;background:#fbbf2440;border-color:#fbbf2480}.replay-timeline-track-wrap{align-items:center;gap:10px;display:flex}.replay-timeline-clock{font-variant-numeric:tabular-nums;color:#ffffffb3;text-align:center;min-width:38px}.replay-timeline-track{height:44px;cursor:var(--cursor-pointer);touch-action:none;outline:none;flex:1;position:relative}.replay-timeline-track:before{content:"";background:#ffffff2e;border-radius:2px;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.replay-timeline-track:focus-visible:before{box-shadow:0 0 0 2px #fbbf2499}.replay-timeline-fill{pointer-events:none;background:linear-gradient(90deg,#fff6,#ffd678);border-radius:2px;height:3px;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:0 0 8px #ffd67899}.replay-timeline-head{pointer-events:none;z-index:3;background:#fff;border:2px solid #ffd678;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #ffd678cc}.replay-marker{z-index:2;cursor:var(--cursor-pointer);border:none;padding:0;transition:transform .12s;position:absolute;top:50%;transform:translate(-50%,-50%)}.replay-marker:hover,.replay-marker:focus-visible{z-index:4;outline:none;transform:translate(-50%,-50%)scale(1.35)}.replay-marker-turn{background:#ffffff8c;width:2px;height:18px}.replay-marker-turn:after{content:"";position:absolute;inset:-4px -6px}.replay-marker-turn.p1{background:#7dd3fccc}.replay-marker-turn.p2{background:#fca5a5cc}.replay-marker-turn-label{color:#fff9;font-variant-numeric:tabular-nums;pointer-events:none;font-size:9px;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.replay-marker-action,.replay-marker-combat,.replay-marker-ability,.replay-marker-reconnect,.replay-marker-end{color:#111;background:#fff;border-radius:50%;width:9px;height:9px;font-size:9px;line-height:1;top:calc(50% + 11px)}.replay-marker-action.p1{background:#7dd3fc}.replay-marker-action.p2{background:#fca5a5}.replay-marker-combat{background:#fbbf24;width:13px;height:13px}.replay-marker-ability{background:#c4b5fd;width:12px;height:12px}.replay-marker-reconnect{background:#94a3b8;width:12px;height:12px}.replay-marker-end{background:0 0;width:16px;height:16px;font-size:13px}.replay-tooltip{z-index:6;color:#fff;text-align:left;white-space:normal;pointer-events:none;background:#080c1cf5;border:1px solid #ffd67859;border-radius:8px;min-width:160px;max-width:280px;padding:8px 10px;font-size:12px;line-height:1.35;position:absolute;bottom:calc(100% - 2px);transform:translate(-50%);box-shadow:0 6px 20px #00000080}.replay-tooltip:after{content:"";border:6px solid #0000;border-top-color:#ffd67859;position:absolute;top:100%;left:50%;transform:translate(-50%)}.replay-tooltip.edge-left{transform:translate(-10%)}.replay-tooltip.edge-left:after{left:10%}.replay-tooltip.edge-right{transform:translate(-90%)}.replay-tooltip.edge-right:after{left:90%}.replay-tooltip.p1{border-color:#7dd3fc80}.replay-tooltip.p2{border-color:#fca5a580}.replay-tooltip-kind{letter-spacing:.08em;text-transform:uppercase;color:#fde68a;margin-bottom:3px;font-size:10px}.replay-tooltip.p1 .replay-tooltip-kind{color:#bae6fd}.replay-tooltip.p2 .replay-tooltip-kind{color:#fecaca}.replay-tooltip-label{font-weight:600}.replay-tooltip-player{color:#ffffffa6;margin-top:2px}.replay-timeline-caption{color:#fffc;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;font-size:12px;display:grid}.replay-timeline-turn{color:#fde68a;font-weight:600}.replay-timeline-label{text-align:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.replay-timeline-index{font-variant-numeric:tabular-nums;color:#ffffff80}.replay-ranges{flex:1;position:relative}.replay-range{height:7px;cursor:var(--cursor-pointer);opacity:.75;border:none;border-radius:4px;padding:0;transition:opacity .15s;position:absolute}.replay-range:hover,.replay-range.active{opacity:1;box-shadow:0 0 0 1px #fffc}.replay-range.dialog{background:#fbbf24}.replay-range.audio{background:#34d399}.replay-range.phase-p1{background:#7dd3fc73}.replay-range.phase-p2{background:#fca5a573}.replay-shell{color:#fff;background:#070a16;flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.replay-shell-header{background:#080c1ce6;border-bottom:1px solid #ffd67833;flex-shrink:0;align-items:center;gap:16px;padding:10px 18px;font-size:13px;display:flex}.replay-shell-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.replay-shell-tag{letter-spacing:.14em;text-transform:uppercase;color:#fde68a;font-size:10px}.replay-shell-players{white-space:nowrap;text-overflow:ellipsis;font-family:Cinzel,Georgia,serif;font-size:1.05rem;overflow:hidden}.replay-shell-meta{color:#ffffff8c}.replay-shell-pov{align-items:center;gap:6px;display:flex}.replay-shell-pov-label{color:#ffffff8c;margin-right:4px}.replay-shell-pov button{color:#ffffffbf;cursor:var(--cursor-pointer);background:0 0;border:1px solid #ffffff26;border-radius:999px;padding:4px 12px}.replay-shell-pov button.active{color:#fde68a;background:#fbbf2440;border-color:#fbbf2480}.replay-shell-exit{color:#fca5a5;cursor:var(--cursor-pointer);background:#ef444426;border:1px solid #ef444466;border-radius:999px;padding:5px 14px}.replay-shell-exit:hover{background:#ef444447}.replay-shell-body{flex:1;min-height:0;position:relative;overflow:hidden}.replay-shell-zoom{transform-origin:50%;border:1px solid #ffd6782e;border-radius:10px;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 12px 40px #0000008c}.replay-shell .arena-container{width:100%;height:100%;min-height:0}.replay-shell .arena-main{max-width:none;height:100%}.replay-shell .arena-loading{height:100%;min-height:100%}.replay-shell-footer{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:#080c1ce6;border-top:1px solid #ffd67833;flex-shrink:0}@media (max-width:720px){.replay-shell-header{flex-wrap:wrap;gap:8px}.replay-shell-pov{order:3;width:100%}}.viewer-banner{top:calc(8px + env(safe-area-inset-top,0px));z-index:45000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;white-space:nowrap;background:#080c1cd1;border:1px solid #ffd6784d;border-radius:999px;align-items:center;gap:10px;padding:6px 12px;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.viewer-banner-tag{letter-spacing:.08em;text-transform:uppercase;color:#fde68a;font-size:11px}.viewer-banner-pov{gap:4px;display:flex}.viewer-banner-pov button{color:#ffffffbf;cursor:var(--cursor-pointer);background:0 0;border:1px solid #ffffff26;border-radius:999px;padding:3px 10px}.viewer-banner-pov button.active{color:#fde68a;background:#fbbf2440;border-color:#fbbf2480}.viewer-banner-exit{color:#fca5a5;cursor:var(--cursor-pointer);background:#ef444426;border:1px solid #ef444466;border-radius:999px;padding:3px 10px}.viewer-cover,.viewer-end{z-index:62000;position:absolute}.viewer-cover{background:#040610a6;justify-content:center;align-items:center;display:flex;inset:0}.viewer-cover-card{text-align:center;color:#fff;background:#080c1cf0;border:1px solid #ffd6784d;border-radius:18px;flex-direction:column;align-items:center;gap:12px;max-width:520px;padding:28px 32px;display:flex}.viewer-cover-card h1{margin:0;font-family:Cinzel,Georgia,serif;font-size:1.8rem}.viewer-cover-card p{color:#ffffffb3;white-space:pre-wrap;margin:0}.viewer-end{color:#fde68a;background:#080c1cf0;border:1px solid #ffd6784d;border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-weight:600;display:flex;bottom:24px;left:50%;transform:translate(-50%)}.cine-viewer{--cine-ink:#0a0a09;--cine-panel:#141311f5;--cine-edge:#ffffff12;--cine-accent:#cbbb92;background:var(--cine-ink)}.cine-viewer .replay-shell-header{background:var(--cine-panel);border-bottom:1px solid var(--cine-edge);gap:12px;padding:8px 16px}.cine-viewer .replay-shell-tag{color:var(--cine-accent)}.cine-viewer .replay-shell-meta{color:#ffffff80}.cine-viewer .replay-shell-zoom{border-color:var(--cine-edge);box-shadow:0 18px 60px #000c}.cine-viewer .replay-shell-footer{padding:0 0 env(safe-area-inset-bottom,0px);border-top:1px solid var(--cine-edge);background:#000}.cine-viewer .replay-timeline.docked{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;gap:4px;max-width:none;padding:0}.cine-viewer .replay-timeline-controls{gap:8px;padding:7px 56px;position:relative}.cine-viewer .replay-timeline-track-wrap,.cine-viewer .replay-timeline-caption{padding:0 18px}.cine-viewer .replay-timeline-caption{padding-bottom:8px}.cine-viewer .replay-btn{color:#ffffff9e;background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;width:30px;min-width:30px;height:30px;padding:0;font-size:11px;line-height:1;display:inline-flex}.cine-viewer .replay-btn:hover{color:#fff;background:#ffffff1f;border-color:#ffffff29}.cine-viewer .replay-btn-play{color:#ffffffd9;background:#ffffff1a;border-color:#ffffff24;width:38px;min-width:38px;height:38px;font-size:13px}.cine-viewer .replay-btn-play:hover{background:#fff3}.cine-viewer .replay-btn-play .key-hint{display:none}.cine-viewer .replay-speed{gap:3px;margin-left:6px}.cine-viewer .replay-speed-btn{color:#ffffff80;border-color:#ffffff14;border-radius:999px;padding:3px 9px;font-size:11px}.cine-viewer .replay-speed-btn:hover{color:#ffffffd9}.cine-viewer .replay-speed-btn.active{color:#fff;background:#ffffff24;border-color:#fff3}.cine-viewer .viewer-timeline-toggle{font-size:13px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.cine-viewer .replay-timeline-fill{box-shadow:none;background:linear-gradient(90deg,#ffffff40,#ffffffbf)}.cine-viewer .replay-timeline-head{box-shadow:none;border-color:#fffc}.cine-viewer .replay-timeline-turn{color:var(--cine-accent)}.cine-viewer .viewer-cover{background:#060605b8}.cine-viewer .viewer-cover-card,.cine-viewer .viewer-end{background:var(--cine-panel);border-color:#ffffff1a}.cine-viewer .viewer-end{color:var(--cine-accent)}.cine-viewer .replay-shell-pov{gap:4px;font-size:12px}.cine-viewer .replay-shell-pov-label{color:#ffffff73}.cine-viewer .replay-shell-pov button{color:#fff9;border-color:#ffffff1a;padding:3px 11px}.cine-viewer .replay-shell-pov button:hover{color:#fff;border-color:#fff3}.cine-viewer .replay-shell-pov button.active{color:var(--cine-accent);background:#ffffff1f;border-color:#cbbb9280}.cine-viewer .replay-shell-players{font-size:1rem}.attached-card{width:100%;z-index:var(--az,-1);pointer-events:auto;transform:translate(-50%, -50%) translate(var(--ax,0%), var(--ay,34%)) scale(var(--as,.92)) rotate(var(--ar,0deg));transform-origin:50%;opacity:var(--ao,1);filter:drop-shadow(0 6px 10px #0000008c);transition:transform .3s,opacity .3s;position:absolute;top:50%;left:50%}.attached-card--over{filter:drop-shadow(0 4px 8px #000000b3)}.player-card.host-candidate .player-card-visual{border-radius:12px;box-shadow:0 0 0 3px #f3d98bf2,0 0 24px #f3d98ba6}.player-card.host-candidate .player-card-visual:after{content:"";pointer-events:none;z-index:-1;border-radius:12px;animation:1.1s ease-in-out infinite hostCandidatePulse;position:absolute;inset:0;box-shadow:0 0 0 3px #f3d98b,0 0 34px #f3d98be6}.player-card.host-candidate .attached-card{opacity:.35}@keyframes hostCandidatePulse{0%,to{opacity:0}50%{opacity:1}}.held-card-play{z-index:5;border:1px solid var(--accent);color:var(--accent);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;cursor:var(--cursor-pointer);pointer-events:auto;box-shadow:0 0 12px var(--accent);background:#141008eb;border-radius:999px;padding:5px 14px;font-size:.95rem;font-weight:700;position:absolute;top:8%;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.held-card-play{box-shadow:0 0 12px color-mix(in srgb, var(--accent) 45%, transparent)}}.held-card-play:hover{background:#3c3010f5}.zone-card-group{pointer-events:none;flex:none;align-items:center;display:flex;position:relative}.zone-card-group+.zone-card-group:before{content:"";left:calc((1 - var(--zone-card-scale,.6)) * 100px - var(--zone-group-gap,12px) / 2);top:calc((.5 - .3 * var(--zone-card-scale,.6)) * 100%);height:calc(.6 * var(--zone-card-scale,.6) * 100%);pointer-events:none;background:linear-gradient(#0000,#ffffff38,#0000);width:1px;position:absolute}.zone-card-group-label{left:calc((1 - var(--zone-card-scale,.6)) * 100px + 4px);top:calc((1 - var(--zone-card-scale,.6)) * 50%);z-index:6;max-width:calc(var(--zone-card-scale,.6) * 200px + 16px);color:#ffffffeb;white-space:nowrap;pointer-events:none;background:#0f172ad1;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:4px;padding:1px 7px;font-size:10px;font-weight:600;line-height:1.5;display:inline-flex;position:absolute;transform:translateY(-50%);box-shadow:0 2px 6px #00000059}.zone-card-group-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.zone-card-group-count{color:var(--accent);font-variant-numeric:tabular-nums;flex:none}@media (max-width:640px){.zone-card-group-label{padding:0 5px;font-size:9px}}.arena-phase-status-layer{pointer-events:none;z-index:300;max-width:1400px;margin:0 auto;position:absolute;inset:0}.arena-phase-status-box{pointer-events:none;position:absolute}@media (hover:none),(pointer:coarse){.player-panel.pending-target,.arena-layout-overlay.is-player-target:after{opacity:1;animation:none}.player-panel.pending-target{box-shadow:0 0 0 5px #ff4444b3,0 0 16px #ff444459}.my-field .cards-grid.drop-zone-hover:after,.zone-box.drop-zone-hover:after,.arena-layout-zone[data-touch-drop-hover] .zone-box:after,.arena-layout-zone[data-touch-drop-hover] .cards-grid:after,.zone-box.ability-target-zone:after,.field-zone.drop-candidate:after,.zone-box.drop-candidate:after,.player-card.host-candidate .player-card-visual:after{opacity:1;animation:none}.floating-preview-header:after,.floatingPreviewContent,.hover .cardDetailView,.turn-indicator-mini.response-phase,.phase-item.response-phase{animation:none}.arena-footer,.notification-item,.player-panel,.cancel-ability-target-btn,.floating-preview-header,.phase-status-container,.payment-overlay,.coin-toss-backdrop,.arena-stats-overlay,.replay-timeline,.viewer-banner{-webkit-backdrop-filter:none}.arena-footer{background:#0f172aeb}.player-panel{background:#0f172ae6}.cancel-ability-target-btn{background:#1e1e28d9}.arena-stats-overlay{background:#141419ed}.coin-toss-backdrop{background:radial-gradient(at 50% 42%,#c9a84c24,#0000 62%),#06060cf0}.replay-timeline,.viewer-banner{background:#080c1cf2}.status-reconnecting .status-dot,.phase-dot-marker,.ability-orb__core,.coin-shadow,.turn-timeline-spark-halo,.turn-timeline-spark-core,.turn-timeline-spark,.turn-timeline-label{animation:none}.turn-timeline-spark-halo,.turn-timeline-spark-core,.turn-timeline-spark{display:none}.ability-orb__tail,.card-fall-shadow{filter:none}.arena-container.is-targeting .arena-layout-zone.targeting-dimmed,.arena-container.is-targeting .arena-player-phase-panel.targeting-dimmed{filter:brightness(.28)saturate(.35)}.attached-card,.attached-card--over,.card-preview-stack-item,.card-drag-ghost,.card-zone-change-ghost,.phase-item .phase-icon,.phase-item.completed-phase .phase-icon,.coin-side-btn-token{filter:none}.card-preview-stack-item{box-shadow:-6px 0 10px #00000073}.card-drag-ghost,.card-zone-change-ghost{box-shadow:0 18px 26px #0000008c}.player-panel{transition:none}.turn-timeline.critical .turn-timeline-label{animation:none}.notification-item,.payment-overlay,.cine-viewer .replay-timeline.docked{-webkit-backdrop-filter:none}.payment-overlay{background:#06060ceb}}
