:root{--primary:#22c7f2!important;--success:#50e3a4!important;--bg:#04101a!important;--card-bg:rgba(10,29,43,0.92)!important;--border:rgba(104,205,239,0.2)!important;--text:#edfaff!important;--text-muted:#91b2c5!important}
body{background:var(--bg)!important}.nav{height:auto!important;min-height:72px;background:var(--card-bg)!important;border-bottom:1px solid var(--border)!important;box-shadow:0 6px 24px rgba(0,0,0,0.4)!important}.brand-mark{background:var(--primary)!important;color:#04101a!important;border:2px solid var(--primary)!important;border-radius:50%!important;box-shadow:3px 3px 0 rgba(0,0,0,0.5)}.nav-links{display:flex;gap:5px;flex-wrap:wrap}.nav-links a{color:var(--text-muted);padding:9px 10px;border-radius:8px;text-decoration:none;font-size:.75rem;font-weight:700;text-transform:uppercase}.nav-links a:hover,.nav-links a.active{background:rgba(34,199,242,0.1);color:var(--primary)}.overlay-panel{border:1px solid var(--border)!important;box-shadow:0 14px 40px rgba(0,4,10,0.18)!important;border-radius:14px!important}.player-coords{border:1px solid var(--border)!important}.player-coords:hover{background:var(--primary)!important}.leaflet-control-zoom a{background:var(--card-bg)!important;color:var(--text)!important;border-color:var(--border)!important}.leaflet-container{font-family:"Segoe UI",Inter,system-ui,sans-serif;background:var(--bg)!important}
@media(max-width:900px){.nav{padding:12px!important}.nav-links{width:100%;overflow-x:auto;flex-wrap:nowrap}.nav-links a{white-space:nowrap}.overlay-panel{top:12px!important;right:12px!important;left:12px!important;width:auto!important;max-height:34%!important}}
.map-credit{position:absolute;z-index:900;left:12px;bottom:8px;padding:5px 8px;border:1px solid #3a3c35;border-radius:6px;background:#111210d9;color:#aaaca4;font-size:10px;pointer-events:none}

.live-map-page{height:auto;min-height:100vh;overflow:auto}.map-page-main{max-width:1480px;padding:24px}.map-page-heading{text-align:center;margin:4px 0 22px}.map-page-heading h1{font-size:clamp(2rem,4vw,3.25rem);margin:5px 0 8px;letter-spacing:-.045em}.map-page-heading p:last-child{margin:0;color:var(--text-muted)}
.map-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;height:min(760px,calc(100vh - 190px));min-height:600px}.map-sidebar{display:flex;min-height:0;flex-direction:column;border:1px solid var(--border);border-radius:9px;background:var(--card-bg);padding:12px}.sidebar-title{display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;font-size:.95rem;margin-bottom:10px}.sidebar-title button{display:none;border:0;background:none;color:#fff;font-size:1.5rem}.map-layer-search{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:9px;background:rgba(4,16,26,0.5);padding:0 10px}.map-layer-search input{width:100%;padding:9px 0;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:.78rem;font-weight:600}.map-filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:11px 0}.map-filter-actions button{padding:8px 4px;border:1px solid var(--border);border-radius:7px;background:rgba(10,29,43,0.6);color:var(--text-muted);font-size:.7rem;font-weight:700;cursor:pointer}.map-filter-actions button:hover{border-color:var(--primary);color:var(--text)}.map-filter-scroll{min-height:0;flex:1;overflow-y:auto;padding-right:4px;scrollbar-color:#777 #252622;scrollbar-width:thin}.map-filter-scroll section{margin:0 0 17px}.map-filter-scroll h2{margin:0 0 6px;color:#9da097;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}.map-layer-option{display:flex;align-items:center;gap:8px;padding:6px;border-radius:6px;color:var(--text-muted);font-size:.76rem;font-weight:650;cursor:pointer}.map-layer-option:hover{background:rgba(255,255,255,0.05);color:#fff}.map-layer-option input{appearance:none;width:16px;height:16px;margin:0;border:1px solid var(--border);border-radius:4px;background:rgba(4,16,26,0.5)}.map-layer-option input:checked{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px var(--bg)}.map-layer-option i{width:18px;text-align:center;color:var(--poi);font-style:normal}.map-layer-option.error{text-decoration:line-through;opacity:.45}.completion-filter{display:flex;flex-direction:column;gap:5px;margin-top:8px;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--card-bg)}.completion-filter span{font-size:.62rem;text-transform:uppercase;color:#aeb0a8;font-weight:800}.completion-filter select{width:100%;padding:7px;border:1px solid var(--border);border-radius:5px;background:#111210;color:#eee}.completion-filter small{color:#777b72;font-size:.58rem;line-height:1.3}
.map-shell{position:relative;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:9px;background:var(--bg)}.map-shell #map{height:100%;width:100%}.map-live-badge{position:absolute;z-index:900;top:12px;left:12px;display:flex;align-items:center;gap:5px;padding:7px 11px;border:1px solid var(--border);border-radius:999px;background:var(--card-bg);font-size:.72rem}.map-live-badge i{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 10px var(--primary)}.open-map-filters{display:none;position:absolute;z-index:950;top:10px;right:10px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--card-bg);color:#fff;font-weight:700}.poi-marker-wrap{background:none;border:0}.poi-marker{display:grid;place-items:center;width:27px;height:27px;border:1.5px solid var(--poi);border-radius:50%;background:rgba(4,16,26,0.92);color:var(--poi);box-shadow:0 2px 8px rgba(0,0,0,0.6);font-size:13px;font-weight:900}.player-pin{background:none;border:0}.player-pin span{display:grid;place-items:center;width:32px;height:32px;border:2px solid #22c7f2;border-radius:50%;background:#04101a;color:#fff;font-size:14px;font-weight:900;box-shadow:0 2px 10px rgba(0,0,0,0.5)}.player-pin i{position:absolute;right:0;bottom:7px;width:9px;height:9px;border:2px solid #04101a;border-radius:50%;background:#50e3a4}.leaflet-tooltip{border:1px solid var(--border)!important;background:var(--card-bg)!important;color:#fff!important;box-shadow:0 6px 20px rgba(0,0,0,0.45)!important}.leaflet-tooltip-top:before{border-top-color:var(--border)!important}
@media(max-width:900px){.map-page-main{padding:14px}.map-layout{grid-template-columns:1fr;height:70vh;min-height:560px}.map-sidebar{position:fixed;z-index:2000;inset:10px auto 10px 10px;width:min(290px,calc(100vw - 20px));transform:translateX(calc(-100% - 20px));transition:transform .2s;box-shadow:10px 0 40px #000b}.map-sidebar.open{transform:none}.sidebar-title button,.open-map-filters{display:block}.map-shell{grid-column:1}.map-page-heading{margin-bottom:12px}.map-page-heading p:last-child{font-size:.8rem}}


/* Accordion */
.layer-section {
  margin-bottom: 8px;
}
.layer-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 4px;
  cursor: pointer;
  border-bottom: 1px solid rgba(104, 205, 239, 0.08);
  margin-bottom: 4px;
}
.layer-section-title h2 {
  margin: 0;
  font-size: 0.72rem !important;
  color: var(--primary) !important;
  letter-spacing: 0.08em;
}
.section-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.btn-toggle-all {
  border: 1px solid var(--border);
  background: rgba(34, 199, 242, 0.05);
  color: var(--text-muted);
  font-size: 0.6rem;
  padding: 2px 6px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 700;
  text-transform: uppercase;
}
.btn-toggle-all:hover {
  border-color: var(--primary);
  color: var(--primary);
}
.accordion-arrow {
  font-size: 0.6rem;
  color: var(--text-muted);
  transition: transform 0.2s;
}
.accordion-open .accordion-arrow {
  transform: rotate(180deg);
}

/* Popup button */
.popup-btn-found {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 8px;
  border: 1px solid var(--border);
  background: rgba(34, 199, 242, 0.1);
  color: var(--primary);
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  text-align: center;
}
.popup-btn-found:hover {
  background: var(--primary);
  color: #04101a;
  box-shadow: 0 0 10px rgba(34,199,242,0.4);
}
.popup-btn-found.completed {
  border-color: var(--success);
  background: rgba(80, 227, 164, 0.15);
  color: var(--success);
}
.popup-btn-found.completed:hover {
  background: var(--success);
  color: #04101a;
  box-shadow: 0 0 10px rgba(80,227,164,0.4);
}
