.form{display:flex;flex-direction:column;gap:1em}.field-group{display:flex;flex-direction:column;gap:1em;border:none;border-left:var(--border-thin-width) solid var(--border);padding:0;margin:0;padding-left:0.25em}.field-group > *:not(legend){padding-left:0.25em}.field{display:grid;grid-template-areas:"label" "input" "helper" "errors";padding:0.25em;gap:0.25em}.field-label{grid-area:label;cursor:pointer}.field-input{width:100%;grid-area:input;background-color:var(--bg);color:var(--text);border:var(--border-thin-width) solid var(--border);border-radius:var(--border-roundness);padding:0.5em 1em;font-size:1em;box-shadow:var(--box-shadow);transition:border-color 0.2s ease-in-out}.field-input:focus{border-color:#299fff}.field-input:user-invalid{border-color:var(--negative);background-color:var(--negative-90)}.field-input:user-valid{border-color:var(--positive)}.field-helper{grid-area:helper;font-size:small;opacity:0.75}.field-errors{grid-area:errors;color:var(--negative);font-size:small;margin:0;padding:0 0 0 1em;list-style-type:"❌ ";min-height:1.2em}.array-field-wrapper{display:grid;grid-template-areas:"item-class-selector add-item-button" "items-container items-container";grid-template-columns:2fr 1fr;gap:0.5em}.array-field-item-class-selector{grid-area:item-class-selector}.array-field-add-item-button{grid-area:add-item-button}.array-field-items-container{grid-area:items-container;display:flex;flex-direction:column;gap:0.5em}.array-field-item-wrapper{display:grid;grid-template-areas:"input controls";grid-template-columns:1fr auto;align-items:center;gap:0.5em}.array-field-item-controls{grid-area:controls;display:grid;grid-template-areas:"indicator remove-button" "reorder-buttons reorder-buttons";gap:0.25em}.array-field-item-position-indicator{grid-area:indicator;font-size:small;opacity:0.75;align-self:center;text-align:center}.array-field-item-reorder-arrows-container{grid-area:reorder-buttons;display:flex;flex-direction:column;gap:0.25em}.array-field-item-reorder-up-button{grid-area:reorder-up}.array-field-item-wrapper .field{grid-area:input}.group-field-input{border:none;border-left:var(--border-thin-width) solid var(--border);border-radius:0;padding-left:0.25em;display:flex;flex-direction:column;gap:0.5em}.group-field-item{display:flex;flex-direction:column;gap:0.5em}