/* Identity tokens are UI-only: user-selected object/material colors stay exact. */
html[data-site-skin]{--preview-floor:#bfd0c5;--preview-grid:#6b8a78;--preview-border:#486f58;--hero-deep:#163e2c;--hero-mid:#3e7857;--hero-pale:#deeee3;--hero-shadow:#244c35;--hero-ink:#12321f;--art:var(--soft)}
html[data-site-skin=ocean]{--preview-floor:#c5d8e6;--preview-grid:#648299;--preview-border:#42657e;--hero-deep:#16364d;--hero-mid:#417b9f;--hero-pale:#dfedf7;--hero-shadow:#254d68;--hero-ink:#123046}
html[data-site-skin=plum]{--preview-floor:#d7c9e2;--preview-grid:#8c739d;--preview-border:#745388;--hero-deep:#382048;--hero-mid:#865a9c;--hero-pale:#eee2f5;--hero-shadow:#543064;--hero-ink:#321b40}
html[data-site-skin=sand]{--preview-floor:#e0d2bc;--preview-grid:#9b835f;--preview-border:#7d653e;--hero-deep:#49351b;--hero-mid:#a87b41;--hero-pale:#f2e7d3;--hero-shadow:#684823;--hero-ink:#38270e}
html[data-site-skin=forest][data-theme=dark]{--preview-floor:#233c2e;--preview-grid:#6b8a78;--preview-border:#a2d5b0}
html[data-site-skin=ocean][data-theme=dark]{--preview-floor:#223b4e;--preview-grid:#648299;--preview-border:#98ceef}
html[data-site-skin=plum][data-theme=dark]{--preview-floor:#3d2e49;--preview-grid:#8c739d;--preview-border:#d8b1eb}
html[data-site-skin=sand][data-theme=dark]{--preview-floor:#433824;--preview-grid:#9b835f;--preview-border:#e7c28a}
html[data-site-skin] :is(.brand-icon,.primary,.bambu,.prepare-download){background:var(--accent)!important;color:var(--on-accent,#fff)!important}
html[data-site-skin] :is(.brand-mark span,.brand>span,.label-top span,.step b,.closing>span){color:var(--accent)}
html[data-site-skin] .eyebrow i{background:var(--accent)}
html[data-site-skin] :is(.card-art,.hero-art){background:var(--soft)}
html[data-site-skin] .art-grid{background-image:linear-gradient(color-mix(in srgb,var(--accent) 15%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 15%,transparent) 1px,transparent 1px)}
html[data-site-skin] .orbit{border-color:color-mix(in srgb,var(--accent) 35%,transparent)}
html[data-site-skin] .maker-showcase{background:var(--hero-deep);color:var(--hero-pale);box-shadow:0 25px 70px color-mix(in srgb,var(--hero-deep) 14%,transparent)}
html[data-site-skin] .showcase-foot{color:var(--hero-pale)}
html[data-site-skin] .object-print{background:var(--hero-pale);color:var(--hero-ink)}
html[data-site-skin] .object-print .sample-name{text-shadow:0 2px color-mix(in srgb,var(--hero-mid) 25%,var(--hero-pale)),0 5px color-mix(in srgb,var(--hero-mid) 50%,var(--hero-pale)),0 8px var(--hero-mid),0 13px 8px #0002}
html[data-site-skin] .object-laser{background:repeating-linear-gradient(4deg,var(--hero-pale) 0,var(--hero-pale) 3px,color-mix(in srgb,var(--hero-mid) 20%,var(--hero-pale)) 4px,var(--hero-pale) 8px);color:var(--hero-ink)}
html[data-site-skin] .object-laser .sample-name{text-shadow:1px 2px color-mix(in srgb,white 65%,var(--hero-pale)),-1px -1px var(--hero-mid)}
html[data-site-skin] .object-cnc{background:var(--hero-mid);color:var(--hero-ink)}
html[data-site-skin] .object-cnc .sample-name{text-shadow:1px 2px 1px var(--hero-pale),-1px -2px 1px var(--hero-shadow)}
html[data-site-skin] .object-cnc :is(small,span){color:#fff}
html[data-site-skin] :is(.method-icon,.laser-method .method-icon,.cnc-method .method-icon){background:var(--soft);color:var(--accent)}
html[data-site-skin] body :is(#viewport,.cnc-viewport,.fab-finished-stage){background:radial-gradient(ellipse at center,var(--surface),var(--soft))!important}
html[data-site-skin] :is(.bed-badge,.preview-toolbar .icon-button){background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-site-skin] :is(.ios-select-switch[aria-checked=true] .ios-track,input.ios-checkbox:checked){background:var(--accent)!important}
html[data-site-skin] :is(.ios-track:after,input.ios-checkbox:after){background:var(--on-accent,#fff)}
html[data-site-skin] :is(input[type=range],input[type=checkbox],input[type=radio]){accent-color:var(--accent)}
html[data-site-skin] #map-neck{stroke:var(--accent)}html[data-site-skin] #map-ring{fill:var(--soft);stroke:var(--accent)}html[data-site-skin] #map-hole{fill:var(--surface);stroke:var(--accent)}
html[data-site-skin] .live-dot{background:var(--accent)}
html[data-site-skin] .fab-details>summary #fab-compact-summary{color:var(--on-accent)}
html[data-site-skin] :is(a,button,input,select,textarea,summary):focus-visible{outline-color:var(--accent)!important}
/* Borders and illustrative shape thumbnails follow the selected identity too. */

html[data-site-skin] .shape-picker svg{fill:var(--soft);stroke:var(--accent)}
html[data-site-skin] :is(.floating-label,.project-card:hover){box-shadow:0 12px 30px color-mix(in srgb,var(--hero-deep) 12%,transparent)}
html[data-site-skin] :is(.hero-art img,.card-art img){filter:drop-shadow(0 12px 15px color-mix(in srgb,var(--hero-deep) 15%,transparent))}

/* Dialogs and native controls must use the same palette, including forced legacy input rules. */
html[data-site-skin][data-axis-skin] body{--cyan:var(--accent);--green:var(--accent);--brand:var(--accent)}
html[data-site-skin][data-axis-skin] :is(dialog,.axis-dialog){background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:0 24px 90px color-mix(in srgb,var(--hero-deep) 30%,transparent)}
html[data-site-skin][data-axis-skin] dialog::backdrop{background:color-mix(in srgb,var(--hero-deep) 65%,transparent)!important;backdrop-filter:blur(5px)}
html[data-site-skin][data-axis-skin] :is(dialog,.axis-dialog) :is(input:not([type=color],[type=range],[type=checkbox],[type=radio]),textarea,select){background:var(--field)!important;color:var(--ink)!important;caret-color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;border-color:var(--line)!important}
html[data-site-skin][data-axis-skin] input[type=range]{accent-color:var(--accent)!important}
html[data-site-skin][data-axis-skin] input.ios-checkbox{background:var(--line)!important}
html[data-site-skin][data-axis-skin] input.ios-checkbox:checked{background:var(--accent)!important}
html[data-site-skin][data-axis-skin] :is(.visual-grid button,.font-grid button){border-color:var(--line);background:var(--field);color:var(--ink)}
html[data-site-skin][data-axis-skin] :is(.visual-grid button.active,.swatch.active){outline-color:var(--accent)}
html[data-site-skin][data-axis-skin] :is(.font-grid small,.font-name){color:var(--muted)}
html[data-site-skin][data-axis-skin] .ios-track{background:var(--line)}
html[data-site-skin][data-axis-skin] .ios-select-switch[aria-checked=true] .ios-track{background:var(--accent)!important}
html[data-site-skin][data-axis-skin] .card{border-color:var(--line)}
html[data-site-skin][data-axis-skin] .card:hover{border-color:var(--accent)}
/* Theme instructional drawings without touching exported object colors. */
html[data-site-skin] .visual-grid svg [fill="#36856f"]{fill:var(--accent)}
html[data-site-skin] .visual-grid svg [stroke="#36856f"]{stroke:var(--accent)}
html[data-site-skin] .visual-grid svg :is([fill="#edc5d6"],[fill="#dbece4"]){fill:var(--soft)}
html[data-site-skin] .visual-grid svg :is([stroke="#99cdb9"],[stroke="#b5c3bd"]){stroke:var(--line)}
html[data-site-skin] .visual-grid svg [fill="white"]{fill:var(--surface)}
html[data-site-skin][data-axis-skin] .flow-dialog form button{background:var(--accent)!important;color:var(--on-accent)!important;border-color:var(--accent)!important}
