.sv-odottaa main, .sv-odottaa .ftr, .sv-odottaa [data-footer] { display: none !important; }
.sv-odottaa .side__nav, .side__group[hidden] { display: none !important; }
.side__nav { gap: 14px; }
.sv-suljettu main { display: none !important; }
[data-sv-piilotettu][hidden], .sv-avain[hidden], .sv-huolto[hidden] { display: none !important; }
.sv-avain { position: fixed; z-index: 140; right: 22px; bottom: 24px; border: 1px solid #ffffff26; border-radius: 12px; background: #18191ef2; box-shadow: 0 8px 32px #0006; color: #fff; padding: 12px 16px; font: 600 13px system-ui; cursor: pointer; }
.sv-avain:hover { border-color: #ffb85a; }
.sv-suljettu .ftr { display: none; }
.sv-huolto { min-height: 100svh; display: grid; place-items: center; padding: calc(var(--hdr, 64px) + 40px) 28px 56px; box-sizing: border-box; color: #f5f5f7; font-family: Archivo, system-ui, sans-serif; }
.sv-huolto__kortti { width: min(100%, 740px); box-sizing: border-box; text-align: center; position: relative; display: flex; flex-direction: column; align-items: center; gap: clamp(12px, 2vh, 20px); padding: clamp(24px, 4vh, 46px) clamp(18px, 5vw, 56px) clamp(18px, 3vh, 30px); border-radius: 32px; border: 1px solid transparent; background: linear-gradient(180deg, #123049e6, #0a1828f2 55%, #08131ff7) padding-box, linear-gradient(160deg, #9bdcff80, #d6f1ff1a 35%, #5865f22e 70%, #4fb6ff66) border-box; box-shadow: 0 40px 120px -40px #000, inset 0 1px 0 #ffffff26, 0 0 110px -36px #4fb6ff88; backdrop-filter: blur(18px) saturate(1.2); -webkit-backdrop-filter: blur(18px) saturate(1.2); animation: sv-nousu .9s cubic-bezier(.2, .7, .2, 1) both; }
.sv-huolto__kortti::after { content: ''; position: absolute; left: 12%; right: 12%; top: -1px; height: 1px; background: linear-gradient(90deg, transparent, #9bdcff, transparent); }
@keyframes sv-nousu { from { opacity: 0; transform: translateY(22px) scale(.985); } to { opacity: 1; transform: none; } }
.sv-huolto__kortti > :not(.sv-merkit) { position: relative; }
.sv-huolto h1 span { color: #b7dcf7; }
@media (min-width: 1024px) { .sv-suljettu .top { display: none; } .sv-suljettu .sv-huolto { padding: 32px 28px; } }
.sv-kutsu { position: relative; width: 100%; box-sizing: border-box; padding: 2px; border-radius: 22px; overflow: hidden; }
.sv-kutsu::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, #4fb6ff, #5865f2 50%, #9bdcff); }
.sv-kutsu > div { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; padding: clamp(12px, 1.8vh, 16px) clamp(14px, 2vw, 18px); border-radius: 20px; background: linear-gradient(180deg, #10203a, #0a1424); text-align: left; }
.sv-kutsu img { width: 60px; height: 60px; border-radius: 18px; object-fit: cover; box-shadow: 0 10px 26px -8px #ff2b2b99; }
.sv-kutsu small { display: block; font: 800 10.5px Archivo, system-ui, sans-serif; letter-spacing: .14em; color: #93a9c2; text-transform: uppercase; }
.sv-kutsu strong { display: block; margin: 2px 0 3px; font-size: 20px; }
.sv-kutsu p { margin: 0; display: flex; flex-wrap: wrap; gap: 2px 12px; color: #a9bdd3; font-size: 13px; }
.sv-kutsu p b { font-weight: 600; }
.sv-kutsu p i { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: #23a55a; }
.sv-kutsu p i.sv-harmaa { background: #80848e; }
.sv-kutsu .sv-discord { margin: 0; height: 54px; border-radius: 14px; white-space: nowrap; }
@media (max-width: 620px) { .sv-kutsu > div { grid-template-columns: auto 1fr; } .sv-kutsu .sv-discord { grid-column: 1 / -1; } }
@media (prefers-reduced-motion: reduce) { .sv-huolto__kortti, .sv-huolto h1 span { animation: none; } }
.sv-merkit { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; }
.sv-merkki { display: inline-flex; align-items: center; gap: 9px; padding: 7px 15px; border-radius: 999px; border: 1px solid #ffd76a55; background: #ffd76a14; color: #ffe3a1; font: 800 12px Archivo, system-ui, sans-serif; letter-spacing: .14em; }
.sv-merkki i { width: 8px; height: 8px; border-radius: 50%; background: #ffd76a; }
.sv-merkki--joulu { border-color: #9bdcff40; background: #4fb6ff14; color: #d6f1ff; letter-spacing: .05em; }
.sv-merkki:empty { display: none; }
.sv-kicker { display: flex; align-items: center; justify-content: center; gap: 8px; font: 600 10px system-ui; letter-spacing: .17em; color: #b6b6c1; margin: 0 0 20px; }
.sv-kicker i { width: 5px; height: 5px; background: #ff6262; border-radius: 50%; box-shadow: 0 0 10px #ff626240; }
.sv-huolto h1 { font-size: clamp(40px, 5vw, 78px); line-height: .96; font-weight: 900; letter-spacing: -.045em; margin: 0; text-shadow: 0 10px 40px #4fb6ff33; }
.sv-huolto h1 span { display: block; padding-bottom: .06em; }
.sv-huolto__kuvaus { color: #a9bdd3; font: 15px/1.5 Archivo, system-ui, sans-serif; margin: 0 auto; max-width: 44ch; text-wrap: balance; }
.sv-huolto__kuvaus b { display: block; margin-bottom: 6px; color: #f4f8ff; font-size: 18px; font-weight: 800; }
.sv-valiotsikko { margin: 18px 0 0; font: 700 10px system-ui; letter-spacing: .17em; text-transform: uppercase; color: #90919f; }
.sv-huolto__linkit { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 28px 0 22px; }
.sv-huolto__linkit:empty { margin: 26px 0 0; }
.sv-huolto__linkit a { padding: 12px 19px; border: 1px solid #ffffff20; border-radius: 10px; background: #ffffff05; color: #f4f4f6; text-decoration: none; font: 600 12px system-ui; }
.sv-huolto__linkit a:first-child { background: #e73131; border-color: #ff62624d; }
.sv-huolto__linkit a:hover { background: #ffffff12; }
.sv-huolto__linkit a:first-child:hover { background: #fb4141; }
.sv-huolto__linkit button { padding: 12px 19px; border: 1px solid #ff62624d; border-radius: 10px; background: #e73131; color: #fff; font: 600 12px system-ui; cursor: pointer; }
.sv-huolto__linkit button:hover { background: #fb4141; }
.sv-kirjaudu { color: #858593; font: 12px system-ui; text-decoration: none; }
.sv-kirjaudu span { margin-left: 5px; }
.sv-kirjaudu:hover { color: #fff; }
.sv-huolto a:focus-visible { outline: 2px solid #ff7474; outline-offset: 5px; }
@media (max-width: 600px) { .sv-huolto { min-height: calc(100svh - 76px); padding: calc(var(--hdr, 58px) + 28px) 20px 50px; } .sv-huolto__kuvitus { margin-bottom: 28px; } }
.sv-paneeli { width: min(560px, calc(100vw - 28px)); max-height: calc(100dvh - 50px); padding: 26px; border: 1px solid #ffffff24; border-radius: 22px; background: #131419; color: #f4f4f6; box-sizing: border-box; box-shadow: 0 40px 140px #000b; font-family: system-ui; }
.sv-paneeli::backdrop { background: #030408b8; backdrop-filter: blur(8px); }
.sv-paneeli header { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.sv-paneeli h2 { font-size: 26px; margin: 0; }
.sv-paneeli header button { border: 1px solid #ffffff20; background: #ffffff08; border-radius: 9px; padding: 8px 12px; color: #fff; cursor: pointer; }
.sv-ohje { font-size: 13px; line-height: 1.7; color: #a6a7b4; margin: 18px 0; }
.sv-rivi { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; gap: 14px; border-bottom: 1px solid #ffffff0d; position: relative; cursor: pointer; }
.sv-rivi b { display: block; font-size: 14px; }
.sv-rivi small { display: block; font-size: 11px; color: #90919f; margin-top: 4px; }
.sv-rivi input { position: absolute; right: 0; width: 44px; height: 26px; opacity: 0; cursor: pointer; }
.sv-rivi i { width: 44px; height: 26px; border-radius: 20px; background: #34353e; flex-shrink: 0; padding: 3px; box-sizing: border-box; pointer-events: none; }
.sv-rivi i::after { content: ''; display: block; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .15s; }
.sv-rivi input:checked + i { background: #398b64; }
.sv-rivi input:checked + i::after { transform: translateX(18px); }
.sv-rivi input:focus-visible + i { outline: 2px solid #ffba66; outline-offset: 4px; }
.sv-rivi input:disabled + i { opacity: .4; }
.sv-tila { min-height: 20px; font-size: 12px; color: #ffba66; margin: 18px 0 0; }
@media (max-width: 1023px) { .sv-avain { bottom: 86px; right: 14px; } .sv-huolto { margin-left: 0; } }
@media (prefers-reduced-motion: reduce) { .sv-rivi i::after { transition: none; } }
.sv-discord svg { width: 22px; height: 22px; }
.sv-discord { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 50px; margin-top: 4px; padding: 0 26px; border-radius: 999px; background: linear-gradient(180deg, #6d78ff, #4752c4); color: #fff; font: 800 15px Archivo, system-ui, sans-serif; text-decoration: none; box-shadow: inset 0 1px 0 #ffffff40; transition: transform .18s cubic-bezier(.23, 1, .32, 1); }
@media (hover: hover) and (pointer: fine) { .sv-discord:hover { transform: translateY(-2px); } }
.sv-discord:active { transform: scale(.98); }
.sv-discord:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

/* Kehitysnäkymä: viesti ja Discord-kutsu vasemmalla, oikealla palvelinikkuna TESLESin oikeasta live-datasta. */
#sv-huolto {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(520px, 560px) minmax(0, 620px);
  grid-template-rows: auto 1fr;
  grid-template-areas: "merkit merkit" "teksti ikkuna";
  place-items: center stretch;
  justify-content: center;
  column-gap: clamp(48px, 6vw, 112px);
  row-gap: 24px;
  min-height: 100svh;
  padding: clamp(22px, 3.6vh, 36px) clamp(24px, 4.6vw, 80px) clamp(32px, 6vh, 64px);
  background: transparent;
  color: var(--text, #f4f4f5);
}
#sv-huolto ::selection { background: rgb(var(--a1-rgb) / .45); color: #fff; }
/* Tausta läpinäkyvä: sivuston yhteinen .fx-kerros (hehku ja leijuvat kipinät) näkyy kuten muilla sivuilla.
   Päällä vain kevyt punainen valo ikkunan takana. */
#sv-huolto .sv-tausta { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; background: radial-gradient(40% 55% at 74% 48%, rgb(var(--a1-rgb) / .14), transparent 72%); }

#sv-huolto > .sv-merkit { grid-area: merkit; position: static; justify-content: flex-end; align-items: center; gap: 8px; margin: 0; }
#sv-huolto .sv-merkki {
  height: 32px;
  box-sizing: border-box;
  padding: 0 13px;
  gap: 9px;
  border: 1px solid var(--line-2, #ffffff24);
  border-radius: 999px;
  background: #0c0c10cc;
  color: #fff;
  font: 800 11px var(--f-body, Archivo, system-ui, sans-serif);
  letter-spacing: .14em;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
#sv-huolto .sv-merkki i { position: relative; width: 7px; height: 7px; background: var(--amber, #f0b232); }
#sv-huolto .sv-merkki i::after { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid var(--amber, #f0b232); opacity: 0; animation: sv-tila 2.4s cubic-bezier(.16, 1, .3, 1) infinite; }
@keyframes sv-tila { 0% { opacity: .7; transform: scale(.4); } 100% { opacity: 0; transform: scale(1.5); } }
#sv-huolto .sv-merkki--joulu { color: var(--text-2, #c8c8cf); font-weight: 600; font-size: 12.5px; letter-spacing: 0; font-variant-numeric: tabular-nums; }

/* Vasen palsta */
#sv-huolto .sv-huolto__kortti {
  grid-area: teksti;
  width: 100%;
  min-width: 0;
  align-items: flex-start;
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  text-align: left;
  animation: sv-saapuminen .7s cubic-bezier(.16, 1, .3, 1) both;
}
#sv-huolto .sv-huolto__kortti::after { content: none; }
#sv-huolto h1 {
  margin: 0;
  font-family: var(--f-display, Archivo, system-ui, sans-serif);
  font-size: clamp(44px, 4.9vw, 84px);
  font-weight: 850;
  font-stretch: 100%;
  line-height: .95;
  letter-spacing: -.035em;
  color: #f7f7f8;
  text-shadow: none;
}
#sv-huolto h1 span { display: block; padding: .04em 0 .08em; color: var(--a1, #ff2b2b); }
#sv-huolto .sv-huolto__kuvaus { max-width: 44ch; margin: clamp(18px, 2.8vh, 26px) 0 clamp(26px, 4vh, 36px); color: var(--text-2, #c8c8cf); font: 16px/1.65 var(--f-body, Archivo, system-ui, sans-serif); text-wrap: pretty; }
#sv-huolto .sv-huolto__kuvaus b { display: block; margin: 0 0 8px; color: #fff; font: italic 700 clamp(20px, 1.7vw, 24px)/1.25 var(--f-serif, Georgia, serif); }
#sv-huolto .sv-kutsu { box-shadow: 0 30px 70px -30px #000, 0 18px 50px -30px #5865f280; }
#sv-huolto .sv-kirjaudu { min-height: 44px; margin-top: 14px; display: inline-flex; align-items: center; gap: 2px; color: var(--muted, #8d8d97); font: 500 13px var(--f-body, Archivo, system-ui, sans-serif); text-decoration: none; transition: color .15s; }
#sv-huolto .sv-kirjaudu:hover { color: #fff; }
#sv-huolto .sv-kirjaudu:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: 4px; }

/* Palvelinikkuna */
#sv-huolto .sv-ikkuna {
  grid-area: ikkuna;
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #ffffff1a;
  border-radius: 24px;
  background: #0d0d12;
  box-shadow: 0 50px 100px -40px #000, 0 30px 80px -50px rgb(var(--a1-rgb) / .55);
  animation: sv-ikkuna .9s cubic-bezier(.16, 1, .3, 1) .08s both;
}
@keyframes sv-ikkuna { from { opacity: 0; transform: translateY(24px) scale(.98); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
/* Banneri kokonaisena Discordin 16:9-muodossa; JS vaihtaa vain kuvan, koko ja rajaus pysyvät */
#sv-huolto .sv-ikkuna__banneri {
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, #3a0d10, #0d0d12) center / cover no-repeat;
  border-bottom: 1px solid #ffffff12;
}
#sv-huolto .sv-ikkuna__banneri--on { animation: sv-banneri .6s ease both; }
@keyframes sv-banneri { from { opacity: .4; } to { opacity: 1; } }
/* Otsikkorivi: logo vasemmalla, nimi ja tiedot oikealla */
#sv-huolto .sv-ikkuna__paa { display: flex; align-items: center; gap: 16px; }
#sv-huolto .sv-ikkuna__ikoni {
  flex: none;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  object-fit: cover;
  background: #1a1b22;
  box-shadow: 0 10px 24px -10px #000, 0 0 0 1px #ffffff14;
}
#sv-huolto .sv-ikkuna__runko { padding: 20px 24px 24px; }
#sv-huolto .sv-ikkuna__nimi { min-width: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
#sv-huolto .sv-ikkuna__nimi strong { color: #fff; font: 800 22px/1.15 var(--f-display, Archivo, system-ui, sans-serif); letter-spacing: -.01em; }
#sv-huolto .sv-ikkuna__nimi span { min-height: 1.4em; color: var(--muted, #8d8d97); font-size: 13px; font-variant-numeric: tabular-nums; }
/* Tilastot: ikonilliset laatat ja alla Discordin tilajakauma (aktiivisena / älä häiritse / joutilaana) */
#sv-huolto .sv-mittarit { display: grid; gap: 14px; margin: 20px 0 0; }
#sv-huolto .sv-mittarit:empty { display: none; }
#sv-huolto .sv-mittarit__rivi { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 10px; }
#sv-huolto .sv-mittari {
  --vari: #8d8d97;
  margin: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  padding: 12px 14px;
  border: 1px solid #ffffff10;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff0b, #ffffff04);
}
#sv-huolto .sv-mittari--paikalla { --vari: #3ddc84; }
#sv-huolto .sv-mittari--puhelussa { --vari: #3ddc84; }
#sv-huolto .sv-mittari--jasenet { --vari: #8b95ff; }
#sv-huolto .sv-mittari__ikoni {
  grid-row: span 2;
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--vari) 14%, transparent);
  color: var(--vari);
}
#sv-huolto .sv-mittari__ikoni svg { width: 19px; height: 19px; }
#sv-huolto .sv-mittari--paikalla .sv-mittari__ikoni::after { content: ''; position: absolute; inset: 0; border-radius: inherit; border: 1px solid var(--vari); opacity: 0; animation: sv-syke 2.4s cubic-bezier(.16, 1, .3, 1) infinite; }
@keyframes sv-syke { 0% { opacity: .6; transform: scale(.85); } 100% { opacity: 0; transform: scale(1.35); } }
#sv-huolto .sv-mittari b { min-width: 0; color: #fff; font: 800 clamp(19px, 1.6vw, 24px)/1.05 var(--f-display, Archivo, system-ui, sans-serif); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
#sv-huolto .sv-mittari__nimi { min-width: 0; margin-top: 3px; overflow: hidden; color: var(--muted, #8d8d97); font-size: 12.5px; white-space: nowrap; text-overflow: ellipsis; }
#sv-huolto .sv-tilat__palkki { display: flex; gap: 3px; height: 6px; }
#sv-huolto .sv-tilat__palkki i { min-width: 4px; border-radius: 3px; transition: flex-grow .6s cubic-bezier(.16, 1, .3, 1); }
#sv-huolto .sv-tilat p { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 9px 0 0; color: var(--muted, #8d8d97); font-size: 12px; font-variant-numeric: tabular-nums; }
#sv-huolto .sv-tilat p span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
#sv-huolto .sv-tilat p i { width: 7px; height: 7px; border-radius: 50%; }
#sv-huolto .sv-tilat p b { color: #fff; font-weight: 700; }
#sv-huolto .sv-tila--online { background: #23a55a; }
#sv-huolto .sv-tila--dnd { background: #f23f43; }
#sv-huolto .sv-tila--idle { background: #f0b232; }

/* Paikalla olevien jäsenten seinä: rivit liukuvat vastakkaisiin suuntiin. Rivien pystytila pitää renkaat ja merkit ehjinä. */
#sv-huolto .sv-seina {
  display: grid;
  gap: 2px;
  margin: 14px -24px 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
#sv-huolto .sv-seina[hidden] { display: none; }
#sv-huolto .sv-seina__rivi { overflow: hidden; padding: 12px 0; }
#sv-huolto .sv-seina__rivi > div { display: flex; gap: 12px; width: max-content; padding: 0 24px; }
#sv-huolto .sv-seina__rivi--liuku > div { padding: 0; animation: sv-liuku var(--kesto, 60s) linear infinite; }
#sv-huolto .sv-seina__rivi--liuku:nth-child(2) > div { animation-direction: reverse; }
#sv-huolto .sv-seina__rivi--liuku > div > :last-child { margin-right: 12px; }
@keyframes sv-liuku { to { transform: translateX(-50%); } }
#sv-huolto .sv-ikkuna:hover .sv-seina__rivi--liuku > div { animation-play-state: paused; }
#sv-huolto .sv-av { position: relative; flex: none; width: 52px; height: 52px; }
#sv-huolto .sv-av[hidden] { display: none; }
#sv-huolto .sv-av img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: #1d1e25; }
#sv-huolto .sv-av::after { content: ''; position: absolute; right: -1px; bottom: -1px; width: 14px; height: 14px; box-sizing: border-box; border: 3px solid #0d0d12; border-radius: 50%; background: #23a55a; }
#sv-huolto .sv-av--dnd::after { background: #f23f43; }
/* Puhelussa: Discordin puhevihreä rengas, hiljaa sykkivä halo ja kuulokemerkki avatarin sisäpuolella */
#sv-huolto .sv-av--puhe img { box-shadow: 0 0 0 2px #0d0d12, 0 0 0 4px #2dc770; }
/* Puhelussa: vihreä hehku renkaan ympärillä sykkii kevyesti (varjo piirtyy vain renkaan ulkopuolelle) */
#sv-huolto .sv-av--puhe::before { content: ''; position: absolute; inset: -4px; border-radius: 50%; box-shadow: 0 0 8px 1px #23a55a, 0 0 14px 2px #23a55a77; opacity: .35; animation: sv-puhe 2.4s ease-in-out infinite alternate; pointer-events: none; }
@keyframes sv-puhe { to { opacity: 1; } }
#sv-huolto .sv-av--puhe::after {
  width: 20px;
  height: 20px;
  right: -3px;
  bottom: -3px;
  border-width: 3px;
  background: #23a55a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15v-3a8 8 0 0 1 16 0v3'/%3E%3Cpath d='M4 15h3v5H5a1 1 0 0 1-1-1zM20 15h-3v5h2a1 1 0 0 0 1-1z'/%3E%3C/svg%3E") center / 11px no-repeat;
}

@keyframes sv-saapuminen { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* Matalilla näytöillä banneri pysyy kokonaisena: kavennetaan ikkunaa ja vähennetään avatarrivejä */
@media (min-width: 1181px) and (max-height: 960px) {
  #sv-huolto .sv-seina__rivi:nth-child(3) { display: none; }
}
@media (min-width: 1181px) and (max-height: 780px) {
  #sv-huolto { grid-template-columns: minmax(520px, 560px) minmax(0, 460px); column-gap: 56px; }
  #sv-huolto .sv-seina__rivi:nth-child(n+2) { display: none; }
  #sv-huolto .sv-ikkuna__runko { padding-top: 16px; }
  #sv-huolto .sv-huolto__kuvaus { margin-block: 16px 22px; }
}
@media (max-width: 1180px) {
  #sv-huolto {
    grid-template-columns: minmax(0, 620px);
    grid-template-areas: "merkit" "teksti" "ikkuna";
    grid-template-rows: auto auto auto;
    row-gap: 32px;
  }
  #sv-huolto > .sv-merkit { justify-content: flex-start; }
}
@media (max-width: 1023px) {
  #sv-huolto { min-height: calc(100svh - 76px); padding-top: calc(var(--hdr, 64px) + 18px); }
}
@media (max-width: 620px) {
  #sv-huolto { row-gap: 26px; padding: calc(var(--hdr, 58px) + 16px) 20px 28px; }
  #sv-huolto > .sv-merkit { justify-content: flex-start; }
  #sv-huolto .sv-merkki { height: 30px; padding: 0 11px; }
  #sv-huolto h1 { font-size: clamp(38px, 12vw, 60px); }
  #sv-huolto .sv-huolto__kuvaus { font-size: 15px; }

  #sv-huolto .sv-ikkuna { border-radius: 20px; }
  #sv-huolto .sv-ikkuna__ikoni { width: 56px; height: 56px; border-radius: 16px; }
  #sv-huolto .sv-ikkuna__paa { gap: 14px; }
  #sv-huolto .sv-ikkuna__runko { padding: 18px 18px 20px; }
  #sv-huolto .sv-seina { margin-inline: -18px; }
  #sv-huolto .sv-av { width: 44px; height: 44px; }
  #sv-huolto .sv-mittari { grid-template-columns: minmax(0, 1fr); row-gap: 8px; padding: 12px; }
  #sv-huolto .sv-mittari__ikoni { grid-row: auto; width: 32px; height: 32px; border-radius: 10px; }
  #sv-huolto .sv-mittari b { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  #sv-huolto .sv-huolto__kortti, #sv-huolto .sv-ikkuna, #sv-huolto .sv-merkki i::after { animation: none; }
  #sv-huolto .sv-seina__rivi--liuku > div, #sv-huolto .sv-av--puhe::before, #sv-huolto .sv-mittari__ikoni::after { animation: none; }
  #sv-huolto .sv-tilat__palkki i { transition: none; }
  #sv-huolto .sv-ikkuna__banneri--on { animation: none; }
  #sv-huolto .sv-kirjaudu { transition: none; }
  #sv-huolto .sv-discord { transition: none; }
  #sv-huolto .sv-discord:hover, #sv-huolto .sv-discord:active { transform: none; }
}

/* Discord-kutsulaatikko: sama ulkoasu kuin versiossa 244 */
#sv-huolto .sv-kutsu { width: 100%; }
#sv-huolto .sv-kutsu::before { background: linear-gradient(135deg, #7c86ff, #5865f2 45%, #3b45b8 80%, #7c86ff); }
#sv-huolto .sv-kutsu > div { background: linear-gradient(180deg, #14151c, #0c0d12); }
#sv-huolto .sv-kutsu small { color: #9da3b4; }
#sv-huolto .sv-kutsu p { color: #b5b9c6; font-variant-numeric: tabular-nums; }
#sv-huolto .sv-kutsu p b { color: #fff; }
/* Kutsulaatikko palvelinikkunan otsikkorivinä: kapeassa ikkunassa nappi rivittyy alle */
#sv-huolto .sv-ikkuna__runko { container-type: inline-size; }
@container (max-width: 520px) {
  #sv-huolto .sv-kutsu > div { grid-template-columns: auto 1fr; }
  #sv-huolto .sv-kutsu .sv-discord { grid-column: 1 / -1; }
}
/* Alateksti: selkeämpi kontrasti ja Discord korostettuna */
#sv-huolto .sv-huolto__kuvaus { max-width: 40ch; margin-bottom: 0; color: #d4d4db; font-size: 17px; line-height: 1.6; }
#sv-huolto .sv-huolto__kuvaus b { margin-bottom: 10px; }
#sv-huolto .sv-huolto__kuvaus em { font-style: normal; font-weight: 700; color: #a5adff; }
/* Ylläpidon kirjautuminen palvelinikkunan alla oikeassa reunassa */
#sv-huolto > .sv-alalinkit { grid-area: kirjaudu; justify-self: end; display: flex; flex-wrap: wrap; justify-content: flex-end; column-gap: 22px; margin: -14px 4px 0; }
/* Tyhjät 1fr-rivit pitävät sisällön pystykeskellä ja linkin heti ikkunan alla */
#sv-huolto { grid-template-rows: auto 1fr auto auto 1fr; grid-template-areas: "merkit merkit" ". ." "teksti ikkuna" ". kirjaudu" ". ."; }
@media (max-width: 620px) { #sv-huolto .sv-huolto__kuvaus { font-size: 16px; } }
@media (max-width: 1180px) { #sv-huolto { grid-template-rows: auto auto auto auto; grid-template-areas: "merkit" "teksti" "ikkuna" "kirjaudu"; } }
