:root {
    --radius-xl: 30px;
    --radius-lg: 24px;
    --radius-md: 18px;
    --radius-sm: 14px;
    --shadow-main: 0 24px 70px rgba(15, 23, 42, .18);
    --shadow-soft: 0 10px 30px rgba(15, 23, 42, .10);
    --shadow-card: 0 18px 40px rgba(15, 23, 42, .12);
    --transition: .28s cubic-bezier(.4, 0, .2, 1);
}

/* =========================================================
   MAIA 3 APP
========================================================= */
.maia3-app {
    --bg: #07101d;
    --bg2: #0b1628;
    --bg3: #0f1d34;
    --panel: rgba(255, 255, 255, .08);
    --panel-solid: rgba(15, 23, 42, .94);
    --panel-soft: rgba(17, 28, 49, .92);
    --text: #edf4ff;
    --muted: #9ca9bf;
    --line: rgba(148, 163, 184, .14);
    --line-strong: rgba(148, 163, 184, .22);
    --primary: #8b7cff;
    --primary-2: #20d3ff;
    --accent: #b49cff;
    --user: #7c6cff;
    --user2: #20d3ff;
    --bot: rgba(17, 28, 43, .92);
    --bot-border: rgba(148, 163, 184, .12);
    --glow: rgba(139, 124, 255, .28);
    --glow-2: rgba(32, 211, 255, .18);
    --success: #19c37d;
    --warning: #ffb84d;
    --topbar-bg: rgba(9, 16, 28, .76);
    --topbar-text: #edf4ff;
    --menu-bg: rgba(12, 19, 34, .96);
    --menu-text: #edf4ff;
    --menu-hover: rgba(255, 255, 255, .06);
    --icon-btn-bg: rgba(255,255,255,.07);
    --icon-btn-hover: rgba(255,255,255,.14);
    --progress-track: rgba(255,255,255,.06);

    direction: rtl;
    font-family: tahoma, sans-serif;
    color: var(--text);
    margin: 0 !important;
    max-width: 500px;
    min-height: 100vh;
    min-height: 100dvh;
    padding: 0 !important;
    width: 100%;
    isolation: isolate;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% -10%, rgba(32, 211, 255, .18), transparent 34%),
        radial-gradient(circle at 100% 10%, rgba(139, 124, 255, .22), transparent 32%),
        radial-gradient(circle at 0% 85%, rgba(32, 211, 255, .10), transparent 30%),
        linear-gradient(180deg, #030712 0%, #07101d 42%, #0a1427 100%);
}

.maia3-app::before,
.maia3-app::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.maia3-app::before {
    width: 320px;
    height: 320px;
    top: -140px;
    right: -120px;
    background: radial-gradient(circle, rgba(32, 211, 255, .26), transparent 62%);
    filter: blur(48px);
    opacity: .75;
    animation: maiaNeuralOrbOne 10s ease-in-out infinite;
}

.maia3-app::after {
    width: 340px;
    height: 340px;
    bottom: -150px;
    left: -130px;
    background: radial-gradient(circle, rgba(139, 124, 255, .25), transparent 60%);
    filter: blur(55px);
    opacity: .72;
    animation: maiaNeuralOrbTwo 13s ease-in-out infinite;
}

.maia3-app * {
    box-sizing: border-box;
}

.maia3-app button,
.maia3-app input,
.maia3-app textarea,
.maia3-app select {
    font-family: inherit;
}

.maia3-app button {
    -webkit-tap-highlight-color: transparent;
}

/* =========================================================
   THEMES
========================================================= */
.maia3-app[data-theme="light"] {
    --bg: #eef4fb;
    --bg2: #f8fbff;
    --bg3: #ffffff;
    --panel: rgba(255, 255, 255, .72);
    --panel-solid: rgba(255, 255, 255, .94);
    --panel-soft: rgba(247, 250, 255, .96);
    --text: #0f172a;
    --muted: #667085;
    --line: rgba(148, 163, 184, .20);
    --line-strong: rgba(148, 163, 184, .34);
    --primary: #6d5dfc;
    --primary-2: #25c8ff;
    --accent: #8f7bff;
    --user: #6d5dfc;
    --user2: #25c8ff;
    --bot: rgba(255, 255, 255, .84);
    --bot-border: rgba(215, 228, 244, .95);
    --glow: rgba(109, 93, 252, .18);
    --glow-2: rgba(37, 200, 255, .16);
    --success: #12b76a;
    --warning: #ffb020;
    --topbar-bg: rgba(255, 255, 255, .72);
    --topbar-text: #0f172a;
    --menu-bg: rgba(255, 255, 255, .98);
    --menu-text: #0f172a;
    --menu-hover: rgba(15, 23, 42, .05);
    --icon-btn-bg: rgba(15,23,42,.06);
    --icon-btn-hover: rgba(15,23,42,.12);
    --progress-track: rgba(15,23,42,.08);

    background:
        radial-gradient(circle at 50% -10%, rgba(37, 200, 255, .22), transparent 34%),
        radial-gradient(circle at 100% 10%, rgba(109, 93, 252, .18), transparent 32%),
        linear-gradient(180deg, #edf4ff 0%, #f8fbff 45%, #eef5ff 100%);
}

.maia3-app[data-theme="dark"] {
    --bg: #07101d;
    --bg2: #0b1628;
    --bg3: #0f1d34;
    --panel: rgba(255, 255, 255, .08);
    --panel-solid: rgba(15, 23, 42, .94);
    --panel-soft: rgba(17, 28, 49, .92);
    --text: #edf4ff;
    --muted: #9ca9bf;
    --line: rgba(148, 163, 184, .14);
    --line-strong: rgba(148, 163, 184, .22);
    --primary: #8b7cff;
    --primary-2: #20d3ff;
    --accent: #b49cff;
    --user: #7c6cff;
    --user2: #20d3ff;
    --bot: rgba(17, 28, 43, .92);
    --bot-border: rgba(148, 163, 184, .12);
    --glow: rgba(139, 124, 255, .28);
    --glow-2: rgba(32, 211, 255, .18);
    --success: #19c37d;
    --warning: #ffb84d;
    --topbar-bg: rgba(9, 16, 28, .76);
    --topbar-text: #edf4ff;
    --menu-bg: rgba(12, 19, 34, .96);
    --menu-text: #edf4ff;
    --menu-hover: rgba(255, 255, 255, .06);
    --icon-btn-bg: rgba(255,255,255,.07);
    --icon-btn-hover: rgba(255,255,255,.14);
    --progress-track: rgba(255,255,255,.06);
}


/* =========================================================
   SHELL
========================================================= */
.maia3-shell {
    position: relative;
    overflow: hidden;
    border-radius: 0 !important;
    border: none;
    box-shadow: none;
    background:
        linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)),
        radial-gradient(circle at 50% 0%, rgba(32, 211, 255, .11), transparent 38%),
        radial-gradient(circle at 88% 20%, rgba(139, 124, 255, .14), transparent 30%),
        linear-gradient(180deg, rgba(4, 10, 20, .96), rgba(7, 16, 29, .98));
    backdrop-filter: blur(26px) saturate(130%);
    -webkit-backdrop-filter: blur(26px) saturate(130%);
    height: 100vh;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    z-index: 1;
}

.maia3-app[data-theme="light"] .maia3-shell {
    background:
        linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.52)),
        radial-gradient(circle at 50% 0%, rgba(37,200,255,.12), transparent 38%),
        linear-gradient(180deg, #f8fbff, #edf4ff);
}

.maia3-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        radial-gradient(circle at center, rgba(32,211,255,.10), transparent 34%);
    background-size: 32px 32px, 32px 32px, 100% 100%;
    mask-image: linear-gradient(180deg, transparent 0%, #000 16%, #000 78%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 16%, #000 78%, transparent 100%);
    opacity: .26;
    pointer-events: none;
    z-index: 0;
}

.maia3-shell::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    left: -70px;
    bottom: -70px;
    background: rgba(109, 93, 252, .10);
    border-radius: 50%;
    filter: blur(40px);
    z-index: 0;
    pointer-events: none;
}

/* =========================================================
   TOPBAR
========================================================= */
.maia3-topbar {
    position: sticky;
    top: 0;
    z-index: 100;
    height: 72px;
    width: 100%;
    padding: 0 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-shrink: 0;
    color: var(--topbar-text);
    background: var(--topbar-bg);
    backdrop-filter: blur(24px) saturate(140%);
    -webkit-backdrop-filter: blur(24px) saturate(140%);
    border-bottom: 1px solid var(--line);
}

.maia3-topbar::before {
    content: "";
    position: absolute;
    inset-inline: 18px;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(32,211,255,.65), rgba(139,124,255,.75), transparent);
    opacity: .75;
    animation: maiaLinePulse 3.8s ease-in-out infinite;
}

.maia3-topbar::after {
    content: "";
    position: absolute;
    inset-inline: 18px;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
    opacity: .5;
}

.maia3-user {
    display: flex;
    align-items: center;
    gap: 19px;
    min-width: 0;
}

.maia3-avatar {
    width: 40px;
    height: 40px;
    border-radius:33%;
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: 0 4px 18px var(--glow-2);
}

.maia3-online-dot {
    position: absolute;
    bottom: 2px;
    left: 2px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #31d158;
    border: 2px solid var(--panel-solid);
}

.maia3-user-text {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.maia3-user-text h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    white-space: nowrap;
    color: var(--topbar-text);
}

.maia3-user-text span {
    font-size: 12px;
    color: var(--muted);
    margin-top: 2px;
    white-space: nowrap;
    margin-top: 8px !important;
}

.maia3-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.maia3-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    min-width: 0;
}

.maia3-brand::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #20d3ff;
    box-shadow:
        0 0 0 6px rgba(32,211,255,.08),
        0 0 24px rgba(32,211,255,.85);
    animation: maiaLiveDot 1.8s ease-in-out infinite;
    flex: 0 0 auto;
}

.maia3-brand-text h2 {
    margin: 0 0 4px;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 950;
    letter-spacing: -.4px;
    background: linear-gradient(90deg, #ffffff, #dce8ff 45%, #72e8ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.maia3-app[data-theme="light"] .maia3-brand-text h2 {
    background: linear-gradient(90deg, #0f172a, #35415a 48%, #168db6);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.maia3-brand-text p {
    margin: 0;
    color: rgba(220, 232, 255, .58);
    font-size: 10.5px;
    line-height: 1.9;
}

.maia3-app[data-theme="light"] .maia3-brand-text p {
    color: var(--muted);
}

.maia3-brand-text p::before {
    content: "● ";
    color: #19c37d;
    text-shadow: 0 0 12px rgba(25,195,125,.8);
}

/* =========================================================
   BUTTONS
========================================================= */
.maia3-theme-btn,
.maia3-ghost-btn,
.maia3-icon-btn {
    height: 46px;
    min-width: 46px;
    padding: 0 14px;
    border-radius: 16px;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035));
    color: var(--text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 12px 28px rgba(0,0,0,.14);
    transition: var(--transition);
    font-weight: 700;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.maia3-icon-btn {
    width: 40px;
    height: 40px;
    min-width: 40px;
    padding: 0;
    border-radius: 50%;
    background: var(--icon-btn-bg);
    font-size: 18px;
}

.maia3-theme-btn::before,
.maia3-ghost-btn::before,
.maia3-primary-btn::before,
.maia3-option::before,
.maia3-soft-btn::before,
.maia3-back-btn::before,
.maia3-icon-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.18) 50%, transparent 80%);
    transform: translateX(-140%);
    transition: transform .7s ease;
    pointer-events: none;
}

.maia3-theme-btn:hover::before,
.maia3-ghost-btn:hover::before,
.maia3-primary-btn:hover::before,
.maia3-option:hover::before,
.maia3-soft-btn:hover::before,
.maia3-back-btn:hover::before,
.maia3-icon-btn:hover::before {
    transform: translateX(140%);
}

.maia3-theme-btn:hover,
.maia3-ghost-btn:hover,
.maia3-icon-btn:hover {
    transform: translateY(-2px) scale(1.02);
    border-color: rgba(32,211,255,.36);
    box-shadow:
        0 0 0 4px rgba(32,211,255,.055),
        0 18px 38px rgba(0,0,0,.18);
}

.maia3-icon-btn:hover {
    background: var(--icon-btn-hover);
    transform: scale(1.05);
}

.maia3-theme-btn:active,
.maia3-ghost-btn:active,
.maia3-primary-btn:active,
.maia3-back-btn:active,
.maia3-option:active,
.maia3-soft-btn:active,
.maia3-icon-btn:active {
    transform: scale(.98);
}

