/* ============================================================
   Závěrečná obrazovka VIKTIM
   Noční řeka a razítko na spisu: tmavý modročerný podklad,
   velké logo, červené razítko „Případ uzavřen“.
   ============================================================ */
.endscreen{
  --end-bg: #0c1015;
  --end-bg-2: #141b24;
  --end-card: #131920;
  --end-line: #26303b;
  --end-ink: #e8edf3;
  --end-muted: #8d97a5;
  --end-red: #d23a2f;
  --end-red-ink: #fff4f2;
  --end-star: #f0b544;
  --end-star-off: #3a4554;
  --font-display: "Big Shoulders Display", "Arial Narrow", Arial, sans-serif;
  --font-stamp: "Big Shoulders Stencil Display", "Big Shoulders Display", "Arial Narrow", Arial, sans-serif;
  --font-body: "IBM Plex Sans", "Arimo", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  /* celá obrazovka ve viditelné ploše prohlížeče (100dvh, ne 100vh) */
  position:fixed; top:0; left:0; right:0; height:100vh; height:100dvh; box-sizing:border-box;
  z-index:50; overflow-y:auto; -webkit-overflow-scrolling:touch;
  color:var(--end-ink); font-family:var(--font-body);
  background:
    radial-gradient(90% 50% at 50% 0%, var(--end-bg-2) 0%, rgba(0,0,0,0) 70%),
    var(--end-bg);
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}

.end{
  max-width:440px; margin:0 auto; min-height:100%; box-sizing:border-box;
  padding-block: calc(clamp(12px, 3dvh, 40px) + env(safe-area-inset-top, 0px))
                 calc(clamp(12px, 3dvh, 40px) + env(safe-area-inset-bottom, 0px));
  display:flex; flex-direction:column; justify-content:center; gap:clamp(10px, 2.3dvh, 26px);
}

/* ---------- logo a razítko ---------- */
.end__head{ display:flex; flex-direction:column; align-items:center; gap:clamp(6px, 1.4dvh, 14px); text-align:center; }
.end__logo{
  font-family:var(--font-display); font-weight:800; line-height:.85;
  font-size:clamp(52px, min(20vw, 11dvh), 128px); letter-spacing:.04em; padding-left:.04em;
  color:var(--end-ink); cursor:default; touch-action:manipulation;
  -webkit-user-select:none; user-select:none; -webkit-touch-callout:none;
  animation: endLogo .9s cubic-bezier(.2,.8,.2,1) both;
}
.end__stamp{
  margin:0; font-family:var(--font-stamp); font-weight:800; text-transform:uppercase;
  font-size:clamp(17px, min(6vw, 3.4dvh), 26px); letter-spacing:.16em; padding:.22em .55em .14em .7em;
  color:var(--end-red); border:3px solid var(--end-red); border-radius:4px;
  transform:rotate(-4deg); opacity:.92;
  animation: endStamp .45s .55s cubic-bezier(.3,1.6,.5,1) both;
}
@keyframes endLogo{ from{ opacity:0; letter-spacing:.2em; } to{ opacity:1; letter-spacing:.04em; } }
@keyframes endStamp{ from{ opacity:0; transform:rotate(-4deg) scale(1.8); } to{ opacity:.92; transform:rotate(-4deg) scale(1); } }

.end__confirm{
  width:100%; padding:14px; border-radius:10px; text-align:center;
  background:var(--end-card); border:1px solid var(--end-red);
}
.end__confirm p{ margin:0 0 12px; font-size:15px; }
.end__confirm-btns{ display:flex; gap:10px; }
.end__confirm-btns .end__btn{ flex:1; }

.end__epilogue{
  margin:0; text-align:center; font-size:clamp(15px, min(4.4vw, 2.6dvh), 18px); line-height:1.45; text-wrap:balance;
}

/* ---------- statistiky ---------- */
.end__stats{
  margin:0; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr));
  border-top:1px solid var(--end-line); border-bottom:1px solid var(--end-line);
}
.end__stat{ padding:clamp(8px, 1.6dvh, 14px) 6px; text-align:center; display:flex; flex-direction:column-reverse; gap:6px; }
.end__stat + .end__stat{ border-left:1px solid var(--end-line); }
.end__stat dt{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--end-muted); line-height:1.3;
}
.end__stat dd{
  margin:0; font-family:var(--font-display); font-weight:800; font-size:clamp(21px, min(6.6vw, 3.6dvh), 28px); line-height:1;
  font-variant-numeric: tabular-nums;
}

