/* Shared approved field/latch primitives. Never replace native form behavior. */
.arcana-form-surface form { display: block; width: 100%; max-width: none; margin: 0; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
.arcana-form-surface label { display: block; margin: 24px 0 10px; font: 18px/1.5 var(--arcana-font); color: var(--arcana-ink); }
.arcana-form-surface :is(input,select) { display: block; width: 100%; min-width: 0; min-height: 54px; padding: 10px 13px; margin: 0; font: 18px/1.5 var(--arcana-font); color: var(--arcana-ink); background: #070e12; border: 1px solid #b99a60; border-radius: 0; box-shadow: inset 0 0 0 3px #070e12, inset 0 0 0 4px #75613e; }
.arcana-form-surface input[type=hidden] { display: none; }
.arcana-form-surface button { display: block; width: 100%; min-height: 52px; margin: 36px 0 24px; padding: 10px 24px; font: 19px/1.5 var(--arcana-font); color: #19160e; background: #c2a36e url('/images/arcana/v1/login/latch-end.svg') left 5px center/26px 12px no-repeat; border: 1px solid #e4cb97; border-radius: 0; box-shadow: inset 0 0 0 3px #53442d, inset 0 0 0 4px #dbc08a; }
.arcana-form-surface button:hover { background-color: #d5b986; }
.arcana-form-surface :is(a,button,input,select,summary):focus-visible { outline: 3px solid var(--arcana-ring); outline-offset: 4px; }
.arcana-form-surface .validation-summary-valid, .arcana-form-surface .field-validation-valid { display: none; }
.arcana-form-surface .validation-summary-errors { margin: 20px 0; padding: 12px; background: #131b20; border: 1px solid #d6ac80; border-radius: 0; color: #ffe2ca; font: 17px/1.5 var(--arcana-font); }
.arcana-form-surface .validation-summary-errors ul { padding-left: 18px; margin: 0; }
.arcana-form-surface .field-validation-error { display: block; margin-top: 8px; color: #ffe2ca; }
@media(forced-colors:active) { .arcana-form-surface :is(input,select,button) { border: 1px solid ButtonText; box-shadow: none; } }
