.utility-layer{border:1px solid var(--color-border);width:min(520px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--color-text);background:#fff;border-radius:8px;margin:auto;padding:0;animation:.18s ease-out layer-enter;position:fixed;inset:0;box-shadow:0 24px 48px #29333b3d}.utility-layer::backdrop{background:var(--color-overlay)}.utility-layer h2{font-size:20px;font-weight:700}.utility-body{flex-direction:column;gap:12px;padding:24px;display:flex}.utility-body input{border:1px solid var(--color-border-strong);border-radius:4px;padding:8px}.utility-body input[aria-invalid=true]{border-color:var(--color-red)}.utility-error{color:var(--color-red)}.utility-body footer{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.utility-body footer :is(button,a){cursor:pointer;border:2px solid var(--color-red);color:var(--color-red);border-radius:4px;padding:8px 16px;font-weight:500}.utility-body footer .primary{background:var(--color-red);color:#fff}.utility-body footer button:disabled{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-muted-2)}.crop-overlay{z-index:9;cursor:crosshair;touch-action:none;position:absolute;inset:0;overflow:hidden}.crop-overlay:not(:has(.crop-rectangle)){background:var(--color-overlay)}.crop-overlay:has(.crop-rectangle):hover{background-color:#29333b0a}.crop-rectangle{border:2px solid var(--color-blue);box-shadow:0 0 0 100vmax var(--color-overlay);pointer-events:none;position:absolute}.crop-instruction{z-index:1;text-align:center;box-shadow:var(--shadow-sm);background:#fff;padding:8px;position:absolute;top:8px;left:8px;right:8px}.crop-instruction button{color:var(--color-blue);cursor:pointer;padding:4px 8px}.crop-preview{object-fit:contain;max-width:100%;max-height:50dvh}.print-pages{display:none}@media (width<=719px){.utility-layer{border-radius:0;width:100%;height:100dvh;max-height:none;margin:0;inset:0}}@media print{@page{size:A4 portrait;margin:10mm}body *{visibility:hidden}body:has(.print-pages) :is(#root,.app-shell,.viewer,.reader,.utility-layer,.header-layer){height:auto;min-height:0;box-shadow:none;border:0;width:auto;max-height:none;margin:0;padding:0;display:block;position:static;overflow:visible}.utility-layer::backdrop{display:none}.print-pages{width:190mm;display:block;position:absolute;inset:0 auto auto 0}.print-pages,.print-pages *{visibility:visible}.print-pages img{object-fit:contain;break-after:page;width:190mm;height:277mm;display:block}.print-pages img:last-child{break-after:auto}}.toast-stack{z-index:40;pointer-events:none;justify-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);display:grid;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.toast-stack[data-placement=header]{top:76px;bottom:auto}.toast{background:var(--color-charcoal);color:#fff;box-shadow:var(--shadow-sm);border-radius:4px;padding:12px 16px;font-weight:500;animation:.18s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=899px){.toast-stack[data-placement=bottom]{bottom:96px}}@media (width<=719px){.toast-stack[data-placement=header]{top:68px}}.utility-layer:has(.cover-chooser){width:min(620px,100%);height:calc(100dvh - 64px);max-height:none;box-shadow:var(--shadow-default);border-radius:0;margin:0;inset:64px 0 0 auto}.utility-layer:has(.cover-chooser)::backdrop{top:64px}.cover-chooser{min-height:calc(100% - 65px)}.cover-tabs{border-bottom:1px solid var(--color-border);gap:24px;display:flex}.cover-tabs button{color:var(--color-muted);border-bottom:2px solid #0000;padding:12px 0;font-weight:500}.cover-tabs button[aria-selected=true]{color:var(--color-blue);border-bottom-color:var(--color-blue)}.cover-search{width:100%}.cover-catalogue{gap:16px;margin-top:16px;display:flex}.cover-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:8px;height:330px;padding:2px;display:grid;overflow-y:auto}.cover-thumb{border:1px solid var(--color-border);text-align:left;border-radius:4px;padding:6px;transition:background .2s,border-color .2s,box-shadow .2s;box-shadow:inset 0 0 0 1px #0000}.cover-thumb img{object-fit:contain;width:100%;height:100px}.cover-thumb strong,.cover-thumb small{font-size:12px;display:block}.cover-thumb small{color:var(--color-muted)}.cover-thumb[aria-pressed=true]{border-color:var(--color-blue);box-shadow:inset 0 0 0 1px var(--color-blue)}.cover-drop{border:1px dashed var(--color-border-strong);background:var(--color-bg);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:330px;display:flex}.cover-drop small{color:var(--color-muted)}.cover-chooser footer{border-top:1px solid var(--color-border);margin-top:auto;padding-top:16px}@media (width<=719px){.utility-layer:has(.cover-chooser){height:100dvh;inset:0}.utility-layer:has(.cover-chooser)::backdrop{top:0}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-border-style:solid;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.book-builder{z-index:15;border-left:1px solid var(--color-border);background:#fff;flex-direction:column;width:480px;max-width:100%;display:flex;position:absolute;inset:0 0 0 auto}.book-header{border-bottom:1px solid var(--color-border);flex-shrink:0;grid-template-columns:minmax(0,1fr) auto 40px;align-items:center;gap:8px 16px;padding:12px 16px 12px 24px;display:grid}.book-identity{align-items:center;gap:16px;min-width:0;display:flex}.book-identity-cover{text-align:center;flex-shrink:0;gap:4px;width:45px;display:grid}.book-identity-cover>button:first-child{cursor:pointer;width:45px;height:60px}.book-no-cover{background:var(--color-surface-2);width:45px;height:60px;color:var(--color-muted);border-radius:2px;place-items:center;padding:2px;font-size:10px;line-height:1.2;display:grid}.book-title{min-width:0}.book-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;display:block;overflow:hidden}.book-title .book-tagline{text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.book-header-actions{grid-column:1/-1;align-items:center;gap:16px;display:flex}.book-save{border:1px solid var(--color-border);white-space:nowrap;border-radius:24px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}.book-builder small{color:var(--color-muted);font-size:13px;display:block}.book-content{flex:1;min-width:0;min-height:0;padding:0 24px;overflow:auto}.book-builder img{object-fit:cover;border:1px solid var(--color-border);border-radius:2px;width:45px;height:60px}.book-link{color:var(--color-red);cursor:pointer;white-space:nowrap;font-weight:500}.book-options{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:8px;height:50px;display:flex}.book-options label{align-items:center;gap:10px;font-size:13px;display:flex}.book-switch{background:var(--color-muted);cursor:pointer;border-radius:24px;width:40px;height:24px;padding:3px}.book-switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s ease-out;display:block}.book-switch[aria-checked=true]{background:var(--color-red)}.book-switch[aria-checked=true]:after{transform:translate(16px)}.book-section-heading{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;min-height:48px;margin-top:8px;display:flex}.book-section-heading input{border:1px solid var(--color-border-strong);border-radius:4px;width:155px;padding:4px 8px}.book-page{border-bottom:1px solid var(--color-border);align-items:center;gap:14px;height:78px;display:flex}.book-page>div{flex:1;min-width:0}.book-page small{white-space:nowrap;text-overflow:ellipsis;margin-top:4px;overflow:hidden}.book-page .book-close,.book-handle{width:24px;height:32px;color:var(--color-muted);cursor:pointer;flex-shrink:0;font-size:22px}.book-handle{font-size:18px}.book-hint{color:var(--color-muted);margin:16px 0;font-size:13px}.book-footer{border-top:1px solid var(--color-border);align-items:center;gap:12px;padding:14px 24px;display:flex}.book-footer>.book-link{margin-right:auto}.book-builder .primary,.book-builder .secondary,.book-add{border:2px solid var(--color-red);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:8px;height:40px;padding:8px 16px;font-weight:500;display:inline-flex}.book-builder .primary,.book-add{background:var(--color-red);color:#fff}.book-builder .secondary{color:var(--color-red);background:#fff}.book-builder button:disabled{opacity:.6;cursor:default}.book-pill{background:var(--color-charcoal);color:#fff;width:145px;height:44px;box-shadow:var(--shadow-default);cursor:pointer;z-index:5;border-radius:24px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex;position:absolute;top:16px;right:16px}.book-pill svg,.book-add svg{fill:currentColor;width:20px;height:20px}.book-add{z-index:5;width:95px;padding:6px;position:absolute;bottom:14px;transform:translate(-50%)}.reader:has(.book-pill) .tiled-spread{top:64px;bottom:72px}.reader:has(.book-pill) .page-pill{left:auto;right:16px;transform:none}.reader:has(.book-pill) .zoom-control{left:16px;right:auto}@media (width>=1100px){.reader:has(.book-builder){margin-right:480px;overflow:visible}.reader>.book-builder{right:-480px}}@media (width<=719px){.book-builder{width:100%}.book-content{padding:0 16px}.book-header,.book-footer{gap:8px;padding-left:16px;padding-right:16px}.reader:has(.book-pill) .tiled-spread{bottom:126px}.book-add{bottom:86px}.reader:has(.book-pill) .zoom-control{left:50%;transform:translate(-50%)}}.book-meta{align-items:center;gap:var(--spacing,.25rem);font-size:var(--text-2xs,.75rem);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);flex-wrap:wrap;display:flex}.book-meta-pill{align-items:center;gap:var(--spacing,.25rem);border-radius:var(--radius-pill,24px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border,#d8d8d8);background-color:var(--color-surface,#fff);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);display:inline-flex}.book-meta-pill svg{width:calc(var(--spacing,.25rem) * 3);height:calc(var(--spacing,.25rem) * 3)}.book-saved{animation:.2s ease-out book-saved}.book-save-dots{animation:1s ease-out infinite book-saving}@keyframes book-saved{0%{opacity:0}}@keyframes book-saving{50%{opacity:.35}}.book-identity-cover .book-link{font-size:12px}.book-save .book-link{margin-left:4px}.book-header>.book-close{grid-area:1/3}.book-section-label{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.book-section-label .book-link{opacity:0;pointer-events:none;margin-left:auto;transition:opacity .2s ease-out}.book-section-label:hover .book-link,.book-section-label:focus-within .book-link{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){.book-saved,.book-save-dots{animation:none}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}.book-layout{background:var(--color-surface-2);border-radius:24px;flex-shrink:0;align-items:center;width:72px;height:32px;padding:3px;display:flex}.book-layout button{width:32px;height:26px;color:var(--color-muted);cursor:pointer;border-radius:50%;place-items:center;display:grid}.book-layout button[aria-pressed=true]{color:var(--color-red);box-shadow:var(--shadow-sm);background:#fff}.book-layout svg{fill:currentColor;width:24px;height:24px}.book-drop{text-align:center;border:1px dashed var(--color-muted);width:100%;height:50px;color:var(--color-muted);cursor:pointer;border-radius:8px;place-content:center;margin-top:24px;font-size:13px;display:grid}.book-page [draggable],.book-builder [draggable=true]{cursor:grab}.book-page [draggable]:active,.book-builder [draggable=true]:active{cursor:grabbing}.book-builder.strip{border-left:0;border-bottom:1px solid var(--color-border);width:100%;height:390px;inset:0 0 auto;overflow:hidden}.book-builder.strip .book-header{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:16px;height:72px;padding:6px 24px;position:relative}.book-builder.strip .book-header-actions{grid-column:3;justify-content:flex-end;padding-right:56px}.book-builder.strip .book-header>.book-close{grid-area:auto;position:absolute;right:24px}.book-builder.strip .book-options{border:0;justify-content:flex-end;gap:16px;height:40px;position:absolute;inset:72px 24px auto}.book-builder.strip .book-options label{order:2}.book-builder.strip .book-link{color:var(--color-blue)}.book-builder.strip .book-content{cursor:grab;flex:none;align-items:flex-start;gap:24px;height:277px;margin-top:40px;padding:8px 40px 4px;display:flex;overflow:auto hidden}.book-builder.strip section{flex-shrink:0;max-width:280px}.book-builder.strip .book-section-heading{border:0;gap:8px;min-height:32px;margin:0 0 6px}.book-section-heading strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-builder.strip .book-strip-images img{object-fit:contain;width:132px;height:180px}.book-strip-images{border-radius:4px;width:max-content;display:flex;overflow:hidden}.book-builder.strip .book-footer{display:none}.book-builder.strip .book-drop{width:195px;height:180px;color:var(--color-blue);flex-shrink:0;gap:4px;margin-top:38px}.book-builder.strip .book-drop b{font-size:24px;font-weight:400}.book-builder.strip .book-hint{pointer-events:none;align-items:center;height:40px;margin:0;display:flex;position:absolute;top:72px;left:24px}.book-scroll-arrow{z-index:2;width:24px;color:var(--color-muted);cursor:pointer;background:#fff;place-items:center;display:grid;position:absolute;top:112px;bottom:0}.book-scroll-arrow.previous{left:0}.book-scroll-arrow.next{right:0}.book-scroll-arrow svg{fill:currentColor;width:24px;height:24px}@media (width>=1100px){.reader:has(.book-builder.strip){margin-right:0}}.reader:has(.book-builder.strip){padding-top:390px}.reader:has(.book-builder.strip) .tiled-spread{top:406px}.reader:has(.book-builder.strip) .page-arrow{top:calc(50% + 173px)}.reader:has(.book-builder.strip) .book-pill{top:406px}.book-header-actions svg,.book-footer svg{fill:currentColor;width:18px;height:18px}@media (width<=1099px) and (width>=720px){.book-builder.strip .book-header{grid-template-columns:minmax(0,1fr) 72px auto;gap:8px;padding-inline:16px}.book-builder.strip .book-header-actions{gap:8px}}@media (width<=719px){.book-builder.strip{height:100%}.book-builder.strip .book-header{grid-template-columns:minmax(0,1fr) 72px 40px;gap:8px;height:auto;padding:12px 16px}.book-builder.strip .book-header>.book-close{grid-area:1/3;position:static}.book-builder.strip .book-header-actions{grid-column:1/-1;justify-content:flex-end;padding-right:0}.book-builder.strip .book-content{flex-direction:row;flex:none;align-items:flex-start;height:277px;margin-top:50px;padding:12px 16px;overflow-y:hidden}.book-builder.strip .book-options{height:50px;inset:118px 16px auto}.book-builder.strip .book-hint,.book-scroll-arrow{display:none}}.book-builder .book-pick-section{gap:4px}.book-pick-section[aria-pressed=true]{background:var(--color-surface-2);color:var(--color-blue)}.book-builder.strip .book-pick-section{margin-top:0}.book-builder.list .book-pick-section{height:80px;margin-top:8px}.product-dialog{width:min(520px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--color-text);background:#fff;border:0;border-radius:8px;margin:auto;padding:0;animation:.18s ease-out layer-enter;box-shadow:0 24px 48px #29333b3d}.product-dialog::backdrop{background:var(--color-overlay);animation:.2s ease-out layer-enter}.product-close,.quantity-step{cursor:pointer;border:1px solid #0000;width:40px;height:40px;font-size:24px}.product-close{border-radius:50%}.header-layer{inset:calc(var(--header-bottom) + 8px) var(--anchor-right) auto auto;z-index:20;max-width:calc(100vw - 16px);max-height:calc(100dvh - var(--header-bottom) - 16px);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-layer);border-radius:8px;margin:0;padding:0;animation:.18s ease-out layer-enter;position:fixed}.header-layer[data-align=left]{left:var(--anchor-left);right:auto}.header-layer :is(.sheet-heading,.shelf-heading,.toc-header,.share-titlebar) h2{color:var(--color-text);font-size:16px;font-weight:700}@media (width<=719px){.header-layer:is(.page-sheet,.toc-panel,.shelf-drawer){height:100dvh}.header-layer.header-layer{border-radius:0;width:100%;max-width:none;max-height:100dvh;inset:0}}.page-sheet{width:380px;height:calc(100dvh - var(--header-bottom) - 16px);flex-direction:column;display:flex}.sheet-heading h2{overflow-wrap:anywhere}.sheet-heading p{color:var(--color-muted)}.sheet-body{padding:16px;overflow-y:auto}.sheet-body::-webkit-scrollbar{background:var(--color-surface-2);width:10px}.sheet-body::-webkit-scrollbar-thumb{background:var(--color-muted-2);transition:background-color .2s ease-out}.sheet-body::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}.page-cards{flex-direction:column;gap:16px;display:flex}.page-spread{border:1px solid #0000;border-radius:4px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;padding:8px;display:grid}.page-spread[aria-current=page]{border-color:var(--color-blue);box-shadow:inset 0 0 0 1px var(--color-blue);scroll-margin-top:40px;animation:.2s ease-out selected-ring}.page-spread.single-page[aria-current=page]{box-shadow:none;border-color:#0000;animation:none}.page-card{text-align:left;cursor:pointer;overflow-wrap:anywhere;outline-offset:-2px;background:0 0;border:0;outline:2px solid #0000;flex-direction:column;gap:4px;min-width:0;padding:0;transition:background-color .2s ease-out,box-shadow .2s ease-out,outline-color .2s ease-out;display:flex;position:relative}.page-card:hover{z-index:1;box-shadow:var(--shadow-default)}.page-card:focus-visible{z-index:2;outline-color:var(--color-blue)}.page-card.page-side-r{grid-column:2}.page-card img{width:100%;height:auto;box-shadow:var(--shadow-sm)}.page-spread.single-page[aria-current=page] .page-card{box-shadow:0 0 0 2px var(--color-blue);animation:.2s ease-out selected-card-ring}.page-spread.single-page[aria-current=page] .page-card:hover{box-shadow:var(--shadow-default), 0 0 0 2px var(--color-blue)}.card-label{color:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:#fff;border-radius:24px;align-self:center;padding:2px 12px;font-size:12px;font-weight:500}.page-row h3{z-index:1;color:var(--color-muted);background:#fff;margin-bottom:8px;padding:8px 0;font-size:12px;font-weight:500;position:sticky;top:-16px}.search-retry{color:var(--color-blue);cursor:pointer;text-decoration:underline}@media (width>=1100px){.reader:has(.page-sheet) .tiled-spread{right:calc(var(--panel-right) + 456px)}.reader:has(.page-sheet) .page-arrow.next{right:calc(var(--panel-right) + 396px)}.reader:has(.page-sheet) .zoom-control{right:calc(var(--panel-right) + 396px)}.reader:has(.page-sheet) .page-pill{left:calc((100% - var(--panel-right) - 380px) / 2)}}@keyframes selected-ring{0%{border-color:#0000;box-shadow:inset 0 0 0 1px #0000}}@keyframes selected-card-ring{0%{box-shadow:0 0 0 2px #0000}}.chat-panel h2{flex:1}.chat-transcript{overflow-wrap:anywhere;flex:1;min-height:0}.chat-exchange{margin-bottom:24px}.chat-question{background:var(--color-surface-2);border-radius:4px;width:fit-content;max-width:90%;margin:0 0 16px auto;padding:8px 16px}.chat-reply{text-align:left}.chat-text{white-space:pre-wrap}.chat-looking,.chat-stopped,.chat-product small{color:var(--color-muted);font-size:12px}.chat-error{color:var(--color-red)}.chat-chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.chat-chip{border:1px solid var(--color-border);color:var(--color-blue);cursor:pointer;border-radius:24px;padding:4px 8px;font-size:12px}.chat-page{position:relative}.chat-preview{z-index:1;background:var(--color-surface);border:1px solid var(--color-border);width:140px;box-shadow:var(--shadow-layer);pointer-events:none;border-radius:8px;padding:8px;display:none;position:absolute;bottom:100%;left:0}.chat-preview img{width:100%}.chat-preview-label{color:var(--color-text);padding-top:8px;font-size:12px;display:block}.chat-preview-label>span:first-child:not(:last-child){color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.chat-page:hover .chat-preview,.chat-page:focus-within .chat-preview{display:block}.chat-product{border:1px solid var(--color-border);border-radius:4px;align-items:center;gap:8px;margin-top:16px;padding:8px;display:flex}.chat-product img{object-fit:contain;width:64px;height:80px}.chat-product h3{font-weight:500}.chat-product button,.chat-action{color:var(--color-blue);cursor:pointer}.chat-action{text-align:left;margin-top:16px}.chat-compose{border-top:1px solid var(--color-border);gap:8px;padding:16px;display:flex}.chat-compose input{border:1px solid var(--color-border-strong);border-radius:4px;width:100%;min-width:0;padding:8px}.chat-compose button{background:var(--color-red);border:2px solid var(--color-red);color:#fff;cursor:pointer;border-radius:4px;padding:8px 16px;font-weight:500}.chat-compose button:disabled{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-muted-2)}.print-layer{width:min(304px,100% - 16px);height:auto;padding:6px 0}.print-row{text-align:left;width:100%;color:inherit;cursor:pointer;align-items:center;gap:12px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s ease-out;display:flex}.print-row:not(:disabled):hover{background:var(--color-surface-2)}.print-row:disabled{color:var(--color-muted-2);cursor:default}.print-row svg{fill:currentColor;flex:0 0 24px;width:24px;height:24px}.print-row small{font-size:12px;font-weight:400;display:block}.print-download{border-top:1px solid var(--color-border);margin-top:6px;padding-top:6px}.print-range{interpolate-size:allow-keywords;height:44px;transition:height .2s ease-out;overflow:hidden}.print-range.expanded{height:auto}.print-range form{padding:10px 20px}.print-fields{align-items:flex-end;gap:8px;display:flex}.print-fields label{width:72px;font-size:12px;font-weight:500}.print-fields input{border:1px solid var(--color-border-strong);border-radius:4px;width:72px;margin-top:4px;padding:8px;font-size:14px;display:block}.print-fields input:focus{border-color:var(--color-blue);box-shadow:inset 0 0 0 1px var(--color-blue)}.print-fields input[aria-invalid=true]{border-color:var(--color-red)}.print-fields .primary{border:2px solid var(--color-red);background:var(--color-red);color:#fff;cursor:pointer;border-radius:4px;margin-left:auto;padding:8px 16px;font-size:14px;font-weight:500}.print-fields .primary:hover{background:var(--color-red-dark);border-color:var(--color-red-dark)}.print-fields .primary:disabled{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-muted-2)}.print-range p,.print-status{color:var(--color-muted);margin-top:4px;font-size:12px}.print-range #range-error{color:var(--color-red)}.print-status{padding:0 20px}.share-popover{width:248px}.share-rows{padding:6px 0}.share-rows button{text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;padding:10px 20px;font-size:14px;font-weight:500;display:flex}.share-rows svg{fill:currentColor;flex:0 0 24px;width:24px;height:24px}.share-dialog{width:min(560px,100% - 32px);padding:0 24px 24px}.share-titlebar{margin:0 -24px 24px}.share-dialog svg{fill:currentColor;width:24px;height:24px}.share-intro{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.share-preview{text-align:center;margin:0}.share-pages{justify-content:center;align-items:center;gap:4px;height:200px;display:flex}.share-pages img{width:auto;height:200px;box-shadow:var(--shadow-sm)}.share-preview figcaption{box-shadow:var(--shadow-sm);border-radius:24px;margin-top:16px;padding:4px 16px;font-weight:500;display:inline-block}.share-preview figcaption span{color:var(--color-muted)}.share-heading p{color:var(--color-muted);margin-top:8px;font-size:13px}.share-actions{margin-top:24px}.share-copy{box-shadow:var(--shadow-sm);border-radius:24px;display:flex}.share-copy input{min-width:0;height:48px;color:var(--color-muted);background:var(--color-bg);border-radius:24px 0 0 24px;flex:1;padding:8px 16px}.share-copy button{color:#fff;background:var(--color-red);cursor:pointer;border-radius:0 24px 24px 0;justify-content:center;align-items:center;gap:4px;min-width:112px;padding:8px 16px;font-weight:500;display:flex}.share-intents{justify-content:center;gap:24px;margin-top:24px;display:flex}.share-intents :is(a,button){color:var(--color-text);--hover-fill:transparent;--focus-color:transparent;cursor:pointer;flex-direction:column;align-items:center;gap:8px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.share-plate{width:48px;height:48px;box-shadow:var(--shadow-sm), inset 0 0 0 2px transparent;border-radius:50%;place-items:center;display:grid}.share-intents :is(a,button):hover .share-plate{background:var(--color-surface-2);box-shadow:var(--shadow-default)}.share-intents :is(a,button):focus-visible .share-plate{outline-color:var(--color-blue)}@media (width<=719px){.share-dialog{height:fit-content;padding-inline:16px}.share-titlebar{margin-inline:-16px}.share-intro{text-align:center;grid-template-columns:1fr}.share-pages{max-width:300px}.share-intents{justify-content:space-evenly;gap:0}}.search-results{height:min(460px,60%);width:calc(100vw - var(--anchor-right) - 8px)}.results-strip{overscroll-behavior:contain;scrollbar-width:none;align-items:start;gap:36px;height:100%;margin:0 56px;padding:48px 2px 20px;display:flex;overflow-x:auto}.spread-card{cursor:pointer;text-align:right;-webkit-user-select:none;user-select:none;--hover-fill:transparent;--focus-color:transparent;flex:none}.spread-thumbnails{border:1px solid var(--color-border);box-shadow:var(--shadow-sm), 0 0 0 0 #10acd200;background:#fff;display:flex}.spread-thumbnails img{object-fit:contain;width:260px;height:355px}.spread-card:hover .spread-thumbnails{box-shadow:var(--shadow-default), 0 0 0 0 #10acd200}.spread-card[aria-current=page] .spread-thumbnails{box-shadow:var(--shadow-sm), 0 0 0 2px #10acd273;animation:.2s ease-out selected-ring}.spread-card:focus-visible .spread-thumbnails{outline-color:var(--color-blue)}.spread-card[aria-current=page]:hover .spread-thumbnails{box-shadow:var(--shadow-default), 0 0 0 2px #10acd273}.spread-caption{flex-direction:column;align-items:end;padding-top:8px;display:flex}.spread-label{color:var(--color-text);font-size:14px;font-weight:600}.spread-label span,.spread-section{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.spread-label span{color:var(--color-muted)}.spread-section{color:var(--color-red)}.strip-arrow{cursor:pointer;background:#fff;border-radius:4px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:calc(50% - 22px)}.strip-arrow svg{fill:currentColor;width:28px;height:28px}.strip-previous{left:12px}.strip-next{right:12px}.results-message{padding:16px}.reader:has(.search-results) .tiled-spread{top:min(468px,60% + 8px)}.reader:has(.search-results)>.page-arrow{top:calc(50% + min(460px,60%)/2 - 22px)}@media (width<=719px){.search-results{height:55%}.results-strip{scrollbar-width:thin;flex-direction:column;align-items:center;gap:24px;margin:0;padding:16px;overflow-y:auto}.strip-arrow{display:none}.reader:has(.search-results) .tiled-spread{top:calc(55% + 8px)}.reader:has(.search-results)>.page-arrow{top:calc(77.5% - 18px)}}.hotspot{cursor:pointer;touch-action:none;overflow:visible}.hotspot rect{fill:#0000;stroke:#0000;stroke-width:1px;transition:fill .2s ease-out,stroke .2s ease-out}.hotspot:hover rect,.hotspot:focus-visible rect{fill:#00739e1a;stroke:var(--color-blue)}.toc-panel{width:415px;height:calc(100dvh - var(--header-bottom) - 16px);flex-direction:column;display:flex;overflow:hidden}.toc-list{padding:0 6px;overflow:auto}.toc-entry{border-bottom:1px solid var(--color-border)}.toc-row{text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;min-height:76px;padding:10px;display:flex}.toc-row img{object-fit:cover;border-radius:2px;flex-shrink:0;width:56px;height:56px}.toc-summary{flex:1;min-width:0}.toc-title{font-size:14px;font-weight:700;display:block}.toc-label{color:var(--color-muted);font-size:12px;font-weight:400;display:block}.toc-row[aria-expanded=true] .toc-title{color:var(--color-blue)}.toc-row svg{fill:currentColor;flex-shrink:0;width:24px;height:24px}.toc-expanded{padding:0 0 8px 68px}.toc-child,.toc-go{justify-content:space-between;align-items:center;gap:8px;min-height:32px;padding:4px 10px;font-size:14px;display:flex}.toc-go{color:var(--color-blue)}.toc-child .toc-label{flex-shrink:0}.utility-layer:has(.create-book){width:min(820px,100% - 32px)}.create-book>p,.create-fields small,.create-preview-label{color:var(--color-muted)}.create-columns{grid-template-columns:340px 1fr;gap:32px;margin-top:12px;display:grid}.create-fields{gap:20px;display:grid}.create-fields label{gap:6px;font-size:12px;font-weight:500;display:grid}.create-fields :is(input,textarea){border:1px solid var(--color-border-strong);width:100%;font:400 14px / 1.5 var(--font-sans);border-radius:4px;padding:8px}.create-fields textarea{resize:vertical;height:96px}.create-fields small{font-size:12px;font-weight:400}#description-count{text-align:right}.create-preview-label{margin-bottom:8px;font-size:12px;display:block}.create-preview{border:1px solid var(--color-border);border-radius:4px;gap:16px;padding:16px;display:flex}.cover-placeholder{background:var(--color-surface-2);height:98px;color:var(--color-muted);text-align:center;flex:0 0 76px;place-items:center;font-size:12px;display:grid}.create-preview>div:last-child{overflow-wrap:anywhere;min-width:0}.create-preview small{text-transform:uppercase;color:var(--color-muted);font-size:12px}.create-preview h3{margin:4px 0;font-size:18px;font-weight:700}.create-preview p{color:var(--color-muted);font-size:13px}.create-book footer{border-top:1px solid var(--color-border);padding-top:16px}@media (width<=719px){.create-columns{grid-template-columns:1fr}.utility-layer:has(.create-book){width:100%}}.shelf-drawer{width:560px;height:calc(100dvh - var(--header-bottom) - 16px);padding:0;overflow-y:auto}.shelf-create-row{text-align:left;background:var(--color-bg);border-bottom:1px solid var(--color-border);cursor:pointer;align-items:center;gap:16px;width:100%;padding:24px;display:flex}.shelf-create-row strong{color:#000;font-size:16px;display:block}.shelf-create-row small{color:var(--color-muted);margin-top:4px;font-size:13px;display:block}.shelf-sparkle{background:var(--color-red);color:#fff;border-radius:50%;flex:0 0 44px;place-items:center;height:44px;display:grid}.shelf-sparkle svg{width:24px}.shelf-chevron{color:var(--color-muted-2);font-size:28px}.shelf-card{border-bottom:1px solid var(--color-border);gap:24px;min-height:284px;padding:24px;display:flex;position:relative}.shelf-thumbnail{border:1px solid var(--color-border);width:166px;height:236px;box-shadow:var(--shadow-sm);background:var(--color-bg);flex:0 0 166px;position:relative}.shelf-thumbnail>img{object-fit:contain;background:#fff;width:100%;height:100%}.shelf-empty-cover{height:100%;color:var(--color-muted-2);place-items:center;display:grid}.shelf-empty-cover svg{width:48px}.shelf-details{flex:1;min-width:0}.shelf-details small{text-transform:uppercase;color:var(--color-muted);font-size:12px}.shelf-details h3{color:#000;overflow-wrap:anywhere;margin:4px 0 8px;font-size:22px;font-weight:700;line-height:1.25}.shelf-details p{color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:16px;overflow:hidden}.shelf-actions{flex-wrap:wrap;gap:8px;display:flex}.shelf-actions.published{flex-direction:column;align-items:flex-start}.shelf-button{border:2px solid var(--color-red);color:var(--color-red);cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-weight:500;text-decoration:none;display:inline-flex}.shelf-button svg{width:18px;height:18px}.shelf-button.primary{background:var(--color-red);color:#fff}.shelf-button.edit{border-color:var(--color-border-strong);color:var(--color-text)}.shelf-trash{color:var(--color-muted-2);cursor:pointer;border-radius:50%;padding:10px;position:absolute;bottom:12px;right:16px}.shelf-trash svg{width:20px;height:20px}.shelf-change-cover{color:#fff;opacity:0;cursor:pointer;background:#29333bcc;justify-content:center;align-items:center;gap:8px;height:33.333%;font-size:13px;display:flex;position:absolute;bottom:0;left:0;right:0}.shelf-change-cover svg{width:18px}.shelf-change-cover input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.shelf-thumbnail:hover .shelf-change-cover,.shelf-change-cover:focus-within{opacity:1}.shelf-form label{flex-direction:column;gap:4px;display:flex}.shelf-cover-preview{object-fit:contain;width:80px;max-height:110px}.shelf-notice{padding:24px}@media (width<=719px){.shelf-drawer{width:100%;height:100dvh;inset:0}.shelf-card{gap:16px;padding:16px}.shelf-thumbnail{flex-basis:120px;width:120px;height:171px}.shelf-details h3{font-size:20px}.shelf-change-cover{opacity:1}}.language-toggle{align-items:center;gap:4px;margin-left:16px;margin-right:auto;font-size:12px;display:flex}.language-toggle svg{width:24px;height:24px;fill:var(--color-red)}.language-toggle a{--hover-fill:transparent;color:var(--color-blue);text-underline-offset:3px;text-decoration:underline}.language-toggle a:hover{color:var(--color-charcoal)}@layer theme{:root,:host{--font-sans:"Roboto", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-bold:700;--shadow-sm:0 2px 4px #00000029;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#f5f5f5;--color-surface:#fff;--color-surface-2:#eee;--color-text:#2b2b2b;--color-muted:#72777d;--color-muted-2:#abb0b6;--color-border:#d8d8d8;--color-border-strong:#72777d;--color-charcoal:#29333b;--color-red:#c8102e;--color-red-dark:#98191a;--color-blue:#00739e;--color-green:#19792f;--color-overlay:#29333b99;--text-2xs:.75rem;--radius-default:4px;--shadow-default:0 0 8px #0003;--shadow-layer:0 12px 32px #29333b29}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-6{height:calc(var(--spacing) * 6)}.h-40{height:calc(var(--spacing) * 40)}.h-\[252px\]{height:252px}.w-3\/4{width:75%}.w-20{width:calc(var(--spacing) * 20)}.w-\[158px\]{width:158px}.w-full{width:100%}.max-w-full{max-width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.resize{resize:both}.list-disc{list-style-type:disc}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.rounded-default{border-radius:var(--radius-default)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--color-border)}.border-border-strong{border-color:var(--color-border-strong)}.border-red{border-color:var(--color-red)}.bg-bg{background-color:var(--color-bg)}.bg-red{background-color:var(--color-red)}.bg-surface-2{background-color:var(--color-surface-2)}.object-contain{object-fit:contain}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-2xs{font-size:var(--text-2xs)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-green{color:var(--color-green)}.text-muted{color:var(--color-muted)}.text-red{color:var(--color-red)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}@media (hover:hover){.hover\:border-red-dark:hover{border-color:var(--color-red-dark)}.hover\:bg-red-dark:hover{background-color:var(--color-red-dark)}}@media not all and (width>=719px){.max-\[719px\]\:w-\[110px\]{width:110px}}}.reader{height:100%;min-height:240px;position:relative;overflow:hidden}.tiled-spread{touch-action:none;position:absolute;inset:8px 76px 48px}.tiled-spread canvas{filter:drop-shadow(0 2px 2px #00000029)}.tiled-spread[tabindex],.tiled-spread .openseadragon-canvas{outline:none}.tiled-spread:focus,.tiled-spread :is(.openseadragon-container,.openseadragon-canvas,canvas):focus{box-shadow:none;border:none;outline:none}.tiled-spread:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.page-arrow{background:var(--color-surface);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-charcoal);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:4px;place-items:center;display:grid;position:absolute;top:calc(50% - 22px)}.page-arrow.previous{left:16px}.page-arrow.next{right:16px}.page-arrow svg{fill:currentColor;width:28px;height:28px}button:disabled{color:var(--color-muted-2);cursor:default}.page-pill{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:24px;position:absolute;bottom:10px;left:50%;overflow:hidden;transform:translate(-50%)}.page-pill button{cursor:pointer;min-width:110px;padding:6px 20px;font-weight:500}.page-total{color:var(--color-muted)}.page-pill input{border:1px solid var(--color-border-strong);text-align:center;border-radius:24px;width:150px;height:34px;padding:4px 16px}.zoom-control{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:24px;align-items:center;display:flex;position:absolute;bottom:10px;right:16px;overflow:hidden}.zoom-control button{cursor:pointer;width:32px;height:32px;font-size:18px}.zoom-control .zoom-reset{border-left:1px solid var(--color-border);width:52px;font-size:12px}.zoom-control input{width:88px;accent-color:var(--color-blue)}.catalogue-list{max-width:960px;margin:auto;padding:32px 24px}.catalogue-list h1{margin-bottom:24px;font-size:24px;font-weight:700}.catalogue-list ul{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.catalogue-list a{border:1px solid var(--color-border);color:var(--color-blue);background:#fff;border-radius:4px;flex-direction:column;padding:24px;font-weight:500;display:flex}.catalogue-list small{color:var(--color-muted);margin-top:8px;font-weight:400}.message{padding:32px}.image-error{color:var(--color-red);background:#fff;padding:12px;position:absolute;top:16px;left:50%;transform:translate(-50%)}@media (width<=899px){.tiled-spread{inset:8px 56px 88px}.page-arrow.previous{left:6px}.page-arrow.next{right:6px}.zoom-control{bottom:8px;right:50%;transform:translate(50%)}.page-pill{bottom:48px}}.search{border:1px solid var(--color-border-strong);background:#fff;border-radius:24px;align-items:center;width:calc(100% - 24px);max-width:616px;height:40px;transition:background-color .2s ease-out,border-color .2s ease-out,width .2s ease-out,max-width .2s ease-out,box-shadow .2s ease-out;display:flex}.search:hover{background-color:var(--color-surface-2)}.search:has(input:focus){border-color:var(--color-blue);width:100%;max-width:640px;box-shadow:inset 0 0 0 1px var(--color-blue)}.search-ai:has(input:focus){border-color:var(--color-red);box-shadow:0 0 0 4px #c8102e26}.search-field{flex:1;min-width:0;position:relative}.search input{width:100%;min-width:0;height:38px;color:var(--color-text);--focus-color:transparent;background:0 0;border:0;padding:8px 32px 8px 4px}.search input::placeholder{color:var(--color-muted)}.search input::-webkit-search-cancel-button{appearance:none}.chat-toggle{height:32px;color:var(--color-charcoal);border:1px solid var(--color-border);cursor:pointer;--focus-color:transparent;background:#fff;border-radius:24px;flex-shrink:0;align-items:center;gap:2px;margin:0 4px;padding:0 8px;font-size:12px;font-weight:500;display:flex}.chat-toggle[aria-pressed=true]{--hover-fill:var(--color-red-dark);background:var(--color-red);color:#fff;border-color:#0000}.chat-toggle:focus-visible{box-shadow:0 0 0 4px #c8102e26}.search-submit{color:#fff;background:var(--color-red);cursor:pointer;border-radius:0 24px 24px 0;flex:0 0 48px;place-items:center;height:40px;margin-right:-1px;display:grid}.search-submit svg{animation:.2s ease-out search-glyph}.clear-search{width:32px;height:32px;color:var(--color-muted);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;top:3px;right:0}.search svg,.utilities svg{fill:currentColor;width:24px;height:24px}.search .chat-toggle svg{width:18px;height:18px}.chat-toggle[aria-pressed=true] svg{animation:.6s ease-out ai-shimmer}@keyframes search-glyph{0%{opacity:0;transform:scale(.8)}}@keyframes ai-shimmer{50%{filter:drop-shadow(0 0 3px #fff);transform:rotate(18deg)scale(1.15)}}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-400.woff2)format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/roboto-500.woff2)format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/roboto-700.woff2)format("woff2")}:root{color:var(--color-text);background:var(--color-bg);font:400 14px / 1.5 var(--font-sans);font-synthesis:none}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}.app-shell{flex-direction:column;height:100dvh;min-height:100%;margin:0;display:flex}button,input{font:inherit}:is(button,a[href],input,select,textarea,[tabindex]),:where(.search,.shelf-card,.shelf-thumbnail,.shelf-change-cover,.chat-product,.book-page,.book-strip-images,.share-plate,.spread-thumbnails,.crop-overlay){outline-offset:-2px;outline:2px solid #0000;transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out,outline-color .2s ease-out,opacity .2s ease-out,text-decoration-color .2s ease-out}:is(button,a[href],input,select,textarea):not(:disabled):hover{background-color:var(--hover-fill,var(--color-surface-2))}:is(button,a[href],input,select,textarea,[tabindex]):focus-visible,.shelf-change-cover:focus-within{outline-color:var(--focus-color,var(--color-blue))}:is(.primary,.search-submit,.book-add),.share-copy button,.chat-compose button{--hover-fill:var(--color-red-dark)}.book-switch{--hover-fill:var(--color-charcoal)}.book-pill{--hover-fill:var(--color-text)}.book-switch[aria-checked=true]{--hover-fill:var(--color-red-dark)}:is(.page-arrow,.catalogue-list a,.shelf-thumbnail,.book-layout button):not(:disabled):hover,.shelf-card:hover,.chat-product:hover,.book-builder.strip section:hover .book-strip-images{box-shadow:var(--shadow-default)}.book-page:hover{background-color:var(--color-surface-2)}:is(.book-link,.toc-go,.chat-action,.chat-product button){--hover-fill:transparent;text-underline-offset:3px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}:is(.book-link,.toc-go,.chat-action,.chat-product button):hover{text-decoration-color:currentColor}.site-header{z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border);min-height:64px;box-shadow:var(--shadow-sm);flex:none;grid-template-columns:minmax(100px,1fr) minmax(240px,640px) minmax(260px,1fr);align-items:center;padding:8px 16px;display:grid;position:relative}.wordmark{--hover-fill:transparent;color:var(--color-charcoal);justify-self:start;font-size:22px;font-weight:700;line-height:40px;text-decoration:none}.wordmark img{width:auto;height:32px}.utilities{justify-self:end;gap:4px;display:flex}.utilities button,:is(.sheet-close,.toc-close,.share-close,.book-header .book-close){width:40px;height:40px;color:var(--color-charcoal);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;display:grid}:is(.utilities button,.sheet-close,.toc-close,.share-close,.book-header .book-close):not(:disabled):hover{border-color:var(--color-border)}:is(.sheet-heading,.shelf-heading,.toc-header,.share-titlebar){border-bottom:1px solid var(--color-border);flex:0 0 64px;justify-content:space-between;align-items:center;gap:8px;height:64px;padding:0 8px 0 20px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-search,.overflow-toggle,.close-mobile-search,.utility-label{display:none}@media (width>=720px) and (width<=1099px){.site-header{grid-template-columns:auto minmax(160px,1fr) auto;gap:12px}}@media (width<=719px){.site-header{grid-template-columns:1fr 40px 40px;gap:8px;min-height:56px;padding:8px}.mobile-search,.overflow-toggle,.close-mobile-search{cursor:pointer;border-radius:50%;place-items:center;width:40px;height:40px;font-size:24px;display:grid}.mobile-search svg{fill:currentColor;width:24px;height:24px}.search{display:none}.search-open .search{z-index:2;background:#fff;width:auto;max-width:none;display:flex;position:absolute;inset:8px}.utilities{display:none}.utilities.overflow-open{border:1px solid var(--color-border);width:100%;box-shadow:var(--shadow-layer);z-index:20;background:#fff;flex-direction:column;padding:16px;display:flex;position:fixed;inset:0}.utilities button{border-radius:4px;gap:16px;width:100%;padding:8px 16px;display:flex}.utility-label{display:inline}.page-arrow{width:36px;height:36px}.tiled-spread{left:48px;right:48px}}@keyframes layer-enter{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}.viewer{flex:1;min-height:0;position:relative}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
