:root{color-scheme:light;--color-ink: #141821;--color-muted: #5c6676;--color-border: #dfe4ee;--color-surface: #ffffff;--color-soft: #f7f8fc;--color-navy: #232f9d;--color-teal: #0f8f83;--color-coral: #c84f3a;--color-gold: #bc8129;--color-code: #edf4f7;--shadow-soft: 0 22px 65px rgba(21, 27, 45, .12);--shadow-float: 0 18px 45px rgba(35, 47, 157, .14);font-family:Aptos,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:radial-gradient(circle at top left,rgba(15,143,131,.12),transparent 30rem),linear-gradient(180deg,#ffffff 0%,var(--color-soft) 38rem);color:var(--color-ink)}body{margin:0;min-width:320px;text-rendering:optimizeLegibility}a{color:var(--color-navy)}a:focus-visible,button:focus-visible{outline:3px solid var(--color-gold);outline-offset:3px}.site-header{align-items:center;backdrop-filter:blur(18px);background:#ffffffd6;border-bottom:1px solid rgba(223,228,238,.9);display:flex;gap:1.25rem;justify-content:space-between;padding:.9rem max(1.25rem,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:10}.brand{align-items:center;display:inline-flex;gap:.75rem;min-width:15rem;text-decoration:none}.brand-mark{align-items:center;background:linear-gradient(135deg,var(--color-navy),var(--color-teal));border-radius:8px;color:#fff;display:inline-flex;font-size:.85rem;font-weight:800;height:2.5rem;justify-content:center;letter-spacing:0;box-shadow:0 12px 24px #0f8f8338;width:2.5rem}.brand strong,.brand small{display:block}.brand strong{color:var(--color-ink);font-size:1.02rem;letter-spacing:0}.brand small{color:var(--color-muted);font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-size:.86rem;font-style:italic;margin-top:.15rem}.site-nav{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.site-nav a{border-radius:999px;color:var(--color-muted);font-size:.9rem;font-weight:650;padding:.56rem .76rem;text-decoration:none;transition:background .16s ease,color .16s ease,transform .16s ease}.site-nav a:hover,.site-nav a[aria-current=page]{background:#eef7f6;color:var(--color-teal)}.site-nav a:hover{transform:translateY(-1px)}main{margin:0 auto}.page-hero{background:linear-gradient(120deg,#141821f0,#232f9de0 44%,#0f8f83d1),url(/images/diagrams/distributed-systems-shell.svg);background-position:center;background-size:cover;color:#fff;min-height:24rem;overflow:hidden;padding:5.7rem max(1.25rem,calc((100vw - 1180px)/2)) 4.4rem;position:relative}.page-hero:after{background:linear-gradient(90deg,rgba(255,255,255,.2),transparent),linear-gradient(135deg,rgba(200,79,58,.24),transparent 42%);content:"";inset:auto 0 0;height:7rem;pointer-events:none;position:absolute}.page-hero__content{max-width:840px;position:relative;z-index:1}.eyebrow{color:#f7d99a;font-size:.82rem;font-weight:800;letter-spacing:.11em;margin:0 0 .9rem;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(2.55rem,6vw,5.9rem);letter-spacing:0;line-height:.98;margin:0;max-width:900px}h1 em{color:#f7d99a;display:block;font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-size:.9em;font-style:italic;font-weight:520;letter-spacing:0;margin-top:.18em}.page-hero p:not(.eyebrow){color:#ffffffe0;font-size:1.16rem;line-height:1.75;margin:1.35rem 0 0;max-width:720px}.content-shell{padding:3rem max(1.25rem,calc((100vw - 1180px)/2))}.content-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.placeholder-panel,.info-panel{background:linear-gradient(180deg,#fffffffa,#ffffffe6),var(--color-surface);border:1px solid rgba(223,228,238,.95);border-radius:8px;box-shadow:var(--shadow-soft);padding:1.5rem;position:relative}.placeholder-panel:before,.info-panel:before{background:linear-gradient(90deg,var(--color-navy),var(--color-teal),var(--color-coral));border-radius:8px 8px 0 0;content:"";height:3px;inset:0 0 auto;position:absolute}.placeholder-panel h2,.info-panel h2{font-size:1.12rem;letter-spacing:0;margin:0 0 .85rem}.placeholder-panel h2:after,.info-panel h2:after{color:var(--color-coral);content:" /";font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-style:italic;font-weight:500}.placeholder-panel ul,.info-panel ul{color:var(--color-muted);line-height:1.7;margin:0;padding-left:1.25rem}.intro-text{color:var(--color-muted);font-size:1.08rem;line-height:1.8;margin:0 0 1.5rem;max-width:850px}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);display:grid;gap:.4rem;padding:2rem max(1.25rem,calc((100vw - 1180px)/2))}.site-footer p{margin:0}.module-shell{display:grid;gap:2rem;grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);padding:3rem max(1.25rem,calc((100vw - 1180px)/2))}.module-sidebar{align-self:start;display:grid;gap:1rem;position:sticky;top:6.5rem}.module-meta,.sidebar-card,.module-section,.callout,.module-nav,.module-index-card{background:linear-gradient(180deg,#fffffffa,#ffffffeb),var(--color-surface);border:1px solid rgba(223,228,238,.95);border-radius:8px;box-shadow:var(--shadow-soft)}.module-meta,.sidebar-card{padding:1.25rem}.module-meta{display:grid;gap:.9rem;margin:0}.module-meta div,.module-index-card dl div,.case-study dl div{display:grid;gap:.2rem}.module-meta dt,.module-index-card dt,.case-study dt{color:var(--color-muted);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.module-meta dd,.module-index-card dd,.case-study dd{margin:0}.module-meta dd{color:var(--color-ink);font-weight:700;text-transform:capitalize}.sidebar-card h2{font-size:1rem;margin:0 0 .75rem}.sidebar-card ul{color:var(--color-muted);line-height:1.6;margin:0;padding-left:1.1rem}.module-content{min-width:0}.module-content>h2,.module-section h2{font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.15;margin:0 0 1rem}.module-content>h2{margin-top:2.4rem}.module-content>h2:first-child{margin-top:0}.module-content>p,.module-content>ul,.module-content>ol{color:var(--color-muted);font-size:1.04rem;line-height:1.82;max-width:760px}.module-content>ol,.module-content>ul{padding-left:1.4rem}.module-section,.callout{margin:1.6rem 0;padding:1.5rem}.module-section{position:relative}.section-kicker{color:var(--color-coral);font-size:.78rem;font-weight:800;letter-spacing:.08em;margin:0 0 .45rem;text-transform:uppercase}.objective-list{color:var(--color-muted);counter-reset:objectives;display:grid;gap:.8rem;list-style:none;margin:0;padding:0}.objective-list li{align-items:start;display:grid;gap:.75rem;grid-template-columns:2rem 1fr;line-height:1.65}.objective-list li:before{background:#eef7f6;border-radius:999px;color:var(--color-teal);content:counter(objectives);counter-increment:objectives;display:inline-flex;font-size:.82rem;font-weight:800;height:2rem;justify-content:center;line-height:2rem}.callout{border-left:5px solid var(--color-navy);box-shadow:var(--shadow-float)}.callout--canvas{border-left-color:var(--color-gold)}.callout--project{border-left-color:var(--color-teal)}.callout--warning{border-left-color:var(--color-coral)}.callout h3{font-size:1rem;margin:0 0 .55rem}.callout p{color:var(--color-muted);line-height:1.7;margin:0}.concept-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.concept-card{background:var(--color-soft);border:1px solid var(--color-border);border-radius:8px;padding:1rem}.concept-card h3{font-size:1rem;margin:0 0 .45rem}.concept-card p,.case-study dd,.diagram-explanation,.resource-list p,.knowledge-check p,.key-takeaways li{color:var(--color-muted);line-height:1.7}.concept-card p,.resource-list p{margin:0}.case-study dl{display:grid;gap:1rem;margin:0}.diagram-block{overflow-x:auto}.diagram-block figcaption{margin-bottom:1rem}.mermaid{background:#fbfcff;border:1px solid var(--color-border);border-radius:8px;color:var(--color-ink);margin:0;min-width:42rem;padding:1rem}.diagram-explanation{border-left:3px solid var(--color-teal);margin:1rem 0 0;max-width:760px;padding-left:1rem}.knowledge-list{display:grid;gap:.75rem}.knowledge-list details{background:var(--color-soft);border:1px solid var(--color-border);border-radius:8px;padding:1rem}.knowledge-list summary{cursor:pointer;font-weight:800}.knowledge-list p{margin-bottom:0}.key-takeaways ul,.resource-list ul{display:grid;gap:.85rem;margin:0;padding-left:1.25rem}.resource-list li span{background:#fff6e7;border-radius:999px;color:var(--color-gold);display:inline-block;font-size:.74rem;font-weight:800;margin-left:.5rem;padding:.2rem .5rem;text-transform:uppercase}.module-nav{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem;padding:1rem}.module-nav div{border:1px solid var(--color-border);border-radius:8px;padding:1rem}.module-nav span{color:var(--color-muted);display:block;font-size:.76rem;font-weight:800;letter-spacing:.08em;margin-bottom:.35rem;text-transform:uppercase}.module-nav a,.module-nav p{font-weight:800;margin:0;text-decoration:none}.module-nav small{color:var(--color-coral);display:block;font-size:.78rem;margin-top:.35rem;text-transform:uppercase}.module-action-stack{display:grid;gap:.7rem}.present-module-link,.handout-module-link{background:linear-gradient(135deg,var(--color-navy),var(--color-teal));border-radius:8px;box-shadow:var(--shadow-float);color:#fff;display:block;font-weight:800;padding:.9rem 1rem;text-align:center;text-decoration:none}.handout-module-link{background:#fff;border:1px solid var(--color-border);box-shadow:none;color:var(--color-navy)}.present-module-link:hover,.handout-module-link:hover{filter:brightness(1.05)}.module-index-list{display:grid;gap:1rem}.module-index-card{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(13rem,18rem);padding:1.4rem}.module-index-card h2{font-size:1.35rem;margin:0 0 .5rem}.module-index-card h2 a{text-decoration:none}.module-index-card p{color:var(--color-muted);line-height:1.65;margin:0}.module-index-card dl{display:grid;gap:.7rem;margin:0}.module-index-card--soon{opacity:.84}.status-pill{background:#eef7f6;border-radius:999px;color:var(--color-teal);font-size:.78rem;font-weight:800;justify-self:end;padding:.45rem .7rem;text-transform:uppercase}.instructor-preview-badge{align-items:center;background:#fff6e7;border:1px solid rgba(181,102,34,.28);border-radius:999px;color:#8f4b16;display:inline-flex;flex-wrap:wrap;font-size:.74rem;font-weight:800;gap:.45rem;letter-spacing:.02em;line-height:1.35;padding:.4rem .65rem;text-transform:uppercase}.instructor-preview-badge span{color:var(--color-muted);font-weight:700;text-transform:none}.presentation-body{background:#0d111b;color:#fff;overflow:hidden}.presentation-shell{background:radial-gradient(circle at 10% 10%,rgba(15,143,131,.34),transparent 24rem),radial-gradient(circle at 85% 20%,rgba(200,79,58,.22),transparent 26rem),#0d111b;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:100dvh;padding:1rem}.presentation-topbar,.presentation-controls{align-items:center;display:grid;gap:1rem;grid-template-columns:auto minmax(8rem,1fr) auto auto auto}.presentation-topbar{color:#ffffffc2;font-size:.92rem;font-weight:800}.presentation-topbar p{margin:0}.presentation-exit,.presentation-controls a,.presentation-controls button,.presenter-toggle,.slide-index summary{background:#ffffff1a;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#fff;font:inherit;font-weight:800;padding:.7rem 1rem;text-decoration:none}.presentation-controls button,.presenter-toggle,.slide-index summary{cursor:pointer}.presenter-toggle[aria-pressed=true]{background:#f7d99a;color:#141821}.slide-index{position:relative}.slide-index summary{list-style:none}.slide-index summary::-webkit-details-marker{display:none}.slide-index ol{background:#0d111bf5;border:1px solid rgba(255,255,255,.18);border-radius:8px;box-shadow:0 18px 60px #00000059;display:grid;gap:.35rem;inline-size:min(24rem,calc(100vw - 2rem));inset:calc(100% + .6rem) 0 auto auto;list-style:none;margin:0;max-block-size:min(70vh,38rem);overflow:auto;padding:.7rem;position:absolute;z-index:20}.slide-index button{align-items:baseline;background:transparent;border:0;border-radius:6px;color:#ffffffe0;cursor:pointer;display:grid;font:inherit;font-size:.9rem;gap:.6rem;grid-template-columns:1.8rem 1fr;padding:.55rem;text-align:left;width:100%}.slide-index button[aria-current=true],.slide-index button:hover{background:#ffffff1f}.slide-index button span{color:#f7d99a;font-weight:900}.presentation-controls button:disabled{cursor:not-allowed;opacity:.45}.presentation-progress{background:#ffffff29;border-radius:999px;block-size:.55rem;overflow:hidden}.presentation-progress span{background:linear-gradient(90deg,#f7d99a,#73ded3);block-size:100%;display:block;inline-size:0;transition:inline-size .18s ease}.presentation-stage{align-items:center;display:grid;justify-items:center;min-height:0;padding:1rem 0}.presentation-slide{aspect-ratio:16 / 9;background:linear-gradient(140deg,#fffffff5,#f7f8fceb),#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;box-shadow:0 34px 100px #00000061;color:var(--color-ink);display:grid;inline-size:min(100%,calc((100dvh - 8.5rem) * 16 / 9));max-block-size:calc(100dvh - 8.5rem);overflow:hidden;padding:clamp(1.4rem,3.6vw,4rem)}.presentation-slide[hidden]{display:none}.presentation-slide__content{align-self:center;display:grid;gap:clamp(.7rem,1.6vw,1.2rem);max-inline-size:100%}.presentation-eyebrow{color:var(--color-coral);font-size:clamp(.72rem,1.1vw,.95rem);font-weight:900;letter-spacing:.1em;margin:0;text-transform:uppercase}.presentation-slide h1{color:var(--color-ink);font-size:clamp(2.1rem,5.8vw,5.4rem);line-height:.96;margin:0;max-inline-size:13ch}.presentation-slide--diagram h1,.presentation-slide--lab h1,.presentation-slide--summary h1{font-size:clamp(1.9rem,4.2vw,4.1rem);max-inline-size:18ch}.presentation-summary{color:var(--color-muted);font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-size:clamp(1.15rem,2vw,1.85rem);font-style:italic;line-height:1.35;margin:0;max-inline-size:34ch}.presentation-slide ul{color:var(--color-ink);display:grid;font-size:clamp(1rem,1.55vw,1.48rem);gap:.45em;line-height:1.35;margin:0;max-inline-size:48ch;padding-left:1.3em}.presentation-slide li::marker{color:var(--color-teal)}.presentation-slide--diagram .presentation-slide__content,.presentation-slide--lab .presentation-slide__content{align-self:stretch;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)}.presentation-slide--diagram .presentation-eyebrow,.presentation-slide--diagram h1,.presentation-slide--diagram .presentation-summary,.presentation-slide--diagram ul,.presentation-slide--lab .presentation-eyebrow,.presentation-slide--lab h1,.presentation-slide--lab .presentation-summary,.presentation-slide--lab ul{grid-column:1}.presentation-diagram{align-self:stretch;background:#fbfcff;border:1px solid var(--color-border);border-radius:8px;display:grid;gap:.7rem;grid-column:2;grid-row:1 / span 6;margin:0;min-width:0;overflow:auto;padding:1rem}.presentation-diagram figcaption{color:var(--color-ink);font-size:.9rem;font-weight:900}.presentation-diagram .mermaid{border:0;box-shadow:none;font-size:.84rem;margin:0;min-width:36rem;padding:0}.presentation-diagram p{border-left:3px solid var(--color-teal);color:var(--color-muted);font-size:clamp(.78rem,1vw,.95rem);line-height:1.45;margin:0;padding-left:.7rem}.presentation-prompt,.speaker-note{border-radius:8px;padding:.9rem 1rem}.presentation-prompt{background:#eef7f6;border:1px solid rgba(15,143,131,.24);color:var(--color-ink);max-inline-size:48rem}.presentation-prompt p,.speaker-note p{margin:.35rem 0 0}.speaker-note{background:#fff6e7;color:var(--color-ink);font-size:.92rem;max-inline-size:48rem}.speaker-note summary{cursor:pointer;font-weight:900}[data-presentation]:not([data-presenter-active]) [data-presenter-only]{display:none}.presenter-panel{background:#fff6e7;border:1px solid rgba(188,129,41,.28);border-radius:8px;color:var(--color-ink);font-size:clamp(.8rem,1vw,.95rem);line-height:1.45;max-inline-size:52rem;padding:.9rem 1rem}.presenter-panel h2{font-size:.9rem;letter-spacing:.08em;margin:0 0 .55rem;text-transform:uppercase}.presenter-panel dl{display:grid;gap:.55rem;margin:0}.presenter-panel div{display:grid;gap:.15rem}.presenter-panel dt{color:var(--color-gold);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.presenter-panel dd{margin:0}.presentation-action{align-self:start;background:linear-gradient(135deg,var(--color-navy),var(--color-teal));border-radius:8px;box-shadow:var(--shadow-float);color:#fff;display:inline-grid;font-weight:900;gap:.25rem;justify-self:start;padding:.85rem 1rem;text-decoration:none}.presentation-action span{color:#ffffffc7;font-size:.82rem;font-weight:700}.presentation-controls{grid-template-columns:1fr auto 1fr}.presentation-controls [data-next-slide]{justify-self:end}.handout-body{background:#fff}.handout-page{color:var(--color-ink);margin:0 auto;max-width:980px;padding:2rem 1.25rem 4rem}.handout-header{border-bottom:3px solid var(--color-ink);margin-bottom:2rem;padding-bottom:1.2rem}.handout-header>p:first-child{color:var(--color-coral);font-size:.82rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.handout-header h1{color:var(--color-ink);font-size:clamp(2rem,5vw,4rem)}.handout-header nav{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.handout-header a,.handout-header button{background:#fff;border:1px solid var(--color-border);border-radius:999px;color:var(--color-navy);cursor:pointer;font:inherit;font-weight:800;padding:.55rem .85rem;text-decoration:none}.handout-section{break-inside:avoid;margin:2rem 0}.handout-section h2{border-bottom:1px solid var(--color-border);font-size:1.45rem;padding-bottom:.45rem}.handout-section li,.handout-section p{color:var(--color-muted);line-height:1.65}.handout-concepts{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.handout-concepts article{border:1px solid var(--color-border);border-radius:8px;padding:1rem}.handout-concepts h3{margin:0 0 .35rem}.handout-page .diagram-block{box-shadow:none}@media print{.handout-header nav{display:none}.handout-page{max-width:none;padding:0}.handout-section{page-break-inside:avoid}.handout-page a{color:#000}}@media(max-width:860px){.site-header{align-items:flex-start;flex-direction:column;position:static}.site-nav{justify-content:flex-start}.content-grid,.module-shell{grid-template-columns:1fr}.module-sidebar{position:static}.concept-grid,.module-nav,.module-index-card{grid-template-columns:1fr}.status-pill{justify-self:start}}@media(max-aspect-ratio:4 / 3){.presentation-body{overflow:auto}.presentation-shell{min-height:100vh}.presentation-slide{aspect-ratio:auto;inline-size:100%;max-block-size:none;min-block-size:70vh}.presentation-slide--diagram .presentation-slide__content,.presentation-slide--lab .presentation-slide__content{grid-template-columns:1fr}.presentation-diagram{grid-column:1;grid-row:auto}}@media(max-width:520px){.brand{min-width:0}.site-nav a{padding-inline:.55rem}.page-hero{min-height:19rem;padding-top:3rem}h1{font-size:clamp(2.3rem,12vw,3.7rem)}.presentation-shell{padding:.65rem}.presentation-topbar,.presentation-controls{grid-template-columns:1fr}.presentation-controls [data-next-slide]{justify-self:stretch}.presentation-exit,.presentation-controls a,.presentation-controls button{text-align:center;width:100%}}
