@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--bg-tertiary: #e2e8f0;--bg-elevated: #ffffff;--bg-card: #ffffff;--bg-overlay: rgba(0, 0, 0, .5);--bg-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--bg-gradient-subtle: linear-gradient(135deg, #f5f7fa 0%, #e4e9f2 100%);--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-inverse: #ffffff;--text-muted: #cbd5e1;--border-color: #e2e8f0;--border-light: #f1f5f9;--border-subtle: #cbd5e1;--divider-color: #e2e8f0;--primary-main: #3b82f6;--primary-dark: #2563eb;--primary-light: #60a5fa;--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary-main: #8b5cf6;--secondary-dark: #7c3aed;--secondary-light: #a78bfa;--secondary-gradient: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);--success-main: #10b981;--success-light: #34d399;--success-dark: #059669;--success-bg: #d1fae5;--warning-main: #f59e0b;--warning-light: #fbbf24;--warning-dark: #d97706;--warning-bg: #fef3c7;--error-main: #ef4444;--error-light: #f87171;--error-dark: #dc2626;--error-bg: #fee2e2;--info-main: #06b6d4;--info-light: #22d3ee;--info-dark: #0891b2;--info-bg: #cffafe;--hover-overlay: rgba(59, 130, 246, .08);--active-overlay: rgba(59, 130, 246, .16);--focus-ring: rgba(59, 130, 246, .4);--spacing-unit: 8px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--spacing-4xl: 96px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px 0 rgba(0, 0, 0, .06), 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .12), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.68, -.55, .265, 1.55)}@media(prefers-color-scheme:dark){:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-elevated: #1e293b;--bg-card: #1e293b;--bg-overlay: rgba(15, 23, 42, .8);--bg-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--bg-gradient-subtle: linear-gradient(135deg, #1e293b 0%, #334155 100%);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #64748b;--text-inverse: #0f172a;--text-muted: #475569;--border-color: #334155;--border-light: #1e293b;--border-subtle: #475569;--divider-color: #334155;--hover-overlay: rgba(255, 255, 255, .06);--active-overlay: rgba(255, 255, 255, .12);--focus-ring: rgba(96, 165, 250, .5);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 2px 4px 0 rgba(0, 0, 0, .4), 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .7), 0 10px 10px -5px rgba(0, 0, 0, .5);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .8)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);min-width:320px;min-height:100vh;transition:background-color var(--transition-base),color var(--transition-base)}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}h1{font-size:2.5rem;font-weight:700;letter-spacing:-.025em;color:var(--text-primary);line-height:1.2;margin:0}h2{font-size:2rem;font-weight:600;letter-spacing:-.025em;color:var(--text-primary);line-height:1.3;margin:0}h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);line-height:1.4;margin:0}h4{font-size:1.25rem;font-weight:600;color:var(--text-primary);line-height:1.4;margin:0}h5{font-size:1.125rem;font-weight:600;color:var(--text-primary);line-height:1.5;margin:0}h6{font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.5;margin:0}p{margin:0;color:var(--text-secondary);line-height:1.6}a{color:var(--primary-main);text-decoration:none;transition:color var(--transition-fast);font-weight:500}a:hover{color:var(--primary-dark);text-decoration:underline}a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}:focus:not(:focus-visible){outline:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:var(--radius-full);border:2px solid var(--bg-secondary);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background-color:var(--primary-main);color:var(--text-inverse)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-inverse{color:var(--text-inverse)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.bg-elevated{background-color:var(--bg-elevated)}.bg-card{background-color:var(--bg-card)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.loading{animation:pulse 1.5s ease-in-out infinite}.fade-in{animation:fadeIn .4s ease-out}.slide-in{animation:slideIn .4s ease-out}.spinning{animation:spin 1s linear infinite}.loading-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;background:var(--bg-primary)}.loading-message{font-size:1.125rem;color:var(--text-secondary);font-weight:500}.error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:var(--spacing-xl);text-align:center;background:var(--bg-primary)}.error-message{color:var(--error-main);background-color:var(--error-bg);border:1px solid var(--error-light);padding:var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);max-width:600px;font-weight:500;box-shadow:var(--shadow-sm)}.app{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:var(--bg-primary);color:var(--text-primary)}.app-main{flex:1;display:flex;flex-direction:column;overflow-y:auto}.loading-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%}.loading-message{font-size:1.125rem;color:var(--text-secondary);font-style:italic}.error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:calc(var(--spacing-unit) * 3);text-align:center}.error-message{color:var(--error-main);background-color:#d32f2f1a;border:1px solid var(--error-main);padding:calc(var(--spacing-unit) * 2);border-radius:var(--radius-md);margin-bottom:calc(var(--spacing-unit) * 2);max-width:600px}
