/* SchoolTools PDF Suite — six purpose-built visual families, one reliable engine. */
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Mono:wght@400;500&family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,500;6..72,700&display=swap');

body.pdf-workspace {
  --pdf-bg:#f2f0e8; --pdf-panel:#fffdf5; --pdf-ink:#17201d; --pdf-muted:#67706c;
  --pdf-line:#c9cec7; --pdf-accent:#e5532d; --pdf-accent-2:#173f35;
  --pdf-soft:#e7e5dc; --pdf-good:#14755b; --pdf-danger:#c33e37;
  --pdf-display:'Archivo Black',Impact,sans-serif; --pdf-body:'Manrope',system-ui,sans-serif;
  --pdf-mono:'IBM Plex Mono','Courier New',monospace; --pdf-radius:.35rem;
  display:block; min-height:100vh; overflow-x:hidden; color:var(--pdf-ink);
  background:var(--pdf-bg); font-family:var(--pdf-body); font-size:1rem;
}
body.pdf-workspace.pdf-dark { --pdf-bg:#111614; --pdf-panel:#19211e; --pdf-ink:#f3f0e6; --pdf-muted:#aab5af; --pdf-line:#3a4641; --pdf-soft:#222c28; }
body.pdf-workspace * { box-sizing:border-box; }
body.pdf-workspace a { color:inherit; }
body.pdf-workspace .pdf-atmosphere { position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.7; background:linear-gradient(90deg,transparent 0 8%,color-mix(in srgb,var(--pdf-line) 35%,transparent) 8% calc(8% + 1px),transparent calc(8% + 1px) 92%,color-mix(in srgb,var(--pdf-line) 35%,transparent) 92% calc(92% + 1px),transparent calc(92% + 1px)); }

/* Shared navigation */
body.pdf-workspace .nav { position:relative; z-index:20; width:min(92%,90rem); margin:0 auto; padding:1rem 0; min-height:4.5rem; border:0; border-bottom:1px solid var(--pdf-line); background:transparent; color:var(--pdf-ink); }
body.pdf-workspace .nav-logo { color:var(--pdf-ink); font:700 1.05rem var(--pdf-body); letter-spacing:-.03em; }
body.pdf-workspace .nav-logo span { color:var(--pdf-accent); }
body.pdf-workspace .nav-back { min-height:2.75rem; padding:.6rem .9rem; border:1px solid var(--pdf-line); border-radius:999px; color:var(--pdf-ink); background:var(--pdf-panel); font-size:.78rem; }
body.pdf-workspace .nav-back:hover { background:var(--pdf-ink); color:var(--pdf-bg); text-decoration:none; }
.pdf-theme-toggle { display:inline-flex; align-items:center; gap:.45rem; min-height:2.75rem; padding:.35rem .7rem .35rem .4rem; margin-right:.4rem; border:1px solid var(--pdf-line); border-radius:999px; color:var(--pdf-ink); background:var(--pdf-panel); font:600 .7rem var(--pdf-body); }
.pdf-theme-toggle i { position:relative; width:2rem; height:1.15rem; border-radius:2rem; background:var(--pdf-soft); border:1px solid var(--pdf-line); }
.pdf-theme-toggle i::after { content:''; position:absolute; width:.75rem; height:.75rem; left:.14rem; top:.13rem; border-radius:50%; background:var(--pdf-accent); transition:transform .25s ease; }
.pdf-dark .pdf-theme-toggle i::after { transform:translateX(.83rem); }

/* Hero */
body.pdf-workspace .hero { position:relative; width:min(92%,90rem); max-width:none; margin:0 auto; padding:clamp(3rem,7vw,7rem) 0 clamp(2rem,5vw,4.5rem); text-align:left; }
.pdf-eyebrow { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:clamp(1.2rem,3vw,2.5rem); color:var(--pdf-muted); font:500 .69rem var(--pdf-mono); text-transform:uppercase; letter-spacing:.14em; }
.pdf-eyebrow span { display:flex; align-items:center; gap:.65rem; }
.pdf-eyebrow span::before { content:''; width:2rem; height:2px; background:var(--pdf-accent); }
.pdf-eyebrow b { color:var(--pdf-ink); border:1px solid var(--pdf-line); padding:.45rem .65rem; font-weight:500; }
body.pdf-workspace .hero-icon { position:absolute; right:0; top:clamp(5.5rem,10vw,8rem); width:clamp(5rem,10vw,9rem); height:clamp(5rem,10vw,9rem); margin:0; border:1px solid var(--pdf-line); border-radius:0; color:transparent; background:var(--pdf-panel); transform:rotate(3deg); box-shadow:.65rem .65rem 0 var(--pdf-accent); overflow:hidden; }
body.pdf-workspace .hero-icon::before { content:'PDF'; color:var(--pdf-accent); font:500 clamp(.85rem,2vw,1.4rem) var(--pdf-mono); }
body.pdf-workspace .hero-icon::after { content:''; position:absolute; left:18%; right:18%; bottom:22%; height:22%; border-top:2px solid var(--pdf-line); border-bottom:2px solid var(--pdf-line); }
body.pdf-workspace .hero h1 { max-width:12ch; margin:0 0 1rem; padding-right:clamp(4rem,12vw,10rem); font:400 clamp(2.6rem,8vw,7.8rem)/.88 var(--pdf-display); letter-spacing:-.07em; color:var(--pdf-ink); text-wrap:balance; }
body.pdf-workspace .hero p { max-width:44rem; color:var(--pdf-muted); font:500 clamp(1rem,2vw,1.28rem)/1.55 var(--pdf-body); }
body.pdf-workspace .tier-badge { margin-top:1.2rem; padding:.5rem .75rem; border:1px solid var(--pdf-line); border-radius:0; color:var(--pdf-ink); background:var(--pdf-panel); font:500 .68rem var(--pdf-mono); }
.pdf-hero-specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:58rem; margin-top:clamp(2rem,5vw,4rem); border-top:1px solid var(--pdf-line); border-bottom:1px solid var(--pdf-line); }
.pdf-hero-specs span { min-width:0; padding:1rem .9rem 1rem 0; color:var(--pdf-ink); font:500 .74rem/1.45 var(--pdf-mono); overflow-wrap:anywhere; }
.pdf-hero-specs span + span { padding-left:1rem; border-left:1px solid var(--pdf-line); }
.pdf-hero-specs b { display:block; margin-bottom:.3rem; color:var(--pdf-muted); font-size:.58rem; text-transform:uppercase; letter-spacing:.13em; }

/* Ad system */
.pdf-ad { position:relative; display:grid; place-content:center; color:var(--pdf-muted); border:1px dashed var(--pdf-line); background:repeating-linear-gradient(135deg,transparent 0 10px,color-mix(in srgb,var(--pdf-line) 22%,transparent) 10px 11px); text-align:center; font-family:var(--pdf-mono); }
.pdf-ad > span { position:absolute; top:.45rem; left:.55rem; font-size:.55rem; letter-spacing:.16em; text-transform:uppercase; }
.pdf-ad > strong { color:var(--pdf-ink); font-size:.78rem; font-weight:500; }
.pdf-ad > small { margin-top:.25rem; font-size:.56rem; text-transform:uppercase; letter-spacing:.08em; }
.pdf-ad-leader { width:min(calc(100% - 2rem),45.5rem); height:5.625rem; margin:0 auto clamp(2.5rem,6vw,5rem); }
.pdf-ad-content { width:min(100%,21rem); height:17.5rem; margin:clamp(2.5rem,6vw,5rem) auto; }
.pdf-ad-rail { display:none; }
.pdf-mobile-ad { position:fixed; z-index:50; left:50%; bottom:.6rem; display:flex; align-items:center; justify-content:center; width:min(calc(100% - 1rem),20rem); height:6.25rem; transform:translateX(-50%); border:1px dashed var(--pdf-line); color:var(--pdf-muted); background:var(--pdf-panel); box-shadow:0 1rem 3rem rgba(0,0,0,.18); font-family:var(--pdf-mono); }
.pdf-mobile-ad::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(135deg,transparent 0 9px,color-mix(in srgb,var(--pdf-line) 22%,transparent) 9px 10px); }
.pdf-mobile-ad span,.pdf-mobile-ad b { position:relative; }
.pdf-mobile-ad span { margin-right:.7rem; font-size:.56rem; text-transform:uppercase; letter-spacing:.12em; }
.pdf-mobile-ad b { color:var(--pdf-ink); font-size:.72rem; }
.pdf-mobile-ad button { position:absolute; z-index:2; top:0; right:0; width:2.75rem; height:2.75rem; color:var(--pdf-ink); background:transparent; font-size:1.1rem; }

