:root{--font-body: "Visby Round", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--font-heading: "Visby Round", sans-serif;--color-primary: #5E3AFF;--color-primary-strong: #6A4DFF;--color-blue-contrast: #6EC1FF;--color-accent-rose: #FF6EA8;--color-accent-teal: #3DE1C6;--color-dark-1: #111318;--color-dark-2: #151728;--color-dark-3: #1A132B;--color-light-1: #F5F6FF;--color-light-2: #E9EDFF;--color-light-3: #DCE8FF;--text-strong: #0E0F12;--text: #1B1C21;--text-muted: #5A5D66;--text-inv: #FFFFFF;--text-inv-muted: #C7C9D3;--gradient-bg-light: linear-gradient(135deg, var(--color-light-1), var(--color-light-2), var(--color-light-3));--gradient-bg-dark: linear-gradient(135deg, var(--color-dark-1), var(--color-dark-2), var(--color-dark-3));--gradient-primary: linear-gradient(180deg, var(--color-primary-strong), var(--color-primary));--gradient-secondary-light: linear-gradient(180deg, var(--color-blue-contrast), #4FA6E8);--gradient-secondary-dark: linear-gradient(180deg, #2A3B52, #203247);--radius-card: 16px;--radius-btn: 12px;--radius-input: 10px;--gap-1: 8px;--gap-2: 12px;--gap-3: 16px;--gap-4: 24px;--gap-5: 32px;--shadow-light: 0 8px 30px rgba(30, 46, 80, .12);--shadow-dark: 0 8px 30px rgba(0,0,0,.35)}html[data-theme=light]{background:var(--gradient-bg-light);color:var(--text)}html[data-theme=dark]{background:var(--gradient-bg-dark);color:var(--text-inv);--text-strong: #F9FAFF;--text: #E6EBFF;--text-muted: rgba(229, 233, 255, .68);--text-inv: #FFFFFF;--text-inv-muted: rgba(231, 233, 255, .6)}.float{transform:translateY(0);transition:transform .28s ease,box-shadow .28s ease,filter .28s ease}.float:hover{transform:translateY(-4px);filter:brightness(1.03);box-shadow:0 12px 30px #00000038}.card{border-radius:var(--radius-card);padding:var(--gap-3);background:#ffffffbf;box-shadow:var(--shadow-light);pointer-events:auto;box-sizing:border-box}html[data-theme=dark] .card{background:#141620b8;box-shadow:var(--shadow-dark);color:var(--text)}@media (max-width: 768px){.card{padding:16px;border-radius:12px}}.input{font-family:var(--font-body);border-radius:var(--radius-input);border:1px solid rgba(0,0,0,.08);padding:12px 16px;background:#ffffffd9;min-height:48px;font-size:16px;width:100%;box-sizing:border-box;cursor:text;pointer-events:auto;touch-action:manipulation;-webkit-appearance:none;transition:all .2s;position:relative;z-index:1}html[data-theme=dark] .input{background:#181c24a6;border-color:#ffffff1f;color:var(--text-inv)}.input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #5e3aff40}.btn{font-family:var(--font-body);border-radius:var(--radius-btn);padding:12px 20px;font-weight:600;cursor:pointer;border:none;transition:all .2s cubic-bezier(.4,0,.2,1);transform:translateY(0) scale(1);box-shadow:0 2px 8px #00000026;position:relative;overflow:hidden;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:rgba(94,58,255,.3);user-select:none;-webkit-user-select:none}.btn-primary{background:var(--gradient-primary);color:var(--text-inv);box-shadow:0 4px 12px #5e3aff4d}.btn-secondary{background:var(--gradient-secondary-light);color:#0e1a28;box-shadow:0 2px 8px #6ec1ff33}html[data-theme=dark] .btn-secondary{background:var(--gradient-secondary-dark);color:var(--text-inv)}.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.12);color:inherit;box-shadow:none}.btn:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #00000040;filter:brightness(1.08)}.btn:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 4px #0003;transition:all .1s cubic-bezier(.4,0,.2,1)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-circle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;border:none;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0003;transform:scale(1);pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:rgba(94,58,255,.3);user-select:none;-webkit-user-select:none;flex-shrink:0}html[data-theme=dark] .btn-circle{box-shadow:0 4px 16px #0006}.btn-gradient-blue{background:linear-gradient(135deg,#4285f4,#34a853)}.btn-gradient-purple{background:linear-gradient(135deg,#9c27b0,#673ab7)}.btn-gradient-pink{background:linear-gradient(135deg,#e91e63,#f06292)}.btn-gradient-orange{background:linear-gradient(135deg,#ff9800,#ff5722)}.btn-gradient-primary{background:linear-gradient(135deg,#4285f4,#9c27b0)}.btn-circle:hover:not(:disabled){transform:scale(1.12);box-shadow:0 6px 20px #00000059;filter:brightness(1.1)}.btn-circle:active:not(:disabled){transform:scale(.96);box-shadow:0 2px 8px #00000040;transition:all .1s ease}.btn-circle:disabled{opacity:.5;cursor:not-allowed}.layout{display:grid;grid-template-columns:84px 1fr 360px;grid-template-rows:100vh}.sidebar-left,.sidebar-right{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sidebar-left{background:#14141e59;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;justify-content:space-between;padding:var(--gap-2);font-family:var(--font-heading)}.sidebar-right{background:#14141e40;border-left:1px solid rgba(255,255,255,.06);padding:var(--gap-3);overflow-y:auto;scrollbar-width:none}.sidebar-right::-webkit-scrollbar{display:none}.content{overflow-y:auto;padding:var(--gap-4);scrollbar-width:none}.content::-webkit-scrollbar{display:none}@media (max-width: 768px){.layout{grid-template-columns:0 1fr 0}.sidebar-left,.sidebar-right{position:fixed;top:0;bottom:0;width:100vw;transform:translate(-100%);transition:transform .3s ease;z-index:1000}.sidebar-left.open,.sidebar-right.open{transform:translate(0)}}@keyframes spin-gradient{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{opacity:1;filter:drop-shadow(0 0 8px var(--color-primary))}50%{opacity:.6;filter:drop-shadow(0 0 16px var(--color-primary))}}@keyframes dot-bounce{0%,80%,to{transform:scale(.8) translateY(0);opacity:.5}40%{transform:scale(1.2) translateY(-8px);opacity:1}}@keyframes wave{0%,40%,to{transform:scaleY(.4)}20%{transform:scaleY(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes bounce-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(1.5);opacity:0}}@keyframes notification-pop{0%{transform:scale(.8) translateY(10px);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1) translateY(0);opacity:1}}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(2);opacity:0}}@keyframes button-press{0%,to{transform:scale(1)}50%{transform:scale(.95)}}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float-slow{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}@keyframes float-medium{0%,to{transform:translateY(0) translate(0)}33%{transform:translateY(-8px) translate(4px)}66%{transform:translateY(-4px) translate(-4px)}}.animate-fade-in{animation:fade-in-up .4s cubic-bezier(.4,0,.2,1)}.animate-fade-in-fast{animation:fade-in-up .2s cubic-bezier(.4,0,.2,1)}.animate-scale-in{animation:scale-in .3s cubic-bezier(.4,0,.2,1)}.animate-bounce{animation:bounce-soft 2s ease-in-out infinite}.animate-pulse{animation:pulse-glow 2s ease-in-out infinite}.animate-float{animation:float-slow 6s ease-in-out infinite}.animate-gradient{background-size:200% 200%;animation:gradient-shift 4s ease infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff26,#ffffff0d 75%);background-size:1000px 100%;animation:shimmer 2s infinite linear;border-radius:var(--radius-card)}html[data-theme=light] .skeleton{background:linear-gradient(90deg,#00000008 25%,#00000014,#00000008 75%);background-size:1000px 100%}.transition-fast{transition:all .15s cubic-bezier(.4,0,.2,1)}.transition-normal{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-slow{transition:all .5s cubic-bezier(.4,0,.2,1)}.hover-lift{transition:all .2s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.hover-glow{transition:all .2s cubic-bezier(.4,0,.2,1)}.hover-glow:hover{filter:brightness(1.1) drop-shadow(0 0 12px currentColor)}.hover-scale{transition:all .2s cubic-bezier(.4,0,.2,1)}.hover-scale:hover{transform:scale(1.05)}
