@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#0a0c0e;--panel:#121519;--panel2:#171b20;--panel3:#1b2025;--stroke:#282d32;--stroke2:#33393d;--white:#f2f3f1;--muted:#899198;--dim:#666d73;--lime:#c5f47a;--purple:#a491ee;--orange:#ffa675;--radius:16px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--white);background:var(--bg);font-family:'DM Sans',Arial,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.38;cursor:not-allowed}a{color:inherit;text-decoration:none}input[type=range]{accent-color:var(--lime);cursor:pointer}input[type=text],input[type=number],select,textarea{outline:none}input:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #c5f478;outline-offset:2px}.shell{min-height:100vh;display:flex;max-width:2000px;margin:auto}.rail{width:66px;flex:0 0 66px;border-right:1px solid #25292d;display:flex;align-items:center;flex-direction:column;padding:18px 10px 19px;gap:12px;background:#101315}.brand-icon{position:relative;width:44px;height:44px;border-radius:13px;display:flex;justify-content:center;align-items:center;background:var(--lime);color:#0a120a;font:700 24px 'Space Grotesk',sans-serif;letter-spacing:-2px}.brand-two{font-size:18px}.brand-icon small{position:absolute;right:6px;top:5px;font-size:6px}.rail-line{height:1px;width:28px;background:#31383a;margin:13px 0 9px}.rail-btn{border:0;background:none;display:grid;place-items:center;width:43px;height:43px;border-radius:11px;color:#788187;transition:.2s}.rail-btn svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.rail-btn:hover,.rail-btn.active{color:var(--lime);background:#242d27}.rail-spacer{flex:1}.avatar{background:#313a33;color:#eaf3d8;border:1px solid #4a6042;width:39px;height:39px;border-radius:13px;display:grid;place-items:center;font-size:11px;font-weight:700}.app-column{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:64px;min-height:64px;border-bottom:1px solid #23272a;display:flex;align-items:center;justify-content:space-between;padding:0 31px;background:#101315}.breadcrumb{display:flex;align-items:center;gap:13px;font-size:10px;font-weight:700;letter-spacing:1.1px}.breadcrumb .dim{color:#777f82}.crumb-slash{color:#50575b}.crumb-badge{font-size:9px;font-weight:700;color:#bac3bd;border:1px solid #344039;border-radius:4px;padding:5px 7px;background:#18221b}.top-controls{display:flex;align-items:center;gap:11px;color:#b4bdb8;font-weight:600;font-size:11px}.clock{font-variant-numeric:tabular-nums;color:#89918d;letter-spacing:.4px}.top-separator{height:20px;width:1px;background:#363a3d;margin:0 5px}.connection-dot{width:7px;height:7px;background:#eeb87b;border-radius:50%;box-shadow:0 0 11px #ffa67555}.connection-dot.online{background:var(--lime);box-shadow:0 0 11px #c5f47866}.header-button{margin-left:9px;border:1px solid #505d42;background:#242f20;color:var(--lime);padding:10px 13px;border-radius:8px;font-size:11px;font-weight:700}.header-button:hover{background:#303f27}.arrow-tilt{margin-left:8px;font-size:15px}.page-heading{padding:28px 34px 28px;display:flex;justify-content:space-between;align-items:flex-end}.eyebrow,.section-kicker{font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--lime)}.eyebrow{display:flex;gap:9px;align-items:center;font-size:9px}.live-pulse,.onair-dot{width:7px;height:7px;background:var(--lime);border-radius:50%;box-shadow:0 0 13px #b9ff7370}.tiny-line{display:inline-block;width:20px;height:1px;background:#5b6651}.page-heading h1{font:600 clamp(29px,3.2vw,43px) 'Space Grotesk',sans-serif;letter-spacing:-2px;margin:7px 0 0}.page-heading h1 em{font-style:normal;color:var(--lime)}.page-heading p{color:#89928f;margin:6px 0 0;font-size:12px}.heading-right{text-align:right;display:flex;align-items:flex-end;flex-direction:column;gap:10px}.mode-toggle{padding:9px 11px;border-radius:7px;border:1px solid #586c43;background:#243220;font-size:10px;letter-spacing:.9px;color:var(--lime);font-weight:800}.mode-flash{font-size:11px}.subdued{font-size:10px;color:#778079;letter-spacing:.5px}.workspace{min-height:770px;display:grid;grid-template-columns:minmax(280px,.98fr) minmax(330px,1.13fr) minmax(300px,.98fr);gap:13px;padding:0 20px 22px}.panel,.stage-card,.stems-card,.rooms-card{background:var(--panel);border:1px solid #252b2d;border-radius:var(--radius);overflow:hidden}.panel{display:flex;flex-direction:column;min-height:760px}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 21px 16px}.panel-heading h2{font:600 19px 'Space Grotesk',sans-serif;letter-spacing:-.65px;margin:6px 0 0}.counter{font:600 10px 'DM Sans',sans-serif;display:inline-block;color:#9ba29b;background:#252c2a;border-radius:6px;padding:5px 7px;margin-left:5px;vertical-align:middle;letter-spacing:0}.icon-button{display:grid;place-items:center;height:30px;width:30px;border-radius:8px;font-size:25px;font-weight:300}.outlined{background:#263220;border:1px solid #4d6640;color:var(--lime)}.outlined:hover{background:#35472a}.search-box{height:39px;border-radius:8px;background:#1d2226;border:1px solid #2d3337;margin:0 20px 15px;display:flex;align-items:center;padding:0 10px;gap:9px}.search-box svg{width:16px;height:16px;stroke:#889198;fill:none;stroke-width:1.8}.search-box input{flex:1;width:100%;background:transparent;border:none;color:#f2f3f1;font-size:11px}.search-box input::placeholder{color:#6e767b}.shortcut{border:1px solid #3e4445;border-radius:4px;color:#7d8589;padding:2px 6px;font-size:10px}.tabs{display:flex;gap:17px;padding:0 21px;border-bottom:1px solid #2a3031}.tabs button{padding:0 0 13px;background:none;border:0;color:#868f8d;position:relative;font-size:11px;font-weight:700;white-space:nowrap}.tabs button:hover,.tabs button.selected{color:#e4e8e0}.tabs button.selected::after{content:"";background:var(--lime);height:2px;position:absolute;bottom:-1px;left:0;right:0;border-radius:2px}.library-scroll{padding:13px 10px 10px;overflow:auto;flex:1;min-height:330px;max-height:670px;scrollbar-width:thin;scrollbar-color:#39403b transparent}.library-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 9px;border:1px solid transparent;border-radius:11px;transition:.18s}.library-item:hover,.library-item.is-selected{background:#1e2523;border-color:#324036}.library-art,.queue-art,.playing-cover,.next-art{position:relative;flex-shrink:0;display:grid;place-items:center;color:#effaf0;overflow:hidden}.library-art{width:46px;height:47px;border-radius:7px;font:800 26px 'Space Grotesk',sans-serif}.cover-0{background:radial-gradient(circle at 78% 24%,#e7fa98a0,transparent 34%),linear-gradient(138deg,#8e9c71,#3f5a50 54%,#252b30)}.cover-1{background:radial-gradient(circle at 20% 80%,#d29df7c0,transparent 49%),linear-gradient(140deg,#885baa,#333358 60%,#172930)}.cover-2{background:radial-gradient(circle at 70% 65%,#f6bd72af,transparent 45%),linear-gradient(140deg,#cf8553,#544c4b 57%,#303033)}.cover-3{background:radial-gradient(circle at 75% 25%,#75e3dec0,transparent 40%),linear-gradient(140deg,#1b918e,#22565c,#213138)}.cover-4{background:linear-gradient(145deg,#cf7b95,#4c3658,#1f2529)}.library-art::after,.queue-art::after,.playing-cover::after{content:"";position:absolute;inset:6px;border:1px solid #ffffff35;border-radius:50%;transform:translate(7px,-5px)}.library-info{flex:1;min-width:0;cursor:pointer}.library-info strong{font-size:12px;font-weight:700;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-info small{display:block;color:#89938f;font-size:10px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-metas{display:flex;gap:4px;margin-top:6px}.micro-tag{font-size:8px;padding:3px 5px;background:#303735;color:#a6b9aa;border-radius:3px;font-weight:700}.micro-tag.purple{background:#302c40;color:#b6a8ff}.micro-tag.muted{background:#2e3235;color:#929b9e}.library-add{flex:0 0 27px;height:27px;width:27px;border:1px solid #485641;border-radius:7px;background:#293327;color:var(--lime);font-size:20px;display:grid;place-items:center}.library-add:hover{background:#394b2d}.library-footer{border-top:1px solid #2b3230;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 17px 17px;background:#161c1b}.footer-copy{display:flex;gap:9px;align-items:flex-start}.footer-copy b{display:block;color:#dfe8de;font-size:10px}.footer-copy small{display:block;color:#868f87;font-size:9px;margin-top:4px;max-width:190px}.green-tick{font-size:19px;color:var(--lime)}.text-button{padding:0;background:none;border:0;color:var(--lime);font-size:10px;font-weight:700;white-space:nowrap}.text-button span{font-size:16px}.stage-column{display:flex;flex-direction:column;gap:13px;min-width:0}.stage-card{padding:19px 17px 15px;position:relative}.stage-top{display:flex;justify-content:space-between;align-items:center}.stage-headline{display:flex;gap:8px;align-items:center;font-weight:800;color:#ebf0e6;font-size:10px;letter-spacing:1.5px}.stage-indicator{border-radius:4px;padding:5px 7px;border:1px solid #505741;color:#c5f47a;font-size:9px;font-weight:800;letter-spacing:1px;background:#273120}.art-stage{height:200px;display:grid;place-items:center;position:relative;overflow:hidden;margin-top:5px;isolation:isolate}.fine-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(circle,#000 0,transparent 74%);z-index:-1}.art-glow{position:absolute;left:50%;top:45%;width:255px;height:160px;background:#b4e86c30;filter:blur(58px);transform:translate(-50%,-50%);z-index:-1}.vinyl-disc{position:relative;width:170px;height:170px;z-index:2;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,#1a2221 0px,#202c26 2px,#15191a 3px,#151a18 4px);border:2px solid #566c4a;box-shadow:0 0 0 12px #53674613,0 0 42px #b7ea7127,19px 13px 38px #0007;display:grid;place-items:center;transition:transform 1s ease}.vinyl-disc.spinning{animation:vinyl 5s linear infinite}.vinyl-rim{width:85px;height:85px;background:radial-gradient(circle,#d9f9ab 0,#8ab36a 66%,#516a48 100%);border:7px solid #1c3026;border-radius:50%;display:grid;place-items:center}.vinyl-center{font:800 29px 'Space Grotesk',sans-serif;color:#16301d;line-height:1;letter-spacing:-1px;text-align:center}.vinyl-center span{display:block;font:700 6px 'DM Sans',sans-serif;letter-spacing:1.2px;margin-top:5px}.orbit{position:absolute;border:1px solid #97c66947;border-radius:50%;width:243px;height:120px;transform:rotate(-34deg);z-index:1}.orbit-b{width:250px;height:105px;transform:rotate(38deg);border-color:#849e7250}.art-stage::before{content:"✳";position:absolute;top:20px;left:31px;color:#b4cc9b;font-size:18px}.art-stage::after{content:"+";position:absolute;right:31px;bottom:29px;color:#a7c495;font-size:26px;font-weight:200}.stage-track-meta{text-align:center}.track-mini{font-size:9px;letter-spacing:1.15px;color:#98a198;font-weight:800}.track-mini span{color:var(--lime);margin-left:7px}.stage-track-meta h2{font:700 24px 'Space Grotesk',sans-serif;letter-spacing:-.8px;margin:9px 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-track-meta p{font-size:12px;color:#abb1ad;margin:0}.tag-row{display:flex;justify-content:center;gap:7px;margin-top:13px}.track-tag{font-size:9px;font-weight:700;color:#9ea6a1;padding:6px 9px;background:#252c29;border-radius:5px}.track-tag.accent{background:#2d3b25;color:var(--lime)}.waveform-box{border-top:1px solid #2a302d;padding-top:14px;margin-top:20px}.waveform-caption{display:flex;justify-content:space-between;gap:5px;color:#94a19a;font-size:9px;font-weight:700;letter-spacing:.5px}.waveform-caption span:last-child{font-variant-numeric:tabular-nums}.caption-dot{color:var(--lime)}.waveform{display:flex;align-items:center;justify-content:space-between;gap:2px;height:66px;margin-top:5px;cursor:pointer}.wave-bar{flex:1;min-width:1px;background:#424c43;border-radius:2px;transition:background .1s}.wave-bar.past{background:var(--lime)}.wave-bar.mid{background:#a2c979}.beat-grid{display:flex;justify-content:space-between;font-size:8px;color:#626f6a;letter-spacing:.9px}.stems-card,.rooms-card{padding:18px 18px 17px}.subpanel-heading{display:flex;justify-content:space-between;align-items:center}.subpanel-heading h3{font:600 17px 'Space Grotesk',sans-serif;letter-spacing:-.35px;margin:6px 0 0}.small-alpha{font:800 7px 'DM Sans';color:var(--purple);border:1px solid #625680;border-radius:3px;padding:3px 5px;vertical-align:middle;margin-left:5px;letter-spacing:1px}.signal-wave{font-size:33px;line-height:1;color:var(--purple)}.subpanel-desc{color:#89958b;font-size:10px;margin:9px 0 16px}.stem-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.stem-tile{padding:10px 1px 9px;border-radius:8px;border:1px solid #323b38;background:#1e2525;text-align:center;min-width:0;transition:.15s}.stem-tile.active{background:#343e2d;border-color:#a1c66e}.stem-tile.active:not(.stem-full){background:#322e3d;border-color:#7c6ca6}.stem-tile:disabled{opacity:.33}.stem-graphic{display:block;height:25px;font-size:22px;color:#848e87}.stem-tile.active .stem-graphic{color:var(--lime)}.stem-tile.active:not(.stem-full) .stem-graphic{color:#bbabff}.stem-name{display:block;font-weight:700;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stem-meter{display:flex;gap:2px;justify-content:center;align-items:flex-end;height:12px;margin-top:8px}.stem-meter i{background:#444b46;width:3px;border-radius:2px;height:4px}.stem-meter i:nth-child(2){height:8px}.stem-meter i:nth-child(3){height:11px}.stem-meter i:nth-child(4){height:6px}.stem-tile.active .stem-meter i{background:#b8e77b}.stem-tile.active:not(.stem-full) .stem-meter i{background:#ae9eeb}.stem-note{margin-top:11px;color:#888f8d;font-size:10px}.rooms-card{flex:1}.room-counter{color:var(--lime);background:#263020;border-radius:6px;padding:6px 9px;font-size:9px;font-weight:800}.room-list{margin-top:17px}.room-item{display:flex;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #2b312f}.room-symbol{width:33px;height:33px;border:1px solid #3c4640;background:#273029;border-radius:9px;display:grid;place-items:center;color:var(--lime);font-size:18px}.room-symbol.offline{color:#84918c;background:#232928}.room-info{flex:1;min-width:0}.room-info strong{font-size:11px;font-weight:700}.room-info small{display:block;color:#858e89;font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-adjust{display:flex;align-items:center;gap:4px}.delay-input{width:52px!important;border:1px solid #3b443e;border-radius:6px;background:#212824;padding:6px 4px;text-align:right;font-size:10px;color:#d5ead5}.delay-units{font-size:9px;color:#99a09b}.room-pair{border:1px solid #3a483b;border-radius:5px;background:#263127;padding:5px;color:var(--lime);font-size:10px}.room-pair:hover{background:#344333}.add-room{display:flex;width:100%;align-items:center;justify-content:space-between;background:none;border:1px dashed #3c493c;color:var(--lime);border-radius:8px;margin-top:13px;padding:11px;font-size:10px;font-weight:700}.queue-heading{padding-bottom:20px}.queue-status{color:var(--lime);font-size:8px;font-weight:800;letter-spacing:.5px;white-space:nowrap}.queue-dot,.small-light{display:inline-block;background:var(--lime);height:6px;width:6px;border-radius:50%;margin-right:4px}.queue-stats{display:grid;grid-template-columns:1fr 1fr;background:#1d2422;border-top:1px solid #2d3530;border-bottom:1px solid #2d3530}.queue-stats>div{padding:14px 21px}.queue-stats>div+div{border-left:1px solid #313934}.stat-label{display:block;color:#86918b;font-size:8px;letter-spacing:1.1px;font-weight:800}.queue-stats strong{display:block;font:700 17px 'Space Grotesk',sans-serif;margin-top:6px;letter-spacing:-.3px}.queue-list{padding:17px 12px 15px;flex:1;overflow:auto;min-height:280px;max-height:650px;scrollbar-width:thin}.queue-item{display:flex;align-items:center;gap:10px;padding:11px 8px;border-radius:10px;border:1px solid transparent;transition:.2s;position:relative}.queue-item:hover{background:#1b2221}.queue-item.active{border-color:#546b3f;background:#253222}.queue-item.active::before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:2px;background:var(--lime);border-radius:2px}.queue-order{width:16px;text-align:center;font-size:10px;font-weight:700;color:#777f7a;flex-shrink:0}.queue-item.active .queue-order{color:var(--lime)}.queue-art{width:39px;height:40px;border-radius:6px;font:800 20px 'Space Grotesk',sans-serif}.queue-track{min-width:0;flex:1}.queue-track strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-track small{display:block;font-size:9px;color:#89958c;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-track .playing-label{font-size:8px;color:var(--lime);font-weight:800;margin-top:5px}.queue-time{font-size:10px;color:#9fa69f;white-space:nowrap}.queue-menu{position:relative}.queue-more{border:0;background:none;padding:6px 3px;color:#969f98;font-size:17px;font-weight:700}.queue-menu-options{position:absolute;right:0;top:30px;z-index:8;display:flex;flex-direction:column;gap:2px;background:#28302b;border:1px solid #596457;border-radius:9px;min-width:122px;padding:5px;box-shadow:0 15px 25px #0008}.queue-menu-options button{border:0;text-align:left;background:transparent;padding:8px 9px;border-radius:5px;font-size:10px}.queue-menu-options button:hover{background:#39473a}.queue-menu-options button.danger{color:#f4a799}.empty-placeholder{padding:26px 15px;color:#87938c;text-align:center;font-size:12px;line-height:1.6}.queue-footer{border-top:1px solid #2b3230;background:#161c1b;padding:18px 19px 20px}.fade-heading{display:flex;align-items:center;justify-content:space-between;color:#c3ccc3;font-weight:800;letter-spacing:1.1px;font-size:9px}.fade-status{color:var(--lime);font-size:8px}.fade-knob-row{display:flex;align-items:center;gap:10px;margin-top:19px}.fade-icon{width:37px;height:37px;border-radius:9px;background:#314025;border:1px solid #536944;color:var(--lime);display:grid;place-items:center;font-size:26px}.fade-knob-row>div:nth-child(2){flex:1}.fade-knob-row strong{font-size:11px}.fade-knob-row p{font-size:9px;color:#839087;margin:4px 0}.little-edit{background:#2e3830;border:1px solid #4a5847;color:var(--lime);width:26px;height:26px;border-radius:6px}.fade-slider{display:flex;align-items:center;gap:13px;margin:15px 0 16px}.fade-slider input{width:100%;height:4px}.fade-slider span{font-size:10px;font-weight:800;color:var(--lime);width:25px}.info-divider{height:1px;background:#2e3733}.next-up-label{font-size:9px;letter-spacing:1px;color:var(--lime);font-weight:800;margin-top:15px;display:flex;justify-content:space-between}.next-preview{color:#8e9990;font-size:10px;margin-top:10px}.next-card{display:flex;align-items:center;gap:10px}.next-art{height:37px;width:37px;border-radius:7px;font-size:18px}.next-card strong{display:block;font-size:10px;color:#e6eae2}.next-card small{display:block;margin-top:4px;color:#8f9b90}.player-bar{height:94px;min-height:94px;background:#171c1d;border-top:1px solid #333936;display:grid;grid-template-columns:1fr 1.16fr 1fr;gap:12px;align-items:center;padding:0 26px;position:sticky;bottom:0;z-index:6;box-shadow:0 -12px 35px #0002}.player-info{display:flex;align-items:center;gap:10px;min-width:0}.playing-cover{height:45px;width:45px;border-radius:7px;font-size:23px}.player-text{min-width:0}.player-text strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-text span{display:block;color:#859088;font-size:9px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-badge{font-size:8px;color:#adada5;border:1px solid #4a4f48;padding:5px;border-radius:4px;white-space:nowrap}.player-badge.ready{color:var(--lime);border-color:#586d47}.player-center{min-width:0}.player-controls{display:flex;align-items:center;justify-content:center;gap:14px}.transport-small{border:0;background:transparent;color:#9ba69b;font-size:15px;padding:3px}.transport-small:hover{color:var(--lime)}.play-button{border:0;background:var(--lime);color:#1b2a13;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:14px;padding-left:4px}.play-button:hover{background:#d5ffa0}.arm-button{background:#303a2b;border:1px solid #647b52;color:var(--lime);padding:6px 9px;border-radius:6px;font-size:9px;font-weight:800}.arm-button.hidden{display:none}.seek-row{display:flex;align-items:center;gap:9px;color:#8d988f;font-size:9px;font-variant-numeric:tabular-nums;margin-top:10px}.seek-row input{width:100%;height:3px;min-width:30px}.player-right{display:flex;align-items:center;justify-content:flex-end;gap:19px}.player-sync{display:flex;gap:8px;align-items:center}.sync-ring{font-size:28px;color:var(--lime)}.player-sync strong{display:block;font-size:9px;letter-spacing:.5px}.player-sync small{display:block;color:#849086;margin-top:5px;font-size:9px}.volume-wrap{display:flex;align-items:center;gap:7px;font-size:10px;color:#8f9a91}.volume-wrap input{width:72px;height:3px}.volume-wrap span:last-child{width:23px;text-align:right}.modal-backdrop{position:fixed;inset:0;background:#050807c9;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:30;padding:14px}.modal-backdrop[hidden]{display:none}.modal{width:min(490px,100%);max-height:92vh;overflow:auto;border:1px solid #495448;border-radius:17px;background:#1b2220;padding:22px 24px 24px;box-shadow:0 30px 100px #000b}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.modal-header h2{margin:7px 0 0;font:600 25px 'Space Grotesk',sans-serif;letter-spacing:-.5px}.modal-close{border:1px solid #3f4b42;background:#2a332c;color:#d3dfcf;width:28px;height:28px;border-radius:7px}.field{margin-bottom:16px}.field label{display:block;font-size:10px;color:#b8c2b7;font-weight:800;letter-spacing:.6px;margin-bottom:8px}.field input:not([type=checkbox]):not([type=range]),.field textarea,.field select{width:100%;background:#121816;border:1px solid #424e43;border-radius:7px;color:#eff5ec;padding:11px 12px}.field textarea{resize:vertical;min-height:110px;font-family:monospace;font-size:11px}.field-note{font-size:10px;line-height:1.6;color:#8c9b8d;margin-top:6px}.field-inline{display:flex;align-items:center;gap:10px;justify-content:space-between}.field-inline input{width:80px!important}.check-row{display:flex;gap:9px;align-items:center;color:#c9d1c5;font-size:11px;padding:7px 0}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;border-top:1px solid #374239;margin-top:20px;padding-top:18px}.btn{border:1px solid #576349;padding:10px 14px;background:#2e382d;border-radius:7px;font-size:11px;font-weight:800;color:#e5f0da}.btn.primary{background:var(--lime);color:#1d2c13;border-color:var(--lime)}.btn.secondary{background:#28322a;border-color:#455441;color:var(--lime)}.btn.danger{background:#442a2b;border-color:#634247;color:#f5afa8}.btn:hover{filter:brightness(1.1)}.callout{padding:12px 13px;background:#253428;border:1px solid #4c6448;border-radius:8px;color:#c8ddc2;font-size:11px;line-height:1.6;margin:8px 0 17px}.callout.warning{background:#332d24;border-color:#69563a;color:#e9c8a4}.track-attachment{border-top:1px solid #38443a;padding-top:16px;margin-top:14px}.attachment-row{display:flex;justify-content:space-between;align-items:center;margin:9px 0;font-size:11px}.attachment-row .btn{padding:7px 10px}.analysis-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:11px 0}.analysis-tiles div{background:#293329;border:1px solid #435440;padding:9px;border-radius:7px}.analysis-tiles span{font-size:8px;display:block;color:#aebaaa}.analysis-tiles b{font-size:14px;display:block;margin-top:5px;color:var(--lime)}.toast-host{position:fixed;z-index:100;right:22px;bottom:110px;display:flex;flex-direction:column;align-items:flex-end;gap:7px}.toast{max-width:370px;background:#2a342e;border:1px solid #607652;border-radius:9px;padding:12px 14px;color:#e6f4dd;font-size:11px;line-height:1.4;box-shadow:0 10px 30px #0007}.toast.bad{background:#3c2929;border-color:#7b4941;color:#ffdad1}.toast.good{border-color:#8cad68}.range-labels{display:flex;justify-content:space-between;color:#8c9d8a;font-size:9px;margin-top:5px}.muted{color:#9ca69b}.mini-help{color:#93a393;font-size:11px;line-height:1.7}.modal-queue-choice{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #38483b;margin-bottom:7px;background:#242e27;border-radius:8px;width:100%;text-align:left}.modal-queue-choice:hover{border-color:#b9ed78}.modal-queue-choice span{flex:1}.modal-queue-choice strong{display:block;font-size:11px}.modal-queue-choice small{font-size:9px;color:#8da18c;display:block;margin-top:4px}.modal-queue-choice .queue-art{height:31px;width:31px}.modal-queue-list{max-height:300px;overflow:auto}.pill{border:1px solid #4e6251;border-radius:4px;padding:5px;color:#c5f47a;font-size:9px}.copy-link{word-break:break-all;padding:12px;background:#131915;border:1px solid #455844;border-radius:8px;font-size:11px;color:#bddbaf;margin:12px 0}.vis-screen{overflow:hidden}
@keyframes vinyl{to{transform:rotate(360deg)}}
@media(max-width:1320px){.workspace{grid-template-columns:minmax(250px,.95fr) minmax(300px,1.1fr) minmax(270px,.95fr);padding:0 13px 20px;gap:10px}.page-heading{padding:25px 20px}.panel-heading{padding-left:16px;padding-right:16px}.queue-stats>div{padding:13px}.player-sync{display:none}.player-right{gap:5px}.player-badge{display:none}}
@media(max-width:1120px){.workspace{grid-template-columns:minmax(260px,.95fr) minmax(340px,1.25fr)}.queue-panel{grid-column:1/-1;min-height:420px}.queue-list{max-height:280px}.queue-footer{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.queue-footer .fade-heading,.queue-footer .fade-knob-row,.queue-footer .fade-slider{grid-column:1}.queue-footer .info-divider,.queue-footer .next-up-label,.queue-footer .next-preview{grid-column:2}.queue-footer .info-divider{grid-row:1}.queue-footer .next-up-label{grid-row:2}.queue-footer .next-preview{grid-row:3}.library-scroll{max-height:780px}.panel{min-height:720px}}
@media(max-width:780px){.rail{width:48px;flex-basis:48px;padding:15px 3px}.rail-btn{width:40px}.brand-icon{width:39px;height:39px}.topbar{padding:0 14px}.top-controls .clock,.top-controls .top-separator,.crumb-badge{display:none}.page-heading{padding:21px 15px}.heading-right{display:none}.workspace{display:flex;flex-direction:column;padding:0 9px 15px}.panel{min-height:auto}.library-scroll{max-height:340px;min-height:160px}.queue-list{max-height:340px}.queue-panel{min-height:400px}.stage-card{min-height:auto}.player-bar{height:105px;min-height:105px;padding:0 10px;grid-template-columns:1fr 1.5fr}.player-info{gap:6px}.playing-cover{width:35px;height:35px}.player-right{display:none}.player-controls{gap:8px}.player-text strong{max-width:110px}.queue-footer{display:block}.header-button{padding:7px}.breadcrumb{font-size:9px;gap:6px}}
@media(max-width:440px){.page-heading h1{font-size:30px}.page-heading p{font-size:10px}.top-controls #connection-label{display:none}.player-bar{grid-template-columns:0.85fr 1.4fr}.player-info .playing-cover{display:none}.player-text strong{max-width:90px}.arm-button{padding:4px;font-size:8px}.transport-small{font-size:11px}.stem-grid{gap:3px}.stem-name{font-size:8px}}
/* V2 DJ interactions — drops, cue monitoring, track intelligence */
.library-panel{position:relative}
.library-drop-hint,.queue-drop-hint{font-size:9px;color:#849a80;letter-spacing:.25px;text-align:center;padding:7px 10px;background:#1a241e;border-top:1px dashed #334535;border-bottom:1px dashed #334535}
.library-panel.drop-active .library-drop-hint{background:#304b30;color:#d2f9a6;border-color:#c4f48a}
.queue-panel.drop-active .queue-drop-hint{background:#2a4426;color:#d1f9aa;border-color:#9fda6a}
.library-item[draggable],.queue-item[draggable=true]{cursor:grab}
.library-item.dragging,.queue-item.dragging{opacity:.42}
.queue-item.drop-target{outline:2px solid #c6ff8e;outline-offset:-3px;background:#2b3a2c}
.library-cue,.library-delete{width:23px;height:26px;display:grid;place-items:center;flex-shrink:0;border:1px solid transparent;border-radius:6px;background:transparent;color:#8ea48b;font-size:17px;cursor:pointer}
.library-cue:hover,.library-cue.active{color:var(--lime);background:#283b28;border-color:#4a6843}
.library-delete:hover{color:#ffb9a5;background:#45312f;border-color:#765049}
.library-item .library-add{flex-shrink:0}
.library-item{gap:7px}
.library-info{min-width:0;flex:1}
.cue-deck{background:linear-gradient(150deg,#20302a,#17251f);padding:15px 14px 13px;border-top:1px solid #496647;border-bottom:1px solid #304535;box-shadow:inset 0 1px #5f85621a}
.cue-header{display:flex;justify-content:space-between;gap:8px;font-size:9px;font-weight:800;letter-spacing:1.1px;color:#d9f2c9}
.cue-led{display:inline-block;width:7px;height:7px;background:#b9ee7b;box-shadow:0 0 9px #b9ee7b;border-radius:50%;margin-right:5px}
.cue-private{font-size:8px;color:#8ba48e;letter-spacing:.3px}
.cue-main{display:flex;gap:11px;align-items:center;margin:14px 0 10px}
.cue-play{width:38px;height:38px;flex-shrink:0;border-radius:9px;border:1px solid #9ddd83;background:#baff86;color:#18301c;font-weight:900;font-size:16px;box-shadow:0 5px 20px #5b9a4244}
.cue-track{flex:1;min-width:0}.cue-track strong{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cue-track small{font-size:9px;color:#93ae92;display:block;margin-top:5px}
#cue-time{font-size:10px;font-variant-numeric:tabular-nums;color:#bcd2b8}
#cue-seek{width:100%;height:4px;accent-color:#b6f17f}
.cue-routing{display:flex;align-items:center;gap:8px;margin-top:12px}
.cue-routing span{font-size:8px;letter-spacing:.5px;white-space:nowrap;color:#a6c8a4}
.cue-routing select{flex:1;width:40px;min-width:0;padding:7px;border-radius:6px;border:1px solid #496449;background:#111c16;color:#cceabc;font-size:9px}
.cue-routing input{width:45px;flex-shrink:0;accent-color:#baff86}
.drag-trash{display:none;position:fixed;bottom:111px;right:32px;z-index:20;border:2px dashed #f4a59d;border-radius:12px;background:#4d2727ee;color:#fff0e7;box-shadow:0 8px 44px #0009;padding:22px 36px;font-size:12px;letter-spacing:1px;font-weight:900;pointer-events:none}
.drag-trash.show{display:block}
.transport-small{display:grid;place-items:center;width:31px;height:31px;transition:color .16s,transform .16s}
.transport-small:hover{transform:scale(1.12)}
.transport-small svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;fill:none}
.play-button svg{width:20px;height:20px;fill:currentColor}
.play-button{width:42px;height:42px;box-shadow:0 0 0 4px #a8ef6120,0 3px 24px #b2f47b38}
.play-button:focus-visible,.transport-small:focus-visible,.library-cue:focus-visible,.library-delete:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.setting-grid{display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:9px;margin:8px 0 13px}.setting-grid.two{grid-template-columns:1fr 1fr}
.setting-grid select,.setting-grid input,.field #setting-api-url,.field #setting-api-key{min-width:0;width:100%;background:#131c17;color:#e6f2df;border:1px solid #4b5f4b;border-radius:7px;padding:9px;font-size:11px}
.setting-grid .mini-field{color:#adc5aa;font-size:10px;letter-spacing:0;font-weight:600;display:block}
.setting-grid .mini-field input{display:block;margin-top:7px}
.setting-api-status{font-size:10px;margin:9px 0;color:#b7e5a0;overflow-wrap:anywhere}
.api-actions{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.api-actions .btn{padding:8px 9px;font-size:10px}
.api-indicator{font-size:8px;margin-left:5px;color:#a6ada5}.api-indicator.ready{color:var(--lime)}
.analysis-summary{font-size:10px;margin:12px 0;color:#cfebbe;background:#283b2d;border-radius:5px;padding:8px}
.segment-chips{display:flex;flex-wrap:wrap;gap:5px}.segment-chips span{color:#c9e2b8;background:#2c382c;border:1px solid #465946;padding:4px 6px;font-size:9px;border-radius:5px}
.modal{width:min(570px,100%)}
#quick-fade:disabled{opacity:.32;cursor:default}
@media(max-width:780px){.cue-deck{padding:10px}.cue-routing span{display:none}.drag-trash{right:10px;bottom:116px;padding:15px}.setting-grid{grid-template-columns:1fr 1fr}.setting-grid select{grid-column:1/-1}}
.skip-button{position:relative;width:32px;height:33px}
.skip-button svg{width:22px;height:22px}
.skip-button small{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);font-size:8px;font-weight:900;color:var(--lime);background:#171c1d;padding:0 1px;pointer-events:none}
.skip-button:hover small{color:#d5ffa0}
.cue-disclaimer{font-size:8px;line-height:1.5;color:#8caa8e;margin-top:7px}
@media(max-width:780px){.player-controls{gap:5px}.skip-button{width:25px}.skip-button svg{width:18px}.cue-disclaimer{display:none}}

/* V3 — transport tempo feedback, library/setlist backups, async job progress */
.project-actions{display:flex;gap:7px;margin:10px 0 12px;flex-wrap:wrap}
.project-actions button{flex:1;background:rgba(255,255,255,.038);border:1px solid rgba(255,255,255,.11);border-radius:7px;color:#a6adbb;font-size:10px;letter-spacing:.04em;font-weight:750;padding:9px 10px;cursor:pointer;transition:.2s}
.project-actions button:hover,.project-actions button:focus-visible{color:#d7ff77;border-color:#a9dc43;background:rgba(176,247,90,.08)}
.set-actions{margin:0 18px 12px}
.track-tag.tempo-changing{color:#ffae43!important;border-color:rgba(255,164,54,.7)!important;background:rgba(255,147,41,.13)!important;animation:tempo-pulse 1.5s ease-in-out infinite}
@keyframes tempo-pulse{0%,100%{opacity:1;box-shadow:0 0 0 rgba(255,154,51,0)}50%{opacity:.52;box-shadow:0 0 12px rgba(255,154,51,.18)}}
.stem-tile{position:relative}
.stem-hotkey{position:absolute;right:7px;top:5px;font:700 10px ui-monospace,monospace;color:rgba(255,255,255,.45)}
.stem-tile.active .stem-hotkey{color:#c4ff65}
.job-card{border:1px solid rgba(182,230,92,.27);border-radius:9px;background:rgba(182,230,92,.045);padding:13px;margin:13px 0;color:#dce3ee}
.job-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;margin-bottom:10px}
.job-head strong{font-size:10px;letter-spacing:.08em;color:#d1ff7c}
.job-head span,.job-card small{color:#9fa8b8;font-size:11px}
.job-progress{height:6px;background:#28302b;border-radius:15px;overflow:hidden;margin-bottom:9px}
.job-progress>div{height:100%;background:linear-gradient(90deg,#80bf35,#c7ff74);border-radius:15px;transition:width .45s}
.job-progress.indeterminate>div{animation:job-sweep 1.8s ease-in-out infinite}
@keyframes job-sweep{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}
.job-cancel{display:block;margin-top:11px;color:#ffbb7b!important}

/* V4 library enrichment control and lock status */
.library-analyze { border:1px solid #394b41; border-radius:10px; background:rgba(187,238,117,.08); color:#c6f58c; padding:6px 9px; font-weight:800; font-size:17px; cursor:pointer; min-width:30px; }
.library-analyze:hover {background:#33432c;}
.library-analyze.busy {color:#ffc57d; border-color:#87643a;background:#423022;}
.library-processing {opacity:.79;}
.library-processing .library-add:disabled, .library-processing .library-delete:disabled {cursor:not-allowed;opacity:.30;}
.library-processing .library-art {outline:1px solid #cf965c;}
/* V6.2 performance affordances */
.transport-small.active,#loop-btn.active{color:#c5f478;background:#314528;border:1px solid #678b4d;border-radius:8px;box-shadow:0 0 12px #a2dc5f3d}
.transport-pending{opacity:.72;cursor:progress;box-shadow:0 0 16px #d5f69c77}
.room-visual{border:1px solid #4c5349;border-radius:5px;background:#242c24;color:#b2bcae;font-size:9px;font-weight:800;padding:7px 6px;white-space:nowrap}
.room-visual.active{color:#d3fb91;border-color:#8dab68;background:#304124}
.field .setting-grid .mini-field{letter-spacing:0;text-transform:none;line-height:1.7}
.queue-menu-options{max-height:320px;overflow-y:auto;z-index:20}

.field .check-row{display:flex;align-items:center;gap:8px}.field .check-row input{flex:0 0 auto}
/* V6.3 microphone-assisted relative loudspeaker alignment */
.cal-report{margin-top:14px;border-top:1px solid #344b3d;padding-top:13px;color:#d6e8ce;font-size:12px;line-height:1.8}
.cal-report:empty{display:none}.cal-report strong{color:#c7ff87}.cal-report small{color:#9bb3a4}.cal-report .warning{color:#ffc681}
