:root{--bg-dark:#0f172a;--glass-bg:#1e293bb3;--glass-border:#ffffff1a;--primary:#155f82;--primary-rgb:21, 95, 130;--primary-hover:#0f425a;--primary-text:#69b1d3;--secondary:#42cad7;--secondary-rgb:66, 202, 215;--text-main:#f8fafc;--text-muted:#94a3b8;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,#155f8238 0,#0000 50%),radial-gradient(at 100% 100%,#42cad726 0,#0000 50%);background-attachment:fixed;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif}.app-container{max-width:1200px;padding:calc(2rem + var(--safe-top)) 1rem calc(2rem + var(--safe-bottom)) 1rem;flex-direction:column;gap:2rem;margin:0 auto;display:flex}header{text-align:center;margin-bottom:1rem}h1{background:linear-gradient(135deg, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2.5rem;font-weight:800}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 30px #0000001a}.glass-panel:hover{transform:translateY(-2px);box-shadow:0 8px 40px #0003}.input-group{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}textarea,select,input{border:1px solid var(--glass-border);color:var(--text-main);background:#0f172a99;border-radius:8px;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}textarea:focus,select:focus,input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #155f8259}textarea{resize:vertical;min-height:120px}.controls-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}button{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:opacity .2s,transform .1s;display:flex}button:hover{opacity:.9}button:active{transform:scale(.98)}button.danger{color:#ff6b6b;background:#dc354533;border-color:#dc35454d}button.danger:hover{background:#dc35454d}.active-mood{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.trigger-btn{color:var(--text-color);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-weight:600;transition:all .2s;display:flex}.trigger-btn:hover{background:#ffffff1a;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.trigger-btn:active{transform:translateY(1px)}.trigger-btn.intro{color:#4ade80;border-color:#4ade804d}.trigger-btn.outro{color:#f87171;border-color:#f871714d}.trigger-btn.part{color:var(--primary-text);border-color:#155f8266}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.pulse{color:var(--primary-text);animation:1s infinite pulse}button.secondary{border:1px solid var(--glass-border);background:#ffffff1a}button.secondary:hover{background:#ffffff26}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.queue-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.queue-item{background:#ffffff0d;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;transition:background .2s;display:flex}.queue-item:hover{background:#ffffff14}.queue-item.active{border-color:var(--primary);background:#155f822e}.queue-item-title{font-weight:600}.queue-item-chords{color:var(--text-muted);font-size:.875rem}.playback-controls{justify-content:center;gap:1rem;margin-top:1rem;display:flex}.playback-btn{border-radius:50%;width:50px;height:50px;padding:0}.mobile-only{display:none!important}@media (width<=768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.app-container{gap:1rem;padding-bottom:calc(140px + var(--safe-bottom))!important}.app-container.mini-player-expanded{padding-bottom:calc(220px + var(--safe-bottom))!important}.mobile-tab-content{opacity:1!important;flex:100%!important;width:100%!important;max-width:100%!important;overflow:visible!important}.mixer-mobile-wrapper{flex-direction:column!important;width:calc(100% + 2rem)!important;max-width:calc(100% + 2rem)!important;margin:-1rem -1rem 0!important;padding:0!important}.mixer-mobile-wrapper .glass-panel{border-left:none;border-right:none;border-radius:0;height:100%;margin:0;padding:1.5rem 1rem}}@media (width>=769px){.column-scroll{max-height:calc(100vh - 140px);overflow-y:auto}.column-hidden{display:none}}.mobile-tab-bar{height:calc(65px + var(--safe-bottom));-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--glass-border);padding-bottom:var(--safe-bottom);z-index:100;background:#0f172af2;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-tab-btn{color:var(--text-muted);background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;gap:.2rem;height:100%;padding:.5rem;font-size:.75rem;font-weight:500}.mobile-tab-btn:hover,.mobile-tab-btn:active{opacity:1;background:#ffffff0d;transform:none}.mobile-tab-btn.active{color:var(--primary-text)}.mobile-tab-btn.active svg{stroke:var(--primary-text);fill:#155f8240}.mobile-mini-player{bottom:calc(65px + var(--safe-bottom));-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--glass-border);z-index:99;background:#1e293bf2;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;left:0;right:0;box-shadow:0 -4px 12px #0003}.mobile-mini-player-header{justify-content:space-between;align-items:center;height:60px;padding:0 1rem;display:flex}.mini-player-tray{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.5rem;height:0;padding:0 1rem;transition:height .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:auto hidden}.mini-player-tray::-webkit-scrollbar{display:none}.mobile-mini-player.expanded .mini-player-tray{height:80px;padding:.5rem 1rem 1rem}.wysiwyg-editor{background:#00000038;border:1px solid #ffffff0d;border-radius:10px;outline:none;flex-direction:column;gap:.15rem;padding:1.5rem 1.75rem;font-family:inherit;font-size:1.04rem;line-height:1.5;display:flex}.wysiwyg-line{border-radius:5px;flex-wrap:wrap;align-items:flex-end;min-height:2.5rem;padding:3px 4px 0;transition:background .15s;display:flex}.wysiwyg-line:hover{background:#ffffff08}.wysiwyg-line.section-line{min-height:auto;margin-top:1.1rem;padding:0}.wysiwyg-line.section-line:first-child{margin-top:0}.lyric-token{cursor:text;border-radius:4px;flex-direction:column;align-items:center;min-width:10px;margin-top:1.05rem;padding:0 2px;transition:background .15s;display:inline-flex;position:relative}.lyric-token:hover{background:#ffffff0d}.lyric-token.drop-target{background:#3b82f64d}.lyric-token.range-selected{background:#3b82f659}.lyric-token.space-token{min-width:6px;padding:0 1px}.chord-slot{border-radius:4px;justify-content:flex-start;align-items:center;gap:2px;width:100%;min-height:1.05rem;display:flex;position:absolute;top:-1.1rem;left:0}.chord-badge{color:#69b1d3;letter-spacing:.01em;box-shadow:none;cursor:grab;white-space:nowrap;background:0 0;border-radius:3px;padding:0 2px;font-family:SF Mono,JetBrains Mono,ui-monospace,monospace;font-size:.76rem;font-weight:700;line-height:1;transition:color .15s,background .15s}.chord-badge:hover{color:#b5d4e3;background:#155f8240}.chord-badge:focus-within{color:#b5d4e3;background:#155f8266}.chord-badge:active{cursor:grabbing}.chord-badge.dragging{opacity:.4}.section-header-block{color:var(--secondary);text-transform:uppercase;letter-spacing:.09em;cursor:text;background:#42cad71f;border:1px solid #42cad74d;border-radius:6px;align-items:center;margin-bottom:.5rem;padding:.3rem .65rem;font-size:.72rem;font-weight:700;transition:background .15s;display:inline-flex}.section-header-block:hover{background:#42cad733}.section-header-block.range-selected{background:#3b82f659;border-color:#3b82f680}.section-bracket{opacity:.4;padding:0 2px;font-weight:400}.inline-input{color:inherit;font:inherit;text-align:center;caret-color:#42cad7;background:0 0;border:none;outline:none;width:auto;min-width:1ch;margin:0;padding:0}.inline-input:focus{box-shadow:inset 0 -2px #42cad7e6}.inline-input.space-token{width:.45em;min-width:.45em}.inline-input.chord-input{color:inherit;font-family:inherit;font-weight:inherit;font-size:inherit;cursor:text;background:0 0;border-radius:2px}.chord-badge.barline{color:#ffffff4d;box-shadow:none;background:0 0;padding:0 4px;font-size:.85rem;font-weight:400}
