:root{color-scheme:dark;--bg:#080a0b;--text:#f7f9f9;--muted:#98a5a6;--accent:#48d8ce;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);min-width:280px;-webkit-font-smoothing:antialiased}
a{-webkit-tap-highlight-color:transparent;color:inherit}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.symbols{position:absolute;width:0;height:0;overflow:hidden}
.app{width:min(100%,760px);margin:0 auto;padding:max(32px,env(safe-area-inset-top)) 28px max(36px,env(safe-area-inset-bottom))}
.brand{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:42px}
.brand-home{display:block;text-decoration:none;border-radius:4px}
.brand-logo{display:block;width:132px;height:auto;aspect-ratio:204/56;overflow:hidden}
.portal-status{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:#1e2025;color:#f4f4f5}
.portal-status svg{width:20px;height:20px}
.app{position:relative;isolation:isolate}
.app::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0 0 auto;height:340px;background:radial-gradient(ellipse at 98% 0%,#48d8ce12,transparent 68%)}
.hero{margin-bottom:38px}
.hero h1{font-size:clamp(2rem,5.1vw,3.4rem);font-weight:750;letter-spacing:-.055em;line-height:1.13;margin:0 0 20px}
.hero-description{color:#999da1;font-size:1rem;line-height:1.45;letter-spacing:-.02em;margin:0 0 23px}
.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#ffe500;color:#211d00;text-decoration:none;min-height:48px;max-width:100%;padding:13px 24px;border-radius:999px;font-size:1rem;font-weight:730;letter-spacing:-.025em;line-height:1.3;transition:background .18s,transform .18s}
.primary-action svg{width:20px;height:20px;flex-shrink:0;stroke-width:2}
.primary-action:active{transform:scale(.98)}
.hero>.primary-action{display:inline-flex;width:fit-content;margin-inline:0}
.categories{scroll-margin-top:22px}
.categories h2{font-size:1.3rem;line-height:1.25;letter-spacing:-.045em;font-weight:700;margin:0 0 19px}
h1{font-size:2rem;letter-spacing:-.045em;line-height:1.15;font-weight:720;margin:0 0 28px;overflow-wrap:anywhere}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.category{aspect-ratio:1;min-height:168px;display:flex;flex-direction:column;justify-content:space-between;padding:27px;border:1px solid transparent;border-radius:18px;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;position:relative;overflow-wrap:anywhere}
.visitor{background:radial-gradient(ellipse at 27% 32%,#f28a00 0%,#dc6800b8 23%,#dc680000 61%),radial-gradient(ellipse at 103% 2%,#b98151 0%,#b9815100 61%),linear-gradient(155deg,#843b10 0%,#883507 43%,#64082f 100%);border-color:#ffffff0a}
.exclusive{background:radial-gradient(ellipse at 111% 108%,#df81ed 0%,#ae61db 19%,#ae61db00 51%),radial-gradient(ellipse at 7% 116%,#3d5be3 0%,#333fae 28%,#333fae00 64%),radial-gradient(ellipse at 108% 1%,#743798 0%,#74379800 51%),linear-gradient(135deg,#191030,#171138 72%,#39225e);border-color:#ffffff0a}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.category-icon{color:#eee8e0;width:45px;height:45px}
.arrow{color:#b8d0d1;width:20px;height:20px;opacity:.72}
.card-label{font-size:1.6rem;font-weight:680;line-height:1.25;letter-spacing:-.035em;padding-top:24px;text-shadow:0 1px 8px #0004}
.category:active{transform:scale(.975)}
a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
h1:focus,h2:focus{outline:none}
.back{display:inline-flex;align-items:center;gap:7px;min-height:44px;margin:0 0 23px -6px;text-decoration:none;color:#b5c3c4;font-size:.95rem}
.back svg{height:19px;width:19px}
#category-title{margin-bottom:10px}
.category-description{font-size:1rem;color:var(--muted);line-height:1.5;margin:0}
.empty{margin-top:32px;border:1px solid #243032;border-radius:18px;min-height:265px;padding:42px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0e1416}
.empty>svg{width:36px;height:36px;color:var(--accent);margin-bottom:22px}
.empty h2{font-size:1.05rem;font-weight:600;line-height:1.45;margin:0 0 8px}
.empty p{max-width:350px;margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}
[hidden]{display:none!important}
@media(hover:hover){.category:hover{transform:translateY(-3px);border-color:#ffffff45}.back:hover{color:var(--text)}.primary-action:hover{background:#ffed42}}
@media(min-width:900px){.app{padding-top:40px}.brand{margin-bottom:48px}.hero{margin-bottom:38px}.grid{gap:20px}.category{padding:32px}.category-icon{width:52px;height:52px}.card-label{font-size:1.8rem}.hero-description{font-size:1.15rem}}
@media(max-width:480px){.app{padding:20px 18px max(32px,env(safe-area-inset-bottom))}.brand{margin-bottom:39px}.brand-logo{width:116px}.portal-status{width:35px;height:35px}h1{font-size:1.8rem;margin-bottom:24px}.hero h1{font-size:clamp(1.8rem,8.8vw,2.45rem)}.hero-description{font-size:.95rem}.grid{gap:12px}.category{padding:19px;min-height:154px;border-radius:15px}.category-icon{width:36px;height:36px}.arrow{width:17px;height:17px}.card-label{font-size:1.22rem}}
@media(max-width:340px){.app{padding-left:16px;padding-right:16px}.category{padding:15px;min-height:136px}.card-label{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Composer entry, uploads, and the private listening portal. */
button,input,select{font:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
button:disabled{cursor:default;opacity:.5}
button:focus-visible,input:focus-visible,summary:focus-visible,.feed-body:focus-visible{outline:2px solid #ffe500;outline-offset:4px}
.primary-action{border:0}
.primary-action.full{width:100%}
#header-actions{display:flex;align-items:center;gap:16px}
.header-link{display:flex;align-items:center;gap:7px;font-size:.9rem;text-decoration:none;color:#aab0b4;min-height:44px}
.header-link svg{width:18px;height:18px}
#admin-logout{display:inline-flex;align-items:center;gap:7px}
.access-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:5px;border:1px solid #354045;border-radius:13px;background:#111517}
.access-tabs a{display:flex;align-items:center;justify-content:center;min-height:46px;flex:1 1 140px;padding:10px 12px;border-radius:9px;text-decoration:none;font-size:.95rem;font-weight:600;text-align:center;line-height:1.3;color:#aab4b8}
.access-tabs a[aria-current=page]{background:#ffe500;color:#211d00}
.owner-entry{padding:0 0 24px}
.owner-entry p{color:#a8afb3;font-size:.95rem;margin:0 0 12px}
.card-label{display:block}
.card-count{display:block;color:#ece9e5;font-size:.9rem;margin-top:8px;line-height:1.4}
.eyebrow{display:block;color:#9ca6a8;font-size:.75rem;font-weight:650;letter-spacing:.12em;margin-bottom:10px}
.page-description{color:#a8afb3;font-size:1rem;line-height:1.5;margin:-10px 0 28px}
.form-page{max-width:560px}
.form-panel{background:#111517;border:1px solid #262d30;border-radius:20px;padding:26px;margin:0 0 26px}
.form-panel h2{font-size:1.15rem;line-height:1.4;margin:0 0 22px;letter-spacing:-.025em}
.field{margin-bottom:22px}
.field label{display:block;font-size:.95rem;font-weight:580;margin-bottom:9px}
.field input{width:100%;min-height:50px;border:1px solid #354045;border-radius:11px;background:#090c0e;color:#fff;padding:13px 14px;font-size:1rem;line-height:1.3;outline-offset:2px}
.field input::placeholder{color:#778388;opacity:1}
.field input:focus{border-color:#d4c548}
.field-help,.optional{font-size:.85rem;color:#8f9c9e;font-weight:400}
.field-help{line-height:1.45;margin:8px 0 0}
.privacy-note,.file-hint{color:#919fa4;font-size:.85rem;line-height:1.5;margin:17px 0 0}
.password-input{position:relative}
.password-input input{padding-right:86px}
.password-input .text-button{position:absolute;right:10px;top:4px;font-size:.85rem}
.text-button{border:0;background:none;color:#d1d9dc;padding:8px 4px;min-height:40px;font-size:.9rem;line-height:1.3}
.text-button svg{width:20px;height:20px}
.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#1a2023;border:1px solid #354045;color:#f0f4f5;padding:10px 14px;min-height:44px;border-radius:11px;text-decoration:none;font-size:.9rem;font-weight:580;line-height:1.25}
.secondary-action svg{height:18px;width:18px;flex-shrink:0}
.form-error,.error-message{color:#ffc7c4;font-size:.9rem;line-height:1.5;padding:12px 14px;background:#381d20;border:1px solid #673236;border-radius:10px;margin:12px 0 18px;overflow-wrap:anywhere}
.error-message{margin-bottom:20px}
.muted{color:#97a4a9;font-size:.9rem;line-height:1.45}
.identity-row,.account-info,.feed-author{display:flex;align-items:center;gap:12px}
.identity-row{margin-bottom:30px}
.identity-row>div,.account-info>div,.feed-author>div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.identity-row strong,.account-info h3,.feed-author strong{font-size:1rem;line-height:1.4;overflow-wrap:anywhere}
.person-avatar{display:grid;place-items:center;background:#263134;border:1px solid #39484d;color:#e2eeeb;border-radius:50%;width:43px;height:43px;flex-shrink:0;font-size:.85rem;font-weight:650}
.upload-panel{padding:30px 24px;background:#101517;border:1px dashed #47555b;border-radius:20px;margin-bottom:26px;transition:border-color .2s,background .2s;text-align:center}
.upload-panel.dragging{border-color:#ffe500;background:#252510}
.upload-intro>svg{width:35px;height:35px;color:#ffe500;margin:0 auto 18px}
.upload-intro h2{font-size:1.2rem;letter-spacing:-.025em;margin:0 0 9px}
.upload-intro p{color:#9daaad;font-size:.95rem;margin:0 0 24px}
.file-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.file-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:104px;padding:20px 12px;border:1px solid #3d484c;border-radius:13px;background:#1b2326;color:#fff;font-size:.95rem;font-weight:550}
.file-option svg{width:27px;height:27px;color:#dbe5e7}
.desktop-hint{font-size:.8rem;color:#7e8b90;line-height:1.45;margin:10px 0 0}
.selected-file{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.selected-file>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.selected-file strong{font-size:.9rem;overflow-wrap:anywhere;line-height:1.5}
.selected-file-icon,.own-type{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;background:#253034;color:#d3dee0}
.selected-file-icon svg,.own-type svg{width:23px;height:23px}
.file-preview{display:block;width:100%;max-height:350px;margin:0 0 22px;border-radius:12px;background:#050708}
audio.file-preview{height:54px}
.progress-label{display:flex;justify-content:space-between;gap:12px;color:#d1dadd;font-size:.9rem;margin-bottom:12px}
progress{width:100%;height:10px;border:0;border-radius:20px;overflow:hidden;background:#293237;accent-color:#ffe500}
progress::-webkit-progress-bar{background:#293237}
progress::-webkit-progress-value{background:#ffe500}
progress::-moz-progress-bar{background:#ffe500}
#cancel-upload{display:block;margin:10px auto 0}
.success-panel{background:#142018;border:1px solid #35513c;border-radius:20px;padding:35px 24px;text-align:center;margin-bottom:28px}
.success-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;margin:0 auto 20px;background:#2d4730;color:#d0ef9f}
.success-icon svg{width:29px;height:29px}
.success-panel h2{font-size:1.35rem;margin:0 0 12px;letter-spacing:-.03em}
.success-panel p{font-size:1rem;color:#b0beb1;line-height:1.5;overflow-wrap:anywhere;margin:0 0 24px}
.own-section,.accounts-section{margin-top:32px}
.own-section>h2,.accounts-section>h2{font-size:1.2rem;margin:0 0 18px;letter-spacing:-.03em}
.own-item{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #202b2f}
.own-item>div{min-width:0;flex:1}
.own-item h3{font-size:.95rem;margin:0 0 4px;overflow-wrap:anywhere;line-height:1.4}
.own-item p{font-size:.8rem;color:#93a1a6;margin:0;line-height:1.4}
.inline-link{display:inline-flex;align-items:center;gap:4px;color:#e7d751;font-size:.85rem;min-height:40px;text-decoration:none}
.inline-link svg{width:16px;height:16px}
.empty-inline{padding:20px 0;margin:0}
.loading-state{display:flex;align-items:center;justify-content:center;gap:12px;min-height:120px;font-size:.95rem;color:#a5b2b7}
.spinner{width:20px;height:20px;border:2px solid #384247;border-top-color:#ffe500;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}
.admin-heading h1{margin:0}
.admin-heading+.page-description{margin-top:0}
.admin-heading .secondary-action{flex-shrink:0}
.is-inner .brand{margin-bottom:28px}
.is-feed .app{max-width:660px;padding-top:16px;padding-bottom:14px}
.is-feed .brand{margin-bottom:14px}
.is-feed .brand-logo{width:108px}
.feed-heading{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}
.feed-heading .back{margin:0;font-size:.85rem;min-height:38px}
.feed-heading h1{font-size:1.4rem;margin:0;flex:1}
.feed-heading>.muted{font-size:.8rem}
.feed-body{height:calc(100dvh - 196px);min-height:390px;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y proximity;overscroll-behavior-y:contain;border-radius:20px;scrollbar-width:thin;scrollbar-color:#354146 transparent;display:flex;flex-direction:column;gap:18px}
.feed-card{scroll-snap-align:start;min-height:100%;flex-shrink:0;display:flex;flex-direction:column;padding:20px;background:#111517;border:1px solid #263035;border-radius:20px}
.feed-author{margin-bottom:14px}
.feed-author .person-avatar{width:36px;height:36px;font-size:.75rem}
.feed-author strong{font-size:.9rem}
.feed-item-group{font-size:.75rem;line-height:1.35;color:#e7d598}
.feed-author .muted{font-size:.75rem}
.type-tag,.status-tag{font-size:.75rem;padding:5px 9px;background:#252d31;border-radius:20px;color:#bdcbd0;flex-shrink:0;line-height:1.25}
.feed-title{font-size:1.4rem;line-height:1.25;letter-spacing:-.035em;margin:0 0 16px;overflow-wrap:anywhere}
.audio-art{position:relative;display:grid;place-items:center;min-height:155px;max-height:360px;flex:1;border-radius:16px;margin-bottom:18px}
.audio-art>svg{width:100px;height:100px;color:#fff;opacity:.15;position:absolute;left:18px;top:18px;stroke-width:1.2}
.big-play{width:76px;height:76px;display:grid;place-items:center;background:#ffe500;color:#1b1800;border:0;border-radius:50%;box-shadow:0 10px 25px #0003;position:relative}
.big-play svg{width:34px;height:34px;stroke-width:2.2}
.audio-timeline{margin:0 0 18px}
.seek{width:100%;height:24px;margin:0;accent-color:#ffe500;cursor:pointer}
.time-labels{display:flex;justify-content:space-between;color:#99a8ae;font-size:.8rem;font-variant-numeric:tabular-nums;margin-top:2px}
.video-frame{flex:1;min-height:180px;max-height:440px;display:grid;place-items:center;overflow:hidden;border-radius:14px;background:#030404;margin-bottom:18px}
.video-frame video{width:100%;height:100%;max-height:440px;object-fit:contain}
.feed-footer{display:flex;align-items:flex-start;gap:16px;margin-top:auto;padding-top:12px;border-top:1px solid #283136}
.contact-details{flex:1;min-width:0;font-size:.85rem;line-height:1.45}
.contact-details summary{cursor:pointer;color:#aebdc2;min-height:40px;padding-top:9px}
.contact-details>div{display:flex;flex-direction:column;gap:8px;margin-top:5px;overflow-wrap:anywhere}
.contact-details a{color:#e4db81;text-decoration:none}
.download-link{display:grid;place-items:center;min-width:40px;min-height:40px;color:#c7d2d6;border-radius:8px}
.download-link svg{height:22px;width:22px}
.feed-navigation{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:12px}
.feed-navigation>span{color:#9badb4;font-size:.8rem;font-variant-numeric:tabular-nums}
.feed-empty{margin:0;min-height:100%;padding:32px 20px}
.feed-empty .secondary-action{margin-top:22px}
.credentials-panel{background:#252614;border:1px solid #656332;border-radius:16px;padding:22px;margin-bottom:24px;scroll-margin-top:20px}
.credential-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.credential-heading h2{font-size:1.1rem;margin:8px 0 10px;line-height:1.4;overflow-wrap:anywhere}
.credentials-panel dl{margin:10px 0 20px}
.credentials-panel dl>div{padding:9px 0}
.credentials-panel dt{font-size:.75rem;color:#b4b399;margin-bottom:5px}
.credentials-panel dd{margin:0;font-size:1rem;overflow-wrap:anywhere;user-select:all}
.password-value{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em}
.account-item{padding:18px;border:1px solid #2c373c;background:#111719;border-radius:15px;margin-bottom:12px}
.account-info h3{margin:0}
.account-info p{font-size:.85rem;color:#9eafb7;margin:0;overflow-wrap:anywhere}
.status-tag{color:#c9e0b3;background:#2a3927}
.status-tag.inactive{color:#abb4b9;background:#2c3337}
.account-actions{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #28343a;padding-top:8px;margin-top:15px}
.danger-text{color:#e9a8a5}
.toast{position:fixed;z-index:20;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#edf1e9;color:#151c19;padding:15px 20px;border-radius:13px;max-width:calc(100% - 32px);width:max-content;box-shadow:0 8px 30px #0006;font-size:.95rem;line-height:1.4}
dialog{max-width:440px;width:calc(100% - 32px);background:#172024;color:#f5f6f7;border:1px solid #3c4a51;border-radius:20px;padding:26px;box-shadow:0 20px 80px #0008}
dialog::backdrop{background:#000a;backdrop-filter:blur(3px)}
dialog h2{font-size:1.35rem;margin:0 0 15px;letter-spacing:-.025em}
dialog p{color:#aebdc5;font-size:1rem;line-height:1.55;margin:0 0 24px}
.dialog-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.dialog-actions .primary-action{min-height:44px;padding:11px 18px;border-radius:11px;font-size:.9rem}
@media(hover:hover){.file-option:hover,.secondary-action:hover{background:#263135;border-color:#647277}.text-button:hover,.header-link:hover{color:#fff}.download-link:hover{background:#29353b}}
@media(max-width:480px){.form-panel{padding:21px 18px;border-radius:17px}.upload-panel{padding:27px 18px}.desktop-hint{display:none}.admin-heading{gap:10px}.admin-heading h1{font-size:1.7rem}.admin-heading .secondary-action{font-size:.8rem;padding:10px}.is-feed .app{padding-left:12px;padding-right:12px}.feed-card{padding:16px}.feed-heading{gap:10px}.feed-heading h1{font-size:1.3rem}.feed-navigation .secondary-action{font-size:.85rem;padding:10px 12px}.account-info{gap:9px}.account-info .person-avatar{width:36px;height:36px}.account-item{padding:15px}.account-actions .text-button{font-size:.8rem}.file-option{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}

/* Four independent audition groups, using the existing large cards. */
.audience-group + .audience-group{margin-top:32px}
.audience-group h2{font-size:1.3rem;line-height:1.3;letter-spacing:-.035em;margin:0 0 16px}
.feed-group-label{display:block;font-size:.875rem;line-height:1.4;font-weight:500;letter-spacing:0;color:#a8afb3;margin-bottom:4px}

.hero-description{max-width:560px;line-height:1.6}
.portal-audience{margin-top:28px;padding-top:20px;border-top:1px solid #242a2e;color:#a8afb3;text-align:center;font-size:.875rem;line-height:1.5}

.public-category .card-label{font-size:clamp(1rem,4.1vw,1.5rem);line-height:1.3;letter-spacing:-.025em}
.card-audience{display:block}

/* Visitor and exclusive cards match the main entry card dimensions. */
.categories>.grid,.audience-group>.grid{width:100%;max-width:100%;margin-inline:auto;gap:24px;align-items:start}
.category{width:100%;min-width:0;aspect-ratio:1;min-height:245px;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:25px;border-radius:18px;text-align:center}
.category .card-top{flex-shrink:0;justify-content:center;gap:0}
.category>span:last-child{width:100%}
.category .category-icon{width:40px;height:40px}
.category .arrow{display:none}
.category .card-label{font-size:clamp(1rem,4vw,1.6rem);line-height:1.3;padding-top:0;letter-spacing:-.025em}
.public-category .card-label{font-size:clamp(1rem,4.1vw,1.5rem)}
.category .card-count{font-size:.9rem;line-height:1.3;margin-top:6px}
@media(max-width:480px){.categories>.grid,.audience-group>.grid{gap:20px}.category{gap:12px;padding:17px 14px;min-height:235px}.category .category-icon{width:32px;height:32px}}
@media(max-width:340px){.category{padding:15px 11px;min-height:250px}}

/* Public submission pages: a clear reading flow and centered card content. */
section[aria-labelledby="home-title"] .hero{margin-bottom:32px}
section[aria-labelledby="home-title"] .hero h1{font-weight:650;letter-spacing:-.045em;margin-bottom:18px}
section[aria-labelledby="home-title"] .hero-description{max-width:51ch;color:#a8afb3;letter-spacing:-.01em;line-height:1.65;margin-bottom:24px}
section[aria-labelledby="home-title"] .primary-action{font-weight:650;padding-inline:25px}
section[aria-labelledby="home-title"] .composition-cta{display:flex;gap:8px;width:fit-content;margin-inline:auto;min-height:44px;padding:11px 18px;border:1px solid #f5dc00;border-radius:12px;background:#ffe500;color:#211d00;font-size:.9375rem;font-weight:650;text-align:center;letter-spacing:-.015em;box-shadow:none}
.composition-cta-icon{display:grid;place-items:center;width:18px;height:18px;color:inherit}
.composition-cta-icon svg{width:18px;height:18px}
.composition-cta:focus-visible{outline-color:#ffe500}
@media(hover:hover){section[aria-labelledby="home-title"] .composition-cta:hover{background:#ffed42}}

.public-category{width:90%;justify-self:center;padding:22.5px;gap:16px;border-color:#ffffff18;box-shadow:inset 0 1px 0 #ffffff08}
.public-category .card-top{width:54px;height:54px;border:1px solid #ffffff1a;border-radius:50%;background:#00000025}
.public-category .category-icon{width:29px;height:29px;color:#f4f1ed}
.public-category .card-label{font-weight:650;line-height:1.35}
.public-category .card-audience{font-size:.8em;font-weight:500;letter-spacing:0;color:#f0e9ef;margin-bottom:4px}
section[aria-labelledby="home-title"] .portal-audience{margin-top:32px;border-color:#ffffff12}
@media(max-width:480px){.public-category{padding:15px 12px;gap:14px}.public-category .card-top{width:46px;height:46px}.public-category .category-icon{width:26px;height:26px}}

/* Compact, quiet group selection in the listening portal. */
#admin-categories{width:100%;max-width:396px;margin-inline:auto}
.audience-group + .audience-group{margin-top:26px}
.audience-group h2{text-align:center;font-size:1.1rem;font-weight:600;letter-spacing:-.02em;margin-bottom:14px}
.audience-group>.grid{gap:16px}
.audience-group .category{min-height:0;aspect-ratio:1;padding:18px 12px;gap:10px;border-radius:16px;box-shadow:none}
.audience-group .visitor{background:radial-gradient(ellipse at 20% 18%,#cf6c16cc 0%,#cf6c1600 65%),linear-gradient(150deg,#984820 0%,#a34624 48%,#791839 100%);border-color:#d9956559}
.audience-group .exclusive{background:radial-gradient(ellipse at 95% 8%,#9152b4cc 0%,#9152b400 62%),radial-gradient(ellipse at 5% 100%,#496bd4aa 0%,#496bd400 65%),linear-gradient(145deg,#402161 0%,#402a71 45%,#624497 100%);border-color:#a99ade59}
.audience-group .category-icon{width:30px;height:30px;color:#eee5dd}
.audience-group .exclusive .category-icon{color:#e3ddf0}
.audience-group .card-label{font-size:clamp(1rem,3.9vw,1.15rem);font-weight:600;line-height:1.3;text-shadow:none;color:#f3f1ef}
.audience-group .card-count{font-size:.8rem;line-height:1.4;margin-top:5px;color:#e0d8df}
@media(max-width:480px){.audience-group .category-icon{width:26px;height:26px}}
@media(max-width:340px){.audience-group>.grid{gap:12px}.audience-group .category{padding:10px 8px;gap:8px}.audience-group .card-count{font-size:.75rem}}

/* Listening queue and saved approvals. */
.review-tabs{display:flex;gap:8px;padding:5px;margin:0 0 24px;border:1px solid #354045;border-radius:13px;background:#111517}
.review-tabs a{display:flex;flex:1;min-width:0;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 12px;border-radius:9px;text-decoration:none;color:#aab4b8;font-size:.95rem;font-weight:600;line-height:1.3;text-align:center}
.review-tabs a[aria-current=page]{background:#ffe500;color:#211d00}
.review-tabs svg,.review-actions svg{width:20px;height:20px;flex-shrink:0;stroke-width:2}
.feed-page .review-tabs{margin-bottom:12px}
.feed-page .feed-body{height:calc(100dvh - 264px)}
.review-actions{display:flex;gap:12px;margin:0 0 16px}
.review-actions>button,.review-approved{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;min-height:50px;padding:12px;font-size:1rem;font-weight:650;line-height:1.3}
.review-reject{background:#321d22;border:1px solid #704047;color:#ffc6c6}
.review-approve{background:#c9eba9;border:1px solid #c9eba9;color:#1c3015}
.review-approved{background:#202e23;border:1px solid #3d5742;color:#c9eba9}
.review-actions button:active{transform:scale(.98)}
@media(hover:hover){.review-reject:hover{background:#4b2930}.review-approve:hover{background:#d7f4bc}}
@media(max-width:480px){.review-tabs a{font-size:.85rem;padding:10px 8px;gap:6px}.review-tabs svg{width:16px;height:16px}.review-actions{gap:10px}.review-actions>button,.review-approved{font-size:.95rem}}
@media(max-height:750px){.feed-card .audio-art{min-height:120px}.feed-card .video-frame{min-height:140px}}

/* Shared entry for singers and composers. */
.is-entry .app::before{background:radial-gradient(ellipse at 95% 0%,#6e60172e,transparent 70%)}
.profile-entry .eyebrow{color:#f8da08;font-size:.8rem;font-weight:550}
.profile-entry .hero{margin-bottom:28px}
.profile-entry .hero h1{font-weight:600}
.profiles-title{font-size:1.05rem;font-weight:550;margin:0 0 16px;line-height:1.5}
.profile-grid{gap:24px}
.profile-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:25px;width:100%;min-width:0;aspect-ratio:1;min-height:245px;border:1px solid #ffffff12;border-radius:18px;color:#fff;text-decoration:none;transition:transform .18s,border-color .18s}
.profile-singer{background:radial-gradient(ellipse at 15% 15%,#cb631b 0%,#9e461e 26%,#641e37 67%,#47102c 100%)}
.profile-composer{background:radial-gradient(ellipse at 90% 4%,#773cac 0%,#482267 36%,#292474 70%,#213c98 100%)}
.profile-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#f4f1f1;background:#00000035}
.profile-icon svg{width:26px;height:26px}
.profile-copy{display:block;margin-top:auto;min-width:0;overflow-wrap:anywhere}
.profile-title{display:block;font-size:clamp(1.15rem,4.4vw,1.65rem);font-weight:600;letter-spacing:-.025em;line-height:1.25;margin-bottom:9px}
.profile-description{display:block;color:#f2eaf0;font-size:1rem;line-height:1.5}
.profile-arrow{display:grid;place-items:center;align-self:flex-end;width:32px;height:32px;border-radius:50%;background:#f7f7f8;color:#161619}
.profile-arrow svg{width:19px;height:19px;stroke-width:2}
.profile-card:active{transform:scale(.98)}
@media(hover:hover){.profile-card:hover{border-color:#ffffff70;transform:translateY(-3px)}}
@media(max-width:480px){.profile-grid{gap:20px}.profile-card{padding:17px 14px;min-height:235px}.profile-icon{width:40px;height:40px}}
@media(max-width:340px){.profile-card{padding:15px 11px;min-height:250px}.profile-title{font-size:1.05rem}}

/* Keep entry and audience tiles square instead of imposing tall minimums. */
.category,.profile-card{min-height:0;aspect-ratio:1 / 1}
@media(max-width:480px){
  .profile-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:10px;padding:14px 12px}
  .profile-icon{grid-area:1 / 1;width:32px;height:32px}
  .profile-icon svg{width:22px;height:22px}
  .profile-arrow{grid-area:1 / 2;align-self:center;width:28px;height:28px}
  .profile-copy{grid-area:2 / 1 / 3 / 3;align-self:end;margin-top:0}
  .profile-title{font-size:1.05rem;margin-bottom:4px}
  .profile-description{font-size:.875rem;line-height:1.4}
}
@media(max-width:360px){
  .profile-grid,.categories>.grid,.audience-group>.grid{grid-template-columns:1fr;max-width:280px;margin-inline:auto}
}

/* Fit both listening groups together in a normal portrait phone viewport. */
@media(max-width:600px){
  .is-overview .app{--overview-card:min(170px,calc((100vw - 88px)/2),max(112px,calc((100svh - 400px - env(safe-area-inset-top) - env(safe-area-inset-bottom))/2)));padding: max(12px,env(safe-area-inset-top)) 18px max(12px,env(safe-area-inset-bottom))}
  .is-overview .brand{margin-bottom:16px}
  .is-overview .brand-logo{width:108px}
  .is-overview .admin-heading{margin-bottom:10px;gap:12px}
  .is-overview .admin-heading h1{font-size:1.65rem}
  .is-overview .admin-heading .eyebrow{margin-bottom:5px}
  .is-overview .page-description{font-size:.875rem;line-height:1.4;margin-bottom:12px}
  .is-overview .review-tabs{margin-bottom:14px}
  .is-overview .review-tabs a{min-height:44px;padding:8px}
  .is-overview #admin-categories{width:calc(var(--overview-card)*2 + 16px);max-width:100%}
  .is-overview .audience-group + .audience-group{margin-top:14px}
  .is-overview .audience-group h2{font-size:1rem;margin-bottom:8px}
  .is-overview .audience-group>.grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;gap:16px}
  .is-overview .audience-group .category{padding:10px 8px;gap:8px}
  .is-overview .audience-group .category-icon{width:24px;height:24px}
  .is-overview .audience-group .card-label{font-size:1rem}
}

@media(max-width:360px){.review-tabs svg{display:none}}