.maia3-back-btn {
    margin-left: 4px;
    border: 1px solid var(--line);
    background: var(--panel);
    color: var(--text);
    border-radius: 14px;
    padding: 10px 14px;
    cursor: pointer;
    font-weight: 800;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.maia3-back-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, .08);
}

.maia3-primary-btn {
    width: 100%;
    border: none;
    cursor: pointer;
    border-radius: 20px;
    padding: 16px 18px;
    color: #fff;
    font-weight: 900;
    font-size: 15px;
    letter-spacing: .1px;
    background:
        radial-gradient(circle at 20% 0%, rgba(255,255,255,.32), transparent 20%),
        linear-gradient(135deg, #745fff, #20d3ff);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.11),
        0 18px 42px rgba(32,211,255,.16),
        0 22px 42px rgba(109,93,252,.22),
        inset 0 1px 0 rgba(255,255,255,.22);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.maia3-primary-btn:hover {
    transform: translateY(-2px);
    box-shadow:
        0 0 0 4px rgba(32,211,255,.08),
        0 24px 54px rgba(32,211,255,.18),
        0 26px 52px rgba(109,93,252,.28);
}

.maia3-primary-btn[disabled],
.maia3-option[disabled],
.maia3-back-btn[disabled] {
    opacity: .65;
    cursor: not-allowed;
    pointer-events: none;
}

.maia3-inline-btn {
    margin-top: 12px;
}

/* =========================================================
   MENU / DROPDOWN
========================================================= */
.maia3-menu {
    position: relative;
}

.maia3-dropdown,
#maia3-dropdown {
    position: absolute;
    top: 52px;
    left: 0;
    right: auto;
    min-width: 180px;
    background: var(--menu-bg);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(0,0,0,.25);
    border: 1px solid var(--line);
    display: none;
    flex-direction: column;
    z-index: 1000;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

#maia3-dropdown.active,
.maia3-dropdown.active {
    display: flex;
}

.maia3-drop-item {
    width: 100%;
    padding: 13px 16px;
    border: none;
    background: none;
    color: var(--menu-text);
    text-align: right;
    cursor: pointer;
    display: block;
    text-decoration: none;
    font-size: 14px;
    transition: .2s;
}

.maia3-drop-item:hover {
    background: var(--menu-hover);
}

/* =========================================================
   PROGRESS
========================================================= */
.maia3-progress-wrap {
    height: 3px;
    background: var(--progress-track);
}

.maia3-progress-bar {
    width: 35%;
    height: 100%;
    background: linear-gradient(90deg, var(--primary-2), var(--primary));
    border-radius: 999px;
}

/* =========================================================
   CHAT
========================================================= */
.maia3-chat {
    position: relative;
    z-index: 2;
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
    padding: 22px 18px 12px;
    scroll-behavior: smooth;
    background:
        radial-gradient(circle at 50% 20%, rgba(32,211,255,.035), transparent 36%),
        radial-gradient(circle at 88% 72%, rgba(139,124,255,.035), transparent 32%);
}

.maia3-chat::-webkit-scrollbar {
    width: 8px;
}

.maia3-chat::-webkit-scrollbar-thumb {
    background: rgba(120, 130, 150, .25);
    border-radius: 999px;
}

.maia3-msg {
    display: flex;
    gap: 12px;
    margin-bottom: 18px;
    align-items: flex-end;
    animation: maiaMsgIn .38s cubic-bezier(.2, .8, .2, 1);
}

.maia3-msg.bot {
    justify-content: flex-start;
    position: relative;
}

.maia3-msg.bot::before {
    content: "";
    position: absolute;
    right: 20px;
    top: 44px;
    bottom: -12px;
    width: 1px;
    background: linear-gradient(180deg, rgba(32,211,255,.22), transparent);
    opacity: .45;
}

.maia3-msg.user {
    justify-content: flex-end;
}

.maia3-msg-avatar {
    width: 40px;
    flex: 0 0 40px;
}

.mini-bot {
    width: 40px;
    height: 40px;
    border-radius: 16px;
    position: relative;
    background:
        radial-gradient(circle at 32% 24%, rgba(255,255,255,.55), transparent 17%),
        radial-gradient(circle at 72% 78%, rgba(32,211,255,.50), transparent 22%),
        linear-gradient(135deg, #8b7cff 0%, #20d3ff 100%);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.13),
        0 0 0 7px rgba(32,211,255,.055),
        0 0 28px rgba(32,211,255,.28),
        0 16px 32px rgba(0,0,0,.28);
    animation:
        maiaMiniFloat 3.2s ease-in-out infinite,
        maiaBotAura 2.8s ease-in-out infinite;
    overflow: hidden;
}

.mini-bot::before,
.mini-bot::after {
    content: "";
    position: absolute;
    top: 12px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 6px rgba(255,255,255,.5);
    animation: maiaBlink 4.5s infinite;
}

.mini-bot::before {
    right: 9px;
}

.mini-bot::after {
    left: 9px;
}

.mini-bot i {
    position: absolute;
    bottom: 9px;
    left: 50%;
    transform: translateX(-50%);
    width: 14px;
    height: 6px;
    border-bottom: 2px solid rgba(255,255,255,.95);
    border-radius: 0 0 10px 10px;
}

.maia3-bubble {
    max-width: 84%;
    padding: 15px 17px;
    border-radius: 24px;
    line-height: 2.05;
    font-size: 13.5px;
    letter-spacing: -.05px;
    word-break: break-word;
    overflow-wrap: anywhere;
    position: relative;
    transition: var(--transition);
    backdrop-filter: blur(22px) saturate(130%);
    -webkit-backdrop-filter: blur(22px) saturate(130%);
}

.maia3-msg.bot .maia3-bubble {
    background:
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)),
        rgba(10, 20, 36, .76);
    border: 1px solid rgba(148,163,184,.15);
    color: var(--text);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 16px 38px rgba(0,0,0,.18);
    border-bottom-right-radius: 8px;
}

.maia3-app[data-theme="light"] .maia3-msg.bot .maia3-bubble {
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.90));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 16px 36px rgba(15,23,42,.08);
}

.maia3-msg.bot .maia3-bubble::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(32,211,255,.28), transparent 34%, rgba(139,124,255,.22));
    -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: .58;
}

.maia3-msg.user .maia3-bubble {
    background:
        radial-gradient(circle at 20% 10%, rgba(255,255,255,.28), transparent 18%),
        linear-gradient(135deg, #745fff 0%, #20d3ff 100%);
    color: #fff;
    box-shadow:
        0 16px 42px rgba(32,211,255,.16),
        0 18px 38px rgba(109,93,252,.22);
    border-bottom-left-radius: 8px;
}

.maia3-msg.bot .maia3-bubble:hover,
.maia3-msg.user .maia3-bubble:hover {
    transform: translateY(-1px);
}

.maia3-msg-meta {
    margin-top: 8px;
    color: rgba(226, 235, 255, .52);
    font-size: 10px;
}

.maia3-app[data-theme="light"] .maia3-msg-meta {
    color: rgba(15, 23, 42, .50);
}

/* =========================================================
   TYPING
========================================================= */
.maia3-typing-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.maia3-typing-text {
    font-size: 12px;
    color: rgba(226,235,255,.62);
}

.maia3-app[data-theme="light"] .maia3-typing-text {
    color: #667085;
}

.maia3-typing-text::after {
    content: "در حال تحلیل";
}

.maia3-typing {
    display: flex;
    gap: 6px;
    align-items: center;
    min-width: 42px;
}

.maia3-typing span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #20d3ff;
    animation: maiaTypingDots 1.2s infinite ease-in-out;
    box-shadow:
        0 0 12px rgba(32,211,255,.8),
        0 0 24px rgba(139,124,255,.3);
}

.maia3-typing span:nth-child(2) {
    animation-delay: .18s;
}

.maia3-typing span:nth-child(3) {
    animation-delay: .36s;
}

/* =========================================================
   INPUT ZONE
========================================================= */
.maia3-input-zone {
    position: relative;
    z-index: 3;
    border-top: 1px solid rgba(148,163,184,.12);
    padding: 15px 18px 18px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025)),
        rgba(5, 12, 24, .68);
    backdrop-filter: blur(28px) saturate(145%);
    -webkit-backdrop-filter: blur(28px) saturate(145%);
    flex-shrink: 0;
}

.maia3-app[data-theme="light"] .maia3-input-zone {
    background:
        linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.52)),
        rgba(255,255,255,.6);
}

.maia3-input-zone::before {
    content: "";
    position: absolute;
    inset-inline: 20px;
    top: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(32,211,255,.45), rgba(139,124,255,.45), transparent);
}

.maia3-footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.maia3-footer-hint {
    font-size: 12px;
    color: var(--muted);
    margin-bottom: 10px !important;
}

.maia3-field {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
}

.maia3-input {
    width: 100%;
    border-radius: 20px;
    padding: 15px 16px;
    border: 1px solid rgba(148,163,184,.14);
    background: linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.035));
    color: var(--text);
    outline: none;
    font-size: 14px;
    transition: var(--transition);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 12px 28px rgba(0,0,0,.12);
}

.maia3-input::placeholder {
    color: var(--muted);
    opacity: .95;
}

.maia3-input:focus {
    border-color: rgba(32,211,255,.62);
    box-shadow:
        0 0 0 4px rgba(32,211,255,.08),
        0 0 32px rgba(32,211,255,.12),
        0 14px 30px rgba(0,0,0,.16);
}

/* =========================================================
   OPTIONS
========================================================= */
.maia3-options-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
}

.maia3-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.maia3-option {
    border: 1px solid rgba(148,163,184,.14);
    background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.035));
    color: var(--text);
    padding: 12px 16px;
    border-radius: 18px;
    cursor: pointer;
    text-align: right;
    font-weight: 800;
    font-size: 13px;
    line-height: 1.6;
    transition: var(--transition);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 12px 26px rgba(0,0,0,.10);
    position: relative;
    overflow: hidden;
}

.maia3-option:hover {
    transform: translateY(-2px) scale(1.01);
    border-color: rgba(32,211,255,.38);
    box-shadow:
        0 0 0 4px rgba(32,211,255,.055),
        0 16px 32px rgba(0,0,0,.14);
}

.maia3-option.active {
    background:
        radial-gradient(circle at 18% 0%, rgba(255,255,255,.28), transparent 22%),
        linear-gradient(135deg, #745fff, #20d3ff);
    color: #fff;
    border-color: transparent;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.12),
        0 16px 40px rgba(32,211,255,.14),
        0 18px 38px rgba(109,93,252,.22);
}

.maia3-option.has-check {
    padding-right: 40px;
}

.maia3-option .maia3-check {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%) scale(.8);
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.24);
    opacity: 0;
    transition: var(--transition);
}

.maia3-option.active .maia3-check {
    opacity: 1;
    transform: translateY(-50%) scale(1);
}

.maia3-option.active .maia3-check::before {
    content: "✓";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 900;
}

/* =========================================================
   DOCTORS / CARDS
========================================================= */
.maia3-doctors {
    display: grid;
    gap: 14px;
    margin-top: 14px;
}

.maia3-doctor-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)),
        rgba(10, 20, 36, .72);
    border: 1px solid rgba(148,163,184,.14);
    border-radius: 24px;
    padding: 16px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 18px 42px rgba(0,0,0,.16);
    transition: var(--transition);
    animation: maiaMsgIn .35s ease;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.maia3-app[data-theme="light"] .maia3-doctor-card {
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.90));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 16px 36px rgba(15,23,42,.08);
}

.maia3-doctor-card:hover {
    border-color: rgba(32,211,255,.30);
    box-shadow:
        0 0 0 4px rgba(32,211,255,.045),
        0 24px 52px rgba(0,0,0,.20);
    transform: translateY(-3px);
}

.maia3-doctor-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.maia3-doctor-head h4 {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 900;
    color: var(--text);
}

.maia3-doctor-head p {
    margin: 0;
    font-size: 13px;
    color: var(--muted);
    line-height: 1.8;
}

.maia3-doctor-badge {
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    background: rgba(25,195,125,.10);
    color: var(--success);
    border: 1px solid rgba(25,195,125,.22);
    box-shadow: 0 0 22px rgba(25,195,125,.08);
    white-space: nowrap;
}

.maia3-doctor-meta {
    display: flex;
    gap: 16px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    flex-wrap: wrap;
}

.maia3-doctor-meta span {
    font-size: 12px;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 6px;
}

.maia3-doctor-meta strong {
    color: var(--text);
    font-weight: 800;
}

.maia3-dynamic {
    animation: maiaMsgIn .28s ease;
}

