/* Shared product tokens and accessible controls; room-specific visual identities remain. */
:root{--lab-accent:#ccff47;--lab-canvas:#090b10;--lab-surface:#11151d;--lab-raised:#1a202b;--lab-ink:#f4f6fa;--lab-muted:#adb7c8;--lab-line:#303a4a;--lab-radius:14px;--lab-font:Inter,system-ui,sans-serif}
.lab-skip{position:fixed;top:-100px;left:16px;z-index:10000;background:var(--lab-accent);color:#10150a;padding:12px 20px;border-radius:8px}.lab-skip:focus{top:16px}
.remix-studio-page{background:var(--lab-canvas);color:var(--lab-ink);--rs-primary:var(--lab-accent);--rs-primary-hover:#b7e640;--rs-primary-focus:var(--lab-accent);--rs-ink-subtle:var(--lab-muted);--rs-ink-tertiary:var(--lab-muted);--rs-hairline:var(--lab-line)}
.remix-studio-page .remix-main{max-width:1480px;padding:120px 32px 56px;margin:auto;width:100%}
.remix-studio-page .remix-hero{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:32px;margin-bottom:24px}
.remix-studio-page .remix-hero h1{font-size:clamp(32px,4vw,56px);line-height:1.08;max-width:720px}
.remix-studio-page .remix-hero p{font-size:16px;line-height:1.65;color:var(--lab-muted)}
.remix-studio-page .remix-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:24px;align-items:start}
.remix-studio-page .remix-side{position:static}
.remix-studio-page .remix-panel{background:var(--lab-surface);border:1px solid var(--lab-line);border-radius:var(--lab-radius);padding:24px;min-width:0;scroll-margin-top:100px}
.remix-studio-page .remix-panel h2{font-size:22px;line-height:1.3}
.remix-studio-page .remix-panel p,.remix-studio-page .remix-license-note{color:var(--lab-muted);font-size:14px;line-height:1.6}
.remix-studio-page .remix-button.primary,.remix-studio-page .remix-intensity button.is-active{background:var(--lab-accent);color:#162009}
.remix-studio-page .remix-tab.is-active,.remix-studio-page .remix-preset-grid button.is-selected{border-color:var(--lab-accent);background:#202917}
.remix-studio-page .remix-waveform span,.remix-studio-page .remix-progress span{background:var(--lab-accent)}
.remix-studio-page .remix-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.remix-studio-page .remix-metrics strong{font-size:17px;overflow-wrap:anywhere}
.remix-studio-page .remix-track-list{max-height:440px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
.remix-studio-page .remix-track{background:var(--lab-raised);border:1px solid var(--lab-line);padding:14px;gap:12px}.remix-track>div:first-child{min-width:0}.remix-track strong{overflow-wrap:anywhere}
.remix-studio-page .remix-track small{font-size:12px;color:var(--lab-muted)}
.remix-studio-page audio{width:100%;margin-top:16px;min-width:0;max-width:100%}
.remix-studio-page label,.lab-project-page label{display:grid;gap:8px;color:var(--lab-muted);font-size:14px}
.remix-studio-page input:not([type=range]):not([type=checkbox]),.remix-studio-page select,.remix-studio-page textarea,.lab-project-page input,.lab-project-page select,.lab-project-page textarea{width:100%;min-width:0;min-height:44px;background:var(--lab-canvas);border:1px solid var(--lab-line);color:var(--lab-ink);padding:10px 12px;border-radius:8px;font:inherit}
.remix-studio-page .lab-check{display:flex;align-items:start;line-height:1.5;margin:16px 0}.lab-check input{width:20px;height:20px;flex-shrink:0;accent-color:var(--lab-accent)}
.lab-project-bar{display:flex;flex-wrap:wrap;align-items:end;gap:16px}.lab-project-bar label{flex:1 1 180px}.lab-project-bar .lab-wide{flex:1 1 100%;margin:0}.lab-project-bar button,.lab-project-bar a{flex-shrink:0}
.lab-steps{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.lab-steps a{padding:12px 18px;border:1px solid var(--lab-line);border-radius:8px;font-size:14px;color:var(--lab-muted)}
.lab-corrections{margin-top:16px}.lab-corrections summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--lab-ink)}
.remix-studio-page button,.lab-project-page button,.lab-hub-button{min-height:44px}.remix-studio-page button:disabled{opacity:.45;cursor:not-allowed}
.remix-studio-page :focus-visible,.lab-project-page :focus-visible,.lab-search-dialog :focus-visible{outline:2px solid var(--lab-accent);outline-offset:4px}
.lab-hub-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--lab-raised);color:var(--lab-ink);border:1px solid var(--lab-line);border-radius:8px;font:500 13px var(--lab-font);cursor:pointer}
.lab-search-dialog{background:var(--lab-canvas);color:var(--lab-ink);border:1px solid var(--lab-line);border-radius:16px;padding:24px;width:min(640px,calc(100% - 32px));max-height:80dvh;overflow:auto;margin:auto;font:16px var(--lab-font)}
.lab-search-dialog::backdrop{background:#0009;backdrop-filter:blur(6px)}.lab-search-dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.lab-search-dialog input{width:100%;padding:14px;background:var(--lab-surface);color:var(--lab-ink);border:1px solid var(--lab-line);border-radius:8px;font:inherit}.lab-search-result{display:block;padding:14px 8px;border-bottom:1px solid var(--lab-line)}.lab-search-result small{display:block;color:var(--lab-muted);margin-top:6px}
.lab-project-page{margin:0;background:var(--lab-canvas);color:var(--lab-ink);font:16px/1.6 var(--lab-font)}.lab-project-page *{box-sizing:border-box}.lab-project-header{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid var(--lab-line)}.lab-project-header nav{display:flex;flex-wrap:wrap;gap:16px}.lab-project-page a{color:inherit;text-decoration:none}.lab-project-main{width:min(1200px,100%);padding:40px 32px 80px;margin:auto}.lab-project-main h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:12px 0}.lab-project-main p{color:var(--lab-muted)}.lab-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.lab-project-card,.lab-workspace-panel{background:var(--lab-surface);border:1px solid var(--lab-line);border-radius:var(--lab-radius);padding:24px;overflow-wrap:anywhere}.lab-project-card h2{margin-top:0}.lab-project-card a{display:inline-block;padding:10px 16px;background:var(--lab-accent);color:#182009;border-radius:8px}.lab-project-card small{color:var(--lab-muted)}.lab-project-versions{display:grid;gap:10px;margin-top:24px}.lab-version{padding:16px;background:var(--lab-raised);border-radius:8px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.lab-version p{margin:0;flex:1}.lab-version button{padding:10px 14px;border:1px solid var(--lab-line);color:var(--lab-ink);background:var(--lab-surface);border-radius:8px;cursor:pointer}
.lab-home-resume{max-width:1320px;margin:24px auto;padding:24px;display:flex;gap:20px;flex-wrap:wrap;border:1px solid var(--lab-line);border-radius:14px;background:var(--lab-surface);color:var(--lab-ink)}.lab-home-resume a{flex:1 1 220px;display:grid;gap:8px;padding:16px;border-radius:8px;background:var(--lab-raised)}.lab-home-resume small{color:var(--lab-muted)}
.lab-scene-action{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.lab-scene-action button{min-height:44px}.lab-inline-status{color:var(--lab-muted);font-size:14px;line-height:1.6}
.lab-bottom-nav{display:none}
@media(max-width:900px){.remix-studio-page .remix-workspace,.remix-studio-page .remix-hero{grid-template-columns:1fr}.remix-studio-page .remix-panel{padding:20px}.remix-studio-page .remix-main{padding:100px 20px 110px}.lab-project-grid{grid-template-columns:1fr}}
@media(max-width:600px){.remix-studio-page .remix-main{padding:96px 16px 108px}.remix-studio-page .remix-panel{padding:16px}.remix-studio-page .remix-panel-head{display:flex;flex-direction:column;align-items:stretch}.remix-studio-page .remix-filter-grid{width:100%;grid-template-columns:1fr 1fr}.remix-studio-page .remix-filter-grid label{grid-column:1/-1}.remix-studio-page .remix-preset-grid{grid-template-columns:1fr}.remix-studio-page .remix-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.remix-studio-page .remix-track{align-items:flex-start}.remix-studio-page .remix-track-actions{flex-shrink:0}.lab-steps{display:grid;grid-template-columns:1fr 1fr}.lab-steps a{text-align:center}.lab-hub-button span{display:none}.lab-project-main{padding:24px 16px 100px}.lab-project-header{padding:16px;align-items:start}.lab-project-header nav{font-size:13px;gap:12px}.lab-home-resume{margin:16px}.lab-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:90;display:flex;justify-content:space-around;padding:8px 4px max(8px,env(safe-area-inset-bottom));background:#11151df5;border-top:1px solid var(--lab-line);backdrop-filter:blur(12px)}.lab-bottom-nav a{padding:12px 8px;color:var(--lab-muted);font:500 13px var(--lab-font)}.lab-bottom-nav a[aria-current=page]{color:var(--lab-accent)}.hub-main{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){.remix-studio-page *,.lab-project-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
[hidden]{display:none!important}
.lab-master-meter{display:grid;gap:12px;margin:16px 0;padding:16px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;color:var(--ink);font-size:14px}.lab-master-meter label{display:flex;gap:8px;align-items:center}.lab-master-meter input{width:20px;height:20px}.lab-master-meter output{font-variant-numeric:tabular-nums}.lab-master-meter small{color:var(--muted)}.lab-master-meter output[data-clipping=true]{color:#df4949}

/* Persistent Remix Studio entry points. */
.context-dock .dock-remix{height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:6px;color:var(--accent-ink);background:var(--accent-soft);font-size:9.5px;font-weight:650;text-decoration:none}
.context-dock .dock-remix svg{width:19px;height:19px}.context-dock .dock-remix:hover{background:var(--bg-2)}
.vinyl-remix-shortcut{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border-radius:8px;color:var(--accent-ink);background:var(--accent-soft);font-size:12px;font-weight:650;text-decoration:none}.vinyl-remix-shortcut svg{width:18px;height:18px}.remix-nav:focus-visible,.dock-remix:focus-visible,.vinyl-remix-shortcut:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.site-header .desktop-nav{gap:clamp(12px,1.8vw,26px)}
