/* Shared palette tokens. Each option keeps cream and dark interludes. */
html[data-soba-palette]{--p-dark:#07110D;--p-deep:#0B1A14;--p-raised:#101a14;--p-glow:#6E1F2B;--p-cream:#F3EBDA;--p-paper:#fbf6ea;--p-parchment:#EADFC4;--p-accent:#D6B766;--p-ink:#0B1A14;--p-brand:#6E1F2B;--p-light-soft:#4a3d2a;--p-dark-soft:#cfc4ab}
html[data-soba-palette=burgundy]{--p-dark:#241318;--p-deep:#331D24;--p-raised:#3B252C;--p-glow:#713A48;--p-cream:#F1E7D5;--p-paper:#FAF4E9;--p-parchment:#E5D7C2;--p-accent:#C5A46D;--p-ink:#301A21;--p-brand:#713342;--p-light-soft:#65504A;--p-dark-soft:#D3C2B6}
html[data-soba-palette=midnight]{--p-dark:#101B2B;--p-deep:#1A2B40;--p-raised:#223349;--p-glow:#3D516A;--p-cream:#F4EDE0;--p-paper:#FCF8EF;--p-parchment:#E6DDCC;--p-accent:#CDBB94;--p-ink:#18283C;--p-brand:#30465E;--p-light-soft:#535966;--p-dark-soft:#C9CDD3}
html[data-soba-palette=charcoal]{--p-dark:#211D19;--p-deep:#302922;--p-raised:#393027;--p-glow:#624636;--p-cream:#EFE3CF;--p-paper:#FAF1E2;--p-parchment:#E2D1B6;--p-accent:#B99462;--p-ink:#32291F;--p-brand:#755337;--p-light-soft:#655443;--p-dark-soft:#CEC0AD}

html[data-soba-palette][data-soba-theme=dark]{--royal-bg:var(--p-dark);--royal-surface:var(--p-deep);--royal-raised:var(--p-raised);--royal-text:var(--p-cream);--royal-soft:var(--p-dark-soft);--royal-gold:var(--p-accent);--royal-line:color-mix(in srgb,var(--p-accent) 35%,transparent);--navy:var(--p-dark);--navy2:var(--p-deep);--gold:var(--p-accent);--ivory:var(--p-cream);color-scheme:dark}
html[data-soba-palette][data-soba-theme=light]{--royal-bg:var(--p-cream);--royal-surface:var(--p-parchment);--royal-raised:var(--p-paper);--royal-text:var(--p-ink);--royal-soft:var(--p-light-soft);--royal-gold:var(--p-brand);--royal-line:color-mix(in srgb,var(--p-brand) 28%,transparent);--navy:var(--p-dark);--navy2:var(--p-deep);--gold:var(--p-brand);--ivory:var(--p-cream);color-scheme:light}
html[data-soba-palette][data-soba-theme] .section:not(.dark-section),html[data-soba-palette][data-soba-theme] .research-section,html[data-soba-palette][data-soba-theme] .v7-wrap,html[data-soba-palette][data-soba-theme] .heritage-prologue,html[data-soba-palette][data-soba-theme] .heritage-place,html[data-soba-palette][data-soba-theme=dark] .page-section,html[data-soba-palette][data-soba-theme=light] .page-section:nth-of-type(odd){--royal-bg:var(--p-cream);--royal-surface:var(--p-parchment);--royal-raised:var(--p-paper);--royal-text:var(--p-ink);--royal-soft:var(--p-light-soft);--royal-gold:var(--p-brand);--royal-line:color-mix(in srgb,var(--p-brand) 28%,transparent);--navy:var(--p-dark);--navy2:var(--p-deep);--gold:var(--p-brand);--ivory:var(--p-cream);background:radial-gradient(ellipse at 8% 12%,color-mix(in srgb,var(--p-paper) 60%,transparent),transparent 58%),linear-gradient(125deg,var(--p-cream),var(--p-parchment))!important;color:var(--royal-text)!important}
html[data-soba-palette][data-soba-theme] .dark-section,html[data-soba-palette][data-soba-theme] .stats,html[data-soba-palette][data-soba-theme] .soba-register,html[data-soba-palette][data-soba-theme] footer,html[data-soba-palette][data-soba-theme] .heritage-opening,html[data-soba-palette][data-soba-theme] .heritage-journey,html[data-soba-palette][data-soba-theme] .scindian-motto,html[data-soba-palette][data-soba-theme=light] .page-section:nth-of-type(even){--royal-bg:var(--p-dark);--royal-surface:var(--p-deep);--royal-raised:var(--p-raised);--royal-text:var(--p-cream);--royal-soft:var(--p-dark-soft);--royal-gold:var(--p-accent);--royal-line:color-mix(in srgb,var(--p-accent) 35%,transparent);--navy:var(--p-dark);--navy2:var(--p-deep);--gold:var(--p-accent);--ivory:var(--p-cream);background:radial-gradient(ellipse at 85% 20%,color-mix(in srgb,var(--p-glow) 35%,transparent),transparent 64%),linear-gradient(125deg,var(--p-dark),var(--p-deep))!important;color:var(--royal-text)!important}
html[data-soba-palette][data-soba-theme] #about{background:linear-gradient(115deg,var(--p-paper),var(--p-parchment))!important}
html[data-soba-palette][data-soba-theme] .page-hero{background:radial-gradient(ellipse at 90% 0,color-mix(in srgb,var(--p-glow) 25%,transparent),transparent 65%),linear-gradient(115deg,var(--royal-bg),var(--royal-surface))!important}
html[data-soba-palette][data-soba-theme] .hero:after{background:linear-gradient(90deg,color-mix(in srgb,var(--royal-bg) 86%,transparent),color-mix(in srgb,var(--royal-bg) 65%,transparent) 38%,color-mix(in srgb,var(--royal-bg) 22%,transparent) 75%),linear-gradient(0deg,color-mix(in srgb,var(--royal-bg) 80%,transparent),transparent 50%)!important}
html[data-soba-palette][data-soba-theme] .heritage-opening:after{background:linear-gradient(90deg,color-mix(in srgb,var(--p-dark) 94%,transparent),color-mix(in srgb,var(--p-dark) 44%,transparent) 65%,color-mix(in srgb,var(--p-dark) 13%,transparent))}
html[data-soba-palette][data-soba-theme] .hero p{color:var(--royal-soft)}
html[data-soba-palette][data-soba-theme] .heritage-step>span,html[data-soba-palette][data-soba-theme] .heritage-date,html[data-soba-palette][data-soba-theme] .heritage-scroll,html[data-soba-palette][data-soba-theme] .scindian-motto p,html[data-soba-palette][data-soba-theme] .soba-opening-year{color:var(--p-accent)}
html[data-soba-palette][data-soba-theme] .heritage-step p{color:var(--p-dark-soft)}
html[data-soba-palette][data-soba-theme] .heritage-step,html[data-soba-palette][data-soba-theme] .heritage-scroll{border-color:color-mix(in srgb,var(--p-accent) 35%,transparent)}
html[data-soba-palette][data-soba-theme] .heritage-step:before{background:color-mix(in srgb,var(--p-accent) 45%,transparent)}
html[data-soba-palette][data-soba-theme] .heritage-place-copy>a{border-color:var(--p-brand)}
html[data-soba-palette][data-soba-theme] .heritage-panel{background:linear-gradient(145deg,var(--royal-raised),var(--royal-surface))!important;border-color:var(--royal-line)!important}
html[data-soba-palette][data-soba-theme] .chapter-art,html[data-soba-palette][data-soba-theme] .v7-media{background:radial-gradient(ellipse at 78% 25%,color-mix(in srgb,var(--p-glow) 40%,transparent),transparent 70%),linear-gradient(135deg,var(--p-deep),var(--p-dark))!important}
html[data-soba-palette][data-soba-theme] .btn.gold{background:linear-gradient(120deg,color-mix(in srgb,var(--royal-gold) 85%,white),var(--royal-gold))!important;color:var(--royal-bg)!important;border-color:var(--royal-gold)!important}
html[data-soba-palette][data-soba-theme] .v7-filter.active,html[data-soba-palette][data-soba-theme] .v7-filter:hover{background:var(--royal-gold);color:var(--royal-bg);border-color:var(--royal-gold)}
html[data-soba-palette][data-soba-theme] .soba-opening{background:var(--p-dark)}
html[data-soba-palette][data-soba-theme] .soba-opening-label,html[data-soba-palette][data-soba-theme] .slide-dot{color:var(--p-cream);border-color:var(--p-accent)}
html[data-soba-palette][data-soba-theme] .slide-dot[aria-pressed=true],html[data-soba-palette][data-soba-theme] .soba-opening-rule{background:var(--p-accent)}
html[data-soba-palette][data-soba-theme] .hero-slider-controls{background:color-mix(in srgb,var(--p-dark) 75%,transparent);border-color:var(--p-accent)}
html[data-soba-palette][data-soba-theme] .soba-music-toggle{background:color-mix(in srgb,var(--p-dark) 92%,transparent);color:var(--p-cream);border-color:var(--p-accent)}
html[data-soba-palette][data-soba-theme] .scindian-motto{color:var(--p-accent);border-color:var(--royal-line)}
html[data-soba-palette][data-soba-theme] .writing-active:after{border-color:var(--p-accent)}
html[data-soba-palette][data-soba-theme] .royal-footer :is(h3,.footer-brand,.footer-address>span,.footer-social){color:var(--p-accent)}
html[data-soba-palette][data-soba-theme] .royal-footer :is(p,address){color:var(--p-dark-soft)}
html[data-soba-palette][data-soba-theme] .royal-footer a,html[data-soba-palette][data-soba-theme] .royal-footer .footer-brand small{color:var(--p-cream)}
html[data-soba-palette][data-soba-theme] .royal-footer .footer-social{color:var(--p-accent);border-color:color-mix(in srgb,var(--p-accent) 45%,transparent);background:color-mix(in srgb,var(--p-accent) 5%,transparent)}
html[data-soba-palette][data-soba-theme] .footer-bottom,html[data-soba-palette][data-soba-theme] .footer-address,html[data-soba-palette][data-soba-theme] .footer-download{border-color:var(--royal-line)}
html[data-soba-palette][data-soba-theme] .photo-viewer,html[data-soba-palette][data-soba-theme] .heritage-viewer{background:color-mix(in srgb,var(--p-dark) 96%,transparent);color:var(--p-cream)}
html[data-soba-palette][data-soba-theme] .photo-viewer::backdrop,html[data-soba-palette][data-soba-theme] .heritage-viewer::backdrop{background:color-mix(in srgb,var(--p-dark) 75%,transparent)}

/* Icon-only appearance controls with an accessible palette popover. */
.soba-appearance{display:flex;gap:8px;align-items:center;flex:none;position:relative}
.soba-appearance .soba-theme-toggle,.soba-palette-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;margin:0;padding:0;border:1px solid var(--royal-line);border-radius:50%;background:transparent;color:var(--royal-gold);cursor:pointer}
.soba-appearance .soba-theme-toggle span{font-size:19px}.soba-palette-toggle svg{width:21px;height:21px}
.soba-palette-toggle:hover,.soba-appearance .soba-theme-toggle:hover{background:color-mix(in srgb,var(--royal-gold) 10%,transparent)}
.soba-palette-toggle:focus-visible,.soba-palette-option:focus-visible{outline:2px solid var(--royal-gold);outline-offset:3px}
.soba-palette-panel{position:absolute;top:calc(100% + 16px);right:0;width:280px;padding:16px;background:var(--royal-bg);color:var(--royal-text);border:1px solid var(--royal-line);border-radius:10px;box-shadow:0 18px 45px #0003;z-index:50}
.soba-palette-panel[hidden]{display:none}
.soba-palette-panel>p{font:500 21px "Cormorant Garamond",serif;margin:0 0 12px;color:var(--royal-text)}
.soba-palette-option{display:flex;width:100%;align-items:center;gap:12px;min-height:48px;padding:10px 8px;background:transparent;color:var(--royal-text);border:1px solid transparent;border-radius:5px;text-align:left;font:12px Inter,sans-serif;cursor:pointer}
.soba-palette-option:hover,.soba-palette-option[aria-pressed=true]{background:color-mix(in srgb,var(--royal-gold) 8%,transparent);border-color:var(--royal-line)}
.palette-swatch{display:flex;overflow:hidden;width:43px;height:26px;flex:none;border-radius:4px;border:1px solid #ffffff30}.palette-swatch i{flex:1}.palette-check{margin-left:auto;opacity:0;color:var(--royal-gold)}.soba-palette-option[aria-pressed=true] .palette-check{opacity:1}
@media(max-width:480px){header .nav{gap:7px;padding-left:4%;padding-right:4%}header .brand strong{font-size:13px}header .brand small{font-size:6px}header .brand{gap:7px}header .brand img{width:34px;height:34px}header .menu{font-size:0;padding:0;width:34px;height:34px}header .menu:before{content:"☰";font-size:17px}.soba-appearance{gap:5px}.soba-appearance .soba-theme-toggle,.soba-palette-toggle{width:32px;height:32px}.soba-palette-panel{position:fixed;top:82px;right:4%;width:min(280px,92vw)}}
@media(prefers-reduced-motion:no-preference){.soba-palette-panel:not([hidden]){animation:palette-appear .18s ease-out}@keyframes palette-appear{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}}
/* Supersede older mode-specific colours without changing their composition. */
html[data-soba-palette][data-soba-theme] .section:not(.dark-section) .btn.gold,html[data-soba-palette][data-soba-theme] .page-section .btn.gold{background:linear-gradient(120deg,color-mix(in srgb,var(--royal-gold) 85%,white),var(--royal-gold))!important;color:var(--royal-bg)!important;border-color:var(--royal-gold)!important}
html[data-soba-palette][data-soba-theme] .section:not(.dark-section) .heritage-panel{background:linear-gradient(145deg,var(--royal-raised),var(--royal-surface))!important;border-color:var(--royal-line)!important}
html[data-soba-palette][data-soba-theme=light] .page-section:nth-of-type(even) .archive-card,html[data-soba-palette][data-soba-theme=light] .page-section:nth-of-type(even) .note{background:var(--royal-raised)!important;color:var(--royal-text)}
html[data-soba-palette][data-soba-theme] .portrait:has(img),html[data-soba-palette][data-soba-theme] .member:has(.portrait img),html[data-soba-palette][data-soba-theme] .archive-card:has(.portrait img){border-color:color-mix(in srgb,var(--p-accent) 45%,transparent)!important}
html[data-soba-palette][data-soba-theme] .soba-register-number,html[data-soba-palette][data-soba-theme] .soba-register-mobileyear,html[data-soba-palette][data-soba-theme] .v7-monogram{color:var(--p-accent);-webkit-text-stroke-color:var(--p-accent)}