/* =========================================================
   TOUR
========================================================= */
.maia3-tour {
    position: absolute;
    inset: 0;
    z-index: 9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background:
        radial-gradient(circle at 50% 0%, rgba(32,211,255,.20), transparent 34%),
        radial-gradient(circle at 90% 20%, rgba(139,124,255,.24), transparent 32%),
        rgba(1, 6, 15, .70);
    backdrop-filter: blur(28px) saturate(140%);
    -webkit-backdrop-filter: blur(28px) saturate(140%);
    transition: opacity .35s ease, visibility .35s ease, transform .35s ease;
}

.maia3-app[data-theme="light"] .maia3-tour {
    background:
        radial-gradient(circle at 50% 0%, rgba(37,200,255,.14), transparent 34%),
        radial-gradient(circle at 90% 20%, rgba(109,93,252,.16), transparent 32%),
        rgba(237, 244, 255, .72);
}

.maia3-tour.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(1.02);
}

.maia3-tour-card {
    width: 100%;
    max-width: 420px;
    border-radius: 28px;
    border: 1px solid rgba(148,163,184,.16);
    background:
        linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.045)),
        rgba(8, 17, 32, .76);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.05),
        0 34px 90px rgba(0,0,0,.38),
        0 0 80px rgba(32,211,255,.08),
        inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    padding: 24px 20px 20px;
    position: relative;
    overflow: hidden;
    animation: maiaTourIn .45s ease;
}

.maia3-app[data-theme="light"] .maia3-tour-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,251,255,.90)),
        rgba(255,255,255,.88);
    box-shadow:
        0 22px 60px rgba(15,23,42,.12),
        inset 0 1px 0 rgba(255,255,255,.9);
}

.maia3-tour-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 25%, rgba(255,255,255,.08) 50%, transparent 75%);
    transform: translateX(-140%);
    animation: maiaShine 5s linear infinite;
    pointer-events: none;
}

.maia3-tour-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    margin-bottom: 14px;
    font-size: 11px;
    font-weight: 900;
    color: #eef8ff;
    background: linear-gradient(135deg, rgba(116,95,255,.28), rgba(32,211,255,.22));
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 10px 24px rgba(0,0,0,.10);
}

.maia3-tour-title {
    margin: 0 0 10px;
    font-size: 24px;
    line-height: 1.6;
    font-weight: 900;
    color: var(--text);
}

.maia3-tour-desc {
    margin: 0 0 16px;
    color: rgba(234, 242, 255, .82);
    font-size: 13px;
    line-height: 2;
}

.maia3-app[data-theme="light"] .maia3-tour-desc {
    color: var(--muted);
}

.maia3-tour-list {
    display: grid;
    gap: 10px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

.maia3-tour-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    color: var(--text);
    font-size: 12px;
    line-height: 1.9;
}

.maia3-app[data-theme="light"] .maia3-tour-list li {
    background: rgba(255,255,255,.7);
    border-color: rgba(148,163,184,.16);
}

.maia3-tour-list li::before {
    content: "✦";
    flex: 0 0 auto;
    color: #6ee7ff;
    font-weight: 900;
    margin-top: 1px;
}

.maia3-tour-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.maia3-tour-start,
.maia3-tour-skip {
    flex: 1 1 0;
    min-height: 48px;
    border-radius: 16px;
    font-weight: 900;
    cursor: pointer;
    transition: var(--transition);
}

.maia3-tour-start {
    border: none;
    color: #fff;
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
    box-shadow: 0 18px 35px var(--glow);
}

.maia3-tour-start:hover {
    transform: translateY(-2px);
}

.maia3-tour-skip {
    border: 1px solid var(--line);
    color: var(--text);
    background: rgba(255,255,255,.06);
}

.maia3-tour-skip:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0,0,0,.08);
}

/* =========================================================
   NOTICE
========================================================= */
#maia3-micro-notice {
    position: absolute;
    left: 18px;
    top: 86px;
    z-index: 50;
    padding: 9px 14px;
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.055)),
        rgba(5, 12, 24, .78);
    color: var(--text);
    font-size: 11px;
    font-weight: 800;
    border: 1px solid rgba(148,163,184,.15);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.04),
        0 16px 38px rgba(0,0,0,.24),
        0 0 30px rgba(32,211,255,.08);
    opacity: 0;
    transform: translateY(-8px);
    transition: .25s ease;
    pointer-events: none;
}

#maia3-micro-notice.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* =========================================================
   HELPERS
========================================================= */
.maia3-shake {
    animation: maia3Shake .38s ease;
}

/* =========================================================
   ANIMATIONS
========================================================= */
@keyframes maiaAvatarFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-8px) rotate(2deg); }
}

@keyframes maiaBlink {
    0%, 48%, 52%, 100% { transform: scaleY(1); }
    50% { transform: scaleY(.1); }
}

@keyframes maiaSpin {
    to { transform: rotate(360deg); }
}

@keyframes maiaPulseRing {
    0%, 100% { transform: scale(1); opacity: .3; }
    50% { transform: scale(1.08); opacity: .6; }
}

@keyframes maiaThinkPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.04); }
}

@keyframes maiaThinkEyes {
    0% { transform: translateX(0); }
    100% { transform: translateX(-3px); }
}

@keyframes maiaTalk {
    0% { height: 6px; }
    100% { height: 10px; }
}

@keyframes maiaSpeakGlow {
    0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .3); }
    100% { box-shadow: 0 0 0 18px rgba(255, 255, 255, 0); }
}

@keyframes maiaShine {
    to { transform: translateX(200%); }
}

@keyframes maiaPresence {
    0%, 100% { opacity: 1; }
    50% { opacity: .5; }
}

@keyframes maiaMsgIn {
    from {
        opacity: 0;
        transform: translateY(12px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes maiaMiniFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}

@keyframes maiaTypingDots {
    0%, 60%, 100% { transform: translateY(0); }
    30% { transform: translateY(-8px); }
}

@keyframes maiaBlobFloat {
    0%, 100% { transform: translate3d(0,0,0) scale(1); }
    50% { transform: translate3d(10px,-14px,0) scale(1.06); }
}

@keyframes maiaTourIn {
    from {
        opacity: 0;
        transform: translateY(18px) scale(.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes maiaNeuralOrbOne {
    0%, 100% {
        transform: translate3d(0,0,0) scale(1);
        opacity: .62;
    }
    50% {
        transform: translate3d(-18px,22px,0) scale(1.08);
        opacity: .86;
    }
}

@keyframes maiaNeuralOrbTwo {
    0%, 100% {
        transform: translate3d(0,0,0) scale(1);
        opacity: .58;
    }
    50% {
        transform: translate3d(22px,-20px,0) scale(1.1);
        opacity: .80;
    }
}

@keyframes maiaLinePulse {
    0%, 100% {
        opacity: .35;
        filter: blur(0);
    }
    50% {
        opacity: .95;
        filter: blur(.4px);
    }
}

@keyframes maiaLiveDot {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
        box-shadow:
            0 0 0 5px rgba(32,211,255,.08),
            0 0 20px rgba(32,211,255,.75);
    }
    50% {
        transform: scale(.82);
        opacity: .72;
        box-shadow:
            0 0 0 9px rgba(32,211,255,.035),
            0 0 30px rgba(32,211,255,.95);
    }
}

@keyframes maiaBotAura {
    0%, 100% {
        box-shadow:
            0 0 0 1px rgba(255,255,255,.13),
            0 0 0 7px rgba(32,211,255,.055),
            0 0 28px rgba(32,211,255,.28),
            0 16px 32px rgba(0,0,0,.28);
    }
    50% {
        box-shadow:
            0 0 0 1px rgba(255,255,255,.16),
            0 0 0 10px rgba(139,124,255,.06),
            0 0 38px rgba(32,211,255,.42),
            0 18px 36px rgba(0,0,0,.30);
    }
}

@keyframes maia3Shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-6px); }
    40% { transform: translateX(6px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 860px) {
    .maia3-app {
        margin: 16px auto;
        padding: 12px;
    }

    .maia3-shell {
        border-radius: 26px;
    }

    .maia3-topbar {
        padding: 0 14px;
    }

    .maia3-brand-text h2 {
        font-size: 16px;
    }

    .maia3-brand-text p {
        font-size: 10px;
    }

    .maia3-chat {
        padding: 16px 14px 8px;
    }

    .maia3-bubble {
        max-width: 88%;
        font-size: 13px;
        padding: 13px 15px;
    }

    .maia3-input-zone {
        padding: 14px 16px 16px;
    }

    .maia3-footer-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .maia3-field {
        grid-template-columns: 1fr;
    }

    .maia3-primary-btn {
        padding: 14px 16px;
        font-size: 14px;
    }

    .maia3-tour-card {
        border-radius: 24px;
        padding: 20px 16px 16px;
    }

    .maia3-tour-title {
        font-size: 21px;
    }
}

@media (max-width: 768px) {
    .maia3-topbar {
        height: 68px;
        padding: 0 14px;
    }

    .maia3-brand {
        gap: 10px;
    }

    .maia3-brand-text h2 {
        font-size: 15px;
        margin-bottom: 4px;
    }

    .maia3-brand-text p {
        font-size: 10px;
    }

    .maia3-actions {
        gap: 8px;
    }

    .maia3-theme-btn,
    .maia3-ghost-btn {
        height: 42px;
        min-width: 42px;
        padding: 0 12px;
        font-size: 13px;
        border-radius: 14px;
    }

    .maia3-icon-btn {
        width: 38px;
        height: 38px;
        min-width: 38px;
        font-size: 16px;
    }

    .maia3-user-text h3 {
        font-size: 15px;
    }

    .maia3-user-text span {
        font-size: 11px;
        margin-top: 8px !important;
    }

    .maia3-chat {
        padding: 16px 12px 8px;
    }

    .maia3-msg {
        gap: 10px;
        margin-bottom: 14px;
    }

    .maia3-msg.bot::before {
        right: 18px;
    }

    .maia3-msg-avatar {
        width: 36px;
        flex: 0 0 36px;
    }

    .mini-bot {
        width: 36px;
        height: 36px;
        border-radius: 12px;
    }

    .mini-bot::before,
    .mini-bot::after {
        width: 4px;
        height: 4px;
        top: 10px;
    }

    .mini-bot::before {
        right: 8px;
    }

    .mini-bot::after {
        left: 8px;
    }

    .mini-bot i {
        width: 12px;
        height: 5px;
        bottom: 8px;
    }

    .maia3-bubble {
        max-width: 90%;
        border-radius: 20px;
        font-size: 12.5px;
        line-height: 2;
        padding: 11px 14px;
    }

    .maia3-msg-meta {
        font-size: 9px;
        margin-top: 3px;
    }

    .maia3-typing-text {
        font-size: 11px;
    }

    .maia3-typing span {
        width: 7px;
        height: 7px;
    }

    .maia3-input-zone {
        padding: 13px 14px 15px;
    }

    .maia3-footer-hint {
        font-size: 11px;
    }

    .maia3-back-btn {
        padding: 9px 12px;
        font-size: 12px;
        border-radius: 12px;
    }

    .maia3-primary-btn {
        padding: 13px 14px;
        font-size: 13px;
        border-radius: 17px;
    }

    .maia3-inline-btn {
        margin-top: 10px;
    }

    .maia3-options {
        gap: 8px;
    }

    .maia3-option {
        padding: 10px 14px;
        font-size: 12px;
    }

    .maia3-option.has-check {
        padding-right: 36px;
    }

    .maia3-option .maia3-check {
        width: 16px;
        height: 16px;
        right: 10px;
    }

    .maia3-input {
        padding: 13px 14px;
        font-size: 13px;
        border-radius: 17px;
    }

    .maia3-doctors {
        gap: 12px;
        margin-top: 12px;
    }

    .maia3-doctor-card {
        padding: 14px;
        border-radius: 18px;
    }

    .maia3-doctor-head h4 {
        font-size: 15px;
        margin-bottom: 5px;
    }

    .maia3-doctor-head p {
        font-size: 12px;
    }

    .maia3-doctor-badge {
        padding: 5px 10px;
        font-size: 10px;
    }

    .maia3-doctor-meta {
        gap: 12px;
        margin-top: 10px;
        padding-top: 10px;
    }

    .maia3-doctor-meta span {
        font-size: 11px;
        gap: 5px;
    }

    .maia3-tour {
        padding: 12px;
    }

    .maia3-tour-card {
        border-radius: 22px;
    }

    .maia3-tour-title {
        font-size: 19px;
    }

    .maia3-tour-desc {
        font-size: 12px;
    }

    .maia3-tour-list li {
        font-size: 11px;
        padding: 10px 12px;
    }

    .maia3-tour-actions {
        flex-direction: column;
    }
}


.maia3-bubble-expert {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.maia3-expert-card {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    padding: 20px;
    background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0.08));
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,0.22);
    box-shadow:
        0 12px 35px rgba(31, 38, 135, 0.18),
        inset 0 1px 0 rgba(255,255,255,0.28);
}

.maia3-expert-card::before {
    content: "";
    position: absolute;
    inset: -40% auto auto -10%;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(133, 92, 248, 0.28), transparent 70%);
    pointer-events: none;
}

