/* Shared editorial system for every Learning Guide article. Topic diagrams retain their own styles. */
.learning-article{--lg-navy:#0b2638;--lg-ink:#173747;--lg-muted:#4d6570;--lg-teal:#167581;--lg-gold:#efbd7a;background:#f8f7f2;color:var(--lg-ink)}
.learning-article .muse-shell,.learning-article .pyg-shell,.learning-article .aeg-shell,.lg-shell{width:min(1160px,calc(100% - 44px));margin-inline:auto}
.learning-article .muse-hero,.learning-article .pyg-hero,.learning-article .aeg-hero{color:#fff;background:radial-gradient(circle at 86% 12%,#24546a 0%,transparent 38%),linear-gradient(130deg,#091e32,#123b4f);border:0;overflow:hidden}
.learning-article .muse-hero-grid,.learning-article .pyg-hero-grid,.learning-article .aeg-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(35px,5vw,72px);align-items:center;min-height:660px;padding:72px 0}
.learning-article .muse-crumb,.learning-article .pyg-crumb,.learning-article .aeg-crumb{display:flex;align-items:center;gap:11px;margin:0 0 36px;color:#b8d1d8;font-size:13px}
.learning-article .muse-crumb a,.learning-article .pyg-crumb a,.learning-article .aeg-crumb a{color:inherit;text-decoration:none}
.learning-article .muse-hero h1,.learning-article .pyg-hero h1,.learning-article .aeg-hero h1{font-size:clamp(43px,4.6vw,66px);font-weight:760;line-height:1.13;letter-spacing:-.042em;margin:0 0 22px;color:#fff}
.learning-article .muse-hero h1 em,.learning-article .pyg-hero h1 em,.learning-article .aeg-hero h1 em{display:block;color:var(--lg-gold);font-style:normal}
.learning-article .muse-lead,.learning-article .pyg-intro,.learning-article .aeg-lead{font-size:18px;line-height:1.75;color:#d3e2e5;max-width:620px;margin:0}
.learning-article .muse-byline,.learning-article .pyg-meta,.learning-article .aeg-meta{font-size:13px;line-height:1.55;color:#b0c8d0;margin:24px 0 29px}
.learning-article .muse-byline a,.learning-article .pyg-meta a,.learning-article .aeg-meta a{color:#f3c788;font-weight:800}
.learning-article .muse-button,.learning-article .pyg-jump,.learning-article .aeg-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:7px;background:var(--lg-gold);color:#163345;font-weight:850;text-decoration:none}
.learning-article .muse-demo,.learning-article .pyg-hero-art,.learning-article .aeg-hero-visual{border-radius:18px;transform:none;box-shadow:16px 18px 0 #d9ad7540,0 28px 60px #071e2c6b}
.learning-article .muse-layout,.learning-article .pyg-reading,.learning-article .aeg-reading{width:min(1160px,calc(100% - 44px));margin:auto;display:grid;grid-template-columns:220px minmax(0,790px);justify-content:start;gap:clamp(28px,4vw,48px);align-items:start;padding:76px 0 90px}
.learning-article .muse-toc,.learning-article .pyg-sidebar,.learning-article .aeg-sidebar{position:sticky;top:105px;align-self:start;display:grid;gap:4px;padding:10px;border:1px solid #dbe5e6;border-radius:18px;background:#fff;box-shadow:0 18px 42px #102f4310;overflow:hidden;counter-reset:lg-chapter}
.learning-article .muse-toc>span,.learning-article .pyg-sidebar>span,.learning-article .aeg-sidebar>span{display:block;margin:-10px -10px 7px;padding:20px 19px 18px;background:linear-gradient(135deg,#102e46,#134865);color:#c8edf5;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.learning-article .muse-toc a,.learning-article .pyg-sidebar a,.learning-article .aeg-sidebar a{counter-increment:lg-chapter;display:flex;align-items:center;gap:11px;min-height:47px;padding:8px 10px;border-radius:9px;color:#334f60;text-decoration:none;font-size:13px;line-height:1.35;font-weight:750;white-space:normal}
.learning-article .muse-toc a::before,.learning-article .pyg-sidebar a::before,.learning-article .aeg-sidebar a::before{content:counter(lg-chapter,decimal-leading-zero);display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:7px;background:#eaf4f7;color:#286d88;font-size:10px;font-weight:900}
.learning-article .muse-toc a:hover,.learning-article .pyg-sidebar a:hover,.learning-article .aeg-sidebar a:hover,.learning-article .muse-toc a:focus-visible,.learning-article .pyg-sidebar a:focus-visible,.learning-article .aeg-sidebar a:focus-visible{background:#eaf4fa;color:#0a5071;text-decoration:none}
.learning-article .muse-body>section,.learning-article .pyg-body>section,.learning-article .aeg-body>section{scroll-margin-top:120px;margin:0 0 63px;padding:0 0 60px;border:0;border-bottom:1px solid #dce3e4}
.learning-article .muse-body>section:not(:first-child),.learning-article .pyg-body>section:not(:first-child),.learning-article .aeg-body>section:not(:first-child){padding-top:0;border-top:0}
.learning-article .muse-body h2,.learning-article .pyg-body h2,.learning-article .aeg-body h2{font-size:clamp(30px,2.9vw,40px);line-height:1.24;letter-spacing:-.035em;color:#102f42;margin:13px 0 20px}
.learning-article .muse-body>section>p,.learning-article .pyg-body>section>p,.learning-article .aeg-body>section>p{font-size:17px;line-height:1.82;color:#405a67}
.lg-sources{background:#eeece5;border-top:1px solid #deded6;padding:58px 0}
.lg-sources .lg-shell{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:50px;align-items:start}
.lg-overline{display:block;color:#e6b97d;font-size:11px;font-weight:900;letter-spacing:.16em}
.lg-sources .lg-overline{color:#966b3a}
.lg-sources h2{font-size:clamp(28px,2.6vw,36px);line-height:1.2;letter-spacing:-.03em;color:#173747;margin:12px 0}
.lg-sources p{font-size:15px;line-height:1.7;color:#566e76;max-width:500px;margin:0}
.lg-sources ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.lg-sources li a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 17px;border:1px solid #d5dfdf;border-radius:9px;background:#fff;color:#176879;text-decoration:none;font-size:14px;font-weight:750;line-height:1.4}
.lg-sources li a:hover{text-decoration:underline;text-underline-offset:3px}
.lg-sources svg{width:15px;height:15px;flex:none}
.lg-endcap{padding:76px 0;background:radial-gradient(circle at 85% 0%,#1b5369,transparent 35%),#0b2638;color:#fff}
.lg-endcap__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr);gap:clamp(35px,6vw,85px);align-items:center}
.lg-endcap h2{font-size:clamp(34px,3.5vw,49px);line-height:1.18;letter-spacing:-.04em;margin:14px 0 18px;color:#fff}
.lg-endcap p{font-size:17px;line-height:1.75;color:#d1e0e5;margin:0}
.lg-endcap__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.lg-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 17px;border-radius:7px;font-size:14px;line-height:1.35;font-weight:850;text-decoration:none}
.lg-action svg,.lg-endcap__help svg{width:16px;height:16px;flex:none}
.lg-action--primary{background:#efbd7a;color:#183647}
.lg-action--secondary{border:1px solid #7298a8;color:#eff8f9}
.lg-endcap__help{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:#bce2e8;font-size:14px;font-weight:700;text-underline-offset:4px}
.lg-endcap .article-author-card{max-width:460px}
@media(max-width:920px){.learning-article .muse-hero-grid,.learning-article .pyg-hero-grid,.learning-article .aeg-hero-grid{grid-template-columns:1fr;min-height:0;gap:42px;padding:64px 0}.learning-article .muse-layout,.learning-article .pyg-reading,.learning-article .aeg-reading{grid-template-columns:1fr;gap:30px;padding:45px 0 75px}.learning-article .muse-toc,.learning-article .pyg-sidebar,.learning-article .aeg-sidebar{position:static;display:flex;gap:8px;overflow-x:auto;white-space:nowrap;padding:8px;border-radius:12px}.learning-article .muse-toc>span,.learning-article .pyg-sidebar>span,.learning-article .aeg-sidebar>span{display:none}.learning-article .muse-toc a,.learning-article .pyg-sidebar a,.learning-article .aeg-sidebar a{white-space:nowrap;min-height:42px;padding:7px 12px;background:#f2f6f7}.learning-article .muse-toc a::before,.learning-article .pyg-sidebar a::before,.learning-article .aeg-sidebar a::before{display:none}.lg-endcap__grid{grid-template-columns:1fr}.lg-sources .lg-shell{grid-template-columns:1fr;gap:22px}}
@media(max-width:600px){.learning-article .muse-shell,.learning-article .pyg-shell,.learning-article .aeg-shell,.learning-article .muse-layout,.learning-article .pyg-reading,.learning-article .aeg-reading,.lg-shell{width:calc(100% - 34px)}.learning-article .muse-hero-grid,.learning-article .pyg-hero-grid,.learning-article .aeg-hero-grid{padding:50px 0 60px;gap:38px}.learning-article .muse-hero h1,.learning-article .pyg-hero h1,.learning-article .aeg-hero h1{font-size:clamp(36px,10vw,52px)}.learning-article .muse-lead,.learning-article .pyg-intro,.learning-article .aeg-lead{font-size:16px}.learning-article .muse-demo,.learning-article .pyg-hero-art,.learning-article .aeg-hero-visual{box-shadow:8px 10px 0 #d9ad7540}.learning-article .muse-body>section>p,.learning-article .pyg-body>section>p,.learning-article .aeg-body>section>p{font-size:16px;line-height:1.78}.lg-sources,.lg-endcap{padding:50px 0}.lg-endcap__actions{display:grid}.lg-action{width:100%}.lg-endcap .article-author-card{max-width:540px}}
@media(prefers-reduced-motion:reduce){.learning-article .muse-demo,.learning-article .pyg-hero-art,.learning-article .aeg-hero-visual{animation:none}}

.learning-article .muse-body>section>p.muse-section-label,
.learning-article .aeg-body>section>p.aeg-kicker,
.learning-article .pyg-body>section>.pyg-section-mark{font-size:11px;line-height:1.5;letter-spacing:.16em;font-weight:900;color:#a06f3c;margin:0 0 14px}
.learning-article .pyg-hero-art,.learning-article .aeg-hero-visual{animation:lg-visual-enter .65s ease both}
@keyframes lg-visual-enter{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.learning-article .pyg-hero-art,.learning-article .aeg-hero-visual{animation:none}}

/* Reading measure and references shared by all Learning Guides. */
.learning-article .muse-layout,.learning-article .pyg-reading,.learning-article .aeg-reading{grid-template-columns:210px minmax(0,720px);justify-content:center;gap:clamp(30px,3.5vw,46px)}
.learning-article .muse-body,.learning-article .pyg-body,.learning-article .aeg-body{min-width:0}
.learning-article .muse-body>section,.learning-article .pyg-body>section,.learning-article .aeg-body>section{margin-bottom:53px;padding-bottom:53px}
.learning-article .muse-body>section>p,.learning-article .pyg-body>section>p,.learning-article .aeg-body>section>p{font-size:18px;line-height:1.78;letter-spacing:.002em;margin-bottom:23px}
.learning-article .muse-body h2,.learning-article .pyg-body h2,.learning-article .aeg-body h2{margin-bottom:23px;line-height:1.28}
.learning-article .muse-body h3,.learning-article .pyg-body h3,.learning-article .aeg-body h3{line-height:1.35}
.learning-article .muse-body a,.learning-article .pyg-body a,.learning-article .aeg-body a{text-decoration-thickness:1px;text-underline-offset:4px}
.lg-sources{padding:56px 0;background:#f3f5f3;border-top:1px solid #dce7e8}
.lg-sources .lg-shell{display:grid;grid-template-columns:210px minmax(0,720px);justify-content:center;gap:clamp(30px,3.5vw,46px);align-items:start}
.lg-sources h2{font-size:27px;margin:9px 0 12px}
.lg-sources p{font-size:14px;line-height:1.65}
.lg-source-list{list-style:none;counter-reset:guide-source;display:grid;gap:0;padding:0;margin:0;border-top:1px solid #cfdddf}
.lg-source-list li{counter-increment:guide-source;border-bottom:1px solid #cfdddf}
.lg-source-list li a{display:grid;grid-template-columns:28px minmax(0,1fr) 17px;justify-content:initial;align-items:start;gap:15px;padding:17px 4px;border:0;border-radius:0;background:transparent;color:#173e52;font-weight:inherit;text-decoration:none;box-shadow:none}
.lg-source-list li a::before{content:counter(guide-source,decimal-leading-zero);padding-top:2px;color:#678a98;font-size:11px;font-weight:850;letter-spacing:.04em}
.lg-source-copy{display:grid;gap:4px;min-width:0}
.lg-source-copy strong{font-size:15px;line-height:1.4;font-weight:750}
.lg-source-copy small{font-size:12px;line-height:1.35;color:#65808a;font-weight:500;overflow-wrap:anywhere}
.lg-source-list li a:hover,.lg-source-list li a:focus-visible{background:#e7f2f5;text-decoration:none}
.lg-source-list li a:hover strong,.lg-source-list li a:focus-visible strong{text-decoration:underline;text-underline-offset:3px}
.lg-source-list svg{margin-top:2px;color:#237c95}
@media(max-width:920px){.learning-article .muse-layout,.learning-article .pyg-reading,.learning-article .aeg-reading{grid-template-columns:minmax(0,720px);justify-content:center}.lg-sources .lg-shell{grid-template-columns:minmax(0,720px);gap:22px}.lg-sources h2{margin-top:7px}}
@media(max-width:600px){.learning-article .muse-body>section>p,.learning-article .pyg-body>section>p,.learning-article .aeg-body>section>p{font-size:17px;line-height:1.75}.learning-article .muse-body>section,.learning-article .pyg-body>section,.learning-article .aeg-body>section{margin-bottom:42px;padding-bottom:42px}.lg-sources{padding:44px 0}.lg-source-list li a{gap:10px;grid-template-columns:25px minmax(0,1fr) 16px}.lg-source-copy strong{font-size:14px}}

/* Shared interactive hero, with examples written for each article topic. */
.learning-article .muse-hero-grid,.learning-article .pyg-hero-grid,.learning-article .aeg-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(44px,5vw,76px);min-height:600px;padding:66px 0 72px}
.learning-article .muse-hero h1,.learning-article .pyg-hero h1,.learning-article .aeg-hero h1{font-size:clamp(40px,4vw,58px);line-height:1.16;letter-spacing:-.035em;margin:16px 0 20px}
.learning-article .muse-hero h1 em,.learning-article .pyg-hero h1 em,.learning-article .aeg-hero h1 em{font-size:.88em;line-height:1.2;letter-spacing:-.02em}
.learning-article .muse-lead,.learning-article .pyg-intro,.learning-article .aeg-lead{font-size:17px;line-height:1.7;max-width:570px}
.lg-hero-kicker{display:inline-block;padding:7px 10px;border:1px solid #6591a4;border-radius:5px;color:#b7e9f1;font-size:10px;font-weight:900;letter-spacing:.14em}
.lg-hero-story{--story-accent:#7bd6e6;min-width:0;border:1px solid #5b8a9c;border-radius:18px;background:linear-gradient(150deg,#16445d,#0c2e45);color:#fff;box-shadow:0 22px 55px #03142175,12px 13px 0 #d9ad7530;overflow:hidden}
.lg-hero-story--python{--story-accent:#9ee0cf}
.lg-hero-story--engineer{--story-accent:#f0c786}
.lg-hero-story__top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 22px;border-bottom:1px solid #527a8c;color:#c4e5e9;font-size:10px;line-height:1.4;font-weight:900;letter-spacing:.11em}
.lg-hero-story__live{white-space:nowrap;color:var(--story-accent)}
.lg-hero-story__live i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--story-accent);box-shadow:0 0 0 4px #ffffff1a}
.lg-hero-story__screen{min-height:282px;margin:18px 20px 16px;padding:28px;background:#f2f8f8;border:1px solid #cce3e4;border-radius:12px;color:#153849;animation:lg-story-enter .36s ease both}
.lg-hero-story__tag{display:inline-block;padding:6px 9px;background:#dceef1;border-radius:4px;color:#146581;font-size:10px;font-weight:900;letter-spacing:.13em}
.lg-hero-story__screen h2{font-size:clamp(23px,2.1vw,29px);line-height:1.3;letter-spacing:-.025em;margin:14px 0 18px;color:#102e41}
.lg-hero-story__example{padding:15px 17px;background:#fff;border-left:3px solid #2285aa;border-radius:0 7px 7px 0;color:#163b50;font-size:16px;line-height:1.55;font-weight:760;overflow-wrap:anywhere}
.lg-hero-story--python .lg-hero-story__example{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px}
.lg-hero-story__screen p{margin:16px 0 0;color:#4e6875;font-size:14px;line-height:1.55}
.lg-hero-story__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0 20px}
.lg-hero-story__steps button{min-width:0;min-height:62px;display:grid;align-content:center;gap:4px;padding:9px 8px;border:1px solid #527c8c;border-radius:7px;background:#194b63;color:#cbe0e7;font:inherit;text-align:left;cursor:pointer}
.lg-hero-story__steps button.is-active{border-color:var(--story-accent);background:#276782;color:#fff}
.lg-hero-story__steps button span{color:var(--story-accent);font-size:10px;font-weight:900}
.lg-hero-story__steps button strong{font-size:11px;line-height:1.2;font-weight:760}
.lg-hero-story__steps button:focus-visible,.lg-hero-story__bottom button:focus-visible{outline:2px solid #f5cf8c;outline-offset:2px}
.lg-hero-story__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px 18px;color:#b5d2dc;font-size:11px;line-height:1.4}
.lg-hero-story__bottom button{border:1px solid #6b9cac;border-radius:5px;padding:6px 10px;background:transparent;color:#fff;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}
.lg-hero-story__bottom button span{color:var(--story-accent)}
@keyframes lg-story-enter{from{transform:translateY(6px)}to{transform:translateY(0)}}
@media(max-width:920px){.learning-article .muse-hero-grid,.learning-article .pyg-hero-grid,.learning-article .aeg-hero-grid{grid-template-columns:1fr;min-height:0;gap:38px;padding:57px 0 68px}.lg-hero-story{max-width:680px}}
@media(max-width:600px){.learning-article .muse-hero h1,.learning-article .pyg-hero h1,.learning-article .aeg-hero h1{font-size:clamp(35px,9vw,46px)}.learning-article .muse-hero h1 em,.learning-article .pyg-hero h1 em,.learning-article .aeg-hero h1 em{font-size:.9em}.lg-hero-story__top{padding:16px;font-size:9px}.lg-hero-story__screen{min-height:274px;margin:12px;padding:20px}.lg-hero-story__screen h2{font-size:24px}.lg-hero-story__steps{padding:0 12px;gap:4px}.lg-hero-story__steps button{min-height:61px;padding:6px 5px}.lg-hero-story__steps button strong{font-size:9px}.lg-hero-story__bottom{padding:12px}}
@media(prefers-reduced-motion:reduce){.lg-hero-story__screen{animation:none}}
