/* Burraga v2 semantic adapter for the non-React Factory. React components live in react/. */
* { box-sizing: border-box; }
body { font-family: var(--ds-font-body); color: var(--ds-text); background: var(--ds-background); line-height: 1.5; }
a { color: var(--ds-primary); text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; }
button, .ds-button { min-height: 44px; padding: var(--ds-space-2) var(--ds-space-4); border: 1px solid var(--ds-border); border-radius: var(--ds-radius-control); background: var(--ds-surface); color: var(--ds-text); cursor: pointer; }
button:hover:not(:disabled), .ds-button:hover { background: var(--ds-subtle); }
.ds-button--primary { background: var(--ds-primary); color: var(--ds-on-primary); border-color: var(--ds-primary); }
.ds-button--primary:hover:not(:disabled) { background: var(--ds-primary); text-decoration: underline; }
button:disabled { cursor: not-allowed; opacity: .6; }
input:not([type=checkbox]):not([type=radio]), select, textarea { min-height: 44px; max-width: 100%; padding: var(--ds-space-2); border: 1px solid var(--ds-border); border-radius: var(--ds-radius-control); background: var(--ds-surface); color: var(--ds-text); }
input[type=checkbox], input[type=radio] { accent-color: var(--ds-primary); }
:focus-visible { outline: 3px solid var(--ds-focus); outline-offset: 3px; }
[aria-invalid=true] { border-color: var(--ds-danger)!important; }
.ds-error { color: var(--ds-danger); }
.ds-panel { padding: var(--ds-space-6); border: 1px solid var(--ds-border); border-radius: var(--ds-radius-panel); background: var(--ds-surface); }
.ds-stack { display: grid; gap: var(--ds-space-4); }
.ds-row { display: flex; flex-wrap: wrap; gap: var(--ds-space-3); align-items: center; }
.ds-alert { border-inline-start: 4px solid var(--ds-primary); padding: var(--ds-space-4); background: var(--ds-subtle); }
.ds-badge { display: inline-block; padding: var(--ds-space-1) var(--ds-space-3); border: 1px solid currentColor; border-radius: var(--ds-radius-pill); }
.ds-table { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: var(--ds-space-3); text-align: start; border-bottom: 1px solid var(--ds-border); }
pre, code { font-family: var(--ds-font-mono); }
pre { white-space: pre-wrap; overflow-wrap: anywhere; background: var(--ds-subtle); padding: var(--ds-space-4); }
dialog { color: var(--ds-text); background: var(--ds-surface); border: 1px solid var(--ds-border); border-radius: var(--ds-radius-panel); max-width: min(36rem,90vw); }
[hidden] { display: none!important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms!important; transition-duration: .01ms!important; scroll-behavior: auto!important; } }

button, .ds-button {font-weight:600;box-shadow:0 1px 2px rgb(16 24 40 / 5%);transition:background var(--ds-motion-fast),border-color var(--ds-motion-fast);}
.ds-panel {box-shadow:0 1px 3px rgb(16 24 40 / 6%);}
label {font-weight:500;}
.ds-badge {font-size:.8125rem;font-weight:500;}
dialog::backdrop {background:rgb(16 24 40 / 55%);}
