/* Historias Feederism — final polish v1.8 */
:root{color-scheme:dark}
html{background:#07080a}
body.hf-v17,body.hf-v17 #main-content{background:#090a0d;color:#eee}

/* No white/cream flash on first paint */
body.hf-v17 #passport-screen{background:
 radial-gradient(circle at 50% 22%,rgba(201,168,106,.10),transparent 24rem),
 radial-gradient(circle at 20% 80%,rgba(61,94,112,.08),transparent 30rem),
 #050608!important;color:#f2eadf}
body.hf-v17 .passport-bg{background:
 linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
 radial-gradient(circle at 50% 34%,rgba(201,168,106,.06),transparent 42%);background-size:54px 54px,54px 54px,100% 100%}
body.hf-v17 .passport-vignette{background:radial-gradient(ellipse at center,transparent 28%,rgba(0,0,0,.78) 100%)}
body.hf-v17 .passport-content{width:min(720px,94vw);padding:36px clamp(18px,4vw,42px);border:1px solid rgba(201,168,106,.16);background:linear-gradient(180deg,rgba(13,14,17,.84),rgba(6,7,9,.92));box-shadow:0 35px 120px rgba(0,0,0,.46),inset 0 0 0 1px rgba(255,255,255,.025);backdrop-filter:blur(16px)}
body.hf-v17 .passport-title{color:#f7f0e5;text-shadow:0 18px 50px rgba(0,0,0,.45)}
body.hf-v17 .passport-title .line2{color:#d5b77f}
body.hf-v17 .passport-sector-msg{color:rgba(255,255,255,.74);background:rgba(201,168,106,.035);border-color:rgba(201,168,106,.22)}
body.hf-v17 .passport-card{background:linear-gradient(145deg,#10131a,#080a0f)!important;border:1px solid rgba(213,183,127,.28);border-radius:22px;box-shadow:0 18px 55px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.025)}
body.hf-v17 .passport-card::before{background:linear-gradient(90deg,#9b7846,#e4c991,#9b7846)}
body.hf-v17 .passport-card:hover{background:linear-gradient(145deg,#171a22,#0a0c11)!important;border-color:#d8bb86;box-shadow:0 20px 70px rgba(0,0,0,.42),0 0 40px rgba(201,168,106,.12)}
body.hf-v17 .passport-flag,body.hf-v17 .passport-name{color:#f8f1e6}
body.hf-v17 .passport-lang{color:rgba(255,255,255,.56)}
body.hf-v17 .passport-hint{color:rgba(255,255,255,.42);background:transparent!important;border:0!important}

/* Homepage: force fully dark and improve hierarchy */
body.home-v17 .hero{background:
 linear-gradient(120deg,rgba(8,9,12,.96),rgba(10,11,14,.90) 58%,rgba(15,13,12,.92)),
 radial-gradient(circle at 82% 20%,rgba(201,168,106,.10),transparent 28rem)!important;
border-bottom-color:rgba(201,168,106,.20)!important;text-align:left}
body.home-v17 .hero h1{background:linear-gradient(180deg,#fff8eb 0%,#d8c09a 72%,#9f8157 130%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
body.home-v17 .hero .lead{margin:0 0 40px;background:linear-gradient(90deg,rgba(201,168,106,.085),rgba(201,168,106,.018),transparent);border-radius:0 18px 18px 0}
body.home-v17 .hero-ui{position:relative;z-index:2}
body.home-v17 .hero-chip{box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)}
body.home-v17 nav .lang-reset{color:#e8dfd1;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.025);border-radius:999px}
body.home-v17 nav .lang-reset:hover{background:#d7bb89;color:#0a0a0b;border-color:#d7bb89}
body.home-v17 section:not(.hero):not(.dawn-banner){position:relative}
body.home-v17 #personajes,body.home-v17 #lore,body.home-v17 #redes{background:transparent}
body.home-v17 .dawn-banner{position:relative}
body.home-v17 .dawn-banner::after{content:"";position:absolute;left:12%;right:12%;bottom:-18px;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,106,.18),transparent)}
body.home-v17 .card{transform-style:preserve-3d}
body.home-v17 .card::after{content:attr(data-card-no);position:absolute;right:24px;top:24px;font:800 10px/1 'JetBrains Mono',monospace;letter-spacing:.12em;color:rgba(255,255,255,.2);z-index:5}
body.home-v17 .card:hover::after{color:rgba(215,187,137,.58)}
body.home-v17 .card-img{box-shadow:inset 0 -30px 50px rgba(0,0,0,.22)}
body.home-v17 .card:focus-visible,body.home-v17 .dawn-link-block:focus-visible,body.hf-v17 a:focus-visible,body.hf-v17 button:focus-visible{outline:2px solid #d8bb86;outline-offset:4px}
body.home-v17 .seven-item{position:relative;overflow:hidden}
body.home-v17 .seven-item::after{content:"→";position:absolute;right:14px;opacity:.28;transition:transform .2s,opacity .2s}
body.home-v17 .seven-item:hover::after{opacity:.75;transform:translateX(3px)}
body.home-v17 #personajes,body.home-v17 #lore,body.home-v17 #redes{scroll-margin-top:90px}

/* small ambient orbital decoration, purely visual */
.home-orbit-mark{position:absolute;right:7%;bottom:42px;width:210px;height:210px;border:1px solid rgba(201,168,106,.12);border-radius:50%;pointer-events:none;z-index:0;opacity:.7}
.home-orbit-mark::before,.home-orbit-mark::after{content:"";position:absolute;border:1px solid rgba(201,168,106,.16);border-radius:50%;inset:36px -38px;transform:rotate(-18deg) scaleY(.42)}
.home-orbit-mark::after{inset:72px -4px;transform:rotate(22deg) scaleY(.60);opacity:.55}
.home-orbit-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:#d5b77f;box-shadow:0 0 22px rgba(213,183,127,.3);right:6px;top:65px}

/* Reveal polish */
.hf-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}
.hf-reveal.is-visible{opacity:1;transform:none}

/* Character pages: richer personal identity without moving content */
body.character-v17 .char-page{position:relative}
body.character-v17 .char-header{position:relative;overflow:hidden}
body.character-v17 .char-header::after{content:"";position:absolute;inset:auto -8% -48% 35%;height:78%;background:radial-gradient(circle,var(--c-accent),transparent 62%);opacity:.07;pointer-events:none}
body.character-v17 .char-img-large{transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s;will-change:transform}
body.character-v17 .char-header:hover .char-img-large{filter:saturate(.98) contrast(1.03)}
body.character-v17 .character-section-block{transition:transform .28s,border-color .28s,box-shadow .28s;background:linear-gradient(180deg,color-mix(in srgb,var(--c-panel),#fff 2%),var(--c-panel))}
body.character-v17 .character-section-block:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--c-accent),transparent 55%);box-shadow:0 20px 55px rgba(0,0,0,.16)}
body.character-v17 .character-section-block::before{opacity:.54}
.character-section-index{display:flex;gap:8px;overflow-x:auto;padding:9px 2px 14px;margin:0 0 24px;scrollbar-width:thin}
.character-section-index a{flex:0 0 auto;text-decoration:none;border:1px solid var(--c-line);background:color-mix(in srgb,var(--c-panel),#000 8%);color:var(--c-muted);padding:8px 11px;border-radius:999px;font:800 9px/1 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;transition:color .2s,border-color .2s,transform .2s}
.character-section-index a:hover{color:var(--c-text);border-color:var(--c-accent);transform:translateY(-1px)}
.character-section-index a.active{background:var(--c-accent);color:#08090b;border-color:var(--c-accent)}
.character-special{position:relative}
.character-special::before{content:"INTERACTIVO";position:absolute;right:14px;top:14px;font:800 8px/1 'JetBrains Mono',monospace;letter-spacing:.16em;color:var(--c-accent);opacity:.58}

/* individual texture pass */
body.char-bertozzi .char-page::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(rgba(65,228,225,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(65,228,225,.025) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(#000,transparent 88%)}
body.char-natasha .char-header{box-shadow:0 28px 100px rgba(123,46,91,.18)}
body.char-jarrett .character-special{background-image:linear-gradient(rgba(200,135,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(200,135,255,.028) 1px,transparent 1px);background-size:22px 22px}
body.char-nolan .voice-console{box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 18px 45px rgba(0,0,0,.12)}
body.char-wren .radar-disc{box-shadow:inset 0 0 60px rgba(125,240,178,.06),0 0 40px rgba(125,240,178,.035)}
body.char-sabrina .lab-rack,body.char-sabrina .lab-result{background:linear-gradient(180deg,#0b0f15,#080b0f)}

/* media + accessibility */
@media(max-width:760px){
 body.hf-v17 .passport-content{border-left:0;border-right:0;width:100vw}
 body.home-v17 .hero{text-align:left!important}
 .home-orbit-mark{display:none}
 .character-section-index{margin-left:-2px;margin-right:-2px}
}
@media(prefers-reduced-motion:reduce){.hf-reveal{opacity:1;transform:none;transition:none}.home-orbit-mark{display:none}body.character-v17 .char-img-large{transition:none}}
