/* Opaque surfaces make text contrast independent of the map beneath. */
:root{--paper:#fff6e5;--ink:#183f3b;--muted:#365e57;--line:#7c9185;--bg-dark:#e6e6ce;--bg-panel:var(--paper);--bg-card:var(--paper);--bg-overlay:#183f3bee;--text-primary:var(--ink);--text-secondary:var(--muted);--text-muted:var(--muted);--text-inverse:var(--paper);--color-primary:#18594b;--color-secondary:#18594b;--color-warn:#704b14;--color-danger:#982e29;--font-display:Arial,sans-serif;--font-body:Arial,sans-serif}
.readable-dark{--paper:#153e39;--ink:#fff4df;--muted:#e0e5cd;--line:#9aaca0;--bg-dark:#23453d;--color-primary:#f1d89b;--color-secondary:#e0e5cd;--color-warn:#f3d398;--color-danger:#ffc4b6}
body{background:var(--bg-dark)}body::before{display:none}body *{letter-spacing:0!important;text-transform:none!important;text-shadow:none!important;box-shadow:none!important}body :is(p,span,label,button,input,select,textarea,a,td,th,li,h4){font-size:14px}body :is(button,input,select,textarea){font-family:Arial,sans-serif;min-height:42px;border-radius:7px;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:8px 11px}button{cursor:pointer}button:hover{color:var(--ink)!important;background:var(--paper)!important;transform:none!important}button:disabled{opacity:1;color:var(--muted)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #ae6b27!important;outline-offset:2px}.control-button::before{display:none}
.collection-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:18px 26px;background:var(--paper);color:var(--ink);gap:12px;position:relative;z-index:1500}.collection-header h1{font:32px Georgia,serif;font-weight:400;line-height:1.1}.collection-header nav{display:flex;gap:8px}.collection-note{height:48px;padding:10px 26px;background:var(--paper);border-bottom:1px solid var(--line);color:var(--muted);font-size:15px}
#map{position:absolute;top:136px;height:calc(100dvh - 136px);width:100%;background:#d9e5d0}.leaflet-control-attribution{display:block!important;background:var(--paper)!important;color:var(--ink)!important;padding:4px 7px!important;max-width:100%;line-height:1.4}.leaflet-control-attribution a{color:var(--ink)!important;font-size:14px}.leaflet-control-zoom a{background:var(--paper)!important;color:var(--ink)!important}.leaflet-top.leaflet-left{left:auto;right:16px;top:10px}
.ui-controls{position:absolute;left:20px;top:156px;bottom:auto;right:auto;width:310px;display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--paper);padding:16px;border:1px solid var(--line);border-radius:10px;pointer-events:auto}.ui-controls #filter-container{grid-column:1/-1;background:transparent;border:0;padding:0;display:grid;gap:8px;backdrop-filter:none}.ui-controls #filter-container>div{min-width:0}.ui-controls #searchBox,.ui-controls #typeFilter{background:var(--paper);border:1px solid var(--line);min-width:0;color:var(--ink);font-size:15px}.ui-controls #searchBox::placeholder{color:var(--muted)}#langSwitcher{padding:0;border:0;background:transparent;display:flex}#langSwitcher button{color:var(--ink);font-size:14px}#langSwitcher button.activeLang{background:var(--ink);color:var(--paper)}#missionControlToggle{grid-column:1/-1;position:static;width:auto;height:auto;font-size:15px;background-image:none;border-radius:7px;animation:none}.search-results{position:absolute;top:46px;left:0;height:auto;width:100%;max-height:250px;padding:4px;background:var(--paper);border:1px solid var(--line);z-index:6000}.search-result-item{color:var(--ink);font:15px Arial,sans-serif}
#mapTools{position:fixed;right:20px;top:150px;width:330px;max-height:calc(100dvh - 190px);overflow:auto;z-index:2500;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:18px;color:var(--ink);display:grid;gap:12px}#mapTools[hidden]{display:none}.tools-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.tools-heading h2{font:25px Georgia,serif}#mapTools p{font-size:15px;line-height:1.55}#mapTools #dream-controls{position:static}#mapTools .control-button{width:100%;font-size:15px;backdrop-filter:none}.glass-panel,.sidebar,.scout-ops-panel,.chronos-panel,.modal-content,.tour-popover,.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--paper)!important;color:var(--ink)!important;backdrop-filter:none!important;border:1px solid var(--line)}.sidebar{right:0;top:136px;width:min(420px,100vw);height:calc(100dvh - 136px);transform:translateX(105%);visibility:hidden}.sidebar.open{transform:none;visibility:visible}.sidebar-header{padding:16px}.sidebar-header h2{font:25px Georgia,serif}.simulation-note{font-size:14px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--muted);background:var(--paper)}.leaflet-popup-content{width:min(300px,calc(100vw - 65px))!important;margin:15px;max-height:55dvh;overflow-y:auto;font:15px/1.6 Arial,sans-serif}.leaflet-popup-content p{font-size:15px;margin:10px 0}.leaflet-popup-content a{color:var(--ink)!important;text-decoration:underline}.leaflet-popup-content h3{font:25px Georgia,serif}.popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.popup-actions button{color:var(--ink)!important;background:var(--paper)!important;font-size:14px}.source-note{font-size:14px!important;color:var(--muted)}.custom-marker{background:#a8432f!important;border:3px solid #fff6e5!important;border-radius:50%;width:18px!important;height:18px!important}.custom-marker>div{min-width:18px;min-height:18px}.custom-marker::before,.custom-marker::after{display:none}.modal-content{width:min(650px,calc(100vw - 24px));max-height:85dvh;overflow:auto}.modal-content :is(h3,h4){color:var(--ink)}.modal-content input,.modal-content textarea{width:100%;color:var(--ink);background:var(--paper)}.close-button{position:static!important;float:right;color:var(--ink)!important}.tour-popover{max-width:calc(100vw - 24px)}.tour-title,.tour-text,.tour-step-count,.tour-close-btn{color:var(--ink)}.tour-content p{font-size:15px}.tour-overlay:not(.active){visibility:hidden}.scout-ops-panel,.chronos-panel{max-width:calc(100vw - 24px);max-height:70dvh;overflow:auto}.ops-grid{display:block}.intel-feed,.feed-item,.drone-status,.ops-header,.chronos-header{background:var(--paper)!important;color:var(--ink)!important}#tileStatus{position:fixed;bottom:50px;left:20px;background:var(--paper);color:var(--ink);padding:12px;z-index:1600;max-width:calc(100vw - 40px)}#tileStatus[hidden]{display:none}#dreamStatusMsg{background:var(--paper);color:var(--ink);font:15px Arial,sans-serif}.hud-compass,.hud-status{background:var(--paper);color:var(--ink)}.hud-status{padding:12px}.compass-tape{color:var(--ink)}
@media(max-width:768px){.collection-header{height:132px;padding:16px;display:block}.collection-header h1{font-size:29px;margin-bottom:12px}.collection-header nav button{flex:1}.collection-header nav{display:flex}.collection-note{height:92px;padding:10px 16px;font-size:14px}#map{top:224px;height:calc(100dvh - 224px - 192px)}.ui-controls{top:auto;bottom:0;left:0;right:0;width:100%;height:192px;padding:12px 16px 26px;grid-template-columns:1fr 1fr 1.3fr;gap:8px;border-radius:0}.ui-controls #filter-container{display:flex;grid-column:1/-1;gap:8px}.ui-controls #filter-container>div{width:55%}.ui-controls #typeFilter{width:45%}#missionControlToggle{grid-column:auto;min-width:0;padding:8px}#langSwitcher button{padding:8px}#mapTools{top:224px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 250px)}.sidebar{top:224px;height:calc(100dvh - 224px);bottom:0;left:0;width:100%;border-radius:10px 10px 0 0;transform:translateY(105%)}.sidebar.open{transform:none}.search-results{position:absolute;top:auto;bottom:48px;max-height:260px;width:calc(100vw - 32px);padding:6px}.leaflet-control-attribution{font-size:14px;padding:2px!important;line-height:1.2}.leaflet-control-attribution a{font-size:14px}.scout-ops-panel,.chronos-panel{top:240px!important;bottom:auto!important;left:12px!important;right:12px!important;width:auto!important;transform:none!important}.tour-popover{position:fixed!important;left:12px!important;top:240px!important;width:calc(100vw - 24px)!important}.hud-status{bottom:210px;right:10px}.hud-compass{top:235px}#tileStatus{bottom:205px}.collection-header button{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Invariants also beat the legacy id-specific tactical styles. */
html,body{overflow:clip!important}body .control-button,body #mapTools button,body .ui-controls button{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--line)!important;font-size:15px!important}body .control-button.active{background:var(--ink)!important;color:var(--paper)!important}body #mapTools button span{color:inherit!important}body .sidebar:not(.open){display:none}body .sidebar.open{transform:none!important;transition:none!important}body .sidebar{overflow-y:auto!important}body .ui-controls #langSwitcher button.activeLang{background:var(--ink)!important;color:var(--paper)!important}.mission-selector-container{display:flex;flex-wrap:wrap;gap:8px}.mission-selector-container select{flex:1;min-width:0}.mission-list{flex:none;min-height:100px}.mission-stats{flex:none}#missionControlPanel :is(h3,h4,p,span,label,button,select){font-size:max(14px,1em)}.mission-item,.timeline-node,.timeline-segment,.start-time-control{color:var(--ink)!important}.mission-item,.timeline-node{background:var(--paper)!important}.star{color:#8b4c13!important}.readable-dark .star{color:#f6d59a!important}.modal :is(td,th){color:var(--ink)!important;font-size:14px!important}
@media(max-width:768px){body .ui-controls #filter-container{flex-direction:row!important;height:44px;min-height:44px}body .ui-controls{height:148px;padding:12px 16px 20px}body #map{height:calc(100dvh - 224px - 148px)}body #mapTools{max-height:calc(100dvh - 248px)}body #missionControlPanel{top:224px!important;height:calc(100dvh - 224px)!important;bottom:auto!important}body #tileStatus{bottom:158px}}
body :is(input,select,textarea){background:var(--paper)!important;color:var(--ink)!important;transition:none!important}body :is(input,textarea)::placeholder{color:var(--muted)!important;opacity:1}.sidebar :is(p,span,label,h2,h3,h4,li),.scout-ops-panel :is(p,span,label,h3,h4),.chronos-panel :is(p,span,label,h3,h4),.modal-content :is(p,span,label,h3,h4){color:var(--ink)!important}.sidebar .switch-label input{width:22px;height:22px;min-height:22px}.sidebar .switch-label .slider{display:none}.sidebar .switch-label{display:flex;justify-content:space-between;min-height:42px;align-items:center;gap:12px}body .control-button,.ui-controls *,body.readable-dark .ui-controls *{transition:none!important}.simulation-note{color:var(--muted)!important}
.leaflet-popup{position:fixed!important;top:158px!important;right:20px!important;left:auto!important;bottom:auto!important;transform:none!important;margin:0!important;width:350px!important;max-width:calc(100vw - 24px)}.leaflet-popup-content{width:auto!important;max-height:calc(100dvh - 220px);overflow:auto;margin:20px!important}.leaflet-popup-tip-container{display:none}.leaflet-popup-close-button{color:var(--ink)!important;background:var(--paper)!important;min-width:32px;min-height:32px;right:4px!important;top:4px!important;z-index:2}.popup-image{max-height:150px!important;object-fit:cover}.leaflet-popup-content-wrapper{padding-top:10px!important}
@media(max-width:768px){.leaflet-popup{top:234px!important;left:12px!important;right:12px!important;width:auto!important}.leaflet-popup-content{max-height:calc(100dvh - 440px);min-height:180px}}
body .tour-step-count,body .tour-btn,body .tour-text,body .compass-tape,body .hud-status,body .status-indicator,body .chronos-status,body .timeline-labels span{font-size:14px!important}.tour-title{color:var(--ink)!important;font-size:18px!important}.tour-header,.tour-footer{background:var(--paper)!important}.readable-dark .search-result-item{color:var(--ink)!important}.readable-dark .search-results{background:var(--paper)!important}
.leaflet-popup-close-button{position:absolute!important;display:grid;place-items:center;font:24px/1 Arial,sans-serif!important;text-decoration:none!important;border:1px solid var(--line);border-radius:6px}.map-licence{position:fixed!important;bottom:0!important;right:0!important;left:auto!important;float:none!important;margin:0!important;z-index:8000!important;background:var(--paper)!important;color:var(--ink)!important;max-width:100%;font:14px/1.25 Arial,sans-serif!important}.map-licence a{font-size:14px!important;color:var(--ink)!important}
@media(max-width:768px){.leaflet-popup-content{max-height:calc(100dvh - 510px)}.map-licence{bottom:148px!important;left:0!important;right:0!important;padding:4px!important}}
@media(max-width:768px){body .search-results{bottom:104px;max-height:240px}}
#mapTools a{color:var(--ink)!important;text-decoration:underline}.sidebar button{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--line)!important}.tour-btn:disabled{opacity:1!important;color:var(--muted)!important;background:var(--paper)!important}.leaflet-popup-content{color:var(--ink)!important}
body .modal-content :is(input,textarea){border:1px solid var(--line)!important;border-radius:7px!important}body .modal-content button{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--line)!important}body:has(.modal.active) .map-licence{visibility:hidden}.modal-content{padding:24px!important}.modal-content h3{font-size:22px!important}.modal-content #starRatingContainer .star{font-size:28px!important}.modal-content #reviewForm{display:grid;gap:10px}.modal-content #reviewForm label{margin-top:6px}
body .modal-content :is(p,span,label,a,li,div,button,input,textarea){font-size:14px!important}.modal-content input{min-height:42px}.modal-content .rating-static{font-size:14px!important}
.confirmation-message:not(.visible){display:none}.confirmation-message.visible{display:block;color:var(--ink)!important}
@media(max-width:768px){body #mapTools{max-height:calc(100dvh - 428px)}body #missionControlPanel{height:calc(100dvh - 428px)!important;max-height:calc(100dvh - 428px)}body .scout-ops-panel,body .chronos-panel,body .tour-popover{max-height:calc(100dvh - 444px)!important;overflow:auto!important}}
/* Legacy simulation modules supplied content but no positioned panel layout. */
.scout-ops-panel,.chronos-panel{position:fixed;z-index:4000;top:158px;right:20px;width:390px;padding:18px;border-radius:10px;max-height:calc(100dvh - 205px);overflow:auto}.scout-ops-panel:not(.active),.chronos-panel:not(.active){display:none}.ops-header,.chronos-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0}.ops-header h3,.chronos-header h3{font-size:20px;color:var(--ink)}.ops-header #closeOpsCenter{margin-left:auto;background:var(--paper);color:var(--ink);border:1px solid var(--line)}.intel-feed-section,.drone-control-section{padding:12px 0}.intel-feed-section h4,.drone-control-section h4{font-size:16px;margin-bottom:10px}.chronos-panel .timeline-container{padding:14px 0}.chronos-panel input{width:100%}.chronos-panel .timeline-labels{display:flex;justify-content:space-between}.chronos-intel{font:15px/1.6 Arial,sans-serif}.status-indicator{color:var(--ink)}
@media(max-width:768px){body .scout-ops-panel,body .chronos-panel{top:234px!important;left:12px!important;right:12px!important;width:auto!important;max-height:calc(100dvh - 438px)!important}}
html,body{height:100%;width:100%}body{position:fixed;inset:0;overflow:hidden!important}
