/* Gamingpappsen Valvaka — V3 Character + VFX */
.v3ReactionArena{display:grid;grid-template-columns:1.08fr .92fr;gap:.7vw;min-height:0;flex:1;height:100%}
.v3ReactionHero{height:100%;min-height:0;display:grid;grid-template-columns:minmax(120px,38%) 1fr;align-items:center;gap:1.05vw;padding:.75vw 1vw;position:relative;overflow:hidden;background:linear-gradient(115deg,#061421e8,#0a1730dd 55%,#1c0a2ddd);border:1px solid #ffffff14;clip-path:polygon(0 0,96% 0,100% 16%,100% 100%,4% 100%,0 84%)}
.v3ReactionHero:after{content:"";position:absolute;left:38%;top:12%;bottom:12%;width:1px;background:linear-gradient(transparent,var(--v3c,#19e9ff88),transparent)}
.v3ReactionCopy{min-width:0;position:relative;z-index:3}.v3ReactionCopy small{display:block;color:var(--v3c,#19e9ff);font-size:.62vw;font-weight:1000;letter-spacing:.13em;margin-bottom:.35em}.v3ReactionCopy strong{display:block;font-size:1.7vw;line-height:.92;font-style:italic;text-transform:uppercase;letter-spacing:-.04em}.v3ReactionCopy span{display:block;color:#a8bed0;font-size:.66vw;font-weight:700;margin-top:.5em}
.v3GenericPulse{width:72%;aspect-ratio:1;place-self:center;display:grid;place-content:center;text-align:center;border-radius:50%;border:2px solid #19e9ff66;background:radial-gradient(circle,#17385b99,#07111d 67%);box-shadow:0 0 45px #19e9ff22,inset 0 0 35px #8f39ff22;animation:v3pulse 2.4s ease-in-out infinite}.v3GenericPulse span,.v3GenericPulse b{display:block;line-height:.8;font-style:italic;font-weight:1000}.v3GenericPulse span{font-size:1.05vw;color:#19e9ff}.v3GenericPulse b{font-size:1.6vw;color:#ffe144}@keyframes v3pulse{50%{transform:scale(1.04);box-shadow:0 0 60px #19e9ff33,inset 0 0 45px #8f39ff33}}
.v3Avatar{--v3c:#19e9ff;--v3g:#19e9ff44;position:relative;display:grid;place-items:center;isolation:isolate}.v3Avatar:before{content:"";position:absolute;inset:12% 5% 0;border-radius:50%;background:radial-gradient(circle,var(--v3g),transparent 68%);filter:blur(8px);z-index:-1}.v3Avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 20px #0009);z-index:2}.v3Letter{position:absolute;inset:12%;display:grid;place-items:center;border-radius:50%;font-weight:1000;font-style:italic;font-size:1.4em;background:radial-gradient(circle at 35% 25%,#1d4162,#07121f 70%);border:2px solid #ffffff22;box-shadow:inset 0 0 24px #19e9ff22}.v3Badge{position:absolute;right:0;top:5%;z-index:4;width:27%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#07101b;border:2px solid var(--v3c);box-shadow:0 0 18px var(--v3c);font-size:.31em;font-weight:1000}
.v3-idle{--v3c:#19e9ff;--v3g:#19e9ff44}.v3-positive{--v3c:#45ef9b;--v3g:#45ef9b55}.v3-negative,.v3-defeat{--v3c:#ff4260;--v3g:#ff426055}.v3-panic,.v3-threshold{--v3c:#ffb42a;--v3g:#ff2c8355}.v3-shock{--v3c:#b369ff;--v3g:#8f39ff66}.v3-celebrate,.v3-victory{--v3c:#ffe144;--v3g:#ffe14466}
.v3-positive img{animation:v3up .75s cubic-bezier(.2,.9,.25,1)}.v3-negative img,.v3-defeat img{animation:v3neg .55s ease}.v3-panic img,.v3-threshold img{animation:v3panic .16s linear 4}.v3-shock img{animation:v3shock .65s cubic-bezier(.2,1.2,.3,1)}.v3-celebrate img,.v3-victory img{animation:v3celebrate .85s cubic-bezier(.2,1.15,.3,1)}
@keyframes v3up{0%{transform:translateY(15%) scale(.9)}55%{transform:translateY(-5%) scale(1.06)}100%{transform:none}}@keyframes v3neg{20%{transform:translateX(-5%)}40%{transform:translateX(4%)}60%{transform:translateX(-3%)}100%{transform:none;filter:saturate(.7) drop-shadow(0 12px 20px #0009)}}@keyframes v3panic{50%{transform:translateX(2.5%) rotate(1.2deg)}}@keyframes v3shock{0%{transform:scale(.8)}55%{transform:scale(1.12)}100%{transform:scale(1)}}@keyframes v3celebrate{0%{transform:translateY(12%) scale(.92)}50%{transform:translateY(-9%) scale(1.08) rotate(-1deg)}100%{transform:none}}
.v3HeroAvatar{width:100%;height:100%;min-height:15vh}.v3ReactionArena .eventFeed{display:flex!important;flex-direction:column;gap:.42vw;min-height:0}.v3ReactionArena .eventCard{grid-template-columns:2.1vw 1fr!important}.v3ReactionArena .eventEmpty{padding:.8vw}
.party .face{overflow:visible!important}.party .face .v3Avatar{position:absolute;inset:-16% -5% -8%}.party .face .v3Badge{font-size:.35em}.party.v3React{animation:v3card .75s cubic-bezier(.2,.9,.2,1)}@keyframes v3card{0%{transform:scale(.96)}35%{transform:scale(1.025)}100%{transform:scale(1)}}
.v3LatestWrap{height:100%;display:grid;grid-template-columns:6vw 1fr;gap:1vw;min-width:0}.v3Mini{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#0b2036,#210c36);border:1px solid #ffffff18;overflow:hidden}.v3Mini .v3Avatar{width:100%;height:100%}.v3Mini .v3Badge{display:none}.v3MiniIcon{color:#19e9ff;font-size:2vw}.v3LatestWrap .latestEvent{height:100%;min-width:0}
.v3AlertActor{display:none;position:absolute;right:2%;bottom:0;width:24%;height:115%;z-index:3;pointer-events:none}.alert.v3HasActor .v3AlertActor{display:block}.v3AlertActor .v3Avatar{width:100%;height:100%}.alert.v3HasActor .kicker,.alert.v3HasActor h2,.alert.v3HasActor p{max-width:72%;position:relative;z-index:4}.v3AlertMark{height:100%;display:grid;place-items:center;font-size:4em;color:#ffe144;font-weight:1000;font-style:italic;text-shadow:0 0 28px #ffe14477}
.stage.v3Impact:after,.stage.v3Danger:after,.stage.v3Win:after{content:"";position:absolute;inset:0;z-index:90;pointer-events:none;mix-blend-mode:screen;animation:v3flash .65s ease-out forwards}.stage.v3Impact:after{background:radial-gradient(circle,#19e9ff88,transparent 45%)}.stage.v3Danger:after{background:radial-gradient(circle,#ff315f99,transparent 48%)}.stage.v3Win:after{background:radial-gradient(circle,#ffe144aa,transparent 48%)}.stage.v3Danger{animation:v3shake .45s}@keyframes v3flash{from{opacity:1}to{opacity:0}}@keyframes v3shake{0%,100%{transform:none}20%{transform:translate(-5px,2px)}40%{transform:translate(4px,-2px)}60%{transform:translate(-3px,-1px)}80%{transform:translate(2px,1px)}}
@media(max-aspect-ratio:1/1){.alert.v3HasActor .v3AlertActor{width:31%;right:1%}.alert.v3HasActor .kicker,.alert.v3HasActor h2,.alert.v3HasActor p{max-width:67%}}
