@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Regular.ttf')}@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Bold.ttf');font-weight:700}:root{--purple:#64337b;--ink:#302b37;--muted:#706777;--paper:#fffdf8;--line:#e5dce7;--bg:#f7f3ee}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:500 16px/1.65 Montserrat,Arial,sans-serif}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button,.button{cursor:pointer;min-height:44px;border:1px solid var(--line);background:#fffdf9;color:var(--purple);border-radius:12px;padding:10px 16px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.button:hover{background:#eee4f2}button:disabled{opacity:.4;cursor:default}.primary{background:var(--purple);color:white;border-color:var(--purple)}.primary:hover{background:#472457}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #1481a1;outline-offset:4px}a{color:var(--purple)}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,4vw,4rem)}h2{font-size:1.8rem}h3{font-size:1.15rem}.site-header{padding:18px max(24px,5vw);display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink);font-size:1.35rem;font-weight:700}.brand img{width:76px;height:66px;object-fit:contain}.brand small{display:block;font-size:.61rem;letter-spacing:.1em;text-transform:uppercase;font-weight:400;color:var(--muted);margin-top:3px}.site-header nav{display:flex;align-items:center;gap:24px;font-size:.83rem}.site-header nav a{text-decoration:none}.site-header nav button{border:0;background:transparent}.site-footer{padding:26px;text-align:center;font-size:.75rem;border-top:1px solid var(--line);color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.67rem;font-weight:700;color:#805c86}.library-hero{max-width:1320px;margin:0 auto;padding:60px 40px 35px;display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center}.library-hero h1{margin:12px 0 20px}.library-hero p{max-width:620px;color:var(--muted);font-size:1.05rem}.hero-collage{display:flex;align-items:flex-end;justify-content:center;gap:14px;min-height:220px;padding:25px;background:#eee5ef;border-radius:32px}.mini-book{height:160px;width:115px;padding:12px;background:#63317a;color:#fff;border-radius:4px 10px 10px 4px;box-shadow:8px 12px 18px #29183425;font-size:.8rem;font-weight:bold;display:flex;flex-direction:column;justify-content:space-between;border-left:6px solid #0002;transform:rotate(-6deg)}.mini-book:nth-child(2){height:205px;width:145px;transform:rotate(3deg);background:#fffdf7;color:#563268}.mini-book:nth-child(3){transform:rotate(9deg);background:#52694f}.mini-book img{width:100%;height:95px;object-fit:contain}.collection-wrap{max-width:1320px;margin:auto;padding:15px 40px 65px}.section-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.section-row h2{margin:0}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.collection-card{display:block;text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;color:var(--ink);box-shadow:0 8px 22px #3b214708;transition:transform .18s}.collection-card:hover{transform:translateY(-4px)}.collection-preview{height:160px;background:#382c46;display:flex;align-items:flex-end;justify-content:center;gap:12px;padding:20px 18px 0}.collection-preview .cover-mini{max-width:30%;height:115px;object-fit:contain;object-position:bottom}.small-designed{width:85px;height:105px;padding:8px;background:#fff7e9;font-size:.65rem;font-weight:bold;border-left:5px solid #84608f;line-height:1.3;color:#412a4e;display:flex;align-items:center}.collection-info{padding:20px}.collection-info h3{margin:0 0 7px}.collection-info p{font-size:.8rem;color:var(--muted);margin:0}.shelf-header{max-width:1320px;margin:auto;padding:38px 40px 10px}.back-link{font-size:.8rem;text-decoration:none}.shelf-header h1{margin:12px 0 16px;font-size:clamp(2.2rem,4vw,3.2rem)}.shelf-header p{max-width:760px;color:var(--muted)}.shelf-tools{max-width:1320px;margin:auto;padding:18px 40px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.shelf-tools input{flex:1;min-width:180px;border:1px solid #b9a8c4;border-radius:12px;padding:11px 14px;background:white}.shelf-tools select{padding:11px;border:1px solid #b9a8c4;border-radius:12px;background:white}.book-shelf{max-width:1320px;margin:auto;padding:25px 40px 70px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:38px;row-gap:40px}.book-item{text-align:center;min-width:0}.book-cover-button{display:block;border:0;background:transparent;padding:0;margin:0 auto;width:100%;max-width:290px;min-height:290px;transition:transform .18s;align-content:end}.book-cover-button:hover{background:transparent;transform:translateY(-5px)}.book-cover-button img{width:100%;height:280px;object-fit:contain;object-position:bottom;filter:drop-shadow(10px 12px 8px #1e102825)}.designed-cover{margin:auto;width:220px;height:280px;border-radius:3px 9px 9px 3px;border-left:9px solid #0002;padding:22px 18px 15px;text-align:left;background:var(--cover-color);color:white;box-shadow:10px 12px 12px #29193420;display:flex;flex-direction:column;justify-content:space-between}.designed-cover h3{font-size:1.55rem;margin:12px 0}.designed-cover img{height:95px;width:100%;filter:none;object-fit:contain}.designed-cover small{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.shelf-plank{height:12px;background:linear-gradient(#bca7be,#a48aa8);border-radius:3px;box-shadow:0 10px 10px #2d163b15;margin:0 -20px 18px}.book-info h3{margin:10px 0 6px}.book-info p{font-size:.78rem;color:var(--muted);margin:5px}.book-info .badge{display:inline-block;font-size:.65rem;padding:3px 10px;border-radius:99px;background:#e9e0ed;color:#603772}.list-view{display:block}.list-view .book-item{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:24px;text-align:left;padding:22px 0;border-bottom:1px solid var(--line)}.list-view .book-cover-button{min-height:0}.list-view .book-cover-button img{height:120px}.list-view .designed-cover{width:90px;height:120px;padding:8px}.list-view .designed-cover h3{font-size:.65rem}.list-view .designed-cover img,.list-view .designed-cover small{display:none}.list-view .shelf-plank{display:none}.reader-open{background:#302b3c}.reader-open .site-header{display:none}.reader-open .site-footer{color:#ddd;border-color:#ffffff20}.reader-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:#fffdf9;border-bottom:1px solid #ddd;position:sticky;top:0;z-index:20}.reader-title{min-width:0;flex:1}.reader-title h1{font-size:1rem;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0}.reader-title small{font-size:.68rem;color:var(--muted)}.reader-tools{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.reader-tools button,.reader-bar>a{font-size:.75rem;padding:8px 11px}.reader-tools button[aria-pressed=true]{background:#64337b;color:white}.reader-area{position:relative;min-height:calc(100vh - 150px);padding:36px 64px 26px;overflow:auto}.reader-nav{display:flex;align-items:center;justify-content:center;gap:18px;color:white;padding:18px 0}.reader-nav button{background:#ffffff13;color:white;border-color:#ffffff25;min-width:50px}.reader-nav small{font-size:.77rem}.book-stage{display:flex;gap:2px;justify-content:center;align-items:stretch;max-width:1600px;margin:0 auto;min-width:0;transform-origin:top center}.book-stage.single{max-width:1000px}.book-page{width:50%;min-height:450px;aspect-ratio:4/3;background:#fffdf7;position:relative;box-shadow:0 10px 28px #0004;overflow:hidden;display:flex;flex-direction:column;padding:30px 30px 34px;color:#302b37}.book-stage.single .book-page{width:100%;min-height:560px}.book-page:first-child{border-radius:7px 0 0 7px}.book-page:last-child{border-radius:0 7px 7px 0}.book-stage.single .book-page{border-radius:7px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d9c9e2;padding-bottom:10px;margin-bottom:16px}.page-header span{font-size:.58rem;color:#745683;text-transform:uppercase;letter-spacing:.08em}.page-header img{width:38px;height:33px;object-fit:contain}.book-page h2{font-size:clamp(1.3rem,2vw,2rem);color:#61317c;margin:0 0 18px;line-height:1.12}.page-copy{font-size:clamp(.73rem,.95vw,1rem);line-height:1.55;columns:2;column-gap:24px;min-height:0;overflow:auto;flex:1}.page-copy p{margin:0 0 .55rem;break-inside:avoid}.page-copy p.bullet{padding-left:12px;text-indent:-12px}.page-foot{font-size:.55rem;color:#7b6e81;display:flex;justify-content:space-between;position:absolute;bottom:12px;left:30px;right:30px}.cover-page{padding:0!important;align-items:center;justify-content:center;background:#ede4ee!important}.cover-page>img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.cover-page.designed{background:linear-gradient(135deg,#fffdf5,#eee6ef)!important;padding:38px!important;align-items:flex-start;justify-content:space-between}.cover-page.designed .cover-title{font-size:clamp(2rem,3.8vw,4rem);max-width:90%;color:#603077;line-height:1.05}.cover-page.designed>img{position:static;height:40%;width:auto;max-width:100%;border-radius:16px}.cover-page.designed p{font-size:1rem;max-width:560px}.activity-page{background:#f6eef6}.activity-page .activity-icon{font-size:3rem;color:#713588}.activity-page p,.question-page p{font-size:clamp(.78rem,1vw,1rem)}.activity-page .button{margin:12px 0;width:fit-content}.question-page{overflow:auto}.question-page fieldset{border:0;padding:0}.question-page legend{font-weight:bold;margin-bottom:12px;font-size:.82rem}.answer-option{display:flex;gap:9px;padding:9px;border:1px solid #ded2e5;border-radius:10px;margin:8px 0;font-size:.76rem;background:white}.answer-option input{margin-top:5px;min-width:16px}.feedback{padding:12px;border-radius:10px;background:#e9e0ed;font-size:.78rem;margin-top:12px}.feedback.good{background:#e3efe4}.page-reflection{min-height:140px;width:100%;padding:12px;border:1px solid #baa5c6;border-radius:12px;background:white;font-size:.85rem;resize:vertical}.reflow{max-width:900px;margin:0 auto;background:#fffdf8;border-radius:10px;padding:40px 48px;box-shadow:0 10px 30px #0002;color:#302b37}.reflow h2{color:#61317c;font-size:2rem}.reflow .page-copy{columns:1;font-size:1rem;overflow:visible}.reflow .page-header,.reflow .page-foot{display:none}.reflow .book-page{width:100%;min-height:0;aspect-ratio:auto;padding:0;box-shadow:none;overflow:visible;background:transparent}.reflow .cover-page{min-height:500px;position:relative}.reader-drawer{position:fixed;top:84px;bottom:0;right:0;width:360px;max-width:94vw;padding:24px;background:#fffdf9;z-index:30;box-shadow:-10px 0 28px #0003;overflow:auto}.reader-drawer h2{font-size:1.4rem;margin-top:12px}.drawer-close{float:right}.drawer-search{width:100%;padding:11px;border:1px solid #b7a3c3;border-radius:10px}.page-thumb{width:100%;display:grid;grid-template-columns:50px 1fr;gap:12px;text-align:left;align-items:center;margin:8px 0;font-size:.8rem}.page-thumb[aria-current=page]{background:#eee0f5;border-color:#8c66a2}.thumb-image{width:50px;height:40px;object-fit:contain;background:#eee5f1}.thumb-num{background:#eee5f1;border-radius:5px;height:40px;display:grid;place-items:center;color:#653780}.notes-label{display:block;margin:16px 0;font-weight:bold;font-size:.85rem}.notes-label textarea{display:block;width:100%;min-height:180px;margin-top:12px;border:1px solid #b7a3c3;border-radius:12px;padding:12px;font-weight:400}.small-note{font-size:.75rem;color:#77677e}.search-result{display:block;width:100%;text-align:left;margin-top:9px;font-size:.8rem}.empty-state,.loading{padding:60px 30px;text-align:center;min-height:350px}.error{max-width:700px;margin:60px auto;background:white;padding:32px;border-radius:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:absolute;left:-999px;top:12px;z-index:9999;background:white;padding:12px}.skip:focus{left:12px}dialog{border:0;border-radius:18px;padding:20px;max-width:96vw;max-height:95vh}dialog::backdrop{background:#20172de0}#activity-dialog{width:1450px;height:94vh}#activity-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:18px}#activity-dialog h2{font-size:1.2rem;margin:4px 0 14px}#activity-frame{width:100%;height:calc(100% - 80px);border:1px solid #e0d5e5;border-radius:12px}#image-dialog img{max-height:80vh;max-width:100%;display:block} .inline-media{max-width:100%;max-height:300px} .media-transcript{font-size:.8rem} @media(min-width:1800px){.page-copy{font-size:1rem}}@media(max-width:1100px){.reader-area{padding:24px 30px}.book-page{padding:25px;min-height:500px}.book-stage.single .page-copy{font-size:1rem}.collection-grid{grid-template-columns:1fr 1fr}.library-hero{gap:24px}.reader-bar{flex-wrap:wrap}.reader-tools{width:100%;justify-content:center}.reader-title h1{white-space:normal}.reader-drawer{top:130px}}@media(max-width:700px){.site-header{padding:12px 18px}.brand{gap:8px;font-size:1.1rem}.brand img{width:52px;height:48px}.site-header nav{gap:8px;font-size:.7rem}.site-header nav a{display:none}.brand small{font-size:.52rem}.library-hero{padding:35px 22px;grid-template-columns:1fr}.library-hero h1{font-size:2.5rem}.hero-collage{display:none}.collection-wrap{padding:10px 22px 40px}.collection-grid{grid-template-columns:1fr}.shelf-header{padding:25px 22px 0}.shelf-tools{padding:15px 22px}.book-shelf{padding:20px 30px 50px;grid-template-columns:1fr;gap:34px}.book-cover-button{max-width:230px}.book-cover-button img{height:250px}.designed-cover{height:250px;width:200px}.reader-bar{padding:10px 12px;gap:8px}.reader-title h1{font-size:.82rem}.reader-tools{gap:4px;flex-wrap:wrap}.reader-tools button{padding:8px;font-size:.65rem;min-height:44px}.reader-area{padding:20px 12px}.book-stage.single .book-page{min-height:470px;padding:22px;aspect-ratio:auto}.book-stage.single .page-copy{font-size:.83rem;columns:1;max-height:520px}.book-page h2{font-size:1.5rem}.book-stage.single .cover-page{aspect-ratio:4/3;min-height:300px}.book-stage.single .cover-page.designed{min-height:470px}.cover-page.designed .cover-title{font-size:2.2rem}.reader-nav{gap:10px}.reader-nav small{font-size:.68rem}.reflow{padding:25px 20px}.reflow .book-page{min-height:0!important}.reflow .page-copy{max-height:none!important;font-size:1rem!important}.reader-drawer{top:0;bottom:0;padding:20px;width:360px;z-index:40}#activity-dialog{padding:12px}#activity-dialog>header{align-items:flex-start}#activity-dialog>header button{font-size:.72rem;padding:8px}#activity-frame{height:calc(100% - 95px)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.site-header,.site-footer,.reader-bar,.reader-nav,.reader-drawer,.dcci-a11y-trigger{display:none!important}body,.reader-open{background:white}.reader-area{padding:0}.book-stage{display:block!important;transform:none!important}.book-page{display:block;width:100%!important;min-height:0!important;aspect-ratio:auto!important;box-shadow:none!important;overflow:visible!important;break-after:page}.page-copy{columns:1!important;max-height:none!important;overflow:visible!important;font-size:11pt!important}.page-foot{display:none}.reflow{padding:0;box-shadow:none}.cover-page{min-height:600px!important}}
.page-illustration{position:absolute;right:18px;top:100px;bottom:36px;width:27%;overflow:hidden;border-radius:14px}.page-illustration img{position:absolute;height:100%;width:auto;max-width:none;right:0}.book-page.illustrated .page-copy{columns:1;width:68%}.reflow .page-illustration{display:none}.reflow .book-page.illustrated .page-copy{width:100%;columns:1}@media(max-width:700px){.page-illustration{display:none}.book-page.illustrated .page-copy{width:100%}}

.book-cover-button{text-decoration:none}.page-copy p{margin-bottom:.3rem}.page-copy p.bullet{margin-bottom:.22rem}.page-copy{column-fill:balance;overflow-x:hidden;overflow-y:auto}

.thumbnail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.thumbnail-card{display:flex;flex-direction:column;padding:6px;font-size:.7rem;justify-content:flex-start}.miniature-page{display:block;aspect-ratio:4/3;background:#f4edf5;border:1px solid #e2d4e8;width:100%;overflow:hidden;padding:8px;text-align:left}.miniature-page img{width:100%;height:100%;object-fit:contain}.miniature-page strong{display:block;font-size:.55rem;line-height:1.25;margin-bottom:8px}.miniature-page small{display:block;font-size:.32rem;line-height:1.5;color:#665e6b}

.page-copy p{break-inside:auto}.page-copy p.bullet{break-inside:avoid}

.page-copy ul{padding-left:17px;margin:0 0 .4rem}.page-copy li{margin-bottom:.2rem;break-inside:avoid}.reader-drawer ul{padding-left:20px}

.book-page h2{color:var(--page-accent,#61317c)}.page-icon{font-size:1.5rem!important;color:var(--page-accent,#61317c)!important}.provider-frame{width:100%;flex:1;min-height:220px;border:1px solid #d7c9df;border-radius:12px;background:white}.embed-actions{display:flex;gap:6px;margin:8px 0}.embed-actions button,.embed-actions a{font-size:.72rem;padding:7px 10px}.widget-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:auto}.widget-flashcard{min-height:130px;display:flex;flex-direction:column;text-align:center;background:#f0e6f5}.widget-flashcard small{font-size:.65rem;margin-top:12px}.widget-flashcard[aria-pressed=true]{background:#e7eee3}.image-background .page-copy,.image-background>p,.image-background>h2{background:#fffdf7ed;padding:10px;border-radius:10px}.reflow .provider-frame{min-height:450px}.reflow .inline-media{max-height:600px}
html.accessibility-high-contrast a.button{background:#0a0514!important;color:white!important;border:2px solid white!important}

.book-page.media-page{overflow:auto;padding-bottom:50px}.media-page>button{margin:8px 0}.reflow .media-page{overflow:visible}
.reader-turn-layer{z-index:55;pointer-events:none;perspective:1800px;isolation:isolate}.reader-turn-leaf{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}.reader-turn-front,.reader-turn-back{position:absolute;inset:0;backface-visibility:hidden;overflow:hidden;border-radius:4px;background:#fffdf7;box-shadow:0 10px 26px #100b2180}.reader-turn-back{transform:rotateY(180deg)}.reader-turn-shade{position:absolute;inset:0;background:linear-gradient(90deg,#24162d33,transparent 35%,#24162d0a);pointer-events:none}.reader-turn-layer .page-copy{max-height:100%}.reader-turn-layer .book-page{position:relative;aspect-ratio:auto}@media(prefers-reduced-motion:reduce){.reader-turn-layer{display:none}}
#page-stage[data-layout]>.book-page{aspect-ratio:var(--book-page-ratio);min-height:0}#page-stage[data-layout].reflow>.book-page{aspect-ratio:auto!important}.book-page[data-dark-page=true] h2,.book-page[data-dark-page=true] h3,.book-page[data-dark-page=true] .page-header,.book-page[data-dark-page=true] .page-foot{color:#fffdf7}
.page-copy h2{font-size:1.45rem;line-height:1.3}.page-copy h3{font-size:1.2rem;line-height:1.35}.page-copy h4{font-size:1.05rem;line-height:1.4}.auto-contents{list-style:none;padding:0;margin:12px 0;font-size:12px;line-height:1.45}.auto-contents li{margin:5px 0}.auto-contents a{display:flex;justify-content:space-between;gap:16px;color:inherit;text-decoration:none;border-bottom:1px dotted #bca5c7;padding:3px 0}.auto-contents a>span:first-child{flex:1}.auto-contents a>span:last-child{flex:none;font-variant-numeric:tabular-nums}.auto-contents a:hover{background:#eee5f4;color:#633486}
.page-elements{position:absolute;inset:0;z-index:3;pointer-events:none}.page-element{position:absolute;box-sizing:border-box;transform-origin:center center;pointer-events:none}.page-element>img,.page-element>svg{width:100%;height:100%;display:block;max-width:none;max-height:none}.page-element-text{width:100%;height:100%;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35;padding:4px;box-sizing:border-box}
