/* Vzhled podle sentiorobotix.com: tmavé pozadí, oranžová, Space Grotesk / Inter / JetBrains Mono. */
:root { --bg:#0a0b0d; --bg-alt:#101215; --panel:#16181c; --panel-hi:#1c1f24; --line:#26292e; --line-hi:#35393f;
  --text:#ece7dd; --muted:#9aa0a6; --faint:#5c6167;
  --accent:#e8792a; --accent-hi:#ff9548; --accent-ink:#161005; --accent-soft:rgba(232,121,42,.12);
  --ok:#8fd19e; --err:#f07a6a; --warn:#eab308; --shadow:none; --radius:14px;
  --font-display:"Space Grotesk",system-ui,sans-serif; --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace; --ease:cubic-bezier(.19,1,.22,1);
  color-scheme:dark; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.6 var(--font-body); background:var(--bg); color:var(--text); -webkit-font-smoothing:antialiased; }
a { color:var(--accent-hi); }
::selection { background:var(--accent); color:var(--accent-ink); }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:4px; }
h1, h2, h3 { font-family:var(--font-display); font-weight:600; letter-spacing:-.01em; }
header { position:sticky; top:0; z-index:10; border-bottom:1px solid var(--line); background:rgba(10,11,13,.86);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
header .wrap { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px; flex-wrap:wrap; }
.brand { display:flex; align-items:center; gap:12px; font-family:var(--font-display); font-weight:600; font-size:15px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--text); text-decoration:none; white-space:nowrap; }
.brand img { height:32px; width:auto; }
.brand b { color:var(--accent); font-weight:600; }
.brand small { color:var(--muted); font-weight:500; letter-spacing:.04em; text-transform:none; font-size:14px; }
nav a { color:var(--muted); text-decoration:none; margin-left:24px; font-size:14.5px; font-weight:500; transition:color .2s; }
nav a:hover { color:var(--text); }
nav { display:flex; align-items:center; }
.jazyky { display:inline-flex; margin-left:24px; border:1px solid var(--line-hi); border-radius:6px; overflow:hidden; }
.jazyky button { padding:6px 10px; border:0; border-radius:0; background:transparent; color:var(--muted);
  font:500 12px/1.2 var(--font-mono); letter-spacing:.08em; }
.jazyky button + button { border-left:1px solid var(--line-hi); }
.jazyky button:hover:not(:disabled) { color:var(--text); }
.jazyky button[aria-pressed="true"] { background:var(--accent-soft); color:var(--accent-hi); cursor:default; }
main.wrap { padding-top:56px; padding-bottom:80px; }
[hidden] { display:none !important; }
h1 { font-size:2rem; line-height:1.15; margin:.1em 0 .3em; }
h2 { font-size:1.2rem; margin:1.6em 0 .5em; }
.muted { color:var(--muted); }
.card { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; box-shadow:var(--shadow); }
button, .btn { display:inline-flex; align-items:center; gap:.5em; padding:.7em 1.3em; border-radius:6px; border:1px solid var(--line-hi);
  background:transparent; color:var(--text); font:600 15px/1.2 var(--font-body); cursor:pointer; text-decoration:none;
  transition:background .25s, border-color .25s, color .25s; }