.maia3-expert-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.maia3-expert-avatars {
    display: flex;
    align-items: center;
}

.maia3-expert-avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255,255,255,0.95);
    margin-left: -10px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    background: #fff;
}

.maia3-expert-avatar:first-child {
    margin-left: 0;
}

.maia3-expert-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.maia3-expert-badge {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    padding: 8px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #7c3aed, #ec4899);
    box-shadow: 0 8px 18px rgba(124, 58, 237, 0.3);
}

.maia3-expert-content h4 {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 800;
}

.maia3-expert-content p {
    margin: 0 0 16px;
    line-height: 1.9;
    font-size: 14px;
    opacity: 0.92;
}

.maia3-expert-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.maia3-expert-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.maia3-textarea {
    min-height: 92px;
    resize: vertical;
}

.maia3-expert-submit {
    width: 100%;
    border-radius: 16px;
    font-weight: 800;
    min-height: 48px;
    background: linear-gradient(135deg, #6d28d9, #ec4899);
    border: none;
    box-shadow: 0 12px 24px rgba(109, 40, 217, 0.25);
}

.maia3-expert-result {
    min-height: 24px;
    font-size: 13px;
    font-weight: 700;
}

.maia3-expert-result .success {
    color: #0f9d58;
}

.maia3-expert-result .error {
    color: #d93025;
}

.maia3-scroll-bottom-fab {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;
    width: 52px;
    height: 52px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
    background: rgba(255,255,255,0.22);
    color: #111;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    border: 1px solid rgba(255,255,255,0.3);
    transition: transform .2s ease, opacity .2s ease;
}

.maia3-scroll-bottom-fab:hover {
    transform: translateY(-2px) scale(1.04);
}

@media (max-width: 640px) {
    .maia3-expert-grid {
        grid-template-columns: 1fr;
    }

    .maia3-scroll-bottom-fab {
        right: 16px;
        bottom: 16px;
    }
}




































/* =========================
   ANALYSIS OVERLAY
   ========================= */

.maia3-analysis-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background:
        radial-gradient(circle at 20% 20%, rgba(99, 102, 241, 0.14), transparent 28%),
        radial-gradient(circle at 80% 30%, rgba(56, 189, 248, 0.12), transparent 30%),
        radial-gradient(circle at 50% 80%, rgba(14, 165, 233, 0.10), transparent 30%),
        rgba(7, 12, 24, 0.781);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.full-width-app {
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.maia3-analysis-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.05), transparent 42%),
        linear-gradient(315deg, rgba(255,255,255,0.03), transparent 38%);
    pointer-events: none;
}

.maia3-analysis-card {
    position: relative;
    width: min(100%, 430px);
    border-radius: 28px;
    padding: 28px 24px 24px;
    background:
        linear-gradient(180deg, rgba(38, 39, 66, 0.22), rgba(36, 71, 136, 0.1));
    border: 1px solid rgba(255,255,255,0.22);
    box-shadow:
        0 30px 80px rgba(2, 8, 23, 0.35),
        inset 0 1px 0 rgba(255,255,255,0.22),
        inset 0 -1px 0 rgba(255,255,255,0.05);
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    overflow: hidden;
    text-align: center;
    animation: maia3CardFloat 4.5s ease-in-out infinite;
}

.maia3-analysis-card::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(
        135deg,
        rgba(255,255,255,0.35),
        rgba(255,255,255,0.08),
        rgba(125, 211, 252, 0.28),
        rgba(129, 140, 248, 0.20)
    );
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
}

.maia3-analysis-card::after {
    content: "";
    position: absolute;
    top: -80%;
    left: -20%;
    width: 70%;
    height: 220%;
    transform: rotate(18deg);
    background: linear-gradient(
        to right,
        rgba(255,255,255,0),
        rgba(255,255,255,0.12),
        rgba(255,255,255,0)
    );
    animation: maia3CardShine 3.6s linear infinite;
    pointer-events: none;
}

/* =========================
   CONTENT
   ========================= */

.maia3-analysis-content {
    position: relative;
    z-index: 2;
}

.maia3-analysis-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    margin-bottom: 14px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.2px;
    color: #e0f2fe;
    background: linear-gradient(180deg, rgba(11, 123, 175, 0.404), rgba(49, 112, 214, 0.322));
    border: 1px solid rgba(125, 211, 252, 0.35);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.16),
        0 8px 24px rgba(14, 165, 233, 0.18);
}

.maia3-analysis-content h3 {
    margin: 0 0 10px;
    font-size: 22px;
    line-height: 1.5;
    font-weight: 900;
    color: #fff;
}

.maia3-analysis-content h3 {
    margin: 0 0 10px;
    font-size: 22px;
    line-height: 1.5;
    font-weight: 900;
    color: #fff;
}

.maia3-analysis-content h3 span {
    display: inline-block;
    background: linear-gradient(
        90deg,
        #ffffff 0%,
        #dbeafe 35%,
        #ffffff 50%,
        #a8d8ff 65%,
        #ffffff 100%
    );
    background-size: 220% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;

    text-shadow:
        0 0 4px rgba(255, 255, 255, 0.35),
        0 0 10px rgba(120, 180, 255, 0.25);

    animation: luxuryTextGlow 6s ease-in-out infinite;
}

@keyframes luxuryTextGlow {
    0% {
        background-position: 0% center;
        text-shadow:
            0 0 4px rgba(255, 255, 255, 0.25),
            0 0 10px rgba(120, 180, 255, 0.18);
    }
    50% {
        background-position: 100% center;
        text-shadow:
            0 0 5px rgba(255, 255, 255, 0.45),
            0 0 14px rgba(120, 180, 255, 0.32);
    }
    100% {
        background-position: 0% center;
        text-shadow:
            0 0 4px rgba(255, 255, 255, 0.25),
            0 0 10px rgba(120, 180, 255, 0.18);
    }
}


.maia3-analysis-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.9;
    color: rgba(255,255,255,0.84);
    min-height: 30px;
}

/* =========================
   ORB
   ========================= */

.maia3-analysis-orb-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 6px 0 20px;
    min-height: 210px;
}

.maia3-analysis-orb {
    position: relative;
    width: 132px;
    height: 132px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: maia3OrbFloat 3.8s ease-in-out infinite;
    filter: drop-shadow(0 18px 40px rgba(56, 189, 248, 0.28));
}

.maia3-analysis-orb .orb-core {
    position: absolute;
    inset: 14px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 30%, rgba(255,255,255,0.95), rgba(255,255,255,0.45) 16%, rgba(186,230,253,0.22) 32%, rgba(14,165,233,0.45) 58%, rgba(37,99,235,0.86) 100%);
    box-shadow:
        inset 0 2px 12px rgba(255,255,255,0.45),
        inset 0 -18px 24px rgba(2, 6, 23, 0.28),
        0 0 30px rgba(59, 130, 246, 0.30),
        0 0 60px rgba(56, 189, 248, 0.28);
    overflow: hidden;
}

.maia3-analysis-orb .orb-core::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(circle at 30% 25%, rgba(255,255,255,0.88), transparent 22%),
        radial-gradient(circle at 70% 75%, rgba(255,255,255,0.16), transparent 28%);
    mix-blend-mode: screen;
    animation: maia3OrbGlow 2.8s ease-in-out infinite;
}

.maia3-analysis-orb .orb-core::after {
    content: "";
    position: absolute;
    inset: 8%;
    border-radius: inherit;
    border: 1px solid rgba(255,255,255,0.22);
    opacity: 0.7;
}

.maia3-analysis-orb .orb-glow {
    position: absolute;
    inset: -18px;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(56, 189, 248, 0.26) 0%, rgba(59, 130, 246, 0.14) 38%, rgba(14,165,233,0.02) 68%, transparent 74%);
    filter: blur(10px);
    animation: maia3GlowPulse 2.7s ease-in-out infinite;
}

.maia3-analysis-orb .orb-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(186, 230, 253, 0.28);
    box-shadow: 0 0 18px rgba(125, 211, 252, 0.10);
}

.maia3-analysis-orb .ring-1 {
    inset: -4px;
    border-top-color: rgba(255,255,255,0.58);
    border-left-color: rgba(125,211,252,0.20);
    border-right-color: rgba(125,211,252,0.20);
    border-bottom-color: rgba(255,255,255,0.08);
    animation: maia3RotateCW 7s linear infinite;
}

.maia3-analysis-orb .ring-2 {
    inset: -15px;
    border-top-color: rgba(125,211,252,0.20);
    border-right-color: rgba(255,255,255,0.48);
    border-left-color: rgba(255,255,255,0.08);
    border-bottom-color: rgba(96,165,250,0.14);
    animation: maia3RotateCCW 10s linear infinite;
}

.maia3-analysis-orb .ring-3 {
    inset: -28px;
    border-style: dashed;
    border-color: rgba(191,219,254,0.18);
    animation: maia3RotateCW 14s linear infinite;
    opacity: 0.9;
}

.maia3-analysis-orb-wrap::before,
.maia3-analysis-orb-wrap::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.maia3-analysis-orb-wrap::before {
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(59,130,246,0.10), transparent 68%);
    animation: maia3OuterPulse 3s ease-in-out infinite;
}

.maia3-analysis-orb-wrap::after {
    width: 230px;
    height: 230px;
    background: radial-gradient(circle, rgba(14,165,233,0.07), transparent 72%);
    animation: maia3OuterPulse 4.4s ease-in-out infinite;
}

/* =========================
   OPTIONAL small loader dots
   ========================= */

.maia3-analysis-content p::after {
    content: "";
    display: inline-block;
    width: 18px;
    text-align: left;
    animation: maia3Dots 1.4s infinite steps(4);
    vertical-align: bottom;
    overflow: hidden;
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 640px) {
    .maia3-analysis-overlay {
        padding: 16px;
    }

    .maia3-analysis-card {
        width: 100%;
        border-radius: 24px;
        padding: 22px 18px 20px;
    }

    .maia3-analysis-orb-wrap {
        min-height: 180px;
        margin-bottom: 16px;
    }

    .maia3-analysis-orb {
        width: 112px;
        height: 112px;
    }

    .maia3-analysis-orb .orb-core {
        inset: 12px;
    }

    .maia3-analysis-orb .ring-2 {
        inset: -12px;
    }

    .maia3-analysis-orb .ring-3 {
        inset: -22px;
    }

    .maia3-analysis-content h3 {
        font-size: 19px;
    }

    .maia3-analysis-content p {
        font-size: 14px;
        min-height: 28px;
    }
}

/* =========================
   ANIMATIONS
   ========================= */

@keyframes maia3RotateCW {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@keyframes maia3RotateCCW {
    from { transform: rotate(360deg); }
    to   { transform: rotate(0deg); }
}

@keyframes maia3GlowPulse {
    0%, 100% {
        transform: scale(0.95);
        opacity: 0.70;
    }
    50% {
        transform: scale(1.08);
        opacity: 1;
    }
}

@keyframes maia3OrbGlow {
    0%, 100% {
        transform: scale(1);
        opacity: 0.85;
    }
    50% {
        transform: scale(1.05);
        opacity: 1;
    }
}

@keyframes maia3OuterPulse {
    0%, 100% {
        transform: scale(0.94);
        opacity: 0.55;
    }
    50% {
        transform: scale(1.08);
        opacity: 1;
    }
}

@keyframes maia3OrbFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
}

@keyframes maia3CardFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-3px);
    }
}

@keyframes maia3CardShine {
    0% {
        transform: translateX(-140%) rotate(18deg);
    }
    100% {
        transform: translateX(260%) rotate(18deg);
    }
}

@keyframes maia3Dots {
    0%   { content: ""; }
    25%  { content: "."; }
    50%  { content: ".."; }
    75%  { content: "..."; }
    100% { content: ""; }
}



/* =========================
   PRO ORB
   ========================= */

.maia3-analysis-orb.pro {
    position: relative;
    width: 144px;
    height: 144px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: maia3OrbFloatPro 4s ease-in-out infinite;
    filter: drop-shadow(0 18px 42px rgba(56, 189, 248, 0.26));
}

