.pattern-overlay{z-index:90;background:#131a2b73;animation:.14s ease-out pattern-overlay-in;position:fixed;inset:0}.pattern-modal,.pattern-drawer,.pattern-alert,.pattern-toast,.pattern-empty-state,.pattern-upload-dropzone,.pattern-upload-file{box-sizing:border-box;color:var(--ui-ink-900);font-family:var(--font-sans)}.pattern-modal{z-index:91;border-radius:var(--ui-radius-panel);background:var(--ui-surface-card);width:min(480px,100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--ui-shadow-modal);border:0;flex-direction:column;gap:12px;padding:24px;animation:.16s ease-out pattern-modal-in;display:flex;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.pattern-modal[data-size=small]{width:min(480px,100vw - 32px)}.pattern-modal[data-size=medium]{width:min(560px,100vw - 32px)}.pattern-modal[data-size=large]{width:min(760px,100vw - 32px)}.pattern-modal[data-size=wide]{width:min(920px,100vw - 32px)}.pattern-modal-header{flex-direction:column;gap:12px;display:flex}.pattern-modal[data-has-close-button=true] .pattern-modal-header{padding-right:36px}.pattern-modal-title,.pattern-drawer-title{color:var(--ui-ink-900);font:800 var(--ui-text-title) / 1.25 var(--font-sans);overflow-wrap:anywhere;margin:0}.pattern-drawer-title{width:min(400px,100%)}.pattern-modal-description,.pattern-drawer-description{color:var(--ui-ink-500);font:400 var(--ui-text-hint) / var(--ui-leading-hint) var(--font-sans);margin:0}.pattern-modal-footer{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:auto;display:flex}.pattern-close{border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-control);background:var(--ui-surface-card);width:32px;height:32px;color:var(--ui-ink-500);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:16px;right:16px}.pattern-close:hover{background:var(--ui-surface-sunken);color:var(--ui-ink-900)}.pattern-drawer{z-index:91;inset-block:0;background:var(--ui-surface-card);width:min(568px,100vw);height:100dvh;box-shadow:var(--ui-shadow-drawer);border:0;flex-direction:column;gap:16px;padding:24px;animation:.18s ease-out pattern-drawer-in;display:flex;position:fixed;right:0;overflow:hidden}.pattern-drawer>.pattern-close{top:24px;right:24px}.pattern-drawer-header{flex-direction:column;gap:4px;min-height:48px;padding-right:48px;display:flex}.pattern-drawer-header>[data-pattern-overline]{color:var(--ui-ink-500);font:800 var(--ui-text-overline) / var(--ui-leading-overline) var(--font-sans);letter-spacing:var(--ui-tracking-overline);text-transform:uppercase}.pattern-drawer-body{flex:auto;min-height:0;overflow:auto}.pattern-drawer-footer{flex:none;justify-content:space-between;align-items:center;gap:16px;display:flex}.pattern-alert{border:1px solid var(--ui-blue-border);border-radius:var(--ui-radius-default);background:var(--ui-blue-bg);width:100%;color:var(--ui-blue-hover);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.pattern-alert[data-tone=amber]{border-color:var(--ui-amber-border);background:var(--ui-amber-bg);color:var(--ui-amber-text)}.pattern-alert[data-tone=red]{border-color:var(--ui-red-border);background:var(--ui-red-bg);color:var(--ui-red-text)}.pattern-alert[data-tone=green]{background:var(--ui-green-bg);color:var(--ui-green-text);border-color:#0000}.pattern-alert-title{font:700 var(--ui-text-meta) / var(--ui-leading-meta) var(--font-sans);overflow-wrap:anywhere;margin:0}.pattern-alert-description{color:currentColor;font:400 var(--ui-text-hint) / var(--ui-leading-hint) var(--font-sans);opacity:.8;overflow-wrap:anywhere}.pattern-alert-action{color:var(--ui-blue-hover);font:700 var(--ui-text-body) / var(--ui-leading-body) var(--font-sans)}.pattern-toast{border-radius:var(--ui-radius-default);background:var(--ui-green-bg);width:min(360px,100vw - 24px);box-shadow:var(--ui-shadow-dropdown);color:var(--ui-green-text);align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.pattern-toast[data-tone=error]{background:var(--ui-red-bg);color:var(--ui-red-text)}.pattern-toast[data-tone=info]{background:var(--ui-blue-bg);color:var(--ui-blue-hover)}.pattern-toast-icon{flex:0 0 16px}.pattern-toast-copy{flex:auto;min-width:0}.pattern-toast-title,.pattern-toast-description{overflow-wrap:anywhere;margin:0}.pattern-toast-title{font:700 var(--ui-text-meta) / var(--ui-leading-meta) var(--font-sans)}.pattern-toast-description{font:400 var(--ui-text-hint) / var(--ui-leading-hint) var(--font-sans);opacity:.85;margin-top:2px}.pattern-toast-dismiss{color:currentColor;cursor:pointer;background:0 0;border:0;flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;padding:0;display:block}.pattern-empty-state{border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-panel);background:var(--ui-surface-card);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:min(520px,100%);min-height:147px;padding:32px 24px;display:flex}.pattern-empty-state[data-kind=empty],.pattern-empty-state[data-kind=forbidden],.pattern-empty-state[data-kind=error]{min-height:162px}.pattern-empty-title{width:min(440px,100%);max-width:100%;color:var(--ui-ink-900);font:800 var(--ui-text-panel-title) / var(--ui-leading-panel-title) var(--font-sans);overflow-wrap:anywhere;margin:0}.pattern-empty-description{width:min(440px,100%);max-width:440px;color:var(--ui-ink-500);font:400 var(--ui-text-hint) / var(--ui-leading-hint) var(--font-sans);overflow-wrap:anywhere}.pattern-empty-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.pattern-upload{width:min(520px,100%)}.pattern-upload-dropzone{border:1px dashed var(--ui-border-strong);border-radius:var(--ui-radius-panel);background:var(--ui-surface-card);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 24px;transition:border-color .12s,background-color .12s;display:flex}.pattern-upload-dropzone[data-dragging=true]{border-color:var(--ui-blue-default);background:var(--ui-blue-bg)}.pattern-upload-dropzone[data-invalid=true]{border-color:var(--ui-red-border);background:var(--ui-red-bg)}.pattern-upload-dropzone[data-disabled=true]{cursor:not-allowed;opacity:.6}.pattern-upload-dropzone:focus-visible{outline:2px solid var(--ui-blue-default);outline-offset:3px}.pattern-upload-dropzone:has(:focus-visible){outline:2px solid var(--ui-blue-default);outline-offset:3px}.pattern-upload-title,.pattern-upload-hint,.pattern-upload-formats{margin:0}.pattern-upload-title{font:800 var(--ui-text-panel-title) / var(--ui-leading-panel-title) var(--font-sans)}.pattern-upload-dropzone[data-invalid=true] .pattern-upload-title{color:var(--ui-red-text)}.pattern-upload-hint,.pattern-upload-formats{color:var(--ui-ink-500);font:400 var(--ui-text-hint) / var(--ui-leading-hint) var(--font-sans)}.pattern-upload-pick{margin-top:2px}.pattern-upload-input{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pattern-upload-errors{color:var(--ui-red-text);font:400 var(--ui-text-hint) / var(--ui-leading-hint) var(--font-sans);gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.pattern-upload-errors strong{font-weight:700}.pattern-upload-file{border:1px solid var(--ui-border-strong);background:var(--ui-surface-card);border-radius:10px;align-items:center;gap:16px;min-width:0;padding:16px;display:flex}.pattern-upload-file-copy{flex:auto;gap:4px;min-width:0;display:grid}.pattern-upload-file-copy p{overflow-wrap:anywhere;margin:0}.pattern-upload-file-copy .ui-type-caption{color:var(--ui-ink-500)}.pattern-upload-replace{cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0}.pattern-close:focus-visible,.pattern-toast-dismiss:focus-visible{outline:2px solid var(--ui-blue-default);outline-offset:3px}@keyframes pattern-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes pattern-modal-in{0%{opacity:0;transform:translate(-50%,-49%)scale(.99)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes pattern-drawer-in{0%{transform:translate(16px)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.pattern-overlay,.pattern-modal,.pattern-drawer{animation:none}}@media (max-width:480px){.pattern-modal,.pattern-drawer{padding:20px}.pattern-modal-footer{width:100%}.pattern-modal-footer>*{flex:auto}.pattern-upload-dropzone{padding:32px 16px}}.pattern-limitation{padding:var(--ui-space-12) var(--ui-space-16);border:1px solid var(--ui-amber-border);border-radius:var(--ui-radius-default);background:var(--ui-amber-bg);color:var(--ui-ink-900);align-items:center;gap:10px;display:flex}.pattern-limitation>svg{color:var(--ui-amber-text);flex-shrink:0}.pattern-limitation>p{flex:1;min-width:0}.pattern-limitation>button{flex-shrink:0}
