﻿/* Hibernation Recon's native window and the surrounding browser exercise. */
body .md-typeset .kfl-routes[aria-label="Hibernation Recon lab options"] > div > small,
body .md-typeset .kfl-routes[aria-label="Hibernation Recon lab options"] > a > span,
body .md-typeset [data-hibrec-full] .cdk-practice__summary > p:not(.cdk-practice__title) { color:var(--kfl-ink); }
.cdk-browser-lab__app--hibrec { color-scheme:light; background:#fff; color:#203c60; }
/* Use the same shared banner layout as Kansa, including its responsive rows. */
body .md-typeset .cdk-browser-lab__app--hibrec > header h3 { font-size:.9rem !important; }
body .md-typeset .cdk-browser-lab__app--hibrec > header { background-color:var(--kfl-surface); }
.cdk-browser-lab__app--hibrec > .susa-lab-experience { display:none; }
.cdk-browser-lab__app--hibrec > .hrb-intro { margin:0; padding:.5rem .8rem; color:#203c60; font-size:.67rem; line-height:1.5; }
.hrb-case { display:flex; flex-wrap:wrap; padding:.4rem .8rem; gap:.3rem .85rem; background:#173e69; color:#e3effa; font-size:.59rem; }
.hrb-case strong { color:#9dccff; }
.md-typeset ol.hrb-progress { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin:0; padding:.5rem .7rem; gap:.25rem; list-style:none; background:#fff; }
.md-typeset .hrb-progress li { display:flex; align-items:center; justify-content:center; min-width:0; margin:0; padding:0; gap:.3rem; color:#4a6272; font-size:.6rem; }
.md-typeset .hrb-progress li::before { display:none; }
.hrb-progress li > span { white-space:nowrap; }
.hrb-progress b { display:grid; width:1.2rem; height:1.2rem; place-items:center; border-radius:50%; background:#edf5ff; color:#4a6272; font-size:.58rem; }
.md-typeset .hrb-progress li[aria-current="step"] { color:#246cb6; font-weight:700; }
.hrb-progress li[aria-current="step"] b, .hrb-progress li[data-complete="true"] b { color:#fff; background:#246cb6; }
.hrb-stage { display:grid; min-width:0; padding:.65rem; gap:.65rem; background:#edf5ff; }
.hrb-stage > *, [data-hr-native] { min-width:0; }
.hrb-window { overflow:hidden; border:1px solid #777; background:#fff; color:#111; box-shadow:0 .35rem .8rem #173e691a; font:400 .64rem/1.4 "Segoe UI",Arial,sans-serif; }
.hrb-window > header { display:grid; min-height:1.6rem; padding-left:.3rem; grid-template-columns:1rem minmax(0,1fr) auto; align-items:center; gap:.25rem; background:#f3f3f3; }
.hrb-window > header > img { width:.8rem; height:.8rem; margin:0; object-fit:contain; }
.hrb-window-controls { display:flex; align-self:stretch; color:#111; }
.hrb-window-controls > span { display:grid; width:2rem; place-items:center; font-size:.7rem; }
.hrb-window > main { min-height:15rem; background:#fff; }
.hrb-window > footer { display:flex; align-items:center; justify-content:space-between; padding:.5rem; gap:.4rem; border-top:1px solid #bbb; background:linear-gradient(#f9f9f9,#e6e6e6); }
.hrb-window > footer > div { display:flex; flex-wrap:wrap; gap:.25rem; }
.hrb-window > footer button { display:inline-flex; min-height:1.7rem; padding:.28rem .4rem; align-items:center; gap:.25rem; border:0; background:#304f59; color:#fff; font:600 .56rem/1.3 "Segoe UI",Arial,sans-serif; cursor:pointer; }
.hrb-window > footer button:disabled { background:#80949b; color:#eee; cursor:default; }
.hrb-window > footer button svg { width:.8rem; height:.8rem; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:2; }
.hrb-window > footer button b { padding-inline:.25rem; font:bold 1rem/1 Georgia,serif; }
.hrb-window > footer > img { width:6rem; height:3rem; margin:0; object-fit:contain; }
.hrb-job { padding:.65rem; font-size:.65rem; }
.hrb-job > div { display:flex; justify-content:space-between; padding:.4rem; border:1px solid #b3c5d1; background:#eef5fa; }
.hrb-job p { margin:.4rem 0 !important; overflow-wrap:anywhere; font-size:.62rem; }
.hrb-job progress { width:100%; margin-top:.5rem; accent-color:#304f59; }
.hrb-dialog-backdrop { display:grid; padding:.7rem; place-items:center; background:#f0f0f0; }
.hrb-dialog { width:min(100%,32rem); min-width:0; overflow:hidden; border:1px solid #87959e; border-radius:.15rem; background:#fff; color:#111; box-shadow:0 .25rem .8rem #0002; }
.hrb-dialog:focus { outline:none; }
.hrb-dialog > header { display:flex; padding:.35rem .5rem; justify-content:space-between; align-items:center; background:#f3f3f3; }
.hrb-dialog > header strong { font-weight:400; font-size:.66rem; }
.hrb-dialog > header button { padding:.15rem .35rem; border:0; color:#222; background:transparent; font-size:.9rem; cursor:pointer; }
.hrb-location, .hrb-dialog-note { margin:0 !important; padding:.45rem .55rem; border-bottom:1px solid #c4cfd6; background:#fafafa; font-size:.63rem; }
.hrb-file-list { display:grid; min-height:8rem; align-content:start; margin:.45rem; border:1px solid #ddd; }
.hrb-file-list button { display:grid; min-width:0; padding:.35rem .45rem; gap:.15rem; border:1px solid transparent; background:#fff; color:#111; font:400 .64rem/1.4 "Segoe UI",Arial,sans-serif; text-align:left; overflow-wrap:anywhere; cursor:pointer; }
.hrb-file-list button strong { font-weight:500; }
.hrb-file-list button > span { color:#4a6272; font-size:.6rem; }
.hrb-file-list button:hover { background:#f0f6fc; }
.hrb-file-list button.is-selected { border-color:#a4c8e8; background:#dcecff; }
.hrb-file-results button, .hrb-file-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.5rem; }
.hrb-file-columns { padding:.3rem .45rem; border-bottom:1px solid #ddd; background:#fafafa; font-size:.61rem; }
.hrb-file-results strong { display:flex; align-items:center; gap:.4rem; }
.hrb-file-icon { display:inline-block; width:.55rem; height:.7rem; flex-shrink:0; border:1px solid #9babb6; background:linear-gradient(135deg,#fff 75%,#dae6ed 75%); }
.hrb-folder-name::before { content:""; display:inline-block; width:.65rem; height:.5rem; margin-right:.4rem; border:1px solid #b79546; background:#f4d77d; vertical-align:baseline; }
.hrb-file-name { display:grid; padding:.35rem .55rem; grid-template-columns:auto minmax(0,1fr); gap:.4rem; background:#fafafa; font-size:.6rem; overflow-wrap:anywhere; }
.hrb-file-name label { align-self:center; }
.hrb-file-name input { width:100%; min-width:0; padding:.2rem .3rem; border:1px solid #8d9daa; background:#fff; color:#111; font:inherit; }
.hrb-dialog > footer { display:flex; justify-content:flex-end; padding:.4rem .5rem; gap:.4rem; border-top:1px solid #c4cfd6; background:#f3f3f3; }
.hrb-dialog > footer button { min-width:3.5rem; padding:.3rem .5rem; border:1px solid #879eac; border-radius:.1rem; background:#fff; color:#111; font:400 .63rem/1.4 "Segoe UI",Arial,sans-serif; cursor:pointer; }
.hrb-dialog > footer button:disabled { color:#78838a; border-color:#c1cbd1; cursor:default; }
.hrb-about { padding:.7rem; font-size:.65rem; }
.hrb-about img { float:right; width:6rem; margin:0 0 .5rem .5rem; }
.md-typeset .hrb-about h4 { color:#111; font-size:.78rem; }
.hrb-about p { margin:.4rem 0; color:#203c60; font-size:.65rem; }
.hrb-coach { padding:.15rem .2rem; color:#203c60; }
.hrb-coach > div:first-child { display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem; }
.hrb-coach [data-hr-step] { color:#246cb6; font-size:.58rem; font-weight:600; }
.hrb-coach [data-hr-title] { font-size:.76rem; }
.hrb-coach > p { margin:.3rem 0 !important; color:#203c60; font-size:.69rem; line-height:1.5; }
.hrb-coach > p.hrb-explanation { color:#4a6272; font-size:.64rem; }
.md-typeset .hrb-coach details { margin:.4rem 0; border:1px solid #bed8f3; background:#fff; box-shadow:none; }
.md-typeset .hrb-coach summary { padding:.45rem .6rem; background:#edf5ff; color:#203c60; font-size:.64rem; }
.md-typeset .hrb-coach summary::before, .md-typeset .hrb-coach summary::after { display:none; }
.md-typeset .hrb-coach details p { color:#203c60; font-size:.65rem; line-height:1.5; }
.hrb-evidence-view { overflow:hidden; border:1px solid #a6bfd0; background:#fff; color:#203c60; }
.hrb-evidence-view > header { display:grid; padding:.55rem .65rem; gap:.15rem; border-bottom:1px solid #a6bfd0; background:#f1f5f8; }
.hrb-evidence-view > header strong { font-size:.72rem; }
.hrb-evidence-view > header span { font-size:.6rem; overflow-wrap:anywhere; }
.hrb-output-list { display:grid; padding:.5rem; gap:.35rem; }
.hrb-output-list > div, .hrb-output-list > button { display:grid; min-width:0; padding:.55rem; gap:.15rem; border:1px solid #b8cbd8; background:#fff; color:#203c60; font:400 .66rem/1.5 "Segoe UI",Arial,sans-serif; text-align:left; }
.hrb-output-list > button { cursor:pointer; }
.hrb-output-list > button:hover { border-color:#246cb6; background:#edf5ff; }
.hrb-output-list span { color:#4a6272; font-size:.61rem; }
.md-typeset .hrb-log { margin:.5rem; padding:.6rem; white-space:pre-wrap; overflow-wrap:anywhere; background:#f2f5f7; color:#203c60; font:400 .64rem/1.5 Consolas,monospace; }
.hrb-hashes { display:grid; padding:.6rem; gap:.6rem; }
.hrb-hashes > div { display:grid; gap:.25rem; }
.hrb-hashes strong, .hrb-hashes label { font-size:.66rem; }
.hrb-hashes code, .hrb-command code, .hrb-evidence-note code, .hrb-events code { display:block; padding:.35rem; background:#f1f5f8; color:#203c60; font:400 .64rem/1.5 Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.hrb-hashes select { box-sizing:border-box; width:100%; min-height:1.9rem; padding:.3rem; border:1px solid #93adbf; background:#fff; color:#203c60; font:400 .65rem/1.4 "Segoe UI",Arial,sans-serif; }
.hrb-hashes > button, .hrb-command > button, .hrb-finding > button { justify-self:start; min-height:1.9rem; padding:.35rem .55rem; border:1px solid #246cb6; border-radius:.15rem; background:#fff; color:#246cb6; font:600 .63rem/1.4 "Segoe UI",Arial,sans-serif; cursor:pointer; }
.hrb-memory-table { overflow:auto; }
.md-typeset .hrb-memory-table table { width:100%; margin:0; border-collapse:collapse; color:#203c60; background:#fff; font-size:.66rem; }
.md-typeset .hrb-memory-table :is(th,td) { padding:.4rem .5rem; border:1px solid #c3d3de; white-space:nowrap; background:transparent; color:inherit; }
.md-typeset .hrb-memory-table th { background:#f1f5f8; }
.md-typeset .hrb-memory-table tbody tr { background:#fff; color:#203c60; cursor:pointer; }
.md-typeset .cdk-browser-lab__app--hibrec .hrb-memory-table tbody tr:hover { background:#edf5ff; color:#203c60; }
.md-typeset .hrb-memory-table tr.is-selected { background:#dcecff; }
.hrb-command { display:grid; padding:.6rem; gap:.35rem; font-size:.66rem; }
.hrb-command [data-hr-decoded] { display:grid; padding:.45rem; gap:.2rem; border-left:3px solid #246cb6; background:#edf5ff; }
.hrb-events { display:grid; padding:.6rem; gap:.4rem; }
.hrb-events button { display:grid; min-width:0; padding:.55rem; gap:.2rem; border:1px solid #b4cbdc; background:#fff; color:#203c60; font:400 .65rem/1.5 "Segoe UI",Arial,sans-serif; text-align:left; cursor:pointer; }
.hrb-events button.is-selected { border-color:#246cb6; background:#edf5ff; }
.hrb-events span { overflow-wrap:anywhere; }
.hrb-evidence-note { margin:.2rem .6rem .6rem !important; font-size:.62rem; }
.hrb-finding { display:grid; margin-top:.5rem; gap:.5rem; }
.hrb-finding fieldset { display:grid; min-width:0; margin:0; padding:.6rem; gap:.45rem; border:1px solid #a8c5dc; }
.hrb-finding legend { padding-inline:.25rem; color:#203c60; font-size:.65rem; font-weight:600; }
.hrb-finding label { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; padding:.25rem; gap:.3rem; color:#203c60; font-size:.66rem; line-height:1.5; }
.hrb-finding input { margin:.2rem 0 0; accent-color:#246cb6; }
.hrb-feedback { display:block; padding:.5rem .65rem; border-left:3px solid #246cb6; background:#fff; color:#203c60; font-size:.66rem; line-height:1.5; overflow-wrap:anywhere; }
.hrb-feedback[data-state="complete"] { background:#edf9f2; color:#155f3b; border-color:#258951; }
.hrb-feedback[data-state="error"] { background:#fff1f2; color:#8c2530; border-color:#bb3440; }
body .md-typeset .cdk-browser-lab__app--hibrec > .hrb-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem; padding:.5rem .7rem; background:#f7f9fa; color:#203c60; font-size:.65rem; }
.cdk-browser-lab__app--hibrec .hrb-footer > div { display:flex; flex-wrap:wrap; gap:.35rem; }
.cdk-browser-lab__app--hibrec .hrb-footer button { min-height:1.9rem; padding:.35rem .5rem; border:1px solid #246cb6; border-radius:.15rem; background:#fff; color:#246cb6; font:400 .63rem/1.4 "Segoe UI",Arial,sans-serif; cursor:pointer; }
.cdk-browser-lab__app--hibrec .hrb-footer button:disabled { color:#788892; border-color:#c5cfd6; cursor:default; }
.cdk-browser-lab__app--hibrec :is(button,summary,select,input,[data-hr-pid]):focus-visible { outline:1px dotted #333; outline-offset:2px; }
.cdk-browser-lab__app--hibrec .hrb-window > footer button:focus-visible { outline-color:#fff; outline-offset:-4px; }
.cdk-browser-lab__app--hibrec [hidden] { display:none !important; }
@media screen and (max-width:48em) {
  .md-typeset .hrb-progress li { flex-direction:column; gap:.15rem; font-size:.56rem; }
  .hrb-stage { padding:.4rem; }
  .hrb-window > footer { flex-wrap:wrap; }
  .hrb-window > footer > div { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hrb-window > footer button { justify-content:center; }
  .hrb-window > footer > img { height:2.5rem; margin-left:auto; }
  .hrb-file-list button { font-size:.61rem; }
  .hrb-dialog-backdrop { padding:.4rem; }
  .hrb-window-controls > span { width:1.4rem; }
  .hrb-hashes select { font-size:.6rem; }
  .hrb-footer > div { width:100%; }
}
@media screen and (max-width:48em) {
  .md-typeset ol.hrb-progress { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:.45rem; }
}
