/* Palette fallback for historical studies; normal pages load replaceable theme.css last. */
:root.site-theme{--preview-bg:#0a0f12;--preview-section:#10161b;--preview-surface:#171b21;--preview-raised:#222831;--preview-accent:#7cc9ff;--preview-heading:#f1f4f3;--preview-text:#adb6c0;--preview-muted:#adb6c0;--preview-on-accent:#101510;--preview-border:#3c4652;--preview-header:#0a0f12f2;--preview-accent-soft:#7cc9ff18;--preview-accent-glow:#7cc9ff33;color-scheme:dark}
:root.site-theme[data-site-theme=light]{--preview-bg:#faf9f5;--preview-section:#f0eee6;--preview-surface:#ffffff;--preview-raised:#e5e2d7;--preview-accent:#285aaf;--preview-heading:#242922;--preview-text:#4d584c;--preview-muted:#4d584c;--preview-on-accent:#ffffff;--preview-border:#b3bbae;--preview-header:#faf9f5f2;--preview-accent-soft:#285aaf18;--preview-accent-glow:#285aaf33;color-scheme:light}
@media(prefers-color-scheme:light){:root.site-theme:not([data-site-theme=dark]){--preview-bg:#faf9f5;--preview-section:#f0eee6;--preview-surface:#ffffff;--preview-raised:#e5e2d7;--preview-accent:#285aaf;--preview-heading:#242922;--preview-text:#4d584c;--preview-muted:#4d584c;--preview-on-accent:#ffffff;--preview-border:#b3bbae;--preview-header:#faf9f5f2;--preview-accent-soft:#285aaf18;--preview-accent-glow:#285aaf33;color-scheme:light}}
.brand svg{display:block;width:145px;height:auto}.footer-intro svg{display:block;width:160px;height:auto}
.site-theme :is(.product-identity,.compact-features,.site-footer h3){color:var(--ink)}
.site-theme :is(.support-app-grid,.information-page) h2{color:var(--ink)}
.site-theme .preview-bar{color:var(--muted);background:var(--surface)}
.site-theme :is(.coming-soon-badge,.catalog-copy>.coming-soon-badge){background:var(--preview-accent-soft);border-color:var(--blue);color:var(--blue)}
.site-theme .support-app-grid>article{color:var(--ink)}
.theme-toggle{width:40px;height:40px;padding:9px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;flex-shrink:0}
.theme-toggle[hidden],.storage-notice[hidden]{display:none}
.theme-toggle svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .theme-icon-sun{display:none}
[data-site-theme=dark] .theme-toggle .theme-icon-sun{display:block}
[data-site-theme=dark] .theme-toggle .theme-icon-moon{display:none}
.theme-system{font:inherit;color:var(--muted);background:transparent;border:0;padding:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.theme-system[aria-pressed=true]{color:var(--blue)}
/* A quiet full-width information strip; never a modal or consent gate. */
:root{--storage-notice-height:0px;--storage-banner-color:#171b21;--storage-banner-opacity:88%}
:root[data-site-theme=light]{--storage-banner-color:#ffffff}
@media(prefers-color-scheme:light){:root.site-theme:not([data-site-theme=dark]){--storage-banner-color:#ffffff}}
body{padding-bottom:var(--storage-notice-height)}
html{scroll-padding-bottom:calc(var(--storage-notice-height) + 18px)}
.storage-notice{position:fixed;inset:auto 0 0;width:100%;z-index:110;padding:12px max(24px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--storage-banner-color) var(--storage-banner-opacity),transparent);color:var(--ink);box-shadow:none}
.storage-notice-inner{max-width:1322px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.storage-notice h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.storage-notice p{color:var(--ink);font-size:14px;line-height:1.5;margin:0;max-width:950px}
.storage-notice .actions{display:flex;align-items:center;gap:20px;margin:0;flex-shrink:0}
.storage-notice button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:7px;padding:9px 16px;min-height:40px;cursor:pointer;font:inherit;font-size:13px;white-space:nowrap}
.storage-notice a{color:var(--ink);font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:3px;padding-block:8px;white-space:nowrap}
.storage-notice :is(a,button):focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.preview-palette{bottom:calc(var(--storage-notice-height) + 12px)!important;max-height:calc(100svh - var(--storage-notice-height) - 24px)!important}
@media(max-width:760px){.storage-notice{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.storage-notice-inner{gap:4px;flex-wrap:wrap}.storage-notice p{width:100%;font-size:13px;line-height:1.45}.storage-notice .actions{width:100%;justify-content:space-between;gap:14px}.storage-notice button,.storage-notice a{min-height:40px;font-size:12px}.storage-notice button{padding:6px 12px}}
@media(max-width:600px){.brand svg{width:110px}.site-header .header-inner{gap:12px}body[class] .site-header nav{gap:9px;font-size:12px}.theme-toggle{width:36px;height:36px;padding:8px}}
@media(max-width:360px){.brand svg{width:95px}body[class] .site-header nav{gap:7px;font-size:11px}.products-menu>summary{gap:5px}.site-header .language-link{padding:5px 7px}.theme-toggle{width:32px;height:32px}}

html.site-theme body.calculator-public{color-scheme:inherit}
/* Private workbench additions; public builds omit the workbench itself. */
.palette-banner-range{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.palette-banner-range input[type=range]{width:100%;min-width:0;flex:1;accent-color:#7cc9ff;min-height:36px;cursor:pointer}
.palette-banner-range output{font:12px ui-monospace,monospace;min-width:42px;text-align:right;color:#f1f4f3}
.palette-banner-help{font-size:11px;line-height:1.5;color:#adb6c0;margin:0}
