.account-page{min-height:100vh;min-height:100dvh;height:auto;overflow:auto;display:grid;place-items:center;padding:32px 16px;background:radial-gradient(ellipse at 15% 0%,#263b39,transparent 55%),#0f1612}.account-card{width:min(460px,100%);padding:36px;background:#18232b;border:1px solid #344752;border-radius:16px;box-shadow:0 28px 100px #0004}.account-card .brand{display:inline-flex;margin-bottom:28px}.account-card h1{font-size:32px;line-height:1.15;margin:10px 0}.account-card p{color:#afc0c9;line-height:1.6;font-size:15px}.account-card label{display:block;margin:18px 0;font-size:14px}.account-card input{margin-top:8px;width:100%;min-height:44px}.account-tabs{display:flex;margin:24px 0 18px;gap:6px}.account-tabs button{flex:1}.account-tabs [aria-pressed=true]{border-color:#c6ee86;color:#c6ee86;background:#263831}.google-button{width:100%;background:#fff;color:#202124;min-height:46px;font-weight:600;border-color:#fff}.account-divider{display:flex;gap:12px;align-items:center;margin:24px 0;color:#a8bbc5;font-size:13px}.account-divider:before,.account-divider:after{content:'';height:1px;background:#344752;flex:1}.password-input{display:flex;position:relative}.password-input input{padding-right:65px}.password-input button{position:absolute;right:4px;bottom:4px;border:0;background:transparent;padding:8px}.password-rules{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:6px;font-size:13px;color:#adbdc6}.password-rules li:before{content:'○';margin-right:8px}.password-rules li.passed{color:#c6ee86}.password-rules li.passed:before{content:'✓'}#forgot-password{margin-top:10px}.account-back{display:block;margin:24px 0 0;font-size:14px;color:#b9cbd3;text-align:center}#account-message.error{color:#ffaaaa}#continue-projects{display:block;text-align:center;text-decoration:none;margin:18px 0}[hidden]{display:none!important}

:root:not([data-theme="dark"]) .account-page{background:radial-gradient(ellipse at 15% 0%,#e8f2e2,transparent 55%),#f7f9f6}
:root:not([data-theme="dark"]) .account-card{background:#fff;border-color:var(--line);box-shadow:0 28px 80px #2030281f}
:root:not([data-theme="dark"]) .account-card p,
:root:not([data-theme="dark"]) .account-divider,
:root:not([data-theme="dark"]) .password-rules,
:root:not([data-theme="dark"]) .account-back{color:var(--muted)}
:root:not([data-theme="dark"]) .account-tabs [aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#eaf4e4}
:root:not([data-theme="dark"]) .google-button{border-color:var(--line)}
:root:not([data-theme="dark"]) .account-divider:before,
:root:not([data-theme="dark"]) .account-divider:after{background:var(--line)}
:root:not([data-theme="dark"]) .password-rules li.passed{color:var(--accent)}
:root:not([data-theme="dark"]) #account-message.error{color:#b02d39}
/* Touch screens: 16px fields so iOS Safari doesn't zoom in, and 44px hit areas. */
@media(pointer:coarse){.account-card input{font-size:16px}.account-tabs button,.account-card .wide{min-height:44px}.password-input button{top:8px;bottom:0;right:0;min-width:56px}}
.google-button{display:flex;align-items:center;justify-content:center;gap:10px}.google-logo{width:18px;height:18px;flex-shrink:0}
#account-message{margin:14px 0 0}#account-message:empty{display:none}#account-message.error{padding:10px 12px;border:1px solid currentColor;border-radius:8px}
/* The password label names only the field; Show sits beside it. */
.password-field{display:grid;gap:6px}
.forgot-link{justify-self:start;margin-top:6px}

/* One spacing system for sign-in, signup and password recovery. */
.account-card>.eyebrow{text-align:center}
.account-card #account-title,.account-card #account-intro,.account-card #account-message{text-align:center}
.confirmation-actions{display:grid;gap:12px;margin-top:24px}
.confirmation-actions button{min-height:44px}
.account-card #account-form{display:grid;gap:20px}
.account-card #account-form label{display:block;margin:0;line-height:1.4}
.account-card #account-form #email-label{display:grid;gap:8px}
.account-card #account-form .password-field{display:grid;gap:8px}
.account-card #account-form input{margin:0}
.account-card #account-form .password-rules{margin:-8px 0 0}
.account-card #account-form .password-input{position:relative;display:flex;align-items:center}
.account-card #account-form .password-input input{padding-right:72px}
.account-card #account-form .password-input button{top:0;bottom:0;right:0;min-width:64px;min-height:44px;padding:0 12px;display:grid;place-items:center;background:transparent;box-shadow:none}
.account-card #account-submit{margin:0;min-height:44px}
