[data-course-shell=kafka]{--paper:#f3f0e7;--paper-raised:#fbf9f3;--ink:#121310;--ink-soft:#34362f;--muted:#66685f;--line:#c9c5b8;--line-strong:#87897f;--signal:#dfff42;--signal-ink:#263000;--orange:#ff7043;--cyan:#5ddcff;--violet:#bca7ff;--danger:#c93624;--success:#397f34;--shadow:0 22px 60px rgba(18,19,16,0.12);--radius:18px}[data-course-shell=kafka] *{box-sizing:border-box}[data-course-shell=kafka]{scroll-behavior:smooth;scroll-padding-top:5.75rem;min-width:320px;margin:0;background:linear-gradient(rgba(18,19,16,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(18,19,16,.035) 1px,transparent 1px),var(--paper);background-size:24px 24px;color:var(--ink);font-family:var(--font-geist-sans),"Apple SD Gothic Neo","Noto Sans KR",sans-serif;line-height:1.6}[data-course-shell=kafka] a,[data-course-shell=kafka] button,[data-course-shell=kafka] summary{-webkit-tap-highlight-color:transparent}[data-course-shell=kafka] button,[data-course-shell=kafka] input,[data-course-shell=kafka] select,[data-course-shell=kafka] textarea{font:inherit}[data-course-shell=kafka] button{color:inherit}[data-course-shell=kafka] a{color:inherit;text-decoration-thickness:.09em;text-underline-offset:.18em}[data-course-shell=kafka] :focus-visible{outline:3px solid var(--cyan);outline-offset:3px}[data-course-shell=kafka] ::-moz-selection{background:var(--signal);color:var(--ink)}[data-course-shell=kafka] ::selection{background:var(--signal);color:var(--ink)}[data-course-shell=kafka] .skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.65rem .9rem;transform:translateY(-180%);border:2px solid var(--ink);background:var(--signal);color:var(--ink);font-weight:800}[data-course-shell=kafka] .skip-link:focus{transform:translateY(0)}[data-course-shell=kafka] .site-header{position:sticky;z-index:40;top:0;display:flex;min-height:4.25rem;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--ink);background:rgba(243,240,231,.94);padding:.65rem clamp(1rem,3vw,2.75rem);backdrop-filter:blur(14px)}[data-course-shell=kafka] .brand-lockup{display:flex;min-width:0;align-items:center;gap:.75rem;text-decoration:none}[data-course-shell=kafka] .brand-mark{display:grid;width:2.2rem;height:2.2rem;flex:0 0 auto;place-items:center;border:2px solid var(--ink);background:var(--signal);font-family:var(--font-geist-mono),monospace;font-size:.78rem;font-weight:900}[data-course-shell=kafka] .brand-copy{overflow:hidden}[data-course-shell=kafka] .brand-subtitle,[data-course-shell=kafka] .brand-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-course-shell=kafka] .brand-title{font-weight:850;letter-spacing:-.035em}[data-course-shell=kafka] .brand-subtitle{color:var(--muted);font-family:var(--font-geist-mono),monospace;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}[data-course-shell=kafka] .header-actions{display:flex;align-items:center;gap:.6rem}[data-course-shell=kafka] .repo-link{display:inline-flex;min-height:2.6rem;align-items:center;border:1px solid var(--ink);padding:0 .9rem;font-family:var(--font-geist-mono),monospace;font-size:.75rem;font-weight:700;text-decoration:none}[data-course-shell=kafka] .language-switch{display:inline-flex;border:1px solid var(--ink);background:var(--paper-raised);padding:.18rem}[data-course-shell=kafka] .language-switch button{min-width:2.8rem;min-height:2.25rem;border:0;background:transparent;cursor:pointer;font-family:var(--font-geist-mono),monospace;font-size:.75rem;font-weight:800}[data-course-shell=kafka] .language-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}[data-course-shell=kafka] .page-shell{display:grid;grid-template-columns:minmax(0,1fr)}[data-course-shell=kafka] .side-index{display:none}[data-course-shell=kafka] .main-content{min-width:0}[data-course-shell=kafka] .section-shell{width:min(100% - 2rem,1180px);margin-inline:auto;padding-block:clamp(4rem,8vw,7.5rem)}[data-course-shell=kafka] .failure-card,[data-course-shell=kafka] .hash-anchor,[data-course-shell=kafka] .module-section{scroll-margin-top:8.75rem}[data-course-shell=kafka] .hash-anchor{display:block;height:0}[data-course-shell=kafka] .hero{position:relative;overflow:hidden;min-height:calc(100svh - 4.25rem);border-bottom:1px solid var(--ink);background:var(--ink);color:var(--paper)}[data-course-shell=kafka] .hero:before{position:absolute;inset:0;background:radial-gradient(circle at 84% 14%,rgba(221,255,66,.24),transparent 24rem),linear-gradient(rgba(255,255,255,.055) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 0);background-size:auto,32px 32px,32px 32px;content:"";pointer-events:none}[data-course-shell=kafka] .hero-inner{position:relative;z-index:1;display:grid;width:min(100% - 2rem,1260px);min-height:calc(100svh - 4.25rem);margin-inline:auto;align-content:center;padding-block:4rem}[data-course-shell=kafka] .eyebrow{display:flex;align-items:center;gap:.65rem;margin:0 0 1.2rem;font-family:var(--font-geist-mono),monospace;font-size:.76rem;font-weight:780;letter-spacing:.1em;text-transform:uppercase}[data-course-shell=kafka] .eyebrow:before{width:2.2rem;height:.65rem;background:var(--signal);content:""}[data-course-shell=kafka] .hero h1{max-width:11ch;margin:0;font-size:clamp(3.4rem,9.5vw,8.8rem);font-weight:900;letter-spacing:-.075em;line-height:.88;text-wrap:balance}[data-course-shell=kafka] .hero h1 .signal-word{color:var(--signal)}[data-course-shell=kafka] .hero-lede{max-width:46rem;margin:2rem 0 0;color:#d8d7ce;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.55;text-wrap:pretty}[data-course-shell=kafka] .hero-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}[data-course-shell=kafka] .evidence-chip,[data-course-shell=kafka] .meta-chip,[data-course-shell=kafka] .status-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid;border-radius:999px;padding:.32rem .65rem;font-family:var(--font-geist-mono),monospace;font-size:.68rem;font-weight:780;letter-spacing:.035em;line-height:1.35;text-transform:uppercase}[data-course-shell=kafka] .hero .meta-chip{color:#ecece5}[data-course-shell=kafka] .hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.4rem}[data-course-shell=kafka] .button-primary,[data-course-shell=kafka] .button-secondary{display:inline-flex;min-height:3.1rem;align-items:center;justify-content:center;border:2px solid var(--signal);padding:0 1.15rem;font-weight:830;text-decoration:none}[data-course-shell=kafka] .button-primary{background:var(--signal);color:var(--ink)}[data-course-shell=kafka] .button-secondary{background:transparent;color:var(--paper)}[data-course-shell=kafka] .hero-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:clamp(3rem,7vw,6rem);border:1px solid #55574f;background:#55574f}[data-course-shell=kafka] .hero-proof article{min-height:8.5rem;background:#1b1c18;padding:1rem}[data-course-shell=kafka] .proof-number{display:block;margin-bottom:1rem;color:var(--signal);font-family:var(--font-geist-mono),monospace;font-size:.78rem}[data-course-shell=kafka] .hero-proof strong{display:block;margin-bottom:.4rem;font-size:1rem}[data-course-shell=kafka] .hero-proof p{margin:0;color:#b8b9b0;font-size:.82rem;line-height:1.5}[data-course-shell=kafka] .mobile-index{position:sticky;z-index:30;top:4.25rem;border-bottom:1px solid var(--ink);background:var(--signal)}[data-course-shell=kafka] .mobile-index summary{display:flex;min-height:3.3rem;cursor:pointer;list-style:none;align-items:center;justify-content:space-between;padding:0 1rem;font-family:var(--font-geist-mono),monospace;font-size:.78rem;font-weight:850;text-transform:uppercase}[data-course-shell=kafka] .mobile-index summary::-webkit-details-marker{display:none}[data-course-shell=kafka] .mobile-index summary:after{content:"+";font-size:1.2rem}[data-course-shell=kafka] .mobile-index[open] summary:after{content:"−"}[data-course-shell=kafka] .mobile-index nav{display:grid;max-height:55svh;overflow-y:auto;border-top:1px solid var(--ink);background:var(--paper-raised);padding:.55rem}[data-course-shell=kafka] .mobile-index a,[data-course-shell=kafka] .side-index a{text-decoration:none}[data-course-shell=kafka] .mobile-index a{border-bottom:1px solid var(--line);padding:.72rem;font-size:.86rem}[data-course-shell=kafka] .section-kicker{margin:0 0 .75rem;color:var(--muted);font-family:var(--font-geist-mono),monospace;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}[data-course-shell=kafka] .section-title{max-width:16ch;margin:0;font-size:clamp(2.3rem,6vw,5rem);font-weight:900;letter-spacing:-.065em;line-height:.98;text-wrap:balance}[data-course-shell=kafka] .section-intro{max-width:46rem;margin:1.25rem 0 0;color:var(--ink-soft);font-size:clamp(1rem,2vw,1.2rem)}[data-course-shell=kafka] .artifact-grid,[data-course-shell=kafka] .command-grid,[data-course-shell=kafka] .failure-grid,[data-course-shell=kafka] .legend-grid,[data-course-shell=kafka] .verification-grid{display:grid;gap:1rem;margin-top:2.5rem}[data-course-shell=kafka] .artifact-card,[data-course-shell=kafka] .command-card,[data-course-shell=kafka] .legend-card,[data-course-shell=kafka] .verification-card{border:1px solid var(--ink);background:var(--paper-raised);padding:1.1rem;box-shadow:5px 5px 0 var(--ink)}[data-course-shell=kafka] .artifact-card h3,[data-course-shell=kafka] .command-card h3,[data-course-shell=kafka] .legend-card h3,[data-course-shell=kafka] .verification-card h3{margin:0 0 .6rem;font-size:1rem}[data-course-shell=kafka] .artifact-card p,[data-course-shell=kafka] .command-card p,[data-course-shell=kafka] .legend-card p,[data-course-shell=kafka] .verification-card p{margin:0;color:var(--muted);font-size:.9rem}[data-course-shell=kafka] .legend-card.spec{border-top:8px solid var(--cyan)}[data-course-shell=kafka] .legend-card.verified{border-top:8px solid var(--signal)}[data-course-shell=kafka] .legend-card.practice{border-top:8px solid var(--violet)}[data-course-shell=kafka] .legend-card.policy{border-top:8px solid var(--orange)}[data-course-shell=kafka] .trace-panel{margin-top:2.5rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);box-shadow:var(--shadow)}[data-course-shell=kafka] .trace-track{display:grid;grid-template-columns:repeat(5,minmax(9rem,1fr));overflow-x:auto;border-bottom:1px solid #51534b;scrollbar-color:var(--signal) #262722}[data-course-shell=kafka] .trace-step{position:relative;min-height:10.5rem;border:0;border-right:1px solid #51534b;background:transparent;color:var(--paper);cursor:pointer;padding:1.2rem;text-align:left}[data-course-shell=kafka] .trace-step:last-child{border-right:0}[data-course-shell=kafka] .trace-step:after{position:absolute;right:-.55rem;bottom:1.6rem;z-index:1;color:var(--signal);content:"→";font-size:1.3rem}[data-course-shell=kafka] .trace-step:last-child:after{display:none}[data-course-shell=kafka] .trace-step[aria-pressed=true]{background:var(--signal);color:var(--ink)}[data-course-shell=kafka] .trace-step-index{display:block;margin-bottom:2.2rem;font-family:var(--font-geist-mono),monospace;font-size:.7rem}[data-course-shell=kafka] .trace-step small,[data-course-shell=kafka] .trace-step strong{display:block}[data-course-shell=kafka] .trace-step strong{font-size:1rem}[data-course-shell=kafka] .trace-step small{margin-top:.3rem;opacity:.68}[data-course-shell=kafka] .trace-detail{display:grid;gap:1rem;padding:1.3rem}[data-course-shell=kafka] .trace-detail h3{margin:0;color:var(--signal);font-size:1.35rem}[data-course-shell=kafka] .trace-detail p{max-width:55rem;margin:0;color:#c8c9c0}[data-course-shell=kafka] .trace-evidence{display:grid;gap:.65rem}[data-course-shell=kafka] .code-block,[data-course-shell=kafka] .trace-evidence code{display:block;overflow-x:auto;border:1px solid #4d4f47;background:#080906;color:#efffc2;padding:.9rem;font-family:var(--font-geist-mono),monospace;font-size:.78rem;line-height:1.6;white-space:pre}[data-course-shell=kafka] .boundary-box{position:relative;margin-top:3rem;border:2px solid var(--danger);background:#fff7f2;padding:clamp(1.2rem,4vw,2rem)}[data-course-shell=kafka] .boundary-box:before{position:absolute;top:-.85rem;left:1rem;background:var(--danger);color:#fff;content:"SCOPE BOUNDARY";padding:.25rem .55rem;font-family:var(--font-geist-mono),monospace;font-size:.67rem;font-weight:900;letter-spacing:.08em}[data-course-shell=kafka] .boundary-box h3{margin:.5rem 0 .6rem;font-size:clamp(1.35rem,3vw,2rem)}[data-course-shell=kafka] .boundary-box>.evidence-chip{margin-top:.35rem}[data-course-shell=kafka] .boundary-box p{max-width:62rem;margin:0}[data-course-shell=kafka] .pipeline-map{display:grid;gap:0;margin-top:2.5rem;border:1px solid var(--ink);background:var(--paper-raised)}[data-course-shell=kafka] .pipeline-stage{position:relative;display:grid;grid-template-columns:3.1rem 1fr;gap:.9rem;min-height:7.5rem;align-items:start;border-bottom:1px solid var(--ink);padding:1rem}[data-course-shell=kafka] .pipeline-stage:last-child{border-bottom:0}[data-course-shell=kafka] .pipeline-stage-number{display:grid;width:3.1rem;height:3.1rem;place-items:center;border:1px solid var(--ink);background:var(--signal);font-family:var(--font-geist-mono),monospace;font-weight:900}[data-course-shell=kafka] .pipeline-stage h3{margin:.55rem 0 0;font-size:1.2rem}[data-course-shell=kafka] .pipeline-stage p{margin:.35rem 0 0;color:var(--muted);font-size:.9rem}[data-course-shell=kafka] .pipeline-stage code{display:inline-block;margin-top:.65rem;background:var(--ink);color:var(--signal);padding:.2rem .4rem;font-family:var(--font-geist-mono),monospace;font-size:.72rem}[data-course-shell=kafka] .command-card{display:grid;gap:.85rem}[data-course-shell=kafka] .topic-contract{display:grid;gap:.65rem;margin-top:1.5rem;border-left:5px solid var(--orange);background:var(--paper-raised);padding:1rem}[data-course-shell=kafka] .topic-contract .evidence-chip{width:-moz-fit-content;width:fit-content}[data-course-shell=kafka] .topic-contract p{margin:0;font-family:var(--font-geist-mono),monospace;font-size:.76rem;overflow-wrap:anywhere}[data-course-shell=kafka] .section-classification{width:-moz-fit-content;width:fit-content;margin-top:1.5rem}[data-course-shell=kafka] .command-card .code-block{margin:0}[data-course-shell=kafka] .failure-card{display:grid;grid-template-rows:auto auto 1fr auto;border:1px solid var(--ink);background:var(--paper-raised);padding:1rem}[data-course-shell=kafka] .failure-id{color:var(--danger);font-family:var(--font-geist-mono),monospace;font-size:.7rem;font-weight:850}[data-course-shell=kafka] .failure-card h3{margin:.55rem 0;font-size:1.05rem;line-height:1.3}[data-course-shell=kafka] .failure-card p{margin:0;color:var(--muted);font-size:.86rem}[data-course-shell=kafka] .failure-copy{display:grid;gap:.7rem}[data-course-shell=kafka] .failure-copy strong{display:block;margin-bottom:.12rem;color:var(--ink);font-family:var(--font-geist-mono),monospace;font-size:.65rem;letter-spacing:.06em;text-transform:uppercase}[data-course-shell=kafka] .failure-card code{display:block;overflow-x:auto;margin-top:1rem;border-top:1px solid var(--line);padding-top:.7rem;font-family:var(--font-geist-mono),monospace;font-size:.68rem;white-space:nowrap}[data-course-shell=kafka] .dashboard{display:grid;gap:1px;margin-top:2.5rem;border:1px solid #3f413a;background:#3f413a;color:var(--paper)}[data-course-shell=kafka] .metric-card{min-width:0;min-height:10rem;background:#171814;padding:1rem}[data-course-shell=kafka] .metric-label,[data-course-shell=kafka] .metric-source{display:block;font-family:var(--font-geist-mono),monospace;font-size:.68rem}[data-course-shell=kafka] .metric-label{color:#aeb0a6;text-transform:uppercase}[data-course-shell=kafka] .metric-value{display:block;margin:1rem 0 .45rem;color:var(--signal);font-family:var(--font-geist-mono),monospace;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;line-height:1}[data-course-shell=kafka] .metric-source{color:#aeb0a6;overflow-wrap:anywhere}[data-course-shell=kafka] .sparkline{display:flex;height:2.6rem;align-items:end;gap:.18rem;margin-top:.8rem}[data-course-shell=kafka] .sparkline i{width:8%;min-height:8%;background:var(--cyan)}[data-course-shell=kafka] .module-stack{display:grid;gap:1.2rem;margin-top:3rem}[data-course-shell=kafka] .module-card{scroll-margin-top:8.75rem;border:1px solid var(--ink);background:var(--paper-raised);box-shadow:7px 7px 0 rgba(18,19,16,.92)}[data-course-shell=kafka] .module-header{display:grid;gap:1rem;border-bottom:1px solid var(--ink);padding:clamp(1rem,3vw,1.6rem)}[data-course-shell=kafka] .module-code{display:inline-flex;width:-moz-fit-content;width:fit-content;background:var(--ink);color:var(--signal);padding:.25rem .5rem;font-family:var(--font-geist-mono),monospace;font-size:.75rem;font-weight:850}[data-course-shell=kafka] .module-header h3{margin:0;font-size:clamp(1.65rem,4vw,2.6rem);letter-spacing:-.045em;line-height:1.05}[data-course-shell=kafka] .module-header p{max-width:58rem;margin:0;color:var(--muted)}[data-course-shell=kafka] .module-header .module-concepts{margin-top:.7rem;color:var(--ink-soft);font-family:var(--font-geist-mono),monospace;font-size:.72rem}[data-course-shell=kafka] .module-source-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem!important}[data-course-shell=kafka] .module-source-row a,[data-course-shell=kafka] .section-sources a{border:1px solid var(--line-strong);padding:.15rem .4rem;font-family:var(--font-geist-mono),monospace;font-size:.65rem;font-weight:760;text-decoration:none}[data-course-shell=kafka] .module-section{border-bottom:1px solid var(--line)}[data-course-shell=kafka] .module-section:last-child{border-bottom:0}[data-course-shell=kafka] .module-section summary{display:grid;grid-template-columns:2.2rem 1fr auto;gap:.75rem;min-height:4rem;cursor:pointer;list-style:none;align-items:center;padding:.8rem clamp(1rem,3vw,1.5rem);font-weight:760}[data-course-shell=kafka] .module-section summary::-webkit-details-marker{display:none}[data-course-shell=kafka] .module-section summary:after{content:"+";font-family:var(--font-geist-mono),monospace;font-size:1.15rem}[data-course-shell=kafka] .module-section[open] summary:after{content:"−"}[data-course-shell=kafka] .section-number{color:var(--muted);font-family:var(--font-geist-mono),monospace;font-size:.7rem}[data-course-shell=kafka] .section-body{display:grid;gap:.9rem;max-width:68rem;padding:0 clamp(1rem,3vw,1.5rem) 1.5rem calc(clamp(1rem, 3vw, 1.5rem) + 2.95rem)}[data-course-shell=kafka] .section-body p,[data-course-shell=kafka] .section-body ul{margin:0}[data-course-shell=kafka] .section-body ul{display:grid;gap:.45rem;padding-left:1.2rem}[data-course-shell=kafka] .section-body code:not(.code-block){background:#e7e3d6;padding:.12rem .32rem;font-family:var(--font-geist-mono),monospace;font-size:.83em}[data-course-shell=kafka] .section-evidence{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.4rem .7rem;border-left:5px solid;background:#eeeadf;padding:.85rem}[data-course-shell=kafka] .section-evidence .evidence-chip{grid-row:1/3;align-self:start}[data-course-shell=kafka] .section-evidence strong{line-height:1.35}[data-course-shell=kafka] .section-evidence p{color:var(--ink-soft);font-size:.92rem}[data-course-shell=kafka] .section-evidence.spec{color:#005c78}[data-course-shell=kafka] .section-evidence.verified{color:#446800}[data-course-shell=kafka] .section-evidence.practice{color:#5a3bad}[data-course-shell=kafka] .section-evidence.policy{color:#9b3719}[data-course-shell=kafka] .section-evidence p,[data-course-shell=kafka] .section-evidence strong{color:var(--ink)}[data-course-shell=kafka] .section-sources{display:flex;flex-wrap:wrap;gap:.4rem}[data-course-shell=kafka] .evidence-chip.spec{color:#005c78}[data-course-shell=kafka] .evidence-chip.verified{color:#446800}[data-course-shell=kafka] .evidence-chip.practice{color:#5a3bad}[data-course-shell=kafka] .evidence-chip.policy{color:#9b3719}[data-course-shell=kafka] .source-list{display:grid;gap:0;margin:2rem 0 0;border-top:1px solid var(--ink);padding:0;list-style:none}[data-course-shell=kafka] .source-list li{border-bottom:1px solid var(--line)}[data-course-shell=kafka] .source-list a{display:grid;grid-template-columns:2.6rem 1fr auto;gap:.75rem;align-items:center;padding:.9rem 0;text-decoration:none}[data-course-shell=kafka] .source-list a:hover .source-title{text-decoration:underline;text-underline-offset:.2em}[data-course-shell=kafka] .source-index,[data-course-shell=kafka] .source-url{color:var(--muted);font-family:var(--font-geist-mono),monospace;font-size:.68rem}[data-course-shell=kafka] .source-url{display:none}[data-course-shell=kafka] .completion-banner{display:grid;gap:1.2rem;margin-top:2.5rem;border:2px solid var(--ink);background:var(--signal);padding:clamp(1.2rem,4vw,2.2rem);box-shadow:9px 9px 0 var(--ink)}[data-course-shell=kafka] .completion-banner strong{font-size:clamp(1.4rem,3vw,2.1rem);letter-spacing:-.04em}[data-course-shell=kafka] .site-footer{border-top:1px solid var(--ink);background:var(--ink);color:var(--paper)}[data-course-shell=kafka] .footer-inner{display:grid;width:min(100% - 2rem,1180px);margin-inline:auto;gap:1rem;padding-block:2rem}[data-course-shell=kafka] .footer-inner p{margin:0;color:#aeb0a6;font-size:.82rem}@media (min-width:600px){[data-course-shell=kafka] .artifact-grid,[data-course-shell=kafka] .command-grid,[data-course-shell=kafka] .dashboard,[data-course-shell=kafka] .failure-grid,[data-course-shell=kafka] .legend-grid,[data-course-shell=kafka] .pipeline-map{grid-template-columns:repeat(2,minmax(0,1fr))}[data-course-shell=kafka] .pipeline-stage{grid-template-columns:1fr;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}[data-course-shell=kafka] .pipeline-stage:last-child{border-right:1px solid var(--ink)}[data-course-shell=kafka] .module-header{grid-template-columns:5.5rem minmax(0,1fr)}[data-course-shell=kafka] .module-header .module-code{grid-row:1/3;align-self:start}}@media (min-width:880px){[data-course-shell=kafka] .hero-proof,[data-course-shell=kafka] .legend-grid,[data-course-shell=kafka] .verification-grid{grid-template-columns:repeat(4,minmax(0,1fr))}[data-course-shell=kafka] .hero-proof article{min-height:10rem;padding:1.2rem}[data-course-shell=kafka] .trace-detail{grid-template-columns:.8fr 1.2fr;padding:1.6rem}[data-course-shell=kafka] .failure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}[data-course-shell=kafka] .dashboard{grid-template-columns:repeat(4,minmax(0,1fr))}[data-course-shell=kafka] .pipeline-map{grid-template-columns:repeat(5,minmax(0,1fr))}[data-course-shell=kafka] .pipeline-stage,[data-course-shell=kafka] .pipeline-stage:last-child{border-right:1px solid var(--ink);border-bottom:0}[data-course-shell=kafka] .pipeline-stage:last-child{border-right:0}[data-course-shell=kafka] .source-url{display:inline}[data-course-shell=kafka] .footer-inner{grid-template-columns:1fr auto}}@media (min-width:1180px){[data-course-shell=kafka] .page-shell{grid-template-columns:15.5rem minmax(0,1fr)}[data-course-shell=kafka] .mobile-index{display:none}[data-course-shell=kafka] .side-index{position:sticky;z-index:20;top:4.25rem;display:flex;height:calc(100svh - 4.25rem);flex-direction:column;overflow-y:auto;border-right:1px solid var(--ink);background:rgba(243,240,231,.96);padding:1.2rem .85rem}[data-course-shell=kafka] .side-index-label{margin:0 0 .75rem;color:var(--muted);font-family:var(--font-geist-mono),monospace;font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}[data-course-shell=kafka] .side-index nav{display:grid;gap:.18rem}[data-course-shell=kafka] .side-index a{display:grid;grid-template-columns:2rem 1fr;gap:.4rem;border-left:3px solid transparent;padding:.45rem .5rem;color:var(--ink-soft);font-size:.75rem;line-height:1.35}[data-course-shell=kafka] .side-index a[aria-current=location]{border-left-color:var(--orange);background:#fff;color:var(--ink);font-weight:760}[data-course-shell=kafka] .side-index-code{color:var(--muted);font-family:var(--font-geist-mono),monospace;font-size:.65rem}}@media (max-width:599px){[data-course-shell=kafka] .brand-subtitle,[data-course-shell=kafka] .repo-link{display:none}[data-course-shell=kafka] .section-shell{width:min(100% - 1.25rem,1180px)}[data-course-shell=kafka] .hero-inner{width:min(100% - 1.25rem,1260px)}[data-course-shell=kafka] .hero h1{font-size:clamp(3.2rem,18vw,5.2rem)}[data-course-shell=kafka] .hero-proof{grid-template-columns:1fr}[data-course-shell=kafka] .module-section summary{grid-template-columns:1.8rem 1fr auto}[data-course-shell=kafka] .module-section summary>.evidence-chip{display:none}[data-course-shell=kafka] .section-body{padding-left:1rem}[data-course-shell=kafka] .section-evidence{grid-template-columns:1fr}[data-course-shell=kafka] .section-evidence .evidence-chip{grid-row:auto}}@media (prefers-reduced-motion:reduce){[data-course-shell=kafka] *,[data-course-shell=kafka] :after,[data-course-shell=kafka] :before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{[data-course-shell=kafka] .hero-actions,[data-course-shell=kafka] .mobile-index,[data-course-shell=kafka] .side-index,[data-course-shell=kafka] .site-header{display:none!important}[data-course-shell=kafka] .page-shell{display:block}[data-course-shell=kafka] .hero{min-height:auto;background:#fff;color:#000}[data-course-shell=kafka] .hero:before{display:none}[data-course-shell=kafka] .hero-inner{min-height:auto}[data-course-shell=kafka] .artifact-card,[data-course-shell=kafka] .command-card,[data-course-shell=kafka] .legend-card,[data-course-shell=kafka] .module-card,[data-course-shell=kafka] .verification-card{box-shadow:none;-moz-column-break-inside:avoid;break-inside:avoid}}[data-course-shell=mes]{--ink:#0b1015;--ink-2:#121a21;--paper:#f2f0e8;--paper-2:#e4e1d5;--line:#c8c5ba;--muted:#5f665f;--lime:#c9ff3f;--lime-dark:#405800;--cyan:#83f5ea;--amber:#ffc85a;--red:#ff755e;--blue:#6aa8ff;--white:#fffef9;--display:"Arial Narrow","Roboto Condensed","Aptos Narrow",sans-serif;--sans:Inter,"Aptos","Noto Sans KR","Apple SD Gothic Neo",system-ui,sans-serif;--mono:"SFMono-Regular","Roboto Mono",Consolas,monospace;--radius:3px;--max:1440px}[data-course-shell=mes] *{box-sizing:border-box}[data-course-shell=mes]{scroll-behavior:smooth;scroll-padding-top:72px;margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5;text-rendering:optimizeLegibility}[data-course-shell=mes] button,[data-course-shell=mes] input{font:inherit}[data-course-shell=mes] a,[data-course-shell=mes] button{-webkit-tap-highlight-color:transparent}[data-course-shell=mes] a{color:inherit}[data-course-shell=mes] a:focus-visible,[data-course-shell=mes] button:focus-visible,[data-course-shell=mes] input:focus-visible,[data-course-shell=mes] pre:focus-visible,[data-course-shell=mes] select:focus-visible,[data-course-shell=mes] summary:focus-visible{outline:3px solid #176f7b;outline-offset:3px}[data-course-shell=mes] .skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:10px 14px;background:var(--white);color:var(--ink);border:2px solid var(--ink);transform:translateY(-180%);transition:transform .14s ease}[data-course-shell=mes] .skip-link:focus{transform:translateY(0)}[data-course-shell=mes] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-course-shell=mes] .topbar{position:sticky;z-index:40;top:0;min-height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 32px;background:rgba(242,240,232,.96);border-bottom:1px solid var(--ink);backdrop-filter:blur(12px)}[data-course-shell=mes] .wordmark{display:inline-flex;align-items:center;gap:10px;width:-moz-fit-content;width:fit-content;font-family:var(--display);font-size:13px;font-weight:900;letter-spacing:.1em;text-decoration:none}[data-course-shell=mes] .wordmark-mark{display:grid;width:30px;height:30px;place-items:center;background:var(--ink);color:var(--lime);font-family:var(--mono);font-size:15px;clip-path:polygon(0 0,76% 0,100% 24%,100% 100%,0 100%)}[data-course-shell=mes] .topnav{display:flex;align-items:center;gap:26px;font-family:var(--mono);font-size:11px;letter-spacing:.07em}[data-course-shell=mes] .topnav a{text-decoration:none;border-bottom:1px solid transparent}[data-course-shell=mes] .topnav a:hover{border-color:currentColor}[data-course-shell=mes] .language-switch{justify-self:end;display:flex;border:1px solid var(--ink)}[data-course-shell=mes] .language-switch button{min-width:42px;min-height:34px;padding:4px 10px;border:0;background:transparent;color:var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;cursor:pointer}[data-course-shell=mes] .language-switch button+button{border-left:1px solid var(--ink)}[data-course-shell=mes] .language-switch button.active{background:var(--ink);color:var(--lime)}[data-course-shell=mes] .hero{position:relative;min-height:720px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(460px,.9fr);gap:clamp(42px,7vw,120px);align-items:center;overflow:hidden;padding:clamp(72px,10vw,138px) max(32px,calc((100vw - var(--max)) / 2));background:var(--paper);border-bottom:1px solid var(--ink)}[data-course-shell=mes] .blueprint-grid{position:absolute;inset:0;opacity:.42;pointer-events:none;background-image:linear-gradient(rgba(11,16,21,.085) 1px,transparent 0),linear-gradient(90deg,rgba(11,16,21,.085) 1px,transparent 0),linear-gradient(rgba(11,16,21,.035) 1px,transparent 0),linear-gradient(90deg,rgba(11,16,21,.035) 1px,transparent 0);background-size:96px 96px,96px 96px,24px 24px,24px 24px;-webkit-mask-image:linear-gradient(90deg,black 0,black 70%,transparent);mask-image:linear-gradient(90deg,black 0,black 70%,transparent)}[data-course-shell=mes] .hero-console,[data-course-shell=mes] .hero-copy{position:relative;z-index:1}[data-course-shell=mes] .hero-copy{min-width:0}[data-course-shell=mes] .eyebrow,[data-course-shell=mes] .section-label{display:flex;align-items:center;gap:9px;margin:0 0 22px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}[data-course-shell=mes] .live-dot,[data-course-shell=mes] .pulse-dot{width:8px;height:8px;background:var(--lime-dark);border-radius:50%;box-shadow:0 0 0 4px rgba(93,123,8,.15)}[data-course-shell=mes] .hero h1{max-width:820px;margin:0;font-family:var(--display);font-size:clamp(64px,8vw,132px);font-stretch:condensed;font-weight:900;letter-spacing:-.067em;line-height:.79;text-transform:uppercase}[data-course-shell=mes] .hero h1 span{display:block;color:transparent;-webkit-text-stroke:1.5px var(--ink)}[data-course-shell=mes] .hero-lead{max-width:680px;margin:36px 0 0;font-size:clamp(17px,1.6vw,22px);line-height:1.65;word-break:keep-all}[data-course-shell=mes] .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}[data-course-shell=mes] .button{min-height:46px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:11px 17px;border:1px solid var(--ink);border-radius:0;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.03em;text-decoration:none;cursor:pointer}[data-course-shell=mes] .button.primary{background:var(--ink);color:var(--lime)}[data-course-shell=mes] .button.primary:hover{background:#202a31}[data-course-shell=mes] .button.secondary{background:transparent;color:inherit}[data-course-shell=mes] .button.ghost:hover,[data-course-shell=mes] .button.secondary:hover{background:rgba(11,16,21,.08)}[data-course-shell=mes] .button.ghost{border-color:#5f6a73;background:transparent;color:inherit}[data-course-shell=mes] .button.small{min-height:36px;padding:7px 12px;gap:12px;font-size:10px}[data-course-shell=mes] .disclaimer{max-width:660px;display:grid;grid-template-columns:auto 1fr;gap:14px;margin-top:36px;padding-top:18px;border-top:1px solid var(--ink);font-size:12px}[data-course-shell=mes] .disclaimer strong{color:#8d2e22;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}[data-course-shell=mes] .hero-console{border:1px solid #59636b;background:var(--ink);color:#eef5ed;box-shadow:16px 16px 0 var(--lime)}[data-course-shell=mes] .console-foot,[data-course-shell=mes] .console-head{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #344048;color:#aeb9b5;font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase}[data-course-shell=mes] .status-chip{color:var(--lime)}[data-course-shell=mes] .status-chip:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;background:var(--lime);border-radius:50%}[data-course-shell=mes] .unit-plate{min-height:210px;display:grid;grid-template-columns:150px 1fr;align-items:center;gap:24px;padding:24px;background:linear-gradient(135deg,transparent 0 48%,rgba(201,255,63,.06) 48% 52%,transparent 52%),radial-gradient(circle at center,rgba(131,245,234,.08),transparent 58%);border-bottom:1px solid #344048}[data-course-shell=mes] .unit-orbit{position:relative;aspect-ratio:1;border:1px solid #4a585d;border-radius:50%}[data-course-shell=mes] .unit-orbit:after,[data-course-shell=mes] .unit-orbit:before{content:"";position:absolute;inset:15%;border:1px dashed #65736f;border-radius:50%}[data-course-shell=mes] .unit-orbit:after{inset:36%;background:var(--lime);border:0;box-shadow:0 0 35px rgba(201,255,63,.22)}[data-course-shell=mes] .unit-orbit i{position:absolute;z-index:1;width:8px;height:8px;background:var(--cyan);border-radius:50%}[data-course-shell=mes] .unit-orbit i:first-child{top:12%;left:25%}[data-course-shell=mes] .unit-orbit i:nth-child(2){top:65%;right:9%}[data-course-shell=mes] .unit-orbit i:nth-child(3){bottom:8%;left:27%;background:var(--red)}[data-course-shell=mes] .unit-plate small,[data-course-shell=mes] .unit-plate span{display:block;color:#9ba9a5;font-family:var(--mono);font-size:9px}[data-course-shell=mes] .unit-plate strong{display:block;margin:8px 0;color:var(--white);font-family:var(--display);font-size:clamp(28px,3vw,46px);letter-spacing:-.04em}[data-course-shell=mes] .console-metrics{display:grid;grid-template-columns:1fr 1fr}[data-course-shell=mes] .console-metrics>div{min-height:92px;display:flex;flex-direction:column;justify-content:center;padding:14px 18px;border-right:1px solid #344048;border-bottom:1px solid #344048}[data-course-shell=mes] .console-metrics>div:nth-child(2n){border-right:0}[data-course-shell=mes] .console-metrics small,[data-course-shell=mes] .console-metrics span{color:#7f8d8a;font-family:var(--mono);font-size:8px;letter-spacing:.07em}[data-course-shell=mes] .console-metrics strong{margin:4px 0;color:var(--white);font-family:var(--mono);font-size:13px}[data-course-shell=mes] .console-metrics strong.good{color:var(--lime)}[data-course-shell=mes] .signal-strip{height:46px;display:flex;align-items:end;gap:5px;padding:8px 16px;border-bottom:1px solid #344048}[data-course-shell=mes] .signal-strip i{width:100%;height:20%;background:#4f6664}[data-course-shell=mes] .signal-strip i:nth-child(2n){height:55%}[data-course-shell=mes] .signal-strip i:nth-child(3n){height:90%;background:var(--cyan)}[data-course-shell=mes] .signal-strip i:nth-child(5n){height:38%;background:var(--lime)}[data-course-shell=mes] .console-foot{border:0;flex-wrap:wrap;color:#6f7d79}[data-course-shell=mes] .status-rail{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:var(--white);border-bottom:1px solid var(--ink)}[data-course-shell=mes] .status-rail>div{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:17px max(22px,calc((100vw - var(--max)) / 6));border-right:1px solid #38434b}[data-course-shell=mes] .status-rail>div:last-child{border-right:0}[data-course-shell=mes] .status-rail span{color:var(--lime);font-family:var(--mono);font-size:9px;letter-spacing:.08em}[data-course-shell=mes] .status-rail strong{color:#c0c8c5;font-size:11px;font-weight:500}[data-course-shell=mes] .section{padding:clamp(76px,9vw,132px) max(32px,calc((100vw - var(--max)) / 2));border-bottom:1px solid var(--ink)}[data-course-shell=mes] .section-heading{margin-bottom:48px}[data-course-shell=mes] .section-heading.split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:60px;align-items:end}[data-course-shell=mes] .section-heading.compact{max-width:840px}[data-course-shell=mes] .section-heading h2{max-width:960px;margin:0;font-family:var(--display);font-size:clamp(44px,5.8vw,84px);font-weight:900;letter-spacing:-.055em;line-height:.94;word-break:keep-all;text-transform:uppercase}[data-course-shell=mes] .section-heading.split>p,[data-course-shell=mes] .section-heading>p{max-width:560px;margin:20px 0 0;color:var(--muted);font-size:16px;line-height:1.7;word-break:keep-all}[data-course-shell=mes] .section-heading.split>p{margin:0 0 4px}[data-course-shell=mes] .evidence-section{background:var(--paper-2)}[data-course-shell=mes] .evidence-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--ink)}[data-course-shell=mes] .evidence-card{min-height:190px;padding:20px;border-right:1px solid var(--ink);background:var(--paper)}[data-course-shell=mes] .evidence-card:last-child{border-right:0}[data-course-shell=mes] .evidence-card span{display:inline-block;padding:4px 7px;background:var(--ink);color:var(--white);font-family:var(--mono);font-size:8px;letter-spacing:.04em}[data-course-shell=mes] .evidence-card.verified span{background:#245f21}[data-course-shell=mes] .evidence-card.unknown span{background:#8a2c20}[data-course-shell=mes] .evidence-card.spec span{background:#155b72}[data-course-shell=mes] .evidence-card.pattern span{background:#735b10}[data-course-shell=mes] .evidence-card.inference span{background:#6f3c12}[data-course-shell=mes] .evidence-card.recommended span{background:#2c5a51}[data-course-shell=mes] .evidence-card.policy span{background:#563b76}[data-course-shell=mes] .evidence-card p{margin:42px 0 0;font-size:13px;line-height:1.65;word-break:keep-all}[data-course-shell=mes] .search-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}[data-course-shell=mes] .search-row label{flex:1;max-width:520px}[data-course-shell=mes] .search-row input{width:100%;min-height:50px;padding:0 16px 0 44px;border:1px solid var(--ink);border-radius:0;background-color:var(--white);background-image:radial-gradient(circle,transparent 45%,var(--ink) 48% 54%,transparent 56%),linear-gradient(45deg,transparent 45%,var(--ink) 46% 54%,transparent 55%);background-position:14px 13px,27px 28px;background-size:18px 18px,9px 9px;background-repeat:no-repeat;color:var(--ink)}[data-course-shell=mes] .search-row>span{font-family:var(--mono);font-size:10px;color:var(--muted)}[data-course-shell=mes] .system-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr);border:1px solid var(--ink)}[data-course-shell=mes] .system-stack{max-height:650px;overflow:auto;border-right:1px solid var(--ink);scrollbar-color:var(--ink) var(--paper-2)}[data-course-shell=mes] .system-row{position:relative;width:100%;min-height:68px;display:grid;grid-template-columns:54px 190px 1fr auto;gap:16px;align-items:center;padding:11px 18px;border:0;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer}[data-course-shell=mes] .system-row:last-child{border-bottom:0}[data-course-shell=mes] .system-row.active,[data-course-shell=mes] .system-row:hover{background:var(--ink);color:var(--white)}[data-course-shell=mes] .system-row.active:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:var(--lime)}[data-course-shell=mes] .system-layer{color:var(--muted);font-family:var(--mono);font-size:9px}[data-course-shell=mes] .system-row.active .system-layer,[data-course-shell=mes] .system-row:hover .system-layer{color:var(--lime)}[data-course-shell=mes] .system-name{font-family:var(--display);font-size:17px;font-weight:800;letter-spacing:-.02em}[data-course-shell=mes] .system-purpose{color:var(--muted);font-size:12px}[data-course-shell=mes] .system-row.active .system-purpose,[data-course-shell=mes] .system-row:hover .system-purpose{color:#aeb9b5}[data-course-shell=mes] .boundary-panel{padding:32px;background:var(--ink-2);color:var(--white)}[data-course-shell=mes] .boundary-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid #39444b}[data-course-shell=mes] .boundary-head span{padding:5px 7px;background:var(--lime);color:var(--ink);font-family:var(--mono);font-size:9px;font-weight:900}[data-course-shell=mes] .boundary-head h3{margin:0;font-family:var(--display);font-size:27px;letter-spacing:-.03em}[data-course-shell=mes] .boundary-purpose{min-height:72px;margin:24px 0;color:#d7dcd9;font-size:17px;line-height:1.55}[data-course-shell=mes] .boundary-panel dl{margin:0}[data-course-shell=mes] .boundary-panel dl>div{padding:15px 0;border-top:1px solid #39444b}[data-course-shell=mes] .boundary-panel dt{margin-bottom:5px;color:#85938f;font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase}[data-course-shell=mes] .boundary-panel dd{margin:0;font-size:13px}[data-course-shell=mes] .boundary-warning{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:24px;padding:12px;background:rgba(255,200,90,.08);border:1px solid #806b3a;color:#f0d99d;font-size:11px}[data-course-shell=mes] .boundary-warning span{display:grid;width:18px;height:18px;place-items:center;border:1px solid;border-radius:50%;font-family:var(--mono)}[data-course-shell=mes] .no-results{padding:34px;color:var(--muted)}[data-course-shell=mes] .trace-section{background:var(--ink);color:var(--white)}[data-course-shell=mes] .inverse .section-label,[data-course-shell=mes] .section-heading.inverse>p{color:#aab4b0}[data-course-shell=mes] .inverse .section-label{color:var(--lime)}[data-course-shell=mes] .trace-rail{display:grid;grid-template-columns:repeat(9,minmax(130px,1fr));overflow-x:auto;padding-bottom:12px}[data-course-shell=mes] .trace-rail button{position:relative;min-height:170px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;border:1px solid #405059;border-right:0;background:transparent;color:var(--white);text-align:left;cursor:pointer}[data-course-shell=mes] .trace-rail button:last-child{border-right:1px solid #405059}[data-course-shell=mes] .trace-rail button:after{content:"→";position:absolute;z-index:2;top:48%;right:-9px;width:18px;height:18px;display:grid;place-items:center;background:var(--ink);color:#80908b;font-size:11px}[data-course-shell=mes] .trace-rail button:last-child:after{display:none}[data-course-shell=mes] .trace-rail button.active,[data-course-shell=mes] .trace-rail button:hover{background:#1a252c;border-color:var(--lime)}[data-course-shell=mes] .trace-type{padding:3px 5px;background:#243038;color:var(--cyan);font-family:var(--mono);font-size:8px;text-transform:uppercase}[data-course-shell=mes] .trace-type.transaction{color:var(--lime)}[data-course-shell=mes] .trace-type.telemetry{color:var(--amber)}[data-course-shell=mes] .trace-type.decision{color:#ff9f90}[data-course-shell=mes] .trace-type.event{color:#c8adff}[data-course-shell=mes] .trace-rail strong{font-family:var(--display);font-size:19px;line-height:1.1}[data-course-shell=mes] .trace-rail small{color:#91a09b;font-family:var(--mono);font-size:9px}[data-course-shell=mes] .trace-detail{display:grid;grid-template-columns:auto 220px 1fr;gap:26px;align-items:center;margin-top:22px;padding:24px;border-left:4px solid var(--lime);background:#151f25}[data-course-shell=mes] .trace-detail>span{color:var(--lime);font-family:var(--display);font-size:54px;font-weight:900}[data-course-shell=mes] .trace-detail small{color:#7f8f8a;font-family:var(--mono);font-size:8px;text-transform:uppercase}[data-course-shell=mes] .trace-detail h3,[data-course-shell=mes] .trace-detail p{margin:4px 0 0}[data-course-shell=mes] .trace-detail h3{font-family:var(--display);font-size:21px}[data-course-shell=mes] .trace-detail p{color:#b4bfbb;font-size:13px;line-height:1.7;overflow-wrap:anywhere}[data-course-shell=mes] .simulator-section{background:#dfe3d6}[data-course-shell=mes] .scenario-tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--ink)}[data-course-shell=mes] .scenario-tabs button{flex:1;min-width:150px;min-height:46px;padding:8px 12px;border:1px solid var(--ink);border-bottom:0;border-right:0;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:10px;cursor:pointer}[data-course-shell=mes] .scenario-tabs button:last-child{border-right:1px solid var(--ink)}[data-course-shell=mes] .scenario-tabs button.active{background:var(--ink);color:var(--lime)}[data-course-shell=mes] .simulator-console{border:1px solid var(--ink);border-top:0;background:var(--ink);color:var(--white)}[data-course-shell=mes] .simulator-footer,[data-course-shell=mes] .simulator-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border-bottom:1px solid #3c474e}[data-course-shell=mes] .simulator-toolbar>div:first-child{display:grid;grid-template-columns:auto auto;gap:2px 9px;align-items:center}[data-course-shell=mes] .simulator-toolbar small{grid-column:2;color:#87958f}[data-course-shell=mes] .simulator-actions{display:flex;gap:8px}[data-course-shell=mes] .event-log{min-height:330px;padding:12px 20px;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 0);background-size:100% 38px;font-family:var(--mono)}[data-course-shell=mes] .empty-log{margin:125px auto 0;color:#6f7e79;text-align:center;font-size:11px}[data-course-shell=mes] .event-row{min-height:40px;display:grid;grid-template-columns:100px 100px 1fr 12px;gap:18px;align-items:center;border-bottom:1px solid #29353c;font-size:11px}[data-course-shell=mes] .event-row span,[data-course-shell=mes] .event-row time{color:#7f8e89}[data-course-shell=mes] .event-row code{color:#e8eeeb;font-family:inherit}[data-course-shell=mes] .event-state{width:8px;height:8px;background:#87958f;border-radius:50%}[data-course-shell=mes] .event-state.ok{background:var(--lime)}[data-course-shell=mes] .event-state.live{background:var(--cyan)}[data-course-shell=mes] .event-state.warn{background:var(--amber)}[data-course-shell=mes] .event-state.fail{background:var(--red)}[data-course-shell=mes] .simulator-footer{border-top:1px solid #3c474e;border-bottom:0}[data-course-shell=mes] .simulator-footer>div{display:flex;flex-direction:column}[data-course-shell=mes] .simulator-footer span{color:#7f8e89;font-family:var(--mono);font-size:8px;text-transform:uppercase}[data-course-shell=mes] .simulator-footer strong{color:var(--lime);font-family:var(--mono);font-size:12px}[data-course-shell=mes] .modules-section{background:var(--paper)}[data-course-shell=mes] .module-progress{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:center;margin-bottom:22px}[data-course-shell=mes] .module-progress>div:first-child{display:flex;align-items:baseline;gap:10px}[data-course-shell=mes] .module-progress span{font-family:var(--display);font-size:22px;font-weight:900}[data-course-shell=mes] .module-progress small{color:var(--muted);font-size:9px}[data-course-shell=mes] .progress-track{height:6px;overflow:hidden;background:var(--paper-2);border:1px solid var(--ink)}[data-course-shell=mes] .progress-track i{display:block;height:100%;background:var(--lime-dark);transition:width .18s ease}[data-course-shell=mes] .module-list{border-top:1px solid var(--ink)}[data-course-shell=mes] .module{border-bottom:1px solid var(--ink)}[data-course-shell=mes] .module summary{min-height:88px;display:grid;grid-template-columns:70px minmax(220px,1fr) minmax(240px,.75fr) 34px;gap:18px;align-items:center;padding:14px 4px;cursor:pointer;list-style:none}[data-course-shell=mes] .module summary::-webkit-details-marker{display:none}[data-course-shell=mes] .module summary:hover{background:rgba(11,16,21,.035)}[data-course-shell=mes] .module-code{color:var(--lime-dark);font-family:var(--mono);font-size:12px;font-weight:800}[data-course-shell=mes] .module-title{display:flex;flex-direction:column;gap:5px}[data-course-shell=mes] .module-title strong{font-family:var(--display);font-size:25px;letter-spacing:-.035em}[data-course-shell=mes] .module-proof,[data-course-shell=mes] .module-title small{color:var(--muted);font-size:10px}[data-course-shell=mes] .module-title small{font-family:var(--mono)}[data-course-shell=mes] .module-proof{padding-left:18px;border-left:1px solid var(--line)}[data-course-shell=mes] .module-chevron{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--ink);font-family:var(--mono)}[data-course-shell=mes] .module[open] .module-chevron{background:var(--ink);color:var(--lime);transform:rotate(45deg)}[data-course-shell=mes] .module-body{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:0 0 24px 88px;background:var(--line)}[data-course-shell=mes] .module-body>div{min-height:140px;padding:18px;background:var(--white)}[data-course-shell=mes] .module-body>div span{color:var(--lime-dark);font-family:var(--mono);font-size:9px;font-weight:800;text-transform:uppercase}[data-course-shell=mes] .module-body>div p{margin:26px 0 0;font-size:13px;line-height:1.65;word-break:keep-all}[data-course-shell=mes] .completion-toggle{grid-column:1/-1;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;background:var(--ink);color:var(--white);font-family:var(--mono);font-size:10px;cursor:pointer}[data-course-shell=mes] .completion-toggle.done{background:var(--lime-dark);color:var(--white)}[data-course-shell=mes] .ninety-section{background:var(--ink);color:var(--white)}[data-course-shell=mes] .ninety-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #4a565d}[data-course-shell=mes] .ninety-grid article{border-right:1px solid #4a565d}[data-course-shell=mes] .ninety-grid article:last-child{border-right:0}[data-course-shell=mes] .ninety-grid article>div,[data-course-shell=mes] .ninety-grid header{padding:22px;border-bottom:1px solid #3c474e}[data-course-shell=mes] .ninety-grid article>div:last-child{border-bottom:0}[data-course-shell=mes] .ninety-grid header{min-height:140px;background:#162127}[data-course-shell=mes] .ninety-grid header span,[data-course-shell=mes] .ninety-grid strong{color:var(--lime);font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase}[data-course-shell=mes] .ninety-grid h3{margin:24px 0 0;font-family:var(--display);font-size:28px;letter-spacing:-.035em}[data-course-shell=mes] .ninety-grid ul{margin:18px 0 0;padding-left:18px;color:#bec7c3;font-size:13px;line-height:1.8}[data-course-shell=mes] .ninety-grid p{margin:14px 0 0;color:#bec7c3;font-size:12px;line-height:1.65}[data-course-shell=mes] .ninety-grid .avoid{background:rgba(255,117,94,.06)}[data-course-shell=mes] .ninety-grid .avoid strong{color:var(--red)}[data-course-shell=mes] .exam-section{background:var(--paper-2)}[data-course-shell=mes] .exam-list{max-width:1060px;border-top:1px solid var(--ink)}[data-course-shell=mes] .exam-list details{border-bottom:1px solid var(--ink)}[data-course-shell=mes] .exam-list summary{min-height:88px;display:grid;grid-template-columns:42px 1fr auto;gap:20px;align-items:center;list-style:none;cursor:pointer;font-size:16px;font-weight:650}[data-course-shell=mes] .exam-list summary::-webkit-details-marker{display:none}[data-course-shell=mes] .exam-list summary i,[data-course-shell=mes] .exam-list summary>span{font-family:var(--mono);font-size:9px;font-style:normal}[data-course-shell=mes] .exam-list summary>span{color:var(--lime-dark)}[data-course-shell=mes] .exam-list summary i{color:var(--muted)}[data-course-shell=mes] .exam-list details p{margin:0 0 22px 62px;padding:22px;border-left:4px solid var(--lime-dark);background:var(--white);line-height:1.7}[data-course-shell=mes] .sources-section{background:var(--paper)}[data-course-shell=mes] .source-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink)}[data-course-shell=mes] .source-grid a{min-height:126px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:20px;padding:17px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);text-decoration:none}[data-course-shell=mes] .source-grid a:nth-child(4n){border-right:0}[data-course-shell=mes] .source-grid a:nth-last-child(-n+4){border-bottom:0}[data-course-shell=mes] .source-grid a:hover{background:var(--ink);color:var(--white)}[data-course-shell=mes] .source-grid span{font-family:var(--mono);font-size:8px;color:var(--lime-dark)}[data-course-shell=mes] .source-grid a:hover span{color:var(--lime)}[data-course-shell=mes] .source-grid strong{align-self:end;font-family:var(--display);font-size:18px}[data-course-shell=mes] .source-grid i{grid-column:2;grid-row:1/3;font-style:normal}[data-course-shell=mes] .artifact-callout{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:28px;padding:24px;background:var(--lime);border:1px solid var(--ink)}[data-course-shell=mes] .artifact-callout>div{display:flex;flex-direction:column}[data-course-shell=mes] .artifact-callout span{font-family:var(--mono);font-size:9px;font-weight:800}[data-course-shell=mes] .artifact-callout strong{margin-top:7px;font-family:var(--display);font-size:22px}[data-course-shell=mes] .footer{min-height:150px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:32px max(32px,calc((100vw - var(--max)) / 2));background:var(--ink);color:var(--white)}[data-course-shell=mes] .footer p,[data-course-shell=mes] .footer>a{color:#85928e;font-family:var(--mono);font-size:9px;text-transform:uppercase}[data-course-shell=mes] .footer>a{justify-self:end}[data-course-shell=mes] .jd-section{background:var(--white)}[data-course-shell=mes] .jd-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--ink);background:var(--white)}[data-course-shell=mes] .jd-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}[data-course-shell=mes] .jd-table td,[data-course-shell=mes] .jd-table th{padding:18px;border-right:1px solid var(--ink);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:12px;line-height:1.6}[data-course-shell=mes] .jd-table td:last-child,[data-course-shell=mes] .jd-table th:last-child{border-right:0}[data-course-shell=mes] .jd-table tbody tr:last-child>*{border-bottom:0}[data-course-shell=mes] .jd-table thead th{background:var(--ink);color:var(--lime);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase}[data-course-shell=mes] .jd-table tbody th{width:20%;background:var(--paper-2);font-family:var(--display);font-size:17px}[data-course-shell=mes] .atlas-section{background:var(--paper-2)}[data-course-shell=mes] .atlas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}[data-course-shell=mes] .architecture-figure{min-width:0;margin:0;padding:20px;border:1px solid var(--ink);background:var(--white)}[data-course-shell=mes] .architecture-figure figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--ink)}[data-course-shell=mes] .architecture-figure em,[data-course-shell=mes] .architecture-figure figcaption span{color:var(--lime-dark);font-family:var(--mono);font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase}[data-course-shell=mes] .architecture-figure figcaption strong{font-family:var(--display);font-size:19px;text-align:right}[data-course-shell=mes] .system-diagram{display:grid;gap:8px}[data-course-shell=mes] .system-lane{display:grid;grid-template-columns:145px 1fr;gap:7px 14px;align-items:center;padding:11px;border-left:4px solid var(--lime-dark);background:var(--paper)}[data-course-shell=mes] .system-lane>b{grid-row:1/3;font-family:var(--mono);font-size:9px}[data-course-shell=mes] .system-lane>div{display:flex;flex-wrap:wrap;gap:5px}[data-course-shell=mes] .system-lane>div span{padding:4px 6px;border:1px solid var(--ink);background:var(--white);font-family:var(--mono);font-size:8px}[data-course-shell=mes] .system-lane small{color:var(--muted);font-size:10px}[data-course-shell=mes] .lineage-diagram,[data-course-shell=mes] .module-guide,[data-course-shell=mes] .sequence-diagram,[data-course-shell=mes] .state-diagram{margin:0;padding:0;list-style:none}[data-course-shell=mes] .sequence-diagram{display:grid;gap:1px;background:var(--line)}[data-course-shell=mes] .sequence-diagram li{display:grid;grid-template-columns:28px minmax(72px,.8fr) 18px minmax(90px,1fr) auto;gap:8px;align-items:center;padding:10px;background:var(--paper)}[data-course-shell=mes] .sequence-diagram li>span{color:var(--lime-dark);font-family:var(--mono);font-size:9px;font-weight:800}[data-course-shell=mes] .sequence-diagram li>b{font-size:11px}[data-course-shell=mes] .sequence-diagram li>i{color:var(--muted);font-style:normal}[data-course-shell=mes] .sequence-diagram li>small{grid-column:2/-1;color:var(--muted);font-size:10px}[data-course-shell=mes] .lineage-diagram,[data-course-shell=mes] .state-diagram{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}[data-course-shell=mes] .lineage-diagram li,[data-course-shell=mes] .state-diagram li{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;min-height:92px;padding:11px;border:1px solid var(--line);background:var(--paper)}[data-course-shell=mes] .lineage-diagram b,[data-course-shell=mes] .state-diagram b{padding:5px;background:var(--ink);color:var(--white);font-family:var(--mono);font-size:9px;text-align:center;overflow-wrap:anywhere}[data-course-shell=mes] .lineage-diagram small,[data-course-shell=mes] .state-diagram small{grid-column:1/-1;color:var(--muted);font-size:9px;text-align:center}[data-course-shell=mes] .diagram-caveat{margin:14px 0 0;color:var(--muted);font-family:var(--mono);font-size:9px}[data-course-shell=mes] .operator-section,[data-course-shell=mes] .snippets-section{background:var(--ink);color:var(--white)}[data-course-shell=mes] .snippet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid #455159;background:#455159}[data-course-shell=mes] .snippet-grid article{min-width:0;padding:20px;background:#101920}[data-course-shell=mes] .snippet-grid header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}[data-course-shell=mes] .snippet-grid header span{color:var(--lime);font-family:var(--mono);font-size:8px}[data-course-shell=mes] .snippet-grid header code{color:#8e9b97;font-family:var(--mono);font-size:9px;overflow-wrap:anywhere;text-align:right}[data-course-shell=mes] .snippet-grid h3{margin:30px 0 12px;font-family:var(--display);font-size:22px;overflow-wrap:anywhere}[data-course-shell=mes] .operator-readout pre,[data-course-shell=mes] .snippet-grid pre{max-width:100%;overflow:auto;margin:0;padding:16px;border:1px solid #38464d;background:#080d11;color:#dce6e1;font-family:var(--mono);font-size:10px;line-height:1.65}[data-course-shell=mes] .operator-console{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);border:1px solid #4b585f}[data-course-shell=mes] .operator-console form{display:flex;flex-direction:column;gap:18px;padding:24px;border-right:1px solid #4b585f;background:#162127}[data-course-shell=mes] .operator-console label{display:flex;flex-direction:column;gap:7px}[data-course-shell=mes] .operator-console label span{color:#a6b2ae;font-family:var(--mono);font-size:9px}[data-course-shell=mes] .operator-console input,[data-course-shell=mes] .operator-console select{width:100%;min-height:44px;padding:8px 10px;border:1px solid #66737a;border-radius:0;background:var(--ink);color:var(--white)}[data-course-shell=mes] .operator-actions{display:grid;gap:8px;margin-top:auto}[data-course-shell=mes] .operator-actions .button{width:100%}[data-course-shell=mes] .operator-actions button:disabled{cursor:not-allowed;opacity:.58}[data-course-shell=mes] .operator-readout{min-width:0;min-height:420px;padding:24px;background:#0d151a}[data-course-shell=mes] .operator-readout>header{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #3a464c;color:var(--lime);font-family:var(--mono);font-size:9px}[data-course-shell=mes] .operator-readout header small{color:#899691}[data-course-shell=mes] .operator-empty,[data-course-shell=mes] .operator-error{margin:120px auto 0;max-width:560px;color:#87958f;text-align:center;font-size:12px}[data-course-shell=mes] .operator-error{color:#ffad9f}[data-course-shell=mes] .operator-observation{display:flex;justify-content:space-between;gap:12px;margin:18px 0;color:#8e9b97;font-family:var(--mono);font-size:9px}[data-course-shell=mes] .operator-readout details{border-top:1px solid #334047}[data-course-shell=mes] .operator-readout details:last-child{border-bottom:1px solid #334047}[data-course-shell=mes] .operator-readout summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;cursor:pointer;list-style:none}[data-course-shell=mes] .operator-readout summary::-webkit-details-marker{display:none}[data-course-shell=mes] .operator-readout summary code{color:#d6dfdb;font-family:var(--mono);font-size:10px;overflow-wrap:anywhere}[data-course-shell=mes] .operator-readout summary span{min-width:42px;padding:3px 6px;font-family:var(--mono);font-size:9px;text-align:center}[data-course-shell=mes] .api-ok{background:#285d23;color:#eaffdf}[data-course-shell=mes] .api-fail{background:#7a2e25;color:#ffe4df}[data-course-shell=mes] .capstone-operator{margin-top:22px;border:1px solid #4b585f;background:#0d151a}[data-course-shell=mes] .capstone-operator>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 24px;border-bottom:1px solid #4b585f;background:#162127}[data-course-shell=mes] .capstone-next span,[data-course-shell=mes] .capstone-observations>header,[data-course-shell=mes] .capstone-operator>header span,[data-course-shell=mes] .capstone-operator>header>strong,[data-course-shell=mes] .capstone-stages i,[data-course-shell=mes] .capstone-stages small,[data-course-shell=mes] .capstone-workspace label>span{font-family:var(--mono);font-size:9px;letter-spacing:.035em}[data-course-shell=mes] .capstone-operator>header span,[data-course-shell=mes] .capstone-operator>header>strong{color:var(--lime)}[data-course-shell=mes] .capstone-operator>header h3{margin:7px 0 0;font-family:var(--display);font-size:26px;letter-spacing:-.025em}[data-course-shell=mes] .capstone-operator>header>strong{max-width:320px;text-align:right}[data-course-shell=mes] .capstone-stages{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;border-bottom:1px solid #4b585f;list-style:none}[data-course-shell=mes] .capstone-stages li{min-width:0;min-height:118px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:14px;border-right:1px solid #3a464c;background:#10191f}[data-course-shell=mes] .capstone-stages li:last-child{border-right:0}[data-course-shell=mes] .capstone-stages li[data-state=observed]{background:#1d3423}[data-course-shell=mes] .capstone-stages li[data-state=next]{box-shadow:inset 0 -4px var(--lime)}[data-course-shell=mes] .capstone-stages i,[data-course-shell=mes] .capstone-stages li>span{color:#81908b;font-family:var(--mono);font-size:9px;font-style:normal}[data-course-shell=mes] .capstone-stages li[data-state=next] i,[data-course-shell=mes] .capstone-stages li[data-state=observed] i{color:var(--lime)}[data-course-shell=mes] .capstone-stages li strong{display:block;font-size:12px;line-height:1.35;overflow-wrap:anywhere}[data-course-shell=mes] .capstone-stages small{display:block;margin-top:8px;color:#83908c;overflow-wrap:anywhere}[data-course-shell=mes] .capstone-workspace{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr)}[data-course-shell=mes] .capstone-observations,[data-course-shell=mes] .capstone-workspace form{min-width:0;padding:24px}[data-course-shell=mes] .capstone-workspace form{display:flex;flex-direction:column;gap:18px;border-right:1px solid #4b585f;background:#162127}[data-course-shell=mes] .capstone-workspace form>label:not(.capstone-confirm){display:flex;flex-direction:column;gap:7px}[data-course-shell=mes] .capstone-next span,[data-course-shell=mes] .capstone-workspace label>span{color:#a6b2ae}[data-course-shell=mes] .capstone-workspace input:not([type]),[data-course-shell=mes] .capstone-workspace input[type=text]{width:100%;min-height:44px;padding:8px 10px;border:1px solid #66737a;border-radius:0;background:var(--ink);color:var(--white)}[data-course-shell=mes] .capstone-next{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid #4b585f;background:#0d151a}[data-course-shell=mes] .capstone-next strong{color:var(--lime);font-size:12px;overflow-wrap:anywhere}[data-course-shell=mes] .capstone-confirm{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;padding:12px;border:1px solid #806b3a;background:rgba(255,200,90,.07);cursor:pointer}[data-course-shell=mes] .capstone-confirm input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--lime-dark)}[data-course-shell=mes] .capstone-confirm span{line-height:1.6}[data-course-shell=mes] .capstone-workspace form>p{margin:0;color:#8d9a96;font-size:10px;line-height:1.65}[data-course-shell=mes] .capstone-observations{min-height:390px;background:#0a1115}[data-course-shell=mes] .capstone-observations>header{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #3a464c;color:var(--lime)}[data-course-shell=mes] .capstone-observations>header small{color:#899691;font-family:var(--mono);overflow-wrap:anywhere}[data-course-shell=mes] .capstone-observations .operator-empty,[data-course-shell=mes] .capstone-observations .operator-error{margin-top:94px}[data-course-shell=mes] .capstone-observations>ol{margin:14px 0 0;padding:0;list-style:none}[data-course-shell=mes] .capstone-observations>ol li{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid #2d393f}[data-course-shell=mes] .capstone-observations>ol li>span{height:-moz-fit-content;height:fit-content;padding:3px 6px;background:#285d23;color:#eaffdf;font-family:var(--mono);font-size:8px;text-align:center}[data-course-shell=mes] .capstone-observations>ol li[data-status=error]>span{background:#7a2e25;color:#ffe4df}[data-course-shell=mes] .capstone-observations li p,[data-course-shell=mes] .capstone-observations li strong,[data-course-shell=mes] .capstone-observations li time{overflow-wrap:anywhere}[data-course-shell=mes] .capstone-observations li p{margin:4px 0;color:#ccd6d1;font-size:11px}[data-course-shell=mes] .capstone-observations li time{color:#7f8d88;font-family:var(--mono);font-size:8px}[data-course-shell=mes] .operator-policy{margin:14px 0 0;color:#94a19d;font-family:var(--mono);font-size:9px}[data-course-shell=mes] .module-index{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin-bottom:24px;border:1px solid var(--ink);background:var(--ink)}[data-course-shell=mes] .module-index a{min-width:0;display:flex;flex-direction:column;gap:3px;padding:9px;background:var(--paper);text-decoration:none}[data-course-shell=mes] .module-index a:hover{background:var(--lime)}[data-course-shell=mes] .module-index a{color:var(--lime-dark);font-family:var(--mono);font-size:9px;font-weight:800}[data-course-shell=mes] .module-index a span{overflow:hidden;color:var(--muted);font-family:var(--sans);font-size:9px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}[data-course-shell=mes] .module-guide{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}[data-course-shell=mes] .module-guide li{min-width:0;display:grid;grid-template-columns:38px 1fr;gap:12px;min-height:112px;padding:15px;background:var(--paper)}[data-course-shell=mes] .module-guide li>span{color:var(--lime-dark);font-family:var(--display);font-size:24px;font-weight:900}[data-course-shell=mes] .module-guide li div{min-width:0}[data-course-shell=mes] .module-guide strong{display:block;color:var(--muted);font-family:var(--mono);font-size:8px;letter-spacing:.04em;text-transform:uppercase}[data-course-shell=mes] .module-guide a,[data-course-shell=mes] .module-guide p{display:block;margin:13px 0 0;color:var(--ink);font-size:11px;line-height:1.6;overflow-wrap:anywhere}[data-course-shell=mes] .module-guide a{font-weight:700}[data-course-shell=mes] .module-guide a i{color:var(--lime-dark);font-style:normal}[data-course-shell=mes] .checkpoint-note{grid-column:1/-1;margin:0;padding:12px 18px;background:#fff3c8;color:#423400;font-family:var(--mono);font-size:9px;text-align:center}@media (max-width:1120px){[data-course-shell=mes] .hero{grid-template-columns:1fr}[data-course-shell=mes] .hero-console{max-width:760px}[data-course-shell=mes] .evidence-grid{grid-template-columns:repeat(2,1fr)}[data-course-shell=mes] .evidence-card{border-bottom:1px solid var(--ink)}[data-course-shell=mes] .evidence-card:nth-child(2n){border-right:0}[data-course-shell=mes] .evidence-card:last-child{grid-column:1/-1;border-bottom:0}[data-course-shell=mes] .system-layout{grid-template-columns:1fr}[data-course-shell=mes] .system-stack{max-height:500px;border-right:0;border-bottom:1px solid var(--ink)}[data-course-shell=mes] .source-grid{grid-template-columns:repeat(3,1fr)}[data-course-shell=mes] .source-grid a,[data-course-shell=mes] .source-grid a:nth-child(4n){border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}[data-course-shell=mes] .source-grid a:nth-child(3n){border-right:0}[data-course-shell=mes] .source-grid a:nth-last-child(-n+4){border-bottom:1px solid var(--ink)}[data-course-shell=mes] .source-grid a:nth-last-child(-n+1){border-bottom:0}[data-course-shell=mes] .capstone-stages,[data-course-shell=mes] .module-index{grid-template-columns:repeat(4,minmax(0,1fr))}[data-course-shell=mes] .capstone-stages li{border-bottom:1px solid #3a464c}}@media (max-width:820px){[data-course-shell=mes] .topbar{grid-template-columns:1fr auto;grid-template-rows:58px 34px;gap:0 14px;padding:0 18px}[data-course-shell=mes] .topnav{grid-column:1/-1;grid-row:2;display:flex;width:100%;gap:0;overflow-x:auto;border-top:1px solid var(--line);scrollbar-width:thin}[data-course-shell=mes] .topnav a{flex:1 1 0;min-width:0;padding:8px 4px;font-size:9px;text-align:center}[data-course-shell=mes] .hero,[data-course-shell=mes] .section{padding-left:20px;padding-right:20px}[data-course-shell=mes] .hero{min-height:0;grid-template-columns:minmax(0,1fr);padding-top:96px;padding-bottom:80px}[data-course-shell=mes] .hero h1{font-size:clamp(57px,18vw,90px)}[data-course-shell=mes] .status-rail{grid-template-columns:1fr}[data-course-shell=mes] .status-rail>div{padding:14px 20px;border-right:0;border-bottom:1px solid #38434b}[data-course-shell=mes] .status-rail>div:last-child{border-bottom:0}[data-course-shell=mes] .section-heading.split{grid-template-columns:1fr;gap:20px}[data-course-shell=mes] .section-heading h2{font-size:clamp(42px,12vw,68px)}[data-course-shell=mes] .section-heading.split>p{margin:0}[data-course-shell=mes] .system-row{grid-template-columns:40px 150px 1fr auto}[data-course-shell=mes] .trace-detail{grid-template-columns:auto 1fr}[data-course-shell=mes] .trace-detail p{grid-column:1/-1}[data-course-shell=mes] .module summary{grid-template-columns:54px 1fr 34px}[data-course-shell=mes] .module-proof{display:none}[data-course-shell=mes] .module-body{grid-template-columns:1fr 1fr;padding-left:0}[data-course-shell=mes] .ninety-grid{grid-template-columns:1fr}[data-course-shell=mes] .ninety-grid article{border-right:0;border-bottom:1px solid #4a565d}[data-course-shell=mes] .ninety-grid article:last-child{border-bottom:0}[data-course-shell=mes] .source-grid{grid-template-columns:repeat(2,1fr)}[data-course-shell=mes] .source-grid a,[data-course-shell=mes] .source-grid a:nth-child(3n){border-right:1px solid var(--ink)}[data-course-shell=mes] .source-grid a:nth-child(2n){border-right:0}[data-course-shell=mes] .source-grid a:nth-last-child(-n+2){border-bottom:0}[data-course-shell=mes] .atlas-grid,[data-course-shell=mes] .operator-console,[data-course-shell=mes] .snippet-grid{grid-template-columns:1fr}[data-course-shell=mes] .operator-console form{border-right:0;border-bottom:1px solid #4b585f}[data-course-shell=mes] .capstone-workspace{grid-template-columns:1fr}[data-course-shell=mes] .capstone-workspace form{border-right:0;border-bottom:1px solid #4b585f}[data-course-shell=mes] .module-index{grid-template-columns:repeat(3,minmax(0,1fr))}[data-course-shell=mes] .artifact-callout{align-items:stretch;flex-direction:column}[data-course-shell=mes] .footer{grid-template-columns:1fr;padding:40px 20px}[data-course-shell=mes] .footer>a{justify-self:start}}@media (max-width:560px){[data-course-shell=mes] .topbar{min-height:92px;padding:0 10px}[data-course-shell=mes] .wordmark>span:last-child{font-size:10px}[data-course-shell=mes] .hero{padding-top:76px}[data-course-shell=mes] .hero h1{max-width:100%;font-size:clamp(36px,12.5vw,64px);line-height:.9;letter-spacing:-.06em;overflow-wrap:anywhere}[data-course-shell=mes] .hero-lead{font-size:16px}[data-course-shell=mes] .hero-actions{flex-direction:column}[data-course-shell=mes] .hero-actions .button{width:100%}[data-course-shell=mes] .disclaimer{grid-template-columns:1fr}[data-course-shell=mes] .hero-console{box-shadow:8px 8px 0 var(--lime)}[data-course-shell=mes] .unit-plate{grid-template-columns:1fr}[data-course-shell=mes] .unit-orbit{width:120px}[data-course-shell=mes] .console-metrics{grid-template-columns:1fr}[data-course-shell=mes] .console-metrics>div,[data-course-shell=mes] .console-metrics>div:nth-child(2n){border-right:0}[data-course-shell=mes] .evidence-grid{grid-template-columns:1fr}[data-course-shell=mes] .evidence-card,[data-course-shell=mes] .evidence-card:nth-child(2n){min-height:150px;border-right:0}[data-course-shell=mes] .evidence-card:last-child{grid-column:auto}[data-course-shell=mes] .evidence-card p{margin-top:26px}[data-course-shell=mes] .search-row{align-items:stretch;flex-direction:column}[data-course-shell=mes] .system-row{grid-template-columns:38px 1fr auto}[data-course-shell=mes] .system-purpose{grid-column:2/4}[data-course-shell=mes] .boundary-panel{padding:24px 18px}[data-course-shell=mes] .trace-detail{grid-template-columns:1fr}[data-course-shell=mes] .trace-detail p{grid-column:auto}[data-course-shell=mes] .simulator-footer,[data-course-shell=mes] .simulator-toolbar{align-items:stretch;flex-direction:column}[data-course-shell=mes] .simulator-actions{display:grid;grid-template-columns:1fr 1fr}[data-course-shell=mes] .event-log{padding:10px 12px}[data-course-shell=mes] .event-row{grid-template-columns:66px 54px minmax(0,1fr) 8px;gap:6px;font-size:8.5px}[data-course-shell=mes] .event-row span,[data-course-shell=mes] .event-row time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-course-shell=mes] .event-row code{min-width:0;overflow-wrap:anywhere}[data-course-shell=mes] .system-lane{grid-template-columns:1fr}[data-course-shell=mes] .system-lane>b{grid-row:auto}[data-course-shell=mes] .sequence-diagram li{grid-template-columns:22px minmax(60px,.75fr) 14px minmax(78px,1fr)}[data-course-shell=mes] .sequence-diagram li>em{grid-column:2/-1}[data-course-shell=mes] .lineage-diagram,[data-course-shell=mes] .module-guide,[data-course-shell=mes] .state-diagram{grid-template-columns:1fr}[data-course-shell=mes] .architecture-figure,[data-course-shell=mes] .operator-console form,[data-course-shell=mes] .operator-readout,[data-course-shell=mes] .snippet-grid article{padding:14px}[data-course-shell=mes] .architecture-figure figcaption{align-items:flex-start;flex-direction:column}[data-course-shell=mes] .architecture-figure figcaption strong{text-align:left}[data-course-shell=mes] .operator-readout{min-height:360px}[data-course-shell=mes] .capstone-operator>header{flex-direction:column;padding:18px 14px}[data-course-shell=mes] .capstone-operator>header>strong{max-width:none;text-align:left}[data-course-shell=mes] .capstone-stages{grid-template-columns:repeat(2,minmax(0,1fr))}[data-course-shell=mes] .capstone-stages li{min-height:104px}[data-course-shell=mes] .capstone-observations,[data-course-shell=mes] .capstone-workspace form{padding:14px}[data-course-shell=mes] .capstone-observations>ol li{grid-template-columns:66px minmax(0,1fr)}[data-course-shell=mes] .operator-observation,[data-course-shell=mes] .operator-readout>header{align-items:flex-start;flex-direction:column}[data-course-shell=mes] .module-index{grid-template-columns:repeat(2,minmax(0,1fr))}[data-course-shell=mes] .module-progress{grid-template-columns:1fr}[data-course-shell=mes] .module summary{min-height:78px;grid-template-columns:44px 1fr 30px;gap:10px}[data-course-shell=mes] .module-title strong{font-size:20px}[data-course-shell=mes] .module-body{grid-template-columns:1fr}[data-course-shell=mes] .module-body>div{min-height:0}[data-course-shell=mes] .exam-list summary{grid-template-columns:32px 1fr;gap:10px}[data-course-shell=mes] .exam-list summary i{display:none}[data-course-shell=mes] .exam-list details p{margin-left:0}[data-course-shell=mes] .source-grid{grid-template-columns:1fr}[data-course-shell=mes] .source-grid a,[data-course-shell=mes] .source-grid a:nth-child(2n),[data-course-shell=mes] .source-grid a:nth-child(3n){border-right:0;border-bottom:1px solid var(--ink)}[data-course-shell=mes] .source-grid a:last-child{border-bottom:0}}@media (prefers-reduced-motion:reduce){[data-course-shell=mes]{scroll-behavior:auto}[data-course-shell=mes] *,[data-course-shell=mes] :after,[data-course-shell=mes] :before{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){[data-course-shell=mes]{--muted:#303630;--line:#6b6b65}}