
/* ================= YOUTUBE SEARCH ================= */
#p-youtube .yt-search-shell{
  display:grid;grid-template-columns:minmax(0,.7fr) minmax(430px,1.3fr);
  align-items:end;gap:22px;padding:24px 26px;margin-bottom:18px;border-radius:24px!important;
  background:radial-gradient(circle at 92% 12%,rgba(185,236,107,.13),transparent 28%),linear-gradient(135deg,#f8faf5,#eef3e8)!important;
  border:1px solid rgba(35,62,47,.08)!important;overflow:hidden;position:relative
}
#p-youtube .yt-search-shell:after{
  content:'';position:absolute;width:230px;height:230px;border-radius:50%;right:-110px;bottom:-145px;
  border:1px solid rgba(94,132,76,.10);box-shadow:0 0 0 32px rgba(94,132,76,.025),0 0 0 66px rgba(94,132,76,.016);pointer-events:none
}
#p-youtube .yt-search-copy,#p-youtube .yt-search-form{position:relative;z-index:2}
#p-youtube .yt-search-copy h2{margin:5px 0 7px!important}
#p-youtube .yt-search-copy p{margin:0;max-width:520px;font-size:10px!important;line-height:1.55;color:#708278!important}
#p-youtube .yt-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
#p-youtube .yt-search-input-wrap{
  min-width:0;height:48px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;
  border:1px solid rgba(35,62,47,.11);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(29,53,40,.045)
}
#p-youtube .yt-search-input-wrap span{display:grid;place-items:center;color:#6f8578;font-size:18px}
#p-youtube .yt-search-input-wrap input{
  min-width:0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;
  padding:0 13px 0 0!important;font:600 11px DM Sans,sans-serif;color:#233e30
}
#p-youtube .yt-search-input-wrap input::placeholder{color:#9aa89f}
#p-youtube .yt-search-form .btn{height:48px;white-space:nowrap}
#p-youtube .yt-search-status{grid-column:1/-1;min-height:0;font-size:9px;color:#788a80}
#p-youtube .yt-search-status:not(:empty){margin-top:-8px}
#p-youtube .yt-search-results-wrap{margin:18px 0 24px}
#p-youtube .yt-search-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
#p-youtube .yt-result-card{
  display:block;text-align:left;padding:0;overflow:hidden;border:1px solid rgba(30,55,41,.08);border-radius:18px;
  background:#fbfcf7;color:inherit;box-shadow:0 10px 30px rgba(24,48,34,.04);cursor:pointer;
  transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease
}
#p-youtube .yt-result-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(24,48,34,.09);border-color:rgba(100,139,82,.18)}
#p-youtube .yt-result-thumb{position:relative;aspect-ratio:16/9;background:#dfe7da;overflow:hidden}
#p-youtube .yt-result-thumb img{width:100%;height:100%;object-fit:cover;display:block}
#p-youtube .yt-result-thumb:after{
  content:'▶';position:absolute;left:12px;bottom:11px;width:31px;height:31px;border-radius:50%;
  display:grid;place-items:center;background:rgba(20,39,29,.88);color:#dff8b8;font-size:10px;backdrop-filter:blur(8px)
}
#p-youtube .yt-result-copy{padding:13px 14px 15px}
#p-youtube .yt-result-copy h3{font-size:12px!important;line-height:1.32;margin:0 0 7px!important;color:#213c2e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#p-youtube .yt-result-copy p{font-size:8.5px!important;color:#7f9087!important;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#p-youtube .yt-search-more-wrap{display:flex;justify-content:center;margin-top:14px}
#p-youtube .yt-search-player{
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:20px;padding:14px;margin:0 0 20px;
  border-radius:24px!important;background:#15291f!important;color:#eef5ea!important;overflow:hidden
}
#p-youtube .yt-search-player[hidden]{display:none!important}
#p-youtube .yt-search-player-frame{aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#0c1712}
#p-youtube .yt-search-player iframe{width:100%;height:100%;display:block;border:0}
#p-youtube .yt-search-player-copy{padding:13px 10px 10px;display:flex;flex-direction:column;justify-content:center}
#p-youtube .yt-search-player-copy .eyebrow{color:#b9ec6b!important}
#p-youtube .yt-search-player-copy h2{color:#f2f7ef!important;margin:8px 0!important}
#p-youtube .yt-search-player-copy p{color:#9fb1a5!important;font-size:9px!important}
#p-youtube .yt-search-player-copy .head-actions{margin-top:16px}
#p-youtube .yt-search-player-copy .btn{color:#edf5e9!important;border-color:rgba(238,246,234,.16)!important}
@media(max-width:1000px){
  #p-youtube .yt-search-shell{grid-template-columns:1fr}
  #p-youtube .yt-search-results{grid-template-columns:repeat(2,minmax(0,1fr))}
  #p-youtube .yt-search-player{grid-template-columns:1fr}
}
@media(max-width:650px){
  #p-youtube .yt-search-form{grid-template-columns:1fr}
  #p-youtube .yt-search-results{grid-template-columns:1fr}
}


