@import url('/themes/default/assets/css/profile.css');

/* ==========================================================
   CHATITALY NEON v2.3 — Public profile polish
   ========================================================== */

.ct-neon-theme .mv-public-profile {
    width: min(1240px, 100%);
    padding-bottom: 84px;
}

.ct-neon-theme .mv-public-profile-layout {
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 22px;
}

.ct-neon-theme .mv-public-profile-card,
.ct-neon-theme .mv-public-profile-alert,
.ct-neon-theme .mv-public-profile-pings-empty {
    color: #f7f4ff;
    background:
        linear-gradient(145deg, rgba(20,11,31,.94), rgba(8,5,14,.96));
    border-color: rgba(255,255,255,.10);
    box-shadow:
        0 16px 42px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.035);
}

.ct-neon-theme .mv-public-profile-card {
    border-radius: 18px;
}

.ct-neon-theme .mv-public-profile-card-header {
    border-bottom-color: rgba(255,255,255,.085);
}

.ct-neon-theme .mv-public-profile-card-header h2,
.ct-neon-theme .mv-public-profile-timeline-header h1,
.ct-neon-theme .mv-public-profile-pings-empty strong {
    color: #fff;
}

.ct-neon-theme .mv-public-profile-timeline-header {
    border-bottom-color: rgba(255,255,255,.10);
}

.ct-neon-theme .mv-public-profile-timeline-header p,
.ct-neon-theme .mv-public-profile-pings-empty p,
.ct-neon-theme .mv-public-profile-alert,
.ct-neon-theme .mv-public-profile-alert span {
    color: #b9afc9;
}

.ct-neon-theme .mv-public-profile-timeline-count {
    color: #fff;
    background: linear-gradient(120deg, rgba(168,85,247,.22), rgba(255,46,85,.16));
    border: 1px solid rgba(203,143,255,.18);
    box-shadow: 0 0 20px rgba(168,85,247,.08);
}

/* Identity card */
.ct-neon-theme .mv-public-profile-identity-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border: 1px solid rgba(190,102,255,.27);
    border-radius: 22px;
    background:
        radial-gradient(circle at 12% 0%, rgba(168,85,247,.20), transparent 34%),
        radial-gradient(circle at 100% 100%, rgba(255,46,85,.12), transparent 32%),
        linear-gradient(145deg, rgba(18,10,29,.98), rgba(8,5,14,.98));
    box-shadow:
        0 22px 58px rgba(0,0,0,.34),
        0 0 34px rgba(168,85,247,.08),
        inset 0 1px 0 rgba(255,255,255,.04);
}

.ct-neon-theme .mv-public-profile-identity-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 18px;
    right: 18px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #a855f7 34%, #ff2e55 68%, transparent);
    box-shadow: 0 0 14px rgba(168,85,247,.30);
}

.ct-neon-theme .mv-public-profile-identity-top {
    gap: 17px;
}

.ct-neon-theme .mv-public-profile-avatar {
    width: 82px;
    height: 82px;
    border: 3px solid rgba(255,255,255,.94);
    background: #10091a;
    box-shadow:
        0 13px 32px rgba(0,0,0,.34),
        0 0 0 1px rgba(190,102,255,.42),
        0 0 26px rgba(168,85,247,.20),
        0 0 40px rgba(255,46,85,.07);
}

.ct-neon-theme .mv-public-profile-avatar span {
    font-size: 32px;
}

.ct-neon-theme .mv-public-profile-identity-name h2 {
    margin-bottom: 9px;
    color: #fff;
    font-size: 29px;
    font-weight: 900;
    letter-spacing: -.04em;
    text-shadow: 0 0 20px rgba(168,85,247,.10);
}

.ct-neon-theme .mv-public-profile-role {
    color: #c7bad7;
    font-size: 12px;
    font-weight: 750;
}

.ct-neon-theme .mv-public-profile-role i {
    color: #ad58ff;
    filter: drop-shadow(0 0 6px rgba(168,85,247,.45));
}

.ct-neon-theme .mv-public-profile-motto {
    color: #fff;
}

.ct-neon-theme .mv-public-profile-bio {
    color: #b7aec4;
}

/* Profile meta */
.ct-neon-theme .mv-public-profile-meta {
    border-top-color: rgba(255,255,255,.08);
}

.ct-neon-theme .mv-public-profile-meta span,
.ct-neon-theme .mv-public-profile-side-stats > div,
.ct-neon-theme .mv-public-profile-shortcuts-nav a,
.ct-neon-theme .mv-public-profile-side-links a {
    color: #c8bed5;
    background: rgba(255,255,255,.035);
    border-color: rgba(255,255,255,.085);
}

