@import url(https://fonts.googleapis.com/css2?family=Gloria+Hallelujah&display=swap);.carousel .control-arrow,.carousel.carousel-slider .control-arrow{background:none;border:0;cursor:pointer;filter:alpha(opacity=40);font-size:32px;opacity:.4;position:absolute;top:20px;transition:all .25s ease-in;z-index:2}.carousel .control-arrow:focus,.carousel .control-arrow:hover{filter:alpha(opacity=100);opacity:1}.carousel .control-arrow:before,.carousel.carousel-slider .control-arrow:before{border-bottom:8px solid #0000;border-top:8px solid #0000;content:"";display:inline-block;margin:0 5px}.carousel .control-disabled.control-arrow{cursor:inherit;display:none;filter:alpha(opacity=0);opacity:0}.carousel .control-prev.control-arrow{left:0}.carousel .control-prev.control-arrow:before{border-right:8px solid #fff}.carousel .control-next.control-arrow{right:0}.carousel .control-next.control-arrow:before{border-left:8px solid #fff}.carousel-root{outline:none}.carousel{position:relative;width:100%}.carousel *{box-sizing:border-box}.carousel img{display:inline-block;pointer-events:none;width:100%}.carousel .carousel{position:relative}.carousel .control-arrow{background:none;border:0;font-size:18px;margin-top:-13px;outline:0;top:50%}.carousel .thumbs-wrapper{margin:20px;overflow:hidden}.carousel .thumbs{list-style:none;position:relative;transform:translateZ(0);transition:all .15s ease-in;white-space:nowrap}.carousel .thumb{border:3px solid #fff;display:inline-block;margin-right:6px;overflow:hidden;padding:2px;transition:border .15s ease-in;white-space:nowrap}.carousel .thumb:focus{border:3px solid #ccc;outline:none}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #333}.carousel .thumb img{vertical-align:top}.carousel.carousel-slider{margin:0;overflow:hidden;position:relative}.carousel.carousel-slider .control-arrow{bottom:0;color:#fff;font-size:26px;margin-top:0;padding:5px;top:0}.carousel.carousel-slider .control-arrow:hover{background:#0003}.carousel .slider-wrapper{margin:auto;overflow:hidden;transition:height .15s ease-in;width:100%}.carousel .slider-wrapper.axis-horizontal .slider{-ms-box-orient:horizontal;display:-moz-flex;display:flex}.carousel .slider-wrapper.axis-horizontal .slider .slide{flex-direction:column;flex-flow:column}.carousel .slider-wrapper.axis-vertical{-ms-box-orient:horizontal;display:-moz-flex;display:flex}.carousel .slider-wrapper.axis-vertical .slider{flex-direction:column}.carousel .slider{list-style:none;margin:0;padding:0;position:relative;width:100%}.carousel .slider.animated{transition:all .35s ease-in-out}.carousel .slide{margin:0;min-width:100%;position:relative;text-align:center}.carousel .slide img{border:0;vertical-align:top;width:100%}.carousel .slide iframe{border:0;display:inline-block;margin:0 40px 40px;width:calc(100% - 80px)}.carousel .slide .legend{background:#000;border-radius:10px;bottom:40px;color:#fff;font-size:12px;left:50%;margin-left:-45%;opacity:.25;padding:10px;position:absolute;text-align:center;transition:all .5s ease-in-out;transition:opacity .35s ease-in-out;width:90%}.carousel .control-dots{bottom:0;margin:10px 0;padding:0;position:absolute;text-align:center;width:100%;z-index:1}@media (min-width:960px){.carousel .control-dots{bottom:0}}.carousel .control-dots .dot{background:#fff;border-radius:50%;box-shadow:1px 1px 2px #000000e6;cursor:pointer;display:inline-block;filter:alpha(opacity=30);height:8px;margin:0 8px;opacity:.3;transition:opacity .25s ease-in;width:8px}.carousel .control-dots .dot.selected,.carousel .control-dots .dot:hover{filter:alpha(opacity=100);opacity:1}.carousel .carousel-status{color:#fff;font-size:10px;padding:5px;position:absolute;right:0;text-shadow:1px 1px 1px #000000e6;top:0}.carousel:hover .slide .legend{opacity:1}.donate-button{align-items:center;animation:slideIn .5s ease;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:20px;font-weight:500;height:56px;justify-content:center;position:fixed;right:20px;top:20px;transition:all .3s ease;width:56px;z-index:999}.donate-button:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-2px)}.donate-backdrop{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0003;bottom:0;left:0;position:fixed;right:0;top:0;z-index:997}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.donate-popup{animation:popIn .3s ease;background:#fff;border:1px solid #0000000d;border-radius:20px;box-shadow:0 20px 60px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;overflow:hidden;position:fixed;right:20px;top:80px;width:380px;z-index:998}@keyframes popIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.donate-header{border-bottom:1px solid #e5e7eb;margin-bottom:24px;padding:24px 28px 0;text-align:center}.donate-header h2{align-items:center;color:#1f2937;display:flex;font-size:24px;font-weight:600;gap:12px;margin:0}.donate-header h2 svg{color:#10b981}.donate-close-button{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:50%;box-shadow:0 4px 12px #0000001a;color:#6b7280;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;padding:12px;position:fixed;right:50px;top:50px;transition:all .2s;width:40px;z-index:999}.donate-close-button:hover{background:#f9fafb;border-color:#d1d5db;color:#374151;transform:scale(1.05)}.donate-content{padding:0 28px 28px}.donate-content p{color:#374151;font-size:15px;line-height:1.6;margin-bottom:24px;text-align:left}.donate-link{background:linear-gradient(135deg,#10b981,#059669);border-radius:10px;color:#fff;display:block;font-size:15px;font-weight:600;margin-bottom:12px;padding:14px 24px;text-align:center;text-decoration:none;transition:all .2s ease}.donate-link:hover{box-shadow:0 8px 20px #10b9814d;transform:translateY(-2px)}.donate-close{background:#0000;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:block;font-size:14px;font-weight:500;padding:10px;transition:all .2s ease;width:100%}.donate-close:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}@media screen and (max-width:768px){.donate-button{animation:slideIn .5s ease;border-radius:50%;font-size:18px;gap:0;height:48px;justify-content:center;padding:0;right:8px;top:8px;width:48px}.donate-popup{animation:popIn .3s ease;left:15px;margin:0 auto;max-width:360px;right:15px;top:75px;width:auto}.donate-close-button{font-size:14px;height:36px;padding:10px;right:25px;top:45px;width:36px}.donate-header{margin-bottom:20px;padding:20px 20px 0}.donate-header h2{font-size:20px}.donate-content{padding:0 20px 20px}}@media screen and (max-width:480px){.donate-button{font-size:16px;height:44px;right:8px;top:8px;width:44px}.donate-popup{left:15px;right:15px;top:70px}.donate-close-button{font-size:12px;height:32px;padding:8px;right:20px;top:40px;width:32px}.donate-header{margin-bottom:16px;padding:16px 16px 0}.donate-content{padding:0 16px 16px}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes popInFromBottom{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}*{box-sizing:border-box;font-family:inherit;margin:0;padding:0}body{background:var(--background-color);color:var(--text-color)}a,body,button,div,h1,h2,h3,h4,h5,h6,input,label,li,ol,p,select,span,textarea,ul{font-family:var(--font-family)}.hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}:root{--primary-color:#000;--primary-hover:#63517e;--secondary-color:#000;--background-color:#fff;--text-color:#333;--font-family:"Krona One","Gloria Hallelujah",cursive;--font-family-heading:"Krona One","Gloria Hallelujah",cursive;--font-family-body:"Krona One","Gloria Hallelujah",cursive;--font-size:12px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-weight-normal:400}.main{margin:100px auto auto;padding-top:10px;transition:all .4s ease-in-out}.main.shift-up{margin-top:-50px;padding-top:0}.header{margin-top:100px;position:relative;text-align:center}.logo{left:50%;margin-top:20px;max-width:150px;position:absolute;top:-86px;transform:translateX(-50%);transition:all .3s ease-in-out}.logo.shrink{left:41px;max-width:50px;position:absolute;top:-50px}.mobile-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;display:none;height:60px;justify-content:space-between;left:0;padding:0 16px;position:fixed;right:0;top:0;z-index:100}.mobile-menu-button{align-items:center;background:none;border:none;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;transition:background-color .2s;width:40px}.mobile-menu-button:hover{background-color:#f3f4f6}.mobile-logo{height:40px;width:auto}.mobile-header-spacer{width:40px}@media screen and (max-width:768px){.mobile-header{display:flex}.header,.toggle-setlist{display:none}.app{padding-top:60px}.main{margin-top:0;padding-top:0}.main.shift-up{padding-top:52px}}.container{position:relative}.button{background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;padding:10px 15px;transition:background .3s}.button:hover{background:var(--primary-hover)}.logout-button{background:none;border:none;color:#a6a6a6;cursor:pointer;font-family:var(--font-family);font-size:16px;margin:0;padding:0;position:absolute;right:23px;top:10px}.logout-button:hover{color:var(--primary-hover);text-decoration:none}.list-button{background:none;border:none;color:#000;cursor:pointer;display:block;font:inherit;margin:0;padding:0;position:relative;text-align:left;text-decoration:none;transition:all .4s ease}.list-button:after{background:#000;bottom:0;content:"";height:5px;left:0;position:absolute;transition:all .4s ease-out;width:0}.list-button:hover{color:var(--primary-hover)}.list-button:hover:after{width:100%}.list li:first-child .list-button{color:#000}.list ul.active li{border:none;padding:0 10px;text-align:center}.list__ul.active li:first-child{margin-top:0}.list__ul.active li:last-child{margin-bottom:0}.list__ul.active li{border:none;padding:0 10px;text-align:center}.list__ul.active{border-radius:15px;padding:10px}.list-wrapper{position:absolute;width:100%}input,label{font-family:var(--font-family);transition:all .2s ease}input{border:0;border-bottom:1px solid #ccc;border-radius:0;font-size:18px;padding:5px 17px;text-align:center}input:focus{border-color:#000;outline:0}input::placeholder{opacity:0;transition:opacity .2s ease-in-out}input:placeholder-shown+label{cursor:text;overflow:hidden;text-overflow:ellipsis;transform-origin:center bottom;white-space:nowrap}input:focus,input:not(:placeholder-shown){color:#000;color:var(--primary-text-color,#000);cursor:default}label{color:#ccc;color:var(--label-color,#ccc);font-size:var(--font-size)}::-webkit-input-placeholder{opacity:0;-webkit-transition:inherit;transition:inherit}.list{display:inline-block;font-family:var(--font-family);margin-left:6px;position:relative}.list ul{marker:none;display:none;left:-10px;padding:0;position:absolute;text-align:left;top:0}.list ul.active{background:#fff;display:block;width:max-content;z-index:10}.list a,.list li:first-child a{color:#000}.list a{position:relative;transition:all .4s}.list a:after{background:#000;bottom:0;content:"";height:5px;left:0;position:absolute;transition:all .4s ease-out;width:0}.list a:hover{color:var(--primary-hover);cursor:pointer}.list a:hover:after{width:100%}select{-webkit-appearance:none;appearance:none;-moz-appearance:none;background:#d3edd9;border:0;border-bottom:2px solid #555;border-radius:10px;color:#000;display:inline;outline:none;padding:0 5px;transition:all .4s ease-in-out;width:auto}select:hover{cursor:pointer}select option{-webkit-appearance:none;appearance:none;-moz-appearance:none;border:0;border-bottom:1px solid #555;padding:10px}.placeholder{cursor:pointer}.placeholder:hover{color:#888}::marker{content:""!important}.search-wrapper{font-family:var(--font-family);margin:50px auto 0;max-width:600px;position:relative}.search-container{align-items:flex-start;display:flex;gap:16px;justify-content:center}.search-input-container{flex:1 1;max-width:500px;position:relative}.search-input-wrapper{align-items:center;display:flex}.search-wrapper input{background:#fff;border:2px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d;font-family:var(--font-family);font-size:16px;outline:none;padding:16px 90px 16px 50px;transition:all .2s;width:100%}.search-wrapper input:focus{border-color:#000;box-shadow:0 4px 6px -1px #0000000d}.search-wrapper input::placeholder{color:#9ca3af}.search-icon{left:18px;z-index:2}.search-icon,.search-label{color:#9ca3af;font-size:16px;pointer-events:none}.search-label{background:#0000;font-family:var(--font-family);left:50px;opacity:1;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease}.search-label.hidden{opacity:0;transform:translateY(-50%) scale(.8)}.search-actions{align-items:center;display:flex;gap:8px;position:absolute;right:25px;top:50%;transform:translateY(-50%);z-index:10}.clear-icon,.search-actions .dice-icon{color:#6b7280;font-size:18px}.clear-icon{cursor:pointer;transition:all .2s}.clear-icon:hover{color:#dc2626;transform:scale(1.1)}.search-dropdown{background:#fff;border:2px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;left:0;margin-top:4px;max-height:400px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.search-filters{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex}.filter-tab{align-items:center;background:#0000;border:none;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-family:var(--font-family);font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:12px 16px;transition:all .2s}.filter-tab:hover{background:#f3f4f6;color:#374151}.filter-tab.active{background:#fff;color:#000;position:relative}.filter-tab.active:after{background:#000;bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.search-results{max-height:300px;overflow-y:auto}.search-result-item{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:all .2s}.search-result-item:hover{background:#f9fafb}.search-result-item:last-child{border-bottom:none}.result-info{align-items:center;display:flex;flex:1 1;gap:8px}.result-title{color:#1f2937;font-size:15px;font-weight:500}.result-key{color:#6b7280;font-size:13px;font-weight:400}.result-actions{display:flex;gap:8px}.result-add-setlist,.result-favorite{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:all .2s;width:32px}.result-favorite:hover{background:#fef2f2;border-color:#dc2626;color:#dc2626}.result-favorite.favorited{background:#dc2626;border-color:#dc2626;color:#fff}.result-add-setlist:hover{background:#f0fdf4;border-color:#059669;color:#059669}.result-add-setlist.in-setlist{background:#059669;border-color:#059669;color:#fff}.no-results{color:#6b7280;padding:32px 20px}.no-results p{font-weight:500;margin-bottom:4px}.no-results small{color:#9ca3af;font-size:13px}.loading-container{align-items:center;display:flex;height:200px;justify-content:center}.loading-animation{width:50px}@media screen and (max-width:768px){.search-wrapper{margin:20px auto 0;max-width:100%;padding:0 16px}.search-container{gap:12px}.search-input-container{max-width:none}.search-wrapper input{border-radius:12px;border-width:1px;box-shadow:0 2px 4px -1px #0000000d;font-size:14px;padding:12px 70px 12px 40px}.search-icon{font-size:14px;left:14px}.search-actions{gap:6px;right:16px}.clear-icon{font-size:16px}.search-label{font-size:14px;left:40px}.search-dropdown{border-radius:12px;border-width:1px;box-shadow:0 4px 8px -2px #0000001a;margin-top:2px}}@media screen and (max-width:480px){.search-wrapper{margin:15px auto 0;padding:0 12px}.search-wrapper input{border-radius:10px;font-size:13px;padding:10px 60px 10px 36px}.search-icon{font-size:13px;left:12px}.search-actions{gap:4px;right:14px}.clear-icon{font-size:14px}.search-label{font-size:13px;left:36px}}.toggle-setlist{background:#000;border-radius:5px;color:#fff;cursor:pointer;left:-6px;padding:10px 15px;position:absolute;top:100px;transform:translateY(-50%)}.setlists-header{justify-content:space-between}.setlists-header h3{cursor:pointer}.setlists-item{align-items:center;display:flex;padding:10px 5px}.setlist-item-drag{cursor:grab;height:2em;margin:0 5px}.sidebar-container{background:#fff;box-shadow:2px 0 8px #00000026;display:flex;flex-direction:column;font-size:14px;height:100%;left:-350px;min-width:333px;padding-right:4px;position:fixed;top:0;transition:left .3s ease-in-out;width:350px;z-index:1000}.sidebar-container.active{left:0}.sidebar-header{background:#f8f9fa;border-bottom:1px solid #e5e5e5;justify-content:space-between;padding:20px}.sidebar-header,.sidebar-title{align-items:center;display:flex}.sidebar-title{font-size:16px;font-weight:600;gap:8px;margin:0}.tab-navigation{border-bottom:1px solid #e5e5e5;display:flex}.tab-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:10px 14px;transition:all .2s}.tab-btn:hover{background:#f8f9fa}.tab-btn.active{background:#000;color:#fff}.search-filter{border-bottom:1px solid #e5e5e5;padding:16px 20px}.search-input-wrapper{position:relative}.search-icon{color:#6c757d;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.search-filter-input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px 8px 36px;width:100%}.sidebar-content{flex:1 1;overflow-y:auto;padding:0}.close-button{color:#000;font-size:20px;position:absolute;right:21px;top:9px;transition:color .3s}.close-button svg:hover{color:darkred!important}.setlist-h2 svg{margin-right:10px}.setlist-actions{display:flex;flex-direction:column;flex-wrap:wrap;margin-left:10px}.create-setlist-btn{background:none;border:none;cursor:pointer;font-family:var(--font-family);font-size:var(--font-size);font-size:18px;text-align:left}.upload-setlist-label{color:#000;cursor:pointer;font-size:18px}.upload-setlist-label svg:hover{color:var(--primary-hover)}.add-to-setlist{font-family:var(--font-family);font-size:var(--font-size)}.add-to-setlist,.setlists-header button{background:none;margin-left:10px;text-align:left}.setlists-header button{border:none;cursor:pointer}.setlists-header{align-items:center;display:flex;flex-direction:row;justify-content:flex-start}.setlist-selector{font-family:var(--font-family)}.setlist-wrapper,.setlists{font-size:var(--font-size)}.add-to-setlist{background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:background .3s ease}.add-to-setlist.added{background:#447a51;cursor:default;padding-bottom:3px}.add-to-setlist.added:hover{background:#6dac7b;cursor:pointer}.setlists-item:nth-child(2n){background-color:#f3f3f3}.setlists-item:nth-child(odd){background-color:#e5e5e5}.setlists .remove-button{background:none;border:none;color:var(--secondary-color);cursor:pointer;margin-left:auto;margin-right:5px}.setlist-selector{-webkit-appearance:none;appearance:none;background-color:#fff;border-radius:5px;display:block;font-size:16px;overflow:hidden;padding:0 23px 0 8px;position:relative;text-overflow:ellipsis;white-space:nowrap;width:158px}.setlist-selector-wrapper{display:inline-block;position:relative}.setlist-selector-wrapper:after{color:#333;content:"\2304";font-size:14px;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.setlists-header svg{height:20px;width:20px}.setlist-title{cursor:grab;flex-grow:1;margin:0 10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-setlist-wrapper{display:flex;margin-bottom:10px;padding-top:4px}.create-setlist-input{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:var(--font-family);font-size:18px;justify-content:flex-start;margin-top:2px;text-align:left}.create-setlist-input button{background:none;border:none;border-radius:100px;color:#000;cursor:pointer;font-size:15px;height:17px;margin-left:2px;transition:color .3s;width:17px}.setlist-name-input{margin-left:5px;padding:0;text-align:left;transform:none!important;width:159px}.setlist-selector{margin-left:0}.resize-handle{background-color:#0000001a;cursor:ew-resize;height:100%;position:absolute;right:0;top:0;transition:background-color .2s;width:5px}.resize-handle:hover{background-color:#0003}.favorites-section{padding:20px}.section-header h3{align-items:center;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0 0 12px}.favorites-list{list-style:none;margin:0;padding:0}.favorite-item{align-items:center;border:1px solid #e5e5e5;border-radius:6px;cursor:pointer;display:flex;margin-bottom:8px;padding:12px;transition:all .2s}.favorite-item:hover{background:#f8f9fa;border-color:#000}.song-info{align-items:center;display:flex;flex:1 1;gap:8px}.song-title{font-size:14px;font-weight:500}.song-key{color:#6c757d;font-size:13px}.unfavorite-btn{background:none;border:none;border-radius:4px;color:#dc3545;cursor:pointer;padding:4px 8px;transition:background .2s}.unfavorite-btn:hover{background:#fff5f5}.setlists-section{padding:20px}.setlist-actions{margin-bottom:24px}.action-buttons{display:flex;gap:12px;margin-bottom:16px}.action-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:11px;font-weight:500;gap:6px;justify-content:center;padding:8px 12px;transition:all .2s}.action-btn:hover{background:#f8f9fa;border-color:#000}.create-setlist-form{align-items:center;background:#f8f9fa;border:1px solid #ddd;border-radius:6px;display:flex;gap:8px;padding:12px}.setlist-name-input{background:none;border:none;flex:1 1;font-size:14px;padding:4px 8px}.form-actions{display:flex;gap:4px}.cancel-btn,.confirm-btn{border:none;border-radius:4px;cursor:pointer;padding:4px 8px;transition:background .2s}.confirm-btn{background:#28a745;color:#fff}.cancel-btn{background:#dc3545;color:#fff}.active-setlist{border:1px solid #e5e5e5;border-radius:6px;overflow:hidden}.setlist-header{align-items:baseline;background:#f8f9fa;border-bottom:1px solid #e5e5e5;display:flex;gap:12px;padding:12px 16px}.setlist-selector{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;padding:6px 12px}.setlist-actions-buttons{display:flex;gap:8px}.delete-btn,.export-btn{border:none;border-radius:4px;cursor:pointer;padding:6px 12px;transition:background .2s}.export-btn{background:#000;color:#fff}.delete-btn{background:#dc3545;color:#fff}.songs-list{list-style:none;margin:0;max-height:400px;overflow-y:auto;padding:0}.song-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:background .2s}.song-item:hover{background:#f8f9fa}.song-item.dragging{background:#e3f2fd}.drag-handle{color:#6c757d;cursor:grab}.remove-btn{background:none;border:none;border-radius:4px;color:#dc3545;cursor:pointer;padding:4px;transition:background .2s}.remove-btn:hover{background:#fff5f5}.empty-message{color:#6c757d;font-style:italic;padding:24px;text-align:center}.song-actions{align-items:center;display:flex;gap:12px}.add-to-setlist,.edit-button,.favorite-button,.fullscreen-button,.share-button{align-items:center;background:#fff;border:2px solid #ddd;border-radius:8px;color:#6c757d;cursor:pointer;display:flex;font-size:16px;height:44px;justify-content:center;transition:all .2s;width:44px}.add-to-setlist:hover,.edit-button:hover,.favorite-button:hover,.fullscreen-button:hover,.share-button:hover{border-color:#000;color:#000;transform:scale(1.05)}.add-to-setlist.added{background:#28a745;border-color:#28a745;color:#fff}.add-to-setlist.added:hover{background:#218838;border-color:#218838}.favorite-button:hover{border-color:#dc3545;color:#dc3545}.favorite-button.favorited{background:#dc3545;border-color:#dc3545;color:#fff}.favorite-button.favorited:hover{background:#c82333;border-color:#c82333}.no-select{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.admin-toggle{bottom:20px;left:20px;position:fixed;z-index:1001}.admin-toggle-btn{align-items:center;background:#fff;border:2px solid #ddd;border-radius:8px;color:#6c757d;cursor:pointer;display:flex;font-size:16px;height:44px;justify-content:center;transition:all .2s;width:44px}.admin-toggle-btn:hover{border-color:#000;color:#000;transform:scale(1.05)}.admin-controls{align-items:center;background:#fffffff2;border:1px solid #ddd;border-radius:8px;display:flex;flex-direction:row;gap:10px;justify-content:center;margin:16px auto;max-width:600px;padding:16px}.share-toast{animation:toastFadeIn .3s ease;background:#28a745;border-radius:8px;color:#fff;font-size:14px;font-weight:500;left:50%;padding:12px 24px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1001}@keyframes toastFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.admin-controls input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;padding:8px 12px}.key-pill{align-items:center;background:#e5e7eb;border:1px solid #d1d5db;border-radius:6px;color:#374151;display:inline-flex;font-size:12px;font-weight:500;height:25px;justify-content:center;margin-left:8px;min-width:32px;padding:2px 6px}.key-pill .key-letter{font-family:var(--font-family);font-size:12px;font-weight:500}.key-pill .key-symbol{font-size:14px;font-weight:400}.key-pill sup{font-size:9px;margin-left:-1px}.key-pill.key-c{background:#f3e8ff;border-color:#8b5cf6;color:#7f58af}.key-pill.key-bb{background:#ecfeff;border-color:#039bb6;color:#64c5eb}.key-pill.key-eb{background:#f6e2e4;border-color:#df2e86;color:#e84d8a}.key-pill.key-bass{background:#f7f1d9;border-color:#a77724;color:#feb326}.carousel-container{margin:auto;max-width:630px}.single-image{width:100%}.slide.selected{text-align:center}.slide.selected img{max-width:605px}.carousel-status{display:none}.carousel-root{display:flex;flex-direction:row}.carousel.carousel-slider{flex:none}.carousel .thumbs{display:contents;padding-left:8px}.carousel .thumbs-wrapper{position:absolute;top:25px}@media screen and (max-width:888px){.carousel-root{display:flex;flex-direction:column}.carousel .thumbs-wrapper{position:absolute;top:10px}}.pulse{animation:pulsate 3s ease-out infinite;opacity:.3}@keyframes pulsate{0%{opacity:.3}50%{opacity:1}to{opacity:.5}}.expand:hover{transform:scale(1.2)}.compress:hover{transform:scale(.8)}.settings-wrapper{align-items:center;display:flex;justify-content:space-around;margin:10px auto auto;max-width:600px;padding:5px}.single-image{opacity:0;width:-webkit-fill-available}.controls button{background:none;border:none;cursor:pointer}.crop-controls{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,48px);justify-content:center}.crop-controls button{align-items:center;background:linear-gradient(145deg,#ffffff1a,#ffffff0d);border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:48px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:48px}.crop-controls button:before{background:linear-gradient(145deg,#0000,#ffffff1a);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.crop-controls button:hover{background:linear-gradient(145deg,#fff3,#ffffff1a);border-color:#fff6;box-shadow:0 8px 25px #0000004d,0 0 0 1px #ffffff1a;transform:translateY(-2px)}.crop-controls button:hover:before{opacity:1}.crop-controls button:active{box-shadow:0 4px 12px #0003;transform:translateY(0)}.crop-controls button svg{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));height:22px;transition:all .2s ease;width:22px}.crop-controls button:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));transform:scale(1.1)}.rotate{align-items:center;background:linear-gradient(145deg,#ffffff1a,#ffffff0d);border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:48px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:48px}.rotate:before{background:linear-gradient(145deg,#0000,#ffffff1a);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.rotate:hover{background:linear-gradient(145deg,#fff3,#ffffff1a);border-color:#fff6;box-shadow:0 8px 25px #0000004d,0 0 0 1px #ffffff1a;transform:translateY(-2px)}.rotate:hover:before{opacity:1}.rotate:active{box-shadow:0 4px 12px #0003;transform:translateY(0)}.rotate svg{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));height:22px;transition:all .2s ease;width:22px}.rotate:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));transform:scale(1.1)}.rotate:first-child:hover svg{transform:scale(1.1) rotate(-15deg)}.rotate:last-child:hover svg{transform:scale(1.1) rotate(15deg)}.controls{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d9;border:1px solid #ffffff1a;border-radius:20px;display:flex;gap:16px;justify-content:center;left:50%;margin:auto;opacity:0;padding:20px;position:absolute;top:50%;transform:translate(-50%,-50%) translateY(20px);transition:all .4s cubic-bezier(.4,0,.2,1);visibility:hidden;z-index:1000}.controls.visible{opacity:1;transform:translate(-50%,-50%);visibility:visible}.results:fullscreen{padding:20px}.results:fullscreen .settings-wrapper{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-radius:12px;left:50%;opacity:1;padding:16px;position:absolute;top:20px;transform:translateX(-50%);transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1000}.results:fullscreen .settings-wrapper.hidden{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(-100px)}.toolbar-handle{align-items:center;animation:handlePulse 2s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:0 0 12px 12px;cursor:pointer;display:flex;height:20px;justify-content:center;left:50%;position:absolute;top:0;transform:translateX(-50%);transition:all .3s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:60px;z-index:999}.toolbar-handle:hover{background:#ffffff4d;height:24px}.handle-indicator{background:#fff9;border-radius:2px;height:3px;pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:20px}@keyframes handlePulse{0%,to{opacity:.6}50%{opacity:1}}.results:fullscreen .carousel-container{align-items:center;display:flex;justify-content:center;max-height:90vh;max-width:90vw}.results:fullscreen .carousel{height:100%}.results:fullscreen .carousel .slide img{max-height:80vh;object-fit:contain;width:auto}.edit-image{align-items:center;background:#fff;border:2px solid #ddd;border-radius:8px;color:#6c757d;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s;width:44px}.edit-image svg{height:18px;width:18px}.edit-image:hover{border-color:#000;color:#000;transform:scale(1.05)}.sheet-page{align-items:center;display:flex;justify-content:center;position:relative}.sheet-music{border-radius:10px}.results:fullscreen{align-items:center;background:#000;display:flex;height:100vh;justify-content:center;width:100vw}.results:fullscreen .sheet-music{max-height:100%;max-width:100%}.key-button{align-items:center;background:#fff;border:2px solid #ddd;border-radius:8px;color:#6c757d;cursor:pointer;display:flex;font-family:var(--font-family);height:44px;justify-content:center;margin-left:10px;transition:all .2s;width:44px}.key-symbol{font-family:none;font-size:18px}.key-letter{font-family:var(--font-family);font-size:14px;font-weight:500;padding:0}.key-button.selected{background:#000;border-color:#000;color:#fff;cursor:default}.key-button sup{font-size:10px;margin-left:-2px}.key-button:hover{border-color:#000;color:#000;transform:scale(1.05)}.key-button.selected:hover{background:#000;border-color:#000;color:#fff;transform:none}.key-button.key-c{background:#f3e8ff;border-color:#8b5cf6;color:#6d28d9}.key-button.key-c:hover{background:#ede9fe;border-color:#6d28d9;color:#5b21b6}.key-button.key-c.selected{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.key-button.key-bb{background:#ecfeff;border-color:#06b6d4;color:#0891b2}.key-button.key-bb:hover{background:#cffafe;border-color:#0891b2;color:#0e7490}.key-button.key-bb.selected{background:#06b6d4;border-color:#06b6d4;color:#fff}.key-button.key-eb{background:#fdf2f8;border-color:#ec4899;color:#be185d}.key-button.key-eb:hover{background:#fce7f3;border-color:#be185d;color:#9d174d}.key-button.key-eb.selected{background:#ec4899;border-color:#ec4899;color:#fff}.key-button.key-bass{background:#fef3c7;border-color:#f59e0b;color:#d97706}.key-button.key-bass:hover{background:#fde68a;border-color:#d97706;color:#b45309}.key-button.key-bass.selected{background:#f59e0b;border-color:#f59e0b;color:#fff}.control-dots{display:none}.ireal-url{background-color:initial;background-image:url(/static/media/irealicon.12e5a0525fc44467b7d9.png);background-position:50%;background-repeat:no-repeat;background-size:contain;border:none;border-radius:100px;cursor:pointer;height:44px;padding:0;transition:opacity .3s ease;width:44px}.ireal-url:hover{opacity:.5}.ireal-save{left:14px;margin-left:-17px;margin-right:10px;position:relative}.key-selector{align-items:center;display:flex;justify-content:center}.key-selector-mobile select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1px solid #ddd;border-radius:4px;color:#6c757d;cursor:pointer;font-size:14px;height:32px;padding:0 10px;transition:all .2s;width:62px}.key-selector-mobile select:focus{border-color:#000;box-shadow:0 0 0 2px #007bff1a;outline:none}.key-selector-mobile select:hover{border-color:#000}.key-selector-mobile select[data-key=c]{background:#f3e8ff;border-color:#8b5cf6;color:#6d28d9}.key-selector-mobile select[data-key=bb]{background:#ecfeff;border-color:#06b6d4;color:#0891b2}.key-selector-mobile select[data-key=eb]{background:#fdf2f8;border-color:#ec4899;color:#be185d}.key-selector-mobile select[data-key=bass]{background:#fef3c7;border-color:#f59e0b;color:#d97706}@media screen and (max-width:500px){.controls{top:60%}}@media screen and (max-width:768px){.crop-controls .crop-down,.crop-controls .crop-up{display:none}.settings-wrapper{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto 1fr;margin-top:5px;max-width:100%;padding:8px 12px}.song-actions{flex-shrink:0;flex-wrap:nowrap;gap:8px;justify-content:flex-end}.key-selector{justify-self:flex-start;width:auto}.ireal-url{justify-self:center}.key-selector-mobile{display:block}.key-selector-desktop{display:none}.add-to-setlist,.edit-button,.favorite-button,.fullscreen-button,.ireal-url,.share-button{border-radius:4px;border-width:1px;font-size:12px;height:24px;width:24px}.ireal-url,.key-button{border-radius:4px;height:24px;width:24px}.key-button{font-size:12px}}@media screen and (max-width:768px){.results:fullscreen .settings-wrapper{background:#000000e6;left:50%;max-width:100%;padding:12px 16px;top:10px;transform:translateX(-50%);width:calc(100% - 20px)}}@media screen and (min-width:769px){.key-selector-mobile{display:none}.key-selector-desktop{display:flex}}@media screen and (max-width:480px){.settings-wrapper{gap:6px;grid-template-columns:1fr auto 1fr;padding:6px 57px}.song-actions{gap:6px}.add-to-setlist,.edit-button,.favorite-button,.fullscreen-button,.ireal-url,.share-button{font-size:11px;height:24px;width:24px}.key-selector-mobile select{background-position:right 10px center;background-size:12px;font-size:13px;height:32px;padding:0 10px}}.song-list-wrapper{background-color:#fff;position:relative;z-index:10}.song-list{background:#fff;border-radius:23px;box-shadow:.25rem .25rem .75rem #00000026;font-family:var(--font-family);left:50%;list-style:none;list-style-position:inside;margin:10px auto auto;max-width:400px;padding:0 16px;position:absolute;text-align:center;text-transform:lowercase;top:-37px;transform:translateX(-50%)}.song-list li{color:#000;display:block;margin:auto;padding:5px 0;position:relative;text-decoration:none;width:fit-content}.song-list li:after{background:#000;bottom:0;content:"";height:5px;left:0;margin:auto;position:absolute;transition:all .4s ease-out;width:0}.song-list li:hover{color:#000;cursor:pointer;margin:auto;width:fit-content}.song-list li:hover:after{width:100%}.no-results{text-align:center}.dice-icon{color:#6c757d;cursor:pointer;font-size:20px;transition:all .2s}.dice-icon:hover{color:orange;transform:scale(1.1)}.dice-icon.rolling{animation:diceRoll .8s linear;color:orange}@keyframes diceRoll{0%{transform:rotate(0deg) scale(1)}to{transform:rotate(3turn) scale(1)}}.contact-button{align-items:center;background:#6366f1;border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #6366f14d;color:#fff;cursor:pointer;display:flex;font-size:20px;height:56px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;width:56px;z-index:100}.contact-button:hover{background:#4f46e5;box-shadow:0 8px 20px #6366f166;transform:translateY(-2px)}.contact-button:active{transform:translateY(0)}@media screen and (max-width:768px){.contact-button{bottom:8px;font-size:18px;height:48px;right:8px;width:48px}}@media screen and (max-width:480px){.contact-button{bottom:8px;font-size:16px;height:44px;right:8px;width:44px}}.contact-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.contact-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.contact-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.contact-header h2{align-items:center;color:#1f2937;display:flex;font-size:24px;font-weight:600;gap:12px;margin:0}.contact-header h2 svg{color:#6366f1}.close-button{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:18px;padding:8px;transition:all .2s}.close-button:hover{background:#f3f4f6;color:#374151}.contact-content{padding:0 24px 24px}.contact-form{gap:20px}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:500;gap:8px}.form-group label svg{color:#6366f1;height:16px;width:16px}.form-group input,.form-group textarea{border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:16px;padding:12px 16px;transition:all .2s}.form-group input:focus,.form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.form-group textarea{min-height:100px;resize:vertical}.submit-button{align-items:center;background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;justify-content:center;margin-top:8px;padding:14px 24px;transition:all .2s}.submit-button:hover:not(:disabled){background:#4f46e5;box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.submit-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.success-message{color:#059669;padding:40px 20px;text-align:center}.success-message svg{color:#10b981;font-size:48px;margin-bottom:16px}.success-message h3{color:#1f2937;font-size:24px;margin:0 0 8px}.success-message p{color:#6b7280;font-size:16px;margin:0}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px;padding:12px 16px}@media screen and (max-width:768px){.contact-overlay{padding:10px}.contact-modal{margin:10px;max-height:95vh}.contact-header{margin-bottom:20px;padding:20px 20px 0}.contact-header h2{font-size:20px}.contact-content{padding:0 20px 20px}.form-group input,.form-group textarea{font-size:16px}}@media screen and (max-width:480px){.contact-header{margin-bottom:16px;padding:16px 16px 0}.contact-content{padding:0 16px 16px}.contact-form{gap:16px}}.modal-overlay{align-items:center;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-backdrop{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0006;bottom:0;left:0;position:absolute;right:0;top:0}.modal-close-button{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:50%;box-shadow:0 4px 12px #0000001a;color:#6b7280;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;padding:12px;position:fixed;right:50px;top:50px;transition:all .2s;width:40px;z-index:1001}.modal-close-button:hover{background:#f9fafb;border-color:#d1d5db;color:#374151;transform:scale(1.05)}.modal-container{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;overflow-y:auto;position:relative;width:100%;z-index:1001}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{border-bottom:1px solid #e5e7eb;margin-bottom:24px;padding:24px 24px 10px;text-align:center}.modal-header h2{align-items:center;color:#1f2937;display:flex;font-size:24px;font-weight:600;gap:12px;justify-content:center;margin:0}.contact-modal .modal-header h2 svg{color:#6366f1}.donate-modal .modal-header h2 svg{color:#10b981}.modal-content{padding:0 24px 24px}@media screen and (max-width:768px){.modal-overlay{padding:10px}.modal-container{margin:10px;max-height:95vh}.modal-close-button{font-size:14px;height:36px;padding:10px;right:25px;top:45px;width:36px}.modal-header{margin-bottom:20px;padding:20px 20px 10px}.modal-header h2{font-size:20px}.modal-content{padding:0 20px 20px}}@media screen and (max-width:480px){.modal-close-button{font-size:12px;height:32px;padding:8px;right:20px;top:40px;width:32px}.modal-header{margin-bottom:16px;padding:16px 16px 10px}.modal-content{padding:0 16px 16px}}.modal-title-icon{margin-right:10px}
/*# sourceMappingURL=main.23195789.css.map*/