body.v95-first-person-hands-active #v72-player-hand-rig {
    display:none !important;
}

body.v95-first-person-hands-active #hand-row {
    isolation:isolate !important;
    overflow:visible !important;
    min-height:96px !important;
}

#v95-character-hand-underlay {
    position:absolute;
    inset:0;
    z-index:71 !important;
    overflow:visible;
    visibility:hidden;
    pointer-events:none !important;
    user-select:none !important;
    -webkit-user-select:none !important;
}
#v95-character-hand-underlay.is-visible.asset-ready { visibility:visible; }

.v95-whole-hand-stack {
    position:absolute;
    left:var(--v95-hand-left,50%);
    top:var(--v95-hand-top,-166px);
    width:var(--v95-hand-width,830px);
    aspect-ratio:3 / 2;
    transform:translate3d(-50%,0,0);
    transform-origin:50% 58%;
    opacity:0;
    transition:opacity .24s ease,filter .28s ease;
    backface-visibility:hidden;
    will-change:transform;
    filter:
        drop-shadow(0 13px 11px rgba(0,0,0,.55))
        drop-shadow(0 2px 3px rgba(16,4,25,.5));
}
#v95-character-hand-underlay.is-visible.asset-ready .v95-whole-hand-stack { opacity:1; }
#v95-character-hand-underlay.is-visible.asset-ready.is-card-separated .v95-whole-hand-stack {
    animation:none !important;
    transform:translate3d(-50%,0,0) !important;
    filter:drop-shadow(0 3px 3px rgba(0,0,0,.42)) !important;
}
#v95-character-hand-underlay.is-card-obstructed .v95-whole-hand-stack {
    visibility:hidden;
}

.v95-whole-hand-image {
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    pointer-events:none !important;
    user-select:none !important;
    -webkit-user-drag:none;
    backface-visibility:hidden;
    clip-path:inset(0 0 var(--v95-clip-bottom,17%) var(--v95-clip-left,50%));
}

/* 実カードは手元画像より前面。ラッパー化・複製・値の参照は行わない。 */
body.v45-battle-active.v95-first-person-hands-active .player-area.v95-hands-player #hand-zone {
    position:relative !important;
    z-index:74 !important;
    min-height:96px !important;
    padding:10px min(6vw,44px) 7px !important;
    gap:0 !important;
    perspective:760px;
    overflow:visible !important;
}
body.v45-battle-active.v95-first-person-hands-active .player-area.v95-hands-player #hand-zone > .card {
    margin-inline:-6px !important;
    translate:var(--v95-fan-x,0px) var(--v95-fan-y,0px);
    rotate:var(--v95-fan-angle,0deg);
    transform-origin:50% 112% !important;
    z-index:var(--v95-fan-z,75) !important;
    border:1px solid rgba(103,78,34,.76) !important;
    border-radius:8px !important;
    background:
        radial-gradient(circle at 23% 15%,rgba(255,255,255,.98),transparent 27%),
        linear-gradient(145deg,#fffef9 0%,#f1eddf 55%,#d6c9aa 100%) !important;
    box-shadow:
        0 8px 13px rgba(0,0,0,.5),
        0 0 0 1px rgba(255,242,192,.5),
        inset 0 0 0 2px rgba(86,54,16,.1),
        inset 0 -5px 9px rgba(76,45,13,.08) !important;
    font-family:Georgia,"Times New Roman",serif !important;
    text-shadow:0 1px rgba(255,255,255,.88);
}
body.v45-battle-active.v95-first-person-hands-active .player-area.v95-hands-player #hand-zone > .card:hover,
body.v45-battle-active.v95-first-person-hands-active .player-area.v95-hands-player #hand-zone > .card.selected-card {
    z-index:140 !important;
}

#v95-character-hand-underlay.is-visible:not(.gesture-draw):not(.gesture-deal):not(.gesture-defense):not(.gesture-adjust) .v95-whole-hand-stack {
    animation:v95HandsBreathe 5.7s ease-in-out -1.2s infinite alternate;
}
#v95-character-hand-underlay.gesture-draw .v95-whole-hand-stack {
    animation:v95HandsDraw .72s cubic-bezier(.16,.84,.22,1) both !important;
}
#v95-character-hand-underlay.gesture-deal .v95-whole-hand-stack {
    animation:v95HandsDeal .7s cubic-bezier(.16,.84,.22,1) both !important;
}
#v95-character-hand-underlay.gesture-defense .v95-whole-hand-stack {
    animation:v95HandsDefense .72s cubic-bezier(.18,.78,.2,1) both !important;
}
#v95-character-hand-underlay.gesture-adjust .v95-whole-hand-stack {
    animation:v95HandsAdjust .96s ease-in-out both !important;
}
#hand-zone.v95-fan-settle {
    animation:v95LiveFanSettle .48s cubic-bezier(.16,.86,.22,1) both;
}
body.v95-first-person-hands-active #hand-zone.v95-fan-settle {
    animation:none !important;
}

