.member-page{max-width:1080px;margin:0 auto;padding:44px 24px 80px;color:var(--ink,#123b2f)}
#miniGuestPanel>p{line-height:1.8;color:var(--muted)}
#miniGuestPanel .mini-guest-legal{margin-top:20px;font-size:13px}
#miniGuestPanel .mini-guest-legal a{color:var(--brand-dfhf);text-underline-offset:3px}
.member-heading{max-width:720px;margin-bottom:34px}.member-heading h1{font-family:var(--font-serif,serif);font-size:clamp(30px,4vw,44px);line-height:1.3;margin:.22em 0}.member-heading p{line-height:1.8}
.auth-stage{display:flex;justify-content:center;padding:8px 0 36px}
.auth-card{position:relative;width:min(100%,560px);box-sizing:border-box;background:var(--paper,#fbfaf5);border:1px solid #99b9ad;padding:38px 42px 42px;box-shadow:10px 10px 0 #dce9e3}
.auth-card::before{content:"";position:absolute;left:-1px;top:-1px;width:94px;height:7px;background:#d99b2b}
.auth-title{display:block;margin:6px 0 28px}.auth-title p{margin:0 0 2px;color:#5e756c;font-size:14px;letter-spacing:.08em}.auth-title h2{margin:0;font-family:var(--font-serif,serif);font-size:34px;line-height:1.1}
.auth-title-plain{display:block;margin-top:0}
.auth-card label,.member-card label{display:block;margin:18px 0;font-weight:650}.auth-card input,.auth-card textarea,.member-card input,.member-card textarea{display:block;box-sizing:border-box;width:100%;min-height:50px;margin-top:8px;padding:12px 14px;border:1px solid #759889;border-radius:4px;background:#fff;color:#123b2f;font:inherit}.auth-card textarea,.member-card textarea{min-height:116px;resize:vertical}.auth-card input::placeholder,.auth-card textarea::placeholder{color:#78827e}
.auth-card button,.member-card button,.member-dialog button{min-height:46px;padding:11px 18px;margin:8px 8px 8px 0;background:#123b2f;color:#fff;border:1px solid #123b2f;border-radius:4px;cursor:pointer;font:inherit;font-weight:650}.auth-card button.secondary,.member-card button.secondary,.member-dialog button.secondary{background:#fff;color:#123b2f}.auth-card button:disabled,.member-card button:disabled,.member-dialog button:disabled{opacity:.6;cursor:wait}
.auth-card .auth-primary{display:block;width:100%;margin:24px 0 10px;background:#185444;border-color:#185444;font-size:17px}.auth-card .auth-wechat{display:block;width:100%;margin:10px 0}.auth-card .auth-back{min-height:34px;margin:0 0 18px;padding:4px 0;border:0;background:transparent;color:#315f52;font-weight:500}.auth-links{display:flex;justify-content:space-between;gap:16px;margin-top:16px}.auth-links button{min-height:34px;margin:0;padding:4px 0;border:0;background:transparent;color:#176d58;font-weight:600;text-align:left}.auth-links button:last-child{text-align:right}
.auth-card label small{display:block;margin-top:7px;color:#6b7772;font-size:14px;font-weight:400;line-height:1.5}.member-check{display:flex!important;align-items:flex-start;gap:8px;font-weight:400!important;line-height:1.6}.member-check input{width:20px!important;min-height:20px!important;margin:2px 0 0!important;flex:0 0 20px}.auth-login-link{text-align:center;margin-top:20px;color:#536c63}.auth-login-link button{min-height:auto;margin:0;padding:2px 0;border:0;background:transparent;color:#176d58;font-weight:650}
.recovery-choice{display:flex!important;flex-direction:column;align-items:flex-start;width:100%;margin:12px 0!important;padding:18px 20px!important;background:#fff!important;color:#123b2f!important;border-color:#99b9ad!important;text-align:left}.recovery-choice strong{font-size:18px}.recovery-choice span{margin-top:5px;color:#65766f;font-size:14px;font-weight:400}.recovery-choice:hover{border-color:#185444!important;box-shadow:inset 5px 0 #e7a634}.auth-note{margin:-6px 0 24px;padding:12px 14px;background:#edf4f0;line-height:1.7}.manual-complete{text-align:center;padding:22px 0 6px}.manual-complete .complete-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#dceee6;color:#176d58;font-size:32px;font-weight:800}.manual-complete h2{font-family:var(--font-serif,serif);font-size:34px;margin:0}.manual-complete p{max-width:410px;margin:14px auto 28px;line-height:1.8;color:#526b62}
.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.member-card{background:var(--paper,#fbfaf5);border:1px solid #bed4cb;padding:24px;margin-bottom:24px;min-width:0}.member-card h2{margin-top:0}.member-card h3{margin-top:26px}.member-card p{line-height:1.75}.member-card small{display:block;margin-top:6px}
.member-home{width:min(100%,760px);margin:0 auto}.member-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px 24px;background:var(--paper,#fbfaf5);border:1px solid #bed4cb}.member-summary>img{width:58px;height:58px;border-radius:50%;object-fit:cover}.member-summary-main>p{margin:0 0 3px;color:#60756d;font-size:14px}.member-summary-main h1{margin:0;font-family:var(--font-serif,serif);font-size:30px;line-height:1.2;overflow-wrap:anywhere}.member-summary-main .member-binding{margin:7px 0 0;color:#46645a;font-size:14px;line-height:1.5}.member-logout{align-self:start;min-height:38px;padding:7px 10px;border:0;background:transparent;color:#176d58;font:inherit;font-weight:650;cursor:pointer}.member-meta{grid-column:1/-1;border-top:1px solid #d7e2dd;padding-top:12px}.member-meta summary{cursor:pointer;color:#526b62;font-size:14px}.member-meta p{margin:10px 0 0;font-size:14px;overflow-wrap:anywhere}
.member-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:22px;border:1px solid #99b9ad;background:#fff}.member-tabs button{min-height:52px;padding:10px 8px;border:0;border-right:1px solid #c9d9d3;background:#fff;color:#315f52;font:inherit;font-weight:700;cursor:pointer}.member-tabs button:last-child{border-right:0}.member-tabs button[aria-selected="true"]{background:#185444;color:#fff;box-shadow:inset 0 -4px #e7a634}
.member-content{min-height:230px;padding:28px 30px 32px;background:var(--paper,#fbfaf5);border:1px solid #bed4cb;border-top:0}.member-content h2{margin:0 0 22px;font-family:var(--font-serif,serif);font-size:30px}.member-content p{line-height:1.75}.member-content .member-empty{color:#687972}.member-content button{min-height:38px;padding:7px 12px;border:1px solid #759889;border-radius:4px;background:#fff;color:#123b2f;font:inherit;cursor:pointer}.member-action{display:inline-block;margin-top:18px;padding:12px 18px;border:1px solid #185444;border-radius:4px;background:#185444;color:#fff;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.member-action.secondary-action{background:#fff;color:#185444}.submission-embed{margin-top:22px;border-top:1px solid #d7e2dd;padding-top:22px}.submission-embed iframe{display:block;width:100%;min-height:600px;border:0;background:transparent}
.member-tools{margin-top:22px;padding:24px;background:var(--paper,#fbfaf5);border:1px solid #bed4cb}.member-tools>h2{margin:0 0 18px;font-family:var(--font-serif,serif);font-size:26px}.member-tool-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.member-tool-buttons button{min-height:48px;padding:10px 14px;border:1px solid #759889;border-radius:4px;background:#fff;color:#185444;font:inherit;font-weight:700;cursor:pointer}.member-tool-buttons button[aria-expanded="true"]{background:#185444;color:#fff}.member-tool-panel form{margin-top:22px;padding-top:22px;border-top:1px solid #d7e2dd}.member-tool-panel h3{margin:0 0 8px;font-size:22px}.member-tool-panel p{line-height:1.7}.member-tool-panel label{display:block;margin:18px 0;font-weight:650}.member-tool-panel input{display:block;box-sizing:border-box;width:100%;min-height:50px;margin-top:8px;padding:12px 14px;border:1px solid #759889;border-radius:4px;background:#fff;color:#123b2f;font:inherit}.member-tool-panel form>button{min-height:46px;padding:11px 18px;border:1px solid #123b2f;border-radius:4px;background:#123b2f;color:#fff;font:inherit;font-weight:650;cursor:pointer}
.member-message{position:sticky;bottom:16px;background:#f1f6f0;border-left:4px solid #0f766e;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere}.member-message:empty{display:none}
.member-dialog{box-sizing:border-box;max-width:460px;width:calc(100% - 40px);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #86a69a;padding:30px;background:#fbfaf5;color:#123b2f;box-shadow:12px 12px 0 rgba(18,59,47,.16)}
.member-dialog::before{content:"";display:block;width:72px;height:6px;margin:-31px 0 24px;background:#dfa126}
.member-dialog::backdrop{background:rgba(18,59,47,.58);backdrop-filter:blur(2px)}
.qr-dialog-heading{width:100%;text-align:center}.member-dialog h2{margin:0;font-family:var(--font-serif,serif);font-size:clamp(30px,7vw,40px);line-height:1.15}
.qr-code-card{margin:22px 0 0}.qr-code-frame{position:relative;width:min(100%,300px);margin:0 auto;padding:12px;box-sizing:border-box;background:#fff;border:1px solid #d6e2dc;box-shadow:0 8px 22px rgba(18,59,47,.08)}.qr-code-frame::before,.qr-code-frame::after{content:"";position:absolute;width:34px;height:34px;border-color:#dfa126;pointer-events:none}.qr-code-frame::before{top:-4px;left:-4px;border-top:4px solid #dfa126;border-left:4px solid #dfa126}.qr-code-frame::after{right:-4px;bottom:-4px;border-right:4px solid #dfa126;border-bottom:4px solid #dfa126}.member-dialog img{display:block;width:100%;height:auto;margin:auto}.qr-code-card figcaption{margin-top:14px;color:#526b62;font-size:14px;text-align:center}
.qr-dialog-status{display:flex;align-items:center;gap:10px;margin:20px 0 0;padding:12px 14px;background:#eaf3ee;color:#184c3d;font-weight:650}.qr-dialog-status::before{content:"";width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#dfa126;box-shadow:0 0 0 5px rgba(223,161,38,.16)}.qr-merge-panel{margin-top:16px;padding:16px;background:#fff7df;border:1px solid #e6c56f}.qr-merge-panel p{margin-top:0;line-height:1.7}.qr-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.qr-dialog-actions span{color:#6b7772;font-size:12px;text-align:right}.member-dialog .qr-dialog-actions button{min-width:92px;margin:0;background:transparent}
.member-row{padding:20px 0;border-bottom:1px solid #d4e2da;overflow-wrap:anywhere}.member-row strong{display:block}.member-row p{white-space:pre-wrap}.member-row label{max-width:500px}.member-card summary{cursor:pointer}.member-card details{margin:12px 0}
button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d97706;outline-offset:3px}[hidden]{display:none!important}
@media(max-width:650px){.member-page{padding:28px 16px 50px}.member-heading{margin-bottom:24px}.member-heading h1{font-size:32px}.auth-stage{padding-top:0}.auth-card{padding:28px 20px 30px;box-shadow:6px 6px 0 #dce9e3}.auth-title{margin-bottom:22px}.auth-title h2{font-size:30px}.auth-links{gap:10px}.auth-links button{font-size:14px}.member-grid{grid-template-columns:1fr;gap:0}.member-card{padding:20px}.member-summary{padding:18px 16px;gap:12px}.member-summary>img{width:50px;height:50px}.member-summary-main h1{font-size:26px}.member-tabs{margin-top:16px}.member-tabs button{min-height:48px;padding:8px 5px;font-size:14px}.member-content{min-height:210px;padding:24px 20px 28px}.member-content h2{font-size:27px}.member-tools{padding:20px}.member-tool-buttons{gap:8px}.member-tool-buttons button{padding:9px 7px}.submission-embed{margin-left:-12px;margin-right:-12px}.member-dialog{width:calc(100% - 28px);padding:24px 20px 20px;box-shadow:7px 7px 0 rgba(18,59,47,.16)}.member-dialog::before{margin:-25px 0 20px}.qr-code-card{margin-top:18px}.qr-code-frame{width:min(100%,270px);padding:10px}.qr-dialog-actions{align-items:flex-end}}
/* Personal content: one shared navigation and quiet account settings. */
.member-home{width:100%;max-width:1000px}.member-summary{border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0 28px}.member-summary-main h1{font-family:var(--font-body);font-size:28px}.member-settings-link{font-size:14px;color:var(--brand-dfhf);white-space:nowrap}.member-meta{border:0;padding-top:0}.member-tabs{display:flex;gap:28px;margin:0;border:0;border-bottom:1px solid var(--line);background:transparent}.member-tabs button,.member-tabs a{display:flex;align-items:center;justify-content:center;min-height:60px;margin:0;padding:0 2px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:inherit;font-weight:600;text-decoration:none;white-space:nowrap}.member-tabs button[aria-current="page"]{color:var(--brand-dfhf);border-bottom-color:var(--brand-dfhf);background:transparent;box-shadow:none}.member-content{padding:32px 0;border:0;background:transparent;min-height:320px}.member-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}.member-section-head h2{margin:0;font-family:var(--font-body);font-size:24px}.member-section-head p{width:100%;margin:0;color:var(--muted);font-size:15px}.member-section-head a{font-size:14px;color:var(--brand-dfhf)}.member-section-head h2 span{font-size:14px;font-weight:400;color:var(--muted);margin-left:8px}.member-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.member-shortcuts>button,.member-shortcuts>a{display:flex;align-items:flex-start;flex-direction:column;padding:24px 28px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}.member-shortcuts>button{font:inherit}.member-shortcuts strong{font-size:36px;line-height:1.3;margin:12px 0;color:var(--brand-dfhf)}.member-shortcuts small{font-size:14px;color:var(--muted)}.member-shortcuts>a{background:#eef5f2}.recent-heading{margin-top:36px}.member-recent-maps{display:grid;gap:12px}.member-recent-map{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink)}.member-recent-map>span{font-size:24px}.member-recent-map strong{min-width:0;overflow-wrap:anywhere}.member-recent-map small{color:var(--muted);font-size:13px}.member-search{display:block;max-width:480px;font-size:14px;color:var(--muted);margin-bottom:24px}.member-search input{box-sizing:border-box;display:block;margin-top:8px;width:100%;min-height:46px;padding:10px 14px;border:1px solid #b6c9c1;border-radius:8px;background:white;color:var(--ink);font:inherit}.member-favorite-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.member-favorite{min-width:0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:10px}.member-favorite-main{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;color:var(--ink);text-decoration:none}.member-favorite-image{display:grid;place-items:center;overflow:hidden;width:96px;height:96px;border-radius:6px;background:#e7eee8;color:var(--brand-dfhf);font-family:var(--font-display);font-size:24px}.member-favorite-image img{width:100%;height:100%;object-fit:cover}.member-favorite-main strong{font-size:17px;line-height:1.5;overflow-wrap:anywhere}.member-favorite-main small{display:block;margin-top:5px;font-size:13px;color:var(--muted)}.member-favorite-main p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0 0;font-size:13px;color:var(--muted)}.member-favorite-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:16px}.member-content .member-favorite-actions button{border:0;background:transparent;padding:5px 0;color:var(--brand-dfhf);font-size:14px;min-height:40px}.member-content .member-favorite-actions button:last-child{color:var(--muted)}.member-empty-state{grid-column:1/-1;padding:32px 20px;border:1px dashed #b6c9c1;border-radius:8px;text-align:center}.member-empty-state strong{font-size:19px}.member-empty-state p{color:var(--muted)}.member-empty-state .member-action{margin-top:8px}.member-settings{border-top:1px solid var(--line);padding-top:20px}.member-settings>summary{cursor:pointer;font-size:16px;color:var(--muted)}.member-settings>.member-logout{float:right;margin-top:20px;color:#994a3c}.member-tools{padding:20px 0;border:0;background:transparent}.member-tools>h2{font:600 18px var(--font-body)}.member-map-option{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;background:white!important;color:var(--ink)!important;border-color:#b6c9c1!important}.member-map-option[aria-pressed="true"]{background:#e9f4ee!important;border-color:var(--brand-dfhf)!important}.member-map-option small{white-space:nowrap;font-size:12px}.member-map-option span{overflow-wrap:anywhere}.member-binding{font-size:12px!important}.member-action{border-radius:6px}.member-page button:disabled{opacity:.55;cursor:wait}
@media(max-width:650px){.member-page{padding:24px 18px 48px}.member-summary{gap:12px;padding:0 0 22px}.member-summary-main h1{font-size:24px}.member-settings-link{font-size:13px}.member-tabs{gap:0;justify-content:space-between}.member-tabs button,.member-tabs a{min-height:54px;font-size:14px;padding:0 2px}.member-content{padding:24px 0}.member-section-head{gap:10px;margin-bottom:20px}.member-section-head h2{font-size:22px}.member-shortcuts{gap:12px}.member-shortcuts>button,.member-shortcuts>a{padding:20px 16px}.member-shortcuts strong{font-size:30px}.member-shortcuts small{font-size:12px}.member-favorite-grid{grid-template-columns:1fr;gap:12px}.member-favorite{padding:14px}.member-favorite-main{grid-template-columns:88px minmax(0,1fr);gap:14px}.member-favorite-image{width:88px;height:88px}.member-recent-map{grid-template-columns:28px minmax(0,1fr);padding:16px}.member-recent-map small{grid-column:2}.member-tool-buttons{grid-template-columns:1fr}.recent-heading{margin-top:28px}}
.member-summary>img{grid-column:1;grid-row:1}.member-summary-main{grid-column:2;grid-row:1}.member-settings-link{grid-column:3;grid-row:1}.member-summary{grid-template-columns:auto minmax(0,1fr) auto}.member-settings>.member-meta{margin-top:20px}.member-content .member-favorite-actions button:disabled{opacity:.5}.member-settings-link:focus-visible{outline-offset:5px}
/* Account feedback: inline maps and direct header tools. */
.member-summary{align-items:start}.member-identity{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px}.member-number{font-size:12px;color:var(--muted);font-weight:400;white-space:nowrap}.member-header-tools{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.member-header-tools .member-tool-buttons{display:flex;gap:16px}.member-header-tools .member-tool-buttons button{min-height:40px;border:0;background:transparent;padding:4px 0;font-size:14px;font-weight:500;color:var(--brand-dfhf)}.member-header-tools .member-tool-buttons button[aria-expanded="true"]{text-decoration:underline;text-underline-offset:5px}.member-header-tools .member-logout{font-size:12px;min-height:32px;font-weight:400;color:var(--muted);padding:4px 0}.member-tools{margin:0;padding:0 0 24px}.member-tool-panel form{margin:0;padding:20px;max-width:520px;background:#fff;border:1px solid var(--line);border-radius:8px}.member-section-head>button[data-member-open]{background:transparent;border:0;padding:0;min-height:40px;color:var(--brand-dfhf);font-size:14px}.member-shortcuts>button[data-member-open="maps"]{background:#eef5f2}.member-content .member-action{background:var(--brand-dfhf);color:white;border-color:var(--brand-dfhf);min-height:44px;margin-top:0}.member-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.member-map-card{overflow:hidden;min-width:0;background:white;border:1px solid var(--line);border-radius:10px}.member-map-cover{display:grid;place-items:center;height:160px;overflow:hidden;background:#e6eee8;color:var(--brand-dfhf);text-decoration:none}.member-map-cover img{display:block;min-height:0;min-width:0;width:100%;height:160px;object-fit:cover}.member-map-cover>span{font-size:42px}.member-map-copy{padding:20px}.member-map-copy>a{display:block;line-height:1.5;color:var(--ink);text-decoration:none;font-size:19px}.member-map-copy strong{overflow-wrap:anywhere}.member-map-copy small{display:block;font-size:13px;color:var(--muted);margin-top:7px}.member-map-copy p{font-size:14px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.member-map-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px}.member-map-actions>a,.member-content .member-map-actions button{color:var(--brand-dfhf);background:transparent;border:0;padding:4px 0;font-size:14px;min-height:40px;text-decoration:none}.member-map-form label{display:block;margin:18px 0;font-size:15px}.member-map-form input,.member-map-form textarea{display:block;box-sizing:border-box;width:100%;margin-top:8px;padding:12px;border:1px solid #b6c9c1;border-radius:5px;background:white;font:inherit;color:var(--ink)}
@media(max-width:650px){.member-summary{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.member-header-tools .member-tool-buttons{flex-direction:column;align-items:flex-end;gap:0}.member-header-tools .member-tool-buttons button{min-height:36px;font-size:13px}.member-summary-main h1{font-size:24px}.member-identity{gap:6px 10px}.member-number{font-size:11px}.member-map-grid{grid-template-columns:1fr;gap:12px}.member-summary>img{width:40px;height:40px}.member-map-copy{padding:18px}.member-tool-panel form{padding:18px}.member-tools{padding-bottom:20px}}
.member-header-tools .member-tool-buttons{flex-direction:row;align-items:center;gap:8px}.member-header-tools .member-tool-buttons button,.member-header-tools .member-tool-buttons .member-logout{box-sizing:border-box;min-height:40px;padding:8px 12px;border:1px solid #b6c9c1;border-radius:6px;background:#fff;color:var(--brand-dfhf);font-size:14px;font-weight:500;white-space:nowrap}.member-header-tools .member-tool-buttons button[aria-expanded="true"]{background:var(--brand-dfhf);color:#fff;text-decoration:none;border-color:var(--brand-dfhf)}.member-header-tools .member-tool-buttons .member-logout{color:var(--muted);align-self:auto}
@media(max-width:650px){.member-header-tools{grid-column:2/-1;grid-row:2;align-items:flex-start;margin-top:8px}.member-header-tools .member-tool-buttons{flex-direction:row;gap:8px}.member-header-tools .member-tool-buttons button,.member-header-tools .member-tool-buttons .member-logout{font-size:13px;padding:8px 10px;min-height:40px}}
@media(max-width:650px){.member-header-tools{grid-column:3;grid-row:1;align-items:flex-end;justify-self:end;margin-top:22px}.member-header-tools .member-tool-buttons{gap:6px}.member-header-tools .member-tool-buttons button,.member-header-tools .member-tool-buttons .member-logout{font-size:12px;padding:8px;min-height:38px}.member-summary-main{min-width:0}.member-identity h1{overflow-wrap:anywhere}}
@media(max-width:360px){.member-header-tools .member-tool-buttons{gap:4px}.member-header-tools .member-tool-buttons button,.member-header-tools .member-tool-buttons .member-logout{font-size:11px;padding:8px 5px}.member-summary-main h1{font-size:21px}}

#qrDialog #qrTitle{font-size:26px;line-height:1.35;text-align:center}

.member-card-menu{position:relative;text-align:right;margin-top:12px}
.member-card-menu summary{list-style:none;cursor:pointer;color:var(--brand-dfhf);padding:8px 0;font-size:14px;min-height:32px}
.member-card-menu summary::-webkit-details-marker{display:none}
.member-card-menu-items{position:absolute;right:0;top:100%;z-index:12;display:grid;min-width:150px;padding:8px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(15,42,35,.14);text-align:left}
.member-content .member-card-menu-items button{padding:10px 14px;min-height:44px;border:0;background:white;color:var(--ink);font:inherit;font-size:14px;text-align:left;white-space:nowrap}
.member-content .member-card-menu-items button:hover{background:#eef5f2}
.member-content .member-card-menu-items button.is-danger{color:#994a3c}
.member-favorite{position:relative}
.member-favorite-menu{margin:0 0 10px;display:flex;justify-content:flex-end}
.member-favorite-map-tags{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0}
.member-favorite-map-tags a{padding:5px 9px;border:1px solid #b6c9c1;border-radius:4px;color:var(--brand-dfhf);background:#eef5f2;text-decoration:none;font-size:12px;overflow-wrap:anywhere;max-width:100%}

.member-map-card{overflow:visible}.member-map-cover{border-radius:10px 10px 0 0}

/* Card actions share the title row instead of adding a separate row. */
.member-favorite-menu{position:absolute;top:18px;right:18px;margin:0;display:block}
.member-favorite-menu summary{padding:0;min-height:26px;line-height:26px;white-space:nowrap}
.member-favorite-main strong{display:block;padding-right:82px}
.member-map-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:start}
.member-map-copy>a{grid-column:1;grid-row:1;min-width:0;overflow-wrap:anywhere}
.member-map-copy>.member-card-menu{grid-column:2;grid-row:1;margin:0}
.member-map-copy>.member-card-menu summary{padding:0;min-height:28px;line-height:28px;white-space:nowrap}
.member-map-copy>small,.member-map-copy>p{grid-column:1/-1}
.member-map-form select{width:100%;min-height:46px;padding:10px 14px;background:white;border:1px solid #b6c9c1;border-radius:6px;font:inherit}
@media(max-width:760px){.member-favorite-menu{top:14px;right:14px}}

/* Native radio choices share the same icon value used by map saving. */
.member-map-form .member-icon-picker{min-width:0;margin:18px 0;padding:0;border:0}
.member-icon-picker legend{padding:0;font-size:15px}
.member-icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:8px;margin-top:8px}
.member-map-form .member-icon-grid label{position:relative;display:block;margin:0;cursor:pointer}
.member-map-form .member-icon-grid input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.member-icon-grid span{display:grid;place-items:center;min-height:44px;background:white;border:1px solid #b6c9c1;border-radius:6px;font-size:24px}
.member-icon-grid input:checked+span{background:#e2eee7;border:2px solid var(--brand-dfhf);min-height:42px}
.member-icon-grid input:focus-visible+span{outline:3px solid var(--brand-dfhf);outline-offset:2px}

/* Identity stays together; account actions have their own row. */
#memberSubmissions{display:grid;gap:12px;margin:0 0 20px}
.member-record-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 24px}
.member-content .member-record-entries button{display:grid;gap:16px;text-align:left;padding:20px;border:1px solid var(--line);background:white;border-radius:8px}
.member-record-entries span{font-size:17px;font-weight:600}.member-record-entries strong{font-size:28px;color:var(--brand-dfhf)}.member-record-entries small{font-size:12px;color:var(--muted)}
.member-record-entries[hidden],#memberRecordList[hidden]{display:none}
.member-record-head{margin-bottom:18px}.member-record-head h3{font-size:19px;margin:16px 0 0}.member-content .member-record-head button{border:0;padding:0;background:transparent;color:var(--brand-dfhf)}
#memberRecordPager{display:flex;align-items:center;justify-content:center;gap:16px;margin:16px 0 24px;font-size:13px}
@media(max-width:360px){.member-record-entries{gap:10px}.member-content .member-record-entries button{padding:16px}.member-record-entries span{font-size:15px}}
.member-submission-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;background:white;border:1px solid var(--line);border-radius:8px;min-width:0}
.member-submission-card>div{min-width:0}
.member-submission-card h3{margin:0;font:600 16px/1.5 var(--font-body);overflow-wrap:anywhere}
.member-submission-card p{margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.member-submission-status{flex-shrink:0;padding:4px 9px;border-radius:4px;background:#f6eedb;color:#806522;font-size:12px;line-height:1.5;white-space:nowrap}
.member-submission-status.status-approved,.member-submission-status.status-published{background:#e2eee7;color:#176d58}
.member-submission-status.status-rejected{background:#f8e9e2;color:#a3452d}
.member-submission-status.status-private{background:#edf0ee;color:#5e7167}
@media(max-width:650px){.member-submission-card{padding:16px;gap:12px}.member-submission-card h3{font-size:15px}}
.member-summary{grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:center;padding:8px 0 24px}
.member-summary>img,.member-avatar-fallback{width:56px;height:56px;border-radius:50%;grid-column:1;grid-row:1}
.member-avatar-fallback{display:grid;place-items:center;background:#e2eee7;color:var(--brand-dfhf)}
.member-avatar-fallback[hidden]{display:none}
.member-avatar-fallback svg{width:32px;height:32px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.member-summary-main{grid-column:2;grid-row:1;min-width:0}
.member-summary-main .member-eyebrow{margin:0 0 6px;font-size:12px;line-height:1.4;letter-spacing:.08em}
.member-summary-main h1{font-size:26px;line-height:1.35;font-weight:700}
.member-identity-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:8px}
.member-identity-meta .member-number,.member-identity-meta .member-binding{margin:0;font-size:12px;line-height:1.5;color:var(--muted);font-weight:400}
.member-identity-meta .member-binding{display:inline-flex;align-items:center;gap:5px}
.member-identity-meta .member-binding::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.member-header-tools{grid-column:1/-1;grid-row:2;justify-self:stretch;align-items:flex-start;margin:0;padding-top:4px}
.member-header-tools .member-tool-buttons{display:flex;flex-wrap:wrap;gap:8px}
.member-header-tools .member-tool-buttons button,.member-header-tools .member-tool-buttons .member-logout{min-height:44px;font-size:13px;padding:8px 14px}
@media(max-width:650px){
  .member-summary{grid-template-columns:44px minmax(0,1fr);gap:12px;padding-bottom:20px}
  .member-summary>img,.member-avatar-fallback{width:44px;height:44px}
  .member-avatar-fallback svg{width:26px;height:26px}
  .member-summary-main h1{font-size:22px}
  .member-header-tools{grid-column:1/-1;grid-row:2;justify-self:stretch;align-items:flex-start;margin:0}
  .member-header-tools .member-tool-buttons button,.member-header-tools .member-tool-buttons .member-logout{min-height:44px;font-size:13px;padding:8px 12px}
}
#profileSettingsDialog{width:min(420px,calc(100vw - 32px));box-sizing:border-box;padding:24px;background:#fbfaf5;border:1px solid #b6c9c1;border-radius:12px;color:#17211d}
#profileSettingsDialog::backdrop{background:rgba(15,42,35,.35)}
#profileSettingsDialog h2{margin:0 0 16px;font-size:24px}
#profileSettingsDialog p{line-height:1.7;margin:0 0 20px}
#profileSettingsDialog button{min-height:44px;padding:8px 16px;border:1px solid #a8c6b8;background:#e2eee7;color:#12564b;border-radius:6px}

#profileSettingsForm label{display:grid;gap:8px;margin:14px 0}
#profileSettingsForm input{box-sizing:border-box;max-width:100%;min-height:44px;padding:8px;border:1px solid #b6c9c1}
#profileAvatarPreview{width:80px;height:80px;object-fit:cover;border-radius:50%}
#profileAvatarPreview[hidden]{display:none}

#profileSettingsDialog{max-height:calc(100dvh - 32px);overflow:auto}
#profileAvatarCrop[hidden]{display:none}
.avatar-crop-window{position:relative;width:min(256px,100%);aspect-ratio:1;margin:auto;overflow:hidden;background:#fff}
.avatar-crop-window canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.avatar-crop-window canvas:active{cursor:grabbing}
.avatar-crop-window>span{position:absolute;inset:0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 80px rgba(15,42,35,.38);pointer-events:none;box-sizing:border-box}
.avatar-crop-window canvas:focus-visible{outline:3px solid #d9a33a;outline-offset:-3px}
#profileAvatarCrop input[type=range]{width:100%;padding:0}

/* Compact profile editor: image first, quiet controls, stable action row. */
#profileSettingsDialog{padding:24px;max-height:calc(100dvh - 32px)}
#profileSettingsForm>p{font-size:12px;color:#61706a;margin:8px 0 16px}
#profileSettingsForm #profileSettingsMessage:empty{display:none}
.profile-avatar-actions{display:flex;align-items:center;justify-content:flex-start;gap:18px;margin:16px 0}
#profileSettingsForm .profile-avatar-upload{display:flex;align-items:center;position:relative;min-height:44px;margin:0;color:#12564b;cursor:pointer;overflow:hidden}
.profile-avatar-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.profile-avatar-upload:focus-within{outline:2px solid #0f766e;outline-offset:3px}
#profileSettingsDialog #profileAvatarRemove{padding:0;background:transparent;border:0;color:#61706a;font-size:13px}
#profileAvatarPreview{display:block;margin:16px 0}
#profileSettingsForm .avatar-zoom-control{display:flex;align-items:center;gap:12px;width:min(256px,100%);margin:8px auto 16px;color:#61706a}
#profileAvatarCrop input[type=range]{appearance:none;-webkit-appearance:none;min-height:32px;padding:0;border:0;background:transparent;accent-color:#0f766e;flex:1;min-width:0}
#profileAvatarCrop input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:#c9d8d0}
#profileAvatarCrop input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin-top:-5.5px;border-radius:50%;background:#0f766e;border:2px solid #fbfaf5;box-shadow:0 1px 3px #123b2f30}
#profileAvatarCrop input[type=range]::-moz-range-track{height:3px;border-radius:3px;background:#c9d8d0}
#profileAvatarCrop input[type=range]::-moz-range-thumb{width:10px;height:10px;border:2px solid #fbfaf5;border-radius:50%;background:#0f766e}
.profile-settings-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:18px;margin-top:16px;border-top:1px solid #d4ded8}
#profileSettingsDialog .profile-settings-actions button:first-child{background:transparent;border-color:transparent;color:#61706a}
#profileSettingsDialog #profileSettingsSave{background:#0f766e;border-color:#0f766e;color:white}

#profileSettingsForm .profile-avatar-upload,#profileSettingsDialog #profileAvatarRemove{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;margin:0;padding:8px 14px;background:#e2eee7;border:1px solid #a8c6b8;border-radius:6px;color:#12564b;font-family:inherit;font-size:14px;font-weight:400;line-height:1.5}

#passwordDialog{width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:24px;background:#fbfaf5;border:1px solid #b6c9c1;border-radius:12px;color:#17211d}
#passwordDialog::backdrop{background:rgba(15,42,35,.35)}
#passwordDialog h2{margin:0 0 20px;font-size:24px}
#passwordDialog label{display:grid;gap:8px;margin:16px 0;font-size:14px}
#passwordDialog input{box-sizing:border-box;width:100%;min-height:44px;padding:8px;border:1px solid #b6c9c1;font:inherit}
#passwordDialog button{min-height:44px;padding:8px 16px;border:1px solid #a8c6b8;border-radius:6px;background:#e2eee7;color:#12564b;font:inherit}
#passwordDialog button[type=submit],#passwordDialog button:not([type]){background:#0f766e;color:white;border-color:#0f766e}
#passwordMessage:empty{display:none}

/* Contextual login uses these same forms inside a same-origin dialog. */
body[data-login-entry="true"]{background:#fbfaf5!important;min-height:0}
body[data-login-entry="true"]>.topbar,body[data-login-entry="true"]>.footer,
body[data-login-entry="true"] #memberHeading,body[data-login-entry="true"] #memberPanel{display:none!important}
body[data-login-entry="true"] .member-page{width:100%;max-width:none;padding:0 8px 12px;margin:0}
body[data-login-entry="true"] .auth-stage{padding:0;display:block}
body[data-login-entry="true"] .auth-stage[hidden]{display:none}
body[data-login-entry="true"] .auth-card{width:100%;padding:28px 26px;border:0;box-shadow:none}
body[data-login-entry="true"] .member-message{margin:0 26px;font-size:14px}
@media(max-width:400px){body[data-login-entry="true"] .auth-card{padding:24px 12px}}

/* Resolve the environment in the head; never paint password forms in mini-programs. */
html[data-account-client="mini"] #webAuthPanels{display:none!important}
html[data-login-entry="true"] .topbar,html[data-login-entry="true"] .footer,
html[data-login-entry="true"] #memberHeading{display:none!important}

.mini-guest-legal .member-check { display: inline-flex; align-items: center; min-height: 44px; margin: 0; }
.mini-guest-legal input { width: 20px; height: 20px; margin-right: 8px; accent-color: #123b2f; }
.mini-guest-legal p { margin-top: 8px; }
