@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;600;700&display=swap";:root{--bg:#000;--surface:#1f150c;--raised:#1f150c;--border:#e1dcc947;--text:#fff;--muted:#ffffffad;--accent:#ffd369;--accent-soft:#1f150c;--blue:#fff;--mint:#ffd369}*{box-sizing:border-box}html,body,#app{background:var(--bg);width:100%;min-height:100%;margin:0}body{color:#fff;font-family:Inter,sans-serif;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.muse-app{background:radial-gradient(circle at top right, #ffd3690d, transparent 35%), var(--bg);min-height:100vh;padding-bottom:190px}.mobile-header{z-index:50;border-bottom:1px solid var(--border);background:#000000f0;justify-content:space-between;align-items:center;height:64px;padding:0 18px;display:flex;position:sticky;top:0}.logo{letter-spacing:2px;color:#fff;font-family:Bebas Neue,sans-serif;font-size:32px}.header-add{border:1px solid var(--mint);color:var(--mint);background:0 0;border-radius:8px;padding:8px 13px;font-size:13px;font-weight:600}.header-add:active{background:var(--mint);color:var(--blue)}.mobile-nav{z-index:40;scrollbar-width:none;background:#1f150c;border-bottom:1px solid #e1dcc938;gap:7px;padding:10px 14px;display:flex;position:sticky;top:64px;overflow-x:auto}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav button{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:20px;flex:none;padding:7px 14px;font-size:12px;font-weight:600}.mobile-nav button.active{background:var(--mint);border-color:var(--mint);color:var(--blue)}.main-content{width:100%;max-width:760px;margin:0 auto;padding:26px 16px}.welcome{padding:8px 2px 30px}.welcome p,.eyebrow{color:var(--accent);letter-spacing:1.2px;margin:0 0 8px;font-size:9px;font-weight:700}.welcome h1{letter-spacing:1px;margin:0;font-family:Bebas Neue,sans-serif;font-size:48px;line-height:.95}.welcome span{color:var(--muted);margin-top:10px;font-size:13px;display:block}.library-section{width:100%}.section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-header h2{letter-spacing:.5px;margin:0;font-family:Bebas Neue,sans-serif;font-size:30px}.section-header p{color:var(--muted);margin:3px 0 0;font-size:11px}.delete-button{color:#fff;background:0 0;border:1px solid #e1dcc966;border-radius:8px;flex-shrink:0;padding:8px 10px;font-size:11px;font-weight:600}.search-box{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:9px;width:100%;height:44px;margin-bottom:14px;padding:0 13px;display:flex}.search-box span{color:var(--muted);font-size:22px}.search-box input{color:#fff;background:0 0;border:0;outline:0;width:100%;font-size:13px}.search-box input::placeholder{color:#ffffff73}.song-list{flex-direction:column;gap:7px;display:flex}.song-card{background:var(--surface);border:1px solid #e1dcc938;border-radius:11px;align-items:center;gap:10px;min-height:70px;padding:9px;transition:background .15s,border-color .15s;display:flex;position:relative}.song-card.playing{background:#1f150cf2;border-color:#ffd36973}.song-checkbox{align-items:center;padding:4px;display:flex}.song-checkbox input{width:16px;height:16px;accent-color:var(--mint)}.song-cover{background:var(--accent-soft);width:46px;height:46px;color:var(--mint);border:0;border-radius:8px;flex:0 0 46px;justify-content:center;align-items:center;font-size:20px;display:flex}.song-details{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.song-details strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.song-details span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.song-duration{color:var(--muted);flex-shrink:0;font-size:10px}.menu-button{width:30px;height:36px;color:var(--muted);background:0 0;border:0;font-size:20px}.song-menu-wrapper{position:relative}.song-menu{z-index:30;border:1px solid var(--border);background:#1f150c;border-radius:9px;min-width:130px;padding:5px;position:absolute;top:34px;right:0;box-shadow:0 12px 30px #0006}.song-menu button{color:#fff;text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:9px;font-size:12px}.song-menu button:active{background:var(--raised)}.playing-bars{align-items:center;gap:3px;height:20px;display:flex}.playing-bars i{background:var(--mint);border-radius:2px;width:3px;height:8px;animation:.8s ease-in-out infinite alternate musicBars;display:block}.playing-bars i:nth-child(2){height:17px;animation-delay:.15s}.playing-bars i:nth-child(3){height:12px;animation-delay:.3s}@keyframes musicBars{0%{transform:scaleY(.55)}to{transform:scaleY(1)}}.state-box{border:1px solid var(--border);background:var(--surface);text-align:center;color:var(--muted);border-radius:12px;padding:50px 20px;font-size:13px}.error-state{color:#fff}.empty-state{padding:55px 20px}.empty-icon{color:var(--accent);margin-bottom:10px;font-size:38px}.empty-state h3{color:#fff;margin:0;font-size:15px}.empty-state p{color:var(--muted);margin:7px 0 18px;font-size:12px}.primary-button{border:1px solid var(--mint);background:var(--mint);color:var(--blue);border-radius:8px;padding:10px 14px;font-size:12px;font-weight:700}.primary-button:active{opacity:.8}.full-button{width:100%}.placeholder-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:55vh;display:flex}.placeholder-section h1{margin:0;font-family:Bebas Neue,sans-serif;font-size:48px}.placeholder-section p:last-child{color:var(--muted);margin-top:8px;font-size:13px}.mobile-player{z-index:100;-webkit-backdrop-filter:blur(12px)saturate(125%);background:#1f150c99;border-top:1px solid #e1dcc952;padding:10px 14px 12px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 35px #00000073}.player-top{align-items:center;gap:9px;display:flex}.player-cover{width:40px;height:40px;color:var(--mint);background:#1f150c;border-radius:7px;flex:0 0 40px;justify-content:center;align-items:center;font-size:17px;display:flex}.player-song-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.player-song-info strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.player-song-info span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.lyrics-button-small{border:1px solid var(--mint);color:var(--mint);background:0 0;border-radius:7px;flex-shrink:0;padding:7px 9px;font-size:10px;font-weight:600}.player-controls{justify-content:center;align-items:center;gap:12px;margin-top:8px;display:flex}.player-controls>button{min-width:35px;height:35px;color:var(--mint);background:0 0;border:0;border-radius:50%;font-size:18px}.main-play-button{background:var(--mint)!important;width:42px!important;height:42px!important;color:var(--blue)!important;font-size:16px!important}.player-controls .repeat-button{color:#ffd369;border:1px solid #e1dcc959;border-radius:7px;width:auto;min-width:65px;padding:0 10px;font-size:10px}.player-controls .repeat-button.active{background:var(--mint);color:var(--blue);border-color:var(--mint)}.progress-area{align-items:center;gap:7px;margin-top:5px;display:flex}.progress-area span{color:var(--muted);flex:none;font-size:9px}.progress-area input{width:100%;height:18px;accent-color:var(--mint);flex:1}.modal-overlay{z-index:200;background:#0009;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--border);background:var(--surface);border-bottom:0;border-radius:18px 18px 0 0;width:100%;max-height:90vh;padding:20px 17px 25px;overflow-y:auto;box-shadow:0 -20px 60px #00000073}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modal-header h2{margin:0;font-family:Bebas Neue,sans-serif;font-size:34px}.modal-header button{border:1px solid var(--border);color:#fff;background:0 0;border-radius:50%;width:34px;height:34px;font-size:22px;line-height:1}.modal-section{margin-bottom:17px}.modal-section h3{margin:0 0 5px;font-size:14px}.modal-section p{color:var(--muted);margin:0 0 10px;font-size:11px}.file-input{border:1px dashed var(--border);min-height:45px;color:var(--muted);background:#1f150c;border-radius:9px;align-items:center;margin-bottom:9px;padding:0 12px;font-size:11px;display:flex;overflow:hidden}.file-input input{display:none}.file-input span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.or-divider{color:var(--muted);align-items:center;gap:10px;margin:20px 0;font-size:10px;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--border);flex:1;height:1px}.text-input{border:1px solid var(--border);color:#fff;background:#1f150c;border-radius:8px;outline:0;width:100%;height:44px;margin-bottom:9px;padding:0 12px;font-size:12px}.text-input:focus{border-color:var(--accent)}.success-message{color:var(--mint);text-align:center;margin:12px 0 0;font-size:11px}.error-message{color:#fff;text-align:center;margin:12px 0 0;font-size:11px}.edit-form{flex-direction:column;gap:12px;margin-bottom:15px;display:flex}.edit-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:11px;font-weight:600;display:flex}.lyrics-overlay{z-index:300;background:#0000008c;align-items:flex-end;display:flex;position:fixed;inset:0}.lyrics-window{border:1px solid var(--border);background:#1f150c;border-bottom:0;border-radius:18px 18px 0 0;flex-direction:column;width:100%;max-height:82vh;display:flex;box-shadow:0 -20px 60px #00000080}.lyrics-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px;display:flex}.lyrics-header div{flex-direction:column;gap:4px;min-width:0;display:flex}.lyrics-header strong{letter-spacing:.5px;text-overflow:ellipsis;white-space:nowrap;font-family:Bebas Neue,sans-serif;font-size:24px;overflow:hidden}.lyrics-header span{color:var(--muted);font-size:11px}.lyrics-header button{border:1px solid var(--border);color:#fff;background:0 0;border-radius:50%;flex-shrink:0;width:34px;height:34px;font-size:23px}.lyrics-content{padding:30px 18px 70px;font-family:Bebas Neue,sans-serif;overflow-y:auto}.lyrics-lines{text-align:center;flex-direction:column;gap:15px;display:flex}.lyrics-line{color:#ffffff73;font-size:20px;line-height:1.15;transition:color .25s,transform .25s}.lyrics-line.active{color:var(--mint);font-size:27px;transform:scale(1.02)}.lyrics-message{color:var(--muted);text-align:center;margin:30px 0;font-family:Inter,sans-serif;font-size:12px}.lyrics-content pre{white-space:pre-wrap;color:#fff;margin:0;font-family:Bebas Neue,sans-serif;font-size:19px;line-height:1.35}@media (width<=380px){.main-content{padding-left:12px;padding-right:12px}.welcome h1{font-size:43px}.song-card{gap:7px}.song-cover{flex-basis:42px;width:42px;height:42px}.song-duration{display:none}.player-controls{gap:7px}.player-controls .repeat-button{min-width:58px;padding:0 7px}}@media (width>=768px){.muse-app{max-width:900px;margin:0 auto}.mobile-header{border-radius:0 0 12px 12px}.modal-overlay,.lyrics-overlay{justify-content:center;align-items:center;padding:20px}.modal,.lyrics-window{border-bottom:1px solid var(--border);border-radius:16px;max-width:520px}}.player-controls button{text-align:center;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex;transform:none}.player-controls .play-button{text-align:center;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex;transform:none}.player-controls button:active{transform:scale(.92)}.player-extra{justify-content:flex-end;align-items:center;gap:6px;width:100%;margin-top:6px;display:flex}.player-extra button{color:#fff;background:0 0;border:1px solid #ffd369;border-radius:7px;flex:none;justify-content:center;align-items:center;min-width:0;height:28px;padding:0 9px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.player-extra button.active,.player-extra button:hover{color:#fff;background:#ffd369}.player-controls{justify-content:center;align-items:center;gap:3px;display:flex}.player-controls button{flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;margin:0;padding:0;line-height:1;display:inline-flex}.player-controls .main-play-button{flex-basis:39px;width:39px;height:39px}.mobile-feature-page{box-sizing:border-box;width:100%;min-width:0;padding:8px 0 28px}.feature-page-header{margin:8px 0 22px}.feature-page-header .eyebrow{color:#9cbdad;letter-spacing:1.6px;margin:0 0 8px;font-size:10px;font-weight:700}.feature-page-header h1{color:#f6eee8;overflow-wrap:anywhere;margin:0;font-size:clamp(27px,7vw,34px);line-height:1.15}.feature-page-header>p:not(.eyebrow){color:#b9aaa5;margin:8px 0 0;font-size:13px}.mobile-artists-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;display:grid}.mobile-artist-card{color:#f6eee8;text-align:center;cursor:pointer;background:#292020;border:1px solid #473936;border-radius:16px;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;min-width:0;padding:16px 8px 14px;transition:background .18s,border-color .18s;display:flex}.mobile-artist-card:active{background:#3b2c2b;border-color:#9cbdad}.mobile-artist-avatar{aspect-ratio:1;color:#294a78;background:#c7f0db;border-radius:50%;place-items:center;width:clamp(64px,21vw,92px);font-size:clamp(25px,8vw,36px);display:grid}.mobile-artist-card strong{overflow-wrap:anywhere;width:100%;font-size:14px;line-height:1.3;display:block}.mobile-artist-count{color:#b9aaa5;font-size:11px}.feature-song-list{flex-direction:column;gap:5px;width:100%;display:flex}.feature-song-row{border-bottom:1px solid #3a302e;align-items:center;gap:10px;min-width:0;padding:9px 5px;display:flex}.feature-song-number{color:#b9aaa5;text-align:center;flex:0 0 18px;font-size:12px}.feature-song-cover{color:#c7f0db;cursor:pointer;background:#473532;border:0;border-radius:8px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.feature-song-info{color:#f6eee8;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:4px;min-width:0;padding:0;display:flex}.feature-song-info strong,.feature-song-info span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.feature-song-info strong{font-size:13px;font-weight:600}.feature-song-info span{color:#b9aaa5;font-size:11px}.feature-remove-favorite{color:#c7f0db;cursor:pointer;background:0 0;border:0;flex:0 0 38px;min-height:40px;font-size:21px}.feature-song-duration{color:#b9aaa5;flex:none;font-size:11px}.feature-empty-state{text-align:center;border:1px dashed #594441;border-radius:16px;flex-direction:column;align-items:center;padding:35px 16px;display:flex}.feature-empty-icon{color:#c7f0db;font-size:34px}.feature-empty-state h2{color:#f6eee8;margin:12px 0 0;font-size:18px}.feature-empty-state p{color:#b9aaa5;max-width:260px;font-size:13px;line-height:1.6}.feature-empty-state button,.artist-shuffle-button,.artist-back-button{color:#294a78;cursor:pointer;background:#c7f0db;border:1px solid #648c7b;border-radius:10px;min-height:40px;padding:9px 14px;font-size:12px;font-weight:700}.artist-back-button{margin-bottom:16px}.artist-shuffle-button{margin-bottom:14px}@media (width<=360px){.mobile-artists-grid{gap:8px}.mobile-artist-card{padding:12px 6px}.feature-song-row{gap:7px}}.artists-page .artist-back-button{box-shadow:none!important;color:#f5d76e!important;background:0 0!important;border:none!important;padding:8px 0!important}.artists-page .artist-shuffle-button{box-shadow:none!important;color:#fff!important;background:0 0!important;border:none!important;padding:8px 0!important}.artists-page .artist-shuffle-button:hover,.artists-page .artist-shuffle-button:active{color:#f5d76e!important;background:0 0!important}.artists-page .mobile-artist-avatar{aspect-ratio:1;text-shadow:0 0 5px #fffc,0 0 10px #fff6;border-radius:50%;place-items:center;min-width:54px;height:54px;display:grid;color:#fff!important;background:#f5d76e!important;width:54px!important;font-size:23px!important}#app .artists-page .artist-back-button{cursor:pointer;color:#ffffffa6!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;margin-bottom:10px!important;padding:0!important}#app .artists-page .artist-back-button:hover,#app .artists-page .artist-back-button:active{color:#ffd369!important;background:0 0!important}
