/* ---- product toasts -------------------------------------------------------- */
.px-toasts{position:absolute;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:60;max-width:420px}
.px-toast{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:#fff;border-left:4px solid #0672cb;
  box-shadow:0 4px 16px rgba(0,0,0,.18);font-size:13px;color:#1d1d1d;transition:opacity .3s}
.px-toast.ok{border-color:#25a55f}.px-toast.err{border-color:#ce1126}
.px-toast .px-tic{font-weight:700;color:#0672cb}.px-toast.ok .px-tic{color:#25a55f}.px-toast.err .px-tic{color:#ce1126}
.px-toast.out{opacity:0}

/* ---- instructor console ------------------------------------------------------- */
.ic-scrim{position:absolute;inset:0;background:rgba(10,16,24,.55);display:flex;align-items:center;justify-content:center;z-index:90}
.ic-box{width:min(680px,94%);max-height:86%;display:flex;flex-direction:column;background:#141b24;color:#e6edf5;border-radius:8px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);font-family:-apple-system,"Segoe UI",Roboto,sans-serif}
.ic-head{display:flex;align-items:baseline;gap:10px;padding:16px 18px;border-bottom:1px solid #263241}
.ic-head span{color:#8ea2b8;font-size:12.5px}
.ic-x{margin-left:auto;background:none;border:0;color:#8ea2b8;font-size:22px;cursor:pointer}
.ic-body{overflow:auto;padding:8px 18px}
.ic-row{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #222d3a}
.ic-row.on .ic-n{color:#ff9d7a}
.ic-n{font-weight:600;font-size:14px}.ic-area{font-weight:500;font-size:11px;color:#8ea2b8;border:1px solid #33465b;border-radius:10px;padding:1px 7px;margin-left:6px}
.ic-d{font-size:12.5px;color:#9fb0c4;margin-top:3px}
.ic-row>div{flex:1}
.ic-btn{background:#e0552e;color:#fff;border:0;border-radius:5px;padding:8px 14px;font-weight:600;font-size:12.5px;cursor:pointer;white-space:nowrap}
.ic-btn.ghost{background:transparent;border:1px solid #3a4c60;color:#cfe0f1}
.ic-foot{display:flex;justify-content:space-between;gap:10px;padding:14px 18px;border-top:1px solid #263241}
.ic-mut{color:#8ea2b8}

/* ============================================================================
   The lab machine — Windows desktop, taskbar, windows, Chrome
   ========================================================================== */
.wd{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;font-family:"Segoe UI",Tahoma,Arial,sans-serif;
  background:radial-gradient(ellipse 60% 80% at 72% 42%,#5fb4ff 0%,#1f7ae0 22%,#0a57c2 48%,#06378a 78%,#041f57 100%)}
.wd::before{content:"";position:absolute;right:6%;top:9%;width:34%;height:62%;background:linear-gradient(160deg,rgba(150,215,255,.35),rgba(120,200,255,.08));
  clip-path:polygon(0 8%,100% 0,100% 100%,0 86%);pointer-events:none}
.wd-area{flex:1;position:relative;min-height:0}
.wd-icons{position:absolute;left:6px;top:6px;bottom:6px;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;gap:4px}
.wd-icon{width:84px;padding:6px 2px;display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid transparent;cursor:default;outline:none;user-select:none}
.wd-icon:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18)}
.wd-icon.sel{background:rgba(160,205,255,.32);border-color:rgba(200,230,255,.6)}
.wd-iic{position:relative;display:flex}
.wd-arrow{position:absolute;left:-2px;bottom:-2px;width:13px;height:13px;background:#fff;color:#1f5fbf;font-size:10px;line-height:13px;text-align:center;border:1px solid #9bb}
.wd-ilb{color:#fff;font-size:12px;line-height:1.25;text-align:center;text-shadow:0 1px 2px #000,0 0 3px rgba(0,0,0,.8);word-break:break-word}
.wd-wins{position:absolute;inset:0;pointer-events:none}
.wd-win{position:absolute;left:7%;top:5%;right:7%;bottom:6%;display:flex;flex-direction:column;background:#fff;pointer-events:auto;
  border:1px solid #2b6fc4;box-shadow:0 12px 40px rgba(0,0,0,.45)}
.wd-win.max{left:0;top:0;right:0;bottom:0;border:0;box-shadow:none}
.wd-win.front{z-index:2}
.wd-tb{display:flex;align-items:center;height:30px;flex:none;background:#fff;border-bottom:1px solid #e3e3e3;user-select:none}
.wd-tic{display:flex;padding:0 8px;transform:scale(.75)}
.wd-tt{font-size:12px;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wd-sp{flex:1}
.wd-tb button,.cr-top button[data-w]{width:46px;height:30px;border:0;background:transparent;font-size:12px;color:#222;cursor:default}
.wd-tb button:hover,.cr-top button[data-w]:hover{background:#e5e5e5}
.wd-tb button.x:hover,.cr-top button.x:hover{background:#e81123;color:#fff}
.wd-body{flex:1;position:relative;min-height:0}
.wd-shell{position:absolute;inset:0;overflow:hidden}
.wd-bar{height:40px;flex:none;display:flex;align-items:stretch;background:rgba(16,20,26,.96);color:#fff;z-index:5;position:relative}
.wd-start{width:48px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:default}
.wd-start:hover{background:rgba(255,255,255,.1)}
.wd-search{display:flex;align-items:center;gap:10px;width:250px;padding:0 12px;background:#f3f3f3;color:#555;font-size:12.5px;margin:0}
.wd-search svg{stroke:#222}
.wd-pins{display:flex}
.wd-pin{width:48px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;position:relative;cursor:default}
.wd-pin:hover{background:rgba(255,255,255,.1)}
.wd-pin.run::after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;background:#76b9ed}
.wd-pin.on{background:rgba(255,255,255,.16)}
.wd-pin.on::after{left:0;right:0}
.wd-tray{display:flex;align-items:center;gap:12px;padding:0 10px;font-size:12px}
.wd-tray>span{display:flex;align-items:center}
.wd-lang{font-size:11.5px}
.wd-clock{display:block!important;text-align:center;line-height:1.3;font-size:11.5px}
.wd-show{width:6px;border-left:1px solid #555;cursor:default}
.wd-show:hover{background:rgba(255,255,255,.2)}
.wd-menu{position:absolute;left:0;bottom:40px;width:320px;background:rgba(32,36,42,.98);color:#fff;z-index:20;padding:8px 0;box-shadow:0 0 30px rgba(0,0,0,.5)}
.wd-mh{padding:8px 16px 10px;font-size:12px;color:#aab;text-transform:uppercase;letter-spacing:.6px}
.wd-menu a{display:flex;align-items:center;gap:12px;padding:9px 16px;font-size:13.5px;cursor:default}
.wd-menu a span{display:flex;width:24px;justify-content:center}
.wd-menu a:hover{background:rgba(255,255,255,.1)}
.wd-msep{height:1px;background:#444;margin:6px 0}
.wd .px-toasts{bottom:52px}
/* Chrome */
.cr-top{display:flex;align-items:flex-end;height:36px;flex:none;background:#dee1e6;padding-left:8px;user-select:none}
.cr-top button[data-w]{height:36px;align-self:stretch}
.cr-tabs{display:flex;gap:1px;min-width:0;overflow:hidden}
.cr-tab{display:flex;align-items:center;gap:7px;height:30px;width:220px;min-width:90px;padding:0 8px 0 12px;border-radius:8px 8px 0 0;font-size:12px;color:#3c4043;cursor:default}
.cr-tab:hover{background:#e9ebee}
.cr-tab.on{background:#fff;color:#202124}
.cr-fav{display:flex;flex:none}
.cr-tt{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-tx{width:16px;height:16px;border-radius:50%;font-size:9px;display:flex;align-items:center;justify-content:center;color:#5f6368}
.cr-tx:hover{background:#d5d7db}
.cr-new{width:28px;height:28px;margin:0 0 2px 4px;border:0;border-radius:50%;background:transparent;font-size:18px;color:#5f6368}
.cr-new:hover{background:#cfd2d6}
.cr-bar{display:flex;align-items:center;gap:4px;height:36px;flex:none;padding:0 8px;background:#fff}
.cr-nav{width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#5f6368;font-size:16px;cursor:default}
.cr-nav:hover:not(:disabled){background:#f1f3f4}
.cr-nav:disabled{color:#c4c7c9}
.cr-url{flex:1;display:flex;align-items:center;gap:7px;height:28px;padding:0 12px;border-radius:14px;background:#f1f3f4;font-size:12.5px;color:#5f6368;white-space:nowrap;overflow:hidden}
.cr-url b{color:#202124;font-weight:400}
.cr-lock{font-size:10px;filter:grayscale(1)}
.cr-marks{display:flex;gap:2px;height:28px;flex:none;align-items:center;padding:0 8px;background:#fff;border-bottom:1px solid #dadce0}
.cr-marks a{display:flex;align-items:center;gap:6px;padding:3px 9px;border-radius:12px;font-size:12px;color:#3c4043;cursor:default}
.cr-marks a:hover{background:#f1f3f4}
.cr-load{height:2px;flex:none;background:transparent}
.wd-win.loading .cr-load{background:linear-gradient(90deg,#1a73e8 0,#1a73e8 40%,transparent 40%);background-size:200% 100%;animation:crload .65s linear infinite}
.wd-win.loading .cr-nav[data-n="reload"]{color:#1a73e8}
@keyframes crload{from{background-position:100% 0}to{background-position:-100% 0}}
.cr-page{flex:1;position:relative;min-height:0;background:#fff}
@media (max-width:1180px){ .wd-search{width:40px;padding:0 12px}.wd-search span{display:none} .cr-tab{width:160px} }

/* ---- Chrome extras: typed address, "Not secure", its own error page ------- */
.cr-in{flex:1;border:0;outline:none;background:transparent;font:12.5px "Segoe UI",Arial,sans-serif;color:#202124}
.cr-url:has(.cr-in){background:#fff;box-shadow:0 0 0 2px #1a73e8 inset}
.cr-ns{font-size:12px;color:#5f6368;filter:none;padding-right:6px;border-right:1px solid #dadce0;margin-right:4px}
.cr-err{position:absolute;inset:0;background:#fff;font-family:"Segoe UI",Roboto,Arial,sans-serif;color:#202124;overflow:auto}
.cr-err-in{max-width:600px;margin:12vh auto 0;padding:0 24px}
.cr-err-ic{font-size:54px;color:#5f6368;line-height:1}
.cr-err h1{font-size:24px;font-weight:500;margin:18px 0 14px}
.cr-err p,.cr-err li{font-size:14px;color:#5f6368;margin:6px 0}
.cr-err-code{font-size:12px!important;letter-spacing:.3px;margin-top:22px!important}
.cr-err-btn{margin-top:26px;background:#1a73e8;color:#fff;border:0;border-radius:4px;padding:9px 22px;font-size:14px;cursor:pointer}
.jt{position:absolute;inset:0;padding:10px 16px;font-family:"Times New Roman",serif;background:#fff;color:#000}
.jt table{border-collapse:collapse}.jt th{text-align:left;padding-right:12px}
.jt a{color:#00e;text-decoration:underline}
.ws-list{position:absolute;inset:0;padding:14px 22px;font:14px "Times New Roman",serif;background:#fff;overflow:auto}
.ws-list h1{font-size:22px;margin:0 0 10px}.ws-list a{color:#00e;text-decoration:underline;cursor:pointer}
.ws-list code{font-family:Consolas,monospace;font-size:13px}
.ws-xml{position:absolute;inset:0;overflow:auto;background:#fff}
.ws-note{padding:8px 12px;margin:8px;border:1px solid #ccc;background:#f8f8f8;font:13px Arial,sans-serif;color:#333;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.ws-xml pre{margin:0;padding:6px 14px;font:12.5px/1.45 Consolas,"Courier New",monospace;color:#881280;white-space:pre}

