.account-entry{font:inherit;font-size:.875rem;cursor:pointer;border:1px solid var(--green,#183f32);border-radius:7px;background:transparent;color:var(--green,#183f32);padding:10px 15px;min-height:44px;font-weight:650}
.mobile-account-entry{display:none}
#authDialog[data-view=account]{width:min(620px,calc(100% - 24px))}
.profile-details{margin:20px 0}.profile-avatar{width:60px;height:60px;display:grid;place-items:center;border-radius:16px;background:#183f32;color:#f5f2e9;font-size:1.4rem;font-weight:700;margin-bottom:22px}
.profile-tabs{display:flex;gap:6px;padding:5px;background:#83a66b18;border-radius:10px;margin-bottom:20px}.profile-tabs button{flex:1;font:inherit;font-size:.9375rem;min-height:44px;padding:10px;border:0;border-radius:7px;background:transparent;color:var(--muted,#5c6b60);cursor:pointer}.profile-tabs button[aria-selected=true]{background:var(--surface,#fff);color:var(--green,#183f32);font-weight:700;box-shadow:0 1px 5px #0001}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-details small{font-size:.8125rem;color:var(--muted,#5c6b60);font-weight:400}.profile-facts{margin:0 0 25px}.profile-facts>div{display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line,#d3dbd1);padding:14px 0;font-size:.9375rem}.profile-facts dt{color:var(--muted,#5c6b60)}.profile-facts dd{text-align:right;margin:0;font-weight:600;overflow-wrap:anywhere}.profile-subheading{font-size:1.1rem;margin:20px 0 14px}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.profile-stats>div{border:1px solid var(--line,#d3dbd1);border-radius:12px;padding:16px}.profile-stats strong{display:block;font-size:1.8rem;color:var(--green,#183f32)}.profile-stats span{display:block;font-size:.875rem;color:var(--muted,#5c6b60);margin-top:4px}
@media(max-width:760px){
  #authDialog,#authDialog[data-view=account]{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:calc(20px + env(safe-area-inset-top)) 22px calc(28px + env(safe-area-inset-bottom));overscroll-behavior:contain}
  #authDialog .auth-top{position:sticky;top:calc(-20px - env(safe-area-inset-top));background:var(--paper,#f5f2e9);z-index:2;padding:12px 0;margin-bottom:28px}
  #authDialog h2{font-size:2rem}#authDialog input{min-height:52px;font-size:1rem}#authDialog .auth-action{min-height:52px}#authDialog .auth-intro{margin-bottom:28px}#authDialog #googleLogin{border:1px solid var(--green,#183f32)}
  .profile-grid{grid-template-columns:1fr;gap:0}
  .mobile-account-entry{position:fixed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;right:12px;top:124px;z-index:760;width:56px;min-height:50px;padding:5px 3px;border:1px solid var(--line,#d3dbd1);border-radius:10px;background:var(--paper,#f5f2e9);color:var(--ink,#26332c);box-shadow:0 2px 10px #0002;font:inherit;font-size:.75rem;cursor:pointer}
  .mobile-account-entry svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
  body[data-mobile-mode=map] .mobile-account-entry{top:12px;right:150px;min-height:44px}
}
.auth-dialog{width:min(480px,calc(100% - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:32px;border:1px solid var(--line,#d3dbd1);border-radius:18px;background:var(--paper,#f5f2e9);color:var(--ink,#26332c);box-shadow:0 25px 100px #0005;overflow:auto;font-family:inherit}
.auth-dialog::backdrop{background:#081e18b8;backdrop-filter:blur(5px)}
.auth-dialog *{box-sizing:border-box}.auth-dialog [hidden]{display:none!important}.auth-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.auth-wordmark{font-weight:750;color:var(--green,#183f32);font-size:1.05rem;letter-spacing:-.02em}.auth-close{font:inherit;font-size:1.5rem;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.auth-close:hover{background:#83a66b22}.auth-dialog h2{font-size:1.9rem;line-height:1.2;letter-spacing:-.035em;color:var(--green,#183f32);margin:0 0 10px}.auth-intro{font-size:1rem;color:var(--muted,#5c6b60);margin:0 0 24px;line-height:1.5}.auth-dialog label{display:block;font-size:.875rem;font-weight:650;margin:16px 0 6px}.auth-dialog input{display:block;width:100%;min-height:48px;border:1px solid var(--line,#b9c7ba);border-radius:8px;padding:12px;font:inherit;font-size:1rem;background:var(--surface,#fff);color:inherit}.auth-dialog input:focus{outline:2px solid #83a66b;outline-offset:2px}.auth-action{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;border:1px solid var(--line,#b9c7ba);border-radius:8px;padding:12px 18px;font:inherit;font-weight:650;font-size:1rem;cursor:pointer;background:var(--surface,#fff);color:inherit;text-decoration:none}.auth-primary{background:#183f32;color:#fff;border-color:#183f32;margin-top:22px}.auth-action:disabled{opacity:.55;cursor:wait}.auth-dialog .auth-link{border:0;background:transparent;color:var(--green,#183f32);font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px;padding:10px 0}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted,#5c6b60);font-size:.875rem;margin:20px 0}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line,#d3dbd1);flex:1}.auth-switch{margin:20px 0 0;text-align:center;font-size:.875rem}.auth-status{font-size:.9375rem;line-height:1.5;padding:12px;border-radius:8px;background:#83a66b22;margin:16px 0 0;overflow-wrap:anywhere}.auth-status[data-error=true]{background:#b83e3018;color:#9c3025}html[data-theme=dark] .auth-status[data-error=true]{color:#ffb4aa}.auth-footnote{color:var(--muted,#5c6b60);font-size:.8125rem;line-height:1.5;margin:18px 0 0}.auth-profile-email{overflow-wrap:anywhere;font-size:1rem;margin:0 0 22px}.auth-map-entry{display:block;color:inherit;font:inherit;min-height:44px;padding:10px 0}.auth-profile-name{font-weight:650}.auth-dialog button:focus-visible,.auth-dialog a:focus-visible,.account-entry:focus-visible{outline:3px solid #83a66b;outline-offset:3px}
@media(max-width:700px){.site-header{flex-wrap:wrap}.site-header nav{width:100%;justify-content:flex-start;gap:10px}.auth-dialog{padding:24px}.account-entry{flex-shrink:0}}
