:root{--f:#07090a;--f2:#0e1213;--f3:#151a1b;--t:#ece8df;--m:#9aa19c;--l:#262c2d;--v:#3fe08f;--o:#c9a86a;--ser:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--san:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--mono:ui-monospace,Consolas,Menlo,monospace;--pad:clamp(18px,5vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;background:var(--f);color:var(--t);font:16px/1.65 var(--san);-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}a{color:inherit}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{font-family:var(--ser);font-weight:400;line-height:1.12;margin:0 0 .5em}h2{font-size:clamp(30px,4.6vw,52px)}h3{font-size:clamp(22px,2.4vw,28px)}p{margin:0 0 1em}
em{font-style:italic;color:var(--v)}small{font-size:12.5px;color:var(--m)}
:focus-visible{outline:2px solid var(--v);outline-offset:2px}
.eti,.eyebrow{font:600 11.5px/1.4 var(--mono);letter-spacing:.17em;color:var(--o);margin:0 0 12px;text-transform:uppercase}
.cab{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:clamp(12px,3vw,34px);padding:12px var(--pad);background:rgba(7,9,10,.88);backdrop-filter:blur(8px);border-bottom:1px solid var(--l)}
.marca{font:400 20px/1 var(--ser);text-decoration:none;white-space:nowrap}
.cab nav{display:flex;gap:clamp(12px,2.2vw,28px);margin-left:auto;overflow-x:auto;scrollbar-width:none;font-size:14px}.cab nav::-webkit-scrollbar{display:none}.cab nav a{text-decoration:none;color:var(--m);white-space:nowrap;padding:4px 0}.cab nav a:hover{color:var(--t)}
.idioma{font-size:12.5px;text-decoration:none;border:1px solid var(--l);padding:5px 10px;color:var(--m);white-space:nowrap}.idioma:hover{color:var(--t);border-color:var(--m)}
.heroe{position:relative;min-height:min(86vh,780px);display:flex;align-items:center;overflow:hidden;padding:clamp(32px,6vh,80px) var(--pad)}
.heroe-img{position:absolute;top:0;right:0;bottom:0;width:70%;height:100%;object-fit:cover;object-position:50% 20%}
.heroe:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--f) 30%,rgba(7,9,10,.82) 42%,rgba(7,9,10,0) 62%),linear-gradient(0deg,var(--f) 0,transparent 26%)}
.heroe-txt{position:relative;z-index:2;max-width:600px}
.heroe h1{font-size:clamp(40px,6.3vw,76px);margin-bottom:.45em}
.ancla{font-size:clamp(17px,1.6vw,20px);line-height:1.5}.lede{color:var(--m);font-size:15px;max-width:520px}
.botones{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.bot{display:inline-flex;flex-direction:column;justify-content:center;min-height:50px;padding:10px 22px;border:1px solid var(--m);text-decoration:none;line-height:1.25;transition:background .15s,border-color .15s,color .15s}.bot small{font-size:11.5px;margin-top:2px}.bot:hover{border-color:var(--v);color:var(--v)}
.bot.pri{background:var(--v);border-color:var(--v);color:#04130b;font-weight:600}.bot.pri:hover{background:#6df0ad;color:#04130b}
.voces{position:absolute;inset:0;z-index:1;pointer-events:none;font:italic 400 clamp(14px,1.5vw,20px) var(--ser);color:#dfe8e2}
.voces span{position:absolute;opacity:0;animation:voz 9s ease-in-out infinite}
.voces span:nth-child(1){left:54%;top:12%}.voces span:nth-child(2){left:82%;top:24%;animation-delay:1.4s}.voces span:nth-child(3){left:60%;top:70%;animation-delay:2.8s}.voces span:nth-child(4){left:90%;top:48%;animation-delay:4.1s}.voces span:nth-child(5){left:70%;top:8%;animation-delay:5.2s}.voces span:nth-child(6){left:52%;top:42%;animation-delay:6.4s}.voces span:nth-child(7){left:84%;top:74%;animation-delay:.7s}.voces span:nth-child(8){left:74%;top:84%;animation-delay:2.1s}.voces span:nth-child(9){left:50%;top:86%;animation-delay:3.5s}.voces span:nth-child(10){left:88%;top:10%;animation-delay:4.8s}.voces span:nth-child(11){left:54%;top:26%;animation-delay:6.9s}.voces span:nth-child(12){left:80%;top:62%;animation-delay:7.8s}
@keyframes voz{0%,100%{opacity:0}35%,60%{opacity:.5}}
@media(prefers-reduced-motion:reduce){.voces span{animation:none;opacity:.3}html{scroll-behavior:auto}}
.lente{display:flex;align-items:center;gap:clamp(12px,2.4vw,30px);flex-wrap:wrap;padding:14px var(--pad);background:var(--f2);border-block:1px solid var(--l);text-decoration:none;font-size:13.5px;color:var(--m)}
.lente b{font:600 12px var(--mono);letter-spacing:.14em;color:var(--o)}.lente .cont b{font-size:16px;letter-spacing:.04em;color:var(--v);font-variant-numeric:tabular-nums}.lente .ir{margin-left:auto;color:var(--t)}.lente:hover .ir{color:var(--v)}
.ojo{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#9dffc9,var(--v) 45%,#0c3a22);box-shadow:0 0 12px var(--v);flex:none}
.sec{padding:clamp(52px,8vw,104px) var(--pad);max-width:1400px;margin:auto}
.puertas{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--l);border:1px solid var(--l);margin-top:26px}
.puertas article{background:var(--f2);padding:clamp(22px,3vw,38px);display:flex;flex-direction:column;align-items:flex-start}.puertas p{color:var(--m)}.puertas .eti{color:var(--o)}
.mini{list-style:none;padding:0;margin:18px 0 0;font-size:14px}.mini li{margin:6px 0}.mini a,.mini button,.enl a{color:var(--t);text-decoration:underline;text-decoration-color:var(--l);text-underline-offset:4px;text-align:left;padding:0}.mini a:hover,.mini button:hover,.enl a:hover{color:var(--v);text-decoration-color:var(--v)}
.pest{display:flex;gap:4px;border-bottom:1px solid var(--l);margin:22px 0 22px;overflow-x:auto;scrollbar-width:none}.pest button{padding:12px 18px;color:var(--m);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.pest button[aria-selected=true]{color:var(--t);border-color:var(--v)}
.nota{color:var(--m);font-size:14.5px}.sub{font:600 11.5px var(--mono);letter-spacing:.15em;color:var(--o);text-transform:uppercase;margin:26px 0 12px}
.tira{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:12px;scrollbar-color:var(--l) transparent}
.libro{flex:0 0 178px;scroll-snap-align:start;display:flex;flex-direction:column}.libro>a{display:block;background:var(--f3);margin-bottom:10px;border:1px solid var(--l);transition:border-color .15s}.libro>a:hover{border-color:var(--v)}
.libro strong{font:400 18px/1.2 var(--ser);margin-bottom:4px}.libro em{color:var(--o);font-size:13.5px;margin-bottom:4px}.libro p{font-size:13px;line-height:1.5;color:var(--m);margin-bottom:8px;flex:1}
.comic{flex-basis:226px}.comic small{font-size:11px;margin-bottom:6px}
.acc{display:flex;gap:12px;align-items:baseline;font-size:13px}.acc a{color:var(--v);text-decoration:none}.acc a:hover{text-decoration:underline}.acc small{margin-left:auto}
.enl{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:18px;font-size:14.5px}
.vids{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px}.vids li{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--l);font-size:14.5px}.vids time{font:12px var(--mono);color:var(--m);flex:none;padding-top:3px}.vids a{text-decoration:none}.vids a:hover{color:var(--v)}
.ciudad{position:relative;overflow:hidden;background:var(--f2);border-block:1px solid var(--l);display:grid;grid-template-columns:1.1fr 1fr}
.ciudad img{width:100%;height:100%;object-fit:cover;min-height:320px}.ciudad-txt{padding:clamp(32px,5vw,72px) var(--pad)}.ciudad-txt>p:not(.eti):not(.enl){color:var(--m)}
.sitios{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--l);border:1px solid var(--l)}.sitios a{display:block;background:var(--f2);padding:13px 15px;text-decoration:none;height:100%}.sitios a:hover{background:var(--f3)}.sitios strong{display:block;font:400 17px/1.25 var(--ser)}.sitios span{font-size:12px;color:var(--m)}
.fila{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 18px}
.control{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:flex-end;justify-content:space-between;margin:16px 0}
.filtros{display:flex;flex-wrap:wrap;gap:6px}.filtros button{padding:6px 12px;border:1px solid var(--l);font-size:13.5px;color:var(--m)}.filtros button:hover{color:var(--t);border-color:var(--m)}.filtros button[aria-pressed=true]{background:var(--t);color:var(--f);border-color:var(--t)}
.busca{display:flex;flex-direction:column;font-size:12px;color:var(--m);gap:4px;flex:0 1 280px}.busca input{font:inherit;font-size:15px;color:var(--t);background:var(--f2);border:1px solid var(--l);padding:9px 12px;width:100%}
.cuenta{font:12px var(--mono);color:var(--m);min-height:1.5em;margin:0 0 12px}
.reja{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:16px}.panel[hidden]{display:none}
.carta{display:flex;flex-direction:column;min-width:0;text-align:left;content-visibility:auto;contain-intrinsic-size:auto 340px}.carta img{aspect-ratio:3/4;width:100%;object-fit:cover;background:var(--f3);border:1px solid var(--l);margin-bottom:9px;transition:border-color .15s}.carta:hover img{border-color:var(--v)}.carta b{font:400 18px/1.2 var(--ser)}.carta span{font-size:12.5px;line-height:1.4;color:var(--m);margin-top:3px}
.carta.txt blockquote{margin:0 0 9px;aspect-ratio:3/4;padding:16px;background:var(--f2);border:1px solid var(--l);font:italic 15px/1.4 var(--ser);color:var(--m);display:flex;align-items:flex-end}.carta.txt:hover blockquote{border-color:var(--v)}
#reja:not(.todo){grid-template-columns:repeat(4,minmax(0,1fr))}@media(min-width:1100px){#reja:not(.todo){grid-template-columns:repeat(8,minmax(0,1fr))}}@media(max-width:640px){#reja:not(.todo){grid-template-columns:repeat(2,minmax(0,1fr))}}
.censo{margin-top:26px;width:100%;align-items:center;cursor:pointer}
.dos{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(36px,6vw,90px);border-top:1px solid var(--l)}.grande{font:400 clamp(19px,1.8vw,23px)/1.4 var(--ser);color:var(--m)}
.fam{list-style:none;padding:0;margin:18px 0}.fam li{display:flex;gap:6px 14px;flex-wrap:wrap;align-items:baseline;padding:11px 0;border-top:1px solid var(--l)}.fam strong{font:400 19px var(--ser)}.fam span{color:var(--m);font-size:14px}.fam a{margin-left:auto;text-decoration:none;color:var(--v)}
.cierre{text-align:center;padding:clamp(48px,8vw,100px) var(--pad);font:400 clamp(21px,2.6vw,32px)/1.35 var(--ser);border-top:1px solid var(--l)}
.pie{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:26px var(--pad);border-top:1px solid var(--l);font-size:13.5px;color:var(--m)}.pie p{margin:2px 0 0;font-size:12.5px}.pie strong{font:400 15px var(--ser);color:var(--t)}
.taller{font-size:11.5px;opacity:.42;text-align:right;transition:opacity .15s}.taller:hover,.taller[open]{opacity:1}.taller summary{cursor:pointer;list-style:none;letter-spacing:.08em}.taller summary::-webkit-details-marker{display:none}.taller ul{list-style:none;padding:0;margin:8px 0 0}.taller li{margin:4px 0}
dialog{width:min(1040px,94vw);max-height:92vh;padding:0;border:1px solid var(--l);background:var(--f2);color:var(--t);overflow:auto}dialog::backdrop{background:rgba(0,0,0,.82)}
.x{position:sticky;top:8px;float:right;margin:8px 8px 0 0;width:38px;height:38px;font-size:24px;line-height:1;background:rgba(7,9,10,.8);border:1px solid var(--l);z-index:3}.x:hover{border-color:var(--v);color:var(--v)}
.f-caja{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.sin-img .f-caja{grid-template-columns:1fr}.f-img{background:#000;padding-bottom:12px}.f-img[hidden]{display:none}.f-img img{width:100%}.f-img details,.f-img>a,.f-img>p{margin:12px 16px;font-size:13.5px}.f-img summary{cursor:pointer;color:var(--v)}.f-caja article{padding:clamp(22px,3.5vw,42px)}.f-rol{color:var(--o);font:italic 400 18px var(--ser)}#f-bio p,#d-des{font-size:15.5px}.f-fuente,.source-note,.guide-source{font:11.5px var(--mono);color:var(--m);letter-spacing:.03em}
.v3d{padding:12px 16px 0}.v3d button{color:var(--v);border-color:var(--v)}model-viewer{width:100%;height:min(62vh,560px);background:radial-gradient(#26302a,#090e0b)}.n3d{width:100%}
#f-bio .book-entry,#f-bio a{color:var(--v)}#f-rel{margin:18px 0}
/* Páginas largas: contenido heredado de la portada vieja */
.largo main{display:block}.h-pag{font-size:clamp(36px,5.5vw,62px)}
.wrap,.garitas-section{padding:clamp(40px,7vw,90px) var(--pad);max-width:1280px;margin:auto}.garitas-section .wrap{padding:0}.garitas-section{max-width:none;border-top:1px solid var(--l);background:var(--f2)}
.section-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:22px}.chapter-note{font:11.5px var(--mono);color:var(--m);letter-spacing:.1em}
.world-intro,.garita-intro{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(20px,5vw,70px);margin-bottom:32px}.world-intro p,.garita-intro p{color:var(--m)}.large-copy{font:400 clamp(20px,2vw,26px)/1.35 var(--ser)}
.family-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--l);border:1px solid var(--l);margin-bottom:26px}.family-grid article{background:var(--f2);padding:24px}.family-number{font:12px var(--mono);color:var(--o)}.family-deck{font:italic 400 17px var(--ser);color:var(--v)}.family-grid p{font-size:14.5px;color:var(--m)}.fam-ir{color:var(--v);font-size:14px}
.domter-note{color:var(--m);font-size:14.5px;border-left:2px solid var(--o);padding-left:14px;margin:0 0 32px}.domter-note a,.text-link{color:var(--v)}
.guia{margin:30px 0}.guia>p{color:var(--m)}.cosmos{width:100%;border-collapse:collapse;font-size:14.5px;margin:14px 0}.cosmos th,.cosmos td{padding:10px 12px;border-top:1px solid var(--l);text-align:left;vertical-align:top}.cosmos thead th{font:11.5px var(--mono);color:var(--o);letter-spacing:.1em}.cosmos tbody th{font:400 16px var(--ser);white-space:nowrap}.cosmos td{color:var(--m)}
.pregunta{border-top:1px solid var(--l)}.pregunta summary{padding:15px 0;cursor:pointer;font:400 clamp(17px,1.7vw,20px)/1.3 var(--ser)}.pregunta summary:hover{color:var(--v)}.pregunta>div{max-width:760px;color:var(--m);font-size:15px;padding-bottom:14px}.pregunta a{color:var(--v)}
.threshold{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(24px,5vw,64px);margin-top:44px}.threshold figure{margin:0}.threshold figcaption{font:11.5px var(--mono);color:var(--m);margin-top:8px}.threshold p{color:var(--m)}.threshold strong{color:var(--t)}.terms{margin:18px 0}.terms div{padding:10px 0;border-top:1px solid var(--l)}.terms dt{font:600 12.5px var(--mono);letter-spacing:.1em;color:var(--o)}.terms dd{margin:3px 0 0;color:var(--m);font-size:14.5px}
.garita-view{position:relative;margin:0 0 12px}.garita-view img{width:100%;aspect-ratio:16/9;object-fit:cover}.layer-label{position:absolute;left:0;bottom:0;right:0;padding:40px 18px 14px;background:linear-gradient(0deg,rgba(0,0,0,.9),transparent)}.layer-label span{font:600 12px var(--mono);letter-spacing:.15em;color:var(--o)}.layer-label p{margin:3px 0 0;font-size:14.5px}
.layer-controls{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:26px}.layer-controls button{padding:6px 12px;border:1px solid var(--l);font-size:13.5px;color:var(--m)}.layer-controls button[aria-pressed=true]{background:var(--t);color:var(--f)}
.parts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--l);border:1px solid var(--l);margin-bottom:36px}.parts-grid article{background:var(--f);padding:18px}.parts-grid h3{font-size:19px}.parts-grid p{font-size:14px;color:var(--m);margin:0}
.prisons{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(24px,5vw,64px)}.prisons>div>p{color:var(--m);font-size:15px}.prisons ol{list-style:none;padding:0;margin:0}.prisons li{display:flex;gap:16px;padding:13px 0;border-top:1px solid var(--l)}.prisons li>span{font:12px var(--mono);color:var(--o);padding-top:5px}.prisons h4{font-size:19px;margin:0 0 3px}.prisons li p{margin:0 0 5px;color:var(--m);font-size:14.5px}.prison-explanation{font-size:13.5px!important}
.collection-intro{color:var(--m);max-width:680px}.resin-intro{color:var(--m);font-size:14.5px;margin-bottom:6px}.resin-intro strong{color:var(--t)}.resin-intro p{margin:0}.wordplay-note{margin-top:38px;border-left:2px solid var(--o);padding-left:14px;font-size:14.5px;color:var(--m)}.wordplay-note strong{color:var(--t)}.wordplay-note p{margin:0}.collection-availability{color:var(--m);font-size:14px;margin-top:18px}.reja.panel .carta img{aspect-ratio:1}
#d-img{width:100%}#d-full{color:var(--v)}#d-modos{margin:12px 0}#d-modos[hidden]{display:none}#d-per[hidden]{display:none}
@media(max-width:900px){.puertas,.ciudad,.dos,.world-intro,.garita-intro,.threshold,.prisons{grid-template-columns:1fr}.family-grid{grid-template-columns:1fr}.parts-grid{grid-template-columns:1fr 1fr}.vids{grid-template-columns:1fr}.ciudad img{min-height:0;aspect-ratio:16/9;height:auto}.f-caja{grid-template-columns:1fr}.threshold figure{max-width:320px}.cosmos tbody th{white-space:normal}}
@media(max-width:640px){.cab{flex-wrap:wrap;gap:6px 12px;padding:9px var(--pad)}.cab nav{order:3;width:100%;margin:0;gap:18px;font-size:13.5px}.idioma{margin-left:auto}html{scroll-padding-top:92px}
.heroe{min-height:0;display:block;padding:0}.heroe-img{position:relative;width:100%;height:36vh;min-height:230px;object-position:50% 8%}.heroe:after{background:linear-gradient(0deg,var(--f) 0,transparent 26%);height:36vh;min-height:230px;bottom:auto}.heroe-txt{padding:0 var(--pad) 28px;margin-top:-14px;display:flex;flex-direction:column}.heroe-txt .lede{order:3;margin:18px 0 0}.heroe-txt .ancla{margin-bottom:0}.heroe h1{font-size:36px;margin-bottom:.35em}.botones{margin-top:16px}
.voces{height:36vh;min-height:230px;bottom:auto;font-size:13px}.voces span:nth-child(n+7){display:none}.voces span:nth-child(1){left:6%;top:8%}.voces span:nth-child(2){left:66%;top:42%}.voces span:nth-child(3){left:6%;top:64%}.voces span:nth-child(4){left:70%;top:9%}.voces span:nth-child(5){left:6%;top:36%}.voces span:nth-child(6){left:62%;top:72%}
.botones .bot{flex:1 1 100%;align-items:center;text-align:center}.lente .lt{flex:1 1 100%;order:-1}.lente .ir{margin-left:0}.reja{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sitios{grid-template-columns:1fr}.libro{flex-basis:150px}.comic{flex-basis:190px}.parts-grid{grid-template-columns:1fr}.pie{flex-direction:column}.taller{text-align:left}}
.aparte{margin-top:26px;padding:16px 18px;border-left:2px solid var(--o);background:var(--f3);font-size:14.5px;color:var(--m)}.aparte strong{display:block;font:400 19px var(--ser);color:var(--t);margin-bottom:5px}.aparte p:not(.eti){margin:0 0 6px}.aparte .enl{margin-top:8px}
