:root{--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-text: #1f2937;--color-muted: #6b7280;--color-bg: #ffffff;--color-bg-elev: #ffffff;--color-border: #e5e7eb;--radius-md: 8px;--radius-lg: 12px;--shadow-card: 0 1px 2px 0 rgba(0,0,0,.05);--shadow-card-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1)}html.dark{--color-text: #e5e7eb;--color-muted: #9ca3af;--color-bg: #0f1216;--color-bg-elev: #111827;--color-border: #1f2937}.card{background-color:var(--color-bg-elev);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .75rem;border-radius:.375rem;font-weight:500;line-height:1;color:#fff;background-color:var(--color-accent);transition:background-color .15s,box-shadow .15s,transform .15s}.btn:hover{background-color:var(--color-accent-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:focus{outline:2px solid transparent;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-accent)}html.dark .btn:focus{box-shadow:0 0 0 2px var(--color-bg-elev),0 0 0 4px var(--color-accent)}.btn-neutral{color:var(--color-text);background-color:#f3f4f6}.btn-neutral:hover{background-color:#e5e7eb}html.dark .btn-neutral{background-color:#1f2937;color:var(--color-text)}html.dark .btn-neutral:hover{background-color:#374151}.btn-ghost{color:var(--color-text);background-color:transparent}.btn-ghost:hover{background-color:#1f29370f}html.dark .btn-ghost:hover{background-color:#ffffff0f}.menu{background-color:var(--color-bg-elev);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card-lg);padding:.25rem 0}.menu-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;color:var(--color-text);cursor:pointer}.menu-item:hover{background-color:#1f29370f}html.dark .menu-item:hover{background-color:#ffffff0f}.input{width:100%;padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text)}.input:focus{outline:2px solid transparent;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-accent)}html.dark .input:focus{box-shadow:0 0 0 2px var(--color-bg-elev),0 0 0 4px var(--color-accent)}
