.form-grid{gap:1.5rem 1.25rem;display:grid}@media (width>=720px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:1/-1}}.field{align-content:start;gap:.45rem;min-width:0;display:grid}.field fieldset{border:0;gap:.45rem;min-width:0;margin:0;padding:0;display:grid}.label{flex-wrap:wrap;align-items:baseline;gap:.4rem;padding:0;font-size:.98rem;font-weight:550;display:flex}.req{color:var(--danger)}.opt{color:var(--muted);font-size:.78rem;font-weight:500}.help{color:var(--muted);margin-top:-.15rem;font-size:.86rem}.field input:not([type=radio],[type=checkbox]),.field select,.field textarea{background:var(--surface);border:1px solid var(--line-strong);appearance:none;border-radius:12px;width:100%;min-height:50px;padding:.75rem .95rem;font-size:1rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.field textarea{resize:vertical;min-height:110px;line-height:1.55}.field input::placeholder,.field textarea::placeholder{color:color-mix(in srgb, var(--muted) 75%, transparent)}.field input:hover,.field select:hover,.field textarea:hover{border-color:color-mix(in srgb, var(--ink) 40%, transparent)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}.select-wrap{position:relative}.select-wrap:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;right:1rem;transform:translateY(-70%)rotate(45deg)}.field select{cursor:pointer;padding-right:2.5rem}.choices{gap:.5rem;display:grid}.choices-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}.choice{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:12px;align-items:center;gap:.7rem;min-height:50px;padding:.65rem .95rem;font-size:.95rem;transition:border-color .2s,background-color .2s,box-shadow .2s;display:flex;position:relative}.choice:hover{border-color:color-mix(in srgb, var(--ink) 40%, transparent)}.choice input,.consent input{opacity:0;width:1px;height:1px;position:absolute}.choice-ui{border:1.5px solid var(--line-strong);background:var(--surface);border-radius:50%;flex:none;width:20px;height:20px;transition:border-color .2s,background-color .2s;position:relative}.field-checkboxes .choice-ui,.choice-ui.box{border-radius:6px}.choice input:checked~.choice-ui,.consent input:checked~.choice-ui{border-color:var(--accent);background:var(--accent)}.choice input[type=radio]:checked~.choice-ui:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:4px}.field-checkboxes .choice input:checked~.choice-ui:after,.consent input:checked~.choice-ui:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:2.5px;left:6px;transform:rotate(45deg)}.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.choice:has(input:focus-visible),.consent:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.consent{color:var(--ink-2);cursor:pointer;align-items:flex-start;gap:.75rem;font-size:.93rem;display:flex;position:relative}.consent .choice-ui{margin-top:.15rem}.consent a{color:var(--accent)}.error{color:var(--danger);min-height:0;font-size:.87rem;font-weight:500}.error:empty{display:none}.error:before{content:"⚠ "}.field.has-error input:not([type=radio],[type=checkbox]),.field.has-error select,.field.has-error textarea{border-color:var(--danger);background:var(--danger-soft)}.field.has-error .choice{border-color:color-mix(in srgb, var(--danger) 50%, transparent)}.field.has-error .consent .choice-ui{border-color:var(--danger)}.counter{color:var(--muted);text-align:right;font-size:.78rem}.counter.near{color:var(--danger)}.form-alert{border-radius:var(--radius);align-items:flex-start;gap:.8rem;padding:1rem 1.15rem;font-size:.95rem;display:flex}.form-alert[hidden]{display:none}.form-alert svg{flex:none;width:1.25rem;height:1.25rem;margin-top:.15rem}.form-alert.error-alert{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent)}.form-alert a{color:inherit;font-weight:600}.hp{width:1px;height:1px;overflow:hidden;position:absolute!important;left:-10000px!important}.spinner{width:1.1em;height:1.1em;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn .spinner{display:none}.btn.is-loading .spinner{display:block}.btn.is-loading .btn-label-idle,.btn .btn-label-busy{display:none}.btn.is-loading .btn-label-busy{display:inline}
