:root,[data-theme=light]{--bg: #ffffff;--bg-elevated: #ffffff;--bg-secondary: #f3f4f6;--bg-hover: rgba(0, 0, 0, .04);--text: #1a1a1a;--text-secondary: #6b7280;--text-muted: #9ca3af;--border: #e5e7eb;--border-soft: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .16);--accent: #4338ca;--accent-bg: #eef2ff;--accent-border: #c7d2fe;--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .08);--danger-border: rgba(239, 68, 68, .18);--success: #10b981;--success-bg: rgba(16, 185, 129, .08);--warning: #f59e0b;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 2px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 6px 20px rgba(0, 0, 0, .18);color-scheme:light}[data-theme=dark]{--bg: #0f1115;--bg-elevated: #1a1d23;--bg-secondary: #232730;--bg-hover: rgba(255, 255, 255, .05);--text: #e5e7eb;--text-secondary: #9ca3af;--text-muted: #6b7280;--border: rgba(255, 255, 255, .08);--border-soft: rgba(255, 255, 255, .05);--border-strong: rgba(255, 255, 255, .18);--accent: #818cf8;--accent-bg: rgba(67, 56, 202, .18);--accent-border: rgba(129, 140, 248, .3);--danger: #f87171;--danger-bg: rgba(239, 68, 68, .14);--danger-border: rgba(239, 68, 68, .28);--success: #34d399;--success-bg: rgba(16, 185, 129, .14);--warning: #fbbf24;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .5);--shadow-lg: 0 6px 20px rgba(0, 0, 0, .6);color-scheme:dark}html,body{background:var(--bg);color:var(--text)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;border-radius:9px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,filter .15s;border:1px solid transparent;outline:none;-webkit-user-select:none;user-select:none;text-decoration:none;white-space:nowrap;line-height:1.2}.ui-button:focus-visible{box-shadow:0 0 0 3px var(--accent-bg)}.ui-button:disabled,.ui-button[aria-busy=true]{opacity:.55;cursor:not-allowed}.ui-button[aria-busy=true]{pointer-events:none}.ui-button--full-width{width:100%}.ui-button--sm{padding:6px 12px;font-size:12px}.ui-button--md{padding:10px 16px;font-size:14px}.ui-button--lg{padding:12px 22px;font-size:16px}.ui-button--primary{background:var(--text);color:var(--bg-elevated);border-color:var(--text)}.ui-button--primary:hover:not(:disabled):not([aria-busy=true]){filter:brightness(1.1)}[data-theme=dark] .ui-button--primary:hover:not(:disabled):not([aria-busy=true]){filter:brightness(.9)}.ui-button--accent{background:var(--accent);color:#fff;border-color:var(--accent)}.ui-button--accent:hover:not(:disabled):not([aria-busy=true]){filter:brightness(1.08)}.ui-button--secondary{background:var(--bg-elevated);color:var(--text);border-color:var(--border)}.ui-button--secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--bg-hover);border-color:var(--border-strong)}.ui-button--ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.ui-button--ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--bg-hover);color:var(--text)}.ui-button--danger{background:var(--danger);color:#fff;border-color:var(--danger)}.ui-button--danger:hover:not(:disabled):not([aria-busy=true]){filter:brightness(.92)}.ui-button-spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite;flex-shrink:0}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;color:var(--text)}.ui-card--padding-none{padding:0}.ui-card--padding-sm{padding:12px}.ui-card--padding-md{padding:20px}.ui-card--padding-lg{padding:32px}.ui-card--interactive{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.ui-card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.ui-input{display:flex;flex-direction:column;gap:6px}.ui-input-label{font-size:13px;font-weight:500;color:var(--text)}.ui-input-field{width:100%;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;font-family:inherit;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.ui-input-field--sm{padding:7px 10px;font-size:12px}.ui-input-field--md{padding:10px 12px;font-size:14px}.ui-input-field--lg{padding:12px 14px;font-size:16px}.ui-input-field::placeholder{color:var(--text-muted)}.ui-input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);background:var(--bg-elevated)}.ui-input-field:disabled{opacity:.55;cursor:not-allowed}.ui-input-field--error{border-color:var(--danger)}.ui-input-field--error:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.ui-input-error{font-size:12px;color:var(--danger)}.ui-input-hint{font-size:12px;color:var(--text-secondary)}
