.dj-keyboard-help{background:#111820;color:#e8edf4;border:1px solid #536070;border-radius:16px;width:min(1000px,92vw);max-height:88dvh;padding:0;box-shadow:0 25px 100px #000b;z-index:1000}.dj-keyboard-help::backdrop{background:#03060bc9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dj-keyboard-help-inner{padding:22px}.dj-keyboard-help header{display:flex;align-items:center;justify-content:space-between;gap:20px}.dj-keyboard-help header h2{margin:0}.dj-keyboard-help p{color:#b9c6d4;font-size:13px;line-height:1.6}.dj-keyboard-help button{border:1px solid #677587;background:#243140;color:#fff;padding:8px 14px;border-radius:8px;cursor:pointer}.dj-keyboard-help kbd{font:12px ui-monospace,monospace;border:1px solid #556477;border-bottom-width:3px;padding:3px 7px;border-radius:5px;background:#263343;white-space:nowrap}.dj-keyboard-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dj-keyboard-groups h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#74d8e8}.dj-keyboard-groups dl{margin:0}.dj-keyboard-groups dl>div{display:grid;grid-template-columns:102px 1fr;align-items:start;gap:8px;margin:10px 0}.dj-keyboard-groups dd{font-size:12px;line-height:1.5;margin:0}.dj-keyboard-groups small{color:#92a6b8}@media (max-width:820px){.dj-keyboard-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:540px){.dj-keyboard-groups{grid-template-columns:1fr}}.compact-dj-board{--cdb-text: #e2eaf5;--cdb-muted: #8c9cb2;--cdb-line: #293344;color:var(--cdb-text);background:linear-gradient(145deg,#1d2532,#111722 65%);border:1px solid #354052;border-radius:14px;padding:9px;box-shadow:0 10px 32px #0005,inset 0 1px #ffffff0a;min-width:0;font:11px/1.25 Inter,system-ui,sans-serif}.compact-dj-board *,.compact-dj-board *:before,.compact-dj-board *:after{box-sizing:border-box}.compact-dj-board button{font:inherit;cursor:pointer;color:inherit;border:1px solid var(--cdb-line);background:#212a39;border-radius:5px;padding:3px 6px;min-height:0;transition:border-color .15s,background .15s}.compact-dj-board button:hover:not(:disabled){background:#2a3649;border-color:#70849f}.compact-dj-board button:disabled,.compact-dj-board [aria-disabled=true]{opacity:.42;cursor:not-allowed}.compact-dj-board :is(button,input,select,[tabindex]):focus-visible{outline:2px solid #f4d484;outline-offset:3px}.compact-dj-board kbd{font:8px/1.2 ui-monospace,monospace;color:#9eadc3;border:1px solid #ffffff13;background:#080c1355;border-radius:3px;padding:1px 3px;white-space:nowrap}.cdb-board-top{height:20px;display:flex;align-items:center;gap:12px;margin-bottom:5px}.cdb-board-top>span:first-child{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:800;letter-spacing:1.8px;color:#a6b5c9}.cdb-board-top>span:first-child i{width:5px;height:5px;border-radius:50%;background:#8de5bc;box-shadow:0 0 7px #8de5bc55}.cdb-board-top .cdb-selected{margin-left:auto;color:#a8b7cb;font-size:9px;letter-spacing:.5px}.cdb-board-top .cdb-shortcuts{background:transparent;font-size:10px;padding:2px 6px}.compact-dj-board .deck-alignment-compact{padding:5px 6px;margin:0 0 7px;background:#080e18;border-color:#2a3444;border-radius:7px}.compact-dj-board .deck-alignment-compact>:is(.alignment-heading,.alignment-actions,.alignment-action-help,.alignment-row-controls,.alignment-phase-status,.deck-alignment-legend,.deck-visual-hint,.alignment-result){display:none}.alignment-compact-head{display:flex;align-items:center;gap:12px;height:16px;margin-bottom:3px;overflow:hidden;white-space:nowrap}.compact-dj-board .alignment-compact-head strong{font-size:8px;color:#c8d4e6;letter-spacing:1.3px}.alignment-compact-head span{flex:1;font-size:9px;color:#93a5bc;text-overflow:ellipsis;overflow:hidden}.alignment-compact-head small{color:#bccbe0;font-size:9px}.compact-dj-board .deck-alignment-compact .alignment-waveform-stack{height:66px;border-radius:4px}.compact-dj-board .deck-alignment-compact .alignment-drag-lane{height:33px}.compact-dj-board .deck-alignment-compact .alignment-drag-b{top:33px}.compact-dj-board .deck-alignment-compact .deck-visual-error{margin:4px 0 0;font-size:10px}.cdb-controller{display:grid;grid-template-columns:minmax(0,1fr) 242px minmax(0,1fr);align-items:stretch;gap:7px}.cdb-deck{min-width:0;display:grid;grid-template-rows:29px 43px 93px 33px 25px 15px 28px;gap:4px;padding:8px;border:1px solid #2c374a;border-top:2px solid color-mix(in srgb,var(--deck-accent) 55%,#1d2737);border-radius:8px;background:linear-gradient(150deg,#202a3a,#141d2b);box-shadow:inset 0 1px #ffffff04}.cdb-deck.selected{border-color:color-mix(in srgb,var(--deck-accent) 45%,#28364a);box-shadow:inset 0 0 25px color-mix(in srgb,var(--deck-accent) 4%,transparent)}.cdb-deck-head{display:flex;align-items:center;min-width:0;gap:5px}.compact-dj-board .cdb-deck-badge{height:27px;min-width:29px;padding:2px 5px;color:var(--deck-accent);border-color:color-mix(in srgb,var(--deck-accent) 40%,#263044);background:#101b29;font-size:15px;font-weight:800;display:flex;gap:3px;align-items:center}.cdb-deck-badge small{font:8px ui-monospace,monospace;opacity:.65}.cdb-track-name{flex:1;min-width:0}.cdb-track-name strong{display:block;font-size:11px;font-weight:650;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cdb-track-name>span{display:block;color:#8798b0;font-size:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:2px}.compact-dj-board .cdb-master-button{font-size:7px;font-weight:750;padding:3px 4px;background:transparent;color:#7c8da5;letter-spacing:.5px}.compact-dj-board .cdb-master-button.active{color:#f6cf76;background:#40331f;border-color:#796137}.compact-dj-board .cdb-settings{color:#a1b0c6;background:transparent;border-color:transparent;font-size:17px;padding:1px 3px}.cdb-timeline{min-width:0;background:#090f19;border:1px solid #2b384b;border-radius:4px;padding:2px 3px}.cdb-timeline canvas{width:100%;height:28px;display:block;cursor:crosshair;border-radius:2px}.cdb-timeline-caption{display:flex;align-items:center;justify-content:space-between;gap:3px;color:#8397b2;font:8px/1.1 ui-monospace,monospace;margin-top:2px}.cdb-timeline-caption>span:nth-child(2){font:7px/1.1 system-ui,sans-serif;color:#61778f}.cdb-performance{display:flex;align-items:center;justify-content:center;gap:20px;min-width:0}.cdb-jog-area{display:flex;flex-direction:column;align-items:center;gap:3px}.cdb-jog{position:relative;width:80px;height:80px;border-radius:50%;border:3px solid #3d4b60;outline:1px solid #080e17;background:radial-gradient(circle,#1b2635 0,#1b2635 40%,#0c1420 41%,#0c1420 58%,#283446 60%,#283446 61%,#101925 63%);box-shadow:0 3px 6px #0008,inset 0 1px 3px #fff2;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.cdb-jog:active{cursor:grabbing}.cdb-jog.running{border-color:color-mix(in srgb,var(--deck-accent) 70%,#2d394b);box-shadow:0 0 12px color-mix(in srgb,var(--deck-accent) 12%,transparent),0 3px 6px #0008}.cdb-platter-grooves{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:repeating-conic-gradient(#67758733 0deg 1deg,transparent 1deg 8deg);transform:rotate(var(--jog-angle,0deg))}.cdb-platter-grooves:after{content:"";position:absolute;top:2px;left:calc(50% - 1px);width:2px;height:8px;border-radius:2px;background:var(--deck-accent)}.cdb-jog-display{position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:50%;background:linear-gradient(#172536,#0b1420);border:1px solid #35465c;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--deck-accent)}.cdb-jog-display strong{font:700 15px/1.05 ui-monospace,monospace}.cdb-jog-display>span{font-size:6px;letter-spacing:1px;margin-top:2px;color:#a5b5ca}.cdb-beat-dots{display:flex;gap:3px;margin-top:5px}.cdb-beat-dots i{width:4px;height:4px;border-radius:50%;background:#394c62}.cdb-beat-dots i.active{background:var(--deck-accent);box-shadow:0 0 5px var(--deck-accent)}.cdb-jog-hint{height:9px;font-size:7px;color:#8495ad}.cdb-jog-hint kbd{font-size:7px;padding:0 3px}.cdb-deck-readouts{min-width:95px;max-width:135px;flex:0 1 135px;display:flex;flex-direction:column;align-items:stretch;gap:5px}.cdb-key-label{display:grid;grid-template-columns:1fr auto;gap:2px 9px;align-items:center;padding:5px 7px;background:#0b1420;border-radius:4px;border:1px solid #2b384c}.cdb-key-label>span{font-size:7px;color:#8b9ab0;letter-spacing:.6px}.cdb-key-label strong{color:#d7e2f2;font:600 13px/1.1 ui-monospace,monospace;grid-column:2;grid-row:1 / 3}.cdb-key-label small{font-size:7px;color:#5e748f}.compact-dj-board .cdb-keylock{font-size:8px;font-weight:750;height:24px;padding:3px 5px;display:flex;align-items:center;justify-content:space-between;color:#9eafc5}.compact-dj-board .cdb-keylock.active{color:#b9d6c9;border-color:#467563;background:#1e382f}.compact-dj-board .cdb-small-link{padding:0;border:none;background:none;font-size:8px;color:#8ca0ba;height:10px;text-align:left}.cdb-transport{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:5px}.compact-dj-board .cdb-transport button{display:flex;align-items:center;justify-content:center;gap:5px;padding:4px;font-size:10px;font-weight:750;box-shadow:inset 0 1px #ffffff0c,0 2px #070c1480}.compact-dj-board .cdb-transport .cdb-play{border-color:color-mix(in srgb,var(--deck-accent) 70%,#273446);color:var(--deck-accent);background:color-mix(in srgb,var(--deck-accent) 13%,#0a1520)}.compact-dj-board .cdb-transport .cdb-play.active{background:color-mix(in srgb,var(--deck-accent) 25%,#0a1520);box-shadow:inset 0 0 10px #ffffff06,0 0 8px color-mix(in srgb,var(--deck-accent) 10%,transparent)}.compact-dj-board .cdb-transport .cdb-cue{color:#e7c583;border-color:#675738;background:#312b23}.compact-dj-board .cdb-transport .cdb-sync{color:#afc6e6}.cdb-tempo{display:flex;align-items:center;gap:7px;min-width:0}.cdb-tempo label{font-size:7px;color:#94a6bd;white-space:nowrap}.cdb-tempo output{width:39px;text-align:right;color:var(--deck-accent);font:9px ui-monospace,monospace}.compact-dj-board input[type=range]{accent-color:var(--deck-accent,#b8cae7);padding:0;margin:0;min-width:0;box-shadow:none;border:none;border-radius:0;background:transparent;cursor:pointer}.cdb-tempo input[type=range]{flex:1;width:50px;height:17px}.cdb-stem-heading{display:flex;align-items:center;justify-content:space-between;gap:4px}.cdb-stem-heading>span{font-size:7px;letter-spacing:1px;color:#8094af;font-weight:700}.compact-dj-board .cdb-stem-heading button{padding:0;background:none;border:none;font-size:8px;color:var(--deck-accent)}.cdb-stem-pads{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.compact-dj-board .cdb-stem-pads button{border-color:#35445b;background:linear-gradient(#26354a,#1c283b);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px;border-radius:4px}.cdb-stem-pads button>span{font-size:7px;font-weight:750;letter-spacing:.5px}.cdb-stem-pads kbd{font-size:6px;border:none;padding:0;background:none;color:#6e87a6}.compact-dj-board .cdb-stem-pads button.active{background:color-mix(in srgb,var(--deck-accent) 20%,#182539);border-color:var(--deck-accent);color:var(--deck-accent)}.cdb-inline-error{grid-column:1;margin:2px 0;font-size:9px;color:#ffadb8}.cdb-mixer{display:flex;flex-direction:column;min-width:0;background:linear-gradient(90deg,#121a26,#192332 50%,#121a26);border:1px solid #2c384b;border-radius:8px;padding:7px 8px}.cdb-mixer-title{height:16px;display:flex;justify-content:space-between;color:#a9b7ca;font-size:8px;letter-spacing:1.4px;font-weight:750}.cdb-mixer-title>span{font-size:7px;color:#627991;letter-spacing:0;font-weight:400}.cdb-channels{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1}.cdb-channel{min-width:0;display:flex;flex-direction:column;align-items:stretch}.cdb-channel+.cdb-channel{border-left:1px solid #263449;padding-left:10px;margin-left:-4px}.cdb-channel-name{text-align:center;height:13px;color:var(--deck-accent);font-size:9px}.cdb-eq-row{display:flex;justify-content:space-between;gap:2px}.cdb-rotary-group{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:27px}.cdb-control-label{font-size:7px;color:#9aacbf;letter-spacing:.5px}.cdb-rotary{position:relative;width:27px;height:27px;border-radius:50%;border:1px solid #050a13;background:conic-gradient(from 225deg,var(--deck-accent) 0deg,#556579 267deg,transparent 270deg);padding:2px;cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 2px 3px #0008}.cdb-knob-face{width:100%;height:100%;position:relative;display:block;border-radius:50%;background:linear-gradient(145deg,#425069,#1a2638 70%);border:1px solid #5a6b84;box-shadow:inset 0 1px #ffffff26}.cdb-knob-face i{position:absolute;width:2px;height:7px;border-radius:2px;top:1px;left:calc(50% - 1px);background:#edf5ff;box-shadow:0 0 2px #c4e7ff55}.cdb-knob-value{font:8px/1 ui-monospace,monospace;color:#b9c8dc;height:9px}.cdb-rotary-group kbd{font-size:6px;padding:0 2px;line-height:1.1}.cdb-channel-bottom{display:flex;align-items:center;justify-content:space-around;gap:9px;min-height:108px;flex:1;padding-top:5px}.cdb-channel-bottom .cdb-rotary{width:33px;height:33px}.cdb-channel-bottom .cdb-control-label{font-size:7px}.cdb-fader-group{display:flex;flex-direction:column;align-items:center;gap:2px}.cdb-fader-group label{font-size:7px;color:#94a6bd;display:flex;align-items:center;gap:3px}.cdb-fader-group label kbd{font-size:6px;padding:0 2px}.compact-dj-board .cdb-channel-fader{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;writing-mode:vertical-lr;direction:rtl;width:24px;height:86px}.cdb-fader-group>span{color:#9fb2cc;font:8px/1 ui-monospace,monospace}.compact-dj-board .cdb-scope-open{border:none;border-radius:3px;padding:0;margin-top:4px;background:#0a111c;min-height:31px;overflow:hidden}.cdb-signal{display:block;width:100%;height:23px}.cdb-scope-open>span{display:block;color:#7089a6;font-size:6px;letter-spacing:.8px;padding:1px 0}.cdb-crossfader{border-top:1px solid #263449;padding-top:5px;margin-top:4px}.cdb-crossfader>label{display:flex;justify-content:center;gap:8px;font-size:7px;letter-spacing:1px;color:#8c9fb8}.compact-dj-board .cdb-crossfader input{display:block;width:100%;height:18px;accent-color:#c5d3e6}.cdb-crossfader>div{display:flex;justify-content:space-between}.compact-dj-board .cdb-crossfader button{padding:0 3px;background:transparent;border:none;font-size:7px;color:#8ea4c1}.compact-dj-board .cdb-crossfader button:first-child{color:#39d0ff}.compact-dj-board .cdb-crossfader button:last-child{color:#ff659b}.cdb-record-bar{display:flex;align-items:center;gap:7px;height:29px;margin-top:7px}.cdb-record-bar button{font-size:8px;height:27px}.compact-dj-board .cdb-record{display:flex;align-items:center;gap:6px;font-weight:700;padding:4px 9px;background:#2d2530;border-color:#614052}.cdb-record i{width:7px;height:7px;border-radius:50%;background:#f26680}.compact-dj-board .cdb-record.active{background:#532736;border-color:#d06582;color:#ffdce5}.cdb-record.active i{background:#ff95ae;box-shadow:0 0 7px #ff4d8866}.cdb-record-time{font:10px ui-monospace,monospace;color:#a4b3c8;min-width:35px}.compact-dj-board .cdb-review{background:transparent;color:#92a6c0;border-color:transparent}.compact-dj-board .cdb-play-together{margin-left:auto;color:#b4cbe7}.compact-dj-board .cdb-stop-all{border-color:#694450;background:#342630;color:#e4a9b7;font-weight:750}.cdb-board-notice{font-size:10px;margin:5px 0 0;color:#ffb6c5}.cdb-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px;background:#030711cc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cdb-dialog-backdrop[hidden]{display:none!important}.cdb-dialog{width:min(690px,100%);max-height:min(720px,85vh);overflow:auto;background:#141d2c;border:1px solid #3b4b65;border-radius:14px;padding:20px;box-shadow:0 28px 100px #0009;color:#dce7f6;font-size:12px}.cdb-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.cdb-dialog>header h2{margin:0;font-size:18px;font-weight:650}.compact-dj-board .cdb-dialog>header button{width:30px;height:30px;padding:0;font-size:23px;line-height:1}.cdb-dialog-tabs{display:flex;gap:5px;border-bottom:1px solid #2b3a50;padding-bottom:10px;margin-bottom:15px}.compact-dj-board .cdb-dialog-tabs button{padding:7px 12px;font-size:11px}.compact-dj-board .cdb-dialog-tabs button.active{color:#96dfff;background:#203c51;border-color:#417c9c}.cdb-dialog-content{display:flex;flex-direction:column;gap:15px;color:#aebdd1;line-height:1.5}.cdb-dialog-content h3{font-size:14px;color:#e5edf8;margin:0}.cdb-dialog-content p{margin:0}.cdb-dialog-content>label{display:flex;flex-direction:column;gap:6px}.cdb-dialog select,.cdb-dialog input[type=file]{color:#d0dcec;background:#0b1420;border:1px solid #3b4c65;padding:9px;border-radius:6px;font:inherit}.compact-dj-board .cdb-dialog-button{padding:10px 15px;background:#263b52;border-color:#4a688b;color:#d5e6fc;align-self:flex-start}.cdb-stem-sliders{display:grid;gap:14px}.cdb-stem-sliders label{display:flex;align-items:center;gap:20px;text-transform:capitalize}.cdb-stem-sliders input{flex:1}.cdb-dialog .deck-visuals{font-size:12px}.cdb-dialog .deck-live-scope{margin-top:5px}.cdb-review-dialog .recorder-panel{margin:0}@media (min-height: 860px) and (min-width: 1150px){.compact-dj-board{padding:12px}.cdb-deck{grid-template-rows:32px 47px 112px 37px 27px 18px 33px;gap:5px;padding:11px}.cdb-jog{width:97px;height:97px}.cdb-jog-display{top:17px;right:17px;bottom:17px;left:17px}.cdb-jog-display strong{font-size:18px}.cdb-channel-bottom{min-height:133px}.compact-dj-board .cdb-channel-fader{height:107px}.cdb-rotary{width:31px;height:31px}.cdb-channel-bottom .cdb-rotary{width:38px;height:38px}.cdb-signal{height:28px}}@media (max-width: 960px){.cdb-controller{grid-template-columns:minmax(0,1fr) 220px minmax(0,1fr);gap:5px}.cdb-deck{padding:6px}.cdb-performance{gap:8px}.cdb-deck-readouts{flex-basis:102px}.cdb-master-button{max-width:42px;overflow:hidden}.cdb-mixer{padding:7px 6px}.cdb-channels{gap:8px}.cdb-channel+.cdb-channel{padding-left:6px}.cdb-transport kbd{display:none}}@media (max-width: 760px){.cdb-board-top .cdb-selected{display:none}.cdb-shortcuts{margin-left:auto}.alignment-compact-head strong{display:none}.alignment-compact-head small{font-size:8px}.cdb-controller{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cdb-mixer{grid-column:1 / -1;grid-row:2}.cdb-channels{max-width:350px;width:100%;margin:auto}.cdb-channel-bottom{min-height:110px}.cdb-record-bar{flex-wrap:wrap;height:auto}.cdb-record-bar .cdb-review{margin-right:auto}.cdb-record-bar .cdb-play-together{margin-left:0}}@media (prefers-reduced-motion: reduce){.compact-dj-board button{transition:none}}.app.app-performance{height:100dvh;min-height:0;flex-direction:row;overflow:hidden}.app-performance .sidebar{position:fixed;inset:0 auto 0 0;width:52px;height:100dvh;padding:8px 6px;z-index:300;overflow:hidden;gap:8px}.app-performance .sidebar-toggle{height:34px;width:38px;flex-shrink:0;border-radius:8px;border:1px solid #30384b;color:#b5bfd4;background:#1c2230;cursor:pointer;font-size:21px}.app-performance.sidebar-collapsed .sidebar nav,.app-performance.sidebar-collapsed .sidebar .btn-reset{display:none}.app-performance.sidebar-collapsed .brand{font-size:0;padding:8px 0;margin:0;justify-content:center}.app-performance.sidebar-collapsed .brand-icon{font-size:21px}.app-performance.sidebar-expanded .sidebar{width:264px;box-shadow:15px 0 60px #0009;overflow-y:auto;padding:8px 14px 16px}.app-performance.sidebar-expanded .sidebar nav{display:block}.app-performance.sidebar-expanded .sidebar .btn-reset{margin-left:0;margin-top:auto}.app-performance .main.main-experience{margin-left:52px;width:calc(100% - 52px);min-width:0;height:100dvh;max-width:none;padding:8px 12px;overflow:hidden}.performance-room{height:100%;min-height:0;display:grid;grid-template-rows:38px 38px auto minmax(0,1fr);gap:8px}.room-toolbar,.room-session{display:flex;align-items:center;gap:12px;min-width:0}.room-toolbar{justify-content:space-between;padding-bottom:5px;border-bottom:1px solid #222939}.room-brand{display:flex;align-items:baseline;gap:9px;white-space:nowrap}.room-brand .xc-eyebrow{font-size:8px;letter-spacing:1.7px}.room-brand>strong{font-size:14px;letter-spacing:-.35px}.room-modes,.room-tools{display:flex;align-items:center;gap:5px}.room-modes button,.room-tools button,.room-step-nav button,.room-blend-select{border:1px solid transparent;background:transparent;color:#a6b1c5;padding:6px 9px;border-radius:6px;font-size:11px;white-space:nowrap;cursor:pointer}.room-modes button.active{background:#183444;border-color:#2e596a;color:#7cddf7}.room-tools button{border-color:#303749;background:#161c28;color:#d1d9e8}.room-tools button span{color:#73849d;margin-left:5px;font-size:10px}.room-tools button:disabled,.room-step-nav button:disabled{opacity:.4;cursor:default}.room-session{gap:8px;background:#111722;border:1px solid #242e3e;padding:3px 8px;border-radius:8px}.room-blend-select{display:flex;align-items:center;gap:7px;color:#e1e8f5;padding-left:2px;min-width:0;flex:1;text-align:left;font-weight:650}.room-blend-select>span:nth-child(2){overflow:hidden;text-overflow:ellipsis}.level-dot{height:6px;width:6px;background:#63cc9c;border-radius:50%;flex-shrink:0}.level-dot.level-intermediate{background:#ffbc64}.level-dot.level-advanced{background:#c2a1ff}.room-step-nav{display:flex;align-items:center;gap:7px;font-size:10px;color:#96a4bd;white-space:nowrap}.room-step-nav button{padding:3px 7px;background:#202939;color:#d6e3f4;font-size:16px;line-height:1.25}.room-step-nav strong{color:#e3eafa}.room-load.btn-primary{padding:5px 10px;min-height:26px;font-size:10px;white-space:nowrap}.room-ready{color:#8592a7;font-size:9px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-ready.loaded{color:#73cba4}.room-instructor{min-width:0;min-height:0}.room-free-note{display:flex;align-items:center;gap:15px;padding:12px 15px;border-radius:9px;background:#141c29;color:#91a3be;font-size:12px}.room-free-note strong{color:#c9d8eb;white-space:nowrap}.room-board{min-width:0;min-height:0}.room-dialog{color:var(--text);background:#111824;border:1px solid #38465e;border-radius:14px;width:min(620px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 44px);margin:auto;padding:0;box-shadow:0 18px 90px #000b}.room-dialog.wide{width:min(900px,calc(100vw - 36px))}.room-dialog::backdrop{background:#050911c7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.room-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 20px;border-bottom:1px solid #2a3649;position:sticky;top:0;background:#151d2a;z-index:1}.room-dialog-heading h2{font-size:17px;margin:0}.room-dialog-heading button{font-size:11px;padding:5px 10px}.room-dialog-body{padding:18px 20px 24px}.room-dialog-body .personal-crate{margin:0;padding:0;border:0;background:none}.room-dialog-body .personal-crate>.xc-section-heading{display:none}.room-dialog-intro{font-size:12px;color:#9bacbf;margin:0 0 16px}.room-theory-links{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.room-theory-links button{padding:6px 10px;font-size:11px}.room-dialog .theory-select-label{margin-bottom:15px}.room-current-theory p{margin:12px 0;font-size:13px}.room-dialog .booth-theory{padding:0;border:0;background:none}@media (max-width: 1050px){.room-brand .xc-eyebrow,.room-ready{display:none}.room-toolbar{gap:7px}.room-tools button{padding:5px 7px}}@media (max-width: 850px){.room-brand>strong{font-size:12px}.room-modes button{font-size:10px;padding:5px 6px}.room-tools button{font-size:10px}.room-tools button span{display:none}.app-performance .main.main-experience{padding:6px}.performance-room{gap:6px}}@media (max-height: 720px) and (min-width: 850px){.performance-room{grid-template-rows:32px 34px auto minmax(0,1fr);gap:5px}.app-performance .main.main-experience{padding-top:4px;padding-bottom:4px}}@media (max-width: 680px){.app.app-performance{height:auto;min-height:100dvh;overflow:auto}.app-performance .main.main-experience{height:auto;min-height:100dvh;overflow:visible}.performance-room{height:auto;grid-template-rows:auto auto auto minmax(560px,1fr)}.room-toolbar{flex-wrap:wrap;min-height:38px}.room-brand{display:none}.room-session{flex-wrap:wrap;padding:6px}.room-blend-select{flex-basis:100%}.room-free-note{display:block}}.performance-room .guided-ghost-dock.compact{position:relative;inset:auto;width:100%;max-width:none;margin:0;padding:0;z-index:210;max-height:none;overflow:visible}.performance-room .ghost-guide-compact{position:relative;margin:0;padding:9px 12px 6px;border:1px solid #3b3b59;border-radius:10px;background:linear-gradient(110deg,#1c1d30,#141c29);box-shadow:none}.ghost-coach-main{display:grid;grid-template-columns:minmax(0,1fr) 132px 170px;align-items:center;gap:14px}.ghost-coach-copy{min-width:0}.ghost-coach-eyebrow{color:#b0a6e7;font-size:9px;letter-spacing:.9px;line-height:13px;text-transform:uppercase}.ghost-coach-eyebrow span{margin-right:4px}.ghost-coach-title{font-size:15px;line-height:18px;margin:3px 0 4px;color:#eceafa}.ghost-coach-instruction{font-size:12px;line-height:16px;margin:0;color:#b8c5d9}.ghost-coach-count{text-align:center}.ghost-guide-compact .ghost-beat-strip{justify-content:center;flex-wrap:nowrap;gap:4px;margin:0 0 5px;padding:0}.ghost-guide-compact .ghost-beat{width:27px;height:29px;border-radius:6px;font-size:15px;display:inline-flex;justify-content:center;align-items:center;border:1px solid #45425d;background:#202235;color:#a5a7c2}.ghost-guide-compact .ghost-beat.active{background:#bcb0ff;border-color:#d8d0ff;color:#151029;box-shadow:0 0 16px #b49cff44}.ghost-coach-count-label{font-size:9px;color:#adaec9;line-height:12px;display:block}.ghost-coach-actions{display:grid;gap:4px}.ghost-coach-actions .btn-primary,.ghost-coach-actions .btn-secondary,.ghost-coach-actions .btn-stop{font-size:10px;padding:6px 8px;min-height:27px;border-radius:6px}.ghost-coach-link{background:none;border:0;color:#b9c7e1;font-size:9px;cursor:pointer;padding:1px 0;text-decoration:underline;text-underline-offset:3px}.ghost-coach-link:disabled{opacity:.4;cursor:default}.ghost-coach-feedback{margin-top:6px;border-top:1px solid #30364b;padding-top:5px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;line-height:13px;color:#acbdd4;min-height:19px}.ghost-coach-feedback>span{min-width:0}.ghost-coach-feedback>button{flex-shrink:0}.ghost-coach-feedback.correction{color:#ffd18c}.ghost-coach-progress{display:block;width:100%;height:3px;margin:6px 0 1px;accent-color:#aea1ec;border:none}.ghost-coach-details{font-size:10px;line-height:16px;margin-top:3px;color:#aab7cd}.ghost-coach-details summary{cursor:pointer;color:#9ca9c2;font-size:9px}.ghost-coach-details[open]{position:absolute;top:100%;left:0;right:0;z-index:220;padding:14px 18px;background:#192133;border:1px solid #485774;border-radius:8px;box-shadow:0 16px 60px #000b;max-height:50dvh;overflow-y:auto}.ghost-coach-details p{margin:10px 0;font-size:12px;line-height:18px}.ghost-take{display:flex;align-items:center;gap:12px;margin:10px 0;flex-wrap:wrap}.ghost-take strong{width:90px;font-size:11px}.ghost-take audio{height:32px;flex:1;min-width:220px}@media (max-width: 1100px) and (min-width: 681px){.ghost-coach-main{grid-template-columns:minmax(0,1fr) 124px 160px;gap:10px}.ghost-coach-title{font-size:15px;line-height:18px}}@media (max-height: 720px) and (min-width: 850px){.performance-room .ghost-guide-compact{padding:6px 10px 4px}.ghost-coach-main{gap:10px}.ghost-coach-title{font-size:13px;line-height:15px}.ghost-coach-instruction{font-size:10px;line-height:13px}.ghost-coach-actions .btn-primary,.ghost-coach-actions .btn-secondary,.ghost-coach-actions .btn-stop{min-height:24px;padding:4px 7px}}@media (max-width: 680px){.ghost-coach-main{grid-template-columns:minmax(0,1fr) 125px}.ghost-coach-copy{grid-column:1 / -1}.ghost-coach-details[open]{max-height:65dvh}}:root{--bg: #0c0e14;--bg-raised: #141824;--bg-card: #181d2e;--border: #262d42;--text: #e8ebf4;--text-dim: #9aa3bd;--accent: #39d0ff;--accent-2: #ff5d8f;--good: #3ddc84;--warn: #ffb547;--bad: #ff5d5d}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.app{display:flex;min-height:100vh}.sidebar{width:264px;flex-shrink:0;background:var(--bg-raised);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{font-size:20px;font-weight:800;background:none;border:none;color:var(--text);cursor:pointer;text-align:left;padding:6px 10px;letter-spacing:.3px}.brand-icon{margin-right:6px}.nav-section{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:var(--text-dim);margin:14px 10px 4px}.nav-item{display:flex;width:100%;justify-content:space-between;align-items:center;gap:8px;background:none;border:none;border-radius:8px;color:var(--text-dim);font-size:13.5px;padding:9px 10px;cursor:pointer;text-align:left}.nav-item:hover{background:#ffffff0d;color:var(--text)}.nav-item.active{background:#39d0ff1f;color:var(--accent)}.nav-count{font-size:11px;color:var(--text-dim);background:#ffffff0f;border-radius:10px;padding:1px 7px;flex-shrink:0}.nav-count.complete{color:var(--good);background:#3ddc841f}.btn-reset{margin-top:auto;background:none;border:1px solid var(--border);color:var(--text-dim);font-size:12px;border-radius:8px;padding:8px;cursor:pointer}.btn-reset:hover{color:var(--bad);border-color:var(--bad)}.main{flex:1;padding:36px 44px 80px;max-width:980px}.main.main-experience{max-width:1080px}button{font-family:inherit}.btn-primary{background:linear-gradient(135deg,var(--accent),#2f9fff);color:#04121c;font-weight:700;border:none;border-radius:10px;padding:11px 20px;font-size:14px;cursor:pointer}.btn-primary:hover{filter:brightness(1.12)}.btn-primary:disabled{opacity:.4;cursor:default}.btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 18px;font-size:14px;cursor:pointer}.btn-secondary:hover{border-color:var(--accent)}.btn-secondary:disabled{opacity:.4;cursor:default}.btn-large{padding:14px 28px;font-size:16px}.btn-back{background:none;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;padding:0 0 18px}.btn-back:hover{color:var(--accent)}.hero{margin-bottom:36px}.hero h1{font-size:42px;font-weight:900;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:8px}.hero-sub{color:var(--text-dim);font-size:17px;max-width:560px;margin-bottom:22px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:4px}.experience-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;background:linear-gradient(135deg,#39d0ff14,#ff5d8f14);border:1px solid rgba(57,208,255,.35);border-radius:16px;padding:22px 24px;margin-bottom:28px;cursor:pointer;color:var(--text);text-align:left}.experience-banner:hover{border-color:var(--accent)}.experience-banner h2{font-size:20px;margin:8px 0 6px}.experience-banner p{font-size:14px;color:var(--text-dim);max-width:620px}.experience-banner-go{flex-shrink:0;background:linear-gradient(135deg,var(--accent),#2f9fff);color:#04121c;font-weight:700;border-radius:10px;padding:11px 18px;font-size:14px}.experience-banner:hover .experience-banner-go{filter:brightness(1.12)}.progress-hero{display:flex;align-items:center;gap:14px;margin-bottom:22px;font-size:13px;color:var(--text-dim)}.progress-bar-outer{flex:1;max-width:380px;height:8px;border-radius:6px;background:#ffffff14;overflow:hidden}.progress-bar-outer.small{max-width:none;height:5px;margin-top:12px}.progress-bar-inner{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .4s ease}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.module-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:20px;text-align:left;cursor:pointer;color:var(--text);transition:transform .15s ease,border-color .15s ease;display:flex;flex-direction:column}.module-card:hover{transform:translateY(-3px);border-color:var(--accent)}.module-card h3{font-size:17px;margin:8px 0 6px}.module-card p{font-size:13px;color:var(--text-dim);flex:1}.module-emoji{font-size:30px;margin-bottom:8px}.module-meta{display:flex;gap:12px;font-size:12px;color:var(--text-dim);margin-top:12px}.level-badge{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;border-radius:20px;padding:3px 10px;width:fit-content}.level-beginner{background:#3ddc8426;color:var(--good)}.level-intermediate{background:#ffb54726;color:var(--warn)}.level-advanced{background:#ff5d8f26;color:var(--accent-2)}.level-tools{background:#39d0ff26;color:var(--accent)}.module-title-row{display:flex;gap:18px;align-items:flex-start;margin-bottom:28px}.module-emoji-lg{font-size:52px}.module-view h1{font-size:30px;margin:6px 0}.module-desc{color:var(--text-dim);max-width:620px}.lesson-list{list-style:none;display:flex;flex-direction:column;gap:10px}.lesson-row{display:flex;align-items:center;gap:14px;width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:15px 18px;cursor:pointer;color:var(--text);font-size:15px}.lesson-row:hover{border-color:var(--accent)}.lesson-row.done{border-color:#3ddc8459}.lesson-row.done .lesson-check{background:#3ddc842e;color:var(--good)}.lesson-check{width:30px;height:30px;border-radius:50%;background:#ffffff12;color:var(--text-dim);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.lesson-title{flex:1;text-align:left}.lesson-mins{color:var(--text-dim);font-size:12.5px}.quiz-row{border-style:dashed}.lesson-view{max-width:720px}.lesson-head{margin-bottom:30px}.lesson-head h1{font-size:32px;margin:10px 0 6px}.lesson-mins-lg{color:var(--text-dim);font-size:13.5px}.lesson-section{margin-bottom:28px}.lesson-section h2{font-size:20px;margin-bottom:10px;color:var(--accent)}.lesson-section p{margin-bottom:12px;color:var(--text)}.lesson-section ul{margin:6px 0 12px 22px;display:flex;flex-direction:column;gap:8px}.lesson-section li{color:var(--text)}.callout{border-radius:12px;padding:16px 18px;margin-bottom:16px;font-size:14.5px}.callout strong{display:block;margin-bottom:6px}.pro-tip{background:#39d0ff14;border:1px solid rgba(57,208,255,.3)}.practice{background:#ff5d8f12;border:1px solid rgba(255,93,143,.3)}.lesson-footer{margin-top:36px;display:flex;flex-direction:column;gap:16px}.lesson-nav{display:flex;gap:10px;flex-wrap:wrap}.quiz-view{max-width:680px}.quiz-head{margin-bottom:26px}.quiz-head h1{font-size:26px;margin-bottom:4px}.quiz-progress{color:var(--text-dim);font-size:13px}.quiz-q{font-size:20px;margin-bottom:18px}.quiz-options{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.quiz-option{text-align:left;background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:14px 16px;font-size:14.5px;cursor:pointer}.quiz-option:hover{border-color:var(--accent)}.quiz-option.correct{border-color:var(--good);background:#3ddc841a}.quiz-option.wrong{border-color:var(--bad);background:#ff5d5d1a}.quiz-option.dim{opacity:.45}.quiz-result{text-align:center;padding:40px 0}.quiz-result h1{font-size:44px;margin-bottom:12px}.quiz-result p{color:var(--text-dim);max-width:440px;margin:0 auto 24px}.quiz-result .controls-row{justify-content:center}.result-box{border-radius:10px;padding:13px 16px;font-size:14px;margin:14px 0}.result-box.good{background:#3ddc841a;border:1px solid rgba(61,220,132,.4)}.result-box.ok{background:#ffb5471a;border:1px solid rgba(255,181,71,.4)}.result-box.bad{background:#ff5d5d1a;border:1px solid rgba(255,93,93,.4)}.tools-view{max-width:860px}.tools-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tools-tab{background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);border-radius:20px;padding:8px 16px;font-size:13.5px;cursor:pointer}.tools-tab.active{color:var(--accent);border-color:var(--accent);background:#39d0ff1a}.tool-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:26px}.tool-card h2{margin-bottom:8px}.tool-desc{color:var(--text-dim);font-size:14px;margin-bottom:20px;max-width:640px}.hint-box{background:#ffffff0a;border:1px dashed var(--border);border-radius:10px;padding:13px 16px;font-size:13px;color:var(--text-dim);margin-top:18px}.controls-row{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap}.tap-zone{display:flex;align-items:center;gap:30px;margin:10px 0 16px}.tap-button{width:130px;height:130px;border-radius:50%;border:3px solid var(--accent);background:#39d0ff1a;color:var(--accent);font-size:22px;font-weight:800;letter-spacing:2px;cursor:pointer;transition:transform .05s ease}.tap-button:active{transform:scale(.93);background:#39d0ff4d}.bpm-big{font-size:54px;font-weight:900;color:var(--accent);line-height:1}.bpm-label{color:var(--text-dim);font-size:13px;margin-top:6px}.beat-canvas{width:100%;max-width:400px;background:#00000059;border:1px solid var(--border);border-radius:12px;display:block;margin-bottom:8px}.pitch-control{margin:16px 0}.pitch-control label{display:block;font-size:13.5px;color:var(--text-dim);margin-bottom:8px}.pitch-control input[type=range]{width:100%;max-width:420px}.history h4{font-size:13px;color:var(--text-dim);margin:16px 0 6px}.history ul{list-style:none;display:flex;gap:14px;flex-wrap:wrap;font-size:13px}.decks-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}@media (max-width: 760px){.decks-layout{grid-template-columns:1fr}}.deck-panel{background:#00000040;border:1px solid var(--border);border-top:3px solid var(--deck-color);border-radius:12px;padding:16px}.deck-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.deck-header h3{color:var(--deck-color);letter-spacing:2px;font-size:15px}.btn-play,.btn-stop{border:none;border-radius:8px;padding:8px 14px;font-weight:700;cursor:pointer;font-size:13px}.btn-play{background:var(--good);color:#03130a}.btn-stop{background:var(--warn);color:#1c1204}.deck-label{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin:12px 0 5px}.deck-panel select{width:100%;background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px;font-size:14px}.deck-panel input[type=range]{width:100%;accent-color:var(--deck-color)}.eq-grid{display:flex;gap:18px;margin-top:14px;justify-content:space-around}.eq-slider{display:flex;flex-direction:column;align-items:center;gap:6px}.eq-slider label{font-size:11px;color:var(--text-dim);letter-spacing:1px}.eq-slider input.vertical{writing-mode:vertical-lr;direction:rtl;height:90px;width:24px}.eq-value{font-size:11px;color:var(--text-dim);min-height:15px}.crossfader-section{margin-top:6px}.crossfader{width:100%;max-width:420px;accent-color:var(--accent);display:block}.xf-labels{display:flex;justify-content:space-between;max-width:420px;font-size:12px;color:var(--text-dim);margin-top:4px}.camelot-layout{display:grid;grid-template-columns:380px 1fr;gap:24px;align-items:start}@media (max-width: 820px){.camelot-layout{grid-template-columns:1fr}}.camelot-svg{width:100%;max-width:380px}.camelot-key{cursor:pointer}.camelot-key circle{fill:#ffffff12;stroke:var(--border);stroke-width:1.5;transition:fill .15s ease}.camelot-key text{fill:var(--text-dim);font-size:13px;font-weight:700;pointer-events:none}.camelot-key:hover circle{fill:#ffffff29}.camelot-key.selected circle{fill:var(--accent);stroke:var(--accent)}.camelot-key.selected text{fill:#04121c}.camelot-key.safe circle{fill:#3ddc844d;stroke:var(--good)}.camelot-key.safe text{fill:var(--good)}.camelot-key.spicy circle{fill:#ffb54740;stroke:var(--warn)}.camelot-key.spicy text{fill:var(--warn)}.camelot-center{fill:var(--text);font-size:22px;font-weight:900}.camelot-center-sub{fill:var(--text-dim);font-size:12px}.camelot-info h3{font-size:16px;margin-bottom:12px}.camelot-info ul{list-style:none;display:flex;flex-direction:column;gap:9px;font-size:14px}.camelot-info .spicy-text{color:var(--warn)}@media (max-width: 900px){.app{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;align-items:center}.sidebar nav{display:flex;flex-wrap:wrap;gap:4px}.nav-section{width:100%;margin:8px 6px 2px}.btn-reset{margin-top:0;margin-left:auto}.main{padding:24px 18px 60px}}.tap-rating{font-size:26px;font-weight:900}.tap-rating.good{color:var(--good)}.tap-rating.ok{color:var(--warn)}.tap-rating.bad{color:var(--bad)}.tap-button:disabled{opacity:.35;cursor:default}.stat-row{display:flex;gap:12px;margin:16px 0 4px;flex-wrap:wrap}.stat{background:#ffffff0a;border:1px solid var(--border);border-radius:10px;padding:10px 16px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);display:flex;flex-direction:column;align-items:center;gap:2px;min-width:84px}.stat span{font-size:20px;font-weight:800;color:var(--text);letter-spacing:0;text-transform:none}.helper-toggle{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-dim);margin:4px 0 10px;cursor:pointer}.drill-bar{margin-bottom:20px}.drill-steps{list-style:none;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;counter-reset:drill}.drill-steps li{font-size:14px;color:var(--text-dim);padding:9px 14px;border-radius:9px;border:1px solid var(--border);background:#ffffff05}.drill-steps li.current{color:var(--text);border-color:var(--accent);background:#39d0ff14;font-weight:600}.drill-steps li.done{color:var(--good);border-color:#3ddc8459;background:#3ddc840f}.embedded-tool{margin:10px 0 26px}.embedded-tool .tool-card{border-color:#39d0ff59}.practice-chip{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--accent-2);background:#ff5d8f21;border-radius:12px;padding:2px 9px;flex-shrink:0}.tool-card select,.controls-row select{background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 12px;font-size:13.5px}.phrase-counter{font-size:28px;font-weight:900;color:var(--accent);background:#0000004d;border:1px solid var(--border);border-radius:12px;padding:10px 22px;width:fit-content;margin:10px 0;font-variant-numeric:tabular-nums}.tap-button.phrase{font-size:15px;letter-spacing:1px}.grade-live{margin-top:12px}.grade-live-title{font-size:12px;letter-spacing:1.5px;color:var(--bad);font-weight:700;margin-bottom:8px;animation:pulse-rec 1.4s infinite}@keyframes pulse-rec{0%,to{opacity:1}50%{opacity:.45}}.grade-report{background:#00000040;border:1px solid var(--border);border-radius:14px;padding:18px;margin-top:12px}.grade-score{display:flex;align-items:center;gap:18px;margin-bottom:10px}.grade-score p{color:var(--text-dim);font-size:13.5px;margin-top:4px}.grade-letter{font-size:46px;font-weight:900;width:72px;height:72px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.grade-A{background:#3ddc8426;color:var(--good)}.grade-B{background:#39d0ff26;color:var(--accent)}.grade-C{background:#ffb54726;color:var(--warn)}.grade-D,.grade-F{background:#ff5d5d26;color:var(--bad)}.grade-issues{margin:8px 0 12px 20px;display:flex;flex-direction:column;gap:8px;font-size:14px}.track-info{font-size:13.5px;color:var(--text);background:#00000040;border:1px dashed var(--border);border-radius:8px;padding:8px 12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bpm-tag{font-size:11.5px;color:var(--accent);background:#39d0ff1a;border-radius:10px;padding:3px 9px;white-space:nowrap}.btn-mini{background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:7px;padding:4px 9px;font-size:12px;cursor:pointer}.btn-mini:hover{border-color:var(--accent)}.bpm-input{width:62px;background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:7px;padding:4px 8px;font-size:13px}.crate{margin-top:18px}.crate summary{cursor:pointer;font-size:14.5px;font-weight:600;color:var(--accent);padding:12px 14px;background:#39d0ff0f;border:1px solid rgba(57,208,255,.25);border-radius:10px}.crate[open] summary{border-radius:10px 10px 0 0}.crate-list{list-style:none;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border);border-top:none;border-radius:0 0 10px 10px}.crate-list li{display:flex;align-items:baseline;gap:10px;font-size:13.5px;flex-wrap:wrap}.crate-list li em{color:var(--text-dim);font-style:normal;font-size:12.5px}.crate-list.pairs li{display:list-item;list-style:disc;margin-left:18px;color:var(--text)}.crate-h4{font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin:14px 14px 0}.jog-layout{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;margin-top:12px}.jog-side{flex:1;min-width:260px}.platter{width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#2a3350,#12151f 70%);border:3px solid var(--border);position:relative;flex-shrink:0;cursor:grab;touch-action:none;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 20px #0009}.platter.live{border-color:var(--accent-2);cursor:grab}.platter.live:active{cursor:grabbing}.platter.locked{border-color:var(--good);box-shadow:inset 0 0 20px #0009,0 0 18px #3ddc8480}.platter-dot{position:absolute;top:8px;left:50%;width:8px;height:46px;margin-left:-4px;background:var(--accent-2);border-radius:4px;transform-origin:50% 67px}.platter.locked .platter-dot{background:var(--good)}.platter-label{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--text-dim)}.planner-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}@media (max-width: 760px){.planner-layout{grid-template-columns:1fr}}.planner-pool h4,.planner-set h4{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:10px;display:flex;align-items:center;gap:8px}.pool-list,.set-list{list-style:none;display:flex;flex-direction:column;gap:6px}.set-list{counter-reset:track}.pool-list li,.set-row{display:flex;align-items:center;gap:10px;background:#00000038;border:1px solid var(--border);border-radius:9px;padding:8px 12px;font-size:13.5px}.pool-title{flex:1}.set-actions{display:flex;gap:4px}.planner-empty,.muted{color:var(--text-dim);font-size:13px;padding:14px;text-align:center}.energy-pip{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;color:#04121c}.energy-pip.e1{background:#4a7ba6}.energy-pip.e2{background:#3ddc84}.energy-pip.e3{background:#ffb547}.energy-pip.e4{background:#ff8a3d}.energy-pip.e5{background:#ff5d5d;color:#fff}.trans-marker{font-size:11px;padding:3px 10px 3px 26px;color:var(--text-dim)}.trans-marker.good{color:var(--good)}.trans-marker.ok{color:var(--warn)}.trans-marker.bad{color:var(--bad)}.energy-curve{margin:8px 0 18px}.energy-curve h4{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:8px}.curve-svg{width:100%;height:120px;background:#00000038;border:1px solid var(--border);border-radius:10px}.curve-grid{stroke:#ffffff0f;stroke-width:1}.curve-line{fill:none;stroke:var(--accent);stroke-width:2.5}.curve-dot{stroke:#04121c;stroke-width:1.5}.curve-dot.e1{fill:#4a7ba6}.curve-dot.e2{fill:#3ddc84}.curve-dot.e3{fill:#ffb547}.curve-dot.e4{fill:#ff8a3d}.curve-dot.e5{fill:#ff5d5d}.good-list li{color:var(--good)}.badge-shelf{margin-top:40px}.badge-shelf h2{font-size:22px;display:flex;align-items:center;gap:12px}.badge-count{font-size:13px;color:var(--accent);background:#39d0ff1a;border-radius:12px;padding:3px 12px}.badge-intro{color:var(--text-dim);font-size:14px;margin:6px 0 16px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.badge-item{display:flex;gap:12px;align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.badge-item.locked{opacity:.5}.badge-item.earned{border-color:#ffb54766;background:#ffb5470f}.badge-emoji{font-size:28px;flex-shrink:0}.badge-text{display:flex;flex-direction:column}.badge-text strong{font-size:14px}.badge-text span{font-size:12px;color:var(--text-dim)}.badge-toast{position:fixed;top:20px;right:20px;z-index:1000;display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,#1c2438,#141824);border:1px solid var(--warn);border-radius:14px;padding:16px 20px;box-shadow:0 12px 40px #00000080;animation:toast-in .35s ease,toast-glow 2s ease-in-out infinite;max-width:340px}@keyframes toast-in{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-glow{0%,to{box-shadow:0 12px 40px #00000080}50%{box-shadow:0 12px 40px #ffb54759}}.badge-toast-emoji{font-size:40px}.badge-toast-head{font-size:11px;letter-spacing:1px;color:var(--warn);text-transform:uppercase;font-weight:700}.badge-toast-title{font-size:16px;font-weight:800}.badge-toast-desc{font-size:12.5px;color:var(--text-dim)}.practice-hub{display:flex;flex-direction:column;gap:14px;margin-bottom:34px}.hub-row{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:stretch}.hub-row:last-child{grid-template-columns:1fr 1fr}@media (max-width: 760px){.hub-row,.hub-row:last-child{grid-template-columns:1fr}}.streak-box{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:16px 26px;min-width:120px}.streak-box.lit{border-color:#ffb5478c;background:#ffb54712}.streak-flame{font-size:26px;filter:grayscale(1)}.streak-box.lit .streak-flame{filter:none}.streak-num{font-size:34px;font-weight:900;line-height:1.1}.streak-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.missions-box,.focus-box,.goal-box{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:16px 18px}.missions-box h3,.focus-box h3,.goal-box h3{font-size:14px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:baseline}.mission-count{font-size:12px;color:var(--text-dim);font-weight:400}.missions-box ul{list-style:none;display:flex;flex-direction:column;gap:7px}.missions-box li{display:flex;align-items:center;gap:10px;font-size:13.5px}.missions-box li.done{color:var(--text-dim);text-decoration:line-through}.mission-check{color:var(--accent);font-weight:700;width:16px}.missions-box li.done .mission-check{color:var(--good)}.mission-label{flex:1}.mission-label em{color:var(--warn);font-style:normal;font-size:12px}.focus-note{font-size:12.5px;color:var(--text-dim);margin-bottom:10px}.focus-chips{display:flex;gap:8px;flex-wrap:wrap}.focus-chip{background:#39d0ff17;border:1px solid rgba(57,208,255,.35);color:var(--accent);border-radius:16px;padding:6px 14px;font-size:12.5px;cursor:pointer}.focus-chip:hover{background:#39d0ff2e}.goal-current{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px}.goal-current.done{color:var(--good)}.goal-actions{display:flex;gap:6px}.goal-suggestions{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;align-items:flex-start}.goal-suggestions .btn-mini{text-align:left}.goal-custom input{width:100%;background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.recorder{background:#00000038;border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-top:18px}.recorder-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.recorder-head h3{font-size:16px}.recorder-sub{font-size:12.5px;color:var(--text-dim)}.rec-live{border-color:var(--bad);color:var(--bad);animation:pulse-rec 1.4s infinite}.take-review{margin-top:12px}.take-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.take-audio{flex:1;min-width:220px;height:40px}.take-download{text-decoration:none}.take-meta{font-size:12.5px;color:var(--text-dim);margin:8px 0}.flag-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.flag-list li{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.flag-label{font-size:13px}.flag-label.auto{color:var(--warn)}.flag-note{flex:1;min-width:180px;background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:7px;padding:5px 9px;font-size:12.5px}.midi-panel{margin-top:14px}.midi-panel summary{cursor:pointer;font-size:13.5px;color:var(--text-dim);padding:10px 14px;background:#ffffff08;border:1px dashed var(--border);border-radius:10px}.midi-panel[open] summary{border-radius:10px 10px 0 0;color:var(--accent)}.midi-body{border:1px dashed var(--border);border-top:none;border-radius:0 0 10px 10px;padding:12px 14px}.midi-devices{font-size:13px;color:var(--good);margin-bottom:10px}.midi-error{font-size:12.5px;color:var(--bad)}.midi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.midi-target{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#ffffff08;border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:12.5px}.midi-target .btn-mini.learning{border-color:var(--warn);color:var(--warn);animation:pulse-rec 1s infinite}.stage-desc{font-size:13px;color:var(--text-dim);margin:-2px 0 12px}.stem-section{margin:8px 0 4px;padding:8px 10px;background:#ffffff08;border:1px solid var(--border);border-radius:8px}.stem-row{display:flex;align-items:center;gap:8px;margin:5px 0}.stem-row input[type=range]{flex:1;margin:0}.stem-name{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);min-width:92px}.stem-kill{min-width:56px;text-transform:uppercase;font-size:10.5px}.stem-kill.active{border-color:var(--bad);color:var(--bad);background:#ff5d5d1f}.stem-progress-label{font-size:12.5px;color:var(--text-dim);margin-bottom:6px}.stem-bar{height:8px;border-radius:5px;background:var(--bg-raised);border:1px solid var(--border);overflow:hidden}.stem-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .3s ease}.stem-confirm strong{font-size:13px;color:var(--accent)}.stem-confirm p{font-size:12.5px;color:var(--text-dim);margin:6px 0 10px;line-height:1.5}.stem-bar-fill.indeterminate{width:35%;animation:stem-sweep 1.4s ease-in-out infinite}@keyframes stem-sweep{0%{margin-left:0}50%{margin-left:65%}to{margin-left:0}}.experience-center .xc-hero{margin-bottom:22px}.experience-center .xc-hero h1{font-size:36px;font-weight:900;margin:10px 0 8px;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.experience-center .xc-hero .hero-sub{margin-bottom:0;max-width:640px}.xc-stations{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.xc-station{background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);border-radius:20px;padding:8px 16px;font-size:13.5px;text-decoration:none}.xc-station:hover{color:var(--accent);border-color:var(--accent)}.personal-crate{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:20px}.personal-crate h3{font-size:15px;margin-bottom:6px}.personal-crate-list{border:none;border-radius:0;padding:8px 0 0}.personal-crate .planner-empty{text-align:left;padding:8px 0 0}.personal-crate .crate-status{margin:8px 0 0}.personal-crate .crate-h4{margin:14px 0 4px}.personal-crate-actions{display:inline-flex;gap:6px}.crate-filters{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.crate-filters label{display:flex;flex-direction:column;gap:6px;color:var(--text-dim);font-size:12px}.crate-filters label:first-child{flex:1;min-width:200px}.crate-filters input,.crate-filters select{width:100%;min-height:38px;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font:inherit}.crate-license{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.crate-ingest{margin:14px 0 8px;display:flex;flex-direction:column;gap:10px}.crate-ingest-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.crate-ingest label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-dim)}.crate-ingest input,.crate-ingest select,.crate-ingest textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font:inherit}.crate-ingest-file{cursor:pointer}.crate-ingest-file input{display:none}.crate-ingest-file span{display:block;border:1px dashed var(--border);border-radius:10px;padding:12px;text-align:center;color:var(--accent)}.crate-analysis{width:fit-content}@media (max-width: 640px){.crate-ingest-grid{grid-template-columns:1fr}}#xc-drills,#xc-booth,#xc-crate{scroll-margin-top:18px}@media (max-width: 760px){.experience-banner{flex-direction:column;align-items:flex-start}}.main.main-experience{max-width:1580px;min-width:0;padding:32px 32px 64px}button,input,select,summary,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.experience-center h2{font-size:22px;letter-spacing:-.5px}.xc-learning-hero{display:flex;justify-content:space-between;align-items:center;gap:24px}.experience-center .xc-learning-hero h1{font-size:clamp(28px,3vw,40px);letter-spacing:-1.3px;background:none;color:var(--text);margin:6px 0}.xc-eyebrow{display:block;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent)}.xc-progress-summary{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;font-size:11px;color:var(--text-dim);gap:2px}.xc-progress-summary strong{color:var(--text);font-size:27px;line-height:1.1}.xc-progress-summary strong span{color:var(--text-dim);font-size:15px;font-weight:400}.xc-mode-bar{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border);margin:24px 0;padding-bottom:12px}.xc-mode-bar button,.blend-levels button{border:1px solid transparent;padding:9px 15px;color:var(--text-dim);background:transparent;border-radius:8px;cursor:pointer;font-size:13px}.xc-mode-bar button.active,.blend-levels button.active{background:#39d0ff1a;color:var(--accent);border-color:#39d0ff40}.xc-mode-bar a{margin-left:auto;font-size:12px;color:var(--text-dim);text-decoration:none}.xc-mode-bar a:hover{color:var(--accent)}.xc-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.xc-text-button{color:var(--accent);background:none;border:0;padding:4px 0;font-size:12px;cursor:pointer;text-align:left}.xc-text-button:hover{text-decoration:underline}.xc-count{font-size:12px;color:var(--text-dim)}.blend-selection{background:linear-gradient(125deg,#39d0ff12,#ff5d8f09);border:1px solid var(--border);border-radius:16px;padding:20px 24px 16px;margin-bottom:22px}.blend-selection-main{display:flex;justify-content:space-between;align-items:center;gap:24px}.blend-selection-main>div{max-width:630px}.blend-selection-main p{color:var(--text-dim);font-size:13px;margin-top:5px}.blend-selection-main>button{flex-shrink:0}.blend-context{font-size:12px;color:var(--text-dim);margin:0 0 8px}.blend-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.blend-track{display:flex;align-items:center;gap:10px;background:#0000002e;border:1px solid var(--border);padding:10px 12px;border-radius:10px;min-width:0}.deck-letter{display:grid;place-items:center;background:#39d0ff1f;color:var(--accent);width:30px;height:30px;border-radius:8px;flex-shrink:0;font-size:14px;font-weight:800}.blend-track-1 .deck-letter{background:#ff5d8f1f;color:var(--accent-2)}.blend-track>div{min-width:0}.blend-track strong,.blend-track>div>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blend-track strong{font-size:13px}.blend-track>div>span{color:var(--text-dim);font-size:11px}.blend-tempo{margin-left:auto;white-space:nowrap;font-size:11px;color:var(--text-dim)}.blend-load-status{color:var(--text-dim);margin-top:10px;font-size:11px}.blend-picker{padding-top:20px;margin-top:18px;border-top:1px solid var(--border)}.blend-levels{display:flex;gap:5px;margin-bottom:12px;flex-wrap:wrap}.blend-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.blend-choice{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;color:var(--text);display:flex;flex-direction:column;gap:4px;text-align:left;padding:13px 16px;cursor:pointer}.blend-choice.selected,.blend-choice:hover{border-color:var(--accent)}.blend-choice>span{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.blend-choice strong{font-size:14px}.blend-choice small{color:var(--text-dim);font-size:11px}.xc-workspace{display:grid;grid-template-columns:265px minmax(0,1fr);gap:18px;align-items:start;margin-bottom:24px}.xc-free-workspace{display:block}.blend-coach{position:sticky;top:18px;padding:20px;border:1px solid rgba(57,208,255,.24);border-radius:14px;background:var(--bg-raised)}.blend-coach h3{font-size:19px;letter-spacing:-.4px;line-height:1.35;margin:6px 0 10px}.blend-coach p{font-size:12px;color:var(--text-dim);line-height:1.7}.blend-step-progress{display:flex;gap:5px;margin:14px 0 10px}.blend-step-progress span{height:3px;flex:1;background:var(--border);border-radius:2px}.blend-step-progress span.filled{background:var(--accent)}.blend-step-number{font-size:10px;color:var(--text-dim)}.listen-cue{margin-top:16px;padding:12px;background:#39d0ff0e;border-radius:8px}.listen-cue strong{display:block;color:var(--accent);font-size:11px;margin-bottom:4px}.coach-why{font-size:12px;margin:12px 0}.coach-why summary{cursor:pointer}.coach-why p{margin-top:8px}.blend-step-actions{display:flex;gap:7px;margin:18px 0 8px}.blend-step-actions button{font-size:11px;padding:9px 11px}.blend-theory-links{border-top:1px solid var(--border);margin-top:18px;padding-top:14px;display:flex;flex-direction:column;gap:5px}.blend-theory-links .xc-eyebrow{color:var(--text-dim);margin-bottom:4px}.blend-coach .blend-caution{margin-top:14px;font-size:10px}.blend-reflection{display:flex;flex-direction:column;gap:10px;margin:16px 0;font-size:12px}.blend-reflection label{color:var(--text-dim)}.blend-reflection select,.theory-select-label select{width:100%;min-height:38px;background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:8px;color:var(--text);font:inherit;font-size:12px}.xc-mixer{min-width:0}.xc-mixer>.tool-card{padding:16px;background:var(--bg-raised)}.xc-mixer .decks-layout{gap:12px}.xc-mixer .deck-panel{padding:14px;min-width:0}.xc-mixer .deck-header h3{font-size:13px}.xc-mixer .deck-label{font-size:10px;letter-spacing:.6px}.xc-mixer .drill-bar{margin-bottom:14px}.xc-mixer details>summary{cursor:pointer;font-size:12px;color:var(--text-dim)}.xc-mixer .drill-bar button{font-size:11px;padding:8px 10px}.deck-details{padding:9px 0;border-top:1px solid var(--border);margin-top:8px}.deck-details summary{margin-bottom:6px}.deck-track-artist{color:var(--text-dim);font-size:11px}.deck-track-key{color:var(--text-dim);font-size:10px}.deck-tempo-note{color:var(--text-dim);font-size:10px;margin:4px 0 8px}.deck-restart{margin:8px 0}.stem-presets{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.stem-presets button{font-size:10px;padding:6px}.stem-presets button.active{border-color:var(--deck-color);background:#39d0ff1a}.stem-details{margin-top:10px}.stem-details summary{margin-bottom:8px}.free-play-intro{padding:4px 0 22px}.free-play-intro p{color:var(--text-dim);font-size:13px;max-width:650px;margin:8px 0}.xc-theory-section{border:1px solid var(--border);border-radius:14px;padding:20px 24px;margin-bottom:22px;background:var(--bg-raised);scroll-margin-top:20px}.xc-theory-section>p{font-size:13px}.theory-select-label{display:flex;flex-direction:column;gap:5px;min-width:220px;max-width:330px;font-size:10px;color:var(--text-dim)}.booth-theory{margin-top:22px;border-top:1px solid var(--border);padding-top:20px;max-width:800px}.booth-theory h3{font-size:22px}.booth-theory h4{font-size:15px;margin:20px 0 8px}.booth-theory p,.booth-theory li{font-size:14px;color:var(--text-dim);line-height:1.8;margin-bottom:10px}.booth-theory ul{padding-left:20px}.personal-crate{padding:20px 24px;background:var(--bg-raised)}.crate-helper{color:var(--text-dim);font-size:11px;margin:10px 0}.song-library-list{list-style:none;max-height:480px;overflow:auto;padding-right:5px}.song-library-list li{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:16px;align-items:center;border-top:1px solid var(--border);padding:12px 0}.song-library-title,.song-library-meta{display:flex;flex-direction:column}.song-library-title strong{font-size:13px}.song-library-title>span,.song-library-meta{color:var(--text-dim);font-size:11px}.personal-crate-actions .btn-mini{min-height:32px}.personal-crate a{color:var(--accent)}.lesson-practice-bridge,.module-practice-bridge{padding:20px 22px;border:1px solid rgba(57,208,255,.3);background:#39d0ff0d;border-radius:14px;margin:20px 0 28px}.lesson-practice-bridge p,.module-practice-bridge p,.section-intro{color:var(--text-dim);font-size:13px;margin:8px 0 14px}.lesson-practice-bridge h2,.module-practice-bridge h2{font-size:21px}.lesson-practice-meta{color:var(--accent);font-size:12px;margin:8px 0}.additional-practice{padding:16px;margin:24px 0;border:1px solid var(--border);border-radius:10px}.additional-practice summary{cursor:pointer;font-size:14px;color:var(--text-dim)}.additional-practice .embedded-tool{margin-top:16px}.course-flow{display:flex;gap:10px;margin:24px 0}.course-flow-step{flex:1;padding:14px;background:var(--bg-raised);border-radius:10px;font-size:13px}.course-flow-step span,.course-flow-step p{display:block;color:var(--text-dim);font-size:12px}.first-blends-preview{margin:28px 0}.blend-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.blend-preview-card{background:var(--bg-raised);border:1px solid var(--border);color:var(--text);padding:16px;border-radius:12px;text-align:left;cursor:pointer}.blend-preview-card:hover{border-color:var(--accent)}.blend-preview-card h3,.blend-preview-card strong{display:block;font-size:15px;margin:8px 0}.blend-preview-card p,.blend-preview-card span{font-size:11px;color:var(--text-dim)}.module-lesson-actions{display:flex;align-items:center;gap:12px}.module-practice-link{color:var(--accent);background:none;border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;font-size:12px}@media (min-width: 1550px){.xc-workspace{grid-template-columns:305px minmax(0,1fr);gap:24px}.blend-coach{padding:24px}}@media (min-width: 1101px) and (max-width: 1350px){.xc-workspace{grid-template-columns:230px minmax(0,1fr);gap:12px}.blend-coach{padding:16px}.xc-mixer>.tool-card{padding:12px}}@media (max-width: 1100px){.xc-workspace{grid-template-columns:1fr}.blend-coach{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.blend-coach>.xc-eyebrow,.blend-step-progress,.blend-step-number,.blend-coach h3{grid-column:1/-1}.blend-theory-links{margin-top:4px}.blend-coach>.blend-caution{grid-column:1/-1}}@media (max-width: 900px){.main.main-experience{padding:24px 20px 48px}.xc-progress-summary{display:none}.blend-selection-main{flex-direction:column;align-items:flex-start;gap:14px}.blend-pair{grid-template-columns:1fr}.xc-section-heading{flex-wrap:wrap}.blend-preview-grid{grid-template-columns:1fr}}@media (max-width: 640px){.main.main-experience{padding:22px 14px 40px}.blend-selection,.personal-crate,.xc-theory-section{padding:16px}.xc-mode-bar button{padding:8px 10px}.xc-mode-bar a{font-size:11px}.blend-coach{display:block}.blend-choice-grid{grid-template-columns:1fr}.song-library-list li{grid-template-columns:minmax(0,1fr) auto;gap:6px}.song-library-meta{grid-column:1;grid-row:2;flex-direction:row;gap:10px}.personal-crate-actions{grid-column:2;grid-row:1/3}.theory-select-label{min-width:100%}.course-flow{flex-direction:column}.module-lesson-actions{flex-wrap:wrap}}.deck-key-lock{margin:8px 0}.deck-key-lock>button.active{border-color:#3ddc8466;background:#3ddc8417;color:var(--good)}.deck-key-lock>button{min-height:28px}.deck-track-artist,.deck-track-key{display:block}.module-lesson-actions{padding:8px 12px 14px 52px;justify-content:space-between;color:var(--text-dim);font-size:12px}.recording-details{margin:16px 0}.recording-details>summary{padding:8px 0}.blend-coach{max-height:calc(100vh - 36px);overflow-y:auto;scrollbar-width:thin}.deck-visuals{margin:12px 0;color:var(--text-dim);font-size:11px}.deck-visual-empty{border:1px dashed var(--border);border-radius:8px;padding:15px 12px}.deck-visual-empty span{display:block;font-size:10px;margin-top:6px}.deck-visual-heading,.deck-live-scope-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;margin:9px 0 7px}.deck-visual-heading strong,.deck-live-scope-heading strong{color:var(--text);font-size:11px}.deck-visual-time{color:var(--visual-color);font-variant-numeric:tabular-nums;font-size:10px}.deck-waveform-detail,.deck-waveform-overview,.deck-time-scope-canvas,.deck-spectrum-canvas{display:block;border-radius:6px;border:1px solid var(--border)}.deck-waveform-overview{margin-top:5px;cursor:crosshair;touch-action:pan-y}.deck-visual-hint{font-size:9px;line-height:1.6;color:var(--text-dim);margin:5px 0 8px}.deck-beat-readout{border:1px solid var(--border);border-radius:9px;padding:10px;background:#ffffff06;margin-top:9px}.deck-beat-readout>div:nth-child(2){display:flex;flex-direction:column;margin:7px 0 4px;font-variant-numeric:tabular-nums}.deck-beat-readout strong{color:var(--text);font-size:12px}.deck-beat-readout span{font-size:10px}.deck-beat-lights{display:flex;gap:6px}.deck-beat-light{flex:1;display:grid;place-items:center;height:32px;border:1px solid var(--border);background:var(--bg);border-radius:6px;color:var(--text-dim);font-weight:800;font-size:14px!important}.deck-beat-light.active{background:var(--visual-color);border-color:var(--visual-color);color:#06141c;box-shadow:0 0 13px color-mix(in srgb,var(--visual-color) 25%,transparent)}.deck-beat-light.active.downbeat{box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--visual-color)}.deck-grid-status{display:inline-block;color:var(--warn);font-size:9px!important}.deck-grid-status.confirmed{color:var(--good)}.deck-grid-editor{margin:9px 0;font-size:10px}.deck-grid-editor summary{color:var(--text-dim);line-height:1.4;font-size:10px!important}.deck-grid-editor>p{margin:8px 0;font-size:10px}.deck-grid-actions{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.deck-grid-actions button{font-size:9px;padding:6px 8px}.deck-grid-bpm{display:flex;align-items:center;gap:8px;margin:9px 0;font-size:10px}.deck-grid-bpm input{width:70px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:5px}.deck-visual-sync{display:flex;flex-direction:column;gap:5px;margin:9px 0}.deck-visual-sync-value{color:var(--visual-color);font-size:10px}.deck-live-scope{margin-top:16px;padding-top:10px;border-top:1px solid var(--border);--visual-color: var(--deck-color)}.deck-scope-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:9px;margin:6px 0;line-height:1.5}.scope-before{color:#a8b8d0}.scope-after{color:var(--visual-color)}.deck-scope-canvas-label{font-size:9px;color:var(--text-dim);margin:6px 0 3px}.deck-output-meter{display:flex;gap:7px;align-items:center;font-size:9px;color:var(--text-dim);margin:9px 0}.deck-output-meter strong{min-width:54px;text-align:right;font-size:9px;font-variant-numeric:tabular-nums}.deck-output-meter-track{flex:1;min-width:20px;background:#222c41;border-radius:3px;height:6px;overflow:hidden}.deck-output-meter-fill{display:block;height:100%;background:var(--good)}.deck-output-meter-fill.clipping{background:var(--bad)}.deck-visual-error{color:var(--bad);font-size:11px}.deck-alignment{background:#00000021;border:1px solid var(--border);border-radius:10px;padding:10px;margin-bottom:14px}.deck-alignment h3,.deck-alignment strong{font-size:12px}.deck-alignment-canvas{display:block;width:100%;border-radius:6px}.deck-alignment-legend{font-size:10px;color:var(--text-dim);margin:7px 0 1px}.ghost-guide{background:linear-gradient(140deg,#7b68ee1a,#39d0ff0a);border:1px solid rgba(178,161,255,.3);border-radius:12px;padding:14px;margin:14px 0;color:var(--text)}.ghost-guide-head{display:flex;gap:9px;align-items:center;margin-bottom:10px}.ghost-avatar{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:10px;background:#aa95ff1f;color:#c9bcff;font-size:20px}.ghost-step-label{color:#c9bcff;font-size:9px;text-transform:uppercase;letter-spacing:1px}.ghost-guide-head strong{font-size:12px}.ghost-guide .ghost-guide-intro{font-size:11px;color:var(--text-dim)}.ghost-beat-strip{display:flex;gap:5px;margin-top:11px;align-items:center;flex-wrap:wrap}.ghost-beat{width:27px;height:27px;border-radius:5px;border:1px solid var(--border);display:inline-grid;place-items:center;color:var(--text-dim);font-size:12px;font-weight:750}.ghost-beat.active{background:#c5b5ff;color:#1d153d;border-color:#c5b5ff}.ghost-guide .ghost-timing-note{font-size:9px;margin:6px 0;color:var(--text-dim)}.ghost-guide-actions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.ghost-guide-actions button{font-size:11px;padding:8px 10px}.ghost-demo-progress{font-size:10px;color:#c9bcff;margin:8px 0}.ghost-demo-progress progress{width:100%;height:4px;accent-color:#bba8ff}.ghost-recent-action,.ghost-next-hint{border-left:2px solid #ad98f4;padding-left:9px;margin:10px 0}.ghost-recent-action strong,.ghost-next-hint strong{display:block;font-size:10px;color:#d6cbff;margin-bottom:3px}.ghost-guide .ghost-recent-action p,.ghost-guide .ghost-next-hint p{font-size:11px;color:var(--text)}.ghost-live-state{display:flex;flex-direction:column;gap:8px;margin:10px 0}.ghost-live-deck{border-top:1px solid var(--border);padding-top:7px}.ghost-live-deck strong{font-size:10px;color:var(--text)}.ghost-live-deck p{font-size:10px}.ghost-state-details{color:var(--text-dim);font-size:10px;margin-top:10px}.ghost-state-details summary{cursor:pointer;font-size:10px}.ghost-cursor{z-index:10000;pointer-events:none}.ghost-cursor-target{border:2px solid #c9b7ff;border-radius:8px;box-shadow:0 0 0 5px #b697ff21,0 0 28px #a790ff33}.ghost-cursor-range-path{background:#c1aeff47;border:1px solid rgba(225,217,255,.65);border-radius:9px}.ghost-cursor-thumb{width:18px;height:18px;background:#c9b7ff;border:2px solid white;border-radius:50%;box-shadow:0 0 15px #c1aeffb3}.ghost-cursor-pointer{width:30px;height:36px;color:#d5c7ff;filter:drop-shadow(0 2px 3px #080411)}.ghost-cursor-label{color:#eee7ff;border:1px solid #9278d1;background:#221b35;box-shadow:0 3px 16px #0005;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:650;max-width:210px}.ghost-cursor-offscreen{position:fixed;bottom:12px;left:50%;transform:translate(-50%);background:#221b35;color:#eee7ff;padding:8px 12px;border:1px solid #9278d1;border-radius:8px;font-size:12px}@media (max-width: 1100px){.blend-coach{max-height:none;overflow:visible}.guided-ghost-dock{grid-column:2;grid-row:3/9}.coach-current-step{grid-column:1}}@media (max-width: 640px){.deck-visual-heading strong{font-size:12px}.deck-beat-light{height:36px}.deck-visual-hint{font-size:10px}.ghost-guide-actions button{min-height:36px}}@media (prefers-reduced-motion: reduce){.ghost-cursor-target{box-shadow:0 0 0 2px #b697ff33}}.ghost-cursor-range-path{background:none;border:none;border-radius:0;color:#c9b7ff}.blend-coach .ghost-guide h3{margin:0;font-size:13px;line-height:1.4}.ghost-beat-caption{color:#c9bcff;font-size:9px}.ghost-action-note,.ghost-demo-message{font-size:10px!important;line-height:1.5!important}.ghost-demo-message{color:#dccfff!important}.ghost-dock-toggle{display:none}@media (max-width: 1100px){.guided-ghost-dock.ready{position:fixed;right:16px;bottom:16px;width:330px;max-height:40vh;overflow-y:auto;background:#151623;border:1px solid #594879;border-radius:12px;box-shadow:0 8px 45px #0008;z-index:200}.guided-ghost-dock.ready .ghost-guide{margin:0;border:0;border-radius:0}.guided-ghost-dock.ready .ghost-guide-intro,.guided-ghost-dock.ready .ghost-timing-note,.guided-ghost-dock.ready .ghost-action-note,.guided-ghost-dock.ready .ghost-state-details{display:none}.guided-ghost-dock.ready .ghost-guide-head{margin-bottom:5px}.guided-ghost-dock.ready .ghost-guide-actions{margin:8px 0}.guided-ghost-dock.ready .ghost-next-hint{display:none}.guided-ghost-dock.ready .ghost-dock-toggle{display:block;width:100%;text-align:right;border:0;border-bottom:1px solid #443354;padding:5px 10px;background:#211b31;color:#c9bcff;font-size:10px;cursor:pointer}.guided-ghost-dock.ready.minimized .ghost-guide{display:none}.guided-ghost-dock.ready.minimized{width:185px}.main.main-experience{padding-bottom:280px}}@media (max-width: 640px){.guided-ghost-dock.ready{width:285px;max-height:35vh;right:9px;bottom:9px}.guided-ghost-dock.ready .ghost-guide{padding:10px}.guided-ghost-dock.ready .ghost-guide-head{display:none}.guided-ghost-dock.ready .ghost-beat-strip{margin-top:0}}.deck-alignment-interactive{padding:14px}.alignment-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.alignment-heading h3{margin:0 0 5px;font-size:14px}.alignment-heading p{margin:0;color:var(--text-dim);font-size:11px;line-height:1.55}.alignment-master{display:flex;flex-direction:column;gap:4px;color:var(--text-dim);font-size:10px;flex-shrink:0}.alignment-master select{padding:6px 8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:11px}.alignment-actions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 6px}.alignment-actions button{padding:8px 11px;font-size:11px}.alignment-action-help{font-size:10px;line-height:1.5;color:var(--text-dim);margin:0 0 10px}.alignment-waveform-stack{position:relative;border:1px solid var(--border);border-radius:7px;overflow:hidden}.alignment-drag-lane{position:absolute;left:0;width:100%;height:61px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid transparent;outline-offset:-3px}.alignment-drag-a{top:0}.alignment-drag-b{top:61px;border-top-color:var(--border)}.alignment-drag-lane:hover{background:#87a9df0b}.alignment-drag-lane:focus-visible{outline:2px solid #a9c9ff;background:#87a9df12}.alignment-drag-lane.dragging{cursor:grabbing;background:#87a9df0f;border-color:#a9c9ff}.alignment-drag-lane[aria-disabled=true]{cursor:not-allowed;pointer-events:none}.alignment-row-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 10px}.alignment-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px 7px}.alignment-row strong{font-size:10px}.alignment-row-a strong{color:#39d0ff}.alignment-row-b strong{color:#ff5d8f}.alignment-row>span{color:var(--text-dim);font-size:10px;font-variant-numeric:tabular-nums}.alignment-row>div{display:flex;gap:5px}.alignment-row button{min-height:29px;font-size:10px}.alignment-phase-status{color:var(--text);font-size:11px;line-height:1.5;margin:9px 0 5px;font-variant-numeric:tabular-nums}.alignment-result{color:var(--good);font-size:11px;margin:9px 0 0}@media (max-width: 640px){.alignment-heading{flex-direction:column;gap:8px}.alignment-master{flex-direction:row;align-items:center;gap:8px}.alignment-row-controls{grid-template-columns:1fr;gap:8px}.alignment-actions button,.alignment-row button{min-height:36px}}
