/* Auth + account form pages (1 Nov 2026): light background under the shared site header (site.css), one centred card. */
body.cg-auth-body{background:linear-gradient(180deg,#eef4fa 0,#f7f9fc 320px,#f7f9fc 100%);min-height:100vh;display:flex;flex-direction:column}
main.card{background:#fff;width:min(440px,calc(100vw - 28px));margin:36px auto 40px;padding:24px 26px 18px;border-radius:16px;
  border:1px solid var(--line);box-shadow:0 12px 40px rgba(10,30,60,.08);flex:0 0 auto}
main.card h1{font-size:21px;margin:16px 0 10px}
main.card label{display:block;margin:10px 0;font-size:13px;font-weight:600}
main.card input[type=email],main.card input[type=password],main.card input[type=text]{display:block;width:100%;padding:10px 11px;margin-top:4px;
  border:1px solid #b6c6d4;border-radius:9px;font:inherit;font-size:15px}
main.card input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
main.card form div{margin:9px 0;font-size:13px}main.card form div label{margin:0 0 2px}
main.card form div input{width:100%}main.card form div input[type=checkbox]{width:auto;margin-right:6px;vertical-align:-2px}
main.card form div:has(input[type=checkbox]){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:flex-start;gap:6px}
main.card form div:has(input[type=checkbox]) label{font-weight:500}
main.card .helptext{display:block;font-size:12px;color:var(--muted);margin-top:3px}
main.card form div ul.errorlist{color:#b3261e;font-size:12.5px;margin:2px 0;padding-left:18px}
main.card button[type=submit]{margin-top:10px;width:100%;padding:11px;border:0;border-radius:10px;background:var(--navy,#0d2b4a);color:#fff;
  font:inherit;font-size:15px;font-weight:600;cursor:pointer}
main.card button[type=submit]:hover{filter:brightness(1.12)}main.card button:disabled{opacity:.45;cursor:not-allowed}
.err,.msgs .error{color:#b3261e}.ok{background:#e7f5ec;color:#14532d;border-radius:10px;padding:8px 11px;font-size:13.5px}
.msgs{padding-left:18px;font-size:13.5px;margin:0 0 8px}
.agree{font-size:12.5px;color:var(--muted)}
.cg-tabs{display:grid;grid-template-columns:1fr 1fr;background:#eef2f7;border-radius:11px;padding:4px;gap:4px}
.cg-tabs [role=tab]{text-align:center;padding:9px 6px;border-radius:8px;text-decoration:none;color:var(--muted);font-weight:600;font-size:14.5px}
.cg-tabs [role=tab][aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(10,30,60,.15)}
.cg-tabs [role=tab]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cg-auth-links{font-size:13.5px;margin:14px 0 4px;text-align:center}
.cg-auth-plan{background:#eef5ff;border:1px solid #cfe0f7;border-radius:10px;padding:9px 12px;font-size:13.5px;margin:0 0 14px}
.cg-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12.5px;margin:14px 0 4px}
.cg-or::before,.cg-or::after{content:"";flex:1;height:1px;background:var(--line)}
main.card button.cg-google{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f1f1f;border:1px solid #c7d0da}
main.card button.cg-google:hover{background:#f6f8fa;filter:none}
body.cg-auth-body .cg-ft{margin-top:auto}
/* round 3: confirm-email pages */
.cg-state-card{text-align:center}
.cg-state-ic{width:76px;height:76px;margin:10px auto 4px;border-radius:50%;display:grid;place-items:center;background:#e8f3fe;color:var(--accent)}
.cg-state-ic.is-ok{background:#e7f5ec;color:var(--ok)}.cg-state-ic.is-warn{background:#fff4e0;color:#9a5b00}
.cg-state-p{color:var(--muted);font-size:15px;margin:0 0 14px}.cg-state-p b{color:var(--ink);word-break:break-all}
.cg-warn{background:#fff4e0;color:#7a4500;border-radius:10px;padding:8px 11px;font-size:13.5px}
.cg-state-tips{text-align:left;font-size:13px;color:var(--muted);margin:16px 0 6px;padding-left:20px}
.cg-state-out{margin:6px 0 0}main.card button.cg-link-btn{all:unset;color:var(--accent);font-size:13.5px;cursor:pointer;margin-top:4px}
main.card button.cg-link-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cg-btn-block{display:block!important;width:100%;text-align:center;margin-top:10px;box-sizing:border-box}

/* round 3 #9 (Adam 1 Nov 2026): auth pages match the site - deep-ocean backdrop, AI art panel, glassy white card */
body.cg-auth-body{background:#061a2e url(site/contact-seafloor-sm.webp) center bottom/cover no-repeat fixed;color:var(--ink)}
@media (min-width:721px){body.cg-auth-body{background-image:linear-gradient(180deg,rgba(6,26,46,.35),rgba(6,26,46,.75)),url(site/contact-seafloor.webp)}}
.cg-auth-shell{flex:1 0 auto;display:flex;align-items:center;justify-content:center;gap:clamp(20px,3vw,40px);padding:28px 16px 40px;
  width:min(1040px,100%);margin:0 auto;box-sizing:border-box}
.cg-auth-shell main.card{margin:0;flex:0 0 auto;border:1px solid rgba(255,255,255,.6);box-shadow:0 30px 80px -24px rgba(0,0,0,.6),0 0 0 1px rgba(111,214,236,.08);
  background:rgba(255,255,255,.97)}
.cg-auth-art{position:relative;flex:0 1 460px;align-self:stretch;min-height:560px;border-radius:22px;overflow:hidden;
  box-shadow:0 30px 80px -24px rgba(0,0,0,.7);border:1px solid rgba(111,214,236,.18)}
.cg-auth-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cg-auth-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,26,46,.88) 0,rgba(6,26,46,.25) 42%,rgba(6,26,46,0) 60%,rgba(6,26,46,.55) 100%)}
.cg-auth-art-tx{position:relative;z-index:1;padding:30px 30px 0;color:#e8f6fb}
.cg-auth-k{margin:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);font-weight:700}
.cg-auth-h{margin:8px 0 14px;font-size:clamp(26px,2.6vw,34px);line-height:1.15;font-weight:750;color:#fff;letter-spacing:-.01em}
.cg-auth-art ul{list-style:none;margin:0;padding:0;font-size:14.5px;line-height:1.45}
.cg-auth-art li{position:relative;padding-left:22px;margin:7px 0;color:#d6eaf3}
.cg-auth-art li::before{content:"";position:absolute;left:0;top:.45em;width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(111,214,236,.18)}
main.card button[type=submit]{background:linear-gradient(135deg,#0b63ce,#0b2a4a);box-shadow:0 8px 20px -8px rgba(11,99,206,.6)}
main.card h1{font-size:23px;letter-spacing:-.01em}
body.cg-auth-body .cg-ft{background:rgba(4,18,31,.82);border-top:1px solid rgba(111,214,236,.12)}
body.cg-auth-body .cg-ft,body.cg-auth-body .cg-ft a{color:#a9c3d6}
@media (max-width:860px){.cg-auth-art{display:none}.cg-auth-shell{padding:22px 12px 32px}}
/* round 6 (Adam 1 Nov 2026 #7): acceptance line under the Google button, only rendered with it (_google.html) */
.cg-gagree{margin:8px 2px 0;font-size:12px;line-height:1.45;color:var(--muted);text-align:center}
.cg-gagree a{color:inherit;text-decoration:underline}
/* round 6: the gradient submit rule above (line ~61) was overriding the white Google button; restore Google's light style */
main.card button.cg-google{background:#fff;color:#1f1f1f;box-shadow:none;border:1px solid #c7d0da}
main.card button.cg-google:hover{background:#f6f8fa;filter:none}
