/* Account entry and settings retain WitchcraftDaily's editorial style. */
body[data-account-page] { background: #f5f8fa; color: #203b4d; }
body[data-account-page] main { min-height: calc(100vh - 300px); }
.acct-hero { position: relative; overflow: hidden; background: linear-gradient(110deg, #e7f0f5, #f6f9fb 68%); border-bottom: 1px solid #d2e1ea; }
.acct-hero::after { content: '✳'; position: absolute; right: max(5%, calc((100vw - 1180px)/2)); top: -85px; color: #d6e8f2; font: 350px/1 Georgia, serif; pointer-events: none; }
.acct-hero-inner { position: relative; z-index: 1; padding: 49px 0 54px; }
.acct-hero h1 { max-width: 730px; margin: 9px 0 14px; color: #19384f; font: 700 clamp(35px, 4.1vw, 58px)/1.08 Georgia, 'Times New Roman', serif; letter-spacing: -.025em; }
.acct-hero p:last-child { max-width: 660px; margin: 0; color: #476274; font: 17px/1.55 Arial, Helvetica, sans-serif; }
.acct-hero--compact .acct-hero-inner { padding: 35px 0 39px; }
.acct-hero--compact h1 { font-size: clamp(34px, 3.5vw, 50px); }
.acct-eyebrow { margin: 0; color: #28618a; font: 700 11px/1.4 Arial, Helvetica, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.acct-auth-layout { display: grid; grid-template-columns: minmax(0, 560px) minmax(270px, 380px); justify-content: center; gap: 46px; padding-top: 48px; padding-bottom: 88px; }
.acct-card { background: #fff; border: 1px solid #d3e0e8; box-shadow: 0 16px 45px rgba(30, 69, 94, .07); }
.acct-auth-card { padding: 34px 38px 37px; }
.acct-card-heading, .acct-section-heading { display: flex; align-items: center; gap: 15px; }
.acct-mark { display: grid; place-items: center; width: 49px; height: 49px; flex: 0 0 49px; border-radius: 50%; background: #fff3cf; color: #c88b26; font: 28px/1 Georgia, serif; }
.acct-card-heading h2 { margin: 4px 0 0; color: #1b3e57; font: 700 28px/1.17 Georgia, 'Times New Roman', serif; }
.acct-card-lead { margin: 23px 0 20px; color: #597080; font: 14px/1.6 Arial, Helvetica, sans-serif; }
.acct-status { padding: 12px 14px; border: 1px solid #c9dce9; background: #edf5fa; color: #31566d; font: 13px/1.45 Arial, Helvetica, sans-serif; }
.acct-status[data-state="success"] { border-color: #bad8c7; background: #edf8f0; color: #275c3b; }
.acct-status[data-state="error"] { border-color: #e4cbba; background: #fff5ed; color: #7d4330; }
.acct-social { display: grid; gap: 10px; margin-top: 19px; }
.acct-social-button { display: flex; align-items: center; justify-content: center; gap: 13px; width: 100%; min-height: 48px; padding: 9px 14px; border: 1px solid #b9cedc; border-radius: 4px; background: #fff; color: #21465f; font: 700 14px Arial, Helvetica, sans-serif; cursor: pointer; transition: background .15s, border-color .15s, transform .15s; }
.acct-social-button:not(:disabled):hover { border-color: #6e9bb8; background: #f2f8fb; transform: translateY(-1px); }
.acct-social-button:disabled { opacity: .6; cursor: not-allowed; }
.acct-google-mark { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #4285f4; background: #f1f6ff; font: 800 17px Arial, Helvetica, sans-serif; }
.acct-email-mark { color: #2f6a8e; font: 23px/1 Georgia, serif; }
.acct-email-shell { max-width: 640px; padding-top: 32px; padding-bottom: 70px; }
.acct-back-link { display: inline-block; margin-bottom: 26px; color: #245d82; font: 13px/1.4 Arial, Helvetica, sans-serif; text-decoration: underline; text-underline-offset: 3px; }
.acct-email-step { margin-top: 23px; }
.acct-confirmation-field { display: grid; gap: 9px; margin-top: 8px; }
.acct-address-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; margin: 19px 0 0; color: #476274; font: 14px/1.5 Arial, Helvetica, sans-serif; }
.acct-address-summary span { overflow-wrap: anywhere; }
.acct-address-summary .acct-text-button { flex-shrink: 0; }
.acct-forgot-password { justify-self: center; margin-top: 3px; }
.acct-verification-sent { margin-top: 25px; color: #536b7b; font: 14px/1.6 Arial, Helvetica, sans-serif; }
.acct-verification-mark { display: inline-grid; place-items: center; width: 49px; height: 49px; border-radius: 50%; background: #edf8f0; color: #275c3b; font: 27px Georgia, serif; }
.acct-verification-sent h3 { margin: 15px 0 8px; color: #1b3e57; font: 700 25px/1.2 Georgia, serif; }
.acct-verification-sent p { margin: 0 0 14px; }
.acct-verification-sent .acct-secondary { width: 100%; margin-top: 9px; }
body[data-account-page="email"] [hidden] { display: none !important; }
body[data-account-page="email"] .acct-email-form input { font-size: 16px; }
.acct-divider { position: relative; display: flex; justify-content: center; margin: 23px 0 20px; color: #71838e; font: 12px Arial, Helvetica, sans-serif; }
.acct-divider::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: #dae4ea; }
.acct-divider span { position: relative; padding: 0 12px; background: #fff; }
.acct-email-form { display: grid; gap: 9px; }
.acct-email-form label, .acct-profile-form label { color: #294d65; font: 700 13px Arial, Helvetica, sans-serif; }
.acct-email-form input, .acct-profile-form input, .acct-profile-form select { width: 100%; min-height: 47px; padding: 10px 12px; border: 1px solid #b5cbd9; border-radius: 3px; background: #fff; color: #18384d; font: 15px Arial, Helvetica, sans-serif; }
.acct-email-form input:focus, .acct-profile-form input:focus, .acct-profile-form select:focus { border-color: #327ca9; outline: 3px solid #d9ecf7; }
.acct-primary, .acct-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; padding: 11px 18px; border-radius: 3px; font: 700 13px/1.25 Arial, Helvetica, sans-serif; cursor: pointer; text-align: center; }
.acct-primary { border: 1px solid #245c82; background: #245c82; color: #fff; }
.acct-primary:hover:not(:disabled) { border-color: #164765; background: #164765; color: #fff; }
.acct-primary:disabled, .acct-secondary:disabled { opacity: .57; cursor: not-allowed; }
.acct-email-form .acct-primary { width: 100%; margin-top: 5px; }
.acct-secondary { border: 1px solid #a9c4d5; background: #fff; color: #245c82; }
.acct-secondary:hover:not(:disabled) { border-color: #4c87aa; background: #f2f8fb; color: #164765; }
.acct-link-button { text-decoration: none; }
.acct-help { margin: 15px 0 0; color: #71828d; font: 12px/1.5 Arial, Helvetica, sans-serif; }
.acct-side { padding: 23px 0 0; }
.acct-side-symbol { color: #d7a047; font: 51px/1 Georgia, serif; }
.acct-side h2 { margin: 17px 0 13px; color: #1b3e57; font: 700 31px/1.2 Georgia, 'Times New Roman', serif; }
.acct-side h3 { margin: 0 0 8px; color: #264d65; font: 700 17px Georgia, serif; }
.acct-side p { margin: 0 0 15px; color: #536b7b; font: 14px/1.7 Arial, Helvetica, sans-serif; }
.acct-side a { color: #245d82; font: 700 13px/1.5 Arial, Helvetica, sans-serif; text-decoration: underline; text-underline-offset: 3px; }
.acct-side-rule { height: 1px; margin: 27px 0; background: #cadbe5; }
.acct-account-shell { padding-top: 31px; padding-bottom: 88px; }
.acct-page-status { margin-bottom: 20px; }
.acct-gate { max-width: 620px; padding: 34px; }
.acct-gate h2 { margin: 0 0 9px; color: #1b3e57; font: 700 28px Georgia, serif; }
.acct-gate p { margin: 0 0 21px; color: #5b7180; line-height: 1.55; }
.acct-dashboard-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 6px 0 22px; }
.acct-dashboard-heading h2 { margin: 4px 0 2px; color: #19384f; font: 700 33px Georgia, serif; }
.acct-dashboard-heading p:last-child { margin: 0; color: #617687; font: 13px Arial, Helvetica, sans-serif; }
.acct-text-button { padding: 9px 0; border: 0; background: transparent; color: #245d82; font: 700 13px Arial, Helvetica, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.acct-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, 1fr); gap: 24px; align-items: start; }
.acct-shared-card { margin-bottom: 24px; padding: 24px 31px; }
.acct-shared-card .acct-card-lead { margin: 15px 0 0; }
.acct-shared-form { max-width: 420px; margin-top: 20px; }
.acct-shared-form input { font-size: 16px; }
.acct-shared-card .acct-form-status:empty { display: none; }
.acct-shared-card .acct-form-status { margin-top: 13px; }
.acct-dashboard-grid > .acct-card { padding: 29px 31px 33px; }
.acct-section-icon { display: grid; place-items: center; width: 43px; height: 43px; flex: 0 0 43px; border-radius: 50%; background: #eaf3f8; color: #2d6d91; font: 24px Georgia, serif; }
.acct-section-heading h3 { margin: 3px 0 0; color: #1b3e57; font: 700 23px/1.2 Georgia, serif; }
.acct-profile-form { display: grid; align-items: start; gap: 9px; margin-top: 24px; }
.acct-profile-form label:not(:first-child) { margin-top: 13px; }
.acct-profile-form .acct-email-preference { display: grid; grid-template-columns: 20px 1fr; gap: 9px; align-items: start; line-height: 1.5; cursor: pointer; }
.acct-profile-form .acct-email-preference input { width: 18px; height: 18px; min-height: 0; margin: 1px 0 0; padding: 0; accent-color: #327ca9; }
.acct-optional { color: #78909e; font-weight: 400; }
.acct-field-note { margin: 0 0 3px; color: #718390; font: 12px/1.5 Arial, Helvetica, sans-serif; }
.acct-profile-form .acct-primary { justify-self: start; margin-top: 13px; }
.acct-form-status { min-height: 1em; margin: 4px 0 0; color: #3f6177; font: 13px/1.5 Arial, Helvetica, sans-serif; }
.acct-form-status[data-state="error"] { color: #8b3e2f; }
.acct-form-status[data-state="success"] { color: #246a43; }
.acct-membership-state { margin: 26px 0 18px; }
.acct-membership-state p { margin: 12px 0 0; color: #536b7b; font: 14px/1.55 Arial, Helvetica, sans-serif; }
.acct-badge { display: inline-block; padding: 7px 11px; border: 1px solid #d1dfe8; border-radius: 99px; background: #f1f6f9; color: #385d73; font: 700 11px Arial, Helvetica, sans-serif; letter-spacing: .03em; }
.acct-badge[data-state="active"] { border-color: #b6d9c2; background: #edf8ef; color: #286a3c; }
.acct-badge[data-state="attention"] { border-color: #e5d4ad; background: #fff8e9; color: #77591b; }
.acct-membership-state + .acct-secondary { width: 100%; }
.acct-delivery { margin-top: 24px; padding: 19px 0 0; border-top: 1px solid #dbe5eb; }
.acct-delivery > p:nth-child(2) { margin: 8px 0 6px; color: #536b7b; font: 13px/1.55 Arial, Helvetica, sans-serif; }
.acct-delivery h4 { margin: 10px 0 8px; }
.acct-delivery > h4 + p { color: #536b7b; font: 13px/1.55 Arial, Helvetica, sans-serif; }
.acct-brief-form select { width: 100%; min-height: 47px; padding: 10px 12px; border: 1px solid #b5cbd9; border-radius: 3px; background: #fff; color: #18384d; font: 16px Arial, Helvetica, sans-serif; }
.acct-brief-form select:focus { border-color: #327ca9; outline: 3px solid #d9ecf7; }
.acct-brief-form .acct-brief-consent { display: grid; grid-template-columns: 17px 1fr; gap: 9px; align-items: start; margin-top: 5px; color: #536b7b; font: 13px/1.5 Arial, Helvetica, sans-serif; }
.acct-brief-form .acct-brief-consent input { width: 16px; height: 16px; min-height: 0; margin: 2px 0 0; padding: 0; }
.acct-card-rule { height: 1px; margin: 26px 0 22px; background: #dbe5eb; }
.acct-card h4 { margin: 0 0 12px; color: #244b63; font: 700 17px Georgia, serif; }
.acct-benefits { margin: 0; padding-left: 18px; color: #5c7381; font: 13px/1.65 Arial, Helvetica, sans-serif; }
.acct-benefits li + li { margin-top: 5px; }
@media (max-width: 900px) { .acct-auth-layout { gap: 27px; grid-template-columns: minmax(0, 550px) minmax(220px, 330px); } .acct-dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .acct-hero-inner { padding: 34px 0 38px; } .acct-hero::after { right: -45px; top: -40px; font-size: 210px; } .acct-hero h1 { max-width: 470px; font-size: 38px; } .acct-hero p:last-child { font-size: 15px; } .acct-auth-layout { grid-template-columns: 1fr; gap: 28px; padding-top: 22px; padding-bottom: 55px; } .acct-auth-card { padding: 27px 22px 30px; } .acct-card-heading h2 { font-size: 25px; } .acct-side { padding: 0 5px; } .acct-side-symbol { display: none; } .acct-side h2 { font-size: 25px; margin-top: 0; } .acct-account-shell { padding-top: 20px; padding-bottom: 55px; } .acct-dashboard-heading { align-items: start; } .acct-dashboard-grid > .acct-card { padding: 25px 21px 28px; } }
@media (prefers-reduced-motion: reduce) { .acct-social-button { transition: none; } }
@media (max-width: 700px) { .acct-shared-card { padding: 23px 21px; } .acct-shared-card .acct-section-heading { align-items: start; } .acct-shared-card h3 { font-size: 21px; } }

/* Centered sign-in design; email entry and account settings keep their layout. */
body[data-account-page="sign-in"] { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; background: #edf4f8; color: #24445c; }
body[data-account-page="sign-in"] > main { flex: 1; min-height: 0; display: grid; place-items: center; position: relative; isolation: isolate; padding: 56px 22px; overflow: hidden; }
body[data-account-page="sign-in"] > main::before { content: ''; position: absolute; z-index: -1; width: 560px; height: 560px; border: 1px solid #dce8ef; border-radius: 50%; box-shadow: 0 0 0 68px #edf4f8, 0 0 0 69px #e3edf3; transform: translate(120px, -10px); pointer-events: none; }
body[data-account-page="sign-in"] .acct-signin-shell { position: relative; width: 100%; max-width: 460px; }
body[data-account-page="sign-in"] .acct-signin-spark { position: absolute; z-index: -1; width: 26px; height: 26px; color: #b69550; opacity: .33; pointer-events: none; }
body[data-account-page="sign-in"] .acct-signin-spark--one { left: -63px; top: 64px; }
body[data-account-page="sign-in"] .acct-signin-spark--two { right: -76px; bottom: 49px; width: 18px; height: 18px; }
body[data-account-page="sign-in"] .acct-signin-card { width: 100%; padding: 37px 40px 30px; border: 1px solid #dbe4e8; border-top: 3px solid #cfab60; border-radius: 14px; background: #fffefa; box-shadow: 0 13px 38px #24445c0d, 0 2px 6px #24445c03; }
body[data-account-page="sign-in"] .acct-signin-emblem { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 22px; border: 1px solid #e8d9b5; border-radius: 50%; color: #b88f3f; background: #fffaf0; }
body[data-account-page="sign-in"] .acct-signin-emblem svg { width: 32px; height: 32px; }
body[data-account-page="sign-in"] .acct-signin-card h1 { margin: 0; color: #24445c; font: 400 32px/1.15 Georgia, 'Times New Roman', serif; letter-spacing: -.7px; text-align: center; }
body[data-account-page="sign-in"] .acct-signin-lead { margin: 14px 0 29px; color: #627481; font: 14px/1.5 Arial, Helvetica, sans-serif; text-align: center; }
body[data-account-page="sign-in"] .acct-social { gap: 0; margin: 0; }
body[data-account-page="sign-in"] .acct-social-button { position: relative; display: flex; align-items: center; justify-content: center; gap: 0; width: 100%; min-height: 52px; padding: 12px 45px; border: 1px solid #becdd8; border-radius: 7px; background: #fff; color: #1f4b6c; font: 600 14px/1.4 Arial, Helvetica, sans-serif; transition: background .15s, border-color .15s; }
body[data-account-page="sign-in"] .acct-social-button:not(:disabled):hover { background: #f5f9fc; border-color: #8ba8bc; transform: none; }
body[data-account-page="sign-in"] .acct-social-button.acct-signin-google { color: #fff; border-color: #285e86; background: #285e86; }
body[data-account-page="sign-in"] .acct-social-button.acct-signin-google:not(:disabled):hover { background: #1f4b6c; border-color: #1f4b6c; }
body[data-account-page="sign-in"] .acct-signin-button-icon { position: absolute; left: 16px; display: grid; place-items: center; width: 25px; height: 25px; }
body[data-account-page="sign-in"] .acct-signin-google-icon { padding: 4px; border-radius: 4px; background: #fff; }
body[data-account-page="sign-in"] .acct-signin-button-icon svg { display: block; width: 100%; height: 100%; }
body[data-account-page="sign-in"] .acct-signin-email-icon { left: 18px; width: 21px; height: 21px; }
body[data-account-page="sign-in"] .acct-signin-divider { display: flex; align-items: center; gap: 15px; margin: 17px 0; color: #627481; font: 11px/1.5 Arial, Helvetica, sans-serif; }
body[data-account-page="sign-in"] .acct-signin-divider::before, body[data-account-page="sign-in"] .acct-signin-divider::after { content: ''; flex: 1; height: 1px; background: #dce5eb; }
body[data-account-page="sign-in"] .acct-social-button + .acct-social-button { margin-top: 12px; }
body[data-account-page="sign-in"] .acct-status { margin: 18px 0 0; padding: 0; border: 0; background: transparent; color: #627481; font: 12px/1.5 Arial, Helvetica, sans-serif; text-align: center; }
body[data-account-page="sign-in"] .acct-status[data-state="error"] { color: #8b3e2f; }
body[data-account-page="sign-in"] [hidden] { display: none !important; }
body[data-account-page="sign-in"] .acct-signin-legal { display: flex; justify-content: center; gap: 22px; margin: 26px 0 0; color: #627481; font: 11px/1.5 Arial, Helvetica, sans-serif; }
body[data-account-page="sign-in"] .acct-signin-legal a:hover { color: #285e86; text-decoration: underline; text-underline-offset: 3px; }
body[data-account-page="sign-in"] .acct-signin-card :focus-visible { outline: 3px solid #b48b3e; outline-offset: 4px; }
body[data-account-page="sign-in"] .site-header, body[data-account-page="sign-in"] .header-inner { min-height: 78px; height: auto; }
body[data-account-page="sign-in"] .header-inner { max-width: 1180px; padding-right: 36px; padding-left: 36px; }
body[data-account-page="sign-in"] .site-header .header-account { display: none; }
body[data-account-page="sign-in"] .site-footer { flex-shrink: 0; margin-top: 0; border-top: 1px solid #dce7ee; background: #f5f8fa; }
body[data-account-page="sign-in"] .footer-inner { width: 100%; max-width: 1180px; min-height: 71px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: auto; padding: 18px 36px; color: #627481; font: 11px/1.5 Arial, Helvetica, sans-serif; }
body[data-account-page="sign-in"] .footer-inner p { margin: 0; color: inherit; }
body[data-account-page="sign-in"] .footer-inner > .acct-signin-footer-links { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 24px; }
body[data-account-page="sign-in"] .footer-inner a { display: inline; margin: 0; color: inherit; font: inherit; text-decoration: none; }
body[data-account-page="sign-in"] .footer-inner a:hover { color: #285e86; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) {
  body[data-account-page="sign-in"] .site-header .header-inner { min-height: 58px; height: 58px; padding-right: 18px; padding-left: 18px; }
  body[data-account-page="sign-in"] > main { padding: 34px 18px; }
  body[data-account-page="sign-in"] > main::before { width: 430px; height: 430px; transform: translate(85px, -10px); }
  body[data-account-page="sign-in"] .acct-signin-card { padding: 31px 26px 26px; border-radius: 12px; }
  body[data-account-page="sign-in"] .acct-signin-emblem { margin-bottom: 20px; }
  body[data-account-page="sign-in"] .acct-signin-card h1 { font-size: 30px; }
  body[data-account-page="sign-in"] .acct-signin-lead { margin: 13px 0 27px; font-size: 13px; }
  body[data-account-page="sign-in"] .acct-signin-spark { display: none; }
  body[data-account-page="sign-in"] .footer-inner { flex-direction: column; justify-content: center; gap: 9px; padding: 17px 20px; }
  body[data-account-page="sign-in"] .footer-inner > .acct-signin-footer-links { justify-content: center; column-gap: 20px; row-gap: 8px; }
}
@media (prefers-reduced-motion: reduce) { body[data-account-page="sign-in"] .acct-social-button { transition: none; } }
