:root, :root[data-theme="neural"] {
    --accent-primary: #2dd4bf;
    --accent-primary-light: #5eead4;
    --accent-primary-dim: rgba(45,212,191,0.15);
    --accent-primary-glow: rgba(45,212,191,0.3);
    --accent-error: #f472b6;
    --accent-error-light: #f9a8d4;
    --accent-error-dim: rgba(244,114,182,0.15);
    --accent-error-glow: rgba(244,114,182,0.3);
    --accent-warning: #fbbf24;
    --accent-warning-light: #fde68a;
    --accent-warning-dim: rgba(251,191,36,0.15);
    --accent-warning-glow: rgba(251,191,36,0.3);
    --accent-success: #34d399;
    --accent-success-light: #6ee7b7;
    --accent-success-dim: rgba(52,211,153,0.15);
    --accent-success-glow: rgba(52,211,153,0.3);
    --accent-info: #60a5fa;
    --accent-info-light: #93c5fd;
    --accent-info-dim: rgba(96,165,250,0.15);
    --accent-info-glow: rgba(96,165,250,0.3);
    --accent-special: #a78bfa;
    --accent-special-light: #c4b5fd;
    --accent-special-dim: rgba(167,139,250,0.15);
    --accent-special-glow: rgba(167,139,250,0.3);
    --bg-base: #0a0e17;
    --bg-elevated: #0f1520;
    --bg-surface: #141c2b;
    --bg-surface-hover: #1a2435;
    --bg-deep: #0c1929;
    --border-main: #1e2d42;
    --border-glow: rgba(45,212,191,0.5);
    --text-primary: #e8ecf2;
    --text-secondary: #8494a7;
    --text-muted: #506175;
    --gradient-start: #2dd4bf;
    --gradient-end: #a78bfa;
}

:root[data-theme="phosphor"] {
    --accent-primary: #4ade80;
    --accent-primary-light: #86efac;
    --accent-primary-dim: rgba(74,222,128,0.15);
    --accent-primary-glow: rgba(74,222,128,0.3);
    --accent-error: #fb7185;
    --accent-error-light: #fda4af;
    --accent-error-dim: rgba(251,113,133,0.15);
    --accent-error-glow: rgba(251,113,133,0.3);
    --accent-warning: #facc15;
    --accent-warning-light: #fef08a;
    --accent-warning-dim: rgba(250,204,21,0.15);
    --accent-warning-glow: rgba(250,204,21,0.3);
    --accent-success: #86efac;
    --accent-success-light: #bbf7d0;
    --accent-success-dim: rgba(134,239,172,0.15);
    --accent-success-glow: rgba(134,239,172,0.3);
    --accent-info: #67e8f9;
    --accent-info-light: #a5f3fc;
    --accent-info-dim: rgba(103,232,249,0.15);
    --accent-info-glow: rgba(103,232,249,0.3);
    --accent-special: #a5f3fc;
    --accent-special-light: #cffafe;
    --accent-special-dim: rgba(165,243,252,0.15);
    --accent-special-glow: rgba(165,243,252,0.3);
    --bg-base: #0a120a;
    --bg-elevated: #0f1a0f;
    --bg-surface: #121f12;
    --bg-surface-hover: #1a2e1a;
    --bg-deep: #0d180d;
    --border-main: #1a3a1a;
    --border-glow: rgba(74,222,128,0.5);
    --text-primary: #d1fae5;
    --text-secondary: #6b9a6b;
    --text-muted: #3d5c3d;
    --gradient-start: #4ade80;
    --gradient-end: #67e8f9;
}

:root[data-theme="ember"] {
    --accent-primary: #fb923c;
    --accent-primary-light: #fdba74;
    --accent-primary-dim: rgba(251,146,60,0.15);
    --accent-primary-glow: rgba(251,146,60,0.3);
    --accent-error: #f87171;
    --accent-error-light: #fca5a5;
    --accent-error-dim: rgba(248,113,113,0.15);
    --accent-error-glow: rgba(248,113,113,0.3);
    --accent-warning: #fde047;
    --accent-warning-light: #fef08a;
    --accent-warning-dim: rgba(253,224,71,0.15);
    --accent-warning-glow: rgba(253,224,71,0.3);
    --accent-success: #4ade80;
    --accent-success-light: #86efac;
    --accent-success-dim: rgba(74,222,128,0.15);
    --accent-success-glow: rgba(74,222,128,0.3);
    --accent-info: #38bdf8;
    --accent-info-light: #7dd3fc;
    --accent-info-dim: rgba(56,189,248,0.15);
    --accent-info-glow: rgba(56,189,248,0.3);
    --accent-special: #c084fc;
    --accent-special-light: #d8b4fe;
    --accent-special-dim: rgba(192,132,252,0.15);
    --accent-special-glow: rgba(192,132,252,0.3);
    --bg-base: #120e0a;
    --bg-elevated: #1a140f;
    --bg-surface: #1f1812;
    --bg-surface-hover: #2a201a;
    --bg-deep: #160f08;
    --border-main: #3a2a1a;
    --border-glow: rgba(251,146,60,0.5);
    --text-primary: #fef3e2;
    --text-secondary: #a8845c;
    --text-muted: #5c4a3d;
    --gradient-start: #fb923c;
    --gradient-end: #c084fc;
}