/* ---------- hodnocení ---------- */
.end__rating{ display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; }
.end__form{ width:100%; display:flex; flex-direction:column; align-items:center; gap:8px; }
.end__more{ width:100%; display:none; flex-direction:column; gap:8px; }
.end__form.is-open .end__more{ display:flex; }
.end__rq{ margin:0; font-size:16px; font-weight:600; }
.end__stars{ display:flex; gap:4px; margin:0; font-size:34px; line-height:1; color:var(--end-star); }
.end__star{
  background:none; border:0; padding:2px 4px; cursor:pointer; font-size:clamp(30px, 4.6dvh, 38px); line-height:1;
  color:var(--end-star-off); transition: color .12s ease, transform .12s ease;
}
.end__star.is-on{ color:var(--end-star); }
.end__star:active{ transform:scale(.88); }
.end__star:focus-visible{ outline:2px solid var(--end-ink); outline-offset:2px; border-radius:4px; }
.end__label{ align-self:flex-start; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--end-muted); }
.end__form textarea{
  width:100%; box-sizing:border-box; resize:vertical; min-height:56px;
  padding:10px 12px; border-radius:8px; border:1px solid var(--end-line);
  background:var(--end-card); color:var(--end-ink); font-family:var(--font-body); font-size:16px; line-height:1.4;
}
.end__form textarea::placeholder{ color:var(--end-muted); }
.end__form textarea:focus{ outline:none; border-color:var(--end-muted); }
.end__thanks{ margin:0; color:var(--end-muted); font-size:14px; }

/* ---------- tlačítka ---------- */
.end__actions{ display:flex; flex-direction:column; align-items:stretch; gap:8px; }
.end__links{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; column-gap:20px; row-gap:2px; }
.end__btn{
  display:flex; align-items:center; justify-content:center; min-height:clamp(44px, 6.2dvh, 52px); padding:0 18px; text-align:center;
  border-radius:10px; font-family:var(--font-body); font-size:16px; font-weight:600;
  text-decoration:none; cursor:pointer; box-sizing:border-box;
  transition: filter .12s ease, background .12s ease;
}
.end__btn--primary{ background:var(--end-red); color:var(--end-red-ink); border:1px solid var(--end-red); }
.end__btn--secondary{ background:transparent; color:var(--end-ink); border:1px solid var(--end-line); }
.end__btn:hover{ filter:brightness(1.1); }
.end__btn[disabled]{ opacity:.45; cursor:default; filter:none; }
.end__form .end__btn{ width:100%; }
.end__link, .end__replay{
  align-self:center; background:none; border:0; padding:8px 4px; cursor:pointer;
  font-family:var(--font-body); font-size:15px; color:var(--end-ink);
  text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--end-muted);
}
.end__replay{ font-size:14px; color:var(--end-muted); }
.end__btn:focus-visible, .end__link:focus-visible, .end__replay:focus-visible{
  outline:2px solid var(--end-ink); outline-offset:2px;
}

/* ---------- přehrání výslechu ---------- */
.end__player{
  padding:14px; border-radius:10px; background:var(--end-card); border:1px solid var(--end-line);
  display:flex; flex-direction:column; gap:10px;
}
.end__player-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.end__player-head h2{ margin:0; font-size:15px; font-weight:600; min-width:0; }
.end__player audio{ width:100%; }
.end__note{ margin:0; font-size:13px; color:var(--end-muted); }
.end__script{
  margin:0; padding:0 4px 0 0; list-style:none; max-height:50vh; overflow-y:auto;
  display:flex; flex-direction:column; gap:8px; font-size:14px; line-height:1.45;
}
.end__script b{ font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--end-muted); font-weight:500; margin-right:4px; }
.end__script-stage{ font-style:italic; color:var(--end-muted); }

.end__share-box{
  margin:0; padding:12px; border-radius:8px; border:1px dashed var(--end-line);
  font-size:14px; line-height:1.4; -webkit-user-select:all; user-select:all;
}

.end__toast{
  position:fixed; left:50%; bottom:calc(20px + env(safe-area-inset-bottom, 0px));
  transform:translate(-50%, 20px); opacity:0; pointer-events:none;
  padding:10px 16px; border-radius:8px; background:var(--end-ink); color:var(--end-bg);
  font-size:14px; font-weight:600; transition: opacity .2s ease, transform .2s ease;
  max-width:calc(100% - 32px);
}
.end__toast.is-on{ opacity:1; transform:translate(-50%, 0); }

@media (prefers-reduced-motion: reduce){
  .end__logo, .end__stamp{ animation:none; }
}

/* s otevřeným komentářem se mezery zmenší, ať se obrazovka vejde */
.end:has(.end__form.is-open){ gap:clamp(7px, 1.4dvh, 18px); }
.end:has(.end__form.is-open) .end__logo{ font-size:clamp(44px, min(16vw, 8dvh), 110px); }
