:root{--bg:#f8f6f1;--paper:#fffefa;--ink:#252722;--muted:#66685f;--line:#dcdcd5;--accent:#355e53;--size:19px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',sans-serif}body.dark{--bg:#151c1b;--paper:#202a28;--ink:#f2eee4;--muted:#c1c7be;--line:#46524f;--accent:#a4d5c1}a{color:var(--accent)}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:10px 13px;background:var(--paper);color:var(--ink);font:inherit}button:hover{border-color:var(--accent)}.sitehead{display:flex;justify-content:space-between;gap:10px;padding:19px max(22px,calc((100vw - 1000px)/2));border-bottom:1px solid var(--line);font-size:14px}.sitehead .brand{font-weight:700;color:var(--ink);text-decoration:none}.sitehead span{color:var(--muted)}.intro{max-width:920px;margin:65px auto 35px;padding:0 24px}.intro h1{font-family:Georgia,serif;font-size:clamp(35px,6vw,58px);margin:8px 0}.intro p{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:2px}.books{max-width:920px;margin:0 auto 80px;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:25px}.book{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ink)}.book img,.placeholder{width:100%;height:260px;object-fit:cover}.placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#314d48,#8ca79a);font:italic 64px Georgia,serif;color:white}.bookinfo{padding:22px}.bookinfo h2{font:26px Georgia,serif;margin:0}.bookinfo p{color:var(--muted);line-height:1.5}.bookinfo span{color:var(--accent);font-weight:600}.reader-wrap{width:min(100%,780px);margin:22px auto 40px;padding:0 15px}.readerbar,.pagebar{display:flex;align-items:center;justify-content:space-between;gap:12px}.readerbar{margin-bottom:15px;font-size:14px}.readerbar a{text-decoration:none}.tools{display:flex;gap:7px}.reader{height:min(73dvh,760px);min-height:360px;background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:0 10px 35px #00000008;overflow:hidden}.page{height:100%;padding:clamp(20px,5vw,46px);overflow:hidden;font:var(--size)/1.62 Georgia,'Times New Roman',serif;overflow-wrap:break-word;white-space:pre-wrap}.page h1{font-size:1.6em;line-height:1.2;font-weight:500;margin:0 0 1em}.page p{margin:0 0 .75em}.pagebar{margin:16px 0}.pagebar span{color:var(--muted);font-size:14px}.audio{margin:25px 0;background:var(--paper);padding:18px;border-radius:12px}.audio audio{width:100%;margin-top:12px}footer{text-align:center;color:var(--muted);padding:30px;font-size:12px}.admin{max-width:900px;margin:35px auto;padding:0 20px 70px}.admin h1,.admin h2{font-family:Georgia,serif}.admin form:not(.inline){display:grid;gap:15px;margin-bottom:28px}.admin label{display:grid;gap:7px}.admin input:not([type=checkbox]),.admin textarea{width:100%;border:1px solid #adb4b0;border-radius:8px;padding:12px;background:var(--paper);color:var(--ink);font:inherit}.admin textarea{line-height:1.5}.admin .check{display:flex;align-items:center}.inline{display:inline}.storyrow{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.storyrow span:last-child{display:flex;gap:10px;align-items:center}.danger{color:#ad3333}.error,.success{padding:12px;border-radius:8px;background:#ffe7e1;color:#6b2519}.success{background:#e2f4e7;color:#225e38}@media(max-width:600px){.sitehead{padding:15px}.sitehead span{font-size:12px}.reader-wrap{margin:10px auto}.reader{height:72dvh;min-height:340px}.page{padding:24px}.pagebar button{padding:11px 9px}.storyrow{align-items:flex-start;flex-direction:column}}
/* Biblioteca 2.0 */
[hidden]{display:none!important}.action-link{display:inline-block;margin:10px 12px 0 0}.characters,.catalog{max-width:920px;margin:32px auto;padding:0 24px}.characters h2,.catalog h2,.comments h2{font:30px Georgia,serif}.character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.character-grid article{border:1px solid var(--line);background:var(--paper);padding:22px;border-radius:12px}.character-grid h3{font:25px Georgia,serif;margin:0 0 12px}.catalog-tools{display:flex;align-items:end;flex-wrap:wrap;gap:15px;margin-bottom:22px}.catalog-tools label,.comments label{display:grid;gap:7px}.catalog-tools input[type=search],.catalog-tools select,.comments input,.comments textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:12px;max-width:100%}.catalog-tools input[type=search]{width:min(100%,350px)}.catalog-tools .favorite-filter{display:flex;align-items:center;padding-bottom:12px}.book{display:flex;flex-direction:column}.book-cover{display:block}.bookinfo{flex:1}.bookinfo h2 a{color:var(--ink);text-decoration:none}.bookinfo button{display:block;margin-top:15px}.meta,.story-details>span{font-size:14px;color:var(--muted)}.no-results{text-align:center;margin:30px}.story-details{margin:15px 0 25px}.story-details h1{font:34px Georgia,serif;margin:10px 0}.story-details p{color:var(--muted);line-height:1.6}.story-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.next-story{padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.comments{margin-top:35px;padding-top:15px;border-top:1px solid var(--line)}.comment{border-bottom:1px solid var(--line);padding:16px 0}.comment time{margin-left:12px;font-size:12px;color:var(--muted)}.comment p{white-space:pre-wrap;line-height:1.6}.comments form{display:grid;gap:13px}.comments form button{justify-self:start}.trap{position:absolute!important;left:-9999px!important;height:1px!important;overflow:hidden!important}.admin .commentrow{padding:16px;border:1px solid var(--line);border-radius:10px;margin:12px 0}.admin .commentrow p{white-space:pre-wrap}.admin .commentrow form{display:inline-block;margin:4px}.admin .commentrow button{margin-right:5px}

/* Organización editorial y continuaciones */
.series-parts,.series-navigation ol{padding-left:1.5rem;line-height:1.8}.series-navigation{margin:1.5rem 0;padding:1rem;border:1px solid #d8ccbb;border-radius:8px}.story-actions{flex-wrap:wrap}.storyrow{gap:.5rem;flex-wrap:wrap}.storyrow .inline button{min-width:2rem}

/* Paginación del catálogo: nueve portadas por página */
.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;max-width:920px;margin:-45px auto 65px;padding:0 24px}.catalog-pagination span{color:var(--muted);font-size:14px}.catalog-pagination button:disabled{opacity:.45;cursor:default}.storyrow .move-form button:disabled{opacity:.5;cursor:wait}#move-status:not(:empty){color:var(--accent);font-size:14px}