.ct-neon-theme .mv-public-profile-meta i,
.ct-neon-theme .mv-public-profile-side-links i,
.ct-neon-theme .mv-public-profile-shortcuts-nav a > i:first-child {
    color: #bd77ff;
}

.ct-neon-theme .mv-public-profile-shortcuts-nav a > i:first-child {
    background: rgba(168,85,247,.10);
}

.ct-neon-theme .mv-public-profile-shortcuts-nav a:hover,
.ct-neon-theme .mv-public-profile-side-links a:hover {
    color: #fff;
    background: rgba(168,85,247,.10);
    border-color: rgba(194,105,255,.30);
    box-shadow: 0 0 22px rgba(168,85,247,.07);
}

/* Follower / following / Ping */
.ct-neon-theme .mv-public-profile-follow-stats {
    gap: 10px;
    margin-top: 18px;
}

.ct-neon-theme .mv-public-profile-follow-stats > div {
    position: relative;
    overflow: hidden;
    min-height: 80px;
    padding: 15px 9px 13px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 15px;
    color: #fff;
    background:
        linear-gradient(160deg, rgba(168,85,247,.12), rgba(255,255,255,.025) 48%, rgba(255,46,85,.06));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.03),
        0 10px 24px rgba(0,0,0,.16);
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.ct-neon-theme .mv-public-profile-follow-stats > div::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16%;
    right: 16%;
    height: 1px;
    opacity: .75;
    background: linear-gradient(90deg, transparent, #a855f7, transparent);
}

.ct-neon-theme .mv-public-profile-follow-stats > div:nth-child(2)::before {
    background: linear-gradient(90deg, transparent, #ff2e55, transparent);
}

.ct-neon-theme .mv-public-profile-follow-stats > div:nth-child(3)::before {
    background: linear-gradient(90deg, transparent, #ffffff, transparent);
    opacity: .35;
}

.ct-neon-theme .mv-public-profile-follow-stats > div:hover {
    transform: translateY(-2px);
    border-color: rgba(190,102,255,.28);
    box-shadow:
        0 14px 30px rgba(0,0,0,.22),
        0 0 24px rgba(168,85,247,.08);
}

.ct-neon-theme .mv-public-profile-follow-stats strong {
    position: relative;
    z-index: 1;
    color: #fff !important;
    font-size: 20px;
    font-weight: 900;
}

.ct-neon-theme .mv-public-profile-follow-stats span {
    position: relative;
    z-index: 1;
    color: #c9bdd8 !important;
    font-size: 11px;
    font-weight: 750;
}

/* Profile actions */
.ct-neon-theme .mv-public-profile-actions {
    gap: 10px;
    margin-top: 16px;
}

.ct-neon-theme .mv-public-profile-actions .mv-button {
    min-height: 42px;
    border-radius: 11px;
    font-size: 12px;
    box-shadow: 0 10px 24px rgba(124,58,237,.16);
}

/* Side stats */
.ct-neon-theme .mv-public-profile-side-stats dt {
    color: #aa9db8;
}

.ct-neon-theme .mv-public-profile-side-stats dd {
    color: #fff;
}

/* Tags */
.ct-neon-theme .mv-public-profile-side-tags span {
    color: #e4c8ff;
    background: rgba(168,85,247,.09);
    border-color: rgba(189,119,255,.24);
}

/* Presence */
.ct-neon-theme .mv-user-presence.is-online,
.ct-neon-theme .mv-public-profile-irc-state.is-online {
    color: #50f1ad;
}

.ct-neon-theme .mv-user-presence.is-away {
    color: #ffbf4a;
}

.ct-neon-theme .mv-user-presence.is-offline,
.ct-neon-theme .mv-public-profile-irc-state.is-offline {
    color: #9490a4;
}

/* Moderation and modals: keep readable in the dark theme */
.ct-neon-theme .mv-profile-moderation-status,
.ct-neon-theme .mv-modal-dialog {
    color: #f7f4ff;
    background: #0e0917;
    border-color: rgba(255,255,255,.10);
}

.ct-neon-theme .mv-modal-header,
.ct-neon-theme .mv-modal-footer {
    border-color: rgba(255,255,255,.09);
}

.ct-neon-theme .mv-modal-close {
    color: #b9afc9;
    background: transparent;
    box-shadow: none;
}

.ct-neon-theme .mv-modal-close:hover {
    color: #fff;
    background: rgba(255,255,255,.05);
    transform: none;
}

.ct-neon-theme .mv-form-group textarea,
.ct-neon-theme .mv-form-group select {
    color: #fff;
    background: #08050e;
    border-color: rgba(255,255,255,.12);
}

@media (max-width: 980px) {
    .ct-neon-theme .mv-public-profile-layout {
        grid-template-columns: 1fr;
    }

    .ct-neon-theme .mv-public-profile-sidebar {
        max-height: none;
    }
}

@media (max-width: 560px) {
    .ct-neon-theme .mv-public-profile-identity-card {
        padding: 18px;
        border-radius: 18px;
    }

    .ct-neon-theme .mv-public-profile-avatar {
        width: 72px;
        height: 72px;
    }

    .ct-neon-theme .mv-public-profile-identity-name h2 {
        font-size: 24px;
    }

    .ct-neon-theme .mv-public-profile-follow-stats {
        gap: 7px;
    }

    .ct-neon-theme .mv-public-profile-follow-stats > div {
        min-height: 72px;
        padding: 12px 6px;
    }
}

/* ==========================================================
   CHATITALY NEON v2.4 — HOLOGRAPHIC PROFILE / STUNNING FX
   ========================================================== */

.ct-neon-theme .mv-public-profile-identity-card {
    isolation: isolate;
    border-color: transparent;
    background:
        radial-gradient(circle at 18% 0%, rgba(168,85,247,.23), transparent 34%),
        radial-gradient(circle at 88% 100%, rgba(255,46,85,.16), transparent 36%),
        radial-gradient(circle at 52% 44%, rgba(255,255,255,.025), transparent 46%),
        linear-gradient(145deg, rgba(18,10,29,.985), rgba(7,4,13,.99));
    box-shadow:
        0 26px 70px rgba(0,0,0,.44),
        0 0 44px rgba(168,85,247,.12),
        0 0 72px rgba(255,46,85,.055),
        inset 0 1px 0 rgba(255,255,255,.055);
}

/* bordo olografico animato */
.ct-neon-theme .mv-public-profile-identity-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    padding: 1.5px;
    border-radius: inherit;
    background:
        linear-gradient(
            115deg,
            rgba(168,85,247,.18) 0%,
            #a855f7 18%,
            rgba(255,255,255,.96) 31%,
            #ff2e55 46%,
            rgba(168,85,247,.78) 63%,
            rgba(255,255,255,.32) 78%,
            #ff2e55 92%,
            rgba(168,85,247,.18) 100%
        );
    background-size: 260% 260%;
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    opacity: .82;
    animation: ctProfileBorderFlow 7s linear infinite;
}

/* lama di luce molto sottile che attraversa la card */
.ct-neon-theme .mv-public-profile-identity-card::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: -45%;
    left: -55%;
    width: 44%;
    height: 190%;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            100deg,
            transparent 0%,
            rgba(255,255,255,.015) 34%,
            rgba(255,255,255,.14) 50%,
            rgba(168,85,247,.08) 57%,
            transparent 72%
        );
    filter: blur(2px);
    transform: rotate(12deg);
    animation: ctProfileShine 8.5s ease-in-out infinite;
}

