:root {
  --bg:#020814;--bg2:#050d16;--bg3:#071724;--panel:#0a1e2a;
  --border:#17506e;--border-bright:#2296c2;
  --amber:#ff9f18;--amber-dim:#8a4c08;
  --green:#20e8a0;--green-dim:#0a4a30;
  --red:#e82050;--red-dim:#4a0a18;
  --cyan:#18d8ff;--cyan-dim:#0a5470;
  --purple:#c070ff;
  --text:#c4e8f0;--text-dim:#92b8c6;--text-label:#a8cad6;--text-bright:#f2fbff;
  --glow-amber:0 0 8px rgba(255,159,24,.48),0 0 24px rgba(255,127,24,.2);
  --glow-green:0 0 8px rgba(32,232,160,.5),0 0 24px rgba(32,232,160,.2);
  --glow-cyan:0 0 8px rgba(24,216,255,.5),0 0 24px rgba(24,128,255,.2);
  --glow-red:0 0 8px rgba(232,32,80,.5),0 0 24px rgba(232,32,80,.2);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html,body{width:100%;height:100%;min-height:100dvh;background:var(--bg);color:var(--text);font-family:'Share Tech Mono',monospace;overflow:hidden;}
body{position:static;min-height:100dvh;}
body::before{content:'';position:fixed;inset:0;background:none;pointer-events:none;z-index:9999;opacity:0;}
body::after{content:'';position:fixed;inset:0;background:none;pointer-events:none;z-index:9998;opacity:0;}

@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideRight{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideLeft{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}
@keyframes glitch{0%,88%,100%{transform:translate(0)}89%{transform:translate(-2px,1px)}90%{transform:translate(2px,-1px)}91%{transform:translate(0)}}
@keyframes breathe{0%,100%{box-shadow:var(--glow-cyan);opacity:1}50%{box-shadow:0 0 16px rgba(32,200,232,.65),0 0 36px rgba(32,200,232,.25);opacity:.92}}

.app{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;max-width:100vw;height:100dvh;min-height:100dvh;overflow:hidden;box-sizing:border-box;}

header{flex-shrink:0;height:3.125rem;border-bottom:1px solid var(--border);background:var(--bg2);display:flex;align-items:center;padding:0 1rem;position:relative;z-index:800;min-width:0;max-width:100%;gap:6px;overflow:visible;}
.logo{flex-shrink:0;font-family:'VT323',monospace;font-size:24px;color:var(--amber);text-shadow:var(--glow-amber);letter-spacing:4px;cursor:pointer;animation:glitch 9s infinite;margin-right:12px;line-height:1;}
.logo small{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--text-dim);letter-spacing:2px;display:block;margin-top:-3px;}
.logo.mm-header-logo{display:flex;align-items:center;justify-content:flex-start;width:clamp(150px,11vw,205px);height:100%;margin-right:14px;letter-spacing:0;text-decoration:none;text-shadow:none;animation:none;overflow:hidden;}
.logo.mm-header-logo img{display:block;width:100%;height:auto;max-height:38px;object-fit:contain;filter:drop-shadow(0 0 9px rgba(32,200,232,.28));}
.nav-tabs{
  display:flex;
  height:50px;
  flex:1 1 auto;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  flex-wrap:nowrap;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.nav-tabs::-webkit-scrollbar{display:none;width:0;height:0;}

.tab{
  font-family:'Share Tech Mono',monospace;
  font-size:11px;
  letter-spacing:2px;
  padding:0 16px;
  height:50px;
  border:none;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  position:relative;
  transition:all .15s;
  text-transform:uppercase;
}

.tab:hover{
  color:var(--cyan);
  background:linear-gradient(180deg,rgba(24,216,255,.08),rgba(24,216,255,.02));
  text-shadow:var(--glow-cyan);
}

.tab:not(.active):hover::after{
  content:'';
  position:absolute;
  left:12px;
  right:12px;
  bottom:0;
  height:1px;
  background:var(--cyan);
  box-shadow:var(--glow-cyan);
}

.tab.active{
  color:var(--amber);
}

.tab.active::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:var(--amber);
  box-shadow:var(--glow-amber);
}
.header-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:1;min-width:0;flex-wrap:nowrap;justify-content:flex-end;align-self:center;}
.btn{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;padding:5px 12px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;transition:all .15s;text-transform:uppercase;}
.btn:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:var(--glow-cyan);}
.btn-primary{border-color:var(--amber);color:var(--amber);background:rgba(232,160,32,.05);}
.btn-primary:hover{background:rgba(232,160,32,.1);box-shadow:var(--glow-amber);}
.btn-submit-effect{display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.btn-submit-effect .btn-submit-icon{display:inline-flex;line-height:0;flex-shrink:0;}
.btn-submit-effect .btn-submit-icon-svg{display:block;}
/* Header CTAs (submit, find timeline, sign-in): shared compact row with icons */
.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;line-height:1.2;min-height:0;align-self:center;}
.header-cta .header-cta-icon,.header-cta .btn-submit-icon{display:inline-flex;line-height:0;flex-shrink:0;}
.header-cta .header-cta-icon-svg,.header-cta .btn-submit-icon-svg{width:14px;height:14px;display:block;}
#header-submit-effect.header-cta{box-sizing:border-box;line-height:1.2;min-height:0;align-self:center;}
.mm-mobile-nav-actions .header-cta{gap:8px;}
.mm-mobile-nav-actions .header-cta .header-cta-label,
.mm-mobile-nav-actions .btn-submit-effect .btn-submit-label{display:inline !important;}
.auth-input{width:100%;padding:11px 12px;border:1px solid var(--border);background:rgba(2,12,14,.96);color:var(--text-bright);font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:1px;outline:none;transition:border-color .15s ease, box-shadow .15s ease;}
.auth-input:focus{border-color:var(--cyan);box-shadow:var(--glow-cyan);}

.account-menu-shell{position:relative;z-index:1;}
.account-menu-shell[open]{z-index:2;}
.account-menu-shell summary{list-style:none;}
.account-menu-shell summary::-webkit-details-marker{display:none;}
.account-trigger-shell{display:inline-flex;align-items:center;gap:8px;min-width:0;padding-right:10px;}
.account-trigger-shell:hover .account-user-icon,.account-menu-shell[open] .account-trigger-shell .account-user-icon{color:var(--cyan);}
.account-trigger-label{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.account-user-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--text);opacity:.95;transition:color .15s ease;}
.account-user-icon svg{width:14px;height:14px;display:block;}
.account-trigger-chevron{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid currentColor;opacity:.85;transition:transform .15s ease;}
.account-menu-shell[open] .account-trigger-chevron{transform:rotate(180deg);}
.account-dropdown-shell{display:none;position:absolute;right:0;top:calc(100% + 10px);z-index:5;min-width:220px;background:rgba(4,15,18,.98);border:1px solid var(--border-bright);box-shadow:0 18px 44px rgba(0,0,0,.55);padding:8px;}
.account-dropdown-shell::before{content:'';position:absolute;top:-7px;right:18px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid var(--border-bright);}
.account-dropdown-shell::after{content:'';position:absolute;top:-6px;right:19px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid rgba(4,15,18,.98);}
.account-menu-shell[open] .account-dropdown-shell{display:block;}
.account-dropdown-shell a.account-dd-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid transparent;color:var(--text);text-decoration:none;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;background:transparent;transition:all .15s ease;}
.account-dropdown-shell a + a{margin-top:4px;}
.account-dropdown-shell a.account-dd-link:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(32,200,232,.06);}
.account-dd-admin-meta{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;}
.mm-attn-badge{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e82050;box-shadow:0 0 6px rgba(232,32,80,.55);flex-shrink:0;vertical-align:middle;}
.mm-attn-badge[hidden]{display:none !important;}
.mm-attn-badge--corner{position:absolute;top:4px;right:2px;}
/* Sit left of the dropdown chevron so the dot reads as a dot, not a line on the triangle. */
.account-trigger-shell .mm-attn-badge--corner{top:3px;right:16px;}
.account-menu-shell summary.account-trigger-shell{position:relative;padding-right:14px;}
.mm-attn-badge--inline{margin-left:6px;vertical-align:middle;}
.mm-attn-hint{font-size:9px;letter-spacing:0.12em;color:var(--amber);text-transform:uppercase;white-space:nowrap;}
.mm-email-verify-gate{border:1px solid var(--border-bright);background:rgba(4,15,18,.88);padding:18px 20px;margin:12px 0 18px;box-shadow:0 0 24px rgba(34,184,207,.08) inset;max-width:720px;}
.mm-email-verify-gate--compact{padding:14px 16px;margin:10px 0;}
.mm-email-verify-gate-title{font-family:'VT323',monospace;font-size:26px;color:var(--amber);letter-spacing:3px;margin:8px 0 10px;text-shadow:var(--glow-amber);}
.mm-email-verify-gate-copy{font-size:11px;line-height:1.65;color:var(--text);margin:0 0 10px;letter-spacing:0.04em;}
.mm-email-verify-gate-copy--dim{color:var(--text-dim);}
.mm-email-verify-gate-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.mm-email-verify-gate-msg{font-size:11px;letter-spacing:0.04em;margin-top:10px;}
.mm-account-verify-banner{border:1px solid var(--amber-dim, var(--border-bright));background:rgba(232,160,32,.06);padding:14px 16px;margin-bottom:14px;}
.mm-account-verify-banner-copy{font-size:11px;line-height:1.65;color:var(--text);margin:6px 0 0;letter-spacing:0.04em;}
#tab-me{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;}
.mm-rail-attn{margin-left:6px;display:inline-block;width:7px;height:7px;border-radius:50%;background:#e82050;box-shadow:0 0 5px rgba(232,32,80,.5);vertical-align:middle;}
.account-dropdown-divider{border:0;height:1px;margin:10px 6px 8px;background:rgba(100,183,198,.22);}
.logout-form{margin:0;padding:0;}
.account-dropdown-shell .account-dropdown-logout{display:block;width:100%;box-sizing:border-box;padding:12px 14px;margin:0;border:1px solid transparent;color:var(--red);background:transparent;font-family:inherit;font-size:11px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;text-align:left;cursor:pointer;transition:all .15s ease;-webkit-appearance:none;appearance:none;}
.account-dropdown-shell .account-dropdown-logout:hover{border-color:rgba(232,32,80,.45);color:#ff6b8a;background:rgba(232,32,80,.1);}

/* Hamburger (shown ≤900px in shell.css); drawer hosts nav + CTAs when desktop tabs are hidden. */
.mm-header-burger{
  display:none;
  position:relative;
  width:40px;
  height:34px;
  margin:0 8px 0 0;
  padding:0;
  flex-shrink:0;
  border:1px solid rgba(52,92,98,.72);
  border-radius:2px;
  background:rgba(4,14,18,.92);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.mm-header-burger::before{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  top:11px;
  height:2px;
  background:var(--amber);
  box-shadow:0 6px 0 var(--amber),0 12px 0 var(--amber);
}
.mm-header-burger:hover{border-color:var(--border-bright);}
.mm-mobile-nav-root{position:fixed;inset:0;z-index:900;pointer-events:none;}
.mm-mobile-nav-root:not([hidden]){pointer-events:auto;}
.mm-mobile-nav-root[hidden]{display:none !important;}
.mm-mobile-nav-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .2s ease;}
.mm-mobile-nav-root.mm-mobile-nav-open .mm-mobile-nav-backdrop{opacity:1;}
.mm-mobile-nav-drawer{
  position:absolute;
  top:0;
  right:0;
  width:min(320px,calc(100vw - 36px));
  max-height:100dvh;
  display:flex;
  flex-direction:column;
  background:rgba(4,15,18,.98);
  border-left:1px solid var(--border-bright);
  box-shadow:-12px 0 40px rgba(0,0,0,.45);
  transform:translateX(100%);
  transition:transform .26s cubic-bezier(.32,.72,0,1);
}
.mm-mobile-nav-root.mm-mobile-nav-open .mm-mobile-nav-drawer{transform:translateX(0);}
.mm-mobile-nav-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);}
.mm-mobile-nav-title{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);}
.mm-mobile-nav-close{
  width:36px;
  height:36px;
  border:1px solid var(--border);
  background:transparent;
  color:var(--text);
  font-size:16px;
  line-height:1;
  cursor:pointer;
}
.mm-mobile-nav-close:hover{border-color:var(--cyan);color:var(--cyan);}
.mm-mobile-nav-links{display:flex;flex-direction:column;gap:4px;padding:12px 14px;overflow-y:auto;flex:1;min-height:0;}
.mm-mobile-nav-links .tab{
  width:100%;
  height:auto;
  min-height:44px;
  justify-content:flex-start;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:2px;
  background:rgba(6,18,22,.9);
  text-align:left;
}
.mm-mobile-nav-links .tab.active{border-color:rgba(232,160,32,.45);color:var(--amber);}
.mm-mobile-nav-actions{display:flex;flex-direction:column;gap:10px;padding:12px 14px 18px;border-top:1px solid var(--border);flex-shrink:0;}
.mm-mobile-nav-actions .btn{width:100%;box-sizing:border-box;text-align:center;}
body.mm-mobile-nav-open{overflow:hidden !important;}

