/* ProxyLook eBooks: shared component styles (print PDF + web reader).
   Everything is scoped to .bk and sized in em so one sheet serves both. */
.bk{--bk-ink:#0c1628;--bk-ink2:#27324a;--bk-muted:#5d6b80;--bk-muted2:#8a95a8;--bk-line:#dfe4ec;--bk-paper:#fff;--bk-paper2:#f3f6fa;
--bk-accent:#1e60d6;--bk-accent2:#4f86e8;--bk-accent-soft:#e8f0fc;--bk-accent-ink:#0d3a8c;
--bk-good:#0b8457;--bk-good-soft:#e5f6ee;--bk-warn:#a8650a;--bk-warn-soft:#fdf3df;--bk-slate-soft:#eef1f6;
--bk-box:#0c1628;--bk-box-ink:#f1f4f9;--bk-box-muted:#a9b6cc;--bk-code:#0f1729;--bk-code-ink:#e3e9f4;--bk-code-bar:#18233b;
--bk-sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--bk-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
font-family:var(--bk-sans);color:var(--bk-ink2);line-height:1.62;-webkit-font-smoothing:antialiased;font-feature-settings:"cv05","cv08","ss01"}
.bk *{box-sizing:border-box}
.bk p{margin:0 0 .85em}
.bk p.lead{font-size:1.2em;line-height:1.52;color:var(--bk-ink);font-weight:500;margin-bottom:1.1em;letter-spacing:-.005em}
.bk h2{font-size:1.62em;line-height:1.2;font-weight:800;color:var(--bk-ink);letter-spacing:-.02em;margin:1.7em 0 .55em;padding-top:.72em;background:linear-gradient(var(--bk-accent),var(--bk-accent)) left top/2.1em .19em no-repeat;break-after:avoid;break-inside:avoid}
.bk h3{font-size:1.14em;line-height:1.3;font-weight:700;color:var(--bk-ink);letter-spacing:-.01em;margin:1.35em 0 .4em;break-after:avoid}
.bk h4{font-size:1em;font-weight:700;color:var(--bk-ink);margin:0 0 .3em}
.bk strong,.bk b{font-weight:700;color:var(--bk-ink)}
.bk a{color:var(--bk-accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--bk-accent) 35%,transparent);text-underline-offset:.16em}
.bk ul,.bk ol{margin:0 0 .95em;padding-left:1.35em}
.bk ul{list-style:disc}.bk ol{list-style:decimal}
.bk li{margin:.28em 0;padding-left:.15em}
.bk li::marker{color:var(--bk-accent);font-weight:700}
.bk code{font-family:var(--bk-mono);font-size:.86em;background:var(--bk-paper2);border:1px solid var(--bk-line);border-radius:.3em;padding:.08em .34em;color:var(--bk-ink);overflow-wrap:anywhere}
.bk figure{margin:1.25em 0 1.35em;break-inside:avoid}
.bk figcaption{font-size:.82em;color:var(--bk-muted);margin-top:.6em;line-height:1.45}
.bk figure.dg>figcaption::before,.bk figure.tbl>figcaption::before{content:"";display:inline-block;width:.5em;height:.5em;border-radius:50%;background:var(--bk-accent);margin-right:.5em;vertical-align:.08em}

