@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#222339;--muted:#85869b;--purple:#6554ce;--purple2:#8e7ce8;--bg:#f5f5fa;--line:#e8e7f0;--panel:#fff;--good:#198f70;--bad:#d65466}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font:13px/1.62 'DM Sans',Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;letter-spacing:-.035em;line-height:1.28}a{color:inherit;text-decoration:none}.hidden{display:none!important}.lab-header{background:white;border-bottom:1px solid var(--line);height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,62px);gap:15px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;border:2px solid var(--purple);border-radius:11px;height:39px;width:39px;color:var(--purple);font:800 22px Manrope}.brand b{display:block;font:800 14px Manrope}.brand small{display:block;color:#a0a1b3;font-size:9px;font-weight:800;letter-spacing:.12em}.header-title{color:#797991;font-size:10px;font-weight:800;letter-spacing:.12em}.lab-dot{height:6px;width:6px;display:inline-block;border-radius:50%;background:#6c5ed5;vertical-align:middle;margin-right:6px}.header-divider{margin:0 8px;color:#d0cfe0}.back{font-size:12px;color:#7667bf;font-weight:800}.page-wrap{max-width:1520px;padding:34px clamp(15px,3vw,52px) 30px;margin:auto}.lab-intro{background:linear-gradient(112deg,#fff,#fcfbff);border:1px solid var(--line);border-radius:20px;padding:28px 33px;display:flex;justify-content:space-between;gap:23px;align-items:center}.eyebrow{color:#7662cd;font-size:10px;font-weight:800;letter-spacing:.15em;margin:0 0 10px}.lab-intro h1{font-size:clamp(26px,2.9vw,39px);margin:0 0 10px}.lab-intro h1 em{color:#7666ce;font-style:normal}.lab-intro p:not(.eyebrow){color:#777a93;max-width:650px;margin:0}.intro-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:19px}.intro-meta span{background:#f5f4fb;border:1px solid #e9e7f4;padding:5px 10px;border-radius:30px;font-size:10px;color:#75738b;font-weight:800}.overview-side{min-width:210px;text-align:right}.completion{background:#f6f4fe;border-radius:14px;border:1px solid #eae6fc;padding:15px 17px;text-align:left}.completion strong{font:800 28px Manrope;color:#5f51bc;display:block;line-height:1.1}.completion strong small{font-size:13px;color:#9992c6}.completion span{display:block;color:#8881a8;font-size:10px;margin:5px 0 12px}.meter{height:6px;background:#e5e2f6;border-radius:12px;overflow:hidden}.meter i{display:block;height:100%;width:0;background:#7665d7;transition:width .2s}.lab-status{display:inline-block;color:#8176a8;font-size:10px;font-weight:800;letter-spacing:.08em;margin-top:10px}.setup{margin:15px 0;display:flex;justify-content:space-between;align-items:center;background:white;border:1px solid var(--line);border-radius:13px;padding:17px 20px;gap:20px}.student{display:flex;flex:1;gap:12px}.student label{display:flex;flex-direction:column;gap:5px;flex:1;color:#76768e;font-size:10px;font-weight:800;min-width:0}.student label span{color:#ca6875}.student input{width:100%;padding:10px 11px;border:1px solid #e5e4ed;border-radius:9px;outline:none;color:var(--ink);min-width:0}.student input:focus,.finding-editor select:focus,.finding-editor textarea:focus,.report-form textarea:focus{border-color:#8c7edf}.mode-picker{border-left:1px solid var(--line);padding-left:18px;display:flex;align-items:center;gap:17px}.mode-picker strong,.mode-picker small{display:block}.mode-picker strong{font-size:11px}.mode-picker small{font-size:9px;color:#9495a7}.mode-options{display:flex;padding:4px;border-radius:10px;background:#f3f2fa;gap:3px}.mode-options button{border:0;border-radius:7px;padding:8px 10px;background:transparent;color:#8c8ca3;font-size:10px;font-weight:800}.mode-options button.active{background:white;color:#6b59c9;box-shadow:0 1px 7px #40327d13}.workspace{display:grid;grid-template-columns:minmax(220px,.86fr) minmax(0,2.45fr) minmax(210px,.85fr);gap:14px;align-items:start}.panel,.main-panel{border:1px solid var(--line);background:white;border-radius:14px;min-width:0;overflow:hidden}.panel{padding:20px}.panel-label{color:#9c9cad;font-size:9px;font-weight:800;letter-spacing:.13em;padding-bottom:14px;border-bottom:1px solid var(--line)}.panel-label span{color:var(--purple);margin-right:9px}.side-section{padding:19px 0;border-bottom:1px solid var(--line)}.side-section:last-child{border:0}.side-section h2{font-size:17px;margin:0 0 10px}.side-section h3{font-size:12px;margin:0}.side-section p{font-size:11px;color:#777991;margin:8px 0}.mission{margin-top:16px;border-radius:9px;background:#f6f4fe;padding:13px}.mission b{font-size:10px;color:#7162c8}.mission p{margin-bottom:0}.side-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.side-heading span{font-size:9px;color:#aaa5cb}.side-section details{margin:8px 0;border:1px solid #efedf5;border-radius:9px;padding:10px 11px}.side-section summary{cursor:pointer;font-weight:800;font-size:11px}.side-section details p{margin-bottom:0}.hints ul{padding-left:19px;margin:10px 0;color:#80819a;font-size:11px}.main-panel{min-height:650px}.module-head{display:flex;justify-content:space-between;align-items:center;padding:24px 25px 19px}.module-head h2{font-size:24px;margin:0}.mode-chip,.count-chip{background:#f2f0fb;color:#7765c5;border-radius:7px;padding:6px 10px;font-size:9px;font-weight:800;letter-spacing:.08em}.tabs{display:flex;overflow-x:auto;padding:0 20px;gap:7px;border-bottom:1px solid var(--line)}.tabs button{border:0;background:transparent;color:#9493a8;font-size:11px;font-weight:800;padding:13px 12px;white-space:nowrap;border-bottom:2px solid transparent}.tabs button.selected{color:#6958c9;border-bottom-color:#6958c9}.tab-content{padding:25px}.split-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:21px}.split-title h3{font-size:17px;margin:0 0 5px}.split-title p{font-size:11px;color:#9493a6;margin:0}.explorer-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.file-list{border:1px solid #ebeaf3;border-radius:11px;overflow:hidden;min-width:0}.list-title{background:#f8f7fc;padding:13px;font-size:10px;font-weight:800;display:flex;align-items:center;gap:6px;color:#686684}.list-title span{font-size:18px;color:var(--purple)}.list-title small{color:#aaa6bb;font-size:8px;margin-left:auto}.file-row{display:flex;gap:9px;align-items:center;padding:13px;border-top:1px solid #f1f0f5;cursor:pointer;background:white;transition:.15s}.file-row:hover,.file-row.selected{background:#f8f6ff}.file-row.selected{box-shadow:inset 3px 0 #7563d1}.file-symbol{flex-shrink:0;width:31px;height:35px;display:grid;place-items:center;color:#dd626d;background:#fff1f2;border-radius:8px;font-weight:900}.file-main{min-width:0;flex:1}.file-name{display:block;font-size:10px;font-weight:800;overflow-wrap:anywhere;line-height:1.4}.file-meta{color:#a2a0b5;font-size:9px}.file-state{font-size:9px;font-weight:800;border-radius:7px;background:#f4f3f9;color:#86839f;padding:3px 6px;white-space:nowrap}.file-state.ok{color:#248f6c;background:#e8f8f0}.file-state.bad{color:#c94c60;background:#ffedef}.tool-surface{background:#fafafe;border-radius:12px;border:1px solid #eeecf7;padding:21px}.keyvals{display:grid;grid-template-columns:145px 1fr;gap:15px;border-bottom:1px solid #e8e5f2;padding-bottom:22px;margin-bottom:20px}.keyvals span{color:#9494a8;font-size:11px}.keyvals strong{font-size:11px;overflow-wrap:anywhere}.primary,.secondary,.ghost{border:0;border-radius:9px;padding:11px 15px;font-size:11px;font-weight:800}.primary{background:var(--purple);color:#fff}.primary:hover{background:#5140b3}.primary span{margin-left:10px}.secondary{background:#f0eefb;color:#6254b4}.secondary:hover{background:#e9e5fb}.ghost{background:#fff;color:#8072c6;border:1px solid #e6e2f5}.hash-output{background:#1d2132;color:white;border-radius:10px;padding:20px;margin-top:18px}.output-header{display:flex;justify-content:space-between;gap:8px;color:#a0a3bc;font-size:9px;letter-spacing:.1em}.hash-output code{display:block;overflow-wrap:anywhere;color:#c5b7ff;font:12px/1.9 monospace;margin:15px 0}.inline-actions{display:flex;gap:8px}.hash-output .ghost{background:#ffffff15;color:#fff;border-color:#ffffff20}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.compare-card{background:#f9f8fd;border:1px solid #eae8f4;border-radius:12px;padding:18px;min-width:0}.compare-label{font-size:9px;font-weight:800;color:#6d5dc5;letter-spacing:.08em;margin-bottom:13px}.compare-label.downloaded{color:#ca6e80}.compare-card strong{display:block;font-size:12px;overflow-wrap:anywhere}.compare-card small{display:block;margin:8px 0;color:#a2a0b5}.compare-card code{display:block;overflow-wrap:anywhere;font:10px/1.7 monospace;color:#5a5a77;margin:12px 0}.compare-date{font-size:10px;color:#9997ac}.comparison-result{margin-top:15px;padding:15px;border-radius:10px;font-size:12px;font-weight:800}.empty-result{background:#f7f7fa;color:#9b9cab}.comparison-result.good{background:#e8f7ef;color:#258761}.comparison-result.bad{background:#fff0f1;color:#c94d60}.result-row{border:1px solid #eaeaf2;padding:13px 15px;border-radius:10px;margin-bottom:9px;display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer}.result-row.active{background:#f7f5ff;border-color:#c7bfef}.result-row strong{font-size:11px}.result-row p{font-size:10px;color:#999aae;margin:3px 0 0}.status-pill{font-size:9px;font-weight:800;background:#f1f0f6;color:#9794a6;border-radius:7px;padding:5px 7px}.status-pill.good{background:#e9f8ef;color:#258a65}.status-pill.bad{background:#fff0f2;color:#c4485b}.finding-editor{background:#fafafe;border:1px solid #ebeaf4;border-radius:11px;padding:18px;margin-top:18px}.editor-title{font-size:10px;font-weight:800;letter-spacing:.09em;color:#9d99b0;margin-bottom:14px}.editor-title span{color:#5f53af}.finding-editor label,.report-form label{display:block;font-size:11px;font-weight:800;margin-bottom:14px}.finding-editor textarea,.finding-editor select,.report-form textarea{width:100%;display:block;resize:vertical;border:1px solid #e2e0ec;border-radius:8px;padding:10px 12px;background:white;margin-top:7px;outline:none;color:var(--ink)}.editor-buttons,.report-buttons{display:flex;flex-wrap:wrap;gap:9px}.inline-info{font-size:10px;color:#9999ad;margin:10px 0 0}.report-form{background:#fafafe;border-radius:12px;border:1px solid #eeedf5;padding:21px}.report-preview{background:#fff;border:1px solid #e9e7f0;border-radius:10px;padding:19px;margin-bottom:17px;font-size:11px;display:none}.report-preview.visible{display:block}.report-preview h3{margin:0 0 8px}.report-preview p{margin:5px 0;white-space:pre-wrap}.report-preview table{width:100%;border-collapse:collapse;margin-top:14px}.report-preview td,.report-preview th{padding:7px 4px;text-align:left;border-bottom:1px solid #eee;font-size:9px}.activity{background:white;border:1px solid var(--line);border-radius:14px;margin-top:16px;padding:23px}.activity-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.activity-title h2{font-size:18px;margin:0}.activity-actions{display:flex;gap:9px;align-items:center;color:#a39fbd;font-size:10px;font-weight:800}.activity-log{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px}.event{border:1px solid #efedf5;border-radius:8px;padding:10px 12px;display:flex;gap:9px;color:#73738d;font-size:10px}.event time{color:#aaa7ba;white-space:nowrap}.right-panel h2{font-size:15px;margin:11px 0 7px;overflow-wrap:anywhere}.inspector-icon{width:43px;height:43px;background:#f0edfe;border-radius:11px;display:grid;place-items:center;color:#6957bf;font-size:22px;margin-top:18px}.inspect-help{color:#aaa6b8;font-size:11px;margin-bottom:15px}.inspector-stats{padding-top:10px;border-top:1px solid var(--line)}.inspector-row{display:flex;justify-content:space-between;gap:10px;font-size:10px;border-bottom:1px solid #f0eff4;padding:9px 0}.inspector-row span{color:#a4a1b1}.inspector-row strong{color:#696578;text-align:right;overflow-wrap:anywhere}.inspector-actions{display:grid;gap:8px;margin:15px 0}.inspector-evidence h3{font-size:12px}.evidence-mark{font-size:10px;color:#8d8a9e;margin:8px 0}.evidence-mark.done{color:#278c66}footer{font-size:9px;font-weight:800;letter-spacing:.1em;color:#a6a5b6;display:flex;justify-content:space-between;gap:12px;padding-top:23px}@media(max-width:1230px){.workspace{grid-template-columns:minmax(195px,.8fr) minmax(0,2fr)}.right-panel{grid-column:2}.setup{flex-wrap:wrap}.mode-picker{border:0;padding:0;width:100%;justify-content:space-between}}@media(max-width:820px){.workspace{grid-template-columns:1fr}.right-panel{grid-column:auto}.left-panel{order:2}.main-panel{order:1}.right-panel{order:3}.lab-intro{align-items:start}.overview-side{min-width:145px}.activity-log{grid-template-columns:1fr}}@media(max-width:610px){.lab-header{height:64px}.header-title{display:none}.page-wrap{padding:15px 12px}.lab-intro{padding:23px;flex-direction:column}.overview-side{width:100%;text-align:left}.setup{padding:15px}.student{flex-direction:column;width:100%}.mode-picker{flex-direction:column;align-items:start;gap:9px}.tab-content{padding:17px}.module-head{padding:20px}.explorer-columns,.compare-grid{grid-template-columns:1fr}.file-row{padding:11px}.keyvals{grid-template-columns:1fr;gap:7px}.tabs{padding:0 8px}.tabs button{padding:12px 9px}.activity{padding:17px}.activity-title{align-items:start;flex-direction:column}footer{flex-direction:column}}@media print{body{background:white}.lab-header,.lab-intro,.setup,.workspace,.activity,footer{display:none!important}.report-preview{display:block!important}}