button:hover:not(:disabled), .btn:hover { border-color:var(--accent); color:var(--accent-hi); }
button.primary, .btn.primary { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
button.primary:hover:not(:disabled), .btn.primary:hover { background:var(--accent-hi); border-color:var(--accent-hi); color:var(--accent-ink); }
button:disabled { opacity:.5; cursor:default; }
code { font-family:var(--font-mono); font-size:.85em; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 14px; font:500 12.5px/1.4 var(--font-mono);
  letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
.eyebrow::before { content:""; width:7px; height:7px; flex-shrink:0; background:var(--accent);
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%); }

/* Úvod homepage */
.hero { position:relative; overflow:hidden; border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse 70% 90% at 85% 0%, rgba(232,121,42,.16), transparent 60%), var(--bg); }
.hero::before { content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0l28 16v32L28 64 0 48V16zM28 64v33' fill='none' stroke='%2326292e' stroke-width='1'/%3E%3C/svg%3E");
  -webkit-mask-image:linear-gradient(100deg, transparent 30%, #000 85%); mask-image:linear-gradient(100deg, transparent 30%, #000 85%); }
.hero .wrap { position:relative; padding-top:88px; padding-bottom:88px; }
.hero-kicker { display:flex; align-items:center; gap:10px; margin-bottom:26px; font:500 13px/1.4 var(--font-mono);
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.hero-kicker::before { content:""; width:24px; height:1px; background:var(--accent); }
.hero h1 { font-size:clamp(52px,9vw,112px); line-height:.98; letter-spacing:-.03em; margin:0; }
.hero h1 span { color:var(--accent-hi); }
.hero-sub { margin:22px 0 0; font:500 clamp(19px,2.4vw,26px)/1.35 var(--font-display); color:var(--text); }
.hero-otazka { position:relative; margin:44px 0 0; max-width:760px; padding:22px 26px 22px 30px; border:1px solid var(--line-hi);
  border-left:3px solid var(--accent); border-radius:0 var(--radius) var(--radius) 0; background:rgba(22,24,28,.75); }
.hero-otazka small { display:block; margin-bottom:6px; font:500 12px/1.4 var(--font-mono); letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent); }
.hero-otazka p { margin:0; font:600 clamp(22px,3.2vw,34px)/1.2 var(--font-display); letter-spacing:-.01em; }
.hero-ctas { display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
.sekce-hlava { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.sekce-hlava h2 { font-size:clamp(26px,3.2vw,36px); line-height:1.15; margin:0; }
@media (max-width:560px) { .jazyky { margin-left:12px; }
  .hero .wrap { padding-top:56px; padding-bottom:56px; } .hero-otazka { padding:18px 18px 18px 20px; } }

/* Galerie */
.mrizka { display:grid; gap:20px; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); margin-top:28px; }
.dlazdice { display:block; color:inherit; text-decoration:none; background:var(--panel); border:1px solid var(--line);
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:transform .35s var(--ease), border-color .25s; }
.dlazdice:hover { transform:translateY(-3px); border-color:var(--accent); }
.dlazdice:has(.hraje):hover { transform:none; }       /* přehrávané video neposkakuje */
.nahled { position:relative; aspect-ratio:16/9; background:var(--panel-hi) center/cover no-repeat; }
.nahled .cas { position:absolute; right:8px; bottom:8px; background:rgba(0,0,0,.72); color:#fff; font-size:.78rem;
  padding:.1em .45em; border-radius:5px; }
.nahled.zvuk { display:flex; align-items:center; justify-content:center; font-size:2.4rem; color:#93a0b8; }
.nahled[role=button] { cursor:pointer; }
.nahled.hratelny:not(.hraje)::after { content:"▶"; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:52px; height:52px; border-radius:50%; background:rgba(0,0,0,.6); color:#fff; font-size:1.3rem;
  display:flex; align-items:center; justify-content:center; padding-left:4px; box-sizing:border-box;
  opacity:.85; transition:opacity .2s, transform .2s; }
.nahled.hratelny:not(.hraje):hover::after { opacity:1; transform:translate(-50%,-50%) scale(1.08); }
.nahled.hraje { background:#000; }
.nahled.hraje video.prehravac { width:100%; height:100%; border-radius:0; aspect-ratio:auto; object-fit:contain; }
.nahled.hraje audio.prehravac { position:absolute; left:8px; right:8px; bottom:8px; width:auto; }
.dlazdice .popis { display:block; color:inherit; text-decoration:none; padding:12px 14px 14px; }
.dlazdice h3 { margin:0 0 .2em; font-size:1.05rem; line-height:1.3; }
.dlazdice p { margin:0; font-size:.85rem; color:var(--muted); }
.vic { margin:28px 0 0; text-align:center; }

/* Stránka záznamu */
.zaznam { max-width:860px; margin:0 auto; }
.prehravac { width:100%; border-radius:var(--radius); background:#000; display:block; aspect-ratio:16/9; }
audio.prehravac { aspect-ratio:auto; background:transparent; }
img.prehravac.foto { aspect-ratio:auto; height:auto; max-height:80vh; object-fit:contain; }
.akce { display:flex; gap:10px; flex-wrap:wrap; margin:16px 0; }
.stav { text-align:center; padding:56px 20px; }
.stav h1 { font-size:1.5rem; }
.tocitko { width:42px; height:42px; margin:0 auto 18px; border-radius:50%; border:4px solid var(--line);
  border-top-color:var(--accent); animation:toc 1s linear infinite; }
@keyframes toc { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .tocitko { animation-duration:4s; } }
.toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); background:var(--text); color:var(--bg);
  padding:.5em 1em; border-radius:8px; font-size:.9rem; }

/* Správa */
table { width:100%; border-collapse:collapse; font-size:.9rem; }
th, td { text-align:left; padding:.55em .6em; border-bottom:1px solid var(--line); vertical-align:top; }
tbody tr { cursor:pointer; }
tbody tr:hover { background:color-mix(in srgb, var(--accent) 7%, transparent); }
.mini { width:96px; aspect-ratio:16/9; border-radius:6px; background:var(--panel-hi) center/cover no-repeat; }
.stitek { display:inline-block; font-size:.75rem; padding:.1em .55em; border-radius:99px; border:1px solid var(--line); white-space:nowrap; }
.stitek.published { color:var(--ok); border-color:currentColor; }
.stitek.hidden, .stitek.deleted { color:var(--err); border-color:currentColor; }
.stitek.ceka { color:var(--warn); border-color:currentColor; }
dialog { background:var(--panel); color:var(--text); border:1px solid var(--line); border-radius:var(--radius);
  padding:0; max-width:900px; width:calc(100% - 32px); }
dialog::backdrop { background:rgba(0,0,0,.55); }
dialog .obsah { padding:18px 20px 22px; }
dialog header { display:flex; justify-content:space-between; align-items:center; padding:12px 20px; background:none; }
.sloupce { display:grid; gap:18px; grid-template-columns:1fr 1fr; }
@media (max-width:720px) { .sloupce { grid-template-columns:1fr; } }
dl { display:grid; grid-template-columns:auto 1fr; gap:.25em 1em; margin:0; font-size:.92rem; }
dt { color:var(--muted); }
dd { margin:0; overflow-wrap:anywhere; }
.prepis { max-height:320px; overflow:auto; font-size:.9rem; }
.prepis p { margin:.35em 0; }
.prepis b { color:var(--muted); font-weight:600; }
.vizitka { max-width:100%; border-radius:8px; border:1px solid var(--line); }
.msg { margin-top:12px; padding:.6em .8em; border-radius:8px; }
.msg.err { background:color-mix(in srgb, var(--err) 12%, transparent); border:1px solid var(--err); }
@media (max-width:560px) { h1 { font-size:1.5rem; } .skryt-mobil { display:none; } }

/* Patička */
footer { border-top:1px solid var(--line); padding:22px 0 30px; color:var(--muted); font-size:.85rem; margin-top:24px; }
footer p { margin:.3em 0; }
footer a { color:var(--muted); }
footer a:hover { color:var(--text); }
footer .odstranit { color:var(--text); margin-bottom:.8em; }
footer .odstranit a { color:var(--accent); }
.cislo { position:absolute; left:8px; top:8px; background:var(--accent); color:var(--accent-ink); font:600 .74rem/1.5 var(--font-mono);
  letter-spacing:.04em; padding:.05em .5em; border-radius:5px; }
.text { max-width:720px; }
.text h2 { margin-top:1.4em; }

/* Logo v rohu videa (jen překryv na webu) */
.ramec { position:relative; }
.logo { position:absolute; pointer-events:none; user-select:none; height:auto; max-height:40%; object-fit:contain; z-index:1; }
.logo.vpravo-nahore { top:3%; right:2.5%; } .logo.vlevo-nahore { top:3%; left:2.5%; }
.logo.vpravo-dole { bottom:14%; right:2.5%; } .logo.vlevo-dole { bottom:14%; left:2.5%; }
.nahled .logo.vpravo-dole, .nahled .logo.vlevo-dole, .ramec.foto .logo.vpravo-dole, .ramec.foto .logo.vlevo-dole { bottom:3%; }
.nahled .logo.vlevo-nahore { top:auto; bottom:8px; }       /* vlevo nahoře je v galerii číslo */
.nahled.hraje .logo.vlevo-nahore { top:3%; bottom:auto; }  /* při přehrávání číslo není, dole jsou ovládací prvky */
.nahled.hraje .logo.vpravo-dole, .nahled.hraje .logo.vlevo-dole { bottom:14%; }
.ramec.foto { display:inline-block; max-width:100%; line-height:0; }
label.zaskrt { display:flex; align-items:center; gap:.5em; color:var(--text); font-size:.95rem; }
label.zaskrt input { width:auto; }
input[type=range] { padding:0; }
.msg.ok { background:color-mix(in srgb, var(--ok) 12%, transparent); border:1px solid var(--ok); }
label { display:block; font-size:.85rem; color:var(--muted); margin:.9em 0 .3em; }
select, input[type=text] { width:100%; padding:.55em .7em; border-radius:8px; border:1px solid var(--line);
  background:var(--panel); color:var(--text); font:inherit; }
input[type=range] { width:100%; accent-color:var(--accent); }
#odpovedi { scroll-margin-top:64px; }
