/* Blue lesson surfaces sit outside the native grey gkape window. */
.susa-kape-lab { --skg-success:#145326; --skg-success-bg:#edf8f0; --skg-error:#8c2424; --skg-error-bg:#fff1f1; padding:clamp(.85rem,2vw,1.2rem); font-size:.72rem; line-height:1.6; }
[data-md-color-scheme=slate] .susa-kape-lab { --skg-success:#b6efc6; --skg-success-bg:#163d27; --skg-error:#ffc7c7; --skg-error-bg:#4a2228; }
body .md-typeset .susa-kape-lab [hidden] { display:none!important; }
body .md-typeset .susa-kape-lab :is(.skg-brief,.skg-coach,.skg-results,.skg-definition) { margin:1rem 0; padding:1.15rem; border:1px solid var(--kfl-border); border-radius:.4rem; color:var(--kfl-ink); background:var(--kfl-surface); }
body .md-typeset .susa-kape-lab :is(h4,h5) { margin:.25rem 0 .6rem; color:inherit; font-size:.85rem; }
body .md-typeset .susa-kape-lab p { margin:.45rem 0; font-size:.72rem; }
.skg-brief>span,.skg-results>header>span,.skg-coach small { color:var(--kfl-blue); font-size:.6rem; font-weight:700; }
.skg-note,.skg-reference { font-size:.65rem!important; }
.skg-coach { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.4rem .8rem; }
.skg-coach>div>strong { display:block; font-size:.82rem; }
body .md-typeset .susa-kape-lab .skg-coach ol { grid-column:1/-1; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.3rem; padding:0; margin:.4rem 0; list-style:none; }
body .md-typeset .susa-kape-lab .skg-coach li { margin:0; padding:.35rem .2rem; border:1px solid var(--kfl-border); border-radius:.2rem; text-align:center; font-size:.6rem; }
.skg-coach li[aria-current] { color:var(--kfl-action-ink); background:var(--kfl-action); font-weight:700; }
.skg-coach li[data-complete] { color:var(--skg-success); background:var(--skg-success-bg); }
.skg-coach>:is(aside,p,label) { grid-column:1/-1; }
.skg-coach aside { padding:.65rem; border:1px solid var(--kfl-border); background:var(--md-default-bg-color); }
.skg-coach>button { align-self:start; }
body .md-typeset .susa-kape-lab :is(.skg-coach,.skg-results,.skg-footer) button { padding:.6rem .85rem; border:1px solid var(--kfl-blue); border-radius:.25rem; color:var(--kfl-blue); background:var(--md-default-bg-color); font:inherit; cursor:pointer; min-height:2.4rem; }
body .md-typeset .susa-kape-lab .skg-view-buttons button[aria-expanded=true] { color:var(--kfl-action-ink); background:var(--kfl-action); }
body .md-typeset .susa-kape-lab button:disabled { cursor:default; }
body .md-typeset .susa-kape-lab :is(.skg-results,.skg-footer) button:disabled { color:var(--md-default-fg-color--light); border-color:var(--kfl-border); }
body .md-typeset .susa-kape-lab :is(button,input,select,summary,a):focus-visible { outline:2px solid var(--kfl-blue); outline-offset:3px; }
.skg-review { display:flex; gap:.5rem; align-items:start; padding:.6rem; border:1px solid var(--kfl-border); background:var(--md-default-bg-color); }
.skg-review input { flex:none; margin-top:.25rem; }
body .md-typeset .susa-kape-lab [data-state=error] { padding:.55rem .65rem; border-left:3px solid var(--skg-error); color:var(--skg-error); background:var(--skg-error-bg); }
body .md-typeset .susa-kape-lab [data-state=complete] { padding:.55rem .65rem; border-left:3px solid var(--skg-success); color:var(--skg-success); background:var(--skg-success-bg); }

/* Match the supplied v1.3.0.2 screenshot. Remains light in both site themes. */
body .md-typeset .susa-kape-lab .gkape-window { color-scheme:light; overflow:hidden; border:1px solid #929292; border-radius:0; color:#202020; background:#f0f0f0; font-family:"Segoe UI",Arial,sans-serif; font-size:.58rem; line-height:1.3; }
.gkape-title { display:flex; align-items:center; gap:.35rem; padding:.25rem .4rem; min-height:1.6rem; }
body .md-typeset .gkape-title img { width:1rem; height:1rem; margin:0; object-fit:contain; }
.gkape-title>span:last-child { margin-left:auto; }
.gkape-menu { display:flex; gap:.4rem; padding:0 .25rem .3rem; }
body .md-typeset .susa-kape-lab .gkape-window button { min-height:1.45rem; padding:.15rem .35rem; border:1px solid #aaa; border-radius:0; color:#222; background:#f5f5f5; font:inherit; box-shadow:none; cursor:pointer; }
body .md-typeset .susa-kape-lab .gkape-window button:disabled { color:#999; border-color:#d3d3d3; background:#f0f0f0; opacity:1; cursor:default; }
body .md-typeset .susa-kape-lab .gkape-window button:not(:disabled):hover { border-color:#0078d4; background:#e5f1fb; }
body .md-typeset .susa-kape-lab .gkape-menu button:disabled { color:#333; border:0; background:transparent; }
.gkape-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.65rem; padding:0 .45rem .45rem; }
.gkape-column { min-width:0; display:flex; flex-direction:column; gap:.35rem; }
body .md-typeset .susa-kape-lab .gkape-window fieldset { min-width:0; margin:0; padding:.45rem; border:1px solid #c0c0c0; border-radius:0; background:transparent; }
.gkape-window legend { padding:0 .2rem; color:#242424; font-size:.6rem; font-weight:700; }
.gkape-window label { font-size:inherit; }
.gkape-toggle { display:flex; align-items:center; gap:.2rem; }
body .md-typeset .susa-kape-lab .gkape-window input:not([type=checkbox]):not([type=radio]),
body .md-typeset .susa-kape-lab .gkape-window textarea { width:100%; min-width:0; height:1.4rem; padding:.12rem .2rem; border:1px solid #aaa; border-radius:0; color:#202020; background:#fff; font:inherit; box-shadow:none; }
body .md-typeset .susa-kape-lab .gkape-window :is(input:not([type=checkbox]):not([type=radio]),textarea):disabled { background:#efefef; color:#969696; border-color:#d1d1d1; }
.gkape-window input:is([type=checkbox],[type=radio]) { width:.7rem; height:.7rem; margin:0; accent-color:#777; flex:none; }
.gkape-path { display:grid; grid-template-columns:5rem minmax(0,1fr) 1.5rem; gap:.25rem; align-items:center; margin:.25rem 0; }
body .md-typeset .susa-kape-lab .gkape-window .gkape-path input:not(:disabled) { border-color:#e14242; }
.gkape-flags { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:.6rem; margin:.35rem 0; }
.gkape-flags label,.gkape-options label,.gkape-other label { display:inline-flex; align-items:center; gap:.2rem; }
.gkape-grid-title { padding:.25rem; border:1px solid #aaa; color:#d80000; text-align:center; font-weight:700; }
.gkape-filter { display:flex; align-items:center; justify-content:space-between; gap:.3rem; padding:.3rem; border:1px solid #bbb; border-top:0; color:#666; font-size:.5rem; }
body .md-typeset .gkape-window .gkape-filter input { max-width:60%; }
.gkape-grid-scroll { overflow:auto; height:12rem; border:1px solid #aaa; background:#fff; }
.gkape-grid { min-width:440px; }
.gkape-grid>label,.gkape-grid>div { display:grid; grid-template-columns:2.7rem minmax(7rem,1fr) 4.2rem minmax(8rem,1.4fr); align-items:center; min-height:1.5rem; border-bottom:1px solid #d0d0d0; }
.gkape-grid>label { cursor:pointer; color:#143552; background:#fff; }
.gkape-grid>label:hover { background:#e9eef3; }
.gkape-grid>label.is-selected { background:#ddd; }
.gkape-grid>:is(label,div)>span { min-width:0; height:100%; padding:.3rem; border-left:1px solid #d0d0d0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gkape-grid input { justify-self:center; }
body .md-typeset .susa-kape-lab .gkape-window .gkape-definition-link { min-width:0; height:100%; padding:.3rem; border:0; border-left:1px solid #d0d0d0; color:inherit; background:transparent; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
.gkape-grid-head { position:sticky; top:0; color:#222; background:#eee; font-weight:400; }
.gkape-module-grid { min-width:600px; }
.gkape-module-grid>div { grid-template-columns:2.7rem 6rem 4rem 6.5rem minmax(8rem,1fr); }
.gkape-options { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin:.6rem 0; }
.gkape-subfield { display:grid; grid-template-columns:5rem minmax(0,1fr); align-items:center; gap:.5rem; margin:.35rem 0; }
body .md-typeset .susa-kape-lab .gkape-variables { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:.5rem; margin-top:.6rem; }
body .md-typeset .susa-kape-lab .gkape-variables textarea { height:4.8rem; resize:none; }
.gkape-variables label { display:flex; align-items:center; gap:.3rem; margin-bottom:.35rem; }
body .md-typeset .susa-kape-lab .gkape-modules:disabled { flex:1; color:#a4a4a4; }
.gkape-modules:disabled legend,.gkape-modules .gkape-grid-head { color:#a4a4a4; }
.gkape-modules .gkape-grid-title { color:#a8c4d9; }
.gkape-modules .gkape-grid-scroll { background:#f0f0f0; border-color:#ccc; }
.gkape-modules .gkape-grid>div { color:#b9bec2; border-color:#ddd; background:#f0f0f0; }
body .md-typeset .susa-kape-lab .gkape-other { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.4rem; }
body .md-typeset .susa-kape-lab .gkape-command { margin:0 .45rem .3rem; }
body .md-typeset .susa-kape-lab .gkape-command code { display:block; min-height:4rem; padding:.4rem; border:1px solid #bbb; border-radius:0; color:#12334e; background:#f0f0f0; font-family:"Segoe UI",Arial,sans-serif; font-size:.65rem; white-space:pre-wrap; overflow-wrap:anywhere; }
.gkape-actions { display:flex; align-items:center; justify-content:space-between; gap:.4rem; padding:0 .45rem .4rem; }
.gkape-statusbar { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; border-top:1px solid #c0c0c0; padding:.3rem; font-size:.52rem; }
.gkape-statusbar>label { margin-left:auto; }
.gkape-picker { padding:.5rem; margin:.5rem 0; border:1px solid #999; background:#fff; }
.gkape-picker>strong { display:block; margin-bottom:.4rem; }
.gkape-picker button { margin:.25rem; }
.gkape-empty { padding:.3rem; font-size:.6rem!important; }
.skg-console { margin:.85rem 0; padding:.8rem; border:1px solid #777; border-radius:.2rem; color:#fff; background:#101010; }
.skg-console>header { color:#8fcef8; font-size:.72rem; }
body .md-typeset .susa-kape-lab pre { white-space:pre-wrap; overflow-wrap:anywhere; }
body .md-typeset .skg-console pre { margin:.6rem 0; color:#f1e7a2; background:transparent; font-size:.65rem; }
.skg-console button { padding:.5rem; color:#222; background:#eee; border:1px solid #aaa; font:inherit; cursor:pointer; }
.skg-view-buttons { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:.65rem; padding:.25rem 0; margin:1rem 0; }
.skg-results section { margin-top:.8rem; }
.skg-table-scroll { overflow:auto; max-width:100%; }
body .md-typeset .susa-kape-lab table { display:table; width:100%; margin:0; font-size:.65rem; background:var(--md-default-bg-color); }
.skg-table-scroll td { overflow-wrap:anywhere; min-width:10rem; }
body .md-typeset .susa-kape-lab [data-gkape-file-list] { padding:.75rem; font-size:.65rem; color:var(--kfl-ink); background:var(--md-default-bg-color); }
.skg-gap { padding:.6rem; border-left:3px solid var(--kfl-blue); }
body .md-typeset .susa-kape-lab .skg-question { padding:1rem; border:1px solid var(--kfl-border); border-radius:.3rem; background:var(--md-default-bg-color); }
.skg-question>label { display:block; font-size:.68rem; }
.skg-question select { display:block; width:100%; min-width:0; padding:.5rem; margin:.4rem 0; font:inherit; color:var(--md-default-fg-color); background:var(--md-default-bg-color); border:1px solid var(--kfl-border); }
.skg-results details { margin-top:1rem; }
body .md-typeset .susa-kape-lab .skg-results details>summary { padding:.8rem 2.2rem; }
.skg-footer { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; padding:.5rem 0; margin:1rem 0; }
.skg-footer>span { flex:1 1 15rem; }
@media(max-width:1000px) { .gkape-workspace { grid-template-columns:1fr; } }
@media(max-width:600px) {
  .skg-coach { grid-template-columns:1fr; }
  body .md-typeset .susa-kape-lab .skg-coach ol { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .gkape-path { grid-template-columns:minmax(0,1fr) 1.8rem; }
  .gkape-path>label { grid-column:1/-1; }
  .gkape-grid-scroll { height:12rem; }
  body .md-typeset .susa-kape-lab .gkape-window button { min-height:2rem; }
  .gkape-grid>label { min-height:2rem; }
  .gkape-window input:is([type=checkbox],[type=radio]) { width:.9rem; height:.9rem; }
  .gkape-statusbar>label { margin-left:0; }
  .gkape-actions { flex-wrap:wrap; }
}