.maia3-analysis-orb.pro .orb-glow {
    position: absolute;
    inset: -22px;
    border-radius: 50%;
    background:
        radial-gradient(circle,
            rgba(56, 189, 248, 0.32) 0%,
            rgba(59, 130, 246, 0.18) 32%,
            rgba(14, 165, 233, 0.07) 58%,
            transparent 74%);
    filter: blur(14px);
    animation: maia3GlowPulsePro 3s ease-in-out infinite;
}

.maia3-analysis-orb.pro .orb-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(186, 230, 253, 0.22);
    box-shadow: 0 0 20px rgba(125, 211, 252, 0.08);
}

.maia3-analysis-orb.pro .ring-1 {
    inset: -4px;
    border-top-color: rgba(255,255,255,0.62);
    border-left-color: rgba(125,211,252,0.18);
    border-right-color: rgba(125,211,252,0.18);
    border-bottom-color: rgba(255,255,255,0.08);
    animation: maia3RotateCW 7.5s linear infinite;
}

.maia3-analysis-orb.pro .ring-2 {
    inset: -16px;
    border-top-color: rgba(125,211,252,0.18);
    border-right-color: rgba(255,255,255,0.44);
    border-left-color: rgba(255,255,255,0.08);
    border-bottom-color: rgba(96,165,250,0.12);
    animation: maia3RotateCCW 11s linear infinite;
}

.maia3-analysis-orb.pro .ring-3 {
    inset: -30px;
    border-style: dashed;
    border-color: rgba(191,219,254,0.16);
    opacity: 0.95;
    animation: maia3RotateCW 15s linear infinite;
}

/* =========================
   CORE
   ========================= */

.maia3-analysis-orb.pro .orb-core {
    position: absolute;
    inset: 14px;
    border-radius: 50%;
    overflow: hidden;
    background:
        radial-gradient(circle at 34% 28%,
            rgba(255,255,255,0.95) 0%,
            rgba(255,255,255,0.48) 12%,
            rgba(186,230,253,0.16) 24%,
            rgba(14,165,233,0.36) 58%,
            rgba(37,99,235,0.92) 100%);
    box-shadow:
        inset 0 2px 14px rgba(255,255,255,0.34),
        inset 0 -18px 26px rgba(2, 6, 23, 0.32),
        0 0 28px rgba(59, 130, 246, 0.28),
        0 0 62px rgba(56, 189, 248, 0.20);
}

.maia3-analysis-orb.pro .orb-core::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(circle at 30% 22%, rgba(255,255,255,0.86), transparent 16%),
        radial-gradient(circle at 70% 74%, rgba(255,255,255,0.12), transparent 24%);
    mix-blend-mode: screen;
    opacity: 0.9;
}

.maia3-analysis-orb.pro .orb-core::after {
    content: "";
    position: absolute;
    inset: 8%;
    border-radius: inherit;
    border: 1px solid rgba(255,255,255,0.18);
    pointer-events: none;
}

/* =========================
   LIQUID WAVES
   ========================= */

.maia3-analysis-orb.pro .orb-liquid {
    position: absolute;
    left: -18%;
    width: 136%;
    height: 136%;
    border-radius: 40%;
    opacity: 0.92;
    transform-origin: 50% 50%;
    filter: blur(0.4px);
}

.maia3-analysis-orb.pro .liquid-1 {
    bottom: -44%;
    background:
        radial-gradient(circle at 50% 40%,
            rgba(255,255,255,0.18),
            rgba(147,197,253,0.12) 18%,
            rgba(59,130,246,0.38) 42%,
            rgba(29,78,216,0.72) 72%);
    animation:
        maia3LiquidRotate1 7s linear infinite,
        maia3LiquidRise1 4.6s ease-in-out infinite;
    mix-blend-mode: screen;
}

.maia3-analysis-orb.pro .liquid-2 {
    bottom: -48%;
    background:
        radial-gradient(circle at 50% 38%,
            rgba(255,255,255,0.10),
            rgba(125,211,252,0.10) 16%,
            rgba(14,165,233,0.28) 40%,
            rgba(30,64,175,0.55) 74%);
    opacity: 0.88;
    animation:
        maia3LiquidRotate2 10s linear infinite,
        maia3LiquidRise2 5.8s ease-in-out infinite;
}

/* =========================
   ENERGY LAYER
   ========================= */

.maia3-analysis-orb.pro .orb-energy {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background:
        conic-gradient(
            from 0deg,
            rgba(255,255,255,0.00),
            rgba(255,255,255,0.10),
            rgba(125,211,252,0.05),
            rgba(255,255,255,0.00),
            rgba(255,255,255,0.12),
            rgba(56,189,248,0.08),
            rgba(255,255,255,0.00)
        );
    mix-blend-mode: screen;
    animation: maia3EnergySpin 8s linear infinite;
    opacity: 0.8;
}

.maia3-analysis-orb.pro .orb-highlight {
    position: absolute;
    top: 14%;
    left: 16%;
    width: 38%;
    height: 24%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.78), rgba(255,255,255,0.10) 62%, transparent 72%);
    transform: rotate(-18deg);
    filter: blur(2px);
    opacity: 0.95;
    animation: maia3HighlightPulse 2.6s ease-in-out infinite;
}

/* =========================
   OUTER AMBIENT PULSE
   ========================= */

.maia3-analysis-orb-wrap::before,
.maia3-analysis-orb-wrap::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.maia3-analysis-orb-wrap::before {
    width: 190px;
    height: 190px;
    background: radial-gradient(circle, rgba(59,130,246,0.10), transparent 68%);
    animation: maia3OuterPulse 3.2s ease-in-out infinite;
}

.maia3-analysis-orb-wrap::after {
    width: 240px;
    height: 240px;
    background: radial-gradient(circle, rgba(14,165,233,0.06), transparent 72%);
    animation: maia3OuterPulse 4.6s ease-in-out infinite;
}

/* =========================
   ANIMATIONS
   ========================= */

@keyframes maia3OrbFloatPro {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-9px); }
}

@keyframes maia3GlowPulsePro {
    0%, 100% {
        transform: scale(0.96);
        opacity: 0.72;
    }
    50% {
        transform: scale(1.09);
        opacity: 1;
    }
}

@keyframes maia3LiquidRotate1 {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@keyframes maia3LiquidRotate2 {
    from { transform: rotate(360deg); }
    to   { transform: rotate(0deg); }
}

@keyframes maia3LiquidRise1 {
    0%, 100% { bottom: -46%; }
    50% { bottom: -38%; }
}

@keyframes maia3LiquidRise2 {
    0%, 100% { bottom: -50%; }
    50% { bottom: -41%; }
}

@keyframes maia3EnergySpin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@keyframes maia3HighlightPulse {
    0%, 100% {
        opacity: 0.85;
        transform: rotate(-18deg) scale(1);
    }
    50% {
        opacity: 1;
        transform: rotate(-18deg) scale(1.06);
    }
}

/* reuse if already defined; otherwise keep */
@keyframes maia3RotateCW {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@keyframes maia3RotateCCW {
    from { transform: rotate(360deg); }
    to   { transform: rotate(0deg); }
}

@keyframes maia3OuterPulse {
    0%, 100% {
        transform: scale(0.94);
        opacity: 0.55;
    }
    50% {
        transform: scale(1.08);
        opacity: 1;
    }
}



.maia3-analysis-orb.pro .liquid-1 {
    opacity: 1;
}
.maia3-analysis-orb.pro .liquid-2 {
    opacity: 0.96;
}



@keyframes maia3LiquidRise1 {
    0%, 100% { bottom: -48%; }
    50% { bottom: -34%; }
}

@keyframes maia3LiquidRise2 {
    0%, 100% { bottom: -52%; }
    50% { bottom: -37%; }
}


.maia3-analysis-orb.pro .orb-liquid {
    filter: blur(1.2px);
}



@media (max-width: 640px) {
    .maia3-analysis-orb.pro {
        width: 122px;
        height: 122px;
    }

    .maia3-analysis-orb.pro .orb-core {
        inset: 12px;
    }

    .maia3-analysis-orb.pro .ring-2 {
        inset: -13px;
    }

    .maia3-analysis-orb.pro .ring-3 {
        inset: -24px;
    }
}










/* =====================================
   PREMIUM ANALYSIS ORB
   ===================================== */

.maia3-analysis-orb.premium {
    position: relative;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: maia3OrbFloatPremium 4.6s ease-in-out infinite;
    filter: drop-shadow(0 18px 45px rgba(56, 189, 248, 0.28));
    transform: translateZ(0);
    will-change: transform, filter;
}

.maia3-analysis-orb.premium .orb-glow {
    position: absolute;
    inset: -24px;
    border-radius: 50%;
    background:
        radial-gradient(circle,
            rgba(56, 189, 248, 0.32) 0%,
            rgba(59, 130, 246, 0.16) 34%,
            rgba(14, 165, 233, 0.06) 58%,
            transparent 74%);
    filter: blur(16px);
    animation: maia3GlowPulsePremium 3.4s ease-in-out infinite;
}

.maia3-analysis-orb.premium .orb-ring {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.maia3-analysis-orb.premium .ring-1 {
    inset: -4px;
    border: 1px solid rgba(255,255,255,0.18);
    border-top-color: rgba(255,255,255,0.56);
    border-bottom-color: rgba(255,255,255,0.06);
    animation: maia3RotateCW 7.5s linear infinite;
    box-shadow: 0 0 18px rgba(125, 211, 252, 0.08);
}

.maia3-analysis-orb.premium .ring-2 {
    inset: -16px;
    border: 1px solid rgba(186,230,253,0.16);
    border-right-color: rgba(255,255,255,0.36);
    border-left-color: rgba(255,255,255,0.06);
    animation: maia3RotateCCW 11.5s linear infinite;
}

.maia3-analysis-orb.premium .ring-3 {
    inset: -30px;
    border: 1px dashed rgba(191,219,254,0.18);
    animation: maia3RotateCW 15s linear infinite;
    opacity: 0.9;
}

/* core */

.maia3-analysis-orb.premium .orb-core {
    position: absolute;
    inset: 14px;
    border-radius: 50%;
    overflow: hidden;
    background:
        radial-gradient(circle at 34% 26%,
            rgba(255,255,255,0.98) 0%,
            rgba(255,255,255,0.48) 10%,
            rgba(191,219,254,0.10) 24%,
            rgba(56,189,248,0.24) 46%,
            rgba(30,64,175,0.92) 100%);
    box-shadow:
        inset 0 2px 16px rgba(255,255,255,0.36),
        inset 0 -20px 28px rgba(2, 6, 23, 0.34),
        0 0 30px rgba(59, 130, 246, 0.28),
        0 0 64px rgba(56, 189, 248, 0.18);
}

.maia3-analysis-orb.premium .orb-core::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,0.82), transparent 14%),
        radial-gradient(circle at 72% 74%, rgba(255,255,255,0.10), transparent 22%);
    mix-blend-mode: screen;
    z-index: 6;
    pointer-events: none;
}

.maia3-analysis-orb.premium .orb-core::after {
    content: "";
    position: absolute;
    inset: 8%;
    border-radius: inherit;
    border: 1px solid rgba(255,255,255,0.18);
    z-index: 7;
    pointer-events: none;
}

/* =====================================
   SVG WAVE LAYER
   ===================================== */

.maia3-analysis-orb.premium .orb-wave-svg {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: 50%;
    overflow: hidden;
}

.maia3-analysis-orb.premium .orb-wave-svg svg {
    width: 100%;
    height: 100%;
    display: block;
}

.maia3-analysis-orb.premium .orb-wave-svg .wave {
    transform-origin: center;
}

.maia3-analysis-orb.premium .orb-wave-svg .wave-back {
    fill: rgba(56, 189, 248, 0.24);
    animation:
        maia3WaveDrift1 6.5s ease-in-out infinite alternate,
        maia3WaveLevel1 4.8s ease-in-out infinite;
}

.maia3-analysis-orb.premium .orb-wave-svg .wave-front {
    fill: rgba(96, 165, 250, 0.42);
    animation:
        maia3WaveDrift2 4.6s ease-in-out infinite alternate,
        maia3WaveLevel2 5.6s ease-in-out infinite;
}

/* =====================================
   WAVE LINES
   ===================================== */

.maia3-analysis-orb.premium .orb-wave-lines {
    position: absolute;
    inset: 18% 14%;
    z-index: 3;
    display: block;
    pointer-events: none;
    opacity: 0.95;
}

