@layer components{.form-card{background:var(--surface);border-radius:var(--r-2xl);box-shadow:var(--shadow-card);gap:var(--sp-5);padding:clamp(1.25rem,.9rem + 2vw,2.5rem);display:grid}.form-grid{gap:var(--sp-5);display:grid}.field{gap:var(--sp-2);display:grid}.field__label,.choices__legend{color:var(--text);font-size:.9375rem;font-weight:500;line-height:1.35}.field__opt{color:var(--text-subtle);font-weight:400}.field__hint{color:var(--text-muted);font-size:var(--fs-small);margin-top:-.25rem}.field__input{border-radius:var(--r-btn);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:inherit;box-shadow:inset 0 0 0 1px var(--line-ui);transition:box-shadow var(--dur-micro) var(--ease-out);border:0;padding:.7rem .95rem;font-size:1rem;line-height:1.4}textarea.field__input{resize:vertical;min-height:7.5rem}.field__select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311373D' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;background-size:1.1rem;padding-right:2.5rem}.field__input:hover{box-shadow:inset 0 0 0 1px var(--text)}.field__input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.field__input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--danger)}.field__error{color:var(--danger);font-size:var(--fs-small);font-weight:500}.field__error:empty{display:none}.field__warn{color:var(--text-muted);font-size:var(--fs-small);box-shadow:inset 2px 0 0 var(--accent);padding-left:.75rem}.choices{gap:var(--sp-2);border:0;min-width:0;margin:0;padding:0;display:grid}.choices__legend{margin-bottom:var(--sp-2);padding:0}.choices__grid{gap:var(--sp-2);grid-template-columns:1fr;display:grid}@media (width>=480px){.choices__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.choices__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.chip-opt{border-radius:var(--r-md);background:var(--surface);min-height:48px;box-shadow:inset 0 0 0 1px var(--line-ui);cursor:pointer;transition:box-shadow var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);align-items:center;gap:.65rem;padding:.6rem .9rem;line-height:1.3;display:flex;position:relative}.chip-opt:hover{box-shadow:inset 0 0 0 1px var(--text)}.chip-opt input{width:1.15rem;height:1.15rem;accent-color:var(--accent-text);flex:none;margin:0}.chip-opt:has(input:checked){background:var(--tint);box-shadow:inset 0 0 0 2px var(--accent-text)}.chip-opt:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.choices[aria-invalid=true] .chip-opt{box-shadow:inset 0 0 0 1px var(--danger)}.consent-opt{font-size:var(--fs-small);color:var(--text-muted);grid-template-columns:auto 1fr;align-items:start;gap:.65rem;display:grid}.consent-opt input{width:1.15rem;height:1.15rem;accent-color:var(--accent-text);margin:.15rem 0 0}.form-notice{color:var(--text-subtle);font-size:var(--fs-small)}.form-notice a{color:var(--accent-text)}.form-status{font-size:var(--fs-small);font-weight:500}.form-status:empty{display:none}.form-status[data-state=error]{color:var(--danger);border-radius:var(--r-md);background:color-mix(in srgb, var(--danger) 7%, var(--surface));padding:.75rem 1rem}.form-status[data-state=info]{color:var(--text)}.form-actions{align-items:center;gap:var(--sp-3) var(--sp-5);flex-wrap:wrap;display:flex}.form-steps{align-items:center;gap:var(--sp-3);color:var(--text-muted);font-size:var(--fs-small);display:flex}.form-steps__bar{background:var(--line);border-radius:4px;flex:1;max-width:10rem;height:4px;overflow:hidden}.form-steps__bar span{height:100%;width:var(--p,50%);background:var(--accent);border-radius:inherit;transition:width var(--dur-ui) var(--ease-out);display:block}.form-success{gap:var(--sp-4);display:grid}.form-success h2,.form-success h3{font-size:var(--fs-h3)}:is(.field,.choices,.form-actions,.form-notice,.form-grid,.form-card,.form-success,.consent-opt)[hidden]{display:none}.hp-field{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}}
