/* Interactive city additions. Author: Ahmed Taha Alhaddad. Private visualisation derivative. */
:root{--verified:#7cc4ff;--existing:#c9c3b3;--proposed:#ffb54a}
.stage{overflow:hidden}
#place-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}
.place-tag{position:absolute;left:0;top:0;pointer-events:auto;min-height:0;padding:3px 7px;font:600 11px/1.3 system-ui,sans-serif;white-space:nowrap;border-radius:4px;background:#0c1d24e6;color:#e8f1f4;border:1px solid var(--verified);border-left-width:3px;box-shadow:0 1px 5px #0008;cursor:pointer}
.place-tag:hover{background:#1d3a45}
.place-tag.existing{border-color:var(--existing);color:#efe9da}
.place-tag.proposed{border:1px dashed var(--proposed);border-left:3px solid var(--proposed);color:#ffd9a0;background:#2a1c08e6}
.place-tag.sel{outline:2px solid #fff0a0;outline-offset:1px}
.place-tag.k-district{font-size:14px;padding:4px 10px}.place-tag.k-neighbourhood{font-size:12px}
.place-tag.k-bay{font-weight:500;font-size:10px}
#nav-bar{position:absolute;top:62px;right:14px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;z-index:3}
#nav-bar .modes,#nav-bar .ladder{display:flex;gap:4px;background:#0b252be8;padding:5px;border-radius:8px;flex-wrap:wrap;justify-content:flex-end}
#nav-bar button{font-size:12px;min-height:34px;padding:6px 10px}
#crumbs{display:flex;gap:2px;flex-wrap:wrap}
.crumb{background:#132a31;border-color:#36545b;color:#a9bdc1}.crumb.past{color:#dbe7e9}.crumb.on{background:#14513b;border-color:#66e3a2;color:#c5ffda}
#mode-help{position:absolute;left:18px;bottom:100px;margin:0;font-size:12px;color:#e9f1ee;background:#0b252bcc;padding:5px 9px;border-radius:6px;pointer-events:none;z-index:2}
#level-hud{top:62px}
#info-panel{position:absolute;right:14px;top:150px;width:min(360px,calc(100% - 28px));max-height:calc(100% - 290px);overflow:auto;background:#0d1d23f2;border:1px solid #4a6a70;border-radius:9px;padding:14px;z-index:4;box-shadow:0 6px 24px #0009}
.info-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.info-head h2{font-size:17px;margin:6px 0 4px;overflow-wrap:anywhere}
#info-close{min-height:32px;padding:4px 10px}
#info-body .data-row{font-size:12px}#info-body .muted strong{color:#b5c3c6}#info-body .warn strong{color:#f2cf95}#info-body .proposed-row strong{color:#ffd9a0}
#info-body details{padding:8px 0}.info-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.info-actions button{font-size:12px;min-height:36px;padding:6px 10px}
.badge{display:inline-block;font:700 10px/1.2 system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;border-radius:3px;border:1px solid}
.badge.verified{color:var(--verified);border-color:var(--verified)}.badge.existing{color:var(--existing);border-color:var(--existing)}.badge.proposed{color:var(--proposed);border:1px dashed var(--proposed)}
.status-legend{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.proposed-word{color:var(--proposed);font-weight:700}
#search-results{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow:auto}
.search-hit{flex-shrink:0;display:grid;grid-template-columns:1fr auto;gap:0 8px;text-align:left;min-height:0;padding:7px 9px;font-size:12px}
.search-hit strong{grid-column:1;grid-row:1;font-weight:600;overflow-wrap:anywhere}.search-hit span{grid-column:1;grid-row:2;color:#a9bdc1;font-size:11px}.search-hit em{grid-row:1 / span 2;grid-column:2;align-self:center;font-style:normal;font-size:10px}
.search-hit.verified em{color:var(--verified)}.search-hit.existing em{color:var(--existing)}.search-hit.proposed{border-style:dashed;border-color:var(--proposed)}.search-hit.proposed em{color:var(--proposed)}
#level-visibility{display:grid;grid-template-columns:repeat(4,1fr);gap:0 6px}#level-visibility .check{margin:4px 0;font-size:12px}
input[type=range]{width:100%;accent-color:#5be3a0}
#perf-hud{position:absolute;left:18px;top:150px;background:#000a;color:#bff7d2;font:11px/1.4 ui-monospace,monospace;padding:5px 8px;border-radius:5px;pointer-events:none;z-index:3;max-width:60%}
#loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0b171dcc;z-index:5;pointer-events:none}
#loader div{display:flex;flex-direction:column;gap:8px;min-width:260px;color:#e6c996;font-size:13px}#loader i{display:block;height:4px;background:#24404a;border-radius:2px}#loader b{display:block;height:4px;width:0;background:#5be3a0;border-radius:2px;transition:width .3s}
.explore{border-bottom:1px solid #36545b;padding-bottom:10px;margin-bottom:10px}h2.sub{font-size:19px;margin:16px 0 8px}
@media(max-width:1000px){#nav-bar{top:auto;bottom:150px;right:8px}#info-panel{top:auto;bottom:8px;max-height:45%}#mode-help{bottom:96px;left:8px;right:8px}}
@media(max-width:600px){#nav-bar button{font-size:11px;padding:4px 7px;min-height:30px}#crumbs .crumb:not(.on){display:none}}
/* v0.8 additions. Author: Ahmed Taha Alhaddad. */
:root{--unknown:#c8a8ff}
.badge.unknown{color:var(--unknown);border:1px dotted var(--unknown)}
.chip{display:inline-block;margin-left:6px;font:700 9px/1.2 system-ui,sans-serif;letter-spacing:.03em;padding:1px 5px;border-radius:3px;border:1px solid;font-style:normal;vertical-align:1px}
.chip.verified{color:var(--verified)}.chip.existing{color:var(--existing)}.chip.proposed{color:var(--proposed);border-style:dashed}.chip.unknown{color:var(--unknown);border-style:dotted}
.place-tag.unknown{border-color:var(--unknown)}
.place-tag.oasis{border-color:#8fd6ff;color:#cfeeff;background:#0b2533e8}
.place-tag.k-room{font-size:10px;font-weight:500}
.search-hit.unknown em{color:var(--unknown)}
#view-tools{position:absolute;left:18px;top:150px;display:flex;gap:4px;align-items:center;z-index:3;background:#0b252be8;padding:5px;border-radius:8px}
#view-tools button{min-height:34px;padding:5px 9px;font-size:12px}
#compass{width:40px;height:40px;padding:2px!important;border-radius:50%}
#compass svg{width:34px;height:34px}#compass circle{fill:#0e2027;stroke:#5d757b}#compass .n{fill:#ffb54a}#compass .s{fill:#7d9aa2}#compass text{font:700 7px system-ui;fill:#e8f1f4;text-anchor:middle}
#compass-needle{transform-origin:20px 20px;transform-box:view-box}
.tour-btn{background:#5a3a08!important;border-color:#ffb54a!important;color:#ffe2b0!important}
.tour-big{width:100%;margin:6px 0 4px;background:#5a3a08;border-color:#ffb54a;color:#ffe2b0;font-weight:600}
#tour{position:absolute;left:50%;transform:translateX(-50%);bottom:110px;width:min(560px,calc(100% - 28px));background:#0d1d23f5;border:1px solid #ffb54a;border-radius:10px;padding:12px 14px;z-index:6;box-shadow:0 8px 28px #000a}
#tour h2{margin:2px 0 4px;font-size:18px}#tour p{margin:0 0 8px;font-size:13px}#tour small{color:#ffcf8a}.tour-actions{display:flex;gap:6px;justify-content:flex-end}.tour-actions button{min-height:34px;padding:5px 12px;font-size:12px}
#proposal-banner{position:absolute;left:50%;transform:translateX(-50%);top:62px;max-width:min(640px,calc(100% - 420px));background:#2a1c08f0;border:1px dashed var(--proposed);color:#ffd9a0;font-size:12px;padding:6px 10px;border-radius:6px;z-index:3;pointer-events:none}
#detail-pill{position:absolute;right:14px;bottom:100px;background:#0b252bf0;border:1px solid #5fb98a;color:#c5ffda;font-size:12px;padding:5px 10px;border-radius:14px;z-index:5}
#error-banner{position:absolute;left:14px;right:14px;top:110px;background:#4a0f12f2;border:1px solid #ff8a8a;color:#ffd6d6;font-size:12px;padding:6px 10px;border-radius:6px;z-index:7}
.crumb.level{display:inline-flex;align-items:center;padding:0 8px;font-size:11px;color:#ffe9b8;border:1px solid #6d5a2f;border-radius:6px;background:#2a2410}
#info-panel{top:205px;max-height:calc(100% - 330px)}
@media(max-width:1000px){#view-tools{top:auto;bottom:205px;left:8px}#proposal-banner{max-width:calc(100% - 24px);top:auto;bottom:250px}}
/* v0.9 touch and small-screen layout. Author: Ahmed Taha Alhaddad. */
#touch-pad{position:absolute;right:16px;bottom:120px;display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,52px);gap:6px;z-index:6}
#touch-pad button{min-height:52px;font-size:20px;padding:0;background:#0b252bdd;touch-action:none}
#touch-pad [data-key=w]{grid-column:2;grid-row:1}#touch-pad [data-key=a]{grid-column:1;grid-row:2}#touch-pad [data-key=s]{grid-column:2;grid-row:2}#touch-pad [data-key=d]{grid-column:3;grid-row:2}
@media(max-width:600px){
 header{padding:10px 12px}header small{display:none}
 .stage-tools,#level-hud,#mode-help{display:none!important}
 .stage:has(#tour:not([hidden])) #info-panel{display:none}
 #tour{bottom:96px}#tour p{font-size:12px}
 #view-tools{top:8px;bottom:auto;left:8px;flex-wrap:wrap;max-width:calc(100% - 16px)}
 #nav-bar{top:auto;bottom:150px}
 #info-panel{max-height:40%}
 .caption{display:none}
}
@media(max-width:600px){
 #touch-pad{right:auto;left:12px;bottom:118px}
 .stage[data-mode=walk] #info-panel,.stage[data-mode=fly] #info-panel{display:none}
 .stage[data-mode=walk] #nav-bar .ladder,.stage[data-mode=fly] #nav-bar .ladder{display:none}
 #info-panel{top:auto;bottom:0;left:0;right:0;width:auto;max-height:42%;border-radius:10px 10px 0 0}
}

/* public build */
#internal-panels-removed{display:none!important}
