.creator-studio-shell{padding:28px 28px 120px;max-width:1600px;margin:0 auto}
.studio-shell-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;padding:24px;border:1px solid var(--border-secondary);border-radius:18px;background:linear-gradient(135deg,rgba(212,175,55,.12),rgba(120,160,201,.05))}
.studio-shell-kicker{display:block;color:var(--gold);font-size:.68rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
.studio-shell-header h1{font-family:var(--theme-font-heading);font-size:clamp(2rem,4vw,3.2rem);font-weight:500;line-height:1;margin:0 0 8px}
.studio-shell-header p{margin:0;color:var(--text-tertiary);font-size:.85rem}
.studio-shell-tabs,.studio-segmented{display:flex;border:1px solid var(--border-secondary);border-radius:10px;overflow:hidden;background:var(--bg-surface)}
.studio-shell-tab,.studio-segmented button{border:0;border-right:1px solid var(--border-secondary);background:transparent;color:var(--text-tertiary);padding:11px 16px;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer;white-space:nowrap}
.studio-shell-tab:last-child,.studio-segmented button:last-child{border-right:0}
.studio-shell-tab.active,.studio-segmented button.active{background:rgba(212,175,55,.15);color:var(--gold)}
.studio-shell-panel{animation:studioPanelIn .2s ease-out}.studio-shell-panel[hidden]{display:none!important}
@keyframes studioPanelIn{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
.live-piano-toolbar,.song-studio-toolbar,.song-transport,.live-room-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;background:var(--bg-surface);border:1px solid var(--border-secondary);border-radius:12px;margin-bottom:12px}
.studio-field{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:800;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}
.studio-field select,.studio-field input,.song-panel-title select{background:var(--bg-surface-2);border:1px solid var(--border-secondary);border-radius:7px;color:var(--text-primary);padding:8px 10px;font:inherit}
.studio-field.compact input{width:68px}
.studio-btn,.studio-link-btn,.song-panel-title button{border:1px solid var(--border-secondary);background:var(--bg-surface-2);color:var(--text-secondary);border-radius:8px;padding:9px 12px;font:inherit;font-size:.74rem;font-weight:800;cursor:pointer}
.studio-btn:hover,.studio-link-btn:hover,.song-panel-title button:hover{border-color:var(--gold);color:var(--gold)}
.studio-btn:disabled{opacity:.45;cursor:not-allowed}.studio-btn-danger{color:#d47c7c}.studio-btn-record.recording,.song-transport [data-song-record].recording{background:#b94747;color:#fff;border-color:#d86a6a;animation:studioPulse 1s infinite}
@keyframes studioPulse{50%{box-shadow:0 0 0 5px rgba(185,71,71,.14)}}
.studio-link-btn{background:transparent}
.live-room-status{font-size:.75rem;color:var(--text-tertiary);background:linear-gradient(90deg,rgba(70,214,255,.05),rgba(212,175,55,.06)),var(--bg-surface)}.live-room-status label{display:flex;align-items:center;gap:7px}.live-room-status input{width:100px}.live-room-status [data-room-status]{margin-right:auto}.room-online{color:#76e6bb}.room-offline{color:#e9a17e}.midi-status{padding:5px 9px;border:1px solid var(--border-secondary);border-radius:100px;color:var(--text-placeholder)}.midi-status.connected{border-color:rgba(84,220,185,.45);color:#76e6bb;background:rgba(84,220,185,.08)}.room-retry:not([hidden]){display:inline-flex}
.piano-stage{overflow-x:auto;overflow-y:hidden;background:#070811;border:1px solid rgba(122,163,255,.2);border-radius:20px;scrollbar-color:#78a8ff transparent;box-shadow:0 26px 70px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.05)}
.piano-performance-surface{position:relative;min-width:1456px;height:540px;overflow:hidden;background:radial-gradient(circle at 50% 120%,rgba(212,175,55,.20),transparent 38%),radial-gradient(circle at 18% 25%,rgba(77,138,255,.18),transparent 32%),linear-gradient(180deg,#0b1023 0%,#080913 65%,#030407 100%)}
.piano-performance-surface::before{content:"";position:absolute;inset:0 0 218px;background-image:linear-gradient(rgba(130,168,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(130,168,255,.04) 1px,transparent 1px);background-size:100% 56px,28px 100%;perspective:500px;mask-image:linear-gradient(to bottom,transparent,black 24%,black)}
.piano-performance-surface::after{content:"";position:absolute;left:0;right:0;bottom:210px;height:2px;background:linear-gradient(90deg,transparent,#6bdcff 18%,#ffe08a 50%,#6bdcff 82%,transparent);box-shadow:0 0 18px #63cfff,0 0 45px rgba(212,175,55,.65)}
.piano-visual-hud{position:absolute;z-index:4;top:17px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;text-transform:uppercase;letter-spacing:2px;font-size:.58rem;font-weight:900;color:rgba(218,232,255,.65)}.piano-visual-hud strong{color:#ffe08a;font-size:.62rem}
.piano-visualizer{position:absolute;z-index:2;inset:0 0 210px;width:100%;height:330px;pointer-events:none}
.piano-keyboard{position:absolute;z-index:5;left:0;right:0;bottom:0;height:220px;min-width:1456px;user-select:none;touch-action:none;background:linear-gradient(180deg,#161827,#06070c 10px)}
.piano-key{position:absolute;top:8px;border:1px solid #343238;cursor:pointer;transition:background .04s,transform .04s,box-shadow .08s;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.piano-key.white{z-index:1;width:28px;height:202px;background:linear-gradient(90deg,#d9dce5,#fff 15%,#eef0f5 82%,#b8bdc9);border-radius:0 0 7px 7px;box-shadow:inset 0 -8px 10px rgba(0,0,0,.12)}
.piano-key.black{z-index:2;width:18px;height:128px;background:linear-gradient(90deg,#050609,#222735 45%,#050609);border-radius:0 0 5px 5px;box-shadow:0 6px 8px rgba(0,0,0,.65)}
.piano-key.active.white{background:linear-gradient(180deg,#fff7c7,#ffd45d);transform:translateY(3px);box-shadow:0 0 24px rgba(255,209,78,.75),inset 0 -8px 10px rgba(175,112,0,.18)}
.piano-key.active.black{background:linear-gradient(180deg,#8ee9ff,#2674cc);transform:translateY(3px);box-shadow:0 0 24px rgba(82,200,255,.85)}
.piano-key .key-label{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);min-width:17px;text-align:center;font:900 .56rem/1 var(--font-ui);color:#5d6371;pointer-events:none;border:1px solid rgba(38,45,61,.16);border-radius:4px;padding:3px 2px;background:rgba(255,255,255,.45)}.piano-key.black .key-label{bottom:8px;color:#bdeeff;background:rgba(24,35,52,.85);border-color:rgba(121,215,255,.25)}
.piano-key .note-label{position:absolute;bottom:37px;width:100%;text-align:center;font-size:.45rem;color:#9398a4;pointer-events:none}.piano-key.black .note-label{display:none}
.piano-hint{text-align:center;color:var(--text-placeholder);font-size:.68rem;margin:10px 0 24px}.piano-hint strong{color:#8fdcff}
.studio-chat-mirror{margin-top:18px}.studio-chat-mirror .chat-messages{height:260px}
.instrument-locked{color:var(--text-placeholder)}
.song-studio-spacer{flex:1}.song-save-state,.song-position{font-size:.72rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.studio-check{display:flex;gap:5px;align-items:center;font-size:.72rem;color:var(--text-tertiary)}
.studio-transport-play{background:var(--gold);color:#16130d;border-color:var(--gold)}
.song-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:12px;min-height:700px}
.song-track-panel,.arranger-panel,.piano-roll-panel{background:var(--bg-surface);border:1px solid var(--border-secondary);border-radius:12px;overflow:hidden}
.song-track-panel{padding:10px}.song-panel-title{min-height:42px;display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--border-secondary);color:var(--text-tertiary);font-size:.7rem}.song-panel-title strong{color:var(--text-primary);font-size:.8rem;margin-right:auto}.song-panel-title label{display:flex;align-items:center;gap:5px}
.song-track{border:1px solid transparent;border-radius:9px;padding:9px;margin-bottom:7px;background:var(--bg-surface-2);cursor:pointer}.song-track.selected{border-color:var(--gold);background:rgba(212,175,55,.08)}.song-track-head{display:flex;align-items:center;gap:6px}.song-track-name{font-size:.78rem;font-weight:800;flex:1}.song-track button{width:25px;height:25px;padding:0;border:1px solid var(--border-secondary);border-radius:5px;background:transparent;color:var(--text-tertiary);cursor:pointer}.song-track button.active{color:var(--gold);border-color:var(--gold)}.song-track select,.song-track input{width:100%;margin-top:7px;background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-secondary);border-radius:5px;padding:5px;font-size:.67rem}
.song-editors{min-width:0;display:grid;grid-template-rows:310px minmax(400px,1fr);gap:12px}
.arranger-grid{position:relative;height:266px;overflow:auto;background-color:var(--bg-surface-2);background-image:linear-gradient(to right,rgba(255,255,255,.075) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.055) 1px,transparent 1px);background-size:120px 100%,100% 48px;min-width:1920px}
.arranger-bar-label{position:absolute;top:4px;color:var(--text-placeholder);font-size:.58rem;pointer-events:none}.arranger-clip{position:absolute;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:6px;background:linear-gradient(135deg,rgba(120,160,201,.8),rgba(120,160,201,.48));color:#fff;padding:5px 8px;box-sizing:border-box;font-size:.65rem;font-weight:800;cursor:grab;overflow:hidden}.arranger-clip.selected{outline:2px solid var(--gold);z-index:4}
.piano-roll-grid{position:relative;height:calc(100% - 42px);min-height:355px;overflow:auto;background-color:#111116;background-image:linear-gradient(to right,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.045) 1px,transparent 1px);background-size:60px 100%,100% 14px;min-width:1920px}
.roll-row-label{position:absolute;left:0;width:35px;height:14px;background:#222229;border-right:1px solid #41404a;color:#aaa;font-size:.5rem;z-index:3;pointer-events:none}.roll-note{position:absolute;height:12px;min-width:8px;border-radius:3px;background:#c79d36;border:1px solid #efd77d;box-sizing:border-box;cursor:grab}.roll-note.selected{background:#efc75c;outline:1px solid #fff}.roll-note::after{content:'';position:absolute;right:-2px;top:0;width:5px;height:100%;cursor:ew-resize}
.studio-toast{position:fixed;right:24px;bottom:100px;z-index:10000;background:#17171b;border:1px solid var(--gold);color:#fff;padding:12px 16px;border-radius:9px;font-size:.76rem;box-shadow:0 14px 40px rgba(0,0,0,.35)}

/* ═══════════════════════════════════════════════════════════════
   LIVE STAGE V2 — black-lacquer luxury restyle (overrides the above)
   Ivory · champagne gold · crystal refractions · jewel performers.
   Replaces the cyberpunk blue + flat utility bars per the ticket.
   ═══════════════════════════════════════════════════════════════ */
.live-piano-toolbar,.live-room-status{background:linear-gradient(180deg,rgba(22,20,26,.74),rgba(12,11,15,.74));border:1px solid rgba(212,175,55,.18);border-radius:16px;-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15);box-shadow:0 18px 44px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.05)}
[data-theme="light"] .live-piano-toolbar,[data-theme="light"] .live-room-status{background:linear-gradient(180deg,rgba(255,253,248,.9),rgba(250,246,238,.9));border-color:rgba(184,144,42,.24);box-shadow:0 14px 34px rgba(20,18,16,.12)}
.live-room-status{font-size:.78rem;gap:14px}
.studio-shell-panel[data-studio-panel="live"] .studio-btn,.studio-shell-panel[data-studio-panel="live"] .studio-link-btn{border-color:rgba(212,175,55,.22);background:rgba(255,255,255,.03);border-radius:10px}
.studio-shell-panel[data-studio-panel="live"] .studio-btn:hover,.studio-shell-panel[data-studio-panel="live"] .studio-link-btn:hover{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,.08)}
.studio-shell-panel[data-studio-panel="live"] .studio-segmented{border-color:rgba(212,175,55,.24);border-radius:12px}
.studio-shell-panel[data-studio-panel="live"] .studio-segmented button.active{background:linear-gradient(180deg,rgba(212,175,55,.3),rgba(212,175,55,.12));color:var(--gold)}
.live-room-status input[type="range"]{accent-color:var(--gold)}
.piano-stage{background:#05050a;border:1px solid rgba(212,175,55,.16);border-radius:24px;scrollbar-color:rgba(212,175,55,.4) transparent;box-shadow:0 34px 96px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.06),inset 0 0 90px rgba(212,175,55,.04)}
.piano-stage::-webkit-scrollbar{height:9px}.piano-stage::-webkit-scrollbar-thumb{background:rgba(212,175,55,.35);border-radius:9px}
.piano-performance-surface{background:radial-gradient(130% 84% at 50% 124%,rgba(212,175,55,.2),transparent 44%),radial-gradient(56% 46% at 15% 16%,rgba(255,236,200,.07),transparent 60%),radial-gradient(56% 46% at 85% 14%,rgba(201,155,176,.06),transparent 60%),linear-gradient(180deg,#0a090f 0%,#07060b 60%,#030205 100%)}
.piano-performance-surface::before{background-image:linear-gradient(rgba(212,175,55,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,55,.03) 1px,transparent 1px)}
.piano-performance-surface::after{background:linear-gradient(90deg,transparent,rgba(255,236,200,.22) 18%,#ffe6b0 50%,rgba(255,236,200,.22) 82%,transparent);box-shadow:0 0 16px rgba(255,221,150,.55),0 0 48px rgba(212,175,55,.5)}
.piano-visual-hud{color:rgba(245,238,224,.6)}.piano-visual-hud strong{color:#ffe6b0}
.piano-key.active.black{background:linear-gradient(180deg,#ffeec4,#e8c269);box-shadow:0 0 24px rgba(255,209,120,.82)}
.piano-key .key-label{color:#6a5a3a;border-color:rgba(150,120,50,.18);background:rgba(255,250,238,.5)}
.piano-key.black .key-label{color:#f0dcb0;background:rgba(40,32,18,.82);border-color:rgba(212,175,55,.3)}
.piano-key .note-label{color:#9a9486}
.piano-hint strong{color:var(--gold)}
.stage-butterfly{position:absolute;z-index:1;top:30%;opacity:.13;color:rgba(255,228,170,.9);pointer-events:none;will-change:transform;animation:stageFlit 28s ease-in-out infinite}
.stage-butterfly svg{width:20px;height:20px;display:block}
.stage-butterfly.b2{top:55%;animation-duration:36s;animation-delay:-14s;opacity:.09}
@keyframes stageFlit{0%{transform:translate(6vw,10px) rotate(-4deg)}25%{transform:translate(30vw,-22px) rotate(5deg)}50%{transform:translate(58vw,8px) rotate(-3deg)}75%{transform:translate(82vw,-18px) rotate(6deg)}100%{transform:translate(6vw,10px) rotate(-4deg)}}
@media (prefers-reduced-motion:reduce){.stage-butterfly{animation:none;opacity:.07}}
.piano-keyboard .key-label,.piano-keyboard .note-label{display:none}
.piano-keyboard.labels-keys .key-label,.piano-keyboard.labels-both .key-label{display:block}
.piano-keyboard.labels-notes .note-label,.piano-keyboard.labels-both .note-label{display:block}
.piano-keyboard.labels-notes .piano-key.black .note-label,.piano-keyboard.labels-both .piano-key.black .note-label{display:block;bottom:14px;font-size:.4rem;color:#f0dcb0}
@media(max-width:900px){.creator-studio-shell{padding:16px 12px 100px}.studio-shell-header{align-items:stretch;flex-direction:column}.studio-shell-tabs{width:100%}.studio-shell-tab{flex:1;padding:10px 8px}.song-workspace{grid-template-columns:1fr}.song-track-panel{max-height:250px;overflow:auto}.song-editors{grid-template-rows:280px 430px}.piano-performance-surface{height:450px}.piano-visualizer{bottom:170px;height:280px}.piano-performance-surface::after{bottom:164px}.piano-keyboard{height:175px}.piano-key.white{height:165px}.piano-key.black{height:102px}.studio-chat-mirror .chat-messages{height:220px}}
