:root{--q-bg: #0f1117;--q-bg-secondary: rgba(26, 29, 39, .95);--q-bg-tertiary: rgba(36, 39, 54, .9);--q-surface: rgba(42, 45, 58, .8);--q-surface-hover: rgba(255, 255, 255, .05);--q-border: rgba(255, 255, 255, .06);--q-border-subtle: rgba(255, 255, 255, .04);--q-text: #e8e9ed;--q-text-secondary: #9ca0b0;--q-text-muted: #6b7084;--q-accent: #6c63ff;--q-accent-hover: #7b73ff;--q-accent-subtle: rgba(108, 99, 255, .12);--q-accent-glow: rgba(108, 99, 255, .25);--q-accent-gradient: linear-gradient(135deg, #6c63ff, #a78bfa);--q-success: #34d399;--q-warning: #fbbf24;--q-danger: #f87171;--q-radius: 8px;--q-radius-md: 12px;--q-radius-lg: 16px;--q-radius-xl: 20px;--q-shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--q-shadow: 0 8px 24px rgba(0, 0, 0, .3);--q-shadow-lg: 0 20px 60px rgba(0, 0, 0, .4);--q-shadow-glow: 0 0 40px rgba(108, 99, 255, .15);--q-transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--q-transition: .25s cubic-bezier(.16, 1, .3, 1);--q-transition-slow: .4s cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;height:100dvh}@supports (-webkit-touch-callout: none){html,body,#root{height:-webkit-fill-available}}body{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;background:var(--q-bg);color:var(--q-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--q-accent);text-decoration:none}a:hover{color:var(--q-accent-hover)}button{cursor:pointer;font-family:inherit;border:none;background:none;color:inherit}input,textarea{font-family:inherit;border:1px solid var(--q-border);background:#ffffff08;color:var(--q-text);border-radius:var(--q-radius);padding:10px 14px;outline:none;transition:all var(--q-transition-fast)}input:focus,textarea:focus{border-color:var(--q-accent);box-shadow:0 0 0 3px var(--q-accent-subtle)}input::placeholder,textarea::placeholder{color:var(--q-text-muted)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.glass{background:var(--q-bg-secondary);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--q-border)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.skeleton{background:linear-gradient(90deg,#ffffff08 25%,#ffffff14,#ffffff08 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--q-radius)}.typing-dots{display:inline-flex;gap:3px;align-items:center;padding:4px 0}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--q-text-muted);animation:bounce 1s infinite}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}[contenteditable][data-placeholder]:empty:before{content:attr(data-placeholder);color:var(--q-text-muted);pointer-events:none}[contenteditable]:focus{outline:none}@media (max-width: 768px){button,input,textarea{min-height:44px}input,textarea{font-size:16px}::-webkit-scrollbar{width:0;height:0}}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:90;animation:fadeIn .2s ease}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:var(--q-bg);border-bottom:1px solid var(--q-border);padding:0 12px;align-items:center;justify-content:space-between;z-index:80}@media (max-width: 768px){.mobile-header{display:flex}}.mobile-menu-btn{width:44px;height:44px;border-radius:10px;background:transparent;border:none;color:var(--q-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.mobile-menu-btn:active{background:var(--q-surface);color:var(--q-text)}@media (max-width: 768px){.sidebar-mobile{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:85vw!important;max-width:320px!important;z-index:100!important;animation:slideInLeft .25s cubic-bezier(.16,1,.3,1);box-shadow:4px 0 24px #0006}.sidebar-mobile.closing{animation:slideOutLeft .2s ease-out forwards}.files-panel-mobile{position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:90vw!important;max-width:400px!important;z-index:100!important;animation:slideInRight .25s cubic-bezier(.16,1,.3,1);box-shadow:-4px 0 24px #0006}.files-panel-mobile.closing{animation:slideOutRight .2s ease-out forwards}}
