/* Bot World Anthology - 8-bit cyberpunk skin, matching Bot World's app palette. No external fonts or assets. */
:root{
  --px:"VT323","Press Start 2P","Lucida Console","Courier New",ui-monospace,Menlo,Consolas,monospace;
  --neon-m:#ff2bd6; --neon-c:#00f0ff; --neon-g:#39ff14; --neon-y:#ffe600; --neon-o:#ff7a00; --neon-v:#b026ff;
  --ink:#d9f6ff; --muted:#8a90b8; --card:#0c0a1c; --line:#2a2350; --bg:#05030c;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--px);-webkit-font-smoothing:none}
a{color:var(--neon-c)} a:hover{color:var(--neon-y)}
.scan{pointer-events:none;position:fixed;inset:0;background:repeating-linear-gradient(transparent 0 2px,rgba(0,0,0,.25) 2px 4px);z-index:9}
header.hero{position:relative;overflow:hidden;border-bottom:3px solid var(--neon-m);box-shadow:0 0 18px rgba(255,43,214,.45);
  background:radial-gradient(ellipse at 50% 130%,rgba(255,43,214,.35),transparent 60%),linear-gradient(#07051a,#120a2a)}
.hero .inner{position:relative;z-index:2;max-width:1000px;margin:0 auto;padding:34px 18px 120px}
.hero h1{margin:0;font-size:clamp(26px,5vw,44px);letter-spacing:4px;text-transform:uppercase;color:var(--neon-c);
  text-shadow:3px 3px 0 var(--neon-m),0 0 10px rgba(0,240,255,.7)}
.hero p{margin:6px 0 0;color:var(--neon-g);letter-spacing:2px;text-transform:uppercase;font-size:13px}
.city{position:absolute;left:0;right:0;bottom:0;width:100%;height:110px;z-index:1;image-rendering:pixelated}
.moon{position:absolute;right:12%;top:26px;width:42px;height:42px;background:var(--neon-y);box-shadow:0 0 22px var(--neon-y);z-index:1;
  clip-path:polygon(25% 0,75% 0,75% 8%,92% 8%,92% 25%,100% 25%,100% 75%,92% 75%,92% 92%,75% 92%,75% 100%,25% 100%,25% 92%,8% 92%,8% 75%,0 75%,0 25%,8% 25%,8% 8%,25% 8%)}
main{max-width:1000px;margin:0 auto;padding:24px 18px 60px}
.lede{color:var(--muted);margin:0 0 20px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.card{background:var(--card);border:2px solid var(--neon-c);box-shadow:4px 4px 0 var(--neon-m),0 0 14px rgba(0,240,255,.25);padding:14px 16px}
.card h2{margin:0 0 6px;font-size:20px;color:var(--neon-y);text-transform:uppercase;letter-spacing:1px}
.meta{font-size:13px;color:var(--neon-g);letter-spacing:1px;margin-bottom:8px}
.meta span{margin-right:10px}
.pitch{margin:0 0 12px}
.vote{display:inline-block;border:1px solid var(--neon-o);color:var(--neon-o);padding:0 6px;font-size:13px}
.links{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.btn{display:inline-block;background:var(--bg);color:var(--neon-y);border:2px solid var(--neon-y);box-shadow:3px 3px 0 var(--neon-m);
  padding:5px 10px;text-decoration:none;text-transform:uppercase;letter-spacing:1px;font:inherit;font-size:14px;cursor:pointer}
.btn:hover{background:var(--neon-y);color:var(--bg)}
.btn.alt{color:var(--neon-c);border-color:var(--neon-c)}
.btn.alt:hover{background:var(--neon-c);color:var(--bg)}
footer{color:var(--muted);text-align:center;font-size:12px;padding:20px;border-top:1px solid var(--line)}
/* entry pages */
.panel{background:var(--card);border:2px solid var(--neon-c);box-shadow:4px 4px 0 var(--neon-m);padding:14px 16px;margin-bottom:18px}
.panel h2{margin:0 0 8px;color:var(--neon-y);font-size:18px;text-transform:uppercase;letter-spacing:1px}
textarea{width:100%;min-height:190px;background:#020108;color:var(--neon-g);border:1px solid var(--line);font:13px/1.35 ui-monospace,Menlo,Consolas,monospace;padding:8px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0}
canvas#bars{width:100%;height:90px;border:1px solid var(--line);image-rendering:pixelated;display:block}
.status{color:var(--neon-c);min-height:1.5em}.status.warn{color:var(--neon-m)}
audio{width:100%;max-width:420px}
.demo{margin:8px 0}
code{color:var(--neon-y)}
label.file{position:relative;overflow:hidden}
label.file input{position:absolute;inset:0;opacity:0;cursor:pointer}
