:root{font-family:Tahoma,"Segoe UI",Arial,sans-serif;color:#22372f;background:#f6f7f3;font-size:14px;--green:#197866;--line:#e0e6df;--muted:#7c8980}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #4bc2a6;outline-offset:3px}[hidden]{display:none!important}header{height:78px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1170px)/2));border-bottom:1px solid var(--line)}.brand{font:800 25px/1 "Segoe UI",sans-serif;letter-spacing:2px;text-decoration:none;color:#23382f;display:flex;align-items:center;gap:12px}.brand>span{color:var(--green);font-size:35px;font-weight:400}.brand small{font-size:9px;letter-spacing:1.7px;font-weight:400;border-left:1px solid var(--line);padding-left:20px;margin-left:8px;color:var(--muted)}.header-right{display:flex;align-items:center;gap:24px}.device-label{font:9px Arial,sans-serif;letter-spacing:1.5px;color:#809185}.help{border:1px solid var(--line);border-radius:50%;width:28px;height:28px;background:#fff;color:#526b5d}#home{max-width:1170px;margin:auto;padding:70px 24px 0;display:grid;grid-template-columns:1fr 420px;gap:50px 85px}.eyebrow{font:9px/1.5 Arial,sans-serif;letter-spacing:2px;color:#7c9588}.intro{padding-top:14px}h1{font-size:clamp(36px,4vw,54px);font-weight:400;line-height:1.45;letter-spacing:-1.8px;margin:20px 0}h1>span{color:var(--green)}.intro>p{font-size:13px;line-height:2;color:#7b887f;margin:0}.private{font-size:11px;color:#557764;margin-top:28px;display:flex;gap:9px;align-items:center}.private>span{font-size:22px;color:var(--green)}.open-card{background:#fff;border:1px dashed #b8cec0;border-radius:15px;padding:38px 30px 0;text-align:center;box-shadow:0 12px 40px #294c3310;transition:background .2s,border .2s}.open-card.dragging{background:#eaf6ed;border-color:#197866}.file-symbol{display:flex;flex-direction:column;align-items:center;justify-content:center;width:84px;height:98px;border:1px solid #d8e7dd;border-radius:9px;margin:0 auto 24px;background:linear-gradient(145deg,#f5faf5,#eaf3ec)}.file-symbol>span{font-size:44px;line-height:1.2;color:var(--green)}.file-symbol small{font:8px Arial,sans-serif;letter-spacing:1px;color:#5e8c73;margin-top:8px}.open-card h2{font-size:19px;font-weight:400;margin:0 0 12px}.open-card p{font-size:11px;color:var(--muted);line-height:1.9;margin:0 0 24px}.primary{border:1px solid var(--green);background:var(--green);color:#fff;padding:14px 20px;border-radius:7px;width:100%;font-size:13px;min-height:48px}.primary:hover{background:#126350}.open-card>small{font-size:9px;color:#94a098;display:block;margin-top:13px}.card-bottom{font-size:9px;color:#819a8b;margin-top:30px;padding:16px 0;border-top:1px solid #edf1ec}.card-bottom span{margin-right:6px}.steps{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps>div{position:relative;padding-left:40px}.steps b{position:absolute;top:2px;left:0;font:10px Arial,sans-serif;color:#96afa0}.steps h3{font-size:12px;font-weight:400;margin:0 0 10px}.steps p{font-size:11px;line-height:1.9;color:#8b968e;margin:0}footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;margin-top:-30px;padding:0 0 25px;font:8px Arial,Tahoma,sans-serif;letter-spacing:1px;color:#9aa59d}footer>span:last-child{letter-spacing:0}.reader-bar{min-height:66px;padding:10px 22px;display:flex;align-items:center;gap:18px;background:white;border-bottom:1px solid var(--line)}.document-name{display:flex;gap:10px;min-width:120px;align-items:center}.document-name>span{font:9px Arial,sans-serif;color:var(--green);border:1px solid #bfd6c7;border-radius:4px;padding:10px 6px}.document-name strong{display:block;font-size:12px;font-weight:400;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-name small{display:block;color:#8a998f;font-size:9px;margin-top:5px}.reader-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.reader-actions button,.reader-actions select{min-height:36px;background:#fff;border:1px solid var(--line);border-radius:5px;padding:8px 10px;color:#526b5e;font-size:10px}.reader-actions select{max-width:260px}.reader-actions #annotationToggle[aria-pressed=true]{color:#69438c;background:#f3edf9;border-color:#e4d8ef}.reader-actions #close{font-size:20px;padding:2px 10px}.opened header{height:54px}.opened .brand{font-size:21px}.opened .brand>span{font-size:29px}.opened header .device-label{display:none}#frameHost{height:calc(100vh - 121px);height:calc(100dvh - 121px);background:white}#frameHost iframe{display:block;width:100%;height:100%;border:0;background:white}#notice{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(90%,560px);z-index:50;background:#243e32;color:#fff;padding:15px 22px;border-radius:7px;font-size:12px;line-height:1.9;box-shadow:0 6px 25px #0002}.loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#23433340;backdrop-filter:blur(5px);z-index:30}.loading>div{width:370px;max-width:90%;background:#fff;padding:34px;text-align:center;border-radius:13px;box-shadow:0 20px 60px #172f2420}.loading h2{font-size:17px;font-weight:400}.loading p{font-size:11px;color:#89968c;line-height:1.9}.loading button{color:var(--green);background:none;border:0;font-size:11px;margin-top:12px}.spinner{display:inline-block;width:30px;height:30px;border:2px solid #e4eee6;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{border:0;border-radius:13px;padding:32px;width:560px;max-width:calc(100% - 32px);max-height:85vh;overflow:auto;color:#294236;box-shadow:0 20px 60px #0003}dialog::backdrop{background:#183a2966}dialog h2{font-weight:400;font-size:25px;line-height:1.5}dialog p{font-size:12px;line-height:1.9;color:#78877d}.close-dialog{float:right;background:none;border:0;font-size:24px;color:#81998a}.help-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.help-actions button{font-size:11px;border:1px solid var(--line);background:#f5faf5;border-radius:5px;padding:11px;color:var(--green)}.help-actions button:disabled{opacity:.45;cursor:default}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:950px){#home{grid-template-columns:1fr 360px;gap:40px;padding-top:45px}.brand small{display:none}header{padding:0 25px}h1{font-size:42px}.reader-actions select{max-width:210px}.steps{gap:20px}.steps>div{padding-left:28px}}@media(max-width:650px){header{height:64px;padding:0 20px}.brand{font-size:24px}.device-label{font-size:8px;letter-spacing:1px}.header-right{gap:14px}#home{padding:32px 20px 0;display:flex;flex-direction:column;gap:30px}.intro{padding:0}h1{font-size:39px;line-height:1.35;margin:17px 0}.intro>p{font-size:12px}.desktop-only{display:none}.private{font-size:10px;margin-top:17px}.open-card{padding:28px 25px 0}.file-symbol{height:75px;width:67px;margin-bottom:19px}.file-symbol>span{font-size:34px}.file-symbol small{font-size:7px}.open-card h2{font-size:18px}.card-bottom{margin-top:24px}.steps{display:flex;flex-direction:column;gap:25px;padding:25px 0}.steps>div{padding-left:36px}.steps p br{display:none}.steps h3{margin-bottom:6px}footer{margin-top:-8px;flex-direction:column;font-size:8px;gap:8px;padding-bottom:22px}.reader-bar{padding:10px 12px;gap:8px;flex-wrap:wrap}.document-name{flex:1}.document-name strong{max-width:220px}.reader-actions{width:100%;margin:3px 0 0;gap:6px}.reader-actions select{min-width:0;max-width:none;flex:1;width:130px;font-size:9px}.reader-actions button{padding:7px;font-size:9px}.reader-actions #annotationToggle{white-space:nowrap}.reader-actions #close{padding:2px 8px}#frameHost{height:calc(100vh - 161px);height:calc(100dvh - 161px)}.opened header{height:50px}.opened .brand small{display:block;font-size:7px;margin-left:0;padding-left:12px;letter-spacing:1px}dialog{padding:28px 24px}dialog h2{font-size:23px}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}
/* AbleS branding and credits. Keep the supplied logo's original proportions. */
body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
header{height:96px;gap:24px}
.brand{gap:0;letter-spacing:0;min-width:0}
.brand-logo{display:block;width:210px;height:auto;object-fit:contain;flex-shrink:0}
.brand .brand-title{font:650 21px/1.3 "Segoe UI",Arial,sans-serif;letter-spacing:.1px;color:#23382f;padding-left:24px;margin-left:24px;border-left:1px solid #b8ccc0;min-height:42px;display:flex;align-items:center;white-space:nowrap}
.credits-panel{display:block;margin-top:-20px;margin-bottom:24px;padding:20px 24px;border:1px solid #d9e3da;border-radius:12px;background:#eef2ec;font:inherit;color:#52675b;letter-spacing:0}
.credits-panel h2{margin:0 0 8px;font-size:17px;line-height:1.5;color:#23382f;font-weight:600}
.credits-panel p{margin:0;font-size:12px;line-height:1.9}
.credit{border-top:1px solid #cddccf;padding-top:12px;margin-top:16px;display:flex;flex-direction:column;gap:4px}
.credit strong{font-size:13px;font-weight:600;color:#294236;line-height:1.6}
.credit>span{font:12px/1.7 "Segoe UI",Arial,sans-serif;color:#607668}
.help-credit{border-top:1px solid var(--line);padding-top:16px}
body.opened{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}
.opened header{flex-shrink:0}
.opened #reader{display:flex;flex-direction:column;flex:1;min-height:0}
.opened .reader-bar{flex-shrink:0}
.opened #frameHost{height:auto;flex:1;min-height:0}
.opened .brand-logo{width:132px}
.opened .brand .brand-title{font-size:17px;min-height:30px;padding-left:18px;margin-left:18px}
@media(max-width:950px){
 .brand-logo{width:185px}
 .brand .brand-title{font-size:18px;padding-left:18px;margin-left:18px}
 .device-label{display:none}
}
@media(max-width:650px){
 header{height:108px;padding:12px 20px;gap:12px}
 .brand{flex-direction:column;align-items:flex-start;gap:6px}
 .brand-logo{width:180px}
 .brand .brand-title{font-size:15px;border:0;margin:0;padding:0;min-height:0}
 .credits-panel{margin-top:-8px;margin-bottom:22px;padding:18px}
 .credits-panel h2{font-size:16px}
 .credits-panel p{font-size:11px;line-height:1.95}
 .opened header{height:50px;padding:8px 12px}
 .opened .brand{flex-direction:row;align-items:center;gap:10px}
 .opened .brand-logo{width:105px}
 .opened .brand .brand-title{font-size:12px;padding:0;margin:0;min-height:0;white-space:normal}
}

/* Combined PDF / HTML reader */
button:disabled{opacity:.45;cursor:default}
#home{row-gap:36px}
.session-panel{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:#edf3ed;border:1px solid #dce7dc;border-radius:10px}
.session-panel strong{font-size:13px;font-weight:600}.session-panel p{font-size:12px;color:#607668;margin:7px 0}.session-panel small{font-size:10px;color:#7b8b80;line-height:1.8}
.session-panel button{flex-shrink:0;border:1px solid #ccdbce;background:#fff;border-radius:6px;color:#526b5e;padding:11px 16px;min-height:44px}
.credits-panel{margin-top:0}.help-actions a{font-size:11px;border:1px solid var(--line);background:#f5faf5;border-radius:5px;padding:11px;color:var(--green);text-decoration:none}
#warningPanel{flex-shrink:0;padding:9px 22px;background:#fff6df;border-bottom:1px solid #eedbb0;color:#79602c;font-size:11px;line-height:1.8;max-height:25vh;overflow:auto}#warningPanel summary{cursor:pointer}#warnings{white-space:pre-line;margin:6px 0}
#progress{display:block;width:100%;height:6px;accent-color:var(--green);margin:20px 0 6px}
.reader-actions{flex-wrap:wrap}.reader-actions button,.reader-actions select{min-height:40px}.reader-actions #pagePicker{max-width:110px}
@media(max-width:650px){.session-panel{padding:17px;align-items:flex-start;gap:12px}.session-panel small{font-size:9px}.session-panel button{padding:9px 12px;font-size:11px}.session-panel p{font-size:11px}#home{gap:28px}.reader-actions{row-gap:6px}.reader-actions select{min-width:100px}.reader-actions #pagePicker{max-width:90px;min-width:80px;flex:0 1 80px}.reader-actions button{min-height:40px}.reader-actions #close{margin-left:auto}.opened .brand .brand-title{font-size:11px}#warningPanel{padding:7px 12px;font-size:10px}.credits-panel{margin-top:0}}
