.switch{--_background-colour: var(--switch-background-colour);--_background-colour-active: var(--switch-background-colour-active);--_background-colour-disabled: var(--switch-background-colour-disabled);--_background-colour-focus: var(--switch-background-colour-focus);--_background-colour-hover: var(--switch-background-colour-hover);--_border-colour: var(--switch-border-colour);--_border-colour-active: var(--switch-border-colour-active);--_border-colour-disabled: var(--switch-border-colour-disabled);--_border-colour-focus: var(--switch-border-colour-focus);--_border-colour-hover: var(--switch-border-colour-hover);--_border-radius: var(--switch-border-radius);--_border-width: var(--switch-border-width);--_thumb-border-radius: var(--switch-thumb-border-radius);--_thumb-border-width: calc(var(--switch-thumb-size) / 2);--_thumb-colour-disabled: var(--switch-thumb-colour-disabled);--_thumb-colour-off: var(--switch-thumb-colour-off);--_thumb-colour-off-active: var(--switch-thumb-colour-off-active);--_thumb-colour-off-focus: var(--switch-thumb-colour-off-focus);--_thumb-colour-off-hover: var(--switch-thumb-colour-off-hover);--_thumb-colour-on: var(--switch-thumb-colour-on);--_thumb-colour-on-active: var(--switch-thumb-colour-on-active);--_thumb-colour-on-focus: var(--switch-thumb-colour-on-focus);--_thumb-colour-on-hover: var(--switch-thumb-colour-on-hover);--_gap: var(--switch-gap);--_height: var(--switch-height);--_thumb-size: var(--switch-thumb-size);--_thumb-scale-up: 1.1;--_thumb-scale-up-x: 1.3;--_width: var(--switch-width);--_outline-colour: var(--switch-outline-colour);--_outline-offset: var(--switch-outline-offset);--_outline-style: var(--switch-outline-style);--_outline-width: var(--switch-outline-width);--_shadow: var(--switch-shadow);--_shadow-active: var(--switch-shadow-active);--_shadow-focus: var(--switch-shadow-focus);--_shadow-hover: var(--switch-shadow-hover);--_transition-duration: var(--switch-transition-duration);--_transition-timing-function: var(--switch-transition-timing-function)}.switch-track{display:inline-block;position:relative;vertical-align:middle;inline-size:var(--_width);block-size:var(--_height);cursor:pointer;box-shadow:var(--_shadow);border:var(--_border-width) solid var(--_border-colour);border-radius:var(--_border-radius);background-color:var(--_background-colour);-webkit-user-select:none;user-select:none;transition-property:box-shadow,border-color,background-color;transition-duration:var(--_transition-duration);transition-timing-function:var(--_transition-timing-function)}.switch-track:hover,.switch:hover+.switch-track{box-shadow:var(--_shadow-hover);border-color:var(--_border-colour-hover);background-color:var(--_background-colour-hover)}.switch-track:focus-within,switch:hover+.switch-track:focus-within{box-shadow:var(--_shadow-focus);border-color:var(--_border-colour-focus);background-color:var(--_background-colour-focus)}.switch-track:active,.switch:active+.switch-track{box-shadow:var(--_shadow-active);border-color:var(--_border-colour-active);background-color:var(--_background-colour-active)}.switch:has(:disabled),.switch:has(:disabled):is(:hover,:focus-within,:active),label:is(:hover,:active)+.switch:has(:disabled){cursor:not-allowed;box-shadow:var(--_shadow);border-color:var(--_border-colour);background-color:var(--_background-colour-disabled)}.switch:not(:has(:disabled)):is(:focus-within,:active),label:active+.switch:not(:has(:disabled)){outline-style:var(--_outline-style);outline-width:var(--_outline-width);outline-color:var(--_outline-colour);outline-offset:var(--_outline-offset)}.switch-thumb{display:block;position:absolute;inset-inline:calc(var(--_gap) - var(--_border-width)) calc((var(--_gap) * 2) - var(--_border-width) + var(--_thumb-size));inset-block-start:calc(var(--_gap) - var(--_border-width));block-size:var(--_thumb-size);border:var(--_thumb-border-width) solid transparent;border-radius:var(--_thumb-border-radius);background-color:var(--_thumb-colour-off);transform-origin:left;transition-property:transform-origin,background-color,scale,translate;transition-duration:var(--_transition-duration);transition-timing-function:var(--_transition-timing-function);transition-delay:calc(var(--_transition-duration) * 50%),0s,0s,0s;@media(prefers-reduced-motion:reduce){transition-property:background-color;transition-delay:0s}}.switch:not(:has(:disabled)):hover .switch-thumb,label:hover+.switch:not(:has(:disabled)) .switch-thumb{background-color:var(--_thumb-colour-off-hover);scale:var(--_thumb-scale-up)}.switch:focus-within .switch-thumb,label:hover+.switch:focus-within .switch-thumb{background-color:var(--_thumb-colour-off-focus);scale:var(--_thumb-scale-up)}.switch:not(:has(:disabled)):active .switch-thumb,label:active+.switch:not(:has(:disabled)) .switch-thumb{background-color:var(--_thumb-colour-off-active);scale:var(--_thumb-scale-up-x) var(--_thumb-scale-up)}.switch:has(:checked) .switch-thumb{background-color:var(--_thumb-colour-on);transform-origin:right;translate:calc(var(--_gap) + var(--_thumb-size))}.switch:not(:has(:disabled)):has(:checked):hover .switch-thumb,label:hover+.switch:not(:has(:disabled)):has(:checked) .switch-thumb{background-color:var(--_thumb-colour-on-hover)}.switch:has(:checked):focus-within .switch-thumb,label:hover+.switch:has(:checked):focus-within .switch-thumb{background-color:var(--_thumb-colour-on-focus)}.switch:not(:has(:disabled)):has(:checked):active .switch-thumb,label:active+.switch:not(:has(:disabled)):has(:checked) .switch-thumb{background-color:var(--_thumb-colour-on-active)}.switch:has(:disabled) .switch-thumb{background-color:var(--_thumb-colour-disabled)}.form{--_item-background-colour: var(--form-item-background-colour);--_item-background-colour-disabled: var(--form-item-background-colour-disabled);--_item-border-colour: var(--form-item-border-colour);--_item-border-colour-focus: var(--form-item-border-colour-focus);--_item-border-colour-hover: var(--form-item-border-colour-hover);--_item-border-radius: var(--form-item-border-radius);--_item-border-width: var(--form-item-border-width);--_item-colour-disabled: var(--form-item-colour-disabled);--_error-background-colour: var(--form-error-background-colour);--_error-colour: var(--form-error-colour);--_error-gap: var(--form-error-gap);--_error-svg-gap: var(--form-error-svg-gap);--_error-svg-size: var(--form-error-svg-size);--_item-font-size: var(--form-item-font-size);--_item-label-font-size: var(--form-item-label-font-size);--_item-gap: var(--form-item-gap);--_item-group-gap: var(--form-item-group-gap);--_item-padding-vertical: var(--form-item-padding-vertical);--_item-padding-horizontal: var(--form-item-padding-horizontal);--_item-shadow: var(--form-item-shadow);--_item-shadow-hover: var(--form-item-shadow-hover);--_item-shadow-focus: var(--form-item-shadow-focus);--_transition-duration-item: var(--form-transition-duration-item);--_transition-duration-error-slow: var(--form-transition-duration-error-slow);--_transition-duration-error-fast: var(--form-transition-duration-error-fast);--_transition-timing-function: var(--form-transition-timing-function)}.form-item-group{margin-block-end:var(--_item-group-gap);label{display:block;cursor:default;margin-block-end:var(--_item-gap);font-size:var(--_item-label-font-size)}textarea{block-size:auto}}.form-item:not(.switch-track){display:block;inline-size:100%;-webkit-appearance:none;box-shadow:var(--_item-shadow);border:var(--_item-border-width) solid var(--_item-border-colour);border-radius:var(--_item-border-radius);background-color:var(--_item-background-colour);padding:var(--_item-padding-vertical) var(--_item-padding-horizontal);font-size:var(--_item-font-size);transition-property:border-color,box-shadow;transition-duration:var(--_transition-duration-item);transition-timing-function:var(--_transition-timing-function);&:not(:disabled):hover{box-shadow:var(--_item-shadow-hover);border-color:var(--_item-border-colour-hover)}&:not(:disabled):focus{box-shadow:var(--_item-shadow-focus);border-color:var(--_item-border-colour-focus)}&:not(.switch-track):disabled{cursor:not-allowed;background-color:var(--_item-background-colour-disabled);color:var(--_item-colour-disabled);&:autofill{background-color:var(--_item-background-colour-disabled)!important;color:var(--_item-colour-disabled)!important}}}.form-item-error{display:flex;overflow:hidden;position:relative;z-index:-1;inset-block-start:calc(var(--_item-border-radius) * -1);block-size:0;opacity:0;align-items:end;box-shadow:var(--_item-shadow);border:0 solid var(--_item-border-colour);border-inline-width:var(--_item-border-width);border-end-start-radius:var(--_item-border-radius);border-end-end-radius:var(--_item-border-radius);background-color:var(--_error-background-colour);color:var(--_error-colour);transition-property:block-size,border-block-width,opacity;transition-duration:var(--_transition-duration-error-slow);transition-timing-function:var(--_transition-timing-function)}.form-error{display:flex;overflow:hidden;block-size:0;opacity:0;align-items:end;margin-block-end:0;box-shadow:var(--_item-shadow);border:0 solid var(--_item-border-colour);border-inline-width:var(--_item-border-width);border-radius:var(--_item-border-radius);background-color:var(--_error-background-colour);color:var(--_error-colour);transition-property:block-size,border-block-width,opacity,margin-block-end;transition-duration:var(--_transition-duration-error-slow);transition-timing-function:var(--_transition-timing-function)}.form-item-error[data-show],.form-error[data-show]{block-size:calc(var(--scroll-height) * 1px);opacity:1;border-block-width:var(--_item-border-width)}.form-error[data-show]{margin-block-end:var(--_error-gap)}.form-item-error-content,.form-error-content{display:flex;column-gap:var(--_error-svg-gap);padding:var(--_error-gap);padding-block-end:calc(var(--_error-gap) - var(--_item-border-radius));>svg{inline-size:auto;block-size:var(--_error-svg-size);flex-shrink:0;margin-block-start:var(--_item-gap);fill:currentColor}>p{margin:0}}@media(prefers-reduced-motion:reduce){.form-item-error,.form-error{transition-property:opacity}}.toast{--_gap: var(--toast-gap);--_max-width: var(--toast-max-width);--_padding: var(--toast-padding);--_transition-duration: var(--toast-transition-duration);--_transition-timing-function: var(--toast-transition-timing-function);overflow:hidden;position:fixed;inset-inline-end:0;inset-block-end:0;max-inline-size:min(100%,var(--_max-width));max-block-size:0;pointer-events:none;flex-direction:column;align-items:flex-end;row-gap:var(--_gap);padding:var(--_padding);transition-property:max-block-size;transition-duration:var(--_transition-duration);transition-timing-function:var(--_transition-timing-function);@media(prefers-reduced-motion:reduce){transition-duration:0s}}.toast-item{--_item-background-colour: var(--toast-item-background-colour);--_item-border-colour: var(--toast-item-border-colour);--_item-border-radius: var(--toast-item-border-radius);--_item-border-width: var(--toast-item-border-width);--_item-text-colour: var(--toast-item-text-colour);--_item-gap: var(--toast-item-gap);--_item-padding: var(--toast-item-padding);--_item-timeout-milliseconds: var(--toast-item-timeout-milliseconds);--_item-shadow: var(--toast-item-shadow);display:block;inline-size:fit-content;block-size:fit-content;opacity:0;pointer-events:auto;box-shadow:var(--_item-shadow);border:var(--_item-border-width) solid var(--_item-border-colour);border-radius:var(--_item-border-radius);background-color:var(--_item-background-colour);padding:var(--_item-padding);white-space:pre-wrap;color:var(--_item-text-colour);transition-property:opacity;transition-duration:var(--_transition-duration);transition-timing-function:var(--_transition-timing-function);transition-delay:calc(var(--_transition-duration) / 3);&[data-show]{opacity:1}@media(prefers-reduced-transparency:reduce){background-color:rgb(from var(--_item-background-colour) r g b / 100%)}}.clipboard{--_colour: var(--clipboard-colour);--_colour-active: var(--clipboard-colour-active);--_colour-focus: var(--clipboard-colour-focus);--_colour-hover: var(--clipboard-colour-hover);--_gap: var(--clipboard-gap);--_transition-duration: var(--clipboard-transition-duration);--_transition-timing-function: var(--clipboard-transition-timing-function);touch-action:manipulation;cursor:pointer;align-self:center;line-height:0;color:var(--_colour);transition-property:transform;transition-duration:var(--_transition-duration);transition-timing-function:var(--_transition-timing-function);&:hover{color:var(--_colour-hover)}&:focus{color:var(--_colour-focus)}&:active{color:var(--_colour-active);transform:scale(96%)}span:has(>&){--_gap: var(--clipboard-gap);display:inline-flex;column-gap:var(--_gap)}}
