/* NCSONZ interface finishing layer: shared controls, states and responsive rhythm. */
:root{--ui-radius:14px;--ui-ease:cubic-bezier(.2,.8,.2,1);--ui-danger:#a33333;--ui-success:#386f14}
:root[data-theme=dark]{--ui-danger:#ff9c96;--ui-success:#b8ff3e}
html{scroll-padding-bottom:160px}body{line-height:1.5}::selection{background:color-mix(in srgb,var(--edition-accent) 26%,transparent);color:var(--edition-ink)}
button,a,input,select,textarea,summary{touch-action:manipulation}
:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--edition-accent);outline-offset:4px}
:where(button,.button,a,summary){transition:background-color .18s var(--ui-ease),border-color .18s var(--ui-ease),color .18s var(--ui-ease),box-shadow .18s var(--ui-ease)}
.button{min-height:44px;line-height:1.4;border-radius:10px}.button:disabled{opacity:.5;filter:none}
.page-intro{padding:28px 0 24px}.page-intro .lead{max-width:720px;font-size:14px;line-height:1.75}.page-title{font-size:clamp(32px,3.2vw,52px);line-height:1.15;letter-spacing:-.04em}
.page-intro .eyebrow{color:var(--edition-muted);line-height:1.6}.section-heading{align-items:center}.section-heading h2{line-height:1.2}
.form-card,[data-theme=dark] .form-card{border:1px solid var(--edition-border);border-radius:var(--ui-radius);background:var(--edition-surface);box-shadow:none;padding:28px;color:var(--edition-ink)}
.form-card h2{font-size:23px;font-weight:600;letter-spacing:-.5px;margin:0 0 22px}.form-card h3{margin-top:0}.form-card>.lead{line-height:1.75}
.form-card label{margin:16px 0;display:block}.form-card input:not([type=checkbox]):not([type=range]),.form-card select,.form-card textarea{width:100%;min-height:46px;border:1px solid var(--edition-border);border-radius:9px;padding:11px 13px;line-height:1.5;margin-top:7px}
.form-card textarea{resize:vertical;min-height:100px}.form-card label:has(>input[type=checkbox]){min-height:40px;cursor:pointer}
input::placeholder,textarea::placeholder{color:var(--edition-muted);opacity:.85}
input[type=file]{max-width:100%;font-size:12px;overflow:hidden}input[type=file]::file-selector-button{border:0;border-radius:6px;background:var(--edition-soft);color:var(--edition-ink);padding:9px 12px;margin-right:12px;cursor:pointer}
.form-card .button{margin:5px 6px 0 0}.form-card p{overflow-wrap:anywhere}
.form-status:empty,.feature-status:empty{display:none}.form-status:not(:empty),.feature-status:not(:empty){border-left:3px solid var(--edition-accent);background:var(--edition-soft);color:var(--edition-ink);font-size:13px;line-height:1.7;border-radius:0 7px 7px 0;padding:12px 14px;margin:18px 0 0}
.admin-grid,.account-security{gap:24px;align-items:start}.account-security{margin-top:24px}.account-security .form-card{margin:0}.profile-avatar{object-fit:cover;border-radius:18px;border:1px solid var(--edition-border)}
.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs a{min-height:42px;display:inline-flex;align-items:center;padding:10px 18px;line-height:1.4}.tabs a:hover{border-color:var(--edition-accent)}
.empty,[data-theme=dark] .empty{background:var(--edition-surface);border:1px dashed var(--edition-border);border-radius:18px;padding:48px 28px;color:var(--edition-ink)}.empty h2{font-size:25px;line-height:1.3}.empty p{font-size:14px;line-height:1.8;color:var(--edition-muted);max-width:480px;margin:12px auto 24px}.empty-symbol{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;background:var(--edition-soft);color:var(--edition-accent);border-radius:20px}.empty-symbol .icon{width:28px;height:28px}
.track-action,[data-theme=dark] .track-action{color:var(--edition-ink);border-color:var(--edition-border);min-height:48px;border-radius:6px;padding:12px 10px}.track-action:hover:not(:disabled),[data-theme=dark] .track-action:hover:not(:disabled){background:var(--edition-soft);color:var(--edition-accent)}
dialog:not(#fullscreen-player){box-shadow:0 28px 100px #0005;overscroll-behavior:contain}dialog::backdrop{background:#080c10a8;backdrop-filter:blur(8px)}.track-actions-dialog h2{overflow-wrap:anywhere}.close-dialog{min-width:44px;min-height:44px}
.queue-summary,[data-theme=dark] .queue-summary,.queue-track small,[data-theme=dark] .queue-track small{color:var(--edition-muted)}.queue-track,[data-theme=dark] .queue-track{color:var(--edition-ink)}.queue-entry,[data-theme=dark] .queue-entry{border-color:var(--edition-border)}.queue-entry.active .queue-track,[data-theme=dark] .queue-entry.active .queue-track{color:var(--edition-accent)}.queue-actions .icon-button{min-width:34px;min-height:40px}.queue-track strong{font-size:13px}.queue-track small{font-size:11px}
.search-suggestions{min-width:0;overscroll-behavior:contain}.search-field{min-width:0}.search-suggestions a{min-height:48px}
.admin-page-heading h1{font-size:clamp(30px,3vw,44px)}.admin-page-heading>span{font-size:14px;line-height:1.75}.admin-main .stat{border-top:2px solid color-mix(in srgb,var(--edition-accent) 45%,var(--edition-border))}.admin-actions-grid .admin-action{min-height:135px;justify-content:space-between}.admin-rail nav a{min-height:44px;font-size:13px}.admin-rail nav a[aria-current=page]{box-shadow:inset 3px 0 var(--edition-accent)}
.admin-editor>summary{min-height:82px}.admin-editor>summary:hover{background:var(--edition-soft)}.admin-editor-body{gap:24px}.admin-editor-body .request-row{border:1px solid var(--edition-border);padding:18px;border-radius:10px;background:var(--edition-raised)}.admin-editor-body .request-row label{line-height:1.65}.admin-editor small{font-size:12px}.admin-edit-label{white-space:nowrap}.admin-editor-body textarea{min-height:100px;resize:vertical}
.admin-main .admin-track-editor{border:1px solid var(--edition-border);padding:22px;background:var(--edition-surface);border-radius:14px;margin:18px 0}.admin-track-editor input:not([type=checkbox]),.admin-track-editor textarea{width:100%;min-width:0;background:var(--edition-raised);color:var(--edition-ink);border:1px solid var(--edition-border);border-radius:8px;padding:10px}.admin-track-editor textarea{min-height:100px;resize:vertical}.admin-track-editor .request-row{min-width:0}.admin-main .release-search{max-width:none}
form[data-feature-form=user-search],form[data-feature-form=stats-year]{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:24px 0}form[data-feature-form=user-search] label{flex:1}form[data-feature-form=user-search] input,form[data-feature-form=stats-year] input{display:block;min-height:44px;margin-top:8px;padding:10px 12px;border-radius:8px;border:1px solid var(--edition-border);background:var(--edition-surface);color:var(--edition-ink);width:100%}form[data-feature-form=stats-year] input{width:130px}
.stat-grid{gap:16px}.stat{padding:24px}.stat strong{font-variant-numeric:tabular-nums}.inline-actions{gap:10px;align-items:center;flex-wrap:wrap;margin:24px 0}.search-pagination{padding:24px 0}
.music-card{min-width:0}.music-card h3{line-height:1.45}.artist-card{min-height:90px}.artist-card img{flex-shrink:0}.detail-hero h1{line-height:1.15;overflow-wrap:anywhere}.detail-hero>div{min-width:0}.detail-hero p{line-height:1.8;overflow-wrap:anywhere}
#toast{max-width:min(480px,calc(100vw - 32px));overflow-wrap:anywhere;line-height:1.6;font-size:13px;border:1px solid var(--edition-border);background:var(--edition-ink);color:var(--edition-surface);border-radius:12px}
@media(min-width:1100px){.stat-grid:has(>.stat:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.admin-main>.form-card{padding:32px}.admin-workspace{padding-top:8px}}
@media(max-width:900px){.admin-main .admin-track-editor{grid-template-columns:64px minmax(0,1fr)}.admin-main .admin-track-editor>form,.admin-main .admin-track-editor>.button{grid-column:1/-1}.admin-track-editor>img{width:64px;height:64px}.admin-rail{position:static}.admin-rail nav{scroll-snap-type:x proximity;scroll-padding:8px}.admin-rail nav a{scroll-snap-align:start}}
@media(max-width:760px){
 html{scroll-padding-bottom:200px}.page-intro{padding:22px 0 20px}.page-intro .lead{font-size:14px}.page-title{font-size:32px}.form-card,[data-theme=dark] .form-card{padding:22px 18px}.form-card h2{font-size:22px}
 .form-card input:not([type=checkbox]):not([type=range]):not([type=file]),.form-card textarea,.form-card select,.admin-editor-body input:not([type=checkbox]),.admin-editor-body textarea,.admin-editor-body select{font-size:16px}
 .admin-grid,.account-security{gap:18px}.tabs{gap:6px}.tabs a{padding:10px 15px}.empty,[data-theme=dark] .empty{padding:32px 20px}.empty h2{font-size:23px}
 .global-search .search-suggestions{position:fixed;top:70px;left:16px;right:16px;width:auto;max-height:60dvh}.search-suggestions{max-width:calc(100vw - 40px)}
 .admin-editor>summary{gap:10px;padding:12px}.admin-editor strong{font-size:14px}.admin-edit-label{font-size:10px}.admin-editor-body{padding:14px;gap:14px;grid-template-columns:minmax(0,1fr)}.admin-editor-body .request-row{padding:14px}.admin-main .admin-track-editor{padding:16px}.admin-page-heading{padding-bottom:22px}.admin-main .stat{padding:18px}.admin-main .stat strong{font-size:30px}.admin-actions-grid .admin-action{min-height:125px;padding:20px}
 .queue-actions .icon-button{min-width:32px;min-height:44px}.queue-panel{padding:18px}.queue-track strong{font-size:12px}.queue-track small{font-size:10px}.detail-hero{gap:20px}.detail-hero h1{font-size:30px}.stat{padding:20px}.stat-grid{gap:12px}
 #toast{bottom:154px}.artist-card{gap:10px}.artist-card h3{font-size:13px}.artist-card p{font-size:11px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.password-field{display:block;position:relative}.password-field input{padding-right:56px!important}.password-visibility{position:absolute;right:2px;bottom:2px;width:44px;height:42px;border-radius:8px;background:transparent;color:var(--edition-muted);display:grid;place-items:center}.password-visibility:hover,.password-visibility[aria-pressed=true]{color:var(--edition-accent);background:var(--edition-soft)}.password-visibility .icon{width:20px;height:20px}
body:has(#main[aria-busy=true])::after{content:'';position:fixed;left:0;right:0;top:0;height:3px;z-index:90;background:linear-gradient(90deg,transparent,var(--edition-accent),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:page-progress 1.2s ease-in-out infinite}
@keyframes page-progress{from{background-position:-100% 0}to{background-position:200% 0}}
#main[inert]{cursor:progress}

#playlist-dialog{width:min(460px,calc(100vw - 32px));padding:32px;background:var(--edition-surface);color:var(--edition-ink);border:1px solid var(--edition-border);border-radius:18px}#playlist-form h2{font-size:28px;line-height:1.2;margin:18px 0 24px}#playlist-form label{display:block;font-size:13px;color:var(--edition-muted)}#playlist-form input{width:100%;margin:10px 0 24px;min-height:46px;padding:12px;border:1px solid var(--edition-border);background:var(--edition-raised);color:var(--edition-ink);border-radius:9px}#playlist-dialog .close-dialog{color:var(--edition-muted);background:transparent}
@media(max-width:760px){#playlist-dialog{padding:28px 20px}#playlist-form input{font-size:16px}}

.detail-hero p,.detail-hero p a{color:var(--edition-muted)}.detail-hero p a:hover{color:var(--edition-accent)}
@media(max-width:360px){.admin-actions-grid{grid-template-columns:minmax(0,1fr)}.admin-editor>summary{flex-wrap:wrap}.admin-editor>summary>span:nth-child(2){min-width:80px}.admin-edit-label{margin-left:auto}.queue-actions{gap:0}.queue-actions .icon-button{min-width:28px}.queue-track>img{width:32px;height:32px}.queue-track{gap:7px}}