.content{overflow:hidden;display:grid;grid-template-columns:clamp(13rem,14vw,17rem) minmax(0,1fr) clamp(13rem,14vw,17rem);position:relative;z-index:0;min-height:0;height:100%;align-items:stretch;column-gap:0;width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
#survey-view,#results-view{grid-column:2;grid-row:1;min-height:0;width:100%;height:100%;display:block;overflow:auto;padding:18px;}
#survey-view .view-center,#results-view .view-center{max-width:none;height:auto;display:block;padding:0;}
#results-view{padding-bottom:18px;}
#survey-view{padding-bottom:18px;}

.mm-shell body{overflow:hidden}
#recent-signals{overflow-y:auto !important}
#effect-selector .es-list{overflow-y:auto !important}
.quick-submit{flex-shrink:0 !important}
.app-footer{height:4rem;padding:0.375rem 0 0.75rem;flex-shrink:0}
.survey-stage{padding:12px 14px 10px;align-items:stretch}
.survey-stage-frame{width:100%;height:100%;min-height:0;overflow:auto;padding-bottom:0.25rem}
.mm-shell-survey{max-width:1200px;margin:0 auto}
.mm-shell-survey .mm-result-actions a[href$='./shell.php?view=map'], .mm-shell-survey .mm-result-actions a[href$='shell.php?view=map']{ }



.hidden{display:none !important;}
.shell-rail{grid-row:1;min-height:0;min-width:0;height:100%;display:flex;flex-direction:column;}
#left-map,#left-registry,#left-effects,#left-evidence,#left-profile,#left-surveys,#left-survey,#left-account,#left-admin,#left-timelines,#left-requests,#left-forgot-password,#left-reset-password,#left-change-password{grid-column:1;}
#right-map,#right-registry,#right-effects,#right-evidence,#right-profile,#right-surveys,#right-survey,#right-account,#right-admin,#right-timelines,#right-requests,#right-forgot-password,#right-reset-password,#right-change-password{grid-column:3;}
#registry-view,#evidence-view,#profile-view,#map-view,#surveys-view,#survey-view,#account-view,#admin-view,#forgot-password-view,#reset-password-view,#change-password-view,#requests-view{grid-column:2;grid-row:1;min-height:0;height:100%;max-height:100%;display:block;overflow-y:auto;overflow-x:hidden;}
#timelines-view{grid-column:2;grid-row:1;min-height:0;width:100%;height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;overflow-x:hidden;}
#registry-view .reg-main{padding:14px 18px;overflow-y:auto;height:100%;}
#registry-view .reg-side,#registry-view .reg-right{padding:12px;overflow-y:auto;height:100%;}
/* when shell-native, internal registry sidebars are not needed */
#registry-view .reg-wrap{display:block;height:100%;overflow:hidden;}
#registry-view .reg-side,#registry-view .reg-right{display:none !important;}
#registry-view .reg-main{padding:0 0 0 0;}

.map-center .ghost-reset,.map-center .zoom-reset,.map-center .mini-reset{display:none !important;}
/* MAP VIEW */
#map-view{grid-column:2;grid-row:1;width:100%;min-height:0;display:block;position:relative;overflow:hidden;}
.map-left,.map-right{background:rgba(4,15,18,.97);display:flex;flex-direction:column;overflow:hidden;min-height:0;min-width:0;grid-row:1;align-self:stretch;}
.map-left{grid-column:1;border-right:1px solid var(--border);border-left:none;animation:slideLeft .3s ease;}
.map-center{position:relative;overflow:hidden;background:var(--bg);width:100%;height:100%;}
.map-right{grid-column:3;border-left:1px solid var(--border);border-right:none;animation:slideRight .3s ease;display:flex;flex-direction:column;gap:0;}
.side-header{padding:10px 14px 8px;border-bottom:1px solid var(--border);flex-shrink:0;}
.side-title{font-size:9px;letter-spacing:3px;color:var(--text-dim);text-transform:uppercase;}
.side-subtitle{font-size:11px;color:var(--amber);letter-spacing:1px;margin-top:2px;}
.side-body{flex:1;overflow-y:auto;padding:10px 12px;}

.rank-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--border);background:var(--bg3);margin-bottom:6px;cursor:pointer;transition:all .15s;position:relative;overflow:hidden;}
.rank-item::after{content:'';position:absolute;bottom:0;left:0;height:1px;width:0;background:var(--amber);transition:width .3s;}
.rank-item:hover{border-color:var(--border-bright);}
.rank-item:hover::after{width:100%;}
.rank-num{font-family:'VT323',monospace;font-size:22px;color:var(--border-bright);line-height:1;min-width:22px;}
.rank-content{flex:1;min-width:0;}
.rank-title{font-family:'Courier Prime',monospace;font-size:11px;color:var(--text-bright);font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rank-meta{display:flex;align-items:center;gap:6px;margin-top:3px;}
.rank-votes{font-size:9px;color:var(--text-dim);letter-spacing:1px;}
.rank-votes span{color:var(--amber);}
.rank-bar{height:2px;background:var(--border);margin-top:5px;position:relative;overflow:hidden;}
.rank-bar-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--amber),var(--amber-dim));}

.recent-item{padding:8px 10px;border:1px solid var(--border);background:var(--bg3);margin-bottom:6px;cursor:pointer;transition:all .15s;}
.recent-item:hover{border-color:var(--border-bright);}
.recent-time{font-size:9px;color:var(--text-dim);letter-spacing:1px;margin-bottom:3px;}
.recent-title{font-family:'Courier Prime',monospace;font-size:11px;color:var(--text-bright);font-weight:700;line-height:1.3;}

.quick-submit{padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0;}
.qs-title{font-size:9px;letter-spacing:3px;color:var(--text-dim);text-transform:uppercase;margin-bottom:8px;}
.qs-input,.qs-textarea,.qs-select{width:100%;font-family:'Share Tech Mono',monospace;font-size:11px;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:7px 9px;letter-spacing:1px;outline:none;transition:border-color .15s;margin-bottom:6px;}
.qs-input:focus,.qs-textarea:focus{border-color:var(--border-bright);}
.qs-textarea{resize:none;height:52px;}
.qs-btn{width:100%;font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;padding:7px;border:1px solid var(--amber);background:rgba(232,160,32,.06);color:var(--amber);cursor:pointer;text-transform:uppercase;transition:all .15s;}
.qs-btn:hover{background:rgba(232,160,32,.14);}


.search-suggest{position:relative}
.search-suggest-list{display:none;position:absolute;left:0;right:0;top:100%;z-index:250;background:rgba(2,12,16,.98);border:1px solid var(--border-bright);max-height:220px;overflow-y:auto;box-shadow:0 8px 28px rgba(0,0,0,.45)}
.search-suggest-list.open{display:block}
.search-suggest-item{padding:8px 10px;border-bottom:1px solid rgba(26,74,82,.45);cursor:pointer;transition:background .12s,border-color .12s}
.search-suggest-item:hover,.search-suggest-item.active{background:rgba(32,200,232,.07)}
.search-suggest-item:last-child{border-bottom:none}
.search-suggest-label{font-family:'Courier Prime',monospace;font-size:11px;color:var(--text-bright);font-weight:700;line-height:1.3}
.search-suggest-meta{font-size:9px;color:var(--text-dim);letter-spacing:1px;margin-top:2px;text-transform:uppercase}
#effect-selector{position:static !important;bottom:auto !important;right:auto !important;z-index:auto !important;background:transparent;border:none;padding:10px 12px;width:auto;animation:none;display:block}
#effect-selector.hidden{display:block !important}
#effect-selector .es-list{max-height:160px}
.heat-toggle-btn{display:none !important}
.map-filter-panel{border-top:1px solid var(--border);flex:0 0 auto;display:flex;flex-direction:column;min-height:220px;background:rgba(4,15,18,.97)}
.app-footer{height:44px;padding-bottom:6px;border-top:1px solid var(--border);background:rgba(4,15,18,.99);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));z-index:140;flex-shrink:0;grid-column:1 / -1}
.app-footer .foot-stat{padding:6px 12px 6px;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:flex-end}
.app-footer .foot-stat:last-child{border-right:none}
.app-footer .foot-num{font-family:'VT323',monospace;font-size:22px;line-height:1;color:var(--text-bright)}
.app-footer .foot-lbl{font-size:8px;letter-spacing:2px;color:var(--text-dim);text-transform:uppercase;margin-top:0}
.map-left{overflow-y:hidden}.map-left .side-body{flex:0 0 auto !important;min-height:auto !important;padding-top:8px;padding-bottom:8px}.map-left .side-header + .side-body{margin-bottom:0}.map-left .panel-gap{display:none}.map-legend{display:none !important}.survey-stage{position:absolute;inset:0;z-index:120;background:var(--bg);display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:18px}.survey-stage.hidden{display:none}.survey-stage-frame{width:100%;height:100%;min-height:720px;border:none;background:transparent}.map-center.survey-active > #world-svg,.map-center.survey-active > #mtt,.map-center.survey-active > #map-topbar,.map-center.survey-active > #country-hud,.map-center.survey-active > #expand-btn,.map-center.survey-active > #detail-panel{display:none !important}

