:root{--paper:#f8f4ed;--surface:#fffaf3;--ink:#30263f;--muted:#60566c;--lavender:#dfcdf6;--line:#e1d9e5;--primary:#66507e;color:var(--ink);font:15px/1.6 system-ui,sans-serif;background:var(--paper);scrollbar-color:#b9a7cd var(--paper)}*{box-sizing:border-box}body{margin:0}main{max-width:900px;margin:auto;padding:25px 24px 60px}header{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:30px}header strong{display:block;font-size:15px}header .readonly{margin-left:auto;font-size:11px;background:var(--lavender);padding:5px 10px;border-radius:20px}.eyebrow{font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--muted)}h1{font-size:40px;letter-spacing:-.04em;line-height:1.15;margin:15px 0}h2{font-size:23px;letter-spacing:-.025em}h3{font-size:19px;line-height:1.35;margin:8px 0 20px}h4{font-size:13px;margin:20px 0 5px}p{white-space:pre-wrap;overflow-wrap:anywhere}.muted{font-size:12px;color:var(--muted)}.notice{background:var(--lavender);border-radius:14px;padding:16px 20px;font-size:12px;margin:22px 0}dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}dt{font-size:11px;font-weight:700;color:var(--muted)}dd{margin:3px 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}article{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);margin:15px 0}article p{font-size:13px}.actions,.files{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}button,.actions a{cursor:pointer;padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 12px system-ui,sans-serif;text-decoration:none;min-height:42px}button:hover,.actions a:hover{background:var(--lavender);border-color:var(--primary)}button:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.files button{text-align:left;overflow-wrap:anywhere;max-width:100%}footer{font-size:11px;color:var(--muted);border-top:1px solid var(--line);margin-top:35px;padding-top:20px}.error,#error{background:#f3dcd0;padding:15px;border-radius:12px}dialog{width:min(900px,95vw);max-height:95dvh;overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);padding:20px}dialog::backdrop{background:#30263faa}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head h2{font-size:18px;overflow-wrap:anywhere}#document-body img{width:100%;height:auto}#document-body object{width:100%;height:65dvh}#document-body p{font-size:13px}.actions a[hidden]{display:none}@media(max-width:600px){main{padding:18px 16px 50px}h1{font-size:34px}dl{grid-template-columns:1fr}article{padding:18px}header{gap:9px}header img{width:46px;height:46px}.readonly{font-size:10px!important}}@media print{button,.actions,dialog,header .readonly,#retry,#error{display:none!important}body{background:white;color:black}main{max-width:none;padding:0}article{break-inside:avoid;background:white}h1{font-size:30px}.notice{background:none;border:1px solid #aaa}footer{font-size:10px}}

/* Calm clinical reading, mobile-safe originals and accessible controls. */
html{scroll-padding-block:24px}button,.actions a{min-height:44px}button:disabled{cursor:wait;opacity:.65}.dialog-head{position:sticky;top:-20px;background:var(--surface);padding-block:10px;z-index:2}.dialog-head button{flex:none}dialog>.actions{position:sticky;bottom:-20px;background:var(--surface);padding:12px 0;margin-bottom:0}dialog{overscroll-behavior:contain;scrollbar-gutter:stable}#document-body{min-height:100px}#content[aria-busy=true]>.actions button{opacity:.65}article h3{margin-bottom:14px}article dl{row-gap:14px}.files button{display:flex;align-items:center;gap:8px}.files button::before{content:'↗';color:var(--primary);font-size:17px}a,button{touch-action:manipulation}body{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:600px){dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:16px}.dialog-head{top:-16px}.dialog-head h2{font-size:16px}dialog>.actions{bottom:-16px;gap:8px}.actions a{flex:1;text-align:center}.files button{width:100%}article h3{font-size:18px}header{margin-bottom:22px}.notice{padding:14px 16px}}
@media(prefers-reduced-motion:no-preference){dialog[open]{animation:paper-in .16s ease-out}@keyframes paper-in{from{opacity:.6;translate:0 6px}to{opacity:1;translate:0 0}}}
