/* ===== Fontit: Silkscreen (pikseli-UI/otsikot) + Space Grotesk (leipateksti) ===== */
@import url('https://fonts.googleapis.com/css2?family=Silkscreen:wght@400;700&family=Space+Grotesk:wght@400;500;700&display=swap');

/* ===== Brandin varit ===== */
:root{
--color-black:#0A0710;
--color-crimson-deep:#7A0F1C;
--color-red:#D81F2A;
--color-purple:#B0347D;
--color-plum:#3D0F2B;
--color-white:#FFFFFF;
--color-teal:#6FC6C0;
--color-indigo:#2b2b6e;      /* viilea syvyysvari copper-baareihin (demoscene) */

/* Semanttiset (viilea/tumma linja - ei lampimia kultia) */
--ink:#DBE0F2;               /* viilea vaalea paateksti */
--ink-dim:rgba(219,224,242,.48);
--accent:#6FC6C0;            /* turkoosi korostus */
--accent2:#B0347D;           /* purppura korostus */

--font-display:'Silkscreen',monospace;
--font-body:'Space Grotesk',system-ui,sans-serif;
--text-muted:var(--ink-dim);
}

*{box-sizing:border-box}
body{margin:0;background:var(--color-black) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40"><rect width="40" height="40" fill="%230A0710"/><path d="M0 0L40 40M40 0L0 40" stroke="%233D0F2B" stroke-width="1"/></svg>');color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;letter-spacing:.01em}
a{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--accent)}
a:hover{color:var(--color-red);border-bottom-color:var(--color-red)}
.wrap{max-width:760px;margin:0 auto;padding:0 12px 60px}

/* ===== Marquee ===== */
.marquee-bar{background:var(--color-crimson-deep);border-bottom:3px solid var(--color-teal);overflow:hidden;white-space:nowrap;padding:6px 0}
.marquee-bar span{display:inline-block;padding-left:100%;animation:marq 18s linear infinite;font-family:var(--font-display);font-size:14px;color:var(--ink);letter-spacing:1px}
@keyframes marq{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}

/* ===== Header / logo ===== */
header.site{text-align:center;padding:22px 0 10px}
header.site img.logo{max-width:340px;width:80%;image-rendering:pixelated;filter:drop-shadow(0 0 18px rgba(176,52,125,.6));animation:crtflicker 5s ease-in-out infinite}
@keyframes crtflicker{0%,100%{filter:drop-shadow(0 0 16px rgba(176,52,125,.55)) brightness(1)}50%{filter:drop-shadow(0 0 26px rgba(111,198,192,.5)) brightness(1.06)}}

.blink{animation:blk 1s steps(1) infinite}
@keyframes blk{50%{opacity:0}}

