:root{--bg:#000;--paper:#121212;--ink:#ecebe6;--mute:#a3a3a3;--line:#262626;--navy:#000;--navy2:#1a1a1a;--yel:#f5c542;--yel-soft:#2b2612;
--f-d:"Anton",Impact,"Arial Narrow",sans-serif;--f-b:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color-scheme:dark}
/* Musta teema kaikille (ennen violetti: --bg #f6f3f7 / tumma #0d0716, --navy #160a26) */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--f-b)}
a{color:inherit}
.w{max-width:1080px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:8px;background:var(--paper);padding:8px;z-index:30}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:.92em;word-break:break-all}.mute{color:var(--mute)}
.logo{display:inline-flex;align-items:baseline;gap:.28em;font:400 1.45rem/1 var(--f-d);letter-spacing:.02em}
.logo b{font-weight:400;color:#fff}.logo i{font-style:normal;color:var(--yel)}
.hd{background:var(--navy);position:sticky;top:0;z-index:20}
.hdw{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;flex-wrap:wrap}
.brand{text-decoration:none}
.hd nav{display:flex;gap:2px}
.hd nav a{color:#d4d4d4;text-decoration:none;font-weight:600;font-size:.92rem;padding:7px 10px;border-radius:8px}
.hd nav a[aria-current],.hd nav a:hover{color:#fff;background:var(--navy2)}
.hero{background:var(--navy);color:#fff;padding:56px 0 64px;position:relative;overflow:hidden}
.hero>.w{position:relative;z-index:1}
.hero::after{content:"";position:absolute;right:-60px;bottom:-60px;width:260px;height:260px;border-radius:50%;background:var(--yel);opacity:.12}
.hero.pieni{padding:40px 0 48px}
.eyebrow{margin:0 0 12px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--yel)}
h1{font:400 clamp(2.4rem,9vw,4.4rem)/1.02 var(--f-d);margin:0;letter-spacing:.01em;text-transform:uppercase}
.hero h1 .hl{color:var(--yel)}
.lead{margin:18px 0 0;color:#d4d4d4;font-size:1.08rem;max-width:62ch}
h2{font:400 1.7rem/1.1 var(--f-d);text-transform:uppercase;letter-spacing:.02em;margin:0 0 14px}
.osio{margin:44px 0 16px;display:flex;align-items:center;gap:12px}
.osio::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--yel);flex:none}
.ruudukko{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.palvelu{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:var(--ink);transition:transform .15s,border-color .15s,box-shadow .15s}
.palvelu:hover{transform:translateY(-2px);border-color:var(--yel);box-shadow:0 8px 24px rgba(0,0,0,.4)}
.palvelu:focus-visible{outline:3px solid var(--yel);outline-offset:2px}
.ik{flex:none;width:46px;height:46px;border-radius:12px;background:var(--navy);color:var(--yel);display:grid;place-items:center}
.ik svg{width:24px;height:24px}
.pt{display:flex;flex-direction:column;min-width:0}
.merkki{align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--yel-soft);color:var(--ink);padding:2px 8px;border-radius:99px;margin-bottom:8px}
.pt strong{overflow-wrap:anywhere;font:400 1.45rem/1.1 var(--f-d);letter-spacing:.02em;text-transform:uppercase}
.isku{font-weight:700;margin-top:4px}
.kuv{color:var(--mute);font-size:.95rem;margin-top:6px}
.osoite{margin-top:12px;font-weight:700;font-size:.9rem;color:var(--navy2)}
.osoite{color:var(--yel)}.palvelu:hover{box-shadow:none}
.palvelu.iso{padding:24px}
.periaate{margin-top:48px}
.lista{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.lista li{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--yel);border-radius:12px;padding:14px 16px}
.teksti{max-width:720px;padding-top:40px;padding-bottom:20px}
.teksti h1{font-size:clamp(2rem,7vw,3rem);margin-bottom:14px}
.teksti h2{margin-top:28px;font-size:1.35rem}
.ft{background:var(--navy);color:#d4d4d4;margin-top:64px;padding:36px 0 28px;font-size:.92rem}
.ft p{max-width:64ch}.ft a{color:#fff}
.ft .mute{color:#9a9a9a}
@media (max-width:520px){.hero{padding:40px 0 48px}.palvelu{padding:16px}.hd nav a{padding:6px 8px;font-size:.88rem}}
@media (prefers-reduced-motion:reduce){.palvelu{transition:none}.palvelu:hover{transform:none}}
/* ---- keskustelu ---- */
#fp-tili{display:inline-flex}
.tili{background:var(--yel);color:var(--navy);border:0;border-radius:8px;font:700 .88rem var(--f-b);padding:7px 12px;margin-left:6px;cursor:pointer;max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fp-intro{background:var(--navy);color:#fff;padding:28px 0 30px}
.fp-intro h1{font-size:clamp(2rem,7vw,3.2rem)}.fp-intro .hl{color:var(--yel)}
.fp-intro .lead{margin-top:10px;font-size:1rem}
.fp-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start;margin-top:20px}
.fp-keski{min-width:0}
.fp-sivu{position:sticky;top:76px;display:grid;gap:14px}
.laatikko{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px}
.laatikko h2{font-size:1.15rem;margin-bottom:10px}
.laatikko ul{margin:0 0 10px;padding-left:18px;font-size:.92rem;color:var(--mute)}
.laatikko>a{font-weight:700;font-size:.9rem}
.mini{display:flex;gap:10px;align-items:center;padding:8px 6px;border-radius:10px;text-decoration:none}
.mini:hover{background:var(--yel-soft)}
.mini .ik{width:36px;height:36px;border-radius:10px}.mini .ik svg{width:19px;height:19px}
.mini b{display:block;font-size:.95rem}.mini small{color:var(--mute);font-size:.82rem}
.kirjoita{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:10px}
.kirjoita.lukko{text-align:center;justify-items:center;padding:20px}
.kirjoita.lukko span{color:var(--mute);font-size:.92rem}
.kirjoita textarea,.kirjoita input,.dlg input{width:100%;font:16px/1.5 var(--f-b);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;resize:vertical}
.kirjoita textarea:focus,.kirjoita input:focus,.dlg input:focus{outline:2px solid var(--yel);border-color:transparent}
.rivi{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rivi input{flex:1;min-width:180px}
.toiminnot{display:flex;align-items:center;gap:10px}
.laskuri{margin-left:auto;color:var(--mute);font-size:.85rem}.laskuri.vahan{color:#c0392b;font-weight:700}
.nappi{background:var(--yel);color:#000;border:0;border-radius:99px;font:700 .95rem var(--f-b);padding:10px 18px;cursor:pointer}
.nappi:disabled{opacity:.55;cursor:wait}
.nappi.toissijainen{background:transparent;color:var(--ink);border:1px solid var(--line)}
.fakta-nappi{background:var(--yel-soft);color:var(--ink);border:1px solid var(--yel);border-radius:99px;font:700 .88rem var(--f-b);padding:8px 14px;cursor:pointer}
.faktapaneeli{display:grid;gap:10px}
.liitetty{margin:0;font-size:.88rem;color:var(--mute)}
.linkki{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.tabit{display:flex;gap:4px;margin:18px 0 6px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabit button{background:none;border:0;border-bottom:3px solid transparent;font:700 .95rem var(--f-b);color:var(--mute);padding:10px 12px;cursor:pointer;white-space:nowrap}
.tabit button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--yel)}
.lataa{color:var(--mute);text-align:center;padding:28px 0}
.posti{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px 4px;border-bottom:1px solid var(--line);cursor:pointer;position:relative}
.posti:hover{background:color-mix(in srgb,var(--paper) 60%,transparent)}
.posti.iso{cursor:default;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:10px}
.posti.piilo{display:block;cursor:default}
.av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 1rem var(--f-b);flex:none}
.av.k{background:var(--navy2)}
.pm header{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.pm header b{font-size:.98rem}
.auto{font-size:.72rem;color:var(--mute);border:1px solid var(--line);border-radius:99px;padding:0 7px}
.aika{color:var(--mute);font-size:.86rem;text-decoration:none;margin-left:auto}
.pt{margin:4px 0 2px;overflow-wrap:anywhere;font-size:1rem}
.pt a{color:var(--navy2)}.pt a{color:var(--yel)}
.pm footer{display:flex;gap:4px;margin-top:8px;position:relative}
.pm footer button{background:none;border:0;color:var(--mute);font:600 .9rem var(--f-b);padding:6px 10px;border-radius:99px;cursor:pointer;min-width:44px}
.pm footer button:hover{background:var(--yel-soft);color:var(--ink)}
.pm footer button.on{color:#d33a4a}
.valikko{position:absolute;right:0;top:38px;z-index:5;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15);display:grid;min-width:240px}
.valikko button{background:none;border:0;text-align:left;padding:12px 14px;font:600 .92rem var(--f-b);color:var(--ink);cursor:pointer}
.valikko button:hover{background:var(--yel-soft)}
.kortti{display:grid;gap:4px;margin-top:8px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--paper);text-decoration:none;color:var(--ink);cursor:auto}
a.kortti:hover{border-color:var(--yel)}
.kl{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mute)}
.kortti strong{font-size:1rem;line-height:1.35}
.kortti>span:not(.kl){color:var(--mute);font-size:.92rem}
.muutos .ennen,.muutos .nyt{display:block;font-size:.95rem!important;color:var(--ink)!important}
.muutos .ennen{text-decoration:line-through;text-decoration-color:#d33a4a;opacity:.75}
.muutos em{font-style:normal;font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;margin-right:6px;color:var(--mute)}
.varoitus{border-left:5px solid #c26a00}
.aanestys{border-left:5px solid #1d5fd1}
.aanestys .lisa{font-size:.84rem!important}
.tulos{justify-self:start;font-size:.78rem!important;font-weight:700;border-radius:99px;padding:2px 10px;color:#fff!important}
.tulos.ok{background:#1f8a4c}.tulos.no{background:#b23a48}
.palkit{display:grid;gap:5px;margin:6px 0 2px}
.pr{display:grid;grid-template-columns:64px 1fr 36px;gap:8px;align-items:center;font-size:.85rem}
.pr b{text-align:right}
.pb{height:10px;background:var(--bg);border-radius:99px;overflow:hidden}
.pb i{display:block;height:100%;border-radius:99px}
.pb .j{background:#1f8a4c}.pb .e{background:#c0392b}.pb .t{background:#9aa3b5}.pb .p{background:#d2d6de}
.ryhmat summary{cursor:pointer;font-weight:700;font-size:.88rem;padding:4px 0}
.ryhmat table{width:100%;border-collapse:collapse;font-size:.84rem}
.ryhmat th,.ryhmat td{text-align:right;padding:3px 4px;border-bottom:1px solid var(--line)}
.ryhmat th:first-child,.ryhmat td:first-child{text-align:left}
.lue{font-weight:700;font-size:.86rem;color:var(--navy2)}.lue{color:var(--yel)}
.fakta{border:2px solid var(--yel);background:var(--yel-soft)}
.fakta .kys{font-weight:700;color:var(--ink)!important}
.fakta p{margin:2px 0}
.fakta .fa{background:var(--paper);border-radius:10px;padding:10px}
.fakta small{color:var(--mute);font-size:.78rem}
.lahteet{display:grid;gap:2px}.lahteet a{font-size:.86rem;font-weight:600}
.takaisin{background:none;border:0;font:700 .95rem var(--f-b);color:var(--ink);padding:10px 0;cursor:pointer}
.vanhempi .posti{opacity:.8}
.ketju-kirj{margin:12px 0}
.vast{font-size:1.1rem;margin:20px 0 4px}
dialog{border:0;border-radius:18px;padding:0;max-width:440px;width:calc(100% - 32px);background:var(--paper);color:var(--ink)}
dialog::backdrop{background:rgba(0,0,0,.7)}
.dlg{padding:22px;display:grid;gap:12px}.dlg h2{margin:0}.dlg p{margin:0;color:var(--mute)}.dlg label{display:grid;gap:6px;font-weight:700}
.pieni{font-size:.85rem}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;transition:transform .25s;z-index:50;max-width:calc(100% - 32px)}
.toast.nakyy{transform:translate(-50%,0)}.toast.virhe{background:#b23a48}
@media (max-width:900px){.fp-grid{grid-template-columns:1fr}.fp-sivu{position:static}}
@media (max-width:520px){.posti{grid-template-columns:38px minmax(0,1fr);gap:10px}.av{width:38px;height:38px}.pm footer button{padding:6px 8px}}
.beta{display:inline-block;margin:0 0 10px;background:var(--yel);color:var(--navy);font:700 .72rem var(--f-b);letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:99px}
/* taattu yleisö, säätimet, loppu */
.luettu{margin-left:auto;align-self:center;color:var(--mute);font-size:.84rem;padding-right:6px}
.paikka{font-size:.78rem;color:var(--mute)}
.taattu{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.84rem;font-weight:600;color:var(--ink);background:var(--yel-soft);border-radius:10px;padding:8px 10px}
.tpb{flex:none;width:70px;height:8px;border-radius:99px;background:var(--paper);overflow:hidden}.tpb i{display:block;height:100%;background:var(--yel)}
.saato-nappi{margin-left:auto!important;color:var(--ink)!important}
.saato{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px;margin:8px 0;display:grid;gap:10px}
.saato-otsikko{display:flex;justify-content:space-between;align-items:center}
.saato-rivi{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.saato-rivi small{display:block;color:var(--mute);font-size:.8rem}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:99px;overflow:hidden}
.seg button{background:none;border:0;padding:7px 11px;font:600 .82rem var(--f-b);color:var(--mute);cursor:pointer}
.seg button[aria-pressed=true]{background:var(--navy);color:#fff}
.seg button[aria-pressed=true]{background:var(--yel);color:var(--navy)}
.kuntavalinta{display:grid;gap:8px;background:var(--bg);border-radius:12px;padding:12px}
.kuntavalinta input{font:16px var(--f-b);border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--paper);color:var(--ink)}
.paikkavalinta{display:inline-flex;gap:6px;align-items:center;font-size:.86rem;font-weight:600;color:var(--mute)}
.loppu{text-align:center;padding:34px 16px 20px;display:grid;justify-items:center;gap:6px}
.loppu .ok{width:48px;height:48px;border-radius:50%;background:var(--yel);color:var(--navy);display:grid;place-items:center;font:700 1.4rem var(--f-b)}
.loppu b{font:400 1.5rem var(--f-d);text-transform:uppercase;letter-spacing:.02em}
.loppu p{margin:0 0 8px;color:var(--mute);max-width:42ch}
.valikko.miksi{padding:14px;max-width:320px;gap:6px}.valikko.miksi p{margin:0;font-size:.9rem;color:var(--mute)}
.valikko.miksi button{padding:8px 0;color:var(--navy2)}
[hidden]{display:none!important}
.toiminnot{flex-wrap:wrap}.fakta-nappi{white-space:nowrap}
.saato-nappi{font-size:1.1rem!important;padding:8px 12px!important}
.paikkavalinta{white-space:nowrap}
.opas{display:flex;gap:14px;align-items:flex-start;background:var(--yel-soft);border:2px solid var(--yel);border-radius:16px;padding:16px;margin-bottom:12px}
.opas-ik{flex:none;width:44px;height:44px;border-radius:50%;background:var(--yel);display:grid;place-items:center;font-size:1.3rem;color:var(--navy);font-weight:700}
.opas b{display:block;font-size:1.05rem}.opas p{margin:4px 0 10px;color:var(--ink)}
.opas-n{font-size:.75rem;font-weight:700;color:var(--mute);letter-spacing:.06em}
.asenna{width:100%;margin-bottom:12px;background:var(--navy);color:#fff;border:2px solid var(--yel);border-radius:14px;padding:14px;font:700 1rem var(--f-b);cursor:pointer}
.asenna{background:var(--yel);color:var(--navy)}
.ohje{margin:0;padding-left:20px;display:grid;gap:6px}
/* selkeämmät toimintonapit */
.pm footer{gap:2px;align-items:center}
.pm footer button{display:inline-flex;align-items:center;gap:6px;font:700 .95rem var(--f-b);padding:8px 12px;color:var(--ink);opacity:.8}
.pm footer button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pm footer button.on{color:#d33a4a;opacity:1}.pm footer button.on svg{fill:currentColor}
.pm footer button[data-lisaa]{font-size:1.3rem;padding:4px 10px}
.muokattu{font-size:.75rem;color:var(--mute);font-style:italic}
.muokkaus{display:grid;gap:8px;margin:6px 0}
.muokkaus textarea{width:100%;font:16px/1.5 var(--f-b);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;resize:vertical}
@media (max-width:520px){.pm footer button{padding:8px 8px}.pm footer button span{font-size:.9rem}}
.luettu{white-space:nowrap}
a.av{text-decoration:none}
.lahdelinkki{font-weight:700;font-size:.98rem;color:var(--ink);text-decoration:none}
.lahdelinkki:hover{text-decoration:underline}
.palvelulinkki{display:inline-block;margin-top:8px;font-weight:700;font-size:.9rem;color:var(--navy2)}
.palvelulinkki{color:var(--yel)}
.palvelulista{padding-left:20px;display:grid;gap:10px}.palvelulista a{color:inherit}
/* Yksityisyysvahti */
.yv{max-width:760px}
.yv-valinta{display:flex;gap:8px;margin:6px 0 12px}
.yv-edistys{display:flex;align-items:center;gap:10px;font-weight:700;margin:0 0 10px}
.yv-edistys .tpb{width:140px;height:10px;background:var(--line)}
.yv-lista{list-style:none;padding:0;margin:0;display:grid;gap:10px;counter-reset:yv}
.yv-ask{display:flex;gap:12px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px;cursor:pointer}
.yv-ask input{width:24px;height:24px;flex:none;margin-top:2px;accent-color:#1f8a4c}
.yv-ask b{display:block;font-size:1.02rem}.yv-ask small{display:block;color:var(--mute);font-size:.92rem;margin-top:4px;line-height:1.5}
.yv-ask small b{display:inline;font-size:inherit;color:var(--ink)}
.yv-ask:has(input:checked){border-color:#1f8a4c;background:color-mix(in srgb,#1f8a4c 8%,var(--paper))}
.yv-kirje{display:grid;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px}
.yv-kirje label{display:grid;gap:6px;font-weight:700;font-size:.95rem}
.yv-kirje input:not([type=checkbox]),#yv-teksti{width:100%;font:16px/1.5 var(--f-b);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.yv-kirje fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}.yv-kirje legend{font-weight:700;margin-bottom:6px}
.yv-kirje .rasti{display:flex;gap:10px;align-items:flex-start;font-weight:500}
#yv-tulos{margin-top:14px;display:grid;gap:10px}
a.nappi{text-decoration:none;display:inline-block}
.yv-varoita{border-left:4px solid var(--korostus,#f5c542);padding-left:16px!important}

/* ---- käyttökokemus 24.10. ---- */
#fp-tili{position:relative}
.tilivalikko{top:42px;min-width:220px;padding:6px 0}
.tv-nimi{padding:10px 14px 8px;font-weight:700;color:var(--ink);border-bottom:1px solid var(--line)}
.tv-tilasto{display:grid;gap:4px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:.88rem;color:var(--mute)}
.tv-tilasto>b{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.tv-tilasto span{display:flex;justify-content:space-between;gap:16px}.tv-tilasto span b{color:var(--ink)}
.pt.tiivis{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}
.avaa-teksti{background:none;border:0;padding:4px 0;margin:0;font:700 .9rem var(--f-b);color:var(--navy2);cursor:pointer}
.avaa-teksti{color:var(--yel)}

/* ---- kuvat ---- */
.kuvat{display:grid;gap:4px;margin:8px 0 2px;border-radius:14px;overflow:hidden;max-width:520px}
.kuvat.n1{grid-template-columns:1fr}.kuvat.n2,.kuvat.n4{grid-template-columns:1fr 1fr}.kuvat.n3{grid-template-columns:2fr 1fr}.kuvat.n3 .kuva:first-child{grid-row:span 2}
.kuva{display:block;padding:0;border:0;background:var(--line);cursor:zoom-in;min-height:0}
.kuva img{display:block;width:100%;height:100%;object-fit:cover}
.kuvat.n1 .kuva img{max-height:520px;height:auto}.kuvat:not(.n1) .kuva{aspect-ratio:1}
.kuvaesikatselu{display:flex;flex-wrap:wrap;gap:8px}.kuvaesikatselu:empty{display:none}
.kuvaesikatselu{margin:8px 0}
.ek{position:relative;width:84px;height:84px;border-radius:12px;overflow:hidden;background:var(--line)}
.ek img{width:100%;height:100%;object-fit:cover;display:block}
.ek.lataa img{opacity:.45}.ek i{position:absolute;inset:0;margin:auto;width:26px;height:26px;border:3px solid #fff;border-top-color:transparent;border-radius:50%;animation:pyori .8s linear infinite}
@keyframes pyori{to{transform:rotate(360deg)}}
.ek button{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;font:700 1rem/26px var(--f-b);padding:0;cursor:pointer}
.kuva-nappi{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:99px;padding:8px 14px;font:600 .9rem var(--f-b);color:var(--ink);cursor:pointer}
.kuva-nappi svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.muokkaus .rivi{align-items:center}.muokkaus .vali{flex:1}
.kuvaikkuna{max-width:min(96vw,900px)}.kuvaikkuna img{display:block;max-width:100%;max-height:75vh;margin:0 auto 12px;border-radius:10px}
.seuraa{font:700 .74rem var(--f-b);border:1px solid var(--navy);color:var(--navy);background:transparent;border-radius:99px;padding:1px 10px;cursor:pointer;line-height:1.6}
.seuraa.on{background:var(--navy);color:#fff}
.seuraa{border-color:var(--yel);color:var(--yel)}.seuraa.on{background:var(--yel);color:var(--navy)}
.valikko a{display:block;padding:12px 14px;font:600 .92rem var(--f-b);color:var(--ink);text-decoration:none}
.valikko a:hover{background:var(--yel-soft)}
.video{margin-top:10px;border-radius:14px;overflow:hidden;background:#000;max-height:70vh;display:flex;justify-content:center}
.video video{width:100%;height:auto;max-height:70vh;display:block;background:#000}
.video-ek{position:relative;display:inline-flex;align-items:center;gap:8px;min-width:150px;padding:6px 34px 6px 6px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-size:.85rem;font-weight:600}
.video-ek img{width:56px;height:56px;object-fit:cover;border-radius:8px}
.video-ek button{position:absolute;top:4px;right:4px}
.mmuuri,.mvapaa{display:inline-block;margin-left:6px;font-size:.72rem;font-weight:700;border-radius:99px;padding:0 7px;line-height:1.6;vertical-align:1px;text-transform:none;letter-spacing:0}
.mmuuri{background:#fde8c8;color:#7a4a00}.mvapaa{background:#dff3e6;color:#1f6b3a}
.mmuuri{background:#4a3410;color:#ffd79a}.mvapaa{background:#163a24;color:#9fe0b6}
.arvonta{display:flex;gap:12px;align-items:flex-start;background:var(--yel-soft);border:1px solid var(--yel);border-radius:16px;padding:12px 14px;margin-bottom:12px}
.arvonta .arv-ik{font-size:1.6rem;line-height:1}
.arvonta b{display:block}.arvonta p{margin:2px 0 0;font-size:.92rem}.arvonta a{font-weight:700}
.iso-arv{margin-top:10px;padding-top:10px;border-top:1px dashed var(--yel)}
.iso-arv small{display:block;font-size:.85rem;margin-top:4px}
.mittari{display:block;height:10px;border-radius:99px;background:rgba(0,0,0,.08);overflow:hidden;margin-top:6px}
.mittari i{display:block;height:100%;background:var(--yel);min-width:4px}
.mittari{background:rgba(255,255,255,.12)}
.kutsu-arv:not(:empty){margin-top:10px;padding-top:10px;border-top:1px dashed var(--yel)}
.kutsu-arv small{display:block;font-size:.85rem;margin:2px 0 6px}
.kutsu-arv .rivi{display:flex;gap:8px}.kutsu-arv input{flex:1;min-width:0;font:600 .85rem var(--f-b);padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.arvonta .arv-saannot{display:inline-block;margin-top:10px;padding:7px 14px;border:1.5px solid currentColor;border-radius:10px;text-decoration:none;font-size:.92rem}
.dlg .ehto{font-size:.85rem;opacity:.8;margin:8px 0 0}.dlg .ehto a{font-weight:700}
.jasenet{display:inline-flex;gap:9px;align-items:center;margin:12px 0 0;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:600;font-size:.95rem}
.jasenet:empty{display:none}.jasenet b{color:var(--yel)}.jasenet i{width:9px;height:9px;border-radius:50%;background:#3ccf7a;box-shadow:0 0 0 3px rgba(60,207,122,.25)}
.hd nav a{white-space:nowrap}
@media (max-width:430px){.hd nav{gap:2px}.hd nav a{padding:7px 7px;font-size:.84rem}.hd .tili{padding-left:12px;padding-right:12px}}
/* laskurit */
.laskurisivu .murut{font-size:.85rem;color:var(--mute);margin:0 0 6px}
.laskurisivu .murut a{color:var(--yel)}
.lead-t{font-size:1.1rem;color:var(--mute);margin:0 0 20px;max-width:60ch}
.laskuri{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;margin:0 0 28px}
.laskuri .kentat{display:grid;gap:12px}
@media(min-width:560px){.laskuri .kentat{grid-template-columns:1fr 1fr}}
.laskuri label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.95rem}
.laskuri .kent{display:flex;align-items:center;gap:8px}
.laskuri input,.laskuri select{flex:1;width:100%;font:16px/1.4 var(--f-b);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 12px}
.laskuri input:focus,.laskuri select:focus{outline:2px solid var(--yel);border-color:transparent}
.laskuri .yks{color:var(--mute);font-weight:600;font-size:.9rem;white-space:nowrap}
.tulos{margin-top:18px;display:grid;gap:1px;background:var(--line);border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.tulos:empty{display:none}
.tulos .tr{display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:var(--bg);padding:12px 14px}
.tulos .tr span{color:var(--mute);font-size:.95rem}
.tulos .tr b{font-weight:700;font-size:1.05rem;text-align:right}
.tulos .tr.paa{background:var(--navy2)}
.tulos .tr.paa span{color:#d4d4d4}.tulos .tr.paa b{color:var(--yel);font-size:1.5rem}
.ukk{border-bottom:1px solid var(--line);padding:4px 0}
.ukk summary{cursor:pointer;font-weight:600;padding:8px 0;list-style:none}
.ukk summary::-webkit-details-marker{display:none}
.ukk summary::before{content:"+ ";color:var(--yel);font-weight:800}
.ukk[open] summary::before{content:"– "}
.ukk p{margin:0 0 10px;color:var(--mute)}
.laskurilinkit{columns:2;gap:16px;padding-left:18px}
.laskurilinkit a{color:var(--yel)}
.laskurilista{list-style:none;padding:0;display:grid;gap:10px}
.laskurilista a{display:flex;flex-direction:column;gap:2px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none}
.laskurilista a:hover{border-color:var(--yel)}
.laskurilista b{color:var(--ink)}.laskurilista span{color:var(--mute);font-size:.9rem}
