.switch-field{flex-direction:column;display:flex}.switch{cursor:pointer;user-select:none;align-items:center;display:inline-flex;position:relative}.switch[data-disabled=true]{cursor:not-allowed;opacity:.6}.switch .switch-input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.switch .track{background:var(--theme-ink-recess);border:1px solid var(--theme-input-border);border-radius:9999px;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-block}.switch .thumb{background:var(--theme-surface-overflow);box-shadow:var(--theme-shadow-sm);color:var(--theme-text-primary);border-radius:9999px;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;position:absolute}.switch .switch-label{margin-left:8px}.switch .switch-input:focus-visible~.track{box-shadow:var(--theme-shadow-focus)}.switch[data-size=sm] .track{width:32px;height:18px}.switch[data-size=sm] .thumb{width:14px;height:14px;left:2px}.switch[data-size=sm] .switch-input:checked~.thumb{transform:translate(14px)}.switch[data-size=md] .track{width:40px;height:22px}.switch[data-size=md] .thumb{width:18px;height:18px;left:2px}.switch[data-size=md] .switch-input:checked~.thumb{transform:translate(18px)}.switch[data-size=lg] .track{width:52px;height:28px}.switch[data-size=lg] .thumb{width:24px;height:24px;left:2px}.switch[data-size=lg] .switch-input:checked~.thumb{transform:translate(24px)}.switch .switch-input:checked~.thumb{transform:translate(calc(100% - 2px))}.switch .switch-input:checked~.track,.switch[data-color=primary] .switch-input:checked~.track,.switch[data-color=secondary] .switch-input:checked~.track{background:var(--theme-input-checked);border-color:var(--theme-input-checked)}.switch[data-color=success] .switch-input:checked~.track{background:var(--color-semantic-success-500);border-color:var(--color-semantic-success-500)}.switch[data-color=warning] .switch-input:checked~.track{background:var(--color-semantic-warning-500);border-color:var(--color-semantic-warning-500)}.switch[data-color=error] .switch-input:checked~.track{background:var(--color-semantic-error-500);border-color:var(--color-semantic-error-500)}.switch[data-color=custom] .switch-input:checked~.track{background:var(--switch-custom-color,var(--theme-input-checked));border-color:var(--switch-custom-color,var(--theme-input-checked))}.switch[data-invalid=true] .track{border-color:var(--color-semantic-error-500)}.switch[data-valid=true] .track{border-color:var(--color-semantic-success-500)}.switch[data-variant=pill] .switch-input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.switch[data-variant=pill] .pill-track{border-radius:var(--border-radius-md);border:1px solid var(--theme-border);background:var(--theme-bg-secondary);flex-shrink:0;width:78px;min-width:78px;height:28px;transition:background .2s,border-color .2s;display:inline-block;position:relative}.switch[data-variant=pill] .pill-thumb{border-radius:var(--border-radius-md);background:var(--theme-surface-overflow);width:calc(50% - 4px);height:20px;box-shadow:var(--theme-shadow-sm);opacity:1;transition:left .2s,background .2s;position:absolute;top:3px;left:3px}.switch[data-variant=pill] .pill-label-off,.switch[data-variant=pill] .pill-label-on{font-size:var(--typography-font-size-xs);letter-spacing:.04em;pointer-events:none;font-weight:700;transition:opacity .15s;position:absolute;top:50%;transform:translateY(-50%)}.switch[data-variant=pill] .pill-label-off{color:var(--theme-text-tertiary);opacity:1;right:8px}.switch[data-variant=pill] .pill-label-on{color:var(--theme-input-checked);opacity:0;left:8px}.switch[data-variant=pill] .switch-input:checked~.pill-track{background:color-mix(in srgb, var(--theme-input-checked) 10%, transparent);border-color:color-mix(in srgb, var(--theme-input-checked) 30%, transparent)}.switch[data-variant=pill] .switch-input:checked~.pill-track .pill-thumb{background:var(--theme-input-checked);opacity:1;box-shadow:none;left:calc(50% + 1px)}.switch[data-variant=pill] .switch-input:checked~.pill-track .pill-label-on{opacity:1}.switch[data-variant=pill] .switch-input:checked~.pill-track .pill-label-off{opacity:0}.switch[data-variant=pill] .switch-input:focus-visible~.pill-track{box-shadow:var(--theme-shadow-focus)}.switch-message{margin-top:var(--spacing-1);font-size:var(--typography-font-size-sm);line-height:var(--typography-line-height-normal)}.switch-message--error{color:var(--color-semantic-error-500)}.switch-message--success{color:var(--color-semantic-success-500)}.switch-message--helper{color:var(--theme-text-secondary)}
