:root{--bg-base: oklch(10% .02 260);--bg-surface: oklch(14% .03 260);--bg-elevated: oklch(17% .03 260);--bg-input: oklch(12% .025 260);--bg-hover: oklch(20% .03 260);--accent: oklch(78% .18 75);--accent-dim: oklch(65% .14 75);--accent-glow: oklch(78% .18 75 / .15);--text-primary: oklch(95% .01 260);--text-secondary: oklch(65% .03 260);--text-muted: oklch(45% .02 260);--status-ok: oklch(72% .18 145);--status-warn: oklch(78% .18 75);--status-error: oklch(65% .22 25);--status-info: oklch(70% .15 240);--border: oklch(25% .04 260);--border-focus: oklch(78% .18 75 / .6);--font-body: "Inter", system-ui, sans-serif;--font-display: "Syne", system-ui, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .25s}[data-theme=light]{--bg-base: oklch(97% .005 260);--bg-surface: oklch(100% 0 0);--bg-elevated: oklch(94% .008 260);--bg-input: oklch(98% .005 260);--bg-hover: oklch(92% .01 260);--accent: oklch(65% .18 75);--accent-dim: oklch(55% .14 75);--accent-glow: oklch(65% .18 75 / .12);--text-primary: oklch(15% .02 260);--text-secondary: oklch(40% .02 260);--text-muted: oklch(60% .015 260);--status-ok: oklch(42% .18 145);--status-warn: oklch(55% .18 75);--status-error: oklch(48% .22 25);--status-info: oklch(45% .15 240);--border: oklch(82% .015 260);--border-focus: oklch(65% .18 75 / .5)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--text-primary)}h1{font-size:clamp(1.5rem,2vw + .5rem,2rem)}h2{font-size:clamp(1.2rem,1.5vw + .4rem,1.5rem)}h3{font-size:1.1rem}h4{font-size:1rem}p{color:var(--text-secondary);line-height:1.7}small{font-size:.75rem;color:var(--text-muted)}strong{color:var(--text-primary);font-weight:600}em{color:var(--accent);font-style:normal}a{color:var(--accent);text-decoration:none;transition:opacity var(--duration-fast)}a:hover{opacity:.8}code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.85em;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px;color:var(--accent)}pre{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;overflow-x:auto}pre code{background:none;border:none;padding:0;color:var(--text-primary)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spinSvg{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.message-enter{animation:fadeSlideIn var(--duration-normal) var(--ease-out) forwards}.typing-indicator{display:flex;align-items:center;gap:4px;padding:12px 16px}.typing-indicator span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:typing 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.modal-overlay{animation:fadeIn var(--duration-fast) var(--ease-out)}.modal{animation:scaleIn var(--duration-normal) var(--ease-out)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,textarea,select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);padding:8px 12px;width:100%;font-family:inherit;font-size:14px;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--text-muted)}select option{background:var(--bg-elevated);color:var(--text-primary)}button{cursor:pointer;font-family:inherit;font-size:14px;border:none;background:none}.btn-primary{background:var(--accent);color:#010309;border:none;border-radius:var(--radius-sm);padding:10px 20px;font-weight:600;transition:opacity var(--duration-fast),transform var(--duration-fast)}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 20px;transition:border-color var(--duration-fast),color var(--duration-fast)}.btn-secondary:hover{border-color:var(--accent-dim);color:var(--text-primary)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.error-msg{background:#f941441f;border:1px solid var(--status-error);border-radius:var(--radius-sm);padding:10px 14px;color:var(--status-error);font-size:13px}.success-msg{background:#4cc1571f;border:1px solid var(--status-ok);border-radius:var(--radius-sm);padding:10px 14px;color:var(--status-ok);font-size:13px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.modal h3{font-size:1.1rem;color:var(--text-primary)}.modal-actions{display:flex;gap:12px;justify-content:flex-end}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.negative{color:var(--status-error)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
