*{box-sizing:border-box}
:root{color-scheme:dark;--bg:#0d1117;--panel:#090e13;--title:#161b22;--border:#30363d;--soft:#242c35;--text:#e6edf3;--muted:#8b949e;--green:#3fb950;--green2:#56d364;--blue:#58a6ff;--yellow:#e3b341;--red:#f85149;--purple:#bc8cff;--cyan:#39c5cf}
html,body{min-height:100%;margin:0;background:radial-gradient(circle at 50% -10%,rgba(63,185,80,.05),transparent 34%),var(--bg);color:var(--text)}
body{min-height:100vh;font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}
button,input,select{font:inherit}
.pw-shell{width:min(1440px,calc(100% - 32px));margin:0 auto;padding:30px 0 24px}
.pw-window{overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 30px 90px rgba(0,0,0,.42)}
.pw-titlebar{height:48px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 16px;background:var(--title);border-bottom:1px solid #252d36}
.window-buttons{display:flex;gap:8px}.window-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.window-dot.red{background:#ff5f57}.window-dot.yellow{background:#febc2e}.window-dot.green{background:#28c840}a.window-dot{text-decoration:none}
.pw-title{color:#9aa4af;font-size:.78rem}.pw-status{justify-self:end;display:flex;align-items:center;gap:7px;color:var(--green);font-size:.68rem;font-weight:700}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(63,185,80,.45)}
.pw-console{padding:18px;background:linear-gradient(rgba(5,9,13,.97),rgba(5,9,13,.97)),repeating-linear-gradient(0deg,transparent 0 25px,rgba(255,255,255,.012) 25px 26px)}
.console-command{margin-bottom:13px;color:#c9d1d9;font-size:.8rem}.prompt{color:var(--green)}
.pw-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:13px}.pw-tab{min-height:38px;padding:7px 10px;color:#89939d;background:#10161d;border:1px solid #2a323b;border-radius:7px;cursor:pointer;font-size:.65rem}.pw-tab.active{color:#e8fff0;border-color:#347d45;background:rgba(63,185,80,.10)}
.pw-tool{display:none}.pw-tool.active{display:block}
.runner-layout{display:grid;grid-template-columns:220px minmax(300px,.95fr) minmax(360px,1.25fr);gap:12px}.test-explorer,.editor-card,.browser-card,.control-card,.terminal-card,.network-table-card,.trace-list{min-width:0;background:#0d131a;border:1px solid var(--soft);border-radius:9px}
.test-explorer{padding:12px}.test-explorer h2{font-size:.67rem;color:#727c86}.test-item{width:100%;text-align:left;margin:3px 0;padding:8px 9px;color:#aeb7c0;background:#0a1016;border:1px solid transparent;border-radius:6px;cursor:pointer}.test-item.active{border-color:#347d45;color:#dfffe6;background:rgba(63,185,80,.07)}
.fault-box{display:grid;gap:6px;margin-top:16px;color:#7c8791;font-size:.67rem}.button-stack{display:grid;gap:7px;margin-top:12px}.button-stack button,.control-card button,.panel-head button{min-height:38px;color:#aeb8c2;background:#111820;border:1px solid #30363d;border-radius:7px;cursor:pointer}.primary{color:#e8fff0!important;border-color:#347d45!important;background:rgba(63,185,80,.10)!important}
select,input{width:100%;min-height:40px;padding:7px 9px;color:#d8e0e7;background:#090e13;border:1px solid #2d3640;border-radius:6px}
.panel-head,.browser-chrome{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;color:#77818b;background:#10161d;border-bottom:1px solid #242c35;font-size:.66rem}
.code-view,.terminal-output{margin:0;min-height:460px;overflow:auto;padding:14px;color:#cbd4dc;background:#020503;font-size:12px;line-height:1.5;white-space:pre-wrap}
.fake-browser{padding:18px;min-height:290px;background:#f5f7fa;color:#17202a;font-family:Arial,sans-serif}.demo-app{max-width:420px;margin:0 auto;padding:22px;background:white;border:1px solid #d8dee4;border-radius:10px}.demo-app h3{margin-top:0}.demo-app label{display:grid;gap:6px;margin:12px 0;font-size:14px}.demo-app input{color:#17202a;background:white;border:1px solid #b7c0ca}.demo-buttons button{min-height:40px;padding:8px 14px}.demo-result{margin-top:14px;font-size:13px;color:#5b6570}.highlight{outline:3px solid #58a6ff!important;outline-offset:3px}.step-list{padding:10px 12px;background:#090e13;border-top:1px solid #242c35;max-height:170px;overflow:auto;font-size:.66rem}.step-row{display:grid;grid-template-columns:24px 1fr auto;gap:8px;padding:4px 0;color:#8f99a3}.step-row.pass{color:#56d364}.step-row.fail{color:#f85149}
.two-panel,.network-layout,.trace-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.45fr);gap:12px}.control-card{padding:15px}.control-card h2{margin:0 0 14px;font-size:.92rem}.control-card label{display:grid;gap:6px;margin-top:11px;color:#8b949e;font-size:.69rem}.summary-box,.locator-score{margin-top:13px;padding:12px;background:#0a1016;border:1px solid #222c35;border-radius:7px;color:#98a2ac;font-size:.69rem;line-height:1.5}
.network-table-card{overflow:hidden}.table-wrap{overflow:auto}.network-table{width:100%;border-collapse:collapse;font-size:.69rem}.network-table th,.network-table td{padding:8px 9px;border-bottom:1px solid #222b34;text-align:left}.network-table th{color:#68727c}.network-output{margin:0;padding:13px;min-height:220px;background:#020503;color:#cbd4dc;font-size:12px;white-space:pre-wrap}
.trace-list{padding:10px}.trace-step{width:100%;display:grid;grid-template-columns:74px 1fr;gap:9px;text-align:left;margin:4px 0;padding:8px;color:#aeb7c0;background:#0a1016;border:1px solid #26303a;border-radius:6px;cursor:pointer}.trace-step.active{border-color:#347d45;background:rgba(63,185,80,.07)}.trace-browser{min-height:330px}.trace-detail{margin:0;padding:12px;min-height:120px;background:#020503;color:#cbd4dc;font-size:12px;white-space:pre-wrap}
.pw-status-line{margin-top:12px;color:#68727c;font-size:.68rem;text-align:center}.pw-note{margin:12px 0 0;color:#6e7681;font-size:.7rem;text-align:center}
@media(max-width:1100px){.runner-layout{grid-template-columns:1fr}.test-explorer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.test-explorer h2,.fault-box,.button-stack{grid-column:1/-1}}
@media(max-width:850px){.two-panel,.network-layout,.trace-layout{grid-template-columns:1fr}}
@media(max-width:650px){.pw-shell{width:min(100% - 18px,1440px);padding-top:12px}.pw-titlebar{padding:0 10px}.pw-console{padding:11px}.test-explorer{grid-template-columns:1fr}.code-view,.terminal-output{min-height:360px}}


/* RunsLinux shared Labs workstation shell */
@media (min-width: 901px) {
  html, body { width: 100%; height: 100%; overflow: hidden; }
  body.rl-has-site-nav { background: #080d13; }
  .pw-shell {
    position: relative !important;
    width: 100vw !important;
    max-width: none !important;
    height: calc(100vh - 54px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: url('/assets/terminal-workstation.webp') center top / cover no-repeat !important;
  }
  .pw-shell > .pw-window {
    position: absolute !important;
    left: 19.65% !important;
    top: 5.75% !important;
    width: 62.75% !important;
    height: 60.45% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: auto !important;
    border-radius: 10px !important;
    z-index: 3 !important;
    box-shadow: none !important;
  }
  .pw-shell > :not(.pw-window) { display: none !important; }
}
