:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-card: #1a1a28;--bg-card-hover: #222235;--bg-input: #16162a;--text-primary: #e4e4ef;--text-secondary: #8888a0;--text-muted: #555570;--accent-aurora: #7c5bf5;--accent-aurora-light: #9b7cff;--accent-aurora-dim: #4a3599;--accent-success: #34d399;--accent-warning: #fbbf24;--accent-error: #f87171;--accent-info: #60a5fa;--border-subtle: #2a2a40;--border-active: #7c5bf5;--truth-color: #60a5fa;--beauty-color: #a78bfa;--curiosity-color: #f472b6;--knowledge-color: #34d399;--creation-color: #fbbf24;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow-card: 0 4px 24px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px rgba(124, 91, 245, .15)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-card);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--accent-aurora-dim);box-shadow:var(--shadow-glow)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;letter-spacing:.02em}.badge-success{background:#34d39926;color:var(--accent-success)}.badge-error{background:#f8717126;color:var(--accent-error)}.badge-warning{background:#fbbf2426;color:var(--accent-warning)}.badge-info{background:#60a5fa26;color:var(--accent-info)}.badge-aurora{background:#7c5bf526;color:var(--accent-aurora-light)}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #7c5bf51a}50%{box-shadow:0 0 20px #7c5bf54d}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .3s ease-out}.sidebar{width:240px;background:var(--bg-secondary);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:24px 12px;gap:4px;flex-shrink:0;transition:transform .2s ease}.mobile-menu-btn{display:none;position:fixed;top:12px;left:12px;z-index:200;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);padding:8px;cursor:pointer}.sidebar-overlay{display:none}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:100;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:90}}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.skeleton-card{height:96px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-row{height:48px;border-bottom:1px solid var(--border-subtle);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-chart{height:280px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);animation:skeleton-pulse 1.5s ease-in-out infinite}@media(max-width:768px){main{padding:56px 16px 16px!important}}.skip-to-content{position:absolute;top:-40px;left:0;background:var(--accent-aurora);color:#fff;padding:8px 16px;z-index:1000;font-size:14px;text-decoration:none;border-radius:0 0 var(--radius-sm) 0;transition:top .15s}.skip-to-content:focus{top:0}:focus-visible{outline:2px solid var(--accent-aurora-light);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-aurora-light);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-fade-in{animation:none}}
