:root{font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#f8f4ea;background:radial-gradient(circle at top,rgba(255,191,128,.2),transparent 32%),linear-gradient(180deg,#13212e,#0c141d)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button{font:inherit}#root{width:100vw;height:100vh}.app-shell{width:100%;height:100%;padding:0}.status-card{margin-bottom:24px;padding:16px 18px;border:1px solid rgba(248,244,234,.18);border-radius:16px;background:#0a1018b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.status-card.error{border-color:#f273578c;color:#ffd7cf}.map-shell{position:relative;width:100%;height:100%}.map-layout{display:flex;width:100%;height:100%;position:relative}.map-toolbar{position:absolute;top:16px;left:16px;z-index:2}.map-button{border:0;border-radius:999px;padding:10px 16px;color:#0f1820;background:#f2b66d;cursor:pointer}.map-viewport{flex:1;min-width:0;height:100%;overflow:hidden;position:relative;background:radial-gradient(circle at 50% 20%,rgba(242,182,109,.12),transparent 38%),linear-gradient(180deg,#070c12eb,#101c27e0)}.map-svg{display:block;width:100%;height:100%;cursor:grab;shape-rendering:geometricPrecision}.map-svg:active{cursor:grabbing}.region{transition:fill .18s ease,opacity .18s ease,stroke .18s ease,stroke-width .18s ease}.region.is-interacting{transition:none}.region.hover-default.is-hovered,.region.hover-pulse.is-hovered{opacity:1;filter:drop-shadow(0 0 .015rem rgba(242,182,109,.7));animation:regionPulse 1.6s ease-in-out infinite}.region.is-interacting.hover-default.is-hovered,.region.is-interacting.hover-pulse.is-hovered{filter:none;animation:none}.region.hover-glow.is-hovered{opacity:1;filter:drop-shadow(0 0 4px rgba(242,182,109,.8)) drop-shadow(0 0 8px rgba(242,182,109,.4));animation:regionGlow 2s ease-in-out infinite}.region.is-interacting.hover-glow.is-hovered{filter:none;animation:none}.region.hover-lift.is-hovered{opacity:1;transform:scale(1.01);filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));transition:transform .2s ease,filter .2s ease}.region.is-interacting.hover-lift.is-hovered{transform:none;filter:none}.region-border{fill:none;stroke:#000000c7;stroke-width:1.4px;stroke-linejoin:round;stroke-linecap:round;pointer-events:none;transition:stroke .18s ease,stroke-width .18s ease}.region-border.is-interacting{transition:none}.region-border.is-hovered{stroke:#ffe08a;stroke-width:2.8px}.region-border.is-focused{stroke:#fff4c2;stroke-width:2.2px}.active-outline{fill:none;stroke:transparent;stroke-width:0;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.active-outline.is-interacting{transition:none}.active-outline.is-hovered{stroke:#ffe08a;stroke-width:2.8px}.active-outline.is-focused{stroke:#fff4c2;stroke-width:2.2px}.map-tooltip{position:absolute;z-index:3;max-width:240px;padding:6px 10px;border:1px solid rgba(255,240,184,.32);border-radius:999px;background:#0b1118e0;color:#fff4c2;font-size:.85rem;font-weight:600;line-height:1.2;pointer-events:none;white-space:nowrap;box-shadow:0 12px 30px #00000038;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes regionPulse{0%,to{opacity:.96}50%{opacity:.78}}@keyframes regionGlow{0%,to{filter:drop-shadow(0 0 4px rgba(242,182,109,.8)) drop-shadow(0 0 8px rgba(242,182,109,.4))}50%{filter:drop-shadow(0 0 8px rgba(242,182,109,1)) drop-shadow(0 0 16px rgba(242,182,109,.6))}}.texture-region{pointer-events:none}.side-panel{height:100%;overflow:hidden;background:#0a1018eb;border-left:1px solid rgba(248,244,234,.12);transition:width .3s ease;position:relative;flex-shrink:0}.side-panel--left{order:-1;border-left:none;border-right:1px solid rgba(248,244,234,.12)}.side-panel--hidden{width:0;border-color:transparent}.side-panel--half{width:50%}.side-panel--full{width:100%}.side-panel__toggle{position:absolute;top:16px;z-index:4;width:28px;height:28px;border:1px solid rgba(248,244,234,.2);border-radius:6px;background:#0a1018d9;color:#f8f4ea;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.side-panel--right .side-panel__toggle{left:-14px}.side-panel--left .side-panel__toggle{right:-14px}.side-panel__content{width:100%;height:100%;overflow-y:auto;padding:16px;opacity:1;transition:opacity .2s ease .1s}.side-panel--hidden .side-panel__content{opacity:0;transition:opacity .1s ease}
