.reader,.reader-page{display:flex;flex-direction:column;flex:1 1;width:100%;height:100%;min-height:0;min-width:0;overflow:hidden}.reader-page{position:relative}.reader-toolbar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left));background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);z-index:var(--z-raised)}.reader-toolbar__identity{display:flex;align-items:center;gap:4px;min-width:0;flex:1 1 180px}.reader-toolbar__identity h1{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:16px;line-height:1.3;font-weight:650;color:var(--ink)}.reader-toolbar__group{display:flex;flex:none;align-items:center;gap:2px;min-width:0}.reader-tbtn{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:6px 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink);font-size:13px;font-weight:600}.reader-tbtn:hover{background:var(--surface-2)}.reader-tbtn:disabled{opacity:.38;cursor:default}.reader-mode button:focus-visible,.reader-page-text button:focus-visible,.reader-render-error button:focus-visible,.reader-tbtn:focus-visible{outline:2px solid var(--focus-color);outline-offset:-2px}.reader-tbtn--label{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reader-pagejump{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;font-size:13px;color:var(--ink-2)}.reader-pagejump__label{margin-right:4px}.reader-pagejump__total{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reader-pageinput{flex:none;width:48px;height:44px;text-align:center;font:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--surface-2);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-sm);-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.reader-pageinput::-webkit-inner-spin-button,.reader-pageinput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.reader-pageinput:focus-visible{outline:2px solid var(--focus-color);outline-offset:-2px}.reader-mode{display:flex;flex:none;align-items:center;gap:2px}.reader-mode button{min-height:44px;padding:6px 10px;border:1px solid transparent;border-radius:var(--r-full);color:var(--ink-2);background:transparent;font-size:13px;white-space:nowrap}.reader-mode button[aria-pressed=true]{color:var(--action-on-ink);background:var(--action-ink)}.reader-progress{flex:none;height:2px;background:var(--surface-3);overflow:hidden}.reader-progress__bar{height:100%;background:var(--accent)}.reader-stage{position:relative;flex:1 1;min-height:0;min-width:0;display:flex;justify-content:safe center;align-items:safe center;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:auto;overscroll-behavior:contain;background:var(--surface-2);touch-action:pan-y}.reader-canvas{display:block;flex:none;max-width:none;max-height:none;background:var(--white);box-shadow:0 1px 4px var(--line-strong)}.reader-canvas[hidden]{display:none}.reader-canvas[data-rendering=true]{opacity:.45}.reader-stage__spinner{position:absolute;top:24px;left:calc(50% - 12px);z-index:var(--z-raised)}.reader-page-text{flex:none;width:min(100%,72ch);min-width:0;box-sizing:border-box;padding:clamp(16px,4vw,40px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);overflow-wrap:anywhere;line-height:1.75}.reader-page-text h2{font-size:1.2em;margin-bottom:1em}.reader-page-text__notice{color:var(--ink-2);font-size:.875em;margin-bottom:1.5em}.reader-page-text__content{font-size:1.0625em;-webkit-user-select:text;-moz-user-select:text;user-select:text}.reader-page-text__content p+p{margin-top:.65em}.reader-page-text--assistive{position:absolute;width:1px;height:1px;padding:0;border:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.reader-page-text button,.reader-render-error button{min-height:44px;padding:8px 16px;border:1px solid var(--line-strong);border-radius:var(--r-full);color:var(--ink);background:var(--surface)}.reader-render-error{max-width:55ch;margin:auto;padding:20px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.reader-render-error p{margin-bottom:12px}.reader-error,.reader-loading{flex:1 1;min-height:0;display:grid;place-items:center;overflow:auto;padding:20px}.reader-error__card,.reader-loading__card{width:min(100%,440px);display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px;text-align:center}.reader-loading__title{font-size:var(--fs-lg);font-weight:650;color:var(--ink)}.reader-author,.reader-loading__meta{color:var(--ink-2);font-size:var(--fs-sm)}.reader-loading__bar{width:100%;height:8px;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden}.reader-loading__fill{height:100%;background:var(--accent)}.reader-state-art{width:140px;height:110px;object-fit:contain}.reader-open-error{display:grid;place-content:center;justify-items:center;grid-gap:12px;gap:12px;min-height:0;height:100%;overflow:auto;padding:20px;color:var(--ink)}@media (max-width:1100px){.reader-pagejump__label{display:none}}@media (max-width:699px){.reader-toolbar{gap:2px 4px;padding:4px max(6px,env(safe-area-inset-right)) 4px max(6px,env(safe-area-inset-left))}.reader-toolbar__identity{order:0;flex:1 1}.reader-toolbar__identity h1{font-size:14px}.reader-mode{order:1}.reader-mode button{padding-inline:7px;font-size:12px}.reader-toolbar__pages{order:2;flex:1 0 auto}.reader-toolbar__zoom{order:3;margin-left:auto}.reader-pageinput{width:44px;font-size:16px}.reader-stage{padding:6px max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}}@media (forced-colors:active){.reader-mode button[aria-pressed=true]{color:HighlightText;background:Highlight;border-color:Highlight}}.reader-revision-action{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;margin-block:1rem;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-2)}.reader-revision-action p{flex:1 1 15rem;margin:0;color:var(--ink-2);font-size:1rem}.reader-revision-action button{min-height:44px}.reader-revision-action button:active{transform:scale(.98)}.reader-revision-action button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.reader-revision-saved{position:absolute;z-index:30;inset:auto 1rem calc(1rem + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-md)}.reader-revision-saved button{min-height:44px;padding-inline:1rem;border:1px solid var(--line-strong);border-radius:var(--r-full);background:var(--surface);color:var(--ink)}@media (prefers-reduced-motion:reduce){.reader-revision-action button:active{transform:none}}