:root{--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--color-text: #142029;--color-muted: #5a6a78;--color-bg: #f7fafb;--color-bg-elevated: #ffffff;--color-surface: #e8eef2;--color-border: #c9d5de;--color-accent: #0a5c50;--color-accent-dark: #074239;--color-accent-soft: #d5ebe6;--color-link: #0a4f9c;--color-link-visited: #3d4f66;--color-caution-bg: #eef4f6;--color-caution-border: #7a8f9c;--color-caution-text: #1c2733;--gradient-hero: linear-gradient( 165deg, #e8f2ef 0%, #f7fafb 42%, #e4ebf0 100% );--shadow-focus: 0 0 0 3px var(--color-accent-soft);--shadow-card: 0 4px 12px rgba(20, 30, 40, .08);--shadow-elevated: 0 8px 24px rgba(20, 30, 40, .12);--max-prose: 72ch;--radius-sm: 4px;--radius-md: 8px;--radius-control: 6px;--radius-pill: 9999px}*{box-sizing:border-box}html{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;line-height:1.65;font-size:1.0625rem}img{max-width:100%;height:auto}a{color:var(--color-link);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--color-accent-dark)}a:visited{color:var(--color-link-visited)}a:focus-visible,button:focus-visible,summary:focus-visible,.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:var(--shadow-focus)}h1,h2,h3{line-height:1.25;color:var(--color-text)}h1{font-family:var(--font-display);font-size:clamp(1.85rem,2.5vw,2.15rem);font-weight:700;letter-spacing:-.02em;margin:.5rem 0 .75rem}h2{font-family:var(--font-sans);font-size:1.4rem;font-weight:650;margin-top:2.25rem}h3{font-size:1.15rem}.skip-link{position:absolute;left:.75rem;top:.75rem;z-index:1000;padding:.5rem .9rem;background:var(--color-accent);color:#fff;border-radius:var(--radius-control);text-decoration:none;font-weight:600;transform:translateY(-200%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0);color:#fff}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated)}.site-header nav{max-width:1120px;margin:0 auto;padding:.75rem 1rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem}.site-name{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:-.02em;color:var(--color-accent);text-decoration:none}.site-name:visited{color:var(--color-accent)}.site-header ul{display:flex;flex-wrap:wrap;gap:.5rem .75rem;list-style:none;margin:0;padding:0}.site-header ul a{color:var(--color-text);text-decoration:none;font-size:.95rem;padding:.35rem .65rem;border-radius:var(--radius-control);transition:background .14s,color .14s}.site-header ul a:hover,.site-header ul a[aria-current=page]{color:var(--color-accent);background:var(--color-accent-soft)}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);margin-top:3rem;padding:1.5rem 1rem 2rem;font-size:.9rem;color:var(--color-muted)}.site-footer .inner{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.site-footer nav{display:flex;gap:1.25rem;flex-wrap:wrap}.site-footer a{color:var(--color-text)}.page{max-width:var(--max-prose);margin:0 auto;padding:1.5rem 1rem 0}.layout-article,.layout-topic{max-width:1280px;margin:0 auto;padding:1.5rem 1rem 0;display:grid;grid-template-columns:minmax(0,1fr);gap:1.75rem 2rem;align-items:start}.article,.topic-main{max-width:var(--max-prose);min-width:0}.article-sidebar{display:none}@media(min-width:1024px){.layout-article{grid-template-columns:minmax(0,1fr) 300px}.topic-nav{grid-column:1 / -1}.article-sidebar{display:block}.article-sidebar .ad-slot{position:sticky;top:1.5rem}}@media(min-width:1200px){.layout-article{grid-template-columns:17rem minmax(0,1fr) 18rem}.layout-topic{grid-template-columns:17rem minmax(0,1fr)}.layout-article .topic-nav,.layout-topic .topic-nav{grid-column:1;grid-row:1}.layout-article .article,.layout-topic .topic-main{grid-column:2}.layout-article .article-sidebar{grid-column:3}}.breadcrumbs{font-size:.875rem;color:var(--color-muted)}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0}.breadcrumbs li+li:before{content:"›";margin-right:.35rem;color:var(--color-muted)}.byline{display:flex;gap:.75rem;align-items:center;padding:.75rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-bottom:1rem}.byline__photo{border-radius:50%;width:48px;height:48px}.byline__meta p{margin:0;font-size:.9rem}.byline__credentials,.byline__published{color:var(--color-muted)}.article-hero,.pillar-hero{width:100%;border-radius:0;margin:0 0 1.25rem}.prose>:first-child{margin-top:0}.prose table,.page table{border-collapse:collapse;width:100%;margin:1.25rem 0;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td,.page th,.page td{border:1px solid var(--color-border);padding:.5rem .75rem;text-align:left}.prose thead th{background:var(--color-surface)}.article-figure{margin:1.5rem 0}.article-figure img{border-radius:var(--radius-sm)}.article-figure figcaption{font-size:.85rem;color:var(--color-muted);margin-top:.35rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.embed-snippet{margin-top:.5rem;font-size:.85rem}.embed-snippet summary{cursor:pointer;color:var(--color-muted)}.embed-snippet p{margin:.4rem 0}.embed-snippet textarea{width:100%;font:.78rem/1.4 var(--font-mono);padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);resize:vertical}.topic-nav{margin:0;min-width:0;max-width:100%;overflow:hidden}.topic-nav__shell{min-width:0;max-width:100%}.topic-nav__shell-summary{display:flex;align-items:center;gap:.55rem;cursor:pointer;font-weight:650;font-size:.95rem;color:var(--color-text);list-style:none;padding:.85rem 1rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;width:100%;max-width:100%}.topic-nav__shell-summary::-webkit-details-marker{display:none}.topic-nav__shell-summary::marker{content:""}.topic-nav__shell-chevron{flex:0 0 auto;width:.55rem;height:.55rem;border-right:1.5px solid var(--color-muted);border-bottom:1.5px solid var(--color-muted);transform:rotate(-45deg);margin-left:.15rem;transition:transform .15s ease}.topic-nav__shell[open]>.topic-nav__shell-summary .topic-nav__shell-chevron{transform:rotate(45deg);margin-top:-.1rem}.topic-nav__shell-label{min-width:0}.topic-nav__panel{margin-top:.5rem;padding:1rem .85rem 1.1rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;max-width:100%;overflow-x:hidden}.topic-nav__brand{display:flex;align-items:center;gap:.65rem;padding:0 .35rem .95rem;border-bottom:1px solid var(--color-border);margin-bottom:.95rem}.topic-nav__mark{flex:0 0 auto;width:2rem;height:2rem;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font:700 .95rem/2rem var(--font-sans);text-align:center}.topic-nav__brand-text{min-width:0}.topic-nav__brand-name{display:block;font-weight:700;font-size:.95rem;color:var(--color-text);text-decoration:none;line-height:1.2}.topic-nav__brand-name:hover{color:var(--color-accent)}.topic-nav__brand-sub{margin:.15rem 0 0;font-size:.75rem;color:var(--color-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-nav__section-label{margin:0 0 .4rem;padding:0 .45rem;font-size:.68rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.topic-nav__topics,.topic-nav__more,.topic-nav__children{list-style:none;margin:0;padding:0}.topic-nav__topic+.topic-nav__topic{margin-top:.15rem}.topic-nav__branch-summary{display:flex;align-items:center;gap:.4rem;cursor:pointer;list-style:none;padding:.45rem .4rem;border-radius:var(--radius-sm);color:var(--color-text);font-size:.92rem;font-weight:550;line-height:1.3}.topic-nav__branch-summary::-webkit-details-marker{display:none}.topic-nav__branch-summary::marker{content:""}.topic-nav__branch-summary:hover{background:var(--color-surface)}.topic-nav__topic.is-active>.topic-nav__branch>.topic-nav__branch-summary{color:var(--color-accent-dark);font-weight:650}.topic-nav__chevron{flex:0 0 auto;width:.55rem;height:.55rem;border-right:1.5px solid var(--color-muted);border-bottom:1.5px solid var(--color-muted);transform:rotate(-45deg);margin:0 .15rem 0 .2rem;transition:transform .15s ease}.topic-nav__branch[open]>.topic-nav__branch-summary .topic-nav__chevron{transform:rotate(45deg);margin-top:-.1rem}.topic-nav__topic-label{min-width:0}.topic-nav__children{padding:.15rem 0 .35rem 1.35rem}.topic-nav__link{display:block;padding:.4rem .5rem;border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;font-size:.88rem;line-height:1.35}.topic-nav__link:hover{background:var(--color-surface);color:var(--color-accent-dark)}.topic-nav__link.is-current{background:var(--color-accent-soft);color:var(--color-accent-dark);font-weight:650}.topic-nav__link--level1{padding-left:.85rem}.topic-nav__divider{height:1px;background:var(--color-border);margin:.85rem .35rem}.topic-nav__more{margin-bottom:.15rem}@media(prefers-reduced-motion:reduce){.topic-nav__chevron,.topic-nav__shell-chevron{transition:none}}@media(min-width:1200px){.topic-nav{position:sticky;top:.75rem;z-index:2;max-height:calc(100vh - 1.5rem);overflow:auto}.topic-nav__shell>.topic-nav__shell-summary{display:none}.topic-nav__panel{margin-top:0}.topic-nav__shell{border:none}}.diagram-grid{list-style:none;padding:0;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))}.diagram-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem;background:var(--color-bg-elevated)}.diagram-card h3{font-size:1rem;margin:.5rem 0 .25rem}.diagram-card img{width:100%;height:auto;border-radius:var(--radius-sm)}.diagram-card .diagram-source{font-size:.85rem;color:var(--color-muted);margin:0 0 .25rem}.disclaimer{background:var(--color-caution-bg);border:1px solid var(--color-caution-border);border-radius:var(--radius-md);padding:.75rem 1rem;font-size:.9rem;margin:1rem 0;color:var(--color-caution-text)}.disclaimer p{margin:0}.ad-slot{margin:1.75rem 0;background:var(--color-surface);border-radius:var(--radius-md);padding:.5rem .75rem .75rem}.ad-slot__label{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.25rem}.ad-slot--reserved{background:none;padding:0}.faq__item h3{margin-bottom:.25rem}.faq__item p{margin-top:0}.related{border-top:1px solid var(--color-border);margin-top:2.5rem;padding-top:1.25rem;animation:related-in .2s ease both}@keyframes related-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.related{animation:none}}.related h2{font-family:var(--font-sans);font-size:1.15rem;margin-top:0}.related ul{padding-left:0;list-style:none;margin:.5rem 0 0}.related li{margin:.55rem 0;padding-left:.85rem;border-left:3px solid var(--color-accent-soft)}.related a{font-weight:550;text-decoration:none}.related a:hover{text-decoration:underline}.btn{display:inline-block;font-weight:700;font-size:.9rem;letter-spacing:.02em;text-decoration:none;border-radius:var(--radius-control);padding:.65rem 1.25rem;transition:background .14s,color .14s,border-color .14s}.btn--primary{background:var(--color-accent);color:#fff;border:1px solid var(--color-accent)}.btn--primary:hover,.btn--primary:visited{background:var(--color-accent-dark);border-color:var(--color-accent-dark);color:#fff}.btn--outline{background:transparent;color:var(--color-accent);border:1px solid var(--color-border)}.btn--outline:hover,.btn--outline:visited{border-color:var(--color-accent);color:var(--color-accent-dark)}.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.card-list{list-style:none;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}.card-list li{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem;background:var(--color-bg-elevated);transition:box-shadow .14s}.card-list li:hover,.card-list li:focus-within{box-shadow:var(--shadow-card)}.card-list h3,.card-list h2{margin:0 0 .35rem;font-family:var(--font-sans)}.card-list p{margin:0;color:var(--color-muted);font-size:.95rem}.card-link{text-decoration:none;color:var(--color-accent)}.card-link:visited{color:var(--color-accent)}.card-link:after{content:"";position:absolute;inset:0}.card-list .card-meta{margin:.6rem 0 0;font-size:.8rem;color:var(--color-muted)}.topic-list{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--color-border)}.topic-list li{border-bottom:1px solid var(--color-border);padding:1.1rem 0}.topic-list h3{margin:0 0 .35rem;font-family:var(--font-sans);font-size:1.2rem}.topic-list h3 a{color:var(--color-accent);text-decoration:none}.topic-list h3 a:hover{text-decoration:underline}.topic-list p{margin:0;color:var(--color-muted);font-size:.95rem;max-width:65ch}.topic-list .card-meta{margin:.4rem 0 0;font-size:.8rem;color:var(--color-muted)}.guide-list{list-style:none;padding:0;margin:1rem 0 0;border-top:1px solid var(--color-border)}.guide-list li{border-bottom:1px solid var(--color-border);padding:.9rem 0}.guide-list a{font-weight:600;text-decoration:none;color:var(--color-accent)}.guide-list a:hover{text-decoration:underline}.guide-list p{margin:.25rem 0 0;color:var(--color-muted);font-size:.92rem}.guide-list .card-meta{margin:.3rem 0 0;font-size:.8rem;color:var(--color-muted)}.page--wide{max-width:1120px}.home-section{margin-top:2.75rem}.home-section>h2{margin-top:0;font-family:var(--font-display);letter-spacing:-.02em}.hero-block{position:relative;background:var(--gradient-hero);border-bottom:1px solid var(--color-border);overflow:hidden;min-height:min(78vh,36rem);display:flex;align-items:center}.hero-block__atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 85% 20%,rgba(10,92,80,.12),transparent 55%),radial-gradient(ellipse 50% 40% at 10% 90%,rgba(10,79,156,.06),transparent 50%);pointer-events:none}.hero-block .inner{position:relative;max-width:1120px;margin:0 auto;padding:3.5rem 1rem 3.75rem;width:100%}.hero-block__brand{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,3.25rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--color-accent);margin:0 0 .85rem}.hero-block__headline{font-family:var(--font-sans);font-size:clamp(1.15rem,2vw,1.35rem);font-weight:600;color:var(--color-text);margin:0 0 .65rem;max-width:36ch}.hero-block__support{color:var(--color-muted);max-width:42ch;margin:0;font-size:1.05rem}.author-card{display:flex;gap:1rem;align-items:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem;margin:1rem 0;background:var(--color-bg-elevated)}.author-card img{border-radius:50%;width:72px;height:72px;flex-shrink:0}.author-card h3{margin:0}.author-card .credentials{color:var(--color-muted);font-size:.9rem}.author-card ul{padding-left:1.1rem;margin:.4rem 0 0;font-size:.9rem}.consent-notice{position:fixed;left:0;right:0;bottom:0;z-index:900;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0));background:var(--color-bg-elevated);border-top:1px solid var(--color-border);box-shadow:0 -4px 20px #141e2814}.consent-notice__inner{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.consent-notice__inner p{margin:0;flex:1 1 16rem;font-size:.9rem;color:var(--color-text)}.consent-notice__ack{flex:0 0 auto}html.has-consent-notice body{padding-bottom:5.5rem}.pillar-intro{margin-bottom:1.25rem}.pillar-body{margin-bottom:2rem}.pillar-guides{margin-top:2.5rem;padding-top:.5rem}.pillar-guides>h2{font-family:var(--font-display);letter-spacing:-.02em}.diagrams-hero{background:var(--gradient-hero);border-bottom:1px solid var(--color-border);margin:-1.5rem -1rem 1.5rem;padding:2rem 1rem 1.5rem}.page--wide>.diagrams-hero{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(1rem,calc(50vw - 560px));padding-right:max(1rem,calc(50vw - 560px))}@media(max-width:1023px){.site-header ul{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.site-header ul::-webkit-scrollbar{display:none}.site-header ul li{flex:0 0 auto}.site-header ul a{padding-top:.6rem;padding-bottom:.6rem}.byline__credentials{display:none}.hero-block{min-height:auto}.hero-block .inner{padding:2.25rem 1rem 2.5rem}}.prose table,.page table{background-image:linear-gradient(to right,var(--color-bg) 30%,rgba(247,250,251,0)),linear-gradient(to left,var(--color-bg) 30%,rgba(247,250,251,0)),radial-gradient(farthest-side at 0 50%,#00000024,#0000),radial-gradient(farthest-side at 100% 50%,#00000024,#0000);background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:32px 100%,32px 100%,12px 100%,12px 100%;background-attachment:local,local,scroll,scroll}
