:root,[data-theme=soft]{--bg-primary: #FFF8F0;--bg-secondary: #FFF1E6;--bg-bubble-user: #8B5CF6;--bg-bubble-assistant: #FFFFFF;--text-primary: #1a1a2e;--text-secondary: #6b7280;--text-on-accent: #FFFFFF;--accent: #8B5CF6;--accent-light: #C4B5FD;--accent-hover: #7C3AED;--border: #E5E7EB;--shadow: rgba(0,0,0,.05);--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--safe-left: env(safe-area-inset-left);--safe-right: env(safe-area-inset-right)}[data-theme=dark]{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-bubble-user: #7C3AED;--bg-bubble-assistant: #2a2a4a;--text-primary: #F3F4F6;--text-secondary: #9CA3AF;--text-on-accent: #FFFFFF;--accent: #A78BFA;--accent-light: #7C3AED;--accent-hover: #8B5CF6;--border: #374151;--shadow: rgba(0,0,0,.3)}[data-theme=light]{--bg-primary: #FFFFFF;--bg-secondary: #F9FAFB;--bg-bubble-user: #8B5CF6;--bg-bubble-assistant: #F3F4F6;--text-primary: #111827;--text-secondary: #6B7280;--text-on-accent: #FFFFFF;--accent: #8B5CF6;--accent-light: #C4B5FD;--accent-hover: #7C3AED;--border: #E5E7EB;--shadow: rgba(0,0,0,.05)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{height:100%;width:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{width:100%;height:100%;margin:0;padding:0;overflow:hidden;overscroll-behavior:none}#root{width:100%;height:100%;position:relative;overflow:hidden}input,textarea,select,button{font-family:inherit;font-size:16px}button{cursor:pointer;border:none;background:none}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{display:none}@keyframes slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes slideDrawer{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