/* MAP */
.map-center{position:relative;overflow:hidden;background:var(--bg);}
#world-svg{width:100%;height:100%;display:block;}
.sphere-fill{fill:#08161c;}
.graticule-line{fill:none;stroke:rgba(32,120,140,.1);stroke-width:.4;}

/* country paths — default */
.country-path{fill:#0c2830;stroke:#1a5060;stroke-width:.35;cursor:pointer;transition:fill .1s,stroke .1s;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision;stroke-linejoin:round;stroke-linecap:round;}
.country-path.hovered{fill:#1c5a6a;stroke:#30a0b8;stroke-width:.45;}
.country-path.zoomed-country{fill:#0f3a46;stroke:var(--cyan);stroke-width:.42;}

/* effect heatmap mode */
.country-path.heat-0{fill:#0c2830;}
.country-path.heat-1{fill:#0d3d4a;}
.country-path.heat-2{fill:#0e4e5e;}
.country-path.heat-3{fill:#0f6070;}
.country-path.heat-4{fill:#107282;}
.country-path.heat-5{fill:#118898;}

.borders-path{fill:none;stroke:rgba(26,74,82,.35);stroke-width:.2;pointer-events:none;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision;}

/* state paths */
.state-path{fill:rgba(32,200,232,.04);stroke:rgba(32,200,232,.3);stroke-width:.5;cursor:pointer;transition:fill .15s,stroke .15s;pointer-events:visiblePainted;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision;stroke-linejoin:round;stroke-linecap:round;}
/* Keep stroke width equal to default so the outline stays on the same centerline as neighbors
   (thick strokes look “shifted” vs thin cyan boundaries). Emphasis = fill + stroke color only. */
.state-path.selected{fill:rgba(232,160,32,.3) !important;stroke:rgba(255,196,92,.98) !important;stroke-width:.5 !important;}
.state-path.heat-s-1{fill:rgba(32,200,232,.08);}
.state-path.heat-s-2{fill:rgba(32,200,232,.15);}
.state-path.heat-s-3{fill:rgba(32,200,232,.22);}
.state-path.heat-s-4{fill:rgba(232,160,32,.2);}
.state-path.heat-s-5{fill:rgba(232,160,32,.35);}
/* ONLY use JS-managed .hovered class — never CSS :hover (causes ghost selections) */
.state-path.hovered{fill:rgba(32,200,232,.28) !important;stroke:rgba(32,200,232,.95) !important;stroke-width:.5 !important;}
/* Disable country layer pointer-events when subdivisions are visible */
.subs-active .country-path.zoomed-country{pointer-events:none !important;}
.state-label{font-family:'Share Tech Mono',monospace;font-size:9px;fill:rgba(32,200,232,.6);pointer-events:none;text-anchor:middle;dominant-baseline:middle;}

/* breadcrumb */
#map-topbar{position:absolute;top:8px;left:8px;right:8px;display:flex;align-items:center;justify-content:space-between;z-index:50;pointer-events:none;}
.map-breadcrumb{display:flex;align-items:center;gap:6px;background:rgba(2,12,16,.9);border:1px solid var(--border);padding:5px 12px;font-size:10px;letter-spacing:2px;pointer-events:all;}
.bc-world{color:var(--text-dim);cursor:pointer;transition:color .15s;}.bc-world:hover{color:var(--cyan);}
.bc-sep{color:var(--border);}
.bc-country{color:var(--amber);}
.bc-sub{color:var(--cyan);}
.map-back-btn{background:rgba(2,12,16,.9);border:1px solid var(--cyan);color:var(--cyan);font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;padding:5px 12px;cursor:pointer;text-transform:uppercase;transition:all .15s;pointer-events:all;display:none;}
.map-back-btn.visible{display:block;}
.map-back-btn:hover{background:rgba(32,200,232,.1);}

/* HUD */
#country-hud{position:absolute;bottom:46px;left:8px;background:rgba(2,12,16,.94);border:1px solid var(--border);padding:8px 12px;font-size:10px;color:var(--text-dim);letter-spacing:2px;display:none;pointer-events:none;max-width:260px;}
#country-hud.visible{display:block;animation:fadeIn .15s ease;}
.hud-name{font-family:'VT323',monospace;font-size:22px;color:var(--text-bright);letter-spacing:3px;line-height:1.2;margin-bottom:3px;}
.hud-sub{font-size:9px;color:var(--text-dim);letter-spacing:1px;}
.hud-effects{font-size:9px;color:var(--amber);margin-top:2px;letter-spacing:1px;}

/* tooltip */
#mtt{position:absolute;pointer-events:none;background:rgba(2,12,16,.97);border:1px solid var(--border-bright);box-shadow:0 0 30px rgba(42,122,136,.35);padding:12px 16px;width:295px;display:none;z-index:500;animation:fadeIn .15s ease;}
.mtt-tag{font-size:9px;letter-spacing:2px;display:inline-block;padding:1px 6px;border:1px solid;margin-bottom:7px;}
.mtt-title{font-family:'Courier Prime',monospace;font-size:14px;color:var(--text-bright);font-weight:700;line-height:1.3;margin-bottom:8px;}
.mtt-votes{display:flex;gap:6px;margin-bottom:7px;}
.mtt-v{flex:1;padding:5px 7px;border:1px solid var(--border);background:rgba(0,0,0,.3);position:relative;overflow:hidden;}
.mtt-v-fill{position:absolute;bottom:0;left:0;height:2px;}
.mtt-v-lbl{font-size:8px;letter-spacing:1px;}
.mtt-v-pct{font-family:'VT323',monospace;font-size:20px;line-height:1;}
.mtt-total{font-size:9px;color:var(--text-dim);letter-spacing:1px;}
.mtt-hint{font-size:9px;color:var(--cyan);letter-spacing:1px;margin-top:7px;border-top:1px solid var(--border);padding-top:7px;}

.map-legend{position:absolute;bottom:36px;left:0;right:0;height:38px;border-top:1px solid var(--border);background:rgba(2,12,16,.92);display:flex;align-items:center;padding:0 14px;gap:16px;backdrop-filter:blur(4px);}
.leg-item{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--text-dim);letter-spacing:1px;}
.leg-dot{width:7px;height:7px;border-radius:50%;}
.map-expand-btn{position:absolute;top:8px;right:8px;font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;background:rgba(4,15,18,.88);border:1px solid var(--border);color:var(--text-dim);padding:5px 10px;cursor:pointer;transition:all .15s;z-index:60;}
.map-expand-btn:hover{border-color:var(--cyan);color:var(--cyan);}

/* detail panel */
#detail-panel{position:absolute;right:0;top:0;bottom:74px;width:360px;background:rgba(2,10,14,.97);border-left:1px solid var(--border-bright);box-shadow:-16px 0 50px rgba(0,0,0,.7);display:none;flex-direction:column;z-index:200;animation:slideRight .2s ease;backdrop-filter:blur(8px);}
#detail-panel.open{display:flex;}
.dp-hdr{padding:14px 14px 10px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;}
.dp-close{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:2px 5px;}
.dp-close:hover{color:var(--red);}
.dp-body{flex:1;overflow-y:auto;padding:14px;}
.dp-desc{font-family:'Courier Prime',monospace;font-size:12px;color:var(--text);line-height:1.7;margin-bottom:14px;}
.dp-vote-lbl{font-size:9px;letter-spacing:2px;color:var(--text-dim);text-transform:uppercase;margin-bottom:7px;}
.dp-vote-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);background:rgba(0,0,0,.2);cursor:pointer;transition:all .15s;position:relative;overflow:hidden;margin-bottom:5px;}
.dp-vote-row::after{content:'';position:absolute;bottom:0;left:0;height:2px;width:var(--w);transition:width .5s;}
.dp-vote-row.vr::after{background:var(--green);}.dp-vote-row.vd::after{background:var(--red);}.dp-vote-row.vu::after{background:var(--amber);}
.dp-vote-row:hover{border-color:var(--border-bright);}
.dp-vote-row.sel-r{border-color:var(--green);background:rgba(32,232,160,.05);}
.dp-vote-row.sel-d{border-color:var(--red);background:rgba(232,32,80,.05);}
.dp-vote-row.sel-u{border-color:var(--amber);background:rgba(232,160,32,.05);}
.dv-lbl{font-size:9px;letter-spacing:2px;text-transform:uppercase;flex:1;}
.vr .dv-lbl{color:var(--green);}.vd .dv-lbl{color:var(--red);}.vu .dv-lbl{color:var(--amber);}
.dv-pct{font-family:'VT323',monospace;font-size:24px;line-height:1;}
.vr .dv-pct{color:var(--green);}.vd .dv-pct{color:var(--red);}.vu .dv-pct{color:var(--amber);}
.dv-n{font-size:9px;color:var(--text-dim);min-width:70px;text-align:right;}
.dp-sec{font-size:9px;letter-spacing:3px;color:var(--text-dim);text-transform:uppercase;margin:12px 0 7px;padding-bottom:5px;border-bottom:1px solid var(--border);}
.ev-item{border:1px solid var(--border);padding:8px;margin-bottom:7px;background:var(--bg3);}
.ev-who{font-size:9px;color:var(--cyan);letter-spacing:1px;margin-bottom:3px;}
.ev-txt{font-family:'Courier Prime',monospace;font-size:11px;color:var(--text);line-height:1.5;}
.dp-ftr{padding:10px 14px;border-top:1px solid var(--border);display:flex;gap:7px;}

/* EFFECT HEATMAP SELECTOR */
#effect-selector{position:static !important;bottom:auto !important;right:auto !important;z-index:auto !important;background:transparent;border:none;padding:10px 12px;width:auto;animation:none;}
#effect-selector.hidden{display:block !important;}
.es-title{font-size:9px;letter-spacing:3px;color:var(--amber);text-transform:uppercase;margin-bottom:8px;}
.es-search{width:100%;font-family:'Share Tech Mono',monospace;font-size:11px;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:6px 9px;outline:none;letter-spacing:1px;margin-bottom:6px;transition:border-color .15s;}
.es-search:focus{border-color:var(--border-bright);}
.es-list{max-height:180px;overflow-y:auto;}
.es-item{padding:7px 9px;border:1px solid transparent;font-family:'Courier Prime',monospace;font-size:11px;color:var(--text);cursor:pointer;transition:all .12s;margin-bottom:3px;}
.es-item:hover{border-color:var(--border);background:rgba(255,255,255,.02);}
.es-item.selected{border-color:var(--amber);color:var(--amber);background:rgba(232,160,32,.06);}
.es-item-meta{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--text-dim);letter-spacing:1px;margin-top:2px;}
.es-clear{width:100%;font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;padding:5px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;text-transform:uppercase;margin-top:6px;transition:all .15s;}
.es-clear:hover{border-color:var(--red);color:var(--red);}

/* heatmap toggle btn */
.heat-toggle-btn{display:none !important;}
.heat-toggle-btn:hover{border-color:var(--amber);color:var(--amber);}
.heat-toggle-btn.active{border-color:var(--amber);color:var(--amber);background:rgba(232,160,32,.08);}

/* region breakdown in detail panel */
.region-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:5px;}
.rb-label{font-size:9px;color:var(--text);letter-spacing:1px;width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;}
.rb-bar{flex:1;height:6px;background:var(--border);position:relative;overflow:hidden;}
.rb-fill{position:absolute;top:0;left:0;height:100%;background:var(--amber);transition:width .5s;}
.rb-count{font-size:9px;color:var(--amber);min-width:40px;text-align:right;letter-spacing:1px;}

/* REGISTRY */
#registry-view{width:100%;height:100%;overflow:hidden;}
#registry-view,#evidence-view,#profile-view{grid-column:2;grid-row:1;min-height:0;width:100%;height:100%;display:block;}
.reg-wrap{display:grid;grid-template-columns:200px 1fr 220px;height:100%;overflow:hidden;}
.reg-side{border-right:1px solid var(--border);padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;}
.reg-main{overflow-y:auto;padding:14px 18px;}
.reg-right{border-left:1px solid var(--border);padding:14px;overflow-y:auto;}
.sec-lbl{font-size:9px;letter-spacing:3px;color:var(--text-bright);text-transform:uppercase;margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid var(--border);text-shadow:0 0 8px rgba(24,216,255,.22);}
.fi{display:flex;align-items:center;justify-content:space-between;padding:6px 9px;font-size:11px;color:var(--text);cursor:pointer;border:1px solid transparent;margin-bottom:3px;transition:all .12s;letter-spacing:1px;}
.fi:hover{border-color:var(--border);}.fi.active{border-color:var(--cyan-dim);color:var(--cyan);background:rgba(32,200,232,.04);}
.fi-c{font-size:9px;color:var(--text-dim);background:var(--bg3);padding:1px 5px;border:1px solid var(--border);}
.sblock{background:var(--bg3);border:1px solid var(--border);padding:10px;margin-bottom:7px;}
.snum{font-family:'VT323',monospace;font-size:28px;line-height:1;}
.slbl{font-size:9px;color:var(--text-dim);letter-spacing:2px;margin-top:2px;}
.tag{font-size:8px;letter-spacing:2px;padding:2px 6px;border:1px solid;text-transform:uppercase;display:inline-flex;align-items:center;gap:4px;}
.tag-pop{border-color:var(--amber-dim);color:var(--amber);background:rgba(232,160,32,.06);}
.tag-geo{border-color:var(--cyan-dim);color:var(--cyan);background:rgba(32,200,232,.06);}
.tag-media{border-color:#5a2a7a;color:var(--purple);background:rgba(180,80,255,.06);}
.tag-logo{border-color:var(--green-dim);color:var(--green);background:rgba(32,232,160,.06);}
/* HOT: animated border chase (not a category — distinct from .tag-red category chips) */
.tag-hot:not(.hot-trace){
  border-width:2px;
  border-style:solid;
  color:#ffc9d2 !important;
  background:rgba(36,10,18,.9) !important;
  animation:tagHotBorderChase 2s linear infinite !important;
}
@keyframes tagHotBorderChase{
  0%{border-color:rgba(255,95,95,.95) rgba(255,95,95,.14) rgba(255,95,95,.14) rgba(255,95,95,.14);}
  25%{border-color:rgba(255,95,95,.14) rgba(255,210,120,.92) rgba(255,95,95,.14) rgba(255,95,95,.14);}
  50%{border-color:rgba(255,95,95,.14) rgba(255,95,95,.14) rgba(255,130,150,.92) rgba(255,95,95,.14);}
  75%{border-color:rgba(255,95,95,.14) rgba(255,95,95,.14) rgba(255,95,95,.14) rgba(255,185,110,.92);}
  100%{border-color:rgba(255,95,95,.95) rgba(255,95,95,.14) rgba(255,95,95,.14) rgba(255,95,95,.14);}
}
.tag-red{border-color:var(--red-dim);color:var(--red);background:rgba(232,32,80,.1);}
.tag-brand{border-color:rgba(232,140,72,.42);color:#f0a868;background:rgba(232,140,72,.08);}
.tag-character{border-color:rgba(48,160,188,.4);color:var(--cyan);background:rgba(32,200,232,.07);}
.tag-spelling{border-color:rgba(176,120,232,.38);color:var(--purple);background:rgba(180,80,255,.07);}
.tag-generic,.tag-uncategorized,.tag-other{border-color:rgba(42,122,136,.45);color:var(--text);background:rgba(8,28,36,.55);}
.effects-shell{padding:18px;min-height:100%;}
.effects-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;}
.effects-kicker{font-size:9px;letter-spacing:3px;color:var(--text-bright);text-transform:uppercase;margin-bottom:8px;text-shadow:0 0 8px rgba(24,216,255,.22);}
.effects-title{font-family:'VT323',monospace;font-size:54px;line-height:.92;color:var(--amber);font-weight:400;letter-spacing:1px;text-shadow:var(--glow-amber);}
.effects-subtitle{max-width:760px;font-size:12px;line-height:1.7;color:var(--text);margin-top:8px;}
.effects-tools{display:flex;flex-direction:column;gap:10px;min-width:280px;}
.effects-new-btn{width:100%;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:11px 12px;border:1px solid rgba(232,160,32,.45);background:rgba(232,160,32,.08);color:var(--amber);cursor:pointer;}
.effects-new-btn:hover{background:rgba(232,160,32,.12);border-color:var(--amber);}
.effects-search,.effects-sort{width:100%;font-family:'Share Tech Mono',monospace;font-size:11px;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:10px 12px;letter-spacing:1px;outline:none;}
.effects-search:focus,.effects-sort:focus{border-color:var(--border-bright);box-shadow:var(--glow-cyan);}
.effects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start;width:100%;}
@media (max-width:1280px){.effects-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:900px){.effects-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){.effects-grid{grid-template-columns:1fr;}}
.effects-grid > *{min-width:0;}
.effects-grid > .ecard{max-width:100%;width:100%;box-sizing:border-box;}
.ecard{border:1px solid var(--border);background:linear-gradient(180deg,rgba(8,24,29,.98),rgba(5,15,19,.98));position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s;animation:fadeIn .3s ease both;box-shadow:0 0 0 1px rgba(10,32,38,.85) inset,0 14px 30px rgba(0,0,0,.24);}
.ecard:hover{border-color:var(--border-bright);transform:translateY(-1px);box-shadow:0 0 0 1px rgba(26,90,104,.55) inset,0 18px 36px rgba(0,0,0,.32);}
.ec-hero{position:relative;aspect-ratio:1/1;overflow:hidden;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#08151a,#061015);}
.ec-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,8,10,.18) 0%,rgba(2,8,10,.08) 42%,rgba(2,8,10,.78) 100%);pointer-events:none;}
.ec-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.94) contrast(1.02);}
.ec-chipstack{position:absolute;top:10px;left:10px;display:flex;flex-wrap:wrap;gap:6px;z-index:2;max-width:58%;}
.ec-id-menu{position:absolute;top:10px;right:10px;z-index:3;}
.ec-id-trigger{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:4px 7px;border:1px solid var(--border-bright);background:rgba(3,10,13,.88);color:var(--text-bright);cursor:pointer;}
.ec-id-trigger:hover{border-color:var(--amber);color:var(--amber);}
.ec-id-chip{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:4px 7px;border:1px solid var(--border-bright);background:rgba(3,10,13,.88);color:var(--text-bright);cursor:default;pointer-events:none;}
.ec-id-chip:hover{border-color:var(--border-bright);color:var(--text-bright);}
.ec-id-menu-pop{position:absolute;top:calc(100% + 6px);right:0;min-width:132px;padding:6px;border:1px solid var(--border);background:rgba(4,13,17,.97);box-shadow:0 12px 26px rgba(0,0,0,.36);display:none;}
.ec-id-menu.open .ec-id-menu-pop{display:grid;gap:4px;}
.ec-id-action{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:7px 8px;border:1px solid var(--border);background:var(--bg3);color:var(--text);cursor:pointer;text-align:left;}
.ec-id-action:hover{border-color:var(--border-bright);color:var(--text-bright);} 
.ec-title-chip{position:absolute;right:10px;bottom:10px;z-index:4;max-width:82%;padding:8px 10px;border:1px solid rgba(232,160,32,.38);background:rgba(3,10,13,.88);color:var(--text-bright);font-family:'Courier Prime',monospace;font-size:15px;line-height:1;font-weight:700;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 0 0 1px rgba(232,160,32,.08) inset;}
a.ec-title-chip{text-decoration:none;color:inherit;cursor:pointer;}
a.ec-title-chip:hover{border-color:rgba(232,160,32,.55);color:var(--text-bright);}
a.ec-title-chip:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;}
.ec-body{padding:12px;display:flex;flex-direction:column;gap:10px;}
.ec-row{display:grid;gap:8px;}
.ec-row.ec-row-3,.ec-row.ec-row-meta{grid-template-columns:repeat(3,minmax(0,1fr));}
.ec-stat{border:1px solid var(--border);background:rgba(3,11,14,.85);padding:8px 9px;min-height:58px;}
.ec-stat-label{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:5px;}
.ec-stat-value{font-family:'VT323',monospace;font-size:26px;line-height:.95;color:var(--text-bright);}
.ec-stat-sub{font-size:9px;color:var(--text-dim);letter-spacing:1px;margin-top:3px;}
.ec-stat.shared .ec-stat-value{color:var(--green);}
.ec-stat.accepted .ec-stat-value{color:var(--cyan);}
.ec-stat.unknown .ec-stat-value{color:var(--amber);}
.ec-meta-pill{border:1px solid var(--border);background:rgba(3,11,14,.82);padding:8px 9px;min-height:48px;display:flex;flex-direction:column;justify-content:center;}
.ec-meta-label{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;}
.ec-meta-value{font-size:12px;color:var(--text-bright);line-height:1.25;}
.ec-meta-value.status-active{color:var(--green);}
.ec-meta-value.status-inactive{color:var(--red);}
.ec-accordion-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--amber);background:transparent;border:1px dashed var(--amber-dim);padding:8px 10px;cursor:pointer;}
.ec-accordion-btn:hover{border-color:var(--amber);background:rgba(232,160,32,.05);}
.ec-accordion-meta{font-size:9px;color:var(--text-dim);letter-spacing:1px;}
.ec-ev-panel{display:none;gap:6px;}
.ec-ev-actions{display:flex;justify-content:flex-end;margin-top:2px;}
.ec-ev-submit{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:7px 10px;border:1px solid rgba(232,160,32,.35);background:rgba(232,160,32,.06);color:var(--amber);cursor:pointer;}
.ec-ev-submit:hover{border-color:var(--amber);background:rgba(232,160,32,.1);}
.ec-ev-panel.open{display:grid;animation:fadeIn .2s ease;}
.ev-item{padding:8px 10px;border:1px solid var(--border);background:var(--bg3);}
.ev-who{font-size:9px;letter-spacing:2px;color:var(--cyan);margin-bottom:4px;}
.ev-txt{font-size:11px;color:var(--text-bright);line-height:1.5;}
@media (max-width: 980px){.effects-head{flex-direction:column;}.effects-tools{width:100%;min-width:0;}.effects-title{font-size:42px;}}
@media (max-width: 520px){
  .ec-row.ec-row-3,
  .ec-row.ec-row-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
  .ec-row.ec-row-3 .ec-stat,
  .ec-row.ec-row-meta .ec-meta-pill{padding:6px 5px;min-height:46px;}
  .ec-row.ec-row-3 .ec-stat-label,
  .ec-row.ec-row-meta .ec-meta-label{font-size:7px;letter-spacing:1px;margin-bottom:3px;}
  .ec-row.ec-row-3 .ec-stat-value{font-size:clamp(16px,5.2vw,24px);}
  .ec-row.ec-row-meta .ec-meta-value{font-size:11px;}
}
.tr-item{padding:9px;border:1px solid var(--border);background:var(--bg3);margin-bottom:7px;cursor:pointer;transition:all .15s;position:relative;}
.tr-item:hover{border-color:var(--border-bright);}
.tr-rk{font-family:'VT323',monospace;font-size:22px;color:var(--border);position:absolute;top:5px;right:7px;line-height:1;}
.tr-nm{font-family:'Courier Prime',monospace;font-size:11px;color:var(--text-bright);font-weight:700;margin-bottom:3px;padding-right:20px;}
.tr-bar{height:2px;background:var(--border);margin:4px 0;overflow:hidden;position:relative;}
.tr-fill{position:absolute;top:0;left:0;height:100%;background:var(--amber);}
.tr-st{font-size:9px;color:var(--text-dim);letter-spacing:1px;}
.tr-st span{color:var(--amber);}

