.toast-stack{bottom:var(--space-24);z-index:2000;align-items:center;gap:var(--space-8);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-16);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);pointer-events:auto;max-width:min(480px, 100vw - 2 * var(--space-16));animation:.2s ease-out toast-slide-in;display:flex}.toast--error{border:1px solid var(--color-error-tint-border)}.toast--error .toast__icon{color:var(--color-error-text)}.toast--success{border:1px solid var(--color-success-tint-border)}.toast--success .toast__icon{color:var(--color-success-text)}.toast--warning{border:1px solid var(--color-warning-tint-border)}.toast--warning .toast__icon{color:var(--color-warning-text)}.toast__icon{flex-shrink:0}.toast__message{font-size:var(--text-sm);font-weight:var(--weight-control);color:var(--color-text);flex:1;line-height:1.4}.toast__close{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex}@media (pointer:coarse){.toast__close{width:44px;height:44px}}.toast__close{border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;transition:color .15s,background-color .15s}@media (hover:hover) and (pointer:fine){.toast__close:hover{color:var(--color-text);background:var(--color-hover)}}.toast__close:focus{outline:none}.toast__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.btn{vertical-align:middle;justify-content:center;align-items:center;gap:var(--space-8);height:var(--control-height);border-radius:var(--radius-md);font-size:.9rem;font-weight:var(--weight-control);white-space:nowrap;border:1px solid #0000;padding:0 20px;transition:background-color .15s,box-shadow .15s,opacity .15s;display:inline-flex}.btn:is(a){text-decoration:none}@media (hover:hover) and (pointer:fine){.btn:is(a):hover{text-decoration:none}}.btn:focus{outline:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn--primary{background:var(--color-primary-solid);color:#fff;--spinner-ink:currentColor;--spinner-track:#ffffff57}@media (hover:hover) and (pointer:fine){.btn--primary:hover:not(:disabled){background:var(--color-primary-solid-hover)}}.btn--primary:active:not(:disabled){background:var(--color-primary-solid-active)}.btn--secondary{color:var(--color-primary);border-color:var(--color-border-control);box-shadow:var(--shadow-xs-cast);background:0 0}@media (hover:hover) and (pointer:fine){.btn--secondary:hover:not(:disabled){background:var(--color-primary-tint-subtle)}}.btn--secondary:active:not(:disabled){background:var(--color-primary-tint);box-shadow:none}.btn--pressed.btn--primary{background:var(--color-primary-solid-active)}.btn--pressed.btn--secondary{background:var(--color-primary-tint);box-shadow:none}.btn--destructive.btn--primary{background:var(--color-error-solid);--spinner-ink:currentColor;--spinner-track:#ffffff57}@media (hover:hover) and (pointer:fine){.btn--destructive.btn--primary:hover:not(:disabled){background:var(--color-error-solid-hover)}}.btn--destructive.btn--primary:active:not(:disabled){background:var(--color-error-solid-active)}.btn--destructive.btn--secondary{color:var(--color-error-text);border-color:var(--color-error)}@media (hover:hover) and (pointer:fine){.btn--destructive.btn--secondary:hover:not(:disabled){background:var(--color-error-tint)}}.btn--destructive.btn--secondary:active:not(:disabled){background:var(--color-error-tint-border);box-shadow:none}.btn--sm{height:var(--control-height-sm);padding:0 14px;font-size:.85rem}.btn--lg{height:var(--control-height-lg);padding:0 24px}.btn--full-width{width:100%}.btn:disabled{background:var(--color-surface-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);box-shadow:none;cursor:not-allowed}.icon-button{justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}@media (pointer:coarse){.icon-button{width:44px;height:44px}}.icon-button{border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;vertical-align:middle;background:0 0;border:none;transition:color .15s,background-color .15s}@media (hover:hover) and (pointer:fine){.icon-button:hover:not(:disabled){color:var(--color-primary);background:var(--color-primary-tint-subtle)}.icon-button--danger:hover:not(:disabled){color:var(--color-error-text);background:var(--color-error-tint)}.icon-button--on-dark:hover:not(:disabled){color:var(--color-text-on-solid);background:var(--color-on-dark-hover)}}.icon-button--on-dark{color:var(--color-text-on-solid)}.icon-button:focus{outline:none}.icon-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.icon-button--sm{position:relative}.icon-button--sm:after{content:"";width:100%;min-width:24px;height:100%;min-height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.icon-button--sm{width:20px;height:20px}@media (pointer:coarse){.icon-button--sm{width:20px;height:20px}}.icon-button:disabled{color:var(--color-text-disabled);cursor:not-allowed}.modal-overlay{background:var(--color-backdrop);z-index:1000;padding:var(--space-24);justify-content:center;align-items:center;line-height:1.6;animation:.18s ease-out modal-scrim-in;display:flex;position:fixed;inset:0}@media (width<=480px){.modal-overlay{align-items:flex-end;padding:0}}.modal-overlay--viewer{background:var(--color-viewer-stage);padding:var(--space-24);align-items:stretch}@media (width<=480px){.modal-overlay--viewer{padding:var(--space-16);align-items:stretch}}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:480px;max-height:80vh;animation:.18s ease-out modal-dialog-in;display:flex;overflow:hidden}@media (width<=480px){.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:none;max-height:92dvh;animation:.22s cubic-bezier(.2,0,0,1) modal-sheet-in}}.modal--compact{max-width:400px}.modal--wide{max-width:800px}.modal--canvas{max-width:960px}.modal--viewer{box-shadow:none;width:100%;max-width:none;height:100%;max-height:none;color:var(--color-text-on-solid);background:0 0;border-radius:0}@media (width<=480px){.modal--viewer{border-radius:0;max-height:none}}.modal--viewer .modal__header{padding:0 0 var(--space-8);flex-shrink:0}.modal--viewer .modal__header h2{font-size:var(--text-md);font-weight:var(--weight-control);color:var(--color-text-on-solid)}.modal--viewer .modal__close{color:var(--color-text-on-solid)}.modal:focus{outline:none}.modal__header{padding:var(--space-24) var(--space-24) var(--space-16);justify-content:space-between;align-items:center;display:flex}.modal__header h2{font-size:var(--text-xl);font-weight:var(--weight-title)}.modal__heading{align-items:center;gap:var(--space-16);min-width:0;display:flex}.modal__icon{flex-shrink:0;display:inline-flex}.modal__heading-text{min-width:0}.modal__heading-text h2{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.modal__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary)}.modal__header-actions{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.modal__close{font-size:var(--text-2xl);color:var(--color-text-secondary);padding:var(--space-4);border-radius:var(--radius-sm);background:0 0;border:none;line-height:1}@media (pointer:coarse){.modal__close{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;display:inline-flex}}@media (hover:hover) and (pointer:fine){.modal__close:hover{color:var(--color-text)}}.modal__close:focus{outline:none}.modal__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal__body{padding:0 var(--space-24) var(--space-24);background:linear-gradient(var(--color-surface) 30%, transparent) top/100% 20px no-repeat local, linear-gradient(transparent, var(--color-surface) 70%) bottom/100% 20px no-repeat local, radial-gradient(farthest-side at 50% 0, var(--color-keyline), transparent) top/100% 7px no-repeat, radial-gradient(farthest-side at 50% 100%, var(--color-keyline), transparent) bottom/100% 7px no-repeat;flex:0 auto;overflow-y:auto}.modal__description{font-size:var(--text-md);color:var(--color-text-secondary);margin-bottom:var(--space-16)}.modal__footer{padding:var(--space-16) var(--space-24) var(--space-24);justify-content:flex-end;align-items:center;gap:var(--space-8);display:flex}.modal__footer--split{justify-content:space-between}.modal__footer-actions{align-items:center;gap:var(--space-8);display:flex}@media (width<=480px){.modal__footer .btn,.modal__footer-actions{flex:1 1 0}}@keyframes modal-scrim-in{0%{background-color:#0000}}@keyframes modal-dialog-in{0%{opacity:0;transform:translateY(var(--space-8)) scale(.98)}}@keyframes modal-sheet-in{0%{transform:translateY(var(--space-32))}}.form-alert{z-index:3;align-items:flex-start;gap:var(--space-8);padding:var(--space-8) var(--space-16);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-control);color:var(--color-text);margin-bottom:var(--space-16);line-height:1.5;display:flex;position:relative}.form-alert__icon{margin-top:var(--space-2);flex-shrink:0}.form-alert__body{min-width:0}.form-alert--error{background:var(--color-error-tint);border:1px solid var(--color-error-tint-border)}.form-alert--error .form-alert__icon{color:var(--color-error-text)}.form-alert--success{background:var(--color-success-tint);border:1px solid var(--color-success-tint-border)}.form-alert--success .form-alert__icon{color:var(--color-success-text)}.form-alert--info{background:var(--color-primary-tint);border:1px solid var(--color-primary-tint-strong)}.form-alert--info .form-alert__icon{color:var(--color-primary)}.form-alert--warning{background:var(--color-warning-tint);border:1px solid var(--color-warning-tint-border)}.form-alert--warning .form-alert__icon{color:var(--color-warning-text)}.field{gap:var(--space-6);min-width:0;font-size:var(--text-md);flex-direction:column;display:flex}.field__label{font-size:var(--text-md);font-weight:var(--weight-control);color:var(--color-text)}.field__optional{font-weight:var(--weight-body);color:var(--color-text-secondary)}.field__control{width:var(--field-w,100%);position:relative}.field__control:focus-within .field__input,.field__control:focus-within .field__textarea{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary), var(--shadow-xs)}.field__control:focus-within .field__input--error,.field__control:focus-within .field__textarea--error{border-color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error), var(--shadow-xs)}.field__control--icon .field__input{padding-left:var(--control-lane-icon)}.field__control--prefix .field__input{padding-left:calc(var(--field-prefix-ch,1) * 1ch + var(--space-16));font-variant-numeric:tabular-nums}.field__control--suffix .field__input{padding-right:calc(var(--field-suffix-ch,1) * 1ch + var(--space-16));font-variant-numeric:tabular-nums}.field__control--help .field__input{padding-right:var(--control-lane-action)}@media (pointer:coarse){.field__control--help .field__input{padding-right:var(--control-lane-action-touch)}}.field__icon{color:var(--color-text-secondary);pointer-events:none;display:inline-flex;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.field__static{min-height:var(--control-height);font-size:var(--text-md);color:var(--color-text-secondary);align-items:center;display:flex}.field__prefix,.field__suffix{color:var(--color-text-secondary);font-size:var(--text-md);pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}@media (pointer:coarse){.field__prefix,.field__suffix{font-size:var(--text-lg)}}.field__suffix{left:auto;right:10px}.field__input{background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);color:var(--color-text);outline:none;transition:border-color .1s linear,box-shadow .1s linear}.field__input::placeholder{color:var(--color-text-secondary)}@media (hover:hover) and (pointer:fine){.field__input:hover:not(:disabled):not(:focus){border-color:var(--color-border-control-hover)}}.field__input:focus{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary), var(--shadow-xs);outline:none}.field__input:disabled{background:var(--color-surface-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);cursor:not-allowed;box-shadow:none}.field__input{width:100%;height:var(--control-height);padding:0 var(--control-inset);font-family:inherit;font-size:var(--text-md)}@media (pointer:coarse){.field__input{font-size:var(--text-lg)}}.field__input--code{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-lg);letter-spacing:.35em;text-align:center}.field__input--sm{height:var(--control-height-sm);font-size:var(--text-sm)}@media (pointer:coarse){.field__input--sm{font-size:var(--text-lg)}}.field__input--error{border-color:var(--color-error)}.field__input--error:focus{border-color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error), var(--shadow-xs)}.field__textarea{background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);color:var(--color-text);outline:none;transition:border-color .1s linear,box-shadow .1s linear}.field__textarea::placeholder{color:var(--color-text-secondary)}@media (hover:hover) and (pointer:fine){.field__textarea:hover:not(:disabled):not(:focus){border-color:var(--color-border-control-hover)}}.field__textarea:focus{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary), var(--shadow-xs);outline:none}.field__textarea:disabled{background:var(--color-surface-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);cursor:not-allowed;box-shadow:none}.field__textarea{width:var(--field-w,100%);min-height:var(--textarea-min-height);padding:var(--space-8) var(--control-inset);font-family:inherit;font-size:var(--text-md);resize:vertical;line-height:1.5}@media (pointer:coarse){.field__textarea{font-size:var(--text-lg)}}.field__hint{font-size:var(--text-xs);color:var(--color-text-secondary)}.field__error,.field__warning{align-items:flex-start;gap:var(--space-4);font-size:var(--text-xs);font-weight:var(--weight-body);color:var(--color-error-text);display:flex}.field__error svg,.field__warning svg{margin-top:var(--space-1);flex:none}.field__warning{color:var(--color-warning-text)}.field:has(.choice-card,.radio-card)>:is(.field__hint,.field__error,.field__warning){margin-top:var(--space-6)}.field>:is(.segmented:not(.segmented--full),.switch,.swatch-picker){align-self:flex-start}.field--w-xs{--field-w:calc(4ch + 22px)}.field--w-sm{--field-w:calc(10ch + 22px)}.field--w-md{--field-w:calc(18ch + 22px)}.field--w-lg{--field-w:calc(30ch + 22px)}.field-stack{gap:var(--space-16);flex-direction:column;min-width:0;display:flex}.field-stack--page{gap:var(--space-24)}.field-stack--capped{max-width:var(--form-max)}.field-stack__group-heading{font-size:var(--text-md);font-weight:var(--weight-title);color:var(--color-text);margin-top:var(--space-16)}.field-stack__group-heading:first-child{margin-top:0}.field-stack__actions{justify-content:flex-end;align-items:center;gap:var(--space-8);margin-top:var(--space-16);display:flex}.field-stack--page .field-stack__actions{margin-top:var(--space-32);justify-content:flex-start}.card .field-stack__actions{justify-content:flex-start}.field-row{column-gap:var(--space-16);row-gap:var(--space-6);grid-template-columns:repeat(2,max-content);place-items:center start;display:grid}.field-row:has(>.field:nth-child(3)){grid-template-columns:repeat(3,max-content)}.field-row>.field{display:contents}.field-row>.field>.field__label{grid-row:1}.field-row>.field>:not(.field__label,.field__error,.field__warning,.field__hint){grid-row:2}.field-row>.field:first-child>:not(.field__error,.field__warning,.field__hint){grid-column:1}.field-row>.field:nth-child(2)>:not(.field__error,.field__warning,.field__hint){grid-column:2}.field-row>.field:nth-child(3)>:not(.field__error,.field__warning,.field__hint){grid-column:3}.field-row>.field>:is(.field__error,.field__warning,.field__hint){grid-column:1/-1}.field-row>.field>.field__control{width:var(--field-w,auto)}.field-grid{grid-template-columns:repeat(auto-fit, minmax(max(240px, 50% - var(--space-24)), 1fr));column-gap:var(--space-24);row-gap:var(--space-16);align-items:start;display:grid}.colour-mark{vertical-align:middle;border-radius:50%;flex-shrink:0;display:inline-block}.colour-mark--sm{width:8px;height:8px}.colour-mark--md{width:10px;height:10px}.field-help{justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}@media (pointer:coarse){.field-help{width:44px;height:44px}}.field-help{border-radius:var(--radius-sm);color:var(--color-text-secondary);background:0 0;border:none;padding:0;transition:color .15s}@media (hover:hover) and (pointer:fine){.field-help:hover{color:var(--color-primary)}}.field-help:focus{outline:none}.field-help:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;color:var(--color-primary)}