/* ===== Navigaatio ===== */
nav.retro{display:flex;justify-content:center;gap:2px;flex-wrap:wrap;margin:14px 0;background:var(--color-plum);border:3px outset #5a2a45;padding:6px}
nav.retro a{display:block;padding:9px 16px;background:linear-gradient(180deg,#3a1a2e 0%,var(--color-plum) 50%,#120810 100%);border:2px solid #000;border-top-color:#6a3a54;border-left-color:#6a3a54;color:var(--ink);text-decoration:none;border-bottom:2px solid #000;font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:.5px;text-shadow:1px 1px 0 #000}
nav.retro a:hover{background:linear-gradient(180deg,#5a1420 0%,var(--color-crimson-deep) 100%);color:var(--color-white)}
nav.retro a.active{background:linear-gradient(180deg,var(--color-red) 0%,var(--color-crimson-deep) 100%);color:var(--color-white);border-top-color:#000;border-left-color:#000;border-bottom-color:#6a3a54;border-right-color:#6a3a54;text-shadow:1px 1px 0 rgba(0,0,0,.6)}

/* ===== Panelit ===== */
.panel{position:relative;background:#140810;border:3px ridge #5a2a45;padding:18px 20px;margin:18px 0;box-shadow:0 6px 20px rgba(0,0,0,.5)}
.panel::before{content:"";display:block;height:6px;margin:-18px -20px 14px;background:repeating-linear-gradient(45deg,#120a18 0 6px,var(--color-plum) 6px 12px);border-bottom:2px solid #000}

/* ===== Otsikot ===== */
h1.title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;color:#EAF0FF;font-size:30px;letter-spacing:1px;line-height:1.1;margin:2px 0 12px;text-shadow:1px 1px 0 var(--color-purple),2px 2px 0 var(--color-crimson-deep),3px 3px 8px rgba(0,0,0,.7);animation:chrometint 5s linear infinite}
@keyframes chrometint{0%,100%{text-shadow:1px 1px 0 var(--color-purple),2px 2px 0 var(--color-crimson-deep),3px 3px 8px rgba(0,0,0,.7)}50%{text-shadow:1px 1px 0 var(--color-teal),2px 2px 0 var(--color-crimson-deep),3px 3px 8px rgba(0,0,0,.7)}}
h2.sub{font-family:var(--font-display);font-weight:700;text-transform:uppercase;color:var(--color-teal);font-size:16px;letter-spacing:.5px;margin:26px 0 10px;border-bottom:2px solid var(--accent2);padding-bottom:6px}

/* ===== Erottimet ===== */
.hr-glitch{height:4px;background:repeating-linear-gradient(90deg,var(--color-red) 0 8px,var(--color-purple) 8px 16px,var(--color-teal) 16px 24px);margin:18px 0;border:none}
/* Copper bars: canvas jonka copper.js piirtaa. Gradientti = varafiilis jos JS ei aja. */
canvas.copper-bar{display:block;width:100%;height:66px;margin:0;border:none;image-rendering:pixelated;background:#000 repeating-linear-gradient(90deg,var(--color-red) 0 5%,var(--color-purple) 5% 10%,var(--color-indigo) 10% 15%,var(--color-teal) 15% 20%,var(--color-crimson-deep) 20% 25%)}

/* ===== Footer ===== */
footer.site{text-align:center;margin-top:30px;font-family:var(--font-display);font-size:11px;letter-spacing:.5px;color:var(--ink-dim)}

/* ===== Merkit / badges ===== */
.badges{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:14px 0}
.badges img,.badges .badge{height:24px}
.badge{display:inline-flex;align-items:center;justify-content:center;background:var(--color-plum);border:1px solid var(--accent2);color:var(--ink);font-family:var(--font-display);font-size:9px;letter-spacing:.5px;padding:0 8px}

/* ===== Kavijalaskuri ===== */
.counter{display:inline-flex;gap:2px;background:#000;border:2px inset var(--color-purple);padding:4px 6px}
.counter span{background:#1a0009;color:var(--color-red);padding:2px 5px;font-family:var(--font-display);font-size:16px;border:1px solid var(--color-crimson-deep)}

/* ===== Taulukot ===== */
table.info{border-collapse:collapse;width:100%;margin:10px 0}
table.info td{border:1px solid var(--color-purple);padding:6px 10px;vertical-align:top}

.center{text-align:center}

/* Vinjetti */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.6) 100%)}

/* ===== Somelinkit ===== */
.social-title{font-family:var(--font-display);font-size:12px;letter-spacing:1px;color:var(--color-teal);margin:0 0 14px}
.social-sub{font-family:var(--font-body);font-size:13px;color:var(--ink-dim);margin:10px 0 0}

/* Discord = paalinkki, selvasti muita isompi ja hehkuva */
.social-main{display:inline-block;font-family:var(--font-display);font-size:13px;letter-spacing:1px;
  color:#EAF0FF;text-decoration:none;padding:12px 22px;white-space:nowrap;
  background:linear-gradient(180deg,#4f4fd0 0%,#33338f 55%,#1b1b4a 100%);
  border:3px outset #7070e0;text-shadow:1px 1px 0 #000;
  animation:discordGlow 2.6s ease-in-out infinite}
.social-main:hover{background:linear-gradient(180deg,#6a6ae8 0%,#4040a8 55%,#242460 100%);color:#fff;border-color:#8f8ff0}
.social-main:active{border-style:inset}
@keyframes discordGlow{
  0%,100%{box-shadow:0 0 14px rgba(90,90,220,.40)}
  50%    {box-shadow:0 0 26px rgba(111,198,192,.55)}
}

/* Muut somet: hillitty rivi nav-tyylisia nappeja */
.social{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:16px}
.social a{font-family:var(--font-display);font-size:11px;letter-spacing:.5px;color:var(--ink);text-decoration:none;
  padding:11px 15px;background:linear-gradient(180deg,#3a1a2e 0%,var(--color-plum) 50%,#120810 100%);
  border:2px solid #000;border-top-color:#6a3a54;border-left-color:#6a3a54;text-shadow:1px 1px 0 #000}
.social a:hover{background:linear-gradient(180deg,#5a1420 0%,var(--color-crimson-deep) 100%);color:var(--color-white)}
.social a:active{border-style:inset}

/* ===== Boing ball -vektoriobjekti (vector.js piirtaa) ===== */
canvas.boing-ball{display:block;width:100%;max-width:480px;margin:0 auto;aspect-ratio:320/200;image-rendering:pixelated;background:#000;border:2px inset var(--color-purple)}

/* ===== Mobiili: navigaatio yhdelle riville ===== */
@media (max-width:600px){
  nav.retro{flex-wrap:nowrap;gap:3px;padding:5px 4px}
  nav.retro a{flex:1 1 0;min-width:0;padding:10px 2px;font-size:clamp(9px,2.7vw,13px);letter-spacing:0;text-align:center;white-space:nowrap}
}
