/* Synthwave Metal Fusion Market — neon chrome over black steel.
   Everything is scoped under .swmf so the active theme is never restyled. */

.swmf {
	--sw-bg: #0a0612;
	--sw-bg2: #120a22;
	--sw-panel: #160d2a;
	--sw-line: #2e1d4f;
	--sw-text: #ece6f7;
	--sw-muted: #b3a6cc;
	--sw-purple: #b026ff;
	--sw-magenta: #ff2bd6;
	--sw-blue: #22d3ff;
	--sw-sun: #ffd23f;
	--sw-ok: #3ff2a0;
	--sw-bad: #ff5d7a;
	--sw-chrome: linear-gradient(180deg, #ffffff 0%, #d9dce6 38%, #8a8fa3 52%, #f2f4fa 64%, #c9b8ff 100%);
	--sw-radius: 12px;
	--sw-font: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
	--sw-display: "Arial Black", "Helvetica Neue", Impact, "Segoe UI Black", sans-serif;
	background: radial-gradient(1200px 500px at 50% -10%, rgba(176, 38, 255, .25), transparent 60%), var(--sw-bg);
	color: var(--sw-text);
	font-family: var(--sw-font);
	font-size: 16px;
	line-height: 1.55;
	padding: clamp(16px, 3vw, 32px);
	border-radius: var(--sw-radius);
	border: 1px solid var(--sw-line);
	box-shadow: 0 0 0 1px rgba(176, 38, 255, .15), 0 20px 60px rgba(0, 0, 0, .45);
	box-sizing: border-box;
	overflow-wrap: break-word;
	container-type: inline-size;
	container-name: swmf;
}
.swmf *, .swmf *::before, .swmf *::after { box-sizing: border-box; }
.swmf a { color: var(--sw-blue); text-decoration: none; }
.swmf a:hover { color: #fff; text-decoration: underline; }
.swmf :focus-visible { outline: 3px solid var(--sw-blue); outline-offset: 2px; border-radius: 4px; }
.swmf img { max-width: 100%; height: auto; display: block; }
.swmf h1, .swmf h2, .swmf h3, .swmf h4 { color: #fff; margin: 0 0 .5em; line-height: 1.2; }
.swmf p { margin: 0 0 1em; }
.swmf code, .swmf .swmf-code { background: #0d0718; border: 1px solid var(--sw-line); border-radius: 6px; padding: 1px 6px; color: var(--sw-sun); }
.swmf pre.swmf-code { padding: 10px 12px; user-select: all; }

.swmf-kicker { text-transform: uppercase; letter-spacing: .22em; font-size: .75rem; color: var(--sw-magenta); font-weight: 700; margin: 0 0 .4em; }
.swmf-h2 { font-family: var(--sw-display); text-transform: uppercase; letter-spacing: .06em; font-size: clamp(1.15rem, 2.4vw, 1.5rem); padding-bottom: .4em; border-bottom: 2px solid; border-image: linear-gradient(90deg, var(--sw-magenta), var(--sw-purple), var(--sw-blue), transparent) 1; margin: 1.6em 0 .9em; }
.swmf-h3 { font-size: 1.2rem; }
.swmf-small { font-size: .85rem; color: var(--sw-muted); }
.swmf-empty { color: var(--sw-muted); padding: 24px; text-align: center; border: 1px dashed var(--sw-line); border-radius: var(--sw-radius); }
.swmf-section { margin-top: 8px; }
.swmf-prose { color: var(--sw-text); max-width: 72ch; }
.swmf-list { padding-left: 1.2em; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

/* ---------- Banner: neon sun over a perspective grid ---------- */
.swmf-banner { position: relative; overflow: hidden; border-radius: var(--sw-radius); padding: clamp(28px, 6vw, 64px) clamp(18px, 4vw, 48px) clamp(80px, 12vw, 130px); background: linear-gradient(180deg, #12002b 0%, #2a0650 45%, #4c0b6e 62%, #0a0612 62.2%, #0a0612 100%); border: 1px solid var(--sw-line); margin-bottom: 24px; text-align: center; }
.swmf-banner--sm { padding-bottom: clamp(60px, 8vw, 90px); }
.swmf-banner > * { position: relative; z-index: 2; }
.swmf-banner__sun { position: absolute; z-index: 1; left: 50%; top: 18%; width: min(420px, 70vw); aspect-ratio: 1; transform: translateX(-50%); border-radius: 50%; background: repeating-linear-gradient(180deg, transparent 0 54%, #12002b 54% 57%, transparent 57% 62%, #12002b 62% 65.5%, transparent 65.5% 71%, #12002b 71% 75%, transparent 75% 80%, #12002b 80% 85%, transparent 85%), linear-gradient(180deg, var(--sw-sun), #ff7a3d 45%, var(--sw-magenta) 80%); opacity: .55; filter: drop-shadow(0 0 40px rgba(255, 43, 214, .55)); }
.swmf-banner__grid { position: absolute; z-index: 1; left: -50%; right: -50%; bottom: 0; height: 38%; background-image: linear-gradient(var(--sw-purple) 1px, transparent 1px), linear-gradient(90deg, var(--sw-purple) 1px, transparent 1px); background-size: 48px 48px; transform: perspective(260px) rotateX(62deg); transform-origin: bottom; opacity: .55; mask-image: linear-gradient(to top, #000 30%, transparent); -webkit-mask-image: linear-gradient(to top, #000 30%, transparent); }
.swmf-banner__title { font-family: var(--sw-display); font-size: clamp(1.9rem, 6vw, 4rem); text-transform: uppercase; letter-spacing: .04em; line-height: 1; margin: .1em 0 .25em; background: var(--sw-chrome); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .25); filter: drop-shadow(0 3px 0 #4a0d6e) drop-shadow(0 0 18px rgba(255, 43, 214, .55)); }
.swmf-banner__tag { color: var(--sw-blue); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-shadow: 0 0 12px rgba(34, 211, 255, .6); }
.swmf-banner__desc { max-width: 62ch; margin: 0 auto 1.2em; color: #e2d8f4; }

/* ---------- Buttons ---------- */
.swmf-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4em; min-height: 44px; padding: .6em 1.15em; border-radius: 999px; border: 1px solid transparent; font: 700 .95rem/1.1 var(--sw-font); letter-spacing: .03em; cursor: pointer; text-decoration: none !important; color: #fff !important; background: #24133f; transition: transform .12s ease, box-shadow .12s ease, background .12s ease; }
.swmf-btn:hover { transform: translateY(-1px); }
.swmf-btn--primary { background: linear-gradient(90deg, var(--sw-magenta), var(--sw-purple)); box-shadow: 0 0 0 1px rgba(255, 255, 255, .12) inset, 0 6px 22px rgba(255, 43, 214, .35); }
.swmf-btn--primary:hover { box-shadow: 0 0 0 1px rgba(255, 255, 255, .2) inset, 0 8px 30px rgba(255, 43, 214, .55); }
.swmf-btn--ghost { background: transparent; border-color: var(--sw-blue); color: var(--sw-blue) !important; }
.swmf-btn--ghost:hover { background: rgba(34, 211, 255, .12); color: #fff !important; }
.swmf-btn--danger { background: transparent; border-color: var(--sw-bad); color: var(--sw-bad) !important; }
.swmf-btn--sm { min-height: 34px; padding: .4em .85em; font-size: .85rem; }
.swmf-btn--lg { min-height: 54px; padding: .8em 1.6em; font-size: 1.1rem; width: 100%; }
.swmf-btn[disabled] { opacity: .5; cursor: not-allowed; transform: none; }

/* ---------- Genre badges & chips ---------- */
.swmf-genre { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 .8em; }
.swmf-genre-primary { display: inline-block; padding: .3em .8em; border-radius: 6px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; color: #12002b; background: linear-gradient(90deg, var(--sw-blue), #9b8cff 50%, var(--sw-magenta)); box-shadow: 0 0 14px rgba(34, 211, 255, .35); }
.swmf-genre-primary--sm { font-size: .64rem; padding: .2em .55em; }
.swmf-fusion-tag { display: inline-block; padding: .25em .7em; border-radius: 999px; font-size: .8rem; color: #f4e9ff; border: 1px solid rgba(176, 38, 255, .7); background: rgba(176, 38, 255, .14); }
a.swmf-fusion-tag:hover { background: rgba(176, 38, 255, .35); text-decoration: none; }
.swmf-chip { display: inline-block; padding: .15em .6em; border-radius: 999px; font-size: .75rem; border: 1px solid var(--sw-line); color: var(--sw-muted); }
.swmf-chip--human { border-color: #6cffc9; color: #6cffc9; }
.swmf-chip--ai_assisted { border-color: var(--sw-blue); color: var(--sw-blue); }
.swmf-chip--ai_generated { border-color: var(--sw-magenta); color: #ff8deb; }
.swmf-explicit { display: inline-flex; align-items: center; justify-content: center; width: 1.25em; height: 1.25em; border-radius: 3px; font: 800 .7em/1 var(--sw-font); color: #000; background: #fff; vertical-align: middle; }

/* ---------- Album grid ---------- */
.swmf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(210px, 100%), 1fr)); gap: 20px; }
.swmf-card { background: linear-gradient(180deg, var(--sw-panel), #0e0819); border: 1px solid var(--sw-line); border-radius: var(--sw-radius); overflow: hidden; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.swmf-card:hover { transform: translateY(-3px); border-color: var(--sw-purple); box-shadow: 0 10px 30px rgba(176, 38, 255, .25); }
.swmf-card__art { position: relative; display: block; aspect-ratio: 1; background: #000; overflow: hidden; }
.swmf-card__art img { width: 100%; height: 100%; object-fit: cover; }
.swmf-card__art.is-blurred img { filter: blur(22px) saturate(.6); transform: scale(1.15); }
.swmf-card__gate { position: absolute; inset: auto 10px 10px auto; background: #000; color: #fff; font-weight: 800; font-size: .75rem; padding: .3em .6em; border: 1px solid #fff; letter-spacing: .06em; }
.swmf-card__body { padding: 12px 14px 14px; }
.swmf-card__title { font-size: 1.02rem; margin: 0 0 .15em; }
.swmf-card__title a { color: #fff; }
.swmf-card__artist { margin: 0 0 .5em; font-size: .9rem; }
.swmf-card__genre { margin: 0 0 .3em; }
.swmf-card__fusion { margin: 0 0 .5em; font-size: .78rem; color: var(--sw-muted); }
.swmf-card__meta { display: flex; justify-content: space-between; align-items: center; gap: 6px; margin: 0; }
.swmf-price { font-weight: 800; color: var(--sw-sun); }

/* CSS fallback label when the server cannot draw on images. */
.swmf-pa-overlay { position: absolute; right: 4%; bottom: 4%; width: 30%; background: #fff; color: #000; border: 3px solid #000; outline: 2px solid #fff; font: 900 clamp(6px, 1.2vw, 11px)/1.05 var(--sw-display); text-align: center; padding: 4% 2% 0; }
.swmf-pa-overlay em { display: block; margin: 4% -2% 0; background: #000; color: #fff; font-style: normal; padding: 6% 0; }
.swmf-pa-overlay--lg { font-size: clamp(8px, 1.4vw, 16px); }

/* ---------- Album / merch hero ---------- */
.swmf-hero { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); gap: clamp(18px, 3vw, 40px); align-items: start; }
.swmf-hero__art { position: relative; border-radius: var(--sw-radius); overflow: hidden; border: 1px solid var(--sw-line); box-shadow: 0 0 0 1px rgba(255, 43, 214, .2), 0 20px 50px rgba(0, 0, 0, .6), 0 0 50px rgba(176, 38, 255, .25); }
.swmf-hero__art img { width: 100%; }
.swmf-hero__title { font-family: var(--sw-display); font-size: clamp(1.7rem, 4.2vw, 2.9rem); text-transform: uppercase; line-height: 1.02; background: var(--sw-chrome); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 2px 0 #3d0a5c); margin: 0 0 .25em; }
.swmf-hero__title .swmf-explicit { -webkit-text-fill-color: #000; font-size: .45em; }
.swmf-hero__artist { font-size: 1.15rem; margin-bottom: .8em; }
.swmf-hero__prod a { font-size: .85rem; }
.swmf-buy { margin-top: 16px; padding: 16px; border-radius: var(--sw-radius); border: 1px solid var(--sw-line); background: rgba(10, 6, 18, .7); }
.swmf-buy__price { font-family: var(--sw-display); font-size: 2rem; color: var(--sw-sun); text-shadow: 0 0 18px rgba(255, 210, 63, .35); margin-bottom: 10px; }
.swmf-buy__price small { display: block; font: 600 .78rem/1.3 var(--sw-font); color: var(--sw-muted); text-transform: uppercase; letter-spacing: .12em; text-shadow: none; }
.swmf-buy__form { margin: 0 0 8px; }

/* ---------- Player ---------- */
.swmf-player { border: 1px solid var(--sw-line); border-radius: var(--sw-radius); background: linear-gradient(180deg, #120a22, #0b0614); padding: 14px; }
.swmf-player__bar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 10px; }
.swmf-player__now { color: var(--sw-blue); font-weight: 600; }
.swmf-player__progress { height: 4px; border-radius: 4px; background: #241640; margin-bottom: 10px; overflow: hidden; }
.swmf-player__progress span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--sw-blue), var(--sw-magenta)); }
.swmf-tracklist { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.swmf-track { display: grid; grid-template-columns: 40px 32px 1fr auto; gap: 8px; align-items: center; padding: 6px 8px; border-radius: 8px; }
.swmf-track:nth-child(odd) { background: rgba(255, 255, 255, .025); }
.swmf-track.is-playing { background: linear-gradient(90deg, rgba(255, 43, 214, .22), transparent); }
.swmf-track.is-playing .swmf-track__title { color: #fff; font-weight: 700; }
.swmf-track__play { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--sw-purple); background: transparent; color: #fff; cursor: pointer; font-size: .8rem; }
.swmf-track__play:hover:not([disabled]) { background: var(--sw-purple); }
.swmf-track__play[disabled] { opacity: .35; cursor: default; }
.swmf-track__no { color: var(--sw-muted); font-variant-numeric: tabular-nums; text-align: right; }
.swmf-track__dur { color: var(--sw-muted); font-variant-numeric: tabular-nums; }

/* ---------- Notices ---------- */
.swmf-notice { padding: 12px 14px; border-radius: 10px; border: 1px solid; margin: 0 0 14px; }
.swmf-notice ul { margin: 0; padding-left: 1.2em; }
.swmf-notice--success { border-color: rgba(63, 242, 160, .6); background: rgba(63, 242, 160, .1); }
.swmf-notice--error { border-color: rgba(255, 93, 122, .7); background: rgba(255, 93, 122, .1); }
.swmf-notice--info { border-color: rgba(34, 211, 255, .6); background: rgba(34, 211, 255, .08); }

/* ---------- Forms ---------- */
.swmf-form label, .swmf-label { display: block; margin: 0 0 12px; font-weight: 600; font-size: .92rem; color: #e6dcf7; }
.swmf-form input[type=text], .swmf-form input[type=email], .swmf-form input[type=password], .swmf-form input[type=number], .swmf-form input[type=url], .swmf-form input[type=search], .swmf-form select, .swmf-form textarea, .swmf-filters input[type=search], .swmf-filters select { display: block; width: 100%; margin-top: 5px; min-height: 44px; padding: 10px 12px; border-radius: 8px; border: 1px solid #3a2763; background: #0d0718; color: #fff; font: 400 1rem/1.4 var(--sw-font); }
.swmf-form textarea { min-height: 90px; }
.swmf-form input:focus, .swmf-form select:focus, .swmf-form textarea:focus, .swmf-filters input:focus, .swmf-filters select:focus { border-color: var(--sw-blue); outline: none; box-shadow: 0 0 0 3px rgba(34, 211, 255, .25); }
.swmf-form input[type=file] { color: var(--sw-muted); margin: 8px 0 12px; }
.swmf-check { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; }
.swmf-check input { margin-top: .3em; width: 18px; height: 18px; accent-color: var(--sw-magenta); flex: 0 0 auto; }
.swmf-form--inline { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.swmf-form--inline label { margin: 0; flex: 1 1 180px; }
.swmf-form--inline h3 { flex-basis: 100%; }
.swmf-panel { background: var(--sw-panel); border: 1px solid var(--sw-line); border-radius: var(--sw-radius); padding: clamp(14px, 2.5vw, 22px); margin: 0 0 18px; }
.swmf-panel legend { font-family: var(--sw-display); text-transform: uppercase; letter-spacing: .06em; color: #fff; padding: 0 8px; }
fieldset.swmf-panel { min-width: 0; }
.swmf-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 18px; }
.swmf-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 4px 16px; margin-bottom: 10px; }
.swmf-cover-preview { width: 100%; max-width: 280px; height: auto !important; aspect-ratio: 1; object-fit: cover; border-radius: 10px; border: 1px solid var(--sw-line); margin: 6px 0; }
.swmf-cover-preview--round { border-radius: 50%; max-width: 200px; }
.swmf-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.swmf-hp { position: absolute; left: -9999px; }
.swmf-inline { display: inline; }
.swmf-danger { margin-top: 18px; text-align: right; }
.swmf-terms-box summary { cursor: pointer; color: var(--sw-blue); margin-bottom: 8px; }
.swmf-terms-scroll { max-height: 320px; overflow: auto; padding: 12px; border: 1px solid var(--sw-line); border-radius: 8px; background: #0d0718; font-size: .9rem; margin-bottom: 12px; }
.swmf-auth { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 18px; }

/* ---------- Filters ---------- */
.swmf-filters { background: var(--sw-panel); border: 1px solid var(--sw-line); border-radius: var(--sw-radius); padding: 16px; margin: 20px 0; }
.swmf-filters__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)); gap: 12px; align-items: end; }
.swmf-filters__search { grid-column: 1 / -1; }
.swmf-filters label { font-size: .85rem; color: var(--sw-muted); }
.swmf-filters__fusion { border: 0; padding: 0; margin: 14px 0 0; }
.swmf-filters__fusion legend { font-weight: 700; color: #fff; margin-bottom: 8px; }
.swmf-toggle { display: inline-flex; align-items: center; gap: 6px; margin: 0 6px 8px 0; padding: .35em .8em; border-radius: 999px; border: 1px solid rgba(176, 38, 255, .6); color: #eadcff !important; cursor: pointer; font-size: .85rem !important; }
.swmf-toggle input { accent-color: var(--sw-magenta); }
.swmf-toggle.is-on, .swmf-toggle:has(input:checked) { background: rgba(255, 43, 214, .22); border-color: var(--sw-magenta); }
.swmf-filters__actions { margin-top: 8px; display: flex; gap: 10px; }
.swmf-count { color: var(--sw-muted); }
.swmf-pager { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 20px; }
.swmf-pager a, .swmf-pager span { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--sw-line); border-radius: 8px; }
.swmf-pager .is-current { background: var(--sw-purple); color: #fff; }

/* ---------- Tables, stats, tabs ---------- */
.swmf-table-wrap { overflow-x: auto; }
.swmf-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.swmf-table th { text-align: left; color: var(--sw-muted); font-weight: 700; text-transform: uppercase; font-size: .72rem; letter-spacing: .08em; border-bottom: 1px solid var(--sw-line); padding: 8px; }
.swmf-table td { border-bottom: 1px solid rgba(46, 29, 79, .6); padding: 8px; vertical-align: middle; }
.swmf-thumb { width: 40px; height: 40px; object-fit: cover; border-radius: 6px; display: inline-block !important; vertical-align: middle; margin-right: 8px; }
.swmf-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)); gap: 14px; margin-bottom: 18px; }
.swmf-stat { display: flex; flex-direction: column; gap: 4px; padding: 16px; border-radius: var(--sw-radius); border: 1px solid var(--sw-line); background: linear-gradient(160deg, #1d0f37, #110a20); text-decoration: none !important; }
.swmf-stat__v { font-family: var(--sw-display); font-size: 1.45rem; color: #fff; }
.swmf-stat__l { font-size: .78rem; color: var(--sw-muted); text-transform: uppercase; letter-spacing: .08em; }
.swmf-tabs { display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--sw-line); margin: 0 0 18px; padding-bottom: 8px; }
.swmf-tab { padding: .5em .95em; border-radius: 8px; color: var(--sw-muted) !important; font-weight: 600; }
.swmf-tab.is-active { background: linear-gradient(90deg, rgba(255, 43, 214, .3), rgba(176, 38, 255, .3)); color: #fff !important; }
.swmf-dash__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.swmf-dash__name { font-family: var(--sw-display); text-transform: uppercase; font-size: clamp(1.3rem, 3vw, 2rem); background: var(--sw-chrome); -webkit-background-clip: text; background-clip: text; color: transparent; margin: 0; }
.swmf-state { display: inline-block; padding: .15em .6em; border-radius: 999px; font-size: .75rem; font-weight: 700; border: 1px solid var(--sw-line); color: var(--sw-muted); vertical-align: middle; }
.swmf-state--approved { border-color: var(--sw-ok); color: var(--sw-ok); }
.swmf-state--submitted { border-color: var(--sw-blue); color: var(--sw-blue); }
.swmf-state--revisions, .swmf-state--paused { border-color: var(--sw-sun); color: var(--sw-sun); }
.swmf-state--rejected, .swmf-state--removed { border-color: var(--sw-bad); color: var(--sw-bad); }
.swmf-steps li { margin-bottom: 6px; }
.swmf-checklist { list-style: none; padding: 0; margin: 0 0 10px; }
.swmf-checklist li { padding: 6px 0 6px 28px; position: relative; border-bottom: 1px solid rgba(46, 29, 79, .5); }
.swmf-checklist li::before { content: "✕"; position: absolute; left: 4px; color: var(--sw-bad); font-weight: 900; }
.swmf-rules ul { margin: 0; padding-left: 1.2em; }
.swmf-bars { display: flex; align-items: flex-end; gap: 10px; height: 180px; padding-top: 20px; }
.swmf-bar { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 4px; }
.swmf-bar__fill { width: 100%; max-width: 48px; min-height: 2px; border-radius: 6px 6px 0 0; background: linear-gradient(0deg, var(--sw-purple), var(--sw-magenta)); }
.swmf-bar__v { font-size: .7rem; color: var(--sw-muted); }
.swmf-bar__l { font-size: .8rem; }
.swmf-address { padding: 10px 12px; border-left: 3px solid var(--sw-blue); background: rgba(34, 211, 255, .06); margin-bottom: 12px; }

/* ---------- Track manager ---------- */
.swmf-drop { display: block; border: 2px dashed var(--sw-purple); border-radius: var(--sw-radius); padding: 26px; text-align: center; cursor: pointer; background: rgba(176, 38, 255, .07); color: #eadcff; font-weight: 700; margin-bottom: 12px; }
.swmf-drop.is-over { background: rgba(255, 43, 214, .18); border-color: var(--sw-magenta); }
.swmf-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.swmf-tracks__count { font-size: .9rem; margin-left: 6px; }
.swmf-tracks__count.is-ok { color: var(--sw-ok); }
.swmf-tracks__count.is-low { color: var(--sw-sun); }
.swmf-q { display: grid; grid-template-columns: 1fr 140px; gap: 10px; align-items: center; font-size: .85rem; padding: 4px 0; }
.swmf-q progress { width: 100%; accent-color: var(--sw-magenta); }
.swmf-q.is-error { color: var(--sw-bad); grid-template-columns: 1fr; }
.swmf-tracks__list { list-style: none; padding: 0; margin: 0; }
.swmf-trow { display: grid; grid-template-columns: 30px 1fr auto auto; gap: 10px; align-items: center; padding: 8px; border-radius: 8px; border: 1px solid var(--sw-line); margin-bottom: 6px; background: #120a22; }
.swmf-trow input { margin: 0 !important; width: 100%; min-height: 40px; padding: 8px 10px; border-radius: 8px; border: 1px solid #3a2763; background: #0d0718; color: #fff; font: 400 1rem/1.3 var(--sw-font); }
.swmf-trow input:focus { border-color: var(--sw-blue); outline: none; box-shadow: 0 0 0 3px rgba(34, 211, 255, .25); }
.swmf-trow__meta { font-size: .75rem; color: var(--sw-muted); }
.swmf-trow__btns { display: flex; gap: 4px; }
.swmf-trow__btns button { min-width: 34px; min-height: 34px; border-radius: 8px; border: 1px solid var(--sw-line); background: #1b1030; color: #fff; cursor: pointer; }
.swmf-trow__btns button:hover { border-color: var(--sw-blue); }
.swmf-trow__no { color: var(--sw-magenta); font-weight: 800; text-align: right; }

/* ---------- Library, profile, artists ---------- */
.swmf-libitem { display: grid; grid-template-columns: 140px 1fr; gap: 18px; padding: 16px; border: 1px solid var(--sw-line); border-radius: var(--sw-radius); background: var(--sw-panel); margin-bottom: 16px; }
.swmf-libitem__art { border-radius: 10px; width: 140px; aspect-ratio: 1; object-fit: cover; }
.swmf-libitem summary { cursor: pointer; color: var(--sw-blue); margin-bottom: 8px; }
.swmf-profile { display: grid; grid-template-columns: 220px 1fr; gap: 24px; align-items: start; }
.swmf-profile__img { width: 220px; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 3px solid var(--sw-purple); box-shadow: 0 0 30px rgba(176, 38, 255, .5); }
.swmf-links { display: flex; flex-wrap: wrap; gap: 10px; }
.swmf-links a { padding: .3em .8em; border: 1px solid var(--sw-line); border-radius: 999px; }
.swmf-artist-card { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px; border-radius: var(--sw-radius); border: 1px solid var(--sw-line); background: var(--sw-panel); text-align: center; text-decoration: none !important; }
.swmf-artist-card img { width: 120px; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 2px solid var(--sw-purple); }
.swmf-artist-card__name { color: #fff; font-weight: 800; }

/* ---------- Age gate ---------- */
.swmf-agegate { display: grid; place-items: center; min-height: 380px; }
.swmf-agegate__card { max-width: 520px; text-align: center; padding: 30px; border: 1px solid var(--sw-line); border-radius: var(--sw-radius); background: var(--sw-panel); }
.swmf-agegate__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.swmf-pa-badge { display: inline-block; background: #fff; color: #000; border: 4px solid #000; outline: 2px solid #fff; font: 900 14px/1.05 var(--sw-display); padding: 8px 10px 0; margin-bottom: 16px; }
.swmf-pa-badge em { display: block; background: #000; color: #fff; font-style: normal; margin: 6px -10px 0; padding: 5px 10px; }

.swmf-report details summary { cursor: pointer; color: var(--sw-muted); font-size: .9rem; }
.swmf-report form { margin-top: 12px; max-width: 560px; }

/* Theme title duplicates our hero title on album/merch pages. */
.swmf-single .entry-title, .swmf-single .wp-block-post-title, .swmf-single .page-title { display: none; }

@media (max-width: 760px) {
	.swmf-hero, .swmf-profile { grid-template-columns: 1fr; }
	.swmf-profile__img { width: 160px; }
	.swmf-libitem { grid-template-columns: 1fr; }
	.swmf-track { grid-template-columns: 36px 24px 1fr auto; }
	.swmf-trow { grid-template-columns: 26px 1fr; }
	.swmf-trow__meta, .swmf-trow__btns { grid-column: 2; }
}
@container swmf (max-width: 720px) {
	.swmf-hero, .swmf-profile { grid-template-columns: 1fr; }
	.swmf-hero__art { max-width: 520px; }
	.swmf-profile__img { width: 160px; }
	.swmf-libitem { grid-template-columns: 1fr; }
	.swmf-trow { grid-template-columns: 26px 1fr; }
	.swmf-trow__meta, .swmf-trow__btns { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
	.swmf *, .swmf *::before { transition: none !important; animation: none !important; }
}
