:root{color-scheme:dark;--bg:#111226;--panel:#1a1c35;--line:#343653;--text:#f4f2ff;--muted:#b6b4cf;--mint:#79f5e7;--purple:#b89bff;--pink:#ff62b6}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0,#282047 0,transparent 50%),var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,sans-serif;min-height:100svh}a{color:var(--mint);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:12px;background:var(--mint);color:#101c26;font-weight:750;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(1.08);text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#272944;border-color:#494b68;color:var(--text)}.ghost{background:transparent;color:var(--muted)}.danger{background:#4c243c;color:#ffc9dd;border-color:#8a4363}.wide{width:100%;margin-top:16px}input,select{width:100%;min-height:48px;padding:12px;border:1px solid #50516e;border-radius:10px;background:#101226;color:var(--text)}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:3px}label{display:block;font-weight:600;margin:12px 0 7px}label input{margin-top:6px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:0 28px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;color:white;font-size:23px;font-weight:850;letter-spacing:-1px}.wordmark span{color:var(--mint)}.wordmark img{margin-right:8px}.topbar nav{display:flex;gap:24px;font-size:14px}.topbar nav a{color:var(--muted)}main{max-width:1240px;margin:auto;padding:40px 28px 65px}h1{font-size:clamp(36px,5.5vw,72px);line-height:1.06;letter-spacing:-2px;margin:18px 0 22px}h1 span{color:var(--mint)}h2{font-size:25px;letter-spacing:-.6px;line-height:1.2;margin:8px 0 16px}p{margin:10px 0 16px}.eyebrow{color:var(--purple);letter-spacing:2px;font-size:12px;font-weight:800}.lead{font-size:19px;color:var(--muted);max-width:480px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px}.hero-art{width:100%;height:auto;filter:drop-shadow(0 20px 45px #0006)}.panel{background:linear-gradient(145deg,#20223a,#191b31);border:1px solid var(--line);border-radius:20px;padding:25px}.join{margin-top:28px}.join label{margin-top:0}.input-action{display:flex;gap:9px}.input-action input{min-width:0;flex:1}.input-action button{flex-shrink:0}.join input{letter-spacing:5px;text-transform:uppercase;font-size:22px;max-width:190px}.muted,.fine-print{color:var(--muted);font-size:14px}.fine-print{font-size:12px;margin-top:20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:60px 0 20px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps b{font-size:12px;color:var(--purple);letter-spacing:2px}.steps p{color:var(--muted)}.dj-callout{text-align:center;margin-top:38px}.narrow{max-width:600px;margin:35px auto}.narrow input[name=code]{letter-spacing:8px;text-transform:uppercase;font-size:25px}.form-error{color:#ffb6d0;font-size:14px;margin-bottom:0}.form-error:empty{display:none}footer{max-width:1240px;padding:24px 28px;margin:auto;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;justify-content:space-between}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(90vw,520px);padding:14px 22px;background:#dcfff8;color:#112f29;box-shadow:0 10px 40px #0006;border-radius:14px;z-index:10}.event-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.event-heading h1{font-size:clamp(30px,4vw,48px);max-width:850px;overflow-wrap:anywhere}.code-chip,.badge{border:1px solid var(--line);border-radius:8px;padding:4px 8px;letter-spacing:1px;font-size:12px;vertical-align:middle;color:var(--mint)}.code-chip{margin-left:10px}.connection{display:grid;gap:10px;justify-items:end;min-width:110px;font-size:12px;color:var(--muted)}.guest-layout{display:grid;grid-template-columns:390px minmax(0,1fr);gap:32px;margin-top:26px;align-items:start}.request-panel{position:sticky;top:20px}.request-panel h2{margin-bottom:7px}.emoji-picker{display:flex;gap:6px;margin:10px 0}.emoji-picker button{background:#2e304a;color:white;padding:8px;min-height:38px;min-width:38px}.preview{margin:16px 0;background:#101226;border:1px solid var(--line);padding:14px;border-radius:12px;display:flex;gap:14px;align-items:center;overflow-wrap:anywhere}.preview img{width:72px;height:72px;object-fit:cover;border-radius:8px}.preview p{margin:4px 0;font-size:13px;color:var(--muted)}.preview strong{display:block}.queue-top{display:flex;justify-content:space-between;align-items:center;gap:14px}.sort-label{font-size:12px;color:var(--muted);width:175px;margin:0}.sort-label select{font-size:14px;margin-top:4px}.song-list{display:grid;gap:12px}.song{display:grid;grid-template-columns:28px 64px minmax(0,1fr) auto;gap:12px;align-items:center;background:#1c1e35;border:1px solid var(--line);border-radius:15px;padding:16px}.song .rank{font-size:16px;font-weight:700;color:var(--purple);text-align:center}.song img,.art-placeholder{width:64px;height:64px;border-radius:9px;object-fit:cover;background:#34334c}.art-placeholder{display:grid;place-items:center;font-size:27px}.song h3{font-size:16px;margin:0;line-height:1.3;overflow-wrap:anywhere}.song p{font-size:12px;color:var(--muted);margin:4px 0;overflow-wrap:anywhere}.song a{color:var(--text)}.song .score{font-size:11px;color:var(--mint)}.song .emojis{font-size:17px;letter-spacing:2px}.vote-button{padding:8px 12px;min-width:70px;font-size:13px;flex-direction:column;gap:0}.song-actions{display:flex;gap:7px;grid-column:3/5;flex-wrap:wrap}.song-actions button{font-size:12px;min-height:36px;padding:7px 11px}.empty{border:1px dashed #494965;padding:45px 25px;border-radius:16px;text-align:center;color:var(--muted)}.notice{background:#322c48;border:1px solid #645783;padding:12px 18px;border-radius:12px;color:#e0d0ff}.dj-tools{margin:22px 0 35px}.share{display:flex;gap:24px;align-items:center}.share img{background:white;border-radius:12px}.share p{margin:4px 0 12px}.big-code{font-size:42px;letter-spacing:8px;color:var(--mint)}.button-row{display:flex;gap:10px;flex-wrap:wrap}.event-controls{margin:25px 0}details{border-top:1px solid var(--line);padding-top:18px}summary{cursor:pointer;font-weight:650}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.report-links{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.report-links span{color:var(--muted)}[hidden]{display:none!important}
@media(max-width:900px){.guest-layout{grid-template-columns:1fr}.request-panel{position:static}.hero{gap:15px}.hero h1{font-size:52px}.input-action{flex-wrap:wrap}.join input{max-width:100%}.hero-art{max-width:390px}.song{grid-template-columns:24px 56px minmax(0,1fr) auto}.song img,.art-placeholder{width:56px;height:56px}}
@media(max-width:600px){.topbar{height:70px;padding:0 18px}.topbar nav{gap:14px;font-size:12px}.wordmark{font-size:20px}.wordmark img{width:35px;height:35px}.hero{display:flex;flex-direction:column-reverse;align-items:stretch;gap:0}.hero-art{width:210px;margin:0 auto 12px}.hero h1{font-size:45px;margin-top:10px}.hero .lead{font-size:17px}.hero .eyebrow{font-size:10px}main{padding:26px 18px 44px}.panel{padding:19px}.steps{grid-template-columns:1fr;gap:20px;margin-top:38px}.steps article{padding-top:16px}.steps h2{font-size:22px}.steps p{margin-bottom:0}.event-heading{align-items:start}.connection{min-width:90px}.event-heading h1{letter-spacing:-1px}.queue-top{align-items:start}.queue-top h2{font-size:23px}.sort-label{width:150px}.song{padding:12px;gap:8px;grid-template-columns:18px 46px minmax(0,1fr) 63px}.song img,.art-placeholder{width:46px;height:46px}.song h3{font-size:14px}.vote-button{min-width:60px;padding:7px}.song-actions{grid-column:2/5}.share{gap:16px;align-items:start}.share img{width:90px;height:90px}.big-code{font-size:30px;letter-spacing:5px}#share-url{font-size:11px;overflow-wrap:anywhere}.share .button-row{flex-direction:column;align-items:start}.settings-grid{grid-template-columns:1fr}.button-row button,.button-row .button{font-size:13px}.narrow h1{font-size:40px}footer{padding:20px 18px;font-size:10px}footer span{margin-left:12px}.request-panel .input-action{flex-wrap:nowrap}.request-panel .input-action button{font-size:13px;padding:10px}}

@media(max-width:600px){.queue-top{flex-wrap:wrap}.sort-label{width:190px}.queue-top>div{flex:1;min-width:155px}}

.personal-timers{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0;background:transparent}
.personal-timer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:12px 16px}
.personal-timer>span{font-size:13px;font-weight:650}.personal-timer strong{grid-column:2;grid-row:1/3;color:var(--mint);font-size:26px;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.personal-timer small{font-size:11px;color:var(--muted)}.vote-clock strong{color:var(--purple)}
@media(min-width:901px){.request-panel{top:110px}}
@media(max-width:600px){.personal-timers{gap:8px}.personal-timer{grid-template-columns:1fr;padding:10px 12px;gap:2px}.personal-timer strong{grid-column:1;grid-row:2;font-size:25px}.personal-timer>span{font-size:12px}.personal-timer small{font-size:10px}}

.catalog-search{margin:20px 0;padding-bottom:16px;border-bottom:1px solid var(--line)}
.search-results{max-height:380px;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:8px}
.search-song{background:#101226;border:1px solid var(--line);border-radius:12px;padding:8px;min-width:0}
.search-pick{display:flex;align-items:center;gap:10px;background:transparent;color:var(--text);width:100%;padding:4px;text-align:left;justify-content:flex-start;font-weight:400}
.search-pick img,.search-pick .art-placeholder{width:48px;height:48px;flex-shrink:0;border-radius:7px}
.search-pick>span{min-width:0;flex:1}.search-pick strong,.search-pick span span,.search-pick small{display:block;overflow-wrap:anywhere}
.search-pick strong{font-size:14px}.search-pick span span{font-size:12px}.search-pick small{font-size:11px;color:var(--muted)}
.search-store{display:inline-block;font-size:11px;padding:6px 4px}.catalog-search .input-action{flex-wrap:nowrap}
@media(min-width:901px){.request-panel{position:static}}

.playlist-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}
.playlist-callout h2{margin-bottom:8px}.playlist-callout .muted{margin-bottom:0}.playlist-callout .button{flex-shrink:0}
.playlist-page{max-width:900px;margin:auto}.playlist-page h1{font-size:clamp(32px,5vw,52px);overflow-wrap:anywhere}
.playlist-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end;margin:24px 0}
.playlist-filters label{margin:0}.playlist-filters select{margin-top:8px}.playlist-downloads{margin:20px 0}
.playlist-song{display:flex;align-items:center;justify-content:space-between;gap:18px}.playlist-song>div{min-width:0}
.playlist-song h3{margin:4px 0;overflow-wrap:anywhere}.playlist-song p{margin:4px 0;overflow-wrap:anywhere}.playlist-song .button{flex-shrink:0}
@media(max-width:600px){.playlist-callout{align-items:stretch;flex-direction:column}.playlist-filters{grid-template-columns:1fr}.playlist-song{align-items:stretch;flex-direction:column}.playlist-downloads .button,.playlist-downloads button{flex:1}}

.event-heading{flex-wrap:wrap}.event-artwork{width:clamp(190px,26vw,320px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:20px;border:1px solid var(--line);background:var(--bg)}
.event-heading>div:first-of-type{flex:1;min-width:220px}.event-heading .connection{align-self:flex-start}
.event-image-form{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.event-image-form .button-row{margin-top:16px}
.event-image-form input{max-width:100%}.playlist-artwork{display:block;max-width:320px;width:100%;height:auto;border-radius:18px;margin:20px 0}
.song .emojis{overflow-wrap:anywhere;word-break:break-word}.emoji-picker{flex-wrap:wrap}
@media(max-width:600px){.event-artwork{width:min(100%,320px);margin:0 auto 6px}.event-heading>div:first-of-type{min-width:170px}.event-image-form input{font-size:13px}}

.event-artwork,.playlist-artwork{border:0;border-radius:0;background:transparent;box-shadow:none}
.dj-view-bar{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;margin-bottom:16px;background:var(--bg)}
.dj-view-bar .code-chip{margin-left:6px}.dj-view-bar #dj-compact-status{margin-left:8px}
#event-app.queue-focus>.event-heading,#event-app.queue-focus>#event-playlist,#event-app.queue-focus>.notice,#event-app.queue-focus>.dj-tools{display:none}
#event-app.queue-focus>.queue-panel{margin-top:12px}
@media(max-width:600px){.dj-view-bar strong{font-size:13px}.dj-view-bar button{font-size:13px;padding:9px 12px}.dj-view-bar #dj-compact-status{display:block;margin:5px 0 0}}

.share-actions{display:flex;gap:8px;align-items:center;margin-top:18px}
.share-actions button,.share-actions .button{min-height:40px;padding:8px 14px;border-radius:999px;font-size:13px;white-space:nowrap}
.share>div{min-width:0}#share-url{overflow-wrap:anywhere}
@media(max-width:600px){.share-actions{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:6px}.share-actions button,.share-actions .button{font-size:12px;padding:8px 6px}.share .eyebrow{font-size:10px;letter-spacing:1px}}

.dj-view-bar{background:transparent;padding:6px 0 9px;border-bottom:1px solid rgba(184,155,255,.18);gap:10px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.dj-view-bar>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.dj-view-bar .code-chip{margin:0;padding:3px 7px}.dj-view-bar #dj-compact-status{display:inline;margin:0;font-size:12px}
.dj-view-bar strong{font-size:13px}.dj-view-bar #dj-focus-toggle{border-radius:999px;min-height:36px;padding:8px 13px;font-size:12px;line-height:1.2;flex-shrink:0}
@media(max-width:600px){.dj-view-bar{gap:8px}.dj-view-bar>div{gap:6px}.dj-view-bar #dj-compact-status{display:inline;margin:0}}

/* Homepage artwork: fixed geometry, transparent assets and gentle crossfades. */
.hero-rotator{position:relative;filter:none}
.hero-slides{position:relative;width:100%;aspect-ratio:1}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 2s ease-in-out;filter:drop-shadow(0 20px 35px #0005)}
.hero-slide.is-visible{opacity:1}
.hero-pause{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:36px;height:36px;min-height:36px;margin:0;padding:0;background:transparent;border:0;border-radius:50%;color:var(--muted);opacity:.7;box-shadow:none}
.hero-pause::before{content:"";width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box}
.hero-pause[aria-pressed="true"]::before{width:0;height:0;border:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid currentColor}
.hero-pause:hover,.hero-pause:focus-visible{opacity:1;background:#b6b4cf14;transform:none}
.hero-pause:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.hero-pause[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

footer{display:block}.footer-brandline{display:flex;justify-content:space-between;gap:12px}.footer-credit{margin:12px 0 0;line-height:1.6;text-align:center}.footer-credit+.footer-credit{margin-top:2px}

.apple-save{margin:24px 0}.apple-save h2{margin-top:0}.apple-save [hidden]{display:none!important}.apple-matches{max-height:55vh;overflow:auto;margin:20px 0}.apple-match{padding:16px 0;border-bottom:1px solid var(--line)}.apple-match label{display:flex;gap:10px;align-items:flex-start}.apple-match input[type=checkbox]{width:20px;min-width:20px;height:20px;margin:3px 0}.apple-match select{width:100%;max-width:100%;margin-top:8px}.apple-match p{margin:5px 0}.apple-match strong{overflow-wrap:anywhere}#apple-status,#apple-result{overflow-wrap:anywhere}#apple-name{width:100%}

@media(min-width:1001px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:601px) and (max-width:1000px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}

.social-links{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.social-links:empty{display:none}.social-links a{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid #b6b4cf40;border-radius:999px;color:var(--mint);font-size:13px;text-decoration:none}.social-links a:hover{background:#79f5e710;border-color:var(--mint)}.social-settings{grid-column:1/-1;min-width:0;border-top:1px solid var(--line);padding-top:16px;margin-top:8px}.social-settings .settings-grid{padding:0}.social-settings input{min-width:0;width:100%}

/* A finite wallet of hearts, distinct from recurring votes. */
.heart-wallet{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid #ff62b636;border-radius:14px;background:linear-gradient(110deg,#ff62b610,transparent)}
.heart-wallet strong{font-size:13px;color:#ffc3e4}.heart-wallet small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.heart-bank{display:flex;gap:6px;flex-shrink:0}.heart-bank svg{display:block;width:20px;height:20px;fill:currentColor;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.heart-available{color:var(--pink);filter:drop-shadow(0 0 4px #ff62b633)}.heart-spent{color:#555568;opacity:.45}
.song-heart-row{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:0}.heart-given-label{font-size:11px;color:#e8a8cf}.heart-action,.heart-total{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:58px;padding:8px 11px;border:1px solid #ff62b638;border-radius:99px;background:#ff62b609;color:#ef9bcb;font-size:13px;font-weight:650;box-shadow:none}.heart-action svg,.heart-total svg{width:18px;height:18px;fill:transparent;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}.heart-action.is-given svg,.heart-total.has-hearts svg{fill:currentColor}.heart-action.is-given,.heart-total.has-hearts{color:var(--pink);background:#ff62b615}.heart-action:hover:not(:disabled){background:#ff62b622;border-color:var(--pink)}.heart-action:disabled{opacity:1;cursor:default}.heart-action.is-exhausted:not(.is-given){color:var(--muted);border-color:var(--line)}.heart-action:focus-visible{outline:2px solid var(--pink);outline-offset:3px}.heart-total{min-height:32px;padding:5px 10px}.heart-count{font-variant-numeric:tabular-nums}
.image-label-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px}.image-label-row>label{padding-top:6px;margin:0}.image-help{border:0;padding:0;margin:0;flex:1;min-width:0}.image-help summary{display:flex;align-items:center;justify-content:center;list-style:none;width:32px;height:32px;min-height:32px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:14px;cursor:pointer}.image-help summary::-webkit-details-marker{display:none}.image-help summary:hover,.image-help[open] summary{color:var(--mint);border-color:var(--mint)}.image-help summary:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.image-help p{font-size:12px;line-height:1.6;margin:8px 0 0;padding:10px 12px;background:#ffffff06;border-radius:8px}
@media(max-width:380px){.heart-bank{gap:5px}.heart-bank svg{width:18px;height:18px}.heart-wallet{padding:10px}.heart-wallet strong{font-size:12px}}

.personal-timers.is-stuck::before{content:'';position:absolute;z-index:-1;pointer-events:none;top:0;bottom:4px;left:var(--sticky-left);width:var(--sticky-width);background:radial-gradient(ellipse at 85% 0,#282047 0,transparent 50%),var(--bg);background-size:var(--sticky-width) var(--sticky-page-height);background-position:0 var(--sticky-page-y);background-repeat:no-repeat}

.personal-timers.is-stuck::before{bottom:-20px;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 24px),transparent 100%)}
.control-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.control-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.control-heading h1{font-size:clamp(36px,5vw,62px)}.control-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.control-stats>div{padding:18px 22px;border:1px solid var(--line);border-radius:16px;background:#ffffff04}.control-stats strong{display:block;font-size:32px;color:var(--mint);line-height:1.2}.control-stats span{font-size:12px;color:var(--muted)}.control-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:32px;align-items:start}.control-issue{position:sticky;top:24px}.control-list-heading,.control-code-top,.control-code-value{display:flex;justify-content:space-between;align-items:center;gap:14px}.control-list-heading h2{margin:0}.control-search{margin:18px 0}.control-codes{display:grid;gap:14px}.control-code h3{margin:0;font-size:18px;overflow-wrap:anywhere}.control-code-top .muted{font-size:12px}.control-code-top .badge{flex-shrink:0}.control-code-value{margin-top:20px}.control-code-value>span{font-size:28px;font-weight:800;letter-spacing:5px;color:var(--mint)}.control-code .fine-print{margin-bottom:0;overflow-wrap:anywhere}.control-pagination{display:flex;justify-content:space-between;gap:12px;margin:22px 0;font-size:13px}.control-notice{background:#79f5e710;border:1px solid #79f5e750;color:var(--mint);padding:14px 18px;border-radius:12px}.control-issue .errorlist{color:#ffb6d0;font-size:13px;padding-left:20px}@media(max-width:760px){.control-layout{grid-template-columns:1fr;gap:28px}.control-issue{position:static}.control-stats{gap:8px}.control-stats>div{padding:14px 12px}.control-stats strong{font-size:26px}.control-heading{gap:8px}.control-heading .ghost{padding:8px;white-space:nowrap}.control-code{padding:18px}.control-code-value>span{font-size:25px;letter-spacing:4px}.control-code-value button{padding:8px 12px;font-size:13px}}

.dj-view-bar>div:first-child{margin-right:auto}.dj-switch-link{border-radius:999px;min-height:36px;padding:8px 13px;font-size:12px;line-height:1.2;white-space:nowrap}.dj-access-notice{font-size:12px;color:var(--purple);padding:10px 14px;border:1px solid #b89bff30;border-radius:12px;background:#b89bff08}.queue-focus>.dj-access-notice{display:none}@media(max-width:380px){.dj-switch-link,.dj-view-bar #dj-focus-toggle{padding:8px;font-size:11px}}

/* Keep guest reactions beside the details instead of adding a full footer row. */
#event-app[data-dj="0"] .song{row-gap:6px}
#event-app[data-dj="0"] .song>:nth-child(1){grid-column:1;grid-row:1/3}
#event-app[data-dj="0"] .song>:nth-child(2){grid-column:2;grid-row:1/3}
#event-app[data-dj="0"] .song>:nth-child(3){grid-column:3;grid-row:1/3}
#event-app[data-dj="0"] .song>.vote-button,#event-app[data-dj="0"] .song>.score{grid-column:4;grid-row:1;align-self:end}
#event-app[data-dj="0"] .song>.song-heart-row{grid-column:4;grid-row:2;align-self:start;justify-content:center}
#event-app[data-dj="0"] .song .heart-given-label{display:none}
#event-app[data-dj="0"] .song p{margin:2px 0}

#emoji::placeholder{opacity:.3}#emoji-help{font-size:12px;color:var(--muted);margin:7px 0 10px}

.song-duration{font-size:11px;font-weight:400;color:var(--muted);white-space:nowrap}.queue-duration{color:var(--mint);font-size:13px;margin:8px 0 16px}

/* Compact DJ cards: score and hearts share the side column. */
#event-app[data-dj="1"] .song{padding:12px;gap:6px 10px}
#event-app[data-dj="1"] .song>:nth-child(1){grid-column:1;grid-row:1/3}
#event-app[data-dj="1"] .song>:nth-child(2){grid-column:2;grid-row:1/3}
#event-app[data-dj="1"] .song>:nth-child(3){grid-column:3;grid-row:1/3}
#event-app[data-dj="1"] .song>.score{grid-column:4;grid-row:1;align-self:end;text-align:center}
#event-app[data-dj="1"] .song>.song-heart-row{grid-column:4;grid-row:2;align-self:start;justify-content:center}
#event-app[data-dj="1"] .song>.song-actions{grid-column:2/-1;grid-row:3;margin-top:2px}
#event-app[data-dj="1"] .song-actions button{min-height:44px;padding:6px 11px}
#event-app[data-dj="1"] .song p{margin:2px 0}
#event-app[data-dj="1"] .song-list{gap:8px}
#event-app[data-dj="1"] .queue-top h2{margin-bottom:6px}
#event-app[data-dj="1"] #vote-timer{margin:4px 0;font-size:12px}
#event-app[data-dj="1"] .queue-duration{margin:4px 0 10px;font-size:12px}
@media(max-width:600px){#event-app[data-dj="1"] .song{padding:10px;column-gap:7px}#event-app[data-dj="1"] .song>.song-actions{grid-column:1/-1}}

.crowd-settings{margin-bottom:20px}.crowd-settings small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}.crowd-settings .button-row{margin-top:16px}textarea{width:100%;min-height:76px;resize:vertical;font:inherit;padding:12px;border:1px solid #50516e;border-radius:10px;background:#101226;color:var(--text)}textarea:focus{outline:2px solid var(--mint);outline-offset:3px}#request-text-help{margin-top:6px}.song-messages{grid-column:1/-1;grid-row:4;padding-top:8px;font-size:12px;min-width:0}.song-messages summary{color:var(--purple)}.song-messages p{padding:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}

.control-card-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}.control-delete-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:#ed91ab}.control-delete-icon:hover{background:#ff62801a}.control-delete-icon svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.control-delete-warning{color:#ffc9dd}.control-delete-actions{margin-top:20px}

input.delete-slider{appearance:none;-webkit-appearance:none;width:100%;height:58px;padding:4px;border:1px solid #a34a6b;background:linear-gradient(90deg,#392339,#652d47);border-radius:99px;cursor:grab}input.delete-slider:active{cursor:grabbing}input.delete-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:48px;height:48px;border-radius:50%;background:#ffc9dd;border:5px solid #d67b9e;box-shadow:0 2px 8px #0005}input.delete-slider::-moz-range-thumb{width:38px;height:38px;border-radius:50%;background:#ffc9dd;border:5px solid #d67b9e;box-shadow:0 2px 8px #0005}input.delete-slider::-moz-range-track{background:transparent}#delete-slider-status:empty{display:none}

#event-app[data-dj="1"] .song.repeat-request{border:1px solid #e16c84;box-shadow:inset 3px 0 #e16c84}.repeat-badge{display:inline-block;color:#ffb3c2;font-size:11px;font-weight:650;line-height:1.4;margin:3px 0}#request-match p{margin:0 0 8px}#request-match{margin:12px 0}
