:root{font-family:Segoe UI,Arial,sans-serif;color:#172b36;background:#f5f7fa;font-size:16px;--blue:#163f59;--muted:#536879;--line:#d7e0e6}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:22px 5%;border-bottom:1px solid var(--line);background:white}.brand{display:flex;gap:15px;align-items:center;font:700 32px Georgia;color:var(--blue);text-decoration:none}.brand span{font:600 18px Segoe UI,Arial}#account{display:flex;gap:16px;align-items:center}main{max-width:1450px;padding:42px 5%;margin:auto}h1{font:400 clamp(30px,3.5vw,46px)/1.15 Georgia,serif;margin:10px 0 22px;letter-spacing:-.7px}h2{font:400 30px Georgia;line-height:1.2}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--muted)}button,.button{background:var(--blue);border:1px solid var(--blue);color:white;padding:12px 20px;border-radius:7px;font:600 15px Segoe UI;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#245f7f}button:disabled{opacity:.45;cursor:default}.quiet{color:var(--blue);background:white;border-color:var(--line)}.quiet:hover{background:#e9eff4}input,select{font:inherit;border:1px solid #aebec9;padding:13px;border-radius:7px;background:white;min-width:0;color:inherit}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #78afd0;outline-offset:2px}.login{max-width:440px;margin:35px auto 65px}.login form{display:grid;gap:10px;margin-top:30px}.login form button{margin-top:12px}.login label{font-size:14px;font-weight:600}.heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.stats{color:var(--muted);text-align:right;white-space:nowrap}.stats strong{display:block;font:36px Georgia;color:var(--blue)}.search{display:flex;gap:12px;margin:15px 0}.searchbox{flex:1}.search input{width:100%}.resultsbar{display:flex;justify-content:space-between;align-items:center;margin:18px 0;gap:15px}.resultsbar p{color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:28px 22px}.card{min-width:0}.cover{height:235px;width:100%;padding:14px;background:#e6edf2;border:1px solid #dbe4eb;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;overflow:hidden}.cover:hover{background:#d9e5ee}.cover img{max-width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 4px 4px #0003)}.cover .fallback{font:24px/1.3 Georgia;color:var(--blue);padding:15px;text-align:center}.card h3{font:600 16px/1.4 Segoe UI;margin:13px 0 6px}.title{border:0;padding:0;text-align:left;background:none;color:#172b36;display:block}.title:hover{color:#235f85;background:none}.card p{font-size:14px;color:var(--muted);margin:5px 0;line-height:1.4}.card a{display:inline-block;color:var(--blue);font-size:14px;margin-top:9px;text-underline-offset:4px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:40px 0}.pagination form{display:flex;align-items:center;gap:8px;font-size:14px}.pagination input{width:80px;padding:9px}details{border-top:1px solid var(--line);padding:24px 0;color:var(--muted)}summary{cursor:pointer;font-weight:600;color:var(--blue)}progress{width:min(450px,100%)}footer{font-size:14px;text-align:center;color:var(--muted);padding:30px;border-top:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:12px;max-width:700px;width:90%;max-height:85vh;padding:30px;color:inherit}dialog::backdrop{background:#10263699}#close{float:right}#description{white-space:pre-line;line-height:1.7;margin:24px 0}#detailMeta{color:var(--muted);line-height:1.6}.notice{background:#fff2d1;padding:14px;border-radius:7px}#error,#loginError{color:#a32431}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:650px){header{padding:18px 5%}.brand span{font-size:15px}#username{display:none}main{padding-top:24px}.heading{display:block}.stats{text-align:left;margin-bottom:20px}.stats strong{display:inline;font-size:25px;margin-right:8px}.search{flex-wrap:wrap}.searchbox{flex-basis:100%}.search select{flex:1}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.cover{height:210px;padding:10px}.pagination{gap:8px;flex-wrap:wrap}.pagination button{padding:10px}.resultsbar{align-items:flex-start}.resultsbar button{font-size:13px;padding:9px}.login{margin-top:10px}dialog{padding:22px}}

.card h3,.card p,dialog{overflow-wrap:anywhere}

/* Cervantes y La Mancha: fondos originales con superficies de lectura claras. */
:root{--blue:#172b39;--muted:#5d635f;--line:#d7c9ad;color:#262c2c;background:#101d27}
body{background:#101d27 url('/static/images/cervantes.png') center center/cover fixed no-repeat;min-height:100vh}
body[data-view="library"]{background-image:linear-gradient(#0d1c2999,#101d27ba),url('/static/images/quijote.png')}
header{background:#111f2be8;border-bottom:1px solid #be9b544a;color:#f2e7ce;backdrop-filter:blur(12px)}
.brand{color:#e0bd76}.brand span{font-family:Georgia,serif;font-size:21px;font-weight:400;letter-spacing:.4px}
header .quiet{border-color:#8b795b;background:transparent;color:#f4e7cb}header .quiet:hover{background:#ffffff15}
main{padding-top:40px;padding-bottom:50px}.login{margin:20px 0 40px;max-width:475px;padding:36px 38px;background:#fcf8f0f5;border:1px solid #d8c395;border-radius:4px;box-shadow:0 20px 90px #0005}
.login h1{font-size:42px;line-height:1.13}.eyebrow{color:#826637;letter-spacing:2.3px}
.login form{margin-top:24px;gap:9px}.login small{font-size:13px;color:#626359;line-height:1.5}.private-note{font-size:12px;color:#696452;border-top:1px solid var(--line);padding-top:20px;margin:24px 0 0;line-height:1.6}
input,select{background:#fffefa;border-color:#c7baa0;border-radius:4px}button,.button{border-radius:4px}button:hover,.button:hover{background:#304755}.quiet:hover{background:#f0e9da}.textbutton{background:none;color:#544021;border:0;padding:6px 0;line-height:1.5;text-decoration:underline;text-underline-offset:4px;text-align:left;font-weight:500}.textbutton:hover{background:none;color:#172b39}.consent{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:13px!important;font-weight:400!important;line-height:1.5}.consent input{width:18px;min-width:18px;height:18px;margin-top:3px;accent-color:#172b39}.success{background:#e9efe4;border:1px solid #b2c2a6;padding:14px;line-height:1.6;border-radius:4px;color:#2c4933}
#library{padding:32px;background:#fcf9f2f2;border:1px solid #d1bd96;border-radius:4px;box-shadow:0 20px 80px #0003}.heading{padding:2px 0 12px;border-bottom:1px solid #d7c9ad;margin-bottom:24px}.heading h1{font-size:38px}.stats strong{color:#745729}.stats{font-size:14px}.cover{background:#e8decc;border-color:#d3c29f;border-radius:3px}.cover:hover{background:#dbceb5}.cover img{filter:drop-shadow(3px 6px 5px #30221035)}.card h3{font-family:Georgia,serif;font-weight:400;font-size:18px}.card h3 button{font:inherit}.card a{color:#795b28}.pagination{border-top:1px solid var(--line);padding-top:26px}footer{color:#e6dbc5;background:#101e2aea;border-color:#c3a46c44;font-size:13px;line-height:1.6}
dialog{background:#fcf8ef;border:1px solid #bda06a;border-radius:5px}dialog::backdrop{background:#07121bd1}.notice{background:#f4e8c8;border:1px solid #dcc799;font-size:14px;line-height:1.6}
.requests-panel{margin-bottom:25px}.requests-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.requests-heading h2{margin-bottom:14px}.request-card{background:#fffdf8;border:1px solid #d7c9ad;border-left:3px solid #af8a4e;padding:18px;margin:14px 0}.request-card h3{font:23px Georgia;margin:0 0 8px}.request-card p{margin:7px 0;overflow-wrap:anywhere;line-height:1.5}.request-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.request-status{font-size:13px;color:#755623;font-weight:600}.request-card .quiet{background:#faf6ed}.mail-preview{font-size:14px;line-height:1.6}#pendingCount{display:inline-block;padding:1px 6px;border:1px solid #be9b5480;border-radius:3px;margin-left:5px}
@media(min-width:1500px){.login{margin-top:4vh;margin-left:0}body[data-view="login"] main{max-width:1450px}}
@media(max-width:800px){#library{padding:22px}.heading h1{font-size:32px}.login{max-width:465px;padding:28px;margin:10px auto 35px}body{background-position:65% center}.requests-heading{display:block}.requests-heading button{margin-bottom:15px}header{gap:15px;flex-wrap:wrap}.brand span{font-size:18px}}
@media(max-width:500px){main{padding:22px 12px 30px}.login{padding:25px 22px}.login h1{font-size:36px}#library{padding:18px 12px}.cover{height:205px}.heading h1{font-size:29px}.card h3{font-size:17px}.search{gap:8px}.requests-heading h2{font-size:27px}.request-actions button{width:100%}header{padding:16px}.brand{font-size:29px}header .quiet{padding:8px 10px;font-size:13px}#account{gap:8px}.stats strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
