:root{--lab-green:#21a366;--lab-green-dark:#107c41;--lab-border:#dbe4ee;--lab-ink:#132033;--lab-muted:#66758a;--lab-bg:#f6f8fb;--lab-card:#fff;--lab-accent:#7257f5}
*{box-sizing:border-box}
body.excel-lab-page{margin:0;background:var(--lab-bg);color:var(--lab-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:16px;top:12px;z-index:99;background:#fff;color:#111827;padding:10px 14px;border-radius:10px;box-shadow:0 6px 24px rgba(15,23,42,.16)}
.excel-lab-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid #e6ebf2}
.excel-lab-nav{max-width:1240px;margin:auto;height:70px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.excel-lab-brand img{width:156px;display:block}.excel-lab-nav-links{display:flex;align-items:center;gap:20px}.excel-lab-nav-links a{color:#334155;text-decoration:none;font-weight:700;font-size:14px}.excel-lab-nav-links a.active{color:var(--lab-green-dark)}
.excel-lab-main{max-width:1240px;margin:0 auto;padding:42px 24px 64px}.lab-hero{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:24px}.lab-kicker{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--lab-green-dark);text-transform:uppercase}.lab-hero h1{font-size:clamp(34px,5vw,58px);line-height:1;margin:10px 0 12px;letter-spacing:-.045em}.lab-hero h1 span{color:var(--lab-green-dark)}.lab-hero p{max-width:720px;margin:0;color:var(--lab-muted);font-size:17px;line-height:1.7}.lab-progress-card{min-width:220px;background:#fff;border:1px solid var(--lab-border);border-radius:18px;padding:16px;box-shadow:0 10px 30px rgba(19,32,51,.06)}.lab-progress-top{display:flex;justify-content:space-between;gap:16px;font-size:13px;font-weight:800}.lab-progress-track{height:8px;background:#e8eef4;border-radius:999px;overflow:hidden;margin-top:10px}.lab-progress-track span{display:block;height:100%;width:0;background:var(--lab-green);border-radius:inherit;transition:width .25s ease}
.lab-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px}.lab-sidebar,.lab-workspace{background:var(--lab-card);border:1px solid var(--lab-border);border-radius:22px;box-shadow:0 14px 40px rgba(19,32,51,.06)}.lab-sidebar{padding:14px;align-self:start;position:sticky;top:88px}.lab-sidebar-head{padding:10px 10px 14px}.lab-sidebar-head strong{display:block;font-size:15px}.lab-sidebar-head span{color:var(--lab-muted);font-size:12px}.challenge-list{display:grid;gap:7px}.challenge-list-item{width:100%;border:1px solid transparent;background:#f8fafc;border-radius:12px;padding:10px;display:grid;grid-template-columns:30px 1fr 22px;align-items:center;text-align:left;gap:8px;color:#334155;cursor:pointer}.challenge-list-item span{font-size:11px;font-weight:900;color:#94a3b8}.challenge-list-item b{font-size:12px}.challenge-list-item i{font-style:normal;color:#94a3b8}.challenge-list-item:hover{border-color:#cbd5e1}.challenge-list-item.active{background:#eaf7f0;border-color:#a7ddc2;color:#0f6b3c}.challenge-list-item.complete i{color:var(--lab-green-dark);font-weight:900}
.lab-workspace{overflow:hidden}.challenge-panel{padding:20px 22px;border-bottom:1px solid var(--lab-border);display:flex;justify-content:space-between;gap:18px}.challenge-meta{display:flex;gap:8px;margin-bottom:8px}.challenge-meta span{font-size:11px;font-weight:900;border-radius:999px;padding:5px 9px;background:#eef2ff;color:#5144c7}.challenge-meta span:first-child{background:#eaf7f0;color:#0f6b3c}.challenge-panel h2{margin:0 0 7px;font-size:24px}.challenge-panel p{margin:0;color:var(--lab-muted);line-height:1.55}.challenge-nav{display:flex;gap:8px;align-items:flex-start}.lab-icon-btn{border:1px solid var(--lab-border);background:#fff;border-radius:10px;padding:8px 11px;cursor:pointer;font-weight:800}.lab-icon-btn:disabled{opacity:.4;cursor:not-allowed}
.formula-strip{display:grid;grid-template-columns:78px 42px 1fr;border-bottom:1px solid var(--lab-border);background:#fbfcfe}.name-box,.fx-box{min-height:46px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--lab-border);font-weight:800}.fx-box{font-style:italic;color:var(--lab-green-dark)}.formula-strip input{border:0;outline:0;padding:0 14px;font:600 14px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;color:#172033;min-width:0}
.sheet-wrap{padding:18px;overflow:auto;background:#f9fbfd}.sheet-grid{display:grid;grid-template-columns:44px repeat(5,minmax(115px,1fr));min-width:680px;border-top:1px solid #cad5e2;border-left:1px solid #cad5e2;background:#fff}.sheet-corner,.sheet-header,.sheet-row-header,.sheet-cell{min-height:46px;border-right:1px solid #cad5e2;border-bottom:1px solid #cad5e2}.sheet-corner,.sheet-header,.sheet-row-header{background:#f1f5f9;color:#64748b;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}.sheet-cell{appearance:none;border-top:0;border-left:0;background:#fff;text-align:left;padding:8px 10px;color:#172033;font:500 13px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;cursor:cell;overflow:hidden}.sheet-cell:hover{background:#f8fffb}.sheet-cell.selected{position:relative;outline:2px solid var(--lab-green-dark);outline-offset:-2px;z-index:2}.sheet-cell.has-error{color:#b42318;background:#fff2f0}
.lab-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px 20px;border-top:1px solid var(--lab-border)}.lab-btn{border:1px solid var(--lab-border);background:#fff;color:#253449;border-radius:11px;padding:10px 14px;font-weight:850;cursor:pointer}.lab-btn.primary{background:var(--lab-green-dark);border-color:var(--lab-green-dark);color:#fff}.lab-btn:hover{transform:translateY(-1px)}.lab-hint{margin:0 20px 16px;padding:12px 14px;background:#fff8e6;border:1px solid #f2d58b;border-radius:12px;color:#6d5312;font-size:13px}.lab-feedback{margin:0 20px 20px;padding:13px 14px;border-radius:12px;font-size:13px;font-weight:700}.lab-feedback.success{background:#eaf7f0;color:#0f6b3c;border:1px solid #a7ddc2}.lab-feedback.error{background:#fff1f0;color:#a3261a;border:1px solid #f2bab5}.lab-feedback.warning{background:#fff8e6;color:#6d5312;border:1px solid #f2d58b}
.lab-note{margin-top:18px;color:#64748b;font-size:12px;text-align:center}.lab-note a{color:var(--lab-green-dark);font-weight:800}
@media(max-width:900px){.lab-hero{align-items:flex-start;flex-direction:column}.lab-progress-card{width:100%}.lab-shell{grid-template-columns:1fr}.lab-sidebar{position:static}.challenge-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.excel-lab-nav{padding:0 16px}.excel-lab-nav-links a:not(.active){display:none}.excel-lab-main{padding:28px 14px 46px}.challenge-panel{flex-direction:column}.challenge-list{grid-template-columns:1fr}.formula-strip{grid-template-columns:64px 36px 1fr}.sheet-wrap{padding:10px}.lab-actions{padding:14px}.lab-hint,.lab-feedback{margin-left:14px;margin-right:14px}.lab-hero h1{font-size:38px}}
