/* Saved job-post reader — "Clear reader", the approved direction from the
   JobHelp frontend handoff (2026-09-21). Loaded after gemte-jobs.css; its
   rules build on the .post-dialog / .post-bar / .post-scroll base there.
   Only the selected reader is kept: the handoff's navigator, cards and
   design-comparison rules are left out on purpose. */

/* ===== shell ===== */
.pd-modal { --pd-ink:#233c48; --pd-muted:#617581; --pd-accent:#107e91; --pd-line:#e2eaed; width:800px; height:min(900px,calc(100dvh - 48px)); max-height:calc(100dvh - 48px); border-radius:24px; color:var(--pd-ink); box-shadow:0 28px 100px #16324430; }
.pd-modal::backdrop { background:#17334866; backdrop-filter:blur(4px); }
.pd-modal .post-bar { padding:18px 24px 10px; min-height:66px; box-sizing:border-box; }
.pd-modal .post-close { flex-shrink:0; }
.pd-bar-actions { display:flex; align-items:center; gap:20px; }
.pd-source-toggle { display:flex; align-items:center; gap:5px; border:0; padding:4px 0; background:none; color:#237388; font:500 12px var(--font-body); cursor:pointer; white-space:nowrap; }
.pd-modal .post-scroll { padding:32px 44px 28px; scrollbar-color:#bdcdd4 transparent; scrollbar-gutter:stable; scroll-behavior:smooth; }

/* ===== identity (position name, company, source actions) ===== */
.pd-modal .pd-identity h2 { font:600 34px/1.2 var(--font-body); letter-spacing:-1px; color:#233c48; margin:0 0 10px; }
.pd-company { display:flex; gap:8px; flex-wrap:wrap; color:#657985; font-size:14px; line-height:1.6; margin:0; }
.pd-original-link { position:relative; display:inline-flex; align-items:center; gap:7px; min-height:36px; margin-top:7px; padding:4px 0; color:#19758a; font:500 13px/1.5 var(--font-body); text-decoration:none; }
.pd-original-link svg { width:14px; height:14px; flex-shrink:0; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; fill:none; }
a.pd-original-link:hover { color:#10596b; text-decoration:underline; text-underline-offset:4px; }
.pd-original-link:focus-visible { outline:2px solid #12899f; outline-offset:4px; border-radius:3px; }
.pd-link-placeholder { cursor:help; }
.pd-link-tooltip { position:absolute; z-index:2; top:100%; left:0; width:240px; max-width:calc(100vw - 100px); padding:10px 12px; border:1px solid #dce7eb; border-radius:8px; background:#fff; color:#526d7a; box-shadow:0 5px 18px #203b4a15; font-size:12px; font-weight:400; line-height:1.5; opacity:0; visibility:hidden; pointer-events:none; }
.pd-link-placeholder:hover .pd-link-tooltip,.pd-link-placeholder:focus .pd-link-tooltip { opacity:1; visibility:visible; }

/* ===== facts strip ===== */
.pd-facts { margin:24px 0 30px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; padding:20px 24px; border:1px solid #dfebee; border-radius:14px; background:#f5f9fa; }
.pd-facts dt { color:#728691; font-size:12px; line-height:1.4; margin-bottom:4px; }
.pd-facts dd { margin:0; color:#304f5d; font-size:14px; font-weight:550; line-height:1.5; overflow-wrap:anywhere; }

/* ===== reading ===== */
.pd-modal .post-content { color:#435b67; font-size:16px; line-height:1.85; }
.pd-modal .post-content p { margin:0 0 16px; }
.pd-section { margin:0; padding:28px 0; border-top:1px solid var(--pd-line); scroll-margin-top:24px; }
.pd-section:first-child { border-top:0; padding-top:0; }
.pd-section-heading { display:flex; gap:12px; align-items:baseline; margin-bottom:16px; }
.pd-modal .post-content h3 { color:#233c48; font-size:20px; line-height:1.4; font-weight:600; letter-spacing:-.3px; margin:0; }
.pd-modal .pd-list { list-style:none; padding:0; margin:0; }
.pd-modal .pd-list li { position:relative; padding:0 0 0 22px; margin:0 0 13px; }
.pd-list li::before { content:''; width:5px; height:5px; border-radius:50%; background:#5494a3; position:absolute; top:.83em; left:2px; }
.pd-endnote { font-size:12px; color:#8a9aa4; text-align:center; padding:16px 0 4px; }
.pd-modal button:focus-visible,.pd-modal a:focus-visible { outline:2px solid #12899f; outline-offset:3px; }
.pd-section:focus { outline:none; }
.pd-section:focus-visible { outline:2px solid #12899f; outline-offset:6px; border-radius:4px; }

/* "View saved text": the description exactly as captured, never rewritten. */
.pd-source-note { margin:24px 0; background:#f0f5f7; border-radius:8px; padding:12px 16px; font-size:12px; color:#647c88; }
.pd-original .post-scroll { background:white; }
.pd-raw { max-width:68ch; }

@media(max-width:720px) {
 .pd-modal { width:calc(100vw - 20px); max-width:calc(100vw - 20px); height:calc(100dvh - 24px); max-height:calc(100dvh - 24px); border-radius:18px; }
 .pd-modal .post-bar { padding:12px 16px 8px; min-height:60px; }
 .pd-original-link { min-height:44px; font-size:14px; margin-top:4px; }
 .pd-source-toggle { font-size:11px; min-height:30px; }
 .pd-modal .post-scroll { padding:24px 20px; }
 .pd-modal .pd-identity h2 { font-size:28px; }
 .pd-company { font-size:13px; gap:6px; }
 .pd-facts { grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px; gap:16px; margin:20px 0 24px; }
 .pd-modal .post-content { font-size:16px; line-height:1.8; }
 .pd-modal .post-content h3 { font-size:19px; }
 .pd-section { padding:24px 0; }
}
@media(prefers-reduced-motion:reduce) { .pd-modal .post-scroll { scroll-behavior:auto; } }

/* ===== Clear reader — quieter chrome, compact facts, stronger reading rhythm ===== */
.pd-reader { width:780px; border:1px solid #ffffffb3; border-radius:24px; }
.pd-modal.pd-reader .post-bar { padding:14px 24px 14px 32px; min-height:72px; border-bottom:1px solid #e8eef0; }
.pd-reader .pd-bar-actions .pd-source-toggle { min-height:40px; font-size:13px; padding:8px 10px; border-radius:8px; color:#476f7e; }
.pd-reader .pd-bar-actions .pd-source-toggle:hover { background:#f0f6f7; color:#126e81; }
.pd-reader .post-close { background:#f2f6f7; width:38px; height:38px; }
.pd-reader .post-scroll { padding:28px 40px 28px; scrollbar-color:#c4d3d9 transparent; }
.pd-reader .pd-identity { padding-bottom:0; }
.pd-reader .pd-identity h2 { font-size:36px; font-weight:550; line-height:1.18; letter-spacing:-1.1px; margin-bottom:10px; color:#223d49; text-wrap:balance; }
.pd-reader .pd-company { color:#5b7683; font-size:15px; line-height:1.6; }
.pd-reader .pd-facts { grid-template-columns:.9fr .9fr 1fr 1.4fr; gap:16px; margin:24px 0 28px; padding:18px 20px; background:#f6f9fa; border:1px solid #e5edef; border-radius:12px; }
.pd-reader .pd-facts dt { color:#627b88; font-size:12px; line-height:1.5; margin-bottom:4px; }
.pd-reader .pd-facts dd { color:#304e5c; font-size:14px; font-weight:550; line-height:1.6; text-wrap:pretty; }
.pd-reader .pd-facts>div+div { padding-left:16px; border-left:1px solid #dfe9ed; }
/* A long value (a full address) takes a full-width row; the strip drops to two columns. */
.pd-reader .pd-facts:has(.pd-fact-wide) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pd-reader .pd-facts .pd-fact-wide { grid-column:1/-1; }
.pd-reader .pd-facts:has(.pd-fact-wide)>div { padding-left:0; border-left:0; }
/* Fewer than four facts: give each what is there. */
.pd-reader .pd-facts[data-count="1"] { grid-template-columns:1fr; }
.pd-reader .pd-facts[data-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pd-reader .pd-facts[data-count="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pd-reader .post-content { color:#405967; font-size:16px; line-height:1.75; }
.pd-reader .post-content p { margin:0 0 14px; text-wrap:pretty; }
.pd-reader .pd-section { padding:24px 0; border-top:1px solid #e8eef0; }
.pd-reader .pd-section:first-child { padding-top:24px; }
.pd-reader .pd-section-heading { margin-bottom:12px; }
.pd-reader .post-content h3 { position:relative; color:#243f4d; font-size:20px; font-weight:600; line-height:1.45; letter-spacing:-.3px; text-wrap:pretty; }
.pd-reader .pd-section>p:last-child { margin-bottom:0; }
.pd-reader .pd-list li { padding-left:20px; margin-bottom:10px; text-wrap:pretty; }
.pd-reader .pd-list li:last-child { margin-bottom:0; }
.pd-reader .pd-list li::before { width:4px; height:4px; top:calc(.875em - 2px); left:3px; background:#7c9aa5; }
.pd-reader .pd-endnote { display:flex; gap:12px; align-items:center; margin-top:0; color:#738995; font-size:12px; line-height:1.5; padding:8px 0 0; }
.pd-reader .pd-endnote::before,.pd-reader .pd-endnote::after { content:''; height:1px; flex:1; background:#e4ecef; }
.pd-reader.pd-original .pd-source-note { margin-top:24px; }
@media(max-width:720px) {
 .pd-reader { width:calc(100vw - 20px); }
 .pd-modal.pd-reader .post-bar { padding:10px 16px 10px 22px; min-height:66px; }
 .pd-reader .pd-bar-actions { gap:8px; }
 .pd-reader .post-close { width:44px; height:44px; }
 .pd-reader .pd-bar-actions .pd-source-toggle { min-height:44px; font-size:12px; padding:8px; }
 .pd-reader .post-scroll { padding:26px 24px 24px; }
 .pd-reader .pd-identity h2 { font-size:30px; letter-spacing:-.7px; }
 .pd-reader .pd-company { font-size:14px; }
 .pd-reader .pd-facts,.pd-reader .pd-facts[data-count="3"] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 20px; padding:16px; margin:20px 0 24px; }
 .pd-reader .pd-facts>div+div { padding-left:0; border-left:0; }
 .pd-reader .pd-facts dd { font-size:14px; }
 .pd-reader .pd-section,.pd-reader .pd-section:first-child { padding:22px 0; }
 .pd-reader .post-content h3 { font-size:19px; }
 .pd-reader .pd-section-heading { margin-bottom:10px; }
 .pd-reader .post-content { font-size:16px; line-height:1.75; }
}
@media(max-width:360px) {
 .pd-reader .post-scroll { padding-left:20px; padding-right:20px; }
 .pd-reader .pd-facts { padding:14px; gap:14px; }
 .pd-reader .pd-bar-actions { gap:4px; }
}

/* ===== header: position name is the reader header; the job ad is a secondary action ===== */
.pd-modal .pd-original-link { gap:8px; min-height:36px; padding:7px 12px; margin-top:14px; border:1px solid #d7e5e9; border-radius:8px; background:#fff; color:#356979; font-size:13px; line-height:20px; font-weight:500; }
.pd-modal a.pd-original-link:hover { background:#f1f7f8; border-color:#adcdd5; color:#1b6073; text-decoration:none; }
.pd-modal.pd-reader .post-bar { align-items:flex-start; padding:28px 28px 24px 40px; gap:20px; }
.pd-modal.pd-reader .post-bar .pd-identity { min-width:0; flex:1; }
.pd-modal.pd-reader .post-bar .pd-identity h2 { font-size:32px; margin:0 0 6px; overflow-wrap:anywhere; }
.pd-modal.pd-reader .post-bar .pd-bar-actions { gap:8px; align-items:center; }
.pd-job-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-top:16px; }
.pd-modal .pd-job-actions .pd-original-link { margin:0; }
.pd-reader .pd-job-actions .pd-original-link { box-sizing:border-box; min-height:38px; }
.pd-modal.pd-reader .post-bar .pd-job-actions .pd-source-toggle { position:static; min-height:38px; padding:7px 2px; background:transparent; border:0; border-radius:4px; color:#657d89; font-size:13px; line-height:20px; }
.pd-modal.pd-reader .post-bar .pd-job-actions .pd-source-toggle:hover { color:#245f72; text-decoration:underline; text-underline-offset:4px; }
.pd-modal.pd-reader .post-scroll { padding-top:24px; }
.pd-modal.pd-reader .post-scroll>.pd-facts { margin-top:0; }
.pd-modal.pd-reader .post-scroll>.pd-source-note { margin-top:0; }
.pd-reader .pd-link-tooltip { margin-top:8px; }
@media(max-width:720px) {
 .pd-modal.pd-reader .post-bar { position:relative; padding:24px 24px 20px; gap:8px; }
 .pd-modal.pd-reader .post-bar .pd-identity h2 { font-size:27px; padding-right:44px; }
 .pd-modal.pd-reader .post-bar .pd-bar-actions { display:contents; }
 .pd-modal.pd-reader .post-bar .post-close { position:absolute; top:18px; right:18px; }
 .pd-modal.pd-reader .post-bar .pd-job-actions .pd-source-toggle { min-height:44px; }
 .pd-modal .pd-original-link { min-height:44px; margin-top:12px; }
 .pd-reader .pd-job-actions .pd-original-link { min-height:44px; }
}
@media(max-width:360px) {
 .pd-modal.pd-reader .post-bar { padding-left:20px; padding-right:20px; }
 .pd-reader .pd-job-actions { column-gap:12px; }
}
