body { font-family: -apple-system, system-ui, sans-serif; max-width: 480px;
       margin: 64px auto; padding: 0 24px; text-align: center; color: #1a1a1a; }
.logo { width: 300px; max-width: 85%; height: auto; margin-bottom: 32px; }
.spinner { margin: 24px auto; width: 32px; height: 32px; border: 3px solid #eee;
           border-top-color: #333; border-radius: 50%; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .spinner { animation: none; } }
.ok { color: #137333; } .err { color: #c5221f; }
.btn { display: inline-block; margin-top: 24px; padding: 12px 24px;
       background: #1a1a1a; color: #fff; border-radius: 8px; text-decoration: none;
       border: none; font-size: 16px; cursor: pointer; }
.btn:disabled { opacity: 0.6; cursor: default; }
input { padding: 10px; font-size: 16px; border: 1px solid #ccc; border-radius: 8px; }
label { display: block; margin-bottom: 8px; }
#msg { min-height: 1.4em; margin: 8px 0 0; }
