
/* Galeria cosmética VoicerInn 2.3 — efeitos locais; sem dependências externas */
.vi23-overlay{position:fixed;inset:0;z-index:4500;background:rgba(1,4,13,.89);display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(16px);color:#eaf4ff;font-family:inherit}
.vi23-shell{width:min(1120px,100%);height:min(90vh,820px);background:radial-gradient(ellipse at 15% 0%,#19325b 0%,#091326 36%,#060e1f 90%);border:1px solid #344f82;border-radius:22px;display:flex;flex-direction:column;box-shadow:0 24px 100px #000c;overflow:hidden}
.vi23-modal-head{display:flex;justify-content:space-between;padding:24px 28px;border-bottom:1px solid #243757;align-items:center}.vi23-modal-head small{letter-spacing:3px;color:#79dfff;font-size:10px}.vi23-modal-head h2{font-size:24px;margin:6px 0 0}.vi23-close{background:#142641;border:1px solid #335579;color:#fff;padding:9px 13px;border-radius:12px;cursor:pointer}
.vi23-content{padding:18px 26px 28px;overflow-y:auto;flex:1;min-height:0}.vi23-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 18px}.vi23-tabs button,.vi23-content button:not(.vi23-tile){background:#152848;border:1px solid #315274;border-radius:10px;padding:10px 15px;color:#dceaff;cursor:pointer;font:inherit}.vi23-tabs button.active,.vi23-content button:hover{background:#254c83;border-color:#5da9df}
.vi23-content h3{font-size:17px;margin:20px 0 12px}.vi23-content input,.vi23-content select,.vi23-content textarea{background:#081629;border:1px solid #345077;border-radius:8px;padding:10px;color:#eff8ff;font:inherit}.vi23-content label{font-size:13px}.vi23-fields{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.vi23-fields label{display:flex;flex-direction:column;gap:6px}.vi23-fields textarea{min-width:360px;min-height:90px}.vi23-small,.vi23-listrow small{font-size:12px;color:#9fb7d8}.vi23-listrow small{display:block;margin-top:3px}.vi23-stack{display:grid;gap:8px}.vi23-listrow{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #234161;border-radius:12px;padding:12px 16px;background:#0d1c34}.vi23-listrow span{min-width:0}.vi23-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vi23-stats div{text-align:center;padding:24px;background:#152a47;border:1px solid #31547d;border-radius:14px}.vi23-stats b{font-size:30px;display:block;color:#5ed7ff}.vi23-stats span{display:block;color:#acbbd3}.vi23-perms{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px;margin:15px 0}.vi23-perms label{padding:10px;border:1px solid #244565;border-radius:10px}.vi23-perms input{margin-right:6px}.vi23-maintenance{display:flex;gap:12px}.vi23-maintenance .danger{color:#ff96a9!important;border-color:#8e3d5b!important}#vi23Status{padding:12px 0;min-height:25px}
.vi23-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;margin-bottom:18px}.vi23-tile{background:linear-gradient(155deg,#0b1c34,#10172d);border:1px solid #26415b;border-radius:16px;color:#e9f6ff;cursor:pointer;min-height:156px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.vi23-tile.chosen{border-color:#83e8ff;box-shadow:0 0 0 2px #3dcaff65}.vi23-tile strong{font-size:13px}.vi23-tile small{color:#a9bdd5}.vi23-preview{font-size:41px;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;color:var(--vi23-color);border:3px solid var(--vi23-color);background:radial-gradient(circle at 30% 30%,var(--vi23-accent),#040e22 78%);box-shadow:0 0 22px color-mix(in srgb,var(--vi23-color) 44%,transparent),inset 0 0 12px var(--vi23-accent)}
.vin23-frame{outline:2px solid var(--vi23-color,#28d9ff);outline-offset:1px;box-shadow:0 0 8px var(--vi23-color),0 0 18px var(--vi23-accent,#2855ff)}.vin23-avatar{filter:drop-shadow(0 0 5px var(--vi23-color))}.vin23-namefx{color:var(--vi23-color)!important;text-shadow:0 0 8px var(--vi23-accent),0 0 16px var(--vi23-color)}.vin23-local-badge{display:inline-flex;align-items:center;border:1px solid var(--vi23-color);color:var(--vi23-color);border-radius:20px;padding:2px 8px;font-size:10px;font-weight:900;box-shadow:0 0 8px var(--vi23-accent)}
.vin23-profile-aurora,.vin23-profile-cosmic,.vin23-profile-pulse,.vin23-profile-neon,.vin23-profile-hologram,.vin23-profile-orbit,.vin23-profile-rainbow,.vin23-profile-ember,.vin23-profile-frost,.vin23-profile-electric{box-shadow:inset 0 0 35px color-mix(in srgb,var(--vi23-color) 23%,transparent),0 0 18px color-mix(in srgb,var(--vi23-accent) 24%,transparent)!important}
@keyframes vi23-breathe{0%,100%{filter:drop-shadow(0 0 1px var(--vi23-color));transform:scale(1)}50%{filter:drop-shadow(0 0 13px var(--vi23-color));transform:scale(1.04)}}
@keyframes vi23-shift{0%{filter:hue-rotate(0deg)}100%{filter:hue-rotate(360deg)}}
@keyframes vi23-orbit{0%{box-shadow:0 -6px 12px var(--vi23-color),0 6px 12px var(--vi23-accent)}50%{box-shadow:8px 0 15px var(--vi23-color),-8px 0 13px var(--vi23-accent)}100%{box-shadow:0 -6px 12px var(--vi23-color),0 6px 12px var(--vi23-accent)}}
@keyframes vi23-glitch{0%,100%{opacity:1;transform:translateX(0)}49%{opacity:.87;transform:translateX(1px)}50%{opacity:1;transform:translateX(-1px)}}
.vin23-motion-aurora,.vin23-motion-pulse,.vin23-motion-neon,.vin23-motion-ember,.vin23-motion-frost,.vin23-motion-cosmic,.vin23-motion-hologram{animation:vi23-breathe 2.5s ease-in-out infinite}.vin23-motion-rainbow{animation:vi23-shift 5s linear infinite}.vin23-motion-electric{animation:vi23-glitch .45s steps(2) infinite}.vin23-motion-orbit{animation:vi23-orbit 3s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){[class*=vin23-motion-],[class*=vi23-motion-]{animation:none!important}}
@media(max-width:700px){.vi23-overlay{padding:4px}.vi23-content{padding:12px}.vi23-modal-head{padding:15px}.vi23-shell{height:98vh}.vi23-stats{grid-template-columns:1fr 1fr}.vi23-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.vi23-motion-aurora,.vi23-motion-pulse,.vi23-motion-neon,.vi23-motion-ember,.vi23-motion-frost,.vi23-motion-cosmic,.vi23-motion-hologram{animation:vi23-breathe 2.5s ease-in-out infinite}
.vi23-motion-rainbow{animation:vi23-shift 5s linear infinite}.vi23-motion-electric{animation:vi23-glitch .45s steps(2) infinite}.vi23-motion-orbit{animation:vi23-orbit 3s ease-in-out infinite}

.vi23-user-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vi23-user-tools select{max-width:210px}

/* ADMIN button: readable label and native hidden state must win over .icon-action display:grid */
#vi23AdminButton[hidden]{display:none!important}
#vi23AdminButton{width:auto;min-width:98px;max-width:125px;height:40px;padding:0 10px;white-space:nowrap;font-size:12px;font-weight:700;letter-spacing:.03em;flex-shrink:0}
@media(max-width:1000px){#vi23AdminButton{min-width:87px;height:36px;padding:0 7px;font-size:11px}}


/* V3.0.0 — catálogo visual no mesmo conceito de previews da loja StormMu.
   Cada categoria demonstra o efeito no avatar, nome, perfil, badge ou tema real. */
.vi23-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:14px}
.vi23-tile.vi233-product{position:relative;padding:12px 10px 15px;min-height:208px;justify-content:flex-start;gap:6px;overflow:hidden;text-align:center;background:linear-gradient(160deg,#10213b,#080f20);border:1px solid #29436b;isolation:isolate;transition:border-color .17s,transform .17s,box-shadow .17s}
.vi23-tile.vi233-product:hover{transform:translateY(-3px);border-color:#65bdff;box-shadow:0 10px 32px #050d28b8}
.vi23-tile.vi233-product.chosen{border-color:#75ecf4;box-shadow:inset 0 0 0 1px #52dcf6,0 0 18px #30cfff33}
.vi233-product .vi233-category{align-self:flex-start;font-weight:800;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#a2c7ee;background:#152d4a;border:1px solid #385278;border-radius:20px;padding:4px 8px}
.vi233-product strong{font-size:13px;line-height:1.25;color:#f1f8ff;max-width:100%;white-space:normal;overflow-wrap:anywhere;min-height:18px}
.vi233-product small{font-size:11px;color:#91a8c6}
.vi233-selected{position:absolute;top:9px;right:8px;color:#baffec;font-weight:800;font-size:10px;background:#12675b;border-radius:20px;padding:4px 7px}
.vi233-demo{position:relative;display:flex;width:100%;height:109px;justify-content:center;align-items:center;isolation:isolate;flex-shrink:0;overflow:hidden;border-radius:12px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--vi23-accent) 25%,#0a1527),#081124 76%)}
.vi233-avatar-core{display:grid;place-items:center;position:relative;z-index:2;width:65px;height:65px;border-radius:50%;background:linear-gradient(150deg,#172a53,#071323);border:2px solid #4bb8e5;overflow:hidden;box-shadow:inset 0 0 15px #1fd6ff35}
.vi233-avatar-pic{width:75%;height:75%;object-fit:contain;filter:drop-shadow(0 0 5px #18ddff66)}
.vi233-frame-ring{width:82px;height:82px;border:4px solid var(--vi23-color);position:absolute;border-radius:50%;z-index:3;box-shadow:0 0 8px var(--vi23-color),0 0 25px var(--vi23-accent),inset 0 0 10px var(--vi23-color);pointer-events:none}
.vi233-demo-frame .vi233-avatar-core{width:72px;height:72px}
.vi233-avatar-halo{position:absolute;width:90px;height:90px;border:3px dotted var(--vi23-color);border-radius:50%;box-shadow:0 0 20px var(--vi23-accent),inset 0 0 15px var(--vi23-color)}
.vi233-demo-avatar .vi233-avatar-core{box-shadow:0 0 21px var(--vi23-accent),inset 0 0 16px var(--vi23-color)}
.vi233-name-sample{font-size:25px;font-weight:950;letter-spacing:-.03em;color:var(--vi23-color);text-shadow:0 0 8px var(--vi23-accent),0 0 25px var(--vi23-color);white-space:nowrap}
.vi233-mini-profile{position:relative;overflow:hidden;width:142px;height:85px;text-align:left;background:linear-gradient(135deg,#1c365c,#08142b);border:1px solid var(--vi23-color);border-radius:10px;padding:9px;box-shadow:0 0 16px color-mix(in srgb,var(--vi23-color) 35%,transparent)}
.vi233-mini-head{display:flex;align-items:center;gap:8px;font-size:12px;color:#fff}.vi233-mini-head img{width:32px;height:32px;border:2px solid var(--vi23-color);border-radius:50%;padding:2px}
.vi233-mini-line{display:block;width:80%;height:5px;background:#9bccec60;border-radius:10px;margin-top:8px}.vi233-mini-line.short{width:58%;margin-top:5px}
.vi233-profile-sheen{position:absolute;inset:0;background:linear-gradient(110deg,transparent, color-mix(in srgb,var(--vi23-color) 24%,transparent),transparent);transform:translateX(-100%);pointer-events:none}
.vi233-badge-face{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--vi23-color);color:var(--vi23-color);border-radius:999px;background:linear-gradient(145deg,#21314b,#091421);font-size:19px;font-weight:950;letter-spacing:.1em;text-shadow:0 0 12px var(--vi23-color);box-shadow:0 0 18px color-mix(in srgb,var(--vi23-accent) 48%,transparent)}
.vi233-badge-gem{font-size:16px}
.vi233-window{display:block;width:150px;height:85px;border:2px solid var(--vi23-color);border-radius:8px;overflow:hidden;background:#071322;box-shadow:0 0 17px var(--vi23-accent)}
.vi233-window-top{height:19px;display:flex;align-items:center;gap:3px;background:linear-gradient(90deg,var(--vi23-accent),#141e40);padding:0 6px}.vi233-window-top i{width:5px;height:5px;border-radius:50%;background:#e1f5ff}.vi233-window-top b{font-size:7px;color:#fff;margin-left:10px;letter-spacing:.12em}
.vi233-window-main{display:flex;gap:5px;padding:7px}.vi233-window-main>i{width:32px;height:49px;border-radius:5px;background:linear-gradient(170deg,#192d56,#102036)}.vi233-window-main>span{flex:1;display:flex;flex-direction:column;gap:8px;padding-top:7px}.vi233-window-main b{display:block;height:12px;border-radius:5px;background:linear-gradient(100deg,var(--vi23-color),var(--vi23-accent));opacity:.65}
@keyframes vi233-breathe{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.085);opacity:1}}
@keyframes vi233-rotate{to{transform:rotate(360deg)}}
@keyframes vi233-hue{to{filter:hue-rotate(360deg)}}
@keyframes vi233-shift{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@keyframes vi233-shine{to{transform:translateX(120%)}}
@keyframes vi233-rainbow{to{background-position:220% 0}}
.vi233-fx-pulse .vi233-avatar-halo,.vi233-fx-pulse .vi233-frame-ring,.vi233-fx-pulse .vi233-badge-face{animation:vi233-breathe 1.3s ease-in-out infinite}
.vi233-fx-neon .vi233-frame-ring,.vi233-fx-neon .vi233-badge-face{box-shadow:0 0 8px var(--vi23-color),0 0 24px var(--vi23-color),0 0 42px var(--vi23-accent)}
.vi233-fx-aurora .vi233-name-sample,.vi233-fx-rainbow .vi233-name-sample,.vi233-fx-cosmic .vi233-name-sample{color:transparent;background:linear-gradient(90deg,var(--vi23-color),var(--vi23-accent),#ff54d6,var(--vi23-color));background-size:220% 100%;background-clip:text;-webkit-background-clip:text;animation:vi233-rainbow 3s linear infinite}
.vi233-fx-rainbow .vi233-frame-ring,.vi233-fx-rainbow .vi233-avatar-halo{border-color:transparent;background:linear-gradient(#071323,#071323) padding-box,conic-gradient(#fd5892,#ffe25b,#3bffc4,#26baff,#a267ff,#fd5892) border-box;animation:vi233-rotate 3s linear infinite}
.vi233-fx-electric .vi233-name-sample,.vi233-fx-electric .vi233-badge-face,.vi233-fx-electric .vi233-avatar-halo{animation:vi233-shift .19s steps(2) infinite;text-shadow:-2px 0 #00e7ff,2px 0 #ff5fa2}
.vi233-fx-orbit .vi233-avatar-halo,.vi233-fx-orbit .vi233-frame-ring{border-left-color:transparent;border-right-color:var(--vi23-accent);animation:vi233-rotate 2.2s linear infinite}
.vi233-fx-ember .vi233-avatar-halo,.vi233-fx-ember .vi233-frame-ring,.vi233-fx-ember .vi233-badge-face{box-shadow:0 -9px 23px #ff632977,0 8px 25px #ffcd5766;animation:vi233-breathe .75s ease-in-out infinite}
.vi233-fx-frost .vi233-avatar-halo,.vi233-fx-frost .vi233-frame-ring,.vi233-fx-frost .vi233-badge-face{box-shadow:0 0 23px #9deaff,0 0 40px #3a78ff55}
.vi233-fx-hologram .vi233-name-sample,.vi233-fx-hologram .vi233-badge-face,.vi233-fx-hologram .vi233-avatar-core{animation:vi233-hue 3s linear infinite}
.vi233-fx-cosmic .vi233-mini-profile,.vi233-fx-cosmic .vi233-window,.vi233-fx-aurora .vi233-mini-profile,.vi233-fx-aurora .vi233-window{background:linear-gradient(135deg,#091a33,var(--vi23-accent),#0d1934);background-size:220% 220%;animation:vi233-rainbow 5s linear infinite}
.vi233-fx-pulse .vi233-mini-profile,.vi233-fx-pulse .vi233-window,.vi233-fx-pulse .vi233-name-sample{animation:vi233-breathe 2.2s ease-in-out infinite}
.vi233-fx-hologram .vi233-mini-profile,.vi233-fx-hologram .vi233-window{backdrop-filter:blur(3px);border-style:dashed}
.vi233-fx-electric .vi233-mini-profile,.vi233-fx-electric .vi233-window{animation:vi233-shift .35s steps(2) infinite}
.vi233-fx-orbit .vi233-mini-profile,.vi233-fx-orbit .vi233-window{box-shadow:0 0 6px var(--vi23-color),0 0 27px var(--vi23-accent)}
.vi233-fx-neon .vi233-mini-profile,.vi233-fx-neon .vi233-window{box-shadow:0 0 9px var(--vi23-color),0 0 22px var(--vi23-accent)}
.vi233-fx-ember .vi233-mini-profile,.vi233-fx-ember .vi233-window{background:linear-gradient(135deg,#352116,#0b1628)}
.vi233-fx-frost .vi233-mini-profile,.vi233-fx-frost .vi233-window{background:linear-gradient(135deg,#193250,#09162f)}
.vi233-fx-rainbow .vi233-badge-face{border-color:transparent;background:linear-gradient(#101c36,#101c36) padding-box,conic-gradient(#ff5996,#ffe468,#59efc9,#4297ff,#a579ff,#ff5996) border-box;animation:vi233-hue 3s linear infinite}
.vi233-fx-aurora .vi233-profile-sheen,.vi233-fx-hologram .vi233-profile-sheen{animation:vi233-shine 2.6s ease-in-out infinite}
@media(max-width:700px){.vi23-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vi23-tile.vi233-product{min-height:196px}.vi233-demo{height:98px}}
@media(prefers-reduced-motion:reduce){[class*="vi233-fx-"] *,[class*="vi233-fx-"]{animation:none!important}}

/* 3.0.62: hidden ADMIN control must never be forced visible by CSS */
#vi23AdminButton[hidden]{display:none!important}
