@planningcenter/topbar 12.4.1-qa-980.2 → 12.4.1-qa-982.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/topbar.css CHANGED
@@ -776,7 +776,7 @@ Caused by products overriding .topbar-wrap’s z-index.
776
776
  animation:
777
777
  copied-enter-k4P4y var(--copied-enter) var(--t-ease-out) forwards,
778
778
  copied-exit-oCDAu var(--copied-exit) var(--t-ease-out)
779
- calc(var(--copied-enter) + var(--copied-active)) forwards;
779
+ calc(var(--copied-enter) + var(--copied-active)) forwards;
780
780
  }
781
781
 
782
782
  .copied-DUFa1 .keycap-ENJM2 {
@@ -797,7 +797,7 @@ Caused by products overriding .topbar-wrap’s z-index.
797
797
  inset: 0;
798
798
  border-radius: inherit;
799
799
  pointer-events: none;
800
- border: 2px solid var(--t-border-color-status-success);
800
+ border: var(--t-border-width-thick) solid var(--t-border-color-status-success);
801
801
  opacity: var(--copied);
802
802
  }
803
803
 
@@ -966,9 +966,9 @@ Caused by products overriding .topbar-wrap’s z-index.
966
966
  .result-Thq2C {
967
967
  display: flex;
968
968
  align-items: center;
969
- gap: 12px;
969
+ gap: var(--t-spacing-1-half);
970
970
  min-height: 56px;
971
- padding: var(--t-spacing-1) var(--product-search-row-inset, 12px);
971
+ padding: var(--t-spacing-1) var(--product-search-row-inset, var(--t-spacing-1-half));
972
972
  color: var(--t-text-color);
973
973
  text-decoration: none;
974
974
  border-radius: var(--t-border-radius-md);
@@ -1050,7 +1050,7 @@ Caused by products overriding .topbar-wrap’s z-index.
1050
1050
  display: grid;
1051
1051
  grid-template-columns: auto minmax(0, 1fr);
1052
1052
  align-content: center;
1053
- gap: 0 12px;
1053
+ gap: 0 var(--t-spacing-1-half);
1054
1054
  }
1055
1055
 
1056
1056
  .image-KVDor {
@@ -1067,7 +1067,7 @@ Caused by products overriding .topbar-wrap’s z-index.
1067
1067
 
1068
1068
  .heading-LioUF {
1069
1069
  padding: var(--t-spacing-half)
1070
- var(--product-search-heading-inset, var(--product-search-row-inset, 12px));
1070
+ var(--product-search-heading-inset, var(--product-search-row-inset, var(--t-spacing-1-half)));
1071
1071
  color: var(--t-text-color-secondary);
1072
1072
  font-size: var(--t-font-size-sm);
1073
1073
  }
@@ -1765,6 +1765,9 @@ Caused by products overriding .topbar-wrap’s z-index.
1765
1765
  scrollbar-color: var(--t-fill-color-transparency-dark-030);
1766
1766
  scrollbar-width: var(--topbar-scrollbar-width);
1767
1767
  }
1768
+ .drawer-j7f4l[hidden] {
1769
+ display: none;
1770
+ }
1768
1771
 
