body { background:#f5f5f3; display:flex; align-items:center; justify-content:center; min-height:100vh; }

/* register系は背景色が若干違う */
.bg-register { background:#f0f4f8; }

/* カード */
.card { border:none; border-radius:12px; box-shadow:0 4px 24px rgba(0,0,0,.08); max-width:440px; width:100%; }
.brand { color:#0ABAB5; font-weight:700; font-size:22px; letter-spacing:0; }
.btn-primary { background:#0ABAB5; border-color:#0ABAB5; }
.btn-primary:hover { background:#089e99; border-color:#089e99; }

/* モバイル対応 */
@media (max-width: 768px) {
    .card { margin: 16px; }
}

/* ブランドロゴ */
.auth-brand-si { font-family:Georgia,serif; font-size:22px; font-weight:700; color:#0ABAB5; }
.auth-brand-scan { font-family:Georgia,serif; font-size:22px; font-weight:700; color:#1a1a1a; }
.auth-brand-beta { font-size:9px; font-weight:700; color:#fff; background:#0ABAB5; border-radius:3px; padding:1px 5px; }
.auth-brand-sub { font-size:11px; color:#aaa; letter-spacing:2px; }
.auth-presented { font-size:10px; color:#bbb; }
.auth-presented-name { font-family:Georgia,serif; font-size:12px; color:#999; letter-spacing:2px; }
.auth-recaptcha-note { font-size:10px; color:#aaa; text-align:center; margin-top:8px; }
.auth-recaptcha-note a { color:#aaa; }
.auth-card { width:100%; max-width:380px; }
.auth-card-wide { max-width:440px; }
.emoji-lg { font-size:40px; }
.emoji-xl { font-size:64px; }

.btn-brand { background: #0ABAB5; color: #fff; border-color: #0ABAB5; }
.btn-brand:hover { background: #089e99; border-color: #089e99; color: #fff; }

/* Google sign-in button */
.btn-google {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid #dadce0;
    border-radius: 6px;
    color: #3c4043;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, box-shadow 0.15s;
}
.btn-google:hover { background: #f8f9fa; box-shadow: 0 1px 4px rgba(0,0,0,.12); }
.btn-google:disabled { opacity: .6; cursor: not-allowed; }

/* Divider between form and Google button */
.auth-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px 0;
    color: #bbb;
    font-size: 12px;
}
.auth-divider::before,
.auth-divider::after {
    content: '';
    flex: 1;
    border-top: 1px solid #e8e8e8;
}
