/* Whisker Cove — shared site styles.
   Static layout only: no disruptive animations, no layout shifts,
   no overlays that block interaction. */

:root{
  --void:#1a0b2e;
  --panel:#291044;
  --neon:#ff00ff;
  --ink:#fff7ff;
  --muted:#f0dff3;
  --line:#9d42c7;
  --cheese-color:#FFD700;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--void) url('assets/radio-static.gif') repeat center/128px;
  background-blend-mode:soft-light;
  color:var(--ink);
  font-family:system-ui,-apple-system,Segoe UI,sans-serif;
  font-size:clamp(16px,1.5vw,20px);
  line-height:1.55;
  text-shadow:0 0 10px #ff00ff;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:var(--void);
  opacity:.92;
}
a{color:#fff;text-shadow:0 0 10px #ff00ff}
a:hover{color:var(--neon)}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
}
header,main,footer{width:min(1100px,calc(100% - 2rem));margin:auto}
header{padding:1rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}
.brand{font-weight:900;letter-spacing:.08em;color:var(--neon);text-decoration:none}
.brand-header-img{display:inline-block;width:clamp(34px,6vw,52px);height:auto;vertical-align:middle;border:2px solid var(--line);border-radius:8px;margin-right:.4rem}
nav{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:flex-end}
nav a{font-size:.82em;text-decoration:none;padding:.25rem .45rem;border-radius:5px}
nav a:hover{background:var(--neon);color:var(--void)}
main{padding:clamp(2rem,7vw,6rem) 0}
.hero{display:grid;align-content:center;gap:1rem;padding:2rem 0}
.eyebrow{color:var(--neon);font-weight:800;text-transform:uppercase;letter-spacing:.15em;font-size:.75em}
.hero h1{font-size:clamp(2.4rem,7vw,5.5rem);line-height:.95;margin:0;max-width:850px}
.hero p{max-width:700px;color:var(--muted)}
.button{display:inline-block;background:var(--neon);color:var(--void);font-weight:800;padding:.7rem 1rem;border-radius:8px;text-decoration:none;margin-right:.5rem;text-shadow:none;border:0;cursor:pointer;font:inherit}
.button.alt{background:transparent;color:var(--ink);border:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}
.card{background:var(--panel);border:1px solid var(--line);padding:1.2rem;border-radius:12px}
.card h2,.card h3{margin-top:0;color:#fff}
h2{font-size:clamp(1.6rem,4vw,3rem)}
section{margin:3rem 0}
img{max-width:100%;height:auto}
.hero-art img,.game-card img{max-width:100%;height:auto}
.hero-art{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.hero-art img{width:clamp(140px,24vw,240px);border-radius:12px;border:1px solid var(--line)}
footer{padding:2rem 0;border-top:1px solid var(--line);color:var(--muted);font-size:.85em}
.sr-only{position:absolute;width:1px;height:1px;padding:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.warning-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#120820;color:var(--ink);border:2px solid var(--neon);padding:.75rem 1rem;font-weight:900}
.warning-strip .button{margin:0;white-space:nowrap}

/* Cheese bits */
.cheese-icon{display:inline-block;width:1.05em;height:1.05em;vertical-align:-.15em;color:var(--cheese-color);fill:currentColor;margin-right:.2em}
.cheese-price{color:var(--cheese-color);font-weight:900;text-shadow:0 0 10px #ffd70088}
.cheese-points{color:var(--cheese-color);font-weight:800;text-shadow:0 0 10px #ffd70088}

/* Day theme */
body.day-theme{--void:#102a43;--panel:#174a68;--neon:#ffdc5e;--ink:#fff;--muted:#d5f1ff}
body.day-theme a:hover{color:#ffdc5e}

/* Theme toggle injected by site.js */
.theme-toggle{border:2px solid var(--neon);background:var(--panel);color:var(--ink);font:inherit;font-size:.82em;font-weight:800;padding:.4rem .7rem;border-radius:8px;cursor:pointer;text-shadow:0 0 8px #ff00ff;white-space:nowrap}
.theme-toggle:hover{background:var(--neon);color:var(--void);text-shadow:none}

/* Static hero collage on the homepage */
.hero-collage{display:block;width:min(100%,720px);border-radius:12px;border:1px solid var(--line);margin:0 auto 1.5rem}

/* Secret frequency hidden doorway */
.secret-frequency-link{
  position:fixed;
  right:1rem;
  bottom:1rem;
  z-index:30;
  font-size:1.6rem;
  text-decoration:none;
  opacity:.55;
}
.secret-frequency-link:hover,.secret-frequency-link:focus-visible{opacity:.9}

/* Gay Porn page: static gallery + player, no petals, no modals */
.gp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;margin:1.5rem 0}
.gp-item{display:block;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.6rem;text-decoration:none;color:var(--ink)}
.gp-item:hover{border-color:var(--neon)}
.gp-item img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;margin-bottom:.5rem}
.gp-item span{font-weight:700;font-size:.9em}
.gp-player{margin:1.5rem 0;background:var(--panel);border:2px solid var(--neon);border-radius:12px;overflow:hidden}
.gp-player__titlebar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .9rem;border-bottom:1px solid var(--line);font-weight:800}
.gp-player__screen img{display:block;width:100%;max-height:60vh;object-fit:contain;background:#000}
.gp-player__note{padding:.6rem .9rem;color:var(--muted);font-size:.85em;margin:0}
.gp-disclaimer{color:var(--muted);font-size:.9em}
.gp-hint{color:var(--muted);font-size:.85em}

/* Potato cursor sprout: tiny, faint, and never in the way. */
#potato-cursor{
  position:fixed;
  left:0;
  top:0;
  z-index:100000;
  font-size:13px;
  line-height:1;
  opacity:.45;
  pointer-events:none;
  user-select:none;
  will-change:transform;
  filter:saturate(.85);
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
@media (max-width:720px){
  header{align-items:flex-start;flex-direction:column}
  nav{justify-content:flex-start}
}
