/* Neon Nights opts in. Every visual rule stays inside this prototype dialog. */
.smartlink-v2 .v2-toolbar { display:flex; align-items:center; justify-content:center; position:relative; min-height:26px; padding:10px 16px 0; flex:none; }
.smartlink-v2 .v2-grip { position:absolute; top:14px; left:calc(50% - 20px); width:40px; height:4px; background:#666; border-radius:4px; }
.smartlink-v2 .tour-shell { position:relative; }
.smartlink-v2 .v2-scroll { padding:6px 20px 84px; }
.smartlink-v2 .v2-artwork-wrap { position:relative; z-index:0; isolation:isolate; display:grid; place-items:center; width:100%; aspect-ratio:1; }
.smartlink-v2 .v2-artwork-ambient { position:absolute; z-index:0; top:0; bottom:0; left:50%; transform:translateX(-50%); width:calc(100% + 180px); height:100%; max-width:none; aspect-ratio:auto; object-fit:cover; border:0; border-radius:0; clip-path:inset(0); filter:blur(38px) brightness(.78) saturate(1.12); opacity:.84; -webkit-mask-image:radial-gradient(ellipse at center,#000 0%,rgba(0,0,0,.9) 52%,transparent 92%); mask-image:radial-gradient(ellipse at center,#000 0%,rgba(0,0,0,.9) 52%,transparent 92%); pointer-events:none; }
.smartlink-v2 .v2-artwork { position:relative; z-index:1; display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:12px; border:1px solid #333; }
.smartlink-v2 .v2-hero > :not(.v2-artwork-wrap),.smartlink-v2 .native-preview,.smartlink-v2 .preview-error,.smartlink-v2 .v2-primary-dsps,.smartlink-v2 .v2-more,.smartlink-v2 .v2-module { position:relative; z-index:1; }
.smartlink-v2 .v2-hero h2 { font:600 21px/1.3 var(--ui-font,system-ui); margin:13px 0 4px; }
.smartlink-v2 .v2-artists { margin:0; color:#ccc; font:14px/1.5 var(--ui-font,system-ui); }
.smartlink-v2 .native-preview { display:flex; align-items:center; gap:12px; margin:16px 0; }
.smartlink-v2 .preview-toggle { width:48px; height:48px; flex:none; border-radius:50%; border:1px solid #ff5360; background:var(--accent); color:#fff; font:18px/1 system-ui; display:grid; place-items:center; }
.smartlink-v2 .preview-waveform { position:relative; flex:1; min-width:0; height:50px; }
.smartlink-v2 .preview-waveform svg { width:100%; height:100%; display:block; }
.smartlink-v2 .wave-unplayed { fill:#686868; }
.smartlink-v2 .wave-played { fill:var(--accent); }
.smartlink-v2 .preview-waveform input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.smartlink-v2 .preview-waveform:focus-within { outline:2px solid var(--accent); outline-offset:4px; border-radius:4px; }
.smartlink-v2 .preview-time { flex:none; color:#ddd; font:11px/1.4 var(--ui-font,system-ui); font-variant-numeric:tabular-nums; white-space:nowrap; }
.smartlink-v2 .preview-error { color:#ddd; font-size:12px; margin:0 0 16px; }
.smartlink-v2 .v2-primary-dsps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.smartlink-v2 .v2-dsp { display:flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:10px; border:1px solid #333; border-radius:10px; font:600 13px/1.3 var(--ui-font,system-ui); }
.smartlink-v2 .v2-primary-dsp { border-color:color-mix(in srgb,var(--dsp-color) 70%,#333); background:color-mix(in srgb,var(--dsp-color) 18%,#080808); }
.smartlink-v2 .v2-dsp .service-icon { color:var(--dsp-color); width:22px; height:22px; }
.smartlink-v2 .v2-dsp .service-icon svg,.smartlink-v2 .v2-dsp .service-icon img { width:22px; height:22px; }
.smartlink-v2 .v2-outbound { font-size:11px; color:#aaa; }
.smartlink-v2 .v2-dsp:hover { border-color:var(--dsp-color); background:color-mix(in srgb,var(--dsp-color) 26%,#080808); }
.smartlink-v2 .v2-more { margin-top:10px; }
.smartlink-v2 .v2-more summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:10px; padding:11px 14px; border:1px solid #444; border-radius:10px; font:12px/1.4 var(--ui-font,system-ui); cursor:pointer; }
.smartlink-v2 .v2-more summary::-webkit-details-marker { display:none; }
.smartlink-v2 .v2-more summary span { transition:transform .18s; }
.smartlink-v2 .v2-more[open] summary span { transform:rotate(180deg); }
.smartlink-v2 .v2-more-content { display:grid; gap:8px; padding-top:10px; }
.smartlink-v2 .v2-module { margin-top:16px; padding-top:12px; border-top:1px solid #303030; }
.smartlink-v2 .v2-module h3 { font:600 11px/1.4 var(--ui-font,system-ui); letter-spacing:1.4px; text-transform:uppercase; margin:0 0 9px; }
.smartlink-v2 .v2-utility { display:flex; justify-content:space-between; gap:12px; padding:13px 14px; margin-top:14px; border:1px solid #333; border-radius:10px; color:#ddd; font:12px/1.4 var(--ui-font,system-ui); text-align:left; }
.smartlink-v2 .v2-utility:hover { border-color:var(--accent); color:#fff; }
.smartlink-v2 .v2-related { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.smartlink-v2 .v2-related button { text-align:left; min-width:0; }
.smartlink-v2 .v2-related img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border:1px solid #333; border-radius:8px; }
.smartlink-v2 .v2-related span { display:block; margin-top:6px; font:12px/1.3 var(--ui-font,system-ui); overflow-wrap:anywhere; }
.smartlink-v2 .v2-next-show { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.smartlink-v2 .v2-next-show strong,.smartlink-v2 .v2-next-show small { display:block; }
.smartlink-v2 .v2-next-show small { color:var(--muted,#aaa); font-size:12px; margin-top:4px; }
.smartlink-v2 .v2-next-show a { border:1px solid var(--accent); border-radius:8px; padding:10px; font-size:11px; flex:none; }
.smartlink-v2 .v2-highlight { display:block; padding:12px 0; }
.smartlink-v2 .v2-highlight small,.smartlink-v2 .v2-highlight strong,.smartlink-v2 .v2-highlight span { display:block; }
.smartlink-v2 .v2-highlight span { color:var(--muted,#aaa); font-size:12px; margin-top:4px; }
.widget-dialog.from-neon-nights .widget-return-to-neon:not([hidden]) { display:block; width:max-content; margin:0 0 12px; padding:4px 0; border:0; background:transparent; color:#e7e7e7; font:12px/1.4 var(--ui-font,system-ui); text-align:left; cursor:pointer; }
.widget-dialog.from-neon-nights .widget-return-to-neon:not([hidden]):hover { color:var(--accent); }
@media(max-width:380px) { .smartlink-v2 .v2-scroll { padding-left:16px; padding-right:16px; } .smartlink-v2 .native-preview { gap:9px; } .smartlink-v2 .preview-toggle { width:42px; height:42px; } .smartlink-v2 .v2-dsp { gap:7px; font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .smartlink-v2 .v2-more summary span { transition:none; } }
/* Keep the release identity, preview and primary DSPs together in the desktop
   dialog without changing its narrow vertical layout or the mobile artwork. */
@media(min-width:640px) { .smartlink-v2 .v2-artwork-wrap { width:min(320px,35dvh); height:min(320px,35dvh); margin-inline:auto; } .smartlink-v2 .v2-artwork { height:100%; width:100%; max-width:100%; } }

.smartlink-v2 .v2-live h3 { display:flex; align-items:center; gap:10px; margin-bottom:5px; font-size:10px; letter-spacing:1px; }
.smartlink-v2 .v2-live h3 svg { width:20px; height:20px; flex:none; }
.smartlink-v2 .v2-next-show { margin-left:30px; gap:10px; }
.smartlink-v2 .v2-next-show strong { font-size:12px; font-weight:400; }
.smartlink-v2 .v2-next-show small { font-size:11px; line-height:1.45; margin-top:2px; }
.smartlink-v2 .v2-next-show a { background:var(--accent); color:#fff; padding:9px 14px; border-radius:8px; text-transform:uppercase; letter-spacing:1px; font:600 10px/1.4 var(--ui-font,system-ui); }
.smartlink-v2 .v2-live .v2-utility { margin-top:12px; padding:8px 12px; font-size:11px; border-radius:7px; }
.smartlink-v2 .v2-live-note { margin:5px 0 0 30px; color:#888; font-size:10px; }
.smartlink-v2 .v2-newsletter p { margin:0; color:#aaa; font:12px/1.5 var(--ui-font,system-ui); }
.smartlink-v2 .v2-newsletter .v2-utility { margin-top:10px; }
/* Phone browser toolbars reduce the usable height. Size the cover from that
   height, leaving room for the native preview and both primary DSP rows. */
@media(max-width:639px) {
  .smartlink-v2 .v2-artwork-wrap { width:clamp(150px,calc(100dvh - 462px),280px); height:clamp(150px,calc(100dvh - 462px),280px); margin-inline:auto; }
  .smartlink-v2 .v2-artwork { height:100%; width:100%; max-width:100%; }
  .smartlink-v2 .v2-toolbar { padding-top:4px; }
  .smartlink-v2 .v2-hero h2 { margin-top:12px; }
  .smartlink-v2 .native-preview { margin:14px 0; }
}
