/* Slovníček pojmů — „?" tlačítko + modální glosář.
   Barvy jen přes CSS proměnné (tmavý režim jede sám). Prefix slov-. */

/* malé „?" tlačítko (vedle názvu tématu) */
.slov-btn{
  flex:0 0 auto;
  width:26px;height:26px;
  display:inline-grid;place-items:center;
  border:2px solid var(--line);border-radius:50%;
  background:var(--bg);color:var(--ink-soft);
  font-family:var(--font);font-weight:900;font-size:14px;line-height:1;
  cursor:pointer;
  transition:border-color .15s,color .15s,transform .12s,background .15s;
}
.slov-btn:hover{border-color:var(--brand);color:var(--brand)}
.slov-btn:active{transform:scale(.9)}
.slov-btn:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 34%,transparent)}

/* overlay + panel dialogu */
.slov-overlay{
  position:fixed;inset:0;z-index:1000;
  background:color-mix(in srgb,#000 48%,transparent);
  display:flex;align-items:center;justify-content:center;
  padding:16px;
  animation:slov-fade .18s ease both;
}
.slov-panel{
  width:100%;max-width:460px;max-height:86vh;
  display:flex;flex-direction:column;
  background:var(--bg);color:var(--ink);
  border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--sh);
  overflow:hidden;
  animation:slov-vjezd .22s cubic-bezier(.2,.8,.3,1) both;
}
.slov-hlava{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 16px;border-bottom:1px solid var(--line);
  flex:0 0 auto;
}
.slov-titulek{margin:0;font-size:1.05rem;font-weight:900;color:var(--ink)}
.slov-zavrit{
  flex:0 0 auto;width:34px;height:34px;
  display:grid;place-items:center;
  border:1px solid var(--line);border-radius:50%;
  background:var(--bg);color:var(--ink);
  font-size:16px;line-height:1;cursor:pointer;
  transition:background .15s,transform .12s;
}
.slov-zavrit:hover{background:var(--bg-soft)}
.slov-zavrit:active{transform:scale(.9)}
.slov-zavrit:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 34%,transparent)}

.slov-telo{padding:12px 16px 18px;overflow-y:auto;-webkit-overflow-scrolling:touch}

.slov-hledani{position:sticky;top:0;background:var(--bg);padding-bottom:10px;margin-bottom:4px;z-index:1}
.slov-input{
  width:100%;padding:11px 14px;
  border:2px solid var(--line);border-radius:var(--r-sm);
  font-family:var(--font);font-weight:700;font-size:16px;
  background:var(--bg-soft);color:var(--ink);
}
.slov-input::placeholder{color:var(--ink-soft);font-weight:600}
.slov-input:focus{outline:none;border-color:var(--brand);background:var(--bg)}

.slov-sekce{margin-top:6px}
.slov-sekce[hidden]{display:none}
.slov-sekce-nadpis{
  margin:12px 2px 6px;
  font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-soft);
}

.slov-seznam{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.slov-polozka{
  padding:11px 13px;
  background:var(--bg-soft);
  border-left:4px solid var(--brand);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.slov-pojem{font-weight:900;color:var(--ink);font-size:.98rem}
.slov-def{margin-top:3px;color:var(--ink-soft);font-weight:600;font-size:.9rem;line-height:1.45}

.slov-prazdno{margin:8px 2px;color:var(--ink-soft);font-weight:700;font-size:.92rem}

/* na malých displejích spodní „sheet" */
@media (max-width:520px){
  .slov-overlay{align-items:flex-end;padding:0}
  .slov-panel{max-width:none;max-height:90vh;border-radius:var(--r) var(--r) 0 0;border-bottom:0}
  .slov-panel{animation:slov-sheet .24s cubic-bezier(.2,.8,.3,1) both}
}

@keyframes slov-fade{from{opacity:0}to{opacity:1}}
@keyframes slov-vjezd{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes slov-sheet{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){
  .slov-overlay,.slov-panel{animation:none!important}
}
