/* Course guidance surrounds a screenshot-based, light Windows application. */
.cdk-browser-lab__app--shadowexplorer [hidden]{display:none!important}
.cdk-browser-lab__app--shadowexplorer>.susa-lab-experience{display:none!important}
body .md-typeset .kfl-routes[aria-label="ShadowExplorer lab options"]>div>small,
body .md-typeset .kfl-routes[aria-label="ShadowExplorer lab options"]>a>span{color:var(--kfl-ink)}
body .md-typeset .cdk-browser-lab__app--shadowexplorer>p{margin:.8rem 1rem;color:var(--md-default-fg-color);font-size:.75rem;line-height:1.65;overflow-wrap:anywhere}
body .md-typeset .cdk-browser-lab__app--shadowexplorer>p.sv-scope{font-size:.65rem;line-height:1.6;color:var(--md-default-fg-color);margin-top:-.1rem}
.sv-coach{margin:.75rem;padding:.8rem;border:1px solid var(--kfl-border);border-radius:8px;background:var(--kfl-surface);color:var(--kfl-ink)}
.sv-coach>div>span{display:block;color:var(--kfl-blue);font-size:.6rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.sv-coach>div>strong{display:block;margin-top:.15rem;color:var(--kfl-blue);font-size:.85rem}
body .md-typeset .sv-coach>div>p{margin:.35rem 0;font-size:.74rem;line-height:1.6;color:var(--kfl-ink)}
body .md-typeset .sv-coach>ol{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:.7rem 0;gap:.4rem}
body .md-typeset .sv-coach>ol>li{display:flex;align-items:center;flex:1;min-width:100px;gap:.35rem;margin:0;color:var(--kfl-ink);font-size:.64rem}
.sv-coach>ol b{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--kfl-blue);border-radius:50%;background:var(--md-default-bg-color);color:var(--kfl-blue)}
.sv-coach>ol [aria-current] b,.sv-coach>ol [data-complete=true] b{background:var(--kfl-action);color:var(--kfl-action-ink)}
body .md-typeset .sv-coach>details{margin:.4rem 0 0;border:0;border-top:1px solid var(--kfl-border);box-shadow:none;border-radius:0;background:var(--kfl-surface)}
body .md-typeset .sv-coach>details>summary{position:relative;margin:0;padding:.5rem 1.3rem .3rem 0;min-height:34px;background:var(--kfl-surface);color:var(--kfl-blue);font-size:.68rem;cursor:pointer}
.sv-coach>details>summary:before,.sv-extra>summary:before{display:none!important}
body .md-typeset .sv-coach>details>summary:after,body .md-typeset .sv-extra>summary:after{content:'';position:absolute;right:.25rem;top:45%;width:7px;height:7px;border-right:2px solid var(--kfl-blue);border-bottom:2px solid var(--kfl-blue);transform:rotate(45deg);background:none;mask:none}
body .md-typeset .sv-coach>details[open]>summary:after,body .md-typeset .sv-extra[open]>summary:after{transform:rotate(225deg)}
body .md-typeset .sv-coach>details>p{padding:0;margin:.3rem 0;font-size:.7rem;line-height:1.6;color:var(--kfl-ink)}
body .md-typeset .sv-feedback{margin:.4rem 0 0;font-size:.7rem;line-height:1.6;color:var(--kfl-ink)}
.sv-feedback[data-state=error]{color:#a62334!important}
[data-md-color-scheme=slate] .sv-feedback[data-state=error]{color:#ffb7c0!important}
.sv-case-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem;margin:.4rem .8rem;padding:.4rem .2rem;color:var(--kfl-ink);font-size:.65rem}
.sv-stage{min-width:0;padding:.55rem .75rem .3rem}
body .md-typeset .sv-native{position:relative;min-width:0;overflow:hidden;isolation:isolate;color-scheme:light;background:#eee;border:1px solid #889199;border-radius:2px;color:#111;font:12px/1.4 "Segoe UI",Tahoma,Arial,sans-serif;box-shadow:0 4px 14px #173a5b1a}
body .md-typeset .sv-native :is(button,select,input,span,p,label,th,td){font:inherit;color:#111}
.sv-native button{min-height:26px;border:1px solid #a6adb3;border-radius:2px;padding:3px 9px;background:linear-gradient(#fff,#e5e5e5);cursor:pointer}
.sv-native button:hover:not(:disabled){border-color:#2677bb;background:#e5f2ff}
.sv-native :is(button,select,input,[tabindex]):focus-visible{outline:2px solid #1769ac;outline-offset:1px}
.sv-native button:disabled{opacity:.5;cursor:default}
.sv-titlebar{display:flex;align-items:center;gap:7px;height:28px;padding:3px 8px;background:#f4f4f4}
.sv-titlebar>img{width:16px;height:16px;object-fit:contain;margin:0!important;border:0!important}
.sv-window-controls{display:flex;align-self:stretch;margin:-3px -8px -3px auto}
.sv-window-controls>i{display:block;width:42px;position:relative}
.sv-window-controls>i:before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.sv-window-controls>i:first-child:before{width:9px;border-top:1px solid #111}
.sv-window-controls>i:nth-child(2):before{width:8px;height:8px;border:1px solid #111}
.sv-window-controls>i:last-child:before,.sv-window-controls>i:last-child:after{content:'';position:absolute;top:50%;left:50%;width:12px;border-top:1px solid #111}
.sv-window-controls>i:last-child:before{transform:translate(-50%,-50%) rotate(45deg)}
.sv-window-controls>i:last-child:after{transform:translate(-50%,-50%) rotate(-45deg)}
.sv-menubar{display:flex;gap:15px;padding:0 7px;background:#f4f4f4}
.sv-menubar>button{border:0;background:none;padding:2px 0;min-height:23px}
.sv-selectors{display:flex;gap:5px;padding:3px 7px 5px;align-items:center}
.sv-selectors>select{height:22px;padding:1px 3px;border:1px solid #bdc2c7;border-radius:1px;background:#fff;color:#111;min-width:0}
.sv-selectors>[data-sv-volume]{width:50px}
.sv-selectors>[data-sv-snapshot]{width:205px}
.sv-selectors>[data-sv-view]{width:100px;margin-left:auto}
.sv-workspace{display:grid;grid-template-columns:minmax(120px,24%) minmax(0,1fr);gap:4px;padding:0 6px 6px;min-height:425px}
.sv-tree,.sv-file-pane{min-width:0;overflow:auto;background:#fff;border:1px solid #889199}
.sv-tree{padding:3px;max-height:460px}
body .md-typeset .sv-tree ul{list-style:none;padding:0;margin:0}
body .md-typeset .sv-tree li{margin:0;padding:0}
.sv-tree li>div{display:flex;align-items:center;padding-left:calc(var(--sv-depth,0)*14px);width:max-content;min-width:100%;min-height:23px}
.sv-tree [data-sv-folder]{display:flex;align-items:center;gap:4px;white-space:nowrap;border:0;border-radius:0;background:none;min-height:22px;padding:2px 4px}
.sv-tree [data-sv-folder][aria-current=location]{background:#d7eaff}
.sv-tree .sv-expander{display:grid;place-items:center;flex:none;width:10px;height:10px;min-height:10px;margin:0 4px 0 1px;padding:0;border:1px solid #939aa0;background:#fff;font:11px/9px Arial,sans-serif}
.sv-expander-space{width:15px;flex:none}
.sv-icon{position:relative;display:inline-block;flex:none;vertical-align:middle;margin-right:4px}
.sv-icon--folder{width:14px;height:10px;margin-top:3px;border:1px solid #d49a1d;border-radius:1px;background:linear-gradient(#ffdd65,#ffbd26)}
.sv-icon--folder:before{content:'';position:absolute;top:-4px;left:-1px;width:7px;height:4px;border:1px solid #d49a1d;border-bottom:0;background:#ffdc62;border-radius:2px 2px 0 0}
.sv-icon--file{width:11px;height:14px;border:1px solid #7e8991;background:#fff}
.sv-icon--file:after{content:'';position:absolute;top:3px;left:2px;width:6px;height:7px;background:repeating-linear-gradient(#c6cdd3 0 1px,#fff 1px 3px)}
.sv-icon--drive{width:15px;height:7px;margin-top:5px;border:1px solid #7d858c;background:#e0e5e8}
.sv-icon--drive:after{content:'';position:absolute;top:-7px;left:4px;width:9px;height:7px;background:linear-gradient(90deg,#19a7de 45%,transparent 45% 55%,#19a7de 55%);border-bottom:1px solid #fff}
.sv-file-pane{max-height:460px}
body .md-typeset .sv-file-pane table{display:table;table-layout:fixed;min-width:610px;width:100%;border:0;margin:0;background:#fff;color:#111;border-collapse:collapse;font:12px/1.4 "Segoe UI",Tahoma,Arial,sans-serif;box-shadow:none}
body .md-typeset .sv-file-pane :is(th,td){height:22px;border:0;padding:2px 6px;white-space:nowrap;background:#fff;color:#111;font-weight:400;text-align:left;line-height:1.4}
.sv-file-pane th{position:sticky;top:0;z-index:1;border-right:1px solid #e2e4e6!important}
.sv-file-pane th:nth-child(1){width:24%}.sv-file-pane th:nth-child(2){width:18%}.sv-file-pane th:nth-child(3){width:14%}.sv-file-pane th:nth-child(4){width:8%}.sv-file-pane th:nth-child(5),.sv-file-pane th:nth-child(6){width:18%}
.sv-file-pane td{overflow:hidden;text-overflow:ellipsis}
.sv-file-pane th>button{border:0;border-radius:0;background:none;padding:1px 0;width:100%;min-height:20px;text-align:left}
.sv-file-pane th[aria-sort]>button:after{content:'▴';margin-left:4px;color:#858e95}
.sv-file-pane th[aria-sort=descending]>button:after{content:'▾'}
.sv-file-pane tbody tr{cursor:default}
.sv-file-pane tbody tr:hover td{background:#edf5ff}
.sv-file-pane tbody tr[aria-selected=true] td{background:#cce4fc}
.sv-file-pane tbody tr:focus-visible{outline:2px solid #2677bb;outline-offset:-2px}
.sv-file-pane td:first-child{min-width:123px}
.sv-file-pane td:nth-child(4){text-align:right}
.sv-file-pane[data-view=list] table{min-width:0;width:100%}
.sv-file-pane[data-view=list] thead,.sv-file-pane[data-view=list] :is(th,td):not(:first-child){display:none}
body .md-typeset .sv-file-pane p{padding:10px;margin:0;font-size:12px;color:#444;max-width:330px}
.sv-context-menu,.sv-file-menu{position:absolute;z-index:5;min-width:135px;padding:2px;border:1px solid #8c969f;background:#f7f7f7;box-shadow:2px 3px 7px #0003}
.sv-file-menu{left:7px;top:49px}
.sv-context-menu>button,.sv-file-menu>button{width:100%;border:0;background:none;padding:4px 18px;text-align:left;min-height:28px}
.sv-backdrop{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#17283d38;padding:10px}
.sv-dialog{width:min(100%,510px);max-height:100%;overflow:auto;border:1px solid #7d8d9a;border-radius:3px;background:#f0f0f0;box-shadow:0 6px 22px #0004}
.sv-dialog>header{display:flex;align-items:center;gap:5px;position:sticky;top:0;z-index:1;padding:4px 7px;background:#f7f7f7;border-bottom:1px solid #c0c7cd;min-height:28px}
.sv-dialog>header>button{margin-left:auto;padding:0 7px;min-height:22px}
.sv-dialog>div{padding:12px}
body .md-typeset .sv-dialog p{margin:4px 0 10px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.sv-dialog>footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;padding:10px;border-top:1px solid #c0c7cd}
.sv-dialog>footer>button{min-width:70px;min-height:28px}
.sv-dialog progress{display:block;width:100%;accent-color:#28a956;height:18px;margin:12px 0}
.sv-dialog label{display:flex;align-items:center;gap:5px;margin-top:8px}
.sv-dialog label>input{margin:0;width:13px;height:13px;accent-color:#2874b2}
.sv-folder-picker{display:grid;gap:2px;max-height:240px;overflow:auto;border:1px solid #a4adb5;background:#fff;padding:6px;margin:10px 0}
.sv-folder-picker>span{padding:3px}
.sv-folder-picker>span:nth-child(2){padding-left:16px}
.sv-folder-picker>button{display:flex;align-items:center;gap:3px;margin-left:22px;padding:4px 5px;border:0;background:#fff;border-radius:0;min-height:28px;text-align:left;overflow-wrap:anywhere}
.sv-folder-picker>button[aria-pressed=true]{background:#cce4fc}
body .md-typeset .sv-dialog [data-sv-dialog-feedback]{color:#a62334;font-weight:600}
.sv-touch-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.2rem .8rem .6rem;color:var(--kfl-ink);font-size:.66rem}
.sv-touch-actions>span{flex:1 1 16rem;overflow-wrap:anywhere}
.sv-touch-actions>small{flex-basis:100%;font-size:.61rem;line-height:1.6;color:var(--md-default-fg-color)}
.sv-touch-actions>button,.sv-verification button,.sv-handover button,.sv-footer button{font:inherit;font-size:.67rem;padding:.42rem .6rem;min-height:36px;border:1px solid var(--kfl-blue);border-radius:5px;background:var(--kfl-action);color:var(--kfl-action-ink);cursor:pointer}
.sv-touch-actions>button:disabled,.sv-verification button:disabled,.sv-footer button:disabled{opacity:.5;cursor:default}
.sv-verification,.sv-handover{margin:.7rem .75rem;padding:.85rem;border:1px solid var(--kfl-border);border-radius:8px;background:var(--md-default-bg-color);color:var(--md-default-fg-color);font-size:.73rem}
body .md-typeset :is(.sv-verification,.sv-handover)>h4{margin:0 0 .5rem!important;color:var(--kfl-blue)!important;font-size:.9rem!important}
.sv-verification p,.sv-handover p{margin:.5rem 0;line-height:1.6;font-size:.72rem}
.sv-verification dl{margin:.6rem 0;overflow-wrap:anywhere;font-size:.7rem}
.sv-verification dl>div{display:grid;grid-template-columns:85px minmax(0,1fr);gap:.4rem;margin:.3rem 0}
.sv-verification dd{margin:0}
.sv-check-actions,.sv-handover>div{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}
.sv-hashes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:.75rem 0}
.sv-hashes>div{padding:.6rem;border:1px solid var(--kfl-border);border-radius:5px;background:var(--kfl-surface);color:var(--kfl-ink)}
.sv-hashes strong{display:block;margin-bottom:.3rem;font-size:.65rem}
.sv-hashes code{display:block;white-space:normal;overflow-wrap:anywhere;font:.62rem/1.6 Consolas,monospace;background:none;color:var(--kfl-ink)}
body .md-typeset .sv-verification>pre{padding:.7rem;border:1px solid var(--kfl-border);background:var(--kfl-surface);color:var(--kfl-ink);white-space:pre-wrap;overflow-wrap:anywhere;font:.68rem/1.6 Consolas,monospace}
body .md-typeset .sv-extra{border:1px solid var(--kfl-border);border-radius:5px;background:var(--md-default-bg-color);box-shadow:none;margin:.7rem 0 0}
body .md-typeset .sv-extra>summary{position:relative;padding:.6rem 1.5rem .6rem .6rem;background:var(--kfl-surface);color:var(--kfl-ink);font-size:.68rem}
body .md-typeset .sv-extra>summary:after{right:.7rem}
.sv-extra button{margin:.5rem .7rem}
.sv-handover>label{display:block;font-size:.7rem;font-weight:650;margin:.6rem 0 .3rem}
.sv-handover textarea{width:100%;padding:.5rem;border:1px solid var(--kfl-border);border-radius:5px;background:var(--md-default-bg-color);color:var(--md-default-fg-color);font:inherit;resize:vertical}
body .md-typeset .cdk-browser-lab__app--shadowexplorer>.sv-footer{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;padding:.7rem .8rem;border-color:var(--kfl-border);background:var(--kfl-surface);color:var(--kfl-ink);font-size:.67rem}
.sv-footer>div{display:flex;flex-wrap:wrap;gap:.4rem}
body .md-typeset .cdk-browser-lab__app--shadowexplorer>.sv-footer>strong{color:var(--kfl-ink)}
body .md-typeset .cdk-browser-lab__app--shadowexplorer>.sv-footer button{border-color:var(--kfl-blue);background:var(--kfl-action);color:var(--kfl-action-ink)}
body .md-typeset .cdk-browser-lab__app--shadowexplorer>.sv-footer [data-sv-reset]{background:var(--md-default-bg-color);color:var(--kfl-blue)}
.cdk-browser-lab__app--shadowexplorer :is(button,summary,textarea):focus-visible{outline:2px solid var(--kfl-blue);outline-offset:3px}
@media(max-width:700px){.sv-stage{padding:.4rem}.sv-workspace{grid-template-columns:105px minmax(0,1fr);min-height:360px}.sv-selectors{flex-wrap:wrap}.sv-selectors>[data-sv-snapshot]{flex:1;width:auto}.sv-selectors>[data-sv-view]{margin-left:0;width:90px}.sv-titlebar{font-size:12px}.sv-hashes{grid-template-columns:1fr}.sv-coach{margin:.5rem;padding:.65rem}.sv-verification,.sv-handover{margin:.5rem;padding:.65rem}.sv-folder-picker>button{margin-left:10px}.sv-dialog>div{padding:8px}}

/* Keep Kansa blue surfaces and readable course text in both site themes. */
body .md-typeset [data-shadowexplorer-full] .cdk-practice__summary > p{color:var(--kfl-ink)}
body .md-typeset .cdk-browser-lab__app--shadowexplorer .sv-coach>details,body .md-typeset .cdk-browser-lab__app--shadowexplorer .sv-coach>details>summary{background:var(--kfl-surface)!important}
body .md-typeset .cdk-browser-lab__app--shadowexplorer .sv-coach>details>summary{margin:0;min-height:34px}