.ct-neon-theme .mv-public-profile-identity-card > * {
    position: relative;
    z-index: 1;
}

/* alone dinamico intorno all'avatar */
.ct-neon-theme .mv-public-profile-avatar {
    box-shadow:
        0 14px 34px rgba(0,0,0,.40),
        0 0 0 1px rgba(255,255,255,.50),
        0 0 0 5px rgba(168,85,247,.07),
        0 0 25px rgba(168,85,247,.33),
        0 0 52px rgba(255,46,85,.10);
    animation: ctAvatarEnergy 4.6s ease-in-out infinite;
}

.ct-neon-theme .mv-public-profile-avatar img {
    transition: transform .45s cubic-bezier(.2,.75,.2,1), filter .45s ease;
}

.ct-neon-theme .mv-public-profile-identity-card:hover .mv-public-profile-avatar img {
    transform: scale(1.045);
    filter: contrast(1.04) saturate(1.06);
}

/* nickname: lieve bagliore vivo */
.ct-neon-theme .mv-public-profile-identity-name h2 {
    text-shadow:
        0 0 18px rgba(168,85,247,.13),
        0 0 30px rgba(255,46,85,.035);
    transition: text-shadow .3s ease, letter-spacing .3s ease;
}

.ct-neon-theme .mv-public-profile-identity-card:hover .mv-public-profile-identity-name h2 {
    text-shadow:
        0 0 16px rgba(255,255,255,.13),
        0 0 28px rgba(168,85,247,.26),
        0 0 45px rgba(255,46,85,.08);
}

/* ruolo moderatore / badge */
.ct-neon-theme .mv-public-profile-role i {
    animation: ctRolePulse 2.7s ease-in-out infinite;
}

/* Follower / Seguiti / Ping: pannelli reattivi */
.ct-neon-theme .mv-public-profile-follow-stats > div {
    isolation: isolate;
    background:
        radial-gradient(circle at 50% -30%, rgba(255,255,255,.07), transparent 54%),
        linear-gradient(155deg, rgba(168,85,247,.115), rgba(255,255,255,.018) 52%, rgba(255,46,85,.07));
    transition:
        transform .28s cubic-bezier(.2,.75,.2,1),
        border-color .28s ease,
        box-shadow .28s ease,
        background .28s ease;
}

