.account-view { max-width: 720px; margin: 0 auto 64px; }
.nav-account.is-signed-in { display: inline-flex; align-items: center; white-space: nowrap; padding: 7px 11px; border: 1px solid var(--gold); border-radius: 999px; background: color-mix(in srgb, var(--gold), transparent 91%); color: var(--gold); font-weight: 800; }
.nav-account.is-signed-in::before { content: ''; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #91d8a0; box-shadow: 0 0 9px #91d8a0; }
.nav-account.is-signed-in.is-current { border-bottom: 1px solid var(--gold); }
.account-nav-wrap { position: relative; flex: none; }
.account-menu { position: absolute; top: calc(100% + 13px); right: 0; z-index: 50; width: min(250px, calc(100vw - 32px)); padding: 13px; border: 1px solid var(--gold); border-radius: 12px; background: var(--paper); box-shadow: 0 18px 42px #0009, 0 0 22px color-mix(in srgb, var(--gold), transparent 85%); }
.account-menu::before { content: ''; position: absolute; top: -7px; right: 25px; width: 12px; height: 12px; transform: rotate(45deg); border-top: 1px solid var(--gold); border-left: 1px solid var(--gold); background: var(--paper); }
.account-menu-caption { margin: 4px 9px 3px; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: 1px; }
.account-menu-email { margin: 0 9px 11px; padding-bottom: 12px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.account-menu button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; padding: 8px 10px; border: 0; border-radius: 7px; background: transparent; color: var(--ink); font-size: 12px; font-weight: 700; text-align: left; }
.account-menu button:hover, .account-menu button:focus-visible { background: color-mix(in srgb, var(--gold), transparent 87%); color: var(--gold); }
.account-menu .account-menu-sign-out { margin-top: 5px; border-top: 1px solid var(--line); border-radius: 0 0 7px 7px; color: var(--muted); }
.account-page-intro { position: relative; padding: 0 46px; }
.account-close { position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--ink); font-size: 26px; line-height: 1; }
.account-close:hover { border-color: var(--gold); color: var(--gold); box-shadow: 0 0 15px color-mix(in srgb, var(--gold), transparent 70%); }
.account-view .intro { margin-top: 42px; }
.account-card { border: 2px solid var(--line); background: var(--paper); box-shadow: 7px 8px 0 color-mix(in srgb, var(--page), black 18%); }
.account-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.account-tab { min-height: 58px; border: 0; background: transparent; color: var(--muted); font-size: 13px; font-weight: 800; }
.account-tab.is-current { color: var(--gold); background: var(--felt); box-shadow: inset 0 -3px var(--gold); }
.account-tab:hover { color: var(--ink); }
.account-content { padding: clamp(22px, 5vw, 42px); }
.account-intro { max-width: 500px; margin: 0 auto 25px; color: var(--muted); font-size: 13px; line-height: 1.75; text-align: center; }
.account-google { display: flex; justify-content: center; align-items: center; gap: 13px; width: 100%; min-height: 54px; padding: 9px 18px; border: 2px solid var(--line); background: var(--card); color: var(--ink); font-size: 12px; font-weight: 800; letter-spacing: .4px; }
.account-google span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #fff; color: #4285f4; font: 900 18px Arial, sans-serif; }
.account-google:hover:not(:disabled) { border-color: var(--gold); box-shadow: 0 0 19px color-mix(in srgb, var(--gold), transparent 60%); transform: translateY(-2px); }
.account-divider { display: flex; align-items: center; gap: 14px; margin: 26px 0; color: var(--muted); font-size: 11px; }
.account-divider::before, .account-divider::after { content: ''; height: 1px; flex: 1; background: var(--line); opacity: .6; }
#account-email-form { display: grid; gap: 11px; }
#account-email-form label { color: var(--ink); font-size: 12px; font-weight: 800; }
#account-email-form input { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--line); background: var(--face); color: var(--ink); font-size: 14px; }
#account-email-form input::placeholder { color: var(--muted); opacity: .75; }
#account-email-form button { width: 100%; margin-top: 8px; }
.account-form-row { display: grid; gap: 11px; }
.account-text-button { display: block; margin: 17px auto 0; padding: 4px; border: 0; background: transparent; color: var(--gold); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.account-text-button:hover, .account-text-button:focus-visible { color: var(--ink); }
.account-recovery { padding: clamp(22px, 5vw, 42px); }
.account-recovery h2 { margin: 0 0 10px; color: var(--ink); }
.account-recovery > p:not(.account-signed-label) { margin: 0 0 24px; color: var(--muted); font-size: 13px; line-height: 1.7; }
#account-recovery-form { display: grid; gap: 11px; }
#account-recovery-form label { color: var(--ink); font-size: 12px; font-weight: 800; }
#account-recovery-form input { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--line); background: var(--face); color: var(--ink); font-size: 14px; }
#account-recovery-form button { margin-top: 8px; }
.account-hint { margin: 18px 0 0; color: var(--muted); font-size: 11px; line-height: 1.65; text-align: center; }
.account-status { min-height: 24px; margin: 0; padding: 0 30px 22px; color: var(--gold); font-size: 12px; line-height: 1.6; text-align: center; }
.account-status.is-error { color: #f4a9a9; }
.account-resend-confirmation { margin: -12px auto 24px; }
.account-signed-in { padding: 44px 30px 27px; text-align: center; }
.account-avatar { display: grid; place-items: center; width: 70px; height: 70px; margin: 0 auto 16px; border: 2px solid var(--gold); border-radius: 50%; color: var(--gold); background: var(--felt); font-size: 32px; box-shadow: 0 0 26px color-mix(in srgb, var(--gold), transparent 72%); }
.account-signed-label { margin: 0 0 10px; color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: 1.2px; }
.account-signed-in h2 { margin: 0 0 12px; font-size: clamp(17px, 3vw, 24px); }
.account-signed-in p:not(.account-signed-label) { max-width: 480px; margin: 0 auto 25px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.account-signed-in .account-profile-subtitle { margin-bottom: 24px; }
.account-profile-details { display: grid; gap: 0; max-width: 520px; margin: 0 auto 22px; border: 1px solid var(--line); border-radius: 10px; background: var(--felt); text-align: left; }
.account-profile-details > div { display: grid; grid-template-columns: minmax(120px, 35%) 1fr; gap: 12px; align-items: start; padding: 15px 18px; }
.account-profile-details > div + div { border-top: 1px solid var(--line); }
.account-profile-details dt { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; }
.account-profile-details dd { min-width: 0; margin: 0; color: var(--ink); font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.account-birth-section { max-width: 520px; margin: 26px auto 0; padding: 21px; border: 1px solid var(--line); border-radius: 10px; background: var(--felt); text-align: left; }
.account-birth-section h3 { margin: 0 0 7px; color: var(--ink); font-size: 16px; }
.account-signed-in .account-birth-section p { margin: 0 0 15px; color: var(--muted); font-size: 12px; line-height: 1.6; }
#account-birth-form { display: grid; gap: 10px; }
#account-birth-form label { color: var(--ink); font-size: 12px; font-weight: 800; }
#account-birth-form input { width: 100%; min-width: 0; min-height: 48px; padding: 11px 13px; border: 1px solid var(--line); background: var(--face); color: var(--ink); font-size: 14px; }
.account-birth-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.account-birth-row > div { display: grid; gap: 9px; }
.account-birth-search { display: flex; gap: 8px; }
.account-birth-search button { padding: 0 14px; border: 1px solid var(--gold); border-radius: 7px; background: var(--face); color: var(--gold); font-weight: 800; }
.account-birth-search button:hover { background: color-mix(in srgb, var(--gold), transparent 85%); }
.account-birth-results { display: grid; gap: 6px; }
.account-birth-results button { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--face); color: var(--ink); text-align: left; }
.account-birth-results button:hover { border-color: var(--gold); }
.account-birth-results small { display: block; color: var(--muted); }
.account-signed-in #account-birth-note { margin: 0; }
#account-birth-submit { width: 100%; margin-top: 6px; }
.account-password-section { max-width: 520px; margin: 26px auto 0; padding: 21px; border: 1px solid var(--line); border-radius: 10px; background: var(--felt); text-align: left; }
.account-password-section h3 { margin: 0 0 18px; color: var(--ink); font-size: 16px; }
#account-set-password-form { display: grid; gap: 10px; }
#account-set-password-form label { color: var(--ink); font-size: 12px; font-weight: 800; }
#account-set-password-form input { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--line); background: var(--face); color: var(--ink); font-size: 14px; }
#account-set-password-form button { width: 100%; margin-top: 6px; }
.account-theme-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 28px 0 20px; }
.account-theme-options button { min-height: 66px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--felt); color: var(--ink); font-size: 12px; font-weight: 800; }
.account-theme-options button:is(:hover, :focus-visible), .account-theme-options button.is-current { border-color: var(--gold); background: color-mix(in srgb, var(--gold), transparent 88%); color: var(--gold); box-shadow: 0 0 15px color-mix(in srgb, var(--gold), transparent 78%); }
.account-local-note { max-width: 560px; margin: 22px auto 0; color: var(--muted); font-size: 11px; line-height: 1.7; text-align: center; }
@media (max-width: 560px) { .account-view .intro { margin-top: 28px; } .account-content { padding: 22px 18px; } .account-tab { min-height: 52px; font-size: 12px; } .account-theme-options, .account-birth-row { grid-template-columns: 1fr; } .account-profile-details > div { grid-template-columns: 1fr; gap: 5px; } }
