@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&display=swap');
:root{color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:#f4e6c5;background:radial-gradient(ellipse at 30% 10%,#49351d 0%,#171923 55%,#090f19 100%);font-family:Georgia,serif}body.death{background:radial-gradient(ellipse at 75% 10%,#233f56 0%,#151d29 58%,#090f19 100%)}header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:20px 4%;border-bottom:1px solid #98784766;flex-wrap:wrap}header a{color:#e6c58c;text-decoration:none}#brand,h1,h2,h3,.person,button{font-family:Cinzel,Georgia,serif}#brand{font-size:.85rem;letter-spacing:.11em}nav{display:flex;gap:8px}button{cursor:pointer;color:#d8e8f5;background:#1d344a;border:1px solid #668ca9;border-radius:5px;padding:8px 12px}button.active{background:#446d8b}main{max-width:900px;margin:50px auto;padding:0 24px 80px}.sigil{text-align:center;color:#d5b779;font-size:30px}h1{text-align:center;font-size:clamp(28px,4vw,46px)}#intro{text-align:center;color:#d4c6ad;line-height:1.7}#characters{display:grid;gap:14px;margin-top:35px}.person{display:block;padding:23px 27px;color:#f3ddb3;text-decoration:none;border:1px solid #b3935c8c;background:#181c23bf;letter-spacing:.05em;transition:box-shadow .2s,border-color .2s}.person:hover,.person:focus-visible{border-color:#f4d9a2;box-shadow:0 0 22px #d2a45e44}.death .person{color:#d3e8f6;border-color:#6888a4}.death .person:hover{box-shadow:0 0 22px #83b8dd55}#profile{padding:20px 5px}#all,#chapter{color:#e3c88d}#description{font-size:1.2rem;line-height:1.8}h3{margin-top:40px}li{line-height:1.9}@media(max-width:600px){#brand{order:3;width:100%;text-align:center}}
/* 1.2.6: jmeno nad portretem, prazdne misto pro dosud nevytvorene portrety */
#characters{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:start;gap:22px}.person{padding:16px;display:flex;flex-direction:column;gap:15px;text-align:center}.person-name{min-height:3em;display:flex;align-items:center;justify-content:center}.portrait-slot{display:block;width:100%;aspect-ratio:3/4;border:1px solid #b3935c66;background:linear-gradient(145deg,#ffffff08,#00000035);overflow:hidden}.portrait-slot img{display:block;width:100%;height:100%;object-fit:cover}.death .portrait-slot{border-color:#6888a466}#profile .portrait-slot{max-width:320px;margin:20px auto}

/* 1.2.7: šest karet na řádku na širokých obrazovkách */
main{max-width:1600px}#characters{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.person{min-width:0;padding:12px;gap:10px}.person-name{font-size:clamp(11px,1vw,15px);overflow-wrap:anywhere}.person-description{font:13px/1.5 Georgia,serif;text-align:left;color:#d7c9b2}.person-locked{cursor:default;opacity:.7}.locked-portrait{display:flex;align-items:center;justify-content:center;font-size:35px;color:#e0c99e}.character-summary{font:18px/1.7 Georgia,serif;max-width:650px;margin:22px auto}.death .person-description{color:#c8d9e8}@media(max-width:1100px){#characters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){#characters{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 1.2.8: stejna vyska vsech karet v ramci radku, nezavisle na delce textu. */
#characters{align-items:stretch}
#characters .person{height:100%;align-self:stretch}
#characters .person-description{flex:1 1 auto}

/* 1.2.10: death portrait focal point */
.death .portrait-slot img{object-position:50% 42%}

/* 1.2.13: pismo jako uvodni stranka */
html body,html body *,html body button{font-family:"Cinzel",Georgia,serif!important}

/* 1.2.14: zamerit oblicej Umarthiel Dunaeth do stredu portretu */
.death .portrait-slot img[src*="umarthiel-dunaeth"]{object-position:30% 42%}

/* 1.2.22 — stejné pozadí jako v písních, pro seznam i profily postav */
body{background:#17120d url('assets/images/music_life_background.webp') center center / cover fixed no-repeat;color:#f6e6c7}
body.death{background:#101522 url('assets/images/music_death_background.webp') center center / cover fixed no-repeat;color:#e3dcf5}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(16,10,4,.84),rgba(16,10,4,.50))}
body.death::before{background:linear-gradient(270deg,rgba(7,10,23,.88),rgba(7,10,23,.48))}
body header,body main{position:relative;z-index:1}
body header{background:#100d11bc;backdrop-filter:blur(8px)}
@media(max-width:700px){body{background-attachment:scroll}}

.person,#profile,.portrait-slot,.person-locked{border-radius:14px}.portrait-slot{border-radius:10px}.unlock-control,.character-search{text-align:center;margin:14px auto}.unlock-control label{cursor:pointer;font-size:13px}.unlock-control input{accent-color:#caa36c}.character-search input{width:min(100%,380px);border:1px solid #b3935c8c;border-radius:12px;padding:12px 15px;background:#111a23dc;color:inherit;font:inherit}

/* 1.2.31 — Pevna hlavicka postav, rolovani pouze v obsahu */
html{height:100%;overflow:hidden}
body{height:100vh;height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}
body>header{flex:0 0 auto;z-index:5;width:100%}
body>main{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;width:100%;margin:0 auto;padding-top:28px;padding-bottom:50px;scrollbar-width:thin;scrollbar-color:#b3935c88 transparent}
@media(max-width:600px){body>main{padding-top:16px}}
