/* Hidden theme. Activated by rt.js (Konami code or a triple click on the logo). */
@import url("https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap");

html.rt:root{
  --rt-fg:#1bff80;--rt-dim:#0fa855;--rt-bg:#0c0c0c;--rt-hue:100deg;--rt-sat:3;
  --bg:var(--rt-bg);
  --surface:color-mix(in srgb,var(--rt-fg) 5%,var(--rt-bg));
  --surface-2:color-mix(in srgb,var(--rt-fg) 10%,var(--rt-bg));
  --border:color-mix(in srgb,var(--rt-dim) 55%,var(--rt-bg));
  --text:var(--rt-fg);--text-dim:var(--rt-dim);--accent:var(--rt-fg);
  --font:'Share Tech Mono','Courier New',monospace;--mono:'Share Tech Mono','Courier New',monospace;
  color-scheme:dark;
}
html.rt.rt-amber{--rt-fg:#ffb642;--rt-dim:#b87a14;--rt-bg:#0d0800;--rt-hue:0deg;--rt-sat:3}
html.rt.rt-blue{--rt-fg:#4fd8ff;--rt-dim:#2a8aa8;--rt-bg:#00080d;--rt-hue:150deg;--rt-sat:3}

/* square corners everywhere except data dots */
html.rt :is(button,input,select,textarea,table,header,aside,
  .filter-tag,.mini-tag,.event-card,.list-link,.nav-toggle,.search-input,.card,.panel,.btn,
  .leaflet-popup-content-wrapper,.leaflet-control-zoom,.leaflet-control-zoom a){border-radius:0!important}

/* phosphor glow on text */
html.rt :is(header,.sidebar,.filters-header,.filter-group h3,.event-card,main,h1,h2,h3,th,td,.leaflet-popup-content){
  text-shadow:0 0 5px color-mix(in srgb,var(--rt-fg) 55%,transparent);
}
/* partial (top + right) border on section headers */
html.rt :is(.filter-group h3,.filters-header){
  border-top:1px solid var(--rt-dim);border-right:1px solid var(--rt-dim);padding:3px 8px;
}

/* map: monochrome phosphor tiles */
html.rt .leaflet-tile-pane{
  filter:grayscale(1) sepia(1) hue-rotate(var(--rt-hue)) saturate(var(--rt-sat)) brightness(1.15) contrast(1.1);
}
html.rt .leaflet-container{background:var(--rt-bg)}
html.rt .leaflet-control-attribution{background:color-mix(in srgb,var(--rt-bg) 85%,transparent)!important}

/* readable text on bright accent fills */
html.rt :is(.filter-tag.active){color:var(--rt-bg)!important}

/* CRT: scanlines + faint tint (flickers), then vignette */
html.rt body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9000;
  background:
    repeating-linear-gradient(to bottom,transparent 0,transparent 2px,rgba(0,0,0,.22) 3px),
    color-mix(in srgb,var(--rt-fg) 3%,transparent);
  animation:rt-flicker 5s steps(1,end) infinite;
}
html.rt body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9001;
  background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.55) 100%);
}
@keyframes rt-flicker{0%,100%{opacity:1}7%{opacity:.88}8%{opacity:1}43%{opacity:.93}44%{opacity:1}71%{opacity:.9}72%{opacity:1}}
@media (prefers-reduced-motion:reduce){html.rt body::before{animation:none}}

/* variant picker, injected into the header while active */
.rt-variants{display:flex;gap:5px;align-items:center}
.rt-variants button{width:14px;height:14px;padding:0;border:1px solid transparent;cursor:pointer;background:var(--c);border-radius:0!important}
.rt-variants button.active{outline:1px solid var(--c);outline-offset:2px}
@media (max-width:760px){.rt-variants{display:none}}

/* boot sequence */
#rt-boot{
  position:fixed;inset:0;z-index:10000;background:var(--rt-bg);color:var(--rt-fg);cursor:pointer;
  font-family:'Share Tech Mono','Courier New',monospace;font-size:clamp(12px,min(1.9vw,2.2vh),18px);line-height:1.4;
  padding:7vh 6vw;white-space:pre-wrap;text-shadow:0 0 6px color-mix(in srgb,var(--rt-fg) 70%,transparent);
  overflow:hidden;transition:opacity .35s;
}
#rt-boot .art{white-space:pre}
#rt-boot.out{opacity:0;pointer-events:none}
#rt-boot::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,rgba(0,0,0,.25) 3px);
}
#rt-boot .cur{display:inline-block;width:.6em;height:1em;background:var(--rt-fg);vertical-align:-.15em;animation:rt-blink 1s steps(1,end) infinite}
#rt-boot .skip{position:absolute;right:6vw;bottom:5vh;opacity:.6;font-size:.7em}
@keyframes rt-blink{50%{opacity:0}}

/* no light/dark switch while in terminal mode */
html.rt .theme-toggle{display:none!important}

/* visible way out of terminal mode (the light/dark button is hidden while active) */
.rt-exit{margin-left:10px;background:none;border:1px solid var(--rt-dim);color:var(--rt-fg);font-family:inherit;font-size:13px;letter-spacing:.06em;padding:3px 8px;cursor:pointer;white-space:nowrap}
.rt-exit:hover{background:var(--rt-fg);color:var(--rt-bg)}

/* logo double tap: no 300ms delay or double-tap zoom, no text selection */
.logo{touch-action:manipulation;-webkit-user-select:none;user-select:none}
