/* Labels reuse the Hub's Archivo / Inter / JetBrains Mono typography,
   homepage feature stage, roster tiles and mentor booking panel. */
:root{--muted:var(--text-dim)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse 800px 400px at 50% -10%,rgba(201,255,61,.08),transparent),var(--bg);color:var(--text);font-family:'Inter',sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
.labels-wrap{max-width:calc(var(--w-wide,1600px) + 2 * var(--page-gutter,20px));padding:56px var(--page-gutter,20px) 100px;margin:auto}.labels-narrow{max-width:900px}h1,h2,h3{font-family:'Archivo',sans-serif}h1{font-weight:800;font-size:clamp(34px,6vw,52px);line-height:1.02;letter-spacing:-.01em;margin:0 0 14px}h1 span{color:var(--acid)}h2{font-size:24px;letter-spacing:-.025em;margin:0 0 16px}h3{margin:0 0 10px;font-size:19px}.lead{color:var(--text-dim);font-size:15px;line-height:1.6;max-width:62ch;margin:0 0 28px}.muted{color:var(--text-dim)}.kicker,.section-label{font:500 11px/1.4 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.kicker{color:var(--acid);margin-bottom:16px}.section-label{display:flex;gap:12px;align-items:center;margin:0 0 20px}.section-label:after{content:'';height:1px;background:var(--line);flex:1}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row .btn,.row .btn-ghost,.row .mini-btn,.row .act,.row .danger-btn{flex:0 0 auto}.between{justify-content:space-between}.page-head{margin-bottom:30px}.page-head .lead{margin-bottom:0}.link{color:var(--acid);text-decoration:underline;text-underline-offset:4px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:24px}.stack>*+*{margin-top:18px}.section{margin-top:40px}.empty{border:1px solid var(--line);border-radius:5px;padding:30px;color:var(--text-dim);font-size:14px;line-height:1.6;grid-column:1/-1}.empty strong{display:block;color:var(--text);font:700 18px 'Archivo',sans-serif;margin-bottom:6px}.status{font-size:14px;line-height:1.5;color:var(--text-dim);margin:14px 0}.status.error{color:#ff8897}.status.ok{color:var(--acid)}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--line);border-radius:3px;font:500 11px 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.06em}.badge.confirmed{color:var(--acid);border-color:#526329}.back{display:inline-block;margin-bottom:24px;color:var(--text-dim);font:600 13px Inter,sans-serif;text-decoration:none}.back:hover{color:var(--acid)}.cat-search{margin-top:20px}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 24px}.filters-end{margin-left:auto;display:flex;align-items:center;gap:12px}input:not([type=checkbox]),textarea,select{width:100%;color:var(--text);background:var(--surface2);border:1px solid var(--line);border-radius:3px;padding:12px 14px;font-size:14px;min-width:0}input:focus,textarea:focus,select:focus{outline:0;border-color:var(--acid)}textarea{resize:vertical;min-height:110px}input[type=checkbox]{accent-color:var(--acid)}.field{display:block;font-size:13px;color:var(--text-dim);line-height:1.5}.field>input,.field>textarea,.field>select{margin-top:7px}.field small{display:block;margin-top:6px;color:var(--text-dim);font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}.check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-dim);line-height:1.6}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:30px 18px}.tile{min-width:0;position:relative}.art{position:relative;aspect-ratio:1;overflow:hidden;background:linear-gradient(145deg,#222226,#111113);border-radius:5px;display:grid;place-items:center}.art img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .45s,filter .3s}.art.logo img{object-fit:contain;padding:8%}.tile:hover .art img{transform:scale(1.04);filter:brightness(1.06)}.initials{font:800 48px 'Archivo',sans-serif;letter-spacing:-.02em;color:#7a7a83}.tile-title{font:700 15px/1.25 'Archivo',sans-serif;margin:11px 0 3px}.tile-sub{font-size:13px;color:var(--text-dim);line-height:1.5}.tile-meta{font:500 11px/1.6 'JetBrains Mono',monospace;color:var(--text-dim);margin-top:8px}.tile .save{position:absolute;top:10px;right:10px;z-index:3}.stage{position:relative;overflow:hidden;border-radius:5px;background:#151517;isolation:isolate}.stage-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.stage-name{font:800 clamp(40px,5vw,88px)/.92 'Archivo',sans-serif;letter-spacing:-.035em;margin:0 0 18px;text-wrap:balance;overflow-wrap:anywhere}.stage-copy p{font-size:16px;line-height:1.6;color:#c8c8c3;margin:0 0 24px;white-space:pre-line}.stage-logo .initials{font-size:clamp(48px,6vw,90px)}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;margin-top:40px;align-items:start}.profile-aside{position:sticky;top:95px}.profile-aside .btn,.profile-aside .btn-ghost,.profile-aside .danger-btn{display:block;width:100%;margin-top:12px}.profile-aside p{font-size:14px;line-height:1.6;color:var(--text-dim)}.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px;margin:26px 0}.tabs .mini-btn[aria-pressed=true]{background:var(--acid)!important;color:var(--ink)!important;border-color:var(--acid)!important}.manage-list{display:grid;gap:12px}.manage-item{border:1px solid var(--line);border-radius:5px;background:var(--surface);padding:18px}.manage-item p{font-size:14px;color:var(--text-dim);line-height:1.6;margin:8px 0}.manage-item .row{margin-top:12px}.manage-item h3{margin:0}.hint{font-size:13px;line-height:1.6;color:var(--text-dim);margin-top:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--line)}th{font:11px 'JetBrains Mono',monospace;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.brand-rule{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.visually-hidden,.save-word{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-aside{position:static}.stage-inner{gap:24px}.stage-logo{width:160px}}@media(max-width:600px){.labels-wrap{padding-top:32px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.form-grid{grid-template-columns:1fr}.stage-inner{grid-template-columns:1fr;min-height:320px}.stage-logo{display:none}.stage-name{font-size:44px}.panel{padding:18px}.filters{align-items:stretch}.filters select{max-width:none;width:100%}.profile-layout{gap:24px}.page-head .row{align-items:flex-start}}
.profile-image-field{display:grid;gap:9px;align-content:start}.profile-media-preview{display:grid;place-items:center;width:min(100%,260px);aspect-ratio:16/7;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:#111113;color:var(--text-dim);font:11px 'JetBrains Mono',monospace}.profile-media-preview[data-profile-preview="logo_url"]{width:148px;aspect-ratio:1}.profile-media-preview img{width:100%;height:100%;object-fit:cover}.profile-media-preview[data-profile-preview="logo_url"] img{object-fit:contain;padding:12%}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.stage-inner{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(24px,3vw,40px);padding:clamp(28px,4vw,56px);min-height:320px}
.stage-header{display:grid;grid-template-columns:clamp(112px,13vw,176px) minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,40px)}
.stage-logo{width:clamp(112px,13vw,176px);border:0;background:transparent;border-radius:4px}
.stage-logo img{width:100%;height:100%;object-fit:contain;padding:0;border-radius:4px}
.stage-copy{max-width:850px}
.stage-bio{display:grid;gap:14px;max-width:88ch}
.stage-bio p{font-size:15px;line-height:1.75;color:#c8c8c3;margin:0;white-space:normal}
@media(max-width:900px){.stage-header{grid-template-columns:128px minmax(0,1fr)}.stage-logo{width:128px}}
@media(max-width:600px){.stage-inner{gap:24px;min-height:0}.stage-header{grid-template-columns:minmax(0,1fr);gap:18px}.stage-logo{display:grid;width:86px}.stage-name{font-size:clamp(30px,9vw,42px)}.stage-bio p{font-size:14px}}

/* ---------- Demo send: label picker, mentor co-sign, hot ranking ---------- */
.demo-picker{border:1px solid var(--line);border-radius:5px;padding:18px}
.demo-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;margin-top:14px;max-height:340px;overflow:auto}
.demo-pick{position:relative;display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:4px;background:var(--bg);cursor:pointer;font-size:13px}
.demo-pick:hover{border-color:#46464b}
.demo-pick:has(input:checked){border-color:var(--acid);background:rgba(201,255,61,.06)}
.demo-pick input{position:absolute;top:8px;right:8px;z-index:2;width:auto}
.demo-pick .art{aspect-ratio:1}
.demo-pick .initials{font-size:26px}
.demo-pick-name{font:700 13px/1.3 'Archivo',sans-serif;color:var(--text)}
.demo-pick-sub{font:10px/1.4 'JetBrains Mono',monospace;color:var(--text-dim)}
.demo-cosign{border:1px solid #3c4a1f;border-radius:5px;padding:18px;background:linear-gradient(180deg,rgba(201,255,61,.07),transparent)}
.demo-cosign h3{margin:0 0 8px}
.demo-cosign .field{margin-top:14px}
.demo-stamp{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 10px;border:1px solid var(--line);border-radius:3px;font:500 11px 'JetBrains Mono',monospace;letter-spacing:.06em;color:var(--text-dim)}
.demo-stamp.is-on{color:var(--acid);border-color:#526329;background:rgba(201,255,61,.08)}
.demo-stamp.is-off{opacity:.75}
.demo-quote{font-style:italic;color:var(--text)!important;border-left:2px solid var(--acid);padding-left:12px}
.manage-item.is-cosigned{border-color:#526329;background:linear-gradient(180deg,rgba(201,255,61,.06),var(--surface))}
.cosign-flag{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;padding:6px 10px;border-radius:3px;background:var(--acid);color:var(--ink);font:700 11px 'JetBrains Mono',monospace;letter-spacing:.05em}
.cosign-flag.is-pending{background:transparent;color:var(--text-dim);border:1px dashed var(--line);font-weight:500}
.hot-flag{display:inline-block;margin-top:6px;padding:3px 7px;border-radius:3px;background:var(--acid);color:var(--ink);font:700 10px 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase}
.demo-pick.needs-cosign{border-style:dashed}
.demo-pick.needs-cosign:has(input:checked){border-style:solid}
.demo-pick-gate{display:block;margin-top:2px;font:600 9px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--acid)}
/* A transparent logo must not read on top of the fallback initials. The initials
   come back on their own if the file 404s: the global error handler strips a
   broken <img> out of the DOM, so :has(img) stops matching. */
.art:has(img) .initials{display:none}

/* ---------- Directory polish: tile logos, filter bar, rotating stage ---------- */
/* A logo tile was padded 20% on every side, so a square logo file only filled
   ~36% of the box and read as a small stamp floating in a big empty square. */
.demo-pick .art.logo img{padding:10%}
/* The count sat in the filter row still carrying the kicker's 16px bottom
   margin, so it rode above the baseline of the controls next to it. */
.filters .kicker{margin:0 0 0 auto;padding-right:2px;white-space:nowrap;color:var(--text-dim)}
.filters label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim);white-space:nowrap}
@media(max-width:600px){.filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.filters-end{display:contents}.filters .cat-select{width:100%;max-width:none}#genre{grid-column:1;grid-row:1}#sort{grid-column:2;grid-row:1}.filters .cat-toggle{grid-column:1;grid-row:2;justify-self:start}.filters .cat-count{grid-column:2;grid-row:2;justify-self:end;align-self:center}}
.stage-stack{position:relative}
.stage-slide{display:none}
.stage-slide.is-on{display:block}
.stage-dots{position:absolute;left:clamp(28px,4vw,56px);bottom:clamp(20px,3vw,28px);display:flex;gap:8px;z-index:2}
.stage-dots button{width:26px;height:4px;padding:0;border:0;border-radius:2px;background:#ffffff38;cursor:pointer;transition:background .25s}
.stage-dots button[aria-current=true]{background:var(--acid)}
.stage-dots button:hover{background:#ffffff70}
.stage-stack .stage-copy{padding-bottom:26px}
/* The banner's own wordmark was washing through behind the headline; hold the
   scrim darker across the copy column and only let the art open up at the right. */
.stage:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,8,9,.96),rgba(8,8,9,.86) 42%,rgba(8,8,9,.40))}

/* ---------- Artist picker: search by name, pick by face ---------- */
.artist-picker{display:grid;gap:9px;position:relative}
.artist-picker-label{font-size:13px;color:var(--text-dim)}
.artist-picker small{margin-top:0}
.artist-search{position:relative}
.artist-face{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:3px;overflow:hidden;background:linear-gradient(145deg,#222226,#111113);border:1px solid var(--line)}
.artist-face img{width:100%;height:100%;object-fit:cover}
.artist-face .initials{font:800 13px 'Archivo',sans-serif;color:#7a7a83;letter-spacing:-.01em}
.artist-face.small{width:32px;height:32px}
.artist-face.small .initials{font-size:11px}
.artist-chosen{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:var(--surface2)}
.artist-chosen[hidden]{display:none}
.artist-chosen-name{font:700 14px 'Archivo',sans-serif;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.artist-results{position:absolute;z-index:6;top:calc(100% + 6px);left:0;right:0;margin:0;padding:6px;list-style:none;max-height:288px;overflow:auto;background:var(--surface2);border:1px solid var(--line);border-radius:3px;box-shadow:0 18px 40px rgba(0,0,0,.55)}
.artist-results li{display:flex;align-items:center;gap:11px;padding:8px 9px;border-radius:3px;font-size:14px;cursor:pointer}
.artist-results li:hover{background:#2b2b31}
.artist-results li[aria-selected=true]{background:rgba(201,255,61,.16);color:var(--text);box-shadow:inset 2px 0 0 var(--acid)}
.artist-results .artist-none{cursor:default;color:var(--text-dim);font-size:13px;line-height:1.55;display:block}
.artist-results .artist-none:hover{background:transparent}

/* ---------- Profile: the bio reads as prose, not as banner overlay ---------- */
.label-about{max-width:78ch}
.label-about .stage-bio{gap:16px;max-width:none}
.label-about .stage-bio p{font-size:16px;color:var(--text)}
.label-about .stage-bio p+p{margin-top:0}
.stage-header{align-items:center}
.stage-inner{min-height:0;padding-block:clamp(26px,3.4vw,44px)}
.stage .badge{background:rgba(10,10,11,.5)}
/* The heart is the shared .lr-heart (lr-ui.js); in a row of site buttons it takes their 48px box. */
.stage .save,.profile-head .save{width:48px;height:48px;background:transparent}
.stage .save svg,.profile-head .save svg{width:18px;height:18px}
/* An empty section is a note, not a slab the size of a real card. */
.empty{border:1px dashed var(--line);border-radius:5px;padding:22px 24px;background:transparent}
.empty strong{font-size:15px;margin-bottom:4px}
.profile-aside h2{font-size:20px}
.profile-aside .brand-rule h3{font-size:16px}
.demo-picker #label-filter{margin-top:14px}
.demo-pick[hidden]{display:none!important}
.standalone-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.standalone-fields[hidden]{display:none}
.standalone-fields .field.full,.standalone-fields>label:last-child{grid-column:1/-1}
@media(max-width:600px){.standalone-fields{grid-template-columns:1fr}}
/* A left-to-right scrim only protects copy on a wide stage. On a phone the copy
   runs the full width, so the veil has to cover the whole banner instead. */
@media(max-width:700px){.stage:after{background:linear-gradient(180deg,rgba(8,8,9,.95),rgba(8,8,9,.88))}.stage-bg{opacity:.45}}
/* The end of the loop, said out loud. "accepted" in a grey badge was the only
   thing that marked a signing, on a page whose entire purpose is getting one. */
/* The end of the loop, said out loud. A mentor calling a track ready and a label
   saying yes each land as a pressed sleeve in the editorial-cover look: black,
   grain, heavy Archivo, a short acid bar and a flag (label-demo.js press()).
   It plays in once; reduced motion just shows it. */
.demo-signed{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.press{display:grid;grid-template-columns:148px minmax(0,1fr);gap:22px;align-items:center;margin-top:16px}
.demo-signed .press{margin-top:0}
.press-card{--lean:.26;--fh:22px;position:relative;aspect-ratio:1;border-radius:5px;overflow:hidden;background:#131315;container-type:inline-size}
.press-photo{position:absolute;inset:0 0 0 40%;clip-path:polygon(0 0,100% 0,100% 100%,43.33% 100%);background:#18181b}
.press-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}
.press-photo.is-logo{background:linear-gradient(145deg,#222226,#111113)}.press-photo.is-logo img{object-fit:contain;padding:18% 10% 12% 30%}
.press-photo span{position:absolute;inset:0;display:grid;place-items:center;padding-left:26%;font:800 44px 'Archivo',sans-serif;color:#3a3a40}
.press-slash{position:absolute;inset:0;background:var(--acid);clip-path:polygon(37% 0,40% 0,66% 100%,63% 100%)}
.press-flags{position:absolute;top:0;left:40%;right:0;display:flex;flex-direction:column}
.press-flag{height:var(--fh);display:flex;align-items:center;padding:0 8px 0 calc(var(--fh) * var(--lean) + 6px);font:800 11px/1 Inter,sans-serif;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;overflow:hidden;color:var(--ink);background:var(--text);clip-path:polygon(0 0,100% 0,100% 100%,calc(var(--fh) * var(--lean)) 100%)}
.press-mark{position:absolute;left:10px;bottom:10px;width:40%;height:auto;display:block}
.press-word{position:absolute;left:9px;bottom:9px;max-width:46%;font:800 13cqi/1 'Archivo',sans-serif;letter-spacing:-.02em;color:var(--text)}
.press .press-title{margin:0;font:800 19px/1.2 'Archivo',sans-serif;letter-spacing:-.01em;color:var(--text);text-wrap:balance}
.press-quote{margin:10px 0 0;font-size:15px;line-height:1.55;color:var(--text);max-width:60ch}
.press-copy .hint{margin-top:8px}
.press-copy .row{margin-top:14px}
.press.is-landing .press-slash{animation:press-slice .45s cubic-bezier(.75,0,.25,1) .15s both}
.press.is-landing .press-photo{animation:press-open .7s cubic-bezier(.16,1,.3,1) .5s both}
.press.is-landing .press-flag{animation:press-flag .4s cubic-bezier(.16,1,.3,1) .8s both}
.press.is-landing .press-mark,.press.is-landing .press-word{animation:press-rise .6s cubic-bezier(.16,1,.3,1) .55s both}
@keyframes press-slice{from{clip-path:polygon(37% 0,40% 0,40% 0,37% 0)}}
@keyframes press-open{from{clip-path:polygon(0 0,0 0,43.33% 100%,43.33% 100%)}}
@keyframes press-flag{from{transform:translateX(105%)}}
@keyframes press-rise{from{clip-path:inset(100% 0 0 0);transform:translateY(10px)}to{clip-path:inset(0 0 -10% 0);transform:none}}
@media(max-width:560px){.press{grid-template-columns:124px minmax(0,1fr);gap:14px 16px}.press-copy{display:contents}.press-copy>:not(.press-title){grid-column:1/-1}.press .press-quote,.press-copy .hint,.press-copy .row{margin-top:0}.press-card{--fh:20px}.press-flag{font-size:10.5px}.press .press-title{font-size:17px}}
@media(prefers-reduced-motion:reduce){.press.is-landing *{animation:none!important}}
.manage-item.is-signed{border-color:#526329}

/* Roster and catalogue tiles sit in one grid, so one tile with more to say
   than its neighbours used to set the height for the whole row. Cap the
   secondary line at two lines and push the action to the bottom edge, and
   every card in a row lines up whatever its content. */
.tile{display:flex;flex-direction:column}
.tile .art{flex:none}
.tile-sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tile .row{margin-top:auto;padding-top:12px}

/* Label pages build their artwork with LabelHub.art(), not LR.mentorPhoto, so
   they never carried data-lr-art and missed the sitewide crop fix. Same bias
   here: a head sits in the top third of nearly every press shot, and a centred
   cover crop on a tall photo cuts it off. Logos are object-fit:contain and are
   left centred. */
.art:not(.logo) img{object-position:50% 22%}
/* Roster booking: a picker instead of one button per artist once the roster
   outgrows a short list. */
.roster-picker{margin-top:14px}
.roster-picker .field{margin:0}

/* ---------- Catalogue: release types, tracklists, drag order ---------- */
.cat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 32px;flex-wrap:wrap;margin-bottom:22px}
.cat-head .lead{margin-bottom:0}
.cat-new .row{gap:8px;align-items:center}
.cat-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}
.cat-chips{display:flex;gap:6px;flex-wrap:wrap}
.cat-chips .mini-btn[aria-pressed=true]{background:var(--acid)!important;color:var(--ink)!important;border-color:var(--acid)!important}
.cat-count{opacity:.6;margin-left:3px}
.cat-hint{margin:10px 0 16px}
.cat-list,.cat-track-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cat-row{border:1px solid var(--line);border-radius:5px;background:var(--surface);transition:border-color .2s}
.cat-row.is-open{border-color:#46464b}
.cat-row-main{display:grid;grid-template-columns:20px 56px minmax(0,1fr) 104px 170px 96px auto;align-items:center;gap:14px;padding:10px 14px 10px 8px}
.cat-grip{cursor:grab;color:var(--text-dim);text-align:center;font-size:16px;line-height:1;padding:8px 0;user-select:none;touch-action:none}
.cat-grip:hover{color:var(--text)}.cat-grip:active{cursor:grabbing}
.cat-cover{width:56px;height:56px;border-radius:4px;overflow:hidden;background:linear-gradient(145deg,#222226,#111113);display:grid;place-items:center;cursor:pointer;font:800 15px 'Archivo',sans-serif;color:#7a7a83}
.cat-cover img{width:100%;height:100%;object-fit:cover}
.cat-name{display:grid;min-width:0;cursor:pointer}
.cat-name strong{font:700 15px/1.3 'Archivo',sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cat-name small,.cat-meta small{font-family:'Inter',sans-serif;font-size:12px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cat-meta{display:grid;min-width:0;font:500 12px/1.5 'JetBrains Mono',monospace}
.cat-type{justify-self:start;padding:5px 9px;border:1px solid var(--line);border-radius:3px;font:500 10px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.cat-type.t-Album{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.cat-type.t-EP{border-color:#526329;color:var(--acid)}
.cat-type.t-Compilation{border-style:dashed}
.cat-row .badge{justify-self:start}
.cat-actions{display:flex;gap:6px;justify-content:flex-end}
.mini-btn.cat-ic{min-width:34px;padding-left:0;padding-right:0;justify-content:center}
.mini-btn:disabled{opacity:.3;cursor:default}
.cat-row.is-draft .cat-cover,.cat-row.is-draft .cat-name{opacity:.65}
.is-dragging{opacity:.35}
.drop-above{box-shadow:0 -2px 0 var(--acid)}.drop-below{box-shadow:0 2px 0 var(--acid)}
.cat-form{margin:0;border-width:1px 0 0;border-radius:0 0 5px 5px;display:grid;gap:22px}
[data-cat-slot] .cat-form{margin-top:12px;border-width:1px;border-radius:5px}
.cat-form h3{margin:0}
.cat-seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--line);border-radius:4px;background:var(--bg);justify-self:start}
.cat-seg label{cursor:pointer;position:relative}
.cat-seg input{position:absolute;inset:0;width:100%!important;height:100%;margin:0;opacity:0;pointer-events:none}
.cat-seg span{display:block;padding:9px 16px;border-radius:3px;font:600 12px 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}
.cat-seg label:hover span{color:var(--text)}
.cat-seg input:checked+span{background:var(--acid);color:var(--ink)}
.cat-seg input:focus-visible+span{outline:2px solid var(--acid);outline-offset:2px}
.cat-form-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.cat-art{display:grid;gap:10px}
.cat-art-box{aspect-ratio:1;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#111113;display:grid;place-items:center;color:var(--text-dim);font:11px 'JetBrains Mono',monospace}
.cat-art-box img{width:100%;height:100%;object-fit:cover}
.cat-art .hint{margin:0}
.cat-upload{cursor:pointer}
.cat-tracks{border:1px solid var(--line);border-radius:5px;padding:18px;background:var(--bg);display:grid;gap:12px}
.cat-tsum{margin:0;flex:1}
.cat-tsum:after{display:none}
.cat-paste{display:grid;gap:10px}
.cat-track{display:grid;grid-template-columns:20px 28px minmax(0,1fr) 84px auto auto auto;gap:6px;align-items:center}
.cat-track-list.is-comp .cat-track{grid-template-columns:20px 28px minmax(0,1.4fr) minmax(0,1fr) 84px auto auto auto}
.cat-track input{padding:10px 12px}
.cat-no{font:500 11px 'JetBrains Mono',monospace;color:var(--acid);text-align:center}
.cat-t-len{font-family:'JetBrains Mono',monospace;text-align:center}
.cat-tracks .hint{margin:0}
@media(max-width:1100px){.cat-row-main{grid-template-columns:20px 56px minmax(0,1fr) 96px auto}.cat-meta,.cat-row .badge{display:none}}
@media(max-width:700px){
 .cat-row-main{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}.cat-cover{width:48px;height:48px}.cat-type,.cat-row-main>.cat-grip,.cat-row-main>span:first-child:empty{display:none}
 .cat-form-grid{grid-template-columns:1fr}.cat-art{max-width:240px}
 .cat-tracks{padding:12px}
 .cat-track,.cat-track-list.is-comp .cat-track{grid-template-columns:26px minmax(0,1fr) auto auto auto;grid-template-areas:"no ti ti ti" ". le up dn del";padding-bottom:10px;border-bottom:1px solid var(--line)}
 .cat-track-list.is-comp .cat-track{grid-template-areas:"no ti ti ti ti" ". ar ar ar ar" ". le up dn del"}
 .cat-track .cat-grip{display:none}.cat-no{grid-area:no}.cat-t-title{grid-area:ti}.cat-t-artist{grid-area:ar}.cat-t-len{grid-area:le;text-align:left}
 .cat-track [data-t-up]{grid-area:up}.cat-track [data-t-down]{grid-area:dn}.cat-track [data-t-del]{grid-area:del}
}

/* Public profile: type on the cover, tracklist in a dialog */
.cat-filter{display:flex;gap:6px;flex-wrap:wrap;margin:-6px 0 20px}
.cat-filter .mini-btn[aria-pressed=true]{background:var(--acid)!important;color:var(--ink)!important;border-color:var(--acid)!important}
.tile.release{cursor:pointer;background:none;border:0;padding:0;text-align:left;color:inherit;font:inherit}
.release-type{position:absolute;top:10px;left:10px;z-index:2;padding:4px 8px;border-radius:3px;background:rgba(10,10,11,.8);border:1px solid #46464b;font:500 10px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.tile.release:hover .release-type,.tile.release:focus-visible .release-type{background:var(--acid);border-color:var(--acid);color:var(--ink)}
.release-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text)}
.release-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.release-dialog-in{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;padding:26px}
.release-dialog .art{border-radius:4px}
.release-dialog h2{font-size:28px;margin:6px 0 4px;letter-spacing:-.03em}
.release-dialog .x{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer;font-size:16px}
.release-tracks{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--line)}
.release-tracks li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.release-tracks .n,.release-tracks .t{font:500 11px/1.9 'JetBrains Mono',monospace;color:var(--text-dim)}
.release-tracks .n{color:var(--acid)}
.release-tracks small{display:block;color:var(--text-dim);font-size:12px}
@media(max-width:640px){.release-dialog-in{grid-template-columns:1fr;padding:18px}.release-dialog .art{max-width:220px}}
/* catalogue import */
.cat-new .cat-import-btn{margin-left:6px}
.imp-linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--acid);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.imp{margin-top:12px;display:grid;gap:18px}
.imp h3{margin:0}
.imp-lead{margin:0;color:var(--text-dim);font-size:14px;line-height:1.6;max-width:75ch}
.imp-lead strong{color:var(--text)}
.imp-drop{position:relative;display:grid;place-items:center;gap:6px;text-align:center;padding:44px 20px;border:1px dashed #46464b;border-radius:5px;background:var(--bg);cursor:pointer;transition:border-color .2s,background .2s}
.imp-drop:hover,.imp-drop.is-over{border-color:var(--acid);background:#15170f}
.imp-drop input{position:absolute;inset:0;width:100%!important;height:100%;opacity:0;cursor:pointer}
.imp-drop strong{font:700 17px 'Archivo',sans-serif}
.imp-drop span{font-size:13px;color:var(--text-dim)}
.imp-paste summary,.imp-cols summary{cursor:pointer;font-size:13px;color:var(--text-dim)}
.imp-paste summary:hover,.imp-cols summary:hover{color:var(--text)}
.imp-paste[open]{display:grid;gap:10px}.imp-paste textarea{margin-top:10px;font:12px/1.5 'JetBrains Mono',monospace}
.imp-help{border-top:1px solid var(--line);padding-top:14px;font-size:13px;line-height:1.6;color:var(--text-dim)}
.imp-help p{margin:0 0 8px}.imp-help strong{color:var(--text)}.imp-help .hint{margin:0}
.imp-cols{border:1px solid var(--line);border-radius:5px;padding:14px 16px;background:var(--bg)}
.imp-cols summary small{margin-left:8px;opacity:.7}
.imp-cols[open] summary{margin-bottom:14px}
.imp-cols .section-label{margin:18px 0 12px}.imp-cols .hint{margin:10px 0 0}
.imp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 12px}
.imp-grid+.imp-grid{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.imp-col{display:grid;gap:5px;font:500 10px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}
.imp-col select{padding:9px 10px;font:13px system-ui,sans-serif;letter-spacing:0;text-transform:none}
.imp-sheet span{color:var(--acid)}
.imp-bar{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap}
.imp-bar .check{margin:0}.imp-legend{font-size:12px;color:var(--text-dim)}
.imp-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:560px;overflow:auto;padding-right:4px}
.imp-row{border:1px solid var(--line);border-radius:5px;background:var(--bg);padding:10px 12px;transition:opacity .2s}
.imp-row.is-off{opacity:.5}
.imp-row-main{display:grid;grid-template-columns:18px 44px minmax(0,1fr) 140px 150px 110px;gap:12px;align-items:center}
.imp-row-main>input{width:18px;height:18px;margin:0}
.imp-cover{width:44px;height:44px;cursor:default;font-size:13px}
.imp-row .cat-name{cursor:default}
.imp-type{padding:8px 10px;font-size:13px}
.imp-row .imp-meta{display:grid}
.imp-tracks{font:500 12px 'JetBrains Mono',monospace;color:var(--text-dim)}
.imp-tracks summary{cursor:pointer;text-align:right}.imp-tracks summary:hover{color:var(--text)}
.imp-tracks.is-none{text-align:right;opacity:.6}
.imp-tracks ol{grid-column:1/-1;margin:10px 0 0;padding:0 0 0 22px;font:13px/1.5 system-ui,sans-serif;color:var(--text);text-align:left}
.imp-tracks li{display:flex;justify-content:space-between;gap:12px}.imp-tracks li small{color:var(--text-dim)}
.imp-tracks li span:last-child{font:12px 'JetBrains Mono',monospace;color:var(--text-dim)}
.imp-tracks[open]{grid-column:1/-1;order:9}
.imp-tracks[open] summary{text-align:left}
.imp-notes{display:flex;flex-wrap:wrap;gap:6px;padding-left:30px}
.imp-notes:not(:empty){margin-top:8px}
.imp-note{font-size:12px;line-height:1.4;padding:3px 8px;border-radius:3px;background:#242015;color:#e8c872}
.imp-note.is-warn{background:#2c161b;color:#ff8897}
.imp-note.is-soft{background:transparent;padding-left:0;color:var(--text-dim)}
@media(max-width:760px){
 .cat-new .cat-import-btn{margin-left:0}
 .imp-drop{padding:30px 16px}
 .imp-row-main{grid-template-columns:18px 40px minmax(0,1fr);gap:10px}
 .imp-cover{width:40px;height:40px}
 .imp-type{grid-column:2/-1}
 .imp-row-main>.cat-meta,.imp-row-main>.imp-tracks{grid-column:2/-1}
 .imp-tracks summary,.imp-tracks.is-none{text-align:left}
 .imp-notes{padding-left:28px}
}
/* Public profile: latest release */
.latest-in{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:28px;align-items:start;padding:22px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(135deg,#17181a,#101012)}
.latest-art{padding:0;border:0;background:none;cursor:pointer;display:block;border-radius:5px;overflow:hidden}
.latest-art .art{border-radius:5px}
.latest-art:hover .art img{transform:scale(1.03)}
.latest-copy{display:grid;gap:6px;align-content:start;min-width:0}
.latest-copy .kicker{margin:0}
.latest-title{font:800 clamp(28px,3.2vw,44px)/1 'Archivo',sans-serif;letter-spacing:-.025em;margin:4px 0 0;overflow-wrap:anywhere}
.latest-artists{font-size:16px;color:#d4d4cf}
.latest-copy .row{margin-top:12px}
.latest-tracks{list-style:none;margin:10px 0 0;padding:0;border-top:1px solid var(--line)}
.latest-tracks li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.latest-tracks li span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.latest-tracks .n,.latest-tracks .t{font:500 11px/1.9 'JetBrains Mono',monospace;color:var(--text-dim)}
.latest-tracks .n{color:var(--acid)}
.latest-tracks .more{display:block;font:500 11px 'JetBrains Mono',monospace;color:var(--text-dim);border:0}
.release-embed{display:block;width:100%;border:0;border-radius:8px;margin-top:12px;background:#111113}
.release-embed.is-video{aspect-ratio:16/9;height:auto}
.release-player{margin-top:14px}
@media(max-width:700px){.latest-in{grid-template-columns:1fr;padding:16px;gap:18px}.latest-art{max-width:280px}}
/* Dashboard: profile setup checklist */
#label-setup{margin-top:22px}
.setup{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:20px 22px}
.setup-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px 28px;flex-wrap:wrap}
.setup-head .kicker{margin-bottom:6px}
.setup-head h2{margin:0;font-size:22px}
.setup-head p{margin:4px 0 0;font-size:13px;color:var(--text-dim)}
.setup-meter{flex:0 1 280px;height:6px;border-radius:99px;background:#26262a;overflow:hidden;margin-bottom:6px}
.setup-meter span{display:block;height:100%;background:var(--acid);border-radius:inherit;transition:width .4s}
.setup-list{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px 18px}
.setup-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 0;background:none;border:0;color:var(--text);font:14px/1.4 Inter,system-ui,sans-serif;text-align:left}
button.setup-item{cursor:pointer}
button.setup-item:hover{color:var(--acid)}
.setup-dot{flex:0 0 18px;height:18px;border-radius:3px;border:1.5px solid #55555b;display:grid;place-items:center;font-size:11px}
.is-done .setup-item{color:var(--text-dim)}
.is-done .setup-dot{background:var(--acid);border-color:var(--acid);color:var(--ink);font-weight:700}
.setup-go{margin-left:auto;opacity:0;transition:opacity .15s}
button.setup-item:hover .setup-go,button.setup-item:focus-visible .setup-go{opacity:1}
.setup.is-complete{display:flex;align-items:center;gap:12px;padding:14px 18px;font-size:14px;color:var(--text-dim)}
.setup.is-complete strong{color:var(--text)}
.setup-tick{flex:0 0 24px;height:24px;border-radius:3px;background:var(--acid);color:var(--ink);display:grid;place-items:center;font-weight:700;font-size:13px}
/* Apply for a label */
.labels-apply>*{max-width:1120px}
.apply-steps{list-style:none;margin:6px 0 28px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.apply-steps li{border:1px solid var(--line);border-radius:5px;padding:16px 18px;background:var(--surface)}
.apply-steps .n{display:block;font:500 11px 'JetBrains Mono',monospace;color:var(--acid);margin-bottom:8px}
.apply-steps strong{font:700 16px 'Archivo',sans-serif}
.apply-steps p{margin:6px 0 0;font-size:13px;line-height:1.55;color:var(--text-dim)}
.apply-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.apply-aside ul{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.apply-aside li{font-size:13px;line-height:1.55;color:var(--text-dim);padding-left:16px;border-left:2px solid #526329}
.apply-aside strong{display:block;color:var(--text);font:700 14px 'Archivo',sans-serif;margin-bottom:2px}
.apply-status{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.apply-status h2{margin:0 0 6px}.apply-status p{margin:0;font-size:14px;color:var(--text-dim);line-height:1.55}
.apply-wait{border:1px dashed var(--line);border-radius:5px;padding:16px 18px}
.apply-wait .kicker{margin-bottom:6px}.apply-wait p{margin:0 0 12px;font-size:14px;line-height:1.55;color:var(--text-dim)}
.apply-next{margin:0;padding-left:20px;display:grid;gap:10px;font-size:14px;line-height:1.55;color:var(--text-dim)}
.apply-next strong{color:var(--text)}
.apply-done h2{margin:0}.apply-done .kicker{margin:0}
@media(max-width:860px){.apply-steps,.apply-grid{grid-template-columns:1fr}}
/* Release credits (public page) and invite list (dashboard) */
.credits,.invite-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.credit,.invite-list li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);min-width:0}
.credit-face{flex:0 0 40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#26262a,#141416);display:grid;place-items:center;font:800 13px 'Archivo',sans-serif;color:#8a8a92}
.credit-copy{display:grid;min-width:0;flex:1}
/* Long artist names wrap to a second line instead of losing their ending. */
.credit-copy strong{font:700 14px/1.3 'Archivo',sans-serif;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.credit-copy small{font-size:12px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.credit-copy button{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.credit-copy button:hover{color:var(--acid)}
.credits-note{margin:-4px 0 14px;font-size:13px;color:var(--text-dim)}
/* Long lists open on six rows; "Show all N" reveals the rest in place. */
.credits:not(.is-all)>li:nth-child(n+7),.invite-list.is-folded:not(.is-all)>li:nth-child(n+7){display:none}
.credits-more{margin-top:12px}
.credit,.invite-list li{padding:0 12px 0 0;overflow:hidden;min-height:64px}
.credit-face{position:relative;flex:0 0 64px;align-self:stretch;height:auto;min-height:64px;border-radius:0;border-right:1px solid var(--line)}
.credit-face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.credit-face.is-edit{cursor:pointer}
/* The editable face is a <label>; header.css's field-label weight and colour would override the initials. */
label.credit-face{font-weight:800!important;color:#8a8a92!important}
.credit-face-cue{position:absolute;right:4px;bottom:4px;width:18px;height:18px;border-radius:3px;background:#0b0b0cd9;border:1px solid #3a3a40;color:var(--acid);font:700 13px/16px 'Archivo',sans-serif;text-align:center;z-index:1;transition:border-color .15s}
.credit-face.is-edit:hover .credit-face-cue,.credit-face.is-edit:focus-within .credit-face-cue{border-color:var(--acid)}
.credit-face.is-edit:focus-within{outline:2px solid var(--acid);outline-offset:-2px}
.credit-face.is-busy{opacity:.5;pointer-events:none}
.credit-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
.credit-ask{flex:0 0 auto;border:1px solid var(--line);background:none;color:var(--text);border-radius:3px;padding:7px 10px;font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.credit-ask:hover:not(:disabled){border-color:var(--acid);color:var(--acid)}
.credit-ask:disabled{cursor:default;color:var(--text-dim);border-style:dashed}
.invite-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.invite .lead{margin-bottom:16px}
/* Producer requests (dashboard Artists tab): the artists producers asked for, above the roster */
.label-dash .ask-panel{border-color:#526329;box-shadow:inset 3px 0 0 var(--acid)}
.ask-list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.ask-card{display:flex;align-items:center;gap:18px;padding:0 18px 0 0;border:1px solid var(--line);border-radius:5px;background:var(--surface2);overflow:hidden;min-height:112px}
.ask-card .credit-face{flex:0 0 112px;min-height:112px;font-size:22px}
.ask-copy{flex:1;min-width:0;display:grid;gap:4px;padding:14px 0}
.ask-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-bottom:2px}
.ask-flag{background:var(--acid);color:var(--ink);font:700 11px/1 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;padding:4px 7px;border-radius:2px}
.ask-count{font-size:13px;color:var(--text)}.ask-count b{font:800 15px 'Archivo',sans-serif;color:var(--acid)}
.ask-when{font-size:12px;color:var(--text-dim)}
.ask-name{font:800 22px/1.15 'Archivo',sans-serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.ask-copy small{font-size:13px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ask-notes{list-style:none;margin:6px 0 0;padding:0 0 0 10px;border-left:2px solid var(--line);display:grid;gap:4px;font-size:13px;line-height:1.5;color:var(--text)}
.ask-card>.btn{flex:none}
@media(max-width:640px){.ask-card{flex-wrap:wrap;padding:0}.ask-card .credit-face{flex-basis:96px;min-height:96px}.ask-copy{flex-basis:calc(100% - 120px);padding:12px 12px 12px 0}.ask-card>.btn{flex:1 0 calc(100% - 24px);margin:0 12px 12px}}
/* Demo conversations */
.badge.stage-new{color:var(--acid);border-color:#526329}
.badge.stage-in_talks{color:#8fd3ff;border-color:#2b4a5e}
.badge.stage-accepted{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.badge.stage-declined{opacity:.6}
.demo-note{white-space:pre-line}
.thread-slot{margin-top:14px}
.thread{border:1px solid var(--line);border-radius:6px;background:var(--bg);padding:14px;display:grid;gap:12px}
.thread-stages{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.thread-stages:before{content:'Stage';font:500 10px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);align-self:center;margin-right:6px}
.thread-stages .mini-btn[aria-pressed=true]{background:var(--acid)!important;color:var(--ink)!important;border-color:var(--acid)!important}
.thread-list{list-style:none;margin:0;padding:0 2px;display:grid;gap:12px;max-height:440px;overflow:auto}
.thread-msg{display:grid;justify-items:start;gap:4px;max-width:min(560px,88%)}
.thread-msg.is-mine{justify-self:end;justify-items:end}
.thread-bubble{padding:10px 14px;border-radius:12px 12px 12px 3px;background:var(--surface2,#1f1f23);border:1px solid var(--line);font-size:14px;line-height:1.55;display:grid;gap:6px;overflow-wrap:anywhere}
.is-mine .thread-bubble{border-radius:12px 12px 3px 12px;background:#1d2410;border-color:#3a4a1c}
.thread-bubble p{margin:0}
.thread-link{color:var(--acid);font:500 12px 'JetBrains Mono',monospace;text-decoration:underline;text-underline-offset:3px}
.thread-meta{font:500 10px 'JetBrains Mono',monospace;color:var(--text-dim);letter-spacing:.04em}
.thread-event{justify-self:center;font-size:12px;color:var(--text-dim);text-align:center}
.thread-event strong{color:var(--text)}
.thread-form{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.thread-form textarea{min-height:76px}
.thread-form .status{margin:0}
.thread-closed{margin:0;padding:12px;border-top:1px solid var(--line);font-size:13px;color:var(--text-dim);line-height:1.55}
.demo-labels{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.demo-label{border-top:1px solid var(--line);padding-top:10px}
.demo-label-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.demo-label-row strong{font:700 15px 'Archivo',sans-serif;margin-right:auto}
.mini-btn.is-hot{background:var(--acid)!important;color:var(--ink)!important;border-color:var(--acid)!important}
.demo-policy{color:var(--text-dim,#8f8f96)}.demo-policy.is-open,.demo-policy.is-cosigned_only{color:var(--acid,#c9ff3d)}
.profile-aside .brand-first{border-top:0;margin-top:0;padding-top:0}
.inbox-group{margin:22px 0 10px}

/* ---------- Label dashboard: the same shell as the mentor and student dashboards ----------
   Sidebar tabs on the left, cards on the right; the sidebar turns into a sticky
   scrolling tab strip on narrow screens. Keep this in step with mentor-dashboard.html. */
.labels-wrap.label-dash{padding-top:32px}
.label-dash h1.dash-title{font:800 26px/1.15 'Archivo',sans-serif;letter-spacing:-.015em;margin:0 0 18px}
@media(max-width:980px){.label-dash h1.dash-title{font-size:22px;margin-bottom:14px}}
.dash{display:grid;grid-template-columns:228px minmax(0,1fr);gap:32px;align-items:start}
.dash-nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px}
.dash-tab{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;background:none;border:0;border-radius:3px;padding:11px 14px;margin:0;cursor:pointer;color:var(--text-dim);font:500 15px 'Inter',sans-serif;transition:background .15s,color .15s}
.dash-tab:hover{background:var(--surface);color:var(--text)}
.dash-tab.is-active{background:var(--surface2);color:var(--text);box-shadow:inset 3px 0 0 var(--acid)}
.dash-count{min-width:20px;padding:0 6px;border-radius:3px;background:var(--acid);color:var(--ink);font:700 11px/18px 'JetBrains Mono',monospace;text-align:center}
.dash-nav-link{display:block;width:100%;margin-top:14px;padding:14px 14px 0;border:0;border-top:1px solid var(--line);background:none;text-align:left;cursor:pointer;font:500 13px 'Inter',sans-serif;color:var(--text-dim)}
.dash-nav-link:hover{color:var(--acid)}
.dash-nav-sub{margin-top:0;padding-top:10px;border-top:0}
.dash-label{display:flex;align-items:center;gap:12px;padding:0 4px 16px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.dash-label-logo{position:relative;flex:0 0 44px;height:44px;border-radius:3px;overflow:hidden;background:linear-gradient(145deg,#222226,#111113);border:1px solid var(--line);display:grid;place-items:center;font:800 14px 'Archivo',sans-serif;color:#7a7a83}
.dash-label-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:4px;background:#111113}
.dash-label-copy{min-width:0;flex:1;display:grid;gap:4px}
.dash-label-copy strong{font:700 15px/1.25 'Archivo',sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-label-copy small{font:500 10px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}
.dash-label-copy select{padding:7px 9px;font-size:13px}
.dash-main,#editor,.dash-solo{min-width:0;display:flex;flex-direction:column;gap:20px}
#editor{animation:dashIn .22s ease}
@keyframes dashIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.dash-solo{max-width:900px}
#edit-slot:empty{display:none}
#label-setup{margin-top:0}
#label-setup:empty{display:none}
.label-dash .setup{border-radius:5px}
.label-dash .panel{padding:22px;min-width:0}
.label-dash .panel h2,.label-dash .cat-head h2{font-size:18px;letter-spacing:-.02em;margin:0 0 8px}
.label-dash .panel .lead{font-size:13px;line-height:1.55;margin:0 0 16px;max-width:80ch}
.label-dash .panel .manage-item,.label-dash .panel .cat-row,.label-dash .panel .invite-list li{background:var(--surface2)}
.label-dash .panel .empty{grid-column:auto}
.label-dash .demo-cosign{margin-top:22px}
/* Roster sessions: one block per artist. */
.rs-artist+.rs-artist{margin-top:22px}
.rs-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.rs-head strong{font:700 15px 'Archivo',sans-serif}
.rs-head span{font-size:13px;color:var(--text-dim);font-variant-numeric:tabular-nums}
.rs-head .link{margin-left:auto;font-size:13px}
.rs-artist+.rs-artist{margin-top:22px}
.rs-more>summary{cursor:pointer;list-style:none;padding:10px 12px;font:500 13px 'Inter',sans-serif;color:var(--text-dim)}
.rs-more>summary::-webkit-details-marker{display:none}
.rs-more>summary::after{content:' \25BE';font-size:10px}
.rs-more[open]>summary::after{content:' \25B4'}
.rs-more>summary:hover{color:var(--text)}
.label-dash .dash-row .row{flex-wrap:nowrap}
/* Settled affiliations fold to their title line. */
.aff-fold>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}
.aff-fold>summary::-webkit-details-marker{display:none}
.label-dash .aff-fold>summary h2{margin:0}
.aff-fold .aff-n{font:600 13px 'Inter',sans-serif;color:var(--text-dim);font-variant-numeric:tabular-nums}
.aff-fold>summary::after{content:'';width:7px;height:7px;margin-left:auto;border-right:1.5px solid var(--text-dim);border-bottom:1.5px solid var(--text-dim);transform:translateY(-2px) rotate(45deg);transition:transform .2s cubic-bezier(.16,1,.3,1)}
.aff-fold[open]>summary{margin-bottom:12px}
.aff-fold[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.aff-fold>summary:hover h2{color:var(--acid)}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 20px;flex-wrap:wrap}
.panel-head .lead{margin-bottom:16px}
.dash-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dash-stat{display:grid;gap:4px;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:5px;background:var(--surface2);color:var(--text);cursor:pointer;transition:border-color .15s}
.dash-stat:hover{border-color:#526329}
.dash-stat b{font:800 26px 'Archivo',sans-serif;color:var(--acid)}
.dash-stat span{font:500 11px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}
.dash-alert{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap;padding:16px 16px 16px 18px;border:1px solid rgba(255,176,32,.45);border-radius:5px;background:linear-gradient(90deg,rgba(255,176,32,.11),rgba(255,176,32,.03))}
.dash-alert div{flex:1;min-width:220px}
.dash-alert strong{display:block;font:800 15px 'Archivo',sans-serif;color:#ffd27a;margin-bottom:3px}
.dash-alert span{font-size:13px;line-height:1.5;color:var(--text-dim)}
@media(max-width:980px){
 .dash{grid-template-columns:minmax(0,1fr);gap:18px}
 .dash-nav{top:72px;z-index:30;flex-direction:row;align-items:center;overflow-x:auto;scrollbar-width:none;gap:4px;margin:0 calc(-1 * var(--page-gutter,20px));padding:10px var(--page-gutter,20px);background:rgba(10,10,11,.96);border-bottom:1px solid var(--line)}
 .dash-nav::-webkit-scrollbar{display:none}
 .dash-tab{width:auto;white-space:nowrap;padding:9px 13px}
 .dash-tab.is-active{box-shadow:inset 0 -2px 0 var(--acid)}
 .dash-nav-link,.dash-label{display:none}
 .dash-label.has-pick{display:flex;flex:none;padding:0 10px 0 0;margin:0 4px 0 0;border-bottom:0;border-right:1px solid var(--line)}
 .dash-label.has-pick .dash-label-logo,.dash-label.has-pick small{display:none}
 .dash-label.has-pick select{width:auto;max-width:170px}
 .dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){.label-dash .panel{padding:18px 16px}}
.dash-row{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;padding:14px 16px}
.dash-row-copy{flex:1;min-width:200px}
.dash-row h3{font-size:16px}
.label-dash .dash-row p{margin:3px 0 0;font-size:13px}
.label-dash .dash-row .row{margin-top:0;gap:8px}

/* Claim-your-page preview (label-profile?invite=…): a note above the page, Claim in the sidebar,
   and no share/save, since the page isn't public yet. */
.claim-bar{margin:0 0 18px;padding:12px 16px;border:1px solid #526329;border-left:3px solid var(--acid);border-radius:5px;background:rgba(201,255,61,.05);font-size:14px;line-height:1.5;color:var(--text-dim)}
.claim-bar strong{color:var(--text)}
.claim-box .kicker{margin-bottom:10px}
.claim-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.claim-list li{font-size:13px;line-height:1.55;color:var(--text-dim);padding-left:14px;border-left:2px solid #526329}
.claim-list strong{color:var(--text)}
.is-preview .save,.is-preview [data-share-label],.is-preview [data-share-release]{display:none}
/* Apply form: the proof note is optional now, so it can be shorter. */
.apply-optional{color:var(--text-dim);font-weight:400}
/* Dashboard notes: admin building a draft, or a label that has just claimed its page. */
.dash-alert.dash-note{border-color:#526329;background:linear-gradient(90deg,rgba(201,255,61,.08),rgba(201,255,61,.02));margin-bottom:18px}
.dash-alert.dash-note strong{color:var(--acid)}

/* Demo inbox: the producer's photo or generated art beside their name. */
.demo-who{display:flex;align-items:center;gap:12px;min-width:0}.demo-face{width:44px;height:44px;flex:none;border-radius:3px;object-fit:cover;background:#222;border:1px solid var(--line)}
/* Phones: the five-column roster-sessions table scrolled sideways, hiding
   the When and Booked columns. Each session becomes its own block instead,
   with the column name beside each value. */
@media(max-width:600px){
 .stack-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .stack-table,.stack-table tbody,.stack-table tr,.stack-table td{display:block}
 .stack-table tr{padding:12px 0;border-bottom:1px solid var(--line)}
 .stack-table td{display:flex;justify-content:space-between;gap:16px;padding:5px 0;border:0;text-align:right}
 .stack-table td[data-label]::before{content:attr(data-label);font:500 11px/1.6 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);text-align:left}
 .stack-table td:first-child{font:700 15px 'Archivo',sans-serif}
 .stack-table td:last-child{justify-content:flex-start;padding-top:8px}
 .stack-table td:last-child .link{display:inline-block;padding:8px 0}
}

/* Directory label card: one box, logo full-bleed, flags on the artwork in the
   same flat Beatport bars as the homepage session cards. */
.label-card{background:var(--surface,#151517);border:1px solid var(--line);border-radius:5px;overflow:hidden;transition:border-color .2s}
.label-card:hover{border-color:#3a3a40}
.label-card>a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.lc-art{position:relative}
.lc-art .art{border-radius:0;background:#0b0b0c}
.lc-art .art.logo img{object-fit:contain;padding:0}
.lc-flag{position:absolute;z-index:2;height:26px;display:flex;align-items:center;padding:0 12px 0 16px;font:800 12px/1 Inter,sans-serif;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;color:var(--ink,#0a0a0b);background:var(--acid,#c9ff3d);clip-path:polygon(0 0,100% 0,100% 100%,7px 100%)}
.lc-flag-top{top:0;left:0;clip-path:polygon(0 0,100% 0,calc(100% - 7px) 100%,0 100%);padding:0 16px 0 12px}
.lc-flag-bottom{bottom:0;right:0}
.lc-flag.is-off{background:var(--text,#ededea)}
.lc-body{display:flex;flex-direction:column;flex:1;padding:14px 14px 14px}
.label-card .tile-title{margin:0 0 4px;font-size:17px}
.label-card .tile-sub{font:500 11px/1.5 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase}
.lc-foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line);margin-top:14px}
.lc-faces{display:flex}
.lc-face{position:relative;width:24px;height:24px;display:grid;place-items:center;overflow:hidden;background:#222226;border:1px solid var(--surface,#151517);border-radius:2px;font:800 10px/1 Archivo,sans-serif;color:#8f8f96}
.lc-face+.lc-face{margin-left:-6px}
.lc-face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lc-meta{font:500 12px Inter,sans-serif;color:var(--text-dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lc-go{margin-left:auto;color:var(--text-dim);font-size:16px;transition:transform .2s,color .2s}
.label-card:hover .lc-go{color:var(--acid);transform:translateX(3px)}
.label-card:hover .tile-title{color:var(--acid)}
.label-card .save{top:8px;right:8px}
@media(max-width:600px){.lc-flag{height:22px;font-size:10px;padding:0 9px 0 13px}.lc-flag-top{padding:0 13px 0 9px}.lc-body{padding:12px}.label-card .tile-title{font-size:15px}}

/* ---- Dashboard consistency pass (2026-10-06) ---- */
/* Status and type flags are flat tinted bars, never outlined boxes: next to the
   outlined Edit button they read as more buttons. Only exceptions get one
   (Draft, Pending, N new); "Published" and "Approved" on every row was noise. */
.label-dash .badge,.label-dash .cat-type{border-color:transparent;background:rgba(255,255,255,.06)}
.label-dash .badge.confirmed,.label-dash .badge.stage-new{background:rgba(201,255,61,.12)}
.label-dash .cat-type.t-EP{background:rgba(201,255,61,.12)}
.label-dash .cat-type.t-Compilation{border-style:none}
/* Counts in "At a glance" are white like the mentor and admin stat tiles; acid is for actions. */
.label-dash .dash-stat b{color:var(--text)}
/* The browser's own file picker ("Choose File · No file chosen") styled like
   the mentor profile's Change photo button. */
.label-dash input[type=file]{padding:0;border:0;background:none;font:400 13px 'Inter',sans-serif;color:var(--text-dim);width:auto;max-width:100%}
.label-dash input[type=file]::file-selector-button{font:600 12px 'Inter',sans-serif;color:var(--text);background:var(--surface2);border:1px solid var(--line);border-radius:3px;padding:9px 14px;margin-right:12px;cursor:pointer;transition:border-color .15s}
.label-dash input[type=file]::file-selector-button:hover{border-color:var(--acid)}
.label-dash .profile-image-field>.mini-btn{justify-self:start}
/* Every artist's table lines up: same column widths whatever the titles are. */
.label-dash .rs-artist table{table-layout:fixed}
.label-dash .rs-artist th:nth-child(1){width:50%}
.label-dash .rs-artist th:nth-child(2){width:32%}
.label-dash .badge.stage-accepted{background:var(--acid)}
/* Field labels match the mentor profile form: small uppercase mono over the
   input, help text in Inter underneath. Children reset so inputs, hints and
   buttons keep their own type. */
.label-dash .field{font:500 11px/1.5 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}
.label-dash .field>input,.label-dash .field>textarea,.label-dash .field>select{font:400 14px/1.4 'Inter',sans-serif;letter-spacing:normal;text-transform:none}
.label-dash .field small,.label-dash .field .profile-media-preview>span{font:400 12px/1.5 'Inter',sans-serif;letter-spacing:normal;text-transform:none}
.label-dash .field>.mini-btn{letter-spacing:.06em}
/* Label-ready drop (label-demo.js dropIn). The homepage session card's acid
   slash, full screen: same 26% lean, flags cut on that lean so they sit flush
   against it, the mentor's photo framed only in the space right of the line.
   The copy is held left of where the slash starts, so the two never touch. */
.drop-open,.drop-open body{overflow:hidden}
.drop{--h:100vh;--lean:.26;--sw:16px;--x0:56%;--fh:38px;--L:calc(var(--h) * var(--lean));--cut:calc(var(--fh) * var(--lean));--g:clamp(20px,4vw,56px);position:fixed;inset:0;z-index:9000;background:#060607;color:var(--text);overflow:hidden}
.drop:before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}
.drop-art{position:absolute;inset:0}
.drop-photo{position:absolute;top:0;bottom:0;right:0;left:calc(var(--x0) + var(--sw));clip-path:polygon(0 0,100% 0,100% 100%,var(--L) 100%);background:#111113}
.drop-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.drop-photo span{position:absolute;inset:0;display:grid;place-items:center;font:800 30vh 'Archivo',sans-serif;color:#26262b}
.drop-slash{position:absolute;inset:0;background:var(--acid);clip-path:polygon(var(--x0) 0,calc(var(--x0) + var(--sw)) 0,calc(var(--x0) + var(--sw) + var(--L)) 100%,calc(var(--x0) + var(--L)) 100%)}
.drop-flags{position:absolute;top:0;right:0;left:calc(var(--x0) + var(--sw));display:flex;flex-direction:column;z-index:2}
.drop-flag{height:var(--fh);display:flex;align-items:center;padding:0 16px 0 calc(var(--cut) + 12px);font:800 16px/1 Inter,sans-serif;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);background:var(--acid);clip-path:polygon(0 0,100% 0,100% 100%,var(--cut) 100%)}
.drop-flag+.drop-flag{margin-left:var(--cut)}
.drop-flag-alt{background:var(--text)}
.drop-copy{position:absolute;left:var(--g);bottom:var(--g);width:calc(var(--x0) - var(--g) - 40px);z-index:4}
.drop-w{margin:0;font:800 clamp(64px,10.5vw,168px)/.92 'Archivo',sans-serif;letter-spacing:-.03em}
.drop-w span{display:block;overflow:hidden;padding-bottom:.06em}
.drop-w img{display:block;width:clamp(240px,34vw,520px);height:auto;animation:none}.drop-w i{display:block;font-style:normal}
.drop-q{margin:26px 0 0;font-size:17px;line-height:1.55;max-width:46ch;color:var(--text);overflow-wrap:anywhere}
.drop-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.drop.is-in .drop-slash{animation:drop-slice .45s cubic-bezier(.8,0,.25,1) .1s both}
.drop.is-in{animation:drop-shake .3s linear .55s}
.drop.is-in .drop-photo{animation:drop-open .9s cubic-bezier(.16,1,.3,1) .55s both}
.drop.is-in .drop-w img{animation:drop-up .8s cubic-bezier(.16,1,.3,1) .6s both}
.drop.is-in .drop-w span:nth-child(2) i{animation:drop-up .7s cubic-bezier(.16,1,.3,1) .7s both}
.drop.is-in .drop-flag{animation:drop-flag .45s cubic-bezier(.16,1,.3,1) .95s both}
.drop.is-in .drop-flag+.drop-flag{animation-delay:1.05s}
.drop.is-in .drop-q,.drop.is-in .drop-act{animation:drop-fade .5s ease-out 1.2s both}
@keyframes drop-slice{from{clip-path:polygon(var(--x0) 0,calc(var(--x0) + var(--sw)) 0,calc(var(--x0) + var(--sw)) 0,var(--x0) 0)}}
@keyframes drop-open{from{clip-path:polygon(0 0,0 0,var(--L) 100%,var(--L) 100%)}}
@keyframes drop-up{from{transform:translateY(105%)}}
@keyframes drop-flag{from{transform:translateX(105%)}}
@keyframes drop-fade{from{opacity:0;transform:translateY(6px)}}
@keyframes drop-shake{25%{transform:translate(3px,1px)}50%{transform:translate(-2px,-1px)}75%{transform:translate(1px,-1px)}}
/* Phones: the slash and photo become a band across the top, the words sit below it. */
@media(max-width:720px){
 .drop{--h:44vh;--x0:30%;--sw:12px;--fh:30px;overflow-y:auto}
 .drop-art{position:relative;inset:auto;height:var(--h)}
 .drop-photo img{object-position:center 12%}
 .drop-copy{position:relative;left:auto;bottom:auto;width:auto;padding:28px var(--g) 40px}
 .drop-w{font-size:clamp(56px,19vw,96px)}
 .drop-w img{width:min(72vw,320px)}
 .drop-flag{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.drop.is-in,.drop.is-in *{animation:none!important}}
