
.living-book-trigger{cursor:pointer;isolation:isolate;outline:none}
.living-book-trigger::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(circle at 51% 52%,rgba(255,93,219,.1),transparent 34%);
  opacity:.12;transition:opacity .35s ease;pointer-events:none
}
.living-book-trigger:hover::after,.living-book-trigger:focus-visible::after{opacity:1}
.living-book-trigger img{transition:transform .5s ease,filter .5s ease}
.living-book-trigger:hover img,.living-book-trigger:focus-visible img{transform:scale(1.025);filter:saturate(1.08) brightness(1.05)}
.living-book-open-prompt{
  position:absolute;z-index:3;left:50%;bottom:17px;transform:translateX(-50%) translateY(7px);
  padding:9px 15px;border:1px solid rgba(255,225,167,.3);border-radius:999px;
  background:rgba(8,7,38,.73);color:#ffe9ad;backdrop-filter:blur(13px);
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  opacity:0;transition:opacity .3s ease,transform .3s ease;white-space:nowrap
}
.living-book-trigger:hover .living-book-open-prompt,
.living-book-trigger:focus-visible .living-book-open-prompt{opacity:1;transform:translateX(-50%) translateY(0)}
.living-book-trigger.has-pending-integration::before{
  content:"Integración pendiente";position:absolute;z-index:5;right:18px;top:18px;
  padding:7px 11px;border-radius:999px;background:#63206e;color:#ffe8f6;
  border:1px solid rgba(255,172,231,.45);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  box-shadow:0 0 22px rgba(255,76,207,.3)
}
.system-vivo-link{margin-top:18px}

