/* Pikko: persistent ornaments only. All action effects live on one canvas. */
.pikko-cinema-ambient { position:absolute; inset:-12px; pointer-events:none; z-index:4; overflow:visible; border-radius:24px; }
.pikko-cinema-ambient::before { content:""; position:absolute; inset:8px; border-radius:22px; box-shadow:0 0 24px color-mix(in srgb,var(--pk-glow) 20%,transparent),inset 0 0 18px color-mix(in srgb,var(--pk-l1) 12%,transparent); opacity:calc(.2 + var(--pk-level,0)*.12); }
.pikko-cinema-ambient svg { position:absolute; width:42px; height:58px; overflow:visible; filter:drop-shadow(0 0 5px var(--pk-glow)); animation:pikko-ornament-drift 5.5s ease-in-out infinite; }
.pikko-cinema-ambient svg:nth-child(1) { left:-7px; top:16%; }
.pikko-cinema-ambient svg:nth-child(2) { right:-7px; top:54%; animation-delay:-2.5s; }
.pikko-cinema-ambient svg:nth-child(3) { left:calc(50% - 21px); top:-13px; width:36px; height:36px; animation-delay:-1.2s; opacity:calc(.25 + var(--pk-level,0)*.13); }
.pikko-cinema-ambient .pk-fairy { display:none; }
.pikko-cinema-ambient[data-pk-theme="mese"] .pk-fairy { display:initial; }
.pikko-cinema-ambient[data-pk-theme="mese"] .pk-wild { display:none; }
.pikko-cinema-ambient .pk-space { display:none; }
.pikko-cinema-ambient[data-pk-theme="urhajos"] .pk-space { display:initial; }
.pikko-cinema-ambient[data-pk-theme="urhajos"] .pk-wild { display:none; }
.pikko-cinema-ambient[data-pk-theme="urhajos"]::before { box-shadow:0 0 24px color-mix(in srgb,#44DEFF 28%,transparent),inset 0 0 18px color-mix(in srgb,#B65CFF 16%,transparent); }
.pikko-cinema-ambient.is-fallen { opacity:.18; filter:grayscale(.8); }
.pikko-cinema-ambient.is-fallen svg { animation-play-state:paused; }
.pikko-potion-residue { position:absolute; inset:9px; border-radius:18px; pointer-events:none; z-index:4; overflow:hidden; box-shadow:inset 0 -5px 14px color-mix(in srgb,var(--pk-residue,#7bdc4a) 35%,transparent); }
.pikko-potion-residue i { position:absolute; bottom:-12px; left:calc(8% + var(--i)*27%); width:7px; height:10px; border:1px solid var(--pk-residue,#7bdc4a); border-radius:50%; opacity:0; animation:pikko-residue-rise 4s calc(var(--i)*-.8s) ease-in-out infinite; }
.pikko-potion-residue[data-theme="mese"] i { border-radius:1px; transform:rotate(45deg); background:color-mix(in srgb,var(--pk-residue) 35%,transparent); }
.pikko-potion-residue[data-theme="urhajos"] i { width:3px; height:3px; border:0; border-radius:50%; background:var(--pk-residue); box-shadow:0 0 6px var(--pk-residue),0 0 2px #fff; }
.pikko-potion-residue[data-theme="urhajos"] i:nth-child(2n) { width:5px; height:5px; clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); border-radius:0; }
.pikko-potion-residue.is-expiring { animation:pikko-residue-end .75s ease-out both; }
.v3-pikko-team-bag[data-pk-theme="mese"] { border-color:#ffdcb5; background:linear-gradient(145deg,#522a46ed,#241421f5); box-shadow:0 0 18px #ef9dd833; }
.v3-pikko-team-bag[data-pk-theme="urhajos"] { border-color:#44DEFF; background:linear-gradient(145deg,#0b1648ed,#1b0b45f5); box-shadow:0 0 18px #44DEFF40; }
.v3-pikko-team-bag[data-pk-theme="urhajos"] .v3-pikko-bag-slot.is-upgraded { box-shadow:inset 0 0 8px #050b24,0 0 12px #FCF639a0; }
.v3-pikko-team-bag[data-pk-theme="alap"] { border-color:#b1834e; background:linear-gradient(145deg,#503824f2,#142b21f5); }
.v3-pikko-team-bag[data-pk-full="true"]::after { content:""; position:absolute; inset:2px; border:1px solid #f1ad3955; border-radius:inherit; pointer-events:none; }
.v3-pikko-team-bag[data-pk-theme="mese"] .v3-pikko-bag-slot.is-upgraded { box-shadow:inset 0 0 8px #2e142b,0 0 12px #ffc6df80; }
.pikko-codex-bag { position:fixed; left:50%; bottom:12px; transform:translateX(-50%); display:flex; gap:12px; padding:10px 18px; border:1px solid #dbac64; border-radius:20px; background:#18291eea; z-index:15; }
.pikko-codex-bag [data-pikko-slot] { display:block; width:44px; height:44px; border-radius:10px; border:1px solid #ffe4a688; background:#0b1719; }
.pikko-codex-bag img { width:100%; height:100%; border-radius:9px; }
@keyframes pikko-ornament-drift { 0%,100% { transform:translateY(0) rotate(-5deg); } 50% { transform:translateY(-7px) rotate(5deg); } }
@keyframes pikko-residue-rise { 0% { opacity:0; translate:0 0; } 22% { opacity:.7; } 100% { opacity:0; translate:0 -130px; } }
@keyframes pikko-residue-end { to { opacity:0; scale:1.025; } }
@media (prefers-reduced-motion:reduce) { .pikko-cinema-ambient svg,.pikko-potion-residue i { animation:none; } .pikko-potion-residue i { opacity:.35; bottom:12px; } }
body.v3-vfx-disabled .pikko-cinema-ambient,body.v3-vfx-disabled .pikko-potion-residue { display:none; }
