.vfl{--vfl-accent:#246cb6;--vfl-border:#bed8f3;--vfl-surface:#edf5ff;--vfl-ink:#203c60;--vfl-action:#246cb6;--vfl-action-hover:#185a9c;--vfl-action-ink:#fff}
/* Overview continuation: readable guide descriptions and clear CDK links. */
.velo-cdk-resources {
  --velo-cdk-accent: #246cb6;
  --velo-cdk-border: #bed8f3;
  --velo-cdk-surface: #edf5ff;
  --velo-cdk-ink: #203c60;
  margin: 1rem 0;
  overflow: hidden;
  border: 1px solid var(--velo-cdk-border);
  border-radius: .6rem;
  background: var(--md-default-bg-color);
}
.md-typeset .velo-cdk-resources > header {
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--velo-cdk-border);
  background: linear-gradient(115deg,var(--velo-cdk-surface),var(--md-default-bg-color));
}
.velo-cdk-resources > header > span {
  display: block;
  margin-bottom: .3rem;
  color: var(--velo-cdk-accent);
  font-size: .6rem;
  font-weight: 750;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.velo-cdk-resources > header > strong { color: var(--velo-cdk-ink); font-size: .9rem; }
.md-typeset .velo-cdk-resources > header > p { margin: .35rem 0 0; color: var(--md-default-fg-color--light); font-size: .72rem; line-height: 1.6; }
.md-typeset .velo-cdk-resources .md-typeset__scrollwrap { margin: 0; }
.md-typeset .velo-cdk-resources .md-typeset__table { display: block; width: 100%; padding: 0; }
.md-typeset .velo-cdk-resources table {
  display: table;
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: .7rem;
}
.velo-cdk-resources caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.md-typeset .velo-cdk-resources th,
.md-typeset .velo-cdk-resources td { padding: .85rem 1rem; border: 0; text-align: left; vertical-align: middle; line-height: 1.55; }
.md-typeset .velo-cdk-resources thead th { padding-top: .5rem; padding-bottom: .5rem; color: var(--velo-cdk-ink); background: var(--velo-cdk-surface); font-size: .62rem; font-weight: 700; }
.velo-cdk-resources thead th:first-child { width: 28%; }
.velo-cdk-resources thead th:last-child { width: 29%; }
.md-typeset .velo-cdk-resources tbody tr + tr { border-top: 1px solid var(--velo-cdk-border); }
.md-typeset .velo-cdk-resources tbody th { color: var(--md-default-fg-color); font-weight: 700; }
.velo-cdk-resources tbody th > span { display: block; margin-bottom: .15rem; color: var(--velo-cdk-accent); font-size: .6rem; font-weight: 600; }
.md-typeset .velo-cdk-resources td { color: var(--md-default-fg-color--light); }
.md-typeset .velo-cdk-resources td > a {
  display: flex;
  min-height: 2.2rem;
  padding: .4rem .6rem;
  align-items: center;
  justify-content: flex-start;
  border: 1px solid var(--velo-cdk-border);
  border-radius: .3rem;
  color: var(--velo-cdk-accent);
  background: var(--velo-cdk-surface);
  font-size: .67rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}
.md-typeset .velo-cdk-resources td > a:hover { border-color: var(--velo-cdk-accent); color: var(--velo-cdk-accent); box-shadow: 0 .15rem .4rem rgba(20,70,120,.1); }
.velo-cdk-resources a:focus-visible { outline: 3px solid #438ae1; outline-offset: 3px; }
.velo-cdk-resources tr:focus-within { background: color-mix(in srgb,var(--velo-cdk-surface) 45%,var(--md-default-bg-color)); }
.velo-cdk-resources > footer { padding: .75rem 1rem; border-top: 1px solid var(--velo-cdk-border); color: var(--velo-cdk-ink); background: var(--velo-cdk-surface); font-size: .65rem; line-height: 1.55; }
[data-md-color-scheme=slate] .velo-cdk-resources { --velo-cdk-accent: #9dccff; --velo-cdk-border: #456b92; --velo-cdk-surface: #203b58; --velo-cdk-ink: #e3effa; }
.md-typeset .velo-setup-note {
  margin: 1rem 0;
  padding: .85rem 1rem;
  border: 1px solid #bed8f3;
  border-left: 3px solid #246cb6;
  border-radius: .4rem;
  color: #203c60;
  background: #edf5ff;
  font-size: .72rem;
  line-height: 1.65;
}
.md-typeset .velo-setup-note > :first-child { margin-top: 0; }
.md-typeset .velo-setup-note > :last-child { margin-bottom: 0; }
[data-md-color-scheme=slate] .velo-setup-note { border-color: #456b92; border-left-color: #9dccff; color: #e3effa; background: #203b58; }
@media(max-width:700px) {
  .md-typeset .velo-cdk-resources > header { padding: .85rem; }
  .md-typeset .velo-cdk-resources table,
  .velo-cdk-resources tbody { display: block; }
  .velo-cdk-resources thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .velo-cdk-resources tbody tr { display: block; padding: .85rem; }
  .md-typeset .velo-cdk-resources tbody th,
  .md-typeset .velo-cdk-resources tbody td { display: block; width: 100%; padding: 0; }
  .velo-cdk-resources tbody th > span { display: inline; margin-right: .5rem; }
  .md-typeset .velo-cdk-resources tbody td { margin-top: .4rem; }
  .md-typeset .velo-cdk-resources tbody td:last-child { margin-top: .7rem; }
  .velo-cdk-resources > footer { padding: .75rem .85rem; }
}
.vfl.cdk-practice{margin-top:1rem}
.vfl-routes>div{border-color:var(--vfl-border);border-left:4px solid var(--vfl-accent);background:linear-gradient(115deg,var(--vfl-surface),var(--md-default-bg-color))}
.vfl-routes>div span,.vfl-routes>a>small{color:var(--vfl-accent)}
.vfl-routes>div strong,.vfl-routes>a>strong{color:var(--vfl-ink)}
body .md-typeset .vfl-routes>a{position:relative;padding-right:1.8rem;border-color:var(--vfl-border);background:var(--md-default-bg-color);box-shadow:0 .2rem .65rem rgba(20,70,120,.04)}
.vfl-routes>a::after{position:absolute;top:.5rem;right:.7rem;color:var(--vfl-accent);font-size:1.3rem;line-height:1;content:'›'}
body .md-typeset .vfl-routes>a:is(:hover,:focus-visible,.is-selected,[aria-current=location]){border-color:var(--vfl-accent);background:var(--vfl-surface);box-shadow:inset .16rem 0 var(--vfl-accent),0 .35rem .8rem rgba(20,70,120,.08)}
body .md-typeset .vfl-routes li{border-color:var(--vfl-border);color:var(--vfl-ink);background:var(--vfl-surface)}

body .md-typeset .vfl .cdk-browser-lab__app--velociraptor{border-color:var(--vfl-border);border-top:4px solid var(--vfl-accent);background:var(--md-default-bg-color);box-shadow:0 .45rem 1.25rem rgba(20,70,120,.08)}
body .md-typeset .vfl .cdk-browser-lab__app--velociraptor>header,.vfl .cdk-full-lab-heading{border-color:var(--vfl-border);background:linear-gradient(115deg,var(--vfl-surface),var(--md-default-bg-color) 85%)}
body .md-typeset .vfl .cdk-browser-lab__app--velociraptor>header{border-bottom-color:var(--vfl-border)}
.vfl .cdk-full-lab-heading{border-top:4px solid var(--vfl-accent);margin-top:1rem}
body .md-typeset .vfl .cdk-browser-lab__app--velociraptor>header h3,body .md-typeset .vfl .cdk-full-lab-heading h3{color:var(--vfl-ink)}
.vfl .cdk-browser-lab__app--velociraptor>header .cdk-browser-lab__eyebrow,.vfl .cdk-full-lab-heading span:not(.cdk-full-lab-heading__icon){color:var(--vfl-accent)}
.vfl .cdk-browser-lab__heading-icon,.vfl .cdk-full-lab-heading__icon{border-color:var(--vfl-border);color:var(--vfl-accent);background:var(--md-default-bg-color)}
.vfl .cdk-browser-lab__app--velociraptor>header em,.vfl .cdk-full-lab-heading em{border-color:var(--vfl-border);color:var(--vfl-ink);background:var(--md-default-bg-color)}
.vfl .cdk-browser-lab__app--velociraptor>header em span{color:var(--vfl-accent)}
body .md-typeset .vfl .cdk-browser-lab__app--velociraptor>header .cdk-browser-lab__view-actions button{min-height:2rem;border-color:var(--vfl-accent);color:var(--vfl-accent);background:var(--md-default-bg-color)}
body .md-typeset .vfl .cdk-browser-lab__app--velociraptor>header .cdk-browser-lab__view-actions button:first-child{color:var(--vfl-action-ink);background:var(--vfl-action)}
body .md-typeset .vfl .cdk-browser-lab__app--velociraptor>header .cdk-browser-lab__view-actions button:first-child:is(:hover,:focus-visible,[aria-pressed=true]){color:var(--vfl-action-ink);background:var(--vfl-action-hover)}
body .md-typeset .vfl .cdk-browser-lab__app--velociraptor>header .cdk-browser-lab__view-actions button:last-child:is(:hover,:focus-visible){color:var(--vfl-ink);background:var(--vfl-surface)}
body .md-typeset .vfl .susa-lab-experience{border-color:var(--vfl-border);border-left-color:var(--vfl-accent);background:linear-gradient(112deg,var(--vfl-surface),var(--md-default-bg-color));color:var(--vfl-ink)}
body .md-typeset .vfl .susa-lab-experience__row{border-color:var(--vfl-border);background:var(--md-default-bg-color)}
body .md-typeset .vfl .susa-lab-experience__icon,body .md-typeset .vfl .susa-lab-experience__row:nth-child(2) .susa-lab-experience__icon{background:var(--vfl-surface);color:var(--vfl-accent)}
body .md-typeset .vfl .susa-lab-experience__row strong,body .md-typeset .vfl .susa-lab-experience__row p{color:var(--vfl-ink)}

.vfl .cdk-practice__hero{border-color:var(--vfl-border);background:linear-gradient(115deg,var(--vfl-surface),var(--md-default-bg-color));box-shadow:0 .45rem 1.25rem rgba(20,70,120,.06)}
.vfl .cdk-practice__actions{border-color:var(--vfl-border);background:var(--md-default-bg-color)}
.vfl .cdk-practice__hero .cdk-practice__kicker{color:var(--vfl-accent)}
.vfl .cdk-practice__path b{border-color:var(--vfl-accent);color:var(--vfl-accent)}
.vfl .cdk-practice__path a:is(:hover,:focus-visible),.vfl .cdk-practice__path a:is(:hover,:focus-visible) b{color:var(--vfl-accent)!important}
.vfl-progress{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.85rem 1rem;margin:.9rem 0 .4rem;border:1px solid var(--vfl-border);border-radius:10px;background:var(--vfl-surface);color:var(--vfl-ink)}
.vfl-progress[hidden]{display:none}
.vfl-progress strong{font-size:.75rem}.vfl-progress progress{flex:1;min-width:100px;max-width:250px;height:.55rem;accent-color:var(--vfl-accent)}
.vfl-progress button{margin-left:auto;padding:.4rem .6rem;border:1px solid var(--vfl-border);border-radius:6px;background:var(--md-default-bg-color);color:var(--vfl-ink);font:inherit;font-size:.65rem;cursor:pointer}
.vfl .vfl-storage{font-size:.65rem;color:var(--md-default-fg-color--light)}
.vfl-brief{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:.45rem 0 1rem;border:1px solid var(--vfl-border);border-radius:10px;background:var(--md-default-bg-color);overflow:hidden}
.vfl-brief>div{padding:.8rem .95rem}.vfl-brief>div:first-child{border-right:1px solid var(--vfl-border)}
.vfl-brief>div>span{display:block;margin-bottom:.25rem;color:var(--vfl-accent);font-size:.6rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.vfl-brief>div>strong{display:block;font-size:.78rem;line-height:1.45}.vfl-brief>div>p{margin:0;font-size:.72rem;line-height:1.55}
.vfl-brief__note{grid-column:1/-1;margin:0;padding:.6rem .95rem;border-top:1px solid var(--vfl-border);background:var(--vfl-surface);color:var(--vfl-ink);font-size:.68rem;line-height:1.5}
.cdk-full-lab-tracks.vfl-readiness{display:block;margin:.75rem 0 1.2rem}
.cdk-full-lab-tracks.vfl-readiness>article{padding:.75rem 1rem;background:var(--vfl-surface);border-color:var(--vfl-border);box-shadow:none}
.vfl-readiness .vfl-help{margin:.65rem 0 0;background:var(--md-default-bg-color)}
.vfl .vfl-help>summary{background:transparent}
.vfl .vfl-mission{border-color:var(--vfl-border);border-top:3px solid var(--vfl-accent);background:var(--md-default-bg-color);box-shadow:none}
.vfl .vfl-mission:hover{transform:none;box-shadow:0 .35rem 1.1rem rgba(20,70,120,.07)}
.vfl .cdk-practice__number{color:var(--vfl-accent);background:var(--vfl-surface)}
.vfl-goal{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;padding:.7rem .8rem;background:var(--vfl-surface);border-radius:8px;color:var(--vfl-ink);font-size:.73rem}
.vfl-goal strong{color:var(--vfl-accent)}
.vfl .vfl-step,.vfl .vfl-help{border:1px solid var(--vfl-border);border-radius:9px;box-shadow:none;overflow:hidden;margin:.75rem 0}
.vfl .vfl-step>summary,.vfl .vfl-help>summary{position:relative;padding:.7rem 2rem .7rem .8rem;background:var(--vfl-surface);color:var(--vfl-ink);font-size:.73rem;line-height:1.5;cursor:pointer}
.vfl .vfl-step>summary:before,.vfl .vfl-help>summary:before{display:none}
.vfl .vfl-step>summary:after,.vfl .vfl-help>summary:after{content:'';position:absolute;right:1rem;top:50%;height:7px;width:7px;border-right:2px solid var(--vfl-accent);border-bottom:2px solid var(--vfl-accent);background:none;mask:none;-webkit-mask:none;transform:translateY(-70%) rotate(45deg)}
.vfl .vfl-step[open]>summary:after,.vfl .vfl-help[open]>summary:after{transform:translateY(-30%) rotate(225deg)}
body .md-typeset .vfl .vfl-step.cdk-activity-support>summary{padding:.7rem 2rem .7rem .8rem!important}
body .md-typeset .vfl .vfl-step.cdk-activity-support>summary:after{content:'';top:50%;right:1rem;width:7px;height:7px;border:0;border-right:2px solid var(--vfl-accent);border-bottom:2px solid var(--vfl-accent);border-radius:0;background:none;mask:none;-webkit-mask:none;transform:translateY(-70%) rotate(45deg)}
body .md-typeset .vfl .vfl-step.cdk-activity-support[open]>summary:after{transform:translateY(-30%) rotate(225deg)}
.vfl .vfl-step>p,.vfl .vfl-help>p{font-size:.74rem;line-height:1.65}
.vfl-checkpoint{display:grid;gap:.55rem;padding:1rem;margin-top:1rem;border:1px solid var(--vfl-border);border-radius:10px;background:var(--vfl-surface);color:var(--vfl-ink)}
.vfl-checkpoint>strong{font-size:.8rem}.vfl-checkpoint label{display:flex;align-items:flex-start;gap:.5rem;font-size:.72rem;cursor:pointer}.vfl-checkpoint input{flex:none;margin:.2rem 0 0;accent-color:var(--vfl-accent);width:16px;height:16px}.vfl-checkpoint small{font-size:.64rem;line-height:1.5}
.vfl-next{text-align:right;font-size:.72rem}.vfl-next a{display:inline-flex;align-items:center;gap:.35rem;min-height:2.2rem;padding:.4rem .7rem;border:1px solid var(--vfl-border);border-radius:7px;color:var(--vfl-accent);font-weight:700}.vfl-next a span{font-size:1.5em;line-height:.7}
.vfl-footnote{font-size:.7rem;line-height:1.55;color:var(--md-default-fg-color--light)}
.vfl .cdk-practice__success{background:var(--vfl-surface);color:var(--vfl-ink)}.vfl .cdk-practice__success strong{color:var(--vfl-accent)}
.vfl-finish{border:1px solid var(--vfl-border);border-radius:10px;background:var(--md-default-bg-color);color:var(--vfl-ink);overflow:hidden;margin:1.5rem 0}
.vfl-finish__head{padding:.85rem 1rem;background:var(--vfl-surface)}.vfl-finish__head>span{color:var(--vfl-accent);font-size:.6rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.vfl-finish__head h3{margin:.15rem 0 .3rem!important;font-size:.9rem}.vfl-finish__head p{margin:0;font-size:.7rem;line-height:1.5}
.md-typeset .vfl-evidence-list{list-style:none;margin:0;padding:0 .95rem}.vfl-evidence-list>li{display:grid;grid-template-columns:1.7rem minmax(0,1fr);gap:.7rem;align-items:start;padding:.7rem 0;font-size:.72rem;line-height:1.5}.vfl-evidence-list>li+li{border-top:1px solid var(--vfl-border)}
.vfl-evidence-list>li>b{display:grid;place-items:center;width:1.55rem;height:1.55rem;border:1px solid var(--vfl-border);border-radius:50%;background:var(--vfl-surface);color:var(--vfl-accent);font-size:.62rem}.vfl-evidence-list strong{display:block;margin-bottom:.12rem;font-size:.72rem;color:var(--vfl-ink)}.vfl-evidence-list span{display:block;font-size:.7rem;line-height:1.5}
.vfl-finish__note{margin:0!important;padding:.7rem 1rem;border-top:1px solid var(--vfl-border);background:var(--vfl-surface);font-size:.68rem;line-height:1.5}

/* Match the surrounding lesson and guided exercise to Kansa's blue palette. */
.vfl .cdk-velo-guide{border-color:var(--vfl-border);background:linear-gradient(115deg,var(--vfl-surface),var(--md-default-bg-color));color:var(--vfl-ink)}
.vfl .cdk-velo-guide>div>span{color:var(--vfl-accent)}
.vfl .cdk-velo-guide>div>strong{color:var(--vfl-ink)}
.vfl .cdk-velo-guide>div>p{color:var(--vfl-ink)}
body .md-typeset .vfl .cdk-velo-guide>ol>li{border-color:var(--vfl-border);color:var(--vfl-ink);background:var(--md-default-bg-color)}
body .md-typeset .vfl .cdk-velo-guide>ol>li b{color:var(--vfl-accent);background:var(--vfl-surface)}
body .md-typeset .vfl .cdk-velo-guide>ol>li:is([aria-current=step],[data-complete=true]){border-color:var(--vfl-accent);background:var(--vfl-surface)}
body .md-typeset .vfl .cdk-velo-guide>ol>li:is([aria-current=step],[data-complete=true]) b{color:var(--vfl-action-ink);background:var(--vfl-action)}
.vfl .cdk-velo-guide details{margin:0;border:1px solid var(--vfl-border);border-radius:7px;background:var(--md-default-bg-color);overflow:hidden}
body .md-typeset .vfl .cdk-velo-guide details>summary{position:relative;padding:.55rem 2rem .55rem .7rem;color:var(--vfl-ink);background:var(--vfl-surface);font-size:.65rem;font-weight:700;cursor:pointer;list-style:none}
.vfl .cdk-velo-guide details>summary::-webkit-details-marker{display:none}
body .md-typeset .vfl .cdk-velo-guide details>summary:before{display:none}
body .md-typeset .vfl .cdk-velo-guide details>summary:after{content:'';position:absolute;right:1rem;top:50%;width:7px;height:7px;border:0;border-right:2px solid var(--vfl-accent);border-bottom:2px solid var(--vfl-accent);border-radius:0;background:none;mask:none;-webkit-mask:none;transform:translateY(-70%) rotate(45deg)}
body .md-typeset .vfl .cdk-velo-guide details[open]>summary:after{transform:translateY(-30%) rotate(225deg)}
.vfl .cdk-velo-guide details>p{padding:.55rem .7rem;color:var(--vfl-ink)}

/* Optional exploration and safe return are short, separate disclosures. */
.vfl .vfl-panel{margin:1rem 0;border:1px solid var(--vfl-border);border-radius:10px;background:var(--md-default-bg-color);box-shadow:none;overflow:hidden}
body .md-typeset .vfl .vfl-panel>summary{position:relative;display:grid;gap:.12rem;padding:.75rem 2.2rem .75rem .9rem;border:0;background:var(--vfl-surface);color:var(--vfl-ink);cursor:pointer;list-style:none}
.vfl .vfl-panel>summary::-webkit-details-marker{display:none}
body .md-typeset .vfl .vfl-panel>summary:before{display:none}
body .md-typeset .vfl .vfl-panel>summary:after{content:'';position:absolute;right:1rem;top:50%;width:8px;height:8px;border:0;border-right:2px solid var(--vfl-accent);border-bottom:2px solid var(--vfl-accent);border-radius:0;background:none;mask:none;-webkit-mask:none;transform:translateY(-70%) rotate(45deg)}
body .md-typeset .vfl .vfl-panel[open]>summary:after{transform:translateY(-30%) rotate(225deg)}
.vfl .vfl-panel>summary span{color:var(--vfl-accent);font-size:.57rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.vfl .vfl-panel>summary strong{font-size:.77rem;line-height:1.4}
.vfl .vfl-panel>summary small{color:var(--vfl-ink);font-size:.64rem;font-weight:450;line-height:1.45}
.md-typeset .vfl .vfl-panel--extensions>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0!important;padding:.85rem!important;list-style:none}
.md-typeset .vfl .vfl-panel--extensions>ul>li{margin:0!important;padding:.7rem .8rem;border:1px solid var(--vfl-border);border-radius:8px;background:var(--md-default-bg-color);color:var(--vfl-ink);font-size:.68rem;line-height:1.5}
.vfl .vfl-panel--extensions li strong{display:block;margin-bottom:.2rem;color:var(--vfl-accent);font-size:.7rem}
.md-typeset .vfl .vfl-panel--recovery>ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:0!important;padding:.85rem .85rem .3rem!important;list-style:none;counter-reset:vfl-return}
.md-typeset .vfl .vfl-panel--recovery>ol>li{position:relative;display:block;margin:0!important;padding:.65rem .65rem .65rem 2.55rem;border:1px solid var(--vfl-border);border-radius:8px;color:var(--vfl-ink);font-size:.68rem;line-height:1.5;counter-increment:vfl-return}
.vfl .vfl-panel--recovery>ol>li:before{content:counter(vfl-return);position:absolute;left:.65rem;top:.65rem;display:grid;place-items:center;width:1.4rem;height:1.4rem;border:1px solid var(--vfl-border);border-radius:50%;background:var(--vfl-surface);color:var(--vfl-accent);font-size:.62rem;font-weight:750}
.md-typeset .vfl .vfl-panel .vfl-recovery-note{margin:.4rem .85rem .7rem;padding:.65rem .75rem;border-left:3px solid var(--vfl-accent);border-radius:6px;background:var(--vfl-surface);color:var(--vfl-ink);font-size:.67rem;line-height:1.55}
.vfl-return-links{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 .85rem .85rem}
.vfl-return-links a{display:inline-flex;align-items:center;min-height:1.9rem;padding:.3rem .6rem;border:1px solid var(--vfl-border);border-radius:6px;color:var(--vfl-accent);font-size:.66rem;font-weight:700}
.vfl-return-links a:is(:hover,:focus-visible){border-color:var(--vfl-accent);background:var(--vfl-surface)}
.vfl :is(button,input,summary,a):focus-visible{outline:3px solid #438ae1;outline-offset:3px}
[data-md-color-scheme=slate] .vfl{--vfl-accent:#9dccff;--vfl-border:#456b92;--vfl-surface:#203b58;--vfl-ink:#e3effa;--vfl-action:#9dccff;--vfl-action-hover:#b9dcff;--vfl-action-ink:#102942}
@media(min-width:901px){.md-typeset .vfl .cdk-velo-guide>ol{min-width:0!important;overflow:visible}.md-typeset .vfl .cdk-velo-guide>ol>li{min-width:0!important;flex:1 1 0!important}}
@media(max-width:700px){.vfl .vfl-mission{padding:.8rem}.vfl-brief{grid-template-columns:1fr}.vfl-brief>div:first-child{border-right:0;border-bottom:1px solid var(--vfl-border)}.vfl-brief__note{grid-column:1}.vfl-goal{grid-template-columns:1fr;gap:.2rem}.vfl-progress progress{max-width:none}.vfl-progress button{margin-left:0}.md-typeset .vfl .vfl-panel--extensions>ul,.md-typeset .vfl .vfl-panel--recovery>ol{grid-template-columns:1fr}}

/* Product chrome follows the light GUI, independently of the site's theme.
   Override lesson-wide button treatments inside this product surface only. */
body .md-typeset .vfl .cdk-product-lab--velo [hidden] { display: none !important; }
body .md-typeset .vfl .cdk-browser-lab__app--velociraptor [hidden] { display: none !important; }
body .md-typeset .vfl .cdk-product-lab--velo input {
  min-width: 0;
  max-width: 100%;
  padding: .35rem .45rem;
  border: 1px solid #bbb;
  border-radius: 3px;
  background: #fff;
  color: #222;
  font: inherit;
  font-size: .65rem;
}
body .md-typeset .vfl .cdk-product-lab--velo input:focus-visible { outline: 2px solid #26753a; outline-offset: 2px; }
.vfl .cdk-velo-search > input { flex: 1; width: 100%; }
.vfl .cdk-velo-wizard-steps { padding: .5rem; border-bottom: 1px solid #ddd; color: #555; font-size: .6rem; }
.vfl .cdk-product-lab--velo .cdk-velo-panel > p,
.vfl .cdk-product-lab--velo [data-velo-parameters] > p,
.vfl .cdk-product-lab--velo [data-velo-request] > p { margin: .6rem; font-size: .65rem; line-height: 1.6; }
.vfl .cdk-product-lab--velo [data-velo-parameters] { border-top: 1px solid #ddd; }
body .md-typeset .vfl .cdk-product-lab--velo :is([data-velo-review],[data-velo-back],[data-velo-launch],[data-velo-open-collections]) { margin: .5rem; padding: .45rem .65rem; min-height: 2.2rem; }
.vfl .cdk-product-lab--velo .cdk-velo-details { margin: .6rem; font-size: .65rem; }
.vfl .cdk-product-lab--velo .cdk-velo-details > div { display: grid; grid-template-columns: 5rem minmax(0,1fr); gap: .5rem; padding: .35rem 0; border-bottom: 1px solid #e2e2e2; }
.vfl .cdk-product-lab--velo .cdk-velo-details dt { font-weight: 700; }
.vfl .cdk-product-lab--velo .cdk-velo-details dd { margin: 0; overflow-wrap: anywhere; }
.vfl .cdk-product-lab--velo .cdk-velo-inspector { margin-top: .5rem; padding: .6rem; border: 1px solid #ccc; background: #fafafa; }
.vfl .cdk-velo-inspector > strong { font-size: .65rem; }
.vfl .cdk-velo-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .5rem; font-size: .65rem; }
.vfl .cdk-velo-coach,
body .md-typeset .vfl .cdk-velo-decision { margin-top: .8rem; padding: .85rem; border: 1px solid var(--vfl-border); border-radius: .4rem; color: var(--vfl-ink); background: var(--vfl-surface); font-size: .7rem; line-height: 1.6; }
.vfl .cdk-velo-coach > strong,
.vfl .cdk-velo-decision > strong { display: block; margin-bottom: .3rem; color: var(--vfl-ink); }
.vfl .cdk-velo-coach output,
.vfl .cdk-velo-decision output { display: block; margin: .35rem 0; }
body .md-typeset .vfl :is(.cdk-velo-coach,.cdk-velo-decision) button { display: block; width: 100%; min-height: 2.2rem; margin: .5rem 0; padding: .5rem .65rem; border: 1px solid var(--vfl-border); border-radius: .3rem; color: var(--vfl-ink); background: var(--md-default-bg-color); font: inherit; text-align: left; cursor: pointer; }
body .md-typeset .vfl :is(.cdk-velo-coach,.cdk-velo-decision) button:hover { border-color: var(--vfl-accent); background: var(--vfl-surface); }
body .md-typeset .vfl .cdk-velo-decision button:disabled { cursor: default; }
.vfl .cdk-velo-decision dl > div { padding: .5rem 0; border-top: 1px solid var(--vfl-border); }
.vfl .cdk-velo-decision dt { color: var(--vfl-accent); font-weight: 700; }
.vfl .cdk-velo-decision dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.vfl .cdk-velo-decision details { margin: .7rem 0 0; border: 1px solid var(--vfl-border); background: var(--md-default-bg-color); box-shadow: none; color: var(--vfl-ink); }
.vfl .cdk-velo-decision details > summary { color: var(--vfl-ink); background: var(--vfl-surface); }
body .md-typeset .vfl .cdk-velo-decision > div { display: block; }
body .md-typeset .vfl .cdk-velo-decision p { color: var(--vfl-ink); font-size: .7rem; }
body .md-typeset .vfl .cdk-velo-decision dl { display: block; }
body .md-typeset .vfl .cdk-velo-decision dl > div { border: 0; border-top: 1px solid var(--vfl-border); background: transparent; }
body .md-typeset .vfl .cdk-velo-decision :is(dt,dd) { font-size: .7rem; }
/* Answer feedback stays green/red in both lesson themes. */
.vfl { --velo-correct-ink: #145326; --velo-correct-bg: #edf8f0; --velo-correct-border: #168b38; --velo-incorrect-ink: #8c2424; --velo-incorrect-bg: #fff1f1; --velo-incorrect-border: #b33636; }
[data-md-color-scheme=slate] .vfl { --velo-correct-ink: #b6efc6; --velo-correct-bg: #163d27; --velo-correct-border: #65ce87; --velo-incorrect-ink: #ffc7c7; --velo-incorrect-bg: #4a2228; --velo-incorrect-border: #ef9090; }
body .md-typeset .vfl :is(.cdk-velo-coach,.cdk-velo-decision) button.is-correct,
body .md-typeset .vfl :is(.cdk-velo-coach,.cdk-velo-decision) output[data-state=complete] { border-color: var(--velo-correct-border); color: var(--velo-correct-ink); background: var(--velo-correct-bg); }
body .md-typeset .vfl :is(.cdk-velo-coach,.cdk-velo-decision) button.is-incorrect,
body .md-typeset .vfl :is(.cdk-velo-coach,.cdk-velo-decision) output[data-state=error] { border-color: var(--velo-incorrect-border); color: var(--velo-incorrect-ink); background: var(--velo-incorrect-bg); }
body .md-typeset .vfl :is(.cdk-velo-coach,.cdk-velo-decision) output[data-state] { padding: .5rem .65rem; border-left: 3px solid; border-radius: .2rem; }
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-table button { min-width: 2.2rem; min-height: 2.2rem; }
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-table table { font-size: .6rem; }
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-scroll-note { margin: .4rem .5rem; color: #555; font-size: .6rem; }
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-flow-scroll { margin-bottom: 1rem; }
@media(max-width:700px) {
  .vfl .cdk-product-lab--velo .cdk-velo-details > div { grid-template-columns: 1fr; gap: .15rem; }
}
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-search > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-pager > span { color: #555; }
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-toolbar > span {
  grid-column: 1 / -1;
  justify-self: stretch;
  white-space: normal;
  overflow-wrap: anywhere;
}
body .md-typeset .vfl .cdk-product-lab--velo :is(.cdk-velo-tools,.cdk-velo-pager) {
  max-width: 100%;
  overflow-x: auto;
}
body .md-typeset .vfl .cdk-product-lab--velo [data-velo-result-view] > header {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .4rem;
  padding: .45rem;
  font-size: .6rem;
}
body .md-typeset .vfl .cdk-product-lab--velo button {
  border: 1px solid #bfbfbf;
  border-radius: 3px;
  color: #222;
  background: #d9d9d9;
  box-shadow: none;
  font: inherit;
  font-size: .6rem;
}
body .md-typeset .vfl .cdk-product-lab--velo button:disabled {
  border-color: #c4c4c4;
  color: #858585;
  background: #ececec;
  opacity: 1;
  cursor: default;
}
body .md-typeset .vfl .cdk-product-lab--velo button:not(:disabled):hover {
  border-color: #929292;
  background: #cfcfcf;
}
body .md-typeset .vfl .cdk-product-lab--velo :is(button,select):focus-visible {
  outline: 2px solid #26753a;
  outline-offset: 2px;
}
body .md-typeset .vfl .cdk-product-lab--velo :is(.cdk-velo-menu,.cdk-velo-shell aside button) {
  border: 0;
  border-radius: 0;
  background: transparent;
}
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-shell aside button[aria-current="page"] {
  border-left: 3px solid #16a526;
  color: #16a526;
  background: #fff;
}
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-client {
  border: 0;
  border-top: 1px solid #c8c8c8;
  border-radius: 0;
  color: #111;
  background: #c9e1c9;
}
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-client:not(:disabled):hover,
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-tabs button[aria-selected="true"] {
  background: #b9d8b9;
}
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-primary {
  color: #222;
  border-color: #aaa;
  background: #d9d9d9;
}
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-primary:disabled {
  color: #858585;
  border-color: #c4c4c4;
  background: #ececec;
}
body .md-typeset .vfl .cdk-product-lab--velo :is(.cdk-velo-table button,.cdk-velo-log button) {
  padding: .3rem .5rem;
  cursor: pointer;
}
body .md-typeset .vfl .cdk-product-lab--velo tr.is-correct td,
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-decision button.is-correct {
  color: #145326;
  background: #c9e1c9;
}
body .md-typeset .vfl .cdk-product-lab--velo tr.is-incorrect td,
body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-decision button.is-incorrect {
  color: #8c2424;
  background: #fff1f1;
}
body .md-typeset .vfl .cdk-velo-guide > ol {
  display: grid !important;
  grid-template-columns: repeat(6,minmax(0,1fr));
  min-width: 0 !important;
  overflow: visible;
}
body .md-typeset .vfl .cdk-velo-guide > ol > li { min-width: 0 !important; }
@media(max-width:700px) {
  body .md-typeset .vfl .cdk-velo-guide > ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-top {
    grid-template-columns: 1.4rem 1.5rem minmax(0,1fr) auto;
  }
  body .md-typeset .vfl .cdk-product-lab--velo .cdk-velo-tools button {
    min-width: 1.45rem;
    padding: .2rem;
    flex: 0 0 auto;
  }
}