#evidence-view,#profile-view{width:100%;height:100%;overflow-y:auto;padding:24px;}
.view-center{max-width:900px;margin:0 auto;padding:24px;}
#home-view .page-title{font-family:'VT323',monospace;font-size:46px;letter-spacing:4px;color:var(--amber);margin-bottom:16px;text-shadow:var(--glow-amber);line-height:1;}
#registry-view,#evidence-view,#profile-view{padding:18px;overflow:auto;}
#registry-view .reg-main{padding:0 !important;overflow:auto;height:100%;}
#cards-container{display:flex;flex-direction:column;gap:28px;width:100%;box-sizing:border-box;}
#cards-container > .effects-section:first-child{margin-top:0;}
.effects-section{margin-top:24px;}
.effects-section--active{margin-top:0;padding-bottom:4px;border-bottom:1px solid rgba(34,184,207,.22);}
.effects-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 12px;}
.effects-section-sub{font-size:11px;line-height:1.5;color:var(--text-dim);max-width:720px;}
.effects-section-count{min-width:44px;text-align:center;padding:8px 10px;border:1px solid var(--border);background:var(--bg3);color:var(--text-bright);font-family:'Share Tech Mono',monospace;font-size:12px;}
.effects-section-empty{padding:18px;border:1px solid var(--border);background:var(--bg2);color:var(--text-dim);font-size:11px;letter-spacing:1px;}
.effects-section-inactive .effects-section-head .effects-kicker{color:var(--text-bright);}
.effects-section-quarantine .effects-section-head .effects-kicker{color:var(--amber);}
.effects-admin-below{display:flex;flex-direction:column;gap:22px;padding:18px 16px 20px;border:1px solid rgba(232,160,32,.32);border-radius:2px;background:linear-gradient(165deg,rgba(18,42,48,.38),rgba(4,14,18,.96));box-shadow:inset 0 0 0 1px rgba(25,55,60,.55),0 12px 28px rgba(0,0,0,.22);}
.effects-admin-below-hd{margin:0;padding-bottom:14px;border-bottom:1px solid var(--border);}
.effects-admin-below-eyebrow{font-size:9px;letter-spacing:3px;color:var(--amber);text-transform:uppercase;margin-bottom:8px;}
.effects-admin-below-title{font-family:'VT323',monospace;font-size:28px;color:var(--text-bright);letter-spacing:1px;line-height:1.1;margin-bottom:8px;}
.effects-admin-below-copy{margin:0;font-size:11px;line-height:1.55;color:var(--text-dim);max-width:720px;}
.effects-admin-below .effects-section{margin-top:0;}
#registry-view .reg-main .ecard{padding:0;border:1px solid var(--border);background:transparent;}
#evidence-view .view-center,#profile-view .view-center{max-width:none;height:100%;display:flex;flex-direction:column;justify-content:flex-start;}


