/* StoryMap — História da Igreja Cristã — Estilos */

*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Georgia',serif;background:#0d1117;color:#e6edf3;height:100vh;overflow:hidden;display:flex;flex-direction:column;}
#header{background:linear-gradient(135deg,#1a0a2e,#16213e,#0f3460);border-bottom:2px solid #c9a227;padding:8px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;z-index:1000;}
#header h1{font-size:1.1em;color:#c9a227;letter-spacing:1px;text-shadow:0 0 18px rgba(201,162,39,.5);}
#header p{font-size:.68em;color:#8b949e;}
.sub{color:#c9a227;font-style:italic;}
#hdr-count{font-size:.68em;color:#8b949e;text-align:right;}
#body-row{display:flex;flex:1;min-height:0;}
/* SIDEBAR */
#sidebar{width:260px;min-width:260px;background:#161b22;border-right:1px solid #30363d;display:flex;flex-direction:column;overflow:hidden;z-index:500;}
.sb-sec{padding:8px 12px;border-bottom:1px solid #30363d;}
.sb-title{font-size:.63em;color:#c9a227;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}
#search-input{width:100%;background:#21262d;border:1px solid #30363d;color:#e6edf3;padding:6px 10px;border-radius:5px;font-size:.82em;outline:none;}
#search-input:focus{border-color:#c9a227;}
#search-input::placeholder{color:#484f58;}
#search-hint{font-size:.62em;color:#c9a227;margin-top:3px;display:none;}
#play-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.play-btn{background:#21262d;border:1px solid #30363d;color:#c9a227;padding:4px 9px;border-radius:4px;cursor:pointer;font-size:.74em;transition:all .2s;}
.play-btn:hover{background:#c9a227;color:#000;}
#speed-sel{background:#21262d;border:1px solid #30363d;color:#8b949e;padding:4px 6px;border-radius:4px;font-size:.68em;}
/* ROUTE TOGGLES */
.rt-btn{display:flex;align-items:center;gap:6px;padding:4px 7px;border:1px solid #30363d;border-radius:4px;margin-bottom:3px;cursor:pointer;font-size:.66em;color:#8b949e;transition:all .2s;user-select:none;}
.rt-btn.active{border-color:var(--rc);color:var(--rc);background:rgba(var(--rr),.1);}
.rt-line{width:24px;height:2px;border-top:2px dashed var(--rc);}
/* FILTERS */
.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;}
.fb{display:flex;align-items:center;gap:4px;background:#21262d;border:1px solid #30363d;border-radius:4px;padding:3px 6px;cursor:pointer;font-size:.62em;color:#8b949e;transition:all .2s;user-select:none;}
.fb.active{border-color:var(--cc);color:var(--cc);background:rgba(var(--cr),.1);}
.fb .dot{width:6px;height:6px;border-radius:50%;background:var(--cc);flex-shrink:0;}
/* MAP */
#map{flex:1;min-width:0;}
/* RIGHT PANEL */
#right-panel{width:290px;min-width:290px;background:#161b22;border-left:1px solid #30363d;display:flex;flex-direction:column;overflow:hidden;z-index:500;}
#rp-hdr{padding:9px 12px;border-bottom:1px solid #30363d;background:#1c2128;}
#rp-hdr h3{font-size:.7em;color:#c9a227;text-transform:uppercase;letter-spacing:1px;}
#rp-count{font-size:.63em;color:#8b949e;margin-top:2px;}
#events-list{flex:1;overflow-y:auto;padding:6px 8px;}
.ev-latest{border-left:3px solid var(--cc,#f59e0b)!important;background:rgba(var(--cr,245,158,11),.18)!important;}
.ev-item{background:#21262d;border:1px solid #30363d;border-left:3px solid var(--cc);border-radius:5px;padding:7px 9px;margin-bottom:5px;cursor:pointer;transition:all .2s;}
.ev-item:hover{background:#2d333b;transform:translateX(-2px);}
.ev-yr{font-size:.63em;color:#8b949e;}
.ev-name{font-size:.76em;font-weight:bold;color:#e6edf3;margin:2px 0;}
.ev-loc{font-size:.62em;color:#8b949e;}
.ev-badge{display:inline-block;font-size:.57em;padding:2px 5px;border-radius:3px;margin-top:3px;color:var(--cc);border:1px solid var(--cc);}
/* TIMELINE */
#tl-bar{flex-shrink:0;background:#1a1f2e;border-top:2px solid #c9a227;padding:7px 18px 9px;user-select:none;z-index:600;}
#tl-top{display:flex;align-items:center;gap:12px;margin-bottom:5px;}
#year-disp{font-size:1.65em;font-weight:bold;color:#c9a227;min-width:90px;text-shadow:0 0 10px rgba(201,162,39,.4);}
#era-disp{font-size:.68em;color:#8b949e;flex:1;font-style:italic;}
#tl-track{position:relative;height:26px;background:#21262d;border-radius:4px;border:1px solid #30363d;cursor:pointer;}
#tl-fill{position:absolute;left:0;top:0;bottom:0;background:rgba(201,162,39,.2);border-radius:4px 0 0 4px;pointer-events:none;}
#tl-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:15px;height:22px;background:#c9a227;border-radius:3px;cursor:grab;z-index:10;box-shadow:0 0 8px rgba(201,162,39,.6);transition:box-shadow .3s, transform .3s;}
/* Fase 8: pulso do thumb ao navegar por evento */
#tl-thumb.tl-pulse{box-shadow:0 0 0 5px rgba(245,200,66,.45),0 0 22px #f5c842;transform:translate(-50%,-50%) scale(1.55);}
#year-disp{transition:color .3s,transform .3s;transform-origin:left center;}
#year-disp.yr-flash{color:#f5c842!important;transform:scale(1.2);}
.era-tick-lbl.era-flash{color:#f5c842!important;font-weight:700;}
#tl-labels{display:flex;justify-content:space-between;margin-top:2px;}
.tl-lbl{font-size:.58em;color:#484f58;}
.era-tick{position:absolute;top:0;bottom:0;width:1px;background:rgba(201,162,39,.2);pointer-events:none;}
.era-tick-lbl{position:absolute;top:1px;font-size:.5em;color:rgba(201,162,39,.4);transform:translateX(-50%);white-space:nowrap;pointer-events:none;}
/* POPUP */
.cpop .leaflet-popup-content-wrapper{background:#161b22;border:1px solid #30363d;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.9);max-width:430px;min-width:320px;}
.cpop .leaflet-popup-content{margin:0!important;padding:0!important;width:100%!important;}
.cpop .leaflet-popup-tip{background:#161b22;}
.pu-head{background:linear-gradient(135deg,#1a0a2e,#0f3460);border-radius:8px 8px 0 0;padding:11px 15px 9px;border-bottom:2px solid var(--cc);}
.pu-yr{font-size:.78em;color:#8b949e;font-style:italic;}
.pu-ttl{font-size:1.08em;font-weight:bold;color:var(--cc);margin:3px 0;line-height:1.3;}
.pu-loc{font-size:.76em;color:#c9d1d9;}
.pu-body{padding:11px 15px;font-size:.9em;line-height:1.65;color:#c9d1d9;}
.pu-desc{margin-bottom:9px;}
.pu-person{margin:7px 0;padding:7px 10px;background:#21262d;border-radius:6px;border-left:3px solid var(--cc);}
.pu-person strong{color:#c9a227;font-size:.73em;text-transform:uppercase;display:block;margin-bottom:2px;}
.pu-person p{font-size:.88em;margin:0;}
.pu-src{margin-top:7px;padding:5px 8px;background:#1c2128;border-radius:4px;font-size:.73em;color:#8b949e;font-style:italic;border-left:2px solid #30363d;}
.pu-tag{display:inline-block;padding:3px 9px;border-radius:4px;font-size:.7em;font-weight:bold;margin-top:7px;color:var(--cc);border:1px solid var(--cc);background:rgba(var(--cr),.1);}
/* JOURNEY NAV */
.pu-nav{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:8px;background:#1c2128;border-radius:6px;border:1px solid var(--cc);gap:6px;}
.nav-btn{background:var(--cc);color:#000;border:none;border-radius:5px;padding:5px 12px;cursor:pointer;font-size:.78em;font-weight:bold;white-space:nowrap;transition:opacity .2s;}
.nav-btn:hover{opacity:.85;}
.nav-btn:disabled{background:#30363d;color:#484f58;cursor:default;}
.nav-pos{font-size:.68em;color:#8b949e;text-align:center;flex:1;}
.nav-journey-lbl{font-size:.62em;color:var(--cc);text-align:center;display:block;margin-bottom:4px