1769
1772
  @media (min-width: 600px) {
1770
1773
  .drawer-wrap-J0rSL {
@@ -1 +1 @@
1
- {"version":3,"sources":["topbar.scss","_utils.scss","_native-in-app-browser.scss","styles.module.css","app_row.module.css","apps_button.module.scss","apps_menu.module.css","unbutton.module.css","popup.module.css","search_button.module.css","product_search.module.css","keyboard_hints.module.css","product_icon.module.css","product_select.module.css","product_tabs.module.css","blank_state.module.scss","search_result.module.css","search_results.module.css","search_input.module.css","loading_spinner.module.css","user_menu.module.css","avatar.module.css","apps_switcher.module.css","debug_pco_resource.module.css","drawer.module.css","indicator_dot.module.css","color_mode_switcher.module.scss","AskAIBanner.module.css","AskAIButton.module.css"],"names":[],"mappings":"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","file":"topbar.css","sourcesContent":["@charset \"UTF-8\";\n:root {\n --topbar-height: 56px;\n --topbar-slight-transition: 120ms ease-in;\n --topbar-slight-transition-background: background-color var(--topbar-slight-transition);\n --topbar-scrollbar-color: var(--t-fill-color-transparency-dark-030) transparent;\n --topbar-scrollbar-width: thin;\n --topbar-nav-link-font-size: var(--t-font-size-sm);\n --topbar-nav-link-font-color: var(--t-text-color-headline);\n --topbar-nav-link-height: var(--t-container-size-md);\n --topbar-nav-link-background-color: transparent;\n --topbar-nav-link-padding-x: 12px;\n --topbar-nav-link-border-color: transparent;\n --topbar-nav-link-border-radius: 999px;\n --topbar-nav-link-transition: var(--topbar-slight-transition-background);\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-040);\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-060);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-app-menu-margin-left: var(--t-spacing-2);\n --topbar-app-menu-padding-x: var(--t-spacing-half);\n --topbar-app-menu-offset: calc(\n var(--topbar-app-menu-padding-x) - var(--t-spacing-1) * 2 - var(--t-border-width)\n );\n --topbar-action-size: 48px;\n --toolbar-width: 64px;\n --toolbar-inner-width: 48px;\n --toolbar-drawer-width: 360px;\n --toolbar-navbar-height: 56px;\n --content-wrap-border-color: hsla(0, 0%, 0%, 0.08);\n --content-wrap-shadow-dimensions: 0 -1px 0 0;\n}\n\n@media (min-width: 600px) {\n :root {\n --topbar-height: 64px;\n --topbar-action-size: var(--topbar-nav-link-height);\n --content-wrap-shadow-dimensions: 0 0 0 1px;\n }\n}\n:root[data-color-mode=dark] {\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-020);\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-010);\n --content-wrap-border-color: hsla(0, 0%, 100%, 0.04);\n}\n\n@media (prefers-color-scheme: dark) {\n :root[data-color-mode=system] {\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-020);\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-010);\n --content-wrap-border-color: hsla(0, 0%, 100%, 0.04);\n }\n}\n/*\nFix for Safari bug:\nOn mobile breakpoints, when the app switcher or user profile menu are open,\nprevent .top-wrap from covering them.\n\nCaused by products overriding .topbar-wrap’s z-index.\n*/\n.page-wrap:has(div[class^=appmenu-layer][style*=\"display: block\"]) .topbar-wrap {\n z-index: initial !important;\n}\n\n.hide-scrollbar {\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n}\n\n.hide-scrollbar::-webkit-scrollbar {\n display: none; /* Chrome, Safari, and Opera */\n}\n\n:root[data-app-context=native] {\n --toolbar-navbar-height: 0;\n}\n:root[data-app-context=native],\n:root[data-app-context=native] body {\n height: auto;\n min-height: 100vh;\n}\n:root[data-app-context=native] .page-wrap,\n:root[data-app-context=native] .product-wrap {\n height: auto;\n overflow: visible;\n}\n:root[data-app-context=native] .top-wrap,\n:root[data-app-context=native] .page-wrap,\n:root[data-app-context=native] .product-wrap,\n:root[data-app-context=native] .toolbar-wrap {\n min-width: 0;\n}\n\n:root[data-app-context=native] * {\n -webkit-overflow-scrolling: auto !important;\n}\n\n:root[data-app-context=native] .topbar-wrap {\n display: none;\n}\n\n:root[data-app-context=native] .toolbar-wrap {\n overflow: hidden;\n}\n\n:root[data-app-context=native] .content-wrap {\n padding-bottom: var(--app-content-inset-bottom, unset);\n overflow: visible;\n}\n\n:root[data-app-context=native] .content-scroll footer[role=contentinfo] {\n display: none;\n}\n\n@media screen and (min-width: 600px) {\n :root[data-app-context=native] {\n --toolbar-width: 0px;\n --topbar-height: 0px;\n --toolbar-drawer-width: 48vw;\n }\n :root[data-app-context=native] .content-wrap {\n margin: 0 !important;\n border-radius: 0;\n }\n :root[data-app-context=native] .toolbar-wrap {\n overflow: visible;\n }\n}",":root {\n --topbar-height: 56px;\n --topbar-slight-transition: 120ms ease-in;\n --topbar-slight-transition-background: background-color var(--topbar-slight-transition);\n --topbar-scrollbar-color: var(--t-fill-color-transparency-dark-030) transparent;\n --topbar-scrollbar-width: thin;\n\n --topbar-nav-link-font-size: var(--t-font-size-sm);\n --topbar-nav-link-font-color: var(--t-text-color-headline);\n --topbar-nav-link-height: var(--t-container-size-md);\n --topbar-nav-link-background-color: transparent;\n --topbar-nav-link-padding-x: 12px;\n --topbar-nav-link-border-color: transparent;\n --topbar-nav-link-border-radius: 999px;\n --topbar-nav-link-transition: var(--topbar-slight-transition-background);\n\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-040);\n\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-060);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-030);\n \n --topbar-app-menu-margin-left: var(--t-spacing-2);\n --topbar-app-menu-padding-x: var(--t-spacing-half);\n --topbar-app-menu-offset: calc(\n var(--topbar-app-menu-padding-x) - var(--t-spacing-1) * 2 - var(--t-border-width)\n );\n\n --topbar-action-size: 48px;\n\n --toolbar-width: 64px;\n --toolbar-inner-width: 48px;\n --toolbar-drawer-width: 360px;\n --toolbar-navbar-height: 56px;\n\n --content-wrap-border-color: hsla(0, 0%, 0%, 0.08);\n --content-wrap-shadow-dimensions: 0 -1px 0 0;\n}\n\n@media (min-width: 600px) {\n :root {\n --topbar-height: 64px;\n\n --topbar-action-size: var(--topbar-nav-link-height);\n\n --content-wrap-shadow-dimensions: 0 0 0 1px;\n }\n}\n\n:root[data-color-mode=\"dark\"] {\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-020);\n\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-010);\n\n --content-wrap-border-color: hsla(0, 0%, 100%, 0.04);\n}\n\n@media (prefers-color-scheme: dark) {\n :root[data-color-mode=\"system\"] {\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-020);\n\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-010);\n\n --content-wrap-border-color: hsla(0, 0%, 100%, 0.04);\n }\n}\n\n/*\nFix for Safari bug:\nOn mobile breakpoints, when the app switcher or user profile menu are open,\nprevent .top-wrap from covering them.\n\nCaused by products overriding .topbar-wrap’s z-index.\n*/\n.page-wrap:has(div[class^=\"appmenu-layer\"][style*=\"display: block\"]) .topbar-wrap {\n z-index: initial !important;\n}\n\n.hide-scrollbar {\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n}\n\n.hide-scrollbar::-webkit-scrollbar {\n display: none; /* Chrome, Safari, and Opera */\n}\n","// The document (not .content-wrap) must own vertical scrolling for iOS scroll-to-top and pull-to-refresh to work.\n:root[data-app-context=\"native\"] {\n --toolbar-navbar-height: 0;\n\n &,\n body {\n height: auto;\n min-height: 100vh;\n }\n\n .page-wrap,\n .product-wrap {\n height: auto;\n overflow: visible;\n }\n\n // Without overflow: hidden these grid items lose their automatic minimum\n // size of 0, letting wide content (tables) blow the layout past the viewport.\n .top-wrap,\n .page-wrap,\n .product-wrap,\n .toolbar-wrap {\n min-width: 0;\n }\n}\n\n// Legacy touch scrolling is a no-op in Safari but still active inside embedded\n// WKWebViews, where it swallows vertical pans that should chain to the document.\n:root[data-app-context=\"native\"] * {\n -webkit-overflow-scrolling: auto !important;\n}\n\n:root[data-app-context=\"native\"] .topbar-wrap {\n display: none;\n}\n\n:root[data-app-context=\"native\"] .toolbar-wrap {\n overflow: hidden;\n}\n\n:root[data-app-context=\"native\"] .content-wrap {\n padding-bottom: var(--app-content-inset-bottom, unset);\n overflow: visible;\n}\n\n:root[data-app-context=\"native\"] .content-scroll footer[role=\"contentinfo\"] {\n display: none;\n}\n\n@media screen and (min-width: 600px) {\n :root[data-app-context=\"native\"] {\n --toolbar-width: 0px;\n --topbar-height: 0px;\n --toolbar-drawer-width: 48vw;\n }\n\n :root[data-app-context=\"native\"] .content-wrap {\n margin: 0 !important;\n border-radius: 0;\n }\n\n :root[data-app-context=\"native\"] .toolbar-wrap {\n overflow: visible;\n }\n}\n\n",".toolbar {\n display: flex;\n width: 100vw;\n height: var(--toolbar-navbar-height);\n padding: var(--t-spacing-1);\n padding-top: calc(var(--t-spacing-1) - 1px);\n gap: var(--t-spacing-1);\n}\n\n.toolbar-button {\n font: inherit;\n color: var(--t-fill-color-transparency-dark-060);\n background-color: transparent;\n border: var(--t-border-width) solid transparent;\n border-radius: var(--t-border-radius-lg);\n flex-grow: 1;\n transition: var(--topbar-slight-transition-background);\n cursor: pointer;\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.toolbar-button:hover {\n background-color: var(--t-fill-color-button-interaction-ghost-hover);\n}\n.toolbar-button:active,\n.toolbar-button.is-current {\n color: var(--t-fill-color-transparency-dark-080);\n background-color: var(--t-fill-color-button-interaction-ghost-active);\n}\n\n.toolbar-button--avatar {\n display: none;\n}\n.toolbar-button--avatar > div {\n margin-left: 0;\n width: var(--t-container-size-md);\n height: auto;\n aspect-ratio: 1 / 1;\n}\n\n.toolbar-button--home {\n color: hsl(221, 93%, 55%);\n}\n\n@media (min-width: 600px) {\n .toolbar {\n width: var(--toolbar-width);\n height: auto;\n padding-top: var(--t-spacing-1);\n flex-direction: column;\n }\n\n .toolbar-button {\n aspect-ratio: 1 / 1;\n }\n .toolbar-button:hover {\n background-color: var(--t-fill-color-transparency-light-040);\n }\n .toolbar-button:active,\n .toolbar-button.is-current {\n color: var(--t-fill-color-transparency-dark-080);\n background-color: var(--t-fill-color-transparency-light-060);\n border-color: var(--t-fill-color-transparency-light-030);\n }\n\n .toolbar-button--avatar {\n display: inline-flex;\n }\n\n .toolbar-button--home {\n display: none;\n }\n}\n",".icon-slot {\n display: flex;\n justify-content: center;\n width: var(--t-container-size-sm);\n flex-shrink: 0;\n}\n\n.name {\n font-size: inherit;\n}\n",".button {\n color: var(--t-text-color);\n padding-left: var(--t-spacing-1);\n padding-right: var(--t-spacing-1);\n height: 100%;\n white-space: nowrap;\n display: flex;\n align-items: center;\n gap: var(--t-spacing-1);\n transition: var(--topbar-slight-transition-background);\n\n --\\_svg-display: none;\n\n svg[data-logo=\"mono-app-text\"],\n svg[class^=\"chevron\"] {\n display: var(--\\_svg-display);\n }\n\n @media (min-width: 720px) {\n --\\_svg-display: block;\n\n padding-left: var(--t-spacing-2);\n padding-right: var(--t-spacing-2);\n\n svg[data-logo=\"color-app-icon\"] {\n width: 24px;\n height: 24px;\n }\n }\n}\n\n.button-accounts {\n color: var(--t-text-color);\n font-size: var(--t-font-size-sm);\n font-weight: var(--t-font-weight-medium);\n margin-left: var(--t-spacing-fourth);\n}\n\n.chevron {\n border-radius: 100%;\n padding: var(--t-spacing-fourth);\n display: block;\n transition: var(--topbar-slight-transition-background);\n transition-property: background-color, transform;\n}\n.chevron polygon {\n transform: translateY(0.5px);\n}\n\n.button:hover .chevron,\n.button.is-expanded .chevron {\n background-color: var(--t-fill-color-transparency-light-050);\n}\n.button.is-expanded .chevron {\n transform: rotate(180deg);\n}\n",".popup {\n top: calc(var(--topbar-height) - var(--t-spacing-1));\n left: var(--t-spacing-2);\n min-width: 180px;\n max-height: calc(100% - var(--topbar-height) - var(--t-spacing-3));\n}\n",".unbutton {\n font-family: inherit;\n appearance: none;\n background-color: transparent;\n border: none;\n cursor: pointer;\n display: inline-block;\n outline: 0;\n padding: 0;\n}\n",".popup-root {\n display: flex;\n align-self: flex-end;\n}\n\n.popup {\n background: var(--t-surface-color-card);\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 4px 12px 2px rgba(0, 0, 0, 0.16);\n border-radius: var(--t-border-radius-lg);\n position: absolute;\n overflow: auto;\n scrollbar-color: var(--topbar-scrollbar-color);\n scrollbar-width: var(--topbar-scrollbar-width);\n opacity: 0;\n visibility: hidden;\n transition: all 120ms ease-in;\n}\n\n.popup.is-visible {\n opacity: 1;\n transition: none;\n visibility: visible;\n}\n",".searchButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--topbar-action-size);\n height: var(--topbar-action-size);\n padding: 0;\n margin-right: var(--t-spacing-half);\n background-color: var(--topbar-nav-link-background-color-active);\n color: var(--topbar-nav-link-font-color);\n border: var(--t-border-width) solid var(--topbar-nav-link-border-color-active);\n border-radius: var(--topbar-nav-link-border-radius);\n cursor: pointer;\n transition: var(--topbar-nav-link-transition);\n}\n\n/*\n * At phone widths, where the small topbar shows, it sits bare in the header,\n * the same target as the avatar's.\n */\n@media (max-width: 599px) {\n .searchButton {\n margin-right: 0;\n background-color: transparent;\n color: var(--t-text-color-headline);\n border: 0;\n border-radius: 0;\n }\n}\n",".modal {\n --product-search-padding-inline: var(--t-spacing-2);\n --product-search-padding-block: var(--t-spacing-2);\n --product-search-tab-padding-inline: var(--t-spacing-2);\n --product-search-heading-inset: calc(\n var(--product-search-tab-padding-inline) + var(--t-border-width)\n );\n\n height: 640px;\n max-height: calc(100vh - var(--t-spacing-3) * 2);\n /* Keeps the results panel's background inside the rounded corners. */\n overflow: hidden;\n}\n\n/*\n * Tapestry's .tds-modal sets padding and border on the same element with\n * equal weight, and some products load Tapestry after topbar. The modal's ID\n * outranks it whatever the order. Only these two properties use it, so the\n * phone-width .modal rules below still override the rest.\n */\n.modal:global(#product_search_modal) {\n padding: 0;\n border: var(--t-border-width) solid var(--t-border-color);\n}\n\n/* Fits mobile Safari's visible viewport, between its toolbars. */\n@supports (height: 100dvh) {\n .modal {\n max-height: calc(100dvh - var(--t-spacing-3) * 2);\n }\n}\n\n.visuallyHidden {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n\n/* Scrolls the results under the product picker, tabs or dropdown. */\n.panel {\n flex: 1;\n min-height: 0;\n padding: var(--product-search-padding-block)\n var(--product-search-results-inset, var(--product-search-padding-inline));\n /* Lets results lay out by the panel's width rather than the viewport's. */\n container-type: inline-size;\n scroll-padding-block: var(--product-search-padding-block);\n overflow-y: auto;\n overscroll-behavior: contain;\n}\n\n/*\n * Phone widths, where the small topbar shows (DisplaySwitch's default \"xs\"\n * and \"sm\" breakpoints). The modal fills the screen rather than floating at a\n * desktop height, with tighter padding above and below each section.\n * Result rows and headings pad themselves by --product-search-row-inset,\n * narrower here so the highlight sits closer to the content, and the panel's\n * sides take that off to line their images and text up with the search icon.\n * There are no tabs here, so headings line up with the results instead.\n */\n@media (max-width: 599px) {\n .modal {\n --product-search-padding-block: var(--t-spacing-2);\n --product-search-row-inset: var(--t-spacing-1);\n --product-search-heading-inset: var(--product-search-row-inset);\n --product-search-results-inset: calc(\n var(--product-search-padding-inline) - var(--product-search-row-inset)\n );\n\n height: calc(100vh - var(--t-spacing-3) * 2);\n }\n\n @supports (height: 100dvh) {\n .modal {\n height: calc(100dvh - var(--t-spacing-3) * 2);\n }\n }\n\n /* Section headings pad themselves, so they start just under the select. */\n .panel {\n padding-block-start: 0;\n }\n\n /*\n * Tapestry only takes a class for the dialog, so its overlay and frame are\n * reached through it. Top and bottom margins narrow to 8px; the sides keep\n * 16px of backdrop to tap. The frame fills the dynamic viewport, which\n * follows Safari's toolbars as they show and hide. The dialog stretches to\n * fill the frame.\n *\n * Mobile Safari draws the keyboard over the page without shrinking 100dvh,\n * so while it's open the frame sizes to the visible viewport instead. A\n * bottom margin the keyboard's height keeps the overlay's centering above\n * it.\n *\n * Browsers without :has() drop these rules, so the modal keeps its own\n * height there. No @supports selector() guard: consuming apps run this file\n * through libsass, which can't parse it.\n */\n :global(.tds-modal-overlay):has(.modal) {\n --tds-modal-min-margin-block: var(--t-spacing-1);\n }\n\n :global(.tds-modal-frame):has(> .modal) {\n --tds-modal-edge-margin-inline: var(--t-spacing-2);\n\n height: calc(100vh - var(--t-spacing-1) * 2);\n height: calc(\n var(--visual-viewport-height, 100dvh) - var(--t-spacing-1) * 2\n );\n margin-block-end: calc(100dvh - var(--visual-viewport-height, 100dvh));\n }\n\n :global(.tds-modal-frame):has(> .modal) > .modal {\n height: auto;\n max-height: none;\n }\n}\n",".container {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: var(--t-spacing-1);\n /* Each hint pads itself by --t-spacing-1, so its keycaps line up with\n the tabs. */\n padding: var(--t-spacing-half)\n calc(var(--product-search-padding-inline) - var(--t-spacing-1));\n margin: 0;\n list-style: none;\n border-top: var(--t-border-width) solid var(--t-border-color);\n}\n\n.hint {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n gap: var(--t-spacing-half);\n padding: var(--t-spacing-half) var(--t-spacing-1);\n border-radius: var(--t-border-radius-lg);\n color: var(--t-text-color-placeholder);\n font-size: var(--t-font-size-xs);\n}\n\n.keycap {\n --keycap-size: 20px;\n --keycap-padding: 4px;\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--keycap-size);\n height: var(--keycap-size);\n padding: var(--keycap-padding);\n margin-block: var(--t-spacing-fourth);\n background-color: var(--t-fill-color-neutral-070);\n color: var(--t-text-color-placeholder);\n font-family: inherit;\n font-size: calc(var(--keycap-size) - var(--keycap-padding) * 2);\n font-weight: var(--t-font-weight-semibold);\n border-radius: var(--t-border-radius-md);\n}\n\n.keycap svg {\n flex-shrink: 0;\n width: 1.4em;\n width: 2cap;\n height: 1.4em;\n height: 2cap;\n stroke-width: 2;\n}\n\n.container[data-platform=\"pc\"] .keycap {\n width: auto;\n min-width: var(--keycap-size);\n}\n\n.container[data-platform=\"pc\"] .keycap svg {\n margin-inline: calc(var(--keycap-padding) * -1);\n}\n\n.labels {\n display: grid;\n overflow: clip;\n}\n\n.labels > * {\n grid-area: 1 / 1;\n}\n\n@property --copied {\n syntax: \"<percentage>\";\n inherits: true;\n initial-value: 0%;\n}\n\n.copied {\n position: relative;\n background-color: color-mix(\n in srgb,\n var(--t-fill-color-status-success-ghost) calc(var(--copied) * 0.3),\n transparent\n );\n animation:\n copied-enter var(--copied-enter) var(--t-ease-out) forwards,\n copied-exit var(--copied-exit) var(--t-ease-out)\n calc(var(--copied-enter) + var(--copied-active)) forwards;\n}\n\n.copied .keycap {\n animation: copied-keypress 350ms cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n\n.copied .labels > :first-child {\n translate: 0 calc(var(--copied) * -1);\n}\n\n.copied .labels > :last-child {\n translate: 0 calc(100% - var(--copied));\n}\n\n.copied::after {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n border: 2px solid var(--t-border-color-status-success);\n opacity: var(--copied);\n}\n\n@keyframes copied-enter {\n to { --copied: 100% }\n}\n\n@keyframes copied-exit {\n from { --copied: 100% }\n to { --copied: 0% }\n}\n\n@keyframes copied-keypress {\n 20%,\n 26% {\n translate: 0 1px;\n scale: 0.88;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .copied {\n --copied: 100%;\n animation: none;\n }\n\n .copied .keycap {\n animation: none;\n }\n}\n",".icon {\n position: relative;\n display: block;\n flex-shrink: 0;\n}\n\n.icon::before {\n content: \"\";\n position: absolute;\n inset: 12.5%;\n background-color: hsl(0, 0%, 100%);\n border-radius: 20%;\n}\n\n.squircle {\n position: absolute;\n inset: 0;\n mask-size: 100%;\n}\n",".picker {\n flex-shrink: 0;\n padding: 0 var(--product-search-padding-inline) var(--t-spacing-1);\n}\n\n.option {\n display: inline-flex;\n align-items: center;\n gap: var(--t-spacing-1);\n}\n",".tablist {\n display: flex;\n flex-shrink: 0;\n gap: var(--t-spacing-half);\n padding-inline: var(--product-search-padding-inline);\n padding-top: var(--t-spacing-half);\n border-bottom: var(--t-border-width) solid var(--t-border-color);\n}\n\n.tab {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--t-spacing-1);\n min-width: 48px;\n height: 40px;\n padding: 0 var(--product-search-tab-padding-inline);\n margin-bottom: calc(var(--t-border-width) * -1);\n background-color: var(--t-fill-color-neutral-070);\n color: var(--t-text-color-secondary);\n font-size: var(--t-font-size-md);\n border: var(--t-border-width) solid transparent;\n border-bottom-color: var(--t-border-color);\n border-radius: var(--t-border-radius-md) var(--t-border-radius-md) 0 0;\n cursor: pointer;\n}\n\n.tab:hover {\n background-color: var(--t-fill-color-neutral-060);\n}\n\n.tab:focus-visible {\n outline: none;\n}\n\n/* Set by useKeyboardFocus: Safari leaves :focus-visible off focus the modal's\n focus scope moves here by script, as it does when Tab is pressed. */\n.tab[data-focus-visible] {\n z-index: 1;\n}\n\n.tab[data-focus-visible]::after {\n content: \"\";\n position: absolute;\n /* Measured from inside the tab's border, so step out past it too. */\n inset: calc((var(--t-focus-ring-offset) + var(--t-border-width)) * -1);\n border-radius: calc(var(--t-border-radius-md) + var(--t-focus-ring-offset));\n box-shadow: 0 0 0 var(--t-focus-ring-width) var(--t-focus-ring-color);\n pointer-events: none;\n}\n\n.tab[aria-selected=\"true\"] {\n background-color: var(--t-surface-color-card);\n border-color: var(--t-border-color);\n border-bottom-color: var(--t-surface-color-card);\n cursor: default;\n}\n",".blank_state {\n max-width: 300px;\n margin-inline: auto;\n padding-block: var(--t-spacing-2);\n text-align: center;\n\n @media screen and (min-width: 600px) {\n padding-block: var(--t-spacing-5);\n }\n\n h2 {\n color: var(--t-text-color-headline);\n font-size: var(--t-font-size-xl);\n font-weight: var(--t-font-weight-semibold);\n margin: 0;\n }\n\n p {\n color: var(--t-text-color-secondary);\n font-size: var(--t-font-size-md);\n margin: 0;\n }\n}\n\n.image {\n color: var(--t-fill-color-status-info-ghost);\n\n svg {\n width: 30vw;\n max-width: 240px;\n height: auto;\n\n @media screen and (min-width: 600px) {\n width: 18vw;\n }\n }\n\n :global(:root[data-color-mode=\"dark\"]) & {\n color: var(--t-fill-color-status-neutral-ghost);\n }\n\n @media (prefers-color-scheme: dark) {\n :global(:root[data-color-mode=\"system\"]) & {\n color: var(--t-fill-color-status-neutral-ghost);\n }\n }\n}\n\n",".result {\n display: flex;\n align-items: center;\n gap: 12px;\n min-height: 56px;\n padding: var(--t-spacing-1) var(--product-search-row-inset, 12px);\n color: var(--t-text-color);\n text-decoration: none;\n border-radius: var(--t-border-radius-md);\n /* Taps get the highlight below instead of the browser's grey flash. */\n -webkit-tap-highlight-color: transparent;\n}\n\n.result:hover,\n.result:focus,\n.result:active,\n.result:visited {\n color: var(--t-text-color);\n text-decoration: none;\n}\n\n.result[aria-selected=\"true\"],\n.result:active {\n background-color: var(--t-fill-color-button-interaction-ghost-hover);\n}\n\n.title {\n flex-shrink: 0;\n max-width: 60%;\n /* Clips sideways for the ellipsis, leaving room below for descenders,\n which Segoe UI on Windows draws past the line. */\n overflow-x: clip;\n font-size: var(--t-font-size-lg);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.subtitle {\n min-width: 0;\n overflow-x: clip;\n color: var(--t-text-color-secondary);\n font-size: var(--t-font-size-sm);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.image {\n --result-image-size: 32px;\n\n position: relative;\n flex-shrink: 0;\n width: var(--result-image-size);\n height: var(--result-image-size);\n}\n\n.avatar,\n.photo {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.avatar {\n border-radius: 50%;\n}\n\n.photo {\n border-radius: var(--t-border-radius-md);\n}\n\n.badge {\n position: absolute;\n right: -4px;\n bottom: -4px;\n filter: drop-shadow(0 1px 1px var(--t-fill-color-transparency-dark-static-010));\n}\n\n/*\n * Too narrow for the title and meta to share a line, as on a phone, so they\n * stack beside a smaller image.\n */\n@container (max-width: 480px) {\n .result {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n align-content: center;\n gap: 0 12px;\n }\n\n .image {\n --result-image-size: 28px;\n\n grid-row: span 2;\n align-self: center;\n }\n\n .title {\n max-width: none;\n }\n}\n",".heading {\n padding: var(--t-spacing-half)\n var(--product-search-heading-inset, var(--product-search-row-inset, 12px));\n color: var(--t-text-color-secondary);\n font-size: var(--t-font-size-sm);\n}\n\n.group:not(:first-child) > .heading {\n margin-top: var(--t-spacing-2);\n}\n","/*\n * The field is a box of its own, so keyboard focus can ring it like an input.\n * Padding all around gives the ring room, and the row's padding is that much\n * less than the section padding, so the icon lines up with the tabs.\n */\n.row {\n --header-inset-block: var(--t-spacing-1);\n --header-inset-inline: var(--t-spacing-half);\n\n display: flex;\n flex-shrink: 0;\n align-items: center;\n gap: var(--t-spacing-1);\n padding-top: calc(\n var(--product-search-padding-block) - var(--header-inset-block)\n );\n padding-inline: calc(\n var(--product-search-padding-inline) - var(--header-inset-inline)\n );\n padding-bottom: calc(var(--t-spacing-1-half) - var(--header-inset-block));\n}\n\n/*\n * A label, so a click anywhere in it focuses the input. Products style labels\n * app-wide, with margins, line heights, weights and even display, so like the\n * input below, these rules add its ID to outrank them.\n */\n.header:global(#topbar_product_search_label) {\n display: flex;\n flex: 1;\n align-items: center;\n gap: var(--t-spacing-1);\n min-width: 0;\n margin: 0;\n padding: var(--header-inset-block) var(--header-inset-inline);\n color: inherit;\n font: inherit;\n letter-spacing: inherit;\n text-transform: none;\n border-radius: var(--t-border-radius-lg);\n outline: var(--t-focus-ring-width) solid transparent;\n cursor: text;\n transition: outline-color var(--t-duration-200) var(--t-ease-in-out);\n}\n\n/* Only from the keyboard, since a click or tap already shows where it is. */\n.header:global(#topbar_product_search_label):has([data-focus-visible]) {\n outline-color: var(--t-focus-ring-color);\n}\n\n/* A 48px tap target around the 32px button, like the small topbar's. */\n.closeButton {\n position: relative;\n flex-shrink: 0;\n}\n\n.closeButton::before {\n position: absolute;\n inset: calc((var(--t-container-size-xl) - var(--t-container-size-md)) / -2);\n content: \"\";\n}\n\n/*\n * Products style their own inputs, often by element and type with states\n * like :focus. There's only ever one product search field, so these rules\n * add its ID, set as a plain string in SearchInput, which outranks any\n * product rule without one.\n */\n.input:global(#product_search) {\n position: static;\n flex: 1;\n min-width: 0;\n height: auto;\n margin: 0;\n padding: 0;\n background: none;\n color: var(--t-text-color);\n font: inherit;\n font-size: var(--t-font-size-xl);\n line-height: normal;\n border: 0 solid transparent;\n border-radius: 0;\n box-shadow: none;\n outline: none;\n}\n\n.input:global(#product_search)::placeholder {\n color: var(--t-text-color-placeholder);\n}\n\n.input:global(#product_search)::-webkit-search-cancel-button {\n appearance: none;\n}\n\n.clearButton {\n --clear-button-size: 20px;\n --clear-button-background: var(--t-fill-color-neutral-030);\n --clear-button-background-hover: var(--t-fill-color-neutral-025);\n\n flex-shrink: 0;\n width: var(--clear-button-size);\n height: var(--clear-button-size);\n padding: 0;\n background: none;\n border: 0;\n cursor: pointer;\n}\n\n:global(:root[data-color-mode=\"dark\"]) .clearButton {\n --clear-button-background: var(--t-fill-color-neutral-040);\n --clear-button-background-hover: var(--t-fill-color-neutral-050);\n}\n\n@media (prefers-color-scheme: dark) {\n :global(:root[data-color-mode=\"system\"]) .clearButton {\n --clear-button-background: var(--t-fill-color-neutral-040);\n --clear-button-background-hover: var(--t-fill-color-neutral-050);\n }\n}\n\n.clearButton svg {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.clearButton circle {\n fill: var(--clear-button-background);\n transition: fill var(--topbar-slight-transition);\n}\n\n.clearButton:hover circle {\n fill: var(--clear-button-background-hover);\n}\n\n.clearButton path {\n stroke: #fff;\n stroke-width: 2;\n stroke-linecap: round;\n}\n",".spinner {\n --spinner-size: 54px;\n --spinner-track-width: 6px;\n --spinner-track-color: var(--t-border-color-dim);\n --spinner-color: var(--t-border-color-status-info);\n\n display: inline-block;\n box-sizing: border-box;\n width: var(--spinner-size);\n height: var(--spinner-size);\n border: var(--spinner-track-width) solid var(--spinner-track-color);\n border-bottom-color: var(--spinner-color);\n border-radius: 50%;\n animation: rotation .75s linear infinite;\n}\n\n@keyframes rotation {\n to {\n transform: rotate(1turn);\n }\n}",".popup {\n color: var(--t-text-color);\n min-width: 242px;\n max-width: 320px;\n margin-top: calc(var(--t-spacing-1) * -1);\n right: calc(var(--t-spacing-1) + 1px); /* 1px is to account for .product-wrap { padding-right: 1px } */\n max-height: calc(100% - var(--topbar-height) - var(--t-spacing-3));\n}\n\n.trigger-wrap {\n /* Lets the trigger shrink, truncating the org name, when the nav runs out\n of room */\n min-width: 0;\n margin-left: var(--t-spacing-1);\n position: relative;\n white-space: nowrap;\n cursor: pointer;\n}\n\n.trigger {\n font-size: var(--topbar-nav-link-font-size);\n color: var(--topbar-nav-link-font-color);\n height: var(--topbar-nav-link-height);\n background-color: var(--topbar-nav-link-background-color-active);\n padding: 0 var(--topbar-nav-link-padding-x);\n border: var(--t-border-width) solid var(--topbar-nav-link-border-color-active);\n border-radius: var(--topbar-nav-link-border-radius);\n min-width: var(--topbar-nav-link-height);\n max-width: 100%;\n transition: var(--topbar-nav-link-transition);\n display: flex;\n align-items: center;\n justify-content: center;\n outline: 0;\n appearance: none;\n cursor: pointer;\n}\n\n.trigger svg {\n flex-shrink: 0;\n transition: transform var(--topbar-slight-transition);\n /* Negative margin ensures button is a circle when orgname isn’t visible */\n margin-left: calc(var(--t-spacing-1) * -1);\n margin-right: calc(var(--t-spacing-1) * -1);\n}\n\n.trigger.is-visible svg {\n transform: rotate(180deg);\n}\n\n.trigger-orgname {\n max-width: 240px;\n margin-right: var(--t-spacing-fourth);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.trigger-orgname + svg {\n color: var(--t-fill-color-transparency-dark-050);\n /* Correct margin for when orgname is visible */\n margin-left: 0;\n margin-right: calc(var(--t-spacing-fourth) * -1);\n}\n",".avatar {\n background-color: var(--t-fill-color-transparency-light-020);\n background-position: center;\n background-size: cover;\n border-radius: 50%;\n height: var(--t-element-size-2xl);\n width: var(--t-element-size-2xl);\n margin-left: var(--t-spacing-half);\n}\n",".trigger {\n border-width: 0;\n background-color: transparent;\n height: 100%;\n padding-left: var(--t-spacing-2);\n padding-right: var(--t-spacing-3);\n appearance: none;\n\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.layer {\n align-items: flex-end;\n color: var(--t-text-color-headline);\n display: flex;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n visibility: hidden;\n transition: visibility var(--t-duration-0) var(--t-ease-linear)\n var(--t-duration-400);\n}\n\n.layer.layer--visible {\n visibility: visible;\n transition: visibility var(--t-duration-0) var(--t-ease-linear)\n var(--t-duration-0);\n}\n\n.panel {\n background-color: var(--t-surface-color-card);\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow-y: auto;\n padding: 0;\n transform: translateX(-100%);\n transition: transform var(--t-duration-400) var(--t-ease-out);\n}\n\n.layer--visible .panel {\n transform: translateX(0);\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: var(--t-container-size-xl);\n padding: 0 var(--t-spacing-1);\n position: sticky;\n top: 0;\n background-color: var(--t-surface-color-card);\n}\n\n.heading {\n font-size: var(--t-font-size-lg);\n font-weight: var(--t-font-weight-semibold);\n padding-left: var(--t-spacing-1);\n}\n\n.close svg {\n width: var(--t-element-size-xl);\n height: var(--t-element-size-xl);\n}\n\n.close {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n border-width: 0;\n padding: var(--t-spacing-1);\n appearance: none;\n}\n\n.list {\n list-style: none;\n margin: 0;\n padding: var(--t-spacing-half) var(--t-spacing-1) 0;\n}\n\n.link {\n display: flex;\n align-items: center;\n gap: var(--t-spacing-1);\n min-height: var(--t-container-size-xl);\n padding: 0 var(--t-spacing-1);\n border-radius: var(--t-border-radius-lg);\n font-size: var(--t-font-size-md);\n font-weight: var(--t-font-weight-semibold);\n text-decoration: none;\n color: var(--t-text-color-headline);\n}\n\n.link:active {\n background: var(--t-fill-color-button-neutral-ghost-active);\n}\n\n.current {\n background: var(--t-fill-color-button-interaction-ghost-active);\n}\n\n.current:active {\n background: var(--t-fill-color-button-interaction-ghost-hover);\n}\n\n.accounts-item {\n margin-top: var(--t-spacing-half);\n padding-top: var(--t-spacing-half);\n padding-bottom: var(--t-spacing-1);\n border-top: var(--t-border-width) solid var(--t-border-color-dim);\n}\n\n.accounts-link {\n color: var(--t-text-color-secondary);\n font-weight: var(--t-font-weight-normal);\n}\n\n.accounts-link svg {\n opacity: 0.5;\n}\n",".debug-pco-resource {\n display: flex;\n flex-direction: column;\n gap: var(--t-spacing-1);\n margin: var(--t-spacing-2);\n padding: var(--t-spacing-2);\n border: var(--t-border-width-thick) solid var(--t-fill-color-product-staff);\n border-radius: var(--t-border-radius-lg);\n background-color: var(--t-fill-color-tag-pink-010);\n}\n\n.debug-pco-resource-header {\n display: flex;\n align-items: center;\n gap: var(--t-spacing-1);\n margin-bottom: var(--t-spacing-half);\n}\n\n.debug-pco-resource-badge {\n padding: var(--t-spacing-fourth) var(--t-spacing-half);\n border-radius: var(--t-border-radius-round);\n background-color: var(--t-fill-color-product-staff);\n color: #fff;\n font-size: var(--t-font-size-2xs);\n font-weight: var(--t-font-weight-bold);\n letter-spacing: 0.04em;\n text-transform: uppercase;\n}\n\n.debug-pco-resource-title {\n color: var(--t-text-color);\n font-size: var(--t-font-size-sm);\n font-weight: var(--t-font-weight-semibold);\n}\n\n.debug-pco-resource-field {\n display: flex;\n flex-direction: column;\n gap: var(--t-spacing-fourth);\n}\n\n.debug-pco-resource-field-label {\n color: var(--t-text-color-secondary);\n font-size: var(--t-font-size-2xs);\n font-weight: var(--t-font-weight-semibold);\n letter-spacing: 0.03em;\n text-transform: uppercase;\n}\n\n.debug-pco-resource-field-value {\n padding: var(--t-spacing-fourth) var(--t-spacing-half);\n border-radius: var(--t-border-radius-sm);\n background-color: var(--t-fill-color-neutral-070);\n color: var(--t-text-color);\n font-family: var(--t-font-monospace);\n font-size: var(--t-font-size-xs);\n overflow-wrap: break-word;\n}\n\n.debug-pco-resource-note {\n margin: 0;\n color: var(--t-text-color-secondary);\n font-size: var(--t-font-size-xs);\n font-style: italic;\n}\n\n.debug-pco-resource-json {\n max-height: 240px;\n margin: 0;\n padding: var(--t-spacing-1);\n overflow: auto;\n border-radius: var(--t-border-radius-sm);\n background-color: var(--t-fill-color-neutral-070);\n color: var(--t-text-color);\n font-family: var(--t-font-monospace);\n font-size: var(--t-font-size-xs);\n white-space: pre-wrap;\n overflow-wrap: break-word;\n}\n",".drawer-wrap {\n width: 100%;\n background-color: var(--t-surface-color-card);\n\n display: none;\n position: fixed;\n top: 0;\n bottom: var(--toolbar-navbar-height);\n\n overflow: hidden;\n}\n.drawer-wrap.is-visible {\n display: block;\n}\n\n.drawer {\n display: flex;\n flex-direction: column;\n height: 100%;\n\n overflow: auto;\n scrollbar-color: var(--t-fill-color-transparency-dark-030);\n scrollbar-width: var(--topbar-scrollbar-width);\n}\n\n@media (min-width: 600px) {\n .drawer-wrap {\n width: var(--toolbar-drawer-width);\n border-radius: 6px; /* TODO: Once a token exists, replace with 6px equivalent \n or inset associated with to --t-border-radius-lg */\n box-shadow: 0 0 0 1px var(--content-wrap-border-color), 0 4px 12px 2px rgba(0, 0, 0, 0.16);\n\n display: block;\n position: absolute;\n bottom: var(--t-spacing-2);\n right: calc(var(--toolbar-drawer-width) * -1);\n top: calc(var(--topbar-height) + var(--t-spacing-1));\n\n opacity: 0;\n transform: translateX(var(--t-spacing-1));\n transition-property: opacity, transform, right;\n transition-duration: 100ms;\n transition-delay: 0s, 0s, 100ms;\n transition-timing-function: ease-in-out;\n }\n .drawer-wrap.is-visible {\n right: calc(var(--toolbar-width) + var(--t-spacing-1) + 1px);\n opacity: 1;\n transform: translateX(0);\n\n transition-property: opacity, transform;\n transition-delay: 0s;\n }\n}\n",".indicator-dot {\n width: 12px;\n height: 12px;\n background: radial-gradient(#33adff 50%, transparent 50%);\n background-color: #33adff;\n box-shadow: inset 0 0 0 2px #b1bfda;\n border-radius: 50%;\n position: absolute;\n z-index: 6;\n pointer-events: none;\n}\n\n.indicator-dot.is-active {\n width: 10px;\n height: 10px;\n box-shadow: inset 0 0 0 2px var(--t-fill-color-neutral-100);\n transform: translateX(-1.5px) translateY(1.5px);\n}\n",".color-mode-switcher {\n color: var(--t-text-color); /* Needed to override .tapestry-react-reset. This is the dumbest thing to have to do */\n border: 0;\n padding: 0;\n}\n\n.color-mode-switcher-label {\n font-weight: var(--t-font-weight-semibold);\n display: inline-block;\n margin-bottom: var(--t-spacing-1);\n}\n\n.color-mode-switcher-label-beta {\n font-size: var(--t-font-size-xs);\n font-weight: var(--t-font-weight-semibold);\n color: var(--t-text-color-status-neutral);\n background-color: var(--t-fill-color-status-neutral-ghost);\n border-radius: var(--t-border-radius-sm);\n padding: 0 var(--t-spacing-1);\n line-height: var(--t-element-size-sm);\n vertical-align: middle;\n text-transform: uppercase;\n}\n\n.color-mode-switcher-modes {\n padding: var(--t-spacing-half);\n border: var(--t-border-width) solid var(--t-border-color);\n border-radius: var(--t-border-radius-md);\n display: flex;\n gap: var(--t-spacing-half);\n container-type: inline-size;\n\n input[type=\"radio\"] {\n opacity: 0;\n position: absolute;\n pointer-events: none;\n }\n\n label {\n border-radius: var(--t-border-radius-sm);\n min-height: var(--t-element-size-xl);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n user-select: none;\n margin: 0;\n position: relative;\n }\n label:hover {\n background: var(--t-fill-color-button-neutral-ghost-hover);\n }\n\n label:has(input:focus-visible) {\n outline: auto;\n }\n\n svg {\n display: none;\n margin-right: var(--t-spacing-half);\n\n @container (width >= 256px) {\n display: block;\n }\n }\n\n svg {\n color: var(--t-icon-color-dim);\n }\n\n label,\n svg {\n transition-property: color, background-color;\n transition-duration: 0.1s;\n transition-timing-function: linear;\n }\n\n label:has(input:checked) {\n color: var(--t-text-color-status-info);\n background-color: var(--t-fill-color-status-info-ghost);\n\n svg {\n color: var(--t-icon-color-status-info);\n }\n }\n}\n",".banner {\n /* Shared by the border stroke (full opacity) and the interior wash so\n the two stay in sync. */\n --local-ask-ai-gradient: linear-gradient(\n 163.5deg,\n var(--t-fill-color-tag-teal-040) 0%,\n var(--t-fill-color-tag-blue-040) 35.27%,\n var(--t-fill-color-tag-purple-040) 65.62%,\n var(--t-fill-color-tag-orange-040) 100%\n );\n\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--t-spacing-1);\n width: 100%;\n padding: var(--t-spacing-1);\n border: var(--t-border-width) solid transparent;\n border-radius: var(--t-border-radius-lg);\n background:\n linear-gradient(\n var(--t-surface-color-card),\n var(--t-surface-color-card)\n )\n padding-box,\n var(--local-ask-ai-gradient) border-box;\n overflow: hidden;\n cursor: pointer;\n font: inherit;\n text-align: left;\n appearance: none;\n -webkit-appearance: none;\n}\n\n.banner::before {\n content: \"\";\n position: absolute;\n inset: 0;\n background-image: var(--local-ask-ai-gradient);\n opacity: 0.15;\n pointer-events: none;\n}\n\n.banner:hover::before {\n opacity: 0.25;\n}\n\n.banner:focus-visible {\n outline: var(--t-focus-ring-outline);\n outline-offset: var(--t-focus-ring-offset);\n}\n\n.stacked {\n /* Tapestry has no semantic elevation-shadow token, so this is a\n --local- color (per the dark-mode escape-hatch convention); it's\n redefined to transparent in dark below. */\n --local-ask-ai-shadow-color: #e4edf7;\n\n filter: drop-shadow(0 4px 6px var(--local-ask-ai-shadow-color));\n}\n\n:global(:root[data-color-mode=\"dark\"]) .stacked {\n --local-ask-ai-shadow-color: transparent;\n}\n\n@media (prefers-color-scheme: dark) {\n :global(:root[data-color-mode=\"system\"]) .stacked {\n --local-ask-ai-shadow-color: transparent;\n }\n}\n\n.content {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--t-spacing-1);\n min-width: 0;\n}\n\n.icon {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n}\n\n.iconShape {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n}\n\n.iconSparkle {\n position: relative;\n width: 19.5px;\n height: 18px;\n color: #fff;\n}\n\n.text {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n min-width: 0;\n}\n\n.title {\n font-size: var(--t-font-size-md);\n font-weight: var(--t-font-weight-bold);\n line-height: 1.4;\n letter-spacing: -0.096px;\n color: var(--t-text-color-headline);\n}\n\n.subtitle {\n font-size: var(--t-font-size-xs);\n line-height: 1.3;\n letter-spacing: -0.072px;\n color: var(--t-text-color);\n}\n\n.chevron {\n position: relative;\n flex-shrink: 0;\n color: var(--t-icon-color-dim);\n}\n\n.inlineContent {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--t-spacing-fourth);\n min-width: 0;\n}\n\n.sparkle {\n flex-shrink: 0;\n color: var(--t-fill-color-tag-indigo-040);\n}\n\n.inlineTitle {\n font-size: var(--t-font-size-sm);\n font-weight: var(--t-font-weight-bold);\n line-height: 1.35;\n letter-spacing: -0.084px;\n color: var(--t-text-color);\n}\n\n/* A span, not a button: the banner itself is already the button. */\n.action {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n gap: var(--t-spacing-half);\n height: var(--t-container-size-sm);\n padding: var(--t-spacing-fourth) var(--t-spacing-1);\n border-radius: var(--t-border-radius-md);\n background-color: var(--t-fill-color-button-neutral-ghost);\n}\n\n.actionLabel {\n font-size: var(--t-font-size-sm);\n line-height: 1.35;\n letter-spacing: -0.084px;\n color: var(--t-text-color-status-neutral);\n}\n\n.actionChevron {\n position: relative;\n flex-shrink: 0;\n color: var(--t-icon-color-status-neutral-secondary);\n}\n",".button {\n --local-ask-ai-gradient: linear-gradient(\n 163.5deg,\n var(--t-fill-color-tag-teal-040) 0%,\n var(--t-fill-color-tag-blue-040) 35.27%,\n var(--t-fill-color-tag-purple-040) 65.62%,\n var(--t-fill-color-tag-orange-040) 100%\n );\n\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--t-spacing-half);\n height: var(--t-container-size-sm);\n padding: 0 var(--t-spacing-1);\n border: var(--t-border-width) solid transparent;\n border-radius: var(--t-border-radius-md);\n background:\n linear-gradient(\n var(--t-fill-color-button-neutral-outline),\n var(--t-fill-color-button-neutral-outline)\n )\n padding-box,\n var(--local-ask-ai-gradient) border-box;\n overflow: hidden;\n cursor: pointer;\n font: inherit;\n appearance: none;\n -webkit-appearance: none;\n}\n\n.button::before {\n content: \"\";\n position: absolute;\n inset: 0;\n background-image: var(--local-ask-ai-gradient);\n opacity: 0;\n pointer-events: none;\n}\n\n.button:hover::before {\n opacity: 0.15;\n}\n\n.button:active::before {\n opacity: 0.25;\n}\n\n.button:focus-visible {\n outline: var(--t-focus-ring-outline);\n outline-offset: var(--t-focus-ring-offset);\n}\n\n.sparkle {\n position: relative;\n flex-shrink: 0;\n color: var(--t-fill-color-tag-indigo-040);\n}\n\n.label {\n position: relative;\n font-size: var(--t-font-size-sm);\n line-height: 1.35;\n color: var(--t-text-color);\n}\n"]}
1
+ {"version":3,"sources":["topbar.scss","_utils.scss","_native-in-app-browser.scss","styles.module.css","app_row.module.css","apps_button.module.scss","apps_menu.module.css","unbutton.module.css","popup.module.css","search_button.module.css","product_search.module.css","keyboard_hints.module.css","product_icon.module.css","product_select.module.css","product_tabs.module.css","blank_state.module.scss","search_result.module.css","search_results.module.css","search_input.module.css","loading_spinner.module.css","user_menu.module.css","avatar.module.css","apps_switcher.module.css","debug_pco_resource.module.css","drawer.module.css","indicator_dot.module.css","color_mode_switcher.module.scss","AskAIBanner.module.css","AskAIButton.module.css"],"names":[],"mappings":"AAAA,gBAAgB;ACAhB;EACE,qBAAA;EACA,yCAAA;EACA,uFAAA;EACA,+EAAA;EACA,8BAAA;EAEA,kDAAA;EACA,0DAAA;EACA,oDAAA;EACA,+CAAA;EACA,iCAAA;EACA,2CAAA;EACA,sCAAA;EACA,wEAAA;EAEA,oFAAA;EAEA,qFAAA;EACA,iFAAA;EAEA,iDAAA;EACA,kDAAA;EACA;;GAAA;EAIA,0BAAA;EAEA,qBAAA;EACA,2BAAA;EACA,6BAAA;EACA,6BAAA;EAEA,kDAAA;EACA,4CAAA;ADLF;;ACQA;EACE;IACE,qBAAA;IAEA,mDAAA;IAEA,2CAAA;EDPF;AACF;ACUA;EACE,oFAAA;EAEA,qFAAA;EACA,iFAAA;EAEA,oDAAA;ADVF;;ACaA;EACE;IACE,oFAAA;IAEA,qFAAA;IACA,iFAAA;IAEA,oDAAA;EDZF;AACF;ACeA;;;;;;CAAA;AAOA;EACE,2BAAA;ADbF;;ACgBA;EACE,wBAAA,EAAA,gBAAA;EACA,qBAAA,EAAA,YAAA;ADbF;;ACgBA;EACE,aAAA,EAAA,8BAAA;ADbF;;AEvEA;EACE,0BAAA;AF0EF;AExEE;;EAEE,YAAA;EACA,iBAAA;AF0EJ;AEvEE;;EAEE,YAAA;EACA,iBAAA;AFyEJ;AEpEE;;;;EAIE,YAAA;AFsEJ;;AEhEA;EACE,2CAAA;AFmEF;;AEhEA;EACE,aAAA;AFmEF;;AEhEA;EACE,gBAAA;AFmEF;;AEhEA;EACE,sDAAA;EACA,iBAAA;AFmEF;;AEhEA;EACE,aAAA;AFmEF;;AEhEA;EACE;IACE,oBAAA;IACA,oBAAA;IACA,4BAAA;EFmEF;EEhEA;IACE,oBAAA;IACA,gBAAA;EFkEF;EE/DA;IACE,iBAAA;EFiEF;AACF;AGhIA;EACE,yCAAyC;EACzC,+CAA+C;EAC/C,mDAAmD;EACnD,+CAA+C;EAC/C,8CAA8C;;EAE9C,kBAAkB;EAClB,uBAAuB;EACvB,SAAS;EACT,2EAA2E;EAC3E,aAAa;;EAEb,2BAA2B;EAC3B,kBAAkB;EAClB,wDAAwD;EACxD,gBAAgB;EAChB,aAAa;EACb,uBAAuB;EACvB,uBAAuB;EACvB,eAAe;;EAEf,wCAAwC;EACxC,uCAAuC;EACvC,kEAAkE;EAClE,oDAAoD;;EAEpD,kEAAkE;EAClE,0DAA0D;AAC5D;;AAEA;EACE,6CAA6C;EAC7C,yCAAyC;EACzC,mDAAmD;EACnD,2FAA2F;AAC7F;;AAEA;EACE,aAAa;AACf;;AAEA;EACE;IACE,2CAA2C;EAC7C;;EAEA;IACE,+CAA+C;EACjD;AACF;AAlDA;EACE,gCAAgC;EAChC,sBAAsB,EAAE,sDAAsD;EAC9E,sCAAsC,EAAE,sDAAsD;EAC9F,aAAa;EACb,mBAAmB;EACnB,2BAA2B;EAC3B,8BAA8B;EAC9B,sBAAsB;AACxB;;AAEA;EACE,sCAAsC,EAAE,sDAAsD;AAChG;;AAEA;EACE,6CAA6C;EAC7C,mCAAmC;AACrC;;AAEA;EACE,mCAAmC;EACnC,8DAA8D;EAC9D,qBAAqB;EACrB,8CAA8C;EAC9C,+BAA+B;EAC/B,wCAAwC;EACxC,gCAAgC;EAChC,mBAAmB;EACnB,qBAAqB;AACvB;;AAEA;EACE,mCAAmC;EACnC,oEAAoE;EACpE,qBAAqB;AACvB;;AAEA;EACE,cAAc;EACd,YAAY;AACd;;AAEA;EACE,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,8BAA8B;AAChC;;AAEA;EACE,mBAAmB;EACnB,0BAA0B;AAC5B;AACA;EACE,mBAAmB;EACnB,qBAAqB;AACvB;;AAEA;EACE;IACE,gCAAgC;IAChC,iCAAiC;EACnC;AACF;;AAEA;EACE,6BAA6B;EAC7B,eAAe;EACf,eAAe;EACf,2BAA2B;EAC3B,qCAAqC;EACrC,gBAAgB;AAClB;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE;IACE,kBAAkB;IAClB,8CAA8C;IAC9C,gCAAgC;EAClC;;EAEA;IACE,sBAAsB;IACtB,oBAAoB;EACtB;;EAEA;IACE,kBAAkB;IAClB,uBAAuB;IACvB,yBAAyB;EAC3B;;EAEA;IACE,cAAc;IACd,WAAW;IACX,kBAAkB;IAClB,cAAc;IACd,8BAA8B;IAC9B,8CAA8C;IAC9C,gCAAgC;IAChC,mBAAmB;EACrB;AACF;;AC5GA;EACE,aAAa;EACb,uBAAuB;EACvB,iCAAiC;EACjC,cAAc;AAChB;;AAEA;EACE,kBAAkB;AACpB;;ACTA;EACE,kDAAA;EACA,yBAAA;EACA,mCAAA;EACA,wDAAA;EACA,+BAAA;EACA,yCAAA;EACA,yDAAA;EACA,gCAAA;EACA,0CAAA;EACA,+BAAA;EACA,0CAAA;EACA,oDAAA;EACA,qDAAA;EACA,+DAAA;EACA,0CAAA;EAEA,QAAA;EACA,oBAAA;EACA,+CAAA;AAAF;AAEE;EAEE,+BAAA;AADJ;;AAKA;EACE,sBAAA;EACA,uBAAA;EACA,cAAA;AAFF;;AAKA;EACE,aAAA;AAFF;AAIE;EAHF;IAII,eAAA;EADF;AACF;;AAIA;EACE,sBAAA;EACA,sBAAA;EACA,uBAAA;EACA,iBAAA;EACA,gCAAA;EACA,mBAAA;EACA,0BAAA;EACA,cAAA;EACA,mEACE;AAFJ;AAKE;EACE,4BAAA;AAHJ;AAME;EACE,4DAAA;EACA,yBAAA;AAJJ;AAOE;EACE;IACE,4DAAA;EALJ;AACF;AC7DA;EACE,aAAa;EACb,sBAAsB;EACtB,0BAA0B;EAC1B,mEAAmE;EACnE,gBAAgB;AAClB;;AAEA;EACE,0CAA0C;EAC1C,uCAAuC;EACvC,wCAAwC;AAC1C;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,0BAA0B;EAC1B,SAAS;EACT,UAAU;EACV,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,sCAAsC;EACtC,6BAA6B;EAC7B,wCAAwC;EACxC,oBAAoB;EACpB,gCAAgC;EAChC,0CAA0C;EAC1C,qBAAqB;EACrB,mCAAmC;AACrC;;AAEA;EACE,0DAA0D;EAC1D,mCAAmC;AACrC;;AAEA;EACE,oCAAoC;EACpC,oDAAoD;AACtD;;AAEA;EACE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,+DAA+D;AACjE;;AAEA;EACE,8DAA8D;AAChE;;AAEA;EACE,kCAAkC;EAClC,iEAAiE;AACnE;;AAEA;EACE,oCAAoC;EACpC,wCAAwC;AAC1C;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,YAAY;AACd;;AC5EA;EACE,oBAAoB;EACpB,gBAAgB;EAChB,6BAA6B;EAC7B,YAAY;EACZ,eAAe;EACf,qBAAqB;EACrB,UAAU;EACV,UAAU;AACZ;;AFTA;EACE,0BAAA;EACA,gCAAA;EACA,iCAAA;EACA,YAAA;EACA,mBAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,sDAAA;EAEA,oBAAA;AAAF;AAEE;;EAEE,4BAAA;AAAJ;AAGE;EAlBF;IAmBI,qBAAA;IAEA,gCAAA;IACA,iCAAA;EADF;EAGE;IACE,WAAA;IACA,YAAA;EADJ;AACF;;AAKA;EACE,0BAAA;EACA,gCAAA;EACA,wCAAA;EACA,oCAAA;AAFF;;AAKA;EACE,mBAAA;EACA,gCAAA;EACA,cAAA;EACA,sDAAA;EACA,gDAAA;AAFF;;AAIA;EACE,4BAAA;AADF;;AAIA;;EAEE,4DAAA;AADF;;AAGA;EACE,yBAAA;AAAF;AGtDA;EACE,aAAa;EACb,oBAAoB;AACtB;;AAEA;EACE,uCAAuC;EACvC,6EAA6E;EAC7E,wCAAwC;EACxC,kBAAkB;EAClB,cAAc;EACd,8CAA8C;EAC9C,8CAA8C;EAC9C,UAAU;EACV,kBAAkB;EAClB,6BAA6B;AAC/B;;AAEA;EACE,UAAU;EACV,gBAAgB;EAChB,mBAAmB;AACrB;;AFtBA;EACE,oDAAoD;EACpD,wBAAwB;EACxB,gBAAgB;EAChB,kEAAkE;AACpE;;AGLA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,cAAc;EACd,gCAAgC;EAChC,iCAAiC;EACjC,UAAU;EACV,mCAAmC;EACnC,gEAAgE;EAChE,wCAAwC;EACxC,8EAA8E;EAC9E,mDAAmD;EACnD,eAAe;EACf,6CAA6C;AAC/C;;AAEA;;;EAGE;AACF;EACE;IACE,eAAe;IACf,6BAA6B;IAC7B,mCAAmC;IACnC,SAAS;IACT,gBAAgB;EAClB;AACF;;AC7BA;EACE,mDAAmD;EACnD,kDAAkD;EAClD,uDAAuD;EACvD;;GAEC;;EAED,aAAa;EACb,gDAAgD;EAChD,qEAAqE;EACrE,gBAAgB;AAClB;;AAEA;;;;;EAKE;AACF;EACE,UAAU;EACV,yDAAyD;AAC3D;;AAEA,iEAAiE;AACjE;EACE;IACE,iDAAiD;EACnD;AACF;;AAEA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,gBAAgB;EAChB,qBAAqB;EACrB,mBAAmB;AACrB;;AAEA,oEAAoE;AACpE;EACE,OAAO;EACP,aAAa;EACb;6EAC2E;EAC3E,0EAA0E;EAC1E,2BAA2B;EAC3B,yDAAyD;EACzD,gBAAgB;EAChB,4BAA4B;AAC9B;;AAEA;;;;;;;;EAQE;AACF;EACE;IACE,kDAAkD;IAClD,8CAA8C;IAC9C,+DAA+D;IAC/D;;KAEC;;IAED,4CAA4C;EAC9C;;EAEA;IACE;MACE,6CAA6C;IAC/C;EACF;;EAEA,0EAA0E;EAC1E;IACE,sBAAsB;EACxB;;EAEA;;;;;;;;;;;;;;;IAeE;EACF;IACE,gDAAgD;EAClD;;EAEA;IACE,kDAAkD;;IAElD,4CAA4C;IAC5C;;KAEC;IACD,sEAAsE;EACxE;;EAEA;IACE,YAAY;IACZ,gBAAgB;EAClB;AACF;;ACxHA;EACE,aAAa;EACb,cAAc;EACd,eAAe;EACf,uBAAuB;EACvB;gBACc;EACd;mEACiE;EACjE,SAAS;EACT,gBAAgB;EAChB,6DAA6D;AAC/D;;AAEA;EACE,aAAa;EACb,cAAc;EACd,mBAAmB;EACnB,0BAA0B;EAC1B,iDAAiD;EACjD,wCAAwC;EACxC,sCAAsC;EACtC,gCAAgC;AAClC;;AAEA;EACE,mBAAmB;EACnB,qBAAqB;;EAErB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,yBAAyB;EACzB,0BAA0B;EAC1B,8BAA8B;EAC9B,qCAAqC;EACrC,iDAAiD;EACjD,sCAAsC;EACtC,oBAAoB;EACpB,+DAA+D;EAC/D,0CAA0C;EAC1C,wCAAwC;AAC1C;;AAEA;EACE,cAAc;EACd,YAAY;EACZ,WAAW;EACX,aAAa;EACb,YAAY;EACZ,eAAe;AACjB;;AAEA;EACE,WAAW;EACX,6BAA6B;AAC/B;;AAEA;EACE,+CAA+C;AACjD;;AAEA;EACE,aAAa;EACb,cAAc;AAChB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,sBAAsB;EACtB,cAAc;EACd,iBAAiB;AACnB;;AAEA;EACE,kBAAkB;EAClB;;;;GAIC;EACD;;;6DAG2D;AAC7D;;AAEA;EACE,wEAAkE;AACpE;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,QAAQ;EACR,sBAAsB;EACtB,oBAAoB;EACpB,8EAA8E;EAC9E,sBAAsB;AACxB;;AAEA;EACE,KAAK,eAAe;AACtB;;AAEA;EACE,OAAO,eAAe;EACtB,KAAK,aAAa;AACpB;;AAEA;EACE;;IAEE,gBAAgB;IAChB,WAAW;EACb;AACF;;AAEA;EACE;IACE,cAAc;IACd,eAAe;EACjB;;EAEA;IACE,eAAe;EACjB;AACF;;AC1IA;EACE,kBAAkB;EAClB,cAAc;EACd,cAAc;AAChB;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,YAAY;EACZ,kCAAkC;EAClC,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,QAAQ;EACR,eAAe;AACjB;;AClBA;EACE,cAAc;EACd,kEAAkE;AACpE;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;ACTA;EACE,aAAa;EACb,cAAc;EACd,0BAA0B;EAC1B,oDAAoD;EACpD,kCAAkC;EAClC,gEAAgE;AAClE;;AAEA;EACE,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,uBAAuB;EACvB,eAAe;EACf,YAAY;EACZ,mDAAmD;EACnD,+CAA+C;EAC/C,iDAAiD;EACjD,oCAAoC;EACpC,gCAAgC;EAChC,+CAA+C;EAC/C,0CAA0C;EAC1C,sEAAsE;EACtE,eAAe;AACjB;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,aAAa;AACf;;AAEA;sEACsE;AACtE;EACE,UAAU;AACZ;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,oEAAoE;EACpE,sEAAsE;EACtE,2EAA2E;EAC3E,qEAAqE;EACrE,oBAAoB;AACtB;;AAEA;EACE,6CAA6C;EAC7C,mCAAmC;EACnC,gDAAgD;EAChD,eAAe;AACjB;;ACzDA;EACE,gBAAA;EACA,mBAAA;EACA,iCAAA;EACA,kBAAA;AACF;AACE;EANF;IAOI,iCAAA;EAEF;AACF;AAAE;EACE,mCAAA;EACA,gCAAA;EACA,0CAAA;EACA,SAAA;AAEJ;AACE;EACE,oCAAA;EACA,gCAAA;EACA,SAAA;AACJ;;AAGA;EACE,4CAAA;AAAF;AAEE;EACE,WAAA;EACA,gBAAA;EACA,YAAA;AAAJ;AAEI;EALF;IAMI,WAAA;EACJ;AACF;AAEE;EACE,+CAAA;AAAJ;AAGE;EACE;IACE,+CAAA;EADJ;AACF;AC3CA;EACE,aAAa;EACb,mBAAmB;EACnB,4BAA4B;EAC5B,gBAAgB;EAChB,oFAAoF;EACpF,0BAA0B;EAC1B,qBAAqB;EACrB,wCAAwC;EACxC,sEAAsE;EACtE,wCAAwC;AAC1C;;AAEA;;;;EAIE,0BAA0B;EAC1B,qBAAqB;AACvB;;AAEA;;EAEE,oEAAoE;AACtE;;AAEA;EACE,cAAc;EACd,cAAc;EACd;qDACmD;EACnD,gBAAgB;EAChB,gCAAgC;EAChC,uBAAuB;EACvB,mBAAmB;AACrB;;AAEA;EACE,YAAY;EACZ,gBAAgB;EAChB,oCAAoC;EACpC,gCAAgC;EAChC,uBAAuB;EACvB,mBAAmB;AACrB;;AAEA;EACE,yBAAyB;;EAEzB,kBAAkB;EAClB,cAAc;EACd,+BAA+B;EAC/B,gCAAgC;AAClC;;AAEA;;EAEE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,iBAAiB;AACnB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,+EAA+E;AACjF;;AAEA;;;EAGE;AACF;EACE;IACE,aAAa;IACb,0CAA0C;IAC1C,qBAAqB;IACrB,8BAA8B;EAChC;;EAEA;IACE,yBAAyB;;IAEzB,gBAAgB;IAChB,kBAAkB;EACpB;;EAEA;IACE,eAAe;EACjB;AACF;;ACpGA;EACE;iGAC+F;EAC/F,oCAAoC;EACpC,gCAAgC;AAClC;;AAEA;EACE,8BAA8B;AAChC;;ACTA;;;;EAIE;AACF;EACE,wCAAwC;EACxC,4CAA4C;;EAE5C,aAAa;EACb,cAAc;EACd,mBAAmB;EACnB,uBAAuB;EACvB;;GAEC;EACD;;GAEC;EACD,yEAAyE;AAC3E;;AAEA;;;;EAIE;AACF;EACE,aAAa;EACb,OAAO;EACP,mBAAmB;EACnB,uBAAuB;EACvB,YAAY;EACZ,SAAS;EACT,6DAA6D;EAC7D,cAAc;EACd,aAAa;EACb,uBAAuB;EACvB,oBAAoB;EACpB,wCAAwC;EACxC,oDAAoD;EACpD,YAAY;EACZ,oEAAoE;AACtE;;AAEA,4EAA4E;AAC5E;EACE,wCAAwC;AAC1C;;AAEA,uEAAuE;AACvE;EACE,kBAAkB;EAClB,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,2EAA2E;EAC3E,WAAW;AACb;;AAEA;;;;;EAKE;AACF;EACE,gBAAgB;EAChB,OAAO;EACP,YAAY;EACZ,YAAY;EACZ,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,0BAA0B;EAC1B,aAAa;EACb,gCAAgC;EAChC,mBAAmB;EACnB,2BAA2B;EAC3B,gBAAgB;EAChB,gBAAgB;EAChB,aAAa;AACf;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,yBAAyB;EACzB,0DAA0D;EAC1D,gEAAgE;;EAEhE,cAAc;EACd,+BAA+B;EAC/B,gCAAgC;EAChC,UAAU;EACV,gBAAgB;EAChB,SAAS;EACT,eAAe;AACjB;;AAEA;EACE,0DAA0D;EAC1D,gEAAgE;AAClE;;AAEA;EACE;IACE,0DAA0D;IAC1D,gEAAgE;EAClE;AACF;;AAEA;EACE,cAAc;EACd,WAAW;EACX,YAAY;AACd;;AAEA;EACE,oCAAoC;EACpC,gDAAgD;AAClD;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,YAAY;EACZ,eAAe;EACf,qBAAqB;AACvB;;AC3IA;EACE,oBAAoB;EACpB,0BAA0B;EAC1B,gDAAgD;EAChD,kDAAkD;;EAElD,qBAAqB;EACrB,sBAAsB;EACtB,0BAA0B;EAC1B,2BAA2B;EAC3B,mEAAmE;EACnE,yCAAyC;EACzC,kBAAkB;EAClB,8CAAwC;AAC1C;;AAEA;EACE;IACE,wBAAwB;EAC1B;AACF;AhBpBA;EACE,2CAA2C;EAC3C,oBAAoB;EACpB,mDAAmD,EAAE,oDAAoD;EACzG,qCAAqC;EACrC,uEAAuE;EACvE,oBAAoB;EACpB,mBAAmB;EACnB,qBAAqB;EACrB,0BAA0B;EAC1B,sBAAsB;EACtB,mBAAmB;EACnB,mCAAmC,EAAE,aAAa;EAClD,8CAA8C;EAC9C,+CAA+C;EAC/C,mDAAmD;EACnD,6CAA6C;AAC/C;AACA;EACE,+DAA+D;AACjE;AACA;;EAEE,gEAAgE;EAChE,wDAAwD;AAC1D;;AAEA;EACE,gCAAgC;AAClC;AACA;EACE;IACE,gCAAgC;EAClC;AACF;;AiBlCA;EACE,0BAA0B;EAC1B,gBAAgB;EAChB,gBAAgB;EAChB,yCAAyC;EACzC,qCAAqC,EAAE,gEAAgE;EACvG,kEAAkE;AACpE;;AAEA;EACE;WACS;EACT,YAAY;EACZ,+BAA+B;EAC/B,kBAAkB;EAClB,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,2CAA2C;EAC3C,wCAAwC;EACxC,qCAAqC;EACrC,gEAAgE;EAChE,2CAA2C;EAC3C,8EAA8E;EAC9E,mDAAmD;EACnD,wCAAwC;EACxC,eAAe;EACf,6CAA6C;EAC7C,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,UAAU;EACV,gBAAgB;EAChB,eAAe;AACjB;;AAEA;EACE,cAAc;EACd,qDAAqD;EACrD,0EAA0E;EAC1E,0CAA0C;EAC1C,2CAA2C;AAC7C;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,gBAAgB;EAChB,qCAAqC;EACrC,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;;AAEA;EACE,gDAAgD;EAChD,+CAA+C;EAC/C,cAAc;EACd,gDAAgD;AAClD;;AC/DA;EACE,4DAA4D;EAC5D,2BAA2B;EAC3B,sBAAsB;EACtB,kBAAkB;EAClB,iCAAiC;EACjC,gCAAgC;EAChC,kCAAkC;AACpC;;ACRA;EACE,eAAe;EACf,6BAA6B;EAC7B,YAAY;EACZ,gCAAgC;EAChC,iCAAiC;EACjC,gBAAgB;;EAEhB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,qBAAqB;EACrB,mCAAmC;EACnC,aAAa;EACb,eAAe;EACf,MAAM;EACN,SAAS;EACT,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,iBAAiB;EACjB,wCAAwC;EACxC,kBAAkB;EAClB;yBACuB;AACzB;;AAEA;EACE,mBAAmB;EACnB;uBACqB;AACvB;;AAEA;EACE,6CAA6C;EAC7C,YAAY;EACZ,WAAW;EACX,aAAa;EACb,sBAAsB;EACtB,kBAAkB;EAClB,gBAAgB;EAChB,UAAU;EACV,4BAA4B;EAC5B,6DAA6D;AAC/D;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,sCAAsC;EACtC,6BAA6B;EAC7B,gBAAgB;EAChB,MAAM;EACN,6CAA6C;AAC/C;;AAEA;EACE,gCAAgC;EAChC,0CAA0C;EAC1C,gCAAgC;AAClC;;AAEA;EACE,+BAA+B;EAC/B,gCAAgC;AAClC;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,6BAA6B;EAC7B,eAAe;EACf,2BAA2B;EAC3B,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;EAChB,SAAS;EACT,mDAAmD;AACrD;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,sCAAsC;EACtC,6BAA6B;EAC7B,wCAAwC;EACxC,gCAAgC;EAChC,0CAA0C;EAC1C,qBAAqB;EACrB,mCAAmC;AACrC;;AAEA;EACE,2DAA2D;AAC7D;;AAEA;EACE,+DAA+D;AACjE;;AAEA;EACE,8DAA8D;AAChE;;AAEA;EACE,iCAAiC;EACjC,kCAAkC;EAClC,kCAAkC;EAClC,iEAAiE;AACnE;;AAEA;EACE,oCAAoC;EACpC,wCAAwC;AAC1C;;AAEA;EACE,YAAY;AACd;;AnBlIA;EACE,eAAe;EACf,6BAA6B;EAC7B,YAAY;EACZ,gCAAgC;EAChC,iCAAiC;EACjC,gBAAgB;;EAEhB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,mCAAmC;EACnC,kEAAkE;EAClE,aAAa;EACb,eAAe;EACf,MAAM;EACN,oCAAoC;EACpC,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,iBAAiB;EACjB,wCAAwC;AAC1C;;AAEA;EACE,6CAA6C;EAC7C,gDAAgD;EAChD,sCAAsC;EACtC,aAAa;EACb,sBAAsB;EACtB,kBAAkB;EAClB,gBAAgB;AAClB;;AAEA;EACE,cAAc;EACd,8CAA8C;EAC9C,8CAA8C;AAChD;;AAEA;EACE,gBAAgB;EAChB,UAAU;EACV,SAAS;AACX;;AAEA;EACE,gCAAgC;EAChC,0BAA0B;EAC1B,qBAAqB;EACrB,sCAAsC;EACtC,iDAAiD;EACjD,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,sCAAsC;EACtC,gEAAgE;AAClE;AACA;EACE,sCAAsC;EACtC,6DAA6D;AAC/D;AACA;EACE,cAAc;EACd,mCAAmC;EACnC,+CAA+C;AACjD;;AAEA;EACE,6BAA6B;EAC7B,UAAU;EACV,eAAe;EACf,gBAAgB;EAChB,kBAAkB;EAClB,yBAAyB;EACzB,qDAAqD;AACvD;;AAEA;EACE,aAAa;EACb,mCAAmC;EACnC,iCAAiC;EACjC,kBAAkB;EAClB,6BAA6B;EAC7B,eAAe;EACf,aAAa;EACb,YAAY;EACZ,mBAAmB;EACnB,uBAAuB;EACvB,iCAAiC;EACjC,gBAAgB;AAClB;;AAEA;EACE,sCAAsC;AACxC;AACA;EACE,sBAAsB;EACtB,qDAAqD;AACvD;AACA;EACE,yBAAyB;AAC3B;;AAEA;EACE,6CAA6C;EAC7C,wCAAwC;EACxC,2BAA2B;EAC3B,aAAa;EACb,sBAAsB;EACtB,8BAA8B;EAC9B,kBAAkB;EAClB,sCAAsC;EACtC,gBAAgB;EAChB,uDAAuD;EACvD,SAAS;EACT,2BAA2B;EAC3B,mDAAmD;EACnD,iFAAiF;EACjF,cAAc;EACd,8CAA8C;EAC9C,8CAA8C;AAChD;;AAEA;EACE,oBAAoB;EACpB,gCAAgC;EAChC,oCAAoC;EACpC,uCAAuC;EACvC,kBAAkB;EAClB,qBAAqB;EACrB,0BAA0B;EAC1B,mBAAmB;EACnB,0BAA0B;EAC1B,cAAc;EACd,kBAAkB;EAClB,wCAAwC;AAC1C;AACA;EACE,sEAAsE;AACxE;AACA;EACE,0CAA0C;EAC1C,mCAAmC;EACnC,uEAAuE;AACzE;;AAEA;;;;EAIE;AACF;EACE,aAAa;EACb,cAAc;EACd,mBAAmB;EACnB,0DAA0D;AAC5D;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,gCAAgC;EAChC,iCAAiC;EACjC,UAAU;EACV,6BAA6B;EAC7B,eAAe;EACf,gBAAgB;AAClB;;AAEA,sEAAsE;AACtE;EACE,cAAc;AAChB;;AoBlLA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,0BAA0B;EAC1B,2BAA2B;EAC3B,2EAA2E;EAC3E,wCAAwC;EACxC,kDAAkD;AACpD;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,oCAAoC;AACtC;;AAEA;EACE,sDAAsD;EACtD,2CAA2C;EAC3C,mDAAmD;EACnD,WAAW;EACX,iCAAiC;EACjC,sCAAsC;EACtC,sBAAsB;EACtB,yBAAyB;AAC3B;;AAEA;EACE,0BAA0B;EAC1B,gCAAgC;EAChC,0CAA0C;AAC5C;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,4BAA4B;AAC9B;;AAEA;EACE,oCAAoC;EACpC,iCAAiC;EACjC,0CAA0C;EAC1C,sBAAsB;EACtB,yBAAyB;AAC3B;;AAEA;EACE,sDAAsD;EACtD,wCAAwC;EACxC,iDAAiD;EACjD,0BAA0B;EAC1B,oCAAoC;EACpC,gCAAgC;EAChC,yBAAyB;AAC3B;;AAEA;EACE,SAAS;EACT,oCAAoC;EACpC,gCAAgC;EAChC,kBAAkB;AACpB;;AAEA;EACE,iBAAiB;EACjB,SAAS;EACT,2BAA2B;EAC3B,cAAc;EACd,wCAAwC;EACxC,iDAAiD;EACjD,0BAA0B;EAC1B,oCAAoC;EACpC,gCAAgC;EAChC,qBAAqB;EACrB,yBAAyB;AAC3B;;AC9EA;EACE,WAAW;EACX,6CAA6C;;EAE7C,aAAa;EACb,eAAe;EACf,MAAM;EACN,oCAAoC;;EAEpC,gBAAgB;AAClB;AACA;EACE,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,YAAY;;EAEZ,cAAc;EACd,0DAA0D;EAC1D,8CAA8C;AAChD;AACA;EACE,aAAa;AACf;;AAEA;EACE;IACE,kCAAkC;IAClC,kBAAkB,EAAE;sDAC8B;IAClD,0FAA0F;;IAE1F,cAAc;IACd,kBAAkB;IAClB,0BAA0B;IAC1B,6CAA6C;IAC7C,oDAAoD;;IAEpD,UAAU;IACV,yCAAyC;IACzC,8CAA8C;IAC9C,0BAA0B;IAC1B,+BAA+B;IAC/B,uCAAuC;EACzC;EACA;IACE,4DAA4D;IAC5D,UAAU;IACV,wBAAwB;;IAExB,uCAAuC;IACvC,oBAAoB;EACtB;AACF;;ACxDA;EACE,WAAW;EACX,YAAY;EACZ,yDAAyD;EACzD,yBAAyB;EACzB,mCAAmC;EACnC,kBAAkB;EAClB,kBAAkB;EAClB,UAAU;EACV,oBAAoB;AACtB;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,2DAA2D;EAC3D,+CAA+C;AACjD;;ACjBA;EACE,0BAAA,EAAA,sFAAA;EACA,SAAA;EACA,UAAA;AACF;;AAEA;EACE,0CAAA;EACA,qBAAA;EACA,iCAAA;AACF;;AAEA;EACE,gCAAA;EACA,0CAAA;EACA,yCAAA;EACA,0DAAA;EACA,wCAAA;EACA,6BAAA;EACA,qCAAA;EACA,sBAAA;EACA,yBAAA;AACF;;AAEA;EACE,8BAAA;EACA,yDAAA;EACA,wCAAA;EACA,aAAA;EACA,0BAAA;EACA,2BAAA;AACF;AACE;EACE,UAAA;EACA,kBAAA;EACA,oBAAA;AACJ;AAEE;EACE,wCAAA;EACA,oCAAA;EACA,oBAAA;EACA,mBAAA;EACA,uBAAA;EACA,YAAA;EACA,iBAAA;EACA,SAAA;EACA,kBAAA;AAAJ;AAEE;EACE,0DAAA;AAAJ;AAGE;EACE,aAAA;AADJ;AAIE;EACE,aAAA;EACA,mCAAA;AAFJ;AAII;EAJF;IAKI,cAAA;EADJ;AACF;AAIE;EACE,8BAAA;AAFJ;AAKE;;EAEE,4CAAA;EACA,yBAAA;EACA,kCAAA;AAHJ;AAME;EACE,sCAAA;EACA,uDAAA;AAJJ;AAMI;EACE,sCAAA;AAJN;AvB9EA;EACE,aAAa;EACb,YAAY;EACZ,oCAAoC;EACpC,2BAA2B;EAC3B,2CAA2C;EAC3C,uBAAuB;AACzB;;AAEA;EACE,aAAa;EACb,gDAAgD;EAChD,6BAA6B;EAC7B,+CAA+C;EAC/C,wCAAwC;EACxC,YAAY;EACZ,sDAAsD;EACtD,eAAe;EACf,gBAAgB;EAChB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,oEAAoE;AACtE;AACA;;EAEE,gDAAgD;EAChD,qEAAqE;AACvE;;AAEA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,iCAAiC;EACjC,YAAY;EACZ,mBAAmB;AACrB;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE;IACE,2BAA2B;IAC3B,YAAY;IACZ,+BAA+B;IAC/B,sBAAsB;EACxB;;EAEA;IACE,mBAAmB;EACrB;EACA;IACE,4DAA4D;EAC9D;EACA;;IAEE,gDAAgD;IAChD,4DAA4D;IAC5D,wDAAwD;EAC1D;;EAEA;IACE,oBAAoB;EACtB;;EAEA;IACE,aAAa;EACf;AACF;;AwB1EA;EACE;4BAC0B;EAC1B;;;;;;GAMC;;EAED,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,uBAAuB;EACvB,WAAW;EACX,2BAA2B;EAC3B,+CAA+C;EAC/C,wCAAwC;EACxC;;;;;;2CAMyC;EACzC,gBAAgB;EAChB,eAAe;EACf,aAAa;EACb,gBAAgB;EAChB,gBAAgB;EAChB,wBAAwB;AAC1B;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,QAAQ;EACR,8CAA8C;EAC9C,aAAa;EACb,oBAAoB;AACtB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,oCAAoC;EACpC,0CAA0C;AAC5C;;AAEA;EACE;;8CAE4C;EAC5C,oCAAoC;;EAEpC,+DAA+D;AACjE;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE;IACE,wCAAwC;EAC1C;AACF;;AAEA;EACE,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,QAAQ;EACR,WAAW;EACX,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,aAAa;EACb,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,YAAY;AACd;;AAEA;EACE,gCAAgC;EAChC,sCAAsC;EACtC,gBAAgB;EAChB,wBAAwB;EACxB,mCAAmC;AACrC;;AAEA;EACE,gCAAgC;EAChC,gBAAgB;EAChB,wBAAwB;EACxB,0BAA0B;AAC5B;;AAEA;EACE,kBAAkB;EAClB,cAAc;EACd,8BAA8B;AAChC;;AAEA;EACE,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,4BAA4B;EAC5B,YAAY;AACd;;AAEA;EACE,cAAc;EACd,yCAAyC;AAC3C;;AAEA;EACE,gCAAgC;EAChC,sCAAsC;EACtC,iBAAiB;EACjB,wBAAwB;EACxB,0BAA0B;AAC5B;;AAEA,mEAAmE;AACnE;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,mBAAmB;EACnB,uBAAuB;EACvB,0BAA0B;EAC1B,kCAAkC;EAClC,mDAAmD;EACnD,wCAAwC;EACxC,0DAA0D;AAC5D;;AAEA;EACE,gCAAgC;EAChC,iBAAiB;EACjB,wBAAwB;EACxB,yCAAyC;AAC3C;;AAEA;EACE,kBAAkB;EAClB,cAAc;EACd,mDAAmD;AACrD;;AClLA;EACE;;;;;;GAMC;;EAED,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,0BAA0B;EAC1B,kCAAkC;EAClC,6BAA6B;EAC7B,+CAA+C;EAC/C,wCAAwC;EACxC;;;;;;2CAMyC;EACzC,gBAAgB;EAChB,eAAe;EACf,aAAa;EACb,gBAAgB;EAChB,wBAAwB;AAC1B;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,QAAQ;EACR,8CAA8C;EAC9C,UAAU;EACV,oBAAoB;AACtB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,oCAAoC;EACpC,0CAA0C;AAC5C;;AAEA;EACE,kBAAkB;EAClB,cAAc;EACd,yCAAyC;AAC3C;;AAEA;EACE,kBAAkB;EAClB,gCAAgC;EAChC,iBAAiB;EACjB,0BAA0B;AAC5B","file":"topbar.css","sourcesContent":["@charset \"UTF-8\";\n:root {\n --topbar-height: 56px;\n --topbar-slight-transition: 120ms ease-in;\n --topbar-slight-transition-background: background-color var(--topbar-slight-transition);\n --topbar-scrollbar-color: var(--t-fill-color-transparency-dark-030) transparent;\n --topbar-scrollbar-width: thin;\n --topbar-nav-link-font-size: var(--t-font-size-sm);\n --topbar-nav-link-font-color: var(--t-text-color-headline);\n --topbar-nav-link-height: var(--t-container-size-md);\n --topbar-nav-link-background-color: transparent;\n --topbar-nav-link-padding-x: 12px;\n --topbar-nav-link-border-color: transparent;\n --topbar-nav-link-border-radius: 999px;\n --topbar-nav-link-transition: var(--topbar-slight-transition-background);\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-040);\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-060);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-app-menu-margin-left: var(--t-spacing-2);\n --topbar-app-menu-padding-x: var(--t-spacing-half);\n --topbar-app-menu-offset: calc(\n var(--topbar-app-menu-padding-x) - var(--t-spacing-1) * 2 - var(--t-border-width)\n );\n --topbar-action-size: 48px;\n --toolbar-width: 64px;\n --toolbar-inner-width: 48px;\n --toolbar-drawer-width: 360px;\n --toolbar-navbar-height: 56px;\n --content-wrap-border-color: hsla(0, 0%, 0%, 0.08);\n --content-wrap-shadow-dimensions: 0 -1px 0 0;\n}\n\n@media (min-width: 600px) {\n :root {\n --topbar-height: 64px;\n --topbar-action-size: var(--topbar-nav-link-height);\n --content-wrap-shadow-dimensions: 0 0 0 1px;\n }\n}\n:root[data-color-mode=dark] {\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-020);\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-010);\n --content-wrap-border-color: hsla(0, 0%, 100%, 0.04);\n}\n\n@media (prefers-color-scheme: dark) {\n :root[data-color-mode=system] {\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-020);\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-010);\n --content-wrap-border-color: hsla(0, 0%, 100%, 0.04);\n }\n}\n/*\nFix for Safari bug:\nOn mobile breakpoints, when the app switcher or user profile menu are open,\nprevent .top-wrap from covering them.\n\nCaused by products overriding .topbar-wrap’s z-index.\n*/\n.page-wrap:has(div[class^=appmenu-layer][style*=\"display: block\"]) .topbar-wrap {\n z-index: initial !important;\n}\n\n.hide-scrollbar {\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n}\n\n.hide-scrollbar::-webkit-scrollbar {\n display: none; /* Chrome, Safari, and Opera */\n}\n\n:root[data-app-context=native] {\n --toolbar-navbar-height: 0;\n}\n:root[data-app-context=native],\n:root[data-app-context=native] body {\n height: auto;\n min-height: 100vh;\n}\n:root[data-app-context=native] .page-wrap,\n:root[data-app-context=native] .product-wrap {\n height: auto;\n overflow: visible;\n}\n:root[data-app-context=native] .top-wrap,\n:root[data-app-context=native] .page-wrap,\n:root[data-app-context=native] .product-wrap,\n:root[data-app-context=native] .toolbar-wrap {\n min-width: 0;\n}\n\n:root[data-app-context=native] * {\n -webkit-overflow-scrolling: auto !important;\n}\n\n:root[data-app-context=native] .topbar-wrap {\n display: none;\n}\n\n:root[data-app-context=native] .toolbar-wrap {\n overflow: hidden;\n}\n\n:root[data-app-context=native] .content-wrap {\n padding-bottom: var(--app-content-inset-bottom, unset);\n overflow: visible;\n}\n\n:root[data-app-context=native] .content-scroll footer[role=contentinfo] {\n display: none;\n}\n\n@media screen and (min-width: 600px) {\n :root[data-app-context=native] {\n --toolbar-width: 0px;\n --topbar-height: 0px;\n --toolbar-drawer-width: 48vw;\n }\n :root[data-app-context=native] .content-wrap {\n margin: 0 !important;\n border-radius: 0;\n }\n :root[data-app-context=native] .toolbar-wrap {\n overflow: visible;\n }\n}",":root {\n --topbar-height: 56px;\n --topbar-slight-transition: 120ms ease-in;\n --topbar-slight-transition-background: background-color var(--topbar-slight-transition);\n --topbar-scrollbar-color: var(--t-fill-color-transparency-dark-030) transparent;\n --topbar-scrollbar-width: thin;\n\n --topbar-nav-link-font-size: var(--t-font-size-sm);\n --topbar-nav-link-font-color: var(--t-text-color-headline);\n --topbar-nav-link-height: var(--t-container-size-md);\n --topbar-nav-link-background-color: transparent;\n --topbar-nav-link-padding-x: 12px;\n --topbar-nav-link-border-color: transparent;\n --topbar-nav-link-border-radius: 999px;\n --topbar-nav-link-transition: var(--topbar-slight-transition-background);\n\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-040);\n\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-060);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-030);\n \n --topbar-app-menu-margin-left: var(--t-spacing-2);\n --topbar-app-menu-padding-x: var(--t-spacing-half);\n --topbar-app-menu-offset: calc(\n var(--topbar-app-menu-padding-x) - var(--t-spacing-1) * 2 - var(--t-border-width)\n );\n\n --topbar-action-size: 48px;\n\n --toolbar-width: 64px;\n --toolbar-inner-width: 48px;\n --toolbar-drawer-width: 360px;\n --toolbar-navbar-height: 56px;\n\n --content-wrap-border-color: hsla(0, 0%, 0%, 0.08);\n --content-wrap-shadow-dimensions: 0 -1px 0 0;\n}\n\n@media (min-width: 600px) {\n :root {\n --topbar-height: 64px;\n\n --topbar-action-size: var(--topbar-nav-link-height);\n\n --content-wrap-shadow-dimensions: 0 0 0 1px;\n }\n}\n\n:root[data-color-mode=\"dark\"] {\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-020);\n\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-010);\n\n --content-wrap-border-color: hsla(0, 0%, 100%, 0.04);\n}\n\n@media (prefers-color-scheme: dark) {\n :root[data-color-mode=\"system\"] {\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-020);\n\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-010);\n\n --content-wrap-border-color: hsla(0, 0%, 100%, 0.04);\n }\n}\n\n/*\nFix for Safari bug:\nOn mobile breakpoints, when the app switcher or user profile menu are open,\nprevent .top-wrap from covering them.\n\nCaused by products overriding .topbar-wrap’s z-index.\n*/\n.page-wrap:has(div[class^=\"appmenu-layer\"][style*=\"display: block\"]) .topbar-wrap {\n z-index: initial !important;\n}\n\n.hide-scrollbar {\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n}\n\n.hide-scrollbar::-webkit-scrollbar {\n display: none; /* Chrome, Safari, and Opera */\n}\n","// The document (not .content-wrap) must own vertical scrolling for iOS scroll-to-top and pull-to-refresh to work.\n:root[data-app-context=\"native\"] {\n --toolbar-navbar-height: 0;\n\n &,\n body {\n height: auto;\n min-height: 100vh;\n }\n\n .page-wrap,\n .product-wrap {\n height: auto;\n overflow: visible;\n }\n\n // Without overflow: hidden these grid items lose their automatic minimum\n // size of 0, letting wide content (tables) blow the layout past the viewport.\n .top-wrap,\n .page-wrap,\n .product-wrap,\n .toolbar-wrap {\n min-width: 0;\n }\n}\n\n// Legacy touch scrolling is a no-op in Safari but still active inside embedded\n// WKWebViews, where it swallows vertical pans that should chain to the document.\n:root[data-app-context=\"native\"] * {\n -webkit-overflow-scrolling: auto !important;\n}\n\n:root[data-app-context=\"native\"] .topbar-wrap {\n display: none;\n}\n\n:root[data-app-context=\"native\"] .toolbar-wrap {\n overflow: hidden;\n}\n\n:root[data-app-context=\"native\"] .content-wrap {\n padding-bottom: var(--app-content-inset-bottom, unset);\n overflow: visible;\n}\n\n:root[data-app-context=\"native\"] .content-scroll footer[role=\"contentinfo\"] {\n display: none;\n}\n\n@media screen and (min-width: 600px) {\n :root[data-app-context=\"native\"] {\n --toolbar-width: 0px;\n --topbar-height: 0px;\n --toolbar-drawer-width: 48vw;\n }\n\n :root[data-app-context=\"native\"] .content-wrap {\n margin: 0 !important;\n border-radius: 0;\n }\n\n :root[data-app-context=\"native\"] .toolbar-wrap {\n overflow: visible;\n }\n}\n\n",".toolbar {\n display: flex;\n width: 100vw;\n height: var(--toolbar-navbar-height);\n padding: var(--t-spacing-1);\n padding-top: calc(var(--t-spacing-1) - 1px);\n gap: var(--t-spacing-1);\n}\n\n.toolbar-button {\n font: inherit;\n color: var(--t-fill-color-transparency-dark-060);\n background-color: transparent;\n border: var(--t-border-width) solid transparent;\n border-radius: var(--t-border-radius-lg);\n flex-grow: 1;\n transition: var(--topbar-slight-transition-background);\n cursor: pointer;\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.toolbar-button:hover {\n background-color: var(--t-fill-color-button-interaction-ghost-hover);\n}\n.toolbar-button:active,\n.toolbar-button.is-current {\n color: var(--t-fill-color-transparency-dark-080);\n background-color: var(--t-fill-color-button-interaction-ghost-active);\n}\n\n.toolbar-button--avatar {\n display: none;\n}\n.toolbar-button--avatar > div {\n margin-left: 0;\n width: var(--t-container-size-md);\n height: auto;\n aspect-ratio: 1 / 1;\n}\n\n.toolbar-button--home {\n color: hsl(221, 93%, 55%);\n}\n\n@media (min-width: 600px) {\n .toolbar {\n width: var(--toolbar-width);\n height: auto;\n padding-top: var(--t-spacing-1);\n flex-direction: column;\n }\n\n .toolbar-button {\n aspect-ratio: 1 / 1;\n }\n .toolbar-button:hover {\n background-color: var(--t-fill-color-transparency-light-040);\n }\n .toolbar-button:active,\n .toolbar-button.is-current {\n color: var(--t-fill-color-transparency-dark-080);\n background-color: var(--t-fill-color-transparency-light-060);\n border-color: var(--t-fill-color-transparency-light-030);\n }\n\n .toolbar-button--avatar {\n display: inline-flex;\n }\n\n .toolbar-button--home {\n display: none;\n }\n}\n",".icon-slot {\n display: flex;\n justify-content: center;\n width: var(--t-container-size-sm);\n flex-shrink: 0;\n}\n\n.name {\n font-size: inherit;\n}\n",".button {\n color: var(--t-text-color);\n padding-left: var(--t-spacing-1);\n padding-right: var(--t-spacing-1);\n height: 100%;\n white-space: nowrap;\n display: flex;\n align-items: center;\n gap: var(--t-spacing-1);\n transition: var(--topbar-slight-transition-background);\n\n --\\_svg-display: none;\n\n svg[data-logo=\"mono-app-text\"],\n svg[class^=\"chevron\"] {\n display: var(--\\_svg-display);\n }\n\n @media (min-width: 720px) {\n --\\_svg-display: block;\n\n padding-left: var(--t-spacing-2);\n padding-right: var(--t-spacing-2);\n\n svg[data-logo=\"color-app-icon\"] {\n width: 24px;\n height: 24px;\n }\n }\n}\n\n.button-accounts {\n color: var(--t-text-color);\n font-size: var(--t-font-size-sm);\n font-weight: var(--t-font-weight-medium);\n margin-left: var(--t-spacing-fourth);\n}\n\n.chevron {\n border-radius: 100%;\n padding: var(--t-spacing-fourth);\n display: block;\n transition: var(--topbar-slight-transition-background);\n transition-property: background-color, transform;\n}\n.chevron polygon {\n transform: translateY(0.5px);\n}\n\n.button:hover .chevron,\n.button.is-expanded .chevron {\n background-color: var(--t-fill-color-transparency-light-050);\n}\n.button.is-expanded .chevron {\n transform: rotate(180deg);\n}\n",".popup {\n top: calc(var(--topbar-height) - var(--t-spacing-1));\n left: var(--t-spacing-2);\n min-width: 180px;\n max-height: calc(100% - var(--topbar-height) - var(--t-spacing-3));\n}\n",".unbutton {\n font-family: inherit;\n appearance: none;\n background-color: transparent;\n border: none;\n cursor: pointer;\n display: inline-block;\n outline: 0;\n padding: 0;\n}\n",".popup-root {\n display: flex;\n align-self: flex-end;\n}\n\n.popup {\n background: var(--t-surface-color-card);\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 4px 12px 2px rgba(0, 0, 0, 0.16);\n border-radius: var(--t-border-radius-lg);\n position: absolute;\n overflow: auto;\n scrollbar-color: var(--topbar-scrollbar-color);\n scrollbar-width: var(--topbar-scrollbar-width);\n opacity: 0;\n visibility: hidden;\n transition: all 120ms ease-in;\n}\n\n.popup.is-visible {\n opacity: 1;\n transition: none;\n visibility: visible;\n}\n",".searchButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--topbar-action-size);\n height: var(--topbar-action-size);\n padding: 0;\n margin-right: var(--t-spacing-half);\n background-color: var(--topbar-nav-link-background-color-active);\n color: var(--topbar-nav-link-font-color);\n border: var(--t-border-width) solid var(--topbar-nav-link-border-color-active);\n border-radius: var(--topbar-nav-link-border-radius);\n cursor: pointer;\n transition: var(--topbar-nav-link-transition);\n}\n\n/*\n * At phone widths, where the small topbar shows, it sits bare in the header,\n * the same target as the avatar's.\n */\n@media (max-width: 599px) {\n .searchButton {\n margin-right: 0;\n background-color: transparent;\n color: var(--t-text-color-headline);\n border: 0;\n border-radius: 0;\n }\n}\n",".modal {\n --product-search-padding-inline: var(--t-spacing-2);\n --product-search-padding-block: var(--t-spacing-2);\n --product-search-tab-padding-inline: var(--t-spacing-2);\n --product-search-heading-inset: calc(\n var(--product-search-tab-padding-inline) + var(--t-border-width)\n );\n\n height: 640px;\n max-height: calc(100vh - var(--t-spacing-3) * 2);\n /* Keeps the results panel's background inside the rounded corners. */\n overflow: hidden;\n}\n\n/*\n * Tapestry's .tds-modal sets padding and border on the same element with\n * equal weight, and some products load Tapestry after topbar. The modal's ID\n * outranks it whatever the order. Only these two properties use it, so the\n * phone-width .modal rules below still override the rest.\n */\n.modal:global(#product_search_modal) {\n padding: 0;\n border: var(--t-border-width) solid var(--t-border-color);\n}\n\n/* Fits mobile Safari's visible viewport, between its toolbars. */\n@supports (height: 100dvh) {\n .modal {\n max-height: calc(100dvh - var(--t-spacing-3) * 2);\n }\n}\n\n.visuallyHidden {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n\n/* Scrolls the results under the product picker, tabs or dropdown. */\n.panel {\n flex: 1;\n min-height: 0;\n padding: var(--product-search-padding-block)\n var(--product-search-results-inset, var(--product-search-padding-inline));\n /* Lets results lay out by the panel's width rather than the viewport's. */\n container-type: inline-size;\n scroll-padding-block: var(--product-search-padding-block);\n overflow-y: auto;\n overscroll-behavior: contain;\n}\n\n/*\n * Phone widths, where the small topbar shows (DisplaySwitch's default \"xs\"\n * and \"sm\" breakpoints). The modal fills the screen rather than floating at a\n * desktop height, with tighter padding above and below each section.\n * Result rows and headings pad themselves by --product-search-row-inset,\n * narrower here so the highlight sits closer to the content, and the panel's\n * sides take that off to line their images and text up with the search icon.\n * There are no tabs here, so headings line up with the results instead.\n */\n@media (max-width: 599px) {\n .modal {\n --product-search-padding-block: var(--t-spacing-2);\n --product-search-row-inset: var(--t-spacing-1);\n --product-search-heading-inset: var(--product-search-row-inset);\n --product-search-results-inset: calc(\n var(--product-search-padding-inline) - var(--product-search-row-inset)\n );\n\n height: calc(100vh - var(--t-spacing-3) * 2);\n }\n\n @supports (height: 100dvh) {\n .modal {\n height: calc(100dvh - var(--t-spacing-3) * 2);\n }\n }\n\n /* Section headings pad themselves, so they start just under the select. */\n .panel {\n padding-block-start: 0;\n }\n\n /*\n * Tapestry only takes a class for the dialog, so its overlay and frame are\n * reached through it. Top and bottom margins narrow to 8px; the sides keep\n * 16px of backdrop to tap. The frame fills the dynamic viewport, which\n * follows Safari's toolbars as they show and hide. The dialog stretches to\n * fill the frame.\n *\n * Mobile Safari draws the keyboard over the page without shrinking 100dvh,\n * so while it's open the frame sizes to the visible viewport instead. A\n * bottom margin the keyboard's height keeps the overlay's centering above\n * it.\n *\n * Browsers without :has() drop these rules, so the modal keeps its own\n * height there. No @supports selector() guard: consuming apps run this file\n * through libsass, which can't parse it.\n */\n :global(.tds-modal-overlay):has(.modal) {\n --tds-modal-min-margin-block: var(--t-spacing-1);\n }\n\n :global(.tds-modal-frame):has(> .modal) {\n --tds-modal-edge-margin-inline: var(--t-spacing-2);\n\n height: calc(100vh - var(--t-spacing-1) * 2);\n height: calc(\n var(--visual-viewport-height, 100dvh) - var(--t-spacing-1) * 2\n );\n margin-block-end: calc(100dvh - var(--visual-viewport-height, 100dvh));\n }\n\n :global(.tds-modal-frame):has(> .modal) > .modal {\n height: auto;\n max-height: none;\n }\n}\n",".container {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: var(--t-spacing-1);\n /* Each hint pads itself by --t-spacing-1, so its keycaps line up with\n the tabs. */\n padding: var(--t-spacing-half)\n calc(var(--product-search-padding-inline) - var(--t-spacing-1));\n margin: 0;\n list-style: none;\n border-top: var(--t-border-width) solid var(--t-border-color);\n}\n\n.hint {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n gap: var(--t-spacing-half);\n padding: var(--t-spacing-half) var(--t-spacing-1);\n border-radius: var(--t-border-radius-lg);\n color: var(--t-text-color-placeholder);\n font-size: var(--t-font-size-xs);\n}\n\n.keycap {\n --keycap-size: 20px;\n --keycap-padding: 4px;\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--keycap-size);\n height: var(--keycap-size);\n padding: var(--keycap-padding);\n margin-block: var(--t-spacing-fourth);\n background-color: var(--t-fill-color-neutral-070);\n color: var(--t-text-color-placeholder);\n font-family: inherit;\n font-size: calc(var(--keycap-size) - var(--keycap-padding) * 2);\n font-weight: var(--t-font-weight-semibold);\n border-radius: var(--t-border-radius-md);\n}\n\n.keycap svg {\n flex-shrink: 0;\n width: 1.4em;\n width: 2cap;\n height: 1.4em;\n height: 2cap;\n stroke-width: 2;\n}\n\n.container[data-platform=\"pc\"] .keycap {\n width: auto;\n min-width: var(--keycap-size);\n}\n\n.container[data-platform=\"pc\"] .keycap svg {\n margin-inline: calc(var(--keycap-padding) * -1);\n}\n\n.labels {\n display: grid;\n overflow: clip;\n}\n\n.labels > * {\n grid-area: 1 / 1;\n}\n\n@property --copied {\n syntax: \"<percentage>\";\n inherits: true;\n initial-value: 0%;\n}\n\n.copied {\n position: relative;\n background-color: color-mix(\n in srgb,\n var(--t-fill-color-status-success-ghost) calc(var(--copied) * 0.3),\n transparent\n );\n animation:\n copied-enter var(--copied-enter) var(--t-ease-out) forwards,\n copied-exit var(--copied-exit) var(--t-ease-out)\n calc(var(--copied-enter) + var(--copied-active)) forwards;\n}\n\n.copied .keycap {\n animation: copied-keypress 350ms cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n\n.copied .labels > :first-child {\n translate: 0 calc(var(--copied) * -1);\n}\n\n.copied .labels > :last-child {\n translate: 0 calc(100% - var(--copied));\n}\n\n.copied::after {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n border: var(--t-border-width-thick) solid var(--t-border-color-status-success);\n opacity: var(--copied);\n}\n\n@keyframes copied-enter {\n to { --copied: 100% }\n}\n\n@keyframes copied-exit {\n from { --copied: 100% }\n to { --copied: 0% }\n}\n\n@keyframes copied-keypress {\n 20%,\n 26% {\n translate: 0 1px;\n scale: 0.88;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .copied {\n --copied: 100%;\n animation: none;\n }\n\n .copied .keycap {\n animation: none;\n }\n}\n",".icon {\n position: relative;\n display: block;\n flex-shrink: 0;\n}\n\n.icon::before {\n content: \"\";\n position: absolute;\n inset: 12.5%;\n background-color: hsl(0, 0%, 100%);\n border-radius: 20%;\n}\n\n.squircle {\n position: absolute;\n inset: 0;\n mask-size: 100%;\n}\n",".picker {\n flex-shrink: 0;\n padding: 0 var(--product-search-padding-inline) var(--t-spacing-1);\n}\n\n.option {\n display: inline-flex;\n align-items: center;\n gap: var(--t-spacing-1);\n}\n",".tablist {\n display: flex;\n flex-shrink: 0;\n gap: var(--t-spacing-half);\n padding-inline: var(--product-search-padding-inline);\n padding-top: var(--t-spacing-half);\n border-bottom: var(--t-border-width) solid var(--t-border-color);\n}\n\n.tab {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--t-spacing-1);\n min-width: 48px;\n height: 40px;\n padding: 0 var(--product-search-tab-padding-inline);\n margin-bottom: calc(var(--t-border-width) * -1);\n background-color: var(--t-fill-color-neutral-070);\n color: var(--t-text-color-secondary);\n font-size: var(--t-font-size-md);\n border: var(--t-border-width) solid transparent;\n border-bottom-color: var(--t-border-color);\n border-radius: var(--t-border-radius-md) var(--t-border-radius-md) 0 0;\n cursor: pointer;\n}\n\n.tab:hover {\n background-color: var(--t-fill-color-neutral-060);\n}\n\n.tab:focus-visible {\n outline: none;\n}\n\n/* Set by useKeyboardFocus: Safari leaves :focus-visible off focus the modal's\n focus scope moves here by script, as it does when Tab is pressed. */\n.tab[data-focus-visible] {\n z-index: 1;\n}\n\n.tab[data-focus-visible]::after {\n content: \"\";\n position: absolute;\n /* Measured from inside the tab's border, so step out past it too. */\n inset: calc((var(--t-focus-ring-offset) + var(--t-border-width)) * -1);\n border-radius: calc(var(--t-border-radius-md) + var(--t-focus-ring-offset));\n box-shadow: 0 0 0 var(--t-focus-ring-width) var(--t-focus-ring-color);\n pointer-events: none;\n}\n\n.tab[aria-selected=\"true\"] {\n background-color: var(--t-surface-color-card);\n border-color: var(--t-border-color);\n border-bottom-color: var(--t-surface-color-card);\n cursor: default;\n}\n",".blank_state {\n max-width: 300px;\n margin-inline: auto;\n padding-block: var(--t-spacing-2);\n text-align: center;\n\n @media screen and (min-width: 600px) {\n padding-block: var(--t-spacing-5);\n }\n\n h2 {\n color: var(--t-text-color-headline);\n font-size: var(--t-font-size-xl);\n font-weight: var(--t-font-weight-semibold);\n margin: 0;\n }\n\n p {\n color: var(--t-text-color-secondary);\n font-size: var(--t-font-size-md);\n margin: 0;\n }\n}\n\n.image {\n color: var(--t-fill-color-status-info-ghost);\n\n svg {\n width: 30vw;\n max-width: 240px;\n height: auto;\n\n @media screen and (min-width: 600px) {\n width: 18vw;\n }\n }\n\n :global(:root[data-color-mode=\"dark\"]) & {\n color: var(--t-fill-color-status-neutral-ghost);\n }\n\n @media (prefers-color-scheme: dark) {\n :global(:root[data-color-mode=\"system\"]) & {\n color: var(--t-fill-color-status-neutral-ghost);\n }\n }\n}\n\n",".result {\n display: flex;\n align-items: center;\n gap: var(--t-spacing-1-half);\n min-height: 56px;\n padding: var(--t-spacing-1) var(--product-search-row-inset, var(--t-spacing-1-half));\n color: var(--t-text-color);\n text-decoration: none;\n border-radius: var(--t-border-radius-md);\n /* Taps get the highlight below instead of the browser's grey flash. */\n -webkit-tap-highlight-color: transparent;\n}\n\n.result:hover,\n.result:focus,\n.result:active,\n.result:visited {\n color: var(--t-text-color);\n text-decoration: none;\n}\n\n.result[aria-selected=\"true\"],\n.result:active {\n background-color: var(--t-fill-color-button-interaction-ghost-hover);\n}\n\n.title {\n flex-shrink: 0;\n max-width: 60%;\n /* Clips sideways for the ellipsis, leaving room below for descenders,\n which Segoe UI on Windows draws past the line. */\n overflow-x: clip;\n font-size: var(--t-font-size-lg);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.subtitle {\n min-width: 0;\n overflow-x: clip;\n color: var(--t-text-color-secondary);\n font-size: var(--t-font-size-sm);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.image {\n --result-image-size: 32px;\n\n position: relative;\n flex-shrink: 0;\n width: var(--result-image-size);\n height: var(--result-image-size);\n}\n\n.avatar,\n.photo {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.avatar {\n border-radius: 50%;\n}\n\n.photo {\n border-radius: var(--t-border-radius-md);\n}\n\n.badge {\n position: absolute;\n right: -4px;\n bottom: -4px;\n filter: drop-shadow(0 1px 1px var(--t-fill-color-transparency-dark-static-010));\n}\n\n/*\n * Too narrow for the title and meta to share a line, as on a phone, so they\n * stack beside a smaller image.\n */\n@container (max-width: 480px) {\n .result {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n align-content: center;\n gap: 0 var(--t-spacing-1-half);\n }\n\n .image {\n --result-image-size: 28px;\n\n grid-row: span 2;\n align-self: center;\n }\n\n .title {\n max-width: none;\n }\n}\n",".heading {\n padding: var(--t-spacing-half)\n var(--product-search-heading-inset, var(--product-search-row-inset, var(--t-spacing-1-half)));\n color: var(--t-text-color-secondary);\n font-size: var(--t-font-size-sm);\n}\n\n.group:not(:first-child) > .heading {\n margin-top: var(--t-spacing-2);\n}\n","/*\n * The field is a box of its own, so keyboard focus can ring it like an input.\n * Padding all around gives the ring room, and the row's padding is that much\n * less than the section padding, so the icon lines up with the tabs.\n */\n.row {\n --header-inset-block: var(--t-spacing-1);\n --header-inset-inline: var(--t-spacing-half);\n\n display: flex;\n flex-shrink: 0;\n align-items: center;\n gap: var(--t-spacing-1);\n padding-top: calc(\n var(--product-search-padding-block) - var(--header-inset-block)\n );\n padding-inline: calc(\n var(--product-search-padding-inline) - var(--header-inset-inline)\n );\n padding-bottom: calc(var(--t-spacing-1-half) - var(--header-inset-block));\n}\n\n/*\n * A label, so a click anywhere in it focuses the input. Products style labels\n * app-wide, with margins, line heights, weights and even display, so like the\n * input below, these rules add its ID to outrank them.\n */\n.header:global(#topbar_product_search_label) {\n display: flex;\n flex: 1;\n align-items: center;\n gap: var(--t-spacing-1);\n min-width: 0;\n margin: 0;\n padding: var(--header-inset-block) var(--header-inset-inline);\n color: inherit;\n font: inherit;\n letter-spacing: inherit;\n text-transform: none;\n border-radius: var(--t-border-radius-lg);\n outline: var(--t-focus-ring-width) solid transparent;\n cursor: text;\n transition: outline-color var(--t-duration-200) var(--t-ease-in-out);\n}\n\n/* Only from the keyboard, since a click or tap already shows where it is. */\n.header:global(#topbar_product_search_label):has([data-focus-visible]) {\n outline-color: var(--t-focus-ring-color);\n}\n\n/* A 48px tap target around the 32px button, like the small topbar's. */\n.closeButton {\n position: relative;\n flex-shrink: 0;\n}\n\n.closeButton::before {\n position: absolute;\n inset: calc((var(--t-container-size-xl) - var(--t-container-size-md)) / -2);\n content: \"\";\n}\n\n/*\n * Products style their own inputs, often by element and type with states\n * like :focus. There's only ever one product search field, so these rules\n * add its ID, set as a plain string in SearchInput, which outranks any\n * product rule without one.\n */\n.input:global(#product_search) {\n position: static;\n flex: 1;\n min-width: 0;\n height: auto;\n margin: 0;\n padding: 0;\n background: none;\n color: var(--t-text-color);\n font: inherit;\n font-size: var(--t-font-size-xl);\n line-height: normal;\n border: 0 solid transparent;\n border-radius: 0;\n box-shadow: none;\n outline: none;\n}\n\n.input:global(#product_search)::placeholder {\n color: var(--t-text-color-placeholder);\n}\n\n.input:global(#product_search)::-webkit-search-cancel-button {\n appearance: none;\n}\n\n.clearButton {\n --clear-button-size: 20px;\n --clear-button-background: var(--t-fill-color-neutral-030);\n --clear-button-background-hover: var(--t-fill-color-neutral-025);\n\n flex-shrink: 0;\n width: var(--clear-button-size);\n height: var(--clear-button-size);\n padding: 0;\n background: none;\n border: 0;\n cursor: pointer;\n}\n\n:global(:root[data-color-mode=\"dark\"]) .clearButton {\n --clear-button-background: var(--t-fill-color-neutral-040);\n --clear-button-background-hover: var(--t-fill-color-neutral-050);\n}\n\n@media (prefers-color-scheme: dark) {\n :global(:root[data-color-mode=\"system\"]) .clearButton {\n --clear-button-background: var(--t-fill-color-neutral-040);\n --clear-button-background-hover: var(--t-fill-color-neutral-050);\n }\n}\n\n.clearButton svg {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.clearButton circle {\n fill: var(--clear-button-background);\n transition: fill var(--topbar-slight-transition);\n}\n\n.clearButton:hover circle {\n fill: var(--clear-button-background-hover);\n}\n\n.clearButton path {\n stroke: #fff;\n stroke-width: 2;\n stroke-linecap: round;\n}\n",".spinner {\n --spinner-size: 54px;\n --spinner-track-width: 6px;\n --spinner-track-color: var(--t-border-color-dim);\n --spinner-color: var(--t-border-color-status-info);\n\n display: inline-block;\n box-sizing: border-box;\n width: var(--spinner-size);\n height: var(--spinner-size);\n border: var(--spinner-track-width) solid var(--spinner-track-color);\n border-bottom-color: var(--spinner-color);\n border-radius: 50%;\n animation: rotation .75s linear infinite;\n}\n\n@keyframes rotation {\n to {\n transform: rotate(1turn);\n }\n}",".popup {\n color: var(--t-text-color);\n min-width: 242px;\n max-width: 320px;\n margin-top: calc(var(--t-spacing-1) * -1);\n right: calc(var(--t-spacing-1) + 1px); /* 1px is to account for .product-wrap { padding-right: 1px } */\n max-height: calc(100% - var(--topbar-height) - var(--t-spacing-3));\n}\n\n.trigger-wrap {\n /* Lets the trigger shrink, truncating the org name, when the nav runs out\n of room */\n min-width: 0;\n margin-left: var(--t-spacing-1);\n position: relative;\n white-space: nowrap;\n cursor: pointer;\n}\n\n.trigger {\n font-size: var(--topbar-nav-link-font-size);\n color: var(--topbar-nav-link-font-color);\n height: var(--topbar-nav-link-height);\n background-color: var(--topbar-nav-link-background-color-active);\n padding: 0 var(--topbar-nav-link-padding-x);\n border: var(--t-border-width) solid var(--topbar-nav-link-border-color-active);\n border-radius: var(--topbar-nav-link-border-radius);\n min-width: var(--topbar-nav-link-height);\n max-width: 100%;\n transition: var(--topbar-nav-link-transition);\n display: flex;\n align-items: center;\n justify-content: center;\n outline: 0;\n appearance: none;\n cursor: pointer;\n}\n\n.trigger svg {\n flex-shrink: 0;\n transition: transform var(--topbar-slight-transition);\n /* Negative margin ensures button is a circle when orgname isn’t visible */\n margin-left: calc(var(--t-spacing-1) * -1);\n margin-right: calc(var(--t-spacing-1) * -1);\n}\n\n.trigger.is-visible svg {\n transform: rotate(180deg);\n}\n\n.trigger-orgname {\n max-width: 240px;\n margin-right: var(--t-spacing-fourth);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.trigger-orgname + svg {\n color: var(--t-fill-color-transparency-dark-050);\n /* Correct margin for when orgname is visible */\n margin-left: 0;\n margin-right: calc(var(--t-spacing-fourth) * -1);\n}\n",".avatar {\n background-color: var(--t-fill-color-transparency-light-020);\n background-position: center;\n background-size: cover;\n border-radius: 50%;\n height: var(--t-element-size-2xl);\n width: var(--t-element-size-2xl);\n margin-left: var(--t-spacing-half);\n}\n",".trigger {\n border-width: 0;\n background-color: transparent;\n height: 100%;\n padding-left: var(--t-spacing-2);\n padding-right: var(--t-spacing-3);\n appearance: none;\n\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.layer {\n align-items: flex-end;\n color: var(--t-text-color-headline);\n display: flex;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n visibility: hidden;\n transition: visibility var(--t-duration-0) var(--t-ease-linear)\n var(--t-duration-400);\n}\n\n.layer.layer--visible {\n visibility: visible;\n transition: visibility var(--t-duration-0) var(--t-ease-linear)\n var(--t-duration-0);\n}\n\n.panel {\n background-color: var(--t-surface-color-card);\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow-y: auto;\n padding: 0;\n transform: translateX(-100%);\n transition: transform var(--t-duration-400) var(--t-ease-out);\n}\n\n.layer--visible .panel {\n transform: translateX(0);\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: var(--t-container-size-xl);\n padding: 0 var(--t-spacing-1);\n position: sticky;\n top: 0;\n background-color: var(--t-surface-color-card);\n}\n\n.heading {\n font-size: var(--t-font-size-lg);\n font-weight: var(--t-font-weight-semibold);\n padding-left: var(--t-spacing-1);\n}\n\n.close svg {\n width: var(--t-element-size-xl);\n height: var(--t-element-size-xl);\n}\n\n.close {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n border-width: 0;\n padding: var(--t-spacing-1);\n appearance: none;\n}\n\n.list {\n list-style: none;\n margin: 0;\n padding: var(--t-spacing-half) var(--t-spacing-1) 0;\n}\n\n.link {\n display: flex;\n align-items: center;\n gap: var(--t-spacing-1);\n min-height: var(--t-container-size-xl);\n padding: 0 var(--t-spacing-1);\n border-radius: var(--t-border-radius-lg);\n font-size: var(--t-font-size-md);\n font-weight: var(--t-font-weight-semibold);\n text-decoration: none;\n color: var(--t-text-color-headline);\n}\n\n.link:active {\n background: var(--t-fill-color-button-neutral-ghost-active);\n}\n\n.current {\n background: var(--t-fill-color-button-interaction-ghost-active);\n}\n\n.current:active {\n background: var(--t-fill-color-button-interaction-ghost-hover);\n}\n\n.accounts-item {\n margin-top: var(--t-spacing-half);\n padding-top: var(--t-spacing-half);\n padding-bottom: var(--t-spacing-1);\n border-top: var(--t-border-width) solid var(--t-border-color-dim);\n}\n\n.accounts-link {\n color: var(--t-text-color-secondary);\n font-weight: var(--t-font-weight-normal);\n}\n\n.accounts-link svg {\n opacity: 0.5;\n}\n",".debug-pco-resource {\n display: flex;\n flex-direction: column;\n gap: var(--t-spacing-1);\n margin: var(--t-spacing-2);\n padding: var(--t-spacing-2);\n border: var(--t-border-width-thick) solid var(--t-fill-color-product-staff);\n border-radius: var(--t-border-radius-lg);\n background-color: var(--t-fill-color-tag-pink-010);\n}\n\n.debug-pco-resource-header {\n display: flex;\n align-items: center;\n gap: var(--t-spacing-1);\n margin-bottom: var(--t-spacing-half);\n}\n\n.debug-pco-resource-badge {\n padding: var(--t-spacing-fourth) var(--t-spacing-half);\n border-radius: var(--t-border-radius-round);\n background-color: var(--t-fill-color-product-staff);\n color: #fff;\n font-size: var(--t-font-size-2xs);\n font-weight: var(--t-font-weight-bold);\n letter-spacing: 0.04em;\n text-transform: uppercase;\n}\n\n.debug-pco-resource-title {\n color: var(--t-text-color);\n font-size: var(--t-font-size-sm);\n font-weight: var(--t-font-weight-semibold);\n}\n\n.debug-pco-resource-field {\n display: flex;\n flex-direction: column;\n gap: var(--t-spacing-fourth);\n}\n\n.debug-pco-resource-field-label {\n color: var(--t-text-color-secondary);\n font-size: var(--t-font-size-2xs);\n font-weight: var(--t-font-weight-semibold);\n letter-spacing: 0.03em;\n text-transform: uppercase;\n}\n\n.debug-pco-resource-field-value {\n padding: var(--t-spacing-fourth) var(--t-spacing-half);\n border-radius: var(--t-border-radius-sm);\n background-color: var(--t-fill-color-neutral-070);\n color: var(--t-text-color);\n font-family: var(--t-font-monospace);\n font-size: var(--t-font-size-xs);\n overflow-wrap: break-word;\n}\n\n.debug-pco-resource-note {\n margin: 0;\n color: var(--t-text-color-secondary);\n font-size: var(--t-font-size-xs);\n font-style: italic;\n}\n\n.debug-pco-resource-json {\n max-height: 240px;\n margin: 0;\n padding: var(--t-spacing-1);\n overflow: auto;\n border-radius: var(--t-border-radius-sm);\n background-color: var(--t-fill-color-neutral-070);\n color: var(--t-text-color);\n font-family: var(--t-font-monospace);\n font-size: var(--t-font-size-xs);\n white-space: pre-wrap;\n overflow-wrap: break-word;\n}\n",".drawer-wrap {\n width: 100%;\n background-color: var(--t-surface-color-card);\n\n display: none;\n position: fixed;\n top: 0;\n bottom: var(--toolbar-navbar-height);\n\n overflow: hidden;\n}\n.drawer-wrap.is-visible {\n display: block;\n}\n\n.drawer {\n display: flex;\n flex-direction: column;\n height: 100%;\n\n overflow: auto;\n scrollbar-color: var(--t-fill-color-transparency-dark-030);\n scrollbar-width: var(--topbar-scrollbar-width);\n}\n.drawer[hidden] {\n display: none;\n}\n\n@media (min-width: 600px) {\n .drawer-wrap {\n width: var(--toolbar-drawer-width);\n border-radius: 6px; /* TODO: Once a token exists, replace with 6px equivalent \n or inset associated with to --t-border-radius-lg */\n box-shadow: 0 0 0 1px var(--content-wrap-border-color), 0 4px 12px 2px rgba(0, 0, 0, 0.16);\n\n display: block;\n position: absolute;\n bottom: var(--t-spacing-2);\n right: calc(var(--toolbar-drawer-width) * -1);\n top: calc(var(--topbar-height) + var(--t-spacing-1));\n\n opacity: 0;\n transform: translateX(var(--t-spacing-1));\n transition-property: opacity, transform, right;\n transition-duration: 100ms;\n transition-delay: 0s, 0s, 100ms;\n transition-timing-function: ease-in-out;\n }\n .drawer-wrap.is-visible {\n right: calc(var(--toolbar-width) + var(--t-spacing-1) + 1px);\n opacity: 1;\n transform: translateX(0);\n\n transition-property: opacity, transform;\n transition-delay: 0s;\n }\n}\n",".indicator-dot {\n width: 12px;\n height: 12px;\n background: radial-gradient(#33adff 50%, transparent 50%);\n background-color: #33adff;\n box-shadow: inset 0 0 0 2px #b1bfda;\n border-radius: 50%;\n position: absolute;\n z-index: 6;\n pointer-events: none;\n}\n\n.indicator-dot.is-active {\n width: 10px;\n height: 10px;\n box-shadow: inset 0 0 0 2px var(--t-fill-color-neutral-100);\n transform: translateX(-1.5px) translateY(1.5px);\n}\n",".color-mode-switcher {\n color: var(--t-text-color); /* Needed to override .tapestry-react-reset. This is the dumbest thing to have to do */\n border: 0;\n padding: 0;\n}\n\n.color-mode-switcher-label {\n font-weight: var(--t-font-weight-semibold);\n display: inline-block;\n margin-bottom: var(--t-spacing-1);\n}\n\n.color-mode-switcher-label-beta {\n font-size: var(--t-font-size-xs);\n font-weight: var(--t-font-weight-semibold);\n color: var(--t-text-color-status-neutral);\n background-color: var(--t-fill-color-status-neutral-ghost);\n border-radius: var(--t-border-radius-sm);\n padding: 0 var(--t-spacing-1);\n line-height: var(--t-element-size-sm);\n vertical-align: middle;\n text-transform: uppercase;\n}\n\n.color-mode-switcher-modes {\n padding: var(--t-spacing-half);\n border: var(--t-border-width) solid var(--t-border-color);\n border-radius: var(--t-border-radius-md);\n display: flex;\n gap: var(--t-spacing-half);\n container-type: inline-size;\n\n input[type=\"radio\"] {\n opacity: 0;\n position: absolute;\n pointer-events: none;\n }\n\n label {\n border-radius: var(--t-border-radius-sm);\n min-height: var(--t-element-size-xl);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n user-select: none;\n margin: 0;\n position: relative;\n }\n label:hover {\n background: var(--t-fill-color-button-neutral-ghost-hover);\n }\n\n label:has(input:focus-visible) {\n outline: auto;\n }\n\n svg {\n display: none;\n margin-right: var(--t-spacing-half);\n\n @container (width >= 256px) {\n display: block;\n }\n }\n\n svg {\n color: var(--t-icon-color-dim);\n }\n\n label,\n svg {\n transition-property: color, background-color;\n transition-duration: 0.1s;\n transition-timing-function: linear;\n }\n\n label:has(input:checked) {\n color: var(--t-text-color-status-info);\n background-color: var(--t-fill-color-status-info-ghost);\n\n svg {\n color: var(--t-icon-color-status-info);\n }\n }\n}\n",".banner {\n /* Shared by the border stroke (full opacity) and the interior wash so\n the two stay in sync. */\n --local-ask-ai-gradient: linear-gradient(\n 163.5deg,\n var(--t-fill-color-tag-teal-040) 0%,\n var(--t-fill-color-tag-blue-040) 35.27%,\n var(--t-fill-color-tag-purple-040) 65.62%,\n var(--t-fill-color-tag-orange-040) 100%\n );\n\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--t-spacing-1);\n width: 100%;\n padding: var(--t-spacing-1);\n border: var(--t-border-width) solid transparent;\n border-radius: var(--t-border-radius-lg);\n background:\n linear-gradient(\n var(--t-surface-color-card),\n var(--t-surface-color-card)\n )\n padding-box,\n var(--local-ask-ai-gradient) border-box;\n overflow: hidden;\n cursor: pointer;\n font: inherit;\n text-align: left;\n appearance: none;\n -webkit-appearance: none;\n}\n\n.banner::before {\n content: \"\";\n position: absolute;\n inset: 0;\n background-image: var(--local-ask-ai-gradient);\n opacity: 0.15;\n pointer-events: none;\n}\n\n.banner:hover::before {\n opacity: 0.25;\n}\n\n.banner:focus-visible {\n outline: var(--t-focus-ring-outline);\n outline-offset: var(--t-focus-ring-offset);\n}\n\n.stacked {\n /* Tapestry has no semantic elevation-shadow token, so this is a\n --local- color (per the dark-mode escape-hatch convention); it's\n redefined to transparent in dark below. */\n --local-ask-ai-shadow-color: #e4edf7;\n\n filter: drop-shadow(0 4px 6px var(--local-ask-ai-shadow-color));\n}\n\n:global(:root[data-color-mode=\"dark\"]) .stacked {\n --local-ask-ai-shadow-color: transparent;\n}\n\n@media (prefers-color-scheme: dark) {\n :global(:root[data-color-mode=\"system\"]) .stacked {\n --local-ask-ai-shadow-color: transparent;\n }\n}\n\n.content {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--t-spacing-1);\n min-width: 0;\n}\n\n.icon {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n}\n\n.iconShape {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n}\n\n.iconSparkle {\n position: relative;\n width: 19.5px;\n height: 18px;\n color: #fff;\n}\n\n.text {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n min-width: 0;\n}\n\n.title {\n font-size: var(--t-font-size-md);\n font-weight: var(--t-font-weight-bold);\n line-height: 1.4;\n letter-spacing: -0.096px;\n color: var(--t-text-color-headline);\n}\n\n.subtitle {\n font-size: var(--t-font-size-xs);\n line-height: 1.3;\n letter-spacing: -0.072px;\n color: var(--t-text-color);\n}\n\n.chevron {\n position: relative;\n flex-shrink: 0;\n color: var(--t-icon-color-dim);\n}\n\n.inlineContent {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--t-spacing-fourth);\n min-width: 0;\n}\n\n.sparkle {\n flex-shrink: 0;\n color: var(--t-fill-color-tag-indigo-040);\n}\n\n.inlineTitle {\n font-size: var(--t-font-size-sm);\n font-weight: var(--t-font-weight-bold);\n line-height: 1.35;\n letter-spacing: -0.084px;\n color: var(--t-text-color);\n}\n\n/* A span, not a button: the banner itself is already the button. */\n.action {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n gap: var(--t-spacing-half);\n height: var(--t-container-size-sm);\n padding: var(--t-spacing-fourth) var(--t-spacing-1);\n border-radius: var(--t-border-radius-md);\n background-color: var(--t-fill-color-button-neutral-ghost);\n}\n\n.actionLabel {\n font-size: var(--t-font-size-sm);\n line-height: 1.35;\n letter-spacing: -0.084px;\n color: var(--t-text-color-status-neutral);\n}\n\n.actionChevron {\n position: relative;\n flex-shrink: 0;\n color: var(--t-icon-color-status-neutral-secondary);\n}\n",".button {\n --local-ask-ai-gradient: linear-gradient(\n 163.5deg,\n var(--t-fill-color-tag-teal-040) 0%,\n var(--t-fill-color-tag-blue-040) 35.27%,\n var(--t-fill-color-tag-purple-040) 65.62%,\n var(--t-fill-color-tag-orange-040) 100%\n );\n\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--t-spacing-half);\n height: var(--t-container-size-sm);\n padding: 0 var(--t-spacing-1);\n border: var(--t-border-width) solid transparent;\n border-radius: var(--t-border-radius-md);\n background:\n linear-gradient(\n var(--t-fill-color-button-neutral-outline),\n var(--t-fill-color-button-neutral-outline)\n )\n padding-box,\n var(--local-ask-ai-gradient) border-box;\n overflow: hidden;\n cursor: pointer;\n font: inherit;\n appearance: none;\n -webkit-appearance: none;\n}\n\n.button::before {\n content: \"\";\n position: absolute;\n inset: 0;\n background-image: var(--local-ask-ai-gradient);\n opacity: 0;\n pointer-events: none;\n}\n\n.button:hover::before {\n opacity: 0.15;\n}\n\n.button:active::before {\n opacity: 0.25;\n}\n\n.button:focus-visible {\n outline: var(--t-focus-ring-outline);\n outline-offset: var(--t-focus-ring-offset);\n}\n\n.sparkle {\n position: relative;\n flex-shrink: 0;\n color: var(--t-fill-color-tag-indigo-040);\n}\n\n.label {\n position: relative;\n font-size: var(--t-font-size-sm);\n line-height: 1.35;\n color: var(--t-text-color);\n}\n"]}
package/dist/topbar.js CHANGED
@@ -4444,8 +4444,6 @@ function hasSelectedText(element) {
4444
4444
  return selectedInField || ((_b = (_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : "") !== "";
4445
4445
  }
4446
4446
 
4447
- const resultId = (listboxId, index) => `${listboxId}-result-${index}`;
4448
-
4449
4447
  // eslint-disable-next-line sort-keys-fix/sort-keys-fix
4450
4448
  const COPIED_TIMING = {
4451
4449
  enter: 240,
@@ -4490,7 +4488,7 @@ function indexOf(highlight, items, list) {
4490
4488
  // A list that grows, fills in, or reorders under the same `list` keeps its
4491
4489
  // highlight on the same item, found again by key.
4492
4490
  // Disabled, nothing is highlighted and the keys and pointer leave it alone.
4493
- function useResultNavigation(items, list, listboxId, enabled = true) {
4491
+ function useResultNavigation(items, list, enabled = true) {
4494
4492
  const [highlight, setHighlight] = React.useState({
4495
4493
  index: 0,
4496
4494
  list
@@ -4519,17 +4517,9 @@ function useResultNavigation(items, list, listboxId, enabled = true) {
4519
4517
  highlightIndex((highlightedIndex + step + items.length) % items.length);
4520
4518
  } else if (event.key === "Enter" && highlighted && !event.nativeEvent.isComposing) {
4521
4519
  event.preventDefault();
4522
- // Clicking the result's own link, rather than going to its URL, lets
4523
- // routers like Turbo follow it as they would a click, and closes
4524
- // search the same way.
4525
- const link = hasCommandKey(event) ? null : document.getElementById(resultId(listboxId, highlightedIndex));
4526
- if (link) {
4527
- link.click();
4528
- } else {
4529
- open(highlighted.url, {
4530
- newTab: hasCommandKey(event)
4531
- });
4532
- }
4520
+ open(highlighted.url, {
4521
+ newTab: hasCommandKey(event)
4522
+ });
4533
4523
  } else if (isCopyShortcut(event) && highlighted && !hasSelectedText(event.currentTarget)) {
4534
4524
  event.preventDefault();
4535
4525
  copy(highlighted.url);
@@ -5392,6 +5382,8 @@ function EndOfResultsObserver({
5392
5382
  });
5393
5383
  }
5394
5384
 
5385
+ const resultId = (listboxId, index) => `${listboxId}-result-${index}`;
5386
+
5395
5387
  var styles$e = {"result":"result-Thq2C","title":"title-KYUEn","subtitle":"subtitle-R2haq","image":"image-KVDor","avatar":"avatar-6Gh62","photo":"photo-FZR3Q","badge":"badge-trUKt"};
5396
5388
 
5397
5389
  function SearchResult({
@@ -5435,9 +5427,8 @@ function SearchResult({
5435
5427
  highlightedByPointer.current = true;
5436
5428
  onHighlight();
5437
5429
  };
5438
- // Products like People navigate with Turbo instead of loading a new page,
5439
- // and the topbar outlives the visit, so the modal has to close itself.
5440
- // Clicks that open a new tab or window leave it open.
5430
+ // Closes search before the page goes, so coming back to it doesn't find
5431
+ // search still open. Clicks that open a new tab or window leave it open.
5441
5432
  const openFromClick = event => {
5442
5433
  if (event.button !== 0 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) return;
5443
5434
  onOpen();
@@ -5446,6 +5437,10 @@ function SearchResult({
5446
5437
  // with aria-activedescendant, so results are kept out of the tab order.
5447
5438
  // Mouse move rather than enter: arrowing scrolls results under a resting
5448
5439
  // pointer, and that shouldn't steal the highlight.
5440
+ // Results open with a full page load, like Enter does, rather than through
5441
+ // the product's router. Their URLs can go through server redirects, like
5442
+ // People's staff URLs, that Turbo would follow with fetch or prefetch on
5443
+ // hover, and they should open the same way in every product.
5449
5444
  return (
5450
5445
  /*#__PURE__*/
5451
5446
  // Named by the title alone, so screen readers say "Ada Lovelace" rather
@@ -5455,6 +5450,7 @@ function SearchResult({
5455
5450
  "aria-labelledby": title ? `${id}-title` : undefined,
5456
5451
  "aria-selected": highlighted,
5457
5452
  className: styles$e.result,
5453
+ "data-turbo": "false",
5458
5454
  href: url,
5459
5455
  id: id,
5460
5456
  onClick: openFromClick,
@@ -6134,7 +6130,7 @@ function SearchPanel({
6134
6130
  // A narrow window with a keyboard and mouse keeps both, as does the desktop
6135
6131
  // layout on a touch device, whose keyboard hints still advertise them.
6136
6132
  const touchOnly = useMediaQuery("(hover: none) and (pointer: coarse)");
6137
- const navigation = useResultNavigation(items, hasTerm ? sections : RECENTS, listboxId, !(mobile && touchOnly));
6133
+ const navigation = useResultNavigation(items, hasTerm ? sections : RECENTS, !(mobile && touchOnly));
6138
6134
  const {
6139
6135
  highlightedIndex
6140
6136
  } = navigation;
@@ -6425,10 +6421,7 @@ function ProductSearch({
6425
6421
  env: env,
6426
6422
  // Phones have no Esc, so mobile search gets a close button.
6427
6423
  onClose: mobile ? () => setOpen(false) : undefined,
6428
- // Routers like Turbo follow the result's link from their own click
6429
- // listeners, after this one, so the modal closes once they're done
6430
- // with it. A microtask would run between listeners, too soon.
6431
- onOpenResult: () => setTimeout(() => setOpen(false)),
6424
+ onOpenResult: () => setOpen(false),
6432
6425
  products: searchable.products
6433
6426
  })));
6434
6427
  }
@@ -35167,11 +35160,13 @@ var styles$4 = {"drawer-wrap":"drawer-wrap-J0rSL","is-visible":"is-visible-KTME8
35167
35160
 
35168
35161
  function Drawer({
35169
35162
  children,
35163
+ hidden = false,
35170
35164
  id = "toolbarDrawer"
35171
35165
  }) {
35172
35166
  return /*#__PURE__*/React.createElement("div", {
35173
35167
  id: id,
35174
- className: styles$4["drawer"]
35168
+ className: styles$4["drawer"],
35169
+ hidden: hidden
35175
35170
  }, children);
35176
35171
  }
35177
35172
  function DrawerWrap({
@@ -37262,6 +37257,9 @@ const Picobot = {
37262
37257
  staticDotPath: SPARKLE_PATH,
37263
37258
  staticPath: SPARKLE_PATH
37264
37259
  },
37260
+ // Safari won't let Picobot focus its composer in an iframe created after the
37261
+ // click that opened it, so the iframe has to outlive the drawer.
37262
+ keepMounted: true,
37265
37263
  name: "Picobot"
37266
37264
  };
37267
37265
 
@@ -37710,6 +37708,7 @@ const CLOSED_TOOLBAR_DRAWER = {
37710
37708
  open: false,
37711
37709
  tool: null
37712
37710
  };
37711
+ function ignorePath() {}
37713
37712
  // Exempt paths match regardless of query, so `email?conversationId=…` is
37714
37713
  // exempt along with `email`.
37715
37714
  function isToolPathExemptFromStorage(toolName, path) {
@@ -37764,6 +37763,7 @@ function Toolbar({
37764
37763
  pending
37765
37764
  } = state;
37766
37765
  const mounted = !!currentContent;
37766
+ const [keptMountedToolNames, setKeptMountedToolNames] = React.useState([]);
37767
37767
  const storeData = useStore();
37768
37768
  const {
37769
37769
  indicatorVisible,
@@ -38010,23 +38010,38 @@ function Toolbar({
38010
38010
  const onChangePath = React.useCallback(path => {
38011
38011
  onChangeToolbarFragmentRoute(currentContent === null || currentContent === void 0 ? void 0 : currentContent.name.toLowerCase(), path);
38012
38012
  }, [currentContent === null || currentContent === void 0 ? void 0 : currentContent.name]);
38013
- const routeIsForCurrentTool = (toolbarFragmentRoute === null || toolbarFragmentRoute === void 0 ? void 0 : toolbarFragmentRoute.tool) && toolsRouteMap[toolbarFragmentRoute.tool] === currentContent;
38014
- const currentToolProps = {
38015
- appName,
38016
- clearPending,
38017
- closeDrawer,
38018
- currentPath: routeIsForCurrentTool ? toolbarFragmentRoute === null || toolbarFragmentRoute === void 0 ? void 0 : toolbarFragmentRoute.path : null,
38019
- env,
38020
- helpdeskConfig,
38021
- isOpen: open,
38022
- joltPromise,
38023
- onChangePath,
38024
- openDrawer: () => currentContent && openDrawer(currentContent),
38025
- openTool,
38026
- pending: (pending === null || pending === void 0 ? void 0 : pending.tool) === (currentContent === null || currentContent === void 0 ? void 0 : currentContent.name) ? pending === null || pending === void 0 ? void 0 : pending.value : undefined,
38027
- userId,
38028
- ...(currentContent ? toolSpecificProps[currentContent.name] : {})
38029
- };
38013
+ function propsForTool(tool) {
38014
+ var _a;
38015
+ const routeIsForTool = (toolbarFragmentRoute === null || toolbarFragmentRoute === void 0 ? void 0 : toolbarFragmentRoute.tool) && toolsRouteMap[toolbarFragmentRoute.tool] === tool;
38016
+ // A kept-mounted tool stays on its stored route while hidden; handing it
38017
+ // the cleared route would reset it (Picobot starts a new conversation).
38018
+ const pathWhenNotRouted = tool.keepMounted ? (_a = toolStateCookie[tool.name.toLowerCase()]) !== null && _a !== void 0 ? _a : null : null;
38019
+ return {
38020
+ appName,
38021
+ clearPending,
38022
+ closeDrawer,
38023
+ currentPath: routeIsForTool ? toolbarFragmentRoute === null || toolbarFragmentRoute === void 0 ? void 0 : toolbarFragmentRoute.path : pathWhenNotRouted,
38024
+ env,
38025
+ helpdeskConfig,
38026
+ isOpen: open && tool === currentContent,
38027
+ joltPromise,
38028
+ // onChangePath routes the current tool, so a hidden tool can't use it.
38029
+ onChangePath: tool === currentContent ? onChangePath : ignorePath,
38030
+ openDrawer: () => openDrawer(tool),
38031
+ openTool,
38032
+ pending: (pending === null || pending === void 0 ? void 0 : pending.tool) === tool.name ? pending === null || pending === void 0 ? void 0 : pending.value : undefined,
38033
+ userId,
38034
+ ...toolSpecificProps[tool.name]
38035
+ };
38036
+ }
38037
+ React.useEffect(function rememberKeptMountedTool() {
38038
+ if (!(currentContent === null || currentContent === void 0 ? void 0 : currentContent.keepMounted)) return;
38039
+ const {
38040
+ name
38041
+ } = currentContent;
38042
+ setKeptMountedToolNames(names => names.includes(name) ? names : [...names, name]);
38043
+ }, [currentContent]);
38044
+ const keptMountedTools = TOOLS.filter(tool => tool.keepMounted && (tool === currentContent || keptMountedToolNames.includes(tool.name)));
38030
38045
  const indicatorState = {
38031
38046
  ...indicatorVisible,
38032
38047
  Chat: unreadIndicator
@@ -38067,11 +38082,17 @@ function Toolbar({
38067
38082
  }));
38068
38083
  })), /*#__PURE__*/React.createElement(DrawerWrap, {
38069
38084
  isVisible: open
38070
- }, mounted && (/*#__PURE__*/React.createElement(Drawer, {
38085
+ }, mounted && !currentContent.keepMounted && (/*#__PURE__*/React.createElement(Drawer, {
38071
38086
  id: `toolbarDrawer${currentContent.name}`
38072
38087
  }, /*#__PURE__*/React.createElement(currentContent.component, {
38073
- ...currentToolProps
38074
- }))))));
38088
+ ...propsForTool(currentContent)
38089
+ }))), keptMountedTools.map(tool => (/*#__PURE__*/React.createElement(Drawer, {
38090
+ hidden: tool !== currentContent,
38091
+ id: `toolbarDrawer${tool.name}`,
38092
+ key: tool.name
38093
+ }, /*#__PURE__*/React.createElement(tool.component, {
38094
+ ...propsForTool(tool)
38095
+ })))))));
38075
38096
  }
38076
38097
  const ToolbarButton = ({
38077
38098
  children,