*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:#050505;color:#cececa;font-family:Georgia,'Times New Roman',serif;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}a{color:inherit}button{font:inherit;cursor:pointer}.library{max-width:1060px;margin:0 auto;padding:58px 22px 80px}.library-head{text-align:center;margin-bottom:55px}.brand{font-size:clamp(24px,5.5vw,46px);color:#f2efea;letter-spacing:.08em;white-space:nowrap}.brand span{color:#bc8a51}.library-head p{font-size:17px;color:#a6a29b;letter-spacing:.18em}.books-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:28px}.book-card{text-decoration:none;border:1px solid #29251f;border-radius:8px;overflow:hidden;background:#0d0d0d;transition:border-color .2s}.book-card:hover{border-color:#bc8a51}.mini-cover{height:360px;position:relative;background:#000;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-y}.mini-cover img{width:100%;height:100%;object-fit:cover;pointer-events:none}.mini-overlay{position:absolute;top:35%;left:8%;right:8%;text-align:center;display:flex;flex-direction:column;gap:12px;color:#eee;letter-spacing:.02em;text-shadow:0 2px 12px #000,0 0 12px #000}.mini-overlay span{font-size:clamp(25px,3vw,32px)}.mini-overlay small{font-size:18px;color:#d4a361}.book-meta{padding:19px}.book-name{color:#eee;font-size:23px;margin-bottom:8px}.book-meta small{color:#aaa;font-size:13px}.track{height:3px;background:#302b25;margin:17px 0 11px;overflow:hidden}.track>div{height:100%;width:0;background:#c3945a}.library footer{text-align:center;margin-top:90px;color:#8c8070;letter-spacing:.3em}.empty{color:#aaa;text-align:center}.back{position:fixed;top:17px;left:18px;z-index:30;text-decoration:none;font-family:system-ui,sans-serif;font-size:14px;color:#cdbfa9;border:1px solid #3b352d;border-radius:30px;background:#080808db;padding:7px 13px;backdrop-filter:blur(12px)}.cover{height:min(92svh,940px);min-height:460px;position:relative;display:grid;place-items:center;background:#000;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-y}.cover-art{width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}.cover-title{position:absolute;left:7%;right:7%;top:37%;text-align:center;text-shadow:0 2px 24px #000,0 0 22px #000}.cover-title h1{color:#e9e6e2;font-size:clamp(28px,5vw,58px);font-weight:400;margin:0 0 18px}.roman{font-size:clamp(16px,2.5vw,27px);color:#c79b67;letter-spacing:.25em}.reader{max-width:710px;margin:0 auto;padding:70px 26px 150px}.reader p{font-size:clamp(17px,1.35vw + 12px,20px);line-height:1.72;margin:0 0 1.05em;overflow-wrap:break-word}.gold-separator{height:1px;max-width:160px;margin:85px auto;background:linear-gradient(90deg,transparent,#bd8e54,transparent)}.contents{display:flex;flex-direction:column;gap:27px;padding:20px 0 8px}.contents a{text-decoration:none;color:#e1dfda;display:flex;flex-direction:column;gap:0;font-size:clamp(18px,2.8vw,23px);line-height:1.36}.contents a span:nth-child(2){color:#aaa9a4}.contents a:hover{color:#e8bb82}.chapter{scroll-margin-top:60px}.chapter h2{text-align:center;color:#eeeae4;font-weight:400;font-size:clamp(28px,4vw,37px);margin:0 0 54px;line-height:1.25}.endmark{text-align:center;color:#c69b65;padding:90px 0 0;letter-spacing:.3em}.reader-controls{position:fixed;bottom:0;bottom:env(safe-area-inset-bottom);z-index:40;left:50%;transform:translateX(-50%);width:min(100%,760px);background:#090909f2;border:1px solid #2e261c;border-bottom:none;border-radius:16px 16px 0 0;display:flex;align-items:center;gap:9px;padding:10px 16px;backdrop-filter:blur(14px);font-family:system-ui,sans-serif;color:#bbaa94}.reader-controls button{border:0;color:#d0b087;background:transparent;border-radius:8px;padding:8px 11px;font-size:20px;min-width:35px}.reader-controls button:hover{background:#252017}.reader-controls .speed{font-size:12px;min-width:24px;text-align:center}.progress-wrap{display:flex;align-items:center;gap:10px;flex:1;min-width:55px}.progress-bar{height:3px;background:#3c3327;flex:1}.progress-bar>div{background:#c99b5f;height:100%;width:0}.progress-wrap span{font-size:12px;min-width:36px;text-align:right}@media(max-width:600px){.cover{height:83svh;min-height:380px}.cover-title{top:36%}.reader{padding:54px 23px 130px}.reader p{font-size:18px;line-height:1.68}.reader-controls{gap:3px;padding:7px 9px}.reader-controls button{padding:9px 7px}.back span{display:none}.gold-separator{margin:66px auto}.contents{gap:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Impostazioni di lettura, sempre indipendenti dal layout della copertina. */
.reader { --reader-font-size: 19px; }
.reader p { font-size: var(--reader-font-size); }
.reader-controls .controls-divider { width:1px; height:23px; background:#342a1f; flex:0 0 1px; }
.reader-controls #font-smaller, .reader-controls #font-bigger {font-size:14px; font-weight:600; letter-spacing:-.04em; min-width:34px; }
.reader-controls button { touch-action: manipulation; }
.cover-art, .mini-cover img { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; }
@media(max-width:600px){
  .reader {--reader-font-size: 18px;}
  .reader-controls {gap:2px; padding:7px 7px;}
  .reader-controls button {padding:8px 5px; min-width:30px;}
  .reader-controls #font-smaller,.reader-controls #font-bigger {min-width:29px; font-size:13px;}
  .reader-controls .progress-wrap {gap:3px; min-width:46px;}
  .reader-controls .progress-wrap span {font-size:11px; min-width:29px;}
  .reader-controls .speed {font-size:11px;min-width:24px;}
}


/* Copertina nella biblioteca */
.books-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 300px));
  justify-content: center;
}

