body.lab{background:var(--dots),var(--ink-3);color:#fff}.lab__main{max-width:1200px;margin:0 auto;padding:40px 24px 64px;display:grid;gap:32px}.lab__kicker{margin:0;font-size:20px}.lab h1{margin:-24px 0 0;font:700 clamp(34px,5vw,52px)/1.05 var(--font-display);letter-spacing:-.03em}.lab__lead{max-width:760px;margin:-16px 0 0;font-size:18px;line-height:1.55;color:var(--mist)}.projects{display:grid;gap:32px}.lab .projects__msg{color:var(--mist)}.project{--accent: var(--teal);--bg: #121315;--fg: #F1F1EF;--soft: #A7AAB0;--faint: #74777D;--panel: #1C1E22;--rule: #2A2D32;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:32px;padding:clamp(22px,3.5vw,40px);border-radius:24px;scroll-margin-top:calc(var(--topbar-h) + 16px);background:var(--bg);color:var(--fg);box-shadow:0 8px 0 var(--accent)}.project--light{--bg: #fff;--fg: var(--ink);--soft: var(--ink-soft);--faint: var(--muted);--panel: var(--milk);--rule: var(--line)}.project--wide{grid-template-columns:1fr}.project p{margin:0}.project__body{display:flex;flex-direction:column;gap:16px;min-width:0}.project__badges{display:flex;flex-wrap:wrap;gap:8px}.project__title{display:flex;align-items:center;gap:14px;margin:0;font:700 clamp(32px,4vw,44px)/1.05 var(--font-display);letter-spacing:-.03em}.project__title img{height:40px;width:auto;max-width:96px}.project__lead{font-size:19px;line-height:1.5;max-width:720px}.project__desc{color:var(--soft);line-height:1.55;max-width:720px}.project__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.features{list-style:none;margin:4px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.features li{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;background:var(--panel);border:1px solid var(--rule);border-top:3px solid var(--accent)}.features b{font:700 15px/1.25 var(--font-display)}.features span{color:var(--soft);font-size:14px;line-height:1.5}.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.project .tags li{padding:6px 12px;border-radius:8px;background:var(--panel);border:1px solid var(--rule);font-size:13px;font-weight:600}.btn--accent{background:var(--accent);color:var(--ink)}.btn--accent:hover{color:var(--ink);filter:brightness(1.07)}.btn--ghost{background:transparent;color:var(--fg);border:2px solid var(--rule)}.btn--ghost:hover{color:var(--fg);border-color:var(--accent)}.project__side{display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:18px;background:var(--panel);border:1px solid var(--rule);align-self:start}.project__side-title{margin-top:6px!important;font-size:16px;color:var(--soft)}.progress-head{display:flex;justify-content:space-between;align-items:baseline;color:var(--soft);font-size:16px}.progress-head b{font:700 22px/1 var(--font-display);color:var(--fg)}.meter{height:12px;border-radius:6px;background:var(--rule);overflow:hidden}.meter span{display:block;height:100%;border-radius:6px;background:var(--accent)}.project__updated{font-size:13px;color:var(--faint)}.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:s}.steps li{position:relative;padding-left:34px;display:flex;flex-direction:column;gap:2px;counter-increment:s}.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:600 12px/1 var(--font-body);color:var(--faint);border:2px solid var(--rule)}.steps li.is-done:before{content:"✓";background:var(--accent);border-color:var(--accent);color:var(--ink)}.steps li.is-now:before{border-color:var(--accent);color:var(--fg);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}.steps b{font-size:15px}.steps li:not(.is-done):not(.is-now) b{color:var(--soft);font-weight:600}.steps span{font-size:13px;line-height:1.45;color:var(--faint)}.steps li.is-now span{color:var(--soft)}.lab-card{padding:28px;border-radius:24px;display:flex;flex-direction:column;gap:12px}.lab-card--empty{background:transparent;color:#fff;border:3px dashed #4A5A66;align-items:center;text-align:center;justify-content:center}.lab-card--empty a{color:var(--gold);font-weight:600}.lab-card h2{margin:0;font:700 28px/1.1 var(--font-display);letter-spacing:-.03em}.lab-card p{margin:0;line-height:1.55}.lab-card__face{font-size:36px}@media(max-width:900px){.project,.features{grid-template-columns:1fr}}
