/* robinhoodobamasonic10inu dot com */
/* made in notepad. do not refactor. */

@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Pirata+One&display=swap');

* { box-sizing: border-box; }

html, body { margin:0; padding:0; }

body {
  background-color: #0b1a05;
  background-image: url('art/bg-tile.jpg');
  background-size: 320px;
  background-attachment: fixed;
  font-family: "Comic Sans MS", "Comic Sans", cursive;
  color: #eaffd0;
  overflow-x: hidden;
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32'><text y='26' font-size='26'>🏹</text></svg>") 4 4, crosshair;
}

a { color: #7dff4d; }
a:visited { color: #b6ff8a; }
a:hover { color: #fff200; background: #1b3b0a; }

img { image-rendering: auto; }

/* ---------- entry modal ---------- */
#gate {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,.94);
  display: flex; align-items: center; justify-content: center;
  text-align: center;
}
#gate .box {
  border: 6px ridge #d4af37;
  background: #0d2b06;
  padding: 22px 26px;
  max-width: 620px;
  box-shadow: 0 0 60px #000 inset, 0 0 40px #7dff4d;
}
#gate h1 { font-family:"Pirata One", serif; font-size: 40px; margin:0 0 6px; color:#fff200; text-shadow:3px 3px 0 #000; }
#gate p { font-size: 15px; line-height:1.35; }
#gate .enter {
  font-family:"Press Start 2P", monospace; font-size: 18px;
  background: #1f8c1f; color:#fff; border:4px outset #7dff4d;
  padding: 14px 22px; cursor: pointer; margin-top: 10px;
}
#gate .enter:hover { background:#fff200; color:#0b1a05; }
#gate .tiny { font-size:11px; opacity:.7; margin-top:14px; }