.ct-neon-theme .mv-public-profile-follow-stats > div::after {
    content: "";
    position: absolute;
    inset: auto 10% 0;
    height: 1px;
    border-radius: 999px;
    opacity: .28;
    background: linear-gradient(90deg, transparent, #a855f7, #fff, #ff2e55, transparent);
    box-shadow: 0 0 10px rgba(168,85,247,.18);
    transform: scaleX(.55);
    transition: transform .28s ease, opacity .28s ease;
}

.ct-neon-theme .mv-public-profile-follow-stats > div:hover {
    transform: translateY(-5px) scale(1.018);
    border-color: rgba(211,159,255,.42);
    background:
        radial-gradient(circle at 50% -30%, rgba(255,255,255,.105), transparent 54%),
        linear-gradient(155deg, rgba(168,85,247,.18), rgba(255,255,255,.025) 52%, rgba(255,46,85,.11));
    box-shadow:
        0 18px 38px rgba(0,0,0,.30),
        0 0 28px rgba(168,85,247,.14),
        0 0 38px rgba(255,46,85,.06),
        inset 0 1px 0 rgba(255,255,255,.055);
}

.ct-neon-theme .mv-public-profile-follow-stats > div:hover::after {
    opacity: .75;
    transform: scaleX(1);
}

.ct-neon-theme .mv-public-profile-follow-stats strong {
    text-shadow: 0 0 16px rgba(168,85,247,.10);
    transition: transform .28s ease, text-shadow .28s ease;
}

.ct-neon-theme .mv-public-profile-follow-stats > div:hover strong {
    transform: translateY(-1px) scale(1.08);
    text-shadow:
        0 0 12px rgba(255,255,255,.10),
        0 0 20px rgba(168,85,247,.24);
}

/* micro-aurora interna, molto discreta */
.ct-neon-theme .mv-public-profile-identity-top {
    position: relative;
}

.ct-neon-theme .mv-public-profile-identity-top::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -28px -18px -22px -24px;
    pointer-events: none;
    opacity: .22;
    background:
        radial-gradient(circle at 18% 46%, rgba(168,85,247,.35), transparent 25%),
        radial-gradient(circle at 66% 20%, rgba(255,46,85,.16), transparent 24%);
    filter: blur(24px);
    animation: ctProfileAurora 7s ease-in-out infinite alternate;
}

@keyframes ctProfileBorderFlow {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes ctProfileShine {
    0%, 66% {
        left: -55%;
        opacity: 0;
    }
    70% {
        opacity: .16;
    }
    81% {
        left: 122%;
        opacity: .06;
    }
    100% {
        left: 122%;
        opacity: 0;
    }
}

@keyframes ctAvatarEnergy {
    0%, 100% {
        box-shadow:
            0 14px 34px rgba(0,0,0,.40),
            0 0 0 1px rgba(255,255,255,.48),
            0 0 0 5px rgba(168,85,247,.055),
            0 0 22px rgba(168,85,247,.25),
            0 0 44px rgba(255,46,85,.08);
    }
    50% {
        box-shadow:
            0 14px 34px rgba(0,0,0,.40),
            0 0 0 1px rgba(255,255,255,.62),
            0 0 0 7px rgba(168,85,247,.075),
            0 0 32px rgba(168,85,247,.42),
            0 0 58px rgba(255,46,85,.14);
    }
}

@keyframes ctRolePulse {
    0%, 100% {
        filter: drop-shadow(0 0 5px rgba(168,85,247,.34));
        transform: scale(1);
    }
    50% {
        filter: drop-shadow(0 0 9px rgba(168,85,247,.72));
        transform: scale(1.08);
    }
}

@keyframes ctProfileAurora {
    0%   { transform: translate3d(-1%, -2%, 0) scale(.96); }
    100% { transform: translate3d(4%, 3%, 0) scale(1.05); }
}

/* accessibilità + performance: niente motion se l'utente lo preferisce */
@media (prefers-reduced-motion: reduce) {
    .ct-neon-theme .mv-public-profile-identity-card::before,
    .ct-neon-theme .mv-public-profile-identity-card::after,
    .ct-neon-theme .mv-public-profile-avatar,
    .ct-neon-theme .mv-public-profile-role i,
    .ct-neon-theme .mv-public-profile-identity-top::after {
        animation: none !important;
    }

    .ct-neon-theme .mv-public-profile-follow-stats > div,
    .ct-neon-theme .mv-public-profile-avatar img {
        transition: none !important;
    }
}