.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px);}
.modal-overlay.hidden{display:none;}
.modal{background:var(--bg2);border:1px solid var(--border-bright);box-shadow:0 0 50px rgba(42,122,136,.25);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:fadeIn .2s ease;}

.modal.modal-survey{max-width:min(1100px,92vw);height:min(860px,88vh);overflow:hidden;padding:0;background:rgba(3,12,16,.98)}
.modal-survey .survey-frame{width:100%;height:100%;border:0;display:block;background:transparent}

.mhdr{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.mtitle{font-family:'VT323',monospace;font-size:22px;color:var(--amber);letter-spacing:3px;}
.mclose{font-size:16px;color:var(--text-dim);background:none;border:none;cursor:pointer;}
.mclose:hover{color:var(--red);}
.mbody{padding:16px;}
.fg{margin-bottom:12px;}
.fl{font-size:9px;letter-spacing:3px;color:var(--text-label);text-transform:uppercase;margin-bottom:5px;display:block;text-shadow:0 0 8px rgba(24,216,255,.14);}
.fi2,.ft,.fs2,.auth-input{width:100%;font-family:'Share Tech Mono',monospace;font-size:12px;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:8px 10px;letter-spacing:1px;outline:none;transition:border-color .15s;}
.fi2::placeholder,.ft::placeholder,.fs2::placeholder,.auth-input::placeholder{color:var(--text-label);opacity:.82;}
.fi2:focus,.ft:focus,.auth-input:focus{border-color:var(--border-bright);}
.mm-auth-brand{text-align:center;margin-bottom:14px;}
.mm-auth-brand-title{font-family:'VT323',monospace;font-size:34px;color:var(--amber);letter-spacing:6px;line-height:1;}
.mm-auth-brand-kicker{font-size:9px;color:var(--text-label);letter-spacing:3px;text-transform:uppercase;margin-top:4px;}
.mm-auth-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px;margin-top:2px;}
.mm-auth-links-group{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;}
.mm-auth-links-label{font-size:9px;letter-spacing:1px;color:var(--text-label);white-space:nowrap;}
.mm-auth-links-sep{color:var(--border-bright);opacity:.55;font-size:11px;line-height:1;user-select:none;padding:0 2px;}
.btn-auth-link{font-size:9px;letter-spacing:1.5px;padding:4px 10px;border-color:rgba(24,216,255,.42);color:var(--cyan);background:rgba(24,216,255,.06);white-space:nowrap;}
.btn-auth-link:hover{border-color:var(--cyan);box-shadow:var(--glow-cyan);background:rgba(24,216,255,.12);color:var(--text-bright);}
.ft{resize:vertical;min-height:72px;}
.mftr{padding:10px 16px;border-top:1px solid var(--border);display:flex;gap:7px;justify-content:flex-end;}

#notif{position:fixed;bottom:18px;right:18px;background:var(--bg2);border:1px solid var(--green);box-shadow:var(--glow-green);padding:9px 16px;font-size:10px;color:var(--green);letter-spacing:2px;z-index:2000;text-transform:uppercase;animation:fadeIn .2s ease;}
#notif.hidden{display:none;}
::-webkit-scrollbar{width:4px;}::-webkit-scrollbar-track{background:var(--bg);}::-webkit-scrollbar-thumb{background:var(--border);}::-webkit-scrollbar-thumb:hover{background:var(--border-bright);}

@media (min-width: 2200px){
  .content{grid-template-columns:clamp(210px,12vw,260px) minmax(0,1fr) clamp(210px,12vw,260px);}
  header{height:48px;padding:0 14px;}
  .tab{padding:0 14px;height:48px;}
  .logo{font-size:22px;}
  .side-header{padding:8px 12px 7px;}
  .side-body{padding:8px 10px;}
  .rank-item{padding:7px 9px;margin-bottom:5px;}
}


.map-left{display:grid;grid-template-rows:auto minmax(7rem,1fr) auto auto;align-content:stretch;}
.map-right{display:grid;grid-template-rows:auto minmax(7rem,1fr) auto minmax(7rem,1fr);align-content:stretch;}
#recent-signals,#top-votes,#top-divisive{min-height:0;overflow-y:auto;}
.map-filter-panel{min-height:0;max-height:42%;display:flex;flex-direction:column;}
#effect-selector{display:flex;flex-direction:column;min-height:0;height:100%;}
#effect-selector .es-list{flex:1;min-height:5rem;overflow-y:auto;}
.quick-submit{margin-top:0;align-self:stretch;}
.app-footer{
  height:4.5rem;
  padding:0.5rem 0 0.9rem;
  border-top:1px solid var(--border);
  background:rgba(4,15,18,.99);
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:center;
  z-index:140;
  flex-shrink:0;
}

.app-footer .foot-stat{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:0 .9rem;
  border-right:1px solid var(--border);
  min-width:0;
}

.app-footer .foot-stat:last-child{
  border-right:none;
}

.app-footer .foot-num{
  font-family:'VT323',monospace;
  font-size:2rem;
  line-height:1;
  color:var(--text-bright);
}

.app-footer .foot-lbl{
  font-size:.625rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text-dim);
  margin-top:.15rem;
}
@media (max-height: 900px){
  .content{grid-template-columns:clamp(12rem,15vw,15rem) minmax(0,1fr) clamp(12rem,15vw,15rem);}
  .side-header{padding:0.45rem 0.7rem 0.35rem;}
  .side-body{padding:0.45rem 0.6rem;}
  .rank-item{padding:0.35rem 0.45rem;margin-bottom:0.25rem;}
  .qs-btn{padding:0.4rem;}
  .app-footer{height:3.75rem;padding:0.35rem 0 0.55rem;}
}


