@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@700&display=swap";body{background-color:#e9ebee;color:#333}body,h1,h2,h3,p,ul,li,button,input,textarea,select{margin:0;padding:0;box-sizing:border-box;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}body{line-height:1.6;background-color:#f4f7f6;color:#333}.App{display:flex;flex-direction:column;min-height:100vh}.App-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;text-align:center}.App-header{background-color:#2c3e50;color:#fff;padding:15px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.App-header h1{font-size:1.8em;margin:0}.App-nav{display:flex;align-items:center;gap:15px}.App-nav a{color:#ecf0f1;text-decoration:none;padding:5px 10px;border-radius:4px;transition:background-color .2s ease}.App-nav a:hover,.App-nav a.active{background-color:#ffffff1a}.user-info{color:#bdc3c7;font-size:.9em;display:flex;align-items:center}.login-button,.logout-button{background-color:#1db954;color:#fff;border:none;padding:8px 15px;border-radius:20px;cursor:pointer;font-weight:700;transition:background-color .2s ease}.login-button:hover,.logout-button:hover{background-color:#1aa34a}.logout-button{background-color:#e74c3c}.logout-button:hover{background-color:#c0392b}.App-main-content{flex-grow:1;padding:20px 0}.App-footer{background-color:#ecf0f1;color:#7f8c8d;text-align:center;padding:15px;font-size:.9em;margin-top:auto}.error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;padding:10px 15px;border-radius:4px;margin:15px 20px;text-align:center}.global-error{margin:15px 30px}button{cursor:pointer;font-size:1em;border-radius:4px;border:1px solid transparent;transition:background-color .2s ease,border-color .2s ease}button:disabled{cursor:not-allowed;opacity:.6}input[type=text],textarea,select{padding:8px 10px;border:1px solid #ccc;border-radius:4px;font-size:1em}input[type=text]:focus,textarea:focus,select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.header-logo-link{display:flex;align-items:center;text-decoration:none}.header-logo{height:90px;width:auto}.action-button-pop{background-color:#1db954;color:#fff;border:none;border-radius:20px;padding:10px 18px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background-color .2s ease,transform .2s ease;text-align:center}.action-button-pop:hover{background-color:#1ed760;transform:scale(1.03)}.action-button-pop:disabled{background-color:#3a3a3a;color:gray;cursor:not-allowed;transform:scale(1);opacity:.7}.text-link-button{display:inline-block;color:#1db954;font-weight:700;text-decoration:none;padding:10px 15px;border-radius:5px;transition:background-color .2s ease,color .2s ease}.text-link-button:hover{text-decoration:underline;background-color:#1db9541a}.page-header-accent{font-family:Poppins,sans-serif;font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:30px;padding-bottom:15px;border-bottom:4px solid #1DB954}@media (max-width: 768px){.list-creator-columns{flex-direction:column}}body.no-scroll{overflow:hidden}.hamburger-menu{display:none;flex-direction:column;justify-content:space-around;width:2rem;height:2rem;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger-menu span{width:2rem;height:.25rem;background:#ecf0f1;border-radius:10px;transition:all .3s linear;position:relative;transform-origin:1px}@media (max-width: 768px){.App-nav{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#2c3e50;height:100vh;width:100%;text-align:center;position:fixed;top:0;left:0;transform:translate(-100%);transition:transform .3s ease-in-out;z-index:1000;padding-top:5rem}.App-nav.is-open{transform:translate(0)}.App-nav a{font-size:1.5rem;padding:1.5rem 0}.App-nav .user-info{flex-direction:column;gap:10px;margin-top:1rem}.hamburger-menu{display:flex}}.dashboard-container{padding:20px;max-width:900px;margin:20px auto}.dashboard-container h2{margin-bottom:20px;text-align:center;color:#333}.list-summary-container{list-style:none;padding:0;margin:0}.list-summary-item{background-color:#fff;border:1px solid #ddd;border-radius:5px;margin-bottom:15px;transition:box-shadow .2s ease-in-out}.list-summary-item:hover{box-shadow:0 2px 8px #0000001a}.list-item-content{display:flex;align-items:center;justify-content:space-between;padding:15px 20px}.list-summary-item .list-link{text-decoration:none;color:inherit;flex-grow:1;margin-right:15px}.list-summary-item h3{margin:0 0 5px;color:#0056b3}.list-summary-item p{margin:0 0 10px;font-size:.95em;color:#555;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.list-summary-item small{font-size:.8em;color:#777}.edit-link{font-size:.9em;color:#007bff;text-decoration:none;padding:5px 10px;border:1px solid #007bff;border-radius:4px;white-space:nowrap;transition:background-color .2s ease,color .2s ease}.edit-link:hover{background-color:#007bff;color:#fff;text-decoration:none}.create-new-link{text-align:center;margin-top:30px}.create-new-link a{display:inline-block;padding:10px 20px;background-color:#28a745;color:#fff;text-decoration:none;border-radius:5px;transition:background-color .2s ease}.create-new-link a:hover{background-color:#218838}.list-summary-item h3{color:#1db954}.view-list-container{padding:20px;max-width:1000px;margin:30px auto;background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #0000001a}.list-header{text-align:center;margin-bottom:10px;padding-bottom:15px;border-bottom:1px solid #eee}.privacy-status{margin-left:5px;font-style:italic}.privacy-status.public{color:#28a745}.privacy-status.private{color:#6c757d}.list-actions-container{margin-bottom:20px}.list-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.action-button{padding:8px 16px;border:none;border-radius:20px;cursor:pointer;font-weight:700;font-size:.9em;transition:background-color .2s ease,opacity .2s ease}.action-button:disabled{opacity:.6;cursor:not-allowed}.export-button{background-color:#1db954;color:#fff}.export-button:hover:not(:disabled){background-color:#1aa34a}.share-button{background-color:#007bff;color:#fff}.share-button:hover:not(:disabled){background-color:#0056b3}.remix-button{background-color:#ffc107;color:#333}.remix-button:hover:not(:disabled){background-color:#e0a800}.insta-button{background-color:#c13584}.insta-button:hover:not(:disabled){background-color:#a12564}.social-share-button{cursor:pointer;background:none;border:none;padding:0;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.social-share-button svg{vertical-align:middle}.action-feedback{margin-top:15px;min-height:2em;text-align:center}.copy-status{font-size:.9em;color:#007bff}.export-status{padding:8px 12px;border-radius:4px;font-size:.9em;display:inline-block}.export-status.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.export-status.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.export-status a{color:#155724;text-decoration:underline}.list-columns{display:flex;gap:30px;flex-wrap:wrap}.list-column{flex:1;min-width:300px;background-color:#f7f9fc;border:1px solid #e1e8ed;border-radius:6px;padding:20px;box-shadow:0 2px 8px #0000000d}.list-columns.two-columns .list-column{flex:1 1 300px;min-width:300px}.list-columns.one-column .ranked-column{flex:1 1 100%;min-width:auto}.list-columns.one-column .consideration-column{display:none}.list-column h3{margin-top:0;margin-bottom:15px;text-align:center;color:#444;border-bottom:1px solid #eee;padding-bottom:10px}.static-list{list-style:none;padding:0;margin:0;max-height:70vh;overflow-y:auto}.static-list-item{display:flex;align-items:center;padding:10px 8px;margin-bottom:8px;background-color:#fff;border:1px solid #dde4eb;border-radius:4px;box-shadow:0 1px 3px #0000000a;transition:transform .2s ease-out,box-shadow .2s ease-out}.static-list-item:hover{transform:translateY(-2px);box-shadow:0 3px 7px #00000014}.static-list-item .rank-number{font-weight:700;margin-right:10px;min-width:20px;text-align:right;color:#555;flex-shrink:0}.static-list-item .list-item-image{margin-right:10px;border-radius:3px;object-fit:cover;flex-shrink:0}.static-list-item .list-item-info{display:flex;flex-direction:column;flex-grow:1;overflow:hidden;min-width:0}.static-list-item .track-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95em}.static-list-item .artist-name{font-size:.8em;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotify-play-button{display:inline-block;margin-left:10px;padding:4px 8px;background-color:#1db954;color:#fff;border-radius:50%;text-decoration:none;font-size:.8em;line-height:1;transition:background-color .2s ease;flex-shrink:0}.spotify-play-button:hover{background-color:#1aa34a;color:#fff}.empty-list-message{text-align:center;color:#888;font-style:italic;margin-top:20px}.back-link{margin-top:30px;text-align:center}.back-link a{text-decoration:none;color:#007bff}.back-link a:hover{text-decoration:underline}.error-message{color:#dc3545;text-align:center;margin-top:20px}@media (max-width: 768px){.view-list-container{margin:15px auto;padding:15px}.list-header h2{font-size:1.6em}.list-description{font-size:1em}.list-actions{flex-direction:column;align-items:stretch}.action-button,.social-share-button{width:100%;margin-bottom:8px}.social-share-button{justify-content:center}.list-columns{flex-direction:column;gap:20px}.list-columns.two-columns .list-column,.list-columns.one-column .ranked-column{min-width:100%;flex-basis:auto}.static-list{max-height:none;overflow-y:visible}.static-list-item .track-name{font-size:.9em}.static-list-item .artist-name{font-size:.75em}}@media (max-width: 480px){.view-list-container{margin:10px auto;padding:10px;border-radius:0}.list-header h2{font-size:1.4em}.action-button{padding:10px 12px;font-size:.85em}.list-column{padding:15px}.static-list-item{padding:8px 5px}.static-list-item .list-item-image{width:35px;height:35px}}.image-preview-container{margin-top:40px;padding-top:20px;border-top:1px solid #ddd;text-align:center}.preview-image{max-width:100%;width:600px;border:1px solid #ccc;box-shadow:0 4px 8px #0000001a;margin-top:20px}.download-button{display:inline-block;margin-top:20px;padding:12px 25px;background-color:#1db954;color:#fff;text-decoration:none;font-weight:700;border-radius:500px;transition:background-color .2s}.download-button:hover{background-color:#1ed760}.canon-badge{display:inline-block;margin:10px 0;padding:6px 12px;background-color:#1db954;color:#fff;border-radius:20px;font-size:.9rem;font-weight:700;box-shadow:0 2px 5px #0003}.community-ranks-button{background-color:#ffc107;color:#212529;font-weight:700}.community-ranks-button:hover{background-color:#ffca2c}.share-card{width:1080px;height:1350px;position:absolute;left:-9999px;top:0;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)!important;display:flex;flex-direction:column;padding:50px 80px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#fff!important;position:relative;overflow:hidden}.share-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(255,215,0,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,105,180,.08) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(0,191,255,.06) 0%,transparent 50%);pointer-events:none}.sc-section{position:relative;z-index:1}.sc-header-area{flex-shrink:0;text-align:center;margin-bottom:40px}.sc-song-list-area{flex:1;display:flex;flex-direction:column;gap:22px;margin:0;padding:0;list-style:none!important;min-height:0;background:transparent!important}.sc-footer-area{flex-shrink:0;margin-top:40px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:40px;min-height:200px}.sc-list-title{font-size:56px;font-weight:900;line-height:1.1;margin:0 0 16px;letter-spacing:-1.5px;color:gold;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;text-shadow:0 6px 20px rgba(0,0,0,.4)}.sc-creator-subline{font-size:24px;font-weight:600;margin:0;opacity:.9;color:gold!important;letter-spacing:.5px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.share-card .sc-song-item{display:flex!important;align-items:center!important;background:#ffffff1f!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border-radius:24px!important;padding:30px 50px!important;border-left:6px solid #ffd700!important;border-right:none!important;border-top:none!important;border-bottom:none!important;box-shadow:0 6px 28px #0003,inset 0 1px #ffffff26!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;position:relative;overflow:hidden;list-style:none!important;list-style-type:none!important;margin:0!important}.share-card .sc-song-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent)!important;opacity:0;transition:opacity .3s ease}.share-card .sc-song-item:hover:before{opacity:1}.share-card .sc-song-item:hover{transform:translateY(-2px)!important;box-shadow:0 8px 36px #00000040,inset 0 1px #fff3!important}.share-card .sc-song-rank{font-size:36px!important;font-weight:900!important;color:gold!important;margin-right:32px!important;min-width:60px!important;text-align:center!important;text-shadow:0 3px 12px rgba(0,0,0,.4)!important;font-feature-settings:"tnum";background:transparent!important}.share-card .sc-album-art{width:90px!important;height:90px!important;border-radius:16px!important;margin-right:40px!important;margin-left:8px!important;object-fit:cover!important;box-shadow:0 8px 28px #00000059,0 0 0 3px #ffffff26!important;transition:transform .3s cubic-bezier(.4,0,.2,1)!important}.share-card .sc-song-item:hover .sc-album-art{transform:scale(1.08)!important}.share-card .sc-song-details{flex:1!important;display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important;padding-right:40px!important;max-width:calc(100% - 40px)!important;background:transparent!important}.share-card .sc-song-title{font-size:28px!important;font-weight:700!important;line-height:1.2!important;color:#fff!important;text-shadow:0 2px 6px rgba(0,0,0,.3)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;background:transparent!important;margin:0!important;padding:0!important}.share-card .sc-song-artist{font-size:22px!important;font-weight:500!important;color:#b8c5d6!important;text-shadow:0 1px 3px rgba(0,0,0,.3)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;background:transparent!important;margin:0!important;padding:0!important}.share-card .sc-no-items-message{text-align:center!important;font-size:28px!important;color:#fff9!important;font-style:italic!important;padding:80px 20px!important;margin:0!important;background:transparent!important}.share-card .sc-footer-logo{height:180px!important;width:auto!important;max-width:700px!important;object-fit:contain!important;filter:drop-shadow(0 8px 32px rgba(0,0,0,.5))!important;flex-shrink:0!important}.share-card .sc-cta-button{display:inline-block!important;background:linear-gradient(135deg,gold,#ffed4e)!important;color:#1a1a2e!important;padding:24px 48px!important;border-radius:18px!important;font-size:22px!important;font-weight:700!important;text-decoration:none!important;letter-spacing:.5px!important;white-space:nowrap!important;box-shadow:0 10px 28px #ffd70066,0 5px 14px #0003!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;position:relative;overflow:hidden;flex-shrink:0!important;border:none!important}.share-card .sc-cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)!important;transition:left .6s ease}.share-card .sc-cta-button:hover{transform:translateY(-2px)!important;box-shadow:0 14px 36px #ffd70080,0 7px 18px #0000004d!important;background:linear-gradient(135deg,#ffed4e,gold)!important}.share-card .sc-cta-button:hover:before{left:100%}.share-card .sc-cta-button:active{transform:translateY(0)!important}.share-card .sc-song-list-area:has(.sc-song-item:nth-child(-n+5):last-child){justify-content:center;gap:32px!important}.share-card .sc-song-list-area:has(.sc-song-item:nth-child(-n+8):nth-child(n+6):last-child){gap:26px!important}.share-card .sc-song-list-area:has(.sc-song-item:nth-child(-n+10):nth-child(n+9):last-child){gap:20px!important}.share-card .sc-song-list-area:has(.sc-song-item:nth-child(-n+10):nth-child(n+9):last-child) .sc-song-item{padding:26px 45px!important}.share-card .sc-song-list-area:has(.sc-song-item:nth-child(-n+10):nth-child(n+9):last-child) .sc-album-art{width:80px!important;height:80px!important;margin-right:36px!important;margin-left:6px!important}.share-card .sc-song-list-area:has(.sc-song-item:nth-child(-n+10):nth-child(n+9):last-child) .sc-song-title{font-size:26px!important}.share-card .sc-song-list-area:has(.sc-song-item:nth-child(-n+10):nth-child(n+9):last-child) .sc-song-artist{font-size:20px!important}.share-card .sc-song-list-area:has(.sc-song-item:nth-child(-n+10):nth-child(n+9):last-child) .sc-song-rank{font-size:32px!important}.share-card .sc-song-list-area:has(.sc-song-item:nth-child(-n+10):nth-child(n+9):last-child) .sc-song-details{padding-right:35px!important}@media (prefers-contrast: high){.share-card{background:#000!important;border:3px solid #ffffff!important}.share-card .sc-song-item{background:#ffffff26!important;border:1px solid rgba(255,255,255,.3)!important}.share-card .sc-cta-button{background:#fff!important;color:#000!important;border:2px solid #000000!important}}@media (prefers-reduced-motion: reduce){.share-card .sc-song-item,.share-card .sc-album-art,.share-card .sc-cta-button,.share-card .sc-cta-button:before{transition:none!important}.share-card .sc-song-item:hover,.share-card .sc-cta-button:hover{transform:none!important}}@media print{.share-card{position:static!important;left:auto!important;background:#fff!important;color:#000!important;box-shadow:none!important;border:2px solid #ccc!important}.share-card .sc-song-item{background:#f5f5f5!important;border-left-color:#333!important}.share-card .sc-cta-button{background:#f0f0f0!important;color:#333!important;box-shadow:none!important}}.image-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:2000}.image-modal-content{background-color:#282c34;padding:30px;border-radius:10px;text-align:center;position:relative;max-width:90vw;max-height:90vh}.image-modal-content h3{color:#1db954;margin-top:0}.generated-share-image-modal{max-width:100%;max-height:60vh;object-fit:contain;border-radius:8px;margin:15px 0}.image-modal-close-button{position:absolute;top:10px;right:15px;background:none;border:none;color:#fff;font-size:2rem;font-weight:700;cursor:pointer}.download-button-modal{margin-top:15px;display:inline-block;text-decoration:none}.rank-number{font-weight:700;margin-right:10px;min-width:20px;text-align:right;color:#555;flex-shrink:0}.list-item-image{margin-right:10px;border-radius:3px;object-fit:cover;flex-shrink:0}.list-item-info{display:flex;flex-direction:column;flex-grow:1;overflow:hidden;min-width:0}.track-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95em;font-weight:500}.artist-name{font-size:.8em;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remove-button{margin-left:10px;background:none;border:none;color:#c55;cursor:pointer;font-weight:700;font-size:1.3em;padding:0 5px;line-height:1;flex-shrink:0;opacity:.7;transition:color .2s ease,opacity .2s ease}.remove-button:hover{color:red;opacity:1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:25px;border-radius:8px;max-width:600px;width:90%;max-height:85vh;display:flex;flex-direction:column;position:relative;box-shadow:0 5px 15px #0003;color:#333}.modal-close-button{position:absolute;top:10px;right:15px;background:0 0;border:none;font-size:2em;line-height:1;cursor:pointer;color:#888}.modal-close-button:hover{color:#333}.modal-content h3{margin-top:0;margin-bottom:20px;text-align:center;color:#444}.modal-actions{display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.modal-actions button{font-size:.9em;padding:5px 10px;background-color:#f0f0f0;border:1px solid #ccc;cursor:pointer}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.track-selection-list{list-style:none;padding:0;margin:0 0 20px;overflow-y:auto;flex-grow:1;border:1px solid #eee;border-radius:4px}.track-selection-item{display:flex;align-items:center;padding:8px 10px;border-bottom:1px solid #eee;cursor:default;transition:background-color .1s ease}.track-selection-item:last-child{border-bottom:none}.track-selection-item.selected{background-color:#e7f3ff}.track-selection-label{display:flex;align-items:center;margin-right:10px}.track-selection-checkbox{width:18px;height:18px;cursor:pointer}.track-selection-image{margin-right:10px;border-radius:3px;object-fit:cover;flex-shrink:0}.track-selection-info{display:flex;flex-direction:column;flex-grow:1;overflow:hidden;min-width:0}.track-selection-info .track-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95em;font-weight:500}.track-selection-info .artist-name{font-size:.8em;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:15px;border-top:1px solid #eee}.modal-footer button{padding:8px 15px;border-radius:4px;cursor:pointer}.modal-footer button:first-of-type{background-color:#28a745;color:#fff;border:none}.modal-footer button:first-of-type:hover{background-color:#218838}.modal-footer button:first-of-type:disabled{background-color:#94d3a2;cursor:not-allowed}.modal-footer button:last-of-type{background-color:#eee;color:#333;border:1px solid #ccc}.modal-footer button:last-of-type:hover{background-color:#ddd}.list-details-section{margin-bottom:20px;padding:15px;border:1px solid #eee;border-radius:5px;background-color:#fafafa;overflow:hidden}.list-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;cursor:pointer}.list-details-header h3{margin:0}.collapse-toggle-button{background:none;border:none;font-size:1.2em;cursor:pointer;padding:0 5px;color:#555}.collapse-toggle-button:hover{color:#000}.list-details-content{transition:opacity .3s ease-out,max-height .3s ease-out;max-height:1000px;opacity:1}.list-details-section.collapsed .list-details-header{margin-bottom:0}.list-details-section.collapsed .list-details-content{max-height:0;opacity:0;padding-top:0;padding-bottom:0;margin-top:-15px}.public-toggle-container{display:flex;align-items:center;gap:10px;margin-top:15px;flex-wrap:wrap}.public-toggle-label{font-weight:400;color:#333;margin-right:5px}.toggle-status{font-size:.9em;font-style:italic;color:#555}.public-toggle-info{font-size:.85em;color:#666;margin-top:5px;flex-basis:100%;line-height:1.4}.switch{position:relative;display:inline-block;width:50px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:#2196f3}input:focus+.slider{box-shadow:0 0 1px #2196f3}input:checked+.slider:before{transform:translate(26px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.error-message{color:#dc3545}.mobile-only{display:none}.tooltip-icon{position:relative;display:inline-block;font-size:.8rem;font-weight:700;color:#fff;background-color:#7f8c8d;border-radius:50%;width:18px;height:18px;text-align:center;line-height:18px;cursor:help;margin-left:8px}.drag-tip-mobile{font-size:.8rem;font-style:italic;color:#7f8c8d;margin-left:8px}@media (max-width: 768px){.list-header-with-tip .desktop-only{display:none}.list-header-with-tip .mobile-only{display:inline}}.landing-container{max-width:1100px;margin:0 auto;padding:20px;font-family:sans-serif;color:#333;box-sizing:border-box}.landing-logo{display:block;max-width:330px;height:auto;margin:0 auto 25px}.landing-hero{text-align:center;padding:50px 20px 60px;background-color:#f8f9fa;border-radius:8px;margin-bottom:50px;overflow:hidden}.hero-content h1{font-size:clamp(2.2em,5vw,3em);margin-bottom:15px;color:#1db954;font-weight:700}.tagline{font-size:clamp(1.1em,2.5vw,1.3em);color:#555;max-width:650px;margin:0 auto 35px;line-height:1.6}.cta-button{padding:12px 30px;font-size:1.1em;background-color:#1db954;color:#fff;border:none;border-radius:50px;cursor:pointer;transition:background-color .2s ease,transform .1s ease;font-weight:700;text-decoration:none;display:inline-block}.cta-button:hover{background-color:#1aa34a;transform:scale(1.03)}.spotify-required{margin-top:20px;font-size:.9em;color:#777}.landing-features{padding:40px 0;text-align:center}.landing-features h2{margin-bottom:40px;font-size:clamp(1.8em,4vw,2.2em)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px}.feature-item{background-color:#fff;padding:30px 25px;border-radius:8px;box-shadow:0 4px 12px #00000014;text-align:center;transition:transform .2s ease-in-out}.feature-item:hover{transform:translateY(-5px)}.feature-icon{font-size:2.5em;margin-bottom:15px;display:block;line-height:1}.feature-item h3{margin-top:0;margin-bottom:10px;font-size:1.3em;color:#333}.feature-item p{font-size:1em;color:#666;line-height:1.6}.landing-how-it-works{padding:50px 20px;background-color:#f8f9fa;margin-top:50px;text-align:center;border-radius:8px}.landing-how-it-works h2{margin-bottom:40px;font-size:clamp(1.8em,4vw,2.2em)}.steps-container{display:flex;justify-content:space-around;align-items:flex-start;flex-wrap:wrap;gap:30px 20px}.step{flex:1 1 200px;max-width:250px;text-align:center}.step-number{display:inline-block;width:45px;height:45px;line-height:45px;border-radius:50%;background-color:#1db954;color:#fff;font-weight:700;font-size:1.4em;margin-bottom:15px}.step p{color:#555;font-size:1.05em;line-height:1.5}.landing-final-cta{text-align:center;padding:60px 20px;margin-top:40px}.landing-final-cta h2{margin-bottom:30px;font-size:clamp(1.6em,3.5vw,2em);color:#444}@media (max-width: 768px){.hero-content h1{font-size:2.2em}.tagline{font-size:1.1em}.features-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.steps-container{flex-direction:column;align-items:center}.step{flex-basis:auto;width:80%;max-width:300px}}.promo-box-container{background-color:#e9ecef;border:1px solid #ced4da;border-radius:4px;padding:25px 20px;margin:40px auto 30px;max-width:800px;text-align:center;box-shadow:0 2px 4px #00000012}.promo-box-link{color:#0056b3;text-decoration:none;font-weight:600;font-size:1.2em;transition:color .2s ease;display:block}.promo-box-link:hover{color:#003875;text-decoration:underline}.recent-public-lists-page{max-width:900px;margin:20px auto;padding:20px;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 10px #0000000d}.recent-public-lists-page h2{text-align:center;margin-bottom:25px;color:#333}.loading-container,.error-container{text-align:center;padding:40px 20px;font-size:1.2em}.public-lists-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.public-list-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:15px 20px;box-shadow:0 1px 4px #0000000d;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.public-list-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000001a}.public-list-card h3{margin-top:0;margin-bottom:10px;font-size:1.3em}.public-list-card h3 a{text-decoration:none;color:#007bff}.public-list-card h3 a:hover{text-decoration:underline}.list-creator{font-size:.9em;color:#555;margin-bottom:8px}.list-description{font-size:.95em;color:#444;margin-bottom:12px;line-height:1.4;max-height:4.2em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.list-meta{font-size:.85em;color:#777;border-top:1px solid #f0f0f0;padding-top:10px;margin-top:10px}.public-list-card h3 a{color:#1db954;text-decoration:none}.faq-page{max-width:900px;margin:40px auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.faq-header{text-align:center;margin-bottom:50px}.faq-header h1{font-size:2.5rem;color:#222;margin-bottom:15px}.faq-intro{font-size:1.1rem;color:#666;max-width:600px;margin:0 auto}.faq-category{margin-bottom:40px}.faq-category h2{font-size:1.8rem;color:#1db954;border-bottom:2px solid #eee;padding-bottom:10px;margin-bottom:20px}.accordion-item{border-bottom:1px solid #e0e0e0}.accordion-question{width:100%;background:none;border:none;text-align:left;padding:20px 10px;font-size:1.2rem;font-weight:500;color:#333;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.accordion-question:hover{background-color:#f9f9f9}.accordion-icon{font-size:1.5rem;font-weight:300;color:#1db954}.accordion-answer{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out,padding .3s ease;background-color:#fdfdfd}.accordion-answer.open{max-height:1000px}.accordion-answer-content{padding:0 20px 20px;font-size:1rem;line-height:1.6;color:#555;white-space:pre-wrap}.accordion-answer-content p{margin-bottom:1em}.accordion-answer-content p:last-child{margin-bottom:0}.community-rankings-container{max-width:800px;margin:40px auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.call-to-action{text-align:center;margin:30px 0}.community-rankings-container .main-title{text-align:center;font-size:2.8rem;color:#1db954;margin-bottom:0}.community-rankings-container .subtitle{text-align:center;font-size:1.2rem;color:#555;margin-top:5px;margin-bottom:15px}.community-rankings-container .subtitle a{color:#1aa34a;text-decoration:none;font-weight:500}.community-rankings-container .subtitle a:hover{text-decoration:underline}.community-rankings-container .description{text-align:center;color:#777;margin-bottom:40px;font-style:italic}.ranked-list{display:flex;flex-direction:column;gap:12px}.ranked-item{display:flex;align-items:center;background-color:#f9f9f9;border-radius:8px;padding:12px;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.ranked-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000014}.rank-display{font-size:1.5rem;font-weight:700;color:#1db954;margin-right:20px;min-width:50px;text-align:center}.album-art{width:60px;height:60px;border-radius:4px;margin-right:15px;object-fit:cover}.track-info{flex-grow:1}.track-name{font-size:1.1rem;font-weight:600;color:#333}.artist-name{font-size:.9rem;color:#666}.stats-info{display:flex;flex-direction:column;align-items:flex-end;min-width:100px;margin-left:20px}.stat{font-size:.8rem;color:#888}.stat span{font-weight:700;color:#555}.loading-container,.error-container{text-align:center;margin-top:100px;font-size:1.2rem;color:#777}@media (max-width: 768px){.ranked-item{flex-wrap:wrap;padding:15px;gap:10px 15px}.rank-display{font-size:1.2rem}.album-art{width:50px;height:50px}.track-info{flex-grow:1}.stats-info{flex-basis:100%;width:100%;display:flex;justify-content:space-around;padding-top:10px;margin-top:10px;border-top:1px solid #444;font-size:.9rem}}.canon-list-page .page-header{text-align:center;margin-bottom:40px}.canon-lists-container{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.canon-list-card{display:block;background-color:#282c34;padding:20px;border-radius:8px;text-decoration:none;color:#fff;transition:transform .2s ease,box-shadow .2s ease;border:1px solid #444}.canon-list-card:hover{transform:translateY(-5px);box-shadow:0 4px 15px #0003}.canon-list-card h3{margin-top:0;color:#1db954}.canon-list-description{font-size:.9em;color:#ccc;line-height:1.5}.canon-list-meta{margin-top:15px;font-size:.8em;color:#aaa;display:flex;justify-content:space-between}.page-explanation{max-width:600px;margin:15px auto 0;font-size:.9rem;font-style:italic;color:#aaa;line-height:1.6}.privacy-policy-container{max-width:800px;margin:40px auto;padding:20px 40px;background-color:#1e1e1e;border-radius:8px;color:#ccc;line-height:1.7}.privacy-policy-container h1{color:#1db954;border-bottom:2px solid #333;padding-bottom:10px}.privacy-policy-container h2{color:#eee;margin-top:30px;border-bottom:1px solid #333;padding-bottom:5px}.privacy-policy-container ul{padding-left:20px}.privacy-policy-container a{color:#1db954;text-decoration:none}.privacy-policy-container a:hover{text-decoration:underline}.privacy-policy-container .back-link{display:inline-block;margin-top:30px;font-weight:700}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}}body{margin:0;min-width:320px;min-height:100vh;font-family:Poppins,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
