:root{--map-gold:#be9e5c;--map-gold-soft:#be9e5c59;--map-ink:#f1e8d3;--map-glass:#000000d1;--map-timeline-h:150px}.map-page{background:#000;height:100dvh;min-height:420px;font-family:Tajawal,sans-serif;position:relative;overflow:hidden}.map-panel-actions{flex-direction:column;gap:6px;margin:10px 0 14px;display:flex}.map-btn.map-btn-gold{background:var(--map-gold);color:#000;justify-content:center;font-weight:800}.map-btn.map-btn-gold:hover{background:#d4b46f}.map-panel-hint{color:#bdbdbd;font-size:12px;line-height:1.5}.map-home{z-index:5;width:46px;height:46px;color:var(--map-gold);border:1px solid var(--map-gold);background:#000000b8;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 4px 16px #0006}.map-home:hover{background:var(--map-gold);color:#000}.map-page.is-pending .map-app{opacity:0}.map-page.is-intro .map-app{animation:3.6s cubic-bezier(.2,.7,.2,1) 1.2s both map-intro-mapin}@keyframes map-intro-mapin{0%{opacity:0;filter:blur(14px)brightness(.4);transform:scale(1.3)}to{opacity:1;filter:blur()brightness();transform:scale(1)}}.map-intro{z-index:20;cursor:pointer;color:#fff;background:0 0;border:0;margin:0;padding:0;font-family:inherit;animation:.6s 4.8s both map-intro-out;position:absolute;inset:0;overflow:hidden}@keyframes map-intro-out{to{opacity:0;visibility:hidden}}.map-intro-vig{background:radial-gradient(#0009 0%,#000 60%);animation:4s 1.2s both map-intro-vig;position:absolute;inset:0}@keyframes map-intro-vig{to{background:radial-gradient(#0000 45%,#0000008c 100%)}}.map-intro-fog{pointer-events:none;filter:blur(30px);background:radial-gradient(#e8dcc2f2,#e8dcc299 40%,#e8dcc200 70%);width:70%;height:120%;position:absolute;top:-10%}.map-intro-fog-l{animation:3.2s cubic-bezier(.4,0,.2,1) 1.3s both map-intro-fogl;left:-10%}.map-intro-fog-r{animation:3.2s cubic-bezier(.4,0,.2,1) 1.3s both map-intro-fogr;right:-10%}@keyframes map-intro-fogl{to{opacity:0;transform:translate(-95%)}}@keyframes map-intro-fogr{to{opacity:0;transform:translate(95%)}}.map-intro-dust{background:var(--map-gold);width:5px;height:5px;box-shadow:0 0 8px var(--map-gold);opacity:0;border-radius:50%;animation:3s ease-out both map-intro-dust;position:absolute}@keyframes map-intro-dust{0%{opacity:0;transform:translateY(40px)scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(var(--dx,0), -140px) scale(1.4)}}.map-intro-title{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0 24px;animation:4.2s both map-intro-title;display:flex;position:absolute;inset:0}@keyframes map-intro-title{0%{opacity:0;letter-spacing:14px}18%{opacity:1;letter-spacing:2px}72%{opacity:1}to{opacity:0;transform:translateY(-30px)}}.map-intro-kicker{color:var(--map-gold);letter-spacing:6px;font-size:15px;font-weight:800}.map-intro-h1{text-shadow:0 4px 30px #000c;font-size:clamp(30px,5vw,70px);font-weight:900;line-height:1.2}.map-intro-rule{background:var(--map-gold);width:180px;height:2px}.map-intro-sub{color:#e6e6e6;font-size:clamp(15px,1.6vw,20px)}.map-intro-skip{color:#bdbdbd;opacity:.8;font-size:13px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.map-page.is-intro .map-app,.map-intro,.map-intro *,.map-intro-title{animation-duration:10ms!important;animation-delay:0s!important}}.map-app{position:absolute;inset:0}.map-app .map-canvas.map-canvas,.map-app .map-canvas.maplibregl-map{background:#e8dcc2;width:100%;height:100%;position:absolute;inset:0}.map-canvas .maplibregl-canvas{outline:none}.map-loading{color:var(--map-gold);z-index:3;pointer-events:none;background:radial-gradient(#1a1208 0%,#000 70%);justify-content:center;align-items:center;font-size:20px;font-weight:500;display:flex;position:absolute;inset:0}.map-app .map-loading{background:#00000059}.map-credit{bottom:92px;color:#ffffffb8;text-align:start;pointer-events:none;z-index:3;background:#0006;border:1px solid #be9e5c40;border-radius:6px;max-width:min(46ch,70vw);padding:4px 9px;font-size:11px;line-height:1.5;position:absolute;inset-inline-end:12px}.map-app.has-panel .map-credit{display:none}@media (max-width:760px){.map-credit{display:none}}.map-app .maplibregl-ctrl-top-left{top:12px;left:12px}.map-app .maplibregl-ctrl-bottom-left,.map-app .maplibregl-ctrl-bottom-right{bottom:var(--map-timeline-h)}.map-app .maplibregl-ctrl-group{background:var(--map-glass);border:1px solid var(--map-gold-soft);box-shadow:none}.map-app .maplibregl-ctrl-group button+button{border-top-color:var(--map-gold-soft)}.map-app .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert()sepia()saturate(2)hue-rotate(5deg)brightness(1.1)}.map-app .maplibregl-ctrl-attrib{color:#3a2c17;direction:ltr;background:#e8dcc2d9;font-size:11px}.map-app .maplibregl-ctrl-attrib a{color:#3a2c17}.map-topbar{z-index:5;pointer-events:none;direction:rtl;flex-direction:column;align-items:flex-start;gap:8px;width:min(320px,100% - 68px);display:flex;position:absolute;top:12px;left:56px}.map-topbar>*{pointer-events:auto}.map-themes{background:var(--map-glass);border:1px solid var(--map-gold);direction:rtl;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;display:flex}.map-themes-label{color:var(--map-gold);margin-inline-end:2px;font:500 13px/1 Tajawal,sans-serif}.map-theme-swatch{cursor:pointer;appearance:none;border:2px solid #ffffff59;border-radius:50%;width:20px;height:20px;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s;box-shadow:0 1px 3px #0006}.map-theme-swatch:hover{transform:scale(1.12)}.map-theme-swatch.active{border-color:var(--map-gold);box-shadow:0 0 0 2px #be9e5c80}.map-btn{appearance:none;border:1px solid var(--map-gold);background:var(--map-glass);color:var(--map-gold);cursor:pointer;white-space:nowrap;border-radius:999px;padding:6px 14px;font:500 14px/1.2 Tajawal,sans-serif;transition:background .15s,color .15s}.map-btn:hover,.map-btn:focus-visible{background:var(--map-gold);color:#000;outline:none}.map-btn-sm{padding:4px 10px;font-size:12px}.map-btn-play{justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:18px;display:inline-flex}.map-btn-play.is-on{background:var(--map-gold);color:#000}.map-badge{color:#fff;background:#962828e6;border:1px solid #ffffff59;border-radius:999px;padding:3px 10px;font-size:12px;display:inline-block}.map-search{width:100%;position:relative}.map-search-input{border:1px solid var(--map-gold);background:var(--map-glass);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;outline:none;width:100%;padding:9px 14px;font:400 14px Tajawal,sans-serif}.map-search-input::placeholder{color:#f1e8d399}.map-search-input:focus{box-shadow:0 0 0 2px var(--map-gold-soft)}.map-search-results{border:1px solid var(--map-gold-soft);z-index:9;background:#000000ed;border-radius:12px;max-height:320px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.map-search-results li{color:var(--map-ink);cursor:pointer;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:7px 8px;font-size:14px;display:grid}.map-search-results li.is-active{background:#be9e5c2e}.map-search-empty{color:#f1e8d399;justify-content:center}.map-search-kind{color:#fff;background:#be9e5c40;border-radius:999px;padding:2px 7px;font-size:11px}.map-search-kind.kind-event{background:#962828b3}.map-search-sub{color:#f1e8d399;font-size:12px}.map-legend{background:var(--map-glass);border:1px solid var(--map-gold-soft);color:var(--map-ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;min-width:190px}.map-legend-toggle{appearance:none;color:var(--map-gold);text-align:start;cursor:pointer;background:0 0;border:0;justify-content:space-between;width:100%;padding:8px 12px;font:700 13px Tajawal,sans-serif;display:flex}.map-legend-count{background:#be9e5c40;border-radius:999px;padding:0 8px;font-size:12px}.map-legend ul{margin:0;padding:0 6px 6px;list-style:none}.map-legend li button{appearance:none;color:inherit;cursor:pointer;text-align:start;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:5px 8px;font:400 13px Tajawal,sans-serif;display:flex}.map-legend li button:hover,.map-legend li button.is-selected{background:#be9e5c2e}.map-legend-years{color:#f1e8d38c;margin-inline-start:auto;font-size:12px}.map-legend-empty{color:#f1e8d38c;padding:6px 10px;font-size:13px}.map-swatch{border:1px solid #ffffff59;border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.map-timeline{z-index:6;color:var(--map-gold);direction:rtl;background:linear-gradient(#0000 0,#000000d1 26px,#000000eb 100%);padding:26px 18px 12px;position:absolute;bottom:0;left:0;right:0}.map-timeline-eras{scrollbar-width:none;gap:6px;padding-bottom:8px;display:flex;overflow-x:auto}.map-timeline-eras::-webkit-scrollbar{display:none}.map-era{appearance:none;border:1px solid var(--map-gold-soft);color:#e6d7b5;white-space:nowrap;cursor:pointer;background:#0000008c;border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 10px;font:500 13px/1.2 Tajawal,sans-serif;display:inline-flex}.map-era-dot{background:var(--era);border-radius:50%;width:10px;height:10px}.map-era.is-active{border-color:var(--era);box-shadow:inset 0 0 0 1px var(--era)}.map-era.is-selected{background:var(--era);color:#fff}.map-timeline-main{grid-template-columns:auto auto 1fr;align-items:center;gap:16px;display:grid}.map-timeline-controls{align-items:center;gap:6px;display:flex}.map-timeline-controls .map-btn{min-width:40px;padding:6px 10px}.map-year{text-align:center;font-variant-numeric:tabular-nums;min-width:230px;color:var(--map-gold);font-size:26px;font-weight:700;line-height:1}.map-slider-wrap{padding-top:2px;position:relative}.map-slider{appearance:none;cursor:pointer;direction:rtl;background:0 0;width:100%;height:24px;margin:0}.map-slider::-webkit-slider-runnable-track{background:#be9e5c47;border-radius:3px;height:6px}.map-slider::-moz-range-track{background:#be9e5c47;border-radius:3px;height:6px}.map-slider::-webkit-slider-thumb{appearance:none;background:var(--map-gold);width:20px;height:20px;box-shadow:0 0 0 2px var(--map-gold);border:3px solid #000;border-radius:50%;margin-top:-7px}.map-slider::-moz-range-thumb{background:var(--map-gold);width:14px;height:14px;box-shadow:0 0 0 2px var(--map-gold);border:3px solid #000;border-radius:50%}.map-slider:focus-visible{outline:none}.map-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #be9e5c80}.map-slider-track{background:#ffffff14;border-radius:2px;height:4px;margin:2px 10px 0;position:relative}.map-slider-era{opacity:.85;border-radius:2px;height:4px;position:absolute;top:0}.map-slider-ticks{color:#be9e5cb3;justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.map-panel{top:12px;right:12px;bottom:calc(var(--map-timeline-h) + 8px);z-index:7;background:var(--map-glass);border:1px solid var(--map-gold);width:400px;max-width:calc(100% - 24px);color:var(--map-ink);-webkit-backdrop-filter:blur(10px);direction:rtl;border-radius:14px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 10px 40px #00000073}.map-panel-close{border:1px solid var(--map-gold-soft);width:34px;height:34px;color:var(--map-gold);cursor:pointer;z-index:2;background:#00000080;border-radius:50%;font-size:22px;line-height:1;position:absolute;top:8px;left:8px}.map-panel-close:hover{background:var(--map-gold);color:#000}.map-panel-body{overscroll-behavior:contain;padding:18px 18px 24px;overflow-y:auto}.map-panel-kicker{color:var(--map-gold);letter-spacing:.02em;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:inline-flex}.map-panel-title{color:#fff;margin:0 0 4px;padding-left:36px;font-family:Tajawal,sans-serif;font-size:26px;font-weight:700;line-height:1.25}.map-panel-years{color:var(--map-gold);font-variant-numeric:tabular-nums;margin:0 0 8px;font-size:15px}.map-panel-meta{color:var(--map-ink);margin:0 0 10px;font-size:14px}.map-panel-image{border:1px solid var(--map-gold-soft);border-radius:10px;margin:8px 0 12px;overflow:hidden}.map-panel-image img{width:100%;height:auto;display:block}.map-panel-summary{color:var(--map-ink);margin:0 0 12px;font-size:15px;line-height:1.75}.map-panel-section{border-top:1px solid #be9e5c40;margin-top:16px;padding-top:12px}.map-panel-section h3{color:var(--map-gold);margin:0 0 8px;font-family:Tajawal,sans-serif;font-size:15px;font-weight:700}.map-mini-timeline{background:#ffffff14;border-radius:4px;height:8px;margin:4px 0 10px;position:relative;overflow:visible}.map-mini-era{border-radius:4px;height:8px;position:absolute;top:0}.map-mini-era.is-now{outline:1px solid #fff}.map-mini-now{background:#fff;width:2px;height:16px;position:absolute;top:-4px;box-shadow:0 0 0 1px #000}.map-list{margin:0;padding:0;list-style:none}.map-list li{border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:7px 8px;font-size:14px;display:flex}.map-list li+li{margin-top:2px}.map-list li.is-now{box-shadow:inset 3px 0 0 var(--map-gold);background:#be9e5c29}.map-list-title{color:#fff;align-items:center;gap:6px;font-weight:500;display:flex}.map-list-sub{color:#f1e8d399;margin-top:2px;font-size:12px}.map-list-note{color:#f1e8d3cc;margin-top:3px;font-size:12.5px;line-height:1.6}.map-tag{background:var(--map-gold);color:#000;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700}.map-links{flex-direction:column;gap:6px;display:flex}.map-link{border:1px solid var(--map-gold);color:#fff;border-radius:999px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;text-decoration:none;transition:background .15s;display:flex}.map-link:hover{background:var(--map-gold);color:#000;text-decoration:none}.map-link-kind{background:#be9e5c4d;border-radius:999px;flex:none;padding:2px 8px;font-size:11px}.map-link:hover .map-link-kind{background:#0003}.map-inline-link{appearance:none;color:var(--map-gold);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline-flex}@media (max-width:767px){:root{--map-timeline-h:196px}.map-app .maplibregl-ctrl-top-left{display:none}.map-topbar{flex-flow:wrap;align-items:center;width:auto;top:10px;left:10px;right:68px}.map-topbar .map-search{width:100%}.map-legend{min-width:0}.map-legend.is-collapsed .map-legend-toggle{padding:6px 10px}.map-legend ul{max-height:140px;overflow:auto}.map-timeline{padding:20px 12px 8px}.map-timeline-main{grid-template-columns:1fr;gap:6px}.map-slider-ticks{display:none}.map-year{order:-1;min-width:0;font-size:20px}.map-timeline-controls{order:2;justify-content:center}.map-btn-play{width:40px;height:40px}.map-panel{background:#000000eb;border-radius:16px;width:auto;max-width:none;max-height:60dvh;inset:auto 8px 8px}.map-app.is-mobile.has-panel .map-timeline,.map-app.is-mobile.has-panel .maplibregl-ctrl-bottom-left,.map-app.is-mobile.has-panel .maplibregl-ctrl-bottom-right{visibility:hidden}.map-app .maplibregl-ctrl-attrib{font-size:10px}.map-panel-title{font-size:22px}}@media (prefers-reduced-motion:reduce){.map-btn,.map-link{transition:none}}
