/* Public controls use the existing palette in all modes. */
[data-public-appearance] { margin: 2rem auto; padding: 1rem; max-width: 46rem; color: var(--app-text); font: 1rem/1.5 'DM Sans', system-ui, sans-serif; text-align: start; overflow-wrap: anywhere; }
[data-public-appearance][hidden] { display: none !important; }
[data-public-appearance] fieldset { border: 1px solid var(--app-border-strong); border-radius: .75rem; padding: 1rem; min-width: 0; }
[data-public-appearance] legend { padding: 0 .35rem; font-weight: 600; }
.ng-appearance-buttons { display: flex; flex-wrap: wrap; gap: .6rem; }
.ng-appearance-buttons button { flex: 0 1 auto; font: inherit; min-height: 2.75rem; min-width: 0; max-width: 100%; padding: .6rem 1rem; border: 1px solid var(--app-border-strong); border-radius: .6rem; background: var(--app-surface); color: var(--app-text); cursor: pointer; }
.ng-appearance-buttons button[aria-pressed=true] { color: var(--control-selected-text); background: var(--control-selected-bg); border-color: var(--control-selected-border); }
.ng-appearance-buttons button:focus-visible { outline: 3px solid var(--app-text); outline-offset: 3px; }
[data-public-appearance] p { margin: .8rem 0 0; font-size: .875rem; color: var(--app-text-muted); }