@keyframes v95HandsBreathe {
    from { transform:translate3d(-50%,2px,0) rotate(-.16deg); }
    to { transform:translate3d(-50%,-2px,0) rotate(.14deg); }
}
@keyframes v95HandsDraw {
    0%,100% { transform:translate3d(-50%,0,0) scale(1); }
    38% { transform:translate3d(calc(-50% + 9px),-10px,0) rotate(.7deg) scale(1.012); }
    70% { transform:translate3d(calc(-50% - 3px),2px,0) rotate(-.2deg) scale(.997); }
}
@keyframes v95HandsDeal {
    0%,100% { transform:translate3d(-50%,0,0) scale(1); }
    40% { transform:translate3d(-50%,-12px,0) rotate(-.55deg) scale(1.018); }
    72% { transform:translate3d(-50%,3px,0) rotate(.18deg) scale(.994); }
}
@keyframes v95HandsDefense {
    0%,100% { transform:translate3d(-50%,0,0) scale(1); }
    36%,66% { transform:translate3d(-50%,-8px,0) scale(.982,1.025); filter:brightness(1.08); }
}
@keyframes v95HandsAdjust {
    0%,100% { transform:translate3d(-50%,0,0) rotate(0); }
    34% { transform:translate3d(-50%,-5px,0) rotate(.42deg); }
    68% { transform:translate3d(-50%,1px,0) rotate(-.2deg); }
}
@keyframes v95LiveFanSettle {
    0% { scale:.972; translate:0 4px; filter:brightness(1.08); }
    58% { scale:1.012; translate:0 -2px; }
    100% { scale:1; translate:0 0; filter:none; }
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-riana #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 7px rgba(118,70,255,.5))
        drop-shadow(0 0 11px rgba(53,242,107,.28));
}
body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-misha #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(164,190,181,.58))
        drop-shadow(0 0 11px rgba(53,242,107,.28));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-larasa #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(56,168,255,.6))
        drop-shadow(0 0 11px rgba(196,151,71,.28));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-lily #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(201,91,255,.62))
        drop-shadow(0 0 11px rgba(218,181,84,.28));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-leonard #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(255,91,131,.64))
        drop-shadow(0 0 12px rgba(255,65,120,.30));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-milia #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(229,213,58,.64))
        drop-shadow(0 0 12px rgba(255,246,188,.30));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-luka #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(217,227,41,.64))
        drop-shadow(0 0 12px rgba(255,248,170,.30));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-sarief #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(245,154,35,.66))
        drop-shadow(0 0 12px rgba(150,82,220,.30));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-ordivo #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(55,167,255,.66))
        drop-shadow(0 0 12px rgba(65,170,255,.30));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-alish #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(230,230,230,.66))
        drop-shadow(0 0 12px rgba(255,255,255,.30));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-maburoi #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(230,230,230,.66))
        drop-shadow(0 0 12px rgba(212,175,55,.30));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-digna #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(245,154,35,.66))
        drop-shadow(0 0 12px rgba(150,82,220,.30));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-sarasa #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(196,81,242,.66))
        drop-shadow(0 0 12px rgba(42,170,255,.30));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-sasara #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(58,167,255,.66))
        drop-shadow(0 0 12px rgba(142,224,255,.30));
}

body.v95-first-person-hands-active .player-area.v95-hands-player.v95-hands-awakened.v95-theme-noir #v95-character-hand-underlay .v95-whole-hand-stack {
    filter:
        drop-shadow(0 12px 10px rgba(0,0,0,.58))
        drop-shadow(0 0 8px rgba(239,74,168,.66))
        drop-shadow(0 0 12px rgba(255,82,52,.30));
}

@media (max-width:520px) {
    body.v45-battle-active.v95-first-person-hands-active .player-area.v95-hands-player #hand-zone {
        min-height:90px !important;
        padding-inline:38px !important;
    }
    body.v45-battle-active.v95-first-person-hands-active .player-area.v95-hands-player #hand-zone > .card {
        margin-inline:-6px !important;
    }
}

html.v69-low-fps #v95-character-hand-underlay .v95-whole-hand-stack,
html.v69-heavy-burst #v95-character-hand-underlay .v95-whole-hand-stack,
html.v69-low-fps #hand-zone.v95-fan-settle,
html.v69-heavy-burst #hand-zone.v95-fan-settle {
    animation:none !important;
    transition:none !important;
    will-change:auto !important;
}
@media (prefers-reduced-motion:reduce) {
    #v95-character-hand-underlay .v95-whole-hand-stack,
    #hand-zone.v95-fan-settle {
        animation:none !important;
        transition:none !important;
        will-change:auto !important;
    }
}


/* ノワールの袖も盤面内に収め、場外のカードや操作を覆わない。 */
body.v45-battle-active.v95-first-person-hands-active
.player-area.v95-hands-player.v95-theme-noir {
    overflow:hidden !important;
    contain:none !important;
}
body.v45-battle-active.v95-first-person-hands-active
.player-area.v95-hands-player.v95-theme-noir #v95-character-hand-underlay {
    overflow:visible !important;
}
body.v45-battle-active.v95-first-person-hands-active
.player-area.v95-hands-player.v95-theme-noir .v95-whole-hand-image {
    clip-path:inset(0 0 0 50%) !important;
}
