.dsh-page{--dsh-blue:#275be8;--dsh-ink:#172b4b;--dsh-muted:#56667c;color:var(--dsh-ink)}.dsh-page section[id]{scroll-margin-top:100px}.dsh-eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--dsh-blue)}.dsh-eyebrow>span:last-child{color:var(--dsh-muted);font-weight:400;letter-spacing:0}.dsh-dot{width:7px;height:7px;background:var(--dsh-blue);border-radius:50%}.dsh-hero{padding:56px 0 0}.dsh-hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;align-items:center;margin:35px 0 38px}.dsh-hero h1{font-size:clamp(34px,4.6vw,62px);line-height:1.25;letter-spacing:-.045em;margin:0 0 24px;font-weight:750}.dsh-hero h1 em{font-style:normal;color:var(--dsh-blue)}.dsh-hero-grid>div>p{font-size:18px;line-height:1.9;max-width:590px;color:var(--dsh-muted)}.dsh-actions{display:flex;align-items:center;gap:26px;margin-top:28px}.dsh-page a{text-decoration:none}.dsh-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--dsh-blue);color:#fff!important;padding:14px 21px;border-radius:8px;font-weight:650}.dsh-primary:hover{background:#1e47b7}.dsh-start-note{border-left:2px solid #d7e2f9;padding:9px 0 9px 30px}.dsh-start-note>span{font-size:12px;color:var(--dsh-muted);letter-spacing:.08em}.dsh-start-note h2{font-size:28px;line-height:1.45;margin:15px 0}.dsh-start-note p{font-size:14px;color:var(--dsh-muted)}.dsh-start-note>div{display:flex;gap:18px;align-items:center;margin:22px 0}.dsh-start-note strong{font-size:28px;color:var(--dsh-blue)}.dsh-start-note>div>span{font-size:14px;color:var(--dsh-muted)}.dsh-start-note>a{font-size:14px;color:var(--dsh-blue)}.dsh-evidence{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid #dde4ed;padding:18px 0;color:var(--dsh-muted);font-size:12px}.dsh-evidence>span:first-child{color:#976011}.dsh-evidence>a{margin-left:auto;color:var(--dsh-blue)}.dsh-subnav{display:flex;gap:30px;flex-wrap:wrap;border-block:1px solid #dde4ed;padding:18px 0;font-size:14px}.dsh-subnav a{color:var(--dsh-ink)}.dsh-subnav a:hover{color:var(--dsh-blue)}.dsh-section{padding:64px 0;border-bottom:1px solid #dde4ed}.dsh-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.dsh-section h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.035em;line-height:1.4;margin:12px 0 0}.dsh-section-heading>p,.dsh-problems>div>p,.dsh-updates>div>p{color:var(--dsh-muted);font-size:16px;line-height:1.9;margin:0}.dsh-course{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dsh-course-card{display:block;color:var(--dsh-ink);padding:24px;border:1px solid #dce4ef;border-radius:10px;background:#fff;transition:border-color .2s,transform .2s,box-shadow .2s}.dsh-course-card:hover{border-color:#8cacfa;transform:translateY(-3px);box-shadow:0 12px 24px #243d6510}.dsh-course-card>div{display:flex;justify-content:space-between;color:var(--dsh-blue);font-size:13px}.dsh-course-card h3{font-size:21px;margin:22px 0 9px}.dsh-course-card p{font-size:15px;line-height:1.8;color:var(--dsh-muted);margin:0 0 25px}.dsh-course-card footer{border-top:1px solid #edf0f5;padding-top:14px;display:flex;justify-content:space-between;color:var(--dsh-muted);font-size:12px}.dsh-footnote{font-size:13px;color:var(--dsh-muted);line-height:1.8;margin:15px 0 0}.dsh-footnote a,.dsh-inline-link{color:var(--dsh-blue)}.dsh-problems{display:grid;grid-template-columns:1fr 1.5fr;gap:64px}.dsh-problems>div>p{margin:18px 0}.dsh-problems>div>a{color:var(--dsh-blue)}.dsh-problem-list>a{display:flex;align-items:center;gap:22px;border-bottom:1px solid #dce4ef;padding:22px 0;color:var(--dsh-ink)!important}.dsh-problem-list>a:first-child{padding-top:0}.dsh-problem-list>a>span{color:var(--dsh-blue);font-size:13px}.dsh-problem-list h3{font-size:19px;margin:0 0 6px}.dsh-problem-list p{font-size:14px;color:var(--dsh-muted);margin:0;line-height:1.7}.dsh-problem-list b{margin-left:auto}.dsh-extension-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.dsh-extension-grid article{border-top:2px solid #b9cdf7;padding-top:20px}.dsh-extension-grid article>span{font-size:13px;color:var(--dsh-muted)}.dsh-extension-grid h3{font-size:24px;margin:10px 0}.dsh-extension-grid p{font-size:16px;line-height:1.9;color:var(--dsh-muted)}.dsh-inline-link{display:inline-block;margin-top:16px}.dsh-updates{display:grid;grid-template-columns:1fr 1fr;gap:65px}.dsh-updates>div>p{margin-top:18px}.dsh-update-entry{border-left:2px solid #b9cdf7;padding-left:26px}.dsh-update-entry time{font-family:monospace;font-size:14px;color:var(--dsh-blue)}.dsh-update-entry h3{font-size:20px;margin:13px 0}.dsh-update-entry p{font-size:15px!important}.dsh-update-entry a{display:inline-block;margin-top:16px;color:var(--dsh-blue)}.dsh-bottom{display:flex;align-items:center;gap:24px;padding:35px 0 60px;flex-wrap:wrap}.dsh-bottom p{font-size:20px;margin-right:auto}.dsh-bottom>a:last-child{font-size:14px;color:var(--dsh-blue)}.dsh-download-strip{display:flex;gap:25px;align-items:center;flex-wrap:wrap;background:#eef4ff;border:1px solid #d7e4fa;border-radius:10px;padding:20px 24px;margin:14px 0 26px}.dsh-download-strip>div{display:flex;flex-direction:column;gap:6px;margin-right:auto}.dsh-download-strip strong{font-size:17px}.dsh-download-strip span{font-size:13px;color:#536886}.dsh-download-strip a{font-size:14px;color:#2456bc;font-weight:650}.dsh-loop{--loop-ink:#203452;--loop-muted:#536783;color:var(--loop-ink);background:#f6f9fe;border:1px solid #cad9ef;border-radius:14px;overflow:hidden}.dsh-loop__intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px 8px}.dsh-loop__intro span{font-size:13px;color:#466ba3}.dsh-loop__intro h3{font-size:27px;margin:8px 0;line-height:1.4}.dsh-loop__intro>a{font-size:14px;color:#2456bc;white-space:nowrap}.dsh-loop__disclosure{font-size:13px;line-height:1.8;color:var(--loop-muted);margin:0;padding:0 28px 20px}.dsh-loop__scenarios{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 28px;border-block:1px solid #dbe5f3;background:#edf3fd}.dsh-loop__scenarios>span{font-size:14px;margin-right:8px}.dsh-loop button{font:inherit;cursor:pointer;border:1px solid #afc4e6;border-radius:7px;padding:9px 14px;color:#244b89;background:#fff;font-size:14px}.dsh-loop button:hover{border-color:#497ce2;background:#edf3ff}.dsh-loop button:disabled{opacity:.42;cursor:default}.dsh-loop button[aria-pressed=true]{color:#fff;background:#275be8;border-color:#275be8}.dsh-loop__map{display:grid;grid-template-columns:1fr .5fr 1.2fr .5fr 1fr;padding:30px 28px;align-items:center}.dsh-loop__actor{border:1px solid #becfe8;border-radius:9px;padding:17px 13px;background:#fff;text-align:center;transition:background .3s,border-color .3s,box-shadow .3s}.dsh-loop__actor small{display:block;color:var(--loop-muted);font-size:12px}.dsh-loop__actor strong{display:block;font-size:25px;margin:7px 0}.dsh-loop__actor>span{display:block;font-size:14px;line-height:1.75}.dsh-loop__actor.is-current{background:#eaf1ff;border-color:#3976ed;box-shadow:0 0 0 3px #3976ed14}.dsh-loop__connection{padding:0 9px;font-size:11px;text-align:center;color:#5273a3}.dsh-loop__connection i{display:block;height:2px;margin-top:10px;background:linear-gradient(90deg,#adc5eb,#477de0,#adc5eb);background-size:200% 100%}.dsh-loop.is-playing:not(.reduce-motion) .dsh-loop__connection i{animation:dsh-flow 2s linear infinite}@keyframes dsh-flow{to{background-position:-200% 0}}.dsh-loop__direction{border-block:1px solid #dbe5f3;background:#eaf1fc;padding:13px 28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dsh-loop__direction span{font-size:12px;color:#4e6e9b}.dsh-loop__direction strong{font-size:17px;color:#214f9c}.dsh-loop__content{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;padding:26px 28px}.dsh-loop__step h4{font-size:22px;line-height:1.5;margin:0 0 12px}.dsh-loop__step>p{font-size:16px;line-height:1.9;color:var(--loop-muted);min-height:92px;margin:0 0 15px}.dsh-loop__step pre{background:#132139;color:#e4ecff;border:1px solid #293c5d;border-radius:8px;padding:18px;font-size:13px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;min-height:185px;margin:0 0 16px}.dsh-loop__step pre code{font:inherit;background:none;color:inherit;padding:0}.dsh-loop__step>a{color:#2456bc;font-size:14px}.dsh-loop__file{border:1px solid #bed0ed;border-radius:8px;padding:18px;background:#fff}.dsh-loop__file>div{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:12px}.dsh-loop__file b{font-weight:500;color:#86621f;white-space:nowrap}.dsh-loop__file b.is-changed{color:#17734d}.dsh-loop__file>code{display:block;overflow-wrap:anywhere;white-space:pre-wrap;background:#edf2fa;color:#264671;border-radius:4px;padding:12px;margin:15px 0;font-size:14px;line-height:1.7}.dsh-loop__file p{font-size:15px;margin:0;line-height:1.8}.dsh-loop__file strong{font-size:24px}.dsh-loop__file p>span{font-size:13px;color:var(--loop-muted)}.dsh-loop__log{margin-top:20px}.dsh-loop__log h4{font-size:14px;font-weight:600;margin:0 0 10px}.dsh-loop__log ol{padding-left:23px;margin:0;max-height:200px;overflow:auto;font-size:13px;color:var(--loop-muted);line-height:1.8}.dsh-loop__log li{padding:3px 0}.dsh-loop__log li[aria-current]{color:#214f9c;font-weight:650}.dsh-loop__gate{margin:0 28px 24px;padding:18px;background:#fff5df;border:1px solid #e0bf79;border-radius:8px}.dsh-loop__gate p{font-size:15px;color:#704d15;line-height:1.8;margin:0 0 12px}.dsh-loop__gate button+button{margin-left:12px}.dsh-loop__controls{border-top:1px solid #d4e0f1;padding:20px 28px;display:flex;gap:18px;flex-wrap:wrap;align-items:center}.dsh-loop__controls[hidden],.dsh-loop__gate[hidden]{display:none}.dsh-loop__controls>div{display:flex;gap:9px;flex-wrap:wrap}.dsh-loop__controls>label{font-size:13px;color:var(--loop-muted);display:flex;align-items:center;gap:8px}.dsh-loop__scrubber{flex:1;min-width:180px}.dsh-loop__scrubber input{flex:1;min-width:80px;accent-color:#275be8;cursor:pointer}.dsh-loop__controls>p{font-size:13px;color:var(--loop-muted);margin:0;flex-basis:100%}.dsh-loop__architecture{padding:18px 28px;border-top:1px solid #d4e0f1;font-size:14px;color:var(--loop-muted)}.dsh-loop__architecture summary{cursor:pointer;color:#244b89;line-height:1.8}.dsh-loop__architecture p{line-height:1.9}.dsh-loop__architecture a{color:#2456bc}.dsh-loop.reduce-motion *{animation:none!important;transition:none!important}.dsh-page :focus-visible{outline:3px solid #c47c18;outline-offset:4px}@media(max-width:960px){.dsh-hero-grid{gap:30px}.dsh-course{grid-template-columns:repeat(2,1fr)}.dsh-problems{gap:30px}.dsh-section-heading{align-items:start}.dsh-section-heading>p{max-width:310px}.dsh-loop__content{gap:20px}.dsh-loop__map{grid-template-columns:1fr .35fr 1.2fr .35fr 1fr}.dsh-loop__connection span{font-size:10px}.dsh-loop__connection{padding:0 4px}}@media(max-width:640px){.dsh-hero{padding-top:32px}.dsh-hero-grid{grid-template-columns:1fr;margin-top:26px;gap:26px}.dsh-hero-grid>div>p{font-size:16px}.dsh-start-note{padding-left:18px}.dsh-start-note h2{font-size:22px}.dsh-start-note h2 br{display:none}.dsh-start-note>div{margin:12px 0}.dsh-evidence{gap:10px 18px}.dsh-evidence>a{margin-left:0}.dsh-subnav{gap:16px;font-size:13px}.dsh-section{padding:40px 0}.dsh-section-heading{display:block}.dsh-section-heading>p{max-width:none;margin-top:16px;font-size:15px}.dsh-section-heading>p br{display:none}.dsh-course{grid-template-columns:1fr}.dsh-course-card{padding:20px}.dsh-course-card h3{margin-top:15px}.dsh-problems,.dsh-updates{grid-template-columns:1fr;gap:26px}.dsh-extension-grid{grid-template-columns:1fr;gap:18px}.dsh-extension-grid article{padding-top:15px}.dsh-extension-grid p{margin-bottom:0}.dsh-actions{gap:20px;font-size:14px;flex-wrap:wrap}.dsh-bottom{gap:18px}.dsh-bottom p{width:100%;font-size:18px}.dsh-eyebrow{font-size:11px;gap:8px}.dsh-download-strip{padding:18px;gap:14px}.dsh-loop__intro{padding:20px 18px 8px;display:block}.dsh-loop__intro h3{font-size:22px}.dsh-loop__intro>a{display:inline-block;margin:8px 0}.dsh-loop__disclosure{padding:0 18px 17px}.dsh-loop__scenarios{padding:14px 18px;gap:8px}.dsh-loop__scenarios>span{width:100%}.dsh-loop__scenarios button{font-size:13px;padding:9px 10px}.dsh-loop__map{padding:20px 12px;grid-template-columns:1fr 18px 1.1fr 18px 1fr}.dsh-loop__actor{padding:12px 6px;min-width:0}.dsh-loop__actor strong{font-size:19px}.dsh-loop__actor small{font-size:10px}.dsh-loop__actor>span{font-size:11px;overflow-wrap:anywhere}.dsh-loop__connection{padding:0 2px}.dsh-loop__connection span{display:none}.dsh-loop__direction{padding:12px 18px;flex-wrap:wrap}.dsh-loop__direction strong{font-size:15px}.dsh-loop__direction span{font-size:11px}.dsh-loop__content{grid-template-columns:1fr;padding:20px 18px;gap:20px}.dsh-loop__step>p{min-height:0}.dsh-loop__step pre{min-height:0;font-size:12px;padding:14px}.dsh-loop__step h4{font-size:21px}.dsh-loop__controls{padding:18px;gap:16px}.dsh-loop__controls>div{width:100%}.dsh-loop__controls button{padding:9px 10px;font-size:13px}.dsh-loop__architecture{padding:17px 18px}.dsh-loop__gate{margin:0 18px 20px}.dsh-loop__log ol{max-height:145px}}.dark .dsh-page{--dsh-ink:#e1e9f6;--dsh-muted:#a4b4cb;--dsh-blue:#85acff}.dark .dsh-primary{background:#315dd2}.dark .dsh-course-card{background:#172238;border-color:#304360}.dark .dsh-evidence,.dark .dsh-section,.dark .dsh-subnav,.dark .dsh-course-card footer,.dark .dsh-problem-list>a{border-color:#304360}.dark .dsh-start-note,.dark .dsh-update-entry,.dark .dsh-extension-grid article{border-color:#5274ac}.dark .dsh-download-strip{background:#1b2e4c;border-color:#34517e}.dark .dsh-download-strip span{color:#b4c5df}.dark .dsh-download-strip a{color:#9cbdff}.dark .dsh-loop,.dark .dsh-loop h3,.dark .dsh-loop h4{color:#203452}@media(prefers-reduced-motion:reduce){.dsh-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.dsh-loop__actor .dsh-loop__mobile-summary{display:none}@media(max-width:640px){.dsh-loop__actor>span:not(.dsh-loop__mobile-summary),.dsh-loop__actor small{display:none}.dsh-loop__actor .dsh-loop__mobile-summary{display:block;font-size:12px;white-space:nowrap}.dsh-loop__actor{padding:14px 4px}.dsh-loop__actor strong{font-size:18px;margin:0 0 7px}.dsh-loop__map{align-items:stretch}.dsh-loop__connection{align-self:center}}
