/* Culterix visual overhaul.
   Music: modelled on Spotify's desktop and phone layout (black canvas, rounded panels, pill chips, shelves of square covers with a play button on hover).
   Media: frosted-glass surfaces over a soft colour mesh. News keeps the original look. Everything is scoped by body[data-world], so removing this file restores the old design. */

/* ======================================================================== shared */
html{scrollbar-width:thin;}
::selection{background:var(--signal-soft);}
@media (prefers-reduced-motion:reduce){ .fs-poster,.fs-cell,.fs-play,.mu-track,.tab{transition:none!important;} }

/* ======================================================================== MUSIC (Spotify) */
body[data-world="music"],
:root[data-theme="dark"] body[data-world="music"]{
  --canvas:#000;--canvas-flat:#000;--canvas-raised:#1a1a1a;--card:#181818;--card-hover:#282828;
  --bone:#fff;--paper:#fff;--fog:#b3b3b3;--ash:#a7a7a7;--placeholder:#7f7f7f;--charcoal:#2a2a2a;--hairline:rgba(255,255,255,.1);
  --signal:#F0784F;--signal-soft:rgba(240,120,79,.18);--signal-text:#F59A78;--world:#F0784F;--world-soft:rgba(240,120,79,.18);
  --sp-panel:#121212;
  background:#000;color:#fff;color-scheme:dark;
}
body[data-world="music"] .app{background:#000;}
/* top bar */
body[data-world="music"] .nav{background:#000;border-bottom:0;padding:10px 16px 6px;}
body[data-world="music"] .brand .wordmark .name{font-weight:700;letter-spacing:-.02em;}
body[data-world="music"] .worlds{background:#000;border-bottom:0;padding:4px 16px 10px;gap:8px;}
body[data-world="music"] .worlds a{border:0;border-radius:999px;background:#242424;color:#fff;padding:8px 16px;font-size:13.5px;font-weight:600;}
body[data-world="music"] .worlds a:hover{background:#333;}
body[data-world="music"] .worlds a[aria-current="page"]{background:#fff;color:#000;}
body[data-world="music"] .text-size-toggle,body[data-world="music"] .theme-toggle,body[data-world="music"] .account-btn{background:#242424;border:0;color:#fff;}
body[data-world="music"] .account-btn{font-weight:700;}
/* panels */
body[data-world="music"] .layout{padding:0 8px 8px;gap:8px;background:#000;}
@media (min-width:720px){
  body[data-world="music"] .nav-menu-dropdown,body[data-world="music"] .nav-menu-dropdown.is-open{background:var(--sp-panel);border:0;border-radius:8px;padding:12px 8px;flex-basis:280px;width:280px;}
}
body[data-world="music"] .nav-menu-dropdown{background:var(--sp-panel);border-right:0;}
body[data-world="music"] .drawer-header{padding:0 8px 4px;}
body[data-world="music"] .drawer-title{font:700 12px var(--font-sans);letter-spacing:.02em;text-transform:none;color:var(--ash);}
body[data-world="music"] .tab-group-label{font:700 13px var(--font-sans);letter-spacing:.01em;text-transform:none;color:var(--ash);padding:14px 12px 6px;}
body[data-world="music"] .tab{font:700 15.5px var(--font-sans);color:var(--fog);padding:10px 12px;gap:16px;border-radius:6px;background:transparent;}
body[data-world="music"] .tab:hover{color:#fff;background:transparent;}
body[data-world="music"] .tab[aria-selected="true"]{color:#fff;background:rgba(255,255,255,.08);}
body[data-world="music"] .tab .wi{width:22px;height:22px;opacity:1;}
body[data-world="music"] .tab[aria-selected="true"] .wi{color:var(--signal);}
body[data-world="music"] .sidebar-divider{background:rgba(255,255,255,.08);}
body[data-world="music"] .sidebar-section-label{font:700 12px var(--font-sans);color:var(--ash);text-transform:none;letter-spacing:.01em;}
body[data-world="music"] .nav-menu-dropdown > a{font:600 13px var(--font-sans);color:var(--ash);padding:6px 12px;}
body[data-world="music"] .nav-menu-dropdown > a:hover{color:#fff;}
/* library block */
body[data-world="music"] .pl-side{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08);}
body[data-world="music"] .pl-side-h span{color:#fff;font:700 15.5px var(--font-sans);}
body[data-world="music"] .pl-side-add{background:transparent;color:var(--fog);width:30px;height:30px;font-size:22px;}
body[data-world="music"] .pl-side-add:hover{background:#1f1f1f;color:#fff;}
body[data-world="music"] .pl-side-row{padding:6px 8px;gap:12px;align-items:center;}
body[data-world="music"] .pl-side-row .pl-mini{width:44px;height:44px;border-radius:4px;background:#282828;}
body[data-world="music"] .pl-side-row .pl-mini svg{width:20px;height:20px;}
body[data-world="music"] .pl-side-txt{display:flex;flex-direction:column;min-width:0;gap:1px;text-align:left;}
body[data-world="music"] .pl-side-txt b{font:600 15px var(--font-sans);color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body[data-world="music"] .pl-side-txt small{font:400 13px var(--font-sans);color:var(--ash);}
/* main panel with the colour wash at the top */
body[data-world="music"] .main-col{background:var(--sp-panel);border-radius:8px;position:relative;overflow:hidden;}
body[data-world="music"] .main-col::before{content:'';position:absolute;left:0;right:0;top:0;height:360px;background:linear-gradient(180deg,var(--pg,rgba(222,93,51,.34)) 0,rgba(18,18,18,0) 100%);pointer-events:none;transition:background .5s ease;}
body[data-world="music"] .feed{position:relative;z-index:1;padding:0 8px;scroll-snap-type:none;}
body[data-world="music"] .lbw{max-width:none;padding:0 16px 24px;}
/* search bar */
body[data-world="music"] .lbnav{border:0;padding:14px 0 8px;position:sticky;top:0;z-index:6;justify-content:flex-start;}
body[data-world="music"] .lbnav-links{display:none;}
body[data-world="music"] .lbnav-right{flex:1 1 auto;justify-content:flex-start;gap:12px;}
body[data-world="music"] .lbsearch{flex:0 1 480px;position:relative;}
body[data-world="music"] .lbsearch .field-input{background:#242424 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b3b3b3' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 16px center/18px;border:2px solid transparent;border-radius:999px;height:46px;padding:0 16px 0 46px;color:#fff;font-size:15px;}
body[data-world="music"] .lbsearch .field-input:hover{background-color:#2a2a2a;}
body[data-world="music"] .lbsearch .field-input:focus{border-color:#fff;outline:0;}
body[data-world="music"] .lbsearch-dd{background:#282828;border:0;border-radius:10px;box-shadow:0 16px 40px rgba(0,0,0,.6);}
body[data-world="music"] .lbbell{color:var(--fog);}
body[data-world="music"] .lbnav .fs-btn.primary{border-radius:999px;background:#fff;border-color:#fff;color:#000;font:700 13px var(--font-sans);text-transform:none;}
/* headings, shelves, chips */
body[data-world="music"] .lb-pagehead h2{font:800 clamp(32px,4.6vw,56px) var(--font-sans);letter-spacing:-.035em;margin:8px 0;}
body[data-world="music"] .lb-h,body[data-world="music"] .fs-h{font:700 24px var(--font-sans);letter-spacing:-.02em;text-transform:none;color:#fff;border:0;padding:0;margin:18px 0 12px;}
body[data-world="music"] .lb-h-r a,body[data-world="music"] .fs-h a{font:700 13px var(--font-sans);color:var(--ash);text-decoration:none;letter-spacing:0;}
body[data-world="music"] .lb-h-r a:hover,body[data-world="music"] .fs-h a:hover{text-decoration:underline;color:#fff;}
body[data-world="music"] .lb-tabs{border:0;gap:8px;margin:8px 0 16px;}
body[data-world="music"] .lb-tab{background:#2a2a2a;color:#fff;border:0;border-radius:999px;padding:7px 14px;font:500 14px var(--font-sans);text-transform:none;letter-spacing:0;}
body[data-world="music"] .lb-tab:hover{background:#333;}
body[data-world="music"] .lb-tab.active{background:#fff;color:#000;}
body[data-world="music"] .lb-hero{background:linear-gradient(135deg,#DE5D33 0%,#9a3a1d 55%,#3d1a10 100%);border-radius:10px;padding:32px;box-shadow:0 20px 50px -24px rgba(222,93,51,.7);}
body[data-world="music"] .lb-hero h2{font-weight:800;letter-spacing:-.03em;color:#fff;}
body[data-world="music"] .lb-hero p{color:rgba(255,255,255,.85);}
body[data-world="music"] .lb-hero .fs-btn{border-radius:999px;border-color:rgba(255,255,255,.5);color:#fff;}
body[data-world="music"] .lb-hero .fs-btn.primary{background:#fff;color:#000;border-color:#fff;}
body[data-world="music"] .lb-hero.small{padding:20px 24px;}
body[data-world="music"] .lb-hero a{color:#fff;text-decoration:underline;}
/* cover cards */
body[data-world="music"] .fs-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;}
body[data-world="music"] .fs-grid.sm{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}
body[data-world="music"] .fs-cell{background:transparent;padding:12px;border-radius:8px;transition:background-color .25s ease;}
body[data-world="music"] .fs-cell:hover{background:#1f1f1f;}
body[data-world="music"] .fs-poster{border:0;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.5);}
body[data-world="music"] .fs-poster:hover{outline:0;}
body[data-world="music"] .fs-poster.music{aspect-ratio:1;}
body[data-world="music"] .fs-pw{position:relative;}
body[data-world="music"] .fs-seen{display:none;}
body[data-world="music"] .fs-quick{top:6px;left:6px;bottom:auto;}
body[data-world="music"] .fs-cap.ttl{font:700 16px var(--font-sans);color:#fff;margin-top:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body[data-world="music"] .fs-cap.sub{font:400 14px var(--font-sans);color:var(--ash);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body[data-world="music"] .fs-play{width:48px;height:48px;right:8px;bottom:8px;background:var(--signal);color:#000;box-shadow:0 8px 20px rgba(0,0,0,.5);opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,background-color .15s ease;}
body[data-world="music"] .fs-cell:hover .fs-play,body[data-world="music"] .fs-play:focus-visible,body[data-world="music"] .fs-play.playing{opacity:1;transform:none;}
body[data-world="music"] .fs-play:hover{transform:scale(1.06);filter:none;background:#ff8a5f;}
/* big play button and actions on album / playlist pages */
body[data-world="music"] .hp-big-play{width:56px;height:56px;padding:0;border-radius:50%;background:var(--signal);color:#000;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.4);}
body[data-world="music"] .hp-big-play span{display:none;}
body[data-world="music"] .hp-big-play i svg{width:26px;height:26px;}
body[data-world="music"] .hp-big-play:hover{transform:scale(1.05);background:#ff8a5f;}
body[data-world="music"] .fs-btn{border-radius:999px;border-color:rgba(255,255,255,.3);color:#fff;font:700 13px var(--font-sans);text-transform:none;letter-spacing:0;padding:8px 16px;}
body[data-world="music"] .fs-btn:hover{border-color:#fff;color:#fff;transform:scale(1.03);}
body[data-world="music"] .fs-btn.primary{background:var(--signal);border-color:var(--signal);color:#000;}
/* track rows */
body[data-world="music"] .mu-tracks .mu-track,body[data-world="music"] .mu-result{border-top:0;border-radius:4px;padding:8px 10px;font-size:15px;}
body[data-world="music"] .mu-tracks .mu-track:hover,body[data-world="music"] .mu-result:hover{background:rgba(255,255,255,.1);}
body[data-world="music"] .mu-track.cur .t,body[data-world="music"] .mu-track.cur .t a{color:var(--signal);}
body[data-world="music"] .mu-track .n{color:var(--ash);text-align:center;}
body[data-world="music"] .mu-play{background:transparent;color:#fff;}
body[data-world="music"] .mu-track .len,body[data-world="music"] .pl-added{color:var(--ash);}
/* playlist header */
body[data-world="music"] .pl-head{align-items:end;gap:24px;margin:8px 0 8px;}
@media (min-width:640px){ body[data-world="music"] .pl-head{grid-template-columns:232px minmax(0,1fr);} }
body[data-world="music"] .pl-head .pl-cover{max-width:232px;border-radius:6px;box-shadow:0 4px 60px rgba(0,0,0,.5);}
body[data-world="music"] .pl-kind{font:700 13px var(--font-sans);text-transform:none;letter-spacing:0;color:#fff;}
body[data-world="music"] .pl-info h2{font:900 clamp(32px,6.4vw,84px) var(--font-sans);letter-spacing:-.045em;line-height:1;margin:6px 0 10px;}
body[data-world="music"] .pl-meta{color:#fff;font-size:14px;}
body[data-world="music"] .pl-desc{color:var(--fog);}
body[data-world="music"] .pl-actions{gap:12px;margin:8px 0 16px;}
body[data-world="music"] .pl-card{background:transparent;padding:12px;border-radius:8px;transition:background-color .25s ease;}
body[data-world="music"] .pl-card:hover{background:#1f1f1f;}
body[data-world="music"] .pl-card .pl-cover{border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.5);}
body[data-world="music"] .pl-card b{font:700 16px var(--font-sans);margin-top:8px;}
body[data-world="music"] .pl-liked{background:linear-gradient(135deg,#3a1a10,#181818);border-radius:8px;}
body[data-world="music"] .pl-pickrow,body[data-world="music"] .field-input,body[data-world="music"] .field-select,body[data-world="music"] .field-textarea{background:#2a2a2a;border-color:transparent;color:#fff;}
body[data-world="music"] .modal-panel{background:#282828;border-radius:12px;color:#fff;}
/* the player bar */
/* the player bar and its panel are dark in every world, like Spotify */
.hp,.hp-panel{--bone:#fff;--paper:#fff;--fog:#b3b3b3;--ash:#a7a7a7;--card:#181818;--card-hover:#282828;--canvas-raised:#222;--hairline:rgba(255,255,255,.12);color:#fff;}
.hp{background:#000;border-top:0;box-shadow:none;}
.hp-play{width:36px;height:36px;background:#fff;color:#000;border-radius:50%;}
.hp-play:hover{transform:scale(1.06);}
.hp-range{height:4px;border-radius:2px;}
.hp-title{font-weight:600;color:#fff;}
.hp-artist{color:var(--fog);font-size:12px;}
.hp-panel{background:#121212;border-left:0;border-radius:8px 0 0 8px;}
/* phones */
@media (max-width:719px){
  body[data-world="music"] .layout{padding:0;gap:0;}
  body[data-world="music"] .main-col{border-radius:0;}
  body[data-world="music"] .bottom-nav{background:linear-gradient(180deg,rgba(0,0,0,.6),#000 45%);border-top:0;}
  body[data-world="music"] .bn-btn{color:var(--fog);font-weight:600;}
  body[data-world="music"] .bn-btn[aria-current="true"]{color:#fff;}
  body[data-world="music"] .lbsearch{flex:1 1 100%;}
  body[data-world="music"] .fs-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body[data-world="music"] .fs-cell{padding:8px;}
  body[data-world="music"] .fs-play{opacity:1;transform:none;width:40px;height:40px;}
  body[data-world="music"] .pl-head{grid-template-columns:1fr;justify-items:center;text-align:center;}
  body[data-world="music"] .pl-actions{justify-content:center;}
}

/* ======================================================================== MEDIA (Letterboxd) */
/* Letterboxd's structure and manners in Culterix's original palette: no sidebar, one centred column under a slim top bar, small square-cornered posters with a fine border,
   spaced uppercase section headings with a rule and a "more" link, rectangular buttons, a bottom tab bar on phones. */
body[data-world="media"],
:root[data-theme="dark"] body[data-world="media"]{
  --canvas:#000;--canvas-flat:#000;--canvas-raised:#111;--card:#141414;--card-hover:#1f1f1f;
  --bone:#fff;--paper:#fff;--fog:#b5b5b5;--ash:#8f8f8f;--placeholder:#6f6f6f;--charcoal:#262626;--hairline:#262626;
  --signal:#00e054;--signal-soft:rgba(0,224,84,.14);--signal-text:#00e054;--world:#00e054;--world-soft:rgba(0,224,84,.14);
  background:#000;color:#fff;color-scheme:dark;
}
body[data-world="media"] .app{background:#000;}
body[data-world="media"] .nav,body[data-world="media"] .worlds{background:#000;}
/* no sidebar on a computer: the top bar carries everything, as on Letterboxd */
@media (min-width:720px){
  body[data-world="media"] .nav-menu-dropdown{display:none;}
  body[data-world="media"] .layout{padding:0;}
}
body[data-world="media"] .nav{padding:12px 20px;border-bottom:1px solid var(--hairline);}
body[data-world="media"] .worlds{border-bottom:1px solid var(--hairline);background:transparent;}
body[data-world="media"] .lbw{max-width:1000px;padding:0 20px 32px;}
/* the film navigation reads as Letterboxd's top links */
body[data-world="media"] .lbnav{border:0;border-bottom:1px solid var(--hairline);border-radius:0;background:transparent;box-shadow:none;padding:10px 0;}
body[data-world="media"] .lbnav-links a{font:600 12px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ash);border-radius:2px;padding:8px 10px;}
body[data-world="media"] .lbnav-links a:hover{color:var(--bone);background:transparent;}
body[data-world="media"] .lbnav-links a[aria-current="page"]{color:var(--bone);background:transparent;box-shadow:inset 0 -2px 0 var(--signal);border-radius:0;}
body[data-world="media"] .lbsearch .field-input{border-radius:4px;background:var(--canvas-raised);border:1px solid var(--hairline);height:34px;font-size:13px;}
body[data-world="media"] .lbsearch .field-input:focus{border-color:var(--signal);outline:0;background:var(--card);}
body[data-world="media"] .lbnav .fs-btn.primary{border-radius:3px;font:700 11px var(--font-sans);letter-spacing:.09em;text-transform:uppercase;padding:9px 14px;background:var(--signal);border-color:var(--signal);color:#04170a;}
/* headings: small, spaced, ruled, with a MORE link on the right */
body[data-world="media"] .lb-h,body[data-world="media"] .fs-h{font:600 12px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ash);border:0;border-bottom:1px solid var(--hairline);padding:0 0 6px;margin:26px 0 12px;display:flex;justify-content:space-between;align-items:baseline;}
body[data-world="media"] .lb-h-r a,body[data-world="media"] .fs-h a{font:600 11px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);text-decoration:none;}
body[data-world="media"] .lb-h-r a:hover,body[data-world="media"] .fs-h a:hover{color:var(--signal-text);}
/* pages start like Letterboxd's: a big serif-free headline centred over a hero */
body[data-world="media"] .lb-hero{background:transparent;border:0;border-radius:0;padding:28px 0 8px;text-align:center;justify-items:center;}
body[data-world="media"] .lb-hero h2{font-weight:800;letter-spacing:-.03em;font-size:clamp(26px,4.4vw,40px);}
body[data-world="media"] .lb-hero p{max-width:640px;margin:0 auto;}
body[data-world="media"] .lb-hero .fs-btn.primary{background:var(--signal);border-color:var(--signal);color:#04170a;font-weight:700;padding:12px 20px;}
body[data-world="media"] .lb-pagehead h2{font-weight:800;letter-spacing:-.03em;}
/* tabs: underlined text, not chips */
body[data-world="media"] .lb-tabs{border-bottom:1px solid var(--hairline);gap:18px;margin-bottom:16px;}
body[data-world="media"] .lb-tab{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:8px 0;font:600 12px var(--font-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ash);}
body[data-world="media"] .lb-tab.active{color:var(--bone);border-bottom-color:var(--signal);background:transparent;}
/* buttons: small and rectangular */
body[data-world="media"] .fs-btn{border-radius:3px;font:600 11px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;}
body[data-world="media"] .fs-btn.primary{background:var(--signal);border-color:var(--signal);color:#04170a;}
/* posters: small, square-cornered, fine border, accent outline on hover */
/* posters at Letterboxd's size: 125px wide (2:3) in the main grids, 100px in compact rows, fixed rather than stretched to fill the row */
body[data-world="media"] .fs-grid{grid-template-columns:repeat(auto-fill,125px);justify-content:start;gap:14px 10px;}
body[data-world="media"] .fs-grid.sm{grid-template-columns:repeat(auto-fill,100px);}
body[data-world="media"] .fs-grid.xs{grid-template-columns:repeat(auto-fill,56px);}
@media (max-width:719px){
  body[data-world="media"] .fs-grid,body[data-world="media"] .fs-grid.sm{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));justify-content:stretch;}
}
body[data-world="media"] .fs-poster{border-radius:4px;border:1px solid rgba(128,128,140,.35);box-shadow:none;transition:none;}
body[data-world="media"] .fs-poster:hover{outline:2px solid var(--signal);outline-offset:-2px;transform:none;box-shadow:none;}
body[data-world="media"] .fs-cell .fs-below{margin-top:5px;}
body[data-world="media"] .lb-backdrop{border-radius:0;}
/* phones: Letterboxd's bottom tab bar */
@media (max-width:719px){
  body[data-world="media"] .bottom-nav{background:var(--canvas-flat);border-top:1px solid var(--hairline);}
  body[data-world="media"] .bn-btn{color:var(--ash);font-weight:600;}
  body[data-world="media"] .bn-btn[aria-current="true"]{color:var(--signal);}
  body[data-world="media"] .lbw{padding:0 12px 24px;}
  body[data-world="media"] .lb-hero{padding:20px 0 4px;}
}

/* scrollbars follow the world instead of showing the system's bright track */
body[data-world="media"] .nav-menu-dropdown,body[data-world="music"] .nav-menu-dropdown,body[data-world="media"] .feed,body[data-world="music"] .feed{scrollbar-width:thin;scrollbar-color:rgba(128,128,140,.45) transparent;}
body[data-world="media"] .nav-menu-dropdown,body[data-world="music"] .nav-menu-dropdown{overflow-y:auto;}

/* ======================================================================== phones */
/* iPhone Safari zooms into any text field under 16px and stays zoomed afterwards; 16px keeps the page steady */
@media (max-width:900px){
  input,select,textarea,.field-input,.field-select,.field-textarea{font-size:16px!important;}
}
button,a,input,select,textarea,[role="tab"],[role="button"]{touch-action:manipulation;}
/* comfortable tap targets and clear focus everywhere */
@media (max-width:719px){
  .bn-btn{min-height:52px;font-size:11.5px;}
  .bn-btn svg{width:24px;height:24px;}
  .worlds a{min-height:44px;}
  .tab,.pl-side-row{min-height:48px;}
  .text-size-toggle,.theme-toggle,.account-btn,.nav-menu-btn{min-width:44px;min-height:44px;}
  .lb-tab,.fs-btn{min-height:40px;}
}
:focus-visible{outline:2px solid var(--signal);outline-offset:2px;}
button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:0;}
@media (max-width:719px){
  body[data-world] .worlds{padding-left:10px;padding-right:10px;gap:6px;}
  body[data-world="music"] .worlds a,body[data-world="media"] .worlds a{padding:8px 13px;font-size:13px;}
}
.worlds a[data-world-tab="media"],:root[data-theme="dark"] .worlds a[data-world-tab="media"]{--wc:#00e054;}

/* ======================================================================== shelves, mixes and recent searches (both worlds) */
.pl-rc{border:0;text-align:left;font:inherit;cursor:pointer;}
.pl-rc .pl-cover{margin-bottom:2px;}
.pl-cover.mix{display:flex;align-items:flex-end;padding:10px;color:#fff;font-weight:800;}
.pl-cover.mix em{font-style:normal;font-size:15px;letter-spacing:-.01em;text-shadow:0 1px 6px rgba(0,0,0,.4);}
.pl-cover.mix0{background:linear-gradient(135deg,#f0784f,#7a2d14);}
.pl-cover.mix1{background:linear-gradient(135deg,#4c7bf0,#152a6e);}
.pl-cover.mix2{background:linear-gradient(135deg,#2fbf8a,#0c4d36);}
.pl-cover.mix3{background:linear-gradient(135deg,#b04ce0,#40155e);}
.pl-mix{border:0;text-align:left;font:inherit;cursor:pointer;}
.fs-linkbtn{background:none;border:0;color:var(--ash);font:600 12px var(--font-sans);cursor:pointer;padding:0 4px;text-decoration:underline;}
.fs-linkbtn:hover{color:var(--bone);}
.lbsearch-rh{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;color:var(--ash);font:600 11px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;}

/* ======================================================================== share cards, taste match, imports */
.sc-wrap{display:flex;justify-content:center;margin:8px 0 12px;}
.sc-img{width:100%;max-width:340px;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#111;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;}
.sc-img img{width:100%;height:100%;object-fit:contain;display:block;border-radius:10px;}
.sc-acts{flex-wrap:wrap;}
.sc-tip{font-size:12px;margin:6px 0 0;}
.tm-card{background:var(--card);border-radius:14px;padding:16px;margin:0 0 var(--sp-16);}
.tm-in{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.tm-in .fs-btn{margin-left:auto;}
.tm-txt{flex:1 1 200px;min-width:0;}
.tm-txt p,.tm-in p{margin:2px 0 0;font-size:13px;}
.tm-ring{--p:0;width:78px;height:78px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font:800 22px var(--font-sans);color:var(--bone);background:conic-gradient(var(--signal) calc(var(--p) * 1%),var(--charcoal) 0);position:relative;}
.tm-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--card);}
.tm-ring span,.tm-ring{z-index:0;}
.tm-ring span{position:relative;z-index:1;font-size:19px;}
.tm-strip{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap;}
.tm-lab{font:700 11px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);min-width:130px;}
.tm-pics{display:flex;gap:8px;}
.tm-p{display:block;width:52px;}
.imp-list{display:grid;gap:6px;max-height:280px;overflow:auto;margin:10px 0;}
.imp-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--canvas-raised);}
.imp-row b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;}
.imp-row small{color:var(--ash);}
.imp-steps{padding-left:18px;margin:6px 0 10px;font-size:13px;}
.imp-steps li{margin:3px 0;}
.imp-bar{height:6px;border-radius:99px;background:var(--charcoal);overflow:hidden;margin:8px 0;}
.imp-bar i{display:block;height:100%;width:0;background:var(--signal);transition:width .2s;}

/* Discord status */
.dc-btn{display:inline-flex;align-items:center;gap:7px;}
.dc-dot{width:8px;height:8px;border-radius:50%;background:#7d7d7d;display:inline-block;}
.dc-dot.ok{background:#3ba55d;} .dc-dot.wait{background:#faa61a;} .dc-dot.bad{background:#ed4245;}
.dc-status{padding:8px 12px;border-radius:10px;background:var(--canvas-raised);font-size:13px;margin:8px 0;border-left:4px solid #7d7d7d;}
.dc-status.ok{border-left-color:#3ba55d;} .dc-status.wait{border-left-color:#faa61a;} .dc-status.bad{border-left-color:#ed4245;}
.dc-tog{margin-top:6px;font-weight:600;}

/* long lists paint only what is on screen */
.mu-result,.pl-row,.mu-track,.lb-act{content-visibility:auto;contain-intrinsic-size:auto 56px;}

/* Now playing panel: the picture (or the playing video) fills the top and fades into the panel */
.hp-panel .hp-pb{padding-top:0;}
.hp-stage{position:relative;margin:0 -16px;overflow:hidden;}
.hp-stage-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(#000 52%,transparent 99%);mask-image:linear-gradient(#000 52%,transparent 99%);}
.hp-vinfo{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:16px;pointer-events:none;}
.hp-vinfo a,.hp-vinfo button{pointer-events:auto;}
.hp-vtop{font:700 15px var(--font-sans);color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6);}
.hp-vbot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;}
.hp-vtx{display:flex;flex-direction:column;min-width:0;gap:2px;}
.hp-vinfo .hp-np-t{font-size:26px;font-weight:800;line-height:1.15;text-shadow:0 2px 12px rgba(0,0,0,.6);}
.hp-vinfo .hp-np-a{font-size:15px;color:#d0d0d0;text-shadow:0 1px 8px rgba(0,0,0,.6);}
.hp-vlike{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:2px solid #b3b3b3;background:transparent;color:#b3b3b3;display:grid;place-items:center;cursor:pointer;padding:0;}
.hp-vlike svg{width:18px;height:18px;}.hp-vlike:hover{border-color:#fff;color:#fff;}
.hp-vlike.on{background:#1ed760;border-color:#1ed760;color:#000;}
.hp-video .hp-vov{display:none;}
.hp-video.dock{right:auto;bottom:auto;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible;z-index:9;}
.hp-video.dock .hp-vov{display:block;position:absolute;inset:0;pointer-events:none;}
.hp-video.dock .hp-vframe{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 52%,transparent 99%);mask-image:linear-gradient(#000 52%,transparent 99%);}
.hp-video.dock .hp-vframe iframe{position:absolute;top:0;left:50%;height:100%;width:calc(var(--vh) * 16 / 9);transform:translateX(-50%);}
.hp-rel{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hp-relc{display:flex;flex-direction:column;gap:2px;text-align:left;background:none;border:0;padding:0;color:#fff;cursor:pointer;min-width:0;}
.hp-relc img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;margin-bottom:6px;background:#282828;}
.hp-relc b{font:700 14px var(--font-sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hp-relc small{font:400 13px var(--font-sans);color:var(--ash);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hp-relc:hover b{text-decoration:underline;}
