/* /assets/common.css
   Shared styles across pages. Keep page-specific aesthetics in each page.
*/

:root{
  --love-green:#33ff99;
  --love-gold:#ffcc66;
  --love-pink:#ff66ff;
  --love-ink:#001a12;
  --love-text:#e6ffe6;
}

/* ---------- Shared header control strip ---------- */
.chapterbar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-bottom:3px dashed var(--love-green);
  background: rgba(0,26,18,.75);
  font-size:12px;
}

.ss-btn{
  display:inline-block;
  padding:6px 10px;
  border:2px solid var(--love-green);
  background:var(--love-ink);
  color:var(--love-text);
  text-decoration:none;
  box-shadow: inset 0 0 10px rgba(51,255,153,.35), 2px 2px 0 #000;
  font: 12px Verdana, sans-serif;
  cursor:pointer;
  user-select:none;
}
.ss-btn:hover{ background:#05291e; border-color:var(--love-gold); }

.ss-select{
  border:2px solid var(--love-green);
  background:var(--love-ink);
  color:var(--love-text);
  font: 12px Verdana, sans-serif;
  padding:6px 10px;
  box-shadow: inset 0 0 10px rgba(51,255,153,.25), 2px 2px 0 #000;
}

.ss-pill{
  border:1px solid var(--love-pink);
  color:var(--love-pink);
  background: rgba(255,102,255,0.10);
  padding:5px 9px;
  box-shadow: 2px 2px 0 #000;
  font: 12px Verdana, sans-serif;
  cursor:pointer;
  user-select:none;
  text-shadow:0 0 6px rgba(255,102,255,.6);
}
.ss-pill:hover{ background: rgba(255,102,255,0.16); transform: translateY(-1px); }

/* ---------- Floating controls (created by JS if missing) ---------- */
.home-float {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: var(--love-green);
  color: #000;
  padding: 8px 10px;
  font-family: "Verdana", sans-serif;
  font-size: 16px;
  border: 2px solid #000;
  box-shadow: 2px 2px 0 #000;
  text-decoration: none;
  transition: transform 0.2s ease;
  z-index: 999;
}
.home-float:hover { transform: scale(1.1); background: var(--love-gold); }

.type-toggle{
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 1000;
  background:var(--love-ink);
  color:var(--love-text);
  border:2px solid var(--love-green);
  box-shadow: inset 0 0 10px var(--love-green), 2px 2px 0 #000;
  font: 12px Verdana, sans-serif;
  padding: 6px 10px;
  text-decoration:none;
}
.type-toggle:hover{ background:#05291e; }

/* ---------- Screensaver overlay ---------- */
.ss-overlay{
  position:fixed;
  inset:0;
  background:#000;
  z-index:5000;
  display:none;
  cursor:none;
}
.ss-canvas{ width:100%; height:100%; display:block; }

.ss-w95{
  position:fixed;
  left: 18px;
  bottom: 18px;
  z-index:5001;
  display:none;
  font: 12px "MS Sans Serif", Verdana, sans-serif;
  color:var(--love-text);
  background: rgba(0,26,18,.85);
  border:2px solid var(--love-green);
  box-shadow: inset 0 0 10px var(--love-green), 2px 2px 0 #000;
  padding: 8px 10px;
  text-shadow: 0 0 6px rgba(51,255,153,.4);
}
.ss-w95 b{ color:var(--love-pink); text-shadow:0 0 8px rgba(255,102,255,.6); }

.ss-heart-text{
  position: fixed;
  z-index: 5002;
  user-select:none;
  font-size: 22px;
  color:var(--love-pink);
  text-shadow:0 0 8px var(--love-pink), 0 0 14px #ff99ff;
}
.ss-spark{
  position: fixed;
  z-index: 4999;
  pointer-events:none;
  color:var(--love-pink);
  text-shadow:0 0 6px var(--love-pink), 0 0 12px #ff99ff;
  font-size: 12px;
  opacity: 1;
  transition: opacity .7s ease, transform .7s ease;
}

/* ---------- Shared comments box (if you use it) ---------- */
.comments-box{
  border:2px solid var(--love-green);
  background:rgba(0,26,18,.6);
  box-shadow:inset 0 0 10px var(--love-green);
  padding:12px;
  margin: 20px 0 30px;
}

/* ---------- Webring box (injected by JS if missing) ---------- */
.webring{
  margin: 14px auto 0;
  max-width: 900px;
  border: 2px dashed var(--love-pink);
  background: rgba(0,0,0,0.35);
  padding: 10px 12px;
  box-shadow: 0 0 12px rgba(255,102,255,0.25);
  font: 12px Verdana, sans-serif;
  color: var(--love-text);
}
.webring .wr-title{
  color: var(--love-pink);
  text-shadow: 0 0 6px rgba(255,102,255,0.65);
  margin: 0 0 8px;
  font-weight: bold;
}
.webring a{
  color: var(--love-gold);
  text-decoration:none;
  margin-right: 10px;
}
.webring a:hover{ text-decoration:underline; }
.webring .wr-hint{ color:#aaffee; opacity:.9; margin-top:6px; }

/* ---------- Low Power Mode hooks ---------- */
html.low-power .crt-overlay,
html.low-power .scanlines,
html.low-power .flicker {
  display:none !important;
}

/* =========================================================
   HEART HUNT (shared styles so every page behaves the same)
   ========================================================= */

.heart-token{
  position: absolute;
  width: 12px; height: 12px;
  cursor: pointer;
  opacity: 0.12;
  user-select: none;
  z-index: 50;
  pointer-events: auto;
}
.heart-token::before{
  content: "💚";
  font-size: 12px;
  line-height: 12px;
}
.heart-token:hover{ opacity: 0.55; }

.hunt-heart{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:#ff66ff;
  text-shadow:0 0 6px #ff66ff;
  user-select:none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  pointer-events:auto;
  opacity: 0.10;
}
.hunt-heart:hover{
  opacity: 0.40;
  filter: drop-shadow(0 0 8px rgba(255,102,255,0.9));
}

.hh-found{
  opacity: 0.80 !important;
  filter: drop-shadow(0 0 10px rgba(51,255,153,0.35));
}

/* pinned marquee heart helper */
.marquee-heart{
  position:absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2147483647;

  min-width: 36px;
  min-height: 36px;
  padding: 6px;

  border: 1px solid rgba(255, 215, 0, .55);
  border-radius: 12px;
  background: rgba(20, 0, 26, 0.22);
  box-shadow: inset 0 0 10px rgba(204,102,255,.18), 0 0 14px rgba(255,0,204,.12);
  font-size: 22px;
  line-height: 1;
  pointer-events:auto;
  isolation: isolate;
}

/* Heart Hunt nav link (injected by JS if missing) */
.hh-navlink{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.18rem .45rem;
  border:1px solid rgba(255, 215, 0, .55);
  border-radius: 10px;
  background: rgba(20, 0, 26, 0.35);
  box-shadow: inset 0 0 12px rgba(204,102,255,.18);
  font-weight: 700;
  letter-spacing: .2px;
  color:#33ff99 !important;
  text-decoration:none !important;
  white-space:nowrap;
  margin-right: 12px;
}
.hh-navlink:hover{
  text-decoration: none !important;
  box-shadow: 0 0 18px rgba(255,0,204,.18), inset 0 0 10px rgba(0,255,102,.14);
  border-color: rgba(255,0,204,.45);
}
.hh-navlink .hh-dot{
  width:.55rem; height:.55rem; border-radius:999px;
  background:#ff66ff;
  box-shadow:0 0 10px rgba(255,102,255,.65);
  flex:0 0 auto;
}
