/* Account entry follows the existing mineral / petroleum editorial language. */
.account-trigger { color:inherit; border:1px solid currentColor; border-radius:999px; padding:9px 15px; min-height:40px; font:500 12px/1.2 var(--sans, sans-serif); white-space:nowrap; }
.account-trigger:hover { background:color-mix(in srgb,currentColor 7%,transparent); }
.account-trigger:focus-visible,.account-dialog :focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.account-trigger-compact { display:none; }
.account-dialog { width:min(480px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:28px 32px; border:1px solid #203c372b; border-radius:4px; background:#f2efe5; color:#203c37; overflow:auto; overscroll-behavior:contain; font:400 14px/1.55 "DM Sans",sans-serif; box-shadow:0 16px 80px #102b2533; }
.account-dialog::backdrop { background:#102b2580; backdrop-filter:blur(5px); }
.account-dialog [hidden] { display:none !important; }
.account-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.account-eyebrow { font-size:10px; letter-spacing:.13em; margin:0; }
.account-close { font-size:28px; line-height:1; min-width:44px; min-height:44px; color:inherit; }
.account-dialog h2 { font:400 clamp(35px,7vw,45px)/1.08 "Instrument Serif",serif; letter-spacing:-.025em; margin:0 0 12px; }
.account-intro { opacity:.8; margin:0 0 22px; }
.account-tabs { display:flex; border-bottom:1px solid #203c3733; margin:0 0 20px; gap:20px; }
.account-tabs button { padding:10px 0; min-height:44px; font-size:13px; border-bottom:2px solid transparent; color:inherit; }
.account-tabs button[aria-selected="true"] { border-color:currentColor; font-weight:600; }
.account-dialog button { cursor:pointer; }
.account-dialog button:disabled { cursor:default; opacity:.45; }
.account-dialog p { margin:0 0 16px; }
.account-dialog p.account-eyebrow { margin:0; }
.account-dialog .account-label { display:block; font-size:12px; margin-bottom:7px; font-weight:600; }
.account-dialog input[type="email"] { width:100%; min-height:48px; padding:10px 12px; background:#fffdf7; border:1px solid #203c3770; border-radius:3px; color:inherit; font:400 16px/1.4 "DM Sans",sans-serif; }
.account-consent { display:flex; align-items:flex-start; gap:10px; margin:16px 0; font-size:12px; line-height:1.5; }
.account-consent input { flex:none; width:18px; height:18px; margin:1px 0 0; accent-color:#203c37; }
.account-dialog .account-primary { display:block; width:100%; padding:13px 18px; min-height:48px; border:1px solid #203c37; border-radius:3px; background:#203c37; color:#f2efe5; margin-top:16px; font-weight:500; }
.account-dialog .account-status { font-size:13px; min-height:1.5em; margin:18px 0; }
.account-privacy { border-top:1px solid #203c372b; padding-top:14px; font-size:12px; }
.account-privacy summary { cursor:pointer; margin-bottom:10px; }
.account-continue { display:block; margin:18px auto 0; text-decoration:underline; text-underline-offset:4px; min-height:44px; font-size:12px; color:inherit; }
.account-profile-email { overflow-wrap:anywhere; font-size:17px; }
.account-connected { font-size:11px; text-transform:uppercase; letter-spacing:.09em; }
.account-profile-actions { display:grid; gap:8px; margin:20px 0; }
.account-profile-actions button,#account-delete { min-height:44px; text-align:left; padding:8px 0; border-bottom:1px solid #203c372b; color:inherit; }
@media(max-width:760px) { .header:has(.account-trigger){gap:8px;} .account-trigger{font-size:11px;padding:8px;min-width:44px;} .account-trigger-full{display:none;} .account-trigger-compact{display:inline;} .account-dialog{padding:20px 22px;} }
@media(forced-colors:active) { .account-dialog,.account-dialog .account-primary,.account-trigger{border:1px solid ButtonText;} }
