:root{
  --ink:#171717;--paper:#f3efe7;--panel:#fffdf8;--muted:#746f66;--line:#d7d0c5;--accent:#d34a2f;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif}
.topbar{height:78px;padding:0 max(24px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#ece6da;position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:12px}.brand .mark{width:38px;height:38px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:23px}.brand strong{display:block;letter-spacing:.12em;font-size:14px}.brand span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.version{font:700 12px/1 monospace;border:1px solid var(--ink);padding:7px 9px}
main{max-width:1280px;margin:auto;padding:48px 24px 80px}.hero{max-width:930px;margin:0 auto 36px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--accent);margin:0 0 12px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,7vw,86px);line-height:.94;letter-spacing:-.04em;margin:0 0 28px;font-weight:500}.intro{font-family:Georgia,serif;font-size:20px;line-height:1.5;max-width:800px;color:#4f4a43}
.drop-zone{margin-top:36px;border:2px dashed #8f887d;min-height:250px;display:grid;place-items:center;text-align:center;padding:35px;background:rgba(255,255,255,.32);cursor:pointer;transition:.18s}.drop-zone:hover,.drop-zone.drag{background:#fff;border-color:var(--accent);transform:translateY(-2px)}.drop-zone>*{margin:5px}.drop-icon{width:58px;height:58px;border:1px solid var(--ink);display:grid;place-items:center;font-family:Georgia,serif;font-size:24px}.drop-zone h2{font-family:Georgia,serif;font-size:28px;font-weight:500}.drop-zone p,.drop-zone small{color:var(--muted)}
.hidden{display:none!important}.workspace{margin-top:44px}.document-bar,.section-heading,.export-panel{display:flex;align-items:center;justify-content:space-between;gap:24px}.document-bar{padding:22px 0;border-top:3px solid var(--ink);border-bottom:1px solid var(--line)}.document-bar h2,.section-heading h2,.export-panel h2{font-family:Georgia,serif;font-size:34px;margin:0;font-weight:500}.ghost,.primary{border:1px solid var(--ink);padding:12px 16px;background:transparent;font-weight:800;cursor:pointer}.primary{background:var(--ink);color:#fff;border-color:var(--ink);font-size:15px;padding:15px 22px}.primary:hover{background:var(--accent);border-color:var(--accent)}
.dashboard{display:grid;grid-template-columns:330px 1fr;gap:20px;margin:20px 0}.panel{background:var(--panel);border:1px solid var(--line);padding:20px}.panel-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-bottom:20px}.badge{background:#e7eadf;border-radius:999px;padding:6px 9px;font-size:10px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat{border-top:1px solid var(--line);padding-top:9px}.stat strong{display:block;font-family:Georgia,serif;font-size:28px}.stat span{font-size:11px;color:var(--muted)}.rule{height:1px;background:var(--line);margin:20px 0}.inspector h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:20px 0 10px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:11px;border:1px solid var(--line);padding:6px 8px;background:#fff}.mini-list{font-size:12px;color:#4f4a43;max-height:160px;overflow:auto}.mini-list div{padding:7px 0;border-bottom:1px dotted var(--line)}
.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;max-height:520px;overflow:auto;padding-right:4px}.page-card{background:#fff;border:1px solid #cfc8bd;box-shadow:0 3px 8px rgba(0,0,0,.05);padding:15px;display:flex;flex-direction:column;position:relative;overflow:hidden}.page-num{position:absolute;right:8px;top:7px;font:10px monospace;color:#999}.page-card h4{font-family:Georgia,serif;font-size:17px;line-height:1.1;margin:24px 0 8px}.page-card p{font-family:Georgia,serif;font-size:9px;line-height:1.45;color:#666;margin:0}.page-lines{margin-top:auto}.page-lines i{height:3px;background:#ddd;display:block;margin:5px 0}.page-lines i:nth-child(2){width:82%}.page-lines i:nth-child(3){width:67%}
.mood-section{margin-top:52px}.section-heading{align-items:flex-end;margin-bottom:18px}.section-heading>p{max-width:520px;color:var(--muted);line-height:1.5;font-size:13px}.mood-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.mood-card{background:#fff;border:1px solid var(--line);cursor:pointer;overflow:hidden;transition:.17s}.mood-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.07)}.mood-card.selected{outline:3px solid var(--accent);outline-offset:-3px}.mood-sample{min-height:270px;padding:26px;display:flex;flex-direction:column;justify-content:space-between}.mood-kicker{font-size:10px;letter-spacing:.18em;text-transform:uppercase}.mood-head{font-size:38px;line-height:.98;margin:20px 0 12px}.mood-body{font-size:13px;line-height:1.55;max-width:85%}.mood-meta{padding:14px 18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px}.mood-meta strong{font-size:13px}.mood-meta span{font-size:11px;color:var(--muted);text-align:right}
.style-editorial .mood-head{font-family:Georgia,serif;font-weight:400}.style-editorial .mood-body{font-family:Georgia,serif}.style-modern .mood-head{font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-.05em}.style-modern .mood-body{font-family:Arial,Helvetica,sans-serif}.style-humanist .mood-head{font-family:'Trebuchet MS',Arial,sans-serif;font-weight:700}.style-humanist .mood-body{font-family:'Trebuchet MS',Arial,sans-serif}.style-classic{background:#1f1e1b;color:#f6f0e5}.style-classic .mood-head{font-family:'Times New Roman',serif;text-transform:uppercase;letter-spacing:.03em}.style-classic .mood-body{font-family:Georgia,serif;color:#d6d0c4}
.export-panel{margin-top:26px;background:#e8e1d5;border:1px solid #cfc5b6;padding:26px}.export-panel>div{max-width:850px}.export-panel p{color:#5e574e;line-height:1.5}.check-row{display:flex;align-items:flex-start;gap:9px;font-size:13px;font-weight:700}.check-row input{margin-top:2px}.fineprint{font-size:11px!important}
.how{margin-top:85px;border-top:3px solid var(--ink);padding-top:25px}.how>div:first-child{display:flex;justify-content:space-between;align-items:end}.how h2{font-family:Georgia,serif;font-size:35px;margin:0}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.how-grid article{border-top:1px solid var(--line);padding-top:18px}.how-grid b{font:12px monospace;color:var(--accent)}.how-grid h3{font-family:Georgia,serif;font-size:24px;margin:12px 0 8px}.how-grid p{font-size:13px;line-height:1.55;color:var(--muted)}
footer{border-top:1px solid var(--line);padding:25px;text-align:center;font-size:11px;letter-spacing:.08em;color:var(--muted)}
@media(max-width:850px){main{padding-top:28px}.dashboard{grid-template-columns:1fr}.mood-grid{grid-template-columns:1fr}.section-heading,.export-panel{align-items:flex-start;flex-direction:column}.page-grid{grid-template-columns:repeat(2,1fr)}.how-grid{grid-template-columns:1fr}.hero h1{font-size:48px}}

.preview-actions{display:flex;align-items:center;gap:10px}.mini-btn{border:1px solid var(--ink);background:transparent;padding:7px 9px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.mini-btn:hover{background:var(--ink);color:#fff}.mini-btn:disabled{opacity:.5;cursor:wait}.pdf-status{margin:-8px 0 22px 350px;padding:10px 13px;border:1px solid var(--line);background:#fffdf8;font-size:12px;color:var(--muted)}.pdf-status .warn{color:#a13a26;font-weight:700;margin-left:8px}
.pdf-page-card{padding:0;border:1px solid #cfc8bd;background:#e9e5dd;box-shadow:0 3px 8px rgba(0,0,0,.06);cursor:pointer;position:relative;overflow:hidden;min-height:180px;display:flex;align-items:flex-start;justify-content:center}.pdf-page-card:hover{outline:2px solid var(--accent);outline-offset:-2px}.pdf-page-card canvas{display:block;width:100%;height:auto;background:white}.pdf-page-label{position:absolute;left:7px;bottom:7px;background:rgba(20,20,20,.78);color:white;padding:4px 6px;font:9px/1 monospace;z-index:1}
.lightbox{position:fixed;inset:0;background:rgba(15,14,12,.88);z-index:100;display:flex;align-items:center;justify-content:center;padding:42px}.lightbox-inner{max-width:calc(100vw - 80px);max-height:calc(100vh - 80px);display:flex;flex-direction:column;align-items:center;gap:10px}.lightbox canvas{max-width:100%;max-height:calc(100vh - 110px);width:auto;height:auto;background:white;box-shadow:0 18px 60px rgba(0,0,0,.45)}#lightboxCaption{color:#eee;font-size:12px}.lightbox>button{position:absolute;right:22px;top:15px;border:0;background:transparent;color:white;font-size:38px;line-height:1;cursor:pointer}
@media(max-width:850px){.preview-actions{flex-wrap:wrap;justify-content:flex-end}.pdf-status{margin:0 0 20px}.lightbox{padding:20px}.lightbox-inner{max-width:100%;max-height:100%}}

.page-lab{margin-top:36px;border-top:3px solid var(--ink);padding-top:24px}.page-lab-grid{display:grid;grid-template-columns:minmax(280px,.75fr) 1.7fr;gap:22px;align-items:start}.original-page-panel{background:#ded8cd;border:1px solid var(--line);padding:14px;position:sticky;top:96px}.page-lab-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:10px;color:var(--muted)}.original-page-panel canvas{display:block;width:100%;height:auto;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.1)}.page-treatment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.page-treatment{min-height:350px;border:1px solid var(--line);background:#fff;text-align:left;padding:24px;display:flex;flex-direction:column;cursor:pointer;transition:.18s;color:inherit}.page-treatment:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.08)}.page-treatment.selected{outline:3px solid var(--accent);outline-offset:-3px}.page-treatment-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:22px;opacity:.7}.page-treatment-head{font-size:34px;line-height:1.02;margin-bottom:18px;max-width:95%}.page-treatment-body{font-size:12px;line-height:1.55;max-height:155px;overflow:hidden;opacity:.82}.page-treatment-footer{margin-top:auto;padding-top:20px;border-top:1px solid rgba(120,120,120,.3);display:flex;justify-content:space-between;gap:12px;font-size:11px}.page-treatment-footer span{opacity:.7;text-align:right}.page-treatment.style-editorial .page-treatment-head{font-family:Georgia,serif;font-weight:400}.page-treatment.style-editorial .page-treatment-body{font-family:Georgia,serif}.page-treatment.style-modern .page-treatment-head{font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-.05em}.page-treatment.style-modern .page-treatment-body{font-family:Arial,Helvetica,sans-serif}.page-treatment.style-humanist .page-treatment-head{font-family:'Trebuchet MS',Arial,sans-serif;font-weight:700}.page-treatment.style-humanist .page-treatment-body{font-family:'Trebuchet MS',Arial,sans-serif}.page-treatment.style-classic{background:#1f1e1b;color:#f6f0e5}.page-treatment.style-classic .page-treatment-head{font-family:'Times New Roman',serif;text-transform:uppercase;letter-spacing:.02em}.page-treatment.style-classic .page-treatment-body{font-family:Georgia,serif}
@media(max-width:950px){.page-lab-grid{grid-template-columns:1fr}.original-page-panel{position:static;max-width:520px}.page-treatment-grid{grid-template-columns:1fr}}

.style-lab{margin-top:52px;border-top:3px solid var(--ink);padding-top:24px}.style-lab-toolbar,.style-lab-export{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#e9e2d6;border:1px solid var(--line);padding:16px 18px}.style-lab-toolbar span,.style-lab-export p{display:block;color:var(--muted);font-size:12px;margin:4px 0 0}.style-role-key,.style-row{display:grid;grid-template-columns:190px minmax(180px,.8fr) minmax(280px,1.5fr) 90px;gap:12px;align-items:center}.style-role-key{padding:10px 12px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--muted);border-bottom:1px solid var(--line)}.style-lab-list{background:var(--panel);border-left:1px solid var(--line);border-right:1px solid var(--line)}.style-row{padding:12px;border-bottom:1px solid var(--line)}.style-row:hover{background:#fff}.style-role-select{width:100%;padding:8px;border:1px solid #c9c1b5;background:#fff;font-size:12px}.style-name strong{display:block;font-size:12px}.style-name small{display:block;color:#999;font:9px/1.4 monospace;margin-top:4px;overflow:hidden;text-overflow:ellipsis}.style-type-preview{min-height:58px;border-left:3px solid var(--line);padding:7px 10px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.style-type-preview span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.style-type-preview small{font:9px/1.3 Arial,sans-serif;color:#8b857d;margin-top:5px}.master-choice{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700}.master-choice input:disabled+span{opacity:.35}.style-lab-export{margin-top:0;background:#f6f1e8}.style-empty{padding:30px;color:var(--muted);text-align:center}.style-lab-export .primary{white-space:nowrap}
@media(max-width:900px){.style-role-key{display:none}.style-row{grid-template-columns:1fr 1fr}.style-type-preview{grid-column:1/-1}.style-lab-toolbar,.style-lab-export{align-items:flex-start;flex-direction:column}}

.page-size{position:absolute;left:8px;top:7px;font:9px/1 monospace;color:#999}.page-card h4{margin-top:28px}

.page-card{width:100%;height:auto;min-height:0}.page-card[data-real-shape="true"]{height:auto}.page-grid{align-items:start}.page-card .page-size{max-width:75%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.live-preview-badge{font-size:9px;letter-spacing:.06em;padding:6px 8px;border:1px solid var(--line);background:#fff;color:var(--muted);white-space:nowrap}
.live-preview-active .page-card h4{font-family:var(--pw-head-font)!important}
.live-preview-active .page-card p{font-family:var(--pw-body-font)!important}
.live-preview-active .page-card .page-size,.live-preview-active .page-card .page-num{font-family:var(--pw-label-font)!important}
.live-preview-active .page-card{outline:1px solid rgba(211,74,47,.18)}

/* ---- v1.5 structure inspector ---- */
.inspector-section{margin-top:52px}
.insp-progress{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--line);background:var(--panel);font-size:13px;color:#4f4a43}
.insp-progress progress{flex:1;height:6px;accent-color:var(--accent)}
.insp-block{margin-top:16px}.insp-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.insp-cols .insp-block{margin-top:16px}
.insp-note{font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0 0}.insp-warn{color:#a13a26;font-weight:700}
.insp-bar{display:flex;height:14px;background:#e7e1d6;overflow:hidden}.seg-full{background:#4f7a4a}.seg-approx{background:#d9a441}.seg-unsupported{background:var(--accent)}
.insp-bar-legend{font-size:13px;line-height:1.7;margin:12px 0 0;color:#4f4a43}.lg{margin-left:12px;white-space:nowrap}.lg::before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;background:#bbb}.lg-full::before{background:#4f7a4a}.lg-approx::before{background:#d9a441}.lg-unsupported::before{background:var(--accent)}
.insp-reasons{list-style:none;padding:0;margin:12px 0 0;font-size:12px;color:#4f4a43}.insp-reasons li{padding:6px 0;border-bottom:1px dotted var(--line);display:flex;justify-content:space-between}
.insp-facts{margin:0;font-size:13px}.insp-facts>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px dotted var(--line)}.insp-facts dt{color:var(--muted)}.insp-facts dd{margin:0;text-align:right}.insp-facts .dim dd,.insp-facts .dim dt{color:#a39d92}
.insp-findings{list-style:none;padding:0;margin:0;font-size:13px;line-height:1.5}.insp-findings li{display:flex;gap:12px;padding:9px 0;border-bottom:1px dotted var(--line)}
.lvl{flex:none;width:52px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding-top:2px;color:var(--muted)}.lvl-warn{color:#8a5a12}.lvl-error{color:var(--accent)}
.insp-table{width:100%;border-collapse:collapse;font-size:12px}.insp-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:6px 10px 6px 0;border-bottom:1px solid var(--line)}.insp-table td{padding:8px 10px 8px 0;border-bottom:1px dotted var(--line);vertical-align:top}.insp-table .r{text-align:right}.insp-table code{font-size:11px}.insp-table .snip{min-width:200px}
.fstat{font-size:10px;font-weight:700;border:1px solid var(--line);padding:2px 6px;background:#fff;margin-left:4px}.fstat-bad{color:#a13a26;border-color:#e0b4a8;background:#fbefe9}
.chip-warn{border-color:#e0b4a8;background:#fbefe9;color:#a13a26}
.sup{font-size:10px;font-weight:700;padding:3px 7px;white-space:nowrap}.sup-full{background:#e1ecdc;color:#2f5a2b}.sup-approx{background:#f5e6c4;color:#7a5010}.sup-unsupported{background:#f4d9d1;color:#8f3320}
.insp-pager{display:flex;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font-weight:600}.insp-pagenum{font-size:12px}.insp-pagenum input{width:64px;padding:5px;border:1px solid var(--line);background:#fff;font:inherit}
.insp-explorer{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:24px;margin-top:14px;align-items:start}
.insp-wirebox{background:#e7e1d6;padding:10px}.insp-wire{width:100%;height:auto;display:block;background:#e7e1d6}
.wire-page{fill:#fff;stroke:var(--ink);stroke-width:.5}.wire-shape{fill:none;stroke:#bdb6aa;stroke-width:.4}.wire-art{fill:rgba(120,110,95,.12);stroke:#9b9385;stroke-width:.4;stroke-dasharray:2 1.5}.wire-hidden{opacity:.35}
.wire-frame{fill-opacity:.28;stroke-width:.6}.wire-full{fill:#4f7a4a;stroke:#2f5a2b}.wire-approx{fill:#d9a441;stroke:#8a5a12}.wire-unsupported{fill:var(--accent);stroke:#8f3320}.wire-label{font-family:Inter,Arial,sans-serif;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:.8px}
.insp-scroll{overflow:auto;max-height:420px}
.insp-pdflist{list-style:none;padding:0;margin:12px 0 0;font-size:12px;max-height:260px;overflow:auto}.insp-pdflist li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dotted var(--line)}.miss{color:#4f4a43}
.insp-actions{margin-top:16px}
@media(max-width:860px){.insp-cols,.insp-explorer{grid-template-columns:1fr}}

/* ---- v1.6 font map, print checks, verified export ---- */
.fontmap-section{margin-top:52px}
.fm-tools{display:flex;gap:8px;align-items:center;text-transform:none;letter-spacing:0}.fm-tools select{padding:6px 8px;border:1px solid var(--line);background:#fff;font:inherit;font-size:12px}
.fm-style{color:var(--muted);font-size:11px}.fm-in{width:100%;min-width:130px;padding:7px 8px;border:1px solid var(--line);background:#fff;font:inherit;font-size:12px}.fm-in:focus{outline:2px solid var(--accent);outline-offset:1px}
.fm-hint{width:90px}.fm-warn{font-size:10px;font-weight:700;color:#8a5a12;background:#f5e6c4;padding:3px 6px;white-space:nowrap}
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:14px 0 4px}.pf-grid label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.pf-grid input{padding:8px;border:1px solid var(--line);background:#fff;font:inherit;font-size:14px;color:var(--ink)}
.pc-list{list-style:none;padding:0;margin:14px 0 0}.pc-list>li{padding:12px 0;border-top:1px solid var(--line)}.pc-head{display:flex;align-items:baseline;gap:12px;font-size:13px}.pc-count{margin-left:auto;font-size:12px;color:var(--muted)}
.pc-ex{list-style:none;padding:0;margin:8px 0 0;font-size:12px}.pc-ex li{display:flex;align-items:center;gap:10px;padding:4px 0}.pc-text{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rep{margin-top:18px;padding:18px 20px;border:1px solid var(--line);border-left-width:5px;background:#fff}.rep-ok{border-left-color:#4f7a4a}.rep-bad{border-left-color:var(--accent)}.rep h3{margin:0 0 8px;font-family:Georgia,serif;font-weight:500;font-size:22px}.rep p{font-size:13px;line-height:1.55;margin:8px 0}
.rep-list{list-style:none;padding:0;margin:12px 0}.rep-list li{display:flex;gap:12px;font-size:13px;line-height:1.5;padding:7px 0;border-bottom:1px dotted var(--line)}.rep-list .mark{flex:none;width:34px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding-top:2px}.rep-list .ok .mark{color:#2f5a2b}.rep-list .bad .mark{color:var(--accent)}.rep-list code{font-size:12px}
.rep-dl{display:inline-block;margin-top:10px;text-decoration:none}
.wire-bleed{fill:none;stroke:#c9604a;stroke-width:.4;stroke-dasharray:2 1.5}.wire-safe{fill:none;stroke:#4f7a4a;stroke-width:.4;stroke-dasharray:2 1.5}

/* ---- v1.7 PDF preflight, shared printer profile, two entry points ---- */
.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}.entry-grid .drop-zone{margin-top:0}
.entry-primary{border:2px solid var(--ink);background:#fff}.entry-primary .drop-icon{background:var(--ink);color:#fff;font:700 13px/1 Inter,Arial,sans-serif;letter-spacing:.08em}
#workspace.pdf-only .idml-only{display:none!important}
.profile-section{margin:20px 0}.profile-section>summary{cursor:pointer;display:flex;gap:16px;align-items:baseline;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}
.profile-section>summary::-webkit-details-marker{display:none}.profile-section>summary::before{content:"+";font-weight:800;width:14px}.profile-section[open]>summary::before{content:"\2212"}
.profile-title{font-family:Georgia,serif;font-size:20px}.profile-summary{font-size:12px;color:var(--muted)}
.pf-group{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin:18px 0 0}.pf-check{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--ink)!important;font-size:13px!important}.pf-check input{width:auto!important}
.preflight-section{margin-top:40px}
.pf-verdict{padding:18px 20px;border:1px solid var(--line);border-left-width:6px;background:#fff}.pf-verdict h3{margin:0;font-family:Georgia,serif;font-weight:500;font-size:26px}.pf-verdict p{margin:6px 0 0;font-size:13px;color:#4f4a43}
.pf-v-bad{border-left-color:var(--accent)}.pf-v-warn{border-left-color:#d9a441}.pf-v-ok{border-left-color:#4f7a4a}
.pf-facts{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));column-gap:28px}
.pf-list{list-style:none;padding:0;margin:18px 0 0}.pf-item{padding:14px 0;border-top:1px solid var(--line)}.pf-pages{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}
.pf-thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.pf-thumb{margin:0}.pf-thumb canvas{display:block;border:1px solid var(--line);background:#fff}.pf-thumb figcaption{font-size:10px;color:var(--muted);margin-top:3px}
.pf-passed{margin-top:14px}.pf-passed>summary{cursor:pointer;font-size:13px;font-weight:700;padding:8px 0}
.lvl-info{color:var(--muted)}.lvl-pass{color:#2f5a2b}
@media(max-width:860px){.entry-grid{grid-template-columns:1fr}}

/* ---- v1.7 colour swatches and page map ---- */
.pf-colours,.pf-map{margin-top:28px;padding-top:6px;border-top:3px solid var(--ink)}.pf-colours h3,.pf-map h3{font-family:Georgia,serif;font-weight:500;font-size:26px;margin:14px 0 4px}
.pf-cgroup{margin-top:20px}.pf-cgroup h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.pf-cgroup h4 .insp-note{text-transform:none;letter-spacing:0;font-size:12px;margin-left:6px}
.colour-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 14px}
.colour-chip{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--line);background:#fff;min-width:0}.colour-chip.is-problem{border-color:#e0b4a8;background:#fbefe9}.colour-chip.is-hot{border-color:#d9a441;background:#fbf3df}
.chip-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.chip-text b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-facts{font-size:11px;color:var(--muted)}
.chip-pages{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-left:auto}
.sw{flex:none;width:28px;height:28px;border:1px solid rgba(0,0,0,.35);position:relative;background:#fff}
.sw-unknown{background:repeating-linear-gradient(45deg,#eee,#eee 4px,#ccc 4px,#ccc 5px)}
.sw-spot::after{content:"";position:absolute;right:2px;bottom:2px;width:8px;height:8px;border-radius:50%;background:#fff;border:1px solid #171717}
.sw-warn{outline:2px solid var(--accent);outline-offset:1px}
.sw-grad{border-radius:2px}.sw-reg{background:#171717}.sw-reg::before,.sw-reg::after{content:"";position:absolute;background:#fff}.sw-reg::before{left:50%;top:4px;bottom:4px;width:1px}.sw-reg::after{top:50%;left:4px;right:4px;height:1px}
.pf-more{margin-top:10px}.pf-more>summary{cursor:pointer;font-size:12px;font-weight:700;padding:6px 0}.pf-more .colour-list{margin-top:8px}
.pf-imglist{list-style:none;padding:0;margin:0;font-size:13px}.pf-imgrow{display:flex;gap:14px;padding:7px 0;border-bottom:1px dotted var(--line)}.pf-imgrow b{width:110px}.pf-imgrow.is-problem b{color:#a13a26}
.pm-legend{display:flex;gap:6px;margin:8px 0}.pm-grid{display:flex;flex-wrap:wrap;gap:3px;margin-top:8px}
.pm{font:10px/1 monospace;min-width:26px;height:22px;padding:0 5px;border:1px solid var(--line);background:#fff;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.pm-legend .pm{cursor:default}
.pm-spot{background:#f5e6c4;border-color:#d9a441;color:#7a5010;font-weight:700}.pm-rgb{background:#f4d9d1;border-color:var(--accent);color:#8f3320;font-weight:700}.pm-reg{background:#171717;border-color:#171717;color:#fff;font-weight:700}
.pm:focus-visible,.mini-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

/* v1.8 fix advice */
.pf-fix,.pf-next{margin-top:8px;font-size:.92rem}.pf-fix summary,.pf-next summary{cursor:pointer;color:var(--accent,#c2410c);font-weight:600}.pf-fix ol,.pf-next ol{margin:8px 0 0;padding-left:22px;line-height:1.5}.pf-next{margin-top:18px;padding:12px 14px;border:1px solid var(--line);border-radius:8px}

.pf-help{margin:4px 0 8px;font-size:.9rem}.pf-help summary{cursor:pointer;color:var(--accent,#c2410c)}.pf-help p{margin:6px 0 0;line-height:1.55;max-width:70ch}
footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}footer a:hover{color:var(--accent,#c2410c)}

/* v1.9 ticks and page highlights */
.ico{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font:700 12px/1 system-ui,sans-serif;font-style:normal;margin-right:6px;color:#fff;vertical-align:middle}
.ico-pass{background:#2f8a3a}.ico-error{background:#c0392b}.ico-warn{background:#c98a14}.ico-info{background:#6b7280}
.lvl{width:auto;min-width:74px}.lvl .ico{margin-right:5px}
.pf-verdict h3 .ico{width:24px;height:24px;font-size:15px}
.pf-good{margin-top:22px;padding:4px 16px 8px;border:1px solid #bfe0c3;background:#f2faf3;border-radius:8px}.pf-good h3{color:#256b2e;margin:12px 0 0}.pf-good .pf-item{border-top-color:#d6ebd9}
.pm-ok{background:#e4f4e6;border-color:#8cc794;color:#256b2e;font-weight:700}.pm-bad{background:#f8d7d2;border-color:#c0392b;color:#8f2b1f;font-weight:700}
.pf-thumb{cursor:pointer}.pf-thumb:hover canvas{outline:2px solid var(--accent,#c2410c)}
.lb-stage{position:relative;display:inline-block;line-height:0}.lightbox canvas{max-height:calc(100vh - 230px)}
.lb-overlay{position:absolute;inset:0;pointer-events:none}
.lb-box,.lb-mark{position:absolute;box-sizing:border-box}
.lb-trim{border:1px dashed #2563eb}.lb-bleed-ok{border:1.5px dashed #2f8a3a}.lb-bleed-bad{border:2px dashed #c0392b}
.lb-mark{pointer-events:auto}.lb-error{border:3px solid #e03a2b;background:rgba(224,58,43,.12)}.lb-warn{border:3px solid #e8a317;background:rgba(232,163,23,.12)}.lb-ok{border:1.5px solid rgba(47,138,58,.85)}
.lb-tag{position:absolute;left:0;top:0;transform:translateY(-100%);white-space:nowrap;font:600 11px/1.4 system-ui,sans-serif;padding:1px 6px;color:#fff;background:#c0392b;border-radius:3px 3px 0 0;pointer-events:none}
.lb-warn .lb-tag{background:#b87a0c}.lb-bleed-ok .lb-tag{background:#2f8a3a}.lb-bleed-bad .lb-tag{transform:none;top:2px;left:2px;border-radius:3px}
.lb-legend{max-width:min(92vw,820px);color:#eee;font-size:13px;line-height:1.5}
.lb-verdict{font-weight:700;font-size:15px;display:flex;align-items:center;flex-wrap:wrap}.lb-verdict.is-good{color:#7fe08a}.lb-verdict.is-bad{color:#ff9a8f}.lb-verdict.is-warn{color:#ffd27a}.lb-okn{font-weight:400;color:#bbb;margin-left:6px}
.lb-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}.lb-list li{display:flex;align-items:center}
.lb-key{margin:8px 0 0;color:#bbb;font-size:12px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.lb-key .k{display:inline-block;width:12px;height:12px;margin-right:3px;vertical-align:-2px}.k-err{border:2px solid #e03a2b}.k-warn{border:2px solid #e8a317}.k-ok{border:1.5px solid #2f8a3a}.k-trim{border:1px dashed #2563eb}
.lb-key .insp-note{color:#999}
