{"version":3,"file":"dialog.css.cjs","names":[],"sources":["../../../src/overlay/dialog/dialog.css?inline"],"sourcesContent":["@layer refine.base {\n  :host {\n    --_radius: var(--dialog-radius, var(--rounded-lg));\n    --_padding: var(--dialog-padding, var(--size-4));\n    --_gap: var(--dialog-gap, var(--size-4));\n    --_max-width: var(--dialog-max-width, 32rem);\n    --_elevation: var(--shadow-xl);\n    --_backdrop-filter: none;\n    --_backdrop-bg: var(--dialog-backdrop, color-mix(in oklch, var(--color-canvas) 40%, transparent));\n    --_panel-bg: var(--dialog-bg, var(--color-canvas));\n    --_panel-blur: var(--dialog-panel-blur, var(--blur-md));\n    --_panel-border-color: var(--dialog-border-color, var(--color-divider));\n\n    display: contents;\n  }\n\n  /* =====================\n       Native <dialog> resets\n       ===================== */\n\n  dialog {\n    all: unset;\n    position: fixed;\n    inset: 0;\n    box-sizing: border-box;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    max-width: 100%;\n    height: 100%;\n    max-height: 100%;\n    padding: 0;\n    margin: 0;\n    overflow: hidden;\n    pointer-events: none;\n    background: transparent;\n    border: none;\n\n    /* display + overlay allow-discrete hold the element in the top layer during exit\n       and let @starting-style fire on entry via showModal().\n       Use fixed 200ms — --transition-normal resolves to 'none' under reduced-motion\n       which makes the entire declaration syntactically invalid if used here. */\n    transition:\n      display 200ms allow-discrete,\n      overlay 200ms allow-discrete;\n  }\n\n  /* all:unset removes the UA stylesheet's dialog:not([open]){display:none} — restore it */\n  dialog:not([open]) {\n    display: none;\n  }\n\n  dialog:not([open]) .panel {\n    display: none;\n  }\n\n  dialog[open] {\n    pointer-events: auto;\n  }\n\n  dialog::backdrop {\n    background: var(--_backdrop-bg);\n    opacity: 1;\n    backdrop-filter: var(--_backdrop-filter);\n    transition:\n      opacity var(--transition-normal),\n      overlay var(--transition-normal) allow-discrete,\n      display var(--transition-normal) allow-discrete;\n\n    @starting-style {\n      opacity: 0;\n    }\n  }\n\n  dialog.closing::backdrop {\n    opacity: 0;\n    transition:\n      opacity 150ms var(--ease-in-out),\n      overlay 150ms allow-discrete,\n      display 150ms allow-discrete;\n  }\n\n  /* =====================\n       Panel (the visible dialog box)\n       ===================== */\n\n  .panel {\n    position: relative;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    width: var(--_max-width);\n    max-width: calc(100vw - var(--size-8));\n    max-height: calc(100dvh - var(--size-8));\n    overflow: hidden;\n    background: var(--_panel-bg);\n    border: var(--border) solid var(--_panel-border-color);\n    border-radius: var(--_radius);\n    box-shadow: var(--dialog-shadow, var(--_elevation));\n    opacity: 1;\n    backdrop-filter: blur(var(--_panel-blur));\n    transform: scale(1) translateY(0);\n    transition:\n      opacity 200ms var(--ease-spring),\n      transform 200ms var(--ease-spring);\n\n    @starting-style {\n      opacity: 0;\n      transform: scale(var(--overlay-enter-scale-dialog)) translateY(4px);\n    }\n  }\n\n  dialog.closing .panel {\n    opacity: 0;\n    transform: scale(var(--overlay-enter-scale-dialog)) translateY(4px);\n    transition:\n      opacity 150ms var(--ease-spring),\n      transform 150ms var(--ease-spring);\n  }\n\n  /* =====================\n       Sizes\n       ===================== */\n\n  .panel[data-size='sm'] {\n    --_max-width: var(--dialog-max-width, 22rem);\n  }\n\n  .panel[data-size='md'] {\n    --_max-width: var(--dialog-max-width, 32rem);\n  }\n\n  .panel[data-size='lg'] {\n    --_max-width: var(--dialog-max-width, 48rem);\n  }\n\n  .panel[data-size='xl'] {\n    --_max-width: var(--dialog-max-width, 64rem);\n  }\n\n  .panel[data-size='full'] {\n    width: calc(100vw - var(--size-8));\n    max-width: calc(100vw - var(--size-8));\n    max-height: calc(100dvh - var(--size-8));\n  }\n\n  /* =====================\n       Header\n       ===================== */\n\n  .header {\n    display: flex;\n    flex-shrink: 0;\n    gap: var(--size-2);\n    align-items: center;\n    padding: var(--_padding);\n    padding-bottom: 0;\n  }\n\n  .header[hidden] {\n    display: none;\n  }\n\n  .title {\n    flex: 1;\n    font-size: var(--text-lg);\n    font-weight: var(--font-semibold);\n    line-height: var(--leading-tight);\n    color: var(--color-contrast-900);\n  }\n\n  .close {\n    display: inline-flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--size-8);\n    min-width: var(--_touch-target);\n    height: var(--size-8);\n    min-height: var(--_touch-target);\n    padding: 0;\n    margin-inline-start: auto;\n    color: var(--color-contrast-500);\n    cursor: pointer;\n    background: transparent;\n    border: none;\n    border-radius: var(--rounded-md);\n    transition:\n      background var(--transition-fast),\n      color var(--transition-fast);\n  }\n\n  .close:hover {\n    color: var(--color-contrast-900);\n    background: var(--color-contrast-200);\n  }\n\n  .close:focus-visible {\n    outline: var(--border-2) solid var(--color-focus);\n    outline-offset: var(--border-2);\n  }\n\n  .close[hidden] {\n    display: none;\n  }\n\n  /* =====================\n       Body\n       ===================== */\n\n  .body {\n    flex: 1;\n    padding: var(--_padding);\n    overflow-y: auto;\n    overscroll-behavior: contain;\n    font-size: var(--text-sm);\n    line-height: var(--leading-relaxed);\n    color: var(--color-contrast-700);\n  }\n\n  /* =====================\n       Footer\n       ===================== */\n\n  .footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--_gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--_padding);\n    padding-top: 0;\n  }\n\n  .footer[hidden] {\n    display: none;\n  }\n\n  /* =====================\n       Dividers when header/footer present\n       ===================== */\n\n  .header:not([hidden]) + .body {\n    padding-top: var(--size-4);\n  }\n\n  .body + .footer:not([hidden]) {\n    padding-top: var(--size-4);\n    border-top: var(--border) solid var(--color-contrast-100);\n  }\n\n  @media (width <= 640px) {\n    .panel,\n    .panel[data-size='sm'],\n    .panel[data-size='md'],\n    .panel[data-size='lg'],\n    .panel[data-size='xl'] {\n      width: calc(100vw - var(--size-4));\n      max-width: calc(100vw - var(--size-4));\n      max-height: calc(100dvh - var(--size-4));\n    }\n\n    .header,\n    .body,\n    .footer {\n      padding-inline: var(--size-3);\n    }\n  }\n}\n\n@layer refine.config {\n  :host([backdrop='blur']) {\n    --_backdrop-filter: blur(var(--blur-xs));\n  }\n\n  :host([backdrop='transparent']) {\n    --_backdrop-bg: transparent;\n  }\n\n  /* Panel elevation / shadow scale */\n  :host([elevation='none']) {\n    --_elevation: var(--shadow-none);\n  }\n\n  :host([elevation='sm']) {\n    --_elevation: var(--shadow-sm);\n  }\n\n  :host([elevation='md']) {\n    --_elevation: var(--shadow-md);\n  }\n\n  :host([elevation='lg']) {\n    --_elevation: var(--shadow-lg);\n  }\n\n  :host([elevation='xl']) {\n    --_elevation: var(--shadow-xl);\n  }\n\n  :host([elevation='2xl']) {\n    --_elevation: var(--shadow-2xl);\n  }\n\n  /* Padding scale */\n  :host([padding='none']) {\n    --_padding: var(--size-0);\n  }\n\n  :host([padding='sm']) {\n    --_padding: var(--size-3);\n  }\n\n  :host([padding='md']) {\n    --_padding: var(--size-4);\n  }\n\n  :host([padding='lg']) {\n    --_padding: var(--size-6);\n  }\n\n  :host([padding='xl']) {\n    --_padding: var(--size-8);\n  }\n}\n"],"mappings":""}