.maia3-analysis-orb.premium .orb-wave-lines i {
    position: absolute;
    left: 0;
    right: 0;
    height: 14px !important;
    width: 14px !important;
    border-radius: 999px;
    border-top: 1px solid rgba(255,255,255,0.30);
    border-bottom: 1px solid rgba(125,211,252,0.06);
    filter: blur(0.2px);
}

.maia3-analysis-orb.premium .orb-wave-lines i:nth-child(1) {
    top: 16%;
    transform: scaleX(0.78);
    animation: maia3WaveLine 4.2s ease-in-out infinite;
}

.maia3-analysis-orb.premium .orb-wave-lines i:nth-child(2) {
    top: 30%;
    transform: scaleX(0.92);
    animation: maia3WaveLine 5s ease-in-out infinite reverse;
}

.maia3-analysis-orb.premium .orb-wave-lines i:nth-child(3) {
    top: 45%;
    transform: scaleX(1);
    animation: maia3WaveLine 4.6s ease-in-out infinite;
}

.maia3-analysis-orb.premium .orb-wave-lines i:nth-child(4) {
    top: 60%;
    transform: scaleX(0.88);
    animation: maia3WaveLine 5.4s ease-in-out infinite reverse;
}

.maia3-analysis-orb.premium .orb-wave-lines i:nth-child(5) {
    top: 74%;
    transform: scaleX(0.72);
    animation: maia3WaveLine 4.8s ease-in-out infinite;
}

/* =====================================
   PARTICLES
   ===================================== */

.maia3-analysis-orb.premium .orb-particles {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
}

.maia3-analysis-orb.premium .orb-particles .p {
    position: absolute;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50px;
    background:
        radial-gradient(circle, rgba(255,255,255,0.98) 0%, rgba(186,230,253,0.95) 35%, rgba(125, 237, 252, 0.05) 100%);
    box-shadow:
        0 0 8px rgba(255,255,255,0.55),
        0 0 16px rgba(56,189,248,0.28);
    opacity: 0.9;
}

.maia3-analysis-orb.premium .orb-particles .p1 { top: 26%; left: 30%; animation: maia3Particle1 5.2s ease-in-out infinite; }
.maia3-analysis-orb.premium .orb-particles .p2 { top: 35%; left: 62%; animation: maia3Particle2 6.4s ease-in-out infinite; }
.maia3-analysis-orb.premium .orb-particles .p3 { top: 55%; left: 38%; animation: maia3Particle3 4.9s ease-in-out infinite; }
.maia3-analysis-orb.premium .orb-particles .p4 { top: 64%; left: 58%; animation: maia3Particle4 6.8s ease-in-out infinite; }
.maia3-analysis-orb.premium .orb-particles .p5 { top: 46%; left: 76%; animation: maia3Particle5 5.8s ease-in-out infinite; }
.maia3-analysis-orb.premium .orb-particles .p6 { top: 72%; left: 28%; animation: maia3Particle6 6.1s ease-in-out infinite; }
.maia3-analysis-orb.premium .orb-particles .p7 { top: 22%; left: 50%; animation: maia3Particle7 4.7s ease-in-out infinite; }
.maia3-analysis-orb.premium .orb-particles .p8 { top: 52%; left: 18%; animation: maia3Particle8 5.9s ease-in-out infinite; }

/* =====================================
   ENERGY / HIGHLIGHT
   ===================================== */

.maia3-analysis-orb.premium .orb-energy {
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: 50%;
    background:
        conic-gradient(
            from 0deg,
            rgba(255,255,255,0.00),
            rgba(255,255,255,0.08),
            rgba(125,211,252,0.04),
            rgba(255,255,255,0.00),
            rgba(255,255,255,0.10),
            rgba(56,189,248,0.08),
            rgba(255,255,255,0.00)
        );
    mix-blend-mode: screen;
    animation: maia3EnergySpin 8.4s linear infinite;
    opacity: 0.9;
}

.maia3-analysis-orb.premium .orb-highlight {
    position: absolute;
    z-index: 5;
    top: 14%;
    left: 16%;
    width: 38%;
    height: 24%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.78), rgba(255,255,255,0.10) 62%, transparent 72%);
    transform: rotate(-18deg);
    filter: blur(2px);
    opacity: 0.95;
    animation: maia3HighlightPulse 2.8s ease-in-out infinite;
}

.maia3-analysis-orb.premium .orb-shine {
    content: "";
    position: absolute;
    z-index: 6;
    top: -12%;
    left: -8%;
    width: 55%;
    height: 160%;
    transform: rotate(20deg);
    background: linear-gradient(
        to right,
        rgba(255,255,255,0),
        rgba(255,255,255,0.16),
        rgba(255,255,255,0)
    );
    filter: blur(3px);
    opacity: 0.7;
    animation: maia3OrbShine 5.4s linear infinite;
}

/* =====================================
   REACTIVE STATE
   وقتی متن تحلیل عوض می‌شود این کلاس را با JS
   برای چند صد میلی‌ثانیه روی orb ست می‌کنیم
   ===================================== */

.maia3-analysis-orb.premium.is-reacting {
    animation:
        maia3OrbReactKick 0.7s ease,
        maia3OrbFloatPremium 4.6s ease-in-out infinite 0.7s;
    filter: drop-shadow(0 20px 52px rgba(56, 189, 248, 0.42));
}

.maia3-analysis-orb.premium.is-reacting .orb-glow {
    animation: maia3GlowReact 0.7s ease;
}

.maia3-analysis-orb.premium.is-reacting .orb-wave-lines {
    opacity: 1;
}

.maia3-analysis-orb.premium.is-reacting .orb-wave-lines i {
    border-top-color: rgba(255,255,255,0.46);
    animation-duration: 2.2s !important;
}

.maia3-analysis-orb.premium.is-reacting .orb-particles .p {
    transform: scale(1.5);
    box-shadow:
        0 0 10px rgba(255,255,255,0.75),
        0 0 22px rgba(56,189,248,0.42);
}

.maia3-analysis-orb.premium.is-reacting .wave-front {
    fill: rgba(125, 211, 252, 0.52);
}

.maia3-analysis-orb.premium.is-reacting .wave-back {
    fill: rgba(56, 189, 248, 0.32);
}

/* =====================================
   WRAP AMBIENT
   ===================================== */

.maia3-analysis-orb-wrap::before,
.maia3-analysis-orb-wrap::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.maia3-analysis-orb-wrap::before {
    width: 190px;
    height: 190px;
    background: radial-gradient(circle, rgba(59,130,246,0.10), transparent 68%);
    animation: maia3OuterPulse 3.2s ease-in-out infinite;
}

.maia3-analysis-orb-wrap::after {
    width: 244px;
    height: 244px;
    background: radial-gradient(circle, rgba(14,165,233,0.06), transparent 72%);
    animation: maia3OuterPulse 4.8s ease-in-out infinite;
}

/* =====================================
   ANIMATIONS
   ===================================== */

@keyframes maia3OrbFloatPremium {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-8px) scale(1.01); }
}

@keyframes maia3GlowPulsePremium {
    0%, 100% {
        transform: scale(0.96);
        opacity: 0.70;
    }
    50% {
        transform: scale(1.1);
        opacity: 1;
    }
}

