/* SikhNFC DS-001 v02 — approved 8 October 2026; integrated with existing v1 library/runtime. */
:root{color-scheme:dark;--bg:#07182e;--surface:#10263d;--soft:#19344b;--text:#f7f3e9;--muted:#b7c8d8;--accent:#e8c47f;--on-accent:#132237;--line:#627f99;--error:#ffc6bc;--shadow:0 8px 24px #0002;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s12:48px;--r-control:12px;--r-panel:20px;--content:1120px;--reading:760px;--touch:48px;--player-space:0px;--motion:160ms;--font-body:1rem;--font-small:.875rem;--font-title:clamp(2rem,4vw,2.875rem);--leading-body:1.55;--leading-pa:1.7}
:root[data-theme=ivory]{color-scheme:light;--bg:#f8f5ee;--surface:#fffdf8;--soft:#eee8dc;--text:#292a25;--muted:#626256;--accent:#72511e;--on-accent:#fffdf8;--line:#827967;--error:#a62c27}
:root[data-theme=sage]{color-scheme:light;--bg:#edf3ed;--surface:#fafff9;--soft:#dce8de;--text:#20382a;--muted:#506255;--accent:#2c6844;--on-accent:#fff;--line:#6a8270;--error:#a12626}
:root[data-theme=sky]{color-scheme:light;--bg:#edf4fb;--surface:#fff;--soft:#dceaf6;--text:#18334e;--muted:#4b6278;--accent:#245e94;--on-accent:#fff;--line:#627f9b;--error:#aa2828}
:root[data-theme=plum]{color-scheme:dark;--bg:#211c2b;--surface:#2c2638;--soft:#3b3149;--text:#fcf2fa;--muted:#cab9cc;--accent:#edb6d2;--on-accent:#302032;--line:#9b83a4;--error:#ffb9ad}
:root[data-theme=contrast]{color-scheme:dark;--bg:#000;--surface:#0b0b0b;--soft:#1c1c1c;--text:#fff;--muted:#ededed;--accent:#ffe600;--on-accent:#000;--line:#a8a8a8;--error:#ffb9ad;--shadow:none}

/* Existing components consume the reviewed semantic values; no storage or media remount. */
:root[data-theme]{--navy:var(--bg);--panel:var(--surface);--panel-light:var(--soft);--ivory:var(--text);--gold:var(--accent);--accent-ink:var(--on-accent);--text-muted:var(--muted);font-family:system-ui,'Noto Sans Gurmukhi','Nirmala UI',sans-serif}
body{font:400 var(--font-body)/var(--leading-body) system-ui,'Noto Sans Gurmukhi','Nirmala UI',sans-serif;background:var(--bg);color:var(--text);padding-bottom:calc(var(--player-height) + 24px + env(safe-area-inset-bottom))}
html[lang=pa] body{line-height:var(--leading-pa)}
button,input,select{font:inherit}button,input,select,.outline,.quiet,.primary,.chip,.icon-button{min-height:var(--touch);border-radius:var(--r-control)}
button{touch-action:manipulation}button:hover{border-color:var(--accent)}.primary{color:var(--on-accent);font-weight:650;border:1px solid var(--accent);padding:12px 20px}.primary:hover{filter:none}.outline{padding:10px 16px;border:1px solid var(--line);font-size:1rem}.quiet,.text-button,.chip{font-size:1rem}.quiet{padding:10px 16px}.text-button{padding:10px 4px}.small,.field small,#save-status{font-size:var(--font-small)!important;line-height:1.55}.notice{font-size:1rem!important;line-height:1.55;padding:16px;border-left:3px solid var(--accent);border-radius:4px;overflow-wrap:anywhere}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:disabled{opacity:1;cursor:not-allowed;color:var(--muted);background:var(--soft)}.skip{z-index:160}
.site-header{height:auto;min-height:0;display:flex;justify-content:space-between;padding:12px max(20px,calc((100vw - 1120px)/2));gap:24px;background:#061a35;color:#f7f3e9;isolation:isolate;border:0}
.brand-group{align-items:center}.site-header .brand{width:252px;height:91px}.site-header .brand img{width:282px;height:141px;left:-10px;top:-23px;mix-blend-mode:lighten;mask-image:linear-gradient(to right,transparent,#000 6%,#000 96%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 96%,transparent)}
.brand-slogan{font-size:var(--font-small);line-height:1.55;letter-spacing:.09em;margin:-1px 0 0;color:#e8c47f}.header-controls{gap:12px}.site-header .language-switch{background:transparent;padding:0;gap:4px;border:0}.site-header .language-switch button,.header-settings{min-height:48px;padding:10px 16px;border:1px solid #9d895e;border-radius:12px;font-size:1rem;background:#071b31;color:#f7f3e9}.site-header [aria-pressed=true]{background:#e8c47f!important;color:#132237!important}.site-header :focus-visible{outline-color:#e8c47f}.primary-nav{gap:32px;padding:0 16px}.primary-nav button{font-size:1rem;min-height:56px;padding:12px 8px;border-radius:0;border-bottom-width:3px}.primary-nav button[aria-current]{font-weight:650}
.app-shell{max-width:var(--content);padding:0 24px}.library-menu{padding-top:12px;justify-content:flex-start;width:min(760px,100%);margin:auto;min-height:0}.page-back{font-size:1rem;min-height:48px}.library-menu:has(#page-back[hidden]){padding:0;height:0}main{min-height:48vh;padding:0!important}.collection-top{margin:48px auto 32px;gap:20px}.collection-top h1{font:400 var(--font-title)/1.2 Georgia,serif;letter-spacing:-.02em;margin:0 0 12px}.collection-top p:last-child{font-size:1rem;line-height:1.55}.play-all{font-size:1rem;min-height:48px;border-radius:12px}.library-tools summary{font-size:1rem;min-height:48px}.library-tools{margin-bottom:0}.toolbar{gap:16px}.search-wrap input,.sort-label,.sort-label select{font-size:1rem}.sort-label select{max-width:100%}.chip{font-size:.875rem}
#collection.disc-grid{gap:24px;max-width:880px;margin:32px auto 48px}.bani-disc{width:calc((100% - 72px)/4);max-width:188px}.bani-disc-button{border-radius:50%;padding:24px;background:radial-gradient(ellipse at 35% 15%,var(--soft),var(--surface) 75%)}.bani-disc-button:before{opacity:.55}.bani-disc-name{font:400 1.4375rem/1.4 Georgia,serif;overflow-wrap:normal}.bani-disc-button:hover{transform:translateY(-2px)}html[lang=pa] .bani-disc-name{font:400 1.375rem/1.7 'Noto Sans Gurmukhi','Nirmala UI','Kohinoor Gurmukhi',sans-serif}
#dialog{width:min(var(--reading),100%);margin:24px auto 32px;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.dialog-head{padding:0;display:block;margin-bottom:24px}#dialog .dialog-head>.icon-button{display:none}#dialog-title{font:400 var(--font-title)/1.2 Georgia,serif;letter-spacing:-.02em;text-align:center;margin:0}html[lang=pa] #dialog-title,html[lang=pa] .collection-top h1{font-family:'Noto Sans Gurmukhi','Nirmala UI','Kohinoor Gurmukhi',sans-serif;font-size:var(--font-title);line-height:1.6;letter-spacing:0}#dialog-body>p.recording-intro{text-align:center;margin:12px 0 24px}#dialog-body p{font-size:1rem;line-height:1.55}#dialog-body h2{font-size:1.375rem;line-height:1.35}#dialog-body h3{font:600 1.125rem/1.4 system-ui,sans-serif}#dialog-body>.small{text-align:left}
.recording-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 12px}.recording-choices button{min-height:136px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;gap:16px;padding:20px;font-size:1rem;line-height:1.4}.recording-choices button strong{font-size:1rem;color:inherit}.recording-choices button>span{font-size:.875rem;font-weight:400;color:inherit}.catalogue-note{margin:16px 0}.catalogue-note summary{min-height:44px;cursor:pointer;padding:8px 0;font-size:.875rem;color:var(--muted)}.catalogue-note p{margin:8px 0}.section-label{margin:32px 0 16px;font-weight:600}.recording-row{display:flex;flex-wrap:wrap;gap:16px;padding:20px;border-radius:16px;background:var(--surface);margin:12px 0}.recording-info{min-width:0!important;flex:1 1 240px}.recording-info strong{font:650 1rem/1.55 system-ui,sans-serif}.recording-info strong span{display:contents;font:inherit;color:inherit}.recording-info>span{font-size:.875rem;line-height:1.55}.recording-info .recording-badge{display:inline-flex;font-size:.75rem;padding:3px 9px;margin:0 0 8px;border:1px solid var(--line);border-radius:99px;color:var(--text)}.recording-actions{display:flex;align-items:center;gap:8px}.tile-play{width:48px;height:48px;min-height:48px;border-radius:50%;flex-shrink:0}.recording-actions .quiet{font-size:.875rem}.dialog-actions{gap:12px;margin-top:24px;align-items:center}
form{gap:24px}.field{font-size:1rem!important;gap:8px}.field input:not([type=checkbox]),.field select{min-height:48px;border-radius:12px;font-size:1rem;padding:12px 16px;background:var(--surface);border-color:var(--line)}.field small{line-height:1.6}.check-row{font-size:1rem;min-height:48px;align-items:center}.check-row input{width:22px;height:22px;min-height:22px;accent-color:var(--accent)}.form-error{font-size:1rem!important;line-height:1.55}.form-error:empty{display:none}.paste-row{gap:12px;align-items:center}.paste-row input{flex:1;min-width:0}.recording-details summary{min-height:48px;cursor:pointer}.appearance-inline,#settings-form,#source-form,#tile-form,#playlist-form{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:24px}.appearance-inline .theme-options{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.theme-options{gap:12px}.theme-option{font-size:.875rem;min-height:100px;padding:12px;border-radius:12px}.theme-swatch{height:40px}.settings-shortcuts{justify-content:flex-start}.about-copy{max-width:640px;text-align:left;line-height:1.55}.about-copy>h3{text-align:center}.about-copy>p{margin:20px 0}.help-item{border-bottom:1px solid var(--line);padding:8px 0}.help-item summary{font-weight:600;min-height:56px;cursor:pointer;display:flex;align-items:center;gap:12px}.help-item summary:after{content:'+';margin-left:auto}.help-item[open] summary:after{content:'−'}.help-item p{padding:4px 0 16px}.page-footer,.page-open .page-footer{display:flex;justify-content:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:48px;padding:24px 0;gap:16px;color:var(--muted);font-size:.875rem}.page-footer .text-button{font-size:.875rem}.page-footer>span{margin:0}
.player{background:var(--surface);backdrop-filter:none;z-index:40;border-color:var(--line);box-shadow:0 -4px 28px #0002}.player:not(.focus),.player:not(.focus):not(.has-video):not(.has-provider):not(.minimised){display:flex;flex-direction:column;gap:12px;padding:16px max(20px,calc((100vw - 1120px)/2)) max(16px,env(safe-area-inset-bottom))}.player-top{width:100%;gap:16px;max-width:1120px;margin:auto}.player-mark{display:none}.now-text{flex:1!important;min-width:0}.player:not(.focus) .now-text strong{font:650 1rem/1.55 system-ui,sans-serif;white-space:normal;overflow-wrap:anywhere}.now-text .eyebrow{font-size:.75rem}#now-artist{font-size:.875rem}.player .quiet,#focus-button,.player-top #focus-button,.player-top .minimise-button{font-size:.875rem;min-height:48px}.has-video #focus-button::after{content:none}.playback{width:min(760px,100%);display:flex;flex-direction:column;gap:12px}.transport,.minimised.has-video .transport{flex-direction:row;gap:12px}.transport .icon-button{min-width:48px;font-size:1rem}.play-button{min-width:52px;min-height:52px;width:52px;height:52px;font-size:1.25rem}.timeline,.has-video .timeline{display:flex;width:100%;font-size:.875rem;gap:12px;margin:0}.timeline input{min-width:0;min-height:32px;height:32px}.player-extra{display:flex;justify-content:center}.player .video-shell:not([hidden]),.player.minimised .video-shell:not([hidden]){position:static;grid-area:auto;width:min(600px,100%);height:auto;min-height:200px;aspect-ratio:16/9;margin:0 auto;box-shadow:none;border-radius:12px;max-width:100%}.player .provider-shell:not([hidden]),.player.minimised .provider-shell:not([hidden]){position:static;grid-area:auto;width:min(600px,100%);height:auto;max-height:none;margin:0 auto;box-shadow:none;border-radius:12px;max-width:100%}.provider-shell iframe{display:block;border:0}.player.minimised .playback{width:auto;position:static;display:flex}.player.minimised .timeline,.player.minimised .player-extra,.player.minimised .repeat-button,.player.minimised .transport>.icon-button{display:none}.player .player-message{font-size:.875rem;line-height:1.55;color:var(--text);max-width:760px}.player-recovery{display:flex;justify-content:center;gap:12px}.player-recovery button{min-height:44px;font-size:.875rem}.player.minimised .player-recovery{display:none}.player.minimised:has(.player-message:not(:empty)) .player-recovery{display:flex}.player.focus{--ivory:var(--text);--muted:var(--text-muted);--gold:var(--accent);background:radial-gradient(ellipse at 50% 15%,var(--soft),var(--bg) 65%);justify-content:flex-start;padding:48px 24px;gap:24px}.player.focus .focus-caption{position:static;max-width:760px;width:100%;color:var(--muted)}.player.focus .player-top{width:min(760px,100%)}.player.focus .video-shell{height:auto;min-height:200px}.player.focus .player-top .now-text strong{font-size:1.375rem}.player.focus .player-recovery{z-index:1}#toast{background:var(--surface);color:var(--text);border:1px solid var(--accent);padding:16px 20px;line-height:1.55;font-size:.875rem;border-radius:12px;overflow-wrap:anywhere}
.welcome{background:#061a35;isolation:isolate;z-index:150}.welcome-content{width:min(600px,92vw);animation:none}.welcome-logo{position:static;width:min(560px,90vw);height:auto;max-width:100%;overflow:visible;margin:0 auto}.welcome-logo img{position:static;width:100%;height:auto;max-width:100%;transform:none;filter:none;mix-blend-mode:lighten;animation:v02-logo-arrive 500ms ease both;mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 96%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 18%,#000 84%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 96%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 18%,#000 84%,transparent 100%);-webkit-mask-composite:source-in}.welcome-title{font:400 clamp(24px,5vw,38px)/1.3 system-ui,sans-serif;letter-spacing:.02em;margin-top:-16px;color:#e8c47f}.welcome-skip{pointer-events:auto;background:#061a35;color:#e8c47f;border:1px solid #e8c47f;border-radius:12px;padding:10px 16px;margin-top:16px;min-height:48px}
@keyframes v02-logo-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:700px){.site-header{flex-direction:column;gap:16px;padding:12px 16px 20px}.header-controls{justify-content:center;flex-wrap:wrap}.site-header .language-switch button,.header-settings{font-size:.875rem;padding:10px 12px}.primary-nav{gap:12px}.primary-nav button,html[lang=pa] .primary-nav button{font-size:1rem;min-width:44px}.app-shell{padding:0 16px}.collection-top{margin-top:32px}.collection-top h1{font-size:var(--font-title)}#collection.disc-grid{max-width:440px;gap:20px 16px;margin:28px auto 40px}.bani-disc{width:calc((100% - 16px)/2);max-width:188px}.bani-disc-button{padding:22px 16px}.bani-disc-name{font-size:1.25rem}.recording-choices{grid-template-columns:1fr;gap:12px}.recording-choices button{min-height:100px;padding:16px;gap:12px}.recording-info{flex-basis:100%}.recording-actions{width:100%;justify-content:flex-end}.appearance-inline .theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}#dialog{margin-top:16px}.appearance-inline,#source-form,#settings-form,#tile-form,#playlist-form{padding:20px}.player:not(.focus){max-height:75dvh;overflow:auto;padding:12px 16px max(12px,env(safe-area-inset-bottom))}.player-top{flex-wrap:wrap;gap:8px}.player-top .now-text{flex-basis:100%!important}.player .video-shell:not([hidden]),.player.minimised .video-shell:not([hidden]){height:200px;aspect-ratio:auto;width:min(356px,100%)}.player .minimise-button{margin-left:0}.player.minimised .playback{width:100%}.player .player-message{max-height:4.8em;overflow:auto}.player.focus{padding:24px 16px}.paste-row{flex-wrap:wrap}.paste-row input{flex-basis:100%}.page-footer{gap:12px}.welcome-title{margin-top:-12px}}
@media(prefers-reduced-motion:reduce){.welcome{display:none!important}.welcome *{animation:none!important}.bani-disc-button:hover{transform:none}}
/* Keep the reviewed named Focus action reachable in compact mode. */
.player.minimised #focus-button{display:inline-flex!important;align-items:center;justify-content:center}.skip{top:0;transform:translateY(-200%)}.skip:focus{top:12px;transform:none}

#theme-dialog .dialog-head{position:relative;padding-right:56px}#theme-dialog .dialog-head>.icon-button{display:inline-flex;position:absolute;right:0;top:0}
