/* Soft circular color controls: preview only; geometry and palette slots stay unchanged. */

#ornament-palette{gap:16px 10px}
.ornament-color-chip{display:flex;align-items:center;flex-direction:column;gap:9px;padding:12px 4px;border:0;background:transparent;border-radius:24px;width:100%;min-width:0;color:var(--feature-ink);cursor:pointer}
.ornament-color-chip:hover{background:#f4eddf}
.ornament-color-disc{display:block;flex:none;width:58px;height:58px;border-radius:50%;box-shadow:inset 0 0 0 1px #173f7318,0 0 0 5px #fffaf0,0 2px 8px #59482b12}
.ornament-chip-copy{display:grid;gap:5px;text-align:center}
.ornament-chip-copy strong{font-size:12px;font-weight:600}
.ornament-chip-copy small{font-size:10px;letter-spacing:.04em;color:#7c817b}
#ornament-mono-chip .ornament-color-chip{flex-direction:row;gap:18px;padding:16px 10px}
#ornament-mono-chip .ornament-chip-copy{text-align:left}
.ornament-color-mode label{border-radius:25px}
.theme-color-picker{box-sizing:border-box;width:min(354px,calc(100vw - 28px));padding:24px;border:1px solid #d8cfba;border-radius:28px;background:#fffbf2;color:#244367;box-shadow:0 16px 60px #1e30452b}
.theme-color-picker::backdrop{background:#21324a36}
.theme-color-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.theme-color-heading h2{font-size:18px;margin:0}
.theme-color-heading button{border:0;background:transparent;font-size:12px;padding:8px;color:inherit}
.theme-color-caption{font-size:12px;color:#7a8078;margin:12px 0 18px}
.theme-color-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 8px}
.theme-preset{display:flex;align-items:center;flex-direction:column;gap:8px;background:transparent;border:0;border-radius:18px;padding:5px 0;font-size:11px;color:inherit;cursor:pointer}
.theme-color-dot{display:block;width:42px;height:42px;border-radius:50%;box-shadow:inset 0 0 0 1px #173f7318,0 0 0 4px #fffbf2}
.theme-preset:hover .theme-color-dot,.theme-preset[aria-pressed=true] .theme-color-dot{outline:2px solid #244367;outline-offset:4px}
.theme-color-picker .theme-color-custom{width:100%;min-height:42px;border:1px dashed #c6bdab;border-radius:24px;background:#f8f0df;color:inherit;margin-top:22px;font-size:13px;cursor:pointer}
.theme-color-fields{display:grid;grid-template-columns:64px 1fr;gap:12px;margin-top:20px;align-items:center}
.theme-color-fields[hidden]{display:none}
.theme-custom-wheel{font-size:10px;text-align:center}
.theme-color-picker input[type=color]{display:block;width:50px;height:50px;border:0;padding:0;border-radius:50%;background:transparent;overflow:hidden;margin:6px auto;cursor:pointer}
.theme-color-picker input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.theme-color-picker input[type=color]::-webkit-color-swatch{border:1px solid #ddd2bd;border-radius:50%}
.theme-color-picker input[type=color]::-moz-color-swatch{border:1px solid #ddd2bd;border-radius:50%}
.theme-hex-label{font-size:12px}
.theme-color-picker input[type=text]{box-sizing:border-box;width:100%;height:42px;margin-top:8px;padding:8px 12px;border:1px solid #d8cfba;border-radius:20px;background:#fffdf8;color:inherit}
.theme-color-error{grid-column:1/-1;font-size:12px;color:#ad4336;margin:0}
.theme-color-error:empty{display:none}
.theme-color-actions{grid-column:1/-1;display:flex;gap:10px}
.theme-color-actions button{flex:1;border:1px solid #d8cfba;border-radius:24px;padding:10px 5px;background:#fffdf8;color:inherit;font-size:12px;cursor:pointer}
.theme-color-actions [data-apply]{background:#f5e3ad}
.ornament-color-chip:focus-visible,.theme-color-picker button:focus-visible{outline:2px solid #244367;outline-offset:4px}

body .ornament-color-chip{border:0;background:transparent;border-radius:24px;font-family:inherit;font-size:12px;line-height:1.4;margin:0;color:var(--feature-ink,#244367)}
body .ornament-color-chip.theme-color-row{flex-direction:row;gap:18px;padding:16px 10px}
body .theme-color-row .ornament-chip-copy{text-align:left}
body [data-theme-color-source]{display:none!important}
body label.theme-color-source-label{display:block;margin:0;padding:0;background:transparent;border:0;min-width:0}
body .theme-color-source-label>span[hidden]{display:none!important}
body .theme-color-picker button,body .theme-color-picker input{font-family:inherit}
body .theme-color-picker .theme-preset{background:transparent;border:0;color:inherit;min-height:60px;min-width:0;padding:5px 0;box-shadow:none}
body .theme-color-picker .theme-color-error{font-size:12px;color:#ad4336}
body .theme-color-picker .theme-color-heading button{width:auto}
body .theme-color-picker [hidden]{display:none!important}
body .theme-color-section{padding:16px 0;border-top:1px solid #ddd5c5;margin-top:18px}
body .theme-color-section h3{font-size:18px;margin:0 0 12px}
body #hero-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}
body #hero-palette[hidden]{display:none}
body #hero-palette .theme-color-row{flex-direction:column;gap:9px;padding:12px 4px}
body #hero-palette .ornament-chip-copy{text-align:center}
body .trophy-colors{display:grid;grid-template-columns:1fr;gap:8px}
body #mono-hero-color[hidden]{display:none!important}
body .ornament-color-chip:disabled{opacity:.5;cursor:default}
.theme-color-picker{max-height:calc(100dvh - 32px);overflow:auto}

body .ornament-color-mode{display:block;min-inline-size:0;width:100%;border:0;padding:0;margin:0;box-sizing:border-box}
body .ornament-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body .ornament-color-mode label{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:46px;padding:10px 8px;margin:0;border:1px solid #c9d2d9;border-radius:25px;cursor:pointer;font-size:15px;background:#fffcf6}
body .ornament-color-mode label:has(input:checked){background:color-mix(in srgb,var(--feature-theme,#e8b94b) 22%,#fffcf6);border-color:var(--feature-ink,#244367)}
body .ornament-color-mode input[type=radio]{flex:0 0 17px;width:17px;height:17px;margin:0;padding:0;accent-color:var(--feature-ink,#244367)}
body .ring-panel .theme-color-section{padding:18px 0}
body .ring-panel .theme-color-section h2{font-size:18px;margin:0 0 14px}
body .shape-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}

body .ornament-color-chip:hover{background:#f4eddf}
body .theme-color-picker .theme-color-heading button{border:0;background:transparent;color:inherit}

/* Ornament color mode uses the existing page theme. */
body :is(#panel-color,#panel-colors) .ornament-section-title{font-size:18px;font-weight:700;line-height:1.4;margin:0 0 14px;padding:0;border:0;color:var(--feature-ink)}
body .ornament-model-colors{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #ddd5c5}
body #ornament-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body :is(#panel-color,#panel-colors) .hint{font-size:12px;line-height:1.7;color:#737d7b;margin:12px 0}
body :is(#panel-color,#panel-colors) .ornament-edit-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 12px}
body :is(#panel-color,#panel-colors) .ornament-edit-tabs button{min-height:46px;padding:10px 8px;border-radius:12px;font-size:15px}
body #ornament-paint-swatches{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:16px 10px;padding:8px 0;margin:14px 0 18px}
body #ornament-paint-swatches:not([hidden]){display:grid}
body #ornament-paint-swatches button{box-sizing:border-box;width:64px;height:64px;min-height:64px;display:grid;place-items:center;font-size:15px}
body #ornament-edit-status:empty,body #ornament-texture-status:empty{display:none}