@keyframes maia3RotateCW {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes maia3RotateCCW {
    from { transform: rotate(360deg); }
    to { transform: rotate(0deg); }
}

@keyframes maia3WaveDrift1 {
    0%   { transform: translateX(-3%) translateY(0); }
    50%  { transform: translateX(2%) translateY(-1%); }
    100% { transform: translateX(5%) translateY(0); }
}

@keyframes maia3WaveDrift2 {
    0%   { transform: translateX(4%) translateY(0); }
    50%  { transform: translateX(-2%) translateY(1%); }
    100% { transform: translateX(-5%) translateY(0); }
}

@keyframes maia3WaveLevel1 {
    0%, 100% { d: path("M0,118 C20,105 40,108 60,116 C80,124 100,130 120,122 C140,114 160,100 180,108 C190,112 195,114 200,116 L200,200 L0,200 Z"); }
    50%      { d: path("M0,114 C18,100 40,104 63,114 C84,123 103,126 122,118 C142,109 159,97 179,104 C191,108 196,111 200,112 L200,200 L0,200 Z"); }
}

@keyframes maia3WaveLevel2 {
    0%, 100% { d: path("M0,126 C18,136 36,140 58,132 C82,123 101,108 124,112 C149,117 168,135 188,132 C194,131 198,128 200,127 L200,200 L0,200 Z"); }
    50%      { d: path("M0,130 C16,138 37,136 60,128 C82,120 103,110 126,116 C148,121 170,138 190,136 C195,135 198,133 200,132 L200,200 L0,200 Z"); }
}

@keyframes maia3WaveLine {
    0%, 100% {
        transform: scaleX(0.9) translateX(0);
        opacity: 0.46;
    }
    50% {
        transform: scaleX(1.02) translateX(2px);
        opacity: 0.95;
    }
}

@keyframes maia3Particle1 {
    0%,100% { transform: translate(0,0) scale(1); opacity: .65; }
    50% { transform: translate(5px,-8px) scale(1.25); opacity: 1; }
}
@keyframes maia3Particle2 {
    0%,100% { transform: translate(0,0) scale(1); opacity: .55; }
    50% { transform: translate(-4px,-6px) scale(1.15); opacity: .95; }
}
@keyframes maia3Particle3 {
    0%,100% { transform: translate(0,0) scale(1); opacity: .7; }
    50% { transform: translate(6px,-5px) scale(1.2); opacity: 1; }
}
@keyframes maia3Particle4 {
    0%,100% { transform: translate(0,0) scale(1); opacity: .58; }
    50% { transform: translate(-5px,-7px) scale(1.18); opacity: .92; }
}
@keyframes maia3Particle5 {
    0%,100% { transform: translate(0,0) scale(1); opacity: .6; }
    50% { transform: translate(-6px,-4px) scale(1.15); opacity: .9; }
}
@keyframes maia3Particle6 {
    0%,100% { transform: translate(0,0) scale(1); opacity: .62; }
    50% { transform: translate(4px,-9px) scale(1.22); opacity: 1; }
}
@keyframes maia3Particle7 {
    0%,100% { transform: translate(0,0) scale(1); opacity: .72; }
    50% { transform: translate(-3px,-7px) scale(1.14); opacity: .98; }
}
@keyframes maia3Particle8 {
    0%,100% { transform: translate(0,0) scale(1); opacity: .52; }
    50% { transform: translate(5px,-5px) scale(1.16); opacity: .9; }
}

@keyframes maia3EnergySpin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@keyframes maia3HighlightPulse {
    0%, 100% {
        opacity: 0.84;
        transform: rotate(-18deg) scale(1);
    }
    50% {
        opacity: 1;
        transform: rotate(-18deg) scale(1.06);
    }
}

@keyframes maia3OrbShine {
    0% {
        transform: translateX(-130%) rotate(20deg);
        opacity: 0;
    }
    20% {
        opacity: 0.55;
    }
    50% {
        opacity: 0.7;
    }
    100% {
        transform: translateX(230%) rotate(20deg);
        opacity: 0;
    }
}

@keyframes maia3OuterPulse {
    0%, 100% {
        transform: scale(0.94);
        opacity: 0.55;
    }
    50% {
        transform: scale(1.08);
        opacity: 1;
    }
}

@keyframes maia3OrbReactKick {
    0% {
        transform: scale(1);
    }
    35% {
        transform: scale(1.055);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes maia3GlowReact {
    0% {
        transform: scale(1);
        opacity: .8;
    }
    50% {
        transform: scale(1.14);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: .85;
    }
}

/* mobile */
@media (max-width: 640px) {
    .maia3-analysis-orb.premium {
        width: 126px;
        height: 126px;
    }

    .maia3-analysis-orb.premium .orb-core {
        inset: 12px;
    }

    .maia3-analysis-orb.premium .ring-2 {
        inset: -13px;
    }

    .maia3-analysis-orb.premium .ring-3 {
        inset: -24px;
    }
}



.maia3-analysis-orb.premium,
.maia3-analysis-orb.premium * {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}





/* =====================================
   ULTRA REALISTIC 3D ORB OVERRIDE
   Add class: premium ultra3d
   ===================================== */

.maia3-analysis-orb-wrap {
    perspective: 900px;
    transform-style: preserve-3d;
}

.maia3-analysis-orb.premium.ultra3d {
    width: 158px;
    height: 158px;
    transform-style: preserve-3d;
    transform: rotateX(0deg) rotateY(0deg) translateZ(0);
    animation: maia3UltraOrbFloat 5.4s ease-in-out infinite;
    filter:
        drop-shadow(0 22px 38px rgba(2, 8, 23, 0.36))
        drop-shadow(0 0 34px rgba(56, 189, 248, 0.26));
    will-change: transform, filter;
}

/* Ground soft shadow */
.maia3-analysis-orb.premium.ultra3d .orb-shadow {
    position: absolute;
    width: 118px;
    height: 26px;
    bottom: -42px;
    left: 50%;
    transform: translateX(-50%) rotateX(72deg);
    border-radius: 50%;
    background: radial-gradient(
        ellipse,
        rgba(2, 8, 23, 0.42) 0%,
        rgba(2, 8, 23, 0.22) 42%,
        rgba(2, 8, 23, 0.00) 72%
    );
    filter: blur(10px);
    opacity: 0.78;
    animation: maia3UltraShadow 5.4s ease-in-out infinite;
    pointer-events: none;
}

/* Main glow */
.maia3-analysis-orb.premium.ultra3d .orb-glow {
    inset: -30px;
    background:
        radial-gradient(circle at 45% 45%,
            rgba(255,255,255,0.22) 0%,
            rgba(125,211,252,0.28) 22%,
            rgba(59,130,246,0.18) 42%,
            rgba(14,165,233,0.06) 62%,
            transparent 76%);
    filter: blur(18px);
    transform: translateZ(-30px);
    animation: maia3UltraGlow 3.8s ease-in-out infinite;
}

/* 3D rings */
.maia3-analysis-orb.premium.ultra3d .orb-ring {
    transform-style: preserve-3d;
    opacity: 0.95;
}

.maia3-analysis-orb.premium.ultra3d .ring-1 {
    inset: -7px;
    border-width: 1px;
    border-top-color: rgba(255, 255, 255, 0.904);
    border-right-color: rgba(125,211,252,0.24);
    border-bottom-color: rgba(255,255,255,0.05);
    border-left-color: rgba(125,211,252,0.18);
    box-shadow:
        0 0 18px rgba(125,211,252,0.16),
        inset 0 0 10px rgba(255,255,255,0.08);
    animation: maia3UltraRing1 8s linear infinite;
}

.maia3-analysis-orb.premium.ultra3d .ring-2 {
    inset: -18px;
    border-width: 1px;
    border-top-color: rgba(186,230,253,0.16);
    border-right-color: rgba(255,255,255,0.48);
    border-bottom-color: rgba(96,165,250,0.08);
    border-left-color: rgba(255,255,255,0.08);
    animation: maia3UltraRing2 12s linear infinite;
}

.maia3-analysis-orb.premium.ultra3d .ring-3 {
    inset: -34px;
    border-width: 1px;
    border-style: dashed;
    border-color: rgba(191,219,254,0.18);
    animation: maia3UltraRing3 18s linear infinite;
}

/* Core glass sphere */
.maia3-analysis-orb.premium.ultra3d .orb-core {
    inset: 13px;
    transform-style: preserve-3d;
    background:
        radial-gradient(circle at 28% 18%,
            rgba(255,255,255,1) 0%,
            rgba(255,255,255,0.52) 9%,
            rgba(191,219,254,0.16) 18%,
            rgba(56,189,248,0.20) 38%,
            rgba(37,99,235,0.74) 68%,
            rgba(15,23,42,0.96) 100%);
    box-shadow:
        inset 10px 12px 24px rgba(255,255,255,0.22),
        inset -16px -22px 30px rgba(2,6,23,0.48),
        inset 0 0 22px rgba(125,211,252,0.22),
        0 0 28px rgba(56,189,248,0.24),
        0 18px 42px rgba(2,8,23,0.34);
}

/* Deep inner volume */
.maia3-analysis-orb.premium.ultra3d .orb-depth {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: 50%;
    background:
        radial-gradient(circle at 62% 70%,
            rgba(2,6,23,0.42) 0%,
            transparent 34%),
        radial-gradient(circle at 30% 26%,
            rgba(255,255,255,0.22) 0%,
            transparent 28%),
        radial-gradient(circle at 50% 52%,
            transparent 30%,
            rgba(14,165,233,0.13) 52%,
            rgba(2,6,23,0.28) 100%);
    mix-blend-mode: overlay;
    pointer-events: none;
}

/* SVG waves feel like liquid inside glass */
.maia3-analysis-orb.premium.ultra3d .orb-wave-svg {
    z-index: 1;
    transform: translateZ(-8px) scale(1.04);
    opacity: 0.95;
    filter: blur(0.2px);
}

.maia3-analysis-orb.premium.ultra3d .orb-wave-svg .wave-back {
    fill: rgba(56, 189, 248, 0.26);
    animation:
        maia3UltraWaveBack 7.4s ease-in-out infinite,
        maia3WaveLevel1 5.2s ease-in-out infinite;
}

.maia3-analysis-orb.premium.ultra3d .orb-wave-svg .wave-front {
    fill: rgba(96, 165, 250, 0.52);
    animation:
        maia3UltraWaveFront 5.6s ease-in-out infinite,
        maia3WaveLevel2 6.2s ease-in-out infinite;
}

/* Refraction glass layer */
.maia3-analysis-orb.premium.ultra3d .orb-refraction {
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: 50%;
    background:
        radial-gradient(ellipse at 34% 24%,
            rgba(255,255,255,0.36) 0%,
            rgba(255,255,255,0.12) 20%,
            transparent 38%),
        radial-gradient(ellipse at 74% 58%,
            rgba(255,255,255,0.08) 0%,
            transparent 30%),
        linear-gradient(135deg,
            rgba(255,255,255,0.10),
            transparent 36%,
            rgba(255,255,255,0.06) 58%,
            transparent 74%);
    mix-blend-mode: screen;
    pointer-events: none;
}

/* Caustic light pattern */
.maia3-analysis-orb.premium.ultra3d .orb-caustic {
    position: absolute;
    inset: 7%;
    z-index: 3;
    border-radius: 50%;
    background:
        repeating-radial-gradient(
            ellipse at 52% 66%,
            rgba(255,255,255,0.00) 0px,
            rgba(255,255,255,0.00) 8px,
            rgba(125,211,252,0.09) 10px,
            rgba(255,255,255,0.00) 16px
        );
    opacity: 0.52;
    mix-blend-mode: screen;
    filter: blur(0.7px);
    animation: maia3UltraCaustic 8s ease-in-out infinite;
    pointer-events: none;
}

/* Wave line depth */
.maia3-analysis-orb.premium.ultra3d .orb-wave-lines {
    inset: 20% 12%;
    z-index: 4;
    transform: translateZ(10px);
}

.maia3-analysis-orb.premium.ultra3d .orb-wave-lines i {
    height: 13px;
    border-top-color: rgba(255,255,255,0.34);
    border-bottom-color: rgba(125,211,252,0.05);
    box-shadow: 0 1px 6px rgba(255,255,255,0.05);
}

/* Particles with depth */
.maia3-analysis-orb.premium.ultra3d .orb-particles {
    z-index: 5;
    transform: translateZ(16px);
}

.maia3-analysis-orb.premium.ultra3d .orb-particles .p {
    width: 4px;
    height: 4px;
    background:
        radial-gradient(circle,
            rgba(255,255,255,1) 0%,
            rgba(224,242,254,0.95) 34%,
            rgba(125,211,252,0.10) 100%);
    box-shadow:
        0 0 8px rgba(255,255,255,0.72),
        0 0 18px rgba(56,189,248,0.36);
}

/* Energy layer */
.maia3-analysis-orb.premium.ultra3d .orb-energy {
    z-index: 6;
    background:
        conic-gradient(
            from 40deg,
            rgba(255,255,255,0.00),
            rgba(255,255,255,0.12),
            rgba(125,211,252,0.03),
            rgba(255,255,255,0.00),
            rgba(255,255,255,0.16),
            rgba(56,189,248,0.10),
            rgba(255,255,255,0.00)
        );
    opacity: 0.82;
    animation: maia3EnergySpin 9s linear infinite;
}

/* Lens distortion glossy layer */
.maia3-analysis-orb.premium.ultra3d .orb-lens {
    position: absolute;
    inset: 0;
    z-index: 8;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%,
            transparent 0%,
            transparent 48%,
            rgba(255,255,255,0.06) 61%,
            rgba(255,255,255,0.16) 78%,
            rgba(255,255,255,0.30) 100%);
    mix-blend-mode: screen;
    pointer-events: none;
}

/* Strong realistic highlight */
.maia3-analysis-orb.premium.ultra3d .orb-highlight {
    z-index: 9;
    top: 10%;
    left: 15%;
    width: 42%;
    height: 27%;
    background:
        radial-gradient(ellipse,
            rgba(255,255,255,0.92) 0%,
            rgba(255,255,255,0.34) 34%,
            rgba(255,255,255,0.08) 62%,
            transparent 76%);
    filter: blur(2.2px);
    transform: rotate(-21deg) translateZ(24px);
    animation: maia3UltraHighlight 3.4s ease-in-out infinite;
}

/* Moving reflection */
.maia3-analysis-orb.premium.ultra3d .orb-shine {
    z-index: 10;
    top: -20%;
    left: -16%;
    width: 54%;
    height: 170%;
    background:
        linear-gradient(
            to right,
            rgba(255,255,255,0),
            rgba(255,255,255,0.06),
            rgba(255,255,255,0.24),
            rgba(255,255,255,0.06),
            rgba(255,255,255,0)
        );
    filter: blur(3px);
    opacity: 0.7;
    animation: maia3UltraShine 6.4s cubic-bezier(.4,0,.2,1) infinite;
}

/* Fresnel rim */
.maia3-analysis-orb.premium.ultra3d .orb-fresnel {
    position: absolute;
    inset: 0;
    z-index: 11;
    border-radius: 50%;
    pointer-events: none;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.22),
        inset 10px 8px 18px rgba(255,255,255,0.12),
        inset -14px -16px 22px rgba(2,6,23,0.30);
    background:
        radial-gradient(circle at 50% 50%,
            transparent 58%,
            rgba(255,255,255,0.10) 72%,
            rgba(186,230,253,0.38) 92%,
            rgba(255,255,255,0.58) 100%);
    mix-blend-mode: screen;
}

/* Subtle noise for non-plastic look */
.maia3-analysis-orb.premium.ultra3d .orb-noise {
    position: absolute;
    inset: 0;
    z-index: 12;
    border-radius: 50%;
    opacity: 0.08;
    mix-blend-mode: overlay;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 20% 20%, rgba(255,255,255,0.8) 0 1px, transparent 1.5px),
        radial-gradient(circle at 80% 30%, rgba(255,255,255,0.6) 0 1px, transparent 1.4px),
        radial-gradient(circle at 45% 75%, rgba(255,255,255,0.7) 0 1px, transparent 1.5px);
    background-size: 18px 18px, 24px 24px, 28px 28px;
    animation: maia3UltraNoise 7s steps(4) infinite;
}

/* Better reaction state */
.maia3-analysis-orb.premium.ultra3d.is-reacting {
    animation:
        maia3UltraReact 0.72s cubic-bezier(.2,.8,.2,1),
        maia3UltraOrbFloat 5.4s ease-in-out infinite 0.72s;
    filter:
        drop-shadow(0 24px 44px rgba(2, 8, 23, 0.38))
        drop-shadow(0 0 46px rgba(56, 189, 248, 0.42));
}

.maia3-analysis-orb.premium.ultra3d.is-reacting .orb-core {
    box-shadow:
        inset 10px 12px 24px rgba(255,255,255,0.28),
        inset -16px -22px 30px rgba(2,6,23,0.44),
        inset 0 0 30px rgba(125,211,252,0.34),
        0 0 38px rgba(56,189,248,0.34),
        0 18px 48px rgba(2,8,23,0.36);
}

.maia3-analysis-orb.premium.ultra3d.is-reacting .orb-glow {
    animation: maia3UltraReactGlow 0.72s ease;
}

.maia3-analysis-orb.premium.ultra3d.is-reacting .orb-particles .p {
    transform: scale(1.7);
}

/* =====================================
   ULTRA 3D ANIMATIONS
   ===================================== */

@keyframes maia3UltraOrbFloat {
    0%, 100% {
        transform: translateY(0) rotateX(0deg) rotateY(0deg) scale(1);
    }
    25% {
        transform: translateY(-5px) rotateX(2.5deg) rotateY(-3deg) scale(1.01);
    }
    50% {
        transform: translateY(-10px) rotateX(-1.5deg) rotateY(3deg) scale(1.015);
    }
    75% {
        transform: translateY(-4px) rotateX(2deg) rotateY(1.5deg) scale(1.006);
    }
}

