.btn{white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:.375rem;justify-content:center;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #3b82f680}.dark .btn:focus-visible{box-shadow:0 0 0 2px #0f131a,0 0 0 4px #60a5faa6}.btn:disabled{pointer-events:none;opacity:.5}.btn--sm{height:2rem;padding:0 .75rem;font-size:.8125rem}.btn--md{height:2.5rem;padding:0 1rem}.btn--lg{border-radius:.5rem;height:3rem;padding:0 2rem;font-size:1rem;font-weight:700}.btn--icon{width:2.5rem;height:2.5rem;padding:0}.btn--full{width:100%;display:flex}.btn--default{color:#fff;background:#0f172a}.btn--default:hover:not(:disabled){background:#1e293b}.btn--default:active:not(:disabled){background:#334155}.dark .btn--default{color:#0f172a;background:#f1f5f9}.dark .btn--default:hover:not(:disabled){background:#e2e8f0}.dark .btn--default:active:not(:disabled){background:#cbd5e1}.btn--primary{color:#fff;background:#3b82f6}.btn--primary:hover:not(:disabled){background:#2563eb}.btn--primary:active:not(:disabled){background:#1d4ed8}.dark .btn--primary:hover:not(:disabled){background:#60a5fa}.dark .btn--primary:active:not(:disabled){background:#93c5fd}.btn--outline{color:#374151;background:0 0;border-color:#d1d5db}.btn--outline:hover:not(:disabled){background:#f9fafb}.btn--outline:active:not(:disabled){background:#f3f4f6}.dark .btn--outline{color:#e5e7eb;border-color:#ffffff26}.dark .btn--outline:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff40}.dark .btn--outline:active:not(:disabled){background:#ffffff1a}.btn--ghost{color:#374151;background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:#f3f4f6}.btn--ghost:active:not(:disabled){background:#e5e7eb}.dark .btn--ghost{color:#9ca3af}.dark .btn--ghost:hover:not(:disabled){color:#e5e7eb;background:#ffffff14}.dark .btn--ghost:active:not(:disabled){background:#ffffff1f}.btn--softblue{color:#4338ca;background:#e0e7ff}.btn--softblue:hover:not(:disabled){background:#c7d2fe}.btn--kakao{color:#000;background:#fee500}.btn--kakao:hover:not(:disabled){background:#fdd835}.btn--google{color:#000;background:#fff;border-color:#e2e8f0}.btn--google:hover:not(:disabled){background:#f8fafc}.btn--apple{color:#fff;background:#000}.btn--apple:hover:not(:disabled){background:#1a1a1a}.btn--github{color:#fff;background:#24292f}.btn--github:hover:not(:disabled){background:#2f363d}
.input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;outline:none;width:100%;padding:.5rem .75rem;font-size:.875rem;line-height:1.5;transition:border-color .15s;display:block}.input::placeholder{color:#9ca3af}.input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.input:disabled{opacity:.5;cursor:not-allowed;background:#f9fafb}.input--error{border-color:#ef4444}.input--error:focus{border-color:#ef4444;box-shadow:0 0 0 2px #ef444426}
.lb{color:#111827;font-size:.875rem;font-weight:700;line-height:1}.lb--error{color:#ef4444}.lb-required-mark{color:#ef4444;margin-left:.25rem;display:inline-block}
