@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--accent:#3b82f6;--accent-light:#eff6ff;--accent-dim:#3b82f61f;--bg:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#f1f3f5;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--border:#e5e7eb;--border-focus:var(--accent);--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 12px 32px #0000001a, 0 4px 8px #0000000a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--transition:.18s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}img{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font)}.container{max-width:680px;margin:0 auto;padding:0 20px}.container--wide{max-width:860px;margin:0 auto;padding:0 20px}.btn{border-radius:var(--radius-sm);transition:all var(--transition);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-size:.88rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.65s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-dots span{background:var(--accent);border-radius:50%;width:7px;height:7px;margin:0 2px;animation:1.2s ease-in-out infinite bounce;display:inline-block}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}
