/* The Practical Byte — standalone, scoped editorial design; no global site selectors. */
body.pb-standalone{margin:0;background:#f8f9f5}
.pb-page,.pb-page *{box-sizing:border-box}
.pb-page{--pb-ink:#123d35;--pb-teal:#0d5b4c;--pb-mint:#5ad5aa;--pb-deep:#102e29;--pb-sage:#edf6ef;--pb-paper:#fffefa;--pb-quiet:#61746b;--pb-peach:#f9e6dc;--pb-line:#dfeae2;background:linear-gradient(180deg,#f7faf6 0,#fffefa 1040px);color:var(--pb-ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}
.pb-page a{color:#0b7060;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.pb-page a:hover{color:#0a4b41}
.pb-page a:focus-visible{outline:3px solid #0db887;outline-offset:4px;border-radius:3px}
.pb-container{max-width:1232px;margin-inline:auto;padding-inline:clamp(20px,4vw,52px)}
.pb-skip{position:absolute;top:-100px;left:12px;z-index:99;background:white;padding:12px 20px;border:2px solid #126e5c}.pb-skip:focus{top:12px}
.pb-site-header{border-top:7px solid #0e7058;border-bottom:1px solid #e3eae4;background:#fffefa}
.pb-site-row{max-width:1330px;margin:auto;min-height:88px;display:flex;justify-content:space-between;align-items:center;padding:13px clamp(20px,4vw,52px);gap:20px}
.pb-wordmark{display:flex;align-items:center;gap:13px;font-size:14px;font-weight:900;line-height:1.2;letter-spacing:1.05px;color:#193e35}
.pb-wordmark small{display:block;letter-spacing:.01em;font-size:11px;font-weight:500;color:#70827a;margin-top:4px}
.pb-monogram{position:relative;flex:0 0 43px;height:43px;border-radius:12px;background:#134d41;color:#fff;display:grid;place-items:center;font-size:16px;font-weight:900;letter-spacing:-2px}
.pb-dot{position:absolute;top:8px;right:6px;background:#5addb0;width:5px;height:5px;border-radius:1px}
.pb-header-category{font-size:11px;letter-spacing:.13em;font-weight:800;text-transform:uppercase;color:#2c7966;border:1px solid #cde5d7;padding:8px 14px;border-radius:99px}
.pb-masthead{padding-top:53px}
.pb-breadcrumb{font-weight:800;color:#819188;font-size:10px;letter-spacing:.14em;display:flex;align-items:center;flex-wrap:wrap;gap:11px}
.pb-breadcrumb span{color:#6fba9f}
.pb-kicker{display:flex;align-items:center;gap:15px;font-size:11px;font-weight:900;color:#208269;letter-spacing:.17em;margin-top:43px;margin-bottom:18px}
.pb-kicker-line{width:41px;height:1px;background:#81c7aa}
.pb-masthead h1{font-size:clamp(2.55rem,5.3vw,4.8rem);line-height:1.07;font-weight:800;max-width:1100px;letter-spacing:-.055em;color:#103b33;margin:0 0 25px;font-family:Georgia,"Times New Roman",serif}
.pb-deck{font-size:clamp(1.1rem,1.7vw,1.36rem);line-height:1.55;color:#506c61;max-width:840px;margin:0 0 30px}
.pb-byline{display:flex;align-items:center;gap:12px;font-size:13px;margin-bottom:30px;line-height:1.3}
.pb-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#d2ede1;border:1px solid #9dd5bc;font-size:13px;color:#156955;font-weight:900}
.pb-byline strong{display:block;font-size:13px}.pb-bylinesub{display:block;margin-top:4px;color:#718278;font-size:12px}
.pb-cover{margin:0 0 58px}.pb-cover img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;border-radius:20px;box-shadow:0 18px 50px #0d443420;border:1px solid #edf0e9}.pb-cover figcaption{font-size:12px;color:#77887f;margin-top:10px;padding-left:3px}
.pb-reading-grid{display:grid;grid-template-columns:minmax(190px,230px) minmax(0,800px);gap:clamp(32px,5vw,85px);align-items:start;padding-bottom:75px}
.pb-toc{position:sticky;top:30px;padding:0 0 10px;color:#6b8075;font-size:12px}.pb-toc-label{font-weight:900;letter-spacing:.15em;font-size:11px;color:#1b715b;margin:0 0 17px}
.pb-toc nav{border-left:1px solid #d5e6db;display:flex;flex-direction:column;gap:0}
.pb-toc nav a{border-left:3px solid transparent;margin-left:-2px;display:block;color:#60796e;font-size:12px;text-decoration:none;line-height:1.45;padding:8px 13px;font-weight:550}
.pb-toc nav a:hover{border-left-color:#49b88e;color:#125c49;background:#eff6f0}
.pb-toc-note{background:#edf6ee;border-radius:12px;margin-top:20px;padding:15px;font-size:11px;line-height:1.65;color:#557165}
.pb-article{min-width:0;background:transparent;font-size:17px;line-height:1.78;color:#30473e}
.pb-article>p:first-child{font-size:20px;line-height:1.72;color:#234e41;margin-top:0}
.pb-article p{margin:0 0 23px}
.pb-article strong{font-weight:750;color:#143f34}
.pb-article h2{scroll-margin-top:28px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,2.4vw,2.17rem);line-height:1.23;letter-spacing:-.028em;color:#123c33;margin:60px 0 20px;padding-top:4px}
.pb-article h2::before{content:"";display:block;height:3px;width:41px;border-radius:99px;background:#68ceaa;margin-bottom:20px}
.pb-article h3{scroll-margin-top:28px;color:#164f3e;font-size:1.18rem;line-height:1.4;margin:34px 0 12px;font-weight:800}
.pb-article ul,.pb-article ol{padding-left:28px;margin:3px 0 28px}.pb-article li{margin-bottom:10px;padding-left:4px}.pb-article li::marker{color:#1e9d78}
.pb-article blockquote{margin:32px 0;padding:22px 26px;border-left:4px solid #4eba91;background:#eaf6ee;border-radius:0 12px 12px 0;color:#1b5c48;line-height:1.6;font-size:17px;font-weight:550}
.pb-article blockquote p{margin:0}
.pb-article code{font-size:.88em;background:#ebf3ee;border-radius:5px;padding:2px 5px;white-space:normal;overflow-wrap:anywhere}
.pb-table-scroll{overflow-x:auto;max-width:100%;border:1px solid #dcece1;border-radius:14px;margin:29px 0 35px;box-shadow:0 6px 26px #1248360a;scrollbar-color:#77c4a4 #e8f2eb}
.pb-table-scroll:focus-visible{outline:2px solid #25866c;outline-offset:2px}
.pb-article table{border-collapse:collapse;min-width:600px;width:100%;background:#fff}
.pb-article caption{caption-side:top;text-align:left;background:#e4f2e9;font-size:12px;font-weight:850;color:#25755b;padding:12px 18px;letter-spacing:.025em}
.pb-article th{text-align:left;background:#144d3f;color:white;font-size:13px;line-height:1.45;font-weight:750;padding:15px 18px;vertical-align:top}
.pb-article td{padding:14px 18px;border-bottom:1px solid #e6efe8;font-size:14px;line-height:1.55;vertical-align:top}
.pb-article tr:nth-child(even) td{background:#f4f9f5}.pb-article tr:last-child td{border-bottom:0}
.pb-article td strong{color:#07543d}
.pb-illustration{margin:30px 0 34px}.pb-illustration img{display:block;width:100%;height:auto;border-radius:15px;background:#f1f6f1;border:1px solid #e3eae5;box-shadow:0 12px 30px #184c3710}.pb-illustration figcaption{color:#6d8275;font-size:12px;line-height:1.6;margin-top:9px;padding:0 3px}
.pb-article h2.pb-sources-heading{font-size:1.6rem}.pb-sources-list{font-size:13px;line-height:1.6;color:#596d63}.pb-sources-list li{overflow-wrap:anywhere}
.pb-editor-note{border:1px solid #d2e6d9;border-radius:14px;padding:22px 24px;background:#eef6ee;font-size:13px;line-height:1.64;margin-top:34px;color:#557165}.pb-editor-note p{margin:6px 0 0}.pb-editor-note strong{font-size:14px}
.pb-endmark{margin-top:50px;text-align:center;letter-spacing:.14em;font-weight:850;font-size:10px;color:#698d7e}.pb-endmark span{color:#66cda0;margin:0 9px}
.pb-site-footer{background:#10362e;color:#b3d2c5;padding:28px 0 40px}.pb-footer-content{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}.pb-footer-brand{color:#fff}.pb-footer-brand small{color:#aed1c2}.pb-site-footer p{max-width:400px;font-size:12px;line-height:1.6;margin:0}.pb-site-footer p span{display:block;color:#78a897}
@media(max-width:1020px){.pb-reading-grid{grid-template-columns:1fr;max-width:870px}.pb-toc{position:static;background:#edf5ee;border-radius:14px;padding:20px}.pb-toc nav{border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.pb-toc nav a{border-left:0;border-bottom:1px solid #d7e7da;margin:0;padding:9px 0}.pb-toc-note{display:none}.pb-article{padding-top:10px}.pb-cover{margin-bottom:33px}}
@media(max-width:600px){.pb-site-row{min-height:72px}.pb-wordmark{font-size:12px}.pb-wordmark small{font-size:10px}.pb-monogram{width:39px;height:39px;flex-basis:39px}.pb-header-category{display:none}.pb-masthead{padding-top:25px}.pb-kicker{margin-top:30px;flex-wrap:wrap;gap:8px;font-size:10px}.pb-kicker-line{width:20px}.pb-masthead h1{font-size:clamp(2.15rem,10vw,3rem);letter-spacing:-.048em}.pb-deck{font-size:1rem}.pb-cover img{border-radius:12px}.pb-cover figcaption{font-size:10px}.pb-reading-grid{padding-bottom:40px}.pb-toc{padding:17px}.pb-toc nav{grid-template-columns:1fr}.pb-toc nav a{font-size:12px}.pb-article{font-size:16px;line-height:1.72}.pb-article>p:first-child{font-size:17.5px}.pb-article h2{font-size:1.65rem;margin-top:45px}.pb-article h3{font-size:1.11rem}.pb-article blockquote{font-size:15px;padding:17px 18px}.pb-article td{font-size:13px}.pb-article th{font-size:12px}.pb-footer-content{align-items:flex-start;flex-direction:column;gap:15px}}
@media(prefers-reduced-motion:reduce){.pb-page *{scroll-behavior:auto!important}}
@media print{.pb-site-header,.pb-toc,.pb-site-footer{display:none}.pb-page{background:white}.pb-reading-grid{display:block}.pb-article{max-width:100%}.pb-article h2{break-after:avoid}.pb-illustration,.pb-table-scroll{break-inside:avoid}.pb-cover img{max-height:350px;object-fit:cover}}

/* Production integration: reviewer credit and shared site chrome. */
.pb-review-credit{max-width:780px;margin:13px 0 0;color:#52665e;font-size:14px}
.pb-review-credit a{font-weight:750}
.pb-standalone .site-header a,.pb-standalone .site-footer a{text-decoration:none}
.pb-standalone .site-header .brand,.pb-standalone .site-footer .brand{color:inherit}
.pb-standalone .site-header .nav a{color:var(--muted)}
.pb-standalone .site-header .nav a:hover,.pb-standalone .site-header .nav a[aria-current="page"]{color:var(--text)}
