.account-page { --canvas: #fff; --paper: #fff; --ink: #242424; --muted: #686868; --line: #dededb; --rust: #424242; color-scheme: light; background: var(--canvas); font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; font-size: 16px; }
.account-page .site-header { background: #fff; }
.account-page .brand strong { font-family: inherit; }
.account-shell { width: min(400px, calc(100% - 48px)); margin: 54px auto 72px; }
.account-shell h1, .account-shell h2, .account-shell h3 { font-family: inherit; line-height: 1.4; letter-spacing: -.03em; }
.account-shell h1 { font-size: 28px; font-weight: 650; margin: 0 0 8px; }
.account-shell h2 { font-size: 23px; }
.account-shell h3 { font-size: 20px; }
.account-shell .lede { font-size: 15px; line-height: 1.7; color: var(--muted); margin: 0 0 32px; }
.account-shell fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.account-shell legend { font-weight: 650; margin-bottom: 16px; }
.account-shell label { display: block; font-size: 14px; font-weight: 550; margin: 12px 0 7px; }
.account-shell input:not([type=checkbox]) { width: 100%; min-height: 50px; padding: 11px 13px; border: 1px solid #b9bdc3; border-radius: 6px; background: #fff; color: #242424; font: inherit; }
.account-shell button { min-height: 44px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 6px; font: inherit; color: var(--ink); background: #fff; cursor: pointer; }
.account-shell button:disabled { opacity: .55; cursor: wait; }
.account-shell :is(button, input, a):focus-visible { outline: 3px solid #8cacf0; outline-offset: 3px; }
.account-shell .account-primary { width: 100%; min-height: 49px; margin-top: 18px; background: #252525; color: white; font-weight: 550; }
.account-shell .account-google { width: 100%; min-height: 49px; display: flex; align-items: center; justify-content: center; gap: 10px; font-weight: 550; }
.account-shell .account-google { border-color: #747775; font-family: "Google Sans", Arial, sans-serif; font-size: 14px; font-weight: 500; padding-inline: 12px; }
.account-google img { width: 20px; height: 20px; flex-shrink: 0; }
.account-divider { display: flex; align-items: center; gap: 18px; margin: 26px 0; color: #777; font-size: 13px; }
.account-divider::before, .account-divider::after { content: ''; height: 1px; background: #e5e5e5; flex: 1; }
.account-switch { text-align: center; font-size: 14px; color: var(--muted); margin: 20px 0 0; }
.account-shell .text-button { background: transparent; border: 0; padding: 7px 3px; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.account-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.account-actions button { font-size: 14px; }
.account-check { display: flex !important; align-items: center; gap: 10px; min-height: 44px; }
.account-check input { width: 22px; height: 22px; flex-shrink: 0; accent-color: #252525; }
.account-status { font-size: 14px; color: #65502f; overflow-wrap: anywhere; margin: 0 0 20px; }
.account-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 18px; padding-top: 20px; margin-top: 24px; font-size: 12px; color: #686868; }
.account-footer a { min-height: 44px; display: inline-flex; align-items: center; }
.account-danger { color: #953925 !important; }
#identity { overflow-wrap: anywhere; }
#signup-note, #consent p, #membership-state, #deletion p { font-size: 14px; line-height: 1.8; }
#signup-note { color: var(--muted); }
#deletion { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 24px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }
@media (max-width: 480px) { .account-shell { margin-block: 28px 50px; } .account-shell h1 { font-size: 26px; } .account-page .site-header__inner { gap: 12px; } }

.consent-stage .account-shell { width: min(420px, calc(100% - 48px)); }
.consent-stage .account-shell .lede { margin-bottom: 25px; }
.consent-stage .account-identity { padding: 12px 0 20px; margin-bottom: 8px; border-bottom: 1px solid var(--line); }
#identity-label { font-size: 12px; color: #777; }
.consent-stage #identity { margin: 2px 0 0; font-size: 14px; }
.consent-row { display: flex; align-items: center; gap: 8px; min-height: 62px; }
.consent-row .account-check { flex: 1; margin: 0; min-height: 48px; font-size: 15px; font-weight: 400; cursor: pointer; word-break: keep-all; }
.consent-required { font-size: 12px; color: #666; }
.consent-read { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; font-size: 13px; color: #545454; text-underline-offset: 4px; }
.consent-privacy { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 20px 0 27px; padding: 15px 17px; background: #f7f7f5; border-radius: 7px; }
.consent-privacy strong { font-size: 14px; font-weight: 550; }
#consent .consent-privacy p { font-size: 12px; color: #727272; margin: 4px 0 0; line-height: 1.65; word-break: keep-all; }
#consent-submit { margin-top: 0; }
#consent-submit:disabled { opacity: 1; background: #eee; border-color: #eee; color: #777; cursor: not-allowed; }
.consent-stage .account-actions { justify-content: center; gap: 24px; margin-top: 16px; }
.consent-stage .account-actions button { border: 0; padding: 7px 0; color: #737373 !important; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; font-weight: 400 !important; }
@media (max-width: 480px) { .consent-row .account-check { font-size: 14px; } .consent-required { font-size: 11px; } .consent-privacy { padding: 13px; } }
/* Approved A: open white layout, consistent Charmsay brown accents. */
.account-page{--ink:#28211c;--muted:#73675d;--line:#e4dbd2;--rust:#795237}
.account-wordmark{font-size:28px;font-weight:800;letter-spacing:-1.2px;text-decoration:none;color:#28211c}.account-wordmark span{color:#a77d55}.account-page .site-header{border-bottom:0}.account-shell{width:min(400px,calc(100% - 40px));margin:64px auto 72px}.account-shell h1{text-align:center;font-size:30px;font-weight:700}.account-shell>.lede{text-align:center;margin-bottom:30px;font-size:14px}.account-shell input:not([type=checkbox]){border-color:#d7cdc2;border-radius:8px;min-height:52px}.account-shell .account-primary{background:#795237;border-color:#795237;border-radius:8px;min-height:50px}.account-shell .account-primary:hover{background:#62412c}.account-shell :is(button,input,a):focus-visible{outline-color:#a78260}.account-check input{accent-color:#795237}.account-divider{color:#8c7f73}.account-divider:before,.account-divider:after{background:#e8e0d7}.account-shell .text-button{color:#76513a}.account-shell .account-google{border-radius:8px}.account-footer{margin-top:36px}.consent-privacy{background:#faf7f2}.account-identity{padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:22px}#identity{font-size:16px;margin:5px 0 0}#verification-message{font-size:15px;line-height:1.75}.verification-help{font-size:13px;line-height:1.8;color:var(--muted)}#verify-actions>.text-button{display:block;margin:12px auto 0}#verify-actions~.account-actions{justify-content:center}#signup-note{font-size:12px;line-height:1.7}.account-status:not([hidden]){padding:12px 14px;background:#faf7f2;border-radius:8px}.account-shell .account-danger{border-color:#d8b6ac}
@media(max-width:480px){.account-shell{margin-top:32px}.account-shell h1{font-size:27px}.account-wordmark{font-size:25px}}

.account-next{margin:28px 0 30px;text-align:center}.account-next>a.account-primary{display:flex;align-items:center;justify-content:center;text-decoration:none;margin:0}.account-home{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;color:var(--muted);font-size:14px;text-underline-offset:4px}.account-next:not([hidden])~.account-actions{border-top:1px solid var(--line);padding-top:18px;gap:24px}.account-next:not([hidden])~.account-actions button{border:0;background:transparent;font-size:13px;color:var(--muted);padding:6px 0;text-decoration:underline;text-underline-offset:4px}
.account-environment-banner{margin:0;padding:10px 16px;background:#fff4d9;color:#6c501c;text-align:center;font-size:12px;border-bottom:1px solid #e3cfa2}.debug-account .site-header{border-top:3px solid #a78260}

/* Shared login, signup and reset fields; deletion reauthentication stays unchanged. */
.credential-field { position: relative; margin-bottom: 16px; }
.account-shell .credential-field label { position: absolute; top: 9px; left: 14px; z-index: 1; margin: 0; font-size: 12px; line-height: 18px; font-weight: 500; color: var(--muted); cursor: text; }
.account-shell .credential-field input { min-height: 64px; padding: 30px 14px 10px; background: #faf7f2; font-size: 16px; line-height: 24px; }
.account-shell #password { padding-right: 72px; }
.account-shell #show-password { position: absolute; right: 8px; top: 10px; min-width: 48px; min-height: 44px; padding: 8px; border: 0; background: transparent; font-size: 12px; color: var(--rust); }
.account-shell #show-password:hover { background: #efe7de; }
#credentials .account-primary { margin-top: 8px; }
#reset-option { margin-top: 12px; }
#signup-option { margin-top: 8px; }
.account-page .site-header__inner { flex-wrap: wrap; }
.account-page .site-header a { white-space: nowrap; }
.account-page .skip-link:not(:focus) { clip-path: inset(50%); }
