:root{
  --bg:#F7F8FA; --panel:#FFFFFF; --panel-2:#FAFBFC; --border:#DDE1E6;
  --ink:#12181F; --muted:#5B6570;
  --cyan:#1C6E7A; --red:#D6404A;
  --header-bg: rgba(247,248,250,0.94);
  --mono:'IBM Plex Mono', monospace; --sans:'Inter', sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{background:var(--bg); color:var(--ink); font-family:var(--sans); line-height:1.5;}
.wrap{max-width:1080px; margin:0 auto; padding:0 26px;}
a{color:inherit;}

header{position:sticky; top:0; z-index:50; background:var(--header-bg); backdrop-filter:blur(6px); border-bottom:1px solid var(--border);}
body:not(.header-sticky) header{position:static;}
nav{display:flex; align-items:center; justify-content:space-between; padding:16px 26px; max-width:1080px; margin:0 auto;}
.brand{font-family:var(--mono); font-weight:600; font-size:0.98rem; text-decoration:none; color:var(--ink);}
.brand span{color:var(--red);}
.navlinks{display:flex; gap:24px; list-style:none; font-size:0.86rem; font-weight:500;}
.navlinks a{text-decoration:none; color:var(--muted);}
.navlinks a:hover, .navlinks a.is-active{color:var(--ink);}
.navtoggle{display:none; background:none; border:none; font-size:1.3rem; cursor:pointer; color:var(--ink);}
@media (max-width:720px){
  .navlinks{position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; background:var(--panel); border-bottom:1px solid var(--border); max-height:0; overflow:hidden; transition:max-height .25s;}
  .navlinks.open{max-height:320px;}
  .navlinks a{display:block; padding:14px 26px; border-top:1px solid var(--border);}
  .navtoggle{display:block;}
}

.win{background:var(--panel); border:1px solid var(--border); border-radius:8px; overflow:hidden;}
.win-bar{display:flex; align-items:center; gap:8px; padding:10px 14px; border-bottom:1px solid var(--border); background:var(--panel-2);}
.win-dot{width:9px; height:9px; border-radius:50%; background:var(--border);}
.win-title{margin-left:8px; font-family:var(--mono); font-size:0.74rem; color:var(--muted);}
.win-body{padding:28px;}

.hero{padding:70px 0 56px;}
.eyebrow{font-family:var(--mono); font-size:0.76rem; color:var(--cyan); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:16px;}
h1{font-weight:800; font-size:clamp(2rem, 5vw, 3.2rem); line-height:1.1; letter-spacing:-0.02em; max-width:760px;}
h1 em{font-style:normal; color:var(--red);}
.lede{margin-top:18px; color:var(--muted); font-size:1.06rem; max-width:540px;}
.lede p{margin-bottom:0.7em;}
.lede p:last-child{margin-bottom:0;}
.lede a{color:var(--cyan); text-decoration:underline;}
.lede strong{color:var(--ink);}
.hero-cta{display:flex; gap:12px; margin-top:28px; flex-wrap:wrap;}
.btn{font-family:var(--mono); font-weight:600; font-size:0.86rem; padding:12px 20px; border-radius:5px; text-decoration:none; display:inline-block;}
.btn-primary{background:var(--ink); color:#fff;}
.btn-ghost{border:1.5px solid var(--border); color:var(--ink);}

.signature{margin-top:36px; max-width:640px;}
.signature svg{width:100%; height:auto; display:block;}
.sig-path{stroke:var(--red); stroke-width:2.2; fill:none; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1400; stroke-dashoffset:1400; animation:draw 2.6s ease forwards .3s;}
.sig-brace{fill:var(--red);}
.sig-dot{fill:var(--red);}
.sig-live{fill:var(--red); animation:live 1.6s ease-in-out infinite 2.9s; transform-origin:center;}
@keyframes draw{to{stroke-dashoffset:0;}}
@keyframes live{0%,100%{opacity:1; transform:scale(1);} 50%{opacity:0.35; transform:scale(1.7);}}
@media (prefers-reduced-motion:reduce){.sig-path{animation:none; stroke-dashoffset:0;} .sig-live{animation:none;}}

/* Nastavení tématu -> Vzhled -> Animace tepu v hero sekci */
body.hero-animation-static .sig-path{animation:none !important; stroke-dashoffset:0 !important;}
body.hero-animation-static .sig-live{animation:none !important;}
body.hero-animation-hidden .signature{display:none !important;}

.vitals{display:grid; grid-template-columns:repeat(var(--vitals-count, 4),1fr);}
@media (max-width:700px){.vitals{grid-template-columns:repeat(2,1fr) !important;}}
.vital{padding:18px 20px; border-right:1px solid var(--border); border-top:1px solid var(--border);}
.vital:last-child{border-right:none;}
.vital-label{font-family:var(--mono); font-size:0.68rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.08em;}
.vital-value{font-family:var(--mono); font-weight:700; font-size:1.3rem; margin-top:6px;}
.vital-value.red{color:var(--red);}
.vital-value.cyan{color:var(--cyan);}

section{padding:64px 0; border-top:1px solid var(--border);}
.page-hero{border-top:none; padding-bottom:36px;}
.breadcrumb{font-family:var(--mono); font-size:0.8rem; margin-bottom:22px;}
.breadcrumb a{color:var(--muted); text-decoration:none;}
.breadcrumb a:hover{color:var(--ink);}
.kicker{font-family:var(--mono); font-size:0.74rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:10px;}
.kicker:empty{display:none;}
h2{font-size:clamp(1.5rem, 3vw, 2rem); font-weight:800; letter-spacing:-0.01em;}
.listing-intro{color:var(--muted); margin-top:14px; max-width:640px; line-height:1.7;}

.prose{max-width:680px; line-height:1.75;}
.prose p{margin-bottom:16px;}
.prose ul, .prose ol{margin:0 0 16px 22px;}

.simple-content{display:flex; gap:36px; align-items:flex-start; flex-wrap:wrap;}
.avatar{border-radius:8px; background:linear-gradient(135deg,var(--cyan),var(--ink)); display:flex; align-items:center; justify-content:center; color:#fff; font-family:var(--mono); font-weight:700;}
.avatar-lg{width:160px; height:160px; font-size:2.2rem; flex-shrink:0;}
.avatar-photo{padding:0; background:none;}
.avatar-photo img{width:100%; height:100%; object-fit:cover; border-radius:8px; display:block;}

.tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:20px;}
.tag{font-family:var(--mono); font-size:0.72rem; padding:5px 10px; border:1px solid var(--border); border-radius:4px; color:var(--muted);}

/* Quicklinks (Domů -> Kam dál) */
.quicklinks{display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:16px; margin-top:26px;}
.quicklink{text-decoration:none; color:inherit; transition:transform .15s;}
.quicklink:hover{transform:translateY(-2px);}
.quicklink .win-body{display:flex; align-items:center; justify-content:space-between; padding:20px 22px;}
.ql-title{font-weight:700; font-size:1rem;}
.ql-arrow{color:var(--muted); font-family:var(--mono);}

/* Listing grid (Výuka, Materiály, Blog rozcestníky) */
.listing-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:20px;}

/* Výuka na rozcestníku (Terminal 2) — dva panely vedle sebe, inspirováno Pulse & Bracket */
.tracks{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:20px;}
.track-panel .win-body h3{font-size:1.1rem; font-weight:700; margin-bottom:4px;}
.track-title-link{color:inherit; text-decoration:none;}
.track-item-link{color:inherit; text-decoration:none;}
.kind-code .track-title-link:hover{color:var(--cyan);}
.kind-code .track-item-link:hover{color:var(--cyan);}
.kind-health .track-title-link:hover{color:var(--red);}
.kind-health .track-item-link:hover{color:var(--red);}
.track-panel .win-body .track-list{list-style:none; margin-top:14px;}
.track-panel .win-body .track-list li{padding:10px 0; border-top:1px solid var(--border); font-size:0.92rem; display:flex; justify-content:space-between; gap:10px;}
.track-panel .win-body .track-list li:first-child{border-top:none;}
.track-panel .win-body .track-list li span{font-family:var(--mono); font-size:0.76rem; color:var(--muted); white-space:nowrap;}
.track-panel .win-body .track-prose{color:var(--muted); font-size:0.92rem; margin-top:12px; line-height:1.6;}

/* Panely jednotlivých témat na detailu oboru (/vyuka/informatika) */
.topic-panels{display:flex; flex-direction:column; gap:14px; margin-top:44px;}
.topic-panel{scroll-margin-top:90px;}
.topic-panel-head{display:flex; align-items:baseline; justify-content:space-between; gap:12px;}
.topic-panel-head h4{font-size:1rem; font-weight:700;}
.topic-meta{font-family:var(--mono); font-size:0.78rem; color:var(--muted); white-space:nowrap;}
.topic-desc{margin-top:10px; color:var(--muted); font-size:0.92rem;}
.topic-panel:target{border-color:var(--red); box-shadow:0 0 0 1px var(--red);}

/* Materiály na rozcestníku (Terminal 2) — plochý seznam řádků se soubory */
.materials-flat{border-top:1px solid var(--border);}
.listing-card{text-decoration:none; color:inherit; display:block;}
.listing-card h4{font-size:1rem; font-weight:700; margin-bottom:8px;}
.listing-card p{color:var(--muted); font-size:0.88rem;}

.posts{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px;}
@media (max-width:840px){.posts{grid-template-columns:1fr;}}
.post-card{text-decoration:none; color:inherit; display:block;}
.post-date{font-family:var(--mono); font-size:0.7rem; color:var(--muted); margin-bottom:8px;}
.post-card h4{font-size:1rem; font-weight:700; margin-bottom:8px;}
.post-card p{color:var(--muted); font-size:0.88rem;}

.track-items{list-style:none; margin-top:20px;}
.track-items li{padding:10px 0; border-top:1px solid var(--border); font-size:0.94rem; display:flex; justify-content:space-between; gap:10px;}
.track-items li:first-child{border-top:none;}
.track-items li span{font-family:var(--mono); font-size:0.76rem; color:var(--muted);}

.file-row{display:grid; grid-template-columns:auto 1fr auto auto; gap:14px; align-items:center; padding:14px 0; border-top:1px solid var(--border);}
.file-row:first-child{border-top:none;}
@media (max-width:600px){.file-row{grid-template-columns:auto 1fr;}}
.file-icon{font-family:var(--mono); font-size:0.68rem; font-weight:700; color:#fff; background:var(--cyan); padding:3px 7px; border-radius:3px;}
.file-icon.health{background:var(--red);}
.file-meta{color:var(--muted); font-family:var(--mono); font-size:0.78rem;}
.file-dl{font-family:var(--mono); font-size:0.8rem; text-decoration:underline;}

.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px;}
@media (max-width:740px){.contact-grid{grid-template-columns:1fr;}}
dl{display:flex; flex-direction:column; gap:14px; margin-top:20px;}
dt{font-family:var(--mono); font-size:0.7rem; color:var(--muted); text-transform:uppercase;}
dd a{color:var(--cyan);}
.contact-form label{font-family:var(--mono); font-size:0.72rem; text-transform:uppercase; color:var(--muted); margin-bottom:5px; display:block;}
.contact-form input, .contact-form textarea, .contact-form select{width:100%; border:1px solid var(--border); border-radius:5px; padding:11px 13px; font-family:var(--sans); font-size:0.94rem; margin-bottom:14px; background:var(--panel); color:var(--ink);}
.contact-form input:focus, .contact-form textarea:focus{outline:2px solid var(--cyan); outline-offset:1px;}
.contact-form button{background:var(--red); color:#fff; border:none; font-family:var(--mono); font-weight:600; padding:12px 22px; border-radius:5px; cursor:pointer;}

footer{padding:30px 0; border-top:1px solid var(--border); font-family:var(--mono); font-size:0.78rem; color:var(--muted);}
.footer-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; width:100%;}
.footer-right{display:flex; gap:16px; align-items:center; flex-wrap:wrap;}
.footer-right a{text-decoration:none; color:var(--muted);}
.footer-right a:hover{color:var(--ink);}
.social-links{display:flex; gap:12px;}

/* ============ Barevná schémata (Nastavení tématu -> Vzhled) ============ */
body.scheme-slate-amber{
  --bg:#151A21; --panel:#1D242D; --panel-2:#232B35; --border:#2C3541;
  --ink:#EDEFF2; --muted:#8A96A5;
  --cyan:#5FB8A8; --red:#E0A84B;
  --header-bg: rgba(21,26,33,0.92);
}
body.scheme-slate-amber .btn-primary{ background:var(--red); color:#1A1305; }

body.scheme-forest-rust{
  --bg:#F4F1EA; --panel:#FFFFFF; --panel-2:#FAF7F1; --border:#DED4C2;
  --ink:#2B241C; --muted:#6B5F4D;
  --cyan:#3F6650; --red:#B65B34;
  --header-bg: rgba(244,241,234,0.92);
}

body.scheme-warm-plum{
  --bg:#EFEAE3; --panel:#FBF9F6; --panel-2:#F4EFE9; --border:#DDD4CB;
  --ink:#2A241F; --muted:#6E6357;
  --cyan:#6B4566; --red:#B0473E;
  --header-bg: rgba(239,234,227,0.92);
}

body.scheme-ink-coral{
  --bg:#0F1116; --panel:#171A20; --panel-2:#1D212A; --border:#262A33;
  --ink:#F2F3F5; --muted:#9096A2;
  --cyan:#5FC7B8; --red:#FF7A6B;
  --header-bg: rgba(15,17,22,0.92);
}
body.scheme-ink-coral .btn-primary{ background:var(--red); color:#1A0E0B; }

body.scheme-ocean-teal{
  --bg:#EFF5F5; --panel:#FFFFFF; --panel-2:#F5FAFA; --border:#D3E4E3;
  --ink:#0F2E2C; --muted:#4F6D6A;
  --cyan:#0E7C7B; --red:#D9633B;
  --header-bg: rgba(239,245,245,0.92);
}

body.scheme-sand-terracotta{
  --bg:#F6F1EA; --panel:#FFFFFF; --panel-2:#FAF5EE; --border:#E5D9C8;
  --ink:#332B22; --muted:#7A6D5A;
  --cyan:#6E7F5C; --red:#C1603A;
  --header-bg: rgba(246,241,234,0.92);
}

body.scheme-graphite-lime{
  --bg:#101314; --panel:#191D1E; --panel-2:#1F2426; --border:#2A3032;
  --ink:#EDEFEC; --muted:#8B9491;
  --cyan:#7FDB6B; --red:#FF5C5C;
  --header-bg: rgba(16,19,20,0.92);
}
body.scheme-graphite-lime .btn-primary{ background:var(--cyan); color:#0C1A08; }

body.scheme-duotone-xray{
  --bg:#0B1A24; --panel:#102631; --panel-2:#14303D; --border:#1E4759;
  --ink:#E7F1F3; --muted:#7FA8B3;
  --cyan:#5AC8DC; --red:#E9576C;
  --header-bg: rgba(11,26,36,0.92);
}
body.scheme-duotone-xray .btn-primary{ background:var(--red); color:#210A0E; }

body.scheme-pixel-arcade{
  --bg:#0A0E17; --panel:#121826; --panel-2:#171F30; --border:#232C40;
  --ink:#EAF6FF; --muted:#7A8AA6;
  --cyan:#4CFFE8; --red:#FF3CAC;
  --header-bg: rgba(10,14,23,0.92);
}
body.scheme-pixel-arcade .btn-primary{ background:var(--cyan); color:#031A17; }

body.scheme-pulse-bracket{
  --bg:#EDEFEC; --panel:#F7F8F6; --panel-2:#F1F3EF; --border:#C9CEC7;
  --ink:#1B2430; --muted:#5C6560;
  --cyan:#2F6F5E; --red:#E2503B;
  --header-bg: rgba(237,239,236,0.92);
}
