/* Only validated color tokens can override this fixed-geometry interface. */
:root[data-custom-palette="true"] {
  --home-gradient:linear-gradient(145deg,var(--gradient-start),var(--gradient-mid) 48%,var(--gradient-end));
  --glass:color-mix(in srgb,var(--glass-color) 82%,transparent);
}
:root[data-custom-palette="true"] .gear-icon,:root[data-custom-palette="true"] .site-icon { background:var(--surface-soft)!important; color:var(--muted)!important; }
:root[data-custom-palette="true"] .live-pill { background:var(--surface-soft); color:var(--ink); border-color:var(--line); }
.builder-link {display:flex;align-items:center;justify-content:space-between;gap:20px;}
.builder-link h2 {margin-bottom:9px;}.builder-link p {color:var(--muted);font-size:11px;line-height:1.8;margin:0;}
.builder-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.82fr);gap:20px;align-items:start;}
.builder-layout .settings-card {padding:20px;}
.builder-statusbar {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;margin-bottom:20px;font-size:11px;color:var(--ink);}
.builder-label {display:block;color:var(--ink);font-size:11px;margin:12px 0 8px;}
.builder-text,.builder-base select {width:100%;border:1px solid var(--line);border-radius:7px;padding:10px 12px;background:var(--paper);color:var(--ink);font-size:12px;}
.builder-base {display:flex;align-items:center;gap:9px;margin-top:16px;flex-wrap:wrap;}
.builder-base>label {font-size:10px;color:var(--muted);}.builder-base>select {flex:1;width:auto;min-width:120px;font-size:11px;}.builder-base>button {font-size:10px;padding:10px;}
.builder-help {font-size:10px;line-height:1.8;color:var(--muted);margin:12px 0 0;}
.builder-color-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px;margin-top:20px;}
.builder-color>label {display:block;font-size:11px;color:var(--ink);margin-bottom:7px;}
.builder-color>div {display:flex;gap:6px;align-items:center;}
.builder-color input[type="color"] {height:31px;width:32px;border:1px solid var(--line);padding:2px;background:var(--surface);border-radius:6px;cursor:pointer;flex-shrink:0;}
.builder-color input[type="text"] {min-width:0;width:100%;background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:8px 6px;font:10px monospace;}
.builder-color>code {display:block;margin-top:5px;color:var(--subtle);font:9px monospace;}
.builder-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;}.builder-heading h2{margin:0;}.builder-heading h2 span{display:block;color:var(--muted);font-size:8px;letter-spacing:1px;margin-top:8px;}.builder-heading button{font-size:10px;}
.builder-code {width:100%;min-height:240px;resize:vertical;border:1px solid var(--line);padding:14px;background:var(--paper);border-radius:8px;color:var(--ink);font:12px/1.8 ui-monospace,Consolas,monospace;tab-size:2;white-space:pre;}
.builder-validation {font-size:10px;line-height:1.7;margin:12px 0;color:var(--muted);min-height:18px;overflow-wrap:anywhere;}.builder-validation.invalid{color:#bb6a4f;background:var(--surface-soft);padding:10px;border-radius:6px;}
.builder-editor-actions,.builder-primary-actions {display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;}
.builder-editor-actions button,.builder-primary-actions button {font-size:10px;padding:10px 11px;}
.builder-preview-column {position:sticky;top:20px;min-width:0;}
.palette-preview {margin-top:16px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;}
.preview-chrome {background:var(--chrome-bg);padding:10px;border-bottom:1px solid var(--line);}
.preview-tab{display:block;font-size:10px;padding:3px 0 10px;color:var(--ink);}.preview-address{font-size:8px;border:1px solid var(--line);background:var(--surface-soft);padding:8px;border-radius:5px;color:var(--muted);}
.preview-body {display:grid;grid-template-columns:24px 1fr 70px;min-height:211px;}
.preview-rail {background:var(--rail-bg);padding:15px 7px;display:flex;gap:12px;flex-direction:column;border-right:1px solid var(--line);}
.preview-rail span {width:9px;height:9px;border:1px solid var(--teal);border-radius:3px;}
.preview-home{padding:18px 9px;background:linear-gradient(145deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));}
.preview-glass{background:color-mix(in srgb,var(--glass-color) 88%,transparent);padding:13px 10px;border-radius:7px;}
.preview-glass>strong{font:18px/1.3 Georgia,serif;color:var(--ink);}.preview-glass>p{font-size:8px;line-height:1.7;color:var(--muted);}
.preview-search{display:flex;align-items:center;justify-content:space-between;gap:5px;background:var(--surface);padding:7px;color:var(--subtle);font-size:7px;border-radius:5px;}
.preview-search b{background:var(--teal);color:var(--accent-text);padding:2px 5px;border-radius:3px;}
.preview-tiles{display:flex;gap:7px;margin-top:10px;}.preview-tiles span{background:var(--surface);color:var(--ink);padding:9px 6px;font-size:8px;border-radius:5px;flex:1;text-align:center;}
.preview-panel{background:var(--panel-bg);border-left:1px solid var(--line);padding:17px 8px;display:flex;flex-direction:column;gap:14px;font-size:8px;color:var(--muted);}.preview-panel strong{font-size:9px;color:var(--ink);}.preview-pill{border:1px solid var(--line);padding:5px 3px;border-radius:4px;text-align:center;}
.builder-contrast {font-size:10px;line-height:1.8;margin-top:15px;color:var(--muted);padding:10px;background:var(--surface-soft);border-radius:6px;}.builder-contrast.contrast-warning{color:#b27556;}
.saved-palette {display:flex;gap:6px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);}.saved-palette>span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:11px;color:var(--ink);}.saved-palette small{display:block;margin-top:5px;font-size:9px;color:var(--muted);}.saved-palette .secondary{padding:7px 9px;font-size:10px;}
@media(max-width:1200px){.builder-layout{grid-template-columns:1fr}.builder-preview-column{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}.builder-color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.builder-preview-column .settings-card{min-width:0;}}
@media(max-width:1050px){.builder-preview-column{grid-template-columns:1fr}.builder-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.palette-preview[data-base="dragon-inferno"] .preview-home{background:linear-gradient(#10070c55,#10070c55),url("themes/dragon-inferno.699a4ffcf2.jpg") 65% center/cover;}
.palette-preview[data-base="dragon-inferno"] .preview-glass{background:color-mix(in srgb,var(--glass-color) 92%,transparent);}