.living-book-modal{
  position:fixed;z-index:250;inset:0;display:none;place-items:center;padding:18px;
  background:rgba(2,2,19,.2);opacity:0;visibility:hidden;backdrop-filter:blur(0);
  transition:opacity .45s ease,visibility .45s,background .45s ease,backdrop-filter .45s ease
}
.living-book-modal.visible{display:grid;visibility:visible}
.living-book-modal.open{opacity:1;background:rgba(2,2,19,.9);backdrop-filter:blur(13px)}
.living-book-stage{
  position:relative;width:min(1500px,96vw);height:min(900px,94vh);
  border:1px solid rgba(255,213,144,.28);border-radius:33px;overflow:hidden;
  color:#f8f0e3;background:
    radial-gradient(circle at 50% 38%,rgba(104,55,191,.22),transparent 32%),
    linear-gradient(145deg,#07071f,#090723 58%,#04051a);
  box-shadow:0 0 0 1px rgba(255,108,220,.08) inset,0 0 80px rgba(151,72,255,.19),0 35px 100px rgba(0,0,0,.6);
  transform:translateY(22px) scale(.965);transition:transform .55s cubic-bezier(.2,.8,.2,1)
}
.living-book-modal.open .living-book-stage{transform:none}
.living-book-stage::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.38;
  background-image:radial-gradient(circle at 12% 15%,rgba(255,255,255,.75) 0 1px,transparent 1.5px),
                   radial-gradient(circle at 74% 20%,rgba(255,133,235,.65) 0 1px,transparent 1.4px),
                   radial-gradient(circle at 38% 78%,rgba(99,225,255,.6) 0 1px,transparent 1.4px);
  background-size:180px 180px,230px 230px,290px 290px
}
.living-book-close{
  position:absolute;z-index:25;top:18px;right:18px;width:43px;height:43px;border-radius:50%;
  border:1px solid rgba(255,255,255,.18);background:rgba(12,9,48,.73);color:#fff;font-size:25px;
  cursor:pointer;backdrop-filter:blur(12px)
}
.living-book-opening{
  position:absolute;inset:0;display:grid;grid-template-columns:minmax(440px,1.2fr) minmax(340px,.8fr);
  align-items:center;gap:35px;padding:66px 68px 50px;z-index:3;
  transition:opacity .55s ease,transform .65s ease
}
.living-book-opening.leaving{opacity:0;transform:scale(1.04);pointer-events:none}
.living-book-cover-wrap{position:relative;display:grid;place-items:center;min-height:630px}
.living-book-cover-wrap::before{
  content:"";position:absolute;width:74%;aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(255,210,130,.27);box-shadow:0 0 50px rgba(255,67,221,.18),inset 0 0 50px rgba(89,213,255,.06);
  animation:livingOrbit 13s linear infinite
}
.living-book-cover-wrap img{
  position:relative;z-index:2;width:100%;height:100%;max-height:730px;object-fit:contain;opacity:0;
  filter:drop-shadow(0 25px 45px rgba(0,0,0,.46));transform:translateY(12px) scale(.97);
  transition:opacity .6s ease,transform .7s ease
}
.living-book-cover-wrap img.loaded{opacity:1;transform:none}
.living-book-cover-glow{
  position:absolute;z-index:1;width:55%;height:28%;bottom:9%;border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,91,223,.32),transparent 70%);filter:blur(18px)
}
.living-book-pending-badge{
  position:absolute;z-index:5;bottom:8%;left:50%;transform:translateX(-50%);
  padding:9px 14px;border-radius:999px;background:rgba(92,27,105,.86);color:#ffe7f5;
  border:1px solid rgba(255,178,232,.42);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase
}
.living-book-opening-copy{text-align:center;padding:25px}
.living-book-opening-copy h2{
  margin:13px 0 20px;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(60px,6vw,98px);font-weight:500;line-height:.92;
  background:linear-gradient(180deg,#ffe7a8,#d9a66a);-webkit-background-clip:text;background-clip:text;color:transparent
}
.living-book-opening-copy p{margin:0 auto 27px;color:#e8a6cc;font-family:Georgia,serif;font-size:23px;line-height:1.42}
.living-book-primary{
  position:relative;min-width:min(410px,100%);min-height:70px;border:1px solid rgba(255,221,151,.55);
  border-radius:999px;color:#fff;background:linear-gradient(135deg,#202065,#6736a5 55%,#aa3d91);
  box-shadow:0 0 0 5px rgba(255,98,219,.06),0 0 35px rgba(255,79,209,.3),inset 0 0 25px rgba(255,255,255,.07);
  text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:15px;cursor:pointer
}
.living-book-opening-copy small{display:block;margin:20px auto 0;max-width:48ch;color:#9d99bb;line-height:1.55}

.living-book-reader{
  position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr auto;
  padding:43px 56px 28px;opacity:0;visibility:hidden;transform:scale(.97);
  transition:opacity .6s ease,visibility .6s,transform .65s ease
}
.living-book-reader.visible{opacity:1;visibility:visible;transform:none}
.living-book-reader-head{
  width:min(1220px,100%);margin:0 auto;display:flex;align-items:end;justify-content:space-between;gap:18px
}
.living-book-tabs{display:flex;justify-content:flex-start;gap:8px;overflow-x:auto;padding-right:50px}
.book-tab{
  flex:0 0 auto;border:1px solid rgba(255,219,149,.22);border-bottom:0;border-radius:13px 13px 0 0;
  padding:9px 14px;color:#dfc5d5;background:rgba(24,13,58,.88);
  font-size:9px;letter-spacing:.13em;text-transform:uppercase;cursor:pointer
}
.book-tab.active{color:#ffe5a4;background:linear-gradient(180deg,rgba(105,48,129,.95),rgba(35,18,67,.93));box-shadow:0 -7px 18px rgba(255,83,212,.12)}
.book-tab.locked{opacity:.34;cursor:not-allowed}
.book-level-filter{
  flex:0 0 auto;padding:8px 12px;border-radius:999px;border:1px solid rgba(103,228,255,.18);
  background:rgba(18,18,67,.64);color:#b8b5d7;font-size:9px;letter-spacing:.05em
}
.book-level-filter strong{color:#85edff}

.living-book-spread{
  position:relative;align-self:center;display:grid;grid-template-columns:1fr 26px 1fr;
  width:min(1220px,100%);height:min(650px,68vh);margin:auto;perspective:1800px;
  filter:drop-shadow(0 28px 35px rgba(0,0,0,.48))
}
.book-page{
  position:relative;overflow:auto;padding:54px 50px 45px;color:#34213a;
  background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.72),transparent 28%),
             linear-gradient(145deg,#f0d9bc,#dbc09e 58%,#c9aa84);
  border:1px solid rgba(99,55,55,.26)
}
.book-page-left{border-radius:24px 5px 5px 24px;box-shadow:inset -22px 0 30px rgba(63,35,49,.14)}
.book-page-right{border-radius:5px 24px 24px 5px;box-shadow:inset 22px 0 30px rgba(63,35,49,.14)}
.book-spine{position:relative;z-index:2;background:linear-gradient(90deg,rgba(39,18,38,.42),rgba(242,210,171,.2),rgba(39,18,38,.42))}
.book-page-number{position:absolute;top:22px;color:#76546c;font-family:Georgia,serif;font-size:12px}
.book-page-left .book-page-number{left:30px}.book-page-right .book-page-number{right:30px}
.book-page-content{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;justify-content:center}
.book-page-content .page-eyebrow{color:#884e78;font-size:10px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.book-page-content h3{
  margin:12px 0 18px;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,3.4vw,54px);line-height:1.02;font-weight:500;color:#4a2845
}
.book-page-content p{margin:0;color:#50384d;font-size:15px;line-height:1.62}
.book-guiding-note,.book-access-note,.book-level-note{
  margin-top:20px;padding:15px 16px;border-radius:17px;border:1px solid rgba(103,62,87,.18);
  background:rgba(255,255,255,.2);color:#5a4054;font-size:13px;line-height:1.52
}
.book-access-note{border-left:3px solid #90527d}
.book-question-card{
  margin:15px 0 22px;padding:20px;border-radius:18px;background:rgba(255,255,255,.24);
  border:1px solid rgba(103,62,87,.2);font-family:Georgia,serif;font-size:22px;line-height:1.45;color:#663d5d
}
.book-question-card.compact{font-size:16px}
.book-field-label,.book-option-label{
  display:block;margin-bottom:9px;color:#744866;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase
}
.book-question-input{
  width:100%;min-height:135px;resize:vertical;padding:16px;border-radius:17px;
  border:1px solid rgba(101,58,85,.25);background:rgba(255,255,255,.24);color:#4e3349;
  font:15px/1.55 Inter,system-ui,sans-serif;outline:none
}
.book-question-input:focus{border-color:#925079;box-shadow:0 0 0 4px rgba(143,75,119,.08)}
.book-question-input.small{min-height:90px;margin-bottom:13px}
.book-char-count{text-align:right;margin:5px 2px 14px;color:#856a7d;font-size:9px}
.book-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.book-choice-grid.quick{grid-template-columns:1fr}
.book-choice{
  min-height:45px;padding:10px 12px;border-radius:14px;border:1px solid rgba(103,62,87,.2);
  background:rgba(255,255,255,.16);color:#593d54;text-align:left;font-size:12px;line-height:1.35;cursor:pointer
}
.book-choice:hover,.book-choice.selected{background:rgba(132,70,111,.15);border-color:rgba(119,60,98,.48);color:#6c385f}
.book-reading{
  margin:14px 0 19px;padding:25px;border-radius:22px;border:1px solid rgba(105,59,89,.22);
  background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(117,67,98,.08));
  font-family:Georgia,serif;font-size:27px;line-height:1.4;color:#65375b
}
.book-layer-list{display:grid;gap:12px;margin-top:18px}
.book-layer-list article{padding:15px;border:1px solid rgba(101,59,84,.18);border-radius:16px;background:rgba(255,255,255,.18)}
.book-layer-list b{display:block;margin-bottom:5px;color:#7a436d;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.book-layer-list span{color:#50384d;font-size:13px;line-height:1.45}
.book-practice-card{
  padding:23px;border-radius:22px;border:1px solid rgba(101,57,84,.22);
  background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(133,75,107,.09))
}
.book-practice-card.primary{box-shadow:0 15px 30px rgba(76,38,65,.09)}
.book-practice-meta{display:flex;gap:8px;flex-wrap:wrap}
.book-practice-meta span{
  padding:6px 9px;border-radius:999px;border:1px solid rgba(102,59,84,.18);
  color:#79486b;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase
}
.book-practice-card h3{font-size:35px;margin:16px 0 10px}
.book-practice-card p{font-size:14px}
.book-open-practice,.book-alt-practice,.book-save-integration{
  width:100%;margin-top:20px;padding:14px 16px;border-radius:999px;border:1px solid rgba(112,63,95,.3);
  background:linear-gradient(135deg,#65418e,#9e467f);color:#fff;font-weight:800;cursor:pointer
}
.book-alt-practice{background:rgba(115,65,98,.1);color:#703e64}
.book-save-integration{margin-top:0}
.book-save-integration.needs-answer{background:#86464c}
.book-save-message{
  margin-top:13px;padding:13px;border-radius:15px;background:rgba(78,128,83,.12);
  border:1px solid rgba(57,120,68,.24);color:#3e6845;font-size:12px
}
.book-save-message a{color:#5e3761;font-weight:800}
.book-page-turn{
  position:absolute;z-index:8;right:0;top:0;width:49.5%;height:100%;border-radius:5px 24px 24px 5px;
  transform-origin:left center;transform:rotateY(90deg);opacity:0;
  background:linear-gradient(90deg,#c5a57f,#f0d8ba 45%,#d1b18b);pointer-events:none
}
.book-page-turn.turning{animation:pageTurn .72s cubic-bezier(.5,.02,.18,1)}
.living-book-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:12px}
.book-control{
  min-width:145px;padding:11px 17px;border:1px solid rgba(255,221,151,.23);border-radius:999px;
  color:#e1d7e8;background:rgba(20,13,56,.75);cursor:pointer
}
.book-control.primary{color:#fff;background:linear-gradient(135deg,#4a318a,#a13991)}
.book-control:disabled{opacity:.35;cursor:default}
.book-progress{
  min-width:168px;display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 13px;
  border:1px solid rgba(255,221,151,.15);border-radius:999px;background:rgba(15,10,48,.56)
}
.book-progress-chapter{color:#f2c8dd;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.book-progress-count{color:#ffd786;font-size:10px;font-variant-numeric:tabular-nums}

@keyframes pageTurn{
  0%{transform:rotateY(0);opacity:1}48%{transform:rotateY(-88deg);opacity:1}
  52%{transform:rotateY(88deg);opacity:1}100%{transform:rotateY(0);opacity:0}
}
@keyframes livingOrbit{to{transform:rotate(360deg)}}

@media(max-width:900px){
  .living-book-stage{height:96vh}
  .living-book-opening{grid-template-columns:1fr;padding:48px 22px 28px;overflow:auto}
  .living-book-cover-wrap{min-height:390px}.living-book-cover-wrap img{max-height:470px}
  .living-book-opening-copy h2{font-size:58px}
  .living-book-reader{padding:58px 14px 15px;overflow:hidden}
  .living-book-reader-head{display:block}
  .book-level-filter{display:inline-flex;margin:8px 0}
  .living-book-tabs{padding-right:48px}
  .living-book-spread{
    grid-template-columns:1fr;gap:14px;height:auto;min-height:0;max-height:calc(96vh - 210px);
    overflow-y:auto;padding:2px 3px 18px
  }
  .book-spine{display:none}
  .book-page-left,.book-page-right{display:block;min-height:500px;border-radius:22px}
  .book-page-turn{display:none}
}
@media(max-width:560px){
  .living-book-modal{padding:6px}.living-book-stage{width:100%;border-radius:24px}
  .living-book-cover-wrap{min-height:330px}.living-book-cover-wrap img{max-height:390px}
  .living-book-opening-copy p{font-size:19px}.living-book-primary{min-width:100%}
  .book-page{padding:49px 24px 34px}.book-page-content h3{font-size:35px}
  .book-choice-grid{grid-template-columns:1fr}
  .living-book-controls{gap:8px}.book-control{min-width:0;flex:1;font-size:11px}
  .book-progress{min-width:85px;padding:8px}.book-progress-chapter{display:none}
}
@media(prefers-reduced-motion:reduce){
  .living-book-modal,.living-book-stage,.living-book-opening,.living-book-reader,
  .living-book-trigger img,.living-book-open-prompt{transition:none!important}
  .living-book-cover-wrap::before,.book-page-turn.turning{animation:none!important}
}


.book-test-level{
  display:grid;gap:7px;width:min(360px,100%);margin:18px auto 16px;text-align:left
}
.book-test-level span{
  color:#c9b7db;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase
}
.book-test-level select{
  width:100%;padding:11px 13px;border-radius:13px;border:1px solid rgba(125,229,255,.25);
  background:rgba(15,13,56,.82);color:#f4ecff;font:600 12px/1.2 Inter,system-ui,sans-serif;outline:none
}
.book-test-level select:focus{border-color:#85edff;box-shadow:0 0 0 4px rgba(103,228,255,.08)}
.book-alt-list{display:grid;gap:12px;margin-top:14px}
.book-alt-list .book-practice-card{padding:16px;border-radius:17px}
.book-alt-list .book-practice-card h3{font-size:24px;margin:10px 0 7px}
.book-alt-list .book-practice-card p{font-size:12px;line-height:1.45}
.book-alt-list .book-practice-meta span{font-size:8px;padding:5px 7px}
.book-alt-list .book-alt-practice{margin-top:11px;padding:10px 12px;font-size:11px}


/* v11.9.1 · alternativas multinivel por profundidad */
.book-door-role{
  display:grid;gap:4px;margin:0 0 11px;padding:10px 12px;border-radius:13px;
  border:1px solid rgba(118,69,100,.2);background:rgba(255,255,255,.18)
}
.book-door-role b{
  color:#7f456f;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase
}
.book-door-role span{color:#654b5f;font-size:10px;line-height:1.4}
.book-access-note strong{color:#6f3d62}
