/* Skin-bound Fate table; combat uses vector geometry in its own viewport. */
#v3-ability-choice-overlay.is-sora-choice {
    background: radial-gradient(ellipse at 50% 38%, color-mix(in srgb, var(--sora-fate-glow) 19%, transparent), #03050be8 75%);
}
.v3-ability-choice-panel.is-sora-choice {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: min(850px, 94vw);
    padding: 42px 32px 30px;
    border: 1px solid var(--sora-fate-trim);
    border-radius: 24px;
    background: radial-gradient(ellipse at 50% 70%, color-mix(in srgb, var(--sora-fate-deep) 85%, #050609), #04070ded);
    box-shadow: 0 0 0 5px #0008, 0 0 0 6px color-mix(in srgb, var(--sora-fate-trim) 38%, transparent), 0 25px 110px #000e;
}
.is-sora-choice .v3-ability-choice-eyebrow { color: var(--sora-fate-glow); letter-spacing: .22em; }
.is-sora-choice #v3-ability-choice-title { color: #fff1d9; text-shadow: 0 0 24px var(--sora-fate-glow); }
.is-sora-choice #v3-ability-choice-subtitle { color: #d7d8df; }
.sora-fate-stage { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.sora-fate-stage > i {
    position: absolute; top: -20%; left: -10%; width: 65%; height: 130%;
    background: linear-gradient(155deg, color-mix(in srgb, var(--sora-fate-glow) 26%, transparent), transparent 70%);
    clip-path: polygon(0 0, 15% 0, 100% 100%, 30% 100%);
    transform-origin: top left; animation: sora-fate-light 7s ease-in-out infinite alternate;
}
.sora-fate-stage > i:nth-child(2) { left: auto; right: -10%; transform: scaleX(-1); animation-direction: alternate-reverse; }
.sora-fate-stage > span { position: absolute; inset: auto 20% -24% 20%; height: 65%; background: var(--sora-fate-deck) center / contain no-repeat; opacity: .14; }
.sora-fate-stage > svg { position: absolute; width: 75px; height: 75px; top: calc(8% + var(--sora-motif-index) * 8%); left: calc(6% + var(--sora-motif-index) * 39%); opacity: .5; filter: drop-shadow(0 0 12px var(--sora-fate-glow)); }
.is-sora-choice .v3-ability-choice-option.sora-fate-option {
    position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px;
    padding: 20px 14px 24px; border: 1px solid color-mix(in srgb, var(--sora-fate-trim) 65%, transparent);
    border-radius: 14px; background: linear-gradient(160deg, #ffffff0b, #00000065);
    box-shadow: inset 0 0 30px #0007; transition: transform .35s ease, border-color .35s, background .35s;
}
.sora-fate-card { display: block; width: min(135px, 100%); transform: rotate(-5deg); filter: drop-shadow(0 10px 12px #000b); transition: transform .45s ease, filter .45s; }
.sora-fate-option:nth-child(2) .sora-fate-card { transform: translateY(-6px); }
.sora-fate-option:nth-child(3) .sora-fate-card { transform: rotate(5deg); }
.sora-fate-card svg { display: block; width: 100%; height: auto; }
.is-sora-choice .sora-fate-option:hover, .is-sora-choice .sora-fate-option:focus-visible {
    transform: translateY(-6px); border-color: var(--sora-fate-glow); outline: 2px solid var(--sora-fate-trim); outline-offset: 3px;
    background: linear-gradient(160deg, color-mix(in srgb, var(--sora-fate-deep) 65%, #ffffff12), #0009);
}
.sora-fate-option:hover .sora-fate-card, .sora-fate-option:focus-visible .sora-fate-card { transform: translateY(-5px) rotate(0); filter: drop-shadow(0 0 18px color-mix(in srgb, var(--sora-fate-glow) 55%, transparent)); }
.is-sora-choice .sora-fate-option strong { color: #fff1db; font-family: Georgia, serif; }
.is-sora-choice .v3-ability-choice-option-description { color: #dadce6; }
@keyframes sora-fate-light { from { opacity: .45; } to { opacity: 1; } }
@media (max-width: 620px) {
    .v3-ability-choice-panel.is-sora-choice { padding: 32px 14px 18px; max-height: 90dvh; overflow-y: auto; }
    .is-sora-choice #v3-ability-choice-options { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .is-sora-choice .v3-ability-choice-option.sora-fate-option { padding: 12px 6px; gap: 8px; }
    .is-sora-choice .sora-fate-option strong { font-size: 13px; }
    .is-sora-choice .v3-ability-choice-option-description { font-size: 11px; }
    .sora-fate-card { width: 92px; }
}
@media (prefers-reduced-motion: reduce) {
    .sora-fate-stage > i { animation: none; }
    .sora-fate-card, .is-sora-choice .v3-ability-choice-option.sora-fate-option { transition: none; transform: none; }
}