.map-right #top-votes,
.map-right #top-divisive{
  flex:0 0 auto !important;
  overflow-y:auto;
  max-height:min(34vh, 22rem);
}
.map-right .side-header + #top-votes{margin-bottom:0;}
.map-right > div[style*="border-top"]{margin-top:0;}
.map-left #recent-signals{max-height:min(34vh, 22rem);}
.app-footer{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:center;
}
.foot-stat{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:0 .9rem;
  border-right:1px solid var(--border);
}
.foot-stat:last-child{border-right:none;}
.foot-num{font-family:'VT323',monospace;font-size:2rem;line-height:1;color:var(--text-bright);}
.foot-lbl{font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-top:.15rem;}
@media (max-height: 1080px){
  .map-left #recent-signals{max-height:26vh;}
  .map-right #top-votes,.map-right #top-divisive{max-height:22vh;}
}


/* v11 layout cleanup */
.map-left,.map-right{
  display:flex !important;
  flex-direction:column !important;
  align-content:normal !important;
  justify-content:flex-start !important;
}
.map-left .side-header,
.map-right .side-header{
  flex:0 0 auto !important;
}
.map-left #recent-signals:not(.recent-signals-list),
.map-right #top-votes,
.map-right #top-divisive{
  flex:0 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-y:auto !important;
}
.map-left #recent-signals.recent-signals-list{
  flex:0 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:calc(5 * 3.1rem) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
.map-filter-panel{
  flex:0 0 auto !important;
  max-height:none !important;
}
.quick-submit{
  flex:0 0 auto !important;
  margin-top:0 !important;
}
.app-footer{
  height:3.5rem !important;
  padding:0 !important;
  border-top:1px solid var(--border) !important;
  background:rgba(4,15,18,.99) !important;
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  align-items:stretch !important;
}
.app-footer .foot-stat{
  padding:.35rem .75rem .3rem !important;
  border-right:1px solid var(--border) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  min-width:0 !important;
}
.app-footer .foot-stat:last-child{border-right:none !important;}
.app-footer .foot-num{
  font-family:'VT323',monospace !important;
  font-size:1.375rem !important;
  line-height:1 !important;
  color:var(--text-bright) !important;
}
.app-footer .foot-lbl{
  font-size:.5rem !important;
  letter-spacing:.125rem !important;
  color:var(--text-dim) !important;
  text-transform:uppercase !important;
  margin-top:0 !important;
}
/* rail component shell */
.rail-component-shell{
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(10,32,40,.92), rgba(6,22,28,.96));
  box-shadow:inset 0 0 0 1px rgba(13,79,95,.22), 0 0 0 1px rgba(5,18,24,.65);
  margin:0 0 10px;
}

.rail-component-shell__inner{
  padding:10px 10px 12px;
}

.rail-component-shell .sec-lbl,
.rail-component-shell [class*="sec-lbl"]{
  margin-bottom:8px;
}

/* rank items */
.rank-item{
  background:linear-gradient(135deg, rgba(9,24,30,.95), rgba(7,20,26,.95));
  border-color:var(--border);
  padding:9px 11px;
  transition:all .15s;
  position:relative;
}

.rank-item::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:var(--amber);
  opacity:.3;
  transition:opacity .15s;
}

.rank-item:hover{
  border-color:var(--border-bright);
  background:linear-gradient(135deg, rgba(14,36,46,.95), rgba(10,28,36,.95));
  transform:translateX(1px);
}

.rank-item:hover::before{
  opacity:.85;
}

.rank-item::after{
  background:linear-gradient(90deg, var(--amber), transparent);
}

.rank-num{
  font-size:26px;
  color:rgba(240,168,50,.35);
  min-width:26px;
}

.rank-item:hover .rank-num{
  color:rgba(240,168,50,.75);
}

.rank-bar{
  height:1px;
  margin-top:6px;
  background:var(--border);
}

.rank-bar-fill{
  background:linear-gradient(90deg, var(--amber), rgba(240,168,50,.3));
}

/* recent signals */
.recent-item{
  background:linear-gradient(135deg, rgba(9,24,30,.95), rgba(7,20,26,.95));
  border-color:var(--border);
  transition:all .15s;
}

.recent-item:hover{
  border-color:var(--border-bright);
  background:linear-gradient(135deg, rgba(14,36,46,.95), rgba(10,28,36,.95));
  transform:translateX(1px);
}

.recent-time{
  opacity:.55;
}

/* locate / search panel */
.quick-submit{
  background:linear-gradient(0deg, rgba(5,16,20,.98), rgba(4,13,17,.92));
  border-top-color:var(--border);
  padding:12px 13px;
}

.qs-title{
  opacity:.6;
  margin-bottom:9px;
}

.qs-input{
  background:rgba(4,12,16,.9);
  border-color:var(--border);
  transition:all .15s;
  font-size:10px;
}

.qs-input:focus{
  border-color:var(--cyan);
  box-shadow:var(--glow-cyan);
}
/* ===== rails parity pass ===== */

/* remove scaffold feel from rail headers */
.side-header{
  padding:8px 10px 6px !important;
  background:rgba(6,18,22,.94) !important;
}
.side-title{
  font-size:8px !important;
  letter-spacing:3px !important;
  opacity:.45 !important;
}
.side-subtitle{
  font-size:10px !important;
  letter-spacing:2px !important;
  color:var(--amber) !important;
  opacity:.9 !important;
}

/* rail body density */
.side-body{
  padding:8px 8px 10px !important;
}

/* left/right rail wrappers */
.map-left,
.map-right{
  background:rgba(4,15,18,.98) !important;
}

/* make component panels look like the style build */
.rail-component-shell{
  margin:0 0 8px !important;
  border:1px solid rgba(42,122,136,.45) !important;
  background:linear-gradient(180deg, rgba(8,24,30,.96), rgba(6,18,24,.98)) !important;
  box-shadow:inset 0 0 0 1px rgba(18,66,78,.22) !important;
}
.rail-component-shell__inner{
  padding:8px 8px 10px !important;
}

/* recent signals: scroll list (~5 rows); data capped in JS/API */
#recent-signals.recent-signals-list{
  min-height:0 !important;
  max-height:calc(5 * 3.1rem) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:4px 4px 12px 4px !important;
  box-sizing:border-box !important;
  background:rgba(4,15,18,.96) !important;
  scrollbar-width:thin;
  scrollbar-color:rgba(36,100,120,.65) rgba(4,15,18,.4);
}
#recent-signals.recent-signals-list::-webkit-scrollbar{width:6px;}
#recent-signals.recent-signals-list::-webkit-scrollbar-track{background:rgba(4,15,18,.35);margin:2px 0 8px;border-radius:3px;}
#recent-signals.recent-signals-list::-webkit-scrollbar-thumb{background:rgba(36,100,120,.55);border-radius:3px;}
#recent-signals.recent-signals-list .recent-item:last-child{margin-bottom:0 !important;}
.recent-item{
  padding:7px 8px !important;
  margin-bottom:5px !important;
  border-color:rgba(32,120,140,.35) !important;
  background:rgba(6,20,26,.88) !important;
}
.recent-time{
  font-size:8px !important;
  letter-spacing:1.5px !important;
  margin-bottom:2px !important;
}
.recent-title{
  font-size:10px !important;
  line-height:1.25 !important;
}

/* top lists */
#top-votes,
#top-divisive,
#top-effects{
  min-height:11rem !important;
}
.rank-item{
  padding:7px 8px !important;
  margin-bottom:5px !important;
  border-color:rgba(32,120,140,.35) !important;
  background:rgba(6,20,26,.88) !important;
}
.rank-num{
  font-size:20px !important;
  min-width:18px !important;
  color:rgba(240,168,50,.55) !important;
}
.rank-title{
  font-size:10px !important;
  line-height:1.2 !important;
}
.rank-meta{
  margin-top:2px !important;
}
/* Map right rail: category tag + vote/split must stay on one row */
.map-right .side-body#top-votes .rank-meta,
.map-right .side-body#top-divisive .rank-meta{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:6px !important;
  width:100%;
  box-sizing:border-box;
}
.map-right .side-body#top-votes .rank-meta > .tag,
.map-right .side-body#top-divisive .rank-meta > .tag{
  flex-shrink:0;
}
.map-right .side-body#top-votes .rank-meta > .rank-votes,
.map-right .side-body#top-divisive .rank-meta > .rank-votes{
  flex:0 1 auto;
  min-width:0;
  white-space:nowrap;
}
.rank-votes{
  font-size:8px !important;
}
.rank-bar{
  margin-top:4px !important;
}

/* locate/search panel */
.quick-submit{
  padding:8px 8px 10px !important;
}
.qs-title{
  font-size:8px !important;
  letter-spacing:3px !important;
  margin-bottom:6px !important;
}
.qs-input,
.qs-textarea,
.qs-select{
  font-size:10px !important;
  padding:6px 8px !important;
  margin-bottom:5px !important;
}
.qs-btn{
  font-size:9px !important;
  padding:6px !important;
}

/* if the heatmap/filter panel is mounted, make it look right */
.map-filter-panel{
  border-top:1px solid rgba(42,122,136,.35) !important;
  background:linear-gradient(180deg, rgba(8,24,30,.95), rgba(6,18,24,.98)) !important;
  padding-top:8px !important;
}
#effect-selector{
  padding:8px 8px 10px !important;
}
#effect-selector .es-list{
  max-height:180px !important;
}
.es-item{
  font-size:10px !important;
  padding:6px 7px !important;
}

/* ===== center map position parity ===== */

@media (max-width: 900px){
  html:not(.mm-mob-chrome) .content{
    grid-template-columns: 9rem minmax(0,1fr) 9rem !important;
  }

  .side-body{
    padding:6px 6px 8px !important;
  }

  .rank-item,
  .recent-item{
    padding:6px 6px !important;
  }

  .rank-title,
  .recent-title{
    font-size:9px !important;
  }
}

@media (max-width: 1180px){
  .content{
    grid-template-columns: clamp(8rem, 11vw, 12rem) minmax(0, 1fr) clamp(8rem, 11vw, 12rem) !important;
  }
  .app-footer .foot-num{font-size:1.05rem !important;}
  .app-footer .foot-lbl{font-size:0.45rem !important; letter-spacing:0.1em !important;}
  .app-footer .foot-stat{padding:0.28rem 0.4rem !important;}
}

