:root{color-scheme:light dark;--bg: #f5f7fb;--surface: #ffffff;--surface-2: #f8fafc;--hover: #f1f4f9;--text: #0f172a;--text-muted: #64748b;--border: #e5e9f0;--border-strong: #cbd5e1;--accent: #4f46e5;--accent-2: #0ea5e9;--accent-strong: #4338ca;--folder: #f59e0b;--success: #16a34a;--danger: #dc2626;--warn: #b45309;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 22px;--shadow: 0 1px 2px rgb(15 23 42 / .04), 0 4px 16px rgb(15 23 42 / .04);--shadow-lg: 0 10px 40px rgb(15 23 42 / .12), 0 2px 6px rgb(15 23 42 / .06);--mono: ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace}@media(prefers-color-scheme:dark){:root{--bg: #0b1020;--surface: #121829;--surface-2: #161d31;--hover: #1a2238;--text: #e6eaf2;--text-muted: #8b95ad;--border: #232c44;--border-strong: #34405f;--accent: #818cf8;--accent-2: #38bdf8;--accent-strong: #a5b4fc;--folder: #fbbf24;--success: #4ade80;--danger: #f87171;--warn: #fbbf24;--shadow: 0 1px 2px rgb(0 0 0 / .3);--shadow-lg: 0 16px 50px rgb(0 0 0 / .5)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}code,kbd{font-family:var(--mono);font-size:.85em;padding:1px 5px;border-radius:5px;background:var(--hover);border:1px solid var(--border)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.label{font-size:.88rem;font-weight:600}.field{width:100%;height:42px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;transition:border-color .15s,box-shadow .15s}.field:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.field:disabled{opacity:.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius-sm);font:inherit;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,opacity .15s,transform .05s}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-strong)}.btn--danger{background:var(--danger);color:#fff}.btn--ghost{background:var(--surface);border-color:var(--border);color:var(--text)}.btn--ghost:hover:not(:disabled){background:var(--hover)}.btn--sm{height:32px;padding:0 10px;font-size:.88rem}.btn--block{width:100%;height:44px}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn--danger:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.icon-btn--light{color:#e2e8f0}.icon-btn--light:hover{background:#ffffff1f;color:#fff}.brand-mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 35%,transparent)}.brand-mark--sm{width:32px;height:32px;border-radius:10px}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;font-size:.72rem;font-weight:600;background:var(--hover);color:var(--text-muted);border:1px solid var(--border);white-space:nowrap}.tag--warn{margin-left:8px;color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.notice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);line-height:1.45;font-size:.92rem}.notice--error{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.notice--info{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-strong)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;animation:spin .7s linear infinite}.spinner--light{color:#fff;width:28px;height:28px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:860px){.hide-sm{display:none!important}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
