.feature-card{background-color:var(--card);border-radius:20px;padding:2rem;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px var(--box-shadow)}.feature-card__header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.feature-card__icon{display:flex;align-items:center;justify-content:center}.feature-card__icon-svg{width:2.5rem;height:2.5rem}.feature-card__title{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:1rem}.feature-card__tag{background-color:var(--primary);color:#fff;font-size:.65rem;font-weight:700;padding:.3rem .5rem;border-radius:.25rem;text-transform:uppercase;letter-spacing:.5px}.feature-card__description{color:var(--text-secondary);line-height:1.5;margin-top:.5rem;margin-bottom:0}@media(max-width:768px){.feature-card{padding:1.5rem}.feature-card__description{font-size:.85rem;line-height:1.3}}.hero-example{position:relative;width:100%;height:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem;box-sizing:border-box;gap:.5rem}.followed-artists-box{background-color:color-mix(in srgb,var(--card) 75%,black);border-radius:.5rem;padding:1rem;box-shadow:0 10px 15px var(--box-shadow);width:270px;z-index:10;margin-right:1rem}.box-header{display:flex;align-items:center;margin-bottom:.75rem;color:#fff}.box-header-icon{margin-right:.5rem;width:18px;height:18px}.box-title{font-weight:700;font-size:1.125rem;margin:0}.artist-list{display:flex;flex-direction:column;gap:.75rem}.artist-card{background-color:var(--card);border-radius:.375rem;padding:.75rem;display:flex;align-items:center}.artist-image{width:48px;height:48px;border-radius:50%;margin-right:.75rem;object-fit:cover}.artist-info{display:flex;flex-direction:column}.artist-name{font-weight:500;color:#fff;margin:0 0 .25rem}.new-releases-box{background-color:color-mix(in srgb,var(--card) 75%,black);border-radius:.5rem;padding:1rem;box-shadow:0 10px 15px var(--box-shadow);width:260px;transform:rotate(3deg);z-index:10}.songs-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.song-card{background-color:var(--card);border-radius:.375rem;padding:.5rem;position:relative}.song-image-container{position:relative;overflow:hidden}.song-image{width:100%;border-radius:.375rem;display:block}.song-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--box-shadow);opacity:0;transition:opacity .2s ease;display:flex;align-items:center;justify-content:center;border-radius:.375rem}.song-card:hover .song-overlay{opacity:1}.play-button{background-color:var(--primary);border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.play-icon{width:12px;height:12px;filter:brightness(0) invert(1)}.song-title{color:#fff;font-size:.75rem;font-weight:500;margin:.25rem 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-artist{color:color-mix(in srgb,var(--white) 65%,black);font-size:.75rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:1200px){.hero-example{max-width:600px;margin:0 auto}}@media(min-width:992px)and (max-width:1199px){.hero-example{max-width:550px}}@media(max-width:992px){.hero-example{flex-direction:row;justify-content:center;gap:1rem;max-width:100%;margin:0 auto}.followed-artists-box{margin-right:1rem;margin-bottom:0;width:35%;min-width:230px}.new-releases-box{transform:rotate(3deg);width:30%;min-width:220px}.songs-grid{display:grid;grid-template-columns:1fr 1fr;gap:.375rem;width:100%}.song-card{width:100%;max-width:100px;margin:0 auto}.song-image-container{width:100%;height:auto}.song-image{max-width:100%;height:auto}}@media(max-width:600px){.hero-example{padding:.5rem}.followed-artists-box,.new-releases-box{min-width:auto;width:48%}.artist-image{width:40px;height:40px}.song-card{max-width:85px}.song-title,.song-artist{font-size:.65rem}}html,body{overflow:visible!important}.landing-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--background);color:var(--text);overflow-x:hidden;overflow-y:visible;position:relative;box-sizing:border-box;width:100%}.landing-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;width:100%;max-width:100%;margin:0 auto;margin-bottom:1rem;box-sizing:border-box}.landing-logo__link{text-decoration:none;color:var(--white)}.landing-logo{display:flex;align-items:center;gap:.5rem}.landing-logo__image{width:3rem;height:3rem}.landing-logo__title{font-size:2.5rem;font-weight:700;margin:0}.landing-logo__title--white{color:var(--text)}.landing-logo__title--green{color:var(--primary)}.login-button-small{display:flex;align-items:center;gap:.5rem;padding:.5rem 2rem;background-color:var(--primary);color:#fff;border-radius:3rem;font-weight:600;text-decoration:none;transition:all .2s ease}.login-button-small:hover{transform:scale(1.05);background-color:color-mix(in srgb,var(--primary) 75%,black)}.login-button-small__logo{width:20px;height:20px}.landing-main{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;max-width:1400px;margin:0 auto;padding:0 2rem 3rem;width:100%;box-sizing:border-box}.hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:1rem;align-items:center}.hero__content{display:flex;flex-direction:column;gap:1.5rem}.hero__title{font-size:3.5rem;font-weight:800;line-height:1;margin:0}.hero__title--highlight{color:var(--primary)}.hero__description{font-size:1.1rem;line-height:1.4;color:var(--text-secondary);margin:0;margin-bottom:.5rem}.hero__buttons{display:flex;gap:1rem;flex-wrap:wrap}.login-button{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 2rem;background-color:var(--primary);color:#fff;border:none;border-radius:3rem;font-size:1.1rem;font-weight:600;cursor:pointer;text-decoration:none;width:fit-content;transition:all .2s ease}.login-button:hover{transform:scale(1.025);box-shadow:0 10px 20px var(--box-shadow);background-color:color-mix(in srgb,var(--primary) 75%,black)}.login-button__logo{width:1.5rem;height:1.5rem}.install-button{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background-color:transparent;color:#fff;border:2px solid var(--card);border-radius:3rem;font-size:1.1rem;font-weight:600;cursor:pointer;text-decoration:none;width:fit-content;transition:all .2s ease}.install-button:hover{transform:scale(1.025);background-color:var(--card);border-color:var(--card)}.install-button--primary{background-color:var(--primary);border-color:var(--primary)}.install-button--primary:hover{background-color:color-mix(in srgb,var(--primary) 75%,black);border-color:color-mix(in srgb,var(--primary) 75%,black)}.install-button__icon{width:1.25rem;height:1.25rem}.hero__image-container{display:flex;justify-content:right;align-items:right}.features{padding:3rem 0;display:flex;flex-direction:column;align-items:center;width:100%}.features__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;width:100%;justify-content:center}.features__grid>:nth-child(4),.features__grid>:nth-child(5){grid-column:span 1}@supports (grid-template-columns: subgrid){.features__grid{display:grid;grid-template-columns:repeat(6,1fr)}.features__grid>:nth-child(1),.features__grid>:nth-child(2),.features__grid>:nth-child(3){grid-column:span 2}.features__grid>:nth-child(4){grid-column:2 / span 2}.features__grid>:nth-child(5){grid-column:4 / span 2}}@supports not (grid-template-columns: subgrid){.features__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}.features__grid>*{flex:0 0 calc(33.333% - 1rem);max-width:calc(33.333% - 1rem)}.features__grid>:nth-child(4),.features__grid>:nth-child(5){flex:0 0 calc(33.333% - 1rem);max-width:calc(33.333% - 1rem)}}.landing-footer{position:relative;width:100%;padding:1.5rem;display:flex;flex-direction:column;align-items:center;background-color:var(--card);text-align:center;box-sizing:border-box}.landing-footer__text{color:var(--text-secondary);margin:0}.landing-footer__legals_container{display:flex;flex-direction:column;align-items:center;gap:0rem}.landing-footer__links{display:flex;flex-direction:row;align-items:center;gap:.5rem;margin-bottom:.25rem}.landing-footer__link{color:var(--primary);text-decoration:none;font-weight:700}.landing-footer__link--github{display:inline-flex;align-items:center;gap:.35rem}.landing-footer__github-icon{width:1rem;height:1rem;vertical-align:middle}.landing-footer__disclaimer{color:color-mix(in srgb,var(--white) 50%,transparent);font-style:italic;font-size:.9rem;margin:0 0 .5rem}@media(max-width:992px){.hero{grid-template-columns:1fr;text-align:center;gap:1.5rem}.landing-main{padding:1rem 2rem}.hero__content{align-items:center;gap:1.5rem}.hero__buttons{justify-content:center}.hero__image-container{justify-content:center;align-items:center}.hero__title{font-size:3rem}.features__grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:1.5rem}.features__grid>*{flex:unset!important;max-width:unset!important;grid-column:span 1!important}.features__grid>:nth-child(5){grid-column:1 / -1!important;max-width:50%;margin:0 auto}}@media(max-width:768px){.landing-header{padding:1rem;flex-wrap:wrap}.landing-main{padding:1rem}.features__grid{grid-template-columns:1fr!important;gap:1.5rem}.features__grid>:nth-child(5){max-width:100%}.hero__buttons{flex-direction:column;align-items:center}.login-button,.install-button{width:100%;max-width:280px;justify-content:center}}@media(max-width:600px){.login-button-small{display:none}.landing-header{justify-content:center;padding-bottom:0;margin-bottom:0}.landing-logo{gap:.75rem}.landing-logo__title{font-size:3rem}.landing-logo__image{height:3rem;width:3rem}.hero__image-container{display:none}.hero__description{padding:.5rem 2rem}.landing-footer__links{flex-wrap:wrap;justify-content:center}}@media(max-width:480px){.hero__description{font-size:1rem;line-height:1.3}}.spinner{display:flex;justify-content:center;align-items:center;width:100%;padding:1rem}.spinner__circle{width:40px;height:40px;border:4px solid color-mix(in srgb,var(--white) 70%,transparent);border-top-color:var(--white);border-radius:50%;animation:spin .8s linear infinite;-webkit-animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tag{display:inline-block;padding:.2rem .7rem;font-size:.7rem;font-weight:500;color:var(--white);text-transform:capitalize;border-radius:.7rem;-webkit-border-radius:.7rem;-moz-border-radius:.7rem;-ms-border-radius:.7rem;-o-border-radius:.7rem}.artist{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem;background-color:var(--card)}.artist__content{display:flex;align-items:center;gap:1rem}.artist__image{display:flex;width:5rem;height:5rem;border-radius:50%;object-fit:cover}.artist__info{display:flex;flex-direction:column;gap:.1rem}.artist__info a{text-decoration:none}.artist__name{font-size:1.5rem;font-weight:700;color:var(--white);margin:0}.artist__tags{display:flex;flex-wrap:wrap;gap:.5rem}.artist__button{display:flex;justify-content:center;align-items:center;padding:.5rem;font-weight:700;color:var(--white);border:none;cursor:pointer;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;transition:background-color .2s ease;-webkit-transition:background-color .2s ease;-moz-transition:background-color .2s ease;-ms-transition:background-color .2s ease;-o-transition:background-color .2s ease}.artist__button:disabled{opacity:.7;cursor:not-allowed}.artist__button-spinner{display:flex;align-items:center;justify-content:center}.artist__button-spinner .spinner__circle{width:1rem;height:1rem}.artist__button-spinner .spinner{padding:0}.artist__button--unfollow{background-color:var(--red)}.artist__button--unfollow:hover{background-color:color-mix(in srgb,var(--red) 50%,transparent)}.artist__button--follow{background-color:var(--primary)}.artist__button--follow:hover{background-color:color-mix(in srgb,var(--primary) 50%,transparent)}.artist__icon{width:1.5rem;height:1.5rem;object-fit:contain}@media(max-width:768px){.artist{gap:1rem;padding:1rem}.artist__content{gap:.5rem}.artist__image{width:4rem;height:4rem}.artist__name{font-size:1.25rem}.artist__tags{gap:.3rem}.artist__tags .tag{font-size:.6rem}.artist__button{padding:.5rem}.artist__icon{width:1.3rem;height:1.3rem}}.paginated-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.25rem;position:sticky;top:64px;z-index:9;background-color:var(--background);padding-top:.25rem;padding-bottom:.75rem}.paginated-header__title{margin:0}.paginated-header__bottom{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem}.pagination-inline{display:flex;align-items:center;gap:.3rem}.pagination-inline span{margin:0 .5rem}.pagination-inline button{display:flex;justify-content:center;align-items:center;padding:.5rem;font-weight:700;color:var(--white);border:none;cursor:pointer;border-radius:.5rem;background-color:var(--primary);transition:background-color .2s ease;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;-ms-border-radius:.5rem;-o-border-radius:.5rem}.pagination-inline button:hover{background-color:color-mix(in srgb,var(--primary) 50%,transparent)}.pagination-inline button:disabled{opacity:.5;cursor:not-allowed}.records-per-page{margin-left:auto;display:flex;align-items:center;gap:.3rem}.records-per-page label{font-size:.9rem;color:var(--white);font-weight:700}.records-per-page select{background-color:var(--background);color:var(--white);border:none;border-radius:50px;padding:.3rem .5rem;font-weight:700;cursor:pointer;outline:none;transition:background-color .2s ease;text-align:center}.pagination-inline__icon{width:1rem;height:1rem;object-fit:contain}@media(max-width:768px){.paginated-header{flex-direction:column;align-items:flex-start;justify-content:space-between}.paginated-header__bottom{flex-direction:row;justify-content:space-between;width:100%;font-size:.8rem}.pagination-inline{justify-content:flex-start}.records-per-page label{font-size:.8rem!important}.pagination-inline__icon{width:.75rem!important;height:.75rem!important}}.artist-list{margin:0 auto;width:100%}.artist-list__title{font-size:1.5rem;margin:0;margin-bottom:.5rem}.artist-list__list{list-style:none;padding:0;margin:1rem 0;margin-top:0;display:flex;flex-direction:column;gap:1rem}.artist-list__item{width:100%;display:block}.artist-list__empty{display:flex;justify-content:center;align-items:center;height:200px;text-align:center;font-size:1.2rem;color:var(--color-text);background-color:var(--color-background-light);border-radius:8px;margin:2rem 0;padding:2rem}.artist-list__loading{text-align:center;font-size:1rem}.search-bar{position:sticky;top:1rem;display:flex;align-items:center;gap:.5rem;background-color:var(--white);border-radius:.7rem;padding:.7rem;-webkit-border-radius:.7rem;-moz-border-radius:.7rem;-ms-border-radius:.7rem;-o-border-radius:.7rem}.search-bar__input{border:none;outline:none;width:100%}.search-bar__button{background-color:transparent;border:none;cursor:pointer}.search-bar__icon{width:1.5rem;height:1.5rem;filter:invert(.5);-webkit-filter:invert(.5)}.search-bar__title{font-size:1.5rem;margin:0;margin-bottom:.5rem}.search-bar__clear-btn{position:absolute;right:.7rem;background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center}.search-bar__clear-btn img{width:1.5rem;height:1.5rem;opacity:.7;transition:opacity .2s;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-ms-transition:opacity .2s;-o-transition:opacity .2s}.search-bar__clear-btn:hover img{opacity:1}@media(max-width:768px){.search-bar{padding:.5rem;gap:.25rem;border-radius:.5rem}.search-bar__input{font-size:.9rem;padding:.3rem .5rem}.search-bar__icon{width:1.2rem;height:1.2rem}.search-bar__clear-btn{right:.5rem}.search-bar__clear-btn img{width:1.2rem;height:1.2rem}}.generator-page__title{margin-bottom:1rem}.generator-page__description{color:color-mix(in srgb,var(--white) 70%,transparent);margin-bottom:1.5rem;margin-top:0rem;line-height:1.5}.generator-page__search-container{position:relative;width:100%}.generator-page__search-results{position:absolute;width:100%;max-height:500px;overflow-y:auto;background-color:var(--card);margin-top:.5rem;border-radius:.75rem;box-shadow:0 5px 10px var(--box-shadow);z-index:10}.generator-page__search-result-item{display:flex;align-items:center;padding:1.25rem;cursor:pointer;transition:background-color .2s;gap:1rem;border-bottom:1px solid color-mix(in srgb,var(--white) 10%,transparent)}.generator-page__search-result-item:hover{background-color:color-mix(in srgb,var(--card) 90%,var(--white))}.generator-page__search-result-image{width:3rem;height:3rem;border-radius:50%;overflow:hidden;flex-shrink:0;position:relative}.generator-page__search-result-image img{width:100%;height:100%;object-fit:cover}.generator-page__search-result-info{flex:1;min-width:0}.generator-page__search-result-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.1rem}.generator-page__selected-artist{margin-top:2rem;padding:2rem;background-color:var(--card);border-radius:.5rem;display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:center}.generator-page__artist-image-large{width:14rem;height:14rem;border-radius:.5rem;overflow:hidden;flex-shrink:0;position:relative}.generator-page__artist-image-large img{width:100%;height:100%;object-fit:cover}.generator-page__artist-image-link{display:inline-block;width:100%;height:100%;position:relative}.generator-page__artist-spotify-badge{position:absolute;bottom:.5rem;right:.5rem;width:28px;height:28px;background-color:#0009;border-radius:50%;display:flex;justify-content:center;align-items:center}.generator-page__artist-spotify-badge img{width:16px;height:16px}.generator-page__artist-info{flex:1;min-width:280px;display:flex;flex-direction:column;text-align:left;gap:1rem}.generator-page__artist-title{font-size:2.5rem;font-weight:700;color:var(--text);line-height:1}@media(max-width:992px){.generator-page__artist-info{text-align:center}.generator-page__actions{justify-content:center!important}}@media(max-width:640px){.generator-page__selected-artist{padding:2rem;gap:1.5rem}.generator-page__artist-image-large{width:100%;height:auto;aspect-ratio:1;max-width:280px}.generator-page__artist-title{font-size:2rem}}.generator-page__artist-description{font-size:1rem;color:color-mix(in srgb,var(--text) 80%,transparent);line-height:1.3;margin:0}.generator-page__actions{display:flex;gap:1rem;justify-content:flex-start}.generator-page__button{padding:.75rem 2rem;border-radius:.5rem;font-weight:700;transition:all .2s;cursor:pointer;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;-o-transition:all .2s;border:none}.generator-page__button--cancel{background-color:var(--red);color:var(--white)}.generator-page__button--cancel:hover{background-color:color-mix(in srgb,var(--red) 70%,black)}.generator-page__button--generate{background-color:var(--primary);color:#fff}.generator-page__button--generate:hover{background-color:color-mix(in srgb,var(--primary) 70%,black)}.generator-page__loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--overlay);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:100;gap:1rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.generator-page__loading-message{font-size:1.25rem;font-weight:600;color:var(--white)}.generator-page__loading-submessage{font-size:.9rem;color:color-mix(in srgb,var(--white) 70%,transparent)}.generator-page__search-spotify-link{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;background-color:var(--white);border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 0 2px #00000080}.generator-page__search-spotify-link img{width:12px;height:12px}.generator-page__modal-content{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.generator-page__modal-content p{margin:0}.generator-page__modal-image-link{display:block;position:relative;width:10rem;height:10rem;border-radius:.5rem;overflow:hidden;transition:transform .2s ease}.generator-page__modal-image-link:hover{transform:scale(1.02)}.generator-page__modal-image{width:100%;height:100%;object-fit:cover}.generator-page__modal-spotify-badge{position:absolute;bottom:.5rem;right:.5rem;width:28px;height:28px;background-color:#0009;border-radius:50%;display:flex;justify-content:center;align-items:center}.generator-page__modal-spotify-badge img{width:16px;height:16px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--overlay);display:flex;justify-content:center;align-items:center;z-index:12000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{background-color:var(--card);border-radius:.5rem;padding:2rem;box-shadow:0 4px 24px #0003;max-width:500px;width:90%;display:flex;flex-direction:column;align-items:center;gap:1rem;animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal__header{display:flex;align-items:center;gap:1rem;justify-content:center}.modal__icon{width:28px;height:28px;flex-shrink:0}.modal__icon--success{color:var(--primary)}.modal__icon--error{color:var(--red)}.modal__icon--info{color:var(--white)}.modal--success .modal__title{color:var(--primary)}.modal--error .modal__title{color:var(--red)}.modal--info .modal__title{color:var(--white)}.modal__title{font-size:1.5rem;font-weight:700;margin:0;padding:0}.modal__content{font-size:1rem;color:color-mix(in srgb,var(--text) 90%,transparent);text-align:center;line-height:1.4}.modal__actions{display:flex;gap:1rem;margin-top:.5rem}.modal__button{padding:.75rem 2rem;border-radius:.5rem;font-weight:700;cursor:pointer;border:none;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.modal__button--primary{background-color:transparent;color:#fff}.modal__button--primary:hover{background-color:color-mix(in srgb,transparent 80%,black)}.modal__button--secondary{background-color:var(--primary);color:var(--white)}.modal__button--secondary:hover{background-color:color-mix(in srgb,var(--primary) 70%,black)}.modal__button--cancel{background-color:var(--red);color:var(--white)}.modal__button--cancel:hover{background-color:color-mix(in srgb,var(--red) 70%,black)}.modal__button--save{background-color:var(--primary);color:var(--white)}.modal__button--save:hover{background-color:color-mix(in srgb,var(--primary) 70%,black)}.modal__content input[type=checkbox]:checked{accent-color:var(--primary)}.modal__loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10}.modal__button-icon img,.modal__button-icon svg{width:1.25rem;height:1.25rem}.playlist-selector{width:100%}.playlist-selector__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.playlist-selector__title{font-size:1.1rem;font-weight:600;margin:0}.playlist-selector__actions{display:flex;gap:.5rem}.playlist-selector__btn{padding:.4rem .8rem;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease;border:1px solid color-mix(in srgb,var(--white) 20%,transparent)}.playlist-selector__btn--secondary{background-color:transparent;color:var(--white)}.playlist-selector__btn--secondary:hover:not(:disabled){background-color:color-mix(in srgb,var(--white) 10%,transparent)}.playlist-selector__btn--select-all{background-color:var(--primary);color:var(--white);border:none}.playlist-selector__btn--select-all:hover:not(:disabled){background-color:color-mix(in srgb,var(--primary) 70%,black)}.playlist-selector__btn--deselect-all{background-color:var(--red);color:var(--white);border:none}.playlist-selector__btn--deselect-all:hover:not(:disabled){background-color:color-mix(in srgb,var(--red) 70%,black)}.playlist-selector__btn:disabled{opacity:.5;cursor:not-allowed}.playlist-selector__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;max-height:400px;overflow-y:auto;padding:.25rem}.playlist-selector__item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:var(--card);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.playlist-selector__item:hover:not(.disabled){background-color:color-mix(in srgb,var(--card) 70%,white)}.playlist-selector__item.selected{border-color:var(--primary);background-color:color-mix(in srgb,var(--primary) 15%,var(--card))}.playlist-selector__item.disabled{opacity:.6;cursor:not-allowed}.playlist-selector__checkbox{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.playlist-selector__checkbox:disabled{cursor:not-allowed}.playlist-selector__image{width:50px;height:50px;border-radius:4px;overflow:hidden;flex-shrink:0}.playlist-selector__image img{width:100%;height:100%;object-fit:cover}.playlist-selector__info{flex:1;min-width:0}.playlist-selector__name{font-weight:500;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-selector__tracks{font-size:.85rem;color:color-mix(in srgb,var(--white) 60%,transparent)}.playlist-selector__selected-count{margin-top:1rem;text-align:center;font-size:.9rem;color:color-mix(in srgb,var(--white) 60%,transparent)}@media(max-width:768px){.playlist-selector__header{flex-direction:column;align-items:flex-start}.playlist-selector__list{grid-template-columns:1fr;max-height:300px}}.ghost-track-list{display:flex;flex-direction:column;gap:1.5rem}.ghost-track-list__playlist{background-color:var(--card);border-radius:1rem;padding:1rem}.ghost-track-list__playlist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid color-mix(in srgb,var(--white) 15%,transparent);flex-wrap:wrap;gap:.5rem}.ghost-track-list__playlist-info{display:flex;align-items:center;gap:.75rem}.ghost-track-list__playlist-image{width:50px;height:50px;border-radius:4px;object-fit:cover;flex-shrink:0}.ghost-track-list__playlist-details{display:flex;flex-direction:column}.ghost-track-list__playlist-name{font-size:1rem;font-weight:600;color:var(--white);margin:0}.ghost-track-list__playlist-count{font-size:.85rem;color:color-mix(in srgb,var(--white) 60%,transparent);display:flex;align-items:center;gap:.5rem}.ghost-track-list__selected-badge{background-color:var(--primary);color:var(--white);padding:.1rem .5rem;border-radius:12px;font-size:.75rem}.ghost-track-list__playlist-actions{display:flex;gap:.5rem}.ghost-track-list__btn{padding:.35rem .7rem;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s ease;border:none;color:var(--white)}.ghost-track-list__btn--select-all{background-color:var(--primary)}.ghost-track-list__btn--select-all:hover{background-color:color-mix(in srgb,var(--primary) 70%,black)}.ghost-track-list__btn--deselect-all{background-color:var(--red)}.ghost-track-list__btn--deselect-all:hover{background-color:color-mix(in srgb,var(--red) 70%,black)}.ghost-track-list__tracks{display:flex;flex-direction:column;gap:.5rem}.ghost-track-list__track{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:6px;transition:all .2s ease;border:1px solid transparent}.ghost-track-list__track.selectable{cursor:pointer}.ghost-track-list__track.selectable:hover{background-color:color-mix(in srgb,var(--white) 5%,transparent)}.ghost-track-list__track.selected{background-color:color-mix(in srgb,var(--primary) 20%,transparent);border-color:var(--primary)}.ghost-track-list__checkbox{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.ghost-track-list__track-image{width:45px;height:45px;border-radius:4px;overflow:hidden;flex-shrink:0}.ghost-track-list__track-image img{width:100%;height:100%;object-fit:cover}.ghost-track-list__track-info{flex:1;min-width:0}.ghost-track-list__track-name{font-weight:500;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ghost-track-list__track-artist{font-size:.85rem;color:color-mix(in srgb,var(--white) 70%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ghost-track-list__track-album{font-size:.8rem;color:color-mix(in srgb,var(--white) 50%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ghost-track-list__error{margin-top:.5rem;padding:.5rem;background-color:color-mix(in srgb,var(--red) 20%,transparent);color:#ff8a80;border-radius:4px;font-size:.85rem}@media(max-width:768px){.ghost-track-list__playlist-header{flex-direction:column;align-items:flex-start}.ghost-track-list__track{flex-wrap:wrap}}.ghost-tracks-page__title{margin-bottom:1rem}.ghost-tracks-page__description{color:color-mix(in srgb,var(--white) 70%,transparent);margin-bottom:1.5rem;margin-top:0rem;line-height:1.5}.ghost-tracks-page__select-phase{position:relative}.ghost-tracks-page__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.ghost-tracks-page__loading p{color:color-mix(in srgb,var(--white) 70%,transparent)}.ghost-tracks-page__actions{display:flex;justify-content:center;margin-top:1.5rem}.ghost-tracks-page__btn{padding:.5rem 1rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.ghost-tracks-page__btn--primary{background-color:var(--primary);color:var(--white)}.ghost-tracks-page__btn--primary:hover:not(:disabled){background-color:color-mix(in srgb,var(--primary) 80%,black)}.ghost-tracks-page__btn--secondary{background-color:var(--card);color:var(--white);border:1px solid color-mix(in srgb,var(--white) 20%,transparent)}.ghost-tracks-page__btn--secondary:hover:not(:disabled){background-color:color-mix(in srgb,var(--card) 70%,white)}.ghost-tracks-page__btn--danger{background-color:var(--red);color:var(--white)}.ghost-tracks-page__btn--danger:hover:not(:disabled){background-color:color-mix(in srgb,var(--red) 80%,black)}.ghost-tracks-page__btn:disabled{opacity:.5;cursor:not-allowed}.ghost-tracks-page__loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--overlay);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;gap:1rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.ghost-tracks-page__loading-message{font-size:1.25rem;font-weight:600;color:var(--white)}.ghost-tracks-page__loading-submessage{font-size:.9rem;color:color-mix(in srgb,var(--white) 70%,transparent)}.ghost-tracks-page__results-phase{position:relative}.ghost-tracks-page__results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.ghost-tracks-page__results-summary{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.ghost-tracks-page__results-count{font-size:1.1rem;font-weight:600;color:var(--white)}.ghost-tracks-page__scan-time{font-size:.85rem;color:color-mix(in srgb,var(--white) 60%,transparent)}.ghost-tracks-page__selection-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--card);border-radius:8px;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.ghost-tracks-page__selection-info{font-weight:500;color:var(--white)}.ghost-tracks-page__selection-actions{display:flex;gap:.5rem;flex-wrap:wrap}.ghost-tracks-page__removal-summary{text-align:left}.ghost-tracks-page__removal-summary p{margin:.5rem 0}.ghost-tracks-page__removal-failed{color:var(--red)}.ghost-tracks-page__removal-details{margin-top:1rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--white) 20%,transparent)}.ghost-tracks-page__removal-playlist{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid color-mix(in srgb,var(--white) 10%,transparent)}.ghost-tracks-page__removal-playlist:last-child{border-bottom:none}.ghost-tracks-page__removal-playlist-name{font-weight:500}.ghost-tracks-page__removal-playlist-count{color:color-mix(in srgb,var(--white) 70%,transparent);font-size:.9rem}@media(max-width:768px){.ghost-tracks-page__results-header{flex-direction:column;align-items:flex-start}.ghost-tracks-page__results-summary{align-items:flex-start}.ghost-tracks-page__selection-controls{flex-direction:column;align-items:stretch}.ghost-tracks-page__selection-actions{justify-content:center}}.sidebar{background-color:var(--card);width:calc(250px + 4rem);padding:2rem;transition:transform .3s ease,box-shadow .3s ease;position:fixed;top:0;left:0;height:100vh;z-index:99;overflow-y:auto}.sidebar-hidden{transform:translate(-100%)}.overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--overlay);z-index:100;animation:fadeIn .3s ease}.sidebar__nav{display:flex;flex-direction:column;gap:.5rem;margin-top:4rem}.sidebar__link{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;padding:.75rem;border-radius:.5rem;transition:background-color .2s}.sidebar__link.active,.sidebar__link.active:hover{background-color:color-mix(in srgb,var(--primary) 30%,transparent)}.sidebar__link:hover{background-color:color-mix(in srgb,var(--primary) 10%,transparent)}.sidebar__link-icon{width:1.25rem;height:1.25rem}.burger-menu{display:none}.menu-icon{width:2rem;height:2rem;cursor:pointer;transition:transform .3s ease}.sidebar__burger-menu{position:absolute;top:2.5rem;left:2rem;display:none}@media(min-width:769px){.with-sidebar .header .menu-icon{display:none}.sidebar-visible .sidebar__burger-menu{display:block}}.sidebar__close-btn{position:absolute;top:1.25rem;right:1.25rem;display:none}.sidebar__mobile-close{position:absolute;top:2rem;left:1.5rem;display:none}.sidebar__link:last-of-type{position:relative}.sidebar__link:last-of-type:after{display:none}.sidebar__nav a:nth-last-child(2){position:relative}.sidebar__nav a:nth-last-child(2):after{content:"";position:absolute;bottom:-1rem;left:0;width:100%;height:2px;background-color:color-mix(in srgb,var(--white) 90%,transparent)}.kofi-link{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;transition:all .3s ease;background-color:var(--primary);border-radius:.5rem;padding:.75rem;font-weight:600;text-align:center;margin-top:2rem}.kofi-button{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;transition:all .3s ease}.kofi-text{display:inline-block;color:#fff;width:100%;text-align:center}.kofi-link:hover{transform:scale(1.025);background-color:color-mix(in srgb,var(--primary),black 25%)}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;height:100vh;width:80%;max-width:300px;transform:translate(-100%);z-index:200;border-radius:0;margin-right:0;padding-top:2rem}.sidebar.sidebar-visible{transform:translate(0);box-shadow:4px 0 10px var(--box-shadow)}.overlay.active,.sidebar-visible .sidebar__mobile-close{display:block}.burger-menu.open span:nth-child(1),.burger-menu.open span:nth-child(2),.burger-menu.open span:nth-child(3){display:none}}.profile__image{width:2.5rem;height:2.5rem;border-radius:50%;object-fit:cover;display:block}.profile__user-container{position:relative}.profile__image-container{cursor:pointer;transition:transform .2s}.profile__image-container:hover{transform:scale(1.05)}.profile__menu{position:absolute;top:calc(100% + 10px);right:0;background-color:var(--card);border-radius:.5rem;box-shadow:0 4px 12px var(--box-shadow);padding:12px;width:200px;z-index:9999;animation:fadeIn .2s ease;display:flex;flex-direction:column;gap:1rem}.profile__menu-links{display:flex;flex-direction:column;font-size:.9rem}.profile__menu-buttons{display:flex;flex-direction:column;gap:.5rem}.profile__menu-button{color:#fff;border:none;border-radius:.5rem;padding:.5rem 1rem;font-weight:500;cursor:pointer;transition:background-color .2s;display:flex;justify-content:center;align-items:center;gap:.5rem}.profile__menu-icon{width:1.25rem;height:1.25rem}.profile__menu-logout{background-color:var(--red)}.profile__menu-settings{background-color:var(--primary)}.profile__menu-logout:hover{background-color:color-mix(in srgb,var(--red) 50%,transparent)}.profile__menu-settings:hover{background-color:color-mix(in srgb,var(--primary) 50%,transparent)}.profile__menu-link{color:var(--primary);text-decoration:none;font-weight:500;transition:color .2s ease}.profile__menu-link:hover{color:color-mix(in srgb,var(--primary) 75%,white)}.header{z-index:99;position:sticky;top:0;display:flex;flex-direction:column;gap:1rem;padding:2rem 0 1rem;background-color:var(--background)}.profile{display:flex;align-items:center;justify-content:space-between;width:100%}.menu-icon-wrapper{width:2rem;height:2rem;position:relative;flex-shrink:0}.profile .menu-icon{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:1;transition:opacity .3s ease,transform .3s ease}.with-sidebar .profile .menu-icon{opacity:0;pointer-events:none}.profile__title{margin:0;display:flex;gap:.75rem;font-size:1.2rem;transition:transform .3s ease;position:absolute;left:3rem;margin-left:.5rem}.with-sidebar .profile__title{transform:translate(-3rem)}.profile__title--white{color:#fff}.profile__title--green{color:var(--primary)}.profile__logo{width:2.5rem;height:auto}@media(max-width:768px){.profile__title{position:relative;left:0}.with-sidebar .profile__title{transform:none}.header{padding:0rem 0 .5rem;gap:.5rem}}html,body{height:100%;margin:0;padding:0;overflow-x:hidden!important}.home{height:100vh;padding:2rem;padding-bottom:0;padding-top:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.header,.app-layout{margin-left:0;width:100%;transition:margin-left .3s ease,width .3s ease}.app-layout{display:flex;flex:1;position:relative;overflow:hidden}.with-sidebar .header,.with-sidebar .app-layout{margin-left:calc(250px + 4rem);width:calc(100% - 250px - 4rem)}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;height:calc(100vh - 8rem);scrollbar-color:color-mix(in srgb,var(--white) 80%,transparent) transparent;padding-right:.5rem;padding-left:.5rem;transition:margin-left .3s ease,width .3s ease}.main-content::-webkit-scrollbar{width:.5rem;margin-left:.5rem}.main-content::-webkit-scrollbar-track{background:transparent;margin-left:.5rem}.main-content::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--white) 80%,transparent);border-radius:.5rem;border:2px solid transparent;background-clip:padding-box}.main-content::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--white) 70%,transparent)}.main-content{position:relative}.main-content:after{content:"";position:absolute;top:0;right:0;width:1.5rem;height:100%;pointer-events:none}.page-content{display:flex;flex-direction:column;position:relative;padding-bottom:2rem}.sticky-element{position:sticky;top:0;z-index:10;background-color:var(--background);padding:1rem 0;margin-bottom:0;border-bottom:none}.search-container{padding-bottom:.5rem;border-bottom:none;background-color:var(--background)}@media(max-width:768px){.header,.app-layout,.main-content{transition:none}.home{padding:1rem;padding-bottom:0!important}.with-sidebar .header,.with-sidebar .app-layout{margin-left:0;width:100%}.main-content{margin-left:0;width:100%;padding-left:0;height:calc(100vh - 12rem)}.header{padding:0rem 0 .5rem;gap:.5rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.generator-page{padding:1.5rem;background-color:var(--card);border-radius:.5rem;margin-bottom:1rem;margin:1rem 0}.generator-page p{color:#fff;line-height:1.5}.legal-page{max-width:900px;margin:0 auto;padding:2rem 1rem 4rem;display:flex;flex-direction:column;align-items:center;color:var(--text)}.legal-title{margin-bottom:2rem;font-size:2rem;font-weight:700;text-align:center;color:var(--primary)}.legal-content{width:100%;white-space:pre-wrap;line-height:1.6;font-size:.95rem;background-color:var(--card);padding:2rem;border-radius:.5rem;box-shadow:0 4px 12px var(--box-shadow);overflow-x:auto}.error{color:var(--red)}.install-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--background);color:var(--white)}.install-header{display:flex;justify-content:center;align-items:center;padding:1.5rem 2rem;width:100%;box-sizing:border-box}.install-logo__link{text-decoration:none;color:var(--white)}.install-logo{display:flex;align-items:center;gap:.5rem}.install-logo__image{width:2.5rem;height:2.5rem}.install-logo__title{font-size:2rem;font-weight:700;margin:0}.install-logo__title--white{color:var(--white)}.install-logo__title--green{color:var(--primary)}.install-main{flex:1;display:flex;justify-content:center;padding:0 2rem 3rem}.install-content{max-width:800px;width:100%}.install-title{font-size:2.5rem;font-weight:800;margin:0 0 .5rem;text-align:center;color:var(--primary)}.install-subtitle{font-size:1.1rem;color:var(--text-secondary);text-align:center;margin:0 0 3rem}.install-section{margin-bottom:2.5rem}.install-section--centered{text-align:center}.install-section__title{font-size:1.5rem;font-weight:700;margin:0 0 1rem;display:flex;align-items:center;gap:.75rem}.install-step-number{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:var(--primary);color:#fff;border-radius:50%;font-size:1rem;font-weight:700;flex-shrink:0}.install-section__description{color:var(--text-secondary);margin:1rem 0;line-height:1.6}.install-section__description code{background-color:var(--card);padding:.2rem .5rem;border-radius:.25rem;font-family:Fira Code,Consolas,monospace;font-size:.9em}.install-prerequisites{list-style:none;padding:0;margin:0}.install-prerequisites li{padding:.75rem 1rem;background-color:var(--card);border-radius:.5rem;margin-bottom:.5rem}.install-prerequisites a{color:var(--primary);text-decoration:none;font-weight:600}.install-prerequisites a:hover{text-decoration:underline}.install-numbered-list{padding-left:1.5rem;margin:0}.install-numbered-list li{margin-bottom:.75rem;line-height:1.6}.install-numbered-list a{color:var(--primary);text-decoration:none}.install-numbered-list a:hover{text-decoration:underline}.install-nested-list{list-style:disc;padding-left:1.5rem;margin:.5rem 0}.install-nested-list li{margin-bottom:.25rem}.install-nested-list code{background-color:var(--card);padding:.2rem .5rem;border-radius:.25rem;font-family:Fira Code,Consolas,monospace;font-size:.9em}.install-tabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:2px solid var(--card)}.install-tab{flex:1;padding:.85rem 1.5rem;background:transparent;border:none;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent;margin-bottom:-2px}.install-tab:hover{color:var(--white)}.install-tab--active{color:var(--primary);border-bottom-color:var(--primary)}.code-block{background-color:#1a1a1a;border-radius:.5rem;overflow:hidden;margin:1rem 0;border:1px solid var(--card)}.code-block__header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background-color:var(--card);border-bottom:1px solid #444}.code-block__language{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600;letter-spacing:.5px}.code-block__copy{background-color:transparent;border:1px solid var(--text-secondary);color:var(--text-secondary);padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;cursor:pointer;transition:all .2s ease}.code-block__copy:hover,.code-block__copy--copied{background-color:var(--primary);border-color:var(--primary);color:#fff}.code-block__content{margin:0;padding:1rem;overflow-x:auto;font-family:Fira Code,Consolas,Monaco,monospace;font-size:.9rem;line-height:1.6;color:#e0e0e0}.code-block__content code{font-family:inherit}.install-callout{display:flex;gap:1rem;padding:1rem 1.25rem;background-color:color-mix(in srgb,var(--primary) 15%,transparent);border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);border-radius:.5rem;margin:1rem 0}.install-callout--warning{background-color:color-mix(in srgb,#f59e0b 15%,transparent);border-color:color-mix(in srgb,#f59e0b 40%,transparent)}.install-callout__icon{font-size:1.25rem;flex-shrink:0}.install-callout__content{line-height:1.6;font-size:.95rem}.install-callout__content code{background-color:var(--card);padding:.15rem .4rem;border-radius:.25rem;font-family:Fira Code,Consolas,monospace;font-size:.85em}.install-github-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background-color:var(--card);color:#fff;border-radius:3rem;font-weight:600;text-decoration:none;transition:all .2s ease;margin-top:1rem}.install-github-button:hover{transform:scale(1.025);background-color:color-mix(in srgb,var(--card) 80%,white)}.install-footer{position:relative;width:100%;padding:1.5rem;display:flex;flex-direction:column;align-items:center;background-color:var(--card);text-align:center;box-sizing:border-box}.install-footer__text{color:var(--text-secondary);margin:0}.install-footer__legals_container{display:flex;flex-direction:column;align-items:center;gap:0rem}.install-footer__links{display:flex;flex-direction:row;align-items:center;gap:.5rem;margin-bottom:.25rem}.install-footer__link{color:var(--primary);text-decoration:none;font-weight:700}.install-footer__link--github{display:inline-flex;align-items:center;gap:.35rem}.install-footer__github-icon{width:1rem;height:1rem;vertical-align:middle}.install-footer__disclaimer{color:color-mix(in srgb,var(--white) 50%,transparent);font-style:italic;font-size:.9rem;margin:0 0 .5rem}@media(max-width:768px){.install-header{padding:1rem}.install-main{padding:0 1rem 2rem}.install-title{font-size:2rem}.install-subtitle{font-size:1rem}.install-section__title{font-size:1.25rem}.code-block__content{font-size:.8rem;padding:.75rem}.install-callout{flex-direction:column;gap:.5rem}}@media(max-width:480px){.install-logo__title{font-size:1.5rem}.install-logo__image{width:2rem;height:2rem}.install-title{font-size:1.75rem}}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--background);padding:2rem}.login-page__container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.login-page__logo{display:flex;align-items:center;gap:.75rem}.login-page__logo-image{width:4rem;height:4rem}.login-page__title{font-size:3rem;font-weight:700;margin:0}.login-page__title--white{color:var(--text)}.login-page__title--green{color:var(--primary)}.login-page__description{color:var(--text-secondary);font-size:1.1rem;margin:0}.login-page__button{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 2rem;background-color:var(--primary);color:#fff;border:none;border-radius:3rem;font-size:1.1rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s ease}.login-page__button:hover{transform:scale(1.025);box-shadow:0 10px 20px var(--box-shadow);background-color:color-mix(in srgb,var(--primary) 75%,black)}.login-page__button-logo{width:1.5rem;height:1.5rem}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--primary: #49b243;--red: #ff4d4d;--background: #242424;--white: #ffffff;--card: #333333;--box-shadow: #0000004d;--overlay: #00000080;font-family:system-ui,sans-serif;line-height:1.5;font-weight:400;color:var(--white);background-color:var(--background)}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{margin:0}.icon-white{filter:brightness(0) invert(1)}
