:root{--bg-page:#07111f;--bg-header:#060d18;--bg-panel:#0f1a29;--bg-panel-dark:#0a1421;--bg-input:#0d1725;--text-primary:#f8fafc;--text-secondary:#9ca9ba;--border-primary:#2a3748;--accent-purple:#d86cff;--accent-green:#4ade80;--radius-md:.75rem;--radius-lg:1rem;color:var(--text-primary);background-color:var(--bg-page);font-family:Inter,Arial,Helvetica,sans-serif}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{background-color:var(--bg-page);min-width:320px}body{background-color:var(--bg-page);min-width:320px;min-height:100vh;color:var(--text-primary)}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-header{border-bottom:1px solid var(--border-primary);background-color:var(--bg-header);justify-content:space-between;align-items:center;width:100%;height:80px;padding:1.25rem 2rem;display:flex}.site-logo{color:var(--accent-purple);align-items:center;gap:.6rem;font-size:1.65rem;font-style:italic;font-weight:700;display:inline-flex}.site-logo>span:first-child{font-size:2rem;line-height:1}.logo-text{font-size:2.2rem}.logo-accent{color:#d78cff}.spotify-pill{color:#1ed760;cursor:pointer;background:#1ed76014;border:1px solid #1ed760;border-radius:999px;align-items:center;gap:.75rem;padding:.45rem .9rem;font-weight:600;transition:all .25s;display:inline-flex}.spotify-pill:hover{background:#1ed76029;transform:translateY(-2px);box-shadow:0 10px 25px #1ed7602e}.spotify-pill.connected:hover{color:#ff5a5a;background:#ff5a5a14;border-color:#ff5a5a}.spotify-pill.connected:hover .spotify-status{background:#ff5a5a}.spotify-pill:focus-visible,.site-logo:focus-visible{outline:2px solid var(--accent-green);outline-offset:3px}.spotify-logo{flex-shrink:0;width:32px;height:32px}.spotify-status{background:#1ed760;border-radius:50%;width:9px;height:9px}@media (width<=600px){.site-header{gap:.75rem;height:auto;padding:.75rem .9rem}.site-logo{gap:.4rem}.site-logo>span:first-child{font-size:1.5rem}.logo-text{font-size:1.65rem}.spotify-pill{gap:.45rem;padding:.35rem .65rem;font-size:.8rem;line-height:1.1}.spotify-logo{width:24px;height:24px}.spotify-status{width:7px;height:7px}}@media (width<=360px){.site-header{flex-direction:column;align-items:center;gap:.75rem;padding:.9rem}.logo-text{font-size:1.6rem}.spotify-pill{gap:.4rem}.spotify-logo{width:22px;height:22px}.spotify-status{width:6px;height:6px}}.search-section{border:1px solid var(--border-primary);border-radius:var(--radius-lg);background-color:var(--bg-panel);padding:1.5rem}.search-section h1{margin-bottom:1.5rem;font-size:clamp(1.75rem,4vw,2.5rem)}.search-controls{gap:.65rem;display:grid}.search-controls label{font-weight:600}.search-input-group{gap:.75rem;display:flex}.search-input-group input{border:1px solid var(--border-primary);border-radius:var(--radius-md);background-color:var(--bg-input);min-width:0;color:var(--text-primary);flex:1;padding:.9rem 1rem}.search-input-group input::placeholder{color:var(--text-secondary)}.search-input-group button{border:1px solid var(--accent-green);border-radius:var(--radius-md);min-width:6.5rem;color:var(--accent-green);background-color:#0000;padding:.85rem 1.25rem;font-weight:700}.search-input-group button:not(:disabled):hover{background-color:#4ade801f}.search-input-group button:disabled{cursor:not-allowed;opacity:.55}.search-input-group input:focus,.search-input-group input:focus-visible{background-color:var(--bg-input);color:var(--text-primary);border-color:var(--accent-green);outline-offset:2px;outline:2px solid #4ade8040}.search-input-group button:focus-visible{outline-offset:2px;outline:2px solid #4ade8040}@media (width<=600px){.search-section{padding:1.25rem}.search-input-group{flex-direction:column}.search-input-group button{min-height:3rem}}.track{border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.track-image-link{border-radius:8px;flex-shrink:0;line-height:0;display:block}.track-image-link:focus-visible,.track-action:focus-visible{outline:2px solid var(--accent-green);outline-offset:3px}.track-image{object-fit:cover;border-radius:8px;width:64px;height:64px;transition:transform .2s,opacity .2s}.track-image-link:hover .track-image{opacity:.85;transform:scale(1.04)}.track-duration{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;margin-right:1rem;font-size:.9rem}.track-info{flex:1;min-width:0}.track-info h3{color:var(--text-primary);margin:0 0 .35rem;font-size:1rem}.track-info p{color:var(--text-secondary);margin:0;font-size:.875rem}.track-action{width:1.8rem;height:1.8rem;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;transition:color .2s,background-color .2s,transform .2s;display:inline-flex}.track-action:not(:disabled):hover{color:var(--accent-green);background-color:#4ade801a;transform:scale(1.08)}.track-action:disabled{color:var(--accent-green);cursor:default;opacity:1;background-color:#4ade801f;transform:none}.track[draggable=true]{cursor:grab}.track[draggable=true]:active{cursor:grabbing}@media (width<=360px){.track{gap:.65rem;padding:.85rem 0}.track-image{width:52px;height:52px}.track-info h3{margin-bottom:.25rem;font-size:.92rem;line-height:1.2}.track-info p{font-size:.8rem;line-height:1.25}.track-duration{margin-left:.4rem;margin-right:.35rem;font-size:.8rem}.track-action{width:1.6rem;height:1.6rem;font-size:1.2rem}}.track-list,.search-skeleton{flex-direction:column;display:flex}.skeleton-track{border-bottom:1px solid #fff3;align-items:center;gap:1rem;padding:1rem 0;display:flex}.skeleton-image,.skeleton-line,.skeleton-duration,.skeleton-action{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff24 50%,#ffffff0f 75%) 0 0/200% 100%;animation:1.4s infinite skeleton-loading}.skeleton-image{border-radius:8px;flex-shrink:0;width:64px;height:64px}.skeleton-info{flex:1;min-width:0}.skeleton-line{border-radius:999px;height:.9rem}.skeleton-title{width:45%;margin-bottom:.65rem}.skeleton-details{width:65%;height:.75rem}.skeleton-duration{border-radius:999px;width:2.5rem;height:.8rem}.skeleton-action{border-radius:50%;flex-shrink:0;width:1.8rem;height:1.8rem}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.search-results-panel{flex-direction:column;height:clamp(420px,80vh,700px);display:flex}.search-results-panel .track-list{flex:1;min-height:0;padding-right:.5rem;overflow-y:auto}.search-results-panel .track-list::-webkit-scrollbar{width:8px}.search-results-panel .track-list::-webkit-scrollbar-track{background:var(--bg-panel);border-radius:var(--radius-md)}.search-results-panel .track-list::-webkit-scrollbar-thumb{background-color:var(--border-primary);border:2px solid var(--bg-panel);border-radius:var(--radius-md)}.search-results-panel .track-list::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}.search-results-controls{align-items:center;gap:.75rem;display:flex}.search-results-controls label{color:var(--text-secondary);font-size:.85rem}.search-results-controls select{border:1px solid var(--border-primary);border-radius:var(--radius-md);background-color:var(--bg-panel);color:var(--text-primary);font:inherit;cursor:pointer;padding:.4rem .65rem}.search-results-controls select:focus-visible{outline:2px solid var(--accent-green);outline-offset:2px}@media (width>=769px) and (width<=1100px){.search-results-panel .panel-header{flex-direction:column;align-items:flex-start}.search-results-controls{justify-content:space-between;width:100%}}@media (width<=600px){.search-results-controls{justify-content:space-between;width:100%}.search-results-controls label{white-space:nowrap;font-size:.8rem}.search-results-controls select{min-width:135px;padding:.35rem .55rem;font-size:.9rem}}@media (width<=360px){.search-results-panel .panel-header{flex-direction:column;align-items:stretch;gap:1rem}.search-results-panel .panel-header h2{text-align:center}.search-results-controls{grid-template-columns:auto 1fr;gap:.75rem;width:100%;display:grid}.search-results-controls select{width:100%;min-width:0}.search-results-controls span{text-align:center;grid-column:1/-1}}.playlist-panel{flex-direction:column;height:clamp(420px,80vh,700px);display:flex}.playlist-panel label{margin-bottom:.5rem;font-weight:600}.playlist-panel input{border:1px solid var(--border-primary);border-radius:var(--radius-md);background-color:var(--bg-input);width:100%;color:var(--text-primary);margin-bottom:1rem;padding:.9rem 1rem}.playlist-panel .track-list{flex:1;min-height:0;padding-bottom:1rem;padding-right:.5rem;overflow-y:auto}.playlist-panel .track-list::-webkit-scrollbar{width:8px}.playlist-panel .track-list::-webkit-scrollbar-track{background:var(--bg-panel);border-radius:var(--radius-md)}.playlist-panel .track-list::-webkit-scrollbar-thumb{background-color:var(--border-primary);border:2px solid var(--bg-panel);border-radius:var(--radius-md)}.playlist-panel .track-list::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}.save-button{border-radius:var(--radius-md);background-color:var(--accent-green);color:#06110b;cursor:pointer;border:0;align-self:flex-end;margin-top:1.5rem;padding:.9rem 1.5rem;font-weight:800}.save-button:disabled{cursor:not-allowed;opacity:.55;filter:saturate(.6)}.save-button:not(:disabled):hover{transform:translateY(-1px)}.save-button:focus-visible{outline:2px solid var(--accent-green);outline-offset:3px}@media (width<=768px){.save-button{align-self:center}}.toast{z-index:1000;border:1px solid var(--border-primary);border-radius:var(--radius-md);background-color:var(--bg-panel);max-width:min(24rem,100% - 2rem);color:var(--text-primary);align-items:center;gap:1rem;padding:1rem 1.1rem;font-weight:600;animation:.25s toast-enter;display:flex;position:fixed;top:5.5rem;right:1.5rem;box-shadow:0 .75rem 2rem #0000004d}.toast-success{border-color:var(--accent-green)}.toast-error{border-color:#f87171}.toast-close{color:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;font-size:1.4rem}.toast-close:focus-visible{outline-offset:2px;border-radius:.25rem;outline:2px solid}@keyframes toast-enter{0%{opacity:0;transform:translateY(-.75rem)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.toast{max-width:none;top:1rem;left:1rem;right:1rem}}.site-footer{border-top:1px solid var(--border-primary);background-color:var(--bg-header);color:var(--text-secondary);text-align:center;padding:1.25rem 1rem}.app{background-color:var(--bg-page);flex-direction:column;min-height:100vh;display:flex}main{flex:1;width:min(1450px,100% - 2rem);margin:0 auto;padding-block:2rem}.workspace{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.25rem;margin-top:1.25rem;display:grid}.search-results-panel,.playlist-panel{border:1px solid var(--border-primary);border-radius:var(--radius-lg);background-color:var(--bg-panel);min-height:420px;padding:1.75rem}.panel-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.panel-header h2{font-size:1.5rem}.panel-header span{color:var(--text-secondary)}.empty-message{color:var(--text-secondary);margin-top:1.5rem}@media (width<=900px){.workspace{grid-template-columns:1fr}}@media (width<=600px){main{width:calc(100% - 1rem);padding-block:1rem}.search-results-panel,.playlist-panel{padding:1.25rem}.panel-header{flex-direction:column;align-items:stretch}.panel-header h2{flex-shrink:0;font-size:1.35rem}}@media (width<=360px){.search-results-panel,.playlist-panel{padding:1rem}}