/* Header CTAs: full label only ≥1400px. Below that, icon-only always (no 901px gap — that briefly turned labels back on). */
@media (max-width: 1399px){
  header .header-right .header-cta .header-cta-label,
  header .header-right #header-submit-effect .btn-submit-label{display:none !important;}
  header .header-right .header-cta,
  header .header-right #header-submit-effect.header-cta{
    gap:0;
    padding:5px 10px;
    min-width:34px;
    letter-spacing:0;
    justify-content:center;
  }
  header .header-right #authBtn.btn-sign-in .header-cta-label{display:none !important;}
  header .header-right #authBtn.btn-sign-in.header-cta{
    gap:0;
    padding:5px 10px;
    min-width:34px;
    letter-spacing:0;
    justify-content:center;
  }
}

/* Slightly tighter nav; do not shrink icon-only header CTAs back to tiny text. */
@media (max-width: 960px){
  .tab{padding:0 10px;font-size:10px;letter-spacing:1px;}
  .header-right > .btn:not(.header-cta){font-size:10px;padding:4px 8px;letter-spacing:1px;}
}

@media (max-width: 720px){
  .tab{padding:0 8px;font-size:9px;letter-spacing:1px;}
  .btn:not(.header-cta){font-size:10px;padding:4px 8px;}
}

/* ===== toast restore ===== */
.mm-toast-stack{
  position:fixed;
  top:58px;
  right:16px;
  left:auto;
  transform:none;
  z-index:1200;
  display:flex;
  flex-direction:column;
  gap:10px;
  pointer-events:none;
  align-items:flex-end;
}

.mm-toast{
  min-width:min(320px,92vw);
  max-width:min(560px,96vw);
  display:grid;
  grid-template-columns:4px 1fr auto;
  background:rgba(4,15,18,.97);
  border:1px solid var(--border-bright);
  box-shadow:0 14px 34px rgba(0,0,0,.42);
  pointer-events:auto;
}

.mm-toast-accent{
  background:var(--cyan);
  box-shadow:var(--glow-cyan);
}

.mm-toast-body{
  padding:10px 12px;
}

.mm-toast-title{
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--text-dim);
  margin-bottom:4px;
}

.mm-toast-message{
  font-family:'Courier Prime',monospace;
  font-size:12px;
  line-height:1.5;
  color:var(--text-bright);
}

.mm-toast-close{
  align-self:start;
  margin:8px 8px 0 0;
  width:24px;
  height:24px;
  border:1px solid var(--border);
  background:transparent;
  color:var(--text-dim);
  cursor:pointer;
  font:inherit;
}

.mm-toast-close:hover{
  border-color:var(--red);
  color:var(--red);
}

.mm-toast-success .mm-toast-accent{
  background:var(--green);
  box-shadow:var(--glow-green);
}

.mm-toast-error .mm-toast-accent{
  background:var(--red);
  box-shadow:var(--glow-red);
}
/* ── Rail component shell: transparent passthrough for GPT-style components ──
   Components like #recent-signals, #top-votes, #effect-selector own their own
   layout and must sit as direct flex children of the rail. The wrapper shell
   must not add any visual chrome or flex disruption.                          */
.rail-component-shell {
  display: contents !important;
}
.rail-component-shell__inner {
  display: contents !important;
}


/* Intro-on-map onboarding */
.map-center.map-intro-open > #world-svg,
.map-center.map-intro-open > #mtt,
.map-center.map-intro-open > #map-topbar,
.map-center.map-intro-open > #country-hud,
.map-center.map-intro-open > #expand-btn,
.map-center.map-intro-open > #detail-panel,
.map-center.map-intro-open > .map-legend,
.map-center.map-intro-open > #map-status{filter:blur(5px);opacity:.42;pointer-events:none;transition:filter .24s ease,opacity .24s ease;}
.map-intro-overlay{position:absolute;inset:0;z-index:180;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(2,8,10,.18);backdrop-filter:blur(2px);}
.map-intro-overlay[hidden]{display:none !important;}
.map-intro-modal{width:min(920px,calc(100% - 26px));max-height:calc(100% - 26px);border:1px solid rgba(52,92,98,.82);background:linear-gradient(180deg,rgba(4,18,24,.96) 0%,rgba(2,11,15,.98) 100%);box-shadow:inset 0 0 0 1px rgba(25,55,60,.65),0 20px 60px rgba(0,0,0,.42);overflow:hidden;}
.map-intro-shell{display:flex;flex-direction:column;min-height:240px;max-height:calc(100vh - 120px);}
.map-intro-copy{padding:28px 30px 24px;display:flex;flex-direction:column;gap:12px;}
.map-intro-kicker{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:#86d8c2;opacity:.84;}
.map-intro-title{margin:0;font-size:clamp(28px,4vw,44px);line-height:1;color:var(--text-bright);}
.map-intro-text{margin:0;color:rgba(218,231,226,.84);line-height:1.55;font-size:14px;max-width:62ch;}
.map-intro-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;}
.map-intro-embed{flex:1 1 auto;min-height:70vh;border-top:1px solid rgba(52,92,98,.6);background:rgba(2,10,14,.94);}
.map-intro-frame{display:block;width:100%;height:100%;min-height:70vh;border:none;background:transparent;}
#find-timeline-btn.mm-ping-once{animation:mmFindTimelinePing .82s ease-out 1;}
#find-timeline-btn.mm-breathe{animation:mmFindTimelineBreathe 2.2s ease-in-out infinite;}
@keyframes mmFindTimelinePing{0%{box-shadow:0 0 0 0 rgba(232,160,32,.72)}70%{box-shadow:0 0 0 16px rgba(232,160,32,0)}100%{box-shadow:0 0 0 0 rgba(232,160,32,0)}}
@keyframes mmFindTimelineBreathe{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(232,160,32,.08)}50%{transform:scale(1.04);box-shadow:0 0 0 4px rgba(232,160,32,.18)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(232,160,32,.08)}}
@media (max-width:760px){.map-intro-overlay{padding:12px}.map-intro-modal{width:100%;max-height:calc(100% - 10px)}.map-intro-copy{padding:20px 18px 18px}.map-intro-actions{flex-direction:column}.map-intro-actions .btn{width:100%}.map-intro-embed,.map-intro-frame{min-height:78vh}}


.map-intro-modal{width:min(1240px,calc(100% - 40px));height:min(760px,calc(100% - 34px));max-height:calc(100% - 34px)}
.map-intro-shell{height:100%;min-height:0;max-height:none}
.map-intro-embed,.map-intro-frame{min-height:0;height:100%}
.map-intro-embed.is-live{border-top:none}
#find-timeline-btn{position:relative;overflow:hidden;isolation:isolate}
#find-timeline-btn.mm-breathe{color:var(--amber) !important;border-color:var(--amber);background:rgba(3,12,16,.96);box-shadow:0 0 0 1px rgba(232,160,32,.1),0 0 18px rgba(232,160,32,.12)}
#find-timeline-btn.mm-breathe::before{content:"";position:absolute;inset:2px;background:rgba(232,160,32,.14);z-index:-1;animation:mmButtonBreathFill 2.4s ease-in-out infinite}
#find-timeline-btn.mm-breathe span,#find-timeline-btn.mm-breathe{mix-blend-mode:normal}
#find-timeline-btn.mm-breathe:hover{color:var(--amber) !important}
@keyframes mmButtonBreathFill{0%,100%{opacity:.08;box-shadow:inset 0 0 0 rgba(232,160,32,0)}50%{opacity:.92;box-shadow:inset 0 0 28px rgba(232,160,32,.58)}}
.mm-sonar-ring{position:fixed;left:0;top:0;width:22px;height:22px;border-radius:999px;border:.75px solid rgba(232,160,32,.82);box-shadow:0 0 0 .75px rgba(232,160,32,.06);transform:translate(-50%,-50%) scale(1);transform-origin:center center;pointer-events:none;z-index:1800;animation:mmSonarZoom var(--mm-sonar-duration,1.6s) ease-out forwards}
@keyframes mmSonarZoom{0%{opacity:0;transform:translate(-50%,-50%) scale(var(--mm-sonar-scale-start,52))}9%{opacity:.72}38%{opacity:.4;transform:translate(-50%,-50%) scale(10)}70%{opacity:.14;transform:translate(-50%,-50%) scale(3)}100%{opacity:0;transform:translate(-50%,-50%) scale(1)}}
@media (max-width:760px){.map-intro-modal{width:calc(100% - 12px);height:calc(100% - 12px);max-height:calc(100% - 12px)}.map-intro-shell{height:100%}.map-intro-embed,.map-intro-frame{height:100%}}

.evidence-remove-img-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.evidence-remove-img-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--border-bright);background:rgba(4,15,18,.92);color:var(--text);cursor:pointer;border-radius:2px;transition:border-color .15s ease,color .15s ease,box-shadow .15s ease}
.evidence-remove-img-btn:hover{border-color:rgba(232,32,80,.65);color:var(--red);box-shadow:0 0 0 1px rgba(232,32,80,.18)}
.evidence-remove-img-btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.evidence-trash-svg{display:block;flex-shrink:0}

/* Footer final vertical centering + compact chrome */
.app-footer.footer-stats-grid{
  height:40px !important;
  min-height:40px !important;
  padding:0 !important;
  align-items:stretch !important;
}
.app-footer.footer-stats-grid .foot-stat{
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:1px !important;
  padding:2px 10px !important;
}
.app-footer.footer-stats-grid .foot-num{
  display:block !important;
  line-height:1 !important;
  margin:0 !important;
  font-size:20px !important;
}
.app-footer.footer-stats-grid .foot-lbl{
  display:block !important;
  line-height:1 !important;
  margin:0 !important;
}



