:root{--bg:#0b1115;--panel:rgba(11,17,21,.9);--line:rgba(220,235,242,.18);--text:#eef4f7;--muted:#9eafb7;--accent:#d8b648;--danger:#d34a3f;--ok:#5f9d75;--shadow:0 12px 40px rgba(0,0,0,.35)}
*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);font-family:"Segoe UI",Arial,sans-serif;color:var(--text)}button,input,select{font:inherit}button{color:inherit;background:#172026;border:1px solid var(--line);cursor:pointer}button:hover{background:#202d35}#game-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;background:#94abb6}.screen{position:fixed;inset:0;z-index:100;display:none}.screen.visible{display:flex}#loading{background:radial-gradient(circle at 50% 38%,#1c2a31,#081014 70%);align-items:center;justify-content:center;flex-direction:column;gap:24px}.brand-logo{width:min(520px,70vw);height:auto}.brand-logo.small{width:260px}.loader{width:min(460px,70vw);height:4px;background:#233039;overflow:hidden}.loader span{display:block;width:40%;height:100%;background:#c8b154;animation:load 1.3s ease-in-out infinite}@keyframes load{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}#loading-status{font-size:14px;color:var(--muted);letter-spacing:.03em}.location-screen{background:#0d151a;align-items:stretch}.location-screen.visible{display:flex}#greece-relief{position:absolute;inset:0;background:radial-gradient(circle at 48% 46%,rgba(59,88,101,.35),transparent 45%),linear-gradient(#111a1f,#071014)}.location-panel{position:relative;z-index:2;margin:28px;width:min(560px,calc(100vw - 56px));padding:26px;background:rgba(8,14,18,.93);border:1px solid var(--line);box-shadow:var(--shadow);overflow:auto;max-height:calc(100vh - 56px)}.location-panel h1{font-size:30px;margin:22px 0 8px}.location-panel p{color:var(--muted);line-height:1.5;margin:0 0 18px}.search-row{display:flex;gap:8px}.search-row input{flex:1;background:#101a20;border:1px solid var(--line);padding:12px 14px;color:white}.search-row button{padding:0 16px}.search-results{display:grid;gap:5px;margin-top:8px}.search-results button,.location-list button{display:flex;justify-content:space-between;text-align:left;padding:10px 12px}.search-results small,.location-list small{color:var(--muted)}.location-categories{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 10px}.location-categories button{padding:7px 10px;font-size:12px}.location-categories button.active{border-color:#c7ae54;color:#f4e7ae}.location-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.hud{position:fixed;inset:0;z-index:10;pointer-events:none}.hud.hidden{display:none}.hud button,.hud input,.hud select,.panel,.drawer,.sim-alert,.toolbelt{pointer-events:auto}.topbar{position:absolute;top:10px;left:10px;right:10px;height:58px;background:rgba(8,14,18,.9);border:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:7px 10px;box-shadow:var(--shadow)}.brand-mini{width:128px;height:42px;padding:3px 7px}.brand-mini img{width:100%;height:100%;object-fit:contain}.location-title{min-width:190px}.location-title strong{display:block;font-size:15px}.location-title small{color:var(--muted)}.mode-switch{display:flex;margin:auto}.mode-switch button{padding:9px 16px}.mode-switch button.active{background:#36434b;border-color:#b7a14b;color:#fff3bc}.top-actions{display:flex;gap:6px}.top-actions button{height:38px;min-width:42px;padding:0 10px}.sim-alert{position:absolute;top:76px;left:50%;transform:translateX(-50%);width:min(760px,calc(100vw - 40px));background:rgba(48,17,14,.94);border:1px solid #9c4a42;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;padding:10px 12px}.sim-alert.hidden{display:none}.sim-alert strong{font-size:12px;margin-right:12px;color:#ffc0b8}.sim-alert span{font-size:13px}.sim-alert button{font-size:22px;background:none;border:0}.panel{position:absolute;top:84px;width:286px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.left-panel{left:10px}.right-panel{right:10px}.panel.collapsed .panel-content{display:none}.panel-tab{width:100%;text-align:left;padding:9px 12px;border:0;border-bottom:1px solid var(--line);font-weight:600}.panel-content{padding:12px}.weather-summary{display:flex;align-items:center;gap:12px;margin-bottom:12px}.weather-summary>span{font-size:34px}.weather-summary strong{font-size:24px;display:block}.weather-summary small{color:var(--muted)}.panel label{display:block;font-size:12px;color:#c9d3d8;margin:8px 0}.panel label output{float:right;color:white}.panel input[type=range]{width:100%;margin:6px 0 0;accent-color:#baa44e}.cloud-types{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:12px}.cloud-types button{font-size:11px;padding:7px}.cloud-types .active{border-color:#bba54e}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.stats-grid span{background:#111b21;border:1px solid rgba(255,255,255,.07);padding:8px;font-size:10px;color:var(--muted)}.stats-grid strong{display:block;color:white;font-size:14px;margin-top:3px}.toolbelt{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;background:rgba(8,14,18,.93);border:1px solid var(--line);box-shadow:var(--shadow);padding:5px;max-width:calc(100vw - 20px);overflow-x:auto}.toolbelt button{width:64px;height:52px;border:0;border-right:1px solid var(--line);background:transparent;flex:0 0 auto}.toolbelt button:last-child{border-right:0}.toolbelt button.active{background:#39434a;color:#fff0af}.toolbelt span{font-size:18px;display:block;line-height:20px}.toolbelt small{font-size:9px;color:#b9c4c9}.toolbelt .active small{color:white}#crosshair{position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%)}#crosshair i,#crosshair b{position:absolute;background:rgba(255,255,255,.82);box-shadow:0 0 3px #000}#crosshair i{width:18px;height:1px;left:2px;top:10px}#crosshair b{height:18px;width:1px;left:10px;top:2px}#interaction-hint{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);font-size:11px;color:#d7e0e4;background:rgba(0,0,0,.55);padding:5px 9px}.drawer{position:absolute;top:84px;right:10px;width:min(390px,calc(100vw - 20px));max-height:calc(100vh - 170px);overflow:auto;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);padding:12px}.drawer.hidden{display:none}.drawer-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px}.drawer-head button{font-size:20px;border:0;background:transparent}.drawer label{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:10px 0;color:#cbd5d9;font-size:13px}.drawer select,.drawer input{background:#111b21;border:1px solid var(--line);color:white;padding:7px}.drawer-actions{display:flex;gap:6px;margin-top:10px}.drawer-actions button,#change-location,#add-scenario-row{padding:9px 12px}.scenario-row{display:grid;grid-template-columns:85px 1fr 1fr 30px;gap:5px;margin:6px 0}.scenario-row input,.scenario-row select{min-width:0;background:#111b21;border:1px solid var(--line);color:white;padding:6px}.toast{background:rgba(7,13,16,.94);border:1px solid var(--line);padding:9px 11px;box-shadow:var(--shadow);font-size:12px;max-width:340px}.toast.warn{border-color:#8f7032}.toast.danger{border-color:#9a3f38}#toast-stack{position:absolute;left:12px;bottom:88px;display:grid;gap:7px}.hidden{display:none!important}#attribution{position:absolute;right:8px;bottom:4px;color:rgba(255,255,255,.55);font-size:8px;pointer-events:none}.damage-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,transparent 45%,rgba(85,0,0,.55));opacity:0;transition:opacity .2s}
@media(max-width:900px){.right-panel{display:none}.left-panel{top:76px;width:min(280px,calc(100vw - 20px))}.topbar{height:54px}.brand-mini{width:90px}.location-title{display:none}.mode-switch button{padding:8px 9px;font-size:11px}.top-actions button{min-width:34px;padding:0 6px}.toolbelt{left:10px;right:10px;transform:none}.location-panel{margin:10px;width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.location-list{grid-template-columns:1fr}.sim-alert{top:70px}.panel{top:126px}#interaction-hint{display:none}}
.mobile-game-controls{display:none;position:fixed;inset:0;z-index:40;pointer-events:none}.mobile-dpad{position:absolute;left:18px;bottom:88px;width:142px;height:142px;pointer-events:auto}.mobile-dpad button,.mobile-jump{position:absolute;width:46px;height:46px;border-radius:50%;background:rgba(8,14,18,.78);border:1px solid rgba(255,255,255,.25);color:white;touch-action:none}.mobile-dpad button[data-k=KeyW]{left:48px;top:0}.mobile-dpad button[data-k=KeyA]{left:0;top:48px}.mobile-dpad button[data-k=KeyS]{left:48px;top:96px}.mobile-dpad button[data-k=KeyD]{left:96px;top:48px}.mobile-jump{right:22px;bottom:102px;width:64px;height:64px;font-size:10px;pointer-events:auto}@media(max-width:900px) and (hover:none){.mobile-game-controls{display:block}.toolbelt{bottom:6px;max-width:calc(100vw - 10px)}.toolbelt button{width:54px}.panel.left-panel{max-height:58vh;overflow:auto}}
.manual-clock{border-top:1px solid var(--line);margin-top:10px;padding-top:9px}.manual-clock>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.manual-clock label{margin:0}.manual-clock input{width:100%;background:#111b21;border:1px solid var(--line);color:#fff;padding:5px}.manual-clock button{width:100%;padding:6px;margin-top:6px;font-size:11px}.scenario-start{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.scenario-start label{display:grid;gap:4px;font-size:11px;color:var(--muted)}.scenario-start input{width:100%;background:#111b21;border:1px solid var(--line);color:#fff;padding:6px}
.selector-pins{position:absolute;inset:0;z-index:1;pointer-events:none}.map-pin{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;padding:0;pointer-events:auto;filter:drop-shadow(0 2px 4px #000)}.map-pin i{display:block;width:10px;height:10px;border-radius:50%;background:#d7bc55;border:2px solid #fff;margin:auto}.map-pin span{display:block;background:rgba(6,12,15,.82);padding:3px 5px;margin-top:3px;font-size:9px;white-space:nowrap;border:1px solid rgba(255,255,255,.16)}.map-pin:hover{background:transparent}.map-pin:hover i{transform:scale(1.35)}

/* V2 observer-camera + repaired Greece selector */
.camera-mode-btn{min-width:148px!important;font-size:10px;font-weight:700;letter-spacing:.04em}
#crosshair{display:none!important}
#interaction-hint{bottom:112px;max-width:min(780px,calc(100vw - 40px));text-align:center;white-space:nowrap}
.active-tool-info{position:absolute;bottom:82px;left:50%;transform:translateX(-50%);background:rgba(8,14,18,.9);border:1px solid var(--line);padding:5px 10px;font-size:10px;color:#e6ecef;box-shadow:var(--shadow);pointer-events:none}
.toolbelt{bottom:12px;gap:7px;align-items:stretch;padding:6px 7px;max-width:calc(100vw - 16px)}
.tool-group{display:flex;flex-direction:column;gap:4px;padding:0 7px 2px;border-right:1px solid var(--line);min-width:max-content}.tool-group:last-child{border-right:0}.tool-group>b{font-size:8px;letter-spacing:.12em;color:#8fa0a8;text-align:left;padding:0 3px;font-weight:700}.tool-group>div{display:flex;gap:2px}.toolbelt button{width:72px;height:48px;border:1px solid transparent!important;border-radius:3px;background:transparent;flex:0 0 auto;padding:2px 3px}.toolbelt button:hover{background:#202b31;border-color:rgba(255,255,255,.08)!important}.toolbelt button.active{background:#39434a;border-color:#b9a34c!important;color:#fff0af}.toolbelt span{font-size:16px}.toolbelt small{font-size:8px;line-height:10px;white-space:normal}.inspect-group button{width:82px}

.map-selector{overflow:hidden;touch-action:none;background:#0b1720!important;cursor:grab}.map-selector:active{cursor:grabbing}.map-fallback,.map-tiles,.selector-pins{position:absolute;inset:0}.map-fallback{z-index:0;background:linear-gradient(#0c2230,#0a1a24)}.greece-outline-shape{fill:#6f8166;fill-opacity:.72;stroke:#d5dbc9;stroke-opacity:.68;stroke-width:1.1}.map-tiles{z-index:1;overflow:hidden;opacity:.94}.map-tiles img{position:absolute;width:256px;height:256px;max-width:none;user-select:none;-webkit-user-drag:none;filter:saturate(.72) contrast(.98) brightness(.77)}.selector-pins{z-index:3;pointer-events:none}.map-controls{position:absolute;right:20px;top:20px;z-index:5;display:grid;gap:5px;pointer-events:auto}.map-controls button{min-width:42px;height:38px;background:rgba(7,14,18,.92);border:1px solid rgba(255,255,255,.25);box-shadow:0 4px 16px rgba(0,0,0,.35);font-weight:700}.map-controls button[data-map-home]{font-size:9px;padding:0 8px}.map-pin{z-index:4}.map-pin i{width:12px;height:12px;background:#d9bd51}.map-pin-mountains i{background:#87957c}.map-pin-ski i{background:#d7e9ed}.map-pin-islands i{background:#71a9bd}.map-pin-villages i{background:#c9a771}.map-pin span{font-size:10px;padding:4px 6px;background:rgba(5,12,16,.88)}
.location-panel{z-index:10}

@media(max-width:1100px){.camera-mode-btn{min-width:112px!important;font-size:9px}.toolbelt button{width:64px}.tool-group{padding-left:4px;padding-right:4px}.active-tool-info{bottom:78px}}
@media(max-width:900px){.camera-mode-btn{min-width:86px!important;font-size:8px}.toolbelt{left:6px;right:6px;transform:none;bottom:5px;padding:4px;gap:4px}.tool-group{padding:0 3px 2px}.toolbelt button{width:58px;height:45px}.tool-group>b{font-size:7px}.active-tool-info{display:none}.map-controls{right:8px;top:8px}.map-pin span{display:none}.map-pin i{width:14px;height:14px}.mobile-game-controls{display:none!important}}


/* V3 controls and map smoothing */
.weather-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.weather-advanced-grid label{margin:6px 0 0}
#wind-dir-cardinal{width:100%;margin-top:6px;background:#111b21;border:1px solid var(--line);color:#fff;padding:7px}
.snow-pack-box{margin-top:10px;padding:10px;border:1px solid rgba(255,255,255,.08);background:#0f181d}
.snow-pack-box label{display:grid;gap:5px;margin:0}
.snow-pack-box input{width:100%;background:#111b21;border:1px solid var(--line);color:#fff;padding:7px}
.snow-pack-box button{width:100%;margin-top:8px;padding:7px 9px}
.cloud-types{grid-template-columns:1fr 1fr 1fr}
.cloud-types button{font-size:10px;padding:6px 5px}
.map-fallback{background:radial-gradient(circle at 58% 34%,rgba(108,148,118,.22),transparent 28%),radial-gradient(circle at 45% 58%,rgba(84,110,95,.26),transparent 28%),linear-gradient(180deg,#0c2230 0%,#102734 42%,#08161d 100%)}
.greece-outline-shape{fill:#708367;fill-opacity:.78;stroke:#dce7d0;stroke-opacity:.8;stroke-width:1.2}
.map-tiles{display:none!important}
.selector-pins{z-index:4}
.location-panel{backdrop-filter:blur(10px)}
@media(max-width:900px){.weather-advanced-grid{grid-template-columns:1fr}.cloud-types{grid-template-columns:1fr 1fr}}
