:root{--bg:#101315;--panel:#181d20;--panel2:#20272b;--line:#303a3f;--text:#e9f0ec;--muted:#98a8a8;--accent:#d9f775;--teal:#6de2ce;--orange:#f0ab70;--purple:#ba9bf4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;font-size:13px}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:7px;padding:8px 11px;cursor:pointer;transition:background .15s,border-color .15s}button:hover,.button:hover{border-color:#62716d;background:#293331}button.active{color:var(--accent);border-color:#637043;background:#333c27}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:3px}button:disabled{opacity:.4;cursor:default}input,select,textarea{background:#101619;color:var(--text);border:1px solid var(--line);border-radius:7px;padding:9px;max-width:100%}textarea{resize:vertical;width:100%;min-height:76px;line-height:1.7}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}header{height:78px;display:flex;align-items:center;gap:35px;padding:0 24px;border-bottom:1px solid var(--line);background:#171c1e}.brand{display:flex;align-items:center;gap:12px;min-width:223px}.brand-icon{font-size:34px;font-weight:900;letter-spacing:-7px;color:var(--accent);line-height:1}.brand-icon span{font-size:28px;vertical-align:middle;color:var(--teal)}.brand b{font-size:20px;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:1.4px;color:var(--muted);margin-top:5px}nav{display:flex;gap:8px}nav button{background:transparent;border:1px solid transparent;padding:12px 18px;font-weight:600}nav button.active{color:var(--accent);border-color:transparent;border-bottom-color:var(--accent);border-radius:0;background:transparent}.head-right{margin-left:auto;display:flex;gap:15px;align-items:center}.badge{background:#293020;border:1px solid #455234;border-radius:20px;font-size:11px;padding:6px 10px;color:#e2f3af}.icon-btn{background:transparent}main{height:calc(100vh - 78px);display:grid;grid-template-columns:252px minmax(250px,1fr) 288px}.left-panel{background:var(--panel);border-right:1px solid var(--line);overflow:auto;position:relative;padding:22px 18px 12px}.right-panel{background:var(--panel);border-left:1px solid var(--line);padding:24px 20px;overflow:auto}.panel-top{margin-bottom:22px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--teal);margin:0 0 9px;font-weight:700}h1{font-size:24px;margin:0 0 8px;letter-spacing:1px}h2{font-size:20px;line-height:1.5;margin:8px 0 16px}h3{font-size:13px;margin:22px 0 10px}.small{font-size:11px;line-height:1.8}.muted{color:var(--muted)}.side-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.side-tabs button{flex:1;border:0;background:transparent}.side-tabs button.active{background:#303b2e;color:var(--accent)}.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:#101619;padding-left:10px;margin-bottom:22px}.search span{font-size:23px;color:var(--muted)}.search input{border:0;width:100%;font-size:11px;padding:11px 6px;background:transparent}.section-label{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px;color:#afbeb9;font-size:10px;letter-spacing:1px}.text-btn{font-size:10px;background:none;border:0;padding:0;color:var(--teal)}.type-row{display:flex;align-items:center;gap:10px;padding:8px 7px;border-radius:7px;cursor:pointer;color:#c7d1cd;font-size:12px}.type-row:hover{background:#252d30}.type-row input{accent-color:var(--accent);margin:0}.type-symbol{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;font-size:10px;color:#111;font-weight:700;flex-shrink:0}.type-row .n{margin-left:auto;color:#81918c;font-size:10px;font-variant-numeric:tabular-nums}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips button{font-size:10px;padding:6px 8px}select{width:100%}#regions{display:grid;gap:5px}.region-btn{text-align:left;font-size:11px;background:transparent;padding:8px 10px}.region-btn span{float:right;color:#70847f}.callout{background:#242e28;border:1px solid #3a493a;padding:12px;border-radius:8px;margin:20px 0;color:#b9c8b9;font-size:11px;line-height:1.8}.callout b{color:#d4e1bb;font-size:11px}.callout p{margin:4px 0 0}.wide-button{width:100%;font-size:11px}.side-bottom{font-size:9px;color:#738780;margin-top:24px;padding:14px 0 0;border-top:1px solid var(--line)}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--teal);margin-right:5px}.workspace{min-width:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.toolbar{height:60px;flex-shrink:0;display:flex;align-items:center;gap:16px;padding:0 18px;background:#13191c;border-bottom:1px solid var(--line)}.toolbar-note{color:#8fa29b;font-size:10px}.toolbar-actions{margin-left:auto;display:flex;gap:7px}.toolbar-actions button{font-size:10px;background:transparent}#map-stage{flex:1;position:relative;min-height:0;background:#252a2b;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:32px 32px;overflow:hidden}#map-canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}#map-canvas.adding{cursor:crosshair}#map-canvas:active{cursor:grabbing}.stage-tag{position:absolute;left:18px;top:16px;display:flex;align-items:center;gap:7px;background:#111b19e8;border:1px solid #41554b;border-radius:20px;padding:7px 11px;font-size:10px;color:#d2e7d6;pointer-events:none}.pulse{width:5px;height:5px;border-radius:50%;background:var(--accent)}.zoom-tools{position:absolute;right:16px;bottom:20px;display:flex;flex-direction:column;gap:6px}.zoom-tools button{width:34px;height:34px;padding:0;background:#182321e8;font-size:18px}.map-footer{display:flex;align-items:center;gap:10px;justify-content:space-between;height:34px;flex-shrink:0;font-size:8px;padding:0 14px;color:#8c9d97;background:#151c1c}.legend-solid,.legend-dashed{display:inline-block;width:9px;height:9px;border-radius:3px;vertical-align:middle}.legend-solid{background:#d9f775}.legend-dashed{border:1px dashed #d9f775}#tooltip{position:absolute;background:#102019f5;border:1px solid #728b66;color:#e8f6df;padding:8px 10px;border-radius:7px;font-size:11px;pointer-events:none;max-width:270px;z-index:2}#empty-message,#map-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#17201cf2;padding:20px;border-radius:9px;max-width:80%;line-height:1.8;text-align:center}.detail-eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1px;color:var(--muted)}.detail-title{font-size:20px;line-height:1.5;margin:14px 0 9px}.detail-status{display:inline-block;padding:5px 9px;border-radius:5px;font-size:10px;background:#343e26;color:#d9eeac}.detail-status.random_source{background:#352d45;color:#cbb6ec}.detail-status.unknown,.detail-status.conditional{background:#403628;color:#e8c891}.detail-meta{display:grid;grid-template-columns:80px 1fr;gap:11px 4px;font-size:11px;margin:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;line-height:1.6}.detail-meta dt{color:var(--muted)}.detail-meta dd{margin:0;overflow-wrap:anywhere}.detail-note{line-height:1.9;font-size:11px;color:#b7c6bf}.detail-buttons{display:grid;gap:8px;margin:20px 0}.primary-button{border:0;display:inline-block;background:var(--accent);color:#263014;border-radius:7px;padding:11px 18px;font-weight:700;cursor:pointer;text-align:center}.primary-button:hover{background:#e9ff9c;color:#263014}.secondary-button{color:var(--teal)}.observation-buttons{display:flex;gap:5px}.observation-buttons button{flex:1;font-size:10px}.observation-count{font-size:10px;color:var(--muted);margin:9px 0}.nearby-list{display:flex;flex-wrap:wrap;gap:5px}.nearby-list button{font-size:9px;padding:5px 7px}.overview-art{font-size:65px;font-weight:100;color:#a6bf5c;text-align:center;margin:28px 0 20px}.overview-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.stat-card{background:#222b2b;border:1px solid var(--line);border-radius:9px;padding:15px 12px}.stat-card strong{display:block;font-size:26px;font-weight:500;color:#d9edb0}.stat-card small{color:#8a9e94;font-size:10px;display:block;margin-top:6px}.external{font-size:11px;display:block;margin:14px 0;line-height:1.6}.source-button{width:100%;text-align:left;margin:4px 0;font-size:11px}.source-tag{font-size:9px;color:var(--muted)}.spawn-item{padding:9px 10px;margin:5px 0;border-radius:6px;background:#222a2b;font-size:11px}.spawn-item small{display:block;margin-top:5px;color:#9d9b83;font-size:9px}.route-preset{font-size:11px;text-align:left;width:100%;line-height:1.8;margin-bottom:7px}.route-preset small{display:block;color:#95a38d;font-size:9px}#route-list{padding-left:23px;font-size:11px;line-height:2.4}#route-list li{color:var(--accent);padding-left:3px}#route-list li button{background:transparent;border:0;padding:0;color:#cdd4c9;font-size:10px;text-align:left}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#e0f2ab;color:#24351e;font-size:12px;padding:12px 20px;border-radius:8px;opacity:0;transition:.2s;pointer-events:none;z-index:50;max-width:80vw;line-height:1.6}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #64765a;border-radius:12px;background:#17201d;color:var(--text);max-width:95vw;max-height:94vh;padding:18px;overflow:auto}dialog::backdrop{background:#07100ae8}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:15px}.dialog-head b{font-size:12px}#source-image{max-width:85vw;max-height:77vh;object-fit:contain;display:block;margin:auto}#new-point-dialog{width:380px}#new-point-form label{display:block;font-size:11px;margin:16px 0}#new-point-form input,#new-point-form select{display:block;margin-top:7px;width:100%}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.room-contents{display:grid;gap:5px;font-size:11px}.room-contents div{display:flex;justify-content:space-between;padding:7px;background:#232e29;border-radius:5px}
@media(min-width:1800px){main{grid-template-columns:278px minmax(400px,1fr) 320px}.left-panel{padding:24px}.right-panel{padding:28px}}
@media(max-width:1200px){main{grid-template-columns:224px minmax(200px,1fr) 246px}.left-panel{padding:18px 13px}.right-panel{padding:20px 15px}.toolbar-note{display:none}.head-right .badge{display:none}.brand{min-width:170px}header{gap:16px;padding:0 16px}.map-footer span:last-child{display:none}}
@media(max-width:850px){header{height:65px;padding:0 12px;gap:8px}.brand{min-width:0}.brand b{font-size:16px}.brand small,.brand-icon{display:none}nav button{font-size:11px;padding:11px 8px}.head-right{gap:0}.head-right button{font-size:10px;padding:7px}main{height:calc(100vh - 65px);grid-template-columns:190px 1fr}.right-panel{position:absolute;right:10px;bottom:48px;max-height:45vh;width:246px;z-index:5;border:1px solid #516750;border-radius:9px;box-shadow:0 8px 30px #0006}.right-panel:has(.overview-art){display:none}.toolbar{padding:0 10px;gap:6px}.toolbar-actions{gap:4px}.map-footer{font-size:7px}}
.gallery-link{display:inline-flex;align-items:center;white-space:nowrap;font-size:12px;color:var(--accent);border:1px solid #4a603c;background:#293523;border-radius:7px;padding:8px 10px}.gallery-link:hover{background:#36422c;text-decoration:none}
@media(max-width:850px){.gallery-link{font-size:10px;padding:7px 8px;margin-right:5px}.head-right #export{font-size:0;width:29px;padding:6px}.head-right #export:after{content:'↗';font-size:15px}}
@media(max-width:570px){.gallery-link{font-size:10px;padding:7px 6px;margin-right:2px}.gallery-link>span{display:none}}
.mobile-control{display:none}
@media(max-width:850px){.mobile-control{display:block;font-size:10px;padding:7px 8px}body.detail-collapsed .right-panel{display:none}}
@media(max-width:570px){main{grid-template-columns:1fr}.left-panel{display:none;position:absolute;left:0;top:65px;bottom:0;width:230px;z-index:15;padding:16px;background:#182120;box-shadow:12px 0 25px #0007}body.filters-open .left-panel{display:block}.type-row{gap:8px;padding:8px 4px;font-size:11px}.type-symbol{width:18px;height:18px;font-size:10px}h1{font-size:20px}.panel-top{margin-bottom:14px}.side-tabs button{padding:7px 4px;font-size:11px}.toolbar-actions button{padding:6px}.toolbar-actions #toggle-labels{display:none}.toolbar{height:51px}.map-footer span:first-child{display:none}.stage-tag{left:8px;top:8px;padding:6px 8px;font-size:9px}.head-right button{font-size:9px}.brand b{font-size:14px}header{gap:3px}nav button{padding:9px 5px}.right-panel{width:calc(100vw - 24px);right:12px;bottom:44px;max-height:42vh}.callout{padding:9px;font-size:10px}.toolbar .mobile-control{display:block}.toolbar .toolbar-note{display:none}}

.mobile-drawer-close{display:none}
/* The source-image view and Unity world view are independent coordinate spaces. */
.native2d-active .side-tabs,.native2d-active #side-points,.native2d-active #side-routes,.native2d-active #side-sources{display:none!important}
.native2d-active #source-route-open{display:none}
#source-route-open{font-size:11px;color:var(--accent);background:#2b3728;white-space:nowrap;padding:7px 9px;flex-shrink:0}
#source-route-panel{padding-bottom:16px;border-bottom:1px solid #3a4b48;margin-bottom:18px}
#source-route-panel .section-label{margin-top:3px;color:var(--accent);font-size:12px;letter-spacing:0}
#source-route-panel>label,#source-route-start-ambiguity>label,#source-route-end-ambiguity>label{display:block;margin:13px 0 6px;font-size:11px;line-height:1.6}
#source-route-panel input,#source-route-panel select{display:block;width:100%;min-width:0;font-size:12px;padding:9px 8px;margin:0 0 7px}
#source-route-start-ambiguity,#source-route-end-ambiguity{border-left:2px solid #d2be6b;padding-left:9px;margin-top:10px}
.source-route-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}
.source-route-actions button{padding:9px 5px;font-size:11px;white-space:nowrap}
#source-route-plan{grid-column:1/-1;font-size:12px;padding:11px}
#source-route-status{color:#d9efb2;overflow-wrap:anywhere;line-height:1.8;margin:11px 0 6px}
#source-route-height:empty{display:none}
.source-route-detail-actions{border-top:1px solid #3a4b48;border-bottom:1px solid #3a4b48;padding:13px 0}
.source-route-detail-actions h3{margin:0 0 4px}
@media(max-width:570px){#source-route-open{padding:7px 5px}.source-route-actions button{padding:10px 5px}#source-route-panel input,#source-route-panel select{font-size:13px}}
#native-map-stage{flex:1;position:relative;min-height:0;overflow:hidden;background:#101b22}
#native-map-canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}
#native-map-canvas:active{cursor:grabbing}
.source-2d-tabs{display:flex;gap:3px;min-width:0;flex-shrink:0;padding:3px;background:#222d2a;border:1px solid #34443e;border-radius:9px}
.source-2d-tabs button{font-size:12px;line-height:1.3;padding:8px 12px;background:transparent;border:1px solid transparent;white-space:nowrap}
.source-2d-tabs button.active{background:#34462f;color:var(--accent);border-color:#65764b;font-weight:600}
.toolbar{gap:9px}.toolbar-note{white-space:nowrap}
#native-map-layer{position:absolute;top:55px;left:20px;font-size:10px;color:#b9d1c9;background:#102027d9;border-radius:4px;padding:5px 8px;pointer-events:none}
#native-tooltip{position:absolute;background:#0e1d25f5;border:1px solid #71898b;color:#e5f1e9;padding:8px 10px;border-radius:7px;font-size:11px;pointer-events:none;max-width:230px;z-index:2}
#native-map-empty,#native-map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#14242ff2;border:1px solid #47616b;padding:20px;border-radius:9px;max-width:85%;line-height:1.8;text-align:center;z-index:3}
.native-height-inputs{display:flex;gap:8px;align-items:center;margin-top:10px}.native-height-inputs label{flex:1;min-width:0;font-size:10px;color:#b3c6bc}.native-height-inputs input{display:block;margin-top:5px;min-width:0;width:100%;font-size:11px;padding:8px}
.native-option{display:flex;gap:7px;align-items:flex-start;margin:12px 0;font-size:10px;color:#bbcac1;line-height:1.5}.native-option input{accent-color:#d9f775;margin:1px 0 0}.native-option small{padding-left:5px;color:#869a91}
#native2d-route-panel{border-bottom:1px solid #3a4b48;padding-bottom:10px;margin-bottom:18px}#native2d-route-panel .section-label{margin-top:5px}#native2d-route-start{font-size:10px;margin-top:7px;padding:8px}#native2d-route-end{overflow-wrap:anywhere}
.native2d-route-actions{display:flex;flex-wrap:wrap;gap:5px}.native2d-route-actions button{flex:1;padding:7px 4px;font-size:10px;white-space:nowrap}#native2d-route-status{color:#d4e3be;line-height:1.7}#native2d-route-status[data-status=complete]{color:#82f2dd}#native2d-route-status[data-status=unreachable],#native2d-route-status[data-status=off_mesh],#native2d-route-status[data-status=error]{color:#f2b58f}#native2d-route-warnings{font-size:10px;line-height:1.7}.native2d-detail-route{border-top:1px solid #384a41;padding-top:10px}.native2d-detail-route h3{margin:0 0 4px}
.native-scale{position:absolute;left:23px;bottom:29px;display:flex;flex-direction:column;gap:5px;font-size:9px;color:#b5ccca;pointer-events:none}.native-scale i{display:block;border:1px solid #c6dad8;border-top:0;height:5px;max-width:180px}
@media(max-width:1450px){.toolbar-note{display:none}}
@media(max-width:570px){.toolbar{height:51px;padding:0 8px;gap:5px}.source-2d-tabs{flex-shrink:1;padding:2px;gap:2px}.source-2d-tabs button{font-size:11px;padding:7px 8px}.native2d-active .left-panel{top:116px}#native-map-layer{left:9px;top:40px;font-size:10px}.native-scale{left:14px;bottom:25px}}

.candidate-evidence{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;line-height:1.7;background:#111918;border:1px solid #33423c;border-radius:7px;padding:9px;max-height:220px;overflow:auto}.candidate-source{overflow-wrap:anywhere;font-size:10px;line-height:1.8}
@media(max-width:570px){.left-panel{top:116px}.mobile-drawer-close{display:block;width:100%;margin:0 0 16px;color:#d9f775}}

/* Keep both map sources usable within one compact toolbar. */
main{height:calc(100dvh - 78px)}
.toolbar{min-width:0}.toolbar-actions{flex-shrink:0}.toolbar-note{overflow:hidden;text-overflow:ellipsis}
.left-panel,.right-panel{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4b5b53 transparent}
.search{gap:4px;margin-bottom:14px}.search input{min-width:0;font-size:12px}
#search-clear{flex-shrink:0;width:30px;height:30px;margin-right:4px;padding:0;font-size:20px;line-height:1;color:#bccac4;border-radius:5px}
#search-clear:hover{background:#293730;color:var(--accent)}
#search-results{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
#search-summary{margin:0 0 8px;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
#search-results-list{display:grid;gap:5px;max-height:300px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.search-result{display:block;min-width:0;width:100%;padding:9px 10px;text-align:left;font-size:12px;line-height:1.5;background:#202a26;overflow-wrap:anywhere}
.search-result>span{display:block;font-weight:600}
.search-result-meta{display:block;font-size:11px;line-height:1.6;color:#a7b9af;margin-top:3px;font-weight:400}
.search-result.active .search-result-meta{color:#bdcaa7}
#native2d-route-panel>label{display:block;margin-top:12px;font-size:11px}
#native2d-route-start,#native2d-route-target,#native2d-route-target-search{display:block;width:100%;min-width:0;margin-top:6px;padding:9px 8px;font-size:12px}
#native2d-route-target{overflow:hidden;text-overflow:ellipsis}
#native2d-route-end{margin:8px 0 10px;line-height:1.7}
.native2d-route-actions button{font-size:11px;padding:8px 5px}
#native2d-route-status{margin:10px 0;font-size:11px;overflow-wrap:anywhere}
.route-evidence{margin-top:10px;border:1px solid #34453c;border-radius:7px;background:#131e19;padding:8px 9px;font-size:11px;line-height:1.7}
.route-evidence summary{cursor:pointer;color:#a9c2b2}
.route-evidence summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:3px}
.route-evidence[open] summary{color:#d4e3be;margin-bottom:6px}
.route-evidence p{margin:6px 0 0;overflow-wrap:anywhere}
#native2d-route-warnings{font-size:11px}
#configured-locations{border:1px solid #415042;background:#202b24;border-radius:8px;padding:12px;margin:0 0 18px}#configured-locations h3{margin:0 0 8px;font-size:13px}#configured-spawn-count,#configured-exit-count{color:#d9edb0;margin:0 0 7px}#configured-locations .muted{margin:9px 0 6px;line-height:1.7}#configured-location-source{display:inline-block;line-height:1.7}.configured-location-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.configured-location-actions button{padding:8px 4px;font-size:11px;white-space:nowrap}
@media(max-width:850px){main{height:calc(100dvh - 65px)}.toolbar .mobile-control{font-size:11px;padding:7px 8px}.stage-tag{max-width:calc(100% - 32px)}.stage-tag>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:570px){.left-panel{width:min(292px,calc(100vw - 38px));top:116px;padding:16px}.toolbar{flex-wrap:nowrap}.toolbar .mobile-control{padding:7px 6px}.toolbar-actions{gap:3px}.toolbar-actions button{font-size:11px;padding:7px 6px}.source-2d-tabs button{padding:7px 6px}.mobile-drawer-close{margin-bottom:12px}.right-panel{max-height:42dvh}.search input{font-size:13px}.stage-tag{max-width:calc(100% - 16px)}#search-results-list{max-height:33dvh}}
/* Shared top navigation: keep this block identical in style.css and gallery.css. */
:root{--site-header-height:72px}
.site-header{height:var(--site-header-height);min-height:var(--site-header-height);position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:38px;padding:0 28px;flex-shrink:0;background:#151c17;border-bottom:1px solid #344036;box-shadow:0 3px 14px #0002;font-family:"Segoe UI","Microsoft YaHei",sans-serif}
.site-brand{display:flex;align-items:center;gap:14px;min-width:0;color:#ecf1e8;text-decoration:none;flex-shrink:0}
.site-brand:hover{color:#ecf1e8;text-decoration:none}
.site-brand-mark{display:inline-block;font-size:34px;line-height:1;font-weight:900;letter-spacing:-7px;color:#d9f775;padding-right:7px}
.site-brand-mark span{font-size:28px;color:#6de2ce}
.site-brand b{display:block;font-size:20px;letter-spacing:2px;white-space:nowrap}
.site-brand small{display:block;margin-top:5px;font-size:8px;line-height:1.3;letter-spacing:1.4px;color:#99a899;white-space:nowrap}
.site-navigation{display:flex;align-items:stretch;align-self:stretch;gap:12px;min-width:0;flex-shrink:0}
.site-navigation a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 15px;border-bottom:3px solid transparent;color:#b8c9b4;text-decoration:none;white-space:nowrap;font-size:13px;font-weight:600}
.site-navigation a:hover{color:#d9f775;text-decoration:none;background:#d9f77508}
.site-navigation a[aria-current="page"]{color:#d9f775;border-bottom-color:#d9f775;background:#d9f77508}
.site-version{margin-left:auto;font-size:11px;border:1px solid #4b583b;padding:6px 10px;border-radius:20px;color:#cee39b;white-space:nowrap}
@media(max-width:850px){:root{--site-header-height:64px}.site-header{gap:22px;padding:0 18px}.site-brand b{font-size:18px}.site-brand small{display:none}.site-navigation{margin-left:auto;gap:6px}.site-navigation a{padding:0 12px;font-size:12px}.site-version{display:none}}
@media(max-width:570px){.site-header{gap:10px;padding:0 14px}.site-brand{gap:0}.site-brand-mark{display:none}.site-brand b{font-size:16px;letter-spacing:1px}.site-navigation{gap:4px}.site-navigation a{padding:0 10px;font-size:12px}}
@media(max-width:350px){.site-header{padding:0 10px;gap:8px}.site-brand b{font-size:15px}.site-navigation{gap:0}.site-navigation a{padding:0 9px}}

/* The map uses the space below both navigation rows; stages keep flex sizing. */
:root{--map-context-height:52px}
.map-page{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.map-context-bar{height:var(--map-context-height);min-height:var(--map-context-height);display:flex;align-items:center;gap:18px;padding:0 28px;flex-shrink:0;background:#1a2220;border-bottom:1px solid var(--line);z-index:20}
.map-context-bar #map-tabs{align-self:stretch;gap:8px;min-width:0}
.map-context-bar #map-tabs button{padding:0 16px;white-space:nowrap;font-size:12px;border-radius:0}
.map-context-actions{display:flex;align-items:center;gap:14px;margin-left:auto;min-width:0}
.map-context-actions .badge{white-space:nowrap}
.map-context-actions #export{font-size:11px;white-space:nowrap}
.map-page main{height:auto;flex:1;min-height:0}
@media(max-width:850px){.map-context-bar{padding:0 18px}.map-context-actions .badge{display:none}}
@media(max-width:570px){:root{--map-context-height:48px}.map-context-bar{padding:0 10px;gap:8px}.map-context-bar #map-tabs{gap:4px}.map-context-bar #map-tabs button{font-size:12px;padding:0 12px}.map-context-actions #export{width:36px;height:36px;font-size:0;padding:0}.map-context-actions #export:after{content:'↗';font-size:18px}.map-page .left-panel,.map-page.native2d-active .left-panel{top:calc(var(--site-header-height) + var(--map-context-height) + 51px)}}
