/* Hypernix 3.1: real transparent artwork replaces the old CSS outline frames. */
.profile-avatar-wrap::before,.profile-avatar-wrap::after,.frame-art::before,.frame-art::after,.place-card::before,.place-card::after{content:none!important;display:none!important}
.profile-avatar-wrap,.loadout-frame,.top-avatar-frame,.frame-art{position:relative;isolation:isolate}
.frame-sprite{position:absolute;display:block;max-width:none!important;pointer-events:none;user-select:none;z-index:8;transform-origin:center;will-change:transform,filter,opacity}
.profile-avatar-wrap>.frame-sprite{inset:-33px;width:calc(100% + 66px);height:calc(100% + 66px);object-fit:fill}
.loadout-frame>.frame-sprite{inset:-38px;width:calc(100% + 76px);height:calc(100% + 76px);object-fit:fill}
.top-avatar-frame{display:grid;width:38px;height:38px;place-items:center;flex:0 0 38px}
.top-avatar-frame>.avatar{width:28px!important;height:28px!important;border:0!important;border-radius:7px!important}
.top-avatar-frame>.frame-sprite{inset:-7px;width:calc(100% + 14px);height:calc(100% + 14px);object-fit:fill}
.inventory-frame{width:184px!important;height:184px!important;margin:auto;border:0!important;border-radius:24px;background:radial-gradient(circle,#292924 0 43%,#11110f 44% 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.inventory-frame>.frame-sprite{inset:-11px;width:calc(100% + 22px);height:calc(100% + 22px);object-fit:contain}
.place-card{cursor:pointer;overflow:visible!important;isolation:isolate;outline:none;transition:transform .25s ease,box-shadow .25s ease}
.place-card:focus-visible{box-shadow:0 0 0 4px rgba(255,211,36,.4),0 24px 60px rgba(0,0,0,.35)}
.place-card:hover{transform:translateY(-5px)}
.place-card>.place-frame-sprite{display:none!important}
.place-card:has(>.frame-ice){--place-frame:url('/frames/frame-ice.png');--place-frame-animation:ice-shimmer 4.6s ease-in-out infinite}
.place-card:has(>.frame-lava){--place-frame:url('/frames/frame-lava.png');--place-frame-animation:lava-breathe 2.7s ease-in-out infinite}
.place-card:has(>.frame-water){--place-frame:url('/frames/frame-water.png');--place-frame-animation:water-drift 4s ease-in-out infinite}
.place-card:has(>.frame-gothic){--place-frame:url('/frames/frame-gothic.png');--place-frame-animation:gothic-awake 5.2s ease-in-out infinite}
.place-card:has(>.frame-storm){--place-frame:url('/frames/frame-storm.png');--place-frame-animation:storm-charge 3.2s steps(1,end) infinite}
.place-card:has(>.frame-nether){--place-frame:url('/frames/frame-nether.png');--place-frame-animation:nether-portal 3.8s ease-in-out infinite}
.place-card:has(>.frame-ender){--place-frame:url('/frames/frame-ender.png');--place-frame-animation:ender-warp 4.4s ease-in-out infinite}
.place-card:has(>.frame-redstone){--place-frame:url('/frames/frame-redstone.png');--place-frame-animation:redstone-tick 2.4s steps(4,end) infinite}
.place-card:has(>.frame-sculk){--place-frame:url('/frames/frame-sculk.png');--place-frame-animation:sculk-pulse 3.1s ease-in-out infinite}
.place-card:has(>.frame-grove){--place-frame:url('/frames/frame-grove.png');--place-frame-animation:grove-sway 5.6s ease-in-out infinite}
.place-card:has(>.frame-diamond){--place-frame:url('/frames/frame-diamond.png');--place-frame-animation:diamond-glint 3.6s ease-in-out infinite}
.place-card:has(>.frame-dragon){--place-frame:url('/frames/frame-dragon.png');--place-frame-animation:dragon-breath 3s ease-in-out infinite}
.place-card:has(>.frame-ocean){--place-frame:url('/frames/frame-ocean.png');--place-frame-animation:ocean-current 4.8s ease-in-out infinite}
.place-card:has(>.frame-royal){--place-frame:url('/frames/frame-royal.png');--place-frame-animation:royal-float 4s ease-in-out infinite}
.place-card:has(>.frame-void){--place-frame:url('/frames/frame-void.png');--place-frame-animation:void-rift 3.4s ease-in-out infinite}
.place-card:has(>.place-frame-sprite)::after{content:""!important;display:block!important;position:absolute;inset:-9px;z-index:6;box-sizing:border-box;border:24px solid transparent;border-image-source:var(--place-frame);border-image-slice:315;border-image-width:26px;border-image-outset:4px;border-image-repeat:stretch;pointer-events:none;transform-origin:center;animation:var(--place-frame-animation);filter:drop-shadow(0 4px 7px rgba(0,0,0,.38))}
.place-card .place-image,.place-card .place-body{position:relative;z-index:2}.place-card .place-body{background:#1a1a15;border-radius:0 0 23px 23px}
.frame-ice{animation:ice-shimmer 4.6s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(113,226,255,.42))}
.frame-lava{animation:lava-breathe 2.7s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(255,82,18,.42))}
.frame-water{animation:water-drift 4s ease-in-out infinite;filter:drop-shadow(0 7px 11px rgba(0,137,255,.34))}
.frame-gothic{animation:gothic-awake 5.2s ease-in-out infinite;filter:drop-shadow(0 7px 12px rgba(82,0,15,.7))}
.frame-storm{animation:storm-charge 3.2s steps(1,end) infinite;filter:drop-shadow(0 0 9px rgba(255,207,43,.45))}
.frame-nether{animation:nether-portal 3.8s ease-in-out infinite}.frame-ender{animation:ender-warp 4.4s ease-in-out infinite}.frame-redstone{animation:redstone-tick 2.4s steps(4,end) infinite}.frame-sculk{animation:sculk-pulse 3.1s ease-in-out infinite}.frame-grove{animation:grove-sway 5.6s ease-in-out infinite}.frame-diamond{animation:diamond-glint 3.6s ease-in-out infinite}.frame-dragon{animation:dragon-breath 3s ease-in-out infinite}.frame-ocean{animation:ocean-current 4.8s ease-in-out infinite}.frame-royal{animation:royal-float 4s ease-in-out infinite}.frame-void{animation:void-rift 3.4s ease-in-out infinite}
@keyframes ice-shimmer{0%,100%{filter:drop-shadow(0 0 7px rgba(113,226,255,.35)) brightness(.96)}45%{filter:drop-shadow(0 0 16px rgba(151,240,255,.72)) brightness(1.12)}55%{filter:drop-shadow(0 0 5px rgba(95,137,255,.38)) brightness(1)}}
@keyframes lava-breathe{0%,100%{transform:scale(.99);filter:drop-shadow(0 0 7px rgba(255,72,12,.34)) brightness(.92)}50%{transform:scale(1.015);filter:drop-shadow(0 0 17px rgba(255,112,16,.72)) brightness(1.16)}}
@keyframes water-drift{0%,100%{transform:translateY(0) scale(1);filter:drop-shadow(0 6px 10px rgba(0,137,255,.3)) hue-rotate(0deg)}50%{transform:translateY(-3px) scale(1.008);filter:drop-shadow(0 11px 16px rgba(0,197,255,.5)) hue-rotate(9deg)}}
@keyframes gothic-awake{0%,100%{transform:rotate(-.25deg);filter:drop-shadow(0 6px 10px rgba(82,0,15,.65)) saturate(.92)}50%{transform:rotate(.25deg) scale(1.008);filter:drop-shadow(0 10px 15px rgba(150,0,25,.54)) saturate(1.15)}}
@keyframes storm-charge{0%,72%,100%{filter:drop-shadow(0 0 8px rgba(255,207,43,.42)) brightness(1)}73%{filter:drop-shadow(0 0 26px rgba(255,239,142,.95)) brightness(1.45)}76%{filter:drop-shadow(0 0 7px rgba(97,150,255,.65)) brightness(.9)}78%{filter:drop-shadow(0 0 20px rgba(255,223,82,.8)) brightness(1.25)}}
@keyframes nether-portal{0%,100%{filter:drop-shadow(0 0 8px #7d2cff88) brightness(.92)}50%{filter:drop-shadow(0 0 20px #ff5b36aa) brightness(1.17);transform:scale(1.012)}}
@keyframes ender-warp{0%,100%{transform:perspective(500px) rotateY(-1deg);filter:drop-shadow(-3px 0 10px #a448ff77)}50%{transform:perspective(500px) rotateY(1deg) translateY(-2px);filter:drop-shadow(5px 0 18px #55f0ff99)}}
@keyframes redstone-tick{0%,100%{filter:drop-shadow(0 0 5px #dc3b2080) brightness(.85)}25%{filter:drop-shadow(0 0 18px #ff3928cc) brightness(1.25)}50%{filter:drop-shadow(0 0 8px #ffbe3899) brightness(1)}75%{filter:drop-shadow(0 0 16px #ff3928bb) brightness(1.15)}}
@keyframes sculk-pulse{0%,100%{filter:drop-shadow(0 0 7px #00b9c477) saturate(.85)}50%{filter:drop-shadow(0 0 24px #13f0e0bb) saturate(1.35);transform:scale(1.016)}}
@keyframes grove-sway{0%,100%{transform:rotate(-.35deg);filter:drop-shadow(-3px 7px 10px #61b43a55)}50%{transform:rotate(.35deg) translateY(-2px);filter:drop-shadow(4px 9px 16px #ffe65b66)}}
@keyframes diamond-glint{0%,70%,100%{filter:drop-shadow(0 0 10px #61e8ff88) brightness(1)}74%{filter:drop-shadow(-12px 0 22px #fff) brightness(1.55)}80%{filter:drop-shadow(12px 0 18px #fff3adcc) brightness(1.2)}}
@keyframes dragon-breath{0%,100%{filter:drop-shadow(0 2px 9px #ff552177) brightness(.9)}45%{filter:drop-shadow(0 8px 22px #ff9b26bb) brightness(1.2);transform:scale(1.012)}55%{filter:drop-shadow(0 0 15px #e3291baa) brightness(1.05)}}
@keyframes ocean-current{0%,100%{transform:translateX(-1px);filter:drop-shadow(-5px 8px 12px #2addff77) hue-rotate(-5deg)}50%{transform:translateX(1px) translateY(-3px);filter:drop-shadow(6px 11px 20px #68ffdbaa) hue-rotate(10deg)}}
@keyframes royal-float{0%,100%{transform:translateY(0);filter:drop-shadow(0 7px 10px #f1bd3977)}50%{transform:translateY(-4px);filter:drop-shadow(0 13px 20px #ffe280aa) brightness(1.16)}}
@keyframes void-rift{0%,100%{transform:scale(.995);filter:drop-shadow(-4px 0 11px #5e5cff88) brightness(.88)}50%{transform:scale(1.018);filter:drop-shadow(5px 0 25px #bd52ffbb) brightness(1.22) contrast(1.08)}}

.name-color-prismatic,.name-color-solar,.name-color-tidal,.name-color-ender,.name-color-aurora,.name-color-gold{background-size:240% 100%;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;animation:name-flow 3.2s linear infinite}
.name-color-prismatic{background-image:linear-gradient(90deg,#ff6b8d,#ffd35a,#55f3da,#6b8cff,#dc65ff,#ff6b8d)}
.name-color-solar{background-image:linear-gradient(90deg,#ff5b1f,#ffd02c,#fff0a0,#ff7a22,#ff5b1f)}
.name-color-tidal{background-image:linear-gradient(90deg,#0b82ff,#43f6ec,#bafff5,#29a7ff,#0b82ff)}
.name-color-ender{background-image:linear-gradient(90deg,#6010a8,#ce63ff,#5ff4ef,#8b39dc,#6010a8)}
.name-color-aurora{background-image:linear-gradient(90deg,#4ef29d,#75e8ff,#c48dff,#ff8dcc,#4ef29d)}
.name-color-gold{background-image:linear-gradient(90deg,#b17a00,#ffd324,#fff0a1,#d59a0a,#b17a00)}
@keyframes name-flow{to{background-position:-240% 0}}

/* Stable inventory layout; overrides the damaged legacy selector block in modern.css. */
.inventory-hero{align-items:start!important}
.inventory-content{min-width:0;overflow:hidden}
.inventory-tabs{display:flex!important;gap:8px;overflow-x:auto;padding:5px!important;background:#151512!important;border:1px solid var(--line)!important;border-radius:16px!important;scrollbar-width:thin}
.inventory-tabs button{flex:0 0 auto;min-height:42px;padding:0 16px;border:0;border-radius:11px;background:transparent;color:var(--muted);font:700 12px/1 var(--sans);cursor:pointer;white-space:nowrap}
.inventory-tabs button.active{background:var(--yellow);color:#0b0b09}
.inventory-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;padding-top:18px!important}
.reward-card{position:relative;display:flex!important;min-width:0;min-height:390px;flex-direction:column;padding:18px!important;overflow:hidden;background:linear-gradient(155deg,#1b1b18,#10100e)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:22px!important}
.reward-card.equipped{box-shadow:inset 0 0 0 2px var(--yellow),0 15px 38px rgba(0,0,0,.25)}
.reward-card.locked{opacity:1!important;filter:none!important}.reward-card.locked .reward-preview{filter:grayscale(.8);opacity:.42}
.reward-preview{display:grid!important;min-height:218px!important;place-items:center!important;margin-bottom:16px!important;border-radius:17px!important;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.08),transparent 68%)!important;overflow:visible!important}
.reward-card h3{margin:0 0 8px;font-size:20px}.reward-card p{margin:0 0 16px;color:var(--muted);line-height:1.55}.reward-card>.btn{width:100%;margin-top:auto}.reward-lock{position:absolute;right:16px;top:16px;z-index:10;width:18px;height:18px;stroke:currentColor;fill:none}
.name-preview{font-size:25px;text-align:center;overflow-wrap:anywhere}
.reward-card.achievement{min-height:260px}.achievement-progress{height:8px;margin:4px 0 12px;overflow:hidden;border-radius:20px;background:#2a2a24}.achievement-progress i{display:block;height:100%;border-radius:inherit;background:var(--yellow)}
@media(max-width:1120px){.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.inventory-grid{grid-template-columns:1fr!important}.place-card:has(>.place-frame-sprite)::after{inset:-6px;border-width:19px;border-image-width:21px;border-image-outset:3px}.inventory-frame{width:160px!important;height:160px!important}}
@media(prefers-reduced-motion:reduce){.frame-sprite,.place-card::after{animation:none!important}}
