@font-face{font-family:"Work Sans";src:url("./fonts/WorkSans.ttf") format("truetype");font-weight:100 900;font-display:swap}
:root{
  --font-body:"Work Sans",sans-serif;
  --text-xs:clamp(.75rem,.72rem + .1vw,.82rem);
  --text-sm:clamp(.875rem,.84rem + .1vw,.95rem);
  --text-base:clamp(1rem,.96rem + .12vw,1.1rem);
  --text-lg:clamp(1.125rem,1rem + .4vw,1.4rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;
  --bg:#e9e8df;--surface:#fffdf7;--text:#3a301f;--muted:#685e4f;--line:#dddccc;
  --accent:#507b0d;--accent-hover:#3d6108;--soft:#edf5d7;--caramel:#895019;
  color-scheme:light;
}
:root[data-theme="dark"]{--bg:#20251c;--surface:#2b3125;--text:#f8f4e9;--muted:#cbc7b6;--line:#4b543e;--accent:#d0ee89;--accent-hover:#bde46a;--soft:#404e2c;--caramel:#efd19b;color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden}
body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text);background:var(--bg);display:flex;flex-direction:column}
button,input{font:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
button{min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;font-size:var(--text-sm);font-weight:550;white-space:nowrap;transition:background .15s}
button:hover:not(:disabled){background:var(--soft)}
button:disabled{opacity:.42;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip{position:fixed;top:-100px;left:var(--space-4);z-index:50;background:var(--surface);color:var(--text);padding:var(--space-3)}
.skip:focus{top:var(--space-2)}
.header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--surface);border-top:5px solid var(--accent)}
.brand{font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;color:var(--accent)}
h1{font-size:var(--text-lg);font-weight:650;margin:var(--space-1) 0 0;line-height:1.25}
.primary{background:var(--accent);color:var(--surface);border-color:var(--accent);font-weight:650;padding-inline:var(--space-4)}
.primary:hover:not(:disabled){background:var(--accent-hover)}
.toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-6);gap:var(--space-3);background:var(--surface);border-bottom:1px solid var(--line)}
.group{display:flex;align-items:center;gap:var(--space-1)}
.group button{border-color:transparent}
.pagination{gap:var(--space-2)}
.pagination button,.zoom button:not(#fit){width:44px;font-size:var(--text-lg);padding:0}
.page-label,.total{font-size:var(--text-sm)}
#pageNumber{width:48px;height:38px;border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:center;border-radius:4px;font-size:var(--text-sm);appearance:textfield;-moz-appearance:textfield}
#pageNumber::-webkit-inner-spin-button{display:none}
.reader{position:relative;flex:1;min-height:0}
#viewerContainer{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.pdfViewer{--page-margin:16px auto;--page-border:0;--page-border-image:none;padding:var(--space-2) 0 var(--space-6)}
.pdfViewer .page{box-shadow:0 2px 18px #32361e18}
.annotationLayer .linkAnnotation>a{cursor:pointer}
.annotationLayer .linkAnnotation>a:hover{outline:2px solid #507b0d;outline-offset:-2px;background:#96be3f18;box-shadow:none}
.annotationLayer .textWidgetAnnotation :is(input,textarea){color:#3a301f!important}
.footer{background:var(--surface);border-top:1px solid var(--line);padding:var(--space-2) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);color:var(--muted)}
.footer p{margin:0;line-height:1.45}
.tip{white-space:nowrap}
.loading,.error{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:var(--space-6);background:var(--bg)}
[hidden]{display:none!important}
.loading-sheet{display:flex;flex-direction:column;justify-content:center;gap:var(--space-6);background:var(--surface);padding:var(--space-8);width:min(70vw,380px);aspect-ratio:.72;border-top:6px solid var(--accent);box-shadow:0 3px 24px #32361e12;font-size:var(--text-base);font-weight:550}
progress{width:100%;accent-color:var(--accent)}
.error h2{font-size:var(--text-lg)}
.error p{font-size:var(--text-base)}
.error a{display:block;color:var(--accent);margin-top:var(--space-6);font-size:var(--text-sm)}
@media(max-width:680px){
  .header{padding:var(--space-2) var(--space-3);gap:var(--space-2)}
  .brand{font-size:var(--text-xs);letter-spacing:.02em}
  h1{font-size:var(--text-base)}
  .primary{font-size:var(--text-xs);padding:var(--space-2)}
  .toolbar{display:grid;grid-template-columns:1fr auto;padding:var(--space-1) var(--space-2);gap:0}
  .toolbar>.group:first-child{grid-column:1;grid-row:1}
  .pagination{grid-column:2;grid-row:1;gap:0}
  .page-label{display:none}
  .zoom{grid-column:1 / -1;grid-row:2;justify-content:center;border-top:1px solid var(--line)}
  .zoom #theme{position:absolute;right:var(--space-2)}
  .toolbar button{font-size:var(--text-xs);padding:var(--space-2)}
  .pagination button{width:36px}
  .total{padding:0 var(--space-1)}
  #pageNumber{width:36px}
  .footer{padding:var(--space-2) var(--space-3);padding-bottom:max(var(--space-2),env(safe-area-inset-bottom))}
  .tip{display:none}
  .pdfViewer{--page-margin:8px auto;padding-top:0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
