@keyframes breathe{0%,to{box-shadow:0 0 4px rgba(59,130,246,.4)}50%{box-shadow:0 0 12px rgba(59,130,246,.8)}}@keyframes orbPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.08);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dotBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}@keyframes orbBreath1{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.85}}@keyframes orbBreath2{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.12);opacity:.7}}@keyframes orbBreath3{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.08);opacity:.95}}@keyframes orbCore{0%,to{box-shadow:0 0 12px rgba(29,158,117,.27),0 0 24px rgba(127,119,221,.13);transform:scale(1)}50%{box-shadow:0 0 20px rgba(29,158,117,.4),0 0 40px rgba(127,119,221,.2);transform:scale(1.04)}}@keyframes drift{0%{transform:translate(0)}to{transform:translate(3px,5px)}}@keyframes fadeSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes voiceBar{0%,to{height:4px}50%{height:16px}}@keyframes roomEnter{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}div:hover>.trash-btn{opacity:1!important}.trash-btn:hover svg{stroke:#ef4444!important}input::placeholder{color:#475569}*{box-sizing:border-box;margin:0;padding:0}body,html{overscroll-behavior:none;background:#0b0f16}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0b0f16}::-webkit-scrollbar-thumb{background:#4a463e;border-radius:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}