/* callouts */
.bk .note{margin:1.2em 0;padding:.95em 1.1em .95em 1.15em;border-radius:.6em;border:1px solid var(--bk-line);border-left:.26em solid var(--bk-accent);background:var(--bk-accent-soft);break-inside:avoid}
.bk .note p{margin:0;font-size:.95em;line-height:1.55}
.bk .note p+p{margin-top:.5em}
.bk .note-t{display:block;font-size:.95em;margin-bottom:.25em;color:var(--bk-ink)}
.bk .note-t::before{font-size:.74em;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-right:.7em;padding:.18em .55em;border-radius:.4em;vertical-align:.12em;color:#fff;background:var(--bk-accent);content:"Key idea"}
.bk .note.tip{background:var(--bk-good-soft);border-left-color:var(--bk-good)}
.bk .note.tip .note-t::before{content:"Tip";background:var(--bk-good)}
.bk .note.warn{background:var(--bk-warn-soft);border-left-color:var(--bk-warn)}
.bk .note.warn .note-t::before{content:"Watch out";background:var(--bk-warn)}
.bk .note.example{background:var(--bk-slate-soft);border-left-color:var(--bk-muted)}
.bk .note.example .note-t::before{content:"Example";background:var(--bk-muted)}

/* takeaways */
.bk .takeaways{margin:1.9em 0 0;padding:1.3em 1.45em 1.15em;border-radius:.8em;background:var(--bk-box);color:var(--bk-box-ink);break-inside:avoid}
.bk .takeaways h3{margin:0 0 .65em;color:#fff;font-size:.8em;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.bk .takeaways h3::before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--bk-accent2);margin-right:.6em}
.bk .takeaways ul{list-style:none;padding:0;margin:0}
.bk .takeaways li{position:relative;padding:.42em 0 .42em 1.7em;margin:0;border-top:1px solid rgba(255,255,255,.1);font-size:.95em;line-height:1.5;color:var(--bk-box-ink)}
.bk .takeaways li:first-child{border-top:0}
.bk .takeaways li::before{content:"";position:absolute;left:0;top:.72em;width:1em;height:1em;border-radius:50%;background:var(--bk-accent2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.2 8.3l2.4 2.4 5.2-5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.bk .takeaways strong,.bk .takeaways b,.bk .takeaways code{color:#fff}
.bk .takeaways code{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14)}
.bk .takeaways a{color:#bcd3fb}

/* tables */
.bk figure.tbl{break-inside:auto}
.bk figure.tbl table{width:100%;border-collapse:separate;border-spacing:0;font-size:.88em;line-height:1.42;border:1px solid var(--bk-line);border-radius:.6em;overflow:hidden}
.bk figure.tbl th{background:var(--bk-box);color:#fff;text-align:left;font-weight:700;font-size:.86em;letter-spacing:.03em;padding:.62em .8em;vertical-align:bottom}
.bk figure.tbl td{padding:.58em .8em;border-top:1px solid var(--bk-line);vertical-align:top;color:var(--bk-ink2);background:var(--bk-paper)}
.bk figure.tbl tbody tr:nth-child(even) td{background:var(--bk-paper2)}
.bk figure.tbl td:first-child{font-weight:600;color:var(--bk-ink)}
.bk figure.tbl tr{break-inside:avoid}
.bk figure.tbl thead{display:table-header-group}
.bk table.ifthen td:first-child{width:42%;background:var(--bk-accent-soft)!important;color:var(--bk-accent-ink)}

/* code */
.bk figure.code{background:var(--bk-code);border-radius:.7em;overflow:hidden;border:1px solid #1d2a45}
.bk figure.code figcaption{margin:0;padding:.55em 1em;background:var(--bk-code-bar);color:#9fb0cc;font-family:var(--bk-mono);font-size:.72em;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:.7em}
.bk figure.code figcaption::before{content:"";width:2.6em;height:.62em;flex:none;background:radial-gradient(circle at .31em 50%,#ff6058 .3em,transparent .32em),radial-gradient(circle at 1.3em 50%,#ffbd2e .3em,transparent .32em),radial-gradient(circle at 2.29em 50%,#28c941 .3em,transparent .32em)}
.bk figure.code pre{margin:0;padding:1em 1.15em 1.1em;overflow-x:auto;white-space:pre;tab-size:4}
.bk figure.code code{display:block;background:none;border:0;padding:0;color:var(--bk-code-ink);font-size:.8em;line-height:1.62;overflow-wrap:normal}
.bk .c-com{color:#7f8fab}.bk .c-str{color:#9be29b}.bk .c-kw{color:#8fb8ff}.bk .c-num{color:#f6c177}

/* flow */
.bk .flow{display:flex;align-items:stretch;gap:0}
.bk .flow .node{flex:1 1 0;min-width:0;border:1.5px solid var(--bk-line);background:var(--bk-paper);border-radius:.7em;padding:.85em .6em;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:.22em}
.bk .flow .node b{display:block;font-size:.92em;line-height:1.25}
.bk .flow .node span{display:block;font-size:.76em;color:var(--bk-muted);line-height:1.3;overflow-wrap:anywhere}
.bk .flow .node.hl{border-color:var(--bk-accent);background:var(--bk-accent-soft);box-shadow:0 0 0 .22em color-mix(in srgb,var(--bk-accent) 12%,transparent)}
.bk .flow .node.hl b{color:var(--bk-accent-ink)}
.bk .flow .hop{flex:0 0 4.4em;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.25em;font-size:.68em;font-weight:600;letter-spacing:.02em;color:var(--bk-muted);text-align:center;line-height:1.15;padding:0 .3em}
.bk .flow .hop::after{content:"";display:block;width:100%;height:.9em;background:linear-gradient(var(--bk-accent),var(--bk-accent)) left center/calc(100% - .55em) 1.5px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 10'%3E%3Cpath d='M0 0l8 5-8 5z' fill='%231e60d6'/%3E%3C/svg%3E") right center/.62em .78em no-repeat}

/* tiers */
.bk .tiers{display:grid;gap:.55em}
.bk .tier{border:1px solid var(--bk-line);border-left:.32em solid var(--bk-accent);border-radius:.6em;padding:.75em 1em .8em;background:var(--bk-paper);break-inside:avoid}
.bk .tier:nth-child(2){border-left-color:color-mix(in srgb,var(--bk-accent) 76%,var(--bk-paper))}
.bk .tier:nth-child(3){border-left-color:color-mix(in srgb,var(--bk-accent) 54%,var(--bk-paper))}
.bk .tier:nth-child(4){border-left-color:color-mix(in srgb,var(--bk-accent) 36%,var(--bk-paper))}
.bk .tier:nth-child(n+5){border-left-color:color-mix(in srgb,var(--bk-accent) 22%,var(--bk-paper))}
.bk .tier-h{display:flex;justify-content:space-between;align-items:baseline;gap:1em}
.bk .tier-h b{font-size:1em}
.bk .tier-h span{font-size:.72em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bk-accent-ink);background:var(--bk-accent-soft);border-radius:2em;padding:.22em .7em;white-space:nowrap}
.bk .tier p{margin:.25em 0 .55em;font-size:.9em;line-height:1.45;color:var(--bk-ink2)}
.bk .meter{height:.38em;border-radius:1em;background:var(--bk-paper2);overflow:hidden;border:1px solid var(--bk-line)}
.bk .meter::after{content:"";display:block;height:100%;width:calc(var(--v,50)*1%);background:linear-gradient(90deg,var(--bk-accent),var(--bk-accent2));border-radius:1em}

/* bars */
.bk .bars{display:grid;gap:.62em;border:1px solid var(--bk-line);border-radius:.7em;padding:1em 1.1em;background:var(--bk-paper)}
.bk .bar{display:grid;grid-template-columns:8.6em 1fr 7.2em;align-items:center;gap:.8em}
.bk .bar-l{font-size:.88em;font-weight:600;color:var(--bk-ink);line-height:1.25}
.bk .bar-t{display:block;height:.95em;border-radius:.3em;background:var(--bk-paper2);overflow:hidden}
.bk .bar-t i{display:block;height:100%;border-radius:.3em;background:linear-gradient(90deg,var(--bk-accent),var(--bk-accent2))}
.bk .bar-v{font-size:.8em;color:var(--bk-muted);line-height:1.25}

/* cards */
.bk .cards{display:grid;gap:.7em;margin:1.15em 0 1.3em}
.bk .cards.c2{grid-template-columns:1fr 1fr}.bk .cards.c3{grid-template-columns:1fr 1fr 1fr}
.bk .card{border:1px solid var(--bk-line);border-top:.22em solid var(--bk-accent);border-radius:.6em;padding:.85em .95em .8em;background:var(--bk-paper);break-inside:avoid}
.bk .card p,.bk .card li{font-size:.9em;line-height:1.48}
.bk .card p{margin:0 0 .4em}.bk .card p:last-child{margin-bottom:0}
.bk .card ul{margin:.2em 0 0;padding-left:1.15em}

/* steps + checklist */
.bk ol.steps{list-style:none;counter-reset:st;padding:0;margin:1.1em 0 1.25em}
.bk ol.steps>li{counter-increment:st;position:relative;padding:0 0 .85em 2.75em;margin:0;break-inside:avoid}
.bk ol.steps>li::before{content:counter(st);position:absolute;left:0;top:0;width:1.9em;height:1.9em;border-radius:50%;background:var(--bk-accent);color:#fff;font-weight:800;font-size:.9em;display:flex;align-items:center;justify-content:center}
.bk ol.steps>li::after{content:"";position:absolute;left:.85em;top:1.85em;bottom:.15em;width:1.5px;background:var(--bk-line)}
.bk ol.steps>li:last-child::after{display:none}
.bk ul.check{list-style:none;padding:0;margin:1em 0 1.2em;border:1px solid var(--bk-line);border-radius:.7em;background:var(--bk-paper);overflow:hidden}
.bk ul.check>li{position:relative;margin:0;padding:.55em .9em .55em 2.5em;border-top:1px solid var(--bk-line);font-size:.94em;line-height:1.45;break-inside:avoid}
.bk ul.check>li:first-child{border-top:0}
.bk ul.check>li::before{content:"";position:absolute;left:.85em;top:.68em;width:1.02em;height:1.02em;border:1.5px solid var(--bk-accent);border-radius:.25em;background:var(--bk-paper)}

/* pull quote */
.bk blockquote.pull{margin:1.5em 0;padding:.2em 0 .2em 1.1em;border-left:.28em solid var(--bk-accent);font-size:1.42em;line-height:1.3;font-weight:700;letter-spacing:-.02em;color:var(--bk-ink);break-inside:avoid}

/* layers */
.bk .layers{display:grid;gap:.34em}
.bk .layer{display:grid;grid-template-columns:13.5em 1fr;gap:1em;align-items:center;padding:.62em 1em;border-radius:.5em;background:var(--bk-accent-soft);border:1px solid color-mix(in srgb,var(--bk-accent) 18%,var(--bk-line));break-inside:avoid}
.bk .layer b{font-size:.9em;color:var(--bk-accent-ink);line-height:1.25}
.bk .layer span{font-size:.86em;color:var(--bk-ink2);line-height:1.4}
.bk .layer:nth-child(even){background:var(--bk-paper2);border-color:var(--bk-line)}
.bk .layer:nth-child(even) b{color:var(--bk-ink)}
