.cinema-body{background:#070604;min-height:100vh;overflow:hidden}
.cinema-topbar{position:fixed;z-index:30;left:0;right:0;top:0;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:linear-gradient(#050505e8,#05050580,transparent);font-size:.85rem}
.cinema-brand{font-weight:900;letter-spacing:.12em}.cinema-brand span{color:var(--orange)}.cinema-back,.cinema-list{color:#e9dfcf}.cinema-back:hover,.cinema-list:hover{color:#ffb271}
.library-cinema{position:relative;min-height:100vh;overflow:hidden;background:#080705}
.scene-bg{position:absolute;inset:-3%;background:url('../assets/scenes/gran-biblioteca-master-v03.png') center/cover no-repeat;transform:scale(1.08);transition:transform 3s cubic-bezier(.2,.75,.2,1),filter 1.5s;filter:brightness(.62) saturate(.95)}
.library-cinema.entered .scene-bg{transform:scale(1);filter:brightness(.9) saturate(1.05)}
.scene-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 52%,transparent 25%,rgba(0,0,0,.22) 60%,rgba(0,0,0,.78) 100%),linear-gradient(to bottom,rgba(0,0,0,.5),transparent 22%,transparent 76%,rgba(0,0,0,.55));pointer-events:none}
.scene-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.scene-particles i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffd89a;box-shadow:0 0 10px #ffd89a;opacity:.2;animation:floatDust linear infinite}
@keyframes floatDust{from{transform:translateY(8vh)}to{transform:translateY(-105vh)}}
.cinema-intro{position:absolute;z-index:12;left:7vw;top:50%;width:min(590px,86vw);transform:translateY(-50%);padding:36px;border:1px solid rgba(255,196,117,.22);border-radius:28px;background:linear-gradient(145deg,rgba(7,7,7,.86),rgba(18,12,8,.68));backdrop-filter:blur(13px);box-shadow:0 30px 90px rgba(0,0,0,.55);transition:opacity .8s,transform .8s}
.cinema-intro h1{font:700 clamp(3rem,6vw,6rem)/.94 'Playfair Display',serif;margin:14px 0 18px}.cinema-intro p{color:#d1c6b7;line-height:1.7;max-width:500px}.library-cinema.entered .cinema-intro{opacity:0;pointer-events:none;transform:translateY(-46%) scale(.96)}
.shelf-stage{position:absolute;z-index:8;left:30.2%;top:27.5%;width:34.6%;height:41.5%;opacity:0;transform:scale(.94);transition:opacity 1s 1.1s,transform 1.4s 1.05s}.library-cinema.entered .shelf-stage{opacity:1;transform:scale(1)}
.cinema-shelf{width:100%;height:100%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:3.4% 3.2%;padding:2.4% 2.4% 2.8%}
.cinema-book{position:relative;border:0;background:none;padding:0;cursor:pointer;perspective:900px;filter:drop-shadow(0 9px 8px rgba(0,0,0,.55));transition:transform .28s,filter .28s;min-width:0;min-height:0}
.cinema-book img{width:100%;height:100%;object-fit:contain;border-radius:2px;transform:rotateY(0deg) translateZ(0);transition:transform .34s cubic-bezier(.2,.75,.25,1),filter .34s;box-shadow:0 0 18px rgba(255,177,79,.18)}
.cinema-book:hover,.cinema-book:focus-visible{transform:translateY(-8%) scale(1.13);z-index:6;filter:drop-shadow(0 16px 16px rgba(0,0,0,.78)) drop-shadow(0 0 12px rgba(255,174,83,.55))}.cinema-book:hover img{transform:rotateY(-6deg)}
.cinema-book .book-name{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);width:160%;padding:5px 8px;border-radius:8px;background:rgba(5,5,5,.88);color:#fff;font-size:clamp(.48rem,.75vw,.78rem);font-weight:800;opacity:0;transition:.22s;pointer-events:none}.cinema-book:hover .book-name,.cinema-book:focus-visible .book-name{opacity:1}
.librarian-orb{position:absolute;z-index:10;right:5vw;bottom:8vh;display:flex;align-items:center;gap:12px;padding:12px 15px;border:1px solid rgba(83,208,255,.4);border-radius:18px;background:rgba(4,15,22,.62);backdrop-filter:blur(8px);color:#bfefff}.librarian-orb>span{width:24px;height:24px;border-radius:50%;background:#58d8ff;box-shadow:0 0 22px #55d7ff;animation:orbPulse 2.5s ease-in-out infinite}.librarian-orb strong,.librarian-orb small{display:block}.librarian-orb small{opacity:.7;margin-top:2px}@keyframes orbPulse{50%{transform:scale(1.18);box-shadow:0 0 34px #55d7ff}}
.cinema-hint{position:absolute;z-index:9;left:50%;bottom:20px;transform:translateX(-50%);padding:8px 14px;border-radius:14px;background:rgba(0,0,0,.55);color:#d8c9b6;font-size:.75rem;letter-spacing:.04em;opacity:0;transition:opacity .7s 1.7s}.library-cinema.entered .cinema-hint{opacity:1}
.cinema-dialog{width:min(1040px,94vw);max-height:90vh;border:1px solid #6d4d2c;background:linear-gradient(145deg,#16100a,#080a0e);color:#fff}.cinema-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(7px)}
.cinema-detail{display:grid;grid-template-columns:minmax(250px,340px) 1fr;gap:38px;padding:44px}.cinema-detail-cover img{width:100%;max-height:540px;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.6))}.cinema-detail-copy h2{font:700 clamp(2.4rem,5vw,4.8rem)/.98 'Playfair Display',serif;margin:8px 0 12px}.cinema-detail-copy .subtitle{color:#e2ad72;font-size:1.1rem}.cinema-detail-copy p{color:#c8c0b6;line-height:1.7}.cinema-tags{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.cinema-tag{padding:7px 10px;border:1px solid #5d4a36;border-radius:999px;color:#f0d7b6;background:#17120d}.cinema-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
@media(max-width:900px){.cinema-body{overflow:auto}.library-cinema{min-height:1150px}.scene-bg{background-position:52% top}.cinema-intro{left:5vw;right:5vw;top:110px;transform:none;width:auto}.library-cinema.entered .cinema-intro{transform:translateY(-15px)}.shelf-stage{left:7vw;top:410px;width:86vw;height:auto;opacity:0}.library-cinema.entered .shelf-stage{opacity:1}.cinema-shelf{height:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:auto;gap:22px;padding:22px;border:1px solid rgba(255,190,100,.28);border-radius:24px;background:rgba(8,7,5,.82);backdrop-filter:blur(7px)}.cinema-book{height:220px}.librarian-orb{right:20px;bottom:22px}.cinema-hint{display:none}.cinema-detail{grid-template-columns:1fr;padding:28px}.cinema-detail-cover{max-width:280px;margin:auto}}
@media(max-width:600px){.cinema-topbar{padding:0 14px}.cinema-brand{display:none}.cinema-back,.cinema-list{font-size:.75rem}.library-cinema{min-height:1800px}.cinema-intro{padding:25px}.cinema-intro h1{font-size:3rem}.shelf-stage{top:450px}.cinema-shelf{grid-template-columns:repeat(2,1fr)}.cinema-book{height:240px}.librarian-orb{display:none}}
@media(prefers-reduced-motion:reduce){.scene-bg,.cinema-intro,.shelf-stage,.cinema-book,.cinema-book img,.scene-particles i,.librarian-orb>span{animation:none!important;transition:none!important}}

/* BUILD_000007 · UNIVERSO ENGINE: capa de vida */
.cinema-actions-top{display:flex;align-items:center;gap:14px}.cinema-sound{border:1px solid rgba(255,190,105,.35);border-radius:999px;background:rgba(8,7,5,.52);color:#ead7be;padding:8px 12px;cursor:pointer}.cinema-sound:hover{background:rgba(255,171,75,.14)}
.scene-waterfall{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 54%,rgba(175,232,255,.08) 59%,transparent 64%);mix-blend-mode:screen;animation:waterfallShimmer 8s ease-in-out infinite}.scene-light-sweep{position:absolute;inset:-20%;pointer-events:none;background:linear-gradient(110deg,transparent 44%,rgba(255,219,151,.08) 49%,transparent 54%);transform:translateX(-35%);animation:lightSweep 12s ease-in-out infinite}
@keyframes waterfallShimmer{50%{filter:brightness(1.35);transform:translateY(4px)}}@keyframes lightSweep{55%,100%{transform:translateX(35%)}}
.library-cinema.camera-focus-shelf .scene-bg{transform:scale(.965) translateY(-.4%);filter:brightness(.94) saturate(1.08)}
.cinema-book{opacity:0;transform:translateY(-42px) scale(.72) rotate(-2deg)}.cinema-book.is-visible{opacity:1;transform:translateY(0) scale(1) rotate(0);transition:opacity .55s ease,transform .7s cubic-bezier(.2,.9,.2,1),filter .28s}.cinema-book.is-visible::after{content:"";position:absolute;inset:9% 12%;border-radius:50%;box-shadow:0 0 28px rgba(255,172,71,.2);opacity:.55;animation:shelfGlow 3.4s ease-in-out infinite;animation-delay:calc(var(--book-index) * .15s);pointer-events:none}@keyframes shelfGlow{50%{opacity:1;box-shadow:0 0 40px rgba(255,186,91,.45)}}
.book-object{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .38s cubic-bezier(.2,.75,.2,1)}.book-object img{position:relative;z-index:2}.book-spine{position:absolute;z-index:1;left:7%;top:4%;bottom:4%;width:14%;background:linear-gradient(90deg,#21150d,#654128 52%,#25170d);transform:translateX(-38%) rotateY(74deg);transform-origin:right center;border-radius:2px;box-shadow:-6px 7px 10px rgba(0,0,0,.35)}.cinema-book:hover .book-object,.cinema-book:focus-visible .book-object{transform:perspective(900px) rotateY(-8deg) translateZ(26px)}
.detail-book-object{perspective:1000px}.detail-book-object img{transform:rotateY(-6deg);transform-origin:left center;box-shadow:-12px 16px 24px rgba(0,0,0,.42)}
.cat-life{position:absolute;z-index:9;right:15.5%;bottom:7.5%;width:88px;height:46px;pointer-events:none}.cat-eye{position:absolute;right:20px;top:11px;width:8px;height:3px;border-radius:50%;background:#9ffbff;box-shadow:0 0 8px #64eaff;animation:catBlink 7s infinite}.cat-tail{position:absolute;left:5px;bottom:6px;width:42px;height:9px;border-radius:999px;background:rgba(4,4,4,.72);transform-origin:right center;animation:catTail 5s ease-in-out infinite}@keyframes catBlink{0%,92%,100%{transform:scaleY(1)}94%,96%{transform:scaleY(.05)}}@keyframes catTail{50%{transform:rotate(-15deg) translateY(-2px)}}
@media(max-width:900px){.cinema-actions-top{gap:8px}.cinema-sound{font-size:.72rem;padding:7px 9px}.cat-life{display:none}.library-cinema.camera-focus-shelf .scene-bg{transform:none}}


/* BUILD_000008 · EL GUARDIÁN DE LA BIBLIOTECA */
.librarian-orb{min-width:min(360px,88vw);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease,background .35s ease}
.librarian-orb.is-awake{border-color:rgba(100,226,255,.78);background:linear-gradient(135deg,rgba(5,24,35,.88),rgba(6,12,22,.76));box-shadow:0 0 42px rgba(66,203,255,.22),inset 0 0 30px rgba(73,207,255,.08)}
.guardian-core{position:relative;flex:0 0 42px;width:42px;height:42px;border:0;border-radius:50%;background:transparent;cursor:pointer;padding:0;isolation:isolate}
.guardian-core::before,.guardian-core::after{content:"";position:absolute;border-radius:50%;inset:0;pointer-events:none}
.guardian-core::before{background:radial-gradient(circle at 35% 30%,#ecffff 0 5%,#77e9ff 16%,#1599d8 46%,#052d4f 68%,#02111f 100%);box-shadow:0 0 22px #55d7ff,0 0 55px rgba(49,186,255,.55);animation:guardianBreathe 3.2s ease-in-out infinite}
.guardian-core::after{inset:-8px;border:1px solid rgba(108,226,255,.38);box-shadow:0 0 24px rgba(79,205,255,.3);animation:guardianRing 5.2s linear infinite}
.guardian-core span{position:absolute;inset:8px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 24%,rgba(220,252,255,.65) 25% 30%,transparent 31% 62%,rgba(113,226,255,.48) 63% 69%,transparent 70%);z-index:2;animation:guardianScan 6s linear infinite}
.guardian-copy{min-width:0}.guardian-copy strong{font-size:.9rem;letter-spacing:.05em}.guardian-copy small{max-width:270px;color:#d9f7ff;line-height:1.35;opacity:.68;transition:opacity .25s,transform .25s}.guardian-copy small.is-visible{opacity:1;transform:translateY(-1px)}
.librarian-orb.is-speaking{transform:translateY(-3px) scale(1.02);box-shadow:0 0 52px rgba(79,208,255,.34),inset 0 0 34px rgba(73,207,255,.12)}
.librarian-orb.is-speaking .guardian-core::before{animation-duration:1.1s;filter:brightness(1.28)}
.cinema-book.guardian-focused,.cinema-book.guardian-recommended{z-index:7;filter:drop-shadow(0 0 18px rgba(81,220,255,.95)) drop-shadow(0 16px 18px rgba(0,0,0,.8))}
.cinema-book.guardian-focused .book-object,.cinema-book.guardian-recommended .book-object{transform:perspective(900px) rotateY(-9deg) translateZ(30px) scale(1.08)}
.cinema-book.guardian-recommended::before{content:"RECOMENDADO";position:absolute;z-index:9;left:50%;top:-20px;transform:translateX(-50%);padding:5px 8px;border:1px solid rgba(116,230,255,.55);border-radius:999px;background:rgba(2,17,28,.88);color:#bff5ff;font-size:clamp(.42rem,.58vw,.62rem);font-weight:900;letter-spacing:.08em;white-space:nowrap;box-shadow:0 0 20px rgba(81,220,255,.35)}
@keyframes guardianBreathe{0%,100%{transform:scale(.94);filter:brightness(.92)}50%{transform:scale(1.06);filter:brightness(1.24)}}
@keyframes guardianRing{to{transform:rotate(360deg)}}
@keyframes guardianScan{to{transform:rotate(-360deg)}}
@media(max-width:600px){.librarian-orb{display:flex;left:14px;right:14px;bottom:14px;min-width:0}.guardian-copy small{max-width:calc(100vw - 110px)}}
@media(prefers-reduced-motion:reduce){.guardian-core::before,.guardian-core::after,.guardian-core span{animation:none!important}}

/* BUILD_000009 · EL GUARDIÁN INTELIGENTE */
.guardian-ai-open{position:absolute;z-index:11;right:5vw;bottom:3.2vh;border:1px solid rgba(98,224,255,.5);border-radius:999px;background:rgba(4,18,28,.76);color:#c9f7ff;padding:9px 14px;font-weight:800;cursor:pointer;box-shadow:0 0 24px rgba(73,210,255,.15)}
.guardian-ai-open:hover{background:rgba(7,35,51,.9);box-shadow:0 0 30px rgba(73,210,255,.28)}
.guardian-ai-panel{position:absolute;z-index:40;right:4vw;bottom:12vh;width:min(430px,92vw);padding:25px;border:1px solid rgba(97,223,255,.48);border-radius:24px;background:linear-gradient(145deg,rgba(3,18,28,.96),rgba(8,10,17,.94));box-shadow:0 26px 80px rgba(0,0,0,.55),0 0 45px rgba(59,203,255,.16);backdrop-filter:blur(16px);color:#e8fbff;opacity:0;transform:translateY(20px) scale(.97);pointer-events:none;transition:.3s ease}
.guardian-ai-panel.is-open{opacity:1;transform:none;pointer-events:auto}
.guardian-ai-panel h2{margin:6px 0 8px;font:700 2rem/1.05 'Playfair Display',serif}.guardian-ai-panel p{min-height:72px;color:#cceff6;line-height:1.55}.guardian-ai-panel form{display:flex;gap:9px}.guardian-ai-panel input{min-width:0;flex:1;border:1px solid rgba(113,214,239,.35);border-radius:12px;background:#06111a;color:#fff;padding:12px 13px;outline:none}.guardian-ai-panel input:focus{border-color:#70dcf3;box-shadow:0 0 0 3px rgba(91,213,242,.12)}
.guardian-ai-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#bceef7;font-size:1.8rem;cursor:pointer}.guardian-ai-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.guardian-ai-suggestions button{border:1px solid rgba(104,203,226,.3);border-radius:999px;background:rgba(54,162,190,.08);color:#c9f4fb;padding:7px 10px;cursor:pointer}.guardian-ai-suggestions button:hover{background:rgba(54,162,190,.2)}.guardian-ai-panel small{color:#8ebcc5}
@media(max-width:900px){.guardian-ai-open{position:fixed;right:18px;bottom:86px}.guardian-ai-panel{position:fixed;left:4vw;right:4vw;bottom:145px;width:auto}}
@media(max-width:600px){.guardian-ai-open{left:14px;right:auto;bottom:86px}.guardian-ai-panel form{flex-direction:column}}