/* ---------- top junk ---------- */
.topbar {
  background: repeating-linear-gradient(90deg,#000 0 18px,#1f8c1f 18px 36px);
  border-bottom: 4px double #d4af37;
  padding: 4px 0;
  font-family: "Press Start 2P", monospace;
  font-size: 11px;
  color: #fff200;
}

marquee { display:block; }

.hero {
  text-align: center;
  padding: 10px 6px 0;
}
.hero img.title {
  width: min(760px, 96vw);
  border: 5px ridge #d4af37;
  transform: rotate(-1.2deg);
  box-shadow: 8px 8px 0 #000;
}
h1.big {
  font-family: "Pirata One", serif;
  font-size: clamp(30px, 7vw, 78px);
  margin: 8px 0 0;
  line-height: .95;
  background: linear-gradient(90deg,#fff200,#7dff4d,#fff200,#1f8c1f,#fff200);
  background-size: 400% 100%;
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: slide 6s linear infinite;
  filter: drop-shadow(4px 4px 0 #000);
}
@keyframes slide { to { background-position: 400% 0; } }

.ticker-line {
  font-family:"Press Start 2P", monospace;
  font-size: clamp(14px,3vw,26px);
  color:#fff; text-shadow: 0 0 10px #7dff4d, 3px 3px 0 #000;
  margin: 6px 0;
}

.blink { animation: blink 1s steps(2, start) infinite; }
@keyframes blink { to { visibility: hidden; } }

.rainbow { animation: hue 3s linear infinite; }
@keyframes hue { to { filter: hue-rotate(360deg); } }

.shake { display:inline-block; animation: shake .35s infinite; }
@keyframes shake {
  0%{transform:translate(1px,1px) rotate(0deg)}
  25%{transform:translate(-1px,-2px) rotate(-1deg)}
  50%{transform:translate(-2px,1px) rotate(1deg)}
  75%{transform:translate(2px,2px) rotate(0deg)}
  100%{transform:translate(1px,-1px) rotate(1deg)}
}

.wiggle { animation: wig 2.2s ease-in-out infinite; }
@keyframes wig { 50% { transform: rotate(3deg) scale(1.02); } }

/* ---------- ca box ---------- */
.ca {
  margin: 12px auto; max-width: 900px;
  border: 5px double #fff200; background:#000;
  padding: 10px; text-align:center;
}
.ca code {
  font-family: "Press Start 2P", monospace;
  font-size: clamp(9px, 2vw, 14px);
  color:#7dff4d; word-break: break-all;
}
.ca button {
  font-family:"Press Start 2P",monospace; font-size:11px;
  background:#fff200; border:3px outset #fff; padding:8px 12px; cursor:pointer; margin-top:8px;
}

.btns { text-align:center; margin: 10px 0 0; }
.btns a {
  display:inline-block; margin: 4px;
  font-family:"Press Start 2P", monospace; font-size: 13px;
  padding: 12px 16px; text-decoration:none;
  background:#1f8c1f; color:#fff; border: 4px outset #7dff4d;
}
.btns a:hover { background:#fff200; color:#000; }
.btns a.buy { background:#c9111f; border-color:#ff6b6b; }

/* ---------- layout ---------- */
.wrap { max-width: 1180px; margin: 0 auto; padding: 6px 8px 60px; }

hr.gif {
  height: 12px; border: 0;
  background: repeating-linear-gradient(90deg,#fff200 0 10px,#1f8c1f 10px 20px,#c9111f 20px 30px);
  margin: 22px 0;
  animation: hr 1s linear infinite;
}
@keyframes hr { to { background-position: 60px 0; } }

.panel {
  border: 5px ridge #d4af37;
  background: rgba(4,20,2,.88);
  padding: 14px 16px;
  margin: 18px 0;
  box-shadow: 6px 6px 0 #000;
}
.panel.tilt-l { transform: rotate(-.7deg); }
.panel.tilt-r { transform: rotate(.6deg); }

h2 {
  font-family: "Pirata One", serif;
  font-size: clamp(26px,4.4vw,46px);
  color:#fff200; margin: 0 0 8px;
  text-shadow: 3px 3px 0 #000, 0 0 18px #7dff4d;
}
h3 { font-family:"Press Start 2P",monospace; font-size:14px; color:#7dff4d; }

p { font-size: 16px; line-height: 1.45; }
p.typo { letter-spacing: .2px; }

.cols { display:flex; flex-wrap:wrap; gap: 14px; }
.cols > * { flex: 1 1 320px; min-width: 260px; }

.snip {
  width:100%; min-height: 150px;
  background:#000; color:#7dff4d;
  border:3px inset #7dff4d;
  font-family: "Courier New", monospace; font-size: 13px;
  padding: 8px; resize: vertical;
}

/* ---------- meme wall ---------- */
.wall {
  columns: 4 220px; column-gap: 10px;
}
.wall figure { margin: 0 0 10px; break-inside: avoid; }
.wall img {
  width: 100%; display:block;
  border: 4px ridge #7dff4d;
  box-shadow: 5px 5px 0 #000;
}
.wall figure:nth-child(3n) img { transform: rotate(-1.5deg); border-color:#fff200; }
.wall figure:nth-child(4n) img { transform: rotate(2deg); border-color:#c9111f; }
.wall figure:nth-child(5n) img { filter: saturate(2.2) contrast(1.35); }
.wall figcaption {
  font-size: 12px; color:#fff200; text-align:center;
  background:#000; border:1px solid #7dff4d; padding:2px;
}
.wall img:hover { outline: 4px solid #fff200; filter: saturate(3) contrast(1.6); }

.crop { overflow:hidden; height: 190px; }
.crop img { height: 320px; width:auto; max-width:none; margin-left:-38px; }

.strip { display:flex; gap:8px; overflow-x:auto; padding: 6px 0; }
.strip img { height: 200px; border:4px double #fff200; }

/* ---------- tokenomics ---------- */
table.tok { width:100%; border-collapse: collapse; font-size:15px; }
table.tok td, table.tok th {
  border: 2px solid #7dff4d; padding: 7px 9px;
}
table.tok th { background:#1f8c1f; color:#fff; font-family:"Press Start 2P",monospace; font-size:11px; }
table.tok tr:nth-child(even) td { background: rgba(31,140,31,.18); }

/* ---------- team ---------- */
.team { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.team .guy { width: 200px; text-align:center; }
.team .guy .frame { height: 190px; overflow:hidden; border:4px ridge #d4af37; background:#000; }
.team .guy .frame img { width: 260px; margin-left:-46px; margin-top:-24px; }
.team .guy b { display:block; font-family:"Press Start 2P",monospace; font-size:11px; color:#fff200; margin-top:4px; }
.team .guy span { font-size:12px; }

/* ---------- floaters ---------- */
.floater { position: fixed; z-index: 500; pointer-events:none; }
#ring { width: 64px; bottom: 12px; left: 10px; animation: spin 1.4s linear infinite, bob 3s ease-in-out infinite; }
@keyframes spin { to { transform: rotateY(360deg); } }
@keyframes bob { 50% { margin-bottom: 22px; } }
#runner { width: 96px; bottom: 0; left: -120px; animation: run 14s linear infinite; }
@keyframes run { to { left: 108vw; } }

/* ---------- music player ---------- */
#player {
  position: fixed; right: 8px; top: 8px; z-index: 900;
  background:#000; border: 4px outset #7dff4d; padding: 6px 8px;
  font-family:"Press Start 2P",monospace; font-size:10px; color:#7dff4d;
  text-align:center; max-width: 190px;
}
#player button {
  font-family:"Press Start 2P",monospace; font-size:10px;
  background:#1f8c1f; color:#fff; border:3px outset #7dff4d; padding:6px 8px; cursor:pointer; margin-top:4px;
}
#player .now { color:#fff200; display:block; margin-top:4px; font-size:9px; line-height:1.4; }
#viz { display:block; margin: 5px auto 0; background:#020; border:1px solid #7dff4d; }

/* ---------- guestbook / footer ---------- */
.book { background:#000; border:3px inset #7dff4d; padding:8px; font-family:"Courier New",monospace; font-size:13px; color:#b6ff8a; }
.book b { color:#fff200; }
.counter {
  font-family:"Press Start 2P",monospace; font-size:16px;
  background:#000; color:#0f0; border:3px inset #444; padding:6px 10px; display:inline-block;
}
footer { text-align:center; font-size:12px; padding: 20px 0 60px; }

.secret { display:none; border:5px dashed #ff00ff; background:#12002a; }
.secret.on { display:block; }

.hidden-lore { color:#0b1a05; user-select:text; }
.hidden-lore:hover { color:#ff00ff; }

::selection { background:#fff200; color:#000; }

/* the five returns */
.returns { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.ret {
  flex: 1 1 200px; max-width: 230px; background:#07130a;
  border:4px ridge #d4af37; padding:8px; box-shadow:5px 5px 0 #000;
}
.ret:nth-child(even) { transform: rotate(1.2deg); border-color:#7dff4d; }
.ret:nth-child(3n) { transform: rotate(-1.6deg); border-color:#fff200; }
.ret .yr { font-family:"Press Start 2P",monospace; font-size:14px; color:#fff200; display:block; }
.ret .nm { font-family:"Pirata One",serif; font-size:22px; color:#7dff4d; display:block; line-height:1.1; margin:2px 0 4px; }
.ret p { font-size:13px; margin:4px 0; line-height:1.3; }
.ret .tell { color:#ff8a8a; font-size:12px; border-top:1px dashed #444; padding-top:4px; margin-top:6px; }

/* numerology list */
.math { columns: 2 220px; font-family:"Courier New",monospace; font-size:14px; color:#b6ff8a; }
.math li { margin-bottom:5px; break-inside:avoid; }
.math b { color:#fff200; }
.math li.dead { color:#7a7a7a; }
.math li.dead b { color:#b6ff8a; }
.math li.dead s { color:#5a5a5a; }

/* field notes */
.notes { font-family:"Courier New",monospace; font-size:13.5px; line-height:1.45; }
.notes .n { border-left:5px solid #7dff4d; padding:5px 0 5px 9px; margin-bottom:10px; background:#040d04; }
.notes .n .stamp { color:#fff200; display:block; font-size:11px; letter-spacing:1px; }
.notes .n.bad { border-left-color:#c9111f; }
.notes .n.bad .stamp { color:#ff6b6b; }

/* relic grid */
.relics { display:flex; flex-wrap:wrap; gap:10px; }
.relics figure { flex:1 1 260px; margin:0; }
.relics img { width:100%; border:5px ridge #7dff4d; box-shadow:6px 6px 0 #000; display:block; }
.relics figure:nth-child(even) img { border-color:#d4af37; transform:rotate(-.8deg); }
.relics figure:nth-child(3n) img { border-color:#c9111f; transform:rotate(1deg); }
.relics figcaption { font-size:12px; background:#000; color:#fff200; border:1px solid #7dff4d; padding:3px 4px; text-align:center; }

/* catalogued exhibits */
.exh { display:flex; flex-wrap:wrap; gap:12px; margin:14px 0; }
.exh figure {
  flex:1 1 300px; margin:0; background:#000;
  border:4px ridge #7dff4d; box-shadow:6px 6px 0 #000; padding:6px;
}
.exh figure:nth-child(3n) { border-color:#d4af37; transform:rotate(-.6deg); }
.exh figure:nth-child(4n) { border-color:#c9111f; transform:rotate(.5deg); }
.exh img { width:100%; display:block; border:2px solid #333; }
.exh figcaption {
  font-family:"Courier New",monospace; font-size:12.5px; line-height:1.45;
  color:#b6ff8a; padding:6px 3px 2px;
}
.exh figcaption b { color:#fff200; }
.exh figcaption i { color:#7dff4d; }

/* the receipts */
.chk {
  display:inline-block; margin-left:4px; padding:0 4px;
  font-size:11px; color:#000; background:#7dff4d; border:1px solid #000;
  text-transform:uppercase; letter-spacing:.5px;
}
#receipts .book p { margin:0 0 9px; line-height:1.5; }

/* interview transcript */
.tape {
  background:#0a0a0a; border:4px inset #7dff4d; padding:10px 12px;
  font-family:"Courier New",monospace; font-size:13.5px; color:#cfe8c0;
  max-height:520px; overflow-y:auto;
}
.tape p { margin:0 0 7px; line-height:1.5; }
.tape b { color:#fff200; }
.tape .q { color:#8fb3ff; font-weight:bold; }
.tape .a { color:#7dff4d; font-weight:bold; }
.tape .tc { color:#ff6b6b; font-size:12px; letter-spacing:1px; }
.tape::-webkit-scrollbar { width:12px; }
.tape::-webkit-scrollbar-track { background:#000; }
.tape::-webkit-scrollbar-thumb { background:#7dff4d; border:2px outset #b6ff8a; }

/* prophecy */
.prophecy {
  font-family:"Pirata One", serif; font-size:24px; line-height:1.35;
  color:#f2e6b8; background:#1a1206; border:6px double #d4af37; padding:14px;
  text-shadow:1px 1px 0 #000;
}
.prophecy .miss { color:#7a6a3a; }

/* egg toast */
#eggtoast {
  position: fixed; bottom: 14px; left: 50%; transform: translateX(-50%);
  background:#12002a; color:#ff00ff; border:5px double #ff00ff; padding:10px 16px;
  font-family:"Press Start 2P",monospace; font-size:12px; z-index: 9000;
  display:none; text-align:center; box-shadow:0 0 30px #ff00ff;
}
#eggtoast small { display:block; color:#fff200; font-size:9px; margin-top:6px; }

/* rain of heads */
.rainhead { position: fixed; top:-140px; z-index: 800; pointer-events:none; width: 90px; }

@media (max-width: 700px) {
  .wall { columns: 2 150px; }
  #player { font-size:8px; max-width:130px; }
}