:root[data-theme="cryo"] {
    --accent-primary: #38bdf8;
    --accent-primary-light: #7dd3fc;
    --accent-primary-dim: rgba(56,189,248,0.15);
    --accent-primary-glow: rgba(56,189,248,0.3);
    --accent-error: #f472b6;
    --accent-error-light: #f9a8d4;
    --accent-error-dim: rgba(244,114,182,0.15);
    --accent-error-glow: rgba(244,114,182,0.3);
    --accent-warning: #fbbf24;
    --accent-warning-light: #fde68a;
    --accent-warning-dim: rgba(251,191,36,0.15);
    --accent-warning-glow: rgba(251,191,36,0.3);
    --accent-success: #2dd4bf;
    --accent-success-light: #5eead4;
    --accent-success-dim: rgba(45,212,191,0.15);
    --accent-success-glow: rgba(45,212,191,0.3);
    --accent-info: #818cf8;
    --accent-info-light: #a5b4fc;
    --accent-info-dim: rgba(129,140,248,0.15);
    --accent-info-glow: rgba(129,140,248,0.3);
    --accent-special: #a78bfa;
    --accent-special-light: #c4b5fd;
    --accent-special-dim: rgba(167,139,250,0.15);
    --accent-special-glow: rgba(167,139,250,0.3);
    --bg-base: #080c14;
    --bg-elevated: #0c1220;
    --bg-surface: #101828;
    --bg-surface-hover: #182236;
    --bg-deep: #0a1020;
    --border-main: #1e3050;
    --border-glow: rgba(56,189,248,0.5);
    --text-primary: #e0f2fe;
    --text-secondary: #7aa2c4;
    --text-muted: #3a5570;
    --gradient-start: #38bdf8;
    --gradient-end: #818cf8;
}

:root[data-theme="synapse"] {
    --accent-primary: #c084fc;
    --accent-primary-light: #d8b4fe;
    --accent-primary-dim: rgba(192,132,252,0.15);
    --accent-primary-glow: rgba(192,132,252,0.3);
    --accent-error: #fb7185;
    --accent-error-light: #fda4af;
    --accent-error-dim: rgba(251,113,133,0.15);
    --accent-error-glow: rgba(251,113,133,0.3);
    --accent-warning: #fcd34d;
    --accent-warning-light: #fef08a;
    --accent-warning-dim: rgba(252,211,77,0.15);
    --accent-warning-glow: rgba(252,211,77,0.3);
    --accent-success: #34d399;
    --accent-success-light: #6ee7b7;
    --accent-success-dim: rgba(52,211,153,0.15);
    --accent-success-glow: rgba(52,211,153,0.3);
    --accent-info: #67e8f9;
    --accent-info-light: #a5f3fc;
    --accent-info-dim: rgba(103,232,249,0.15);
    --accent-info-glow: rgba(103,232,249,0.3);
    --accent-special: #f0abfc;
    --accent-special-light: #f5d0fe;
    --accent-special-dim: rgba(240,171,252,0.15);
    --accent-special-glow: rgba(240,171,252,0.3);
    --bg-base: #0e0a14;
    --bg-elevated: #14101e;
    --bg-surface: #1a1225;
    --bg-surface-hover: #241a32;
    --bg-deep: #110c1a;
    --border-main: #2d1f42;
    --border-glow: rgba(192,132,252,0.5);
    --text-primary: #f0e6ff;
    --text-secondary: #9a7abf;
    --text-muted: #5a4570;
    --gradient-start: #c084fc;
    --gradient-end: #f0abfc;
}

:root[data-theme="stealth"] {
    --accent-primary: #a1a1aa;
    --accent-primary-light: #d4d4d8;
    --accent-primary-dim: rgba(161,161,170,0.15);
    --accent-primary-glow: rgba(161,161,170,0.3);
    --accent-error: #ef4444;
    --accent-error-light: #fca5a5;
    --accent-error-dim: rgba(239,68,68,0.15);
    --accent-error-glow: rgba(239,68,68,0.3);
    --accent-warning: #f59e0b;
    --accent-warning-light: #fcd34d;
    --accent-warning-dim: rgba(245,158,11,0.15);
    --accent-warning-glow: rgba(245,158,11,0.3);
    --accent-success: #22c55e;
    --accent-success-light: #86efac;
    --accent-success-dim: rgba(34,197,94,0.15);
    --accent-success-glow: rgba(34,197,94,0.3);
    --accent-info: #a1a1aa;
    --accent-info-light: #d4d4d8;
    --accent-info-dim: rgba(161,161,170,0.15);
    --accent-info-glow: rgba(161,161,170,0.3);
    --accent-special: #d4d4d8;
    --accent-special-light: #e4e4e7;
    --accent-special-dim: rgba(212,212,216,0.15);
    --accent-special-glow: rgba(212,212,216,0.3);
    --bg-base: #09090b;
    --bg-elevated: #111113;
    --bg-surface: #18181b;
    --bg-surface-hover: #222225;
    --bg-deep: #0e0e10;
    --border-main: #27272a;
    --border-glow: rgba(161,161,170,0.5);
    --text-primary: #e4e4e7;
    --text-secondary: #71717a;
    --text-muted: #3f3f46;
    --gradient-start: #a1a1aa;
    --gradient-end: #d4d4d8;
}

