/* Joboo Web — blog post "pro" layer: reading tools, code blocks, anchors,
   quote sharing, feedback, lightbox, sidebar search, print. */

/* ── Reading toolbar (in hero) ── */
.pp-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pp-tb{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;font:700 13px/1 'DM Sans',system-ui,sans-serif;cursor:pointer;transition:background .18s,border-color .18s;text-decoration:none}
.pp-tb:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.32);color:#fff}
.pp-tb svg{width:16px;height:16px;flex-shrink:0}
.pp-tb.on{background:#F5C400;border-color:#F5C400;color:#111}
.pp-fs{display:inline-flex;border-radius:999px;border:1px solid rgba(255,255,255,.18);overflow:hidden}
.pp-fs button{width:40px;height:38px;border:0;background:rgba(255,255,255,.07);color:#fff;font:800 13px/1 'Nunito',sans-serif;cursor:pointer}
.pp-fs button+button{border-left:1px solid rgba(255,255,255,.18)}
.pp-fs button:hover{background:rgba(255,255,255,.16)}
.pp-fs button:disabled{opacity:.35;cursor:default}
.pp-listen-bar{position:fixed;left:50%;bottom:18px;transform:translate(-50%,140%);z-index:1050;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 16px;border-radius:999px;background:#0b1426;color:#fff;box-shadow:0 18px 40px -10px rgba(0,0,0,.5);font:600 13px/1.2 'DM Sans',system-ui,sans-serif;transition:transform .25s;max-width:calc(100vw - 32px)}
.pp-listen-bar.on{transform:translate(-50%,0)}
.pp-listen-bar .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.pp-listen-bar button{width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:grid;place-items:center;flex-shrink:0}
.pp-listen-bar button:hover{background:rgba(255,255,255,.22)}
.pp-listen-bar .pp-eq{display:flex;gap:2px;align-items:flex-end;height:14px}
.pp-listen-bar .pp-eq i{width:3px;background:#F5C400;border-radius:2px;animation:ppEq .9s ease-in-out infinite}
.pp-listen-bar .pp-eq i:nth-child(2){animation-delay:.15s}.pp-listen-bar .pp-eq i:nth-child(3){animation-delay:.3s}
.pp-listen-bar.paused .pp-eq i{animation-play-state:paused}
@keyframes ppEq{0%,100%{height:4px}50%{height:14px}}
.pa-content .pp-reading{background:color-mix(in srgb,#F5C400 18%,transparent);border-radius:8px;box-shadow:0 0 0 6px color-mix(in srgb,#F5C400 18%,transparent);transition:background .3s}

/* ── Font size steps ── */
.pa-content.pp-fs-1{font-size:16px}.pa-content.pp-fs-1>p:first-of-type{font-size:17px}
.pa-content.pp-fs-3{font-size:20px}.pa-content.pp-fs-3>p:first-of-type{font-size:21px}
.pa-content.pp-fs-4{font-size:22px}.pa-content.pp-fs-4>p:first-of-type{font-size:23px}

/* ── Time left in TOC ── */
.pp-left{font-weight:600;color:var(--soft,#66728f);font-size:11.5px;margin-left:6px;white-space:nowrap}
.pa-toc-box h2 #paPct{margin-left:auto}

/* ── Code blocks ── */
.pa-content :not(pre)>code{font:600 .86em/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:color-mix(in srgb,var(--c1,#1B6FD8) 8%,#f3f5fa);color:#0f2a5c;padding:.15em .42em;border-radius:6px;border:1px solid color-mix(in srgb,var(--c1,#1B6FD8) 14%,#e7ebf3);word-break:break-word}
.pp-code{margin:1.6em 0;border-radius:14px;overflow:hidden;background:#0d1117;border:1px solid #1f2937;box-shadow:0 14px 34px -16px rgba(2,6,23,.55)}
.pp-code-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px 8px 14px;background:#161b22;border-bottom:1px solid #222b38}
.pp-code-h .dots{display:flex;gap:6px}.pp-code-h .dots i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.pp-code-h .dots i:nth-child(2){background:#febc2e}.pp-code-h .dots i:nth-child(3){background:#28c840}
.pp-code-h .lang{font:700 11px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#8b98ad;margin-right:auto;margin-left:6px}
.pp-copy{display:inline-flex;align-items:center;gap:6px;border:1px solid #2d3748;background:#1f2633;color:#cbd5e1;border-radius:8px;padding:6px 10px;font:700 12px/1 'DM Sans',system-ui,sans-serif;cursor:pointer;transition:background .15s,color .15s}
.pp-copy:hover{background:#2a3342;color:#fff}
.pp-copy.ok{background:#14532d;border-color:#166534;color:#bbf7d0}
.pa-content .pp-code pre{margin:0;padding:16px 18px;overflow-x:auto;background:transparent;color:#e6edf3;font:13.5px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;tab-size:4;border:0;border-radius:0}
.pa-content .pp-code pre code{background:none;border:0;padding:0;color:inherit;font:inherit;white-space:pre}
.pa-content pre:not(.pp-wrapped){background:#0d1117;color:#e6edf3;padding:16px 18px;border-radius:14px;overflow-x:auto;font:13.5px/1.65 ui-monospace,Menlo,Consolas,monospace}
/* minimal highlight.js palette (used when the library loads) */
.hljs-keyword,.hljs-selector-tag,.hljs-meta .hljs-keyword{color:#ff7b72}.hljs-string,.hljs-attr-value,.hljs-regexp{color:#a5d6ff}
.hljs-title,.hljs-title.function_,.hljs-section{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-property{color:#79c0ff}
.hljs-number,.hljs-literal,.hljs-built_in{color:#79c0ff}.hljs-comment,.hljs-quote{color:#8b949e;font-style:italic}
.hljs-variable,.hljs-template-variable{color:#ffa657}.hljs-name,.hljs-tag{color:#7ee787}.hljs-meta{color:#8b949e}.hljs-type,.hljs-params{color:#e6edf3}

/* ── Heading anchors ── */
.pa-content h2,.pa-content h3{position:relative}
.pp-anchor{position:absolute;left:-1.15em;top:50%;transform:translateY(-50%);width:1em;text-align:center;opacity:0;color:var(--c1,#1B6FD8)!important;text-decoration:none!important;font-weight:800;transition:opacity .15s;border:0;background:none;cursor:pointer;padding:0;font-size:.85em}
.pa-content h2:hover .pp-anchor,.pa-content h3:hover .pp-anchor,.pp-anchor:focus{opacity:1}
@media(max-width:760px){.pp-anchor{display:none}}

/* ── Note / disclaimer paragraph ── */
.pa-content p.pp-note{font-size:14.5px;line-height:1.6;color:var(--soft,#66728f);background:#f6f8fc;border:1px dashed #d6deee;border-radius:12px;padding:12px 16px;margin-top:2em}
.pa-content p.pp-note em{color:inherit}

/* ── Quote share on text selection ── */
.pp-sel{position:absolute;z-index:1060;display:flex;gap:2px;padding:4px;border-radius:12px;background:#0b1426;box-shadow:0 12px 30px -8px rgba(0,0,0,.45);transform:translate(-50%,-100%);opacity:0;pointer-events:none;transition:opacity .12s}
.pp-sel.on{opacity:1;pointer-events:auto}
.pp-sel::after{content:'';position:absolute;left:50%;bottom:-5px;width:10px;height:10px;background:#0b1426;transform:translateX(-50%) rotate(45deg)}
.pp-sel button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:#fff;font:700 12.5px/1 'DM Sans',system-ui,sans-serif;padding:8px 10px;border-radius:8px;cursor:pointer;white-space:nowrap}
.pp-sel button:hover{background:rgba(255,255,255,.12)}
.pp-sel svg{width:15px;height:15px}

/* ── Feedback ── */
.pp-fb{margin:2.2em 0 1.4em;padding:20px 22px;border-radius:18px;background:#fff;border:1px solid var(--line,#e7ebf3);box-shadow:var(--sh-1,0 2px 8px rgba(16,24,40,.05))}
.pp-fb-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pp-fb h2{font:900 1.12rem/1.3 'Nunito',sans-serif;color:var(--ink,#0b1426);margin:0}
.pp-fb-sub{margin:4px 0 0;font-size:13.5px;color:var(--soft,#66728f)}
.pp-fb-btns{display:flex;gap:8px}
.pp-fb-b{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 18px;border-radius:12px;border:1.5px solid var(--line,#e7ebf3);background:#fff;font:800 14px/1 'Nunito',sans-serif;color:var(--ink-2,#1f2a44);cursor:pointer;transition:all .15s}
.pp-fb-b:hover{border-color:var(--c1,#1B6FD8);transform:translateY(-1px)}
.pp-fb-b[aria-pressed="true"]{background:var(--c1,#1B6FD8);border-color:var(--c1,#1B6FD8);color:#fff}
.pp-fb-more{margin-top:16px;padding-top:16px;border-top:1px solid var(--line,#e7ebf3)}
.pp-fb-q{font-weight:700;color:var(--ink,#0b1426);margin:0 0 10px;font-size:15px}
.pp-fb-reasons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.pp-fb-reasons label{cursor:pointer}
.pp-fb-reasons input{position:absolute;opacity:0;pointer-events:none}
.pp-fb-reasons span{display:inline-block;padding:8px 13px;border-radius:999px;border:1px solid var(--line,#e7ebf3);background:#f6f8fc;font-size:13.5px;font-weight:600;color:var(--ink-2,#1f2a44);transition:all .15s}
.pp-fb-reasons input:checked+span{background:color-mix(in srgb,var(--c1,#1B6FD8) 12%,#fff);border-color:var(--c1,#1B6FD8);color:var(--c1,#1B6FD8)}
.pp-fb-reasons input:focus-visible+span{outline:2px solid var(--c1,#1B6FD8);outline-offset:2px}
.pp-fb-lbl{display:block;font-size:13.5px;font-weight:700;color:var(--ink-2,#1f2a44);margin-bottom:6px}
.pp-fb-lbl small{font-weight:500;color:var(--soft,#66728f)}
.pp-fb textarea{width:100%;border:1px solid var(--line,#e7ebf3);border-radius:12px;padding:12px 14px;font:15px/1.5 inherit;resize:vertical;margin-bottom:12px;background:#fbfcfe}
.pp-fb textarea:focus{outline:0;border-color:var(--c1,#1B6FD8);box-shadow:0 0 0 3px color-mix(in srgb,var(--c1,#1B6FD8) 18%,transparent)}
.pp-fb .pa-btn{border:0;cursor:pointer}
.pp-fb-done{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#ecfdf3;color:#166534;font-weight:700;font-size:14.5px}

/* ── Sidebar search ── */
.jb-search.pp-search{display:flex;align-items:center;gap:6px;padding:5px;border-radius:14px;background:#fff;border:1px solid var(--line,#e7ebf3);box-shadow:var(--sh-1,0 2px 8px rgba(16,24,40,.05));backdrop-filter:none;max-width:none;margin:0}
.jb-search.pp-search:focus-within{border-color:var(--c1,#1B6FD8);box-shadow:0 0 0 3px color-mix(in srgb,var(--c1,#1B6FD8) 15%,transparent)}
.jb-search.pp-search>svg{margin-left:8px;color:var(--soft,#66728f);flex-shrink:0}
.jb-search.pp-search input{flex:1;min-width:0;border:0;outline:0;background:none;font:15px/1.2 inherit;color:var(--ink,#0b1426);padding:9px 4px}
.jb-search.pp-search input::placeholder{color:#94a3b8}
.jb-search.pp-search .pp-search-go{width:36px;height:36px;border-radius:10px;border:0;background:var(--ink,#0b1426);color:#fff;font-weight:800;cursor:pointer;flex-shrink:0}
.jb-search.pp-search .ls-ic{color:var(--soft,#66728f);width:32px;height:32px}
.jb-search.pp-search .ls-ic:hover{background:#f1f5f9;color:var(--ink,#0b1426)}
.jb-search.pp-search .ls-kbd{color:#94a3b8;border-color:#e2e8f0}
.jb-search.pp-search .ls-mic{display:none!important}

/* ── Lightbox ── */
.pa-content img{cursor:zoom-in}
.pp-lb{position:fixed;inset:0;z-index:2000;background:rgba(5,10,22,.92);display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .2s;cursor:zoom-out}
.pp-lb.on{opacity:1;pointer-events:auto}
.pp-lb img{max-width:100%;max-height:88vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.pp-lb p{color:#cbd5e1;text-align:center;margin:12px 0 0;font-size:14px}

/* ── Toast ── */
.pp-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);background:#0b1426;color:#fff;padding:11px 18px;border-radius:12px;font:700 14px/1.2 'DM Sans',system-ui,sans-serif;z-index:2100;opacity:0;transition:all .2s;pointer-events:none}
.pp-toast.on{opacity:1;transform:translate(-50%,0)}

@media(max-width:760px){
  .pp-tools{gap:6px}.pp-tb{height:36px;padding:0 12px;font-size:12.5px}.pp-tb .lbl-long{display:none}
  .pp-fb{padding:18px 16px}.pp-fb-btns{width:100%}.pp-fb-b{flex:1;justify-content:center}
  .pa-content .pp-code pre{font-size:12.5px;padding:14px}
}
@media(prefers-reduced-motion:reduce){.pp-listen-bar,.pp-sel,.pp-lb,.pp-toast{transition:none}.pp-listen-bar .pp-eq i{animation:none}}

/* ── Print / Save as PDF ── */
@media print{
  body>*:not(#main-content){display:none!important}
  .pa-side,.pa-cta,.pa-foot,.pa-nav,.pa-rel,.pa-more,.pa-progress,.pa-top,.pp-tools,.pp-fb,.pa-toc-m,.pp-anchor,.pp-copy,.pa-crumb{display:none!important}
  .pa,.pa-hero{background:#fff!important}
  .pa-hero{color:#000!important;padding:0 0 12px!important}
  .pa-hero::before,.pa-hero::after{display:none!important}
  .pa-hero h1,.pa-dek,.pa-by-name,.pa-by-meta,.pa-by-meta *{color:#000!important}
  .pa-layout{display:block!important}
  .pa-article{box-shadow:none!important;border:0!important;padding:0!important;background:#fff!important}
  .pa-content{font-size:12pt!important;max-width:none!important;color:#000}
  .pa-content a{color:#000;text-decoration:underline}
  .pa-content a[href^="/"]::after{content:" (jobooweb.com" attr(href) ")";font-size:9pt;color:#555}
  .pp-code{box-shadow:none;border:1px solid #ccc}
  .pp-code,.pa-content table,.pa-content img{break-inside:avoid}
  .pp-code pre{white-space:pre-wrap!important;word-break:break-word}
}
