@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg:#f7f3ec;--surface:#eee8dc;--surface-2:#e5ddd0;--border:#d5ccc0;--accent:#c4a87a;--accent-dark:#a8895f;--accent-glow:#c4a87a40;--text:#3a3530;--text-muted:#7a7068;--success:#5a8a6a;--error:#a85050;--radius:12px;--radius-sm:8px;--shadow:0 2px 8px #503c1e1f;--shadow-lg:0 8px 32px #503c1e2e;--transition:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Inter,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}h1{font-size:2.5rem;font-weight:700;line-height:1.2}h2{font-size:1.75rem;font-weight:600}h3{font-size:1.25rem;font-weight:600}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-family:inherit;font-size:.95rem;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.btn-primary:hover{background:var(--accent-dark);box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background:var(--surface-2);color:var(--text);border:1.5px solid var(--border)}.btn-secondary:hover{background:var(--surface);border-color:var(--accent)}.btn-ghost{color:var(--text-muted);background:0 0;padding:8px 14px}.btn-ghost:hover{color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-lg{border-radius:var(--radius);padding:14px 32px;font-size:1.05rem}.btn-sm{padding:6px 14px;font-size:.85rem}.btn-full{width:100%}.card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.input{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);transition:var(--transition);outline:none;padding:10px 14px;font-family:inherit;font-size:.95rem}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder{color:var(--text-muted)}.label{color:var(--text-muted);margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.form-group{margin-bottom:18px}.badge{border-radius:100px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.badge-success{color:var(--success);background:#d4edda}.badge-muted{background:var(--surface-2);color:var(--text-muted)}.progress{background:var(--surface-2);border-radius:100px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent-dark), var(--accent));border-radius:100px;height:100%;transition:width .4s}.progress-fill.danger{background:linear-gradient(90deg,#c05050,#e08080)}.divider{border:none;border-top:1.5px solid var(--border);margin:20px 0}.alert{border-radius:var(--radius-sm);border-left:4px solid;padding:12px 16px;font-size:.9rem}.alert-error{color:#7a2020;border-color:var(--error);background:#f8d7d7}.alert-success{color:#1d5c35;border-color:var(--success);background:#d4edda}.alert-info{color:#7a5c1a;border-color:var(--accent);background:#fef7ec}.key-text{background:var(--bg);border:1.5px solid var(--border);word-break:break-all;color:var(--text-muted);cursor:pointer;transition:var(--transition);border-radius:6px;padding:6px 10px;font-family:Courier New,monospace;font-size:.8rem}.key-text:hover{border-color:var(--accent);color:var(--text)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#3c2d1459;justify-content:center;align-items:center;padding:16px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);width:100%;max-width:480px;box-shadow:var(--shadow-lg);padding:32px;animation:.2s slideUp}@media (width<=600px){h1{font-size:1.8rem}.card{padding:16px}.modal{padding:24px}}
