.lab{--lab-bg:#fff;--lab-soft:#edf4fb;--lab-text:#18334e;--lab-muted:#49647c;--lab-line:#b9cedf;max-width:1250px;margin:auto;padding:32px 24px 64px;color:var(--lab-text)}.lab-intro{display:flex;align-items:center;gap:32px;justify-content:space-between;margin-bottom:30px}.lab-intro h1{font-size:clamp(36px,5vw,58px);line-height:1.08;margin:8px 0 16px;letter-spacing:-2px}.lab-intro p:not(.eyebrow){max-width:700px;color:var(--lab-muted);font-size:17px;line-height:1.7}.lab-safe{flex-shrink:0;border:1px solid #86c7b0;border-radius:16px;padding:18px;background:#e8f9f0;color:#16533c;font-weight:800}.lab-safe small{font-weight:500}.lab-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:24px;align-items:start}.lab-coach{border:1px solid var(--lab-line);border-radius:21px;background:var(--lab-bg);padding:23px}.lab-kicker{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--lab-muted)}.lab-coach h2{font-size:23px;line-height:1.25;margin:12px 0}.lab-coach p{line-height:1.6}.lab progress{width:100%;height:10px;accent-color:#147cab}#progress-label,.lab-small{font-size:12px;color:var(--lab-muted)}.lab button,.lab-dialog button{font:inherit;font-size:13px;font-weight:700;line-height:1.35;border:1px solid var(--lab-line,#a8bdd0);border-radius:9px;padding:9px 12px;background:var(--lab-bg,#fff);color:var(--lab-text,#193750);cursor:pointer}.lab button:hover:not(:disabled){border-color:#1687b8;background:var(--lab-soft)}.lab button:disabled{opacity:.45;cursor:default}.lab button:focus-visible,.lab-dialog :focus-visible{outline:3px solid #ce7908;outline-offset:3px}.lab #hint{width:100%;text-align:left}#hint-text{background:var(--lab-soft);border-left:3px solid #1489b9;padding:12px;font-size:14px}#missions{list-style:none;padding:0;margin:20px 0}#missions li{padding:9px 0;display:flex;gap:10px;color:var(--lab-muted);font-size:13px}#missions li[data-current=true]{color:#08668f;font-weight:800}#missions li[data-done=true]{color:#187247}.lab-coach-note{font-size:12px;color:var(--lab-muted);line-height:1.6;border-top:1px solid var(--lab-line);padding-top:15px}.lab .lab-reset{font-size:12px;margin-top:18px}.lab-desktop{min-width:0;padding:20px;border:1px solid #4074a2;border-radius:25px;background:radial-gradient(ellipse at 90% 90%,#6350b9,transparent 62%),linear-gradient(135deg,#072445,#11577c 75%);box-shadow:0 20px 45px #09244025}.lab-desktop-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#d7edff;font-size:12px;margin:0 0 17px}.lab-pill{border:1px solid #6faacb;border-radius:20px;padding:3px 9px;font-size:10px}.lab-window{overflow:hidden;border:1px solid #668ab0;border-radius:13px;background:var(--lab-bg);box-shadow:0 12px 30px #02102344}.lab-window-title{padding:13px 16px;display:flex;justify-content:space-between;background:var(--lab-soft);font-size:12px;color:var(--lab-text)}.lab-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:12px;border-bottom:1px solid var(--lab-line)}.lab-toolbar button{padding:7px 9px;font-size:12px}.lab-address{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--lab-line);align-items:center}.lab-address nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:12px}.lab-address nav button{padding:5px;border-color:transparent;font-size:12px}.lab-explorer-body{display:grid;grid-template-columns:125px minmax(0,1fr);min-height:310px}.lab-sidebar{display:flex;flex-direction:column;gap:6px;padding:12px 8px;background:var(--lab-soft);border-right:1px solid var(--lab-line)}.lab-sidebar button{text-align:left;padding:9px 6px;font-size:12px;border-color:transparent;background:transparent}.lab-sidebar button[aria-current=page]{background:#d3ecfa;color:#104a6c}.lab-files{padding:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));grid-auto-rows:min-content;gap:12px;align-content:start}.lab button.lab-file{padding:13px 6px;background:transparent;border:1px solid transparent;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;font-size:12px;text-align:center;overflow-wrap:anywhere}.lab button.lab-file[aria-pressed=true]{background:#d7edff;border-color:#2779ab;color:#123c61}.lab-file-icon{display:block;position:relative;width:43px;height:49px;background:linear-gradient(135deg,#fff,#d7e8f6);border:1px solid #81a6c6;border-radius:5px;box-shadow:0 3px 5px #12344415;color:#23658e;font-size:11px;font-weight:800;padding-top:23px}.lab-file-icon.folder{width:52px;height:37px;background:linear-gradient(#ffdc80,#f3b448);border-color:#cc8e2c;border-radius:4px;margin:12px 0 0;padding:0}.lab-file-icon.folder:before{content:'';position:absolute;left:0;top:-7px;width:24px;height:8px;background:#ffce62;border:1px solid #cc8e2c;border-bottom:0;border-radius:4px 4px 0 0}.lab-file-icon.photo{color:#614aa3;background:linear-gradient(145deg,#ecdcff,#d6eeff)}.lab-empty{grid-column:1/-1;color:var(--lab-muted);font-size:14px;padding:35px 12px;text-align:center}.lab-status{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;font-size:11px;color:var(--lab-muted);border-top:1px solid var(--lab-line)}.lab-feedback{background:#071c32;color:#e3f1ff;border:1px solid #7cb8df;border-radius:12px;margin-top:15px;padding:13px 16px;font-size:14px;line-height:1.5;min-height:68px}.lab-taskbar{display:flex;justify-content:center;align-items:center;gap:23px;padding:17px 0 0;color:#deefff;font-size:16px}.lab-taskbar span:nth-child(2){font-size:11px;border:1px solid #749abd;padding:5px 14px;border-radius:20px}.lab-explanation{margin-top:35px;background:var(--lab-bg);padding:26px;border:1px solid var(--lab-line);border-radius:18px}.lab-explanation h2{font-size:24px}.lab-explanation p{line-height:1.75;color:var(--lab-muted)}.lab-dialog{max-width:min(440px,calc(100vw - 32px));width:440px;border:1px solid #7695b3;border-radius:20px;padding:25px;background:#fff;color:#18334e;box-shadow:0 25px 70px #0006}.lab-dialog::backdrop{background:#031329aa}.lab-dialog h2{margin:0 0 12px;font-size:23px}.lab-dialog p{line-height:1.6}.lab-dialog label{display:grid;gap:7px;font-size:14px;font-weight:700}.lab-dialog label[hidden]{display:none}.lab-dialog input,.lab-dialog select{width:100%;border:1px solid #809fb9;border-radius:8px;padding:12px;font:inherit;background:#fff;color:#193750}.lab-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.lab-dialog #confirm-dialog{background:#126591;color:#fff;border-color:#126591}#dialog-error{color:#a42434;font-size:13px}.lab [hidden]{display:none!important}
html[data-sk-theme=dark] .lab{--lab-bg:#0c1b2b;--lab-soft:#132a40;--lab-text:#e6f0fb;--lab-muted:#bdcfe1;--lab-line:#365771}html[data-sk-theme=dark] .lab h2{color:#eef7ff!important}html[data-sk-theme=dark] .lab :is(p,li){color:var(--lab-muted)}html[data-sk-theme=dark] .lab .lab-safe{background:#12382b;color:#b7efcf;border-color:#408867}html[data-sk-theme=dark] .lab button[aria-pressed=true],html[data-sk-theme=dark] .lab-sidebar button[aria-current=page]{background:#194d70;color:#fff}html[data-sk-theme=dark] .lab #missions li[data-current=true]{color:#8edcff}html[data-sk-theme=dark] .lab #missions li[data-done=true]{color:#91e4b7}html[data-sk-theme=dark] .lab .lab-file-icon{color:#23658e!important}html[data-sk-theme=dark] .lab-dialog{background:#0c1b2b;color:#e6f0fb}html[data-sk-theme=dark] .lab-dialog :is(input,select,button){background:#142d43;color:#e6f0fb;border-color:#587b97}html[data-sk-theme=dark] .lab-dialog #dialog-error{color:#ffb2bb}
@media(max-width:980px){.lab-layout{grid-template-columns:1fr}.lab-coach{display:block}.lab #missions{display:grid;grid-template-columns:repeat(3,1fr);gap:0 15px}.lab-desktop{padding:14px}.lab-intro{align-items:flex-start}.lab-safe{font-size:12px}}@media(max-width:560px){.lab{padding:20px 14px 45px}.lab-intro{display:block}.lab-safe{display:block;margin-top:16px}.lab #missions{grid-template-columns:1fr 1fr}.lab-explorer-body{grid-template-columns:1fr}.lab-sidebar{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--lab-line)}.lab-files{min-height:230px;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.lab-window-title>span:last-child{display:none}.lab-toolbar button{min-height:40px}.lab-status{flex-wrap:wrap}.lab-desktop-heading{font-size:10px}.lab-dialog{padding:20px}.lab-explanation{padding:20px}.lab button{touch-action:manipulation}}@media(prefers-reduced-motion:reduce){.lab *{scroll-behavior:auto!important;transition:none!important}}
