.auth-card{max-width:520px;margin:2rem auto}.auth-card .tabs{display:flex;gap:1rem}.auth-card input{font-size:1rem}.auth-card .auth-status{min-height:1.5rem;margin:1rem 0}.pilot-sync{font-size:.875rem}.pilot-actions{display:flex;gap:.75rem;flex-wrap:wrap}.message.received{margin-right:auto;margin-left:0;background:var(--surface,#eef3f6)}.pilot-post textarea{min-height:90px}.auth-card button:disabled{opacity:.6}.pilot-loading{padding:2rem;text-align:center}
.map-page .app-header{position:fixed;top:0;left:0;right:0;width:100%;height:calc(var(--header-height) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}
.map-page .demo{position:fixed;top:calc(var(--header-height) + env(safe-area-inset-top,0px));left:0;right:0;width:100%;z-index:1090;height:auto;min-height:var(--demo-height)}
.map-page .harbor-layout{top:var(--map-top,calc(var(--header-height) + var(--demo-height) + env(safe-area-inset-top,0px)));bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));height:auto}
@media(max-width:600px){.map-page .chart-options .options-panel{top:calc(var(--map-top,98px) + 62px)}}
/* Compact collapsed reports sheet; expanded report content keeps its space. */
.report-panel:not(.expanded){height:76px;background:#e9e5df;border-color:#c9c5bd;border-radius:18px 18px 0 0;box-shadow:0 -3px 16px #06243e24}
.report-panel:not(.expanded) .sheet-handle{min-height:74px;padding:6px 16px 8px;background:#e9e5df}
.report-panel:not(.expanded) .grabber{height:4px;width:38px;margin-bottom:7px;background:#9ba7ad}
.report-panel:not(.expanded) .sheet-title{font-size:20px;line-height:24px}
.report-panel:not(.expanded) .sheet-subtitle{font-size:12px;line-height:16px;margin-top:3px}
.report-panel:not(.expanded)>:not(.sheet-handle){display:none!important}
html[data-theme=dark] .report-panel:not(.expanded),html[data-theme=dark] .report-panel:not(.expanded) .sheet-handle{background:#202b34;border-color:#40515e}
@media(max-width:899px){.map-quick-actions{bottom:90px}}

body:not(.chart-editor-access) [data-chart-editor]{display:none!important}
.options-panel>[data-chart-editor]>.button{display:block;width:100%;margin-top:10px;font-size:16px;min-height:46px}
/* Landmark and chart detail links must keep readable text over their button fill. */
.chart-popup .button,.chart-popup .button.outline{background:#063653;color:#fff;border-color:#063653}
.chart-popup .button:hover,.chart-popup .button:focus-visible{background:#0d4969;color:#fff}
html[data-theme=dark] .chart-popup .button,html[data-theme=dark] .chart-popup .button.outline{background:#a34440;color:#fff;border-color:#b85a55}
html[data-theme=dark] .chart-popup .button:hover,html[data-theme=dark] .chart-popup .button:focus-visible{background:#b34e48;color:#fff}

.harbor-directory-search{margin:12px 0}.harbor-directory-search input{min-height:44px;font-size:16px}.harbor-directory-results{max-height:52dvh;overflow-y:auto;overscroll-behavior:contain}.chart-popup .button+.button{margin-top:10px}

.profile-top>.pilot-actions{padding-top:52px;flex-wrap:wrap;max-width:100%}.profile-top .button.outline{background:#fff;color:#123e58;border-color:#8ca7ba}.profile-top .button.outline:hover{background:#e7eff5;color:#123e58}.profile-top .button{min-height:44px;font-size:16px}.follow-request-status{background:#e5f3f2;color:#123e58;padding:12px;border-radius:8px}.follow-request-row{padding:16px 0;border-bottom:1px solid var(--border)}.header-profile{gap:8px}.hl-follow-bell{position:relative;display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border:1px solid #8ba5b5;border-radius:50%;background:#173a53;color:#fff}.hl-follow-bell[hidden]{display:none}.hl-follow-bell svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hl-follow-bell span{position:absolute;right:-4px;top:-5px;background:#e6c698;color:#112e45;border-radius:12px;min-width:20px;padding:2px 4px;font-size:12px;font-weight:bold}.hl-follow-bell span[hidden]{display:none}
html[data-theme=dark] .profile-top .button.outline{background:#202b34;color:#f3ddd6;border-color:#a47e78}html[data-theme=dark] .follow-request-status{background:#263c40;color:#f3ddd6}
@media(max-width:600px){.profile-top>.pilot-actions{flex-basis:100%;padding-top:8px}.profile-top{align-items:flex-start}.profile-top>.pilot-actions>.button{flex:1 1 auto}}

.hl-follow-stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px}.hl-follow-stats button{background:#edf3f6;color:#123e58;border:1px solid #a4b7c5;border-radius:8px;min-height:44px;padding:10px 14px;font-size:16px}.hl-follow-stats strong{margin-right:6px}.profile-page .tabs{flex-wrap:wrap}html[data-theme=dark] .hl-follow-stats button{background:#202b34;color:#f3ddd6;border-color:#a47e78}

.hl-notifications{display:grid;gap:10px;margin-top:16px}.hl-notification{display:grid;gap:6px;width:100%;padding:16px;text-align:left;border:1px solid #cbd8e1;border-radius:12px;background:#fff;color:#17364c;font:inherit}.hl-notification.unread{background:#eaf5f6;border-left:4px solid #218c99}.hl-notification span{font-size:14px}.hl-post-tools{margin-top:12px}[data-theme="dark"] .hl-notification{background:#18364b;color:#fff}

/* Compact portfolio and standalone inbox. */
.profile-page .profile-top>.pilot-actions{padding-top:48px;flex-basis:auto;gap:8px;flex-wrap:wrap;justify-content:flex-end}.profile-page .profile-top>.pilot-actions>.button{flex:initial;min-height:42px;font-size:14px;padding:8px 14px}.hl-profile-menu,.hl-icon-button{display:grid;place-items:center;width:42px;height:42px;min-width:42px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:24px;font-family:inherit;font-weight:600;cursor:pointer}.hl-profile-menu{font-size:26px}.hl-compact{min-height:42px!important;padding:8px 16px!important;font-size:14px!important}.hl-portfolio-menu{display:grid;gap:4px}.hl-portfolio-menu button{padding:16px;text-align:left;border:0;border-bottom:1px solid var(--border);color:var(--text);background:var(--surface);font:inherit;min-height:44px}.profile-page .tabs{gap:24px}.profile-page .tabs button{font-size:15px}.hl-follow-stats button{padding:6px 0;background:transparent;border:0;font-size:14px;color:var(--text)}.profile-body h1{font-size:28px}.profile-body p{font-size:15px}.hl-follow-bell{width:38px;height:38px}.hl-follow-bell svg{width:20px;height:20px}.header-profile{gap:7px}.header-profile>a{order:3}#hl-chat-button{order:2}#hl-follow-bell{order:1}
.hl-inbox,.hl-conversation{max-width:760px;margin:auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.hl-inbox-heading,.hl-conversation-heading{display:flex;align-items:center;gap:12px;padding:18px 20px}.hl-inbox-heading{justify-content:space-between}.hl-inbox-heading h1{font-size:25px;margin:0}.hl-icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.hl-message-search{display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:10px;margin:0 20px;padding:8px 12px}.hl-message-search input{width:100%;background:transparent;border:0;color:var(--text);font:inherit;min-height:30px;outline:none}.hl-message-search:focus-within{outline:2px solid var(--cyan)}.hl-inbox-filters{display:flex;gap:8px;padding:16px 20px;border-bottom:1px solid var(--border)}.hl-inbox-filters button{min-height:40px;padding:7px 20px;border:1px solid var(--border);border-radius:24px;color:var(--text);background:var(--surface);font-size:14px;font-family:inherit;font-weight:600}.hl-inbox-filters .selected{background:#176477;color:#fff;border-color:#176477}.hl-thread{width:100%;display:flex;gap:12px;align-items:center;padding:18px 20px;border:0;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;font:inherit;cursor:pointer}.hl-thread:hover{background:var(--bg)}.hl-thread .avatar{width:48px;height:48px;flex-shrink:0}.hl-thread-copy{display:grid;gap:5px;min-width:0;flex:1}.hl-thread-copy strong{font-size:16px}.hl-thread-copy>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}.hl-thread.unread .hl-thread-copy>span{font-weight:600;color:var(--text)}.hl-thread-meta{display:grid;gap:8px;justify-items:end;flex-shrink:0;font-size:12px;color:var(--muted)}.hl-thread-meta b{background:#176477;color:#fff;display:grid;place-items:center;min-width:23px;height:23px;border-radius:50%;padding:0 4px}.hl-conversation-heading{border-bottom:1px solid var(--border)}.hl-conversation-heading strong{flex:1;font-size:17px}.hl-conversation #hl-message-list{min-height:240px;max-height:calc(100dvh - 390px);overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.hl-conversation .message{max-width:85%;margin:0;align-self:flex-start;overflow-wrap:anywhere;padding:12px 14px;border-radius:14px;font-size:16px;background:var(--bg);color:var(--text)}.hl-conversation .message.mine{align-self:flex-end;background:#176477;color:#fff}.hl-conversation .message small{display:block;font-size:12px;opacity:.75;margin-top:6px}.hl-conversation #messageform{display:flex;gap:10px;align-items:flex-end;padding:14px;border-top:1px solid var(--border)}.hl-conversation #messageform .field{flex:1;margin:0}.hl-conversation textarea{min-height:56px;max-height:130px;resize:vertical;font-size:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:600px){.profile-page .profile-top{gap:10px}.profile-page .profile-top>.pilot-actions{padding-top:48px;max-width:calc(100% - 96px);flex-basis:auto}.profile-page .profile-top>.pilot-actions>.button{padding:7px 10px;font-size:14px}.hl-messages-page #content{padding:12px 0!important}.hl-inbox,.hl-conversation{border:0;border-radius:0}.hl-conversation #hl-message-list{max-height:calc(100dvh - 380px)}.header-profile>a{width:36px;height:36px}.header-profile{gap:5px}.hl-follow-bell{width:36px;height:36px}.hl-thread{padding:16px}.hl-inbox-heading,.hl-conversation-heading{padding:14px 16px}.profile-body{padding-left:18px;padding-right:18px}}

.hl-thread-row{position:relative;overflow:hidden}.hl-thread-row>.hl-thread{position:relative;z-index:2;transition:transform .18s ease;touch-action:pan-y}.hl-delete-chat{position:absolute;right:0;top:0;bottom:0;width:90px;border:0;background:#b32e3a;color:#fff;font:600 15px sans-serif}.hl-thread-row.revealed>.hl-thread{transform:translateX(-90px)}.hl-conversation #messageform{display:block}.hl-compose-line{display:flex;gap:10px;align-items:flex-end}.hl-chat-attachments{margin-top:10px}.hl-chat-attachments summary{font-size:14px;cursor:pointer;width:fit-content;padding:7px 0}.hl-chat-attachments .attachment-fields{margin-top:10px}.hl-conversation .attachment-gallery{margin-top:8px}.hl-conversation .attached-photo summary{color:inherit}.hl-conversation .attached-photo img{max-width:100%}

.hl-conversation{display:flex;flex-direction:column;height:calc(100dvh - 280px);min-height:320px}.hl-conversation #hl-message-list{flex:1;min-height:0;max-height:none;display:block;padding:14px 18px}.hl-conversation-heading{flex-shrink:0}.hl-conversation #messageform{flex-shrink:0;position:relative}.hl-message-date{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px;margin:22px 0}.hl-message-date:before,.hl-message-date:after{content:'';height:1px;background:var(--border);flex:1}.hl-message-row{display:flex;gap:12px;margin:18px 0;align-items:flex-start}.hl-message-row>.avatar{width:34px;height:34px;flex-shrink:0}.hl-message-row>div{min-width:0;flex:1}.hl-message-byline{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.hl-message-byline strong{font-size:15px}.hl-message-byline time{font-size:12px;color:var(--muted)}.hl-message-row p{margin:6px 0;line-height:1.5;font-size:16px;overflow-wrap:anywhere}.hl-chat-intro{padding:40px 8px}.hl-chat-intro>.avatar{width:64px;height:64px;font-size:24px}.hl-chat-intro h2{font-size:20px;margin-bottom:8px}.hl-chat-intro p{font-size:15px;color:var(--muted)}.hl-chat-attachments{margin:0;position:absolute;left:12px;bottom:24px}.hl-chat-attachments summary{list-style:none;display:grid;place-items:center;width:36px;height:36px;padding:0;color:var(--text)}.hl-chat-attachments summary::-webkit-details-marker{display:none}.hl-chat-attachments svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hl-chat-attachments[open]{position:static;margin-top:12px}.hl-chat-attachments[open] summary{margin-left:0}.hl-compose-line{padding-left:40px}.hl-chat-attachments[open] .attachment-fields{max-height:240px;overflow:auto}.hl-conversation #messageform textarea{background:var(--bg);border-radius:10px}.hl-conversation-heading .avatar{display:none}
@media(max-width:600px){.app-header .brand{min-width:0;flex:1}.app-header .brand-words{min-width:0}.app-header .brand-words>span{font-size:22px}.app-header .brand-words small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.app-header .mark{width:34px;height:38px;font-size:24px}.app-header{gap:10px}.hl-conversation{height:calc(100dvh - 260px)}.hl-conversation #hl-message-list{max-height:none}.hl-messages-page nav{display:none!important}.hl-messages-page #content{padding-bottom:0!important}}

.hl-chat-member{display:grid;gap:4px;flex:1;min-width:0}.hl-chat-member strong{font-size:17px}.hl-chat-member span{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.hl-chat-member span:empty{display:none}

/* Inbox rows stay intact; deletion is revealed only by a horizontal swipe. */
.hl-messages-page main{padding:20px 16px 28px}.hl-messages-page #content{padding:0!important}.hl-inbox{background:#fff;border:1px solid #dae4ec;border-radius:16px;box-shadow:0 4px 18px #17394d08}.hl-inbox-heading{background:#eaf0f5;padding:16px 18px}.hl-inbox-heading h1{font-size:22px;color:#183b53;letter-spacing:-.5px}.hl-inbox .hl-icon-button{background:#fff;border-color:#cad8e3;color:#214b65;width:38px;height:38px;min-width:38px}.hl-message-search{margin:14px 16px 0;padding:6px 12px;background:#f3f6f9;border:1px solid #dce5ec;border-radius:10px;color:#658091}.hl-message-search input{font-size:16px;min-height:32px;color:#243f52}.hl-message-search input::placeholder{color:#6b7e8c}.hl-inbox-filters{padding:12px 16px;gap:8px;border-bottom:1px solid #e3eaf0}.hl-inbox-filters button{min-height:36px;padding:6px 16px;font-size:14px;background:#f2f6f9;color:#405d72;border-color:#d4e0e9}.hl-inbox-filters button.selected{background:#345c77;color:#fff;border-color:#345c77}.hl-thread-row{min-height:88px;background:#fff}.hl-thread-row>.hl-thread{display:flex;align-items:center;flex-direction:row;width:100%;min-height:88px;padding:16px;gap:12px;margin:0;border-radius:0;border-bottom:1px solid #e5edf2;background:#fff;color:#203c51;text-align:left}.hl-thread-row>.hl-thread.unread{background:#f1f6fa}.hl-thread-row>.hl-thread:hover{background:#edf3f7}.hl-thread-row .hl-chat-avatar{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;font-size:16px;border:0;background:#537b8f;color:#fff;overflow:hidden}.hl-thread-row .hl-chat-avatar img{width:100%;height:100%;object-fit:cover}.hl-thread-copy{flex:1;min-width:0;gap:5px}.hl-thread-copy strong{font-size:16px;font-weight:600;line-height:1.3}.hl-thread-copy>span{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:14px;color:#6c8191;line-height:1.4}.hl-thread-meta{font-size:12px;color:#788c9b}.hl-thread-meta b{background:#456b83}.hl-delete-chat[hidden]{display:none!important}.hl-delete-chat{width:82px;background:#a93f4b;font-size:14px}.hl-thread-row.revealed>.hl-thread{transform:translateX(-82px)}.hl-inbox .empty{padding:30px 18px;font-size:15px;color:#6c8191}
html[data-theme=dark] .hl-inbox,html[data-theme=dark] .hl-thread-row,html[data-theme=dark] .hl-thread-row>.hl-thread{background:#172936;color:#e0eaf2;border-color:#304553}html[data-theme=dark] .hl-inbox-heading{background:#213746}html[data-theme=dark] .hl-inbox-heading h1{color:#e0eaf2}html[data-theme=dark] .hl-message-search,html[data-theme=dark] .hl-inbox-filters button,html[data-theme=dark] .hl-inbox .hl-icon-button{background:#243b4a;color:#dae7ef;border-color:#405967}html[data-theme=dark] .hl-message-search input{color:#e0eaf2}html[data-theme=dark] .hl-thread-row>.hl-thread.unread{background:#243b4a}html[data-theme=dark] .hl-thread-copy>span{color:#acc1d0}html[data-theme=dark] .hl-inbox-filters button.selected{background:#426780;color:#fff}
@media(max-width:600px){.hl-messages-page main{padding:16px 12px 20px!important}.hl-inbox{border:1px solid #dae4ec;border-radius:14px}.hl-inbox-heading{padding:14px 16px}.hl-inbox-heading h1{font-size:21px}.hl-thread-row>.hl-thread{padding:14px;gap:10px}}
