:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 40%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 72% 45%;--destructive-foreground:0 0% 100%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 3.9%;--radius:0.5rem;--base-unit-raw:12px;--touch-target:48px;--whitespace-base:12px;--card-aspect:1.375;--card-radius-ratio:0.0625;--chip-ratio:0.625;--card-width-units:4;--card-height-units:5.5;--card-diagonal-units:6.8;--hand-scale:1.25;--hand-peek-ratio:0.65;--opponent-peek-ratio:0.2;--scale:1;--T:calc(var(--touch-target) * var(--scale));--W:calc(var(--whitespace-base) * var(--scale));--card-width:calc(var(--T) * var(--card-width-units));--card-height:calc(var(--T) * var(--card-height-units));--card-diagonal:calc(var(--T) * var(--card-diagonal-units));--card-radius:calc(var(--card-width) * var(--card-radius-ratio));--hand-card-width:calc(var(--card-width) * var(--hand-scale));--hand-card-height:calc(var(--card-height) * var(--hand-scale));--hand-card-radius:calc(var(--hand-card-width) * var(--card-radius-ratio));--coin-size:calc(var(--card-width) * var(--chip-ratio));--trait-size:var(--T);--min-peek:var(--T);--trait-gap:calc(var(--W) / 2);--hand-trait-size:calc(var(--hand-card-height) * 0.18);--stack-offset:calc(var(--coin-size) * 0.08);--stack-height:calc(var(--coin-size) + var(--stack-offset) * 2);--card-padding:calc(var(--W) / 2);--card-inner-radius:calc(var(--card-radius) - var(--card-padding));--hand-card-inner-radius:calc(var(--hand-card-radius) - var(--card-padding));--badge-radius:var(--card-inner-radius);--badge-min-size:calc(var(--W) * 11 / 6);--text-2xs:calc(var(--W) * 0.833);--text-xs:var(--W);--text-sm:calc(var(--W) * 1.167);--text-base:calc(var(--W) * 1.333);--text-lg:calc(var(--W) * 1.5);--power-base-size:var(--trait-size);--power-base-size-compact:calc(var(--touch-target) / 3);--power-base-height:calc(var(--W) * 5 / 3);--power-base-height-compact:calc(var(--W) * 3 / 2);--zone-breathing:var(--W);--slot-size:calc(var(--card-diagonal) + var(--zone-breathing) * 2);--zone-height:var(--slot-size);--hand-peek-height:calc(var(--hand-card-height) * var(--hand-peek-ratio));--hand-tuck-depth:calc(var(--hand-card-height) * (1 - var(--hand-peek-ratio)));--hand-zone-height:calc(var(--hand-peek-height) + var(--W));--opponent-peek-height:calc(var(--hand-card-height) * var(--opponent-peek-ratio));--opponent-hand-zone-height:calc(var(--opponent-peek-height) + var(--W));--hand-lift-amount:calc(var(--hand-tuck-depth) + var(--W) * 2);--field-gap:var(--W);--row-gap:var(--W);--board-padding:var(--W);--field-slots:3;--field-columns:3;--field-rows:1;--top-bar-height:0px;--chrome-x:calc(var(--whitespace-base) * 3);--chrome-y:0px;--available-width:calc(100vw - var(--chrome-x));--available-height:calc(100vh - var(--chrome-y));--slots-x:3;--required-width-base:calc(var(--slots-x) * 326px + 2 * 192px + 32px);--required-height-base:1200px;--board-max-width:100%;--panel-content-width:18rem;--highlight-blue:96,165,250;--highlight-blue-pulse:59,130,246;--highlight-rose:244,63,94;--highlight-grey:0,0,0;--glow-inner:0 0 8px 2px;--glow-mid:0 0 20px 6px;--glow-outer:0 0 32px 12px;--glow-subtle-inner:0 0 6px 1px;--glow-subtle-outer:0 0 12px 3px;--glow-grounded-1:0 3px 6px 0;--glow-grounded-2:0 6px 12px 0;--shadow-grounded:0 0 2px 1px rgba(0,0,0,.12);--shadow-elevated:0 0 6px 3px rgba(0,0,0,.1);--shadow-hovered:0 0 10px 5px rgba(0,0,0,.08);--game-text-primary:17 24 39;--game-text-secondary:107 114 128;--game-text-muted:55 65 81;--game-border-card:209 213 219;--base-unit:var(--T);--hand-min-peek:var(--min-peek);--hand-overlap:calc(-1 * (var(--hand-card-width) - var(--min-peek)));--hand-to-field-scale:0.8;--hand-gap:var(--W)}[data-field-slots="4"]{--slots-x:4}[data-field-slots="5"]{--slots-x:5}[data-field-slots="6"]{--slots-x:6}@supports (height:1dvh){:root{--available-height:calc(100dvh - var(--chrome-y))}}@media (max-width:767px){:root{--scale-x:calc(var(--available-width) / var(--required-width-base));--scale-y:calc(var(--available-height) / var(--required-height-base));--scale:clamp(0.35,min(var(--scale-x),var(--scale-y)),1)}}@media (max-width:900px) and (max-height:500px) and (orientation:landscape){:root{--required-height-base:500px;--scale-x:calc(var(--available-width) / var(--required-width-base));--scale-y:calc(var(--available-height) / var(--required-height-base));--scale:clamp(0.5,min(var(--scale-x),var(--scale-y)),1);--zone-height:calc(var(--card-diagonal) * 0.6);--field-columns:2}}@media (min-width:768px) and (min-aspect-ratio:4/5){:root{--scale-x:calc(var(--available-width) / var(--required-width-base));--scale-y:calc(var(--available-height) / var(--required-height-base));--scale:clamp(0.7,min(var(--scale-x),var(--scale-y)),2);--board-max-width:calc(var(--card-diagonal) * var(--field-columns) + var(--field-gap) * (var(--field-columns) - 1) + var(--card-width) * 2 + var(--board-padding) * 2 + 2rem)}}@media (min-width:768px) and (max-aspect-ratio:4/5){:root{--scale-x:calc(var(--available-width) / var(--required-width-base));--scale-y:calc(var(--available-height) / var(--required-height-base));--scale:clamp(0.5,min(var(--scale-x),var(--scale-y)),1.5);--board-max-width:calc(var(--card-diagonal) * var(--field-columns) + var(--field-gap) * (var(--field-columns) - 1) + var(--card-width) * 2 + var(--board-padding) * 2 + 2rem)}}[data-field-slots="2"]{--field-slots:2;--field-columns:2;--field-rows:1;--required-width-base:calc(2 * 326px + 2 * 192px + 32px)}[data-field-slots="4"]{--field-slots:4;--field-columns:4;--field-rows:1;--required-width-base:calc(4 * 326px + 2 * 256px + 48px)}@media (min-width:768px) and (min-aspect-ratio:4/5){[data-field-slots="4"]{--scale-x:calc(var(--available-width) / var(--required-width-base));--scale-y:calc(var(--available-height) / var(--required-height-base));--scale:clamp(0.5,min(var(--scale-x),var(--scale-y)),1.0);--board-max-width:calc(var(--card-diagonal) * 4 + var(--field-gap) * 3 + var(--card-width) * 2.66 + var(--board-padding) * 2 + 3rem)}}[data-field-rows="2"]{--field-columns:3;--field-rows:2;--zone-height:calc(var(--card-diagonal) * 2 + var(--zone-breathing) * 2);--zone-breathing:calc(var(--W) * 0.5);--field-gap:calc(var(--W) * 0.5);--row-gap:calc(var(--W) * 0.5);--hand-peek-ratio:0.55;--hand-peek-height:calc(var(--hand-card-height) * var(--hand-peek-ratio));--hand-tuck-depth:calc(var(--hand-card-height) * (1 - var(--hand-peek-ratio)));--hand-zone-height:calc(var(--hand-peek-height) + var(--W));--required-height-base:calc(var(--opponent-hand-zone-height) + var(--zone-height) * 2 + var(--hand-zone-height) + var(--row-gap) * 3);--required-width-base:calc(var(--card-diagonal) * 3 + var(--field-gap) * 2 + var(--card-width) * 2 + var(--chrome-x))}@media (min-width:768px) and (min-aspect-ratio:4/5){[data-field-rows="2"]{--scale-x:calc(var(--available-width) / var(--required-width-base));--scale-y:calc(var(--available-height) / var(--required-height-base));--scale:clamp(0.7,min(var(--scale-x),var(--scale-y)),1.5)}}@media (min-width:1200px) and (min-aspect-ratio:8/5){[data-field-rows="2"]{--field-columns:6;--field-rows:1;--zone-height:calc(var(--card-diagonal) + var(--zone-breathing) * 2);--required-width-base:calc(var(--card-diagonal) * 6 + var(--field-gap) * 5 + var(--card-width) * 2 + var(--chrome-x));--required-height-base:calc(var(--opponent-hand-zone-height) + var(--zone-height) * 2 + var(--hand-zone-height) + var(--row-gap) * 3);--scale-x:calc(var(--available-width) / var(--required-width-base));--scale-y:calc(var(--available-height) / var(--required-height-base));--scale:clamp(0.6,min(var(--scale-x),var(--scale-y)),1.2);--board-max-width:calc(var(--card-diagonal) * 6 + var(--field-gap) * 5 + var(--card-width) * 2 + var(--board-padding) * 2 + 2rem)}}.physics-container{position:relative;width:var(--card-width);height:var(--card-height)}.physics-container--spent{width:var(--card-height);height:var(--card-width)}.physics-container--hand{width:var(--hand-card-width);height:var(--hand-card-height)}.physics-container--hand.physics-container--spent{width:var(--hand-card-height);height:var(--hand-card-width)}.physics-container--field{width:var(--card-diagonal);height:var(--card-diagonal)}.physics-container--3d{perspective:800px}.physics-face,.physics-face--back,.physics-face--front{backface-visibility:hidden}.physics-face--back{transform:rotateY(180deg)}.physics-3d-container{transform-style:preserve-3d;transform-origin:center center}.coin-perspective{perspective:200px}.coin-edge-ring{background:repeating-conic-gradient(from 15deg,var(--coin-edge) 0deg 40deg,var(--coin-segment) 40deg 60deg)}.coin-inner-face{top:12%;left:12%;right:12%;bottom:12%;background:var(--coin-face)}.flying-coin{width:var(--coin-size);height:var(--coin-size);margin-left:calc(var(--coin-size) / -2);margin-top:calc(var(--coin-size) / -2)}.game-piece-frame{position:relative;overflow:visible;transition:transform .2s ease-out,z-index 0ms;will-change:transform}.game-piece-frame--card{width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius)}.game-piece-frame--coin{width:var(--coin-size);height:var(--coin-size);border-radius:50%}.game-piece-frame--card.game-piece-frame--spent{width:var(--card-height);height:var(--card-width)}.game-piece-frame--card.game-piece-frame--hand{width:var(--hand-card-width);height:var(--hand-card-height);border-radius:var(--hand-card-radius);--trait-size:var(--hand-trait-size);--card-inner-radius:var(--hand-card-inner-radius)}.game-piece-frame--card.game-piece-frame--hand.game-piece-frame--spent{width:var(--hand-card-height);height:var(--hand-card-width)}.game-piece-frame:before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:0;pointer-events:none;transition:box-shadow .2s ease-out}.game-piece-frame--shadow:before{box-shadow:var(--shadow-elevated)}.game-piece-frame--field.game-piece-frame--shadow:before{box-shadow:var(--shadow-grounded)}.game-piece-frame--card>.card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center}.game-piece-frame--card>.card-spent{transform:translate(-50%,-50%) rotate(90deg)}.game-piece-frame--card>.card-entered{transform:translate(-50%,-50%) rotate(180deg)}.game-piece-frame[data-highlight]:after{content:"";position:absolute;inset:0 0 0 calc(0px - var(--party-extend, 0px));border-radius:inherit;pointer-events:none;z-index:10;transition:box-shadow .2s ease-out;--glow-color:var(--highlight-blue);--glow-animation:pulse-highlight}.game-piece-frame[data-highlight=true]:after{border:1px solid rgba(var(--glow-color),.6);box-shadow:var(--glow-inner) rgba(var(--glow-color),.5),var(--glow-mid) rgba(var(--glow-color),.25),var(--glow-outer) rgba(var(--glow-color),.1);animation:var(--glow-animation) .7s ease-in-out infinite}.game-piece-frame[data-highlight=focused][data-trait-highlight]:after,.game-piece-frame[data-highlight=target][data-trait-highlight]:after,.game-piece-frame[data-highlight=true][data-trait-highlight]:after{border:1px solid rgba(var(--trait-color-1),.6);box-shadow:0 0 8px 2px rgba(var(--trait-color-1),.5),0 0 20px 6px rgba(var(--trait-color-1),.25),0 0 32px 12px rgba(var(--trait-color-1),.1);animation:pulse-highlight-trait .7s ease-in-out infinite}.game-piece-frame[data-highlight=focused][data-trait-highlight][data-trait-count="2"]:after,.game-piece-frame[data-highlight=target][data-trait-highlight][data-trait-count="2"]:after,.game-piece-frame[data-highlight=true][data-trait-highlight][data-trait-count="2"]:after{border:1px solid rgba(var(--trait-color-1),.4);box-shadow:-4px -4px 8px 1px rgba(var(--trait-color-1),.5),-2px -2px 16px 3px rgba(var(--trait-color-1),.25),4px 4px 8px 1px rgba(var(--trait-color-2),.5),2px 2px 16px 3px rgba(var(--trait-color-2),.25),0 0 24px 6px rgba(var(--trait-color-1),.1),0 0 24px 6px rgba(var(--trait-color-2),.1);animation:pulse-highlight-trait-gradient .7s ease-in-out infinite}.game-piece-frame[data-highlight=focused][data-trait-highlight][data-trait-count="3"]:after,.game-piece-frame[data-highlight=target][data-trait-highlight][data-trait-count="3"]:after,.game-piece-frame[data-highlight=true][data-trait-highlight][data-trait-count="3"]:after{border:1px solid rgba(var(--trait-color-1),.4);box-shadow:-4px -4px 8px 1px rgba(var(--trait-color-1),.5),-2px -2px 16px 3px rgba(var(--trait-color-1),.2),4px -4px 8px 1px rgba(var(--trait-color-2),.5),2px -2px 16px 3px rgba(var(--trait-color-2),.2),0 4px 8px 1px rgba(var(--trait-color-3),.5),0 2px 16px 3px rgba(var(--trait-color-3),.2),0 0 24px 6px rgba(var(--trait-color-1),.1),0 0 24px 6px rgba(var(--trait-color-2),.1),0 0 24px 6px rgba(var(--trait-color-3),.1);animation:pulse-highlight-trait-gradient .7s ease-in-out infinite}.game-piece-frame[data-highlight=focused][data-trait-highlight][data-trait-count="4"]:after,.game-piece-frame[data-highlight=target][data-trait-highlight][data-trait-count="4"]:after,.game-piece-frame[data-highlight=true][data-trait-highlight][data-trait-count="4"]:after{border:1px solid rgba(var(--trait-color-1),.4);box-shadow:0 -4px 8px 1px rgba(var(--trait-color-1),.5),0 -2px 16px 3px rgba(var(--trait-color-1),.2),4px 0 8px 1px rgba(var(--trait-color-2),.5),2px 0 16px 3px rgba(var(--trait-color-2),.2),0 4px 8px 1px rgba(var(--trait-color-3),.5),0 2px 16px 3px rgba(var(--trait-color-3),.2),-4px 0 8px 1px rgba(var(--trait-color-4),.5),-2px 0 16px 3px rgba(var(--trait-color-4),.2),0 0 24px 6px rgba(var(--trait-color-1),.1),0 0 24px 6px rgba(var(--trait-color-2),.1),0 0 24px 6px rgba(var(--trait-color-3),.1),0 0 24px 6px rgba(var(--trait-color-4),.1);animation:pulse-highlight-trait-gradient .7s ease-in-out infinite}.game-piece-frame[data-highlight=selectable][data-trait-highlight]:after{border:1px solid rgba(var(--trait-color-1),.4);box-shadow:0 3px 6px 0 rgba(var(--trait-color-1),.35),0 6px 12px 0 rgba(var(--trait-color-1),.2)}.game-piece-frame[data-highlight=selectable][data-trait-highlight][data-trait-count="2"]:after{border:1px solid rgba(var(--trait-color-1),.3);box-shadow:-2px 3px 6px 0 rgba(var(--trait-color-1),.35),-1px 6px 12px 0 rgba(var(--trait-color-1),.2),2px 3px 6px 0 rgba(var(--trait-color-2),.35),1px 6px 12px 0 rgba(var(--trait-color-2),.2)}.game-piece-frame[data-highlight=selectable][data-trait-highlight][data-trait-count="3"]:after{border:1px solid rgba(var(--trait-color-1),.3);box-shadow:-2px 2px 6px 0 rgba(var(--trait-color-1),.35),-1px 4px 12px 0 rgba(var(--trait-color-1),.15),2px 2px 6px 0 rgba(var(--trait-color-2),.35),1px 4px 12px 0 rgba(var(--trait-color-2),.15),0 4px 6px 0 rgba(var(--trait-color-3),.35),0 6px 12px 0 rgba(var(--trait-color-3),.15)}.game-piece-frame[data-highlight=selectable][data-trait-highlight][data-trait-count="4"]:after{border:1px solid rgba(var(--trait-color-1),.3);box-shadow:0 -1px 6px 0 rgba(var(--trait-color-1),.3),0 -2px 12px 0 rgba(var(--trait-color-1),.15),3px 3px 6px 0 rgba(var(--trait-color-2),.3),2px 4px 12px 0 rgba(var(--trait-color-2),.15),0 4px 6px 0 rgba(var(--trait-color-3),.3),0 6px 12px 0 rgba(var(--trait-color-3),.15),-3px 3px 6px 0 rgba(var(--trait-color-4),.3),-2px 4px 12px 0 rgba(var(--trait-color-4),.15)}.game-piece-frame[data-highlight=selectable][data-rainbow-highlight]:after{border:1px solid hsla(0,0%,100%,.3);animation:pulse-highlight-rainbow 2s linear infinite}.game-piece-frame[data-highlight=focused][data-rainbow-highlight]:after,.game-piece-frame[data-highlight=target][data-rainbow-highlight]:after,.game-piece-frame[data-highlight=true][data-rainbow-highlight]:after{border:1px solid hsla(0,0%,100%,.5);animation:pulse-highlight-rainbow 2s linear infinite}.game-piece-frame[data-highlight=focused],.physics-container--field .game-piece-frame[data-highlight=true]{transform:translateY(-4px) scale(1.05)}.game-piece-frame[data-highlight=focused]:after{border:1px solid rgba(0,0,0,.3);box-shadow:0 4px 8px 2px rgba(0,0,0,.2),0 8px 16px 4px rgba(0,0,0,.1)}.game-piece-frame[data-highlight=attack]:after,.game-piece-frame[data-highlight=target]:after{border:1px solid rgba(var(--glow-color),.6);box-shadow:var(--glow-inner) rgba(var(--glow-color),.5),var(--glow-mid) rgba(var(--glow-color),.25),var(--glow-outer) rgba(var(--glow-color),.1);animation:var(--glow-animation) .7s ease-in-out infinite}.game-piece-frame[data-highlight=attack]:after{--glow-color:var(--highlight-rose);--glow-animation:pulse-highlight-attack}.game-piece-frame[data-highlight=touchable]:after{border:1px solid rgba(var(--glow-color),.3);box-shadow:var(--glow-subtle-inner) rgba(var(--glow-color),.2),var(--glow-subtle-outer) rgba(var(--glow-color),.1)}.game-piece-frame[data-highlight=selectable]:after{border:1px solid rgba(var(--glow-color),.4);box-shadow:var(--glow-grounded-1) rgba(var(--glow-color),.35),var(--glow-grounded-2) rgba(var(--glow-color),.2)}.game-piece-frame--hovered{transform:scale(1.05);z-index:10}.game-piece-frame--hand[data-highlight=true]{z-index:20}.game-piece-frame--hovered:before{box-shadow:0 0 10px 5px rgba(0,0,0,.08)}.game-piece-frame--coin:hover{transform:scale(1.05);z-index:10}.game-piece-frame--coin:hover:before{box-shadow:var(--shadow-hovered)}.zone-highlight{transition:box-shadow .2s ease-out,border-color .2s ease-out;border:1px solid transparent}.zone-highlight[data-highlight=selectable]{cursor:pointer;border-color:rgba(var(--highlight-blue),.6);box-shadow:var(--glow-inner) rgba(var(--highlight-blue),.5),var(--glow-mid) rgba(var(--highlight-blue),.25);animation:pulse-highlight .7s ease-in-out infinite}.field-zone-highlight{transition:box-shadow .2s ease-out,border-color .2s ease-out,background-color .2s ease-out;border:1px solid transparent;background-color:transparent}.field-zone-highlight[data-highlight=selectable]{cursor:pointer;background-color:rgba(var(--highlight-blue),.08);border-color:rgba(var(--highlight-blue),.4);box-shadow:inset 0 0 12px 4px rgba(var(--highlight-blue),.25),inset 0 0 24px 8px rgba(var(--highlight-blue),.12);animation:pulse-field-highlight .7s ease-in-out infinite}.field-zone-highlight[data-highlight=target]{cursor:pointer;background-color:rgba(var(--highlight-blue),.12);border-color:rgba(var(--highlight-blue),.6);box-shadow:inset 0 0 16px 6px rgba(var(--highlight-blue),.35),inset 0 0 32px 12px rgba(var(--highlight-blue),.18);animation:pulse-field-highlight .7s ease-in-out infinite}.field-zone-highlight[data-highlight=attack]{cursor:pointer;background-color:rgba(244,63,94,.08);border-color:rgba(244,63,94,.4);box-shadow:inset 0 0 12px 4px rgba(244,63,94,.25),inset 0 0 24px 8px rgba(244,63,94,.12);animation:pulse-field-highlight-attack .7s ease-in-out infinite}.trait-icon-clickable{box-shadow:var(--glow-subtle-inner) rgba(var(--highlight-blue),.5),var(--glow-subtle-outer) rgba(var(--highlight-blue),.25)}.coin-well-highlight{transition:box-shadow .2s ease-out,border-color .2s ease-out,background-color .2s ease-out;background-color:rgba(var(--highlight-blue),.06);border:1px solid rgba(var(--highlight-blue),.3);box-shadow:inset 0 0 6px 2px rgba(var(--highlight-blue),.2),inset 0 0 12px 4px rgba(var(--highlight-blue),.1)}.coin-well-highlight:hover{background-color:rgba(var(--highlight-blue),.1);border-color:rgba(var(--highlight-blue),.5);box-shadow:inset 0 0 8px 3px rgba(var(--highlight-blue),.3),inset 0 0 16px 6px rgba(var(--highlight-blue),.15)}.slot-play-target{transition:box-shadow .15s ease-out,border-color .15s ease-out,background-color .15s ease-out;border:1px solid rgba(var(--highlight-blue),.3);background-color:transparent}.slot-play-target:hover{background-color:rgba(var(--highlight-blue),.15);border-color:rgba(var(--highlight-blue),.6);box-shadow:inset 0 0 12px 4px rgba(var(--highlight-blue),.3),inset 0 0 24px 8px rgba(var(--highlight-blue),.15)}.card-entered{transform:rotate(180deg)}.card-spent{transform:rotate(90deg)}.card-spent-opponent{transform:rotate(-90deg)}[data-trait-selectable=true]{cursor:pointer}[data-trait-hovered=true],[data-trait-selectable=true]:hover{background-color:var(--trait-color);color:#fff;transform:scale(1.1)}.deck-zone-width{width:calc(var(--card-width) + var(--W, 12px))}.deck-zone-size{width:var(--card-width);height:auto}@media (min-width:768px) and (min-aspect-ratio:4/5){.deck-zone-size{height:var(--zone-height)}}.zone-height{height:var(--zone-height)}.stack-height{height:var(--stack-height)}.card-inner-padding{padding:var(--card-padding)}.card-art-inset{inset:var(--card-padding)}.board-grid-rows{grid-template-rows:var(--zone-height) var(--zone-height);gap:0}.board-grid-rows-3p{grid-template-rows:var(--zone-height) var(--zone-height) var(--zone-height)}.field-card-grid{display:grid;grid-template-columns:repeat(var(--field-columns,3),var(--card-diagonal));gap:var(--field-gap);place-items:center;justify-content:center}.field-zone{position:relative;flex-direction:column}.field-layout,.field-zone{display:flex;align-items:center;justify-content:center}.field-layout{gap:var(--W,12px);width:100%;height:100%}.field-panel{display:none;width:var(--card-width);height:var(--card-diagonal);flex-shrink:0;align-items:center;justify-content:center}.field-mobile-bar{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--W);padding:calc(var(--W) / 2) var(--W)}@media (min-width:768px) and (min-aspect-ratio:4/5){.field-panel{display:flex}.field-mobile-bar{display:none}}.field-zone[data-owner=opponent]{flex-direction:column}.field-zone[data-owner=player]{flex-direction:column-reverse}@media (min-width:768px) and (min-aspect-ratio:4/5){.field-zone,.field-zone[data-owner=opponent],.field-zone[data-owner=player]{flex-direction:row}}.field-mobile-bar-coins{flex-direction:row;gap:var(--W)}.field-mobile-bar-coins,.field-mobile-bar-deck{display:flex;align-items:center}.writing-mode-vertical{writing-mode:vertical-rl;text-orientation:mixed}.compact-deck-zone{min-width:calc(var(--W) * 6);height:calc(var(--T) - 4px);padding:calc(var(--W) / 3) calc(var(--W) * 2 / 3);gap:calc(var(--W) / 3)}.compact-hand-zone{width:calc(var(--card-width) + var(--W));min-height:calc(var(--W) * 7 / 3)}.stack-item{bottom:calc(var(--stack-offset) * var(--stack-index));z-index:calc(var(--stack-index) + 1)}.well-dynamic-height{height:calc(var(--coin-size) + var(--extra-height, 0) * 1px)}.pile-dynamic-height{height:calc(var(--card-height) + var(--stack-depth, 0) * 1px)}.coin-stack-dynamic-height{height:var(--stack-total)}.slot-well{background:rgba(0,0,0,.06);box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.08)}.layout-fitted-hand{position:relative;z-index:10}.layout-fitted-scroll{display:flex;flex-direction:column;justify-content:space-evenly;gap:var(--row-gap)}@media (max-width:900px) and (max-height:500px) and (orientation:landscape){.layout-fitted-scroll{gap:0;justify-content:space-between;padding:calc(var(--W) / 2) 0}.hand-row-height{height:calc(var(--hand-card-height) * .35);min-height:32px}.hand-row-height-opponent{height:calc(var(--hand-card-height) * .2);min-height:20px}.field-panel{display:none!important}.field-mobile-bar{display:flex!important;padding:calc(var(--W) / 4) var(--W)}.field-card-grid{gap:calc(var(--field-gap) / 2)}}[data-field-rows="2"] .layout-fitted-scroll{justify-content:space-between;padding-top:0;padding-bottom:0}.layout-fitted-grid,.layout-fitted-hand{flex-shrink:0}.hand-row-height{height:var(--hand-zone-height)}.hand-row-height-opponent{height:var(--opponent-hand-zone-height)}.hand-zone-tucked{position:relative;height:var(--hand-zone-height);overflow:visible;display:flex;align-items:flex-start}.hand-zone-tucked[data-owner=opponent]{height:var(--opponent-hand-zone-height);align-items:flex-end}.hand-tuck-clip{position:absolute;inset:0;overflow:hidden;pointer-events:none}.hand-tuck-spread{position:relative;display:flex;align-items:flex-start;width:100%;pointer-events:auto}.hand-zone-tucked[data-owner=opponent] .hand-tuck-spread{align-items:flex-end}.hand-card-tucked{position:relative;flex-shrink:0;transition:transform .2s ease-out,z-index 0ms}.hand-zone-tucked[data-owner=player] .hand-card-tucked{margin-bottom:calc(-1 * var(--hand-tuck-depth))}.hand-zone-tucked[data-owner=opponent] .hand-card-tucked{margin-top:calc(-1 * var(--hand-tuck-depth))}.hand-card-tucked:hover{z-index:50}.hand-zone-tucked[data-owner=player] .hand-card-tucked:hover{transform:translateY(calc(-.5 * var(--hand-tuck-depth)))}.hand-zone-tucked[data-owner=opponent] .hand-card-tucked:hover{transform:translateY(calc(.5 * var(--hand-tuck-depth)))}.hand-card-tucked[data-selected=true]{z-index:100}.hand-zone-tucked[data-owner=player] .hand-card-tucked[data-selected=true]{transform:translateY(calc(-1 * var(--hand-lift-amount))) scale(var(--hand-to-field-scale))}.hand-zone-tucked[data-owner=opponent] .hand-card-tucked[data-selected=true]{transform:translateY(calc(var(--hand-lift-amount))) scale(var(--hand-to-field-scale))}.hand-zone-tucked[data-owner=player] .hand-card-tucked:not(:first-child){margin-left:var(--hand-spread-margin,var(--hand-gap,12px))}.hand-zone-tucked[data-owner=opponent] .hand-card-tucked:not(:first-child){margin-right:var(--hand-spread-margin,var(--hand-gap,12px))}.hand-zone-tucked[data-owner=opponent] .hand-card-tucked{--hand-tuck-depth:calc(var(--hand-card-height) * (1 - var(--opponent-peek-ratio)))}.hand-zone-attack-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;pointer-events:none}.hand-zone-attack-overlay[data-active=true]{pointer-events:auto;cursor:pointer}.opponent-hand-row,.player-hand-row{display:flex;flex-direction:row;align-items:center;gap:calc(var(--W, 12px) * 2)}.opponent-hand-coins,.player-hand-coins{min-width:var(--coin-size);gap:var(--W,12px)}.opponent-hand-deck{display:flex;align-items:center;justify-content:center}.player-hand-deck-wrapper{position:relative;flex-shrink:0}.deck-hand-sized{--card-width:var(--hand-card-width);--card-height:var(--hand-card-height);--card-radius:var(--hand-card-radius)}.deck-controls-overlay{position:absolute;top:0;left:0;width:var(--hand-card-width);height:var(--hand-card-height);display:flex;align-items:center;justify-content:center;z-index:20}@media (max-width:767px){.opponent-hand-row,.player-hand-row{gap:calc(var(--W, 12px) * 2 / 3)}.deck-controls-overlay{gap:calc(var(--W, 12px) / 3)}}@media (min-width:768px){.opponent-hand-row,.player-hand-row{gap:calc(var(--W, 12px) * 2)}.opponent-hand-coins,.player-hand-coins{gap:var(--W,12px)}}.player-hand-area{display:flex;flex-direction:column}.player-hand-controls{display:flex;flex-direction:row;align-items:center;gap:calc(var(--W, 12px) * 2 / 3);padding-top:calc(var(--W, 12px) * 2 / 3)}@media (min-width:768px) and (min-aspect-ratio:4/5){.player-hand-area{flex-direction:row;align-items:center;gap:var(--W,12px)}.player-hand-controls{flex-direction:column;align-items:flex-start;justify-content:center;width:var(--card-width);flex-shrink:0;padding-top:0}.player-hand-controls>.flex-1{display:none}.player-hand-controls>:not(.flex-1){width:100%}}.coin-touch-target{min-width:max(var(--coin-size),44px)}.hand-spread-max-width{max-width:calc(var(--card-diagonal) * var(--field-columns) + var(--field-gap) * (var(--field-columns) - 1) + var(--board-padding) * 2)}.game-shell{display:grid;grid-template-columns:1fr;height:100dvh;overflow:clip;position:relative}.game-shell>.game-main{min-width:0;overflow:visible}.panel-toggle{position:fixed;top:calc(var(--W, 12px) * 2 / 3);z-index:40;display:flex;align-items:center;height:calc(var(--W, 12px) * 3);cursor:pointer;background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.08);border-radius:var(--card-radius,.375rem);padding:0 calc(var(--W, 12px) * 2 / 3);color:#6b7280;backdrop-filter:blur(4px);transition:background .15s,color .15s,right .25s ease-out}.panel-toggle:hover{background:rgba(0,0,0,.1);color:#374151}.panel-toggle[aria-expanded=true]{background:rgba(0,0,0,.12);color:#374151}.panel-toggle--right{right:calc(var(--W, 12px) * 2 / 3)}.panel-toggle--right[aria-expanded=true]{right:calc(min(100vw - var(--touch-target, 48px), var(--panel-content-width)) + var(--W, 12px) * 2 / 3)}.side-panel{position:fixed;top:0;bottom:0;width:calc(100vw - var(--touch-target, 48px));max-width:var(--panel-content-width);z-index:50;overflow:hidden;transition:transform .25s ease-out;background:#f8f8f8;box-shadow:inset 0 2px 6px 0 rgba(0,0,0,.12)}.side-panel--right{right:0;transform:translateX(100%);border-left:1px solid rgba(0,0,0,.08)}.side-panel[data-open=true]{transform:translateX(0);box-shadow:0 0 24px 0 rgba(0,0,0,.15)}.side-panel-inner{width:100%;height:100%;overflow-y:auto}