/* Bunny's chooser keeps bright, readable text on an opaque dark surface in every skin. */
.v3-ability-choice-overlay.is-bunny-choice {
    background:radial-gradient(ellipse at 50% 42%,color-mix(in srgb,var(--bunny-popup-glow) 18%,transparent),transparent 57%),#030509e8;
    backdrop-filter:blur(14px) saturate(.7);
    padding:20px;
}
.v3-ability-choice-panel.is-bunny-choice {
    width:min(870px,94vw); max-height:calc(100dvh - 40px); overflow:auto;
    padding:22px 42px 30px; isolation:isolate; border-radius:32px;
    border:1px solid var(--bunny-popup-accent);
    background:radial-gradient(ellipse at 50% -15%,color-mix(in srgb,var(--bunny-popup-accent) 18%,transparent),transparent 55%),linear-gradient(150deg,var(--bunny-popup-deep),#080b13);
    box-shadow:0 35px 110px #000c,0 0 65px color-mix(in srgb,var(--bunny-popup-glow) 17%,transparent),inset 0 0 0 5px #ffffff04;
    animation:bunny-popup-reveal .38s cubic-bezier(.16,.8,.23,1) both;
}
.v3-ability-choice-panel.is-bunny-choice::before { inset:9px; border:1px solid color-mix(in srgb,var(--bunny-popup-soft) 20%,transparent); border-radius:24px; box-shadow:none; pointer-events:none; }
.v3-ability-choice-panel.is-bunny-choice::after { content:none; }
.v3-ability-choice-panel.is-bunny-choice .v3-ability-choice-close { position:absolute; z-index:6; top:18px; right:18px; width:38px; height:38px; border:1px solid #ffffff40; border-radius:50%; color:#fff; background:#080b13e8; box-shadow:none; }
.v3-ability-choice-panel.is-bunny-choice .v3-ability-choice-close:is(:hover,:focus-visible) { border-color:var(--bunny-popup-soft); background:var(--bunny-popup-card); outline:2px solid var(--bunny-popup-soft); outline-offset:3px; }
.v3-ability-choice-panel.is-bunny-choice .v3-ability-choice-eyebrow { color:var(--bunny-popup-soft); letter-spacing:.22em; font-size:11px; text-shadow:none; }
.v3-ability-choice-panel.is-bunny-choice h2 { margin:5px 0 8px; color:#fff; font-size:clamp(28px,3vw,38px); letter-spacing:-.025em; text-shadow:0 2px 12px #0009; }
.v3-ability-choice-panel.is-bunny-choice p { max-width:600px; margin:0 auto 16px; color:#e5eaf2; line-height:1.55; font-size:13px; text-shadow:none; }
.v3-ability-choice-panel.is-bunny-choice .bunny-choice-enchantment { position:absolute; inset:0; z-index:0; overflow:hidden; border-radius:inherit; pointer-events:none; }
.bunny-choice-halo { position:absolute; width:470px; height:470px; left:calc(50% - 235px); top:-370px; border:1px solid var(--bunny-popup-accent); border-radius:50%; box-shadow:0 0 24px color-mix(in srgb,var(--bunny-popup-accent) 32%,transparent); opacity:.5; }
.bunny-choice-halo.is-crossed { width:550px; height:550px; left:calc(50% - 275px); top:-380px; border-style:dashed; border-color:var(--bunny-popup-glow); animation:bunny-popup-spin 60s linear infinite; }
.bunny-choice-drift { position:absolute; left:var(--bunny-drift-x); top:var(--bunny-drift-y); width:33px; height:33px; color:var(--bunny-popup-glow); opacity:.35; animation:bunny-popup-drift 5s ease-in-out var(--bunny-drift-delay) infinite; }
.bunny-choice-drift svg,.bunny-choice-spark svg,.bunny-choice-bag-emblem i svg { display:block; width:100%; height:100%; }
.v3-ability-choice-panel.is-bunny-choice .bunny-choice-bag-emblem { position:relative; width:104px; height:82px; margin:0 auto 9px; }
.bunny-choice-bag-emblem>img { position:absolute; width:85px; height:83px; left:10px; top:0; object-fit:contain; filter:drop-shadow(0 0 13px color-mix(in srgb,var(--bunny-popup-accent) 60%,transparent)); animation:bunny-popup-bag 3.2s ease-in-out infinite; }
.bunny-choice-bag-emblem>span { position:absolute; inset:10px 0 -2px; border:1px solid var(--bunny-popup-accent); border-radius:50%; transform:rotate(-24deg); box-shadow:0 0 18px color-mix(in srgb,var(--bunny-popup-glow) 22%,transparent); }
.bunny-choice-bag-emblem>span:nth-child(2) { inset:14px -10px 8px; border-color:var(--bunny-popup-glow); transform:rotate(30deg); }
.bunny-choice-bag-emblem>i { position:absolute; width:27px; height:27px; top:17px; left:-27px; color:var(--bunny-popup-soft); animation:bunny-popup-drift 4s ease-in-out infinite; }
.bunny-choice-bag-emblem>i:last-child { left:auto; right:-27px; top:42px; animation-delay:-2s; }
.v3-ability-choice-panel.is-bunny-choice .bunny-choice-reserve { display:flex; align-items:center; justify-content:center; gap:18px; width:fit-content; max-width:100%; margin:0 auto 20px; padding:10px 16px; border:1px solid #ffffff20; border-radius:14px; background:#080b13d9; }
.bunny-choice-reserve__label { display:flex; gap:10px; align-items:center; color:#e5eaf2; font-size:10px; letter-spacing:.1em; white-space:nowrap; }
.bunny-choice-reserve__label b { color:#fff; font-size:17px; letter-spacing:0; }
.bunny-choice-reserve__label small { color:#b9c4d6; font-size:11px; }
.bunny-choice-reserve__slots { display:flex; gap:4px; }
.bunny-choice-reserve__slots>span { display:grid; place-items:center; width:23px; height:30px; border:1px solid #ffffff18; border-radius:6px; background:#ffffff05; }
.bunny-choice-reserve__slots>span.is-filled { border-color:color-mix(in srgb,var(--bunny-popup-accent) 65%,transparent); background:color-mix(in srgb,var(--bunny-popup-accent) 10%,#080b13); animation:bunny-popup-slot .4s ease-out var(--bunny-slot-delay) both; }
.bunny-choice-reserve__slots img { width:24px; height:29px; object-fit:contain; filter:drop-shadow(0 0 4px var(--bunny-popup-accent)); }
.bunny-choice-reserve__slots i { width:3px; height:3px; border-radius:50%; background:#ffffff25; }
.v3-ability-choice-panel.is-bunny-choice .v3-ability-choice-options { grid-template-columns:repeat(3,minmax(0,224px)); gap:20px; }
.v3-ability-choice-panel.is-bunny-choice .v3-ability-choice-options[data-option-count="2"] { grid-template-columns:repeat(2,minmax(0,240px)); }
.v3-ability-choice-panel.is-bunny-choice .v3-ability-choice-options[data-option-count="1"] { grid-template-columns:minmax(0,260px); }
.v3-ability-choice-panel.is-bunny-choice .bunny-choice-option {
    position:relative; display:flex; flex-direction:column; align-items:center; min-height:285px;
    overflow:hidden; padding:12px 12px 14px!important; border-radius:22px!important;
    border:1px solid color-mix(in srgb,var(--bunny-popup-accent) 60%,#ffffff20)!important;
    background:radial-gradient(ellipse at 50% 25%,color-mix(in srgb,var(--bunny-popup-glow) 17%,transparent),transparent 64%),linear-gradient(160deg,var(--bunny-popup-card),var(--bunny-popup-deep))!important;
    box-shadow:0 12px 24px #0006,inset 0 0 0 4px #ffffff03;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.v3-ability-choice-panel.is-bunny-choice .bunny-choice-option::before { inset:7px; border:1px solid #ffffff0c; border-radius:16px; }
.v3-ability-choice-panel.is-bunny-choice .bunny-choice-option::after { top:-70%; left:-90%; width:45%; height:220%; border:0; background:linear-gradient(90deg,transparent,#ffffff16,transparent); transform:rotate(25deg); animation:bunny-popup-sheen 6s ease-in-out infinite; }
.v3-ability-choice-panel.is-bunny-choice .bunny-choice-option:is(:hover,:focus-visible) { transform:translateY(-5px); border-color:var(--bunny-popup-soft)!important; box-shadow:0 18px 35px #0008,0 0 24px color-mix(in srgb,var(--bunny-popup-glow) 28%,transparent),inset 0 0 22px #ffffff06; outline:2px solid var(--bunny-popup-soft); outline-offset:3px; }
.v3-ability-choice-panel.is-bunny-choice .bunny-choice-option:active { transform:translateY(-1px) scale(.98); }
.v3-ability-choice-panel.is-bunny-choice .bunny-choice-option>strong { color:#fff!important; font-size:20px; margin:0 0 8px; text-shadow:0 2px 8px #000; }
.v3-ability-choice-panel.is-bunny-choice .bunny-choice-option>.v3-ability-choice-option-description { color:#f0f5ff!important; padding:8px 10px; border:1px solid #ffffff18; border-radius:9px; background:#050a12b3; font-size:12px; font-weight:600; line-height:1.45; margin:0; text-shadow:none; }
.bunny-choice-select-hint { display:flex; align-items:center; justify-content:center; gap:9px; margin-top:14px; color:var(--bunny-popup-soft); font-size:10px; letter-spacing:.13em; font-weight:700; }
.bunny-choice-select-hint i { font-size:18px; font-style:normal; transition:transform .2s; }
.bunny-choice-option:is(:hover,:focus-visible) .bunny-choice-select-hint i { transform:translateX(5px); }
.bunny-choice-scene { position:relative; display:block; width:100%; height:174px; flex-shrink:0; pointer-events:none; }
.bunny-choice-beam { position:absolute; inset:16px 15% 10px; background:linear-gradient(0deg,color-mix(in srgb,var(--bunny-popup-glow) 24%,transparent),transparent 85%); clip-path:polygon(22% 0,78% 0,100% 100%,0 100%); animation:bunny-popup-beam 2.5s ease-in-out infinite alternate; }
.bunny-choice-platform { position:absolute; bottom:10px; left:16%; width:68%; height:24px; border:2px solid var(--bunny-popup-accent); border-radius:50%; background:radial-gradient(ellipse,color-mix(in srgb,var(--bunny-popup-glow) 30%,transparent),transparent 70%); box-shadow:0 0 14px var(--bunny-popup-accent),inset 0 0 13px color-mix(in srgb,var(--bunny-popup-glow) 65%,transparent); animation:bunny-popup-platform 2.5s ease-in-out infinite; }
.bunny-choice-orbit { position:absolute; z-index:3; top:58px; left:10%; width:80%; height:45px; border:1px solid var(--bunny-popup-soft); border-left-color:transparent; border-bottom-color:transparent; border-radius:50%; transform:rotate(-24deg); filter:drop-shadow(0 0 4px var(--bunny-popup-accent)); animation:bunny-popup-orbit 4s linear infinite; }
.bunny-choice-orbit::before { content:''; position:absolute; top:4px; right:14px; width:5px; height:5px; border-radius:50%; background:#fff; box-shadow:0 0 12px var(--bunny-popup-glow); }
.bunny-choice-orbit.is-tilted { top:93px; height:35px; border-color:var(--bunny-popup-glow); border-top-color:transparent; animation-direction:reverse; animation-delay:-1.3s; }
.bunny-choice-spark { position:absolute; z-index:4; left:var(--bunny-spark-x); top:var(--bunny-spark-y); width:20px; height:20px; color:var(--bunny-popup-soft); animation:bunny-popup-spark 3.3s ease-in-out var(--bunny-spark-delay) infinite; filter:drop-shadow(0 0 4px var(--bunny-popup-glow)); }
.bunny-choice-carrot { position:absolute; z-index:2; top:var(--bunny-carrot-y); left:var(--bunny-carrot-x); width:110px; height:124px; margin-left:-55px; transform-origin:50% 75%; animation:bunny-popup-carrot 2.8s ease-in-out var(--bunny-carrot-delay) infinite; }
.bunny-choice-scene.is-amount-1 .bunny-choice-carrot { width:138px; height:143px; margin-left:-69px; top:18px; }
.bunny-choice-scene.is-amount-3 .bunny-choice-carrot { width:92px; height:116px; margin-left:-46px; }
.bunny-choice-carrot img { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 5px 4px #0008) drop-shadow(0 0 9px var(--bunny-popup-accent)); }
.bunny-choice-option:is(:hover,:focus-visible) .bunny-choice-carrot { animation-duration:1.7s; }
.bunny-choice-option:is(:hover,:focus-visible) .bunny-choice-carrot img { filter:drop-shadow(0 0 13px var(--bunny-popup-soft)) drop-shadow(0 0 22px var(--bunny-popup-accent)); }
.is-bunny-choice[data-bunny-choice-skin="jeg"] .bunny-choice-platform { border-radius:8px; transform:rotate(-8deg); }
.is-bunny-choice[data-bunny-choice-skin="kokorszaki"] .bunny-choice-platform { border-radius:4px; border-style:dashed; }
.is-bunny-choice[data-bunny-choice-skin="mesekonyv"] .bunny-choice-orbit { border-style:dotted; border-width:2px; }
.is-bunny-choice[data-bunny-choice-skin="halloween"] .bunny-choice-beam { background:radial-gradient(ellipse at bottom,#43efc14d,#9f4ff033,transparent 75%); }
@keyframes bunny-popup-reveal { from{opacity:0;transform:translateY(18px) scale(.97)} to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes bunny-popup-spin { to{transform:rotate(360deg)} }
@keyframes bunny-popup-drift { 0%,100%{transform:translateY(0) rotate(-12deg);opacity:.3} 50%{transform:translateY(-12px) rotate(10deg);opacity:.65} }
@keyframes bunny-popup-bag { 0%,100%{transform:translateY(0) rotate(-4deg)} 50%{transform:translateY(-5px) rotate(4deg)} }
@keyframes bunny-popup-slot { from{opacity:0;transform:translateY(6px) scale(.7)} to{opacity:1;transform:none} }
@keyframes bunny-popup-sheen { 0%,65%{left:-90%;opacity:0} 72%{opacity:1} 100%{left:160%;opacity:0} }
@keyframes bunny-popup-beam { to{opacity:.45;transform:scaleX(.85)} }
@keyframes bunny-popup-platform { 0%,100%{opacity:.6;scale:.94} 50%{opacity:1;scale:1.04} }
@keyframes bunny-popup-orbit { 0%{transform:rotate(-24deg) scaleX(.94);opacity:.55} 50%{transform:rotate(24deg) scaleX(1.04);opacity:1} 100%{transform:rotate(-24deg) scaleX(.94);opacity:.55} }
@keyframes bunny-popup-spark { 0%,100%{opacity:0;transform:translateY(12px) scale(.4) rotate(-15deg)} 40%{opacity:.9;transform:translateY(-9px) scale(1) rotate(15deg)} 75%{opacity:.4;transform:translateY(-25px) scale(.7) rotate(45deg)} }
@keyframes bunny-popup-carrot { 0%,100%{transform:translateY(0) rotate(var(--bunny-carrot-tilt)) scale(.98)} 50%{transform:translateY(-14px) rotate(calc(var(--bunny-carrot-tilt) + 9deg)) scale(1.06)} }
@media(max-height:680px) and (min-width:721px) {
    .v3-ability-choice-panel.is-bunny-choice { padding-top:26px; }
    .v3-ability-choice-panel.is-bunny-choice .bunny-choice-bag-emblem { position:absolute; left:38px; top:24px; margin:0; }
    .v3-ability-choice-panel.is-bunny-choice h2 { font-size:32px; }
}
@media(max-width:720px) {
    .v3-ability-choice-panel.is-bunny-choice { padding:20px 18px 24px; }
    .v3-ability-choice-panel.is-bunny-choice .v3-ability-choice-options,.v3-ability-choice-panel.is-bunny-choice .v3-ability-choice-options[data-option-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
    .v3-ability-choice-panel.is-bunny-choice .bunny-choice-reserve { gap:8px; flex-wrap:wrap; }
}
@media(max-width:470px) {
    .v3-ability-choice-overlay.is-bunny-choice { padding:10px; }
    .v3-ability-choice-panel.is-bunny-choice { max-height:calc(100dvh - 20px); width:100%; }
    .v3-ability-choice-panel.is-bunny-choice .v3-ability-choice-options,.v3-ability-choice-panel.is-bunny-choice .v3-ability-choice-options[data-option-count="2"] { grid-template-columns:minmax(0,280px); }
    .bunny-choice-reserve__slots { gap:3px; }
    .bunny-choice-reserve__slots>span { width:20px; }
}
@media(prefers-reduced-motion:reduce) {
    .v3-ability-choice-panel.is-bunny-choice,.v3-ability-choice-panel.is-bunny-choice *,.v3-ability-choice-panel.is-bunny-choice *::before,.v3-ability-choice-panel.is-bunny-choice *::after { animation:none!important; transition:none!important; }
    .bunny-choice-carrot { transform:rotate(var(--bunny-carrot-tilt)); }
    .bunny-choice-spark { opacity:.6; }
}