.book-card {
  width: 100%;
  max-width: 300px;
}

.mini-cover {
  height: 360px;
}

.mini-cover img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Copertina all'apertura del libro */
.cover {
  width: 100%;
  max-width: 440px;
  height: auto;
  min-height: 0;
  aspect-ratio: 1240 / 1754;
  margin: 0 auto;
}

.cover-art {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/* Copertina allineata alla larghezza del testo */
.cover {
  width: 100%;
  max-width: 710px;
  height: auto;
  min-height: 0;
  aspect-ratio: 1023 / 1448;
  margin: 0 auto;
}

.cover-art {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/* Pulsante indice, in alto a destra */
.index-jump {
  position: fixed;
  top: 17px;
  right: 18px;
  z-index: 30;
  padding: 7px 13px;
  border: 1px solid #3b352d;
  border-radius: 30px;
  background: #080808db;
  color: #cdbfa9;
  font-family: system-ui, sans-serif;
  font-size: 18px;
  text-decoration: none;
  backdrop-filter: blur(12px);
}

/* Scorrimento delicato verso l'indice */
.index-jump:focus-visible {
  outline: 1px solid #c69b65;
}

#contents {
  scroll-margin-top: 65px;
}


.mini-cover,.cover{position:relative}.mini-volume-number,.cover-volume-number{position:absolute;top:90.5%;left:0;width:100%;text-align:center;color:#c79b67;font:normal 21px Georgia,serif;line-height:1;letter-spacing:.12em;text-shadow:0 1px 8px #000;pointer-events:none}.mini-volume-number{font-size:17px}
.library-prologue{max-width:710px;margin:0 auto 65px;text-align:left}.library-prologue p{font-size:18px;line-height:1.8;margin:0 0 1.25em}.prologue-preview{position:relative;max-height:210px;overflow:hidden}.prologue-preview:not(.expanded):after{content:"";position:absolute;left:0;right:0;bottom:0;height:100px;background:linear-gradient(transparent,#050505)}.prologue-preview.expanded{max-height:none}.prologue-toggle{display:block;margin:18px auto 0;padding:10px 20px;background:transparent;color:#c69b65;border:1px solid #54432d;border-radius:6px}.demo-label{color:#bc9865;font:11px system-ui,sans-serif;letter-spacing:.06em;margin-top:13px}.demo-reader{text-align:center;margin-bottom:35px!important}.international{min-height:100vh;display:flex;flex-direction:column}.international-main{flex:1;width:min(90%,750px);margin:auto;text-align:center;padding:100px 0 60px}.international-main .brand{margin-bottom:65px}.international-main p{font-size:18px;line-height:1.8;margin:0 auto 20px;max-width:630px}.edition-choices{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:68px}.edition-choices a{display:block;padding:23px 16px;border:1px solid #745c3c;border-radius:6px;text-decoration:none;font-size:23px;color:#e4c399}.edition-choices a:hover{background:#211a12}.international-footer{text-align:center;padding:25px;color:#82745f;letter-spacing:.3em;font-size:12px}@media(max-width:500px){.edition-choices{grid-template-columns:1fr}.international-main{padding-top:75px}.international-main .brand{margin-bottom:40px}}

/* Multilingual library: close remains accessible throughout the expanded introduction. */
.library-prologue.is-expanded .prologue-toggle{position:fixed;z-index:60;top:calc(14px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);margin:0;background:#10100ff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 22px #000b;white-space:nowrap}
.library-prologue{scroll-margin-top:68px}
/* International landing page uses the original cover artwork, stripped of its book imprint. */
.international-main{width:min(94%,850px);padding:24px 0 45px}
.international-art{width:100%;height:auto;display:block;margin:0 auto 12px}
.international-main p{font-size:18px;line-height:1.8;margin:0 auto 22px;max-width:720px}
.international-main .inline-enter{color:#c79a59;text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent;transition:border-color .15s}
.international-main .inline-enter:hover,.international-main .inline-enter:focus-visible{border-bottom-color:#c79a59}
@media(max-width:500px){.international-main{padding:35px 0 28px}.international-art{margin-bottom:4px}.international-main p{font-size:17px;line-height:1.7}}

/* International home: logo above the two entry sentences, gold wave below. */
.international-main .international-logo{width:100%;height:auto;display:block;margin:0 auto 36px}
.international-main .international-wave{width:100%;height:auto;display:block;margin:16px auto 0}
@media(max-width:500px){.international-main .international-logo{margin-bottom:26px}.international-main .international-wave{margin-top:8px}}