/* ================= SPOTIFY BROWSER + SEEK ================= */
#p-soundscape .spotify-browser{position:relative;z-index:2;margin-top:15px}
#p-soundscape .spotify-tab-panel[hidden]{display:none!important}
#p-soundscape .spotify-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px}
#p-soundscape .spotify-search-wrap{
  min-width:0;height:43px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;
  border:1px solid #dae5d7;border-radius:12px;background:#fffefa
}
#p-soundscape .spotify-search-wrap span{display:grid;place-items:center;color:#738a7c;font-size:16px}
#p-soundscape .spotify-search-wrap input{
  min-width:0;border:0!important;background:transparent!important;outline:0!important;box-shadow:none!important;
  padding:0 10px 0 0!important;font:600 10px DM Sans,sans-serif;color:#254133
}
#p-soundscape .spotify-browser-status{min-height:18px;font-size:8.5px;color:#7b8d82}
#p-soundscape .spotify-track-list{display:grid;gap:6px;margin-top:5px}
#p-soundscape .spotify-track-row{
  width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;
  text-align:left;border:1px solid #e1e9de;border-radius:12px;background:#fffefa;padding:7px 9px;color:#294637;
  transition:transform .2s ease,border-color .2s ease,background .2s ease
}
#p-soundscape .spotify-track-row:hover{transform:translateX(2px);border-color:#cbdcc4;background:#f8fbf5}
#p-soundscape .spotify-track-art{width:42px;height:42px;border-radius:9px;background:#e3ebe0;object-fit:cover}
#p-soundscape .spotify-track-copy{min-width:0}
#p-soundscape .spotify-track-copy b{display:block;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#p-soundscape .spotify-track-copy small{display:block;font-size:8px;color:#87978e;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#p-soundscape .spotify-track-play{
  width:30px;height:30px;border:0;border-radius:50%;display:grid;place-items:center;
  background:#1f3c2e;color:#c9f58c;font-size:9px
}
#p-soundscape .spotify-empty-state{padding:18px;border-radius:13px;background:#f5f7f2;color:#85958c;font-size:9px;text-align:center}
#p-soundscape #spotifyPlaylistStrip{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
#p-soundscape #spotifyPlaylistStrip .playlist-chip{cursor:pointer;text-align:left;width:100%}
#p-soundscape #spotifyPlaylistStrip .playlist-chip.active{border-color:#9fbd86;background:#f5faef;box-shadow:0 0 0 3px rgba(159,189,134,.09)}
#p-soundscape .playlist-chip .playlist-actions{display:flex;gap:5px;margin-top:8px;clear:both}
#p-soundscape .playlist-chip .playlist-actions button{
  border:0;border-radius:8px;padding:5px 7px;font-size:7.5px;font-weight:800;background:#edf3e8;color:#56725f
}
#p-soundscape .playlist-chip .playlist-actions button.primary-mini{background:#1e3c2d;color:#d6f3ae}
#p-soundscape .spotify-reconnect{
  display:inline-flex;margin-top:7px;padding:7px 9px;border:0;border-radius:9px;background:#1e3b2d;color:#eaf4e5;font-size:8px;font-weight:800
}
.music-dock .dock-progress{overflow:visible!important;cursor:pointer}
.music-dock .dock-progress input[type="range"]{
  position:absolute;inset:-8px 0;width:100%;height:21px;opacity:0;cursor:pointer;margin:0;z-index:3
}
.music-dock .dock-progress i{pointer-events:none}
.music-dock .dock-progress.seeking i:after{transform:scale(1.3)}
@media(max-width:700px){
  #p-soundscape .spotify-search-form{grid-template-columns:1fr}
  #p-soundscape #spotifyPlaylistStrip{grid-template-columns:1fr}
}
