.duel-page{height:calc(100dvh - 11.25rem - env(safe-area-inset-bottom) - 1px);overflow:hidden}@media (min-width:768px){.duel-page{height:calc(100dvh - 9rem - 1px)}}.duel-card-slot{width:clamp(82px,18vw,132px)}.duel-card-frame{border-radius:4.333%/3.095%}.duel-card-actionable{box-shadow:0 0 0 2px color-mix(in srgb, var(--pc-brand) 45%, transparent);animation:1.8s ease-in-out infinite duel-card-pulse;border-color:color-mix(in srgb, var(--pc-brand) 70%, transparent)!important}.duel-card-targetable{box-shadow:0 0 0 2px color-mix(in srgb, var(--pc-danger) 45%, transparent);animation:1s ease-in-out infinite duel-target-pulse;border-color:color-mix(in srgb, var(--pc-danger) 75%, transparent)!important}.duel-card-selected{box-shadow:0 0 0 2px color-mix(in srgb, var(--pc-brand) 55%, transparent);border-color:var(--pc-brand)!important}.duel-card-attack-self{animation:duel-attack-self .55s var(--ease-out)}.duel-card-attack-enemy{animation:duel-attack-enemy .55s var(--ease-out)}.duel-card-hit{animation:.55s ease-out duel-hit}.duel-card-face-down{animation:duel-card-turn .42s var(--ease-out)}.duel-card-face-down .card-back-shell{filter:drop-shadow(0 8px 18px #00000059)}.duel-damage-float{z-index:20;color:#ff7b7b;text-shadow:0 2px 10px #000000bf;pointer-events:none;font-size:clamp(18px,3vw,28px);font-weight:900;line-height:1;animation:.9s ease-out both duel-damage-float;position:absolute;top:36%;left:50%;transform:translate(-50%)}.duel-shield-float{z-index:20;color:#67e8f9;filter:drop-shadow(0 0 8px #67e8f9a6);pointer-events:none;animation:.9s ease-out both duel-shield-float;position:absolute;top:32%;left:50%;transform:translate(-50%)}.duel-countdown{font-size:clamp(44px,8vw,72px);line-height:1;animation:.7s ease-out duel-countdown}.duel-signal{animation:duel-signal-in .18s var(--ease-out)}.duel-signal-ring{animation:duel-signal-ring 1.1s var(--ease-out) infinite}@keyframes duel-signal-in{0%{opacity:.7;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes duel-signal-ring{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.24)}}@keyframes duel-card-pulse{0%,to{box-shadow:0 0 0 2px color-mix(in srgb, var(--pc-brand) 35%, transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--pc-brand) 65%, transparent), 0 0 22px color-mix(in srgb, var(--pc-brand) 25%, transparent)}}@keyframes duel-target-pulse{0%,to{box-shadow:0 0 0 2px color-mix(in srgb, var(--pc-danger) 30%, transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--pc-danger) 65%, transparent), 0 0 22px color-mix(in srgb, var(--pc-danger) 25%, transparent)}}@keyframes duel-attack-self{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-14px)scale(1.04)}}@keyframes duel-attack-enemy{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(14px)scale(1.04)}}@keyframes duel-hit{0%,to{filter:none;transform:translate(0)}20%{filter:brightness(1.7)saturate(2.2)sepia(.35)hue-rotate(-25deg);transform:translate(-4px)}40%{filter:brightness(1.3)saturate(1.8);transform:translate(4px)}60%{filter:brightness(1.5)saturate(2);transform:translate(-2px)}}@keyframes duel-card-turn{0%{opacity:.45;transform:rotateY(-82deg)scale(.94)}to{opacity:1;transform:rotateY(0)scale(1)}}@keyframes duel-damage-float{0%{opacity:0;transform:translate(-50%,8px)scale(.8)}18%{opacity:1;transform:translate(-50%)scale(1.05)}to{opacity:0;transform:translate(-50%,-42px)scale(1)}}@keyframes duel-shield-float{0%{opacity:0;transform:translate(-50%,8px)scale(.6)}20%{opacity:1;transform:translate(-50%)scale(1.1)}to{opacity:0;transform:translate(-50%,-26px)scale(1)}}@keyframes duel-countdown{0%{opacity:0;transform:scale(1.5)}35%{opacity:1;transform:scale(1)}to{opacity:.6;transform:scale(.9)}}.flood-grid{perspective:700px;background:radial-gradient(circle at 20% 20%, #019ddf1f, transparent 55%), var(--pc-sunken)}.flood-cell{transform-style:preserve-3d;backface-visibility:hidden;position:relative;box-shadow:inset 0 0 0 1px #ffffff14}.flood-start{outline-offset:2px;z-index:1;outline:2px solid #ffffffe6}.flood-start-dot{background:#fff;border-radius:999px;width:.42rem;height:.42rem;position:absolute;top:.35rem;left:.35rem;box-shadow:0 0 0 2px #00000047,0 0 8px #fffc}.flood-cell-changed{animation:.42s cubic-bezier(.2,.8,.2,1) both flood-flip-dot}@keyframes flood-flip-dot{0%{filter:brightness();transform:rotateX(0)scale(1)}42%{filter:brightness(1.35);transform:rotateX(86deg)scaleY(.9)}58%{filter:brightness(1.2);transform:rotateX(86deg)scaleY(.9)}to{filter:brightness();transform:rotateX(0)scale(1)}}.clock-face{transition:border-color .2s var(--ease-out), transform .2s var(--ease-out)}.clock-face:hover{transform:translateY(-1px)}.clock-hand{transition:transform .28s var(--ease-out)}.clock-changed{animation:clock-clock .32s var(--ease-out)}@keyframes clock-clock{0%{border-color:var(--pc-brand);transform:scale(.9)}55%{transform:scale(1.04)}to{transform:scale(1)}}.ice-ball{transition:left .2s var(--ease-out), top .2s var(--ease-out)}.loopover-tile{transition:background-color .18s var(--ease-out), border-color .18s var(--ease-out), transform .18s var(--ease-out)}.loopover-tile-flash{animation:loopover-flash .3s var(--ease-out)}@keyframes loopover-flash{0%{background:var(--pc-brand-soft);transform:scale(.9)}to{background:var(--pc-surface);transform:scale(1)}}.tile-2048{transition:background-color .16s var(--ease-out), transform .16s var(--ease-out)}.tile-2048-pop{animation:tile-2048-pop .24s var(--ease-out)}@keyframes tile-2048-pop{0%{transform:scale(.78)}65%{transform:scale(1.08)}to{transform:scale(1)}}.ice-board{background:radial-gradient(circle at 50% 50%, #019ddf14, transparent 65%), var(--pc-sunken)}.ice-wall{background-image:repeating-linear-gradient(135deg, color-mix(in srgb, var(--pc-line) 75%, transparent) 0 4px, color-mix(in srgb, var(--pc-sunken) 80%, transparent) 4px 8px);box-shadow:inset 0 0 0 1px #ffffff0f}.duel-game-panel{animation:duel-game-in .22s var(--ease-out);background-image:radial-gradient(80% 60% at 50% 0,#019ddf14,#0000 70%),linear-gradient(#ffffff04,#0000 35%)}.duel-game-panel button:not(:disabled){-webkit-tap-highlight-color:transparent;touch-action:manipulation}.duel-game-panel button:not(:disabled):active{transform:scale(.97)}@keyframes duel-game-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pancake-tile{box-shadow:inset 0 1px #ffffff59,0 2px #00000026}.pancake-flipped{animation:pancake-flip .32s var(--ease-out)}@keyframes pancake-flip{0%{transform:rotateX(0)}48%{transform:rotateX(82deg)translateY(2px)}to{transform:rotateX(0)}}
