.pdf-reader{min-width:0;max-width:100%;margin-top:20px;line-height:1.6}.pdf-reader p{overflow-wrap:anywhere}.pdf-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.pdf-controls button{font:inherit;font-size:14px;min-height:44px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;padding:8px 12px;cursor:pointer}.pdf-controls button:disabled{opacity:.55;cursor:default}.pdf-controls form{display:flex;align-items:center;gap:8px;margin:0}.pdf-controls label{display:flex;align-items:center;gap:8px;margin:0}.pdf-controls input{font:inherit;font-size:16px;width:76px;min-height:44px;padding:8px;margin:0;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit}.pdf-paper{width:100%;max-width:100%;overflow:auto;background:#fff;color:#111;border:1px solid #aaa}.pdf-paper canvas{display:block}.pdf-reader details{margin-top:16px}.pdf-reader summary{min-height:44px;cursor:pointer;line-height:1.6;padding:8px 0}.pdf-text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:16px;line-height:1.8;max-width:100%}.pdf-reader :focus-visible{outline:3px solid #a73e1b;outline-offset:3px}@media(prefers-color-scheme:dark){.pdf-reader :focus-visible{outline-color:#f09a6f}}

/* 阅读动效的时长与缓动；与两个 JS 模块的 MOTION 契约一致。 */
:root{--dur-fast:160ms;--dur-base:220ms;--dur-slow:380ms;--dur-drag-return:120ms;--ease-out:cubic-bezier(.22,.61,.21,1);--ease-spring:cubic-bezier(.32,1.25,.38,1)}

.pdf-reader{display:flex;flex-direction:column;box-sizing:border-box;height:100%;min-height:0;margin-top:0;padding:12px 16px}
.pdf-reader>[role=status],.pdf-controls{flex:none}.pdf-controls{transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}
.pdf-controls-hidden{opacity:0;transform:translateY(-8px);pointer-events:none}
.pdf-paper{flex:1;min-height:0;overscroll-behavior:contain;border:0;background:#eceae3;border-radius:4px}.pdf-surface{position:relative;transform-origin:center center;max-width:none;margin-inline:auto;background:#fff;box-shadow:0 1px 3px #24201818,0 12px 32px #24201820}
.pdf-surface>canvas{display:block;max-width:none}.pdf-turn{position:absolute;inset:0;pointer-events:none;z-index:1}
.pdf-surface>canvas{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.pdf-paper[data-operation=dragging] .pdf-surface{cursor:grabbing}.pdf-reader>[role=status]{min-height:1.6em}
.pdf-reader details{flex:none;max-height:28%;overflow:auto}.pdf-reader p[role=status]{margin:0 0 8px}
@media(max-width:480px){.pdf-reader{padding:8px}.pdf-controls{gap:6px;margin-bottom:8px}.pdf-controls form{flex-wrap:wrap}.pdf-controls button{min-width:44px}}
@media(prefers-reduced-motion:reduce){.pdf-controls,.pdf-surface{transition:none!important}}
