/* Phase 1 account entry: reuse the existing brand and course styles. */
.auth-panel { max-width:520px; margin:60px auto; padding:30px; border:1px solid var(--module-border); background:var(--module-bg); border-radius:8px; }
.auth-panel h1 { font-family:"Noto Serif JP",serif; font-size:28px; margin:12px 0 20px; }
.auth-panel p { line-height:1.8; }
.auth-panel label { display:block; margin:18px 0; font-size:14px; }
.auth-panel input { display:block; width:100%; margin-top:8px; padding:12px; border:1px solid var(--line); border-radius:4px; background:var(--white); color:var(--ink); }
.auth-panel input:focus { outline:2px solid var(--red); outline-offset:2px; }
.auth-panel .auth-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.auth-panel .auth-status { color:var(--red-dark); font-size:14px; min-height:1.8em; overflow-wrap:anywhere; }
.auth-panel .auth-secondary { color:var(--muted); font-size:13px; }
.auth-panel button:disabled { opacity:.6; cursor:wait; }
.site-header nav { min-width:0; }
.auth-link { display:block; min-width:0; max-width:clamp(120px,20vw,320px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:820px) { .auth-link { max-width:100%; } }
.progress-sync-note { margin:0; padding:12px 20px; color:var(--red-dark); background:var(--module-bg); font-size:13px; line-height:1.7; }
.progress-sync-note button { color:inherit; background:transparent; border:1px solid var(--module-border); border-radius:4px; padding:4px 9px; cursor:pointer; }
.progress-sync-note[hidden] { display:none; }
.legacy-progress { border-top:1px solid var(--line); margin-top:25px; padding-top:15px; font-size:13px; }
.legacy-progress h2 { font-size:17px; }
.legacy-progress label { display:flex; gap:8px; align-items:flex-start; }
.legacy-progress input[type="checkbox"] { width:18px; min-width:18px; margin:3px 0 0; accent-color:var(--red); }
@media (max-width:540px) {
  .auth-panel { margin:28px auto; padding:22px; }
}
