.labs-page .caption{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle);font-size:11px;font-weight:500}.labs-page .labs-hero{border-bottom:1px solid var(--line);padding:56px 32px 32px}.labs-page .labs-hero-inner{max-width:1100px;margin:0 auto}.labs-page .labs-hero .eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:10px;font-size:11px;display:inline-flex}.labs-page .labs-hero .eyebrow .dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.labs-page .labs-hero h1{font-family:var(--font-sans);letter-spacing:-.03em;max-width:800px;margin:14px 0 0;font-size:clamp(28px,5vw,56px);font-weight:400;line-height:.98}.labs-page .labs-hero h1 em{font-family:var(--font-display);color:var(--accent);font-style:italic;font-weight:400}.labs-page .harmonize-cta-card{color:var(--ink);background:linear-gradient(135deg,#00e5ff0a 0%,#b14bff0f 100%);border:1px solid #b14bff52;border-radius:14px;align-items:center;gap:14px;max-width:640px;margin-top:18px;padding:14px 18px;text-decoration:none;transition:border-color .2s,transform .2s;display:inline-flex}.labs-page .harmonize-cta-card:hover{border-color:#b14bff8c;transform:translateY(-1px)}.labs-page .harmonize-cta-card .ai-tag{color:#fff;width:36px;height:36px;font-family:var(--font-mono);letter-spacing:.08em;background:linear-gradient(135deg,#00e5ff,#b14bff,#ff2e8a);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.labs-page .harmonize-cta-card .card-body{flex-direction:column;gap:2px;display:flex}.labs-page .harmonize-cta-card .card-title{color:var(--ink);font-size:14px;font-weight:500}.labs-page .harmonize-cta-card .card-sub{color:var(--ink-muted);font-size:12px;line-height:1.45}.labs-page .harmonize-cta-card .card-arrow{color:var(--accent);margin-left:auto;font-size:18px}.labs-page .labs-hero p.lede{color:var(--ink-muted);max-width:60ch;margin:14px 0 0;font-size:clamp(15px,1.4vw,17px);line-height:1.6}.labs-page .channels-section{border-bottom:1px solid var(--line);padding:32px}.labs-page .channels-inner{max-width:1100px;margin:0 auto}.labs-page .channels-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.labs-page .channel{background:var(--bg-elevated);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:18px;padding:24px;transition:border-color .2s;display:flex}.labs-page .channel[data-state=recording]{border-color:#ff535259;border-color:lab(60.719% 67.9023 41.2136/.35)}.labs-page .channel-head{justify-content:space-between;align-items:center;display:flex}.labs-page .channel-head .status{color:var(--ink-subtle);font-size:11px;font-family:var(--font-mono)}.labs-page .channel[data-state=recording] .channel-head .status{color:var(--bad)}.labs-page .transport{align-items:center;gap:18px;display:flex}.labs-page .transport-btn{background:var(--accent);width:72px;height:72px;color:var(--accent-foreground);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;transition:background .2s,box-shadow .2s;display:flex}.labs-page .transport-btn:disabled{opacity:.5;cursor:not-allowed}.labs-page .channel[data-state=recording] .transport-btn{background:var(--bad);color:var(--ink);box-shadow:0 0 0 6px var(--bad-soft)}.labs-page .transport-meta{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.labs-page .transport-readout{font-family:var(--font-mono);color:var(--ink-subtle);justify-content:space-between;font-size:11px;display:flex}.labs-page .channel[data-state=recording] .transport-readout{color:var(--bad)}.labs-page .channel p{color:var(--ink-muted);margin:0;font-size:12px;line-height:1.5}.labs-page .dropzone{border:2px dashed var(--line);text-align:center;background:var(--bg-sunken);border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:24px 18px;transition:border-color .2s,background .2s;display:flex}.labs-page .dropzone[data-drag=true]{border-color:var(--accent);background:var(--accent-amber-soft,#f2ba5324)}@supports (color:lab(0% 0 0)){.labs-page .dropzone[data-drag=true]{background:var(--accent-amber-soft,lab(79.1911% 13.3651 58.6741/.14))}}.labs-page .dropzone .icon-disc{background:var(--bg-elevated-2);width:44px;height:44px;color:var(--ink-muted);border-radius:10px;justify-content:center;align-items:center;font-size:20px;display:flex}.labs-page .dropzone .label{color:var(--ink);font-size:14px;font-weight:500}.labs-page .dropzone .label button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:4px}.labs-page .dropzone .formats{color:var(--ink-subtle);font-size:11px;font-family:var(--font-mono)}.labs-page .mobile-picker{align-items:center;gap:14px;display:none}.labs-page .mobile-picker .icon-circ{background:var(--bg-elevated-2);border:1px solid var(--line-input);width:52px;height:52px;color:var(--ink);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;display:flex}.labs-page .mobile-picker .picker-stack{flex-direction:column;flex:1;gap:4px;display:flex}.labs-page .mobile-picker .picker-btn{background:var(--bg-elevated-2);border:1px solid var(--line-input);height:36px;color:var(--ink);cursor:pointer;text-align:left;border-radius:8px;padding:0 14px;font-size:13px;font-weight:500}.labs-page .mobile-picker .formats{color:var(--ink-subtle);font-size:11px;font-family:var(--font-mono)}.labs-page .channel-status{background:var(--bg-sunken);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;padding:18px 16px;display:flex}.labs-page .channel-status .status-row{color:var(--ink);align-items:center;gap:10px;font-size:13px;display:flex}.labs-page .channel-status .percent{font-family:var(--font-mono);color:var(--ink-subtle);margin-left:auto;font-size:12px}.labs-page .progress-bar{background:var(--bg-elevated-2);border-radius:999px;width:100%;height:6px;position:relative;overflow:hidden}.labs-page .progress-bar .progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .2s}.labs-page .progress-bar .progress-fill.indeterminate{animation:1.2s linear infinite labs-prog-slide;width:35%!important}@keyframes labs-prog-slide{0%{transform:translate(-100%)}to{transform:translate(285%)}}.labs-page .file-error{background:var(--bad-soft);color:var(--bad);border:1px solid #ff535240;border:1px solid lab(60.719% 67.9023 41.2136/.25);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.45}.labs-page .result-section{border-bottom:1px solid var(--line);padding:48px 32px}.labs-page .result-inner{max-width:1100px;margin:0 auto}.labs-page .result-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px;display:flex}.labs-page .result-head h2{letter-spacing:-.015em;margin:4px 0 0;font-size:clamp(22px,2.4vw,28px);font-weight:500}.labs-page .meta-pill{background:var(--bg-elevated);border:1px solid var(--line);font-size:12px;font-family:var(--font-mono);color:var(--ink-muted);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.labs-page .meta-pill b{color:var(--ink);margin-left:2px}.labs-page .result-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.labs-page .result-staff{margin-bottom:16px}.labs-page .meta-pill .bpm{color:var(--ink-subtle);margin-left:6px;font-size:11px}.labs-page .quant-row{background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:14px;padding:14px 18px;display:flex}.labs-page .quant-field{align-items:center;gap:8px;display:flex}.labs-page .quant-field label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle);font-size:11px;font-weight:500}.labs-page .quant-field input,.labs-page .quant-field select{border:1px solid var(--line-input);background:var(--bg-sunken);height:34px;color:var(--ink);font-size:13px;font-family:var(--font-sans);border-radius:8px;outline:none;padding:0 10px}.labs-page .quant-field input{width:80px}.labs-page .quant-field input:focus,.labs-page .quant-field select:focus{border-color:var(--accent)}.labs-page .quant-field .tempo-name{font-family:var(--font-display);color:var(--accent);min-width:80px;font-size:15px;font-style:italic}.labs-page .quant-note{color:var(--ink-subtle);max-width:36ch;margin-left:auto;font-size:11px;line-height:1.4}@media (max-width:900px){.labs-page .quant-row{gap:12px;padding:12px 14px}.labs-page .quant-note{max-width:none;margin-left:0}}.labs-page .title-row{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.labs-page .title-row-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle);font-size:11px;font-weight:500}.labs-page .title-row-input{border:1px solid var(--line-input);background:var(--bg-sunken);height:38px;color:var(--ink);font-size:14px;font-family:var(--font-sans);border-radius:10px;outline:none;padding:0 14px;transition:border-color .2s}.labs-page .title-row-input:focus{border-color:var(--accent)}.labs-page .controls{background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:14px 18px;display:flex}.labs-page .controls .label-prefix{color:var(--ink-muted);margin-right:6px;font-size:12px}.labs-page .controls .oct-btn{border:1px solid var(--line-input);height:32px;color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;padding:0 12px;font-size:12px;font-weight:500}.labs-page .controls .oct-btn:disabled{opacity:.45;cursor:not-allowed}.labs-page .controls .oct-value{font-family:var(--font-mono);color:var(--ink-subtle);text-align:center;min-width:70px;font-size:12px}.labs-page .controls .divider{background:var(--line);width:1px;height:22px;margin:0 6px}.labs-page .controls .save-btn{background:var(--accent);height:38px;color:var(--accent-foreground);cursor:pointer;border:0;border-radius:10px;align-items:center;gap:6px;margin-left:auto;padding:0 16px;font-size:13px;font-weight:500;display:inline-flex}.labs-page .controls .save-btn:disabled{opacity:.55;cursor:not-allowed}.labs-page details.raw-json summary{cursor:pointer;color:var(--ink-muted);padding:6px 0;font-size:12px}.labs-page details.raw-json pre{background:var(--bg-sunken);border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-muted);border-radius:10px;max-height:200px;margin:8px 0 0;padding:14px;font-size:11px;overflow:auto}.labs-page .library-section{padding:48px 32px 64px}.labs-page .library-inner{max-width:1100px;margin:0 auto}.labs-page .library-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.labs-page .library-head h2{letter-spacing:-.015em;margin:4px 0 0;font-size:clamp(22px,2.4vw,26px);font-weight:500}.labs-page .library-head .see-all{color:var(--accent);font-size:13px;font-weight:500}.labs-page .library-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.labs-page .library-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px;padding:18px;display:flex}.labs-page .lib-preview{background:var(--bg-sunken);border-radius:8px;height:60px;padding:14px 12px;position:relative;overflow:hidden}.labs-page .lib-preview .lib-lines{background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 5px, color-mix(in oklab, var(--ink) 20%, transparent) 5px, color-mix(in oklab, var(--ink) 20%, transparent) 6px);height:22px;position:absolute;top:24px;left:12px;right:12px}.labs-page .lib-preview .lib-notes{justify-content:space-between;align-items:center;display:flex;position:absolute;inset:14px 12px 14px 30px}.labs-page .lib-preview .lib-note{background-color:var(--ink);flex-shrink:0;width:5px;height:18px;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 42\"><rect x=\"8.5\" y=\"2\" width=\"1.4\" height=\"34\" fill=\"black\"/><ellipse cx=\"5\" cy=\"36\" rx=\"5\" ry=\"3.5\" transform=\"rotate(-22 5 36)\" fill=\"black\"/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 42\"><rect x=\"8.5\" y=\"2\" width=\"1.4\" height=\"34\" fill=\"black\"/><ellipse cx=\"5\" cy=\"36\" rx=\"5\" ry=\"3.5\" transform=\"rotate(-22 5 36)\" fill=\"black\"/></svg>") 50%/contain no-repeat}.labs-page .library-card h3{letter-spacing:-.005em;margin:0;font-size:14px;font-weight:500}.labs-page .library-card .meta{color:var(--ink-subtle);font-size:11px;font-family:var(--font-mono)}@media (max-width:900px){.labs-page .labs-hero{padding:32px 18px}.labs-page .channels-section{padding:20px 18px}.labs-page .channels-grid{grid-template-columns:1fr;gap:10px}.labs-page .channel{border-radius:12px;gap:12px;padding:16px}.labs-page .channel p{display:none}.labs-page .transport{gap:14px}.labs-page .transport-btn{width:52px;height:52px;font-size:18px}.labs-page .channel[data-state=recording] .transport-btn{box-shadow:0 0 0 4px var(--bad-soft)}.labs-page .dropzone{display:none}.labs-page .mobile-picker{display:flex}.labs-page .result-section,.labs-page .library-section{padding:32px 18px}.labs-page .result-head{gap:12px;margin-bottom:16px}.labs-page .controls .save-btn{width:100%;height:44px;margin-left:0}.labs-page .library-grid{grid-template-columns:1fr;gap:12px}}
