:root{--bg-map:#0a0e17;--bg-panel:#0c111d;--glass-bg:#0c111db8;--glass-border:#ffffff14;--glass-highlight:#ffffff0a;--glass-blur:20px;--color-seismic:#ff6b35;--color-conflict:#e63946;--color-displacement:#4cc9f0;--color-humanitarian:#06d6a0;--color-wealth:#b388ff;--color-ntl:#ffd166;--text-primary:#e8eaed;--text-secondary:#b3b9bf;--text-muted:#949aa2;--text-accent:#8ab4f8;--surface-hover:#ffffff0f;--surface-active:#ffffff1a;--divider:#ffffff0f;--color-loading:#8ab4f8;--color-error:#f28b82;--color-success:#81c995;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--text-2xs:.512rem;--text-xs:.64rem;--text-sm:.8rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.563rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--leading-tight:1.2;--leading-normal:1.5;--tracking-tight:-.02em;--tracking-normal:0;--sp-0:0;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006;--shadow-card:0 8px 32px #0006, 0 2px 8px #0003;--shadow-glow-seismic:0 0 20px #ff6b3540;--shadow-glow-conflict:0 0 20px #e6394640;--shadow-glow-displacement:0 0 20px #4cc9f040;--shadow-glow-humanitarian:0 0 20px #06d6a040;--shadow-glow-wealth:0 0 20px #b388ff40;--shadow-glow-ntl:0 0 20px #ffd16640;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.5s;--duration-intro:4s;--panel-width:260px;--panel-width-collapsed:0px;--timeline-height:120px;--z-panel:100;--z-card:200;--z-timeline:100;--z-controls:50;--z-intro:1000;--z-toast:900}[data-theme=light]{--bg-map:#f0f2f5;--bg-panel:#fff;--glass-bg:#ffffffc7;--glass-border:#00000014;--glass-highlight:#00000005;--text-primary:#1a1a2e;--text-secondary:#4a4a68;--text-muted:#8888a0;--text-accent:#1a73e8;--surface-hover:#0000000a;--surface-active:#00000014;--divider:#00000014;--color-seismic:#e85d20;--color-conflict:#d62839;--color-displacement:#0096c7;--color-humanitarian:#05a87d;--color-wealth:#7c4dff;--color-ntl:#d4a017;--shadow-sm:0 1px 4px #00000014;--shadow-md:0 2px 10px #0000001a;--shadow-lg:0 4px 20px #0000001f;--shadow-card:0 4px 20px #0000001a, 0 1px 4px #0000000f;--shadow-glow-seismic:0 0 16px #e85d2026;--shadow-glow-conflict:0 0 16px #d6283926;--shadow-glow-displacement:0 0 16px #0096c726;--shadow-glow-humanitarian:0 0 16px #05a87d26;--shadow-glow-wealth:0 0 16px #7c4dff26;--shadow-glow-ntl:0 0 16px #d4a01726}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-map);height:100%;color:var(--text-primary);font-family:var(--font-sans);font-size:16px;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,select{font:inherit;color:inherit}a{color:var(--text-accent);text-decoration:none}img,svg{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000038}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideUpIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseRing{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes revealUp{0%{opacity:0;filter:blur(8px);transform:translateY(32px)}to{opacity:1;filter:blur();transform:translateY(0)}}.anim-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out-expo) both}.anim-scale-in{animation:scaleIn var(--duration-normal) var(--ease-out-expo) both}.anim-slide-left{animation:slideInLeft var(--duration-slow) var(--ease-out-expo) both}.anim-slide-up{animation:slideUpIn var(--duration-normal) var(--ease-out-expo) both}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.2);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);position:relative}.glass:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(#ffffff1a 0%,#0000 40%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass-sm{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px)saturate(1.1);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.glass--seismic{box-shadow:var(--shadow-card), var(--shadow-glow-seismic)}.glass--conflict{box-shadow:var(--shadow-card), var(--shadow-glow-conflict)}.glass--displacement{box-shadow:var(--shadow-card), var(--shadow-glow-displacement)}.glass--humanitarian{box-shadow:var(--shadow-card), var(--shadow-glow-humanitarian)}.glass--wealth{box-shadow:var(--shadow-card), var(--shadow-glow-wealth)}.glass--ntl{box-shadow:var(--shadow-card), var(--shadow-glow-ntl)}[data-theme=light] .glass:before{display:none}#map{width:100%;height:100%;position:absolute;inset:0}.maplibregl-ctrl-group{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.2);background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important}.maplibregl-ctrl-group button{width:36px!important;height:36px!important}.maplibregl-ctrl-group button+button{border-top:1px solid var(--divider)!important}.maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert()brightness(.9)}[data-theme=light] .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:none}.maplibregl-ctrl-attrib{background:var(--glass-bg)!important;color:var(--text-muted)!important;font-size:var(--text-2xs)!important}.maplibregl-ctrl-attrib a{color:var(--text-secondary)!important}.maplibregl-popup-content{-webkit-backdrop-filter:blur(var(--glass-blur));background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;border-radius:var(--radius-md)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-card)!important;padding:var(--sp-3) var(--sp-4)!important;font-family:var(--font-sans)!important;font-size:var(--text-sm)!important}.maplibregl-popup-tip{border-top-color:var(--glass-bg)!important}.maplibregl-ctrl-bottom-right{bottom:calc(var(--timeline-height) + var(--sp-8))!important;transition:bottom var(--duration-slow) var(--ease-out-expo)!important}.timeline-minimized .maplibregl-ctrl-bottom-right{bottom:calc(var(--sp-10) + var(--sp-4))!important}.panel{top:var(--sp-4);left:var(--sp-4);bottom:var(--sp-4);width:var(--panel-width);z-index:var(--z-panel);transition:transform var(--duration-slow) var(--ease-out-expo), opacity var(--duration-normal) ease-out;flex-direction:column;display:flex;position:absolute;overflow:hidden}.panel--collapsed{transform:translateX(calc(-1 * var(--panel-width) - var(--sp-4)));opacity:0;pointer-events:none}.panel__header{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--divider);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.panel__title{letter-spacing:-.3px;color:var(--text-secondary,#9aa0a6);font-family:Inter,sans-serif;font-size:17px;font-weight:800;text-decoration:none;transition:color .15s}.panel__title:hover{color:var(--text-primary,#e8eaed)}.panel__reset-btn{padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;transition:color var(--duration-fast) ease, background var(--duration-fast) ease;padding:var(--sp-1) var(--sp-3);align-items:center;gap:2px;margin-left:auto;font-weight:600;display:flex}.panel__reset-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.panel__collapse-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-secondary);background:var(--surface-hover);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;justify-content:center;align-items:center;display:flex}.panel__collapse-btn:hover{color:var(--text-primary);background:var(--surface-active)}.panel__search{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--divider);flex-shrink:0}.panel__search-input{width:100%;padding:var(--sp-1) var(--sp-3);background:var(--surface-hover);border:1px solid var(--divider);border-radius:var(--radius-full);color:var(--text-primary);font-size:var(--text-xs);transition:border-color var(--duration-fast) ease;outline:none}.panel__search-input::placeholder{color:var(--text-muted)}.panel__search-input:focus{border-color:var(--text-accent)}.panel__body{padding:var(--sp-1) 0;flex:1;overflow:hidden auto}.panel__footer{padding:var(--sp-3);border-top:1px solid var(--divider);gap:var(--sp-2);flex-direction:column;flex-shrink:0;display:flex}.panel__lang-row{justify-content:center;gap:2px;display:flex}.panel__lang-btn{padding:var(--sp-1) var(--sp-3);font-size:var(--text-xs);border-radius:var(--radius-full);color:var(--text-muted);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;font-weight:500}.panel__lang-btn:hover{color:var(--text-secondary);background:var(--surface-hover)}.panel__lang-btn--active{color:var(--text-primary);background:var(--surface-active)}.panel__about-btn{width:100%;padding:var(--sp-2);font-size:var(--text-xs);color:var(--text-secondary);border-radius:var(--radius-sm);text-align:center;transition:color var(--duration-fast) ease, background var(--duration-fast) ease;font-weight:500}.panel__about-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.panel__basemap-row{justify-content:center;display:flex}.panel__basemap-buttons{border-radius:var(--radius-full);background:var(--surface-hover);gap:2px;padding:2px;display:flex}.panel__basemap-btn{border-radius:var(--radius-full);font-size:var(--text-2xs);color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) ease, background var(--duration-fast) ease;align-items:center;gap:3px;padding:4px 8px;font-weight:500;display:flex}.panel__basemap-btn:hover{color:var(--text-secondary)}.panel__basemap-btn--active{color:var(--text-primary);background:var(--surface-active)}.panel__basemap-btn .basemap-btn__icon{font-size:11px;line-height:1}.panel__basemap-btn .basemap-btn__label{line-height:1}.layer-hint{z-index:100;width:220px;padding:var(--sp-2) var(--sp-3);align-items:flex-start;gap:var(--sp-2);pointer-events:auto;animation:.2s ease-out hintFadeIn;display:flex;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.layer-hint__text{font-size:var(--text-2xs);color:var(--text-secondary);flex:1;line-height:1.5}.layer-hint__close{color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:10px;line-height:1}.layer-hint__close:hover{color:var(--text-primary)}.layer-hint:before{content:"";border:5px solid #0000;border-right-color:var(--glass-border);position:absolute;top:50%;right:100%;transform:translateY(-50%)}@keyframes hintFadeIn{0%{opacity:0;transform:translateY(-50%)translate(4px)}to{opacity:1;transform:translateY(-50%)translate(0)}}.layer-group{border-bottom:1px solid var(--divider)}.layer-group__header{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);cursor:pointer;transition:background var(--duration-fast) ease;-webkit-user-select:none;user-select:none;display:flex}.layer-group__header:hover{background:var(--surface-hover)}.layer-group__icon{border-radius:50%;flex-shrink:0;width:8px;height:8px}.layer-group__label{font-size:var(--text-xs);color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em;flex:1;font-weight:600}.layer-group__chevron{width:14px;height:14px;transition:transform var(--duration-fast) ease;color:var(--text-muted)}.layer-group--expanded .layer-group__chevron{transform:rotate(180deg)}.layer-group__content{padding:0 var(--sp-3) var(--sp-2);display:none}.layer-group--expanded .layer-group__content{display:block}.layer-toggle{align-items:center;gap:var(--sp-2);padding:3px 0;display:flex}.layer-toggle__switch{background:var(--surface-active);border:1px solid var(--divider);border-radius:var(--radius-full);cursor:pointer;width:30px;height:16px;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease;flex-shrink:0;position:relative}.layer-toggle__switch:after{content:"";background:var(--text-muted);width:12px;height:12px;transition:transform var(--duration-fast) var(--ease-out-expo), background var(--duration-fast) ease;border-radius:50%;position:absolute;top:1px;left:1px}.layer-toggle__switch--on{background:var(--toggle-color,var(--text-accent));border-color:#0000}.layer-toggle__switch--on:after{background:#fff;transform:translate(14px)}.layer-toggle__label{font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.layer-toggle__switch--on+.layer-toggle__label{color:var(--text-primary)}.layer-toggle__download{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-muted);opacity:0;transition:opacity var(--duration-fast) ease, color var(--duration-fast) ease;flex-shrink:0;justify-content:center;align-items:center;display:flex}.layer-toggle:hover .layer-toggle__download{opacity:1}.layer-toggle__download:hover{color:var(--text-secondary)}.layer-opacity{align-items:center;gap:var(--sp-2);padding:2px 0 var(--sp-1);display:flex}.layer-opacity__slider{appearance:none;background:var(--divider);border-radius:2px;outline:none;flex:1;height:3px}.layer-opacity__slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text-secondary);border:1px solid var(--divider);cursor:pointer;border-radius:50%;width:10px;height:10px}.layer-opacity__slider::-moz-range-thumb{background:var(--text-secondary);border:1px solid var(--divider);cursor:pointer;border-radius:50%;width:10px;height:10px}.layer-opacity__value{font-size:var(--text-2xs);color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;width:24px}.color-picker{flex-shrink:0;position:relative}.color-picker__trigger{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) ease;align-items:center;gap:3px;padding:2px 4px;display:flex}.color-picker__trigger:hover{background:var(--surface-hover)}.color-picker__trigger-swatch{border:1px solid var(--divider);border-radius:3px;width:24px;height:8px}.color-picker__trigger-label{color:var(--text-muted);font-size:8px;line-height:1}.color-picker__dropdown{z-index:9999;width:160px;padding:var(--sp-1);flex-direction:column;gap:1px;display:none;position:fixed}.color-picker__dropdown--open{display:flex}.color-picker__option{align-items:center;gap:var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) ease;padding:4px 6px;display:flex}.color-picker__option:hover{background:var(--surface-hover)}.color-picker__option--active{background:var(--surface-active)}.color-picker__option-swatch{border-radius:4px;flex-shrink:0;width:32px;height:8px}.color-picker__option-label{font-size:var(--text-2xs);color:var(--text-secondary);text-transform:capitalize}.layer-vintage{font-size:var(--text-2xs);color:var(--text-muted);padding:0 0 var(--sp-1)}.panel-toggle{top:var(--sp-4);left:var(--sp-4);z-index:var(--z-panel);width:36px;height:36px;color:var(--text-primary);transition:opacity var(--duration-normal) ease, background var(--duration-fast) ease;justify-content:center;align-items:center;display:flex;position:absolute}.panel-toggle:hover{background:var(--surface-active)}.panel-toggle--hidden{opacity:0;pointer-events:none}.panel-select{appearance:none;background-color:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border,#ffffff24);font-size:var(--text-xs);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239aa0a6' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 7px center;background-repeat:no-repeat;border-radius:5px;max-width:165px;padding:3px 22px 3px 8px;font-weight:500;line-height:1.5}.panel-select:hover{border-color:var(--text-secondary)}.panel-select:focus{border-color:var(--text-accent);outline:none}.panel-select option{background-color:var(--bg-panel);color:var(--text-primary)}.card{top:var(--sp-4);right:var(--sp-4);z-index:var(--z-card);width:320px;max-height:calc(100vh - var(--timeline-height) - var(--sp-16));animation:scaleIn var(--duration-normal) var(--ease-out-expo) both;position:absolute;overflow-y:auto}.card__header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--divider);justify-content:space-between;align-items:flex-start;display:flex}.card__title{font-size:var(--text-lg);letter-spacing:var(--tracking-tight);font-weight:600;line-height:var(--leading-tight)}.card__subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--sp-1);text-transform:uppercase;letter-spacing:.05em}.card__actions{gap:var(--sp-1);flex-shrink:0;display:flex}.card__action-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;justify-content:center;align-items:center;display:flex}.card__action-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.card__body{padding:var(--sp-4) var(--sp-5)}.card-stat{padding:var(--sp-2) 0;border-bottom:1px solid var(--divider);justify-content:space-between;align-items:baseline;display:flex}.card-stat:last-child{border-bottom:none}.card-stat__label{font-size:var(--text-sm);color:var(--text-secondary)}.card-stat__value{font-size:var(--text-base);font-variant-numeric:tabular-nums;font-weight:600}.card-stat__value--seismic{color:var(--color-seismic)}.card-stat__value--conflict{color:var(--color-conflict)}.card-stat__value--displacement{color:var(--color-displacement)}.card-stat__value--humanitarian{color:var(--color-humanitarian)}.card-stat__value--wealth{color:var(--color-wealth)}.card__footer{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--divider);font-size:var(--text-xs);color:var(--text-muted)}.timeline{bottom:var(--sp-4);left:calc(var(--panel-width) + var(--sp-8));right:var(--sp-4);z-index:var(--z-timeline);padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);transition:opacity var(--duration-normal) ease, left var(--duration-slow) var(--ease-out-expo);flex-direction:column;display:none;position:absolute}.timeline--visible{animation:slideUpIn var(--duration-slow) var(--ease-out-expo) both;display:flex}.timeline--hidden,.timeline--minimized .timeline__chart-area,.timeline--minimized .timeline__axis,.timeline--minimized .timeline__date-display,.timeline--minimized .timeline__range-display,.timeline--minimized .timeline__speed-btn,.timeline--minimized .timeline__play-btn{display:none}.timeline--minimized{padding:var(--sp-2) var(--sp-3);gap:0;width:auto;right:auto}.timeline__minimize-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-secondary);background:var(--surface-hover);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;flex-shrink:0;justify-content:center;align-items:center;display:flex}.timeline__minimize-btn:hover{color:var(--text-primary);background:var(--surface-active)}.timeline--panel-collapsed{left:var(--sp-4)}.timeline__controls{align-items:center;gap:var(--sp-3);display:flex}.timeline__play-btn{background:var(--surface-hover);width:28px;height:28px;color:var(--text-primary);transition:background var(--duration-fast) ease;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.timeline__play-btn:hover{background:var(--surface-active)}.timeline__play-btn--active{background:var(--color-conflict);color:#fff}.timeline__play-btn--active:hover{background:var(--color-conflict);opacity:.85}.timeline__date-display{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-primary);min-width:100px;font-weight:600}.timeline__range-display{font-size:var(--text-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:auto}.timeline__speed-btn{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-muted);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;font-weight:600}.timeline__speed-btn:hover{color:var(--text-secondary);background:var(--surface-hover)}.timeline__chart-area{cursor:pointer;width:100%;height:48px;position:relative}.timeline__histogram{width:100%;height:100%;position:absolute;inset:0}.timeline__bar{fill:var(--color-conflict);opacity:.25;transition:opacity var(--duration-fast) ease}.timeline__bar--active{opacity:.7}.timeline__bar:hover{opacity:.9}.timeline__range-overlay{background:var(--color-conflict);opacity:.08;pointer-events:auto;touch-action:none;height:100%;transition:opacity var(--duration-fast) ease;border-radius:2px;position:absolute;top:0}.timeline__range-overlay:hover{opacity:.13}.timeline__sliders{height:16px;position:absolute;bottom:0;left:0;right:0}.timeline__slider{appearance:none;pointer-events:none;background:0 0;outline:none;width:100%;height:4px;position:absolute;bottom:0;left:0}.timeline__slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text-primary);border:2px solid var(--glass-bg);cursor:ew-resize;pointer-events:auto;width:20px;height:20px;-webkit-transition:transform var(--duration-fast) ease;transition:transform var(--duration-fast) ease;border-radius:50%;box-shadow:0 1px 6px #0006}.timeline__slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.timeline__slider::-moz-range-thumb{background:var(--text-primary);border:2px solid var(--glass-bg);cursor:ew-resize;pointer-events:auto;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 6px #0006}.timeline__track-line{background:var(--divider);border-radius:2px;height:3px;position:absolute;bottom:6px;left:0;right:0}.timeline__track-fill{background:var(--text-accent);opacity:.6;border-radius:2px;height:3px;position:absolute;bottom:6px}.timeline__cursor{background:var(--text-primary);pointer-events:auto;cursor:ew-resize;touch-action:none;background-clip:content-box;border-radius:1px;width:2px;height:100%;margin-left:-8px;padding:0 8px;transition:left 80ms linear;position:absolute;top:0;box-shadow:0 0 6px #ffffff4d}.timeline__cursor:after{content:"";background:var(--text-primary);border-radius:50%;width:12px;height:12px;position:absolute;top:-6px;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #0000004d}.timeline__axis{font-size:var(--text-2xs);color:var(--text-muted);font-variant-numeric:tabular-nums;padding-top:var(--sp-1);justify-content:space-between;display:flex}.legend{border-top:1px solid var(--border);padding:var(--sp-3) var(--sp-4);flex-shrink:0;max-height:240px;overflow-y:auto}.legend__title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:var(--sp-2);font-weight:600}.legend__section{margin-bottom:var(--sp-3)}.legend__section:last-child{margin-bottom:0}.legend__section-label{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--sp-1);font-weight:500}.legend__items--grid{gap:1px var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.legend__item{align-items:center;gap:var(--sp-2);min-width:0;padding:1px 0;display:flex}.legend__swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.legend__swatch--circle{border-radius:50%}.legend__item-label{font-size:var(--text-xs);color:var(--text-secondary);overflow-wrap:anywhere;min-width:0}.legend__gradient{height:8px;margin-bottom:var(--sp-1);border-radius:4px}.legend__gradient-labels{font-size:var(--text-2xs);color:var(--text-muted);justify-content:space-between;display:flex}.legend__circles{align-items:flex-end;gap:var(--sp-2);display:flex}.legend__circle{opacity:.7;border-radius:50%}.brand-bar{display:none}.site-header{z-index:150;background:#024;height:48px;position:absolute;top:0;left:0;right:0}.site-header__content{justify-content:space-between;align-items:center;max-width:1200px;height:48px;margin:0 auto;padding:0 24px;display:flex}.site-header__left{align-items:center;gap:8px;display:flex}.site-header__right{align-items:center;gap:20px;display:flex}.site-header__logo{color:#fff;letter-spacing:-.3px;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:17px;font-weight:800;text-decoration:none;display:inline-flex}.site-header__mark{filter:drop-shadow(0 0 2.5px #7896c847);flex:none;width:17.33px;height:20px;display:block}.site-header__nav{gap:22px;display:flex}.site-header__nav a{color:#ffffffb3;font-family:Inter,sans-serif;font-size:13px;font-weight:600;text-decoration:none;transition:color .15s}.site-header__nav a:hover{color:#ffffffd9}.site-header__nav a.active{color:#fff}.site-header__langs{background:#ffffff26;border-radius:5px;gap:2px;padding:2px;display:flex}.site-header__lang{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:4px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:700;transition:all .15s}.site-header__lang:hover{color:#ffffffd9;background:#ffffff1a}.site-header__lang.active{color:#fff;background:#ffffff40}.site-header__close{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:22px;line-height:1;transition:all .15s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.site-header__close:hover{color:#fff;background:#ffffff1f}.site-header__reopen{z-index:150;color:#fff;letter-spacing:-.2px;cursor:pointer;background:#024;border:none;border-radius:0 0 8px 8px;align-items:center;gap:6px;height:22px;padding:0 14px;font-family:Inter,sans-serif;font-size:12px;font-weight:700;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000040}.site-header__reopen:hover{background:#013a6b}.site-header__reopen-chev{margin-top:-2px;font-size:11px;line-height:1}.has-site-header .panel,.has-site-header .panel-toggle,.has-site-header .stories-btn,.has-site-header .search-bar,.has-site-header .basemap-selector,.has-site-header .analysis,.has-site-header .card{top:calc(var(--sp-4) + 48px)}@media (max-width:820px){.site-header__nav{display:none}}.loader{z-index:800;align-items:center;gap:var(--sp-2);padding:var(--sp-5);border-radius:var(--radius-lg);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) ease;background:#000000b3;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.loader--visible{opacity:1}.loader__spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite loaderSpin}.loader__text{font-size:var(--text-xs);color:#fffc;font-weight:500}@keyframes loaderSpin{to{transform:rotate(360deg)}}.map-controls{bottom:calc(var(--timeline-height) + var(--sp-8));right:var(--sp-4);z-index:var(--z-controls);gap:var(--sp-2);flex-direction:column;display:flex;position:absolute}.lang-switcher{bottom:calc(var(--timeline-height) + var(--sp-8));left:calc(var(--panel-width) + var(--sp-8) + 300px);z-index:var(--z-controls);border-radius:var(--radius-full);transition:left var(--duration-slow) var(--ease-out-expo);gap:2px;padding:2px;display:flex;position:absolute}.lang-switcher--panel-collapsed{left:200px}.lang-grip{color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;padding:0 4px;font-size:10px;line-height:1;display:flex}.lang-grip:active{cursor:grabbing}.lang-btn{padding:var(--sp-1) var(--sp-3);font-size:var(--text-xs);border-radius:var(--radius-full);color:var(--text-muted);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;font-weight:500}.lang-btn:hover{color:var(--text-secondary)}.lang-btn--active{color:var(--text-primary);background:#ffffff1a}.lang-close-btn{width:20px;height:20px;color:var(--text-muted);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;display:flex}.lang-close-btn:hover{color:var(--text-secondary);background:var(--surface-hover)}.lang-reopen-wrap{bottom:calc(var(--timeline-height) + var(--sp-8));left:calc(var(--panel-width) + var(--sp-8) + 300px);z-index:var(--z-controls);border-radius:var(--radius-full);align-items:center;gap:1px;padding:2px;display:flex;position:absolute}.lang-reopen{width:28px;height:28px;color:var(--text-secondary);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;border-radius:50%;justify-content:center;align-items:center;display:flex}.lang-reopen:hover{color:var(--text-primary);background:var(--surface-active)}.stories-btn{top:var(--sp-4);left:calc(var(--panel-width) + var(--sp-8));z-index:var(--z-controls);align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);font-size:var(--text-sm);color:var(--text-primary);transition:left var(--duration-slow) var(--ease-out-expo), background var(--duration-fast) ease;font-weight:500;display:flex;position:absolute}.stories-btn:hover{background:#ffffff14;border-color:#ffffff26}.stories-btn--panel-collapsed{left:var(--sp-16)}.search-bar{top:var(--sp-4);z-index:var(--z-controls);width:320px;max-width:calc(100vw - var(--panel-width) - 200px);position:absolute;left:50%;transform:translate(-50%)}.search-bar__input{width:100%;padding:var(--sp-2) var(--sp-4);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-full);color:var(--text-primary);font-size:var(--text-sm);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;outline:none}.search-bar__input::placeholder{color:var(--text-muted)}.search-bar__input:focus{border-color:#fff3;box-shadow:0 0 0 3px #8ab4f826}[data-theme=light] .search-bar__input:focus{border-color:#00000026;box-shadow:0 0 0 3px #1a73e81f}[data-theme=light] .lang-btn--active{background:#0000000f}.basemap-selector{top:var(--sp-4);right:var(--sp-4);z-index:var(--z-controls);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex;position:absolute}.basemap-btn{border-radius:var(--radius-sm);font-size:var(--text-2xs);color:var(--text-muted);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;white-space:nowrap;align-items:center;gap:4px;padding:4px 8px;font-weight:500;display:flex}.basemap-btn:hover{color:var(--text-secondary);background:var(--surface-hover)}.basemap-btn--active{color:var(--text-primary);background:var(--surface-active)}.basemap-btn__icon{font-size:12px;line-height:1}.basemap-btn__label{line-height:1}.ipc-stepper{left:50%;bottom:var(--sp-6,24px);z-index:var(--z-controls,40);border-radius:14px;width:min(560px,92vw);padding:10px 16px;position:absolute;transform:translate(-50%)}.ipc-step-row{align-items:center;gap:10px;display:flex}.ipc-step-btn{color:var(--text-primary,#f1f5f9);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 7px;font-size:17px;line-height:1}.ipc-step-btn:hover{background:#ffffff1f}.ipc-step-play{font-size:13px}.ipc-step-mid{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ipc-step-label{color:var(--text-primary,#f1f5f9);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.ipc-step-slider{accent-color:#e67800;cursor:pointer;width:100%}.ipc-step-legend{flex-wrap:wrap;justify-content:center;gap:3px 12px;margin-top:9px;display:flex}.ipc-lg{color:var(--text-secondary,#cbd5e1);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.ipc-lg i{border-radius:2px;width:12px;height:12px;display:inline-block}.intro{z-index:var(--z-intro);-webkit-backdrop-filter:blur(4px);background:#0a0e17d9;flex-direction:column;justify-content:center;align-items:center;transition:opacity .8s ease-out;display:flex;position:fixed;inset:0}.intro--exiting{opacity:0;pointer-events:none}.intro__content{text-align:center;max-width:560px;padding:var(--sp-8)}.intro__title{font-size:var(--text-3xl);letter-spacing:var(--tracking-tight);font-weight:700;line-height:var(--leading-tight);animation:revealUp 1s var(--ease-out-expo) .5s both}.intro__subtitle{font-size:var(--text-lg);color:var(--text-secondary);margin-top:var(--sp-4);animation:revealUp 1s var(--ease-out-expo) .8s both}.intro__divider{background:linear-gradient(90deg, var(--color-conflict), var(--color-displacement));width:48px;height:2px;margin:var(--sp-6) auto;animation:revealUp 1s var(--ease-out-expo) 1s both;border-radius:1px}.intro__enter{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-8);border-radius:var(--radius-full);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease;animation:revealUp 1s var(--ease-out-expo) 1.2s both;background:#ffffff14;border:1px solid #ffffff26;font-weight:500;display:inline-flex}.intro__enter:hover{background:#ffffff24;border-color:#ffffff40}.intro__skip{bottom:var(--sp-8);right:var(--sp-8);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) ease;position:absolute}.intro__skip:hover{color:var(--text-secondary)}.analysis{top:var(--sp-4);right:var(--sp-4);bottom:calc(var(--timeline-height) + var(--sp-8));width:320px;z-index:var(--z-card);transition:transform var(--duration-slow) var(--ease-out-expo), opacity var(--duration-normal) ease;flex-direction:column;display:flex;position:absolute;overflow:hidden}.analysis--collapsed{transform:translateX(calc(320px + var(--sp-4)));opacity:0;pointer-events:none}.analysis__tabs{background:var(--divider);border-bottom:1px solid var(--divider);flex-shrink:0;gap:1px;display:none}.analysis__tab{padding:var(--sp-2) var(--sp-2);background:var(--glass-bg);color:var(--text-muted);font-size:var(--text-2xs);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:4px;font-weight:500;display:flex;overflow:hidden}.analysis__tab:first-child{border-radius:var(--radius-lg) 0 0 0}.analysis__tab:last-child{border-radius:0 var(--radius-lg) 0 0}.analysis__tab:hover{color:var(--text-secondary);background:var(--surface-hover)}.analysis__tab--active{color:var(--text-primary);background:var(--surface-active)}.analysis__tab-icon{font-size:11px;line-height:1}.analysis__tab-label{text-overflow:ellipsis;line-height:1;overflow:hidden}.analysis__stats{background:var(--divider);border-bottom:1px solid var(--divider);flex-shrink:0;gap:1px;display:flex}.analysis__stat{padding:var(--sp-2) var(--sp-2);text-align:center;background:var(--glass-bg);flex:1}.analysis__stat:first-child{border-radius:var(--radius-lg) 0 0 0}.analysis__stat:last-child{border-radius:0 var(--radius-lg) 0 0}.analysis__stat-value{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.analysis__stat-value--conflict{color:var(--color-conflict)}.analysis__stat-value--displacement{color:var(--color-displacement)}.analysis__stat-value--seismic{color:var(--color-seismic)}.analysis__stat-value--muted{color:var(--text-primary)}.analysis__stat-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:var(--sp-1)}.analysis__header{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--divider);flex-shrink:0;display:flex}.analysis__title{font-size:var(--text-sm);flex:1;font-weight:600}.analysis__badge{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-muted);background:var(--surface-hover);padding:2px var(--sp-2);border-radius:var(--radius-full)}.analysis__close-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-secondary);background:var(--surface-hover);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;justify-content:center;align-items:center;display:flex}.analysis__close-btn:hover{color:var(--text-primary);background:var(--surface-active)}.analysis__body{word-break:break-word;flex:1;overflow:hidden auto}.feed-item{padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--divider);cursor:pointer;transition:background var(--duration-fast) ease}.feed-item:hover{background:var(--surface-hover)}.feed-item--selected{background:var(--surface-active);border-left:3px solid var(--color-conflict);padding-left:calc(var(--sp-4) - 3px)}.feed-item__head{align-items:center;gap:var(--sp-2);margin-bottom:2px;display:flex}.feed-item__dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.feed-item__type{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.feed-item__date{font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0}.feed-item__meta{align-items:baseline;gap:var(--sp-2);display:flex}.feed-item__location{font-size:var(--text-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.feed-item__fatalities{font-size:var(--text-xs);font-weight:700;font-family:var(--font-mono);color:var(--color-conflict);flex-shrink:0}.analysis__detail{flex-direction:column;height:100%;display:none;overflow:hidden}.analysis__detail--open{display:flex}.analysis__back-bar{border-bottom:1px solid var(--divider);padding-right:var(--sp-2);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.analysis__back-btn{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);font-size:var(--text-sm);color:var(--text-accent);transition:background var(--duration-fast) ease;font-weight:600;display:flex}.analysis__back-btn:hover{background:var(--surface-active)}.analysis__detail-body{word-break:break-word;flex:1;overflow:hidden auto}.det-header{padding:var(--sp-4);border-bottom:1px solid var(--divider)}.det-type{font-size:var(--text-base);margin-bottom:var(--sp-1);font-weight:700}.det-meta{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-muted)}.det-fatalities{font-size:var(--text-sm);color:var(--color-conflict);margin-top:var(--sp-1);font-weight:700}.det-notes{font-size:var(--text-sm);color:var(--text-secondary);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--divider);line-height:1.6}.analysis__layer-desc{padding:var(--sp-2) var(--sp-4);font-size:var(--text-xs);color:var(--text-secondary);background:var(--surface-hover);border-bottom:1px solid var(--divider);line-height:1.5}.det-section{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--divider)}.det-section__title{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--sp-2);font-weight:700}.det-entity{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) ease;margin-bottom:2px;display:flex}.det-entity:hover{background:var(--surface-hover)}.det-entity__icon{border-radius:var(--radius-sm);background:var(--surface-hover);flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex}.det-entity__name{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.det-entity__count{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-muted)}.det-actor-stats{gap:var(--sp-3);margin-top:var(--sp-2);display:flex}.det-actor-stat{text-align:center;flex:1}.det-actor-stat__value{font-size:var(--text-lg);font-weight:700;font-family:var(--font-mono);line-height:1}.det-actor-stat__label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-top:2px}.det-chart{width:100%;margin-top:var(--sp-2);overflow:visible}.det-chart__bar{transition:opacity var(--duration-fast) ease}.det-chart__bar:hover{opacity:1!important}.det-chart__hover{cursor:crosshair}.det-chart__hover:hover~.det-chart__bar{opacity:.4!important}.det-chart-wrap{position:relative}.det-chart-tip{pointer-events:none;opacity:0;background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);font-size:var(--text-2xs);color:var(--text-primary);white-space:nowrap;z-index:10;border-radius:4px;padding:3px 8px;transition:opacity .1s;position:absolute;box-shadow:0 2px 8px #0000004d}.det-chart__grid-line{stroke:var(--divider);stroke-width:.5px}.det-chart__axis-label{fill:var(--text-muted);font-size:8px;font-family:var(--font-mono)}.det-hbar{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.det-hbar__label{font-size:var(--text-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;min-width:60px;max-width:120px;overflow:hidden}.det-hbar__track{background:var(--surface-hover);border-radius:3px;flex:1;height:6px;overflow:hidden}.det-hbar__fill{height:100%;transition:width var(--duration-normal) var(--ease-out-expo);border-radius:3px}.det-hbar__value{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-muted);text-align:right;flex-shrink:0;width:32px}.det-sparkline{width:100%;height:32px;margin-top:var(--sp-1)}.det-sparkline__line{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.det-sparkline__area{opacity:.1}.det-trend{font-size:var(--text-xs);font-weight:600;font-family:var(--font-mono);padding:1px var(--sp-2);border-radius:var(--radius-sm);align-items:center;gap:2px;display:inline-flex}.det-trend--up{color:var(--color-conflict);background:#e639461a}.det-trend--down{color:var(--color-humanitarian);background:#06d6a01a}.det-trend--flat{color:var(--text-muted);background:var(--surface-hover)}.det-related{padding:var(--sp-1) 0}.det-related__item{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);transition:background var(--duration-fast) ease;display:flex}.det-related__item:hover{background:var(--surface-hover)}.det-related__dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.det-related__text{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.det-related__date{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0}.analysis-toggle{display:none}.analysis-toggle--hidden{opacity:0;pointer-events:none}.analysis-toggle:hover{color:var(--text-primary);background:var(--surface-active)}.methodology-overlay{z-index:900;opacity:0;transition:opacity var(--duration-normal) ease;background:#0006;position:fixed;inset:0}.methodology-overlay--visible{opacity:1}.methodology{z-index:901;border-left:1px solid var(--glass-border);width:420px;max-width:90vw;transition:transform var(--duration-slow) var(--ease-out-expo);border-radius:0;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.methodology--visible{transform:translate(0)}.methodology__header{padding:var(--sp-6) var(--sp-6) var(--sp-4);border-bottom:1px solid var(--divider);flex-shrink:0;justify-content:space-between;align-items:flex-start;display:flex}.methodology__title{font-family:Inter,sans-serif;font-size:var(--text-lg);color:var(--text-primary);letter-spacing:-.5px;font-weight:800;line-height:1.2}.methodology__subtitle{font-family:"Source Sans 3", var(--font-sans);font-size:var(--text-xs);color:var(--text-muted);margin-top:4px}.methodology__close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) ease, background var(--duration-fast) ease;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.methodology__close:hover{color:var(--text-primary);background:var(--surface-hover)}.methodology__body{padding:var(--sp-4) var(--sp-6) var(--sp-8);flex:1;overflow-y:auto}.methodology__group{margin-bottom:var(--sp-6)}.methodology__group-title{font-family:Inter,sans-serif;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;margin-bottom:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--divider);font-weight:700}.methodology__layer{margin-bottom:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--divider)}.methodology__layer:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.methodology__layer-name{font-family:Inter,sans-serif;font-size:var(--text-sm);color:var(--text-primary);margin-bottom:4px;font-weight:700}.methodology__layer-meta{gap:var(--sp-2);margin-bottom:6px;display:flex}.methodology__source{font-size:var(--text-2xs);color:var(--text-secondary);background:var(--surface-hover);border-radius:var(--radius-full);padding:1px 6px}.methodology__license{font-size:var(--text-2xs);color:var(--text-muted);background:var(--surface-hover);border-radius:var(--radius-full);padding:1px 6px}.methodology__method{font-family:"Source Sans 3", var(--font-sans);font-size:var(--text-xs);color:var(--text-secondary);line-height:1.6}.methodology__link{font-family:Inter,sans-serif;font-size:var(--text-2xs);color:#009fda;margin-top:4px;font-weight:600;text-decoration:none;display:inline-block}.methodology__link:hover{text-decoration:underline}.methodology__limits{margin:0;padding:0;list-style:none}.methodology__limits li{font-family:"Source Sans 3", var(--font-sans);font-size:var(--text-xs);color:var(--text-secondary);border-bottom:1px solid var(--divider);padding:6px 0 6px 16px;line-height:1.6;position:relative}.methodology__limits li:last-child{border-bottom:none}.methodology__limits li:before{content:"⚠";font-size:10px;position:absolute;top:8px;left:0}.methodology__body::-webkit-scrollbar{width:4px}.methodology__body::-webkit-scrollbar-track{background:0 0}.methodology__body::-webkit-scrollbar-thumb{background:var(--divider);border-radius:2px}.download-overlay{z-index:900;opacity:0;transition:opacity var(--duration-normal) ease;background:#0006;position:fixed;inset:0}.download-overlay--visible{opacity:1}.download-modal{z-index:901;border-radius:var(--radius-lg);opacity:0;width:380px;max-width:90vw;max-height:80vh;transition:opacity var(--duration-normal) ease, transform var(--duration-normal) var(--ease-out-expo);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.95)}.download-modal--visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.download-modal__header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--divider);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.download-modal__title{font-size:var(--text-base);color:var(--text-primary);font-weight:700}.download-modal__close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) ease, background var(--duration-fast) ease;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.download-modal__close:hover{color:var(--text-primary);background:var(--surface-hover)}.download-modal__body{padding:var(--sp-4) var(--sp-5) var(--sp-5);overflow-y:auto}.download-modal__section-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--sp-2);font-weight:600}.download-modal__layers{margin-bottom:var(--sp-4);flex-direction:column;gap:2px;display:flex}.download-modal__layer{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast) ease;display:flex}.download-modal__layer:hover{background:var(--surface-hover)}.download-modal__layer--disabled{opacity:.5;cursor:not-allowed}.download-modal__layer input[type=checkbox]{accent-color:var(--text-accent);flex-shrink:0}.download-modal__restricted{font-size:var(--text-2xs);color:var(--text-muted);background:var(--surface-hover);border-radius:var(--radius-full);margin-left:auto;padding:1px 6px}.download-modal__empty{font-size:var(--text-sm);color:var(--text-muted);padding:var(--sp-4) 0;text-align:center}.download-modal__formats{gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.download-modal__format{align-items:center;gap:var(--sp-1);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;display:flex}.download-modal__format input[type=radio]{accent-color:var(--text-accent)}.download-modal__export-btn{width:100%;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-primary);background:var(--surface-hover);border:1px solid var(--divider);cursor:pointer;transition:background var(--duration-fast) ease;font-weight:600}.download-modal__export-btn:hover:not(:disabled){background:var(--glass-border)}.download-modal__export-btn:disabled{opacity:.5;cursor:not-allowed}.tour-overlay{z-index:900;opacity:0;transition:opacity var(--duration-normal) ease;pointer-events:none;background:#00000080;position:fixed;inset:0}.tour-overlay--visible{opacity:1;pointer-events:auto}.tour-overlay--exiting{opacity:0}.tour-card{z-index:901;width:360px;max-width:calc(100vw - 32px);padding:var(--sp-6);opacity:0;transition:opacity var(--duration-normal) ease, transform var(--duration-normal) ease;position:fixed;bottom:6%;left:50%;transform:translate(-50%)translateY(20px)}.tour-card--visible{opacity:1;transform:translate(-50%)translateY(0)}.tour-card--exiting{opacity:0;transform:translate(-50%)translateY(20px)}.tour-card__step{font-family:Inter,sans-serif;font-size:var(--text-2xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;margin-bottom:var(--sp-2);font-weight:700}.tour-card__title{font-family:Inter,sans-serif;font-size:var(--text-lg);color:var(--text-primary);letter-spacing:-.5px;margin-bottom:var(--sp-3);font-weight:800;line-height:1.2}.tour-card__text{font-family:"Source Sans 3", var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--sp-4);line-height:1.6}.tour-card__actions{justify-content:space-between;align-items:center;display:flex}.tour-card__left{gap:var(--sp-2);align-items:center;display:flex}.tour-card__skip,.tour-card__never{font-family:Inter,sans-serif;font-size:var(--text-xs);color:var(--text-secondary);background:var(--surface-hover);cursor:pointer;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-full);transition:color var(--duration-fast) ease, background var(--duration-fast) ease;align-items:center;min-height:36px;font-weight:600;display:flex}.tour-card__skip:hover,.tour-card__never:hover{color:var(--text-primary);background:var(--surface-active)}.tour-card__next{font-family:Inter,sans-serif;font-size:var(--text-sm);color:#fff;padding:var(--sp-2) var(--sp-5);border-radius:var(--radius-full);cursor:pointer;min-height:36px;transition:opacity var(--duration-fast) ease;background:#009fda;font-weight:600}.tour-card__next:hover{opacity:.85}.layer-nudge{top:var(--sp-16);left:calc(var(--sp-4) + 44px);z-index:500;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-full);cursor:pointer;transition:opacity var(--duration-normal) ease;-webkit-backdrop-filter:none;backdrop-filter:none;animation:1.5s ease-in-out 3 nudgePulse;position:fixed;background:#ef4444!important;border:1px solid #fca5a5!important}.layer-nudge__text{font-size:var(--text-xs);color:#fff;white-space:nowrap;font-weight:600}.layer-nudge--mobile{top:auto;left:var(--sp-3);bottom:52px}.layer-nudge--exiting{opacity:0}.timeline-hint{z-index:500;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-full);font-size:var(--text-xs);color:#fff;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100vw - 32px);transition:opacity var(--duration-normal) ease;background:#1d4ed8;border:1px solid #60a5fa;font-weight:500;animation:1.5s ease-in-out 2 nudgePulse;position:fixed;bottom:60px;left:50%;overflow:hidden;transform:translate(-50%)}.timeline-hint--exiting{opacity:0}@media (max-width:768px){.timeline-hint{white-space:normal;text-align:center;max-width:80vw;font-size:10px;bottom:50px}}@keyframes nudgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05);box-shadow:0 0 12px #8ab4f866}}@media (max-width:768px){.tour-card{width:calc(100vw - 24px);padding:var(--sp-4);bottom:10%}.tour-card__title{font-size:var(--text-base)}.tour-card__text{font-size:var(--text-xs)}:root{--panel-width:100%;--timeline-height:0px}.panel{border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:300;opacity:1;width:100%;max-height:75vh;inset:auto 0 0;transform:translateY(100%)}.panel--expanded-mobile{transform:translateY(0)}.panel--collapsed{opacity:1;transform:translateY(100%)}.panel__header:before{content:"";background:var(--divider);width:32px;height:4px;margin:0 auto var(--sp-2);border-radius:2px;display:block}.panel__header{cursor:grab;padding-top:var(--sp-3)}.panel-toggle{z-index:200;width:auto;height:34px;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;top:auto;bottom:10px;left:10px}.panel-toggle--hidden{opacity:0;pointer-events:none}.panel__search-input{font-size:16px}.panel__basemap-buttons{flex-wrap:wrap;justify-content:center}.layer-opacity{display:none!important}.analysis{border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:350;width:100%;height:70vh;max-height:70vh;transition:transform var(--duration-slow) var(--ease-out-expo);inset:auto 0 0;transform:translateY(55%)}.analysis--collapsed{transform:translateY(100%)!important}.analysis:before{content:"";background:var(--divider);width:32px;height:4px;margin:var(--sp-2) auto var(--sp-1);border-radius:2px;flex-shrink:0;display:block}.analysis--full-mobile{transform:translateY(0)!important}.analysis__tabs:before{content:"";background:var(--divider);width:32px;height:4px;margin:var(--sp-2) auto;border-radius:2px;display:block}.analysis__stats{display:none!important}.timeline{left:var(--sp-2);right:var(--sp-2);bottom:var(--sp-2);padding:var(--sp-2) var(--sp-3);z-index:100}.timeline__chart-area{height:32px}.timeline__controls{gap:var(--sp-2)}.timeline__date-display{font-size:var(--text-xs);min-width:auto}.timeline__range-display{display:none}.timeline__axis{font-size:8px}.timeline__slider::-webkit-slider-thumb{width:24px;height:24px}.timeline__slider::-moz-range-thumb{width:24px;height:24px}.maplibregl-ctrl-bottom-right{flex-direction:row!important;align-items:center!important;gap:8px!important;display:flex!important;bottom:10px!important;right:10px!important}.maplibregl-ctrl-scale,.maplibregl-ctrl-attrib{display:none!important}.maplibregl-ctrl-bottom-right{position:absolute!important;bottom:70px!important;right:10px!important}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{margin:0!important}.analysis-toggle{display:none!important}.timeline.timeline--minimized{border-radius:var(--radius-md);z-index:101;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex;position:fixed;bottom:10px;left:auto;right:10px}.basemap-selector{display:none}.basemap-float{top:var(--sp-2);right:var(--sp-2);z-index:100;border-radius:var(--radius-full);gap:2px;padding:3px;display:flex;position:absolute}.basemap-float__btn{width:32px;height:32px;color:var(--text-muted);transition:background var(--duration-fast) ease;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.basemap-float__btn--active{background:var(--surface-active);color:var(--text-primary)}.layer-hint{width:auto;margin-top:4px;top:100%;left:0;right:0;transform:none}.layer-hint:before{display:none}.methodology{width:100%;max-width:100vw}.feed-item{padding:var(--sp-3) var(--sp-4);min-height:44px}.layer-toggle{min-height:40px;padding:var(--sp-1) 0}.layer-toggle__switch{min-width:36px;min-height:20px}.layer-group__header{min-height:44px}.maplibregl-popup-content{max-width:220px!important}}@media (max-width:480px){.panel,.analysis{max-height:80vh}.timeline__speed-btn{display:none}.panel__lang-btn{padding:var(--sp-1) var(--sp-2);font-size:10px}}