.oblio-logo {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}
.oblio-avatar {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 50%;
    background: var(--accent-primary-dim);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.wm-line { opacity: 0.2; }
.wm-line-1 { animation: wmPulse 1.2s ease-in-out 0s infinite; }
.wm-line-2 { animation: wmPulse 1.2s ease-in-out 0.2s infinite; }
.wm-line-3 { animation: wmPulse 1.2s ease-in-out 0.4s infinite; }
.wm-line-4 { animation: wmPulse 1.2s ease-in-out 0.6s infinite; }
.wm-line-5 { animation: wmPulse 1.2s ease-in-out 0.8s infinite; }
@keyframes wmPulse {
    0%, 100% { opacity: 0.2; }
    30%, 50% { opacity: 1; }
}
.talk-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    filter: drop-shadow(0 0 3px rgba(229,57,53,0.4));
}
.talk-icon rect { opacity: 0.3; }
.talk-bar-1 { animation: talkPulse 1.4s ease-in-out 0s infinite; }
.talk-bar-2 { animation: talkPulse 1.4s ease-in-out 0.15s infinite; }
.talk-bar-3 { animation: talkPulse 1.4s ease-in-out 0.3s infinite; }
.talk-bar-4 { animation: talkPulse 1.4s ease-in-out 0.45s infinite; }
.talk-bar-5 { animation: talkPulse 1.4s ease-in-out 0.6s infinite; }
.talk-bar-6 { animation: talkPulse 1.4s ease-in-out 0.45s infinite; }
.talk-bar-7 { animation: talkPulse 1.4s ease-in-out 0.3s infinite; }
@keyframes talkPulse {
    0%, 100% { opacity: 0.25; transform: scaleY(0.7); }
    30%, 50% { opacity: 1; transform: scaleY(1); filter: drop-shadow(0 0 2px rgba(229,57,53,0.6)); }
}
.vitals-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    filter: drop-shadow(0 0 3px rgba(74,222,128,0.4));
}
.vitals-icon line { opacity: 0.15; }
.vt-1, .vt-2, .vt-3, .vt-4, .vt-5 { animation: vitalsBeat 4s step-end 0s infinite; }
@keyframes vitalsBeat {
    0%, 25% { opacity: 1; filter: drop-shadow(0 0 3px rgba(74,222,128,0.8)); }
    25.1%, 50% { opacity: 0.15; filter: none; }
    50.1%, 62.5% { opacity: 1; filter: drop-shadow(0 0 3px rgba(74,222,128,0.8)); }
    62.6%, 75% { opacity: 0.15; filter: none; }
    75.1%, 100% { opacity: 1; filter: drop-shadow(0 0 3px rgba(74,222,128,0.8)); }
}
.reason-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}
.reason-icon rect { transform-origin: center; }
.reason-bar-1 { animation: reasonPulse1 2.4s ease-in-out 0s infinite; }
.reason-bar-2 { animation: reasonPulse2 2.4s ease-in-out 0.3s infinite; }
.reason-bar-3 { animation: reasonPulse3 2.4s ease-in-out 0.6s infinite; }
.reason-bar-4 { animation: reasonPulse4 2.4s ease-in-out 0.9s infinite; }
.reason-bar-5 { animation: reasonPulse5 2.4s ease-in-out 1.2s infinite; }
@keyframes reasonPulse1 {
    0%, 100% { opacity: 0.3; fill: #7c3aed; transform: scaleY(0.6); }
    25% { opacity: 1; fill: #a78bfa; transform: scaleY(1); filter: drop-shadow(0 0 3px rgba(167,139,250,0.7)); }
    50% { opacity: 0.6; fill: #8b5cf6; transform: scaleY(0.8); }
}
@keyframes reasonPulse2 {
    0%, 100% { opacity: 0.3; fill: #8b5cf6; transform: scaleY(0.6); }
    25% { opacity: 1; fill: #c084fc; transform: scaleY(1); filter: drop-shadow(0 0 3px rgba(192,132,252,0.7)); }
    50% { opacity: 0.6; fill: #a78bfa; transform: scaleY(0.8); }
}
@keyframes reasonPulse3 {
    0%, 100% { opacity: 0.3; fill: #a78bfa; transform: scaleY(0.6); }
    25% { opacity: 1; fill: #e879f9; transform: scaleY(1); filter: drop-shadow(0 0 3px rgba(232,121,249,0.7)); }
    50% { opacity: 0.6; fill: #c084fc; transform: scaleY(0.8); }
}
@keyframes reasonPulse4 {
    0%, 100% { opacity: 0.3; fill: #c084fc; transform: scaleY(0.6); }
    25% { opacity: 1; fill: #f0abfc; transform: scaleY(1); filter: drop-shadow(0 0 3px rgba(240,171,252,0.7)); }
    50% { opacity: 0.6; fill: #e879f9; transform: scaleY(0.8); }
}
@keyframes reasonPulse5 {
    0%, 100% { opacity: 0.3; fill: #e879f9; transform: scaleY(0.6); }
    25% { opacity: 1; fill: #f5d0fe; transform: scaleY(1); filter: drop-shadow(0 0 3px rgba(245,208,254,0.7)); }
    50% { opacity: 0.6; fill: #f0abfc; transform: scaleY(0.8); }
}
.neuro-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}
.neuro-icon rect { opacity: 0.25; }
.nd-a { animation: neuroA 3.2s ease-in-out 0s infinite; }
.nd-b { animation: neuroB 2.8s ease-in-out 0.4s infinite; }
.nd-c { animation: neuroC 3.5s ease-in-out 0.8s infinite; }
.nd-d { animation: neuroD 2.6s ease-in-out 1.2s infinite; }
.nd-e { animation: neuroE 3.0s ease-in-out 0.2s infinite; }
.nd-f { animation: neuroF 2.9s ease-in-out 0.6s infinite; }
.nd-g { animation: neuroG 3.3s ease-in-out 1.0s infinite; }
.nd-h { animation: neuroH 2.7s ease-in-out 1.4s infinite; }
@keyframes neuroA {
    0%,100% { opacity:.2; fill:#ff69b4; } 25% { opacity:1; fill:#ff1493; filter:drop-shadow(0 0 2px #ff1493); } 60% { opacity:.4; fill:#e879f9; }
}
@keyframes neuroB {
    0%,100% { opacity:.2; fill:#ff8c00; } 30% { opacity:1; fill:#ff6347; filter:drop-shadow(0 0 2px #ff6347); } 65% { opacity:.3; fill:#ffa500; }
}
@keyframes neuroC {
    0%,100% { opacity:.2; fill:#ffd700; } 20% { opacity:1; fill:#f0e130; filter:drop-shadow(0 0 2px #f0e130); } 55% { opacity:.4; fill:#7cfc00; }
}
@keyframes neuroD {
    0%,100% { opacity:.2; fill:#00e5ff; } 35% { opacity:1; fill:#00bcd4; filter:drop-shadow(0 0 2px #00bcd4); } 70% { opacity:.3; fill:#40c4ff; }
}
@keyframes neuroE {
    0%,100% { opacity:.2; fill:#7c4dff; } 25% { opacity:1; fill:#9c27b0; filter:drop-shadow(0 0 2px #9c27b0); } 50% { opacity:.4; fill:#e040fb; }
}
@keyframes neuroF {
    0%,100% { opacity:.2; fill:#76ff03; } 30% { opacity:1; fill:#00e676; filter:drop-shadow(0 0 2px #00e676); } 60% { opacity:.3; fill:#69f0ae; }
}
@keyframes neuroG {
    0%,100% { opacity:.2; fill:#448aff; } 20% { opacity:1; fill:#2979ff; filter:drop-shadow(0 0 2px #2979ff); } 55% { opacity:.4; fill:#82b1ff; }
}
@keyframes neuroH {
    0%,100% { opacity:.2; fill:#e040fb; } 35% { opacity:1; fill:#d500f9; filter:drop-shadow(0 0 2px #d500f9); } 65% { opacity:.3; fill:#ea80fc; }
}
.energy-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}
.energy-icon rect { opacity: 0.2; }
.eg-1 { animation: energyGlow 2.0s ease-in-out 0s infinite; }
.eg-2 { animation: energyGlow 2.0s ease-in-out 0.2s infinite; }
.eg-3 { animation: energyGlow 2.0s ease-in-out 0.4s infinite; }
.eg-4 { animation: energyGlow 2.0s ease-in-out 0.6s infinite; }
.eg-5 { animation: energyGlow 2.0s ease-in-out 0.8s infinite; }
.eg-6 { animation: energyGlow 2.0s ease-in-out 1.0s infinite; }
.eg-7 { animation: energyGlow 2.0s ease-in-out 1.2s infinite; }
@keyframes energyGlow {
    0%,100% { opacity:.15; fill:#b8860b; }
    30% { opacity:1; fill:#ffd700; filter:drop-shadow(0 0 3px rgba(255,215,0,0.8)); }
    60% { opacity:.5; fill:#daa520; }
}
.brain-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}
.brain-icon rect { transform-origin: center bottom; }
.br-1 { animation: brainPulse1 2.2s ease-in-out 0s infinite; }
.br-2 { animation: brainPulse2 2.2s ease-in-out 0.25s infinite; }
.br-3 { animation: brainPulse3 2.2s ease-in-out 0.5s infinite; }
.br-4 { animation: brainPulse4 2.2s ease-in-out 0.75s infinite; }
.br-5 { animation: brainPulse5 2.2s ease-in-out 0.5s infinite; }
.br-6 { animation: brainPulse6 2.2s ease-in-out 0.25s infinite; }
.br-7 { animation: brainPulse7 2.2s ease-in-out 0s infinite; }
.br-d1 { animation: brainDot 1.8s ease-in-out 0.3s infinite; }
.br-d2 { animation: brainDot 1.8s ease-in-out 0.6s infinite; }
.br-d3 { animation: brainDot 1.8s ease-in-out 0.9s infinite; }
.br-d4 { animation: brainDot 1.8s ease-in-out 1.2s infinite; }
.br-d5 { animation: brainDot 1.8s ease-in-out 0.1s infinite; }
@keyframes brainPulse1 {
    0%,100% { opacity:.2; transform:scaleY(.7); } 30%,50% { opacity:1; transform:scaleY(1); filter:drop-shadow(0 0 2px #ff69b4); }
}
@keyframes brainPulse2 {
    0%,100% { opacity:.2; transform:scaleY(.7); } 30%,50% { opacity:1; transform:scaleY(1); filter:drop-shadow(0 0 2px #ff8c00); }
}
@keyframes brainPulse3 {
    0%,100% { opacity:.2; transform:scaleY(.7); } 30%,50% { opacity:1; transform:scaleY(1); filter:drop-shadow(0 0 2px #ffd700); }
}
@keyframes brainPulse4 {
    0%,100% { opacity:.2; transform:scaleY(.7); } 30%,50% { opacity:1; transform:scaleY(1); filter:drop-shadow(0 0 2px #00e5ff); }
}
@keyframes brainPulse5 {
    0%,100% { opacity:.2; transform:scaleY(.7); } 30%,50% { opacity:1; transform:scaleY(1); filter:drop-shadow(0 0 2px #448aff); }
}
@keyframes brainPulse6 {
    0%,100% { opacity:.2; transform:scaleY(.7); } 30%,50% { opacity:1; transform:scaleY(1); filter:drop-shadow(0 0 2px #7c4dff); }
}
@keyframes brainPulse7 {
    0%,100% { opacity:.2; transform:scaleY(.7); } 30%,50% { opacity:1; transform:scaleY(1); filter:drop-shadow(0 0 2px #9c27b0); }
}
@keyframes brainDot {
    0%,100% { opacity:.15; } 40% { opacity:1; filter:drop-shadow(0 0 2px currentColor); } 70% { opacity:.3; }
}
.neural-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}
.neural-icon circle { opacity: 0.25; }
.neural-icon line { opacity: 0.15; }
.nn-1 { animation: neuralNode1 2.6s ease-in-out 0s infinite; }
.nn-2 { animation: neuralNode2 2.6s ease-in-out 0.4s infinite; }
.nn-3 { animation: neuralNode3 2.6s ease-in-out 0.8s infinite; }
.nn-4 { animation: neuralNode4 2.6s ease-in-out 1.2s infinite; }
.nn-5 { animation: neuralNode5 2.6s ease-in-out 0.2s infinite; }
.nn-6 { animation: neuralNode6 2.6s ease-in-out 0.6s infinite; }
.nl-1 { animation: neuralLine 2.6s ease-in-out 0.1s infinite; }
.nl-2 { animation: neuralLine 2.6s ease-in-out 0.5s infinite; }
.nl-3 { animation: neuralLine 2.6s ease-in-out 0.9s infinite; }
.nl-4 { animation: neuralLine 2.6s ease-in-out 0.3s infinite; }
.nl-5 { animation: neuralLine 2.6s ease-in-out 0.7s infinite; }
.nl-6 { animation: neuralLine 2.6s ease-in-out 1.1s infinite; }
.nl-7 { animation: neuralLine 2.6s ease-in-out 0.15s infinite; }
@keyframes neuralNode1 {
    0%,100% { opacity:.2; fill:#00e5ff; } 30% { opacity:1; fill:#00bcd4; filter:drop-shadow(0 0 3px #00e5ff); } 60% { opacity:.4; fill:#26c6da; }
}
@keyframes neuralNode2 {
    0%,100% { opacity:.2; fill:#76ff03; } 25% { opacity:1; fill:#64dd17; filter:drop-shadow(0 0 3px #76ff03); } 55% { opacity:.4; fill:#69f0ae; }
}
@keyframes neuralNode3 {
    0%,100% { opacity:.2; fill:#448aff; } 35% { opacity:1; fill:#2979ff; filter:drop-shadow(0 0 3px #448aff); } 65% { opacity:.3; fill:#82b1ff; }
}
@keyframes neuralNode4 {
    0%,100% { opacity:.2; fill:#ff4081; } 30% { opacity:1; fill:#f50057; filter:drop-shadow(0 0 3px #ff4081); } 60% { opacity:.4; fill:#ff80ab; }
}
@keyframes neuralNode5 {
    0%,100% { opacity:.2; fill:#ffd740; } 25% { opacity:1; fill:#ffc400; filter:drop-shadow(0 0 3px #ffd740); } 55% { opacity:.3; fill:#ffe57f; }
}
@keyframes neuralNode6 {
    0%,100% { opacity:.2; fill:#e040fb; } 35% { opacity:1; fill:#d500f9; filter:drop-shadow(0 0 3px #e040fb); } 65% { opacity:.4; fill:#ea80fc; }
}
@keyframes neuralLine {
    0%,100% { opacity:.1; stroke:#4dd0e1; } 30%,50% { opacity:.7; stroke:#80deea; filter:drop-shadow(0 0 1px #4dd0e1); } 70% { opacity:.2; stroke:#26c6da; }
}

.explore-icon {
    display: inline-flex;
    vertical-align: middle;
    flex-shrink: 0;
}
.explore-icon .hub { opacity: 0.9; }
.explore-icon line { opacity: 0.2; }
.explore-icon circle { opacity: 0.25; }
.ex-hub { animation: exHub 3s ease-in-out infinite; }
.ex-s1 { animation: exSpoke1 2.8s ease-in-out 0s infinite; }
.ex-s2 { animation: exSpoke2 2.8s ease-in-out 0.5s infinite; }
.ex-s3 { animation: exSpoke3 2.8s ease-in-out 1.0s infinite; }
.ex-s4 { animation: exSpoke4 2.8s ease-in-out 0.3s infinite; }
.ex-s5 { animation: exSpoke5 2.8s ease-in-out 0.7s infinite; }
.ex-l1 { animation: exLine 2.8s ease-in-out 0.1s infinite; }
.ex-l2 { animation: exLine 2.8s ease-in-out 0.6s infinite; }
.ex-l3 { animation: exLine 2.8s ease-in-out 1.1s infinite; }
.ex-l4 { animation: exLine 2.8s ease-in-out 0.4s infinite; }
.ex-l5 { animation: exLine 2.8s ease-in-out 0.8s infinite; }
@keyframes exHub {
    0%,100% { opacity:.8; fill:#ffffff; filter:drop-shadow(0 0 2px rgba(255,255,255,0.3)); }
    50% { opacity:1; fill:#fff; filter:drop-shadow(0 0 6px rgba(255,255,255,0.8)); }
}
@keyframes exSpoke1 {
    0%,100% { opacity:.25; fill:#ff4081; } 30% { opacity:1; fill:#ff4081; filter:drop-shadow(0 0 3px #ff4081); } 60% { opacity:.4; }
}
@keyframes exSpoke2 {
    0%,100% { opacity:.25; fill:#ff9800; } 25% { opacity:1; fill:#ff9800; filter:drop-shadow(0 0 3px #ff9800); } 55% { opacity:.4; }
}
@keyframes exSpoke3 {
    0%,100% { opacity:.25; fill:#4caf50; } 35% { opacity:1; fill:#4caf50; filter:drop-shadow(0 0 3px #4caf50); } 65% { opacity:.3; }
}
@keyframes exSpoke4 {
    0%,100% { opacity:.25; fill:#2196f3; } 30% { opacity:1; fill:#2196f3; filter:drop-shadow(0 0 3px #2196f3); } 60% { opacity:.4; }
}
@keyframes exSpoke5 {
    0%,100% { opacity:.25; fill:#9c27b0; } 25% { opacity:1; fill:#9c27b0; filter:drop-shadow(0 0 3px #9c27b0); } 55% { opacity:.3; }
}
@keyframes exLine {
    0%,100% { opacity:.1; } 25%,45% { opacity:.7; filter:drop-shadow(0 0 1px currentColor); } 70% { opacity:.15; }
}

.timeline-icon {
    display: inline-flex;
    vertical-align: middle;
    flex-shrink: 0;
}
.timeline-icon line { opacity: 0.2; }
.timeline-icon circle { opacity: 0.25; }
.tl-d1 { animation: tlDot1 2.8s ease-in-out 0s infinite; }
.tl-d2 { animation: tlDot2 2.8s ease-in-out 0.4s infinite; }
.tl-d3 { animation: tlDot3 2.8s ease-in-out 0.8s infinite; }
.tl-d4 { animation: tlDot4 2.8s ease-in-out 1.2s infinite; }
.tl-d5 { animation: tlDot5 2.8s ease-in-out 0.6s infinite; }
.tl-l1 { animation: tlSeg 2.8s ease-in-out 0.2s infinite; }
.tl-l2 { animation: tlSeg 2.8s ease-in-out 0.6s infinite; }
.tl-l3 { animation: tlSeg 2.8s ease-in-out 1.0s infinite; }
.tl-l4 { animation: tlSeg 2.8s ease-in-out 0.4s infinite; }
.tl-l5 { animation: tlSeg 2.8s ease-in-out 0.8s infinite; }
@keyframes tlDot1 {
    0%,100% { opacity:.25; fill:#ff4081; } 30% { opacity:1; fill:#ff4081; filter:drop-shadow(0 0 3px #ff4081); } 60% { opacity:.4; }
}
@keyframes tlDot2 {
    0%,100% { opacity:.25; fill:#ff9800; } 25% { opacity:1; fill:#ff9800; filter:drop-shadow(0 0 3px #ff9800); } 55% { opacity:.4; }
}
@keyframes tlDot3 {
    0%,100% { opacity:.25; fill:#ffd700; } 35% { opacity:1; fill:#ffd700; filter:drop-shadow(0 0 3px #ffd700); } 65% { opacity:.3; }
}
@keyframes tlDot4 {
    0%,100% { opacity:.25; fill:#00bcd4; } 30% { opacity:1; fill:#00bcd4; filter:drop-shadow(0 0 3px #00bcd4); } 60% { opacity:.4; }
}
@keyframes tlDot5 {
    0%,100% { opacity:.25; fill:#9c27b0; } 25% { opacity:1; fill:#9c27b0; filter:drop-shadow(0 0 3px #9c27b0); } 55% { opacity:.3; }
}
@keyframes tlSeg {
    0%,100% { opacity:.15; } 20%,40% { opacity:.7; filter:drop-shadow(0 0 1px currentColor); } 65% { opacity:.2; }
}

.stm-icon { display: inline-block; vertical-align: middle; }
.stm-line { opacity: 0.15; }
.stm-ln1 { animation: stmFlash 5s ease-in-out 0s infinite; }
.stm-ln2 { animation: stmFlash 5s ease-in-out 2.8s infinite; }
.stm-ln3 { animation: stmFlash 5s ease-in-out 1.2s infinite; }
.stm-ln4 { animation: stmFlash 5s ease-in-out 3.6s infinite; }
.stm-ln5 { animation: stmFlash 5s ease-in-out 0.7s infinite; }
@keyframes stmFlash {
    0%,15%,100% { opacity:.15; stroke:white; filter:none; }
    5%,10% { opacity:1; stroke:#ffffff; filter:drop-shadow(0 0 4px rgba(255,255,255,0.8)); }
}
.oi-ln1 { animation: oiFlash 5s ease-in-out 0s infinite; }
.oi-ln2 { animation: oiFlash 5s ease-in-out 2.8s infinite; }
.oi-ln3 { animation: oiFlash 5s ease-in-out 1.2s infinite; }
.oi-ln4 { animation: oiFlash 5s ease-in-out 3.6s infinite; }
.oi-ln5 { animation: oiFlash 5s ease-in-out 0.7s infinite; }
@keyframes oiFlash {
    0%,15%,100% { opacity:.15; stroke:#34d399; filter:none; }
    5%,10% { opacity:1; stroke:#6ee7b7; filter:drop-shadow(0 0 4px rgba(52,211,153,0.8)); }
}

.attach-chain-icon { display: inline-flex; vertical-align: middle; }
.chain-link1 { animation: chainPulse1 3s ease-in-out infinite; opacity: 0.7; }
.chain-link2 { animation: chainPulse2 3s ease-in-out 0.5s infinite; opacity: 0.7; }
@keyframes chainPulse1 {
    0%,100% { opacity:.6; filter:none; }
    40% { opacity:1; filter:drop-shadow(0 0 3px #ff4081) drop-shadow(0 0 1px #ff9800); }
    70% { opacity:.5; }
}
@keyframes chainPulse2 {
    0%,100% { opacity:.6; filter:none; }
    35% { opacity:1; filter:drop-shadow(0 0 3px #00bcd4) drop-shadow(0 0 1px #2196f3); }
    65% { opacity:.5; }
}

.wm-chat-icon { display: inline-block; vertical-align: middle; }
.wm-chat-icon line { opacity: 0.2; }
.wm-cl1 { animation: wmChatFlash 4.5s ease-in-out 0s infinite; }
.wm-cl2 { animation: wmChatFlash 4.5s ease-in-out 2.2s infinite; }
.wm-cl3 { animation: wmChatFlash 4.5s ease-in-out 0.9s infinite; }
.wm-cl4 { animation: wmChatFlash 4.5s ease-in-out 3.4s infinite; }
.wm-cl5 { animation: wmChatFlash 4.5s ease-in-out 1.5s infinite; }
@keyframes wmChatFlash {
    0%,18%,100% { opacity:.2; stroke:white; filter:none; }
    6%,12% { opacity:1; stroke:#ffffff; filter:drop-shadow(0 0 3px rgba(255,255,255,0.7)); }
}

.user-avatar {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 50%;
    background: rgba(30, 64, 175, 0.5);
    border: 2px solid rgba(96, 165, 250, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.3s, box-shadow 0.3s;
}
.user-avatar:hover {
    border-color: rgba(96, 165, 250, 0.8);
    box-shadow: 0 0 8px rgba(96, 165, 250, 0.4);
}

.trash-icon { display: inline-block; vertical-align: middle; }
.tr-px1 { animation: trPixel 2.5s ease-in-out 0s infinite; }
.tr-px2 { animation: trPixel 2.5s ease-in-out 0.8s infinite; }
.tr-px3 { animation: trPixel 2.5s ease-in-out 0.4s infinite; }
.tr-sl1 { animation: trSlot 3s ease-in-out 0s infinite; }
.tr-sl2 { animation: trSlot 3s ease-in-out 0.6s infinite; }
.tr-sl3 { animation: trSlot 3s ease-in-out 1.2s infinite; }
@keyframes trPixel {
    0%,100% { opacity:.3; transform:translate(0,0); }
    50% { opacity:.9; transform:translate(1px,-2px); filter:drop-shadow(0 0 2px currentColor); }
}
@keyframes trSlot {
    0%,100% { opacity:.4; } 40% { opacity:1; filter:drop-shadow(0 0 2px currentColor); } 70% { opacity:.5; }
}

.ww-icon { display: inline-block; vertical-align: middle; }
.ww-dot { animation: wwPulse 2s ease-in-out 0s infinite; }
.ww-b1 { animation: wwBar 2.5s ease-in-out 0s infinite; }
.ww-b2 { animation: wwBar 2.5s ease-in-out 0.3s infinite; }
.ww-b3 { animation: wwBar 2.5s ease-in-out 0.6s infinite; }
.ww-b4 { animation: wwBar 2.5s ease-in-out 0.9s infinite; }
.ww-b5 { animation: wwBar 2.5s ease-in-out 1.2s infinite; }
.ww-w1 { animation: wwWave 2s ease-in-out 0s infinite; }
.ww-w2 { animation: wwWave 2s ease-in-out 0.4s infinite; }
@keyframes wwPulse {
    0%,100% { opacity:.4; } 50% { opacity:1; filter:drop-shadow(0 0 3px #ff69b4); }
}
@keyframes wwBar {
    0%,100% { opacity:.5; transform:scaleY(0.7); } 50% { opacity:1; transform:scaleY(1); filter:drop-shadow(0 0 2px currentColor); }
}
@keyframes wwWave {
    0%,100% { opacity:.3; } 50% { opacity:1; filter:drop-shadow(0 0 3px #7c4dff); }
}

.id-scan-icon .ids-ring { animation: idsRingSpin 8s linear infinite; transform-origin: 12px 12px; }
.id-scan-icon .ids-scan { animation: idsScanSweep 3s ease-in-out infinite; transform-origin: 12px 12px; }
.id-scan-icon .ids-core { animation: idsCorePulse 2.5s ease-in-out infinite; }
@keyframes idsRingSpin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes idsScanSweep { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes idsCorePulse { 0%,100% { opacity:.4; } 50% { opacity:.8; filter: drop-shadow(0 0 3px #7c4dff); } }

.id-type-row { display:flex; align-items:center; gap:6px; }
.id-type-label { font-size:9px; width:42px; text-align:right; flex-shrink:0; font-weight:600; }
.id-type-bar-bg { flex:1; height:6px; background:#1a1a2e; border-radius:3px; overflow:hidden; }
.id-type-bar-fill { height:100%; border-radius:3px; transition:width 0.8s ease; min-width:0; }
.id-type-count { font-size:9px; color:#666; width:14px; text-align:center; flex-shrink:0; }

/* Identity Icon Animations */
.identity-icon .id-head { animation: idHeadPulse 3s ease-in-out infinite; transform-origin: 8px 6px; }
.identity-icon .id-dots { animation: idDotsSpin 6s linear infinite; transform-origin: 8px 6px; }
.identity-icon .id-body { animation: idBodyGlow 3s ease-in-out 0.5s infinite; }
.identity-icon .id-fp1 { animation: idFpReveal 2.8s ease-in-out 0s infinite; }
.identity-icon .id-fp2 { animation: idFpReveal 2.8s ease-in-out 0.15s infinite; }
.identity-icon .id-fp3 { animation: idFpReveal 2.8s ease-in-out 0.3s infinite; }
.identity-icon .id-fp4 { animation: idFpReveal 2.8s ease-in-out 0.45s infinite; }
.identity-icon .id-fp5 { animation: idFpReveal 2.8s ease-in-out 0.6s infinite; }
@keyframes idHeadPulse {
    0%,100% { transform: scale(1); opacity: 0.85; }
    50% { transform: scale(1.06); opacity: 1; filter: drop-shadow(0 0 2px #ff9800); }
}
@keyframes idDotsSpin {
    0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }
}
@keyframes idBodyGlow {
    0%,100% { opacity: 0.8; }
    50% { opacity: 1; filter: drop-shadow(0 0 3px #00e5ff); }
}
@keyframes idFpReveal {
    0%,100% { opacity: 0.5; transform: scale(0.97); }
    50% { opacity: 1; transform: scale(1.02); filter: drop-shadow(0 0 2px #7c4dff); }
}

/* Webcam Eye Icon Animations */
.webcam-eye-icon .wc-ring { animation: wcRingSpin 4s linear infinite; transform-origin: 14px 8px; }
.webcam-eye-icon .wc-pupil { animation: wcPupilPulse 3s ease-in-out infinite; transform-origin: 14px 8px; }
.webcam-eye-icon .wc-iris { animation: wcIrisShift 5s ease-in-out infinite; transform-origin: 14px 8px; }
.webcam-eye-icon .wc-reflect1 { animation: wcReflect 2.5s ease-in-out infinite; }
.webcam-eye-icon .wc-eyelid { animation: wcBlink 6s ease-in-out infinite; transform-origin: 14px 8px; }
@keyframes wcRingSpin {
    0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }
}
@keyframes wcPupilPulse {
    0%,100% { transform: scale(1); } 40% { transform: scale(1.2); } 60% { transform: scale(0.85); }
}
@keyframes wcIrisShift {
    0%,100% { transform: translate(0,0); }
    25% { transform: translate(0.4px,-0.3px); }
    50% { transform: translate(-0.3px,0.2px); }
    75% { transform: translate(0.2px,0.3px); }
}
@keyframes wcReflect {
    0%,100% { opacity: 0.85; } 50% { opacity: 0.4; }
}
@keyframes wcBlink {
    0%,42%,48%,100% { transform: scaleY(1); }
    45% { transform: scaleY(0.1); }
}

.id-chip { display:inline-flex; align-items:center; padding:2px 7px; border-radius:10px; font-size:9px; font-weight:500; border:1px solid; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.id-chip-belief { color:#42a5f5; border-color:rgba(66,165,245,0.3); background:rgba(66,165,245,0.08); }
.id-chip-value { color:#ce93d8; border-color:rgba(206,147,216,0.3); background:rgba(206,147,216,0.08); }
.id-chip-fear { color:#ef5350; border-color:rgba(239,83,80,0.3); background:rgba(239,83,80,0.08); }
.id-chip-hope { color:#66bb6a; border-color:rgba(102,187,106,0.3); background:rgba(102,187,106,0.08); }
