:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fffdf8;--surface:#f1eee7;--surface-raised:#f8f5ef;--ink:#25231f;--ink-muted:#777167;--line:#d8d2c7;--accent:#bc513f;--accent-soft:#f2d8d0;--focus:#315c73;--shadow:0 18px 55px #3a30241f;--ease-standard:cubic-bezier(.2, .75, .25, 1);--ease-emphasized:cubic-bezier(.16, 1, .3, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--ease-spatial:cubic-bezier(.33, 1, .68, 1);--motion-fast:.12s;--motion-base:.18s;--motion-slow:.28s;--motion-screen:.36s;--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-reading:Iowan Old Style, Palatino Linotype, Book Antiqua, Georgia, serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{color:var(--ink);background:var(--surface);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.app-screen{animation:app-screen-fade var(--motion-slow) var(--ease-standard) both}.library-shell.app-screen,.settings-shell.app-screen{animation-name:app-screen-enter;animation-duration:var(--motion-screen);animation-timing-function:var(--ease-emphasized)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.foundation-shell{text-align:center;place-content:center;min-height:100vh;padding:2rem;display:grid}.foundation-shell h1{font-family:var(--font-reading);letter-spacing:-.06em;margin:0;font-size:clamp(3rem,10vw,7rem);font-weight:500}.foundation-shell p{max-width:34rem;color:var(--ink-muted);margin:1rem auto 0;line-height:1.6}.foundation-shell .eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem;font-size:.72rem;font-weight:700}.pwa-toast{z-index:120;border:1px solid var(--line);background:var(--ink);color:var(--surface);box-shadow:var(--shadow);animation:toast-enter var(--motion-slow) var(--ease-emphasized) both;border-radius:.65rem;align-items:center;gap:.55rem;padding:.8rem .9rem;font-size:.72rem;display:flex;position:fixed;bottom:1rem;right:1rem}.pwa-toast button{color:inherit;cursor:pointer;transition:background-color var(--motion-fast) ease, transform var(--motion-fast) var(--ease-standard);background:#ffffff1f;border:0;border-radius:.35rem}.pwa-toast button:hover{background:#fff3}.pwa-toast button:active{transform:scale(.94)}@keyframes app-screen-enter{0%{opacity:0;transform:translateY(.45rem)}to{opacity:1;transform:translate(0,0)}}@keyframes app-screen-fade{0%{opacity:0}to{opacity:1}}@keyframes toast-enter{0%{opacity:0;transform:translateY(.65rem)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.library-shell{background:var(--surface);min-height:100vh;padding:0 clamp(1.25rem,5vw,5.5rem)}.library-controls{width:min(72rem,100%);animation:content-enter var(--motion-slow) var(--ease-emphasized) 35ms both;justify-content:flex-start;align-items:center;gap:1rem;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) 0 1.25rem;display:flex}.primary-button,.secondary-button,.text-button,.icon-button{cursor:pointer;transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, box-shadow var(--motion-base) var(--ease-standard), opacity var(--motion-fast) ease, transform var(--motion-fast) var(--ease-standard);border:0}.primary-button{color:#fffaf4;background:var(--ink);letter-spacing:.02em;border-radius:999px;min-height:2.75rem;padding:.72rem 1.1rem;font-size:.82rem;font-weight:700}.primary-button:not(:disabled):hover{background:#34312c;transform:translateY(-1px);box-shadow:0 7px 18px #25231f29}.primary-button.compact{min-height:2.35rem;padding:.58rem .95rem}.primary-button:disabled,.secondary-button:disabled,.text-button:disabled{cursor:wait;opacity:.45;transform:none}.secondary-button{border:1px solid var(--line);background:var(--surface-raised);border-radius:999px;padding:.65rem .9rem;font-size:.78rem;font-weight:700}.secondary-button:not(:disabled):hover{background:var(--paper);border-color:#c2baad;transform:translateY(-1px);box-shadow:0 5px 14px #3a302414}.text-button{color:var(--ink-muted);background:0 0;border-radius:.55rem;padding:.65rem .72rem;font-size:.78rem}.text-button:hover{color:var(--ink);background:#ffffff80;transform:translateY(-1px)}.icon-button{width:2.25rem;height:2.25rem;color:var(--ink-muted);background:0 0;border-radius:50%;place-items:center;font-size:1.55rem;font-weight:300;display:grid}.icon-button:hover{color:var(--ink);background:#ffffff8a;transform:rotate(3deg)scale(1.04)}.primary-button:not(:disabled):active,.secondary-button:not(:disabled):active,.text-button:not(:disabled):active,.icon-button:not(:disabled):active,.danger-button:not(:disabled):active{box-shadow:none;transform:translateY(1px)scale(.985)}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9rem;font-size:.68rem;font-weight:800}.notice{border:1px solid var(--line);width:min(72rem,100%);animation:notice-enter var(--motion-slow) var(--ease-emphasized) both;background:#ffffffa6;border-radius:.7rem;margin:0 auto 1rem;padding:.8rem 1rem;font-size:.82rem}.notice-error{color:#852f25;background:#fff4f1;border-color:#d8a59b}.notice-success{color:#31533a;background:#f0f7f1;border-color:#a9c0ad}.library-list-section{width:min(72rem,100%);animation:content-enter var(--motion-screen) var(--ease-emphasized) 90ms both;margin:0 auto;padding:0 0 4rem}.document-list{border-top:1px solid var(--line)}.document-row{border-bottom:1px solid var(--line);animation:list-item-enter var(--motion-slow) var(--ease-emphasized) both;transition:background-color var(--motion-fast) ease;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.document-row:nth-child(2){animation-delay:35ms}.document-row:nth-child(3){animation-delay:65ms}.document-row:nth-child(4){animation-delay:90ms}.document-row:nth-child(n+5){animation-delay:.11s}.document-primary{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:3.15rem minmax(0,1fr) auto;align-items:center;gap:1.15rem;min-width:0;padding:1.15rem 0;display:grid}.document-primary:hover .document-title{color:var(--accent)}.document-primary:hover .document-glyph{border-color:color-mix(in srgb, var(--accent) 45%, #c7c0b5);transform:translateY(-2px)rotate(-1deg);box-shadow:0 9px 18px #3f34281c}.document-glyph{background:var(--paper);width:2.75rem;height:3.35rem;color:var(--accent);letter-spacing:.08em;transition:border-color var(--motion-fast) ease, box-shadow var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-emphasized);border:1px solid #c7c0b5;border-radius:.18rem;align-content:end;padding:.38rem;font-size:.48rem;font-weight:900;display:grid;position:relative;box-shadow:0 5px 12px #3f342812}.document-glyph span{background:var(--surface);border-bottom:1px solid #c7c0b5;border-left:1px solid #c7c0b5;width:.85rem;height:.85rem;position:absolute;top:-1px;right:-1px}.document-copy{flex-direction:column;gap:.32rem;min-width:0;display:flex}.document-title{font-family:var(--font-reading);text-overflow:ellipsis;white-space:nowrap;transition:color var(--motion-fast) ease;font-size:1.08rem;font-weight:600;overflow:hidden}.document-meta{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.availability{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.34rem .52rem;font-size:.62rem;font-weight:800}.availability-stored{color:#3a6244;background:#e1ede3}.availability-external{color:#8a4b28;background:#f4e5d7}.document-actions{gap:.25rem;margin-left:1rem;display:flex}.document-actions button{color:var(--ink-muted);cursor:pointer;transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, transform var(--motion-fast) var(--ease-standard);background:0 0;border:0;border-radius:.45rem;padding:.5rem .65rem;font-size:.67rem}.document-actions button:hover{color:var(--ink);background:#ffffff8c;transform:translateY(-1px)}.document-actions .danger-link:hover{color:#982f25}.empty-library{width:100%;min-height:13rem;color:var(--ink);cursor:pointer;transition:border-color var(--motion-base) ease, background-color var(--motion-base) ease, box-shadow var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-emphasized);background:#ffffff42;border:1px dashed #bfb7aa;border-radius:.8rem;place-content:center;justify-items:center;padding:2rem;display:grid}.empty-library:hover{border-color:var(--accent);background:#ffffff7a;transform:translateY(-2px);box-shadow:0 14px 35px #3a302414}.empty-library strong{font-size:.9rem}.empty-library>span{color:var(--ink-muted);margin-top:.35rem;font-size:.75rem}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:1;transition:opacity var(--motion-base) ease;background:#28241f75;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.dialog-card{background:var(--surface-raised);opacity:1;width:min(34rem,100%);max-height:min(44rem,100vh - 2.5rem);transition:opacity var(--motion-base) ease, transform .24s var(--ease-emphasized);border:1px solid #ffffff8f;border-radius:1rem;padding:1.5rem;overflow:auto;transform:translate(0,0)scale(1);box-shadow:0 28px 80px #25201947}.dialog-backdrop[data-motion-state=entering],.dialog-backdrop[data-motion-state=exiting]{opacity:0}.dialog-backdrop[data-motion-state=entering] .dialog-card,.dialog-backdrop[data-motion-state=exiting] .dialog-card{opacity:0;will-change:opacity, transform;transform:translateY(.8rem)scale(.98)}.dialog-backdrop[data-motion-state=exiting]{pointer-events:none}.dialog-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.dialog-heading h2{font-family:var(--font-reading);letter-spacing:-.04em;margin:0;font-size:2rem;font-weight:500}.dialog-heading .eyebrow{margin-bottom:.35rem}.pdf-drop-zone{background:var(--paper);text-align:center;min-height:15rem;transition:border-color var(--motion-fast) ease, background-color var(--motion-fast) ease, transform var(--motion-base) var(--ease-emphasized);border:1px dashed #b7aea1;border-radius:.75rem;place-content:center;justify-items:center;margin-top:1.3rem;padding:1.5rem;display:grid}.pdf-drop-zone.is-dragging{border-color:var(--accent);background:#fff8f3;transform:scale(1.008)}.pdf-drop-zone input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.drop-mark{border:1px solid var(--line);width:2.7rem;height:2.7rem;color:var(--accent);font-family:var(--font-reading);transition:transform var(--motion-base) var(--ease-emphasized);border-radius:50%;place-items:center;margin-bottom:.9rem;font-size:1.8rem;display:grid}.pdf-drop-zone.is-dragging .drop-mark{transform:rotate(45deg)scale(1.08)}.pdf-drop-zone strong{max-width:24rem;font-family:var(--font-reading);text-overflow:ellipsis;white-space:nowrap;font-size:1.12rem;overflow:hidden}.pdf-drop-zone>span:not(.drop-mark){color:var(--ink-muted);margin:.35rem 0 1rem;font-size:.72rem}.retention-choice{cursor:pointer;transition:background-color var(--motion-fast) ease, transform var(--motion-fast) var(--ease-standard);background:#ebe7df;border-radius:.65rem;gap:.8rem;margin-top:1rem;padding:.95rem;display:flex}.retention-choice:hover{background:#e6e1d8;transform:translateY(-1px)}.retention-choice input{accent-color:var(--accent);margin-top:.15rem}.retention-choice span{flex-direction:column;gap:.25rem;display:flex}.retention-choice strong{font-size:.78rem}.retention-choice small,.privacy-line{color:var(--ink-muted);font-size:.68rem;line-height:1.45}.password-file-name{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;margin:1rem 0 0;font-size:.7rem;overflow:hidden}.password-field{gap:.42rem;margin-top:1.2rem;display:grid}.password-field span{color:var(--ink-muted);font-size:.68rem;font-weight:700}.password-field input{border:1px solid var(--line);width:100%;min-height:2.8rem;color:var(--ink);background:var(--paper);transition:border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;border-radius:.45rem;padding:.6rem .7rem}.password-field input:focus{border-color:var(--focus);box-shadow:0 0 0 3px #315c731a}.privacy-line{text-align:center;margin:.85rem 0 0}.dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:1.2rem;display:flex}.global-drop-indicator{z-index:90;border:2px dashed var(--accent);color:var(--accent);font-family:var(--font-reading);pointer-events:none;opacity:1;transition:opacity var(--motion-base) ease, transform var(--motion-base) var(--ease-emphasized);background:#f8f5eff0;border-radius:1rem;place-items:center;font-size:clamp(2rem,6vw,5rem);display:grid;position:fixed;inset:1.25rem;transform:scale(1)}.global-drop-indicator[data-motion-state=entering],.global-drop-indicator[data-motion-state=exiting]{opacity:0;transform:scale(.985)}.library-loading{color:var(--ink-muted);text-align:center;padding:5rem 0}.settings-shell{background:var(--surface);min-height:100vh;padding:0 clamp(1.25rem,8vw,8rem) 5rem}.settings-header{border-bottom:1px solid var(--line);min-height:5.25rem;animation:content-enter var(--motion-slow) var(--ease-emphasized) 35ms both;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.settings-header>:first-child{justify-self:start}.settings-intro{max-width:58rem;animation:content-enter var(--motion-screen) var(--ease-emphasized) 70ms both;padding:clamp(4rem,9vw,8rem) 0 clamp(3rem,7vw,5rem)}.settings-intro h1{font-family:var(--font-reading);letter-spacing:-.06em;margin:0;font-size:clamp(3rem,7vw,6.5rem);font-weight:500;line-height:.94}.settings-intro>p:last-child{max-width:42rem;color:var(--ink-muted);font-family:var(--font-reading);margin:1.5rem 0 0;font-size:1.08rem;line-height:1.6}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.settings-card{border:1px solid var(--line);animation:list-item-enter var(--motion-slow) var(--ease-emphasized) both;background:#ffffff6b;border-radius:.75rem;padding:clamp(1.25rem,3vw,2rem)}.settings-card:nth-child(2){animation-delay:45ms}.settings-card:nth-child(3){animation-delay:80ms}.settings-card:nth-child(4){animation-delay:.11s}.settings-card.full{grid-column:1/-1}.settings-card h2{font-family:var(--font-reading);letter-spacing:-.035em;margin:0;font-size:1.55rem;font-weight:500}.settings-card>p:not(.eyebrow),.settings-action-row p{color:var(--ink-muted);margin:.4rem 0 0;font-size:.76rem;line-height:1.55}.settings-card small{color:var(--ink-muted);font-size:.66rem;line-height:1.5;display:block}.storage-meter{background:#ddd6ca;border-radius:999px;height:.38rem;margin:1.4rem 0 .7rem;overflow:hidden}.storage-meter span{border-radius:inherit;background:var(--accent);min-width:.25rem;height:100%;transition:width var(--motion-slow) var(--ease-emphasized);display:block}.settings-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:2rem;display:flex}.settings-toggle span{flex-direction:column;gap:.45rem;display:flex}.settings-toggle strong{font-family:var(--font-reading);font-size:1.3rem;font-weight:500}.settings-toggle input{width:2.6rem;height:1.35rem;accent-color:var(--accent)}.settings-action-row{justify-content:space-between;align-items:center;gap:2rem;display:flex}.settings-action-row>div{max-width:40rem}.danger-zone{border-color:#d9b4ad}.danger-button{color:#8e2f24;cursor:pointer;transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, box-shadow var(--motion-base) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:#fff5f2;border:1px solid #bd756a;border-radius:999px;flex:none;padding:.65rem .85rem;font-size:.72rem;font-weight:800}.danger-button:not(:disabled):hover{background:#ffebe7;transform:translateY(-1px);box-shadow:0 6px 16px #8e2f241a}.fatal-error{align-content:center;max-width:46rem;min-height:100vh;margin:auto;padding:2rem;display:grid}.fatal-error h1{font-family:var(--font-reading);letter-spacing:-.055em;margin:0;font-size:clamp(2.8rem,8vw,5.5rem);font-weight:500;line-height:.95}.fatal-error>p:not(.eyebrow){color:var(--ink-muted);line-height:1.6}.fatal-error button{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:999px;justify-self:start;margin-top:1.5rem;padding:.75rem 1rem}@keyframes content-enter{0%{opacity:0;transform:translateY(.55rem)}to{opacity:1;transform:translate(0,0)}}@keyframes list-item-enter{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:translate(0,0)}}@keyframes notice-enter{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translate(0,0)}}@media (max-width:760px){.library-controls{flex-direction:column;align-items:stretch;padding-top:1.25rem}.library-controls .primary-button{width:100%}.document-row{grid-template-columns:1fr}.document-primary{grid-template-columns:2.7rem minmax(0,1fr)}.availability{display:none}.document-actions{justify-content:flex-end;margin:-.7rem 0 .55rem}.settings-grid{grid-template-columns:1fr}.settings-card.full{grid-column:auto}.settings-action-row{flex-direction:column;align-items:flex-start}}.reader-shell{isolation:isolate;color:#302d28;background:var(--reader-paper-color,#f8f7f3);position:fixed;inset:0;overflow:hidden}.reader-chrome{z-index:50;min-height:3.6rem;animation:reader-chrome-enter var(--motion-slow) var(--ease-emphasized) both;background:#f1eee7fb;border-bottom:1px solid #423b3221;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:0 .85rem;display:grid;position:absolute;top:0;left:0;right:0;box-shadow:0 1px 12px #302a230a}.reader-chrome-left,.reader-chrome-actions,.reader-mode-status{align-items:center;min-width:0;display:flex}.reader-chrome-left{gap:.65rem}.reader-chrome-actions{justify-content:flex-end;gap:.55rem}.reader-mode-status{justify-content:center;gap:.55rem}.reader-icon-button,.reader-text-button,.zoom-control button{color:#625d55;cursor:pointer;transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, transform var(--motion-fast) var(--ease-standard);background:0 0;border:0}.reader-icon-button{border-radius:.42rem;align-items:center;gap:.42rem;min-height:2.15rem;padding:.35rem .5rem;font-size:.7rem;font-weight:700;display:inline-flex}.reader-icon-button.compact{width:2.1rem;font-family:var(--font-reading);place-items:center;font-size:1rem;display:grid}.reader-icon-button:hover,.reader-text-button:hover,.zoom-control button:hover{color:#24211d;background:#ffffff7a;transform:translateY(-1px)}.reader-icon-button:active,.reader-text-button:active,.zoom-control button:active{transform:translateY(1px)scale(.97)}.reader-rule{background:#ccc5b9;width:1px;height:1.5rem}.reader-document-label{flex-direction:column;gap:.08rem;min-width:0;display:flex}.reader-document-label strong{max-width:min(34vw,25rem);font-family:var(--font-reading);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;overflow:hidden}.reader-document-label span,.reader-shortcut-tip,.save-status{color:#837d74;font-size:.58rem}.reader-shortcut-tip kbd{color:#5c564e;background:#fffdf9;border:1px solid #c9c1b5;border-radius:.2rem;padding:.08rem .28rem;font-family:inherit}.mode-pill{color:#f8f4ed;letter-spacing:.08em;transition:background-color var(--motion-fast) ease, transform var(--motion-fast) var(--ease-standard);background:#34312c;border-radius:.25rem;padding:.26rem .46rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.55rem;font-weight:800}.mode-visual{background:#a64938}.mode-note{background:#476b57}.save-error{color:#a13729}.zoom-control{background:#ffffff61;border:1px solid #cbc4b8;border-radius:999px;grid-template-columns:1.8rem 3rem 1.8rem;align-items:center;height:2rem;display:grid;overflow:hidden}.zoom-control button{height:100%;padding:0;font-size:.95rem}.zoom-control span{color:#706a62;text-align:center;font-size:.6rem}.reader-text-button{border-radius:.4rem;min-height:2rem;padding:.35rem .55rem;font-size:.65rem}.reader-viewport{overscroll-behavior-x:none;overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;scrollbar-color:#49433b52 transparent;-webkit-overflow-scrolling:touch;position:absolute;inset:3.6rem 0 0;overflow:hidden auto}.reader-outline-toggle[aria-expanded=true]{color:#24211d;background:#ffffff80}.pdf-outline-panel{z-index:48;color:#302d28;background:color-mix(in srgb, var(--reader-paper-color,#f8f7f3) 96%, #ece7df 4%);opacity:1;width:min(22rem,88vw);transition:opacity var(--motion-base) ease, transform .22s var(--ease-emphasized);border-right:1px solid #423b3221;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:absolute;top:3.6rem;bottom:0;left:0;transform:translate(0,0)}.pdf-outline-panel[data-motion-state=entering],.pdf-outline-panel[data-motion-state=exiting]{opacity:0;will-change:opacity, transform;transform:translate(-1rem)}.pdf-outline-panel[data-motion-state=exiting]{pointer-events:none}.pdf-outline-panel__header{border-bottom:1px solid #423b3217;justify-content:space-between;align-items:baseline;min-height:2.7rem;padding:.85rem 1rem .6rem;display:flex}.pdf-outline-panel__header strong{font-family:var(--font-reading);font-size:.88rem;font-weight:600}.pdf-outline-panel__header span,.pdf-outline-panel__notice{color:#827b72;font-size:.58rem}.pdf-outline-panel__tree{padding:.5rem .4rem 1.5rem;overflow:auto}.pdf-outline-panel__row{min-height:1.9rem;grid-template-columns:1.35rem minmax(0,1fr);align-items:start;padding-inline-start:var(--outline-indent,0);display:grid}.pdf-outline-panel__disclosure,.pdf-outline-panel__target{color:inherit;cursor:pointer;transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, transform var(--motion-fast) var(--ease-standard);background:0 0;border:0}.pdf-outline-panel__disclosure,.pdf-outline-panel__disclosure-spacer{color:#928a80;place-items:center;width:1.35rem;min-height:1.9rem;padding:0;font:600 .7rem/1 ui-monospace,monospace;display:grid}.pdf-outline-panel__target{min-width:0;font-family:var(--font-reading);text-align:left;border-radius:.25rem;padding:.42rem .45rem;font-size:.72rem;line-height:1.38;text-decoration:none}.pdf-outline-panel__target:hover,.pdf-outline-panel__target:focus-visible,.pdf-outline-panel__disclosure:hover,.pdf-outline-panel__disclosure:focus-visible{color:#1f1d1a;background:#ffffff75;transform:translate(.08rem)}.pdf-outline-panel__target.is-label:disabled{color:#706960;cursor:default}.pdf-outline-panel__notice{border-top:1px solid #423b3217;margin:0;padding:.75rem 1rem;line-height:1.45}.reader-camera{min-width:100%;transform:translate3d(var(--camera-shift,0), 0, 0);transition:transform .3s var(--ease-spatial);position:relative}.page-stack{flex-direction:column;align-items:center;gap:clamp(1.15rem,3vh,2.5rem);width:max-content;min-width:100%;padding:clamp(1.5rem,4vh,3.2rem) max(2rem,50vw - 32rem) 6rem;display:flex}.page-slot{flex:none;position:relative}.pdf-page{background:var(--page-paper-color,#fff);box-shadow:none;border:0;position:relative;overflow:visible}.pdf-page canvas,.pdf-page .text-layer,.pdf-page .annotation-layer,.pdf-page .reader-cursor-layer,.pdf-page .pdf-link-layer{position:absolute;inset:0}.pdf-page canvas{opacity:0;width:100%;height:100%;transition:opacity var(--motion-base) ease;display:block}.pdf-page.is-rendered canvas{opacity:1}.pdf-page .text-layer{--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor,1) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));opacity:1;letter-spacing:normal;word-spacing:normal;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;line-height:1;overflow:hidden}.pdf-page .text-layer span,.pdf-page .text-layer br{color:#0000;white-space:pre;transform-origin:0 0;cursor:text;-webkit-user-select:text;user-select:text;position:absolute}.pdf-page .text-layer>:not(.markedContent),.pdf-page .text-layer .markedContent span:not(.markedContent){--font-height:0;--scale-x:1;--rotate:0deg;z-index:1;font-size:calc(var(--text-scale-factor) * var(--font-height));transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.pdf-page .text-layer .markedContent{display:contents}.pdf-page .text-layer ::selection{background:#48718e47}.pdf-link-layer{pointer-events:none}.pdf-page .annotation-layer,.pdf-page .reader-cursor-layer,.pdf-page .pdf-link-layer{opacity:0;transition:opacity var(--motion-base) ease}.pdf-page.is-rendered .annotation-layer,.pdf-page.is-rendered .reader-cursor-layer,.pdf-page.is-rendered .pdf-link-layer{opacity:1}.pdf-link-hitbox{cursor:pointer;pointer-events:auto;background:0 0;border:0;position:absolute}.pdf-link-hitbox:hover,.pdf-link-hitbox:focus-visible{background:#315c731a;box-shadow:inset 0 0 0 1px #315c733d}.page-placeholder{color:#8c857b;font-family:var(--font-reading);background:#e5e1d9;border:0;place-items:center;font-size:.72rem;display:grid}.annotation-rect,.reader-selection-rect,.reader-cursor{pointer-events:none;position:absolute}.annotation-rect{transition:opacity var(--motion-base) ease}.annotation-highlight{mix-blend-mode:multiply;border-radius:.1rem}.annotation-note{filter:drop-shadow(0 1px #ffffff61);border-radius:0;background:linear-gradient(#0000 calc(100% - 1.5px),#8e4432b8 calc(100% - 1.5px)) no-repeat!important}.annotation-yellow{background:#f5d3536b}.annotation-green{background:#74b88252}.annotation-blue{background:#5d9ccd4d}.annotation-rose{background:#d86f804d}.reader-selection-rect{background:#39698742;border-radius:.08rem;box-shadow:inset 0 0 0 1px #39698738}.reader-cursor{z-index:8;box-sizing:border-box;min-width:.32rem;min-height:.75rem;transition:top 75ms var(--ease-standard), left 75ms var(--ease-standard), width 75ms var(--ease-standard), height 75ms var(--ease-standard);background:#b83f2f66;border:1px solid #8e372bd1;border-radius:1px;scroll-margin-block:clamp(2.5rem,12vh,7rem);animation:1.35s ease-in-out infinite reader-cursor-breathe;box-shadow:inset 0 0 0 1px #ffffff47,0 0 0 1px #ffffff80}.reader-viewport.is-programmatic-scrolling .reader-cursor{transition:none}.note-anchor{z-index:12;cursor:pointer;transform-origin:50%;width:2rem;height:2rem;transition:background-color var(--motion-fast) ease, transform .22s var(--ease-emphasized);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:rotate(0)}.note-anchor:hover{background:#ffffffa3;transform:rotate(0)scale(1.08)}.note-anchor.is-open:hover{transform:rotate(90deg)scale(1.08)}.note-anchor:active{transform:rotate(0)scale(.94)}.note-anchor.is-open:active{transform:rotate(90deg)scale(.94)}.note-anchor:before,.note-anchor:after{content:"";background:#a84a3c;width:.85rem;height:1.5px;position:absolute}.note-anchor:before{transform:rotate(45deg)}.note-anchor:after{transform:rotate(-45deg)}.note-anchor.is-open{transform:rotate(90deg)}.margin-note-host{--margin-paper-color:var(--page-paper-color,#fff);z-index:20;box-sizing:border-box;background:var(--margin-paper-color);width:min(26rem,100vw - 3rem);min-height:0;max-height:none;box-shadow:none;opacity:1;transition:opacity var(--motion-base) ease, transform var(--motion-slow) var(--ease-spatial);border:0;border-radius:0;position:absolute;top:0;bottom:0;overflow:hidden;transform:translate(0,0)}.margin-note-host[data-side=right]{--note-enter-x:.75rem;border-left:1px solid color-mix(in srgb, var(--margin-paper-color) 94%, #514a42 6%);left:100%}.margin-note-host[data-side=left]{--note-enter-x:-.75rem;border-right:1px solid color-mix(in srgb, var(--margin-paper-color) 94%, #514a42 6%);right:100%}.margin-note-host[data-motion-state=entering],.margin-note-host[data-motion-state=exiting]{opacity:0;transform:translate3d(var(--note-enter-x,0), 0, 0);will-change:opacity, transform}.margin-note-host[data-motion-state=exiting]{pointer-events:none}.margin-note-editor-frame{top:var(--note-editor-top,1rem);height:min(26.25rem,100vh - 7rem);min-height:min(16rem,100% - 2rem);max-height:calc(100% - var(--note-editor-top,1rem) - 1rem);grid-template-rows:minmax(0,1fr) auto;display:grid;position:absolute;left:0;right:0}.margin-note-editor-frame>.note-editor{background:0 0;border:0;border-radius:0}.margin-note-host .note-editor__topline,.margin-note-host .note-editor__footer{display:none}.margin-note-host .cm-editor,.margin-note-host .cm-scroller,.margin-note-host .cm-activeLine,.margin-note-host .cm-activeLineGutter{background:0 0}.margin-note-host .cm-editor.cm-focused,.margin-note-host .cm-content:focus-visible{outline:0}.note-conflict{color:#6f2f27;background:#fff0ed;border-top:1px solid #d6a097;padding:.7rem .8rem .25rem;font-size:.68rem;line-height:1.45}.note-conflict p{margin:.25rem 0 .35rem}.note-conflict .margin-note-editor-actions{background:0 0;border:0;padding:.2rem 0 .35rem}.margin-note-editor-actions{background:0 0;border-top:0;justify-content:flex-end;gap:.25rem;padding:.38rem .55rem;display:flex}.margin-note-editor-actions button{color:#756d62;cursor:pointer;background:0 0;border:0;border-radius:.3rem;padding:.32rem .48rem;font-size:.6rem}.margin-note-editor-actions button:hover{color:#2f2a24;background:color-mix(in srgb, var(--page-edge-color,#fff) 72%, #80786d 10%)}.fallback-note-editor{grid-template-rows:auto minmax(0,1fr) auto;min-height:13rem;max-height:min(40rem,100vh - 6.5rem);display:grid}.fallback-note-editor header,.fallback-note-editor footer{color:#7a7369;border-bottom:1px solid #ded7cb;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .75rem;font-size:.62rem;display:flex}.fallback-note-editor footer{border-top:1px solid #ded7cb;border-bottom:0}.fallback-note-editor textarea{resize:vertical;color:#29251f;width:100%;min-height:14rem;font-family:var(--font-reading);background:0 0;border:0;outline:0;padding:1rem;font-size:1rem;line-height:1.6}.fallback-note-editor button{color:#625b52;cursor:pointer;background:0 0;border:0;border-radius:.35rem;padding:.35rem .5rem;font-size:.62rem}.fallback-note-editor button:hover{background:#e9e3d8}.reader-loading,.reader-error{color:#645e56;text-align:center;place-content:center;justify-items:center;min-height:calc(100vh - 3.6rem);display:grid}.reader-page-error{z-index:35;color:#7f2d24;width:max-content;max-width:min(34rem,100vw - 2rem);animation:reader-notice-enter var(--motion-slow) var(--ease-emphasized) both;background:#fff2ef;border:1px solid #cf9489;border-radius:.5rem;margin:0 auto -2.5rem;padding:.65rem .8rem;font-size:.68rem;position:sticky;top:.75rem;box-shadow:0 8px 28px #41272126}.reader-loading strong,.reader-error h2{font-family:var(--font-reading);margin:0;font-size:1.5rem;font-weight:500}.reader-loading span,.reader-error p{color:#7c756c;max-width:28rem;margin:.5rem 0 0;font-size:.72rem;line-height:1.55}.shortcut-groups{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem;display:grid}.shortcut-groups section{border:1px solid var(--line);background:var(--paper);border-radius:.6rem;min-width:0;padding:1rem}.shortcut-groups h3{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .8rem;font-size:.67rem}.shortcut-groups dl,.shortcut-groups dd{margin:0}.shortcut-groups dl>div{border-bottom:1px solid #eee8df;grid-template-columns:4.6rem 1fr;align-items:center;gap:.6rem;padding:.45rem 0;display:grid}.shortcut-groups dl>div:last-child{border-bottom:0}.shortcut-groups dt{gap:.18rem;display:flex}.shortcut-groups kbd{color:#4f4941;text-align:center;background:#f3efe7;border:1px solid #cfc7bb;border-radius:.2rem;min-width:1.15rem;padding:.16rem .28rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem}.shortcut-groups dd{color:var(--ink-muted);font-size:.63rem;line-height:1.35}.keyboard-help{width:min(55rem,100%)}.keyboard-footnote{color:var(--ink-muted);text-align:center;margin:1rem 0 0;font-size:.66rem}@keyframes reader-chrome-enter{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translate(0,0)}}@keyframes reader-notice-enter{0%{opacity:0;transform:translateY(-.4rem)}to{opacity:1;transform:translate(0,0)}}@keyframes reader-cursor-breathe{0%,42%,to{opacity:1}64%,82%{opacity:.34}}@media (prefers-reduced-motion:reduce){.reader-cursor{animation:none}}@media (max-width:760px){.reader-chrome{grid-template-columns:minmax(0,1fr) auto}.reader-mode-status,.reader-button-label,.reader-text-button,.reader-document-label span{display:none}.zoom-control{grid-template-columns:1.7rem 2.5rem 1.7rem}.shortcut-groups{grid-template-columns:1fr}}
