/* Six complete palettes; the official mark retains its original navy/gold colours. */
:root{--surface:#10283f;--soft:#19344c;--accent-ink:#122033;--error:#ffc6bc;--shadow:0 8px 28px #00000012;--player-height:0px}
:root[data-theme=ivory]{color-scheme:light;--navy:#f8f5ee;--panel:#fffdf8;--panel-light:#efe9dd;--surface:#fffdf8;--soft:#eee8dc;--ivory:#292a25;--muted:#626256;--gold:#72511e;--accent-ink:#fffdf8;--line:#c7c0b2;--error:#a62c27}
:root[data-theme=sage]{color-scheme:light;--navy:#edf3ed;--panel:#fafff9;--panel-light:#dce8de;--surface:#fafff9;--soft:#dce8de;--ivory:#20382a;--muted:#506255;--gold:#2c6844;--accent-ink:#ffffff;--line:#b2c4b5;--error:#a12626}
:root[data-theme=sky]{color-scheme:light;--navy:#edf4fb;--panel:#ffffff;--panel-light:#dceaf6;--surface:#ffffff;--soft:#dceaf6;--ivory:#18334e;--muted:#4b6278;--gold:#245e94;--accent-ink:#ffffff;--line:#b2c7da;--error:#aa2828}
:root[data-theme=plum]{color-scheme:dark;--navy:#211c2b;--panel:#2c2638;--panel-light:#3b3149;--surface:#2c2638;--soft:#3b3149;--ivory:#fcf2fa;--muted:#cab9cc;--gold:#edb6d2;--accent-ink:#302032;--line:#64546c;--error:#ffb9ad}
:root[data-theme=contrast]{color-scheme:dark;--navy:#000000;--panel:#0b0b0b;--panel-light:#1c1c1c;--surface:#0b0b0b;--soft:#1c1c1c;--ivory:#ffffff;--muted:#ededed;--gold:#ffe600;--accent-ink:#000000;--line:#a8a8a8;--error:#ffb9ad;--shadow:none}
body{background:var(--navy);color:var(--ivory)}
.site-header{border-color:var(--line);--gold:#e8c47f;--ivory:#f6f1e7;color:#f6f1e7;min-height:108px;padding-top:6px;padding-bottom:6px}.site-header .language-switch{margin-left:auto}.language-switch{background:var(--soft);border-color:var(--line)}.site-header .language-switch{background:#071b31;border-color:#e8c47f90}.language-switch button[aria-pressed=true]{color:var(--accent-ink);background:var(--gold)}.site-header .language-switch button[aria-pressed=true]{color:#102034}
.app-shell{max-width:1160px;position:relative;padding:0 28px}.library-menu{display:flex;justify-content:flex-end;padding-top:22px;position:relative;z-index:15}.library-menu details{position:relative}.library-menu summary,.library-tools summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:14px;font-size:14px;border-radius:10px}.library-menu summary{padding:0 17px;border:1px solid var(--line);background:var(--panel)}summary::-webkit-details-marker{display:none}summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.menu-panel{position:absolute;right:0;top:calc(100% + 8px);width:270px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 36px #0003;display:grid;gap:6px}.menu-panel .main-nav{display:grid;width:100%;padding:0 0 12px;gap:4px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}.menu-panel button{width:100%;text-align:left;padding:10px 12px;justify-content:flex-start;font-size:14px;border-radius:8px;color:var(--ivory)}.menu-panel .main-nav button[aria-current=page]{background:var(--soft);color:var(--gold)}.menu-panel .account-button{margin:0;border:0!important;padding:10px 12px!important}.menu-panel #save-status{padding:12px;font-size:11px}.menu-panel button:hover{background:var(--soft)}
main{padding:0!important}.collection-top{margin:8px 0 28px;align-items:center;padding-right:0}.collection-top h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(34px,4vw,48px);letter-spacing:-1px;margin:0 0 10px}.collection-top p:last-child{font-size:15px;line-height:1.5}.play-all{border-radius:30px;min-height:48px;padding:13px 24px;white-space:nowrap}.library-tools{margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:8px}.library-tools summary{width:max-content;color:var(--muted);padding:0 4px;gap:20px}.library-tools[open] summary>span{transform:rotate(45deg)}.tools-content{padding:12px 0 4px}.tools-content>.outline{margin-bottom:2px}.toolbar{margin:14px 0}.filters{margin-bottom:10px;flex-wrap:wrap;overflow:visible}.tile-grid{gap:18px}.bani-tile{background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:16px;padding:26px 24px;transition:transform .18s,border-color .18s}.bani-tile:hover{border-color:var(--gold);transform:translateY(-2px)}.tile-top{display:none}.bani-tile h3{font-size:26px;line-height:1.3;min-height:0;margin-bottom:12px}.bani-tile p{font-size:13px}.tile-actions{margin-top:24px;gap:12px}.tile-actions .text-button{font-size:13px}.tile-play{width:46px;height:46px;min-height:46px;background:var(--soft);border-color:var(--line)}.tile-play:hover,.play-button{background:var(--gold);color:var(--accent-ink)}.page-footer{color:var(--muted);margin-top:24px;gap:16px}.page-footer .text-button{font-size:12px}.page-footer>span{margin-right:auto}.primary{background:var(--gold);color:var(--accent-ink)}.primary:hover{background:var(--gold);filter:brightness(1.08)}.outline,.chip{border-color:var(--line)}.chip[aria-pressed=true],.recording-row.selected{border-color:var(--gold)}.chip[aria-pressed=true],.notice{background:var(--soft)}.quiet:hover,.outline:hover{background:var(--soft)}input::placeholder{color:var(--muted)}.search-wrap,.field input:not([type=checkbox]),.field select{background:var(--navy);border-color:var(--line);color:var(--ivory)}label.field{color:var(--ivory)}.period,.tile-number{color:var(--muted)}.player,.player.focus{background:var(--panel);border-color:var(--line)}.player-mark{background:var(--soft);border-color:var(--line)}.player.minimised .video-shell:not([hidden]),.player.minimised .provider-shell:not([hidden]){background:var(--panel)}dialog{background:var(--panel);border-color:var(--line)}.form-error,.danger{color:var(--error)!important}.source-card,.recording-finder,.finder-header,.finder-body,.upload-choice{background:var(--surface);border-color:var(--line)}.source-card:hover,.upload-choice:hover{background:var(--soft)}.source-card>span:last-child,.finder-fallback{color:var(--muted)}.notice{border-color:var(--gold)}.empty{border-color:var(--line)}.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.theme-option{position:relative;min-width:0;text-align:left;padding:12px;border:1px solid var(--line);border-radius:12px;font-size:14px;font-weight:600;background:var(--surface)}.theme-option[aria-pressed=true]{outline:2px solid var(--gold);outline-offset:2px}.theme-check{display:none;float:right;color:var(--gold)}.theme-option[aria-pressed=true] .theme-check{display:inline}.theme-swatch{display:flex;height:62px;border-radius:7px;margin-bottom:12px;padding:12px;gap:6px;align-items:flex-end;background:var(--sw-bg)}.theme-swatch i{display:block;background:var(--sw-panel);height:30px;flex:1;border:1px solid var(--sw-line);border-radius:4px}.theme-swatch i:last-child{background:var(--sw-accent);height:22px;flex:.55}.swatch-royal{--sw-bg:#06172a;--sw-panel:#10283f;--sw-line:#263a4e;--sw-accent:#e8c47f}.swatch-ivory{--sw-bg:#f8f5ee;--sw-panel:#fffdf8;--sw-line:#c7c0b2;--sw-accent:#72511e}.swatch-sage{--sw-bg:#edf3ed;--sw-panel:#fafff9;--sw-line:#b2c4b5;--sw-accent:#2c6844}.swatch-sky{--sw-bg:#edf4fb;--sw-panel:#ffffff;--sw-line:#b2c7da;--sw-accent:#245e94}.swatch-plum{--sw-bg:#211c2b;--sw-panel:#2c2638;--sw-line:#64546c;--sw-accent:#edb6d2}.swatch-contrast{--sw-bg:#000;--sw-panel:#0b0b0b;--sw-line:#a8a8a8;--sw-accent:#ffe600}body[data-view=artists] .play-all,body[data-view=playlists] .play-all{display:none}
/* 1.8 seconds total. CSS dismisses even when JavaScript or APIs are unavailable. */
.welcome{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#011332;color:#f6f1e7;pointer-events:none;animation:welcome-dismiss 3s ease both}.welcome-content{text-align:center;width:min(600px,92vw);animation:welcome-arrive .65s cubic-bezier(.2,.7,.2,1) both}.welcome-logo{position:relative;width:360px;max-width:100%;height:128px;overflow:hidden;margin:0 auto 26px}.welcome-logo img{position:absolute;width:400px;max-width:none;height:200px;left:50%;top:-34px;transform:translateX(-50%)}.welcome-title{font:500 clamp(38px,7vw,68px)/1.1 Georgia,serif;letter-spacing:.09em;margin:0}.welcome-title span{display:block;color:#e8c47f;font-size:.62em;font-style:italic;letter-spacing:0;margin-top:14px}.welcome-punjabi{font-family:"Nirmala UI","Kohinoor Gurmukhi","Raavi",sans-serif;font-size:clamp(27px,4vw,38px);line-height:1.5;margin:28px 0 0}.welcome-punjabi span{display:block;font-size:.6em;color:#e8c47f;margin-top:2px}.welcome-content img{animation:welcome-mark .9s ease both}@keyframes welcome-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes welcome-mark{from{opacity:0;filter:brightness(1.35)}to{opacity:1;filter:brightness(1)}}@keyframes welcome-dismiss{0%,77%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}:root[data-skip-welcome=true] .welcome{display:none}
@media(max-width:700px){.site-header{min-height:100px;grid-template-columns:minmax(0,1fr) auto;padding:12px 16px}.site-header .language-switch{grid-row:1;grid-column:2}.app-shell{padding:0 18px}.library-menu{padding-top:16px}.library-menu summary{font-size:13px;min-height:40px;padding:0 13px}.menu-panel{width:min(280px,calc(100vw - 36px))}.collection-top{margin:6px 0 22px;gap:12px}.collection-top h1{font-size:34px}.collection-top p:last-child{font-size:13px;max-width:220px}.play-all{padding:11px 16px;min-height:44px;font-size:12px;gap:7px}.library-tools{margin-bottom:18px}.library-tools summary{font-size:13px}.tile-grid{gap:12px}.bani-tile{padding:20px 15px;border-radius:13px}.bani-tile h3{font-size:23px;min-height:58px;margin-bottom:7px}.bani-tile p{font-size:12px}.tile-actions{margin-top:16px;gap:5px}.tile-actions .text-button{font-size:11px;line-height:1.5;max-width:88px}.tile-play{width:42px;height:42px;min-height:42px;flex-shrink:0}.theme-options{gap:12px}.theme-option{font-size:13px}.theme-swatch{height:54px;padding:8px}.welcome-logo{width:300px;height:110px;margin-bottom:24px}.welcome-logo img{width:340px;height:170px;top:-30px}.welcome-punjabi{margin-top:24px}.page-footer{flex-wrap:wrap}.menu-panel .main-nav button{justify-content:flex-start}html[lang=pa] .collection-top h1{font-size:30px;letter-spacing:0}html[lang=pa] .bani-tile h3{font-size:22px;line-height:1.5}html[lang=pa] .theme-option{font-size:13px}.toolbar{flex-wrap:wrap}.search-wrap{flex-basis:60%}}
@media(max-width:360px){.site-header{padding:10px 12px}.site-header .brand{width:165px}.site-header .brand img{width:186px;height:93px;left:-10px;top:-12px}.site-header .language-switch button{min-width:51px;font-size:12px}.app-shell{padding:0 14px}.collection-top h1{font-size:30px}.play-all{padding:10px 12px}.bani-tile{padding:18px 12px}.bani-tile h3{font-size:21px}.tile-play{width:38px;height:38px;min-height:38px}}
@media(prefers-reduced-motion:reduce){.welcome{display:none}.welcome *{animation:none!important}.bani-tile{transition:none}.bani-tile:hover{transform:none}}

.add-recording-button{border:1px solid var(--line);background:var(--soft);color:var(--gold);border-radius:9px;padding:10px 16px;font-size:13px;min-height:44px}.add-recording-button:hover{border-color:var(--gold)}
@media(max-width:700px){.add-recording-button{width:100%;font-size:12px;padding:10px 7px}.bani-tile .tile-actions{justify-content:flex-start}}
/* Align each card's actions even when Bani names wrap onto two lines. */
.bani-tile{display:flex;flex-direction:column}.bani-tile .tile-actions{margin-top:auto;padding-top:22px}

/* A page outlet sits above the same, uninterrupted media player. */
.library-menu{justify-content:space-between;align-items:center}.library-menu>details{margin-left:auto}.page-back{color:var(--gold);padding:8px 4px;font-size:14px}.page-open .collection-top,.page-open .library-tools,.page-open #collection,.page-open .page-footer{display:none}#dialog{position:relative;inset:auto;width:min(760px,100%);max-height:none;overflow:visible;margin:20px auto 42px;padding:30px;background:var(--surface);box-shadow:var(--shadow);border-color:var(--line)}#dialog-title:focus{outline:none}.dialog-language{display:none}.dialog-head h2{font-size:34px}.focus-open{overflow:hidden}
/* Original, code-drawn night sky: no video, remote artwork, or additional sound. */
.focus-scene,.focus-caption{display:none}.player.focus{--ivory:#f6f1e7;--muted:#b9c6d9;--gold:#e8c47f;--accent-ink:#122033;--soft:#192a41;--panel:#0b172d;--line:#43516a;isolation:isolate;background:#071022;color:var(--ivory);padding:36px 28px;padding-top:max(36px,env(safe-area-inset-top));min-height:100dvh;justify-content:safe center}.player.focus>.focus-scene{display:block;position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:linear-gradient(#060c1b,#121a35 62%,#282740)}.focus-scene>div{position:absolute;pointer-events:none;animation-play-state:paused!important}.focus .focus-scene>div{animation-play-state:running!important}.focus.still-sky .focus-scene>div,.focus.scene-hidden .focus-scene>div{animation-play-state:paused!important}.sky-glow{width:140%;height:100%;left:-20%;top:-15%;background:radial-gradient(ellipse at 40% 40%,#5a438a55,transparent 44%),radial-gradient(ellipse at 70% 55%,#244e6766,transparent 45%);animation:sky-breathe 28s ease-in-out infinite alternate}.sky-stars{inset:-8%;background-repeat:repeat;transform:translate3d(0,0,0)}.stars-near{background-image:radial-gradient(1.2px 1.2px at 23px 48px,#f7e6b9bb 80%,transparent),radial-gradient(1px 1px at 133px 128px,#e2eaffaa 80%,transparent),radial-gradient(1px 1px at 217px 70px,#e2eaff88 80%,transparent);background-size:277px 237px;animation:sky-drift 100s linear infinite alternate}.stars-far{background-image:radial-gradient(1px 1px at 50px 90px,#c8d9ef70 70%,transparent),radial-gradient(1px 1px at 180px 220px,#fff7de66 70%,transparent);background-size:319px 293px;opacity:.5;animation:sky-drift 160s linear infinite alternate-reverse}.sky-orbit{width:min(74vw,800px);aspect-ratio:1;border:1px solid #e8c47f26;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-24deg) scaleY(.68);box-shadow:0 0 70px #b8946010,inset 0 0 70px #b8946010}.sky-orbit:after{content:'';position:absolute;width:5px;height:5px;background:#ead2a4;border-radius:50%;left:14%;top:14%;box-shadow:0 0 18px #efd5a899}.sky-horizon{left:-20%;right:-20%;height:42%;bottom:-25%;border-radius:50% 50% 0 0;border-top:1px solid #ddbd7855;background:#080f22;box-shadow:0 -16px 90px #b99b6520;animation:sky-horizon 32s ease-in-out infinite alternate}.focus .focus-caption{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:11px;letter-spacing:1.5px;margin-bottom:clamp(12px,4vh,44px)}.focus-caption .quiet{font-size:11px;letter-spacing:0;border:1px solid #8e9eb555;border-radius:24px;padding:8px 14px;min-height:40px;background:#0b142caa}.focus .player-top,.focus .playback{padding:18px 22px;background:#081225e8;border:1px solid #8e9eb533;border-radius:18px}.focus .player-top{max-width:760px}.focus .playback{width:min(620px,100%)}.focus .player-extra{display:flex}.focus .player-mark{background:#172239}.focus .player-message{background:#081225dd;border-radius:8px;padding:8px 12px}.focus .player-message:empty{display:none}.focus .play-button{color:#122033}.focus .video-shell,.focus .provider-shell{flex-shrink:0}.focus .now-text{flex:1}.focus .now-text strong{font-size:clamp(23px,3vw,32px)}
@keyframes sky-drift{to{transform:translate3d(26px,-34px,0)}}@keyframes sky-breathe{to{transform:translate3d(4%,3%,0) scale(1.06);opacity:.65}}@keyframes sky-horizon{to{transform:translateY(12px);opacity:.7}}
@media(max-width:700px){#dialog{padding:22px 18px;margin-top:14px}.dialog-head h2{font-size:28px}.player.focus{padding:24px 16px;gap:18px}.focus .player-top{padding:18px 14px;gap:9px}.focus .player-mark{width:48px;height:48px;font-size:22px}.focus .now-text{flex-basis:calc(100% - 72px)}.focus .player-top .minimise-button{margin-left:0}.focus .player-top #focus-button{margin-left:auto}.focus .playback{padding:16px}.focus .focus-caption{margin-bottom:8px;font-size:10px;gap:8px}.focus .transport{gap:18px}}
@media(prefers-reduced-motion:reduce){.focus-scene>div{animation:none!important}}


/* Approved centred Bani interface, 29 September 2026. */
.site-header{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:8px 18px 20px;height:auto;min-height:0}
.brand-group{display:flex;flex-direction:column;align-items:center;gap:0}
.site-header .brand{width:280px;height:90px;position:relative;overflow:hidden}
.site-header .brand img{width:300px;height:150px;position:absolute;top:-25px;left:-10px}
.brand-slogan{color:#e8c47f;font-size:14px;letter-spacing:1.8px;line-height:1.4;margin:-4px 0 0;text-align:center}
.header-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.site-header .language-switch{margin:0;grid-area:auto}
.header-settings{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#f6f1e7;background:#071b31;border:1px solid #e8c47f90;border-radius:10px;padding:10px 16px;min-height:48px;font-size:14px}
.header-settings[aria-pressed=true]{background:#e8c47f;color:#122033}
.primary-nav{display:flex;justify-content:center;gap:32px;padding:0 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.primary-nav button{color:var(--muted);font-size:14px;min-height:52px;padding:12px 3px;border:0;border-bottom:2px solid transparent;background:transparent}
.primary-nav button[aria-current=page]{border-bottom-color:var(--gold);color:var(--gold)}
.library-menu{justify-content:center;padding-top:10px;min-height:10px}
.collection-top{flex-direction:column;text-align:center;gap:18px;margin:24px 0 26px}
.collection-top p:last-child{max-width:none}
.library-tools summary{margin:auto}
.tools-content{text-align:center}
.toolbar,.filters{justify-content:center}
#collection.disc-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;max-width:850px;margin:26px auto}
.page-open #collection.disc-grid{display:none}
.bani-disc{width:calc((100% - 72px)/4);max-width:180px;aspect-ratio:1;position:relative}
.bani-disc-button{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px 20px;border-radius:50%;border:1px solid var(--line);color:var(--ivory);background:radial-gradient(ellipse at 35% 20%,var(--soft),var(--surface) 65%);box-shadow:var(--shadow);position:relative}
.bani-disc-button::before{content:'';position:absolute;inset:7px;border-radius:50%;border:1px solid var(--line);pointer-events:none}
.bani-disc-button:hover{border-color:var(--gold);background:var(--soft)}
.bani-disc-name{font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.35;overflow-wrap:anywhere;color:var(--ivory)}
.bani-disc-name [data-user-content]{color:inherit}
h1,h2,h3,.bani-tile h3,.theme-option,.recording-info strong,.source-card strong{color:var(--ivory)}
.outline,.quiet,.icon-button,.chip{color:var(--ivory)}
.text-button{color:var(--gold)}
.primary{color:var(--accent-ink);background:var(--gold)}
button:disabled{opacity:1;color:var(--muted);background:var(--soft);cursor:not-allowed}
.recording-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 12px}
.recording-choices button{min-height:56px;white-space:normal;font-size:14px;line-height:1.5;padding:12px}
.recording-options-note,.recording-choices+.small,.chosen-bani{text-align:center}
.external-search{margin-top:24px;padding-top:14px;border-top:1px solid var(--line)}
.external-search summary{min-height:44px}
.settings-shortcuts,.library-hub{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:20px 0 28px}
.dialog-head{justify-content:center;position:relative;padding:0 40px;text-align:center}
.dialog-head>.icon-button{position:absolute;right:0;top:0}
#dialog-title{line-height:1.35}
#dialog-body>.small{text-align:center}
.about-copy{max-width:590px;margin:auto;text-align:center;line-height:1.8}
.about-copy .primary{margin:12px}
.page-footer{justify-content:center;flex-wrap:wrap;gap:18px;text-align:center}
.page-footer>span{margin-right:0}
.welcome-logo{margin-bottom:0}
.welcome-title{color:#e8c47f;font-size:clamp(26px,5vw,42px);letter-spacing:.02em;margin:0}
.player.focus h1,.player.focus h2,.player.focus h3{color:var(--ivory)}
html[lang=pa] .bani-disc-name{font-family:'Nirmala UI','Kohinoor Gurmukhi','Raavi',sans-serif;font-size:22px;line-height:1.6}
html[lang=pa] .primary-nav button{font-size:16px}
@media(max-width:640px){
 .site-header{display:flex;padding:8px 14px 18px;gap:12px}
 .site-header .brand{width:240px;height:82px}
 .site-header .brand img{width:260px;height:130px;left:-10px;top:-21px}
 .brand-slogan{margin-top:-3px;font-size:13px}
 .header-controls{gap:10px}
 .primary-nav{gap:24px}
 .primary-nav button{min-width:40px}
 #collection.disc-grid{gap:20px 18px;max-width:410px}
 .bani-disc{width:calc((100% - 18px)/2)}
 .bani-disc-name{font-size:22px}
 .collection-top{align-items:center}
 .recording-choices{grid-template-columns:1fr;gap:10px}
 .recording-choices button{min-height:50px}
 .welcome-logo{margin-bottom:0}
 .dialog-head{padding-left:25px;padding-right:25px}
}
@media(max-width:360px){.primary-nav{gap:18px}.bani-disc-name{font-size:19px}.bani-disc-button{padding:22px 16px}.header-settings{padding:9px 12px}}
