/* Le livre reprend les variables de couleur de site.css. */
.book-library{background:var(--paper)}
.book-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:55px;align-items:center;padding:48px 0 68px}
.book-introduction h1{font-size:clamp(3.1rem,5.4vw,5.5rem);line-height:1;margin:16px 0 24px;letter-spacing:-.06em;color:var(--navy)}
.book-introduction h1 em{font-style:normal;color:var(--teal)}
.book-introduction>p{font-size:1.08rem;line-height:1.7;max-width:610px;color:var(--muted)}
.book-entry-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:26px}
.book-choice{font-size:.87rem;font-weight:800;color:var(--teal);text-underline-offset:5px}
.book-introduction .book-entry-note{font-size:.8rem;margin:21px 0 0}
.resume-reading{display:inline-block;margin-top:19px;color:var(--teal);font-size:.86rem;font-weight:800}.resume-reading[hidden]{display:none}
.book-object{perspective:1000px;padding:26px;justify-self:center}
.book-cover{position:relative;width:218px;height:300px;background:var(--navy);color:var(--cream);padding:26px 23px 22px 31px;border-radius:3px 8px 8px 3px;transform:rotate(-6deg) rotateY(-12deg);box-shadow:5px 3px 0 var(--cream),7px 4px 0 var(--line),10px 7px 0 var(--cream),12px 9px 0 var(--line),20px 23px 35px color-mix(in srgb,var(--navy) 20%,transparent);border-left:8px solid var(--teal);display:flex;flex-direction:column;transition:transform .35s ease}
.book-cover::before{content:"";position:absolute;inset:10px 10px 10px 16px;border:1px solid color-mix(in srgb,var(--cream) 25%,transparent);pointer-events:none}
.book-object:hover .book-cover{transform:rotate(-3deg) rotateY(0deg)}
.cover-series{font:800 .95rem/1.12 'Outfit',sans-serif;letter-spacing:-.02em}
.cover-symbol{font:800 8.4rem/.9 'Outfit',sans-serif;letter-spacing:-.06em;color:var(--sun);margin:14px 0 9px}
.cover-tagline{font:700 .82rem/1.4 'Outfit',sans-serif}
.cover-edition{margin-top:auto;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:color-mix(in srgb,var(--cream) 70%,var(--teal))}
.book-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start;scroll-margin-top:24px;padding-bottom:25px}
.book-contents{position:sticky;top:22px;max-height:calc(100dvh - 44px);overflow-y:auto;scrollbar-width:thin;padding-right:4px}
.contents-heading{padding:0 0 21px}.contents-heading .eyebrow{font-size:.65rem}.contents-heading h2{font-size:1.45rem;line-height:1.1;margin:10px 0}.contents-heading p{font-size:.78rem;line-height:1.6;color:var(--muted);margin:0}
.chapters-list{display:grid;gap:5px}
.chapter-link{display:grid;grid-template-columns:29px 1fr 12px;gap:10px;align-items:center;padding:13px 10px;text-decoration:none;color:var(--navy);border:1px solid transparent;border-radius:4px;transition:background .18s ease,color .18s ease}
.chapter-link:hover{background:var(--cream);border-color:var(--line)}
.chapter-number{font:800 1.15rem 'Outfit',sans-serif;color:var(--teal)}
.chapter-link strong{display:block;font:700 .88rem/1.2 'Outfit',sans-serif;letter-spacing:-.015em}.chapter-link small{display:block;font-size:.63rem;color:var(--muted);margin-top:4px}.chapter-arrow{font-size:.8rem;opacity:0}
.chapter-link[aria-current="page"]{color:var(--cream);background:var(--navy);border-color:var(--navy)}.chapter-link[aria-current="page"] .chapter-number{color:var(--sun)}.chapter-link[aria-current="page"] small{color:color-mix(in srgb,var(--cream) 75%,var(--teal))}.chapter-link[aria-current="page"] .chapter-arrow{opacity:1}
.mobile-chapter-select{display:none}
.book-pages{position:relative;border-left:4px solid color-mix(in srgb,var(--teal) 35%,var(--line));background:var(--cream);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:5px 5px 0 var(--paper),6px 6px 0 var(--line),10px 10px 0 var(--paper),11px 11px 0 var(--line),0 18px 40px color-mix(in srgb,var(--navy) 7%,transparent);view-transition-name:reader-paper}
.chapter-page{padding:32px clamp(22px,3vw,40px) 24px;position:relative;transform-origin:left center;scroll-margin-top:24px}.chapter-page[hidden]{display:none}.chapter-page+.chapter-page{border-top:1px solid var(--line)}.book-ready .chapter-page{border-top:0}
.legacy-marker{position:absolute;top:0;left:0}
.chapter-heading{margin-bottom:27px}.chapter-position{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.66rem;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.08em}
.chapter-heading h2{font-size:clamp(2rem,3.2vw,3.15rem);line-height:1.06;margin:18px 0 14px;color:var(--navy);max-width:710px}.chapter-heading h2:focus{outline:none}.chapter-heading h2:focus-visible{outline:2px solid var(--teal);outline-offset:5px}
.chapter-heading p{font-size:.92rem;line-height:1.7;color:var(--muted);max-width:680px;margin:0}
.episode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px;align-items:start}
.episode-tile{display:block;position:relative;min-width:0;text-decoration:none;color:inherit;transform-origin:50% 55%;transition:transform .22s ease;z-index:0;outline-offset:8px}
.episode-print{position:relative;display:flex;align-items:center;justify-content:center;background:var(--deep);aspect-ratio:4/5;padding:18px 6px;border:1px solid color-mix(in srgb,var(--cream) 30%,var(--deep));box-shadow:0 7px 17px color-mix(in srgb,var(--navy) 13%,transparent);transition:box-shadow .22s ease,border-color .22s ease}
.episode-print::before,.episode-print::after{content:"";position:absolute;left:6px;right:6px;height:6px;background:radial-gradient(circle,var(--cream) 1.9px,transparent 2.4px) 0 center/16px 6px repeat-x;opacity:.75;pointer-events:none}.episode-print::before{top:5px}.episode-print::after{bottom:5px}
.episode-print img{width:100%;height:100%;object-fit:contain;display:block}
.print-open{position:absolute;bottom:24px;left:50%;transform:translate(-50%,8px);white-space:nowrap;color:var(--navy);background:var(--cream);border-radius:99px;padding:6px 9px;font-size:.64rem;font-weight:800;opacity:0;transition:opacity .2s,transform .2s;box-shadow:0 3px 10px color-mix(in srgb,var(--navy) 25%,transparent)}
.episode-tile:hover,.episode-tile:focus-visible{transform:translateY(-6px) scale(1.045);z-index:2}
.episode-tile:hover .episode-print,.episode-tile:focus-visible .episode-print{border-color:var(--sun);box-shadow:0 16px 28px color-mix(in srgb,var(--navy) 25%,transparent),0 0 0 2px color-mix(in srgb,var(--sun) 40%,transparent)}
.episode-tile:hover .print-open,.episode-tile:focus-visible .print-open{opacity:1;transform:translate(-50%,0)}
.episode-caption{padding:14px 2px 3px}.episode-meta{display:flex;flex-wrap:wrap;gap:4px 9px;color:var(--muted);font-size:.59rem;font-weight:800}.episode-meta>span:first-child{color:var(--teal);text-transform:uppercase;letter-spacing:.08em}
.episode-caption h3{font-size:1.1rem;line-height:1.2;color:var(--navy);margin:9px 0 10px;transform-origin:left top;transition:transform .22s ease,color .22s ease;text-wrap:pretty}
.episode-tile:hover h3,.episode-tile:focus-visible h3{transform:scale(1.035);color:var(--teal)}
.episode-action{display:inline-flex;gap:8px;font-size:.74rem;font-weight:800;color:var(--teal);border-bottom:1px solid color-mix(in srgb,var(--teal) 50%,var(--line));padding-bottom:3px}
.page-turns{display:flex;justify-content:space-between;gap:22px;border-top:1px solid var(--line);margin-top:32px;padding-top:22px}.turn-link{display:flex;align-items:center;gap:13px;font:700 .85rem/1.25 'Outfit',sans-serif;text-decoration:none;color:var(--navy);max-width:48%}.turn-link small{display:block;color:var(--muted);font:700 .61rem/1.4 'DM Sans',sans-serif;margin-bottom:5px;letter-spacing:.05em;text-transform:uppercase}.turn-link>span[aria-hidden]{font-size:1.55rem;color:var(--teal)}.turn-next{text-align:right;margin-left:auto}.turn-link:hover{color:var(--teal)}.book-start-note{font-size:.73rem;color:var(--muted);align-self:center}
.book-endnote{padding:42px 0 58px;font-size:.84rem;line-height:1.7;color:var(--muted);text-align:center}
@view-transition{navigation:auto}
::view-transition-old(reader-paper){animation:book-away .18s ease both;transform-origin:left center}::view-transition-new(reader-paper){animation:book-arrive .24s ease both;transform-origin:left center}
@keyframes book-away{to{opacity:0;transform:perspective(1600px) rotateY(-5deg) translateX(-12px)}}@keyframes book-arrive{from{opacity:0;transform:perspective(1600px) rotateY(6deg) translateX(15px)}to{opacity:1;transform:none}}
@media(max-width:1180px){.book-layout{grid-template-columns:220px minmax(0,1fr);gap:24px}.episode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}.episode-caption h3{font-size:1.2rem}.chapter-page{padding-inline:28px}}
@media(max-width:800px){.book-hero{grid-template-columns:1fr 215px;gap:18px;padding-top:38px}.book-cover{width:180px;height:255px;padding:23px 18px 18px 25px}.cover-symbol{font-size:6.5rem}.cover-series{font-size:.83rem}.cover-tagline{font-size:.73rem}.cover-edition{font-size:.5rem}.book-layout{display:block}.book-contents{position:static;max-height:none;overflow:visible;padding:0 0 24px}.contents-heading{padding-bottom:15px}.contents-heading h2{font-size:1.8rem}.chapters-list{grid-template-columns:repeat(3,minmax(0,1fr))}.chapter-link{padding:12px 9px;grid-template-columns:24px 1fr}.chapter-arrow{display:none}.book-ready .chapters-list{display:none}.book-ready .mobile-chapter-select{display:block;font-size:.69rem;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.06em}.mobile-chapter-select select{display:block;width:100%;margin-top:8px;padding:14px 38px 14px 14px;background:var(--cream);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:3px;color:var(--navy);font:700 1rem 'Outfit',sans-serif;text-transform:none;letter-spacing:0}.chapter-page{padding:26px}.chapter-heading h2{font-size:2.6rem}.episode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}.episode-caption h3{font-size:1.08rem}.book-endnote{padding-top:32px}}
@media(max-width:650px){.book-hero{grid-template-columns:1fr;padding:35px 0 42px}.book-object{display:none}.book-introduction h1{font-size:clamp(3.4rem,11vw,4.5rem)}.book-introduction>p{font-size:1rem}.book-entry-actions{gap:18px}.book-entry-actions .button{font-size:.82rem;padding:14px 18px}.contents-heading h2{font-size:1.65rem}.chapter-page{padding:23px 20px}.chapter-heading h2{font-size:2.3rem}.episode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.chapter-position{font-size:.6rem}.chapters-list{grid-template-columns:1fr 1fr}.page-turns{gap:14px}.turn-link{font-size:.78rem}.book-start-note{font-size:.66rem}}
@media(max-width:480px){.episode-grid{grid-template-columns:1fr;gap:31px}.episode-tile{max-width:310px;width:100%;margin:auto}.episode-caption h3{font-size:1.4rem}.episode-meta{font-size:.67rem}.episode-action{font-size:.82rem}.chapter-heading p{font-size:.87rem}.chapter-page{padding-inline:20px}.chapter-position{gap:6px}.chapter-heading h2{font-size:2.15rem}.turn-link small{font-size:.55rem}}
@media(hover:none){.episode-tile:hover{transform:none}.print-open{opacity:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.book-cover,.episode-tile,.episode-print,.print-open,.episode-caption h3{transition:none}.book-object:hover .book-cover,.episode-tile:hover,.episode-tile:focus-visible,.episode-tile:hover h3,.episode-tile:focus-visible h3{transform:none}::view-transition-old(reader-paper),::view-transition-new(reader-paper){animation:none}}

.special-contents-link{display:block;margin-top:16px;padding:17px 12px;border-top:1px solid var(--line);font:700 .94rem 'Outfit',sans-serif;text-decoration:none;color:var(--teal)}.special-contents-link span{display:block;color:var(--muted);font:600 .65rem 'DM Sans',sans-serif;margin-top:7px}.special-library{padding:12px 0 70px;scroll-margin-top:25px}.special-heading{max-width:650px;margin-bottom:34px}.special-heading h2{font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.08;letter-spacing:-.035em;margin:14px 0 20px;color:var(--navy)}.special-heading p{color:var(--muted);font-size:.94rem;line-height:1.7}.special-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start;margin-bottom:35px}.special-tile .episode-print{max-height:360px}.special-tile h3{font-size:1.3rem}.type-cover{width:100%;height:100%;padding:18px 16px;color:var(--cream);border:1px solid color-mix(in srgb,var(--cream) 35%,transparent);background:var(--navy);display:flex;flex-direction:column;justify-content:space-between;gap:10px;text-align:left}.type-cover small{font:700 .72rem/1.15 'Outfit',sans-serif;letter-spacing:.02em}.type-cover>span{font:800 clamp(3.3rem,6vw,6rem)/1 'Outfit',sans-serif;color:var(--sun)}.type-cover strong{font:700 clamp(.85rem,1.5vw,1.4rem)/1.15 'Outfit',sans-serif;color:var(--cream);text-wrap:pretty}.type-cover i{font:600 .55rem/1.4 'DM Sans',sans-serif;color:color-mix(in srgb,var(--cream) 75%,var(--teal))}
@media(max-width:800px){.special-contents-link{margin-top:15px;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.special-contents-link span{margin:0}.special-grid{gap:22px}.special-tile h3{font-size:1.1rem}}
@media(max-width:650px){.special-grid{grid-template-columns:1fr;gap:36px}.special-tile{max-width:310px;margin-inline:auto}.special-tile h3{font-size:1.4rem}.type-cover>span{font-size:5.5rem}.type-cover strong{font-size:1.35rem}.special-library{padding-bottom:48px}}

/* La bibliothèque accueille le lecteur ; les affiches gardent leur identité. */
.book-hero-library{display:block;width:min(1000px,calc(100% - 48px));padding:0;margin-top:38px;margin-bottom:58px;background:#fff4df;border-radius:26px;overflow:hidden;box-shadow:0 16px 35px #15384e0b}
.book-library-scene{position:relative}.book-library-scene img{width:100%;height:auto;display:block}
.book-library-ribbon{position:absolute;top:22px;left:24px;max-width:calc(100% - 48px);background:var(--sun);color:var(--navy);padding:9px 17px;border-radius:9px;font:800 .87rem/1.4 'Outfit',sans-serif}
.book-library-welcome{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:35px;align-items:center;padding:30px 38px 35px}
.book-hero-library .book-introduction h1{font-size:clamp(2.6rem,4.1vw,4rem);line-height:1.04;margin:0 0 15px;letter-spacing:-.045em}
.book-hero-library .book-library-invitation{font-size:1rem;line-height:1.6;color:#465e66;margin:0 0 18px;max-width:440px}
.book-hero-library .book-entry-actions{margin:0;gap:18px}.book-hero-library .book-entry-actions .button{font-size:.82rem;padding:14px 18px}
.book-hero-library .book-entry-note{font-size:.75rem;line-height:1.55;color:#526970;margin-top:19px}
.book-library-bookmark{display:flex;flex-direction:column;gap:3px;background:var(--cream);padding:23px 26px;border-radius:18px;min-width:190px;color:var(--navy)}
.bookmark-symbol{color:#c94b35;font-size:1.6rem;line-height:1;margin-bottom:11px}.book-library-bookmark strong{font:800 1.3rem/1.4 'Outfit',sans-serif}.book-library-bookmark a{color:#526970;font-size:.73rem;line-height:1.5;margin-top:9px;text-underline-offset:3px}
.book-pages{border-left-color:var(--teal);border-radius:22px;overflow:hidden}.chapter-heading{padding-bottom:22px;border-bottom:1px solid #d8e8e1}.chapter-position{align-items:center}.chapter-position>span:first-child{background:#fff0d7;color:#a13e2a;border-radius:7px;padding:6px 9px}
.chapter-link{border-radius:12px}.chapter-link[aria-current="page"]{background:#e2f3ee;border-color:#a7d7cb;color:var(--navy)}.chapter-link[aria-current="page"] .chapter-number{color:#bc472f}.chapter-link[aria-current="page"] small{color:#47676e}
.episode-meta>span:first-child{color:#b2442e}.special-heading .eyebrow{color:#b2442e}.special-heading{padding-left:21px;border-left:4px solid var(--sun)}
@media(max-width:800px){.book-hero-library{margin-top:25px;margin-bottom:40px}.book-library-welcome{padding:25px 28px 30px;gap:24px}.book-library-bookmark{padding:19px;min-width:160px}.book-library-bookmark strong{font-size:1.1rem}}
@media(max-width:650px){.book-hero-library{width:calc(100% - 34px);border-radius:20px}.book-library-welcome{grid-template-columns:1fr;gap:24px;padding:25px}.book-hero-library .book-introduction h1{font-size:clamp(2.8rem,9vw,3.6rem)}.book-library-bookmark{flex-direction:row;flex-wrap:wrap;align-items:center;gap:5px 13px;padding:15px 18px;min-width:0}.bookmark-symbol{margin:0;font-size:1.2rem}.book-library-bookmark strong{font-size:1rem}.book-library-bookmark a{margin:0;font-size:.73rem}.book-library-ribbon{top:13px;left:13px;max-width:calc(100% - 26px);padding:7px 11px;font-size:.72rem}}
@media(max-width:420px){.book-library-welcome{padding:23px 20px}.book-hero-library .book-entry-actions{gap:18px}.book-hero-library .book-entry-actions .button{width:100%}.book-library-ribbon{font-size:.66rem}.book-library-bookmark{column-gap:11px}.book-hero-library .book-library-invitation{font-size:.92rem}}
