.book-reader{color:#173d42;margin:32px 0}.reader-toolbar{background:#e7efea;border:1px solid #c5d6cf;border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;padding:18px;display:flex}.book-reader label{gap:6px;font-size:.9rem;font-weight:600;display:grid}.book-reader select,.book-reader input,.book-reader textarea{font:inherit;color:#173d42;background:#fff;border:1px solid #a9bebb;border-radius:6px;max-width:100%;padding:9px}.book-reader button{cursor:pointer;color:#173d42;font:inherit;background:#fff;border:1px solid #adc4bf;border-radius:7px;padding:9px 13px}.book-reader button:disabled{opacity:.5;cursor:not-allowed}.book-reader button:focus-visible,.book-reader a:focus-visible{outline-offset:3px;outline:3px solid #bb7943}.reader-remember{align-items:center;font-weight:400!important;display:flex!important}.reader-search{padding:16px 0}.reader-search summary{cursor:pointer;font-weight:600}.reader-search ul{max-height:230px;padding-left:20px;overflow:auto}.reader-layout{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:24px;display:grid}.reader-pagination,.reader-bottom{justify-content:space-between;align-items:center;gap:8px;padding:12px 0;display:flex}.reader-pagination label{align-items:center;display:flex}.reader-pagination input{width:72px}.reader-page-caption{min-height:42px;margin:8px 0;font-size:.9rem}.reader-canvas{background:#dce5e2;border-radius:8px;justify-content:center;gap:8px;max-height:85vh;padding:12px;display:flex;overflow:auto;box-shadow:inset 0 0 0 1px #c8d8d1}.reader-canvas img{object-fit:contain;align-self:flex-start;width:100%;height:auto;box-shadow:0 4px 16px #173d4220}.reader-canvas.is-spread img{width:calc(50% - 4px)}.reader-canvas.is-zoomed{justify-content:flex-start}.reader-canvas.is-zoomed img{flex-shrink:0;width:1400px;max-width:none}.reader-text{background:#fff;border:1px solid #ccdad4;padding:24px;font-size:1.05rem;line-height:1.7}.reader-text h2{font-size:1.4rem}.reader-extraction-note{color:#576b68;font-size:.85rem}.reader-companion{background:#f6faf7;border:1px solid #b9cfca;border-radius:14px;max-height:calc(100vh - 115px);position:sticky;top:100px;overflow:hidden auto}.reader-companion-toggle{text-align:left;align-items:center;gap:12px;width:100%;display:flex;color:#fff!important;background:#163f44!important;border:0!important;border-radius:0!important}.reader-companion-toggle img{object-fit:cover;object-position:top;border-radius:8px;width:52px;height:62px}.reader-companion-toggle small{color:#d4e8e3;margin-top:5px;font-size:.7rem;font-weight:400;display:block}.reader-chat-panel{padding:16px;font-size:.92rem;line-height:1.5}.reader-chat-panel p{font-size:inherit;line-height:inherit}.reader-chat-panel small{margin-top:14px;font-size:.77rem;line-height:1.5;display:block}.reader-chat-context{border-bottom:1px solid #c8d8d1;padding-bottom:12px}.reader-chat-log{overscroll-behavior:contain;max-height:40vh;overflow:auto}.reader-message{background:#fff;border:1px solid #dde7e1;border-radius:8px;margin:10px 0;padding:12px}.reader-message.user{background:#e8f0ec}.reader-message a{text-decoration:underline}.reader-prompts{flex-direction:column;gap:8px;margin:12px 0;font-size:.8rem;display:flex}.reader-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.reader-error{color:#8f2b1f}.reader-selection{background:#fff5e7;max-height:120px;padding:10px;font-size:.8rem;overflow:auto}.reader-chat-panel .christine-access{padding:0}.reader-chat-panel .christine-access input,.reader-chat-panel form textarea{box-sizing:border-box;width:100%}.reader-chat-panel .button{color:#fff;background:#0b6467}.reader-companion-toggle>span:last-child{display:none}.reader-allowance{background:#e4efe8;border-radius:7px;padding:10px}@media (width<=1050px){.reader-layout{grid-template-columns:minmax(0,1fr) 310px;gap:14px}}@media (width<=800px){.reader-layout{display:block}.reader-companion{z-index:45;max-height:75vh;position:fixed;inset:auto 10px 10px;box-shadow:0 3px 25px #173d4233}.reader-chat-panel{display:none}.reader-companion.is-open .reader-chat-panel,.reader-companion-toggle>span:last-child{display:block}.reader-companion-toggle img{width:36px;height:42px}.reader-canvas.is-spread img{width:100%}.reader-canvas.is-spread{display:block}.reader-canvas.is-spread img+img{margin-top:10px}.book-reader{padding-bottom:95px}.reader-pagination{font-size:.8rem}.reader-toolbar{gap:10px}.reader-chat-log{max-height:28vh}}@media (prefers-reduced-motion:reduce){.book-reader *{scroll-behavior:auto!important}}.reader-chat-panel{display:none}.reader-companion.is-open .reader-chat-panel,.reader-companion-toggle>span:last-child{display:block}.reader-canvas img{animation:.18s ease-out reader-page-in}@keyframes reader-page-in{0%{opacity:.6;transform:translate(5px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.reader-canvas img{animation:none}}.book-reader.is-expanded{z-index:1000;box-sizing:border-box;overscroll-behavior:contain;background:#f6faf7;width:100%;height:100dvh;margin:0;padding:18px 24px;position:fixed;inset:0;overflow:auto}.is-expanded .reader-toolbar{z-index:3;border-radius:0;position:sticky;top:-18px;box-shadow:0 4px 12px #173d4215}.reader-expand{font-weight:700!important}.is-expanded .reader-layout{grid-template-columns:minmax(0,1fr) clamp(320px,28vw,440px)}.is-expanded .reader-companion{max-height:calc(100dvh - 145px);top:112px}.is-expanded .reader-canvas{min-height:240px;max-height:calc(100dvh - 290px)}@media (width<=800px){.book-reader.is-expanded{padding:10px 12px 100px}.is-expanded .reader-layout{display:block}.is-expanded .reader-toolbar{position:relative;top:0}.is-expanded .reader-companion{max-height:75dvh;top:auto}.is-expanded .reader-canvas{max-height:70dvh}}.reader-toolbar>label:first-of-type{flex:300px;min-width:0}.reader-zoom{align-items:end;gap:6px;display:flex}.reader-zoom button{min-width:42px}.reader-zoom label{min-width:150px}.book-reader .reader-canvas{box-sizing:border-box;height:70dvh;min-height:240px;max-height:none;display:block}.book-reader.is-expanded .reader-canvas{height:calc(100dvh - 310px);min-height:240px;max-height:none}.reader-page-strip{justify-content:center;align-items:flex-start;gap:8px;width:max-content;min-width:100%;display:flex}.book-reader .reader-page-strip img{flex-shrink:0;max-width:none;height:auto}@media (width<=800px){.book-reader.is-expanded .reader-canvas{height:65dvh}.reader-zoom label{min-width:130px}}.reader-toolbar>label:first-of-type{grid-template-columns:minmax(0,1fr)}.reader-toolbar>label:first-of-type select{box-sizing:border-box;width:100%;min-width:0}
