/* Signaali pelihallin koneena (1.11.2026, Sebastian kortti XFSGnKs6PsEIiMwbyrje). Ladataan koe.css:n jälkeen.
   Punainen kone, neljä pelihallinappia, LED-numerot, tumma tausta. Värin nimi ja numero napin alla. */
.peli-sivu{background:var(--yo);color:var(--yo-teksti)}
.peli-sivu .kp-ala{border-top-color:var(--yo-viiva);color:var(--yo-himmea)}
.peli-sivu .kp-ala a{color:var(--yo-himmea)}
.peli-paa{max-width:30rem;margin:0 auto;padding:16px 12px 0;outline:none}

.kone{border-radius:22px 22px 14px 14px;background:linear-gradient(180deg,#e0242f 0%,#b5121c 100%);padding:14px 14px 18px;border:3px solid #7d0a12;box-shadow:inset 0 2px 0 rgba(255,255,255,.25),inset 0 -6px 0 rgba(0,0,0,.25),0 12px 30px rgba(0,0,0,.5)}
.kone-kyltti{background:#05070a;border:2px solid #3a0a0e;border-radius:10px;text-align:center;padding:8px 6px 6px;margin:0}
.kone-kyltti b{display:block;font-family:var(--numero);font-weight:700;font-size:1.75rem;line-height:1.15;letter-spacing:.18em;color:var(--aurinko);text-shadow:0 0 14px rgba(255,184,28,.55)}
.kone-kyltti small{display:block;font-family:var(--numero);font-size:.625rem;letter-spacing:.3em;color:#8a7640}
.naytto{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.ruutu{background:#05070a;border:2px solid #3a0a0e;border-radius:10px;padding:12px 14px;color:#e9dfe0}
.ruutu p{margin:0}
.ruutu p+p{margin-top:.5rem}
.ruutu b{color:#fff}
.ohjeet{margin:0;padding:0 0 0 1.2rem;display:grid;gap:4px;font-size:.9375rem}
.ohjeet li::marker{font-family:var(--numero);color:var(--aurinko)}
.apu{margin:0;font-size:.875rem;color:var(--yo-himmea)}
.ruutu .apu{color:#c9a9ab}
.keski{text-align:center}
.toiminnot{display:grid;gap:10px}
.nappi{display:flex;justify-content:center;align-items:center;min-height:54px;padding:12px 16px;border-radius:10px;border:2px solid #3a0a0e;background:#05070a;color:#fff;font:inherit;font-weight:700;font-size:1.0625rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.nappi.paa-nappi{background:var(--aurinko);border-color:#c98a00;color:#111}
.nappi:active{transform:translateY(2px)}
.valinta-selite{color:#f3c9cc}
.ennatys-rivi{margin:0;text-align:center;font-family:var(--numero);font-size:.9375rem;color:#ffd9dc}
.kaveri-banneri{margin:0;background:var(--aurinko);color:#111;font-weight:700;text-align:center;padding:10px 14px;border-radius:10px;overflow-wrap:anywhere}
.vanha-huomio{margin:0;background:#05070a;border:2px dashed #c9a9ab;border-radius:10px;padding:10px 14px;color:#fff}

/* Mittarit: LED-näytöt */
.mittarit{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mittari{margin:0;background:#05070a;border-radius:8px;padding:6px 8px;border:2px solid #3a0a0e;display:flex;flex-direction:column;min-width:0}
.mittari-nimi{font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:#c9a9ab}
.mittari-arvo{font-family:var(--numero);font-weight:700;font-size:1.5rem;line-height:1.2;color:#ff4b3e;text-shadow:0 0 10px rgba(255,75,62,.6);font-variant-numeric:tabular-nums}
.elamat{display:flex;gap:4px;align-items:center;height:1.8rem}
.elamat svg{width:1.15rem;height:1.15rem}
.elama-on{fill:#ff4b3e;filter:drop-shadow(0 0 4px rgba(255,75,62,.7))}
.elama-pois{fill:none;stroke:#ff4b3e;stroke-width:2.4}

/* Tavoite */
.tavoite{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;text-align:center;font-weight:700;color:#fff;min-height:2.6rem}
.tavoite-teksti{font-size:1rem}
.tavoite-kuva{width:1.1rem;height:1.1rem;border-radius:50%;background:var(--tv,#555);box-shadow:0 0 10px var(--tv,#555)}
.tavoite-nimi{background:#05070a;color:var(--tv,#fff);padding:3px 12px;border-radius:999px;font-family:var(--numero);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1.0625rem}
.tavoite.uusi .tavoite-nimi{animation:tavoiteuusi .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes tavoiteuusi{0%{transform:scale(.85)}100%{transform:scale(1)}}

/* Napit */
.ruudukko{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:16px 10px 10px;background:#2a0306;border-radius:14px;box-shadow:inset 0 4px 10px rgba(0,0,0,.6)}
.valo{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;padding:0;font:inherit;color:#f3c9cc;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.kupu{position:relative;display:block;width:min(118px,36vw);aspect-ratio:1;border-radius:50%;background:var(--t);border:7px solid #d9d9d9;box-shadow:0 7px 0 #8d8d8d,0 9px 14px rgba(0,0,0,.5),inset 0 -10px 18px rgba(0,0,0,.35);transition:background-color .06s}
.kupu::after{content:"";position:absolute;left:22%;top:14%;width:34%;height:20%;border-radius:50%;background:rgba(255,255,255,.35)}
.valo-nimi{font-family:var(--numero);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.valo:active .kupu{transform:translateY(5px);box-shadow:0 2px 0 #8d8d8d,0 4px 8px rgba(0,0,0,.5),inset 0 -10px 18px rgba(0,0,0,.35)}
.valo.palaa .kupu{background:var(--c);box-shadow:0 7px 0 #8d8d8d,0 0 34px 10px color-mix(in srgb,var(--c) 75%,transparent),inset 0 -8px 14px rgba(0,0,0,.15)}
.valo.palaa .valo-nimi{color:#fff}
.valo.osui .kupu{animation:osui .3s ease-out}
.valo.pieleen .kupu{border-color:#ff4b3e;border-style:dashed}
.valo:focus-visible{outline:3px solid var(--aurinko);outline-offset:4px;border-radius:12px}
@keyframes osui{0%{transform:scale(1.08)}100%{transform:scale(1)}}
.palaute{margin:0;text-align:center;font-family:var(--numero);font-weight:700;font-size:1.375rem;min-height:2rem;color:#fff;font-variant-numeric:tabular-nums}
.palaute.hyva{color:#4dff88;text-shadow:0 0 10px rgba(77,255,136,.5)}
.palaute.huono{color:#ffd23f}
.tauko{background:#05070a;border:2px solid var(--aurinko);border-radius:10px;padding:16px;display:grid;gap:12px;text-align:center}
.tauko p{margin:0;font-size:1.25rem;font-weight:700}

/* Loppu */
.naytto h2{margin:0;text-align:center;font-family:var(--numero);font-weight:700;font-size:1.75rem;letter-spacing:.12em;color:var(--aurinko);text-shadow:0 0 12px rgba(255,184,28,.5);outline:none}
.uusi-ennatys{margin:0;align-self:center;background:var(--aurinko);color:#111;font-weight:750;padding:4px 16px;border-radius:999px}
.vertailu{margin:0;text-align:center;font-weight:700;background:#05070a;border:2px solid var(--aurinko);border-radius:10px;padding:10px 14px;overflow-wrap:anywhere}
.tulokset{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tulokset div{background:#05070a;border:2px solid #3a0a0e;border-radius:8px;padding:8px 10px}
.tulokset .tulos-paa,.tulokset div:last-child{grid-column:1/-1}
.tulokset .tulos-paa{text-align:center}
.tulokset dt{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:#c9a9ab}
.tulokset dd{margin:2px 0 0;font-family:var(--numero);font-weight:700;font-size:1.5rem;line-height:1.15;color:#ff4b3e;text-shadow:0 0 10px rgba(255,75,62,.5);font-variant-numeric:tabular-nums}
.tulos-paa dd{font-size:3rem;line-height:1}
.putki{margin:0;text-align:center;font-weight:700;background:#05070a;color:#4dff88;border-radius:10px;padding:10px 14px}
.kaveri,.lomake{background:#05070a;border:2px solid #3a0a0e;border-radius:10px;padding:14px;display:grid;gap:10px;color:#e9dfe0}
.kaveri h3,.lomake h3{margin:0;font-size:1.125rem;color:#fff}
.kaveri label,.kentta label{font-weight:700;color:#fff}
.kaveri input,.kentta input{font:inherit;font-size:1rem;width:100%;min-height:50px;padding:10px 12px;border-radius:8px;border:2px solid #5a1a20;background:#14090b;color:#fff}
.kentta input[aria-invalid=true]{border-color:#ffd23f}
.virhe{margin:4px 0 0;color:#ffd23f;font-size:.9375rem}
.rasti{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start}
.rasti input{width:26px;height:26px;margin:2px 0 0;accent-color:var(--aurinko)}
.rasti label{font-size:.9375rem}
.rasti small{display:block;margin-top:4px}
.huomio{margin:0;font-size:.9375rem;border-left:4px solid #5a1a20;padding-left:10px}
.kuppi{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lomake-viesti{margin:0;min-height:1.4em;overflow-wrap:anywhere}
.vihje-linkki{margin:0;text-align:center}
.vihje-linkki a,.ruutu a,.kaveri a,.lomake a{color:var(--aurinko);font-weight:700}
.vihje-linkki a{display:inline-block;padding:12px 8px;min-height:48px}

.peli-alla{max-width:30rem;margin:14px auto 0;padding:0 16px;display:grid;gap:8px;text-align:center}
.peli-alla a{color:var(--aurinko);font-weight:700}

@media (prefers-reduced-motion:reduce){
  .tavoite.uusi .tavoite-nimi,.valo.osui .kupu{animation:none}
  .kupu{transition:none}
  .valo:active .kupu,.nappi:active{transform:none}
}
.peli-sivu .palaute{padding:0;border:0;border-radius:0;background:none}
a.nappi{text-decoration:none}
