:root{--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(167, 139, 250, .15);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--sidebar-width: 280px}body,body[data-theme=dark]{--bg-primary: #0c0d10;--bg-secondary: #141519;--bg-tertiary: #1c1d24;--bg-elevated: #22232b;--bg-glass: rgba(22, 23, 30, .7);--text-primary: #f0f0f3;--text-secondary: #a0a1ab;--text-tertiary: #6b6c78;--text-accent: #a78bfa;--border-primary: rgba(255, 255, 255, .06);--border-secondary: rgba(255, 255, 255, .1);--border-accent: rgba(167, 139, 250, .3);--accent: #a78bfa;--accent-hover: #c4b5fd;--accent-muted: rgba(167, 139, 250, .12);--danger: #f43f5e;--danger-muted: rgba(244, 63, 94, .12);--success: #34d399;--success-muted: rgba(52, 211, 153, .12)}body[data-theme=light]{--bg-primary: #f5f5fb;--bg-secondary: #ffffff;--bg-tertiary: #f2f2ff;--bg-elevated: #ffffff;--bg-glass: rgba(255, 255, 255, .8);--text-primary: #111827;--text-secondary: #4b5563;--text-tertiary: #9ca3af;--text-accent: #4f46e5;--border-primary: rgba(15, 23, 42, .08);--border-secondary: rgba(15, 23, 42, .12);--border-accent: rgba(79, 70, 229, .35);--accent: #4f46e5;--accent-hover: #6366f1;--accent-muted: rgba(79, 70, 229, .08);--danger: #b91c1c;--danger-muted: rgba(185, 28, 28, .08);--success: #15803d;--success-muted: rgba(21, 128, 61, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}img{display:block;max-width:100%}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-muted);color:var(--accent-hover)}.errorBoundary{padding:64px 32px;max-width:600px;margin:0 auto;text-align:center}.errorBoundary h1{font-size:48px;margin-bottom:16px}.errorBoundary p{color:var(--text-secondary);margin-bottom:24px}.errorBoundary pre{text-align:left;padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-md);overflow:auto;font-size:12px}.authScreen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:radial-gradient(circle at top left,#1e293b,#020617)}.authCard{width:100%;max-width:420px;padding:32px 28px;border-radius:var(--radius-xl);background:linear-gradient(145deg,#0f172af2,#0f172afa);border:1px solid var(--border-secondary);box-shadow:var(--shadow-lg),var(--shadow-glow)}.authTitle{font-size:28px;font-weight:700;margin-bottom:8px;letter-spacing:.03em}.authSubtitle{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.authForm{display:flex;flex-direction:column;gap:12px}.authLabel{font-size:13px;font-weight:500;color:var(--text-secondary)}.authInput{width:100%;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-secondary);background:#0f172ae6;color:var(--text-primary)}.authInput:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--border-accent)}.authButton{margin-top:8px;width:100%;padding:10px 14px;border-radius:var(--radius-md);border:0;background:linear-gradient(135deg,#6366f1,#a855f7);color:#f9fafb;font-weight:600;font-size:14px;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);box-shadow:0 10px 30px #4f46e559}.authButton:hover{transform:translateY(-1px);box-shadow:0 16px 40px #4f46e566}.authError{margin-top:4px;font-size:13px;color:var(--danger)}.authHint{margin-top:16px;font-size:12px;color:var(--text-tertiary)}