@keyframes maia3UltraShadow {
    0%, 100% {
        transform: translateX(-50%) rotateX(72deg) scale(1);
        opacity: 0.70;
    }
    50% {
        transform: translateX(-50%) rotateX(72deg) scale(0.82);
        opacity: 0.46;
    }
}

@keyframes maia3UltraGlow {
    0%, 100% {
        transform: translateZ(-30px) scale(0.94);
        opacity: 0.72;
    }
    50% {
        transform: translateZ(-30px) scale(1.12);
        opacity: 1;
    }
}

@keyframes maia3UltraRing1 {
    from {
        transform: rotateX(67deg) rotateZ(0deg);
    }
    to {
        transform: rotateX(67deg) rotateZ(360deg);
    }
}

@keyframes maia3UltraRing2 {
    from {
        transform: rotateY(58deg) rotateZ(360deg);
    }
    to {
        transform: rotateY(58deg) rotateZ(0deg);
    }
}

@keyframes maia3UltraRing3 {
    from {
        transform: rotateX(74deg) rotateY(18deg) rotateZ(0deg);
    }
    to {
        transform: rotateX(74deg) rotateY(18deg) rotateZ(360deg);
    }
}

@keyframes maia3UltraWaveBack {
    0%, 100% {
        transform: translateX(-5%) translateY(0) scaleY(1);
        opacity: 0.72;
    }
    50% {
        transform: translateX(4%) translateY(-2%) scaleY(1.05);
        opacity: 0.95;
    }
}

@keyframes maia3UltraWaveFront {
    0%, 100% {
        transform: translateX(5%) translateY(0) scaleY(1);
        opacity: 0.82;
    }
    50% {
        transform: translateX(-5%) translateY(2%) scaleY(1.04);
        opacity: 1;
    }
}

@keyframes maia3UltraCaustic {
    0%, 100% {
        transform: rotate(0deg) scale(1);
        opacity: 0.42;
    }
    50% {
        transform: rotate(7deg) scale(1.04);
        opacity: 0.68;
    }
}

@keyframes maia3UltraHighlight {
    0%, 100% {
        opacity: 0.86;
        transform: rotate(-21deg) translateZ(24px) scale(1);
    }
    50% {
        opacity: 1;
        transform: rotate(-21deg) translateZ(24px) scale(1.08);
    }
}

@keyframes maia3UltraShine {
    0% {
        transform: translateX(-155%) rotate(20deg);
        opacity: 0;
    }
    18% {
        opacity: 0.72;
    }
    46% {
        opacity: 0.52;
    }
    100% {
        transform: translateX(260%) rotate(20deg);
        opacity: 0;
    }
}

@keyframes maia3UltraNoise {
    0%, 100% {
        transform: translate(0,0);
    }
    25% {
        transform: translate(-1px,1px);
    }
    50% {
        transform: translate(1px,-1px);
    }
    75% {
        transform: translate(1px,1px);
    }
}

@keyframes maia3UltraReact {
    0% {
        transform: translateY(0) rotateX(0deg) rotateY(0deg) scale(1);
    }
    34% {
        transform: translateY(-6px) rotateX(-4deg) rotateY(6deg) scale(1.07);
    }
    68% {
        transform: translateY(-2px) rotateX(2deg) rotateY(-3deg) scale(0.985);
    }
    100% {
        transform: translateY(0) rotateX(0deg) rotateY(0deg) scale(1);
    }
}

@keyframes maia3UltraReactGlow {
    0% {
        transform: translateZ(-30px) scale(0.96);
        opacity: 0.78;
    }
    50% {
        transform: translateZ(-30px) scale(1.22);
        opacity: 1;
    }
    100% {
        transform: translateZ(-30px) scale(1);
        opacity: 0.84;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .maia3-analysis-orb.premium.ultra3d {
        width: 130px;
        height: 130px;
    }

    .maia3-analysis-orb.premium.ultra3d .orb-core {
        inset: 12px;
    }

    .maia3-analysis-orb.premium.ultra3d .ring-2 {
        inset: -15px;
    }

    .maia3-analysis-orb.premium.ultra3d .ring-3 {
        inset: -27px;
    }

    .maia3-analysis-orb.premium.ultra3d .orb-shadow {
        width: 96px;
        bottom: -36px;
    }
}













/* =====================================
   ULTRA 3D ORB - BRIGHTER + RESPONSIVE
   ===================================== */

.maia3-analysis-overlay {
    padding: clamp(12px, 2vw, 24px);
}

.maia3-analysis-card {
    width: min(100%, 460px);
}

.maia3-analysis-orb-wrap {
    min-height: clamp(180px, 34vw, 250px);
    perspective: 1000px;
    transform-style: preserve-3d;
}

/* orb main */
.maia3-analysis-orb.premium.ultra3d {
    width: clamp(118px, 22vw, 170px);
    height: clamp(118px, 22vw, 170px);
    filter:
        drop-shadow(0 18px 30px rgba(2, 8, 23, 0.28))
        drop-shadow(0 0 28px rgba(56, 189, 248, 0.38))
        drop-shadow(0 0 58px rgba(59, 130, 246, 0.28));
}

/* stronger ambient glow */
.maia3-analysis-orb.premium.ultra3d .orb-glow {
    inset: -34px;
    background:
        radial-gradient(circle at 50% 50%,
            rgba(255,255,255,0.24) 0%,
            rgba(125,211,252,0.38) 18%,
            rgba(56,189,248,0.34) 34%,
            rgba(59,130,246,0.24) 52%,
            rgba(14,165,233,0.10) 66%,
            transparent 78%);
    filter: blur(22px);
    opacity: 1;
}

/* brighter sphere */
.maia3-analysis-orb.premium.ultra3d .orb-core {
    background:
        radial-gradient(circle at 28% 18%,
            rgba(255,255,255,1) 0%,
            rgba(255,255,255,0.72) 8%,
            rgba(224,242,254,0.26) 18%,
            rgba(125,211,252,0.24) 34%,
            rgba(56,189,248,0.32) 50%,
            rgba(37,99,235,0.82) 72%,
            rgba(15,23,42,0.96) 100%);
    box-shadow:
        inset 10px 12px 24px rgba(255,255,255,0.28),
        inset -16px -22px 30px rgba(2,6,23,0.42),
        inset 0 0 26px rgba(125,211,252,0.30),
        0 0 36px rgba(56,189,248,0.34),
        0 0 76px rgba(59,130,246,0.22),
        0 18px 42px rgba(2,8,23,0.30);
}

/* stronger rings */
.maia3-analysis-orb.premium.ultra3d .ring-1 {
    box-shadow:
        0 0 22px rgba(125,211,252,0.22),
        0 0 40px rgba(56,189,248,0.10),
        inset 0 0 12px rgba(255,255,255,0.10);
    border-top-color: rgba(255,255,255,0.9);
}

.maia3-analysis-orb.premium.ultra3d .ring-2 {
    border-right-color: rgba(255,255,255,0.62);
}

.maia3-analysis-orb.premium.ultra3d .ring-3 {
    border-color: rgba(191,219,254,0.24);
}

/* brighter waves */
.maia3-analysis-orb.premium.ultra3d .orb-wave-svg .wave-back {
    fill: rgba(56, 189, 248, 0.34);
}

.maia3-analysis-orb.premium.ultra3d .orb-wave-svg .wave-front {
    fill: rgba(125, 211, 252, 0.60);
}

/* more visible caustic */
.maia3-analysis-orb.premium.ultra3d .orb-caustic {
    opacity: 0.72;
}

/* brighter particles */
.maia3-analysis-orb.premium.ultra3d .orb-particles .p {
    width: clamp(3px, 0.7vw, 5px);
    height: clamp(3px, 0.7vw, 5px);
    box-shadow:
        0 0 10px rgba(255,255,255,0.88),
        0 0 22px rgba(56,189,248,0.48),
        0 0 34px rgba(125,211,252,0.28);
}

/* stronger energy */
.maia3-analysis-orb.premium.ultra3d .orb-energy {
    opacity: 1;
    background:
        conic-gradient(
            from 40deg,
            rgba(255,255,255,0.00),
            rgba(255,255,255,0.16),
            rgba(125,211,252,0.08),
            rgba(255,255,255,0.00),
            rgba(255,255,255,0.22),
            rgba(56,189,248,0.14),
            rgba(255,255,255,0.00)
        );
}

/* stronger glass highlight */
.maia3-analysis-orb.premium.ultra3d .orb-highlight {
    background:
        radial-gradient(ellipse,
            rgba(255,255,255,1) 0%,
            rgba(255,255,255,0.52) 30%,
            rgba(255,255,255,0.12) 60%,
            transparent 76%);
    opacity: 1;
    filter: blur(2.4px);
}

/* brighter shine */
.maia3-analysis-orb.premium.ultra3d .orb-shine {
    background: linear-gradient(
        to right,
        rgba(255,255,255,0),
        rgba(255,255,255,0.10),
        rgba(255,255,255,0.34),
        rgba(255,255,255,0.10),
        rgba(255,255,255,0)
    );
    opacity: 0.95;
}

/* brighter fresnel edge */
.maia3-analysis-orb.premium.ultra3d .orb-fresnel {
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.32),
        inset 10px 8px 18px rgba(255,255,255,0.14),
        inset -14px -16px 22px rgba(2,6,23,0.26);
    background:
        radial-gradient(circle at 50% 50%,
            transparent 56%,
            rgba(255,255,255,0.12) 72%,
            rgba(186,230,253,0.46) 90%,
            rgba(255,255,255,0.72) 100%);
}

/* outer ambient light around orb */
.maia3-analysis-orb-wrap::before {
    width: clamp(170px, 30vw, 220px);
    height: clamp(170px, 30vw, 220px);
    background: radial-gradient(circle, rgba(59,130,246,0.18), transparent 68%);
    filter: blur(4px);
}

.maia3-analysis-orb-wrap::after {
    width: clamp(220px, 42vw, 290px);
    height: clamp(220px, 42vw, 290px);
    background: radial-gradient(circle, rgba(14,165,233,0.12), transparent 72%);
    filter: blur(8px);
}

/* text responsive */
.maia3-analysis-content h3 {
    font-size: clamp(18px, 2.4vw, 24px);
}

.maia3-analysis-content p {
    font-size: clamp(13px, 1.7vw, 15px);
    line-height: 1.9;
}

/* =========================
   TABLET
   ========================= */
@media (max-width: 900px) {
    .maia3-analysis-card {
        width: min(100%, 420px);
        padding: 24px 18px 20px;
    }

    .maia3-analysis-orb-wrap {
        min-height: 200px;
    }
}

/* =========================
   MOBILE
   ========================= */
@media (max-width: 640px) {
    .maia3-analysis-overlay {
        padding: 12px;
    }

    .maia3-analysis-card {
        width: 100%;
        max-width: 100%;
        border-radius: 22px;
        padding: 18px 14px 16px;
    }

    .maia3-analysis-badge {
        min-height: 25px;
        padding: 0 12px;
        font-size: 8px;
        margin-bottom: 10px;
    }

    .maia3-analysis-orb-wrap {
        min-height: 165px;
        margin: 4px 0 14px;
    }

    .maia3-analysis-orb.premium.ultra3d {
        width: 118px;
        height: 118px;
    }

    .maia3-analysis-orb.premium.ultra3d .orb-core {
        inset: 11px;
    }

    .maia3-analysis-orb.premium.ultra3d .ring-1 {
        inset: -5px;
    }

    .maia3-analysis-orb.premium.ultra3d .ring-2 {
        inset: -12px;
    }

    .maia3-analysis-orb.premium.ultra3d .ring-3 {
        inset: -20px;
    }

    .maia3-analysis-orb.premium.ultra3d .orb-shadow {
        width: 88px;
        height: 20px;
        bottom: -30px;
    }

    .maia3-analysis-orb.premium.ultra3d .orb-glow {
        inset: -24px;
        filter: blur(16px);
    }

    .maia3-analysis-content h3 {
        font-size: 18px;
        line-height: 1.6;
    }

    .maia3-analysis-content p {
        font-size: 13px;
        min-height: 24px;
    }
}

/* =========================
   SMALL MOBILE
   ========================= */
@media (max-width: 380px) {
    .maia3-analysis-card {
        padding: 16px 12px 14px;
        border-radius: 18px;
    }

    .maia3-analysis-orb-wrap {
        min-height: 150px;
    }

    .maia3-analysis-orb.premium.ultra3d {
        width: 104px;
        height: 104px;
    }

    .maia3-analysis-orb.premium.ultra3d .orb-core {
        inset: 10px;
    }

    .maia3-analysis-content h3 {
        font-size: 16px;
    }

    .maia3-analysis-content p {
        font-size: 12px;
        line-height: 1.8;
    }
}