/* Mandela Map redesign pass: content-first public pages, rails only on map. */
html,body{overflow:hidden;}
.content.content--single{display:block;overflow:auto;height:100%;min-height:0;width:100%;max-width:100%;padding:0;background:radial-gradient(circle at 50% 0%,rgba(24,216,255,.1),transparent 34%),linear-gradient(180deg,rgba(2,8,20,1),rgba(3,9,16,1));}
.content.content--map{overflow:hidden;display:grid;grid-template-columns:clamp(13rem,14vw,17rem) minmax(0,1fr) clamp(13rem,14vw,17rem);height:100%;}
.content.content--account{overflow:hidden;display:grid;grid-template-columns:clamp(13rem,14vw,17rem) minmax(0,1fr);height:100%;background:radial-gradient(circle at 50% 0%,rgba(24,216,255,.1),transparent 34%),linear-gradient(180deg,rgba(2,8,20,1),rgba(3,9,16,1));}
.content.content--admin{overflow:hidden;display:grid;grid-template-columns:clamp(13rem,14vw,17rem) minmax(0,1fr);height:100%;background:radial-gradient(circle at 50% 0%,rgba(232,32,80,.1),transparent 34%),linear-gradient(180deg,rgba(2,8,20,1),rgba(3,9,16,1));}
.content.content--account .shell-rail{display:flex!important;}
.content.content--admin .shell-rail{display:flex!important;}
.content.content--account .mm-module-account,
.content.content--account .mm-module-profile{grid-column:2;grid-row:1;min-height:0;height:100%;max-height:100%;overflow:auto;}
.content.content--admin .mm-admin-single{grid-column:2;grid-row:1;min-height:0;height:100%;max-height:100%;overflow:auto;}
.content.content--account #account-view,
.content.content--account #profile-view{grid-column:auto;width:100%;min-height:0;height:auto;max-height:none;overflow:visible;padding:0;}
.content.content--account .account-center{max-width:none;}
.content.content--account #account-form-shell{max-width:980px;}
.content.content--account .account-field{width:100%;max-width:100%;box-sizing:border-box;}
.content.content--account .account-field-email{max-width:48ch;}
.content.content--account .account-field-name{max-width:34ch;}
.content.content--account .account-field-location{max-width:34ch;}
.content.content--account .account-field-visibility{max-width:22ch;}
.mm-single-page{width:100%;max-width:none;margin:0;padding:clamp(18px,2.5vw,36px);min-height:100%;box-sizing:border-box;}
.mm-module-single{max-width:none;}
.mm-module-map{max-width:none;padding:0;}
.mm-auth-single{max-width:860px;display:flex;align-items:flex-start;justify-content:center;}
.mm-survey-single{max-width:1180px;padding:0;}
.mm-survey-single #survey-view,.mm-survey-single #results-view{grid-column:auto;width:100%;height:auto;min-height:calc(100dvh - 120px);padding:18px;}
.mm-home-single{max-width:none;}
.mm-landing{display:flex;flex-direction:column;gap:22px;}
.mm-hero-panel{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(520px,.95fr);gap:18px;align-items:stretch;border:1px solid rgba(34,150,194,.48);background:linear-gradient(135deg,rgba(5,17,28,.97),rgba(2,8,14,.97));box-shadow:0 24px 70px rgba(0,0,0,.34), inset 0 0 48px rgba(24,216,255,.045);padding:clamp(18px,3vw,36px);position:relative;overflow:hidden;min-height:560px;}
.mm-hero-panel::before{content:"";position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 0 42%,rgba(255,159,24,.055) 45%,rgba(24,216,255,.035) 48%,transparent 53% 100%);pointer-events:none;}
.mm-hero-copy,.mm-shortlink-card{position:relative;z-index:1;}
.mm-hero-copy{display:flex;flex-direction:column;justify-content:flex-start;min-height:0;}
.mm-main-logo-wrap{width:min(86%,580px);margin:0 auto 24px;}
.mm-main-logo{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 0 28px rgba(24,216,255,.2));}
.mm-hero-title{font-family:'VT323',monospace;font-size:clamp(42px,5.2vw,76px);line-height:.9;color:#f6fbff;text-shadow:0 0 10px rgba(24,216,255,.24),0 0 28px rgba(255,159,24,.18);font-weight:400;letter-spacing:1px;max-width:780px;}
.mm-hero-text{margin-top:14px;color:var(--text);font-size:14px;line-height:1.75;max-width:760px;}
.mm-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.mm-hero-action{width:auto!important;min-width:190px;}
.mm-hero-action-strong{background:rgba(232,160,32,.16)!important;}
.mm-shortlink-card{border:1px solid rgba(232,160,32,.36);background:rgba(2,10,13,.62);padding:18px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:12px;}
.mm-home-survey-card{padding:0;border-color:rgba(34,184,207,.42);background:rgba(2,10,13,.78);overflow:hidden;min-height:520px;}
.mm-home-survey-card #survey-view,.mm-home-survey-card .view-center{height:100%;min-height:0;}
.mm-home-survey-card .view-center{display:block;}
.mm-home-survey-card .mm-survey-shell[data-embed="1"]{height:100%;min-height:520px;}
.mm-home-survey-card .mm-survey-shell[data-embed="1"] .mm-survey-panel{border:0;background:rgba(4,15,18,.94);box-shadow:inset 0 0 0 1px rgba(34,184,207,.18);}
.mm-home-survey-card .mm-survey-shell[data-embed="1"] .mm-survey-header{padding:14px 18px 12px;}
.mm-home-survey-card .mm-survey-shell[data-embed="1"] .mm-survey-heading{font-size:clamp(22px,2.4vw,30px);}
.mm-home-survey-card .mm-survey-shell[data-embed="1"] .mm-survey-stage{padding:12px;}
.mm-home-survey-card .mm-survey-shell[data-embed="1"] .mm-answer-grid{min-height:250px;align-items:stretch;}
.mm-home-survey-card .mm-survey-shell[data-embed="1"] .mm-answer-tile{min-height:230px;}
.mm-home-survey-card .mm-survey-shell[data-embed="1"] .mm-answer-image-wrap{aspect-ratio:16/10;}
.mm-home-survey-card .mm-survey-shell[data-embed="1"] .mm-answer-image-wrap img{object-fit:contain;}
.mm-home-return-card{height:100%;min-height:520px;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:32px;border:1px solid rgba(24,216,255,.28);background:linear-gradient(145deg,rgba(5,19,30,.92),rgba(2,8,14,.96));}
.mm-home-return-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;}
.mm-home-return-kicker{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--cyan);}
.mm-home-return-card h2{font-family:'VT323',monospace;font-size:clamp(42px,4vw,64px);line-height:.92;color:var(--text-bright);text-shadow:0 0 14px rgba(24,216,255,.2);font-weight:400;}
.mm-home-return-card p{max-width:54ch;color:var(--text);font-size:13px;line-height:1.8;}
.mm-home-return-status{min-width:145px;border:1px solid rgba(32,232,160,.38);background:rgba(32,232,160,.06);padding:12px;text-align:right;}
.mm-home-return-status span,.mm-home-next-card span,.mm-home-account-prompt span{display:block;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;}
.mm-home-return-status b{display:block;font-family:'VT323',monospace;font-size:26px;line-height:.9;color:var(--green);text-shadow:var(--glow-green);font-weight:400;}
.mm-home-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px;}
.mm-home-next-card{display:flex;flex-direction:column;gap:7px;min-height:136px;padding:16px;border:1px solid var(--border);background:rgba(3,13,20,.78);color:var(--text);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;}
.mm-home-next-card:hover{transform:translateY(-1px);border-color:var(--cyan);box-shadow:var(--glow-cyan);}
.mm-home-next-card-primary{border-color:rgba(255,159,24,.55);background:rgba(255,159,24,.06);}
.mm-home-next-card b{font-family:'Courier Prime',monospace;font-size:18px;line-height:1.15;color:var(--text-bright);}
.mm-home-next-card small{font-size:11px;line-height:1.55;color:var(--text);}
.mm-home-account-prompt{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border:1px solid rgba(255,159,24,.38);background:linear-gradient(135deg,rgba(255,159,24,.08),rgba(3,13,20,.76));}
.mm-home-account-prompt b{display:block;font-family:'Courier Prime',monospace;font-size:17px;line-height:1.2;color:var(--text-bright);}
.mm-home-account-prompt p{font-size:12px;line-height:1.55;margin-top:6px;}
.mm-home-account-prompt-saved{border-color:rgba(24,216,255,.28);background:rgba(24,216,255,.045);}
.mm-home-return-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.mm-shortlink-card p{font-size:12px;line-height:1.6;color:var(--text);}
.mm-shortlink-examples{display:flex;flex-direction:column;gap:8px;}
.mm-shortlink-examples span,.mm-copy-link{display:block;width:100%;border:1px solid rgba(32,200,232,.35);background:rgba(32,200,232,.06);color:var(--text-bright);font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:.08em;padding:10px;text-align:left;}
.mm-copy-link{cursor:pointer;color:var(--cyan);}
.mm-copy-link:hover{border-color:var(--cyan);box-shadow:var(--glow-cyan);}
.mm-copy-status{font-size:10px;min-height:14px;color:var(--green);letter-spacing:.12em;text-transform:uppercase;}
.mm-flow-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.mm-flow-strip-hero{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:44px;}
.mm-flow-strip article{border:1px solid var(--border);background:rgba(5,18,22,.85);padding:14px;display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center;}
.mm-flow-strip b{grid-row:1/3;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(232,160,32,.5);color:var(--amber);font-family:'VT323',monospace;font-size:28px;}
.mm-flow-strip span{color:var(--text-bright);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.mm-flow-strip small{color:var(--text-dim);font-size:11px;line-height:1.4;}
.mm-home-effects{padding:0!important;}
.mm-home-effects-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
@media(max-width:1100px){.mm-hero-panel{grid-template-columns:1fr;min-height:0}.mm-home-survey-card{min-height:520px}}
@media(max-width:900px){.mm-flow-strip{grid-template-columns:1fr 1fr}.mm-home-effects-grid{grid-template-columns:1fr 1fr}.mm-single-page{padding:16px}.mm-home-return-top,.mm-home-account-prompt{flex-direction:column;align-items:stretch}.mm-home-return-status{text-align:left}}
@media(max-width:620px){.mm-flow-strip,.mm-home-effects-grid,.mm-home-next-grid{grid-template-columns:1fr}.mm-hero-actions{flex-direction:column}.mm-hero-action{width:100%!important}.content.content--map{grid-template-columns:1fr}.content.content--map .shell-rail{display:none!important}.content.content--account{display:flex;flex-direction:column;overflow:auto;height:100%;min-height:0}.content.content--account .shell-rail{display:block!important;flex:0 0 auto;width:100%;height:auto;min-height:0;border-right:0;border-left:0;border-bottom:1px solid var(--border);background:rgba(4,15,18,.98);overflow:visible;animation:none}.content.content--account .map-left .side-header{display:none}.content.content--account .map-left .side-body{display:flex;gap:8px;align-items:stretch;overflow-x:auto;overflow-y:hidden;padding:10px 12px;scrollbar-width:thin}.content.content--account .map-left .sec-lbl,.content.content--account .map-left .side-body>div:not(.sec-lbl){display:none!important}.content.content--account .map-left .fi{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;min-height:38px;padding:9px 12px;border:1px solid var(--border);background:rgba(3,12,15,.88);white-space:nowrap;font-size:10px;letter-spacing:1.5px;text-align:center}.content.content--account .map-left .fi.active{border-color:rgba(232,160,32,.65);color:var(--amber);background:rgba(232,160,32,.1)}.content.content--account .mm-module-account,.content.content--account .mm-module-profile{grid-column:1;flex:1 1 auto;height:auto;min-height:0;overflow:visible}.content.content--account #account-view,.content.content--account #profile-view{height:auto;overflow:visible}}

/* On non-map pages, suppress any legacy rail remnants if a module outputs them. */
.content.content--single .shell-rail{display:none!important;}
.content.content--single #registry-view,
.content.content--single #evidence-view,
.content.content--single #account-view,
.content.content--single #surveys-view,
.content.content--single #timelines-view,
.content.content--single #home-view{width:100%;min-height:0;}
