/* The Practical Byte — scoped standalone editorial styles. No JavaScript dependencies. */
:root{color-scheme:light}
body{margin:0;background:#f7f6f2}
.tpb-page{--tpb-ink:#183b38;--tpb-teal:#12584f;--tpb-mint:#42cca0;--tpb-cream:#fbf8f1;--tpb-muted:#566c68;--tpb-border:#d8e5dd;--tpb-peach:#f9e5d9;--tpb-white:#fff;box-sizing:border-box;min-height:100vh;color:var(--tpb-ink);background:linear-gradient(180deg,#f0f6f0 0,#faf9f5 490px,#f8f7f3 100%);font:400 17px/1.83 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.tpb-page *,.tpb-page *:before,.tpb-page *:after{box-sizing:border-box}
.tpb-page a{color:#096b5a;text-underline-offset:3px;text-decoration-thickness:1px}
.tpb-page a:hover{color:#073d36}
.tpb-page a:focus-visible,.tpb-page button:focus-visible{outline:3px solid #e29960;outline-offset:4px;border-radius:4px}
.tpb-topline{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px max(24px,calc((100vw - 1280px)/2));background:#0d3835;color:#fff}
.tpb-brand{display:flex;align-items:center;gap:12px;line-height:1.22}.tpb-brand strong{font-size:12px;letter-spacing:.12em;display:block}.tpb-brand small{font-size:11px;font-weight:400;color:#b7e2d5;display:block;margin-top:5px;letter-spacing:.02em}.tpb-monogram{display:inline-flex;align-items:center;justify-content:center;background:#53d1a6;color:#0b3d37;width:42px;height:42px;border-radius:11px;font-size:17px;font-weight:900;letter-spacing:-.06em}.tpb-edition{font-weight:700;font-size:11px;letter-spacing:.17em;color:#afe5d3;white-space:nowrap}
.tpb-shell{max-width:1280px;padding:0 24px;margin:0 auto}.tpb-article{background:var(--tpb-white);box-shadow:0 8px 42px #143c3312;border:1px solid #e3eee7;overflow:clip}.tpb-article-header{padding:70px min(7.2vw,100px) 32px;max-width:1120px;margin:auto}.tpb-eyebrow{letter-spacing:.17em;color:#0e7766;font-size:12px;font-weight:850;margin:0 0 20px}.tpb-eyebrow span{color:#acbeb5;padding:0 8px}.tpb-article-header h1{max-width:960px;margin:0;color:#133b35;font-size:clamp(38px,4.45vw,69px);line-height:1.125;letter-spacing:-.048em;font-weight:850}.tpb-dek{max-width:820px;color:#4d6660;margin:24px 0 21px;font-size:clamp(18px,1.8vw,22px);line-height:1.55}.tpb-byline{font-size:14px;color:#53736e;margin:0}.tpb-byline strong{color:#204d44}.tpb-dot{padding:0 12px}
.tpb-hero{padding:0;margin:10px min(7vw,92px) 42px}.tpb-hero img{width:100%;display:block;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:18px;background:#e2e9df}.tpb-hero figcaption{font-size:12px;color:#6b817a;line-height:1.5;margin:12px 6px}
.tpb-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 246px;column-gap:48px;max-width:1160px;margin:0 auto;padding:8px 55px 55px}.tpb-content{min-width:0}.tpb-sidebar{min-width:0}.tpb-toc{position:sticky;top:20px;background:#eff7f1;border:1px solid #dfebe1;border-radius:14px;padding:18px 17px;max-height:calc(100vh - 40px);overflow-y:auto}.tpb-toc-label{font-size:11px;color:#167260;font-weight:800;letter-spacing:.16em;margin:0 0 10px}.tpb-toc nav{display:flex;flex-direction:column;gap:8px}.tpb-toc a{text-decoration:none;font-size:12.5px;line-height:1.45;color:#345b53;padding:6px 0 6px 12px;border-left:2px solid #c9dfd4}.tpb-toc a:hover{border-left-color:#16a17d;color:#0b5548}.tpb-side-note{font-size:12px;line-height:1.6;color:#5a756e;margin-top:20px;padding:0 8px}
.tpb-article-body{font-size:17px;line-height:1.84;color:#30423e}.tpb-article-body>p:first-child{font-size:19px;color:#264e47;line-height:1.78}.tpb-article-body p{margin:0 0 19px}.tpb-article-body h2{font-size:clamp(25px,2.5vw,34px);line-height:1.3;letter-spacing:-.035em;color:#154f47;font-weight:800;margin:61px 0 18px;scroll-margin-top:22px}.tpb-article-body h2:first-child{margin-top:40px}.tpb-article-body h3{font-size:22px;line-height:1.38;font-weight:750;color:#224d46;margin:33px 0 12px;scroll-margin-top:22px}.tpb-article-body strong{font-weight:750;color:#1c4941}.tpb-article-body em{color:#31534e}.tpb-article-body a{overflow-wrap:anywhere}.tpb-article-body ol,.tpb-article-body ul{padding-left:26px;margin:10px 0 24px}.tpb-article-body li{padding-left:6px;margin:7px 0}.tpb-article-body code{font-family:ui-monospace,Consolas,"Liberation Mono",monospace;font-size:.89em;background:#e8f2ed;color:#064f45;border-radius:5px;padding:2px 5px}.tpb-article-body pre{overflow-x:auto;background:#113c37;color:#e6fff6;border-radius:14px;padding:20px 24px;margin:19px 0 29px;font-size:15px;line-height:1.65}.tpb-article-body pre code{padding:0;background:none;color:inherit}.tpb-article-body .tpb-callout{border:0;border-left:5px solid #44c69d;background:linear-gradient(90deg,#ecf8f0,#f7faf6);border-radius:0 14px 14px 0;margin:34px 0;padding:22px 26px;color:#255b50}.tpb-article-body .tpb-callout p{margin:0}.tpb-article-body .tpb-callout strong{color:#0a5c49}
.tpb-table-scroll{margin:24px 0 34px;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #d8e5dd;border-radius:13px}.tpb-table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px;line-height:1.52}.tpb-table thead{background:#133f39;color:#f8fefb}.tpb-table th{font-weight:700;text-align:left;padding:14px 17px;white-space:normal}.tpb-table td{padding:12px 17px;border-bottom:1px solid #e4ede6;vertical-align:top}.tpb-table tbody tr:nth-child(even){background:#f4f9f5}.tpb-table tbody tr:last-child td{border-bottom:none}.tpb-figure{margin:26px 0 34px}.tpb-figure img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid #dfebe4}.tpb-figure figcaption{color:#72867f;margin:10px 4px 0;font-size:12px;line-height:1.55}.tpb-checklist{list-style:none;padding:0!important;display:grid;grid-template-columns:1fr;gap:3px;margin:23px 0 29px!important}.tpb-checklist li{position:relative;border-radius:9px;background:#f0f7f2;padding:11px 15px 11px 48px!important;margin:0!important;line-height:1.5}.tpb-checklist li:before{content:"";position:absolute;width:19px;height:19px;border:2px solid #208a70;border-radius:5px;top:13px;left:17px;background:white}
.tpb-article-body h2[id^="sources"]{border-top:1px solid #dde9e0;padding-top:35px}.tpb-article-body h2[id^="sources"]+ol{font-size:14px;line-height:1.7;color:#537168}.tpb-article-footer{background:#e9f3eb;border-top:1px solid #d7e7dc;padding:30px 85px 42px;font-size:13px;line-height:1.65;color:#58726b}.tpb-article-footer p{max-width:900px;margin:0 0 12px}.tpb-article-footer strong{color:#225e50}
@media(max-width:1100px){.tpb-content-grid{gap:28px;padding:10px 35px 55px;grid-template-columns:minmax(0,1fr) 205px}.tpb-toc a{font-size:12px}}
@media(max-width:820px){.tpb-content-grid{display:block;max-width:750px;padding:5px 32px 55px}.tpb-sidebar{display:none}.tpb-article-header{padding:52px 42px 30px}.tpb-hero{margin:0 36px 36px}.tpb-article-footer{padding:30px 42px}}
@media(max-width:600px){.tpb-page{font-size:16px}.tpb-topline{padding:13px 17px;min-height:72px}.tpb-brand strong{font-size:10px}.tpb-brand small{font-size:9px}.tpb-edition{display:none}.tpb-shell{padding:0}.tpb-article{border-left:0;border-right:0}.tpb-article-header{padding:38px 22px 25px}.tpb-article-header h1{font-size:clamp(34px,8.6vw,46px);letter-spacing:-.048em}.tpb-dek{font-size:17px;margin:18px 0}.tpb-eyebrow{font-size:10px;letter-spacing:.13em}.tpb-hero{margin:0 0 29px}.tpb-hero img{border-radius:0;aspect-ratio:6/7;object-fit:cover}.tpb-hero figcaption{padding:0 22px;margin:9px 0}.tpb-content-grid{padding:0 21px 32px}.tpb-article-body{font-size:16px;line-height:1.76}.tpb-article-body>p:first-child{font-size:17px}.tpb-article-body h2{margin:43px 0 15px;font-size:27px}.tpb-article-body h3{font-size:20px}.tpb-table{font-size:13px;min-width:490px}.tpb-table th,.tpb-table td{padding:11px 12px}.tpb-article-body pre{padding:17px 16px;font-size:13px}.tpb-article-body .tpb-callout{padding:18px}.tpb-article-footer{padding:27px 21px}.tpb-figure figcaption{font-size:11px}}
@media print{body{background:#fff}.tpb-page{background:#fff;font-size:11pt}.tpb-topline{color:#143e36;background:white;border-bottom:1px solid #ccc}.tpb-brand strong{color:#143e36}.tpb-brand small,.tpb-edition{color:#5a7770}.tpb-shell{max-width:none;padding:0}.tpb-article{box-shadow:none;border:0}.tpb-article-header{padding:25px 0}.tpb-article-header h1{font-size:28pt}.tpb-hero{max-width:550px;margin:0 auto 25px}.tpb-content-grid{display:block;padding:0}.tpb-sidebar{display:none}.tpb-article-body{font-size:10.5pt}.tpb-article-body h2{break-after:avoid;font-size:16pt}.tpb-article-body h3{break-after:avoid}.tpb-figure,.tpb-table-scroll{break-inside:avoid}.tpb-table-scroll{overflow:visible}.tpb-table{min-width:0}.tpb-article-footer{background:white;padding:15px 0}.tpb-article-body a{color:#143e36}}
.tpb-page .tpb-review-credit{margin:11px 0 0;color:#53736e;font-size:14px}.tpb-page .tpb-review-credit a{color:#096b5a;font-weight:800}
.tpb-page .site-header .brand{color:var(--ink)}.tpb-page .site-header .nav a{color:#475851}.tpb-page .site-header .nav a:hover,.tpb-page .site-header .nav a[aria-current="page"]{color:var(--accent)}.tpb-page .site-header .nav-cta{color:#fff}.site-footer .brand{color:#fff}.site-footer .footer-links a{color:#cbdad4}.site-footer .footer-links a:hover{color:#fff}
