.library-entry{background:#f5eaff;border-color:#9a7aa6}.toussaint-entry{background:#fff0d5;border-color:#ba8a52}.ourse-library-book{display:flex;align-items:center;gap:1.2rem;padding:1.2rem;background:#fffdf5;border:2px solid #abb69a;border-radius:22px;text-decoration:none;color:inherit}.ourse-library-book img{width:32%;max-width:170px;border-radius:12px}.ourse-library-book strong,.ourse-library-book small,.ourse-library-book b{display:block;margin:.6rem 0}.ourse-library-book strong{font-size:1.5rem}.ourse-cover{display:block;width:min(100%,420px);margin:1rem auto;border-radius:16px}.ourse-reader{max-width:760px;margin:auto}.ourse-reader-head{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;background:var(--paper,#fffdf4);padding:.5rem 0}.ourse-reader-head .back{margin:0}.ourse-reader-head>span{margin-left:auto}.ourse-letter{background:#fffdf6;color:#243b30;border:1px solid #d5cdb8;border-radius:20px;padding:clamp(18px,5vw,36px);margin:1rem 0;font-size:24px;line-height:1.75}.ourse-letter p{font-size:inherit;line-height:inherit;margin:0 0 1.3em;overflow-wrap:break-word}.ourse-letter p:last-child{margin-bottom:0}.ourse-letter hr{margin:2rem 0;border:0;border-top:2px solid #c8bfa8}.ourse-spread{display:block;width:100%;height:auto;border-radius:12px;max-width:100%}.ourse-photo,.ourse-contents,.ourse-reread{background:#fffdf6;border:1px solid #c5cdbb;border-radius:14px;padding:14px;margin:1rem 0}.ourse-photo summary,.ourse-contents summary,.ourse-reread summary{cursor:pointer;font-weight:800;padding:.4rem;min-height:44px}.ourse-contents nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;margin-top:1rem}.ourse-contents a{padding:.6rem;border:1px solid #b4c1a6;border-radius:10px;color:inherit;min-height:44px}.ourse-contents [aria-current]{background:#e9eed6;font-weight:bold}.ourse-reader-foot{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:12px 8px max(12px,env(safe-area-inset-bottom));background:#fffdf4f5;border-top:1px solid #c9d0be;z-index:3}.ourse-reader-foot a{display:block;background:#276e4b;color:white;text-decoration:none;font-weight:800;border-radius:14px;padding:15px;min-height:48px}.ourse-progress{width:100%;height:16px;accent-color:#387251}.toussaint-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.5rem 0}.toussaint-days a{display:grid;gap:.55rem;padding:1.25rem;border:2px solid #c7b08a;border-radius:20px;background:#fffaf0;text-decoration:none;color:inherit;min-height:170px}.toussaint-days a.done{background:#edf6de;border-color:#64894d}.toussaint-days span{font-weight:800}.toussaint-days b{color:#2b6645}#ourse-selection{font-size:16px}.ourse-letter:focus-visible,.ourse-reader a:focus-visible,.toussaint-days a:focus-visible{outline:4px solid #d49b33;outline-offset:3px}@media(max-width:480px){.ourse-letter{font-size:23px}.ourse-reader-head strong{font-size:17px}.ourse-reader-foot a{padding:13px;font-size:17px}.ourse-library-book{gap:.7rem}.ourse-library-book strong{font-size:1.2rem}}

.ourse-artwork{margin:1rem 0;background:#fffdf4;border-radius:18px;overflow:hidden}.ourse-artwork figcaption{font-size:13px;padding:10px;color:#56664e}.ourse-artwork .ourse-spread{border-radius:0;max-height:none}.ourse-reader .mobile-secondary{margin:.7rem 0}

.ourse-reading-tools{display:flex;align-items:center;gap:12px;margin-top:16px}.ourse-reading-tools button{min-width:48px;min-height:48px;background:#fffdf4;color:#183f31;border:1px solid #8b9c79;border-radius:12px;font-weight:800}.ourse-sheet{background:#fffdf4;border:1px solid #dbd5c1;border-radius:10px;box-shadow:0 8px 26px #26392b18;touch-action:pan-y pinch-zoom;transform-origin:left center;backface-visibility:hidden}.ourse-sheet .ourse-artwork{margin:0;border-radius:10px 10px 0 0}.ourse-letter{padding:12px clamp(20px,5vw,48px) 30px;font-family:Georgia,serif;font-size:var(--book-font,22px);line-height:1.65;color:#23382e}.ourse-letter p{margin:1em 0}.ourse-sheet.turn-forward{animation:ourse-forward .4s ease-in both}.ourse-sheet.turn-back{transform-origin:right center;animation:ourse-back .4s ease-in both}@keyframes ourse-forward{to{transform:perspective(1800px) rotateY(-75deg);opacity:.15}}@keyframes ourse-back{to{transform:perspective(1800px) rotateY(75deg);opacity:.15}}@media(prefers-reduced-motion:reduce){.ourse-sheet.turn-forward,.ourse-sheet.turn-back{animation:none}}

body.ebook-open{overflow:hidden}.ebook{position:fixed;inset:0;z-index:1000;height:100dvh;box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#f0eddf;color:#23382e}.ebook-head,.ebook-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px}.ebook-head strong{font-size:17px}.ebook-head a{color:inherit;text-decoration:none;font-weight:bold;white-space:nowrap}.ebook button{min-width:48px;min-height:44px;border:1px solid #acb599;background:#fffdf4;color:#23382e;border-radius:12px;font-weight:800;font-size:19px;padding:6px 12px}.ebook button:disabled{opacity:.35}.ebook-head>div{display:flex;gap:6px}.ebook-stage{min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;background:#fffdf4;padding:clamp(14px,3vw,32px);border-radius:10px;box-shadow:0 6px 24px #43351c1a;overflow:hidden;touch-action:pan-y pinch-zoom;transform-origin:left center}.ebook-picture{min-height:0;min-width:0;margin:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.ebook-picture img{width:100%;height:100%;object-fit:contain}.ebook-window{height:100%;min-height:0;min-width:0;overflow:hidden}.ebook .ebook-text{height:100%;width:100%;box-sizing:border-box;column-gap:0;column-fill:auto;font-family:Georgia,serif;font-size:var(--ebook-font,22px);line-height:1.55;overflow:visible;will-change:transform}.ebook-text p{font:inherit;line-height:inherit;margin:0 0 1em;overflow-wrap:anywhere;orphans:2;widows:2}.ebook-count{font-size:14px;text-align:center}.ebook-image-only .ebook-stage{grid-template-columns:minmax(0,1fr)}.ebook-image-only .ebook-window{position:absolute;visibility:hidden;width:calc(50% - 48px);height:calc(100% - 64px)}.ebook-stage.turn-forward{animation:ourse-forward .3s ease-in both}.ebook-stage.turn-back{transform-origin:right center;animation:ourse-back .3s ease-in both}@media(max-width:759px){.ebook{gap:8px}.ebook-stage{grid-template-columns:minmax(0,1fr);gap:0;padding:20px}.ebook-image-only .ebook-window{width:calc(100% - 40px);height:calc(100% - 40px)}.ebook-text-only .ebook-picture{display:none}.ebook:not(.ebook-image-only):not(.ebook-text-only) .ebook-picture{display:none}.ebook-head strong{font-size:14px}.ebook-head a{font-size:14px}}@media(prefers-reduced-motion:reduce){.ebook-stage.turn-forward,.ebook-stage.turn-back{animation:none}}

.ebook-picture svg{display:block;width:100%;height:100%}.ebook-no-picture .ebook-stage{grid-template-columns:minmax(0,1fr)}.ebook-no-picture .ebook-text{max-width:none}.ebook-stage{position:relative}