/* Workbench */
body.pdf-workspace .main { width:min(92%,76rem); max-width:none; margin:0 auto; padding:0 0 5rem; }
.pdf-workbench { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr); gap:clamp(1rem,3vw,2.5rem); align-items:start; }
.pdf-primary,.pdf-preview { min-width:0; border:1px solid var(--pdf-line); background:var(--pdf-panel); }
.pdf-panel-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:3.6rem; padding:.85rem 1rem; border-bottom:1px solid var(--pdf-line); }
.pdf-panel-head span { color:var(--pdf-muted); font:500 .61rem var(--pdf-mono); text-transform:uppercase; letter-spacing:.12em; }
.pdf-panel-head b { color:var(--pdf-ink); font:700 .74rem var(--pdf-body); }
body.pdf-workspace #uploadSection { padding:clamp(1rem,3vw,2rem); }
body.pdf-workspace .dropzone { min-height:clamp(15rem,35vw,22rem); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:2rem 1.25rem; border:1px solid var(--pdf-line); border-radius:var(--pdf-radius); color:var(--pdf-ink); background:var(--pdf-soft); overflow:hidden; }
body.pdf-workspace .dropzone::before,body.pdf-workspace .dropzone::after { content:''; position:absolute; width:2.8rem; height:2.8rem; border-color:var(--pdf-accent); pointer-events:none; transition:transform .3s ease; }
body.pdf-workspace .dropzone::before { left:.7rem; top:.7rem; border-left:2px solid var(--pdf-accent); border-top:2px solid var(--pdf-accent); }
body.pdf-workspace .dropzone::after { right:.7rem; bottom:.7rem; border-right:2px solid var(--pdf-accent); border-bottom:2px solid var(--pdf-accent); }
body.pdf-workspace .dropzone:hover::before { transform:translate(-.2rem,-.2rem); }
body.pdf-workspace .dropzone:hover::after { transform:translate(.2rem,.2rem); }
body.pdf-workspace .dropzone:hover,body.pdf-workspace .dropzone.over { border-color:var(--pdf-accent); background:color-mix(in srgb,var(--pdf-accent) 7%,var(--pdf-soft)); }
body.pdf-workspace .dropzone.has-files { border-color:var(--pdf-good); background:color-mix(in srgb,var(--pdf-good) 7%,var(--pdf-soft)); }
body.pdf-workspace .dropzone-icon { display:grid; place-items:center; width:4.5rem; height:5.5rem; margin:0 0 1.4rem; border:1px solid var(--pdf-line); border-radius:0; color:transparent; background:var(--pdf-panel); box-shadow:.35rem .35rem 0 var(--pdf-accent); }
body.pdf-workspace .dropzone-icon::before { content:'PDF'; color:var(--pdf-accent); font:600 .78rem var(--pdf-mono); }
.pdf-drop-index { margin-bottom:.45rem; color:var(--pdf-accent); font:500 .62rem var(--pdf-mono); letter-spacing:.12em; }
body.pdf-workspace .dropzone-label { max-width:24rem; margin-bottom:.45rem; font:700 clamp(1rem,2vw,1.25rem) var(--pdf-body); }
body.pdf-workspace .dropzone-sub { color:var(--pdf-muted); font:400 .68rem var(--pdf-mono); }
body.pdf-workspace .file-list { gap:.55rem; margin-top:1rem; }
body.pdf-workspace .file-item { min-height:3.5rem; padding:.65rem .8rem; border:1px solid var(--pdf-line); border-radius:0; color:var(--pdf-ink); background:var(--pdf-soft); }
body.pdf-workspace .file-item-icon { border-radius:0; color:transparent; background:var(--pdf-accent); }
body.pdf-workspace .file-item-icon::after { content:'PDF'; color:#fff; font:600 .52rem var(--pdf-mono); }
body.pdf-workspace .file-item-name { font-weight:600; }
body.pdf-workspace .file-item-size,body.pdf-workspace .add-more { color:var(--pdf-muted); font-family:var(--pdf-mono); }
body.pdf-workspace .options-panel { margin-top:1rem; padding:1rem; border:1px solid var(--pdf-line); border-radius:0; color:var(--pdf-ink); background:var(--pdf-soft); }
body.pdf-workspace .options-title { color:var(--pdf-accent); font:500 .61rem var(--pdf-mono); letter-spacing:.13em; }
body.pdf-workspace .options-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
body.pdf-workspace .opt-group { gap:.45rem; }
body.pdf-workspace .opt-group label { color:var(--pdf-muted); font:500 .68rem var(--pdf-mono); }
body.pdf-workspace .opt-input,body.pdf-workspace .opt-select { min-height:2.75rem; border:1px solid var(--pdf-line); border-radius:0; color:var(--pdf-ink); background:var(--pdf-panel); }
body.pdf-workspace .opt-input:focus,body.pdf-workspace .opt-select:focus { border-color:var(--pdf-accent); outline:2px solid color-mix(in srgb,var(--pdf-accent) 25%,transparent); }
body.pdf-workspace .btn-convert { min-height:3.6rem; justify-content:space-between; margin-top:1rem; padding:.85rem 1rem; border:1px solid var(--pdf-ink); border-radius:0; color:var(--pdf-bg); background:var(--pdf-ink); font:700 .85rem var(--pdf-body); }
body.pdf-workspace .btn-convert i { display:grid; place-items:center; width:2rem; height:2rem; color:var(--pdf-ink); background:var(--pdf-accent); font-style:normal; transition:transform .2s ease; }
body.pdf-workspace .btn-convert:hover:not(:disabled) { color:var(--pdf-panel); background:var(--pdf-accent-2); transform:translateY(-2px); }
body.pdf-workspace .btn-convert:hover i { transform:translateX(.18rem); }

/* Outcome blueprint */
.pdf-preview { position:sticky; top:1rem; }
.pdf-preview-art { min-height:19rem; display:grid; place-content:center; padding:1.5rem; overflow:hidden; background:var(--pdf-soft); border-bottom:1px solid var(--pdf-line); }
.pdf-preview ol { list-style:none; margin:0; padding:1rem; }
.pdf-preview li { display:grid; grid-template-columns:2.2rem 1fr; gap:.7rem; align-items:center; min-height:2.7rem; border-bottom:1px solid var(--pdf-line); color:var(--pdf-muted); font-size:.78rem; }
.pdf-preview li:last-child { border-bottom:0; }
.pdf-preview li b { color:var(--pdf-accent); font:500 .62rem var(--pdf-mono); }
.pdf-processing { display:flex; gap:.7rem; align-items:center; margin:0 1rem 1rem; padding:.8rem; color:var(--pdf-muted); background:var(--pdf-soft); font-size:.68rem; }
.pdf-processing i { width:.55rem; height:.55rem; flex:0 0 auto; border-radius:50%; background:var(--pdf-good); box-shadow:0 0 0 .25rem color-mix(in srgb,var(--pdf-good) 15%,transparent); }
.pdf-processing b { display:block; margin-bottom:.15rem; color:var(--pdf-ink); font:500 .56rem var(--pdf-mono); text-transform:uppercase; letter-spacing:.08em; }
.pdf-mini-page { position:relative; display:flex; flex-direction:column; gap:.35rem; width:5.2rem; height:6.8rem; padding:.7rem; border:1px solid var(--pdf-line); color:var(--pdf-muted); background:var(--pdf-panel); box-shadow:.3rem .3rem 0 color-mix(in srgb,var(--pdf-line) 60%,transparent); font:500 .55rem var(--pdf-mono); }
.pdf-mini-page span { display:block; width:100%; height:2px; background:var(--pdf-line); }
.pdf-mini-page span:nth-of-type(2) { width:74%; }
.pdf-mini-page.active { border-color:var(--pdf-accent); color:var(--pdf-accent); }
.preview-caption { display:flex; flex-direction:column; margin-top:1.4rem; text-align:center; }
.preview-caption b { color:var(--pdf-ink); font-size:.85rem; }
.preview-caption span { margin-top:.25rem; color:var(--pdf-muted); font:400 .62rem var(--pdf-mono); }
.preview-stack { position:relative; width:9rem; height:8rem; margin:auto; }
.preview-stack .pdf-mini-page { position:absolute; left:50%; top:50%; }
.preview-stack .pdf-mini-page:nth-child(1){transform:translate(-28%,-58%) rotate(8deg)}
.preview-stack .pdf-mini-page:nth-child(2){transform:translate(-50%,-53%) rotate(-4deg)}
.preview-stack .pdf-mini-page:nth-child(3){transform:translate(-70%,-48%) rotate(-11deg)}
.preview-photos { display:grid; grid-template-columns:repeat(3,3.8rem); align-items:end; gap:.35rem; }
.preview-photos i { height:5rem; border:1px solid var(--pdf-line); background:linear-gradient(145deg,var(--pdf-accent),var(--pdf-accent-2)); }
.preview-photos i:nth-child(2){height:6rem}.preview-photos i:nth-child(3){height:4.5rem}.preview-photos b{grid-column:1/-1;padding:.65rem;background:var(--pdf-ink);color:var(--pdf-bg);text-align:center;font:500 .7rem var(--pdf-mono)}
.preview-sequence { display:flex; flex-wrap:wrap; justify-content:center; gap:.35rem; }
.preview-sequence .pdf-mini-page { width:4.4rem; height:6rem; }
.preview-sequence em { width:100%; margin-top:1rem; color:var(--pdf-accent); text-align:center; font:500 .8rem var(--pdf-mono); }
.preview-film { display:flex; width:100%; gap:.55rem; overflow:hidden; padding:1rem 0; border-top:.5rem dotted var(--pdf-ink); border-bottom:.5rem dotted var(--pdf-ink); }
.preview-film .pdf-mini-page { min-width:4.2rem; width:4.2rem; height:5.6rem; }
.preview-film.delete .active { opacity:.45; border-color:var(--pdf-danger); transform:rotate(-7deg); }
.preview-film.delete .active::after { content:'×'; position:absolute; inset:0; display:grid; place-content:center; color:var(--pdf-danger); font:400 3rem var(--pdf-display); }
.preview-rotate { display:flex; align-items:center; gap:1rem; }
.preview-rotate > b { color:var(--pdf-accent); font-size:2rem; }.preview-rotate .tilted{transform:rotate(90deg)}
.preview-gauge { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:12rem; height:12rem; border:1.15rem solid var(--pdf-line); border-right-color:var(--pdf-accent); border-radius:50%; }
.preview-gauge strong { color:var(--pdf-ink); font:400 2.4rem var(--pdf-display); }.preview-gauge span{color:var(--pdf-muted);font:400 .58rem var(--pdf-mono)}
.preview-meter { width:13rem; height:.5rem; margin-top:1.4rem; background:var(--pdf-line); }.preview-meter i{display:block;width:58%;height:100%;background:var(--pdf-accent)}
.preview-stamp { position:relative; }.preview-stamp .pdf-mini-page{width:9rem;height:12rem}.preview-stamp strong{position:absolute;left:50%;top:50%;padding:.45rem;border:.22rem double var(--pdf-accent);color:var(--pdf-accent);font:700 .72rem var(--pdf-mono);transform:translate(-50%,-50%) rotate(-23deg)}
.preview-vault { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:13rem; height:13rem; border:1px solid var(--pdf-line); background:var(--pdf-panel); box-shadow:inset 0 0 0 .7rem var(--pdf-soft); }
.preview-vault i { width:4rem; height:3.4rem; margin-bottom:1rem; border:.45rem solid var(--pdf-accent); border-radius:.4rem; position:relative; }.preview-vault i::before{content:'';position:absolute;left:50%;bottom:100%;width:2rem;height:2.5rem;border:.45rem solid var(--pdf-accent);border-bottom:0;border-radius:2rem 2rem 0 0;transform:translateX(-50%)}.preview-vault.unlock i::before{transform:translateX(-10%) rotate(28deg);transform-origin:left bottom}.preview-vault b{font:500 .78rem var(--pdf-mono)}.preview-vault span{margin-top:.25rem;color:var(--pdf-muted);font-size:.65rem}
.preview-bridge { display:grid; grid-template-columns:1fr 3.5rem 1fr; align-items:center; width:100%; }.preview-bridge>i{display:grid;place-items:center;aspect-ratio:4/5;border:1px solid var(--pdf-line);color:var(--pdf-ink);background:var(--pdf-panel);font:600 .68rem var(--pdf-mono);font-style:normal;box-shadow:.3rem .3rem 0 var(--pdf-accent)}.preview-bridge>span{text-align:center}.preview-bridge>span b{display:block;color:var(--pdf-accent);font-size:1.5rem}.preview-bridge>span small{color:var(--pdf-muted);font:400 .5rem var(--pdf-mono)}
.preview-pixels { display:flex; align-items:center; gap:1rem; }.preview-pixels>span{color:var(--pdf-accent);font-size:1.4rem}.preview-pixels>div{display:grid;grid-template-columns:repeat(2,2.2rem);gap:.15rem}.preview-pixels>div i{aspect-ratio:1;background:var(--pdf-accent)}.preview-pixels>div i:nth-child(2),.preview-pixels>div i:nth-child(3){background:var(--pdf-accent-2)}
.preview-reader { position:relative; width:100%; padding:1.4rem; border-left:.3rem solid var(--pdf-accent); color:var(--pdf-ink); background:var(--pdf-panel); }.preview-reader b{font:500 .6rem var(--pdf-mono);color:var(--pdf-accent)}.preview-reader p{margin-top:1rem;font:500 1rem/1.7 'Newsreader',serif}.preview-reader i{display:block;width:65%;height:2px;margin-top:1rem;background:var(--pdf-line)}
.preview-ocr { display:grid; grid-template-columns:auto 2rem auto; align-items:center; gap:.5rem }.preview-ocr>i{width:2rem;height:2px;background:var(--pdf-accent);position:relative}.preview-ocr>i::after{content:'→';position:absolute;right:-.2rem;top:-.75rem;color:var(--pdf-accent)}.preview-ocr>strong{display:grid;place-items:center;width:4rem;height:4rem;border:1px solid var(--pdf-accent);color:var(--pdf-accent);font:500 .75rem var(--pdf-mono)}.preview-ocr>span{grid-column:1/-1;text-align:center;color:var(--pdf-muted);font:400 .6rem var(--pdf-mono)}
.preview-table { display:grid; grid-template-columns:.8fr 1.7fr .7fr; width:100%; border-top:1px solid var(--pdf-line); border-left:1px solid var(--pdf-line); }.preview-table>*{padding:.5rem;border-right:1px solid var(--pdf-line);border-bottom:1px solid var(--pdf-line);font:400 .5rem var(--pdf-mono);overflow:hidden}.preview-table>span{color:var(--pdf-accent);background:var(--pdf-panel);font-weight:600}.preview-table>b{color:var(--pdf-ink);font-weight:400}

/* Truth, related, status */
.pdf-truth { display:grid; grid-template-columns:minmax(9rem,.35fr) 1fr; gap:1rem; padding:1.2rem; margin:0 auto clamp(2.5rem,6vw,5rem); border-left:.3rem solid var(--pdf-accent); color:var(--pdf-ink); background:var(--pdf-panel); }
.pdf-truth b { font:500 .68rem var(--pdf-mono); text-transform:uppercase; letter-spacing:.08em; }.pdf-truth p{color:var(--pdf-muted);font-size:.85rem;line-height:1.65}
.pdf-related { margin-bottom:3rem; border:1px solid var(--pdf-line); background:var(--pdf-panel); }.pdf-related>div:last-child{display:grid;grid-template-columns:repeat(3,1fr)}.pdf-related a{display:grid;grid-template-columns:1fr auto;gap:.45rem;padding:1rem;border-right:1px solid var(--pdf-line);text-decoration:none}.pdf-related a:last-child{border:0}.pdf-related a span{grid-column:1/-1;color:var(--pdf-accent);font:500 .56rem var(--pdf-mono)}.pdf-related a b{font-size:.78rem}.pdf-related a i{color:var(--pdf-accent);font-style:normal}.pdf-related a:hover{background:var(--pdf-soft)}
body.pdf-workspace .info-box { border:1px solid var(--pdf-line); border-radius:0; color:var(--pdf-ink); background:var(--pdf-panel); }.pdf-workspace .info-box h3{color:var(--pdf-muted);font-family:var(--pdf-mono)}.pdf-workspace .info-item{color:var(--pdf-muted)}
body.pdf-workspace .status-card,body.pdf-workspace .result-card,body.pdf-workspace .error-card { border-radius:0; color:var(--pdf-ink); background:var(--pdf-panel); }.pdf-workspace .status-sub,.pdf-workspace .result-sub,.pdf-workspace .error-msg{color:var(--pdf-muted)}
body.pdf-workspace .feedback-row { padding-bottom:7rem; color:var(--pdf-muted); }

/* Family identities — structure changes, not just recolors */
body.pdf-bindery { --pdf-bg:#f2f0e8;--pdf-panel:#fffdf5;--pdf-ink:#17201d;--pdf-muted:#67706c;--pdf-line:#c9cec7;--pdf-accent:#e5532d;--pdf-accent-2:#173f35;--pdf-soft:#e7e5dc; }
.pdf-bindery .pdf-atmosphere{background:linear-gradient(90deg,transparent 0 8%,color-mix(in srgb,var(--pdf-line) 35%,transparent) 8% calc(8% + 1px),transparent calc(8% + 1px) 92%,color-mix(in srgb,var(--pdf-line) 35%,transparent) 92% calc(92% + 1px),transparent calc(92% + 1px)),repeating-linear-gradient(0deg,transparent 0 4rem,color-mix(in srgb,var(--pdf-line) 16%,transparent) 4rem calc(4rem + 1px))}
.pdf-bindery .pdf-primary{box-shadow:-.45rem .45rem 0 color-mix(in srgb,var(--pdf-accent) 22%,transparent)}
body.pdf-cutter { --pdf-bg:#0d1822;--pdf-panel:#142531;--pdf-ink:#f5f1e8;--pdf-muted:#9fb0b9;--pdf-line:#36505d;--pdf-accent:#ff6b35;--pdf-accent-2:#203b49;--pdf-soft:#1a303e;--pdf-radius:0; }
.pdf-cutter .hero h1 { text-transform:uppercase; font-style:italic; transform:skewX(-3deg); }.pdf-cutter .hero-icon{border-radius:50%;box-shadow:0 0 0 .55rem var(--pdf-accent);transform:none}.pdf-cutter .pdf-preview-art{background:repeating-linear-gradient(90deg,var(--pdf-soft) 0 3rem,color-mix(in srgb,var(--pdf-line) 30%,var(--pdf-soft)) 3rem 3.05rem)}
body.pdf-press { --pdf-bg:#ebe1cc;--pdf-panel:#f8f0df;--pdf-ink:#2e2119;--pdf-muted:#796a5d;--pdf-line:#baaa95;--pdf-accent:#b52e23;--pdf-accent-2:#4f2d22;--pdf-soft:#e4d7c2;--pdf-display:'Newsreader',Georgia,serif;--pdf-radius:0; }
.pdf-press .hero h1{font-weight:700;line-height:.92;letter-spacing:-.055em}.pdf-press .hero::after{content:'PRESS';position:absolute;right:8%;bottom:8%;color:color-mix(in srgb,var(--pdf-accent) 12%,transparent);font:700 clamp(4rem,14vw,13rem)/1 var(--pdf-display);z-index:-1}.pdf-press .pdf-primary{transform:rotate(-.25deg);box-shadow:.8rem .8rem 0 color-mix(in srgb,var(--pdf-accent-2) 18%,transparent)}
body.pdf-vault { --pdf-bg:#090b0a;--pdf-panel:#121613;--pdf-ink:#eff8e9;--pdf-muted:#8d9a89;--pdf-line:#344033;--pdf-accent:#b8f23f;--pdf-accent-2:#23361c;--pdf-soft:#171e17;--pdf-display:'Archivo Black',sans-serif;--pdf-radius:.2rem; }
.pdf-vault .pdf-atmosphere{background:radial-gradient(circle at 75% 15%,rgba(184,242,63,.08),transparent 24%),repeating-linear-gradient(0deg,transparent 0 3rem,rgba(184,242,63,.035) 3rem calc(3rem + 1px))}.pdf-vault .hero-icon{box-shadow:0 0 2rem color-mix(in srgb,var(--pdf-accent) 30%,transparent);transform:none}.pdf-vault .pdf-primary,.pdf-vault .pdf-preview{box-shadow:0 0 0 1px #000,0 1.5rem 4rem rgba(0,0,0,.4)}
body.pdf-bridge { --pdf-bg:#e8f0f2;--pdf-panel:#f9fcfc;--pdf-ink:#132b35;--pdf-muted:#60747c;--pdf-line:#b9cbd0;--pdf-accent:#146d8f;--pdf-accent-2:#103e50;--pdf-soft:#dce9ec;--pdf-display:'Archivo Black',sans-serif;--pdf-radius:.25rem; }
.pdf-bridge .hero h1{max-width:10ch}.pdf-bridge .hero::before{content:'';position:absolute;left:-8vw;right:35%;bottom:1rem;height:1px;background:var(--pdf-accent);box-shadow:0 -8px 0 color-mix(in srgb,var(--pdf-accent) 30%,transparent),0 8px 0 color-mix(in srgb,var(--pdf-accent) 30%,transparent)}.pdf-bridge .pdf-preview-art{background:linear-gradient(135deg,var(--pdf-soft) 0 49.5%,var(--pdf-line) 49.5% 50%,var(--pdf-panel) 50%)}
body.pdf-extract { --pdf-bg:#e9efe7;--pdf-panel:#f7faf4;--pdf-ink:#18362e;--pdf-muted:#60746c;--pdf-line:#b8c9c0;--pdf-accent:#008d72;--pdf-accent-2:#173f35;--pdf-soft:#dce7df;--pdf-display:'Newsreader',Georgia,serif;--pdf-radius:0; }
.pdf-extract .hero h1{font-weight:700;letter-spacing:-.055em;line-height:.93}.pdf-extract .pdf-preview{border-top:.45rem solid var(--pdf-accent)}.pdf-extract .pdf-preview-art{background:repeating-linear-gradient(0deg,var(--pdf-panel) 0 1.65rem,color-mix(in srgb,var(--pdf-line) 55%,var(--pdf-panel)) 1.65rem calc(1.65rem + 1px))}.pdf-extract .dropzone::after{width:5rem;height:1px;left:50%;right:auto;top:50%;bottom:auto;border:0;background:var(--pdf-accent);box-shadow:0 0 1rem var(--pdf-accent);animation:pdfScan 2.5s ease-in-out infinite}
@keyframes pdfScan{0%,100%{transform:translate(-50%,-4rem);opacity:.35}50%{transform:translate(-50%,4rem);opacity:1}}

/* Motion and responsive */
@keyframes pdfRise { from{opacity:0;transform:translateY(1rem)} to{opacity:1;transform:none} }
.pdf-workspace .hero>* { animation:pdfRise .55s both; }.pdf-workspace .hero>*:nth-child(2){animation-delay:.06s}.pdf-workspace .hero>*:nth-child(3){animation-delay:.12s}.pdf-workspace .hero>*:nth-child(4){animation-delay:.18s}.pdf-workbench{animation:pdfRise .6s .2s both}
@media (min-width:1080px) {
  .pdf-mobile-ad{display:none}.pdf-ad-rail{position:fixed;z-index:5;right:max(.5rem,calc((100vw - 96rem)/2));top:8rem;display:grid;width:10rem;height:30rem}.pdf-workspace .main{width:min(74%,76rem)}
}
@media (min-width:1280px) {.pdf-ad-rail{width:15rem;height:37.5rem}.pdf-workspace .main{width:min(76rem,calc(100% - 20rem));margin-left:max(4%,calc((100% - 90rem)/2))}}
@media (max-width:767px) {
  body.pdf-workspace .nav{width:calc(100% - 2rem)}.pdf-theme-toggle span{display:none}.pdf-theme-toggle{padding:.35rem}
  body.pdf-workspace .hero{width:calc(100% - 2rem);padding:2.5rem 0 2rem}.pdf-eyebrow{margin-bottom:1.5rem}.pdf-eyebrow b{font-size:.55rem}
  body.pdf-workspace .hero-icon{top:4.8rem;width:4.2rem;height:4.2rem;box-shadow:.3rem .3rem 0 var(--pdf-accent)}
  body.pdf-workspace .hero h1{padding-right:3.4rem;font-size:clamp(2.4rem,13vw,4.3rem);line-height:.92}
  body.pdf-workspace .hero p{font-size:.96rem}.pdf-hero-specs{grid-template-columns:1fr;margin-top:2rem}.pdf-hero-specs span,.pdf-hero-specs span+span{padding:.75rem 0;border-left:0;border-bottom:1px solid var(--pdf-line)}.pdf-hero-specs span:last-child{border-bottom:0}
  .pdf-ad-leader{height:6.25rem}.pdf-workspace .main{width:calc(100% - 2rem);padding-bottom:7rem}.pdf-workbench{grid-template-columns:1fr}.pdf-preview{position:relative;top:auto}.pdf-preview-art{min-height:16rem}
  body.pdf-workspace #uploadSection{padding:1rem}.pdf-workspace .dropzone{min-height:14rem}.pdf-workspace .options-grid{grid-template-columns:1fr}.pdf-truth{grid-template-columns:1fr}.pdf-related>div:last-child{grid-template-columns:1fr}.pdf-related a{border-right:0;border-bottom:1px solid var(--pdf-line)}
  .pdf-press .pdf-primary{transform:none;box-shadow:none}
}
@media (prefers-reduced-motion:reduce) { .pdf-workspace *, .pdf-workspace *::before,.pdf-workspace *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important} }

/* --------------------------------------------------------------------------
   Simplified task-led layouts. Each workflow gets its own composition instead
   of inheriting the same dashboard shell.
   -------------------------------------------------------------------------- */
body.pdf-workspace .hero { padding:clamp(2.5rem,5vw,4.8rem) 0 clamp(1.7rem,3vw,2.8rem); }
body.pdf-workspace .hero h1 { max-width:14ch; font-size:clamp(2.5rem,6.5vw,6rem); }
body.pdf-workspace .hero p { max-width:38rem; }
.pdf-hero-specs { display:none; }
.pdf-hero-meta { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; max-width:48rem; margin-top:1.4rem; color:var(--pdf-muted); font:500 .65rem var(--pdf-mono); }
.pdf-hero-meta span,.pdf-hero-meta strong,.pdf-hero-meta small { padding:.42rem .58rem; border:1px solid var(--pdf-line); background:var(--pdf-panel); font:inherit; }
.pdf-hero-meta strong { color:var(--pdf-ink); }
.pdf-hero-meta small { border:0; background:transparent; }
.pdf-hero-meta i { color:var(--pdf-accent); font-style:normal; }
.pdf-ad-leader { margin-bottom:clamp(1.8rem,4vw,3rem); }
body.pdf-workspace .main { width:min(92%,68rem); }
.pdf-workbench { gap:1.15rem; }
.pdf-primary,.pdf-preview { box-shadow:none; }
.pdf-preview { top:.75rem; }
.pdf-preview-art { min-height:15rem; }
body.pdf-workspace .dropzone { min-height:13.5rem; }
body.pdf-workspace .info-box { display:none!important; }
.pdf-truth { max-width:50rem; margin:1rem auto 2rem; padding:1rem; }
.pdf-ad-content { margin:2rem auto 3rem; }
body.pdf-workspace .feedback-row { padding-bottom:2rem; }

/* Document tray: upload is the hero, preview becomes a slim sequencing rail. */
.pdf-layout-tray .pdf-workbench { grid-template-columns:1fr; }
.pdf-layout-tray .pdf-preview { position:relative; order:-1; border:0; background:transparent; }
.pdf-layout-tray .pdf-preview-art { min-height:8.5rem; padding:.5rem; border:0; background:transparent; }
.pdf-layout-tray .preview-stack { transform:scale(.72); }
.pdf-layout-tray .preview-caption { position:absolute; right:1rem; bottom:1rem; text-align:right; }
.pdf-layout-tray .pdf-primary { border-top:.35rem solid var(--pdf-accent); }
.pdf-layout-tray .dropzone { min-height:15rem; }

/* Reorder: sequence card runs horizontally above a compact form. */
.pdf-layout-sequence .pdf-workbench { grid-template-columns:1fr; max-width:56rem; margin:auto; }
.pdf-layout-sequence .pdf-preview { position:relative; order:-1; }
.pdf-layout-sequence .pdf-preview-art { min-height:10rem; }
.pdf-layout-sequence .preview-sequence { flex-wrap:nowrap; align-items:center; }
.pdf-layout-sequence .preview-sequence em { width:auto; margin:0 0 0 1rem; }

/* Page cutters: the page strip leads; controls live underneath. */
.pdf-layout-filmstrip .hero-icon { display:none; }
.pdf-layout-filmstrip .hero h1 { padding-right:0; max-width:11ch; }
.pdf-layout-filmstrip .pdf-workbench { grid-template-columns:1fr; }
.pdf-layout-filmstrip .pdf-preview { position:relative; order:-1; border:0; }
.pdf-layout-filmstrip .pdf-preview-art { min-height:9rem; padding:.8rem; }
.pdf-layout-filmstrip .preview-film { max-width:40rem; margin:auto; }
.pdf-layout-filmstrip .preview-caption { display:none; }
.pdf-layout-filmstrip .pdf-primary { max-width:48rem; width:100%; margin:auto; }

/* Rotation: a literal before/after pair beside one short control surface. */
.pdf-layout-orientation .pdf-workbench { grid-template-columns:minmax(0,1fr) minmax(16rem,.75fr); }
.pdf-layout-orientation .pdf-preview { order:-1; position:relative; }
.pdf-layout-orientation .preview-rotate { transform:scale(.82); }

/* Compression: one centered action with the size dial above it. */
.pdf-layout-focus .hero { text-align:center; }
.pdf-layout-focus .hero h1,.pdf-layout-focus .hero p,.pdf-layout-focus .pdf-hero-meta { margin-left:auto; margin-right:auto; padding-right:0; justify-content:center; }
.pdf-layout-focus .hero-icon { display:none; }
.pdf-layout-focus .pdf-workbench { grid-template-columns:1fr; max-width:44rem; margin:auto; }
.pdf-layout-focus .pdf-preview { position:relative; order:-1; border:0; background:transparent; }
.pdf-layout-focus .pdf-preview-art { min-height:12rem; border:0; background:transparent; }
.pdf-layout-focus .preview-gauge { width:9.5rem; height:9.5rem; border-width:.8rem; }
.pdf-layout-focus .preview-gauge strong { font-size:1.8rem; }
.pdf-layout-focus .preview-meter { display:none; }

/* Watermark: source controls and paper stamp remain side-by-side. */
.pdf-layout-stamp .pdf-workbench { grid-template-columns:minmax(0,1.2fr) minmax(15rem,.8fr); }
.pdf-layout-stamp .pdf-preview-art { min-height:100%; }
.pdf-layout-stamp .preview-stamp .pdf-mini-page { width:8rem; height:10.5rem; }

/* Security: compact single vault, no faux enterprise dashboard. */
.pdf-layout-vault .hero { text-align:center; }
.pdf-layout-vault .hero h1,.pdf-layout-vault .hero p,.pdf-layout-vault .pdf-hero-meta { margin-left:auto; margin-right:auto; padding-right:0; justify-content:center; }
.pdf-layout-vault .hero-icon { display:none; }
.pdf-layout-vault .pdf-workbench { grid-template-columns:minmax(0,1fr) 12rem; max-width:52rem; margin:auto; }
.pdf-layout-vault .pdf-preview-art { min-height:100%; padding:.5rem; }
.pdf-layout-vault .preview-vault { width:9rem; height:9rem; box-shadow:none; }
.pdf-layout-vault .preview-vault i { transform:scale(.72); margin-bottom:.3rem; }

/* PDF → Office: conversion bridge is a horizontal header, not a second panel. */
.pdf-layout-bridge .hero-icon { display:none; }
.pdf-layout-bridge .hero h1 { padding-right:0; }
.pdf-layout-bridge .pdf-workbench { grid-template-columns:1fr; }
.pdf-layout-bridge .pdf-preview { position:relative; order:-1; border:0; background:transparent; }
.pdf-layout-bridge .pdf-preview-art { min-height:8rem; border:0; padding:.4rem; background:transparent; }
.pdf-layout-bridge .preview-bridge { max-width:25rem; }
.pdf-layout-bridge .preview-bridge>i { max-width:5rem; justify-self:center; width:100%; }
.pdf-layout-bridge .preview-caption { margin-top:.5rem; }
.pdf-layout-bridge .pdf-primary { max-width:50rem; width:100%; margin:auto; }

/* PDF → images: image pixels lead in a broad horizontal canvas. */
.pdf-layout-gallery .pdf-workbench { grid-template-columns:1fr; }
.pdf-layout-gallery .pdf-preview { position:relative; order:-1; }
.pdf-layout-gallery .pdf-preview-art { min-height:9rem; }
.pdf-layout-gallery .preview-pixels { transform:scale(.82); }
.pdf-layout-gallery .pdf-primary { max-width:52rem; width:100%; margin:auto; }

/* Office → PDF: printable result sits like a page beside the source. */
.pdf-layout-print .pdf-workbench { grid-template-columns:minmax(0,1.25fr) minmax(14rem,.6fr); }
.pdf-layout-print .pdf-preview-art { min-height:100%; }
.pdf-layout-print .preview-bridge { grid-template-columns:1fr; gap:.6rem; max-width:7rem; }
.pdf-layout-print .preview-bridge>span { transform:rotate(90deg); }
.pdf-layout-print .preview-caption { margin-top:.7rem; }

/* Text extraction: calm editorial reading surface. */
.pdf-layout-reader .hero-icon { display:none; }
.pdf-layout-reader .hero h1 { padding-right:0; }
.pdf-layout-reader .pdf-workbench { grid-template-columns:minmax(0,1fr) minmax(15rem,.65fr); }
.pdf-layout-reader .pdf-preview-art { min-height:100%; align-content:start; padding:1rem; }
.pdf-layout-reader .preview-reader { box-shadow:.4rem .4rem 0 var(--pdf-line); }

/* OCR: scanner strip first, one centered upload beneath. */
.pdf-layout-scanner .pdf-workbench { grid-template-columns:1fr; max-width:52rem; margin:auto; }
.pdf-layout-scanner .pdf-preview { position:relative; order:-1; border:0; }
.pdf-layout-scanner .pdf-preview-art { min-height:10rem; border:0; }
.pdf-layout-scanner .preview-ocr { transform:scale(.86); }

/* Table extraction: grid preview and source share equal visual weight. */
.pdf-layout-grid .pdf-workbench { grid-template-columns:minmax(0,1fr) minmax(18rem,1fr); }
.pdf-layout-grid .pdf-preview-art { min-height:100%; }
.pdf-layout-grid .preview-table { transform:scale(.92); }

@media (max-width:767px) {
  body.pdf-workspace .hero { padding:2rem 0 1.5rem; }
  body.pdf-workspace .hero h1 { font-size:clamp(2.25rem,12vw,3.8rem); }
  .pdf-hero-meta small { width:100%; padding-left:0; }
  .pdf-ad-leader { margin-bottom:1.5rem; }
  .pdf-workbench,
  .pdf-layout-orientation .pdf-workbench,.pdf-layout-stamp .pdf-workbench,
  .pdf-layout-vault .pdf-workbench,.pdf-layout-print .pdf-workbench,
  .pdf-layout-reader .pdf-workbench,.pdf-layout-grid .pdf-workbench { grid-template-columns:1fr; }
  .pdf-layout-orientation .pdf-preview,.pdf-layout-stamp .pdf-preview,
  .pdf-layout-vault .pdf-preview,.pdf-layout-print .pdf-preview,
  .pdf-layout-reader .pdf-preview,.pdf-layout-grid .pdf-preview { position:relative; order:-1; }
  .pdf-preview-art { min-height:8.5rem!important; }
  .pdf-layout-vault .preview-vault { transform:scale(.78); }
  .pdf-layout-stamp .preview-stamp { transform:scale(.74); }
  .pdf-layout-reader .preview-reader { max-width:18rem; }
  .pdf-truth { grid-template-columns:1fr; margin-top:.8rem; }
  .pdf-ad-content { height:15.6rem; }
}

/* --------------------------------------------------------------------------
   Live document previews, conversion motion, page picking
   -------------------------------------------------------------------------- */
@keyframes pdfLineIn { from{opacity:0;transform:translateY(.4rem)} to{opacity:1;transform:none} }
@keyframes pdfSheetIn { from{opacity:0;transform:translateY(.9rem) scale(.97)} to{opacity:1;transform:none} }
@keyframes pdfFlow { 0%{transform:translateX(-1.6rem);opacity:0} 20%{opacity:1} 80%{opacity:1} 100%{transform:translateX(1.6rem);opacity:0} }
@keyframes pdfSpin { to{transform:rotate(360deg)} }
@keyframes pdfDrawStroke { to{stroke-dashoffset:0} }
@keyframes pdfPop { 0%{transform:scale(.55);opacity:0} 70%{transform:scale(1.07)} 100%{transform:scale(1);opacity:1} }
@keyframes pdfChipPulse { 0%,100%{box-shadow:.3rem .3rem 0 var(--pdf-accent)} 50%{box-shadow:.3rem .3rem 0 var(--pdf-accent),0 0 0 .45rem color-mix(in srgb,var(--pdf-accent) 16%,transparent)} }

/* Live file preview — replaces the outcome art once a real file is chosen */
.pdf-live-preview { width:100%; min-width:0; }
.pdf-live-preview-content { animation:pdfSheetIn .45s both; }
.pdf-live-preview-header { display:flex; align-items:baseline; justify-content:space-between; gap:.7rem; margin-bottom:.65rem; }
.pdf-live-preview-filename { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--pdf-ink); font:700 .74rem var(--pdf-body); }
.pdf-live-preview-pages { flex:0 0 auto; color:var(--pdf-accent); font:500 .58rem var(--pdf-mono); text-transform:uppercase; letter-spacing:.1em; }
.pdf-live-canvas-wrap { display:grid; place-items:center; padding:.7rem; margin-bottom:.6rem; border:1px solid var(--pdf-line); background:var(--pdf-soft); }
.pdf-live-canvas-wrap canvas { max-width:100%; height:auto; border:1px solid var(--pdf-line); background:#fff; box-shadow:.35rem .35rem 0 color-mix(in srgb,var(--pdf-accent) 30%,transparent); animation:pdfSheetIn .5s both; }
.pdf-live-preview-body { max-height:11rem; overflow:auto; padding:.65rem .75rem; border:1px solid var(--pdf-line); background:var(--pdf-panel); }
.pdf-live-line { padding:.14rem 0; border-bottom:1px solid color-mix(in srgb,var(--pdf-line) 40%,transparent); color:var(--pdf-muted); font:400 .64rem/1.5 var(--pdf-mono); overflow-wrap:anywhere; animation:pdfLineIn .35s both; }
.pdf-live-line:last-child { border-bottom:0; }
.pdf-live-more { padding:.5rem 0 .1rem; color:var(--pdf-accent); font:500 .58rem var(--pdf-mono); text-transform:uppercase; letter-spacing:.1em; }
.pdf-live-empty { padding:.9rem .2rem; color:var(--pdf-muted); font:500 .72rem/1.6 var(--pdf-body); }
.pdf-live-preview-loading { display:flex; align-items:center; gap:.6rem; padding:.8rem .2rem; color:var(--pdf-muted); font:500 .62rem var(--pdf-mono); }
.pdf-live-preview-loading i { width:.9rem; height:.9rem; flex:0 0 auto; border:2px solid var(--pdf-line); border-top-color:var(--pdf-accent); border-radius:50%; animation:pdfSpin .8s linear infinite; }
.pdf-live-image-preview { display:block; max-width:100%; max-height:14rem; margin:auto; border:1px solid var(--pdf-line); box-shadow:.35rem .35rem 0 color-mix(in srgb,var(--pdf-accent) 30%,transparent); animation:pdfSheetIn .5s both; }

/* Merge strip — one thumbnail per queued file, in binding order */
.pdf-merge-strip { display:flex; gap:.6rem; width:100%; padding:.4rem .2rem .6rem; overflow-x:auto; }
.pdf-merge-thumb { position:relative; flex:0 0 auto; display:grid; gap:.3rem; animation:pdfPop .4s both; }
.pdf-merge-thumb canvas,.pdf-merge-thumb img { width:4.6rem; height:auto; max-height:6.4rem; object-fit:cover; border:1px solid var(--pdf-line); background:#fff; box-shadow:.25rem .25rem 0 color-mix(in srgb,var(--pdf-accent) 28%,transparent); }
.pdf-merge-thumb b { position:absolute; top:-.4rem; left:-.4rem; display:grid; place-items:center; width:1.3rem; height:1.3rem; border:1px solid var(--pdf-line); border-radius:50%; color:var(--pdf-bg); background:var(--pdf-accent); font:600 .6rem var(--pdf-mono); }
.pdf-merge-thumb span { max-width:4.6rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--pdf-muted); font:400 .52rem var(--pdf-mono); }

/* Page picker — click real page thumbnails instead of typing ranges */
.pdf-page-picker { margin-top:1rem; border:1px solid var(--pdf-line); background:var(--pdf-soft); animation:pdfSheetIn .4s both; }
.pdf-page-picker-head { display:flex; align-items:center; justify-content:space-between; gap:.7rem; padding:.65rem .8rem; border-bottom:1px solid var(--pdf-line); }
.pdf-page-picker-head b { color:var(--pdf-accent); font:500 .6rem var(--pdf-mono); text-transform:uppercase; letter-spacing:.12em; }
.pdf-page-picker-head span { color:var(--pdf-muted); font:400 .6rem var(--pdf-mono); }
.pdf-page-picker-actions { display:flex; gap:.4rem; }
.pdf-page-picker-actions button { min-height:1.9rem; padding:.25rem .6rem; border:1px solid var(--pdf-line); border-radius:0; color:var(--pdf-ink); background:var(--pdf-panel); font:600 .58rem var(--pdf-mono); cursor:pointer; }
.pdf-page-picker-actions button:hover { border-color:var(--pdf-accent); color:var(--pdf-accent); }
.pdf-page-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(4.4rem,1fr)); gap:.6rem; max-height:19rem; overflow:auto; padding:.8rem; }
.pdf-page-thumb { position:relative; display:grid; gap:.25rem; padding:0; border:2px solid var(--pdf-line); border-radius:0; background:var(--pdf-panel); cursor:pointer; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; animation:pdfPop .35s both; }
.pdf-page-thumb canvas { width:100%; height:auto; display:block; background:#fff; }
.pdf-page-thumb small { padding:.2rem 0 .3rem; color:var(--pdf-muted); font:500 .56rem var(--pdf-mono); text-align:center; }
.pdf-page-thumb:hover { transform:translateY(-2px); border-color:var(--pdf-accent); }
.pdf-page-thumb.picked { border-color:var(--pdf-accent); box-shadow:.25rem .25rem 0 var(--pdf-accent); }
.pdf-page-thumb.picked small { color:var(--pdf-accent); }
.pdf-page-thumb i { position:absolute; top:.25rem; right:.25rem; display:none; place-items:center; min-width:1.25rem; height:1.25rem; padding:0 .25rem; border-radius:50%; color:#fff; background:var(--pdf-accent); font:600 .58rem var(--pdf-mono); font-style:normal; }
.pdf-page-thumb.picked i { display:grid; animation:pdfPop .25s both; }
.pdf-page-picker.danger .pdf-page-thumb.picked { border-color:var(--pdf-danger); box-shadow:.25rem .25rem 0 var(--pdf-danger); }
.pdf-page-picker.danger .pdf-page-thumb.picked i { background:var(--pdf-danger); }
.pdf-page-picker.danger .pdf-page-thumb.picked canvas { opacity:.45; }
.pdf-page-picker-hint { padding:.55rem .8rem; border-top:1px solid var(--pdf-line); color:var(--pdf-muted); font:400 .58rem/1.5 var(--pdf-mono); }
.pdf-page-picker-hint b { color:var(--pdf-ink); font-weight:600; }

/* Conversion animation — source chip, particle flow, progress ring, ad slot */
.pdf-conversion-anim { margin-bottom:1.4rem; }
.pdf-conv-track { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; padding:1.4rem 1rem; border:1px solid var(--pdf-line); background:var(--pdf-soft); }
.pdf-conv-file { display:grid; gap:.45rem; justify-items:center; }
.pdf-conv-file i { display:grid; place-items:center; width:3.6rem; height:4.6rem; border:1px solid var(--pdf-line); color:var(--pdf-ink); background:var(--pdf-panel); font:600 .62rem var(--pdf-mono); font-style:normal; }
.pdf-conv-file span { color:var(--pdf-muted); font:500 .55rem var(--pdf-mono); text-transform:uppercase; letter-spacing:.12em; }
.pdf-conv-from i { animation:pdfChipPulse 1.8s ease-in-out infinite; }
.pdf-conv-to i { opacity:.35; border-style:dashed; transition:opacity .4s ease; }
.pdf-conv-arrow { position:relative; display:grid; gap:.4rem; justify-items:center; min-width:6.5rem; }
.pdf-conv-arrow > span { color:var(--pdf-muted); font:500 .55rem var(--pdf-mono); text-transform:uppercase; letter-spacing:.12em; }
.pdf-conv-particles { position:absolute; top:1.35rem; left:50%; width:3.2rem; transform:translateX(-50%); pointer-events:none; }
.pdf-conv-particles i { position:absolute; left:50%; width:.32rem; height:.32rem; border-radius:50%; background:var(--pdf-accent); animation:pdfFlow 1.4s linear infinite; }
.pdf-conv-particles i:nth-child(2) { top:.45rem; animation-delay:.28s; }
.pdf-conv-particles i:nth-child(3) { top:-.45rem; animation-delay:.56s; }
.pdf-conv-particles i:nth-child(4) { top:.22rem; animation-delay:.84s; }
.pdf-conv-particles i:nth-child(5) { top:-.22rem; animation-delay:1.12s; }
.pdf-conv-progress-ring { width:2.9rem; height:2.9rem; }
.pdf-conv-progress-ring svg { width:100%; height:100%; transform:rotate(-90deg); }
.pdf-conv-ring-fill { transition:stroke-dashoffset .6s ease; }
.pdf-conv-ad { margin-top:1rem; height:6.25rem; }
body.pdf-workspace .progress-bar-wrap,body.pdf-workspace .progress-bar { border-radius:0; }

/* Result — drawn checkmark plus a document-styled content preview */
.pdf-result-anim { display:grid; gap:.8rem; justify-items:center; margin-bottom:1.2rem; }
.pdf-result-check { width:4rem; height:4rem; }
.pdf-result-check svg { width:100%; height:100%; }
.pdf-result-circle { stroke-dasharray:140; stroke-dashoffset:140; animation:pdfDrawStroke .6s ease-out forwards; }
.pdf-result-checkmark { stroke-dasharray:40; stroke-dashoffset:40; animation:pdfDrawStroke .4s ease-out .5s forwards; }
.pdf-result-type { display:flex; align-items:center; gap:.6rem; }
.pdf-result-type i { display:grid; place-items:center; min-width:2.6rem; height:1.7rem; padding:0 .4rem; border:1px solid var(--pdf-good); color:var(--pdf-good); font:600 .6rem var(--pdf-mono); font-style:normal; animation:pdfPop .4s .7s both; }
.pdf-result-type span { color:var(--pdf-muted); font:500 .62rem var(--pdf-mono); text-transform:uppercase; letter-spacing:.1em; }
.pdf-doc-preview { max-width:30rem; margin:0 auto 1.2rem; text-align:left; border:1px solid var(--pdf-line); box-shadow:.45rem .45rem 0 color-mix(in srgb,var(--pdf-line) 60%,transparent); animation:pdfSheetIn .5s .3s both; }
.pdf-doc-preview-bar { display:flex; align-items:center; gap:.5rem; padding:.5rem .7rem; color:#fff; font:600 .62rem var(--pdf-body); }
.pdf-doc-preview-bar i { display:grid; place-items:center; width:1.15rem; height:1.15rem; background:rgba(255,255,255,.22); font:700 .62rem serif; font-style:normal; }
.pdf-doc-preview-bar span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pdf-doc-preview.word .pdf-doc-preview-bar { background:#185abd; }
.pdf-doc-preview.excel .pdf-doc-preview-bar { background:#107c41; }
.pdf-doc-preview.text .pdf-doc-preview-bar { background:#444; }
.pdf-doc-preview-page { max-height:13rem; overflow:auto; padding:1rem 1.1rem; background:#fff; color:#222; }
.pdf-doc-preview.word .pdf-doc-preview-page p { margin:0 0 .55rem; font:400 .74rem/1.6 'Calibri','Carlito',var(--pdf-body); }
.pdf-doc-preview.text .pdf-doc-preview-page p { margin:0 0 .3rem; font:400 .66rem/1.55 var(--pdf-mono); }
.pdf-doc-preview.excel .pdf-doc-preview-page { padding:0; }
.pdf-doc-preview.excel table { width:100%; border-collapse:collapse; font:400 .62rem/1.4 'Calibri','Carlito',var(--pdf-body); }
.pdf-doc-preview.excel td,.pdf-doc-preview.excel th { padding:.3rem .45rem; border:1px solid #d4d4d4; text-align:left; white-space:nowrap; }
.pdf-doc-preview.excel th { background:#f3f3f3; color:#444; font-weight:600; }
.pdf-doc-preview-note { padding:.5rem .7rem; border-top:1px solid var(--pdf-line); background:var(--pdf-panel); color:var(--pdf-muted); font:400 .56rem/1.5 var(--pdf-mono); }

@media (max-width:767px) {
  .pdf-conv-track { grid-template-columns:1fr; gap:.8rem; padding:1rem; }
  .pdf-conv-arrow { min-width:0; }
  .pdf-conv-particles { display:none; }
  .pdf-page-grid { grid-template-columns:repeat(auto-fill,minmax(3.6rem,1fr)); max-height:15rem; }
  .pdf-live-preview-body { max-height:8.5rem; }
}
@media (prefers-reduced-motion:reduce) {
  .pdf-result-circle,.pdf-result-checkmark { stroke-dashoffset:0; animation:none; }
}

/* Once a file is loaded the dropzone retires; the queue and action button lead. */
body.pdf-workspace.pdf-file-loaded .dropzone { display:none; }
body.pdf-workspace.pdf-file-loaded .file-list { margin-top:0; }

/* Larger, scrollable live preview */
.pdf-live-canvas-wrap { max-height:30rem; overflow:auto; position:relative; }
.pdf-live-canvas-wrap canvas { margin:auto; }
.pdf-live-preview-body { max-height:16rem; }
.pdf-ocr-suggest { display:inline-block; margin-top:.6rem; padding:.5rem .7rem; border:1px solid var(--pdf-accent); color:var(--pdf-accent); font:600 .62rem var(--pdf-mono); text-decoration:none; }
.pdf-ocr-suggest:hover { color:var(--pdf-bg); background:var(--pdf-accent); text-decoration:none; }

/* Page picker: louder header, animated rotation */
.pdf-page-picker-head { padding:.85rem .9rem; background:var(--pdf-panel); }
.pdf-page-picker-head b { font-size:.78rem; letter-spacing:.06em; color:var(--pdf-ink); border-left:.3rem solid var(--pdf-accent); padding-left:.55rem; }
.pdf-page-thumb { overflow:hidden; }
.pdf-page-thumb canvas { transition:transform .35s ease; }

/* Merge strip reorder arrows */
.pdf-merge-thumb nav { display:flex; justify-content:space-between; gap:.25rem; }
.pdf-merge-thumb nav button { flex:1; min-height:1.6rem; padding:0; border:1px solid var(--pdf-line); border-radius:0; color:var(--pdf-ink); background:var(--pdf-panel); font:700 .8rem var(--pdf-mono); cursor:pointer; }
.pdf-merge-thumb nav button:hover:not(:disabled) { border-color:var(--pdf-accent); color:var(--pdf-accent); }
.pdf-merge-thumb nav button:disabled { opacity:.3; cursor:default; }

/* Finished-file preview inside the result card */
.pdf-result-pages { width:100%; max-width:30rem; margin-top:.4rem; border:1px solid var(--pdf-line); background:var(--pdf-soft); animation:pdfSheetIn .5s .4s both; }
.pdf-result-pages > b { display:block; padding:.5rem .7rem; border-bottom:1px solid var(--pdf-line); color:var(--pdf-accent); font:500 .58rem var(--pdf-mono); text-transform:uppercase; letter-spacing:.12em; text-align:left; }
.pdf-result-pages > div { display:flex; align-items:center; gap:.55rem; padding:.7rem; overflow-x:auto; }
.pdf-result-pages canvas { flex:0 0 auto; border:1px solid var(--pdf-line); background:#fff; box-shadow:.2rem .2rem 0 color-mix(in srgb,var(--pdf-line) 60%,transparent); }
.pdf-result-pages span { color:var(--pdf-muted); font:500 .6rem var(--pdf-mono); }

/* Live watermark stamp over the rendered page */
.pdf-wm-overlay { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) rotate(-45deg); max-width:90%; overflow:hidden; color:#808080; font-weight:700; letter-spacing:.04em; white-space:nowrap; pointer-events:none; text-transform:uppercase; }

/* Protect PDF: lock badge + password strength meter */
.pdf-lock-overlay { position:absolute; right:1rem; top:1rem; padding:.45rem .6rem; border:1px solid var(--pdf-line); color:var(--pdf-ink); background:color-mix(in srgb,var(--pdf-panel) 88%,transparent); font:600 .62rem var(--pdf-mono); animation:pdfPop .4s .3s both; }
.pdf-pass-meter { margin-top:.4rem; }
.pdf-pass-meter i { display:block; width:0; height:.3rem; background:var(--pdf-danger); transition:width .25s ease,background .25s ease; }
.pdf-pass-meter[data-level="2"] i,.pdf-pass-meter[data-level="3"] i { background:#d99a1b; }
.pdf-pass-meter[data-level="4"] i,.pdf-pass-meter[data-level="5"] i { background:var(--pdf-good); }
.pdf-pass-meter span { display:block; margin-top:.3rem; color:var(--pdf-muted); font:400 .58rem var(--pdf-mono); }

/* Fair-use meter chip */
#pdfQuotaChip { color:var(--pdf-good); }
#pdfQuotaChip.pdf-quota-low { color:var(--pdf-danger); }

/* WCAG AA corrections for small preview and shared-footer copy. */
.pdf-workspace .preview-caption > span { color:#4c5a70; }
.pdf-workspace > footer { color:#52606f !important; }
