.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}@keyframes pulse-highlight{0%,to{box-shadow:0 0 8px 2px rgba(var(--highlight-blue),.5),0 0 20px 6px rgba(var(--highlight-blue),.25),0 0 32px 12px rgba(var(--highlight-blue),.1)}50%{box-shadow:0 0 12px 4px rgba(var(--highlight-blue),.6),0 0 28px 10px rgba(var(--highlight-blue),.35),0 0 40px 16px rgba(var(--highlight-blue),.15)}}@keyframes pulse-highlight-trait{0%,to{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)}50%{box-shadow:0 0 12px 4px rgba(var(--trait-color-1),.6),0 0 28px 10px rgba(var(--trait-color-1),.35),0 0 40px 16px rgba(var(--trait-color-1),.15)}}@keyframes pulse-highlight-trait-gradient{0%,to{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)}50%{box-shadow:-5px -5px 12px 2px rgba(var(--trait-color-1),.6),-3px -3px 20px 5px rgba(var(--trait-color-1),.35),5px 5px 12px 2px rgba(var(--trait-color-2),.6),3px 3px 20px 5px rgba(var(--trait-color-2),.35),0 0 32px 8px rgba(var(--trait-color-1),.15),0 0 32px 8px rgba(var(--trait-color-2),.15)}}@keyframes pulse-highlight-rainbow{0%,to{box-shadow:-5px -5px 10px 2px rgba(239,68,68,.5),5px -5px 10px 2px rgba(168,85,247,.5),5px 5px 10px 2px rgba(234,179,8,.5),-5px 5px 10px 2px rgba(59,130,246,.5),0 -6px 14px 3px rgba(34,197,94,.3),0 6px 14px 3px rgba(249,115,22,.3)}33%{box-shadow:-5px -5px 10px 2px rgba(168,85,247,.5),5px -5px 10px 2px rgba(234,179,8,.5),5px 5px 10px 2px rgba(59,130,246,.5),-5px 5px 10px 2px rgba(239,68,68,.5),0 -6px 14px 3px rgba(249,115,22,.3),0 6px 14px 3px rgba(34,197,94,.3)}66%{box-shadow:-5px -5px 10px 2px rgba(234,179,8,.5),5px -5px 10px 2px rgba(59,130,246,.5),5px 5px 10px 2px rgba(239,68,68,.5),-5px 5px 10px 2px rgba(168,85,247,.5),0 -6px 14px 3px rgba(34,197,94,.3),0 6px 14px 3px rgba(249,115,22,.3)}}@keyframes pulse-highlight-attack{0%,to{box-shadow:0 0 8px 2px rgba(244,63,94,.5),0 0 20px 6px rgba(244,63,94,.25),0 0 32px 12px rgba(244,63,94,.1)}50%{box-shadow:0 0 12px 4px rgba(244,63,94,.6),0 0 28px 8px rgba(244,63,94,.35),0 0 40px 16px rgba(244,63,94,.15)}}@keyframes pulse-field-highlight{0%,to{background-color:rgba(var(--highlight-blue),.08);box-shadow:inset 0 0 12px 4px rgba(var(--highlight-blue),.25),inset 0 0 24px 8px rgba(var(--highlight-blue),.12)}50%{background-color:rgba(var(--highlight-blue),.12);box-shadow:inset 0 0 16px 6px rgba(var(--highlight-blue),.35),inset 0 0 32px 12px rgba(var(--highlight-blue),.18)}}@keyframes pulse-field-highlight-attack{0%,to{background-color:rgba(244,63,94,.08);box-shadow:inset 0 0 12px 4px rgba(244,63,94,.25),inset 0 0 24px 8px rgba(244,63,94,.12)}50%{background-color:rgba(244,63,94,.12);box-shadow:inset 0 0 16px 6px rgba(244,63,94,.35),inset 0 0 32px 12px rgba(244,63,94,.18)}}.preserve-3d{transform-style:preserve-3d}.backface-hidden{backface-visibility:hidden}.rotate-x-180{transform:rotateX(180deg)}.translate-z-0{transform:translateZ(0)}.translate-z-neg8{transform:translateZ(-8px)}.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;position:absolute;top:1rem;left:1rem;z-index:50;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1));padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.touch-target{min-width:var(--touch-target,48px);min-height:var(--touch-target,48px)}.transition-card{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.2s;animation-timing-function:cubic-bezier(0,0,.2,1)}.table-surface{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.card-surface{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.card-back{background-color:#fff;border:1px solid #d1d5db}.particle-shadow{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.board-turn-gradient{--gradient-bright:rgba(191,219,254,.5);--gradient-dim:rgba(249,250,251,.3);background:linear-gradient(to bottom,var(--gradient-top,var(--gradient-dim)) 0,transparent 30%,transparent 70%,var(--gradient-bottom,var(--gradient-dim)) 100%);transition:--gradient-top .5s ease-out,--gradient-bottom .5s ease-out}.board-turn-gradient[data-active-side=player]{--gradient-top:var(--gradient-dim);--gradient-bottom:var(--gradient-bright)}.board-turn-gradient[data-active-side=opponent]{--gradient-top:var(--gradient-bright);--gradient-bottom:var(--gradient-dim)}.board-turn-gradient[data-active-side=danger-player]{--gradient-top:var(--gradient-dim);--gradient-bottom:hsla(0,96%,89%,.55)}.board-turn-gradient[data-active-side=danger-opponent]{--gradient-top:hsla(0,96%,89%,.55);--gradient-bottom:var(--gradient-dim)}@property --gradient-top{syntax:"<color>";initial-value:transparent;inherits:false}@property --gradient-bottom{syntax:"<color>";initial-value:transparent;inherits:false}.landing{position:fixed;inset:0;background:#0c0a09;overflow:hidden;font-family:var(--font-fira-sans),system-ui,sans-serif}.landing-bg-game{position:absolute;inset:0;opacity:.35;filter:blur(.3px);pointer-events:none;transition:opacity 1.5s ease}.landing:hover .landing-bg-game{opacity:.45}.landing-bg-game .panel-toggle,.landing-bg-game [data-game-over]{display:none}.landing-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,9,.92),rgba(12,10,9,.75) 30%,rgba(12,10,9,.3) 55%,transparent 75%),radial-gradient(ellipse at 60% 50%,rgba(217,169,99,.04) 0,transparent 60%);pointer-events:none;z-index:5}.landing-invite{position:absolute;left:0;top:0;bottom:0;z-index:10;display:flex;flex-direction:column;justify-content:center;padding:2rem 2rem 2rem 3rem;max-width:320px;gap:.5rem}.landing-title{font-size:clamp(2.5rem,8vw,4rem);font-weight:100;letter-spacing:.2em;color:#f9fafb;margin:0;text-transform:uppercase}.landing-tagline{font-size:clamp(.8125rem,1.5vw,.9375rem);color:#6b7280;margin:0;font-weight:300;letter-spacing:.03em;line-height:1.5}.landing-subtitle{font-size:clamp(.6875rem,1.1vw,.8125rem);color:#9ca3af;margin:.25rem 0 1rem;font-weight:300;letter-spacing:.02em;line-height:1.6}.landing-actions{display:flex;flex-direction:column;gap:.5rem}.landing-actions-secondary{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.25rem}.landing-btn-outline{color:#d1d5db!important;border-color:#374151!important;background:hsla(0,0%,100%,.03)!important}.landing-btn-outline:hover{color:#f9fafb!important;border-color:#6b7280!important;background:hsla(0,0%,100%,.06)!important}.landing-btn-ghost{color:#6b7280!important}.landing-btn-ghost:hover{color:#9ca3af!important;background:hsla(0,0%,100%,.03)!important}@media (max-width:640px){.landing-vignette{background:linear-gradient(180deg,transparent 40%,rgba(12,10,9,.7) 60%,rgba(12,10,9,.95) 80%),radial-gradient(ellipse at 50% 40%,rgba(217,169,99,.04) 0,transparent 60%)}.landing-invite{left:0;right:0;top:auto;bottom:0;max-width:none;padding:1.5rem;gap:.375rem}.landing-title{font-size:2rem}.landing-tagline{margin-bottom:.5rem}}@media (min-width:1200px){.landing-invite{padding-left:5rem;max-width:380px}}