@font-face{font-family:Magica;src:url('/assets/CinzelDecorative-Bold.ttf') format('truetype');font-display:swap;font-weight:700}
:root{--paper:#f8f3e8;--paper-light:#fffaf1;--ink:#2a2423;--muted:#706764;--green:#831d31;--green-light:#a12b43;--gold:#9a7434;--line:#d5c7b1;--hero:#541a29;--hero-ink:#fff3df;--ornament:#9a7434;--on-accent:#fffaf0;--shadow:none;--soft:#ede4d5;color-scheme:light}
:root[data-design=slytherin]{--green:#285e4a;--green-light:#36775b;--gold:#64786c;--hero:#12372b;--ornament:#6b8071}
:root[data-design=ravenclaw]{--green:#30678d;--green-light:#3c7da8;--gold:#9b7948;--hero:#173c5a;--ornament:#9b7948}
:root[data-design=hufflepuff]{--green:#9a6c10;--green-light:#b3821d;--gold:#9a6c10;--hero:#40300f;--ornament:#9a6c10}
:root[data-design=direccion]{--green:#704c87;--green-light:#825c9b;--gold:#7a6b83;--hero:#281436;--ornament:#8b8290}
:root[data-design=fundador]{--green:#9a1730;--green-light:#b5233d;--gold:#aa803a;--hero:#57101c;--ornament:#aa803a}
:root[data-theme=dark]{--paper:#090a0d;--paper-light:#111216;--ink:#f2ecdf;--muted:#b5afa6;--green:#b43853;--green-light:#cd4763;--gold:#c7a05a;--line:#594b37;--hero:#350f1a;--ornament:#a58a55;--on-accent:#fff8ea;--soft:#19191d;color-scheme:dark}
:root[data-theme=dark][data-design=slytherin]{--green:#72b998;--green-light:#8bceae;--gold:#c1c7c2;--line:#4d5954;--hero:#0d2c20;--ornament:#8b9b92;--on-accent:#071b13}
:root[data-theme=dark][data-design=ravenclaw]{--green:#8cc3e8;--green-light:#acd8f5;--gold:#bf9b62;--hero:#0d273b;--ornament:#a38b66;--on-accent:#071b2a}
:root[data-theme=dark][data-design=hufflepuff]{--green:#e2bf4f;--green-light:#f1d575;--gold:#d1b051;--line:#625637;--hero:#30260e;--ornament:#a68c42;--on-accent:#201900}
:root[data-theme=dark][data-design=direccion]{--green:#ad88c0;--green-light:#c4a3d4;--gold:#bbb3c1;--line:#414047;--hero:#24112f;--ornament:#88858a;--on-accent:#140a1b}
:root[data-theme=dark][data-design=fundador]{--green:#a82842;--green-light:#c23b53;--gold:#cba354;--hero:#3e0c17;--line:#5f4b28;--ornament:#b4934f}
body{position:relative;background:var(--paper);color:var(--ink);padding-top:0}.ambient{pointer-events:none;position:fixed;inset:0;width:100%;height:100vh;color:var(--ornament);opacity:.22;z-index:0}.founder-motifs{display:none}[data-design=fundador] .founder-motifs{display:block}main,.site-header,.site-footer{position:relative;z-index:1}body:before{display:none}
.site-header{display:block;padding:45px 24px 24px;text-align:center;min-height:140px}.brand{display:block}.brand-mark{display:none}.brand-name{font:700 clamp(25px,4vw,42px)/1.3 Magica,Georgia,serif;letter-spacing:-.8px}.brand-sub{color:var(--gold);font-size:10px;letter-spacing:2.5px;margin-top:10px}.header-tools{position:absolute;right:18px;top:6px;display:flex;align-items:center;gap:5px}.header-guide{min-width:38px;min-height:38px;padding:8px;border-radius:50%;color:var(--muted)}.header-guide span{display:none}.theme-toggle{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;color:var(--green);background:var(--paper-light)}.design-label{position:absolute;top:15px;left:24px;font-size:9px;letter-spacing:1.4px;color:var(--muted);background:none;text-align:left;max-width:65%;padding:3px 0}
.hero{display:block;min-height:0;margin:0 18px;padding:28px;border:1px solid var(--gold);border-radius:24px;background:var(--hero);color:var(--hero-ink);isolation:isolate;overflow:hidden}.hero-copy{padding:0;width:66%;min-height:188px}.hero .eyebrow{font-size:9px;color:#dfc89d}.hero h1{font:clamp(29px,4vw,47px)/1.15 Georgia,serif;letter-spacing:-.8px;margin-bottom:15px}.hero h1 em{font-style:normal;color:inherit}.hero-description{color:#e4d9c9;font-size:14px;line-height:1.5}.hero-description br{display:none}.hero-note{display:none}.hero-line-art{position:absolute;right:4px;top:15px;width:34%;height:195px;color:var(--gold);opacity:.95;z-index:-1}.castle-art{position:absolute;right:0;top:0;width:70%;height:240px;color:var(--gold);opacity:.15;stroke-width:1;z-index:-2}.wizard-art{display:none}[data-design=fundador] .owl-art{display:none}[data-design=fundador] .wizard-art{display:block}.blue-spark{stroke:#66a3ed;stroke-width:2.5}
.hero .search-section{margin:12px 0 0;padding:0}.search-form{box-shadow:none;background:var(--paper-light);border:1px solid var(--line);border-radius:14px;padding:6px 7px 6px 13px;gap:9px}.hero .search-form{border-color:var(--gold)}.search-icon{color:var(--muted)}.search-form input{color:var(--ink);font-size:15px;height:43px}.search-form input::placeholder{color:var(--muted)}.search-submit,.primary{background:var(--green);color:var(--on-accent);border:1px solid transparent}.search-submit{border-radius:10px;padding:0 14px}.search-submit:hover,.primary:hover{background:var(--green-light)}.suggestions{display:flex;gap:8px;margin-top:12px}.suggestions>span{display:none}.suggestions button{flex:1;border:1px solid #bda36b88;border-radius:12px;color:#f3e7d0;padding:10px 5px;font:13px Georgia,serif;min-height:40px;background:transparent}.suggestions button:hover{background:#ffffff10;border-color:var(--gold)}
.shelves-section{padding:30px 20px 20px}.section-heading h2{font:32px Georgia,serif}.section-heading .eyebrow{color:var(--muted)}.heading-star{color:var(--gold)}.shelf-grid{grid-template-columns:repeat(2,1fr);gap:12px}.shelf{background:var(--paper);border:1px solid var(--line);border-radius:16px;gap:12px;padding:20px 16px}.shelf:hover,.result:hover{background:var(--soft)}.shelf-symbol{background:none;width:34px;height:40px;color:var(--gold)}.shelf-symbol .icon{width:32px;height:35px}.shelf strong{font:21px Georgia,serif}.shelf small{color:var(--muted)}.shelf>.icon{color:var(--gold);width:15px}.section-note{color:var(--muted)}.pince-note{margin:8px 20px 30px;padding:16px 20px;background:var(--paper);border-left:1px solid var(--gold)}.pince-note small{color:var(--muted)}.site-footer p,.site-footer strong,.site-footer small{color:var(--muted)}
.bottom-nav{background:var(--paper-light);border-color:var(--line);gap:0;justify-content:space-around;width:100%;left:0;right:0;transform:none;border-radius:0;opacity:.98}.bottom-nav button{min-width:0;width:25%;color:var(--muted);padding:4px}.bottom-nav button[aria-current=page]{color:var(--green)}.bottom-nav button span{font-size:11px}.bottom-nav button[aria-current=page]:after{content:'';display:block;width:32px;height:2px;background:currentColor;border-radius:2px}
.inner-view{padding:16px 24px 40px}.back-link,.reading-meta{color:var(--muted)}.inner-view>.eyebrow,.reader-top .eyebrow{color:var(--gold)}.result{color:var(--ink);border-color:var(--line)}.result-number,.result>.icon{color:var(--gold)}.result-sub{color:var(--muted)}.article-content{color:var(--ink);font-size:19px;line-height:1.85}.secondary{background:var(--soft);color:var(--ink);border:1px solid var(--line)}.secondary:hover{background:var(--paper-light)}.reader-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.reader-actions .secondary{flex:1}.reader-actions [aria-pressed=true]{color:var(--green);border-color:var(--green)}.inline-status{font-size:13px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}.inline-status:empty{display:none}.source-note{color:var(--muted)}.source-note a,.image-actions a{color:var(--green)}progress,progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--gold)}.guide-steps p{color:var(--muted)}.guide-note{background:var(--soft)}.status h2{color:var(--ink)}.modal{background:var(--paper-light);color:var(--ink);border-color:var(--line);padding:24px}.modal::backdrop{background:#000b}.modal-head .eyebrow{color:var(--gold)}.index-list button{color:var(--ink);border-color:var(--line)}.index-list button.nested{color:var(--muted)}.index-list button[aria-current=true]{color:var(--green);background:var(--soft)}.house-options{display:grid;gap:12px}.house-options button{padding:15px;text-align:left;background:var(--soft);border:1px solid var(--line);border-radius:12px;min-height:50px}.house-options button[aria-pressed=true]{border-color:var(--green);color:var(--green)}#house-note{font-size:14px;color:var(--muted);line-height:1.6}.image-modal{max-width:820px}.image-modal img{display:block;width:100%;height:auto;max-height:55vh;object-fit:contain;margin:15px auto}.image-modal img.zoomed{max-height:none}.image-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.account-status{max-width:800px;font-size:12px;line-height:1.6;text-align:center;color:var(--muted);margin:12px auto 25px;padding:0 22px;position:relative;z-index:1}
[data-design=direccion] .shelf-symbol,[data-design=direccion] .shelf>.icon{color:var(--muted)}[data-design=direccion] .hero{border-color:#786782}[data-design=direccion] .hero-line-art{color:#c3b7cc}[data-design=direccion] .hero .suggestions button{border-color:#786782}
@media(max-width:700px){.site-header{padding:51px 20px 22px;min-height:145px}.brand-name{font-size:27px}.brand-sub{font-size:8px;letter-spacing:1.6px}.hero{padding:24px 18px;margin:0 14px;border-radius:22px}.hero-copy{width:68%;min-height:178px}.hero h1{font-size:30px;line-height:1.15}.hero-description{font-size:12px}.hero .eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:14px}.hero-line-art{top:28px;right:0;width:34%;height:150px;opacity:.9}.castle-art{top:0;height:210px;width:100%}.shelves-section{padding:27px 14px 16px}.section-heading h2{font-size:28px}.shelf{padding:16px 10px;gap:8px}.shelf strong{font-size:17px}.shelf small{font-size:9px}.shelf-symbol{width:27px}.shelf-symbol .icon{width:26px;height:31px}.shelf>.icon{width:13px}.shelf-grid{gap:10px}.pince-note{margin:12px 14px 25px;padding:15px}.pince-note p{font-size:19px}.inner-view{padding:16px 20px 30px}.reader-view>h1{font-size:33px}.reader-top{flex-wrap:wrap}.article-content{font-size:18px}.result-title{font-size:21px}.design-label{left:18px;font-size:8px}.header-tools{right:12px}.search-submit span{display:none}.suggestions button{font-size:11px}.search-form input{font-size:14px}.hero .search-section{margin-top:4px}.bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}.modal{padding:20px}.modal h2{font-size:28px}.image-actions{font-size:13px}}
@media(max-width:350px){.hero h1{font-size:26px}.brand-name{font-size:24px}.hero-copy{min-height:170px}.shelf strong{font-size:15px}.shelf small{display:none}.section-heading h2{font-size:25px}.suggestions button{font-size:10px}.hero-line-art{height:140px;top:32px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}

.hero-line-art{stroke-width:2;color:#dcc28b}.hero-description{max-width:95%}[data-design=slytherin] .hero-line-art{color:#c6d0c9}[data-design=direccion] .hero-line-art{color:#c3b7cc}

[data-theme=dark] .bottom-nav button[aria-current=page],[data-theme=dark] .source-note a,[data-theme=dark] .reader-actions [aria-pressed=true]{color:var(--gold)}

/* V5.1 · Elementos fieles a las propuestas aprobadas. */
.brand-name{display:block;width:100%;height:100px;max-width:700px;margin:0 auto;background:var(--ink);-webkit-mask:url('/assets/titulo-biblioteca.webp') center/contain no-repeat;mask:url('/assets/titulo-biblioteca.webp') center/contain no-repeat;font-size:0}
.site-header{padding-top:42px;padding-bottom:19px}.brand-sub{margin-top:0}
.hero-copy{width:73%;min-height:188px}.hero-description{font:clamp(16px,2.2vw,23px)/1.4 Georgia,serif;max-width:100%;margin:0 0 15px}.hero h1{font-size:clamp(28px,4vw,45px);margin-bottom:14px}.hero-line-art{width:34%;height:210px;top:6px;right:0}.castle-art{width:80%;height:230px;right:-15px;opacity:.16}
.wizard-reference{display:none;position:absolute;right:9px;top:12px;width:32%;height:205px;object-fit:contain;z-index:-1}[data-design=fundador] .wizard-art{display:none}[data-design=fundador] .wizard-reference{display:block}
.ornament-frame{position:absolute;inset:0 0 80px;pointer-events:none;z-index:0;background:var(--ornament);opacity:.55;-webkit-mask:url('/assets/ornamentos.webp') center/100% 100% no-repeat;mask:url('/assets/ornamentos.webp') center/100% 100% no-repeat}
.ambient>path,.ambient>use{display:none}.ambient{position:absolute;height:100%;opacity:.6}
.shelf small,.section-heading .eyebrow,.section-note{display:none}.shelf{padding:20px 15px;min-height:91px}.shelf-grid{gap:13px}.shelf-symbol .icon{width:35px;height:38px}.pince-note{border:0;background:transparent;display:block;text-align:center;margin:25px 15px 17px;padding:5px}.pince-note>span,.pince-note small{display:none}.pince-note p{font-style:italic;font-size:21px}.site-footer{border-top:0}.site-footer>.icon{display:none}
@media(max-width:700px){.brand-name{height:76px}.site-header{padding-top:43px;min-height:0}.brand-sub{font-size:8px}.hero{padding:23px 18px}.hero-copy{width:74%;min-height:151px}.hero h1{font-size:26px;line-height:1.16;letter-spacing:-.5px}.hero-description{font:15px/1.4 Georgia,serif;max-width:96%}.hero-line-art{height:159px;top:5px;width:34%;right:-7px}.wizard-reference{height:160px;right:0;top:4px;width:32%}.castle-art{height:180px}.search-form input{font:15px Georgia,serif}.suggestions button{font:12px Georgia,serif}.shelf{min-height:82px;padding:16px 12px}.shelf strong{font-size:19px}.shelf-symbol .icon{width:28px;height:33px}.hero .search-section{margin-top:9px}.shelves-section{padding-top:30px}.section-heading{justify-content:center;margin-bottom:18px}.section-heading h2{font-size:28px}.heading-star{display:none}.ornament-frame{opacity:.45}.pince-note p{font-size:19px}.shelf-symbol{width:29px}}
@media(max-width:350px){.hero h1{font-size:23px}.hero-description{font-size:13px}.hero-copy{min-height:140px}.hero-line-art,.wizard-reference{height:145px}.shelf strong{font-size:16px}.shelf-symbol{width:25px}.shelf{padding:14px 9px}.brand-name{height:68px}}
.brand-name{-webkit-mask-size:100% 100%;mask-size:100% 100%}
.personal-header{display:none;position:absolute;inset:0;width:100%;height:145px;color:var(--ornament);pointer-events:none;z-index:-1;opacity:.9}[data-design=fundador] .personal-header{display:block}

html:not(.brand-ready) .brand-name{font:700 27px/1.3 Magica,Georgia,serif;color:var(--ink);background:none;-webkit-mask:none;mask:none;display:grid;place-items:center}html.brand-ready .brand-name{font-size:0}
/* V5.2: tema de bienvenida sin casa. Las paletas no cambian la composición. */
:root[data-design=neutral]{--green:#5b5141;--green-light:#72644f;--gold:#9b8152;--line:#d3c6ae;--hero:#29292e;--ornament:#988359;--on-accent:#fff7e8}
:root[data-theme=dark][data-design=neutral]{--green:#c6ae7a;--green-light:#deca9c;--gold:#bca779;--line:#514b3f;--hero:#1c1d21;--ornament:#8f8367;--on-accent:#1c1b17}
:root[data-theme=dark][data-design=ravenclaw]{--paper:#0a1017;--paper-light:#0e1721;--hero:#0e2c44;--gold:#d0ad62;--line:#8b7448;--ornament:#ac8d4e}
:root[data-theme=dark][data-design=gryffindor]{--hero:#43101c;--line:#937647;--gold:#d0ac62}
:root[data-theme=dark][data-design=slytherin]{--hero:#0e3025;--line:#78867e;--gold:#c7d0c8}
:root[data-theme=dark][data-design=hufflepuff]{--hero:#30270f;--line:#9b843c;--gold:#d4b34f}
:root:not([data-design=fundador]) .site-header{padding-top:35px;padding-bottom:17px}
:root:not([data-design=fundador]) .brand-name{height:85px;max-width:750px}
:root:not([data-design=fundador]) .brand-sub{letter-spacing:2.5px}
:root:not([data-design=fundador]) .hero{border-radius:24px;padding:30px 30px 25px}
:root:not([data-design=fundador]) .hero-copy{width:74%;min-height:185px}
:root:not([data-design=fundador]) .hero h1{font-weight:bold;font-size:clamp(30px,4.6vw,47px);line-height:1.12;letter-spacing:-.7px}
:root:not([data-design=fundador]) .hero-description{font-size:clamp(18px,2.8vw,26px)}
:root:not([data-design=fundador]) .owl-art{width:39%;height:220px;top:8px;right:-8px;opacity:1;stroke-width:1.9;color:var(--gold)}
.house-castle{display:none;position:absolute;top:10px;right:-5px;width:65%;height:220px;color:var(--gold);opacity:.21;z-index:-2;pointer-events:none}
:root:not([data-design=fundador]) .house-castle{display:block}
:root:not([data-design=fundador]) .castle-art{display:none}
:root:not([data-design=fundador]) .hero .search-form{border-color:var(--gold);border-radius:18px}
:root:not([data-design=fundador]) .hero .search-submit{border-radius:50%;width:44px;padding:0;flex-shrink:0}
:root:not([data-design=fundador]) .hero .search-submit span{display:none}
:root:not([data-design=fundador]) .suggestions{gap:10px}
:root:not([data-design=fundador]) .suggestions button{border-color:var(--gold);border-radius:14px;font-size:16px}
:root:not([data-design=fundador]) .shelves-section{padding:28px 22px 16px}
:root:not([data-design=fundador]) .section-heading{display:flex;justify-content:center;gap:16px}
:root:not([data-design=fundador]) .section-heading h2{font-size:37px;font-weight:bold}
.section-flourish{display:none;color:var(--gold);align-items:center;gap:0;flex:1;max-width:100px}
:root:not([data-design=fundador]) .section-flourish{display:flex}
.section-flourish:first-child:before{content:'';height:1px;background:currentColor;flex:1;opacity:.6}
.section-flourish:last-of-type:after{content:'';height:1px;background:currentColor;flex:1;opacity:.6}
:root:not([data-design=fundador]) .shelf-grid{gap:13px}
:root:not([data-design=fundador]) .shelf{border-color:var(--gold);border-radius:16px;min-height:94px;padding:20px;gap:15px}
:root:not([data-design=fundador]) .shelf strong{font-size:24px}
:root:not([data-design=fundador]) .shelf-symbol{width:40px}
:root:not([data-design=fundador]) .shelf-symbol .icon{height:40px;width:40px}
:root:not([data-design=fundador]) .shelf>.icon{color:var(--gold);height:21px;width:21px}
.house-creature{display:none}
:root:not([data-design=fundador]) .house-creature{display:block}
:root:not([data-design=fundador]) .founder-creature{display:none}
:root:not([data-design=fundador]) .ornament-frame{position:fixed;inset:0;opacity:.48}
:root[data-design=direccion] .owl-art{color:#c3b7cc}
:root[data-design=direccion] .shelf{border-color:var(--line)}
:root[data-design=direccion] .shelf>.icon{color:var(--muted)}
:root[data-design=direccion] .section-flourish{color:var(--muted)}
:root[data-design=direccion] .suggestions button{border-color:#786782}
@media(max-width:700px){
 :root:not([data-design=fundador]) .site-header{padding:32px 16px 18px}
 :root:not([data-design=fundador]) .brand-name{height:67px}
 :root:not([data-design=fundador]) .brand-sub{font-size:8px;letter-spacing:1.6px}
 :root:not([data-design=fundador]) .hero{padding:23px 18px 20px;border-radius:21px}
 :root:not([data-design=fundador]) .hero-copy{width:75%;min-height:130px}
 :root:not([data-design=fundador]) .hero h1{font-size:27px;line-height:1.15;letter-spacing:-.6px;margin-bottom:12px}
 :root:not([data-design=fundador]) .hero-description{font-size:16px;line-height:1.35;max-width:96%}
 :root:not([data-design=fundador]) .owl-art{height:178px;width:39%;right:-17px;top:0}
 .house-castle{height:185px;width:75%;top:0;right:-4px;opacity:.23}
 :root:not([data-design=fundador]) .hero .search-form{padding:4px 5px 4px 13px;gap:9px;border-radius:13px}
 :root:not([data-design=fundador]) .hero .search-submit{width:38px;min-height:38px;height:38px}
 :root:not([data-design=fundador]) .hero .search-form input{height:38px;font-size:16px}
 :root:not([data-design=fundador]) .suggestions{gap:8px;margin-top:10px}
 :root:not([data-design=fundador]) .suggestions button{font-size:12px;min-height:37px;padding:7px 2px;border-radius:11px}
 :root:not([data-design=fundador]) .shelves-section{padding:25px 14px 14px}
 :root:not([data-design=fundador]) .section-heading{gap:10px;margin-bottom:16px}
 :root:not([data-design=fundador]) .section-heading h2{font-size:27px;letter-spacing:-.5px;white-space:nowrap}
 :root:not([data-design=fundador]) .section-flourish{font-size:12px;min-width:15px}
 :root:not([data-design=fundador]) .shelf{min-height:74px;padding:15px 12px;gap:9px;border-radius:13px}
 :root:not([data-design=fundador]) .shelf strong{font-size:18px}
 :root:not([data-design=fundador]) .shelf-symbol{width:30px}
 :root:not([data-design=fundador]) .shelf-symbol .icon{width:30px;height:34px}
 :root:not([data-design=fundador]) .shelf>.icon{width:14px;height:17px}
 :root:not([data-design=fundador]) .pince-note{margin:23px 15px 8px}
}
@media(max-width:350px){
 :root:not([data-design=fundador]) .brand-name{height:60px}
 :root:not([data-design=fundador]) .hero h1{font-size:23px}
 :root:not([data-design=fundador]) .hero-copy{min-height:120px}
 :root:not([data-design=fundador]) .hero-description{font-size:13px}
 :root:not([data-design=fundador]) .shelf strong{font-size:16px}
 :root:not([data-design=fundador]) .shelf{padding:13px 9px;gap:6px}
 :root:not([data-design=fundador]) .shelf-symbol{width:26px}
 :root:not([data-design=fundador]) .section-heading h2{font-size:24px}
}
