/* Account modal: scoped styles leave the identification workspace untouched. */
#account-dialog .account-legal{font-size:11px;line-height:1.65;margin:0 0 16px}.account-legal a{color:#705323;text-underline-offset:3px}.workspace-footer{flex-wrap:wrap;gap:12px 20px}
.topbar{position:sticky;top:0;z-index:20;background:var(--white)}
html{scroll-padding-top:94px}
@media(max-width:700px){html{scroll-padding-top:80px}}
.account-anchor{position:relative}
.header-signin{min-width:100px;min-height:46px;padding:10px 22px;border-radius:13px;background:#202d39;color:#fffefa;font-weight:800;font-size:15px;transition:background .18s,transform .18s}
.header-signin:hover{background:#344856;transform:translateY(-1px)}
.account-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#e6c099,#e9e7d9);color:#202d39;font-weight:700;font-size:19px;box-shadow:inset 0 0 0 1px #ac85492b}
.account-avatar[aria-expanded=true]{outline:2px solid #ac8549;outline-offset:3px}
.header-collection{background:none;color:#856336;min-height:44px;font-size:14px;font-weight:700;padding:8px 6px}
.header-collection:hover{color:#202d39}
.account-dropdown{position:absolute;right:0;top:calc(100% + 16px);width:320px;max-width:calc(100vw - 32px);background:#fffefa;border:1px solid #e9e4dc;border-radius:20px;box-shadow:0 18px 50px #202d3924;overflow:hidden;animation:account-enter .16s ease-out}
.account-dropdown-identity{padding:23px 24px 20px;display:grid;gap:5px;border-bottom:1px solid #e6e0d6}
.account-dropdown-identity>span{color:#77818a;font-size:12px}
.account-dropdown-identity strong{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.account-dropdown-identity small{font-size:12px;color:#707b80;overflow-wrap:anywhere}
.account-dropdown-actions{padding:10px}
.account-dropdown button{display:block;position:relative;text-align:left;width:100%;min-height:48px;background:transparent;padding:13px 14px;border-radius:10px;font-size:14px;font-weight:600}
.account-dropdown button>span{float:right;color:#7b858e;font-size:18px;line-height:1.3}
.account-dropdown button:hover{background:#f2eee7}
.account-dropdown-footer{padding:10px;border-top:1px solid #eee9e1}
.account-dropdown button small{display:block;font-size:11px;font-weight:400;color:#7b858e;margin-top:3px}
#menu-status{font-size:12px;padding:4px 14px 10px;line-height:1.5}
.account-dropdown button:disabled{opacity:.55;cursor:wait}
.top-actions button:focus-visible{outline:2px solid #ac8549;outline-offset:3px}
@media(max-width:700px){.top-actions{gap:12px}.header-collection{display:none}.header-signin{min-width:84px;padding:9px 16px}.account-dropdown{position:fixed;top:76px;right:12px;width:320px}.account-avatar{width:44px;height:44px}}
#account-dialog{width:min(1060px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:24px;background:#fffefa;box-shadow:0 30px 100px #07111655;overflow:auto}
#account-dialog::backdrop{background:#101b25b8;backdrop-filter:blur(7px)}
.account-layout{display:grid;grid-template-columns:43% 57%;min-height:620px}
.account-art{position:relative;isolation:isolate;overflow:hidden;background:#151b19;min-height:620px}
.account-art>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:40% center;z-index:-2}
.account-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#09110e88,transparent 32%,#09110e22 50%,#09110ef2);z-index:-1}
.account-wordmark{display:block;padding:34px 34px;font:32px var(--serif);color:#fffefa}
.account-wordmark>span{display:block;margin-top:8px;font:9px Manrope,sans-serif;letter-spacing:2.3px;color:#d8c29e}
.account-art-copy{position:absolute;bottom:34px;left:34px;right:22px}
.account-kicker{font-size:10px;letter-spacing:2px;color:#dbc69f;font-weight:700}
#account-dialog .account-art-copy p{font:32px/1.25 var(--serif);color:#fffefa;margin:16px 0 24px}
.account-art-copy em{color:#e3c699;font-weight:400}
.account-art-copy small{font-size:10px;color:#b9b9ac}
.account-content{position:relative;padding:58px 48px 30px;min-width:0;display:flex;flex-direction:column}
#account-dialog .close{right:16px;top:12px;width:44px;height:44px;border-radius:50%;line-height:1;background:transparent}
#account-dialog .close:hover{background:#eee9e1}
#account-dialog .eyebrow{font-size:11px;letter-spacing:2px;margin:0 0 20px;color:#ac8549}
#account-dialog h2{font:46px/1.12 var(--serif);letter-spacing:-1.3px;overflow-wrap:anywhere}
#account-dialog #account-intro{font-size:15px;line-height:1.8;margin:20px 0 24px}
.account-login{min-height:100px}
#account-dialog #google-signin{margin:0;min-height:46px;max-width:360px;width:100%}
/* Defensive layout for GIS's native fallback when third-party styling is unavailable.
   Keep Google's actual control, accessible label and credential callback intact. */
#google-signin svg{width:20px;height:20px;flex:none}
#google-signin .nsm7Bb-HzV7m-LgbsSe{border:1px solid #dadce0;border-radius:4px;background:#fff;color:#3c4043;max-width:100%!important;width:100%;height:44px;padding:0 12px;cursor:pointer;font:500 14px/1.4 Arial,sans-serif;position:relative}
#google-signin .nsm7Bb-HzV7m-LgbsSe-bN97Pc-sM5MNb{display:flex;align-items:center;justify-content:center;height:100%;gap:14px}
#google-signin .nsm7Bb-HzV7m-LgbsSe-Bz112c{width:20px;height:20px;flex:none}
#google-signin .L6cTce{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#google-signin iframe{max-width:100%;border:0}
#google-signin [role=button]:hover{background:#f8faff}
#account-dialog #auth-status{font-size:12px;line-height:1.6;margin:12px 0 18px;min-height:20px}
.auth-separator{position:relative;text-align:center;font-size:11px;letter-spacing:.5px;color:#72808a;margin:14px 0 12px}
.auth-separator::before,
.auth-separator::after{content:'';position:absolute;top:50%;width:38%;height:1px;background:#e6dfd5}
.auth-separator::before{left:0}
.auth-separator::after{right:0}
.auth-separator span{background:#fffefa;padding:0 12px;position:relative;z-index:1}
#email-auth-form{display:grid;gap:10px;max-width:360px}
.email-label{font-size:11px;font-weight:700;letter-spacing:.4px;color:#555d63;display:grid;gap:4px}
#email-address,
#email-code{width:100%;min-height:44px;padding:10px 12px;border:1px solid #dad7cd;border-radius:8px;background:#fff;color:#222;font:16px/1.35 Manrope,sans-serif}
#email-address::placeholder,
#email-code::placeholder{color:#93a0a7}
#email-code-wrap{display:grid;gap:10px}
#email-code-wrap label{grid-column:1/ -1}
#email-send-code,
#email-verify-btn{width:100%}
.account-benefits{display:flex;flex-wrap:wrap;gap:8px 16px;margin:2px 0 27px;font-size:11px;color:#55625e}
.account-benefits span::before{content:"✓";margin-right:6px;color:#ac8549}
.account-privacy{border-top:1px solid #e6e0d6;border-bottom:1px solid #e6e0d6}
.account-privacy summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:48px;font-size:13px;font-weight:600}
.account-privacy summary::-webkit-details-marker{display:none}
.account-privacy summary span{font-size:20px;font-weight:400}
.account-privacy[open] summary span{transform:rotate(45deg)}
#account-dialog .account-privacy p{font-size:12px;line-height:1.8;margin:0 0 16px}
.account-back{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;margin:14px 0 12px;padding:0;background:none;text-align:left;font-size:13px;font-weight:700}
.account-back:hover{color:#ac8549}
.account-preview{font-size:9px;color:#707b80;letter-spacing:.5px;margin-top:auto}
#account-dialog :focus-visible{outline:2px solid #ac8549;outline-offset:4px}
body:has(#account-dialog[open]){overflow:hidden}
#account-dialog[open]{animation:account-enter .24s ease-out}
@keyframes account-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:760px){#account-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:18px}.account-layout{grid-template-columns:1fr;min-height:0}.account-art{min-height:160px}.account-wordmark{padding:20px 24px;font-size:26px}.account-wordmark>span{font-size:8px}.account-art>img{object-position:45% 54%}.account-art-copy{bottom:16px;left:24px}.account-art-copy .account-kicker,.account-art-copy small{display:none}#account-dialog .account-art-copy p{font-size:18px;margin:0}#account-dialog .account-art-copy p br{display:none}.account-art-copy em{margin-left:4px}.account-content{padding:30px 24px 24px}#account-dialog h2{font-size:35px}#account-dialog .eyebrow{font-size:9px;margin-bottom:15px}#account-dialog #account-intro{font-size:14px;margin:16px 0 22px}#account-dialog .close{position:fixed;top:8px;right:8px;background:#fffefa;z-index:2}.account-benefits{margin-bottom:20px;gap:8px 12px;font-size:10px}}
@media(prefers-reduced-motion:reduce){#account-dialog[open]{animation:none}}
@media(max-width:760px){.account-content{position:static}#account-dialog .close{position:absolute}}
/* Sign-in refinement: keep the actual controls at the centre of the composition. */
#account-dialog{width:min(980px,calc(100% - 32px))}
.account-layout{grid-template-columns:42% 58%;min-height:640px}
.account-content{padding:44px 44px 28px}
#account-dialog h2{font-size:38px;line-height:1.15;letter-spacing:-1px;text-wrap:balance}
#account-dialog .eyebrow{margin-bottom:14px}
#account-dialog #account-intro{font-size:14px;line-height:1.65;margin:14px 0 24px}
.account-login{width:100%;max-width:400px;min-height:0;margin-bottom:8px}
#account-dialog #google-signin,#email-auth-form{max-width:400px}
#email-address,#email-code{min-height:48px;border-radius:10px;background:var(--white)}
#email-code{letter-spacing:6px;font-size:20px}
#email-code::placeholder{letter-spacing:1px;font-size:14px}
#email-send-code,#email-verify-btn{min-height:48px;background:var(--ink);color:var(--white);border-radius:10px;font-size:14px;font-weight:700;transition:background .18s}
#email-send-code span{float:right}
#email-send-code:hover,#email-verify-btn:hover{background:#344856}
#account-dialog #email-help{font-size:11px;line-height:1.6;margin:0;color:var(--muted)}
.email-code-actions{display:flex;justify-content:space-between;gap:12px}
.email-code-actions button{background:transparent;min-height:44px;font-size:12px;color:#705323;padding:4px 0}
#account-dialog #auth-status{margin:10px 0;overflow-wrap:anywhere}
#account-dialog #auth-status:empty{display:none}
#google-retry{width:100%;min-height:46px;margin-bottom:8px}
#google-signin{font-size:13px;color:var(--muted);align-content:center}
#auth-workspace-link{display:block;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:13px;margin-bottom:12px}
.account-benefits{gap:6px 12px;font-size:10px;margin:10px 0 20px}
.account-back{margin:8px 0}
#account-dialog .account-legal{margin-bottom:12px}
@media(max-width:760px){.account-layout{grid-template-columns:1fr;min-height:0}.account-content{padding:26px 24px 22px}.account-art{min-height:150px}#account-dialog h2{font-size:30px}.account-login{max-width:none}#account-dialog #google-signin,#email-auth-form{max-width:100%}}
#account-dialog .account-privacy,#account-dialog .account-back,#account-dialog .account-preview{display:none!important}
#account-dialog .account-content .account-legal{margin:28px 0 0;padding-top:20px;border-top:1px solid #e6e0d6;font-size:13px;line-height:1.75;color:var(--muted)}
#account-dialog .account-legal a{text-decoration:underline;text-underline-offset:3px}
.login-home-backdrop{position:fixed;inset:0;width:100%;height:100%;border:0;pointer-events:none;background:var(--paper)}
#account-dialog::backdrop{background:rgba(32,45,57,.42);backdrop-filter:blur(4px)}
#account-dialog{width:min(960px,calc(100% - 32px));max-height:calc(100dvh - 32px)}
#account-dialog .account-layout{grid-template-columns:40% 60%;min-height:0}
#account-dialog .account-content{position:relative;padding:46px 40px 34px;min-width:0}
#account-dialog h2{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-1px}
#account-dialog .account-login,#account-dialog #google-signin,#account-dialog #email-auth-form{width:100%;max-width:400px}
#account-dialog .account-benefits{display:flex;flex-wrap:wrap;gap:8px 16px;margin:20px 0 0;font-size:11px;line-height:1.6;max-width:400px}
#account-dialog .account-content .account-legal{max-width:400px;margin-top:20px;padding-top:18px;font-size:12px}
#account-dialog .close{position:absolute;top:12px;right:12px;width:44px;height:44px;min-height:44px;min-width:44px;border:0;border-radius:50%;padding:0;background:transparent;box-shadow:none;font-size:26px;line-height:1;color:var(--ink)}
#account-dialog .close:hover{background:var(--paper)}#account-dialog .close:focus-visible{outline:2px solid var(--gold);outline-offset:0}
@media(max-width:760px){#account-dialog .account-layout{grid-template-columns:1fr}#account-dialog .account-content{padding:30px 24px 24px}#account-dialog .account-art{min-height:140px}#account-dialog .close{top:6px;right:6px}#account-dialog .account-benefits{font-size:10px;gap:8px 12px}}
#account-dialog #auth-workspace-link{display:none!important}
#account-dialog #google-retry{display:flex;align-items:center;justify-content:center;position:relative;gap:12px;min-height:48px;width:100%;border:1px solid #dadce0;border-radius:8px;background:white;color:#3c4043;font-size:14px;font-weight:500}
#account-dialog #google-retry[hidden]{display:none!important}
#account-dialog #google-retry img{position:absolute;left:14px;width:20px;height:20px;object-fit:contain}
