@jrgermain/stylesheet 0.4.0 → 0.4.1

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/index.css CHANGED
@@ -165,7 +165,7 @@ img, picture, video, iframe {
165
165
  --font-weight-bold: 700;
166
166
  --font-weight-black: 900;
167
167
  --font-family-body: "Avenir Next", avenir, corbel, source-sans-pro, "DejaVu Sans", ui-sans-serif, sans-serif;
168
- --font-family-heading: seravek, "Gill Sans Nova", verdana, "DejaVu Sans", source-sans-pro, ui-sans-serif, sans-serif;
168
+ --font-family-heading: seravek, "Gill Sans Nova", cantarell, verdana, "DejaVu Sans", ui-sans-serif, sans-serif;
169
169
  --font-family-mono: ui-monospace, "Source Code Pro", ui-monospace, monospace;
170
170
  --space-3xs: clamp(4px, 3.6528px + .1087vw, 5px);
171
171
  --space-2xs: clamp(8px, 7.6528px + .1087vw, 9px);
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":null,"mappings":"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","sources":["index.css","utils/reset.css","utils/variables.css","components/banner.css","components/divider.css","components/heading.css","shared/base-alert.css","components/button.css","components/drawer.css","components/highlight.css","shared/base-dialog.css","components/card.css","components/field.css","components/link.css","shared/dismiss-button.css","components/chip.css","components/flex.css","components/meter.css","components/accordion.css","components/alert.css","components/skip-link.css","components/modal.css","components/quote.css","components/app.css","components/slider.css","components/progress.css","components/skeleton.css","components/text.css","components/switch.css","components/table.css","experimental/dialog-animations.css","components/visually-hidden.css","experimental/mobile-sidebar-fade-out.css"],"sourcesContent":["@import url(\"./utils/reset.css\");\n@import url(\"./utils/variables.css\");\n@import url(\"./shared/base-alert.css\");\n@import url(\"./shared/base-dialog.css\");\n@import url(\"./shared/dismiss-button.css\");\n@import url(\"./components/accordion.css\");\n@import url(\"./components/alert.css\");\n@import url(\"./components/app.css\");\n@import url(\"./components/banner.css\");\n@import url(\"./components/button.css\");\n@import url(\"./components/card.css\");\n@import url(\"./components/chip.css\");\n@import url(\"./components/divider.css\");\n@import url(\"./components/drawer.css\");\n@import url(\"./components/field.css\");\n@import url(\"./components/flex.css\");\n@import url(\"./components/heading.css\");\n@import url(\"./components/highlight.css\");\n@import url(\"./components/link.css\");\n@import url(\"./components/meter.css\");\n@import url(\"./components/modal.css\");\n@import url(\"./components/progress.css\");\n@import url(\"./components/quote.css\");\n@import url(\"./components/skeleton.css\");\n@import url(\"./components/skip-link.css\");\n@import url(\"./components/slider.css\");\n@import url(\"./components/switch.css\");\n@import url(\"./components/table.css\");\n@import url(\"./components/text.css\");\n@import url(\"./components/visually-hidden.css\");\n@import url(\"./experimental/dialog-animations.css\");\n@import url(\"./experimental/mobile-sidebar-fade-out.css\");\n","*,\n*::before,\n*::after {\n box-sizing: border-box;\n margin: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--border-m) solid var(--color-brand-5);\n}\n\nhtml {\n text-size-adjust: none;\n color-scheme: light dark;\n}\n\nbody {\n margin: 0;\n background-color: var(--color-body);\n color: var(--color-body-text);\n}\n\nimg,\npicture,\nvideo,\niframe {\n max-width: 100%;\n display: block;\n}\n",":root,\n::backdrop {\n /* Brand */\n --color-brand-1: light-dark(#08003b, #e5edff);\n --color-brand-2: light-dark(#190074, #bbc9ff);\n --color-brand-3: light-dark(#290fa3, #93a4ff);\n --color-brand-4: light-dark(#3c35cb, #6f7dff);\n --color-brand-5: #545be7;\n --color-brand-6: light-dark(#6f7dff, #3c35cb);\n --color-brand-7: light-dark(#93a4ff, #290fa3);\n --color-brand-8: light-dark(#bbc9ff, #190074);\n --color-brand-9: light-dark(#e5edff, #08003b);\n --color-brand-transparent: light-dark(#545be766, #545be780);\n --color-brand-extra-transparent: light-dark(#545be733, #545be759);\n\n /* Red */\n --color-red-1: light-dark(#240000, #ffe3dc);\n --color-red-2: light-dark(#4d0000, #ffb4a5);\n --color-red-3: light-dark(#7a0000, #ff7c68);\n --color-red-4: light-dark(#a90000, #f0503d);\n --color-red-5: #cc2a1b;\n --color-red-6: light-dark(#f0503d, #a90000);\n --color-red-7: light-dark(#ff7c68, #7a0000);\n --color-red-8: light-dark(#ffb4a5, #4d0000);\n --color-red-9: light-dark(#ffe3dc, #240000);\n --color-red-transparent: light-dark(#cc2a1b66, #cc2a1b80);\n --color-red-extra-transparent: light-dark(#cc2a1b33, #cc2a1b59);\n\n /* Orange */\n --color-orange-1: light-dark(#1c0300, #ffe6cc);\n --color-orange-2: light-dark(#3e1200, #ffb87e);\n --color-orange-3: light-dark(#632500, #f98f3a);\n --color-orange-4: light-dark(#8b3a00, #d76f04);\n --color-orange-5: #b45100;\n --color-orange-6: light-dark(#d76f04, #8b3a00);\n --color-orange-7: light-dark(#f98f3a, #632500);\n --color-orange-8: light-dark(#ffb87e, #3e1200);\n --color-orange-9: light-dark(#ffe6cc, #1c0300);\n --color-orange-transparent: light-dark(#b4510066, #b4510080);\n --color-orange-extra-transparent: light-dark(#b4510033, #b4510059);\n\n /* Yellow */\n --color-yellow-1: light-dark(#140900, #f8edc1);\n --color-yellow-2: light-dark(#2f1e00, #efcb72);\n --color-yellow-3: light-dark(#4e3700, #dfb22b);\n --color-yellow-4: light-dark(#7a5700, #c89808);\n --color-yellow-5: #a57c00;\n --color-yellow-6: light-dark(#c89808, #7a5700);\n --color-yellow-7: light-dark(#dfb22b, #4e3700);\n --color-yellow-8: light-dark(#efcb72, #2f1e00);\n --color-yellow-9: light-dark(#f8edc1, #140900);\n --color-yellow-transparent: light-dark(#a57c0066, #a57c0080);\n --color-yellow-extra-transparent: light-dark(#a57c0033, #a57c0059);\n\n /* Green */\n --color-green-1: light-dark(#011000, #dafbc4);\n --color-green-2: light-dark(#0c2a00, #a4e472);\n --color-green-3: light-dark(#1d4600, #7dc53a);\n --color-green-4: light-dark(#2f6500, #5fa500);\n --color-green-5: #438500;\n --color-green-6: light-dark(#5fa500, #2f6500);\n --color-green-7: light-dark(#7dc53a, #1d4600);\n --color-green-8: light-dark(#a4e472, #0c2a00);\n --color-green-9: light-dark(#dafbc4, #011000);\n --color-green-transparent: light-dark(#43850066, #43850080);\n --color-green-extra-transparent: light-dark(#43850033, #43850059);\n\n /* Sky */\n --color-sky-1: light-dark(#001011, #caf9f8);\n --color-sky-2: light-dark(#002a2b, #76e2e2);\n --color-sky-3: light-dark(#004747, #00c8c9);\n --color-sky-4: light-dark(#006566, #00a7a8);\n --color-sky-5: #008586;\n --color-sky-6: light-dark(#00a7a8, #006566);\n --color-sky-7: light-dark(#00c8c9, #004747);\n --color-sky-8: light-dark(#76e2e2, #002a2b);\n --color-sky-9: light-dark(#caf9f8, #001011);\n --color-sky-transparent: light-dark(#00858666, #00858680);\n --color-sky-extra-transparent: light-dark(#00858633, #00858659);\n\n /* Blue */\n --color-blue-1: light-dark(#00003e, #ddf0ff);\n --color-blue-2: light-dark(#00007a, #a9cfff);\n --color-blue-3: light-dark(#002b97, #74adff);\n --color-blue-4: light-dark(#004abd, #3988ff);\n --color-blue-5: #1c69e3;\n --color-blue-6: light-dark(#3988ff, #004abd);\n --color-blue-7: light-dark(#74adff, #002b97);\n --color-blue-8: light-dark(#a9cfff, #00007a);\n --color-blue-9: light-dark(#ddf0ff, #00003e);\n --color-blue-transparent: light-dark(#1c69e366, #1c69e380);\n --color-blue-extra-transparent: light-dark(#1c69e333, #1c69e359);\n\n /* Purple */\n --color-purple-1: light-dark(#170029, #fbe4ff);\n --color-purple-2: light-dark(#370054, #e8b6ff);\n --color-purple-3: light-dark(#5a0085, #ce8dfc);\n --color-purple-4: light-dark(#7819a8, #b562ea);\n --color-purple-5: #9640ca;\n --color-purple-6: light-dark(#b562ea, #7819a8);\n --color-purple-7: light-dark(#ce8dfc, #5a0085);\n --color-purple-8: light-dark(#e8b6ff, #370054);\n --color-purple-9: light-dark(#fbe4ff, #170029);\n --color-purple-transparent: light-dark(#9640ca66, #9640ca80);\n --color-purple-extra-transparent: light-dark(#9640ca33, #9640ca59);\n\n /* Magenta */\n --color-magenta-1: light-dark(#21000c, #ffe1f0);\n --color-magenta-2: light-dark(#480023, #ffadd0);\n --color-magenta-3: light-dark(#73003d, #fe7cb1);\n --color-magenta-4: light-dark(#9b0058, #e45193);\n --color-magenta-5: #c32775;\n --color-magenta-6: light-dark(#e45193, #9b0058);\n --color-magenta-7: light-dark(#fe7cb1, #73003d);\n --color-magenta-8: light-dark(#ffadd0, #480023);\n --color-magenta-9: light-dark(#ffe1f0, #21000c);\n --color-magenta-transparent: light-dark(#c3277566, #c3277580);\n --color-magenta-extra-transparent: light-dark(#c3277533, #c3277559);\n\n /* Gray */\n --color-gray-1: light-dark(#090b0f, #eceff4);\n --color-gray-2: light-dark(#202226, #cbced3);\n --color-gray-3: light-dark(#383b3f, #abaeb3);\n --color-gray-4: light-dark(#53555a, #8d8f94);\n --color-gray-5: #6f7276;\n --color-gray-6: light-dark(#8d8f94, #53555a);\n --color-gray-7: light-dark(#abaeb3, #383b3f);\n --color-gray-8: light-dark(#cbced3, #202226);\n --color-gray-9: light-dark(#eceff4, #090b0f);\n --color-gray-transparent: light-dark(#6f727666, #6f727680);\n --color-gray-extra-transparent: light-dark(#6f727633, #6f727659);\n\n /* Semantic colors */\n --color-body: light-dark(#f9fafc, #14161a);\n --color-body-alt: light-dark(#fff, #010203);\n --color-body-text: light-dark(#030305, #fff);\n --color-body-text-alt: light-dark(#404247, #ccced0);\n --color-shadow: light-dark(#45484c26, #00000166);\n --color-outline: light-dark(#d8dbe0, #434549);\n\n /* Font sizes */\n --font-size-xs: clamp(0.6944rem, 0.6855rem + 0.0446vw, 0.72rem);\n --font-size-s: clamp(0.8331rem, 0.8099rem + 0.1163vw, 0.9rem);\n --font-size-m: clamp(1rem, 0.9565rem + 0.2174vw, 1.125rem);\n --font-size-l: clamp(1.2rem, 1.1283rem + 0.3587vw, 1.4063rem);\n --font-size-xl: clamp(1.44rem, 1.3293rem + 0.5533vw, 1.7581rem);\n --font-size-2xl: clamp(1.7281rem, 1.5649rem + 0.8163vw, 2.1975rem);\n --font-size-3xl: clamp(2.0738rem, 1.8396rem + 1.1707vw, 2.7469rem);\n --font-size-4xl: clamp(2.4881rem, 2.1594rem + 1.6435vw, 3.4331rem);\n\n /* Font weights */\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-black: 900;\n\n /* Font families */\n --font-family-body: \"Avenir Next\", avenir, corbel, source-sans-pro,\n \"DejaVu Sans\", ui-sans-serif, sans-serif;\n --font-family-heading: seravek, \"Gill Sans Nova\", verdana, \"DejaVu Sans\",\n source-sans-pro, ui-sans-serif, sans-serif;\n --font-family-mono: ui-monospace, \"Source Code Pro\", ui-monospace, monospace;\n\n /* Spacing */\n --space-3xs: clamp(4px, 3.6528px + 0.1087vw, 5px);\n --space-2xs: clamp(8px, 7.6528px + 0.1087vw, 9px);\n --space-xs: clamp(12px, 11.304px + 0.2174vw, 14px);\n --space-s: clamp(16px, 15.304px + 0.2174vw, 18px);\n --space-m: clamp(24px, 22.9568px + 0.3261vw, 27px);\n --space-l: clamp(32px, 30.608px + 0.4348vw, 36px);\n --space-xl: clamp(48px, 45.9136px + 0.6522vw, 54px);\n --space-2xl: clamp(64px, 61.2176px + 0.8696vw, 72px);\n --space-3xl: clamp(96px, 91.8256px + 1.3043vw, 108px);\n\n /* Between xs and m based on screen width */\n --space-body: clamp(12px, 6.7824px + 1.6304vw, 27px);\n\n /* Radii */\n --radius-none: 0;\n --radius-s: 3px;\n --radius-m: 6px;\n --radius-l: 12px;\n --radius-xl: 24px;\n --radius-2xl: 64px;\n --radius-full: 9999px;\n\n /* Shadows */\n --shadow-none: none;\n --shadow-s: 0 1px 3px -1px var(--color-shadow);\n --shadow-m: 0 1px 7px -1px var(--color-shadow);\n --shadow-l: var(--shadow-s), 0 1px 11px -1px var(--color-shadow);\n --shadow-xl: var(--shadow-m), 0 1px 15px -1px var(--color-shadow);\n\n /* Border widths */\n --border-none: 0;\n --border-s: 1px;\n --border-m: 2px;\n --border-l: 5px;\n --border-xl: 8px;\n\n /* Opacity */\n --opacity-disabled: light-dark(0.65, 0.5);\n}\n",".banner {\n border-inline-width: 0;\n width: 100%;\n padding: var(--space-xs);\n padding-inline-start: calc(var(--space-xs) + 2em);\n\n &:has(.button.dismiss) {\n padding-inline-end: calc(var(--space-xs) + 2em);\n }\n\n &::before,\n &::after {\n inset-inline-start: calc(var(--space-xs) * 0.5);\n }\n\n & + & {\n border-block-start-width: 0;\n }\n\n .button.dismiss {\n --button-fg-color: var(--alert-dismiss-icon-color);\n --button-hover-bg-color: var(--alert-dismiss-hover-bg);\n\n position: absolute;\n inset-block: 0;\n inset-inline-end: var(--space-3xs);\n margin: auto;\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--alert-dismiss-focus-bg);\n }\n }\n}\n",".divider,\n.markdown-output :is(hr, br) {\n background-color: var(--color-outline);\n border: 0;\n outline: 0;\n width: 100%;\n height: var(--border-s);\n display: block;\n margin: var(--space-xs) 0;\n print-color-adjust: exact;\n\n &.vertical {\n display: inline-block;\n width: var(--border-s);\n height: 100%;\n min-height: 1em;\n margin: 0 var(--space-xs);\n }\n}\n\n.divider.invisible,\n.markdown-output br {\n visibility: hidden;\n}\n",".heading-1,\n.heading-2,\n.heading-3,\n.heading-4,\n.heading-5,\n.heading-6,\n.markdown-output :is(h1, h2, h3, h4, h5, h6) {\n font-family: var(--font-family-heading);\n margin-block: 0.75em 0.3em;\n line-height: 1.15;\n text-wrap: balance;\n overflow-wrap: break-word;\n}\n\n.heading-1,\n.markdown-output h1 {\n font-size: var(--font-size-4xl);\n font-weight: var(--font-weight-black);\n\n /* \n * Since the Level 1 Heading will typically be the first item inside the App\n * Content container (which already has padding at the top), we remove the top\n * margin by default. We can always add it back for special cases.\n */\n margin-block-start: 0;\n\n .app-content > &:first-of-type {\n margin-block-start: 0;\n }\n}\n\n.heading-2,\n.markdown-output h2 {\n font-size: var(--font-size-3xl);\n font-weight: var(--font-weight-bold);\n}\n\n.heading-3,\n.markdown-output h3 {\n font-size: var(--font-size-2xl);\n font-weight: var(--font-weight-bold);\n}\n\n.heading-4,\n.markdown-output h4 {\n font-size: var(--font-size-xl);\n font-weight: var(--font-weight-semibold);\n}\n\n.heading-5,\n.markdown-output h5 {\n font-size: var(--font-size-l);\n font-weight: var(--font-weight-semibold);\n}\n\n.heading-6,\n.markdown-output h6 {\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-bold);\n}\n",".alert,\n.banner {\n display: block;\n font-family: var(--font-family-body);\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-normal);\n color: var(--color-body-text);\n position: relative;\n background:\n linear-gradient(var(--alert-bg-color), var(--alert-bg-color)) padding-box,\n linear-gradient(\n to right,\n var(--alert-border-start-color),\n var(--alert-border-end-color)\n )\n border-box;\n border: var(--border-m) solid transparent;\n line-height: 1.4;\n\n > * {\n line-height: 1.4;\n }\n\n @media print {\n & {\n border-color: var(--alert-border-start-color);\n }\n }\n\n &::before,\n &::after {\n content: \"\";\n print-color-adjust: exact;\n position: absolute;\n inset-block: 0;\n margin-block: auto;\n width: 2em;\n height: 2em;\n }\n\n &::before {\n z-index: 2;\n mask-image: var(--alert-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n background-color: var(--alert-border-start-color);\n scale: 0.5;\n }\n\n &::after {\n z-index: 1;\n background-color: light-dark(#fffe, #000e);\n border-radius: var(--radius-full);\n border: 3px solid var(--alert-border-start-color);\n scale: 0.75;\n }\n\n &.error {\n --alert-bg-color: var(--color-red-9);\n --alert-border-start-color: var(--color-red-5);\n --alert-border-end-color: var(--color-red-6);\n --alert-dismiss-icon-color: var(--color-red-4);\n --alert-dismiss-hover-bg: var(--color-red-extra-transparent);\n --alert-dismiss-focus-bg: var(--color-red-transparent);\n --alert-icon: url(\"@/src/svg/x-thick.svg\");\n }\n\n &.warning {\n --alert-bg-color: var(--color-yellow-9);\n --alert-border-start-color: var(--color-yellow-5);\n --alert-border-end-color: var(--color-yellow-6);\n --alert-dismiss-icon-color: var(--color-yellow-4);\n --alert-dismiss-hover-bg: var(--color-yellow-extra-transparent);\n --alert-dismiss-focus-bg: var(--color-yellow-transparent);\n --alert-icon: url(\"@/src/svg/warning-thick.svg\");\n }\n\n &.success {\n --alert-bg-color: var(--color-green-9);\n --alert-border-start-color: var(--color-green-5);\n --alert-border-end-color: var(--color-green-6);\n --alert-dismiss-icon-color: var(--color-green-4);\n --alert-dismiss-hover-bg: var(--color-green-extra-transparent);\n --alert-dismiss-focus-bg: var(--color-green-transparent);\n --alert-icon: url(\"@/src/svg/check-thick.svg\");\n }\n\n &.info {\n --alert-bg-color: var(--color-sky-9);\n --alert-border-start-color: var(--color-sky-5);\n --alert-border-end-color: var(--color-sky-6);\n --alert-dismiss-icon-color: var(--color-sky-4);\n --alert-dismiss-hover-bg: var(--color-sky-extra-transparent);\n --alert-dismiss-focus-bg: var(--color-sky-transparent);\n --alert-icon: url(\"@/src/svg/info-thick.svg\");\n }\n}\n\n.alert-title,\n.banner-title {\n font-family: var(--font-family-heading);\n font-weight: var(--font-weight-bold);\n line-height: 1;\n color: var(--alert-border-start-color);\n font-size: 0.85em;\n margin: 0;\n margin-block-end: 0.15em;\n}\n",".button {\n --button-shadow: var(--shadow-s);\n --button-hover-bg-color: var(--button-border-color);\n\n box-sizing: border-box;\n display: inline-flex;\n outline: 0;\n padding-inline: 1.25em;\n padding-block: 0.75em;\n gap: 0.5em;\n border-style: solid;\n transform: scale(1);\n transition-property: box-shadow, background-color, transform, opacity;\n transition-duration: 200ms;\n transition-timing-function: ease;\n text-decoration: none;\n position: relative;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n cursor: pointer;\n border-width: var(--border-s);\n border-radius: var(--radius-m);\n min-height: 2.6em;\n min-width: 3em;\n line-height: 1;\n font-family: var(--font-family-body);\n box-shadow: var(--button-shadow);\n user-select: none;\n font-size: 1rem;\n\n &::before {\n content: \"\";\n background-color: var(--button-hover-bg-color);\n position: absolute;\n inset: 0;\n margin: auto;\n transition-property: opacity, width, height, border-radius;\n transition-duration: 200ms;\n transition-timing-function: ease;\n z-index: -1;\n border-radius: 2em;\n width: 4em;\n height: 4em;\n opacity: 0;\n }\n\n &:is(:focus-visible, .focus) {\n box-shadow:\n var(--button-shadow),\n 0 0 0 0.1em var(--button-border-color),\n 0 0 0 calc(0.2em + var(--border-s)) var(--button-focus-ring-color);\n }\n\n &:is(:active, .active) {\n transform: scale(0.98);\n\n /*\n * On low-resolution screens, the scale effect makes text jump\n * around awkwardly, so we use an alternative.\n */\n @media screen and (resolution < 2x) {\n transform: translateY(1px);\n }\n }\n\n &:is(:hover, .hover) {\n text-decoration: none;\n\n &::before {\n opacity: 1;\n width: 100%;\n height: 100%;\n border-radius: 5px;\n }\n\n /* inputs don't support children, so the ::before pseudo element won't work */\n &:is(input) {\n background-color: var(--button-hover-bg-color);\n }\n }\n\n color: var(--button-fg-color);\n background-color: var(--button-bg-color);\n border-color: var(--button-border-color);\n font-weight: var(--button-font-weight);\n\n &.primary {\n --button-fg-color: white;\n --button-bg-color: var(--color-brand-5);\n --button-border-color: var(--color-brand-4);\n --button-font-weight: var(--font-weight-bold);\n --button-focus-ring-color: var(--color-brand-transparent);\n\n &.red {\n --button-bg-color: var(--color-red-5);\n --button-border-color: var(--color-red-4);\n --button-focus-ring-color: var(--color-red-transparent);\n }\n\n &.orange {\n --button-bg-color: var(--color-orange-5);\n --button-border-color: var(--color-orange-4);\n --button-focus-ring-color: var(--color-orange-transparent);\n }\n\n &.yellow {\n --button-bg-color: var(--color-yellow-5);\n --button-border-color: var(--color-yellow-4);\n --button-focus-ring-color: var(--color-yellow-transparent);\n }\n\n &.green {\n --button-bg-color: var(--color-green-5);\n --button-border-color: var(--color-green-4);\n --button-focus-ring-color: var(--color-green-transparent);\n }\n\n &.sky {\n --button-bg-color: var(--color-sky-5);\n --button-border-color: var(--color-sky-4);\n --button-focus-ring-color: var(--color-sky-transparent);\n }\n\n &.blue {\n --button-bg-color: var(--color-blue-5);\n --button-border-color: var(--color-blue-4);\n --button-focus-ring-color: var(--color-blue-transparent);\n }\n\n &.purple {\n --button-bg-color: var(--color-purple-5);\n --button-border-color: var(--color-purple-4);\n --button-focus-ring-color: var(--color-purple-transparent);\n }\n\n &.magenta {\n --button-bg-color: var(--color-magenta-5);\n --button-border-color: var(--color-magenta-4);\n --button-focus-ring-color: var(--color-magenta-transparent);\n }\n\n &.gray {\n --button-bg-color: var(--color-gray-5);\n --button-border-color: var(--color-gray-4);\n --button-focus-ring-color: var(--color-gray-transparent);\n }\n }\n\n /* .secondary, default */\n &:not(.primary, .subtle, .close, .dismiss) {\n --button-fg-color: var(--color-body-text);\n --button-bg-color: var(--color-gray-9);\n --button-border-color: var(--color-gray-8);\n --button-font-weight: var(--font-weight-normal);\n --button-focus-ring-color: var(--color-gray-extra-transparent);\n }\n\n &:is(.subtle, .close) {\n --button-fg-color: var(--color-brand-4);\n --button-bg-color: transparent;\n --button-border-color: transparent;\n --button-hover-bg-color: var(--color-brand-extra-transparent);\n --button-font-weight: var(--font-weight-bold);\n --button-focus-ring-color: transparent;\n --button-shadow: none;\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-brand-transparent);\n --button-hover-bg-color: transparent;\n }\n\n &.red {\n --button-fg-color: var(--color-red-4);\n --button-hover-bg-color: var(--color-red-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-red-transparent);\n }\n }\n\n &.orange {\n --button-fg-color: var(--color-orange-4);\n --button-hover-bg-color: var(--color-orange-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-orange-transparent);\n }\n }\n\n &.yellow {\n --button-fg-color: var(--color-yellow-4);\n --button-hover-bg-color: var(--color-yellow-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-yellow-transparent);\n }\n }\n\n &.green {\n --button-fg-color: var(--color-green-4);\n --button-hover-bg-color: var(--color-green-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-green-transparent);\n }\n }\n\n &.sky {\n --button-fg-color: var(--color-sky-4);\n --button-hover-bg-color: var(--color-sky-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-sky-transparent);\n }\n }\n\n &.blue {\n --button-fg-color: var(--color-blue-4);\n --button-hover-bg-color: var(--color-blue-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-blue-transparent);\n }\n }\n\n &.purple {\n --button-fg-color: var(--color-purple-4);\n --button-hover-bg-color: var(--color-purple-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-purple-transparent);\n }\n }\n\n &.magenta {\n --button-fg-color: var(--color-magenta-4);\n --button-hover-bg-color: var(--color-magenta-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-magenta-transparent);\n }\n }\n\n &.gray {\n --button-fg-color: var(--color-gray-4);\n --button-hover-bg-color: var(--color-gray-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-gray-transparent);\n }\n }\n }\n\n &:is(.small, .close, .dismiss) {\n font-size: 0.8rem;\n }\n\n &.large {\n font-size: 1.2rem;\n }\n\n &:is(.icon, .close, .dismiss) {\n border-radius: var(--radius-full);\n min-width: 0;\n min-height: 0;\n aspect-ratio: 1;\n\n &:is(.subtle, .close) {\n &::before {\n width: 75%;\n height: 75%;\n }\n\n &:is(:hover, .hover)::before {\n width: 100%;\n height: 100%;\n border-radius: 100%;\n }\n }\n\n &.icon {\n padding: 0.5em;\n }\n\n &.close,\n &.dismiss {\n padding: 0.3em;\n }\n\n &:not(.subtle, .close, .dismiss) {\n &::before {\n content: unset;\n }\n\n &:is(:hover, .hover) {\n background-color: var(--button-hover-bg-color);\n }\n }\n }\n\n &:is(:disabled, .disabled, [aria-disabled=\"true\"]) {\n opacity: var(--opacity-disabled);\n cursor: not-allowed;\n transform: scale(1);\n\n &:is(:hover, .hover)::before {\n opacity: 0;\n }\n }\n\n &.loading {\n cursor: progress;\n\n &::before {\n opacity: 1 !important;\n height: 100% !important;\n border-radius: inherit !important;\n animation: button-loading-bg 1200ms ease-in-out infinite forwards;\n }\n\n &:is(:disabled, .disabled, [aria-disabled=\"true\"]) {\n cursor: wait;\n }\n }\n}\n\n@keyframes button-loading-bg {\n 0% {\n width: 0;\n margin: 0 auto 0 0;\n }\n\n 50% {\n width: 100%;\n }\n\n 100% {\n width: 0;\n margin: 0 0 0 auto;\n }\n}\n","/* See utils/base-dialog for more */\n.drawer {\n --dialog-starting-opacity: 0.5;\n\n position: fixed;\n inset: 0;\n border-radius: 0;\n margin: 0;\n border: 0;\n overflow: auto;\n\n &.left {\n right: auto;\n\n @media (prefers-reduced-motion: no-preference) {\n --dialog-starting-transform: translateX(-16px);\n --dialog-ending-transform: translateX(-16px);\n }\n }\n\n &.top {\n bottom: auto;\n\n @media (prefers-reduced-motion: no-preference) {\n --dialog-starting-transform: translateY(-16px);\n --dialog-ending-transform: translateY(-16px);\n }\n }\n\n &.right {\n left: auto;\n\n @media (prefers-reduced-motion: no-preference) {\n --dialog-starting-transform: translateX(16px);\n --dialog-ending-transform: translateX(16px);\n }\n }\n\n &.bottom {\n top: auto;\n\n @media (prefers-reduced-motion: no-preference) {\n --dialog-starting-transform: translateY(16px);\n --dialog-ending-transform: translateY(16px);\n }\n }\n\n &.top,\n &.bottom {\n width: 100dvw;\n max-width: unset;\n height: auto;\n max-height: 100dvh;\n min-height: min(100dvh, 250px);\n\n &.small {\n height: 300px;\n }\n\n &.medium {\n height: 450px;\n }\n\n &.large {\n height: 600px;\n }\n }\n\n &.left,\n &.right {\n height: 100dvh;\n max-height: unset;\n width: auto;\n min-width: min(100dvw, 300px);\n max-width: 100dvw;\n\n &.small {\n width: 350px;\n }\n\n &.medium {\n width: 450px;\n }\n\n &.large {\n width: 700px;\n }\n }\n}\n\n.drawer-header {\n font-size: var(--font-size-l);\n}\n\n.drawer-body {\n height: 100%;\n}\n\n.drawer-footer {\n padding: var(--space-xs);\n flex-shrink: 0;\n display: flex;\n gap: var(--space-xs);\n justify-content: flex-start;\n margin: 0;\n margin-block-start: auto;\n\n > * {\n width: 100%;\n }\n}\n",".highlight,\n.markdown-output mark {\n background-color: light-dark(var(--color-yellow-8), var(--color-yellow-7));\n color: light-dark(var(--color-yellow-2), var(--color-yellow-1));\n print-color-adjust: exact;\n}\n\n.highlight.removed,\n.markdown-output del {\n background-color: var(--color-red-8);\n color: var(--color-red-2);\n transition: text-decoration-color 150ms ease;\n text-decoration-line: line-through;\n text-decoration-skip-ink: none;\n text-decoration-thickness: var(--border-m);\n text-decoration-color: var(--color-red-4);\n print-color-adjust: exact;\n\n &:hover {\n text-decoration-color: transparent;\n }\n}\n\n.highlight.added,\n.markdown-output ins {\n background-color: var(--color-green-8);\n color: var(--color-green-2);\n text-decoration-thickness: var(--border-m);\n text-decoration-color: var(--color-green-4);\n text-underline-offset: 0.1em;\n print-color-adjust: exact;\n}\n\n.highlight.target,\n::target-text {\n background-color: var(--color-brand-8);\n color: light-dark(var(--color-brand-2), var(--color-brand-1));\n print-color-adjust: exact;\n}\n",".modal,\n.drawer,\n.modal::backdrop,\n.drawer::backdrop {\n --dialog-starting-opacity: 0.25;\n --dialog-starting-transform: translateY(8px);\n --dialog-open-opacity: 1;\n --dialog-open-transform: translate(0);\n --dialog-ending-opacity: 0;\n --dialog-ending-transform: translateY(-4px) scale(0.97);\n --dialog-backdrop-starting-opacity: 0;\n --dialog-backdrop-open-opacity: light-dark(0.75, 0.85);\n --dialog-backdrop-ending-opacity: 0;\n --dialog-backdrop-color: light-dark(var(--color-gray-2), var(--color-gray-8));\n\n @media (prefers-reduced-motion) {\n --dialog-starting-transform: translate(0);\n --dialog-ending-transform: translate(0);\n }\n}\n\n.modal,\n.drawer {\n box-shadow: var(--shadow-xl);\n border: var(--border-s) solid var(--color-outline);\n border-radius: var(--radius-l);\n background-color: var(--color-body-alt);\n color: var(--color-body-text);\n padding: 0;\n flex-direction: column;\n gap: 0;\n\n &::backdrop {\n background-color: var(--dialog-backdrop-color);\n }\n\n &[open] {\n display: flex;\n }\n}\n\n.modal-header,\n.drawer-header {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-bold);\n line-height: 1;\n padding: var(--space-m);\n padding-block-end: var(--space-xs);\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n color: var(--color-brand-3);\n margin: 0;\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n color: inherit;\n font-size: inherit;\n font-weight: inherit;\n margin: 0;\n }\n}\n\n.modal-body,\n.drawer-body {\n padding: var(--space-m);\n padding-block-start: var(--space-xs);\n flex-shrink: 1;\n display: block;\n overflow: auto;\n margin: 0;\n}\n\n@supports (transition-behavior: allow-discrete) and (overlay: none) {\n .modal,\n .drawer {\n animation: unset;\n }\n}\n",".card {\n background-color: var(--color-body-alt);\n border-radius: var(--radius-l);\n border: var(--border-s) solid var(--color-outline);\n box-shadow: var(--shadow-m);\n padding: var(--space-m);\n font-family: var(--font-family-body);\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-normal);\n\n &.secondary {\n background-color: var(--color-body);\n border-radius: var(--radius-m);\n box-shadow: var(--shadow-s);\n padding: var(--space-s);\n }\n}\n\n.card-title {\n font-family: var(--font-family-heading);\n line-height: 1.15;\n text-wrap: balance;\n overflow-wrap: break-word;\n font-size: var(--font-size-l);\n font-weight: var(--font-weight-bold);\n color: var(--color-brand-3);\n margin-block: 0 var(--space-xs);\n}\n\n.card.secondary .card-title {\n font-size: var(--font-size-m);\n margin-block-end: var(--space-2xs);\n}\n",".field {\n --field-gap: var(--space-2xs);\n --field-padding: 0.5em;\n --field-radius: var(--radius-m);\n\n display: inline-flex;\n flex-direction: column;\n line-height: 1;\n gap: var(--field-gap);\n color: var(--color-body-text);\n font-weight: var(--font-weight-semibold);\n transition-duration: 200ms;\n transition-property: color, box-shadow;\n transition-timing-function: ease;\n font-size: var(--font-size-m);\n font-family: var(--font-family-body);\n\n &.compact,\n .fieldset.compact & {\n --field-gap: calc(0.9 * var(--space-2xs));\n --field-padding: 0.33em;\n --field-radius: var(--radius-s);\n\n font-size: calc(0.9 * var(--font-size-m));\n }\n\n &:focus-within {\n color: var(--color-brand-5);\n }\n\n &:has(:user-invalid, &[aria-invalid=\"true\"]) {\n color: var(--color-red-5);\n\n .error-message {\n opacity: 1;\n }\n }\n\n &:has([readonly]):focus-within {\n color: var(--color-gray-5);\n }\n\n &:user-invalid {\n color: var(--color-red-5);\n }\n\n input:not(\n [type=\"button\"],\n [type=\"checkbox\"],\n [type=\"file\"],\n [type=\"hidden\"],\n [type=\"image\"],\n [type=\"radio\"],\n [type=\"range\"],\n [type=\"reset\"],\n [type=\"submit\"]\n ),\n select,\n textarea {\n color: var(--color-body-text);\n background-color: light-dark(white, black);\n border: var(--border-s) solid var(--color-outline);\n font-size: 1em;\n padding: var(--field-padding);\n border-radius: var(--field-radius);\n transition-duration: 200ms;\n transition-property: color, box-shadow, border-color;\n transition-timing-function: ease;\n font-family: inherit;\n\n &:focus {\n outline: 0;\n border-color: var(--color-brand-5);\n box-shadow:\n 0 0 0 0.1em var(--color-brand-5),\n 0 0 0 calc(0.2em + var(--border-s)) var(--color-brand-transparent);\n }\n\n &:disabled {\n opacity: var(--opacity-disabled);\n cursor: not-allowed;\n }\n\n /* Not using :read-only because it matches additional elements (e.g., every color input) */\n &[readonly] {\n border-style: dashed;\n\n &:focus {\n outline: 0;\n border-style: solid;\n border-color: var(--color-gray-5);\n box-shadow:\n 0 0 0 0.1em var(--color-gray-5),\n 0 0 0 calc(0.2em + var(--border-s)) var(--color-gray-transparent);\n }\n }\n\n &:user-invalid,\n &[aria-invalid=\"true\"] {\n border-color: var(--color-red-5);\n box-shadow: 0 0 0 0.1em var(--color-red-5);\n\n &:focus {\n outline: 0;\n border-color: var(--color-red-5);\n box-shadow:\n 0 0 0 0.1em var(--color-red-5),\n 0 0 0 calc(0.2em + var(--border-s)) var(--color-red-transparent);\n }\n }\n }\n\n input[type=\"color\"] {\n inline-size: auto;\n block-size: auto;\n cursor: pointer;\n\n &::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n &::-webkit-color-swatch {\n border: 0;\n block-size: 1em;\n inline-size: 1.62em;\n border-radius: var(--radius-s);\n }\n\n &::-moz-color-swatch {\n border: 0;\n block-size: 1em;\n inline-size: 1.62em;\n border-radius: var(--radius-s);\n }\n }\n\n select {\n background-image: light-dark(\n url(\"@/src/svg/dropdown.svg\"),\n url(\"@/src/svg/dropdown-invert.svg\")\n );\n background-position: center right 0.25em;\n background-size: auto 75%;\n background-repeat: no-repeat;\n cursor: pointer;\n appearance: none;\n padding-inline-end: calc(2 * var(--space-2xs) + 1em);\n\n &:dir(rtl) {\n background-position: center left 0.25em;\n }\n }\n\n .help-text {\n font-size: 0.9em;\n color: var(--color-body-text-alt);\n font-weight: var(--font-weight-normal);\n margin: -0.25em 0 0;\n position: relative;\n }\n\n .error-message {\n transition: opacity 200ms ease;\n opacity: 0;\n font-size: 0.9em;\n border: 0;\n padding: 0;\n margin: 0;\n font-weight: var(--font-weight-semibold);\n display: flex;\n align-items: center;\n gap: 2px;\n\n &::before {\n content: \"\";\n mask-image: url(\"@/src/svg/x-circle.svg\");\n mask-size: contain;\n mask-repeat: no-repeat;\n mask-position: center;\n background-color: currentcolor;\n display: inline-block;\n height: 1.2em;\n width: 1.2em;\n }\n }\n\n .input-group {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n\n > * {\n border-radius: 0 !important;\n z-index: 1;\n }\n\n > :first-child {\n border-start-start-radius: var(--field-radius) !important;\n border-end-start-radius: var(--field-radius) !important;\n }\n\n > :last-child {\n border-end-end-radius: var(--field-radius) !important;\n border-start-end-radius: var(--field-radius) !important;\n }\n\n > :focus-visible {\n z-index: 2;\n }\n\n > :is(.prefix, .suffix, .action) {\n user-select: none;\n -webkit-user-drag: none;\n display: flex;\n font-weight: var(--font-weight-normal);\n color: var(--color-gray-3);\n background-color: var(--color-gray-9);\n border: var(--border-s) solid var(--color-outline);\n padding: var(--field-padding) calc(2 * var(--field-padding));\n align-items: center;\n justify-content: center;\n font-size: 0.9em;\n\n :is(img, svg) {\n height: 1.15em;\n width: auto;\n }\n }\n\n > .prefix {\n border-inline-end: 0;\n }\n\n > .suffix {\n border-inline-start: 0;\n }\n\n > .action {\n cursor: pointer;\n color: var(--color-brand-3);\n border-inline-start: 0;\n transition-property: box-shadow, background-color;\n transition-timing-function: ease;\n transition-duration: 200ms;\n\n &:hover {\n background-color: var(--color-gray-8);\n }\n\n &:active {\n background-color: var(--color-gray-7);\n }\n\n &:focus-visible {\n border-color: var(--color-brand-5);\n border-inline-start-width: var(--border-s);\n border-inline-start-style: solid;\n box-shadow:\n 0 0 0 0.1em var(--color-brand-5),\n 0 0 0 calc(0.2em + var(--border-s)) var(--color-brand-transparent);\n outline: 0;\n }\n }\n\n > :is(input, select, textarea) {\n width: 100%;\n\n &:has(~ .action:focus-visible) {\n border-inline-end-width: 0;\n }\n }\n }\n}\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n accent-color: var(--color-brand-5);\n}\n\nfieldset.fieldset {\n border: var(--border-s) solid var(--color-outline);\n border-radius: var(--radius-s);\n background-color: var(--color-body);\n color: var(--color-body-text);\n\n legend {\n font-family: var(--font-family-heading);\n font-weight: var(--font-weight-bold);\n transition: color 200ms ease;\n }\n\n &:focus-within legend {\n color: var(--color-brand-5);\n }\n}\n\n.form {\n max-width: 60ch;\n margin-inline-end: auto;\n}\n",".link,\n.markdown-output a {\n color: var(--color-sky-4);\n font-weight: var(--font-weight-semibold);\n text-decoration-line: underline;\n text-decoration-color: var(--color-sky-transparent);\n text-decoration-skip-ink: all;\n text-decoration-thickness: var(--border-m);\n text-underline-offset: 0.1em;\n cursor: pointer;\n transition: text-decoration-color 200ms ease;\n\n &:is(:hover, .hover) {\n text-decoration-color: currentcolor;\n }\n\n &:focus-visible {\n outline-offset: 1px;\n }\n}\n\n[target=\"_blank\"]:is(.link, .button, .markdown-output a):not(\n .no-external-icon\n )::after {\n content: \"\";\n print-color-adjust: exact;\n mask-image: url(\"@/src/svg/external.svg\");\n mask-size: contain;\n mask-repeat: no-repeat;\n background-color: var(--color-gray-5);\n display: inline-block;\n height: 0.85em;\n width: 0.85em;\n vertical-align: baseline;\n margin-left: 0.1em;\n}\n\n/* For buttons, match external icon color to button text */\na.button[target=\"_blank\"]:not(.no-external-icon)::after {\n background-color: currentcolor;\n}\n",".button.dismiss {\n --button-fg-color: var(--color-body-text);\n --button-bg-color: transparent;\n --button-border-color: transparent;\n --button-hover-bg-color: var(--color-gray-extra-transparent);\n --button-focus-ring-color: transparent;\n --button-shadow: none;\n\n font-size: 0.75rem;\n width: 3em;\n height: 3em;\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-gray-transparent);\n --button-hover-bg-color: transparent;\n }\n\n &::after {\n content: \"\";\n width: 1.8em;\n height: 1.8em;\n mask-image: url(\"@/src/svg/x.svg\");\n mask-size: contain;\n mask-repeat: no-repeat;\n background-color: currentcolor;\n }\n}\n",".chip {\n --chip-fg-color: white;\n --chip-bg-color: var(--color-brand-6);\n --chip-border-color: light-dark(var(--color-brand-7), var(--color-brand-5));\n --chip-focus-color: var(--color-brand-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-brand-5),\n var(--color-brand-7)\n );\n\n display: inline-flex;\n align-items: center;\n border-radius: var(--radius-full);\n font-size: var(--font-size-s);\n font-family: var(--font-family-body);\n font-weight: var(--font-weight-normal);\n padding-block: var(--space-3xs);\n padding-inline: var(--space-xs);\n background-color: var(--chip-bg-color);\n border: var(--border-s) solid var(--chip-border-color);\n color: var(--chip-fg-color);\n flex-shrink: 0;\n cursor: default;\n transition-property: box-shadow, background-color, border-color;\n transition-duration: 200ms;\n transition-timing-function: ease;\n text-decoration: none;\n appearance: none;\n line-height: 1.2;\n\n &:is(:focus-visible, .focus) {\n box-shadow: 0 0 0 0.2em var(--chip-focus-color);\n }\n\n &.clickable {\n cursor: pointer;\n box-shadow: var(--shadow-s);\n\n &:is(:focus-visible, .focus) {\n outline: 0;\n box-shadow:\n var(--shadow-s),\n 0 0 0 0.2em var(--chip-focus-color);\n }\n\n &:is(:hover, .hover) {\n background-color: var(--chip-border-color);\n }\n\n &:is(:active, .active) {\n background-color: var(--chip-bg-color-active);\n border-color: var(--chip-bg-color-active);\n }\n }\n\n &.red {\n --chip-bg-color: var(--color-red-6);\n --chip-border-color: light-dark(var(--color-red-7), var(--color-red-5));\n --chip-focus-color: var(--color-red-transparent);\n --chip-bg-color-active: light-dark(var(--color-red-5), var(--color-red-7));\n }\n\n &.orange {\n --chip-bg-color: var(--color-orange-6);\n --chip-border-color: light-dark(\n var(--color-orange-7),\n var(--color-orange-5)\n );\n --chip-focus-color: var(--color-orange-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-orange-5),\n var(--color-orange-7)\n );\n }\n\n &.yellow {\n --chip-bg-color: var(--color-yellow-6);\n --chip-border-color: light-dark(\n var(--color-yellow-7),\n var(--color-yellow-5)\n );\n --chip-focus-color: var(--color-yellow-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-yellow-5),\n var(--color-yellow-7)\n );\n }\n\n &.green {\n --chip-bg-color: var(--color-green-6);\n --chip-border-color: light-dark(var(--color-green-7), var(--color-green-5));\n --chip-focus-color: var(--color-green-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-green-5),\n var(--color-green-7)\n );\n }\n\n &.sky {\n --chip-bg-color: var(--color-sky-6);\n --chip-border-color: light-dark(var(--color-sky-7), var(--color-sky-5));\n --chip-focus-color: var(--color-sky-transparent);\n --chip-bg-color-active: light-dark(var(--color-sky-5), var(--color-sky-7));\n }\n\n &.blue {\n --chip-bg-color: var(--color-blue-6);\n --chip-border-color: light-dark(var(--color-blue-7), var(--color-blue-5));\n --chip-focus-color: var(--color-blue-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-blue-5),\n var(--color-blue-7)\n );\n }\n\n &.purple {\n --chip-bg-color: var(--color-purple-6);\n --chip-border-color: light-dark(\n var(--color-purple-7),\n var(--color-purple-5)\n );\n --chip-focus-color: var(--color-purple-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-purple-5),\n var(--color-purple-7)\n );\n }\n\n &.magenta {\n --chip-bg-color: var(--color-magenta-6);\n --chip-border-color: light-dark(\n var(--color-magenta-7),\n var(--color-magenta-5)\n );\n --chip-focus-color: var(--color-magenta-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-magenta-5),\n var(--color-magenta-7)\n );\n }\n\n &.gray {\n --chip-bg-color: var(--color-gray-6);\n --chip-border-color: light-dark(var(--color-gray-7), var(--color-gray-5));\n --chip-focus-color: var(--color-gray-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-gray-5),\n var(--color-gray-7)\n );\n }\n\n &.black {\n --chip-bg-color: black;\n --chip-border-color: light-dark(var(--color-gray-4), var(--color-gray-7));\n --chip-focus-color: var(--color-gray-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-gray-1),\n var(--color-gray-8)\n );\n }\n\n &.white {\n --chip-fg-color: black;\n --chip-bg-color: white;\n --chip-border-color: light-dark(var(--color-gray-8), var(--color-gray-2));\n --chip-focus-color: var(--color-gray-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-gray-7),\n var(--color-gray-3)\n );\n }\n}\n\n.chip-delete {\n outline: 0;\n margin-inline: var(--space-3xs) calc(-1 * var(--space-2xs));\n font-size: 0.6em;\n border: var(--border-s) solid var(--chip-border-color);\n border-radius: var(--radius-full);\n transition-property: background-color, border-color;\n transition-duration: 200ms;\n transition-timing-function: ease;\n position: relative;\n overflow: hidden;\n cursor: pointer;\n height: 2em;\n width: 2em;\n user-select: none;\n background-color: #0002;\n padding: 0;\n display: inline-flex;\n box-shadow: none;\n\n &::after {\n content: \"\";\n width: 1.7em;\n height: 1.7em;\n mask-image: url(\"@/src/svg/x.svg\");\n mask-size: contain;\n mask-repeat: no-repeat;\n mask-position: center;\n background-color: var(--chip-fg-color);\n margin: auto;\n }\n\n &:is(:focus-visible, .focus) {\n border-color: var(--chip-fg-color);\n }\n\n &:is(:hover, .hover, :focus-visible, .focus) {\n background-color: #0001;\n }\n\n &:is(:active, .active) {\n background-color: #0003;\n }\n}\n",".flow,\n.stack,\n.separate,\n.space {\n display: flex !important;\n gap: var(--space-s);\n\n &.densest {\n gap: var(--space-3xs);\n }\n\n &.denser {\n gap: var(--space-2xs);\n }\n\n &.dense {\n gap: var(--space-xs);\n }\n\n &.sparse {\n gap: var(--space-m);\n }\n\n &.sparser {\n gap: var(--space-l);\n }\n\n &.sparsest {\n gap: var(--space-xl);\n }\n\n &.horizontal,\n &.horizontally {\n flex-direction: row;\n }\n\n &.vertical,\n &.vertically {\n flex-direction: column;\n }\n}\n\n.flow {\n flex-wrap: wrap;\n align-items: center;\n justify-content: start;\n}\n\n.stack {\n flex-wrap: nowrap;\n align-items: stretch;\n justify-content: start;\n}\n\n.separate {\n flex-wrap: nowrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.space {\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-evenly;\n}\n","meter.meter {\n appearance: none;\n inline-size: 100%;\n block-size: 1em;\n}\n\n@supports selector(::-moz-meter-bar) {\n meter.meter {\n border-radius: var(--radius-s);\n border: 0;\n display: block;\n inline-size: 100%;\n block-size: 1em;\n box-shadow: inset 0 0 0 var(--border-s) var(--color-outline);\n background: var(--color-gray-9);\n box-sizing: border-box;\n overflow: clip;\n }\n}\n\n.meter::-webkit-meter-bar {\n border-radius: var(--radius-s);\n border: 0;\n display: block;\n inline-size: 100%;\n block-size: 1em;\n box-shadow: inset 0 0 0 var(--border-s) var(--color-outline);\n background: var(--color-gray-9);\n box-sizing: border-box;\n overflow: clip;\n}\n\n.meter::-webkit-meter-optimum-value,\n.meter::-webkit-meter-suboptimum-value,\n.meter::-webkit-meter-even-less-good-value {\n border-radius: var(--radius-s);\n border: var(--border-s) solid transparent;\n box-sizing: border-box;\n}\n\n.meter::-webkit-meter-inner-element {\n display: inline-block;\n position: relative;\n}\n\n.meter::-moz-meter-bar {\n border-radius: var(--radius-s);\n border: var(--border-s) solid transparent;\n box-sizing: border-box;\n}\n\n.meter::-webkit-meter-optimum-value {\n background: var(--color-green-6);\n border-color: var(--color-green-5);\n}\n\n.meter:-moz-meter-optimum::-moz-meter-bar {\n background: var(--color-green-6);\n border-color: var(--color-green-5);\n}\n\n.meter::-webkit-meter-suboptimum-value {\n background: light-dark(var(--color-yellow-7), var(--color-yellow-4));\n border-color: light-dark(var(--color-yellow-6), var(--color-yellow-3));\n}\n\n.meter:-moz-meter-sub-optimum::-moz-meter-bar {\n background: light-dark(var(--color-yellow-7), var(--color-yellow-4));\n border-color: light-dark(var(--color-yellow-6), var(--color-yellow-3));\n}\n\n.meter::-webkit-meter-even-less-good-value {\n background: var(--color-red-6);\n border-color: var(--color-red-5);\n}\n\n.meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {\n background: var(--color-red-6);\n border-color: var(--color-red-5);\n}\n",".accordion {\n width: 100%;\n\n details {\n width: 100%;\n background-color: var(--color-body-alt);\n padding-block: 0;\n padding-inline: var(--space-xs);\n border-radius: var(--radius-m);\n border: var(--border-s) solid var(--color-outline);\n box-shadow: var(--shadow-s);\n font-family: var(--font-family-body);\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-normal);\n\n @media (prefers-reduced-motion: no-preference) {\n transition: 150ms padding ease;\n }\n\n & + details {\n border-block-start: 0;\n }\n\n &:not(:first-of-type) {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n\n &:not(:last-of-type) {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n\n &[open] {\n padding-block-end: var(--space-xs);\n\n summary {\n border-block-end-color: var(--color-outline);\n margin-block-end: var(--space-xs);\n\n &::before {\n rotate: 0deg;\n }\n\n &:not(:active, .active, :hover, .hover) {\n color: var(--color-brand-3);\n }\n }\n }\n }\n\n summary {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-bold);\n line-height: 1;\n cursor: pointer;\n border-block-end: var(--border-s) dashed transparent;\n padding: var(--space-xs);\n padding-inline-start: calc(var(--space-xs) + 1em);\n margin-block: 0;\n margin-inline: calc(-1 * var(--space-xs));\n transition-duration: 150ms;\n transition-property: color, border-color;\n transition-timing-function: ease;\n position: relative;\n list-style: none; /* Hides ::marker pseudo element in favor of ::before (better cross browser consistency) */\n color: var(--color-body-text);\n user-select: none;\n\n @media (prefers-reduced-motion: no-preference) {\n transition-property: color, border-color, padding, margin;\n }\n\n &:is(:hover, .hover) {\n color: light-dark(var(--color-brand-4), var(--color-brand-2));\n }\n\n &:is(:active, .active) {\n color: light-dark(var(--color-brand-2), var(--color-brand-4));\n }\n\n /* Hides ::-webkit-details-marker pseudo element in favor of ::before (better cross browser consistency) */\n &::-webkit-details-marker {\n display: none;\n }\n\n /* Replacement marker element */\n &::before {\n content: light-dark(\n url(\"@/src/svg/dropdown-thick.svg\"),\n url(\"@/src/svg/dropdown-invert-thick.svg\")\n );\n display: inline-block;\n position: absolute;\n inset-block: 0;\n inset-inline-start: calc(var(--space-xs) / 2);\n margin: auto;\n width: 1em;\n height: 1em;\n rotate: -90deg;\n transition: rotate 200ms ease;\n }\n\n &:dir(rtl)::before {\n rotate: 90deg;\n }\n\n @media (prefers-reduced-motion) {\n transition-property: color, border-color;\n\n &::before {\n transition: none;\n }\n }\n }\n\n &.subtle {\n details {\n box-shadow: none;\n border: 0;\n padding-inline: var(--space-2xs);\n background-color: transparent;\n\n &[open] summary {\n margin-block-end: var(--space-2xs);\n }\n }\n\n summary {\n border-block-end: 0;\n padding: var(--space-2xs);\n padding-inline-start: calc(var(--space-2xs) + 1em);\n }\n }\n}\n",".alert {\n border-radius: var(--radius-s);\n border-start-start-radius: calc(var(--space-2xs) + 2em);\n border-end-start-radius: calc(var(--space-2xs) + 2em);\n padding: var(--space-2xs);\n padding-inline-start: calc(var(--space-2xs) + 2em);\n\n &::before,\n &::after {\n inset-inline-start: calc(var(--space-2xs) * 0.5);\n }\n}\n",".skip-link {\n position: fixed;\n display: inline-block;\n z-index: 100;\n top: var(--space-body);\n left: var(--space-body);\n background-color: var(--color-brand-5);\n padding: var(--space-xs);\n border-radius: var(--radius-m);\n border: 0.25em solid var(--color-brand-4);\n color: var(--color-body-alt);\n font-weight: var(--font-weight-bold);\n font-family: var(--font-family-body);\n font-size: var(--font-size-m);\n outline: 0;\n box-shadow:\n var(--shadow-l),\n 0 0 0 0.2em var(--color-brand-transparent);\n text-decoration: none;\n vertical-align: middle;\n opacity: 0.25;\n transition: opacity 300ms ease;\n pointer-events: none;\n line-height: 1;\n\n kbd {\n margin-inline-start: var(--space-2xs) !important;\n font-weight: initial;\n border: 0 !important;\n background-color: var(--color-brand-4) !important;\n color: inherit !important;\n font-size: 1.2em !important;\n }\n\n &:focus,\n &.static {\n opacity: 1;\n }\n\n &.static {\n position: static;\n pointer-events: unset;\n }\n}\n","/* See utils/base-dialog for more */\n.modal {\n max-height: calc(100svh - 4 * var(--space-body));\n max-width: calc(100svw - 4 * var(--space-body));\n margin: auto;\n\n &.small {\n width: 400px;\n }\n\n &.medium {\n width: 650px;\n }\n\n &.large {\n width: 900px;\n }\n}\n\n.modal-footer {\n padding: var(--space-xs);\n flex-shrink: 0;\n display: flex;\n gap: var(--space-2xs);\n justify-content: flex-start;\n background-color: var(--color-body);\n border-block-start: var(--border-s) solid var(--color-outline);\n margin: 0;\n\n @media screen and (width <= 500px) {\n flex-direction: column;\n width: 100%;\n justify-content: stretch;\n }\n\n .button:not(.small, .medium, .large) {\n font-size: 0.9rem;\n }\n}\n",".quote,\n.markdown-output blockquote {\n display: block;\n margin: 0;\n color: var(--color-body-text-alt);\n border-inline-start: var(--border-l) solid var(--color-gray-transparent);\n padding: var(--space-3xs);\n padding-inline-start: var(--space-xs);\n position: relative;\n line-height: 1.25;\n font-family: var(--font-family-body);\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-normal);\n\n footer {\n margin-block-start: 0.5em;\n font-size: var(--font-size-s);\n font-style: initial;\n color: var(--color-body-text);\n font-weight: var(--font-weight-semibold);\n\n cite {\n font-weight: var(--font-weight-normal);\n font-style: italic;\n }\n }\n}\n",".app {\n /* The app is designed to take up the entire width of the page. However, we\n * set a global limit on the overall width of its content for UX and aesthetic\n * reasons. The wrapper elements of the page will always extend to the edge of\n * the screen, but all content within them will be kept within this limit and\n * centered.\n */\n --app-max-content-width: 110rem;\n --app-header-height: clamp(50px, 3.5rem, 70px);\n --app-sidebar-width: clamp(300px, 18rem, 400px);\n\n position: relative;\n width: 100%;\n min-height: 100svh;\n display: flex;\n flex-direction: column;\n font-family: var(--font-family-body);\n font-size: var(--font-size-m);\n}\n\n.app-header {\n height: var(--app-header-height);\n width: 100%;\n color: light-dark(var(--color-brand-3), var(--color-brand-2));\n background-color: var(--color-body-alt);\n border-bottom: var(--border-l) solid var(--color-brand-transparent);\n box-shadow: var(--shadow-s);\n flex: none;\n position: sticky;\n left: 0;\n}\n\n.app-header-content {\n height: 100%;\n width: 100%;\n max-width: var(--app-max-content-width);\n margin-inline: auto;\n padding-inline: var(--space-body);\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-s);\n}\n\n.app-header-section {\n margin: 0;\n height: 100%;\n display: flex;\n align-items: center;\n\n /* If header only has 1 section, center it */\n &:only-child {\n margin-inline: auto;\n }\n\n /* Otherwise, align the first to the left and the rest to the right */\n &:first-child {\n margin-inline-end: auto;\n }\n\n /*\n * The content of the first header item should be var(--space-body) from the\n * left edge of the app. Since there is var(--space-body) padding in the\n * header and var(--space-xs) padding in the header items, we just need to\n * move it back by var(--space-xs).\n */\n &:first-child .app-header-item:first-child {\n margin-inline-start: calc(-1 * var(--space-xs));\n }\n\n /* \n * The content of the last header item should be var(--space-body) from the\n * right edge of the app. Since there is var(--space-body) padding in the\n * header and var(--space-xs) padding in the header items, we just need to\n * move it forward by var(--space-xs).\n */\n &:last-child .app-header-item:last-child {\n margin-inline-end: calc(-1 * var(--space-xs));\n }\n\n /* Put a spacer between consecutive right-aligned sections (3rd onward) */\n &:nth-child(n + 3)::before {\n content: \"\";\n background-color: var(--color-outline);\n height: 2rem;\n width: var(--border-s);\n position: relative;\n right: calc(var(--space-s) / 2);\n }\n}\n\n.app-header-item {\n /* TODO simplify */\n height: 100%;\n cursor: pointer;\n text-decoration: none;\n color: inherit;\n transition-property: color, background-color;\n transition-duration: 200ms;\n transition-timing-function: ease;\n display: flex;\n align-items: center;\n position: relative;\n font-weight: var(--font-weight-semibold);\n padding-inline: var(--space-xs);\n border-radius: var(--radius-m);\n border: var(--border-m) solid var(--color-body-alt);\n\n &:hover {\n background-color: var(--color-brand-extra-transparent);\n }\n\n &:active {\n background-color: var(--color-brand-transparent);\n }\n\n &:focus-visible {\n background-color: var(--color-brand-extra-transparent);\n outline-offset: calc(-1 * var(--border-m));\n }\n\n &:is([aria-current], .current) {\n font-weight: var(--font-weight-bold);\n\n &::after {\n opacity: 1;\n }\n }\n\n &::after {\n content: \"\";\n position: absolute;\n width: 100%;\n height: var(--border-l);\n bottom: calc(-1 * (var(--border-l) + var(--border-m)));\n left: 0;\n background-color: currentcolor;\n opacity: 0;\n border-radius: 1px;\n }\n}\n\n.app-body {\n position: relative;\n width: 100%;\n max-width: var(--app-max-content-width);\n margin-inline: auto;\n flex: none;\n display: flex;\n flex-direction: row;\n}\n\n.app-sidebar {\n transition:\n opacity 150ms ease,\n display 150ms allow-discrete;\n width: var(--app-sidebar-width);\n flex: none;\n opacity: 1;\n border-inline-end: var(--border-s) dashed var(--color-outline);\n}\n\n.app-sidebar-content {\n position: sticky;\n top: 0;\n overflow: auto;\n height: 100dvh;\n}\n\n.app-sidebar-section {\n &:first-of-type {\n margin-block-start: var(--space-body);\n }\n\n &:not(:last-of-type) {\n margin-block-end: var(--space-xs);\n }\n\n &:last-of-type {\n margin-block-end: var(--space-body);\n }\n}\n\n.app-sidebar-heading {\n font-size: 1.2rem;\n margin: 0 var(--space-body) var(--space-3xs);\n font-weight: var(--font-weight-semibold);\n}\n\n.app-sidebar-item {\n display: block;\n margin: 0 var(--space-2xs);\n padding: var(--space-2xs) calc(var(--space-body) - var(--space-2xs));\n border-radius: var(--radius-l);\n color: var(--color-body-text-alt);\n text-decoration: none;\n font-weight: var(--font-weight-normal);\n font-size: 1rem;\n user-select: none;\n transition-property: color, background-color, box-shadow;\n transition-duration: 200ms;\n transition-timing-function: ease;\n\n &:hover {\n background-color: var(--color-brand-extra-transparent);\n }\n\n &:active {\n color: var(--color-brand-1);\n }\n\n &:is([aria-current], .current) {\n color: var(--color-brand-4);\n font-weight: var(--font-weight-bold);\n }\n\n &:hover:active {\n background-color: var(--color-brand-transparent);\n }\n\n &:focus-visible {\n outline-offset: 0;\n background-color: var(--color-brand-extra-transparent);\n }\n}\n\n.app-sidebar-toggle {\n /* TODO simplify */\n transition-property: color, background-color;\n transition-duration: 200ms;\n transition-timing-function: ease;\n display: none;\n width: 2.75rem;\n margin-inline-start: 1rem;\n\n &:has(input:focus-visible) {\n outline: var(--border-m) solid var(--color-brand-5);\n outline-offset: calc(-1 * var(--border-m));\n }\n\n &::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: -0.5rem;\n height: 100%;\n width: var(--border-s);\n background-color: var(--color-outline);\n }\n\n > div {\n transition-property: transform, opacity;\n transition-duration: 200ms;\n transition-timing-function: ease;\n position: absolute;\n width: 1.75rem;\n height: 2px;\n border-radius: 2px;\n background-color: currentcolor;\n opacity: 1;\n top: 50%;\n left: 50%;\n\n &:nth-of-type(1) {\n transform: translateY(calc(-50% - 0.45rem)) translateX(-50%);\n }\n\n &:nth-of-type(2) {\n transform: translateY(-50%) translateX(-50%);\n }\n\n &:nth-of-type(3) {\n transform: translateY(calc(-50% + 0.45rem)) translateX(-50%);\n }\n }\n\n &:has(input:checked) > div {\n &:nth-of-type(1) {\n transform: translateY(-50%) translateX(-50%) rotate(45deg);\n }\n\n &:nth-of-type(2) {\n opacity: 0;\n transform: translateY(-50%) translateX(-50%) rotate3d(0, 1, 0, 90deg);\n }\n\n &:nth-of-type(3) {\n transform: translateY(-50%) translateX(-50%) rotate(-45deg);\n }\n }\n}\n\n.app-content {\n width: 100%;\n padding: var(--space-body);\n position: relative;\n}\n\n/* If there's a sidebar, shrink the content area to accommodate it */\n.app-sidebar ~ .app-content {\n width: calc(100% - var(--app-sidebar-width));\n}\n\n@media (width < 55rem) {\n /* \n * If there's a sidebar, DON'T factor its width into the content width since\n * the sidebar now has `position: fixed`. This only applies to pages with a\n * sidebar; without one, app-content's width is already 100%.\n */\n .app-sidebar ~ .app-content {\n width: 100%;\n }\n\n .app-sidebar {\n position: fixed;\n top: var(--app-header-height);\n left: 0;\n width: 100vw;\n opacity: 1;\n background-color: light-dark(#fffc, #000a);\n backdrop-filter: blur(24px) saturate(120%);\n border-right: 0;\n z-index: 9;\n\n &::after {\n content: initial;\n }\n }\n\n .app-sidebar-toggle {\n display: initial;\n }\n\n .app-sidebar-content {\n height: calc(100dvh - var(--app-header-height));\n }\n\n .app:not(:has(.app-sidebar-toggle input:checked)) .app-sidebar {\n opacity: 0;\n display: none;\n }\n\n /* If sidebar is open, temporarily hide the overflow and any site-wide banners */\n .app:has(.app-sidebar-toggle input:checked) {\n overflow: hidden;\n\n > .banner {\n display: none;\n }\n\n .app-header {\n position: fixed;\n top: 0;\n z-index: 10;\n }\n\n .app-content {\n top: var(--app-header-height);\n }\n }\n}\n\n.app:has(dialog:modal) {\n /* \n * If modal is open, hide the overflow. This prevents the user from scrolling\n * the page down by dragging on the header, which they'd have no way to undo.\n */\n overflow: hidden;\n}\n","input[type=\"range\"].slider {\n font-size: 1rem;\n block-size: 1.25em;\n appearance: none;\n background: transparent;\n cursor: pointer;\n\n @media (pointer: coarse) {\n font-size: 1.5rem;\n }\n\n &:disabled {\n opacity: var(--opacity-disabled);\n cursor: not-allowed;\n }\n\n &:focus-visible {\n outline: 0;\n\n &::-webkit-slider-thumb {\n border-color: var(--color-brand-5);\n box-shadow: 0 0 0 0.2em var(--color-brand-transparent);\n }\n\n &::-moz-range-thumb {\n border-color: var(--color-brand-5);\n box-shadow: 0 0 0 0.2em var(--color-brand-transparent);\n }\n }\n\n &:enabled:active {\n &::-webkit-slider-thumb {\n border-color: var(--color-brand-5);\n\n &:active {\n @media screen and (resolution >= 2x) {\n transform: scale(0.9);\n }\n }\n }\n\n &::-moz-range-thumb {\n border-color: var(--color-brand-5);\n\n &:active {\n @media screen and (resolution >= 2x) {\n transform: scale(0.9);\n }\n }\n }\n }\n\n &::-webkit-slider-runnable-track {\n block-size: 0.25em;\n inline-size: 100%;\n border-radius: var(--radius-full);\n background-color: light-dark(var(--color-gray-8), var(--color-gray-6));\n print-color-adjust: exact;\n }\n\n &::-moz-range-track {\n block-size: 0.25em;\n inline-size: 100%;\n border-radius: var(--radius-full);\n background-color: light-dark(var(--color-gray-8), var(--color-gray-6));\n print-color-adjust: exact;\n }\n\n &::-webkit-slider-thumb {\n height: 1.25em;\n width: 1.25em;\n border-radius: var(--radius-full);\n background-color: white;\n box-shadow: var(--shadow-s);\n border: var(--border-s) solid var(--color-outline);\n transition-property: border-color, box-shadow, transform;\n transition-duration: 200ms;\n transition-timing-function: ease;\n\n /* Additional properties needed for webkit */\n appearance: none;\n margin-block-start: -0.5em;\n }\n\n &::-moz-range-thumb {\n height: 1.25em;\n width: 1.25em;\n border-radius: var(--radius-full);\n background-color: white;\n box-shadow: var(--shadow-s);\n border: var(--border-s) solid var(--color-outline);\n transition-property: border-color, box-shadow, transform;\n transition-duration: 200ms;\n transition-timing-function: ease;\n }\n}\n","@keyframes indeterminate-progress {\n from {\n opacity: 0.2;\n }\n\n to {\n opacity: 0.8;\n }\n}\n\nprogress.progress {\n appearance: none;\n inline-size: 100%;\n block-size: 1em;\n}\n\n@supports selector(::-moz-progress-bar) {\n progress.progress {\n border-radius: var(--radius-s);\n border: 0;\n display: block;\n inline-size: 100%;\n block-size: 1em;\n box-shadow: inset 0 0 0 var(--border-s) var(--color-outline);\n background: var(--color-gray-9);\n box-sizing: border-box;\n overflow: clip;\n }\n}\n\n.progress::-webkit-progress-bar {\n border-radius: var(--radius-s);\n border: 0;\n display: block;\n inline-size: 100%;\n block-size: 1em;\n box-shadow: inset 0 0 0 var(--border-s) var(--color-outline);\n background: var(--color-gray-9);\n box-sizing: border-box;\n overflow: clip;\n}\n\n.progress::-webkit-progress-value {\n border-radius: var(--radius-s);\n border: var(--border-s) solid transparent;\n box-sizing: border-box;\n background: var(--color-blue-6);\n border-color: var(--color-blue-5);\n}\n\n.progress::-moz-progress-bar {\n border-radius: var(--radius-s);\n border: var(--border-s) solid transparent;\n box-sizing: border-box;\n background: var(--color-blue-6);\n border-color: var(--color-blue-5);\n}\n\n.progress:indeterminate::-webkit-progress-value {\n background: var(--color-blue-6);\n border-color: var(--color-blue-5);\n opacity: 0.5;\n inline-size: 100% !important;\n animation: indeterminate-progress 1s linear infinite alternate;\n}\n\n.progress:indeterminate::-moz-progress-bar {\n background: var(--color-blue-6);\n border-color: var(--color-blue-5);\n opacity: 0.5;\n inline-size: 100% !important;\n animation: indeterminate-progress 1s linear infinite alternate;\n}\n","@keyframes skeleton-pulse-light {\n from {\n opacity: 0.14;\n }\n\n to {\n opacity: 0.21;\n }\n}\n\n@keyframes skeleton-pulse-dark {\n from {\n opacity: 0.28;\n }\n\n to {\n opacity: 0.36;\n }\n}\n\n.skeleton {\n animation: skeleton-pulse-light 1s ease alternate 0s infinite !important;\n border-radius: var(--radius-s) !important;\n background-color: var(--color-gray-5) !important;\n border: 0 !important;\n outline: 0 !important;\n box-shadow: 0 !important;\n pointer-events: none !important;\n color: transparent !important;\n mask-image: none !important;\n background-image: none !important;\n print-color-adjust: exact;\n\n /*************************************************************\n * Special styles for \"skeletonizing\" specific element types *\n *************************************************************/\n\n /* Make block text take up the full width */\n &.paragraph,\n &.heading {\n inline-size: 100%;\n }\n\n /* For empty text elements, add filler content so it isn't 0 height. */\n &:is(.paragraph, .heading, .chip, .card-title)::before {\n content: \".\";\n }\n\n /* Add a reasonable minimum width to buttons and chips */\n &:is(.button, .chip):empty {\n min-inline-size: 5em;\n }\n\n /* Add a reasonable width to card titles */\n &.card-title {\n inline-size: 40%;\n overflow: hidden;\n }\n\n /* Visually hide contents, but let them take up space so elements don't collapse to 0 height. */\n &::before,\n &::after,\n > * {\n visibility: hidden !important;\n }\n\n @media (prefers-color-scheme: dark) {\n animation-name: skeleton-pulse-dark !important;\n }\n}\n","/* stylelint-disable declaration-block-no-redundant-longhand-properties -- text-decoration shorthand doesn't work properly for Safari */\n\n.paragraph,\n.markdown-output p {\n font-family: var(--font-family-body);\n font-weight: var(--font-weight-normal);\n line-height: 1.6;\n margin: 0.75em 0;\n text-wrap: pretty;\n hanging-punctuation: first;\n overflow-wrap: break-word;\n\n &:first-child {\n margin-block-start: 0;\n }\n\n &:last-child {\n margin-block-end: 0;\n }\n}\n\n.abbreviation,\n.markdown-output abbr[title] {\n display: inline;\n text-decoration-line: underline;\n text-decoration-style: dotted;\n text-decoration-thickness: var(--border-m);\n text-decoration-color: var(--color-gray-6);\n text-underline-offset: 0.1em;\n}\n\n.bold,\n.markdown-output strong,\n.markdown-output b {\n font-weight: var(--font-weight-bold);\n}\n\n.italic,\n.markdown-output em {\n font-style: italic;\n}\n\n.underline {\n text-decoration-line: underline;\n}\n\n.strikethrough,\n.markdown-output s {\n text-decoration-line: line-through;\n}\n\n.underline.strikethrough {\n text-decoration-line: underline line-through;\n}\n\n.small-text,\n.markdown-output small {\n font-size: 0.75em;\n vertical-align: baseline;\n}\n\n.subscript,\n.superscript,\n.markdown-output sub,\n.markdown-output sup {\n font-size: 0.75em;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\n.subscript,\n.markdown-output sub {\n inset-block-end: -0.25em;\n}\n\n.superscript,\n.markdown-output sup {\n inset-block-start: -0.5em;\n}\n\n.code,\n.markdown-output code {\n font-family: var(--font-family-mono);\n background-color: var(--color-gray-extra-transparent);\n color: var(--color-gray-1);\n border-radius: var(--radius-s);\n display: inline;\n padding: 0.25ch 0.5ch;\n font-size: 0.9em;\n\n &.invert {\n color: var(--color-gray-9);\n }\n}\n\n.link .code,\n.markdown-output a code {\n text-decoration: inherit;\n text-decoration-color: inherit;\n text-decoration-thickness: inherit;\n color: inherit;\n}\n\n.key,\n.skip-link kbd,\n.markdown-output kbd {\n display: inline;\n padding: 0 0.5ch;\n margin: 0 0.25ch;\n font-size: 0.9em;\n border: var(--border-s) solid var(--color-gray-8);\n border-bottom-width: 3px;\n border-radius: var(--radius-m);\n font-weight: var(--font-weight-semibold);\n font-family: var(--font-family-body);\n background-color: var(--color-gray-9);\n color: var(--color-body-text);\n}\n","/* Style the label of a labeled switch, which is also the container that holds the switch itself */\nlabel.switch {\n inline-size: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n font-weight: var(--font-weight-semibold);\n gap: var(--space-3xs);\n font-size: var(--font-size-m);\n font-family: var(--font-family-body);\n}\n\n/* For small labeled switches, set the label text size to font-size-s */\nlabel.switch.small {\n font-size: var(--font-size-s);\n}\n\n/* Style the switch itself */\ninput[type=\"checkbox\"].switch,\nlabel.switch input[type=\"checkbox\"] {\n font-size: 1rem;\n print-color-adjust: exact;\n appearance: none;\n block-size: 1.8em;\n inline-size: 3em;\n border-radius: var(--radius-full);\n background-color: light-dark(var(--color-gray-8), var(--color-gray-5));\n position: relative;\n flex: none;\n transition-property: background-color, box-shadow, border-color;\n transition-duration: 200ms;\n transition-timing-function: ease;\n border: 0.1em solid var(--color-gray-7);\n cursor: pointer;\n\n &::after {\n content: \"\";\n position: absolute;\n height: 1.4em;\n width: 1.4em;\n background-color: white;\n inset-inline-start: 0.1em;\n inset-block-start: 0.1em;\n border-radius: var(--radius-full);\n box-shadow: var(--shadow-s);\n transition-property: border-color, transform;\n transition-duration: 200ms;\n transition-timing-function: ease;\n transform: translateX(0);\n }\n\n &:disabled {\n opacity: var(--opacity-disabled);\n cursor: not-allowed;\n }\n\n &:is(:focus-visible, .focus) {\n border-color: var(--color-gray-6);\n box-shadow: 0 0 0 0.2em var(--color-gray-transparent);\n outline: 0;\n }\n\n &:checked {\n background-color: light-dark(var(--color-brand-6), var(--color-brand-5));\n border-color: light-dark(var(--color-brand-5), var(--color-brand-6));\n\n &::after {\n transform: translateX(1.2em);\n }\n\n &:is(:focus-visible, .focus) {\n box-shadow: 0 0 0 0.2em var(--color-brand-transparent);\n }\n }\n\n &:dir(rtl):checked::after {\n transform: translateX(-1.2em);\n }\n}\n\n/* For small switches, scale the switch control to 80% of the normal size */\ninput[type=\"checkbox\"].switch.small,\nlabel.switch.small input[type=\"checkbox\"] {\n font-size: 0.8rem;\n}\n","table.table,\n.markdown-output table {\n --table-bg-odd: var(--color-body-alt);\n --table-bg-even: var(--color-body);\n --table-vertical-border: var(--border-s);\n\n background-color: var(--color-body-alt);\n border-collapse: separate;\n border-spacing: 0;\n font-size: var(--font-size-m);\n border: var(--border-s) solid var(--color-outline);\n border-radius: var(--radius-s);\n color: var(--color-body-text);\n font-family: var(--font-family-body);\n font-weight: var(--font-weight-normal);\n\n &.subtle {\n --table-bg-odd: transparent;\n --table-bg-even: transparent;\n --table-vertical-border: 0;\n\n border: 0;\n }\n\n &.dense :is(th, td) {\n padding: var(--space-3xs) var(--space-2xs);\n }\n\n &.sparse :is(th, td) {\n padding: var(--space-xs) var(--space-s);\n }\n\n caption {\n font-family: var(--font-family-heading);\n line-height: 1.15;\n font-size: var(--font-size-l);\n font-weight: var(--font-weight-semibold);\n text-align: start;\n margin: 0 0 var(--space-2xs);\n }\n\n th,\n td {\n padding: var(--space-2xs) var(--space-xs);\n }\n\n th,\n tfoot td {\n font-weight: var(--font-weight-bold);\n font-family: var(--font-family-heading);\n text-align: center;\n }\n\n th {\n border-block-end: var(--border-m) solid var(--color-outline);\n }\n\n tfoot td {\n border-block-start: var(--border-m) solid var(--color-outline);\n }\n\n td {\n text-align: unset;\n }\n\n :is(th, tfoot td):not(:last-of-type) {\n border-inline-end: var(--table-vertical-border) dashed var(--color-outline);\n }\n\n td:not(tfoot td, :last-of-type) {\n border-inline-end: var(--table-vertical-border) solid var(--color-outline);\n }\n\n tr:not(:last-of-type) td {\n border-block-end: var(--border-s) solid var(--color-outline);\n }\n\n tbody tr:nth-child(odd),\n tbody:has(tr:last-of-type:nth-child(even)) + tfoot tr {\n background-color: var(--table-bg-even);\n }\n\n tbody tr:nth-child(even) {\n background-color: var(--table-bg-odd);\n }\n}\n","dialog:is(.modal, .drawer)[open] {\n display: flex;\n transform: var(--dialog-open-transform);\n opacity: var(--dialog-open-opacity);\n}\n\ndialog:is(.modal, .drawer)[open]::backdrop {\n opacity: var(--dialog-backdrop-open-opacity);\n}\n\ndialog:is(.modal, .drawer) {\n transform: var(--dialog-ending-transform);\n opacity: var(--dialog-ending-opacity);\n transition:\n transform 150ms ease,\n opacity 150ms ease,\n display 150ms ease allow-discrete,\n overlay 150ms ease allow-discrete;\n}\n\ndialog:is(.modal, .drawer)::backdrop {\n opacity: var(--dialog-backdrop-ending-opacity);\n transition:\n transform 150ms ease,\n opacity 150ms ease,\n display 150ms ease allow-discrete,\n overlay 150ms ease allow-discrete;\n}\n\n@starting-style {\n dialog:is(.modal, .drawer)[open] {\n transform: var(--dialog-starting-transform);\n opacity: var(--dialog-starting-opacity);\n }\n\n dialog:is(.modal, .drawer)[open]::backdrop {\n opacity: var(--dialog-backdrop-starting-opacity);\n }\n}\n",".visually-hidden,\n.sr-only,\n.app-sidebar-toggle input,\n.skip-link:not(:focus, .static) {\n clip: rect(1px, 1px, 1px, 1px);\n clip-path: inset(50%);\n height: 1px;\n width: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n","@starting-style {\n .app > .sidebar {\n opacity: 0;\n }\n}\n"],"names":[]}
1
+ {"version":3,"sourceRoot":null,"mappings":"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","sources":["index.css","utils/reset.css","components/heading.css","components/banner.css","components/divider.css","utils/variables.css","components/highlight.css","components/button.css","components/drawer.css","shared/base-alert.css","components/link.css","components/card.css","components/field.css","shared/base-dialog.css","components/meter.css","components/chip.css","components/flex.css","shared/dismiss-button.css","components/modal.css","components/alert.css","components/accordion.css","components/skip-link.css","components/progress.css","components/app.css","components/text.css","components/slider.css","components/quote.css","components/switch.css","components/visually-hidden.css","components/skeleton.css","experimental/dialog-animations.css","components/table.css","experimental/mobile-sidebar-fade-out.css"],"sourcesContent":["@import url(\"./utils/reset.css\");\n@import url(\"./utils/variables.css\");\n@import url(\"./shared/base-alert.css\");\n@import url(\"./shared/base-dialog.css\");\n@import url(\"./shared/dismiss-button.css\");\n@import url(\"./components/accordion.css\");\n@import url(\"./components/alert.css\");\n@import url(\"./components/app.css\");\n@import url(\"./components/banner.css\");\n@import url(\"./components/button.css\");\n@import url(\"./components/card.css\");\n@import url(\"./components/chip.css\");\n@import url(\"./components/divider.css\");\n@import url(\"./components/drawer.css\");\n@import url(\"./components/field.css\");\n@import url(\"./components/flex.css\");\n@import url(\"./components/heading.css\");\n@import url(\"./components/highlight.css\");\n@import url(\"./components/link.css\");\n@import url(\"./components/meter.css\");\n@import url(\"./components/modal.css\");\n@import url(\"./components/progress.css\");\n@import url(\"./components/quote.css\");\n@import url(\"./components/skeleton.css\");\n@import url(\"./components/skip-link.css\");\n@import url(\"./components/slider.css\");\n@import url(\"./components/switch.css\");\n@import url(\"./components/table.css\");\n@import url(\"./components/text.css\");\n@import url(\"./components/visually-hidden.css\");\n@import url(\"./experimental/dialog-animations.css\");\n@import url(\"./experimental/mobile-sidebar-fade-out.css\");\n","*,\n*::before,\n*::after {\n box-sizing: border-box;\n margin: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--border-m) solid var(--color-brand-5);\n}\n\nhtml {\n text-size-adjust: none;\n color-scheme: light dark;\n}\n\nbody {\n margin: 0;\n background-color: var(--color-body);\n color: var(--color-body-text);\n}\n\nimg,\npicture,\nvideo,\niframe {\n max-width: 100%;\n display: block;\n}\n",".heading-1,\n.heading-2,\n.heading-3,\n.heading-4,\n.heading-5,\n.heading-6,\n.markdown-output :is(h1, h2, h3, h4, h5, h6) {\n font-family: var(--font-family-heading);\n margin-block: 0.75em 0.3em;\n line-height: 1.15;\n text-wrap: balance;\n overflow-wrap: break-word;\n}\n\n.heading-1,\n.markdown-output h1 {\n font-size: var(--font-size-4xl);\n font-weight: var(--font-weight-black);\n\n /* \n * Since the Level 1 Heading will typically be the first item inside the App\n * Content container (which already has padding at the top), we remove the top\n * margin by default. We can always add it back for special cases.\n */\n margin-block-start: 0;\n\n .app-content > &:first-of-type {\n margin-block-start: 0;\n }\n}\n\n.heading-2,\n.markdown-output h2 {\n font-size: var(--font-size-3xl);\n font-weight: var(--font-weight-bold);\n}\n\n.heading-3,\n.markdown-output h3 {\n font-size: var(--font-size-2xl);\n font-weight: var(--font-weight-bold);\n}\n\n.heading-4,\n.markdown-output h4 {\n font-size: var(--font-size-xl);\n font-weight: var(--font-weight-semibold);\n}\n\n.heading-5,\n.markdown-output h5 {\n font-size: var(--font-size-l);\n font-weight: var(--font-weight-semibold);\n}\n\n.heading-6,\n.markdown-output h6 {\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-bold);\n}\n",".banner {\n border-inline-width: 0;\n width: 100%;\n padding: var(--space-xs);\n padding-inline-start: calc(var(--space-xs) + 2em);\n\n &:has(.button.dismiss) {\n padding-inline-end: calc(var(--space-xs) + 2em);\n }\n\n &::before,\n &::after {\n inset-inline-start: calc(var(--space-xs) * 0.5);\n }\n\n & + & {\n border-block-start-width: 0;\n }\n\n .button.dismiss {\n --button-fg-color: var(--alert-dismiss-icon-color);\n --button-hover-bg-color: var(--alert-dismiss-hover-bg);\n\n position: absolute;\n inset-block: 0;\n inset-inline-end: var(--space-3xs);\n margin: auto;\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--alert-dismiss-focus-bg);\n }\n }\n}\n",".divider,\n.markdown-output :is(hr, br) {\n background-color: var(--color-outline);\n border: 0;\n outline: 0;\n width: 100%;\n height: var(--border-s);\n display: block;\n margin: var(--space-xs) 0;\n print-color-adjust: exact;\n\n &.vertical {\n display: inline-block;\n width: var(--border-s);\n height: 100%;\n min-height: 1em;\n margin: 0 var(--space-xs);\n }\n}\n\n.divider.invisible,\n.markdown-output br {\n visibility: hidden;\n}\n",":root,\n::backdrop {\n /* Brand */\n --color-brand-1: light-dark(#08003b, #e5edff);\n --color-brand-2: light-dark(#190074, #bbc9ff);\n --color-brand-3: light-dark(#290fa3, #93a4ff);\n --color-brand-4: light-dark(#3c35cb, #6f7dff);\n --color-brand-5: #545be7;\n --color-brand-6: light-dark(#6f7dff, #3c35cb);\n --color-brand-7: light-dark(#93a4ff, #290fa3);\n --color-brand-8: light-dark(#bbc9ff, #190074);\n --color-brand-9: light-dark(#e5edff, #08003b);\n --color-brand-transparent: light-dark(#545be766, #545be780);\n --color-brand-extra-transparent: light-dark(#545be733, #545be759);\n\n /* Red */\n --color-red-1: light-dark(#240000, #ffe3dc);\n --color-red-2: light-dark(#4d0000, #ffb4a5);\n --color-red-3: light-dark(#7a0000, #ff7c68);\n --color-red-4: light-dark(#a90000, #f0503d);\n --color-red-5: #cc2a1b;\n --color-red-6: light-dark(#f0503d, #a90000);\n --color-red-7: light-dark(#ff7c68, #7a0000);\n --color-red-8: light-dark(#ffb4a5, #4d0000);\n --color-red-9: light-dark(#ffe3dc, #240000);\n --color-red-transparent: light-dark(#cc2a1b66, #cc2a1b80);\n --color-red-extra-transparent: light-dark(#cc2a1b33, #cc2a1b59);\n\n /* Orange */\n --color-orange-1: light-dark(#1c0300, #ffe6cc);\n --color-orange-2: light-dark(#3e1200, #ffb87e);\n --color-orange-3: light-dark(#632500, #f98f3a);\n --color-orange-4: light-dark(#8b3a00, #d76f04);\n --color-orange-5: #b45100;\n --color-orange-6: light-dark(#d76f04, #8b3a00);\n --color-orange-7: light-dark(#f98f3a, #632500);\n --color-orange-8: light-dark(#ffb87e, #3e1200);\n --color-orange-9: light-dark(#ffe6cc, #1c0300);\n --color-orange-transparent: light-dark(#b4510066, #b4510080);\n --color-orange-extra-transparent: light-dark(#b4510033, #b4510059);\n\n /* Yellow */\n --color-yellow-1: light-dark(#140900, #f8edc1);\n --color-yellow-2: light-dark(#2f1e00, #efcb72);\n --color-yellow-3: light-dark(#4e3700, #dfb22b);\n --color-yellow-4: light-dark(#7a5700, #c89808);\n --color-yellow-5: #a57c00;\n --color-yellow-6: light-dark(#c89808, #7a5700);\n --color-yellow-7: light-dark(#dfb22b, #4e3700);\n --color-yellow-8: light-dark(#efcb72, #2f1e00);\n --color-yellow-9: light-dark(#f8edc1, #140900);\n --color-yellow-transparent: light-dark(#a57c0066, #a57c0080);\n --color-yellow-extra-transparent: light-dark(#a57c0033, #a57c0059);\n\n /* Green */\n --color-green-1: light-dark(#011000, #dafbc4);\n --color-green-2: light-dark(#0c2a00, #a4e472);\n --color-green-3: light-dark(#1d4600, #7dc53a);\n --color-green-4: light-dark(#2f6500, #5fa500);\n --color-green-5: #438500;\n --color-green-6: light-dark(#5fa500, #2f6500);\n --color-green-7: light-dark(#7dc53a, #1d4600);\n --color-green-8: light-dark(#a4e472, #0c2a00);\n --color-green-9: light-dark(#dafbc4, #011000);\n --color-green-transparent: light-dark(#43850066, #43850080);\n --color-green-extra-transparent: light-dark(#43850033, #43850059);\n\n /* Sky */\n --color-sky-1: light-dark(#001011, #caf9f8);\n --color-sky-2: light-dark(#002a2b, #76e2e2);\n --color-sky-3: light-dark(#004747, #00c8c9);\n --color-sky-4: light-dark(#006566, #00a7a8);\n --color-sky-5: #008586;\n --color-sky-6: light-dark(#00a7a8, #006566);\n --color-sky-7: light-dark(#00c8c9, #004747);\n --color-sky-8: light-dark(#76e2e2, #002a2b);\n --color-sky-9: light-dark(#caf9f8, #001011);\n --color-sky-transparent: light-dark(#00858666, #00858680);\n --color-sky-extra-transparent: light-dark(#00858633, #00858659);\n\n /* Blue */\n --color-blue-1: light-dark(#00003e, #ddf0ff);\n --color-blue-2: light-dark(#00007a, #a9cfff);\n --color-blue-3: light-dark(#002b97, #74adff);\n --color-blue-4: light-dark(#004abd, #3988ff);\n --color-blue-5: #1c69e3;\n --color-blue-6: light-dark(#3988ff, #004abd);\n --color-blue-7: light-dark(#74adff, #002b97);\n --color-blue-8: light-dark(#a9cfff, #00007a);\n --color-blue-9: light-dark(#ddf0ff, #00003e);\n --color-blue-transparent: light-dark(#1c69e366, #1c69e380);\n --color-blue-extra-transparent: light-dark(#1c69e333, #1c69e359);\n\n /* Purple */\n --color-purple-1: light-dark(#170029, #fbe4ff);\n --color-purple-2: light-dark(#370054, #e8b6ff);\n --color-purple-3: light-dark(#5a0085, #ce8dfc);\n --color-purple-4: light-dark(#7819a8, #b562ea);\n --color-purple-5: #9640ca;\n --color-purple-6: light-dark(#b562ea, #7819a8);\n --color-purple-7: light-dark(#ce8dfc, #5a0085);\n --color-purple-8: light-dark(#e8b6ff, #370054);\n --color-purple-9: light-dark(#fbe4ff, #170029);\n --color-purple-transparent: light-dark(#9640ca66, #9640ca80);\n --color-purple-extra-transparent: light-dark(#9640ca33, #9640ca59);\n\n /* Magenta */\n --color-magenta-1: light-dark(#21000c, #ffe1f0);\n --color-magenta-2: light-dark(#480023, #ffadd0);\n --color-magenta-3: light-dark(#73003d, #fe7cb1);\n --color-magenta-4: light-dark(#9b0058, #e45193);\n --color-magenta-5: #c32775;\n --color-magenta-6: light-dark(#e45193, #9b0058);\n --color-magenta-7: light-dark(#fe7cb1, #73003d);\n --color-magenta-8: light-dark(#ffadd0, #480023);\n --color-magenta-9: light-dark(#ffe1f0, #21000c);\n --color-magenta-transparent: light-dark(#c3277566, #c3277580);\n --color-magenta-extra-transparent: light-dark(#c3277533, #c3277559);\n\n /* Gray */\n --color-gray-1: light-dark(#090b0f, #eceff4);\n --color-gray-2: light-dark(#202226, #cbced3);\n --color-gray-3: light-dark(#383b3f, #abaeb3);\n --color-gray-4: light-dark(#53555a, #8d8f94);\n --color-gray-5: #6f7276;\n --color-gray-6: light-dark(#8d8f94, #53555a);\n --color-gray-7: light-dark(#abaeb3, #383b3f);\n --color-gray-8: light-dark(#cbced3, #202226);\n --color-gray-9: light-dark(#eceff4, #090b0f);\n --color-gray-transparent: light-dark(#6f727666, #6f727680);\n --color-gray-extra-transparent: light-dark(#6f727633, #6f727659);\n\n /* Semantic colors */\n --color-body: light-dark(#f9fafc, #14161a);\n --color-body-alt: light-dark(#fff, #010203);\n --color-body-text: light-dark(#030305, #fff);\n --color-body-text-alt: light-dark(#404247, #ccced0);\n --color-shadow: light-dark(#45484c26, #00000166);\n --color-outline: light-dark(#d8dbe0, #434549);\n\n /* Font sizes */\n --font-size-xs: clamp(0.6944rem, 0.6855rem + 0.0446vw, 0.72rem);\n --font-size-s: clamp(0.8331rem, 0.8099rem + 0.1163vw, 0.9rem);\n --font-size-m: clamp(1rem, 0.9565rem + 0.2174vw, 1.125rem);\n --font-size-l: clamp(1.2rem, 1.1283rem + 0.3587vw, 1.4063rem);\n --font-size-xl: clamp(1.44rem, 1.3293rem + 0.5533vw, 1.7581rem);\n --font-size-2xl: clamp(1.7281rem, 1.5649rem + 0.8163vw, 2.1975rem);\n --font-size-3xl: clamp(2.0738rem, 1.8396rem + 1.1707vw, 2.7469rem);\n --font-size-4xl: clamp(2.4881rem, 2.1594rem + 1.6435vw, 3.4331rem);\n\n /* Font weights */\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-black: 900;\n\n /* Font families */\n --font-family-body: \"Avenir Next\", avenir, corbel, source-sans-pro,\n \"DejaVu Sans\", ui-sans-serif, sans-serif;\n --font-family-heading: seravek, \"Gill Sans Nova\", cantarell, verdana,\n \"DejaVu Sans\", ui-sans-serif, sans-serif;\n --font-family-mono: ui-monospace, \"Source Code Pro\", ui-monospace, monospace;\n\n /* Spacing */\n --space-3xs: clamp(4px, 3.6528px + 0.1087vw, 5px);\n --space-2xs: clamp(8px, 7.6528px + 0.1087vw, 9px);\n --space-xs: clamp(12px, 11.304px + 0.2174vw, 14px);\n --space-s: clamp(16px, 15.304px + 0.2174vw, 18px);\n --space-m: clamp(24px, 22.9568px + 0.3261vw, 27px);\n --space-l: clamp(32px, 30.608px + 0.4348vw, 36px);\n --space-xl: clamp(48px, 45.9136px + 0.6522vw, 54px);\n --space-2xl: clamp(64px, 61.2176px + 0.8696vw, 72px);\n --space-3xl: clamp(96px, 91.8256px + 1.3043vw, 108px);\n\n /* Between xs and m based on screen width */\n --space-body: clamp(12px, 6.7824px + 1.6304vw, 27px);\n\n /* Radii */\n --radius-none: 0;\n --radius-s: 3px;\n --radius-m: 6px;\n --radius-l: 12px;\n --radius-xl: 24px;\n --radius-2xl: 64px;\n --radius-full: 9999px;\n\n /* Shadows */\n --shadow-none: none;\n --shadow-s: 0 1px 3px -1px var(--color-shadow);\n --shadow-m: 0 1px 7px -1px var(--color-shadow);\n --shadow-l: var(--shadow-s), 0 1px 11px -1px var(--color-shadow);\n --shadow-xl: var(--shadow-m), 0 1px 15px -1px var(--color-shadow);\n\n /* Border widths */\n --border-none: 0;\n --border-s: 1px;\n --border-m: 2px;\n --border-l: 5px;\n --border-xl: 8px;\n\n /* Opacity */\n --opacity-disabled: light-dark(0.65, 0.5);\n}\n",".highlight,\n.markdown-output mark {\n background-color: light-dark(var(--color-yellow-8), var(--color-yellow-7));\n color: light-dark(var(--color-yellow-2), var(--color-yellow-1));\n print-color-adjust: exact;\n}\n\n.highlight.removed,\n.markdown-output del {\n background-color: var(--color-red-8);\n color: var(--color-red-2);\n transition: text-decoration-color 150ms ease;\n text-decoration-line: line-through;\n text-decoration-skip-ink: none;\n text-decoration-thickness: var(--border-m);\n text-decoration-color: var(--color-red-4);\n print-color-adjust: exact;\n\n &:hover {\n text-decoration-color: transparent;\n }\n}\n\n.highlight.added,\n.markdown-output ins {\n background-color: var(--color-green-8);\n color: var(--color-green-2);\n text-decoration-thickness: var(--border-m);\n text-decoration-color: var(--color-green-4);\n text-underline-offset: 0.1em;\n print-color-adjust: exact;\n}\n\n.highlight.target,\n::target-text {\n background-color: var(--color-brand-8);\n color: light-dark(var(--color-brand-2), var(--color-brand-1));\n print-color-adjust: exact;\n}\n",".button {\n --button-shadow: var(--shadow-s);\n --button-hover-bg-color: var(--button-border-color);\n\n box-sizing: border-box;\n display: inline-flex;\n outline: 0;\n padding-inline: 1.25em;\n padding-block: 0.75em;\n gap: 0.5em;\n border-style: solid;\n transform: scale(1);\n transition-property: box-shadow, background-color, transform, opacity;\n transition-duration: 200ms;\n transition-timing-function: ease;\n text-decoration: none;\n position: relative;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n cursor: pointer;\n border-width: var(--border-s);\n border-radius: var(--radius-m);\n min-height: 2.6em;\n min-width: 3em;\n line-height: 1;\n font-family: var(--font-family-body);\n box-shadow: var(--button-shadow);\n user-select: none;\n font-size: 1rem;\n\n &::before {\n content: \"\";\n background-color: var(--button-hover-bg-color);\n position: absolute;\n inset: 0;\n margin: auto;\n transition-property: opacity, width, height, border-radius;\n transition-duration: 200ms;\n transition-timing-function: ease;\n z-index: -1;\n border-radius: 2em;\n width: 4em;\n height: 4em;\n opacity: 0;\n }\n\n &:is(:focus-visible, .focus) {\n box-shadow:\n var(--button-shadow),\n 0 0 0 0.1em var(--button-border-color),\n 0 0 0 calc(0.2em + var(--border-s)) var(--button-focus-ring-color);\n }\n\n &:is(:active, .active) {\n transform: scale(0.98);\n\n /*\n * On low-resolution screens, the scale effect makes text jump\n * around awkwardly, so we use an alternative.\n */\n @media screen and (resolution < 2x) {\n transform: translateY(1px);\n }\n }\n\n &:is(:hover, .hover) {\n text-decoration: none;\n\n &::before {\n opacity: 1;\n width: 100%;\n height: 100%;\n border-radius: 5px;\n }\n\n /* inputs don't support children, so the ::before pseudo element won't work */\n &:is(input) {\n background-color: var(--button-hover-bg-color);\n }\n }\n\n color: var(--button-fg-color);\n background-color: var(--button-bg-color);\n border-color: var(--button-border-color);\n font-weight: var(--button-font-weight);\n\n &.primary {\n --button-fg-color: white;\n --button-bg-color: var(--color-brand-5);\n --button-border-color: var(--color-brand-4);\n --button-font-weight: var(--font-weight-bold);\n --button-focus-ring-color: var(--color-brand-transparent);\n\n &.red {\n --button-bg-color: var(--color-red-5);\n --button-border-color: var(--color-red-4);\n --button-focus-ring-color: var(--color-red-transparent);\n }\n\n &.orange {\n --button-bg-color: var(--color-orange-5);\n --button-border-color: var(--color-orange-4);\n --button-focus-ring-color: var(--color-orange-transparent);\n }\n\n &.yellow {\n --button-bg-color: var(--color-yellow-5);\n --button-border-color: var(--color-yellow-4);\n --button-focus-ring-color: var(--color-yellow-transparent);\n }\n\n &.green {\n --button-bg-color: var(--color-green-5);\n --button-border-color: var(--color-green-4);\n --button-focus-ring-color: var(--color-green-transparent);\n }\n\n &.sky {\n --button-bg-color: var(--color-sky-5);\n --button-border-color: var(--color-sky-4);\n --button-focus-ring-color: var(--color-sky-transparent);\n }\n\n &.blue {\n --button-bg-color: var(--color-blue-5);\n --button-border-color: var(--color-blue-4);\n --button-focus-ring-color: var(--color-blue-transparent);\n }\n\n &.purple {\n --button-bg-color: var(--color-purple-5);\n --button-border-color: var(--color-purple-4);\n --button-focus-ring-color: var(--color-purple-transparent);\n }\n\n &.magenta {\n --button-bg-color: var(--color-magenta-5);\n --button-border-color: var(--color-magenta-4);\n --button-focus-ring-color: var(--color-magenta-transparent);\n }\n\n &.gray {\n --button-bg-color: var(--color-gray-5);\n --button-border-color: var(--color-gray-4);\n --button-focus-ring-color: var(--color-gray-transparent);\n }\n }\n\n /* .secondary, default */\n &:not(.primary, .subtle, .close, .dismiss) {\n --button-fg-color: var(--color-body-text);\n --button-bg-color: var(--color-gray-9);\n --button-border-color: var(--color-gray-8);\n --button-font-weight: var(--font-weight-normal);\n --button-focus-ring-color: var(--color-gray-extra-transparent);\n }\n\n &:is(.subtle, .close) {\n --button-fg-color: var(--color-brand-4);\n --button-bg-color: transparent;\n --button-border-color: transparent;\n --button-hover-bg-color: var(--color-brand-extra-transparent);\n --button-font-weight: var(--font-weight-bold);\n --button-focus-ring-color: transparent;\n --button-shadow: none;\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-brand-transparent);\n --button-hover-bg-color: transparent;\n }\n\n &.red {\n --button-fg-color: var(--color-red-4);\n --button-hover-bg-color: var(--color-red-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-red-transparent);\n }\n }\n\n &.orange {\n --button-fg-color: var(--color-orange-4);\n --button-hover-bg-color: var(--color-orange-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-orange-transparent);\n }\n }\n\n &.yellow {\n --button-fg-color: var(--color-yellow-4);\n --button-hover-bg-color: var(--color-yellow-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-yellow-transparent);\n }\n }\n\n &.green {\n --button-fg-color: var(--color-green-4);\n --button-hover-bg-color: var(--color-green-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-green-transparent);\n }\n }\n\n &.sky {\n --button-fg-color: var(--color-sky-4);\n --button-hover-bg-color: var(--color-sky-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-sky-transparent);\n }\n }\n\n &.blue {\n --button-fg-color: var(--color-blue-4);\n --button-hover-bg-color: var(--color-blue-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-blue-transparent);\n }\n }\n\n &.purple {\n --button-fg-color: var(--color-purple-4);\n --button-hover-bg-color: var(--color-purple-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-purple-transparent);\n }\n }\n\n &.magenta {\n --button-fg-color: var(--color-magenta-4);\n --button-hover-bg-color: var(--color-magenta-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-magenta-transparent);\n }\n }\n\n &.gray {\n --button-fg-color: var(--color-gray-4);\n --button-hover-bg-color: var(--color-gray-extra-transparent);\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-gray-transparent);\n }\n }\n }\n\n &:is(.small, .close, .dismiss) {\n font-size: 0.8rem;\n }\n\n &.large {\n font-size: 1.2rem;\n }\n\n &:is(.icon, .close, .dismiss) {\n border-radius: var(--radius-full);\n min-width: 0;\n min-height: 0;\n aspect-ratio: 1;\n\n &:is(.subtle, .close) {\n &::before {\n width: 75%;\n height: 75%;\n }\n\n &:is(:hover, .hover)::before {\n width: 100%;\n height: 100%;\n border-radius: 100%;\n }\n }\n\n &.icon {\n padding: 0.5em;\n }\n\n &.close,\n &.dismiss {\n padding: 0.3em;\n }\n\n &:not(.subtle, .close, .dismiss) {\n &::before {\n content: unset;\n }\n\n &:is(:hover, .hover) {\n background-color: var(--button-hover-bg-color);\n }\n }\n }\n\n &:is(:disabled, .disabled, [aria-disabled=\"true\"]) {\n opacity: var(--opacity-disabled);\n cursor: not-allowed;\n transform: scale(1);\n\n &:is(:hover, .hover)::before {\n opacity: 0;\n }\n }\n\n &.loading {\n cursor: progress;\n\n &::before {\n opacity: 1 !important;\n height: 100% !important;\n border-radius: inherit !important;\n animation: button-loading-bg 1200ms ease-in-out infinite forwards;\n }\n\n &:is(:disabled, .disabled, [aria-disabled=\"true\"]) {\n cursor: wait;\n }\n }\n}\n\n@keyframes button-loading-bg {\n 0% {\n width: 0;\n margin: 0 auto 0 0;\n }\n\n 50% {\n width: 100%;\n }\n\n 100% {\n width: 0;\n margin: 0 0 0 auto;\n }\n}\n","/* See utils/base-dialog for more */\n.drawer {\n --dialog-starting-opacity: 0.5;\n\n position: fixed;\n inset: 0;\n border-radius: 0;\n margin: 0;\n border: 0;\n overflow: auto;\n\n &.left {\n right: auto;\n\n @media (prefers-reduced-motion: no-preference) {\n --dialog-starting-transform: translateX(-16px);\n --dialog-ending-transform: translateX(-16px);\n }\n }\n\n &.top {\n bottom: auto;\n\n @media (prefers-reduced-motion: no-preference) {\n --dialog-starting-transform: translateY(-16px);\n --dialog-ending-transform: translateY(-16px);\n }\n }\n\n &.right {\n left: auto;\n\n @media (prefers-reduced-motion: no-preference) {\n --dialog-starting-transform: translateX(16px);\n --dialog-ending-transform: translateX(16px);\n }\n }\n\n &.bottom {\n top: auto;\n\n @media (prefers-reduced-motion: no-preference) {\n --dialog-starting-transform: translateY(16px);\n --dialog-ending-transform: translateY(16px);\n }\n }\n\n &.top,\n &.bottom {\n width: 100dvw;\n max-width: unset;\n height: auto;\n max-height: 100dvh;\n min-height: min(100dvh, 250px);\n\n &.small {\n height: 300px;\n }\n\n &.medium {\n height: 450px;\n }\n\n &.large {\n height: 600px;\n }\n }\n\n &.left,\n &.right {\n height: 100dvh;\n max-height: unset;\n width: auto;\n min-width: min(100dvw, 300px);\n max-width: 100dvw;\n\n &.small {\n width: 350px;\n }\n\n &.medium {\n width: 450px;\n }\n\n &.large {\n width: 700px;\n }\n }\n}\n\n.drawer-header {\n font-size: var(--font-size-l);\n}\n\n.drawer-body {\n height: 100%;\n}\n\n.drawer-footer {\n padding: var(--space-xs);\n flex-shrink: 0;\n display: flex;\n gap: var(--space-xs);\n justify-content: flex-start;\n margin: 0;\n margin-block-start: auto;\n\n > * {\n width: 100%;\n }\n}\n",".alert,\n.banner {\n display: block;\n font-family: var(--font-family-body);\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-normal);\n color: var(--color-body-text);\n position: relative;\n background:\n linear-gradient(var(--alert-bg-color), var(--alert-bg-color)) padding-box,\n linear-gradient(\n to right,\n var(--alert-border-start-color),\n var(--alert-border-end-color)\n )\n border-box;\n border: var(--border-m) solid transparent;\n line-height: 1.4;\n\n > * {\n line-height: 1.4;\n }\n\n @media print {\n & {\n border-color: var(--alert-border-start-color);\n }\n }\n\n &::before,\n &::after {\n content: \"\";\n print-color-adjust: exact;\n position: absolute;\n inset-block: 0;\n margin-block: auto;\n width: 2em;\n height: 2em;\n }\n\n &::before {\n z-index: 2;\n mask-image: var(--alert-icon);\n mask-repeat: no-repeat;\n mask-size: contain;\n background-color: var(--alert-border-start-color);\n scale: 0.5;\n }\n\n &::after {\n z-index: 1;\n background-color: light-dark(#fffe, #000e);\n border-radius: var(--radius-full);\n border: 3px solid var(--alert-border-start-color);\n scale: 0.75;\n }\n\n &.error {\n --alert-bg-color: var(--color-red-9);\n --alert-border-start-color: var(--color-red-5);\n --alert-border-end-color: var(--color-red-6);\n --alert-dismiss-icon-color: var(--color-red-4);\n --alert-dismiss-hover-bg: var(--color-red-extra-transparent);\n --alert-dismiss-focus-bg: var(--color-red-transparent);\n --alert-icon: url(\"@/src/svg/x-thick.svg\");\n }\n\n &.warning {\n --alert-bg-color: var(--color-yellow-9);\n --alert-border-start-color: var(--color-yellow-5);\n --alert-border-end-color: var(--color-yellow-6);\n --alert-dismiss-icon-color: var(--color-yellow-4);\n --alert-dismiss-hover-bg: var(--color-yellow-extra-transparent);\n --alert-dismiss-focus-bg: var(--color-yellow-transparent);\n --alert-icon: url(\"@/src/svg/warning-thick.svg\");\n }\n\n &.success {\n --alert-bg-color: var(--color-green-9);\n --alert-border-start-color: var(--color-green-5);\n --alert-border-end-color: var(--color-green-6);\n --alert-dismiss-icon-color: var(--color-green-4);\n --alert-dismiss-hover-bg: var(--color-green-extra-transparent);\n --alert-dismiss-focus-bg: var(--color-green-transparent);\n --alert-icon: url(\"@/src/svg/check-thick.svg\");\n }\n\n &.info {\n --alert-bg-color: var(--color-sky-9);\n --alert-border-start-color: var(--color-sky-5);\n --alert-border-end-color: var(--color-sky-6);\n --alert-dismiss-icon-color: var(--color-sky-4);\n --alert-dismiss-hover-bg: var(--color-sky-extra-transparent);\n --alert-dismiss-focus-bg: var(--color-sky-transparent);\n --alert-icon: url(\"@/src/svg/info-thick.svg\");\n }\n}\n\n.alert-title,\n.banner-title {\n font-family: var(--font-family-heading);\n font-weight: var(--font-weight-bold);\n line-height: 1;\n color: var(--alert-border-start-color);\n font-size: 0.85em;\n margin: 0;\n margin-block-end: 0.15em;\n}\n",".link,\n.markdown-output a {\n color: var(--color-sky-4);\n font-weight: var(--font-weight-semibold);\n text-decoration-line: underline;\n text-decoration-color: var(--color-sky-transparent);\n text-decoration-skip-ink: all;\n text-decoration-thickness: var(--border-m);\n text-underline-offset: 0.1em;\n cursor: pointer;\n transition: text-decoration-color 200ms ease;\n\n &:is(:hover, .hover) {\n text-decoration-color: currentcolor;\n }\n\n &:focus-visible {\n outline-offset: 1px;\n }\n}\n\n[target=\"_blank\"]:is(.link, .button, .markdown-output a):not(\n .no-external-icon\n )::after {\n content: \"\";\n print-color-adjust: exact;\n mask-image: url(\"@/src/svg/external.svg\");\n mask-size: contain;\n mask-repeat: no-repeat;\n background-color: var(--color-gray-5);\n display: inline-block;\n height: 0.85em;\n width: 0.85em;\n vertical-align: baseline;\n margin-left: 0.1em;\n}\n\n/* For buttons, match external icon color to button text */\na.button[target=\"_blank\"]:not(.no-external-icon)::after {\n background-color: currentcolor;\n}\n",".card {\n background-color: var(--color-body-alt);\n border-radius: var(--radius-l);\n border: var(--border-s) solid var(--color-outline);\n box-shadow: var(--shadow-m);\n padding: var(--space-m);\n font-family: var(--font-family-body);\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-normal);\n\n &.secondary {\n background-color: var(--color-body);\n border-radius: var(--radius-m);\n box-shadow: var(--shadow-s);\n padding: var(--space-s);\n }\n}\n\n.card-title {\n font-family: var(--font-family-heading);\n line-height: 1.15;\n text-wrap: balance;\n overflow-wrap: break-word;\n font-size: var(--font-size-l);\n font-weight: var(--font-weight-bold);\n color: var(--color-brand-3);\n margin-block: 0 var(--space-xs);\n}\n\n.card.secondary .card-title {\n font-size: var(--font-size-m);\n margin-block-end: var(--space-2xs);\n}\n",".field {\n --field-gap: var(--space-2xs);\n --field-padding: 0.5em;\n --field-radius: var(--radius-m);\n\n display: inline-flex;\n flex-direction: column;\n line-height: 1;\n gap: var(--field-gap);\n color: var(--color-body-text);\n font-weight: var(--font-weight-semibold);\n transition-duration: 200ms;\n transition-property: color, box-shadow;\n transition-timing-function: ease;\n font-size: var(--font-size-m);\n font-family: var(--font-family-body);\n\n &.compact,\n .fieldset.compact & {\n --field-gap: calc(0.9 * var(--space-2xs));\n --field-padding: 0.33em;\n --field-radius: var(--radius-s);\n\n font-size: calc(0.9 * var(--font-size-m));\n }\n\n &:focus-within {\n color: var(--color-brand-5);\n }\n\n &:has(:user-invalid, &[aria-invalid=\"true\"]) {\n color: var(--color-red-5);\n\n .error-message {\n opacity: 1;\n }\n }\n\n &:has([readonly]):focus-within {\n color: var(--color-gray-5);\n }\n\n &:user-invalid {\n color: var(--color-red-5);\n }\n\n input:not(\n [type=\"button\"],\n [type=\"checkbox\"],\n [type=\"file\"],\n [type=\"hidden\"],\n [type=\"image\"],\n [type=\"radio\"],\n [type=\"range\"],\n [type=\"reset\"],\n [type=\"submit\"]\n ),\n select,\n textarea {\n color: var(--color-body-text);\n background-color: light-dark(white, black);\n border: var(--border-s) solid var(--color-outline);\n font-size: 1em;\n padding: var(--field-padding);\n border-radius: var(--field-radius);\n transition-duration: 200ms;\n transition-property: color, box-shadow, border-color;\n transition-timing-function: ease;\n font-family: inherit;\n\n &:focus {\n outline: 0;\n border-color: var(--color-brand-5);\n box-shadow:\n 0 0 0 0.1em var(--color-brand-5),\n 0 0 0 calc(0.2em + var(--border-s)) var(--color-brand-transparent);\n }\n\n &:disabled {\n opacity: var(--opacity-disabled);\n cursor: not-allowed;\n }\n\n /* Not using :read-only because it matches additional elements (e.g., every color input) */\n &[readonly] {\n border-style: dashed;\n\n &:focus {\n outline: 0;\n border-style: solid;\n border-color: var(--color-gray-5);\n box-shadow:\n 0 0 0 0.1em var(--color-gray-5),\n 0 0 0 calc(0.2em + var(--border-s)) var(--color-gray-transparent);\n }\n }\n\n &:user-invalid,\n &[aria-invalid=\"true\"] {\n border-color: var(--color-red-5);\n box-shadow: 0 0 0 0.1em var(--color-red-5);\n\n &:focus {\n outline: 0;\n border-color: var(--color-red-5);\n box-shadow:\n 0 0 0 0.1em var(--color-red-5),\n 0 0 0 calc(0.2em + var(--border-s)) var(--color-red-transparent);\n }\n }\n }\n\n input[type=\"color\"] {\n inline-size: auto;\n block-size: auto;\n cursor: pointer;\n\n &::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n &::-webkit-color-swatch {\n border: 0;\n block-size: 1em;\n inline-size: 1.62em;\n border-radius: var(--radius-s);\n }\n\n &::-moz-color-swatch {\n border: 0;\n block-size: 1em;\n inline-size: 1.62em;\n border-radius: var(--radius-s);\n }\n }\n\n select {\n background-image: light-dark(\n url(\"@/src/svg/dropdown.svg\"),\n url(\"@/src/svg/dropdown-invert.svg\")\n );\n background-position: center right 0.25em;\n background-size: auto 75%;\n background-repeat: no-repeat;\n cursor: pointer;\n appearance: none;\n padding-inline-end: calc(2 * var(--space-2xs) + 1em);\n\n &:dir(rtl) {\n background-position: center left 0.25em;\n }\n }\n\n .help-text {\n font-size: 0.9em;\n color: var(--color-body-text-alt);\n font-weight: var(--font-weight-normal);\n margin: -0.25em 0 0;\n position: relative;\n }\n\n .error-message {\n transition: opacity 200ms ease;\n opacity: 0;\n font-size: 0.9em;\n border: 0;\n padding: 0;\n margin: 0;\n font-weight: var(--font-weight-semibold);\n display: flex;\n align-items: center;\n gap: 2px;\n\n &::before {\n content: \"\";\n mask-image: url(\"@/src/svg/x-circle.svg\");\n mask-size: contain;\n mask-repeat: no-repeat;\n mask-position: center;\n background-color: currentcolor;\n display: inline-block;\n height: 1.2em;\n width: 1.2em;\n }\n }\n\n .input-group {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n\n > * {\n border-radius: 0 !important;\n z-index: 1;\n }\n\n > :first-child {\n border-start-start-radius: var(--field-radius) !important;\n border-end-start-radius: var(--field-radius) !important;\n }\n\n > :last-child {\n border-end-end-radius: var(--field-radius) !important;\n border-start-end-radius: var(--field-radius) !important;\n }\n\n > :focus-visible {\n z-index: 2;\n }\n\n > :is(.prefix, .suffix, .action) {\n user-select: none;\n -webkit-user-drag: none;\n display: flex;\n font-weight: var(--font-weight-normal);\n color: var(--color-gray-3);\n background-color: var(--color-gray-9);\n border: var(--border-s) solid var(--color-outline);\n padding: var(--field-padding) calc(2 * var(--field-padding));\n align-items: center;\n justify-content: center;\n font-size: 0.9em;\n\n :is(img, svg) {\n height: 1.15em;\n width: auto;\n }\n }\n\n > .prefix {\n border-inline-end: 0;\n }\n\n > .suffix {\n border-inline-start: 0;\n }\n\n > .action {\n cursor: pointer;\n color: var(--color-brand-3);\n border-inline-start: 0;\n transition-property: box-shadow, background-color;\n transition-timing-function: ease;\n transition-duration: 200ms;\n\n &:hover {\n background-color: var(--color-gray-8);\n }\n\n &:active {\n background-color: var(--color-gray-7);\n }\n\n &:focus-visible {\n border-color: var(--color-brand-5);\n border-inline-start-width: var(--border-s);\n border-inline-start-style: solid;\n box-shadow:\n 0 0 0 0.1em var(--color-brand-5),\n 0 0 0 calc(0.2em + var(--border-s)) var(--color-brand-transparent);\n outline: 0;\n }\n }\n\n > :is(input, select, textarea) {\n width: 100%;\n\n &:has(~ .action:focus-visible) {\n border-inline-end-width: 0;\n }\n }\n }\n}\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n accent-color: var(--color-brand-5);\n}\n\nfieldset.fieldset {\n border: var(--border-s) solid var(--color-outline);\n border-radius: var(--radius-s);\n background-color: var(--color-body);\n color: var(--color-body-text);\n\n legend {\n font-family: var(--font-family-heading);\n font-weight: var(--font-weight-bold);\n transition: color 200ms ease;\n }\n\n &:focus-within legend {\n color: var(--color-brand-5);\n }\n}\n\n.form {\n max-width: 60ch;\n margin-inline-end: auto;\n}\n",".modal,\n.drawer,\n.modal::backdrop,\n.drawer::backdrop {\n --dialog-starting-opacity: 0.25;\n --dialog-starting-transform: translateY(8px);\n --dialog-open-opacity: 1;\n --dialog-open-transform: translate(0);\n --dialog-ending-opacity: 0;\n --dialog-ending-transform: translateY(-4px) scale(0.97);\n --dialog-backdrop-starting-opacity: 0;\n --dialog-backdrop-open-opacity: light-dark(0.75, 0.85);\n --dialog-backdrop-ending-opacity: 0;\n --dialog-backdrop-color: light-dark(var(--color-gray-2), var(--color-gray-8));\n\n @media (prefers-reduced-motion) {\n --dialog-starting-transform: translate(0);\n --dialog-ending-transform: translate(0);\n }\n}\n\n.modal,\n.drawer {\n box-shadow: var(--shadow-xl);\n border: var(--border-s) solid var(--color-outline);\n border-radius: var(--radius-l);\n background-color: var(--color-body-alt);\n color: var(--color-body-text);\n padding: 0;\n flex-direction: column;\n gap: 0;\n\n &::backdrop {\n background-color: var(--dialog-backdrop-color);\n }\n\n &[open] {\n display: flex;\n }\n}\n\n.modal-header,\n.drawer-header {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-bold);\n line-height: 1;\n padding: var(--space-m);\n padding-block-end: var(--space-xs);\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n color: var(--color-brand-3);\n margin: 0;\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n color: inherit;\n font-size: inherit;\n font-weight: inherit;\n margin: 0;\n }\n}\n\n.modal-body,\n.drawer-body {\n padding: var(--space-m);\n padding-block-start: var(--space-xs);\n flex-shrink: 1;\n display: block;\n overflow: auto;\n margin: 0;\n}\n\n@supports (transition-behavior: allow-discrete) and (overlay: none) {\n .modal,\n .drawer {\n animation: unset;\n }\n}\n","meter.meter {\n appearance: none;\n inline-size: 100%;\n block-size: 1em;\n}\n\n@supports selector(::-moz-meter-bar) {\n meter.meter {\n border-radius: var(--radius-s);\n border: 0;\n display: block;\n inline-size: 100%;\n block-size: 1em;\n box-shadow: inset 0 0 0 var(--border-s) var(--color-outline);\n background: var(--color-gray-9);\n box-sizing: border-box;\n overflow: clip;\n }\n}\n\n.meter::-webkit-meter-bar {\n border-radius: var(--radius-s);\n border: 0;\n display: block;\n inline-size: 100%;\n block-size: 1em;\n box-shadow: inset 0 0 0 var(--border-s) var(--color-outline);\n background: var(--color-gray-9);\n box-sizing: border-box;\n overflow: clip;\n}\n\n.meter::-webkit-meter-optimum-value,\n.meter::-webkit-meter-suboptimum-value,\n.meter::-webkit-meter-even-less-good-value {\n border-radius: var(--radius-s);\n border: var(--border-s) solid transparent;\n box-sizing: border-box;\n}\n\n.meter::-webkit-meter-inner-element {\n display: inline-block;\n position: relative;\n}\n\n.meter::-moz-meter-bar {\n border-radius: var(--radius-s);\n border: var(--border-s) solid transparent;\n box-sizing: border-box;\n}\n\n.meter::-webkit-meter-optimum-value {\n background: var(--color-green-6);\n border-color: var(--color-green-5);\n}\n\n.meter:-moz-meter-optimum::-moz-meter-bar {\n background: var(--color-green-6);\n border-color: var(--color-green-5);\n}\n\n.meter::-webkit-meter-suboptimum-value {\n background: light-dark(var(--color-yellow-7), var(--color-yellow-4));\n border-color: light-dark(var(--color-yellow-6), var(--color-yellow-3));\n}\n\n.meter:-moz-meter-sub-optimum::-moz-meter-bar {\n background: light-dark(var(--color-yellow-7), var(--color-yellow-4));\n border-color: light-dark(var(--color-yellow-6), var(--color-yellow-3));\n}\n\n.meter::-webkit-meter-even-less-good-value {\n background: var(--color-red-6);\n border-color: var(--color-red-5);\n}\n\n.meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {\n background: var(--color-red-6);\n border-color: var(--color-red-5);\n}\n",".chip {\n --chip-fg-color: white;\n --chip-bg-color: var(--color-brand-6);\n --chip-border-color: light-dark(var(--color-brand-7), var(--color-brand-5));\n --chip-focus-color: var(--color-brand-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-brand-5),\n var(--color-brand-7)\n );\n\n display: inline-flex;\n align-items: center;\n border-radius: var(--radius-full);\n font-size: var(--font-size-s);\n font-family: var(--font-family-body);\n font-weight: var(--font-weight-normal);\n padding-block: var(--space-3xs);\n padding-inline: var(--space-xs);\n background-color: var(--chip-bg-color);\n border: var(--border-s) solid var(--chip-border-color);\n color: var(--chip-fg-color);\n flex-shrink: 0;\n cursor: default;\n transition-property: box-shadow, background-color, border-color;\n transition-duration: 200ms;\n transition-timing-function: ease;\n text-decoration: none;\n appearance: none;\n line-height: 1.2;\n\n &:is(:focus-visible, .focus) {\n box-shadow: 0 0 0 0.2em var(--chip-focus-color);\n }\n\n &.clickable {\n cursor: pointer;\n box-shadow: var(--shadow-s);\n\n &:is(:focus-visible, .focus) {\n outline: 0;\n box-shadow:\n var(--shadow-s),\n 0 0 0 0.2em var(--chip-focus-color);\n }\n\n &:is(:hover, .hover) {\n background-color: var(--chip-border-color);\n }\n\n &:is(:active, .active) {\n background-color: var(--chip-bg-color-active);\n border-color: var(--chip-bg-color-active);\n }\n }\n\n &.red {\n --chip-bg-color: var(--color-red-6);\n --chip-border-color: light-dark(var(--color-red-7), var(--color-red-5));\n --chip-focus-color: var(--color-red-transparent);\n --chip-bg-color-active: light-dark(var(--color-red-5), var(--color-red-7));\n }\n\n &.orange {\n --chip-bg-color: var(--color-orange-6);\n --chip-border-color: light-dark(\n var(--color-orange-7),\n var(--color-orange-5)\n );\n --chip-focus-color: var(--color-orange-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-orange-5),\n var(--color-orange-7)\n );\n }\n\n &.yellow {\n --chip-bg-color: var(--color-yellow-6);\n --chip-border-color: light-dark(\n var(--color-yellow-7),\n var(--color-yellow-5)\n );\n --chip-focus-color: var(--color-yellow-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-yellow-5),\n var(--color-yellow-7)\n );\n }\n\n &.green {\n --chip-bg-color: var(--color-green-6);\n --chip-border-color: light-dark(var(--color-green-7), var(--color-green-5));\n --chip-focus-color: var(--color-green-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-green-5),\n var(--color-green-7)\n );\n }\n\n &.sky {\n --chip-bg-color: var(--color-sky-6);\n --chip-border-color: light-dark(var(--color-sky-7), var(--color-sky-5));\n --chip-focus-color: var(--color-sky-transparent);\n --chip-bg-color-active: light-dark(var(--color-sky-5), var(--color-sky-7));\n }\n\n &.blue {\n --chip-bg-color: var(--color-blue-6);\n --chip-border-color: light-dark(var(--color-blue-7), var(--color-blue-5));\n --chip-focus-color: var(--color-blue-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-blue-5),\n var(--color-blue-7)\n );\n }\n\n &.purple {\n --chip-bg-color: var(--color-purple-6);\n --chip-border-color: light-dark(\n var(--color-purple-7),\n var(--color-purple-5)\n );\n --chip-focus-color: var(--color-purple-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-purple-5),\n var(--color-purple-7)\n );\n }\n\n &.magenta {\n --chip-bg-color: var(--color-magenta-6);\n --chip-border-color: light-dark(\n var(--color-magenta-7),\n var(--color-magenta-5)\n );\n --chip-focus-color: var(--color-magenta-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-magenta-5),\n var(--color-magenta-7)\n );\n }\n\n &.gray {\n --chip-bg-color: var(--color-gray-6);\n --chip-border-color: light-dark(var(--color-gray-7), var(--color-gray-5));\n --chip-focus-color: var(--color-gray-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-gray-5),\n var(--color-gray-7)\n );\n }\n\n &.black {\n --chip-bg-color: black;\n --chip-border-color: light-dark(var(--color-gray-4), var(--color-gray-7));\n --chip-focus-color: var(--color-gray-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-gray-1),\n var(--color-gray-8)\n );\n }\n\n &.white {\n --chip-fg-color: black;\n --chip-bg-color: white;\n --chip-border-color: light-dark(var(--color-gray-8), var(--color-gray-2));\n --chip-focus-color: var(--color-gray-transparent);\n --chip-bg-color-active: light-dark(\n var(--color-gray-7),\n var(--color-gray-3)\n );\n }\n}\n\n.chip-delete {\n outline: 0;\n margin-inline: var(--space-3xs) calc(-1 * var(--space-2xs));\n font-size: 0.6em;\n border: var(--border-s) solid var(--chip-border-color);\n border-radius: var(--radius-full);\n transition-property: background-color, border-color;\n transition-duration: 200ms;\n transition-timing-function: ease;\n position: relative;\n overflow: hidden;\n cursor: pointer;\n height: 2em;\n width: 2em;\n user-select: none;\n background-color: #0002;\n padding: 0;\n display: inline-flex;\n box-shadow: none;\n\n &::after {\n content: \"\";\n width: 1.7em;\n height: 1.7em;\n mask-image: url(\"@/src/svg/x.svg\");\n mask-size: contain;\n mask-repeat: no-repeat;\n mask-position: center;\n background-color: var(--chip-fg-color);\n margin: auto;\n }\n\n &:is(:focus-visible, .focus) {\n border-color: var(--chip-fg-color);\n }\n\n &:is(:hover, .hover, :focus-visible, .focus) {\n background-color: #0001;\n }\n\n &:is(:active, .active) {\n background-color: #0003;\n }\n}\n",".flow,\n.stack,\n.separate,\n.space {\n display: flex !important;\n gap: var(--space-s);\n\n &.densest {\n gap: var(--space-3xs);\n }\n\n &.denser {\n gap: var(--space-2xs);\n }\n\n &.dense {\n gap: var(--space-xs);\n }\n\n &.sparse {\n gap: var(--space-m);\n }\n\n &.sparser {\n gap: var(--space-l);\n }\n\n &.sparsest {\n gap: var(--space-xl);\n }\n\n &.horizontal,\n &.horizontally {\n flex-direction: row;\n }\n\n &.vertical,\n &.vertically {\n flex-direction: column;\n }\n}\n\n.flow {\n flex-wrap: wrap;\n align-items: center;\n justify-content: start;\n}\n\n.stack {\n flex-wrap: nowrap;\n align-items: stretch;\n justify-content: start;\n}\n\n.separate {\n flex-wrap: nowrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.space {\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-evenly;\n}\n",".button.dismiss {\n --button-fg-color: var(--color-body-text);\n --button-bg-color: transparent;\n --button-border-color: transparent;\n --button-hover-bg-color: var(--color-gray-extra-transparent);\n --button-focus-ring-color: transparent;\n --button-shadow: none;\n\n font-size: 0.75rem;\n width: 3em;\n height: 3em;\n\n &:is(:focus-visible, .focus) {\n --button-bg-color: var(--color-gray-transparent);\n --button-hover-bg-color: transparent;\n }\n\n &::after {\n content: \"\";\n width: 1.8em;\n height: 1.8em;\n mask-image: url(\"@/src/svg/x.svg\");\n mask-size: contain;\n mask-repeat: no-repeat;\n background-color: currentcolor;\n }\n}\n","/* See utils/base-dialog for more */\n.modal {\n max-height: calc(100svh - 4 * var(--space-body));\n max-width: calc(100svw - 4 * var(--space-body));\n margin: auto;\n\n &.small {\n width: 400px;\n }\n\n &.medium {\n width: 650px;\n }\n\n &.large {\n width: 900px;\n }\n}\n\n.modal-footer {\n padding: var(--space-xs);\n flex-shrink: 0;\n display: flex;\n gap: var(--space-2xs);\n justify-content: flex-start;\n background-color: var(--color-body);\n border-block-start: var(--border-s) solid var(--color-outline);\n margin: 0;\n\n @media screen and (width <= 500px) {\n flex-direction: column;\n width: 100%;\n justify-content: stretch;\n }\n\n .button:not(.small, .medium, .large) {\n font-size: 0.9rem;\n }\n}\n",".alert {\n border-radius: var(--radius-s);\n border-start-start-radius: calc(var(--space-2xs) + 2em);\n border-end-start-radius: calc(var(--space-2xs) + 2em);\n padding: var(--space-2xs);\n padding-inline-start: calc(var(--space-2xs) + 2em);\n\n &::before,\n &::after {\n inset-inline-start: calc(var(--space-2xs) * 0.5);\n }\n}\n",".accordion {\n width: 100%;\n\n details {\n width: 100%;\n background-color: var(--color-body-alt);\n padding-block: 0;\n padding-inline: var(--space-xs);\n border-radius: var(--radius-m);\n border: var(--border-s) solid var(--color-outline);\n box-shadow: var(--shadow-s);\n font-family: var(--font-family-body);\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-normal);\n\n @media (prefers-reduced-motion: no-preference) {\n transition: 150ms padding ease;\n }\n\n & + details {\n border-block-start: 0;\n }\n\n &:not(:first-of-type) {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n }\n\n &:not(:last-of-type) {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n\n &[open] {\n padding-block-end: var(--space-xs);\n\n summary {\n border-block-end-color: var(--color-outline);\n margin-block-end: var(--space-xs);\n\n &::before {\n rotate: 0deg;\n }\n\n &:not(:active, .active, :hover, .hover) {\n color: var(--color-brand-3);\n }\n }\n }\n }\n\n summary {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-bold);\n line-height: 1;\n cursor: pointer;\n border-block-end: var(--border-s) dashed transparent;\n padding: var(--space-xs);\n padding-inline-start: calc(var(--space-xs) + 1em);\n margin-block: 0;\n margin-inline: calc(-1 * var(--space-xs));\n transition-duration: 150ms;\n transition-property: color, border-color;\n transition-timing-function: ease;\n position: relative;\n list-style: none; /* Hides ::marker pseudo element in favor of ::before (better cross browser consistency) */\n color: var(--color-body-text);\n user-select: none;\n\n @media (prefers-reduced-motion: no-preference) {\n transition-property: color, border-color, padding, margin;\n }\n\n &:is(:hover, .hover) {\n color: light-dark(var(--color-brand-4), var(--color-brand-2));\n }\n\n &:is(:active, .active) {\n color: light-dark(var(--color-brand-2), var(--color-brand-4));\n }\n\n /* Hides ::-webkit-details-marker pseudo element in favor of ::before (better cross browser consistency) */\n &::-webkit-details-marker {\n display: none;\n }\n\n /* Replacement marker element */\n &::before {\n content: light-dark(\n url(\"@/src/svg/dropdown-thick.svg\"),\n url(\"@/src/svg/dropdown-invert-thick.svg\")\n );\n display: inline-block;\n position: absolute;\n inset-block: 0;\n inset-inline-start: calc(var(--space-xs) / 2);\n margin: auto;\n width: 1em;\n height: 1em;\n rotate: -90deg;\n transition: rotate 200ms ease;\n }\n\n &:dir(rtl)::before {\n rotate: 90deg;\n }\n\n @media (prefers-reduced-motion) {\n transition-property: color, border-color;\n\n &::before {\n transition: none;\n }\n }\n }\n\n &.subtle {\n details {\n box-shadow: none;\n border: 0;\n padding-inline: var(--space-2xs);\n background-color: transparent;\n\n &[open] summary {\n margin-block-end: var(--space-2xs);\n }\n }\n\n summary {\n border-block-end: 0;\n padding: var(--space-2xs);\n padding-inline-start: calc(var(--space-2xs) + 1em);\n }\n }\n}\n",".skip-link {\n position: fixed;\n display: inline-block;\n z-index: 100;\n top: var(--space-body);\n left: var(--space-body);\n background-color: var(--color-brand-5);\n padding: var(--space-xs);\n border-radius: var(--radius-m);\n border: 0.25em solid var(--color-brand-4);\n color: var(--color-body-alt);\n font-weight: var(--font-weight-bold);\n font-family: var(--font-family-body);\n font-size: var(--font-size-m);\n outline: 0;\n box-shadow:\n var(--shadow-l),\n 0 0 0 0.2em var(--color-brand-transparent);\n text-decoration: none;\n vertical-align: middle;\n opacity: 0.25;\n transition: opacity 300ms ease;\n pointer-events: none;\n line-height: 1;\n\n kbd {\n margin-inline-start: var(--space-2xs) !important;\n font-weight: initial;\n border: 0 !important;\n background-color: var(--color-brand-4) !important;\n color: inherit !important;\n font-size: 1.2em !important;\n }\n\n &:focus,\n &.static {\n opacity: 1;\n }\n\n &.static {\n position: static;\n pointer-events: unset;\n }\n}\n","@keyframes indeterminate-progress {\n from {\n opacity: 0.2;\n }\n\n to {\n opacity: 0.8;\n }\n}\n\nprogress.progress {\n appearance: none;\n inline-size: 100%;\n block-size: 1em;\n}\n\n@supports selector(::-moz-progress-bar) {\n progress.progress {\n border-radius: var(--radius-s);\n border: 0;\n display: block;\n inline-size: 100%;\n block-size: 1em;\n box-shadow: inset 0 0 0 var(--border-s) var(--color-outline);\n background: var(--color-gray-9);\n box-sizing: border-box;\n overflow: clip;\n }\n}\n\n.progress::-webkit-progress-bar {\n border-radius: var(--radius-s);\n border: 0;\n display: block;\n inline-size: 100%;\n block-size: 1em;\n box-shadow: inset 0 0 0 var(--border-s) var(--color-outline);\n background: var(--color-gray-9);\n box-sizing: border-box;\n overflow: clip;\n}\n\n.progress::-webkit-progress-value {\n border-radius: var(--radius-s);\n border: var(--border-s) solid transparent;\n box-sizing: border-box;\n background: var(--color-blue-6);\n border-color: var(--color-blue-5);\n}\n\n.progress::-moz-progress-bar {\n border-radius: var(--radius-s);\n border: var(--border-s) solid transparent;\n box-sizing: border-box;\n background: var(--color-blue-6);\n border-color: var(--color-blue-5);\n}\n\n.progress:indeterminate::-webkit-progress-value {\n background: var(--color-blue-6);\n border-color: var(--color-blue-5);\n opacity: 0.5;\n inline-size: 100% !important;\n animation: indeterminate-progress 1s linear infinite alternate;\n}\n\n.progress:indeterminate::-moz-progress-bar {\n background: var(--color-blue-6);\n border-color: var(--color-blue-5);\n opacity: 0.5;\n inline-size: 100% !important;\n animation: indeterminate-progress 1s linear infinite alternate;\n}\n",".app {\n /* The app is designed to take up the entire width of the page. However, we\n * set a global limit on the overall width of its content for UX and aesthetic\n * reasons. The wrapper elements of the page will always extend to the edge of\n * the screen, but all content within them will be kept within this limit and\n * centered.\n */\n --app-max-content-width: 110rem;\n --app-header-height: clamp(50px, 3.5rem, 70px);\n --app-sidebar-width: clamp(300px, 18rem, 400px);\n\n position: relative;\n width: 100%;\n min-height: 100svh;\n display: flex;\n flex-direction: column;\n font-family: var(--font-family-body);\n font-size: var(--font-size-m);\n}\n\n.app-header {\n height: var(--app-header-height);\n width: 100%;\n color: light-dark(var(--color-brand-3), var(--color-brand-2));\n background-color: var(--color-body-alt);\n border-bottom: var(--border-l) solid var(--color-brand-transparent);\n box-shadow: var(--shadow-s);\n flex: none;\n position: sticky;\n left: 0;\n}\n\n.app-header-content {\n height: 100%;\n width: 100%;\n max-width: var(--app-max-content-width);\n margin-inline: auto;\n padding-inline: var(--space-body);\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-s);\n}\n\n.app-header-section {\n margin: 0;\n height: 100%;\n display: flex;\n align-items: center;\n\n /* If header only has 1 section, center it */\n &:only-child {\n margin-inline: auto;\n }\n\n /* Otherwise, align the first to the left and the rest to the right */\n &:first-child {\n margin-inline-end: auto;\n }\n\n /*\n * The content of the first header item should be var(--space-body) from the\n * left edge of the app. Since there is var(--space-body) padding in the\n * header and var(--space-xs) padding in the header items, we just need to\n * move it back by var(--space-xs).\n */\n &:first-child .app-header-item:first-child {\n margin-inline-start: calc(-1 * var(--space-xs));\n }\n\n /* \n * The content of the last header item should be var(--space-body) from the\n * right edge of the app. Since there is var(--space-body) padding in the\n * header and var(--space-xs) padding in the header items, we just need to\n * move it forward by var(--space-xs).\n */\n &:last-child .app-header-item:last-child {\n margin-inline-end: calc(-1 * var(--space-xs));\n }\n\n /* Put a spacer between consecutive right-aligned sections (3rd onward) */\n &:nth-child(n + 3)::before {\n content: \"\";\n background-color: var(--color-outline);\n height: 2rem;\n width: var(--border-s);\n position: relative;\n right: calc(var(--space-s) / 2);\n }\n}\n\n.app-header-item {\n /* TODO simplify */\n height: 100%;\n cursor: pointer;\n text-decoration: none;\n color: inherit;\n transition-property: color, background-color;\n transition-duration: 200ms;\n transition-timing-function: ease;\n display: flex;\n align-items: center;\n position: relative;\n font-weight: var(--font-weight-semibold);\n padding-inline: var(--space-xs);\n border-radius: var(--radius-m);\n border: var(--border-m) solid var(--color-body-alt);\n\n &:hover {\n background-color: var(--color-brand-extra-transparent);\n }\n\n &:active {\n background-color: var(--color-brand-transparent);\n }\n\n &:focus-visible {\n background-color: var(--color-brand-extra-transparent);\n outline-offset: calc(-1 * var(--border-m));\n }\n\n &:is([aria-current], .current) {\n font-weight: var(--font-weight-bold);\n\n &::after {\n opacity: 1;\n }\n }\n\n &::after {\n content: \"\";\n position: absolute;\n width: 100%;\n height: var(--border-l);\n bottom: calc(-1 * (var(--border-l) + var(--border-m)));\n left: 0;\n background-color: currentcolor;\n opacity: 0;\n border-radius: 1px;\n }\n}\n\n.app-body {\n position: relative;\n width: 100%;\n max-width: var(--app-max-content-width);\n margin-inline: auto;\n flex: none;\n display: flex;\n flex-direction: row;\n}\n\n.app-sidebar {\n transition:\n opacity 150ms ease,\n display 150ms allow-discrete;\n width: var(--app-sidebar-width);\n flex: none;\n opacity: 1;\n border-inline-end: var(--border-s) dashed var(--color-outline);\n}\n\n.app-sidebar-content {\n position: sticky;\n top: 0;\n overflow: auto;\n height: 100dvh;\n}\n\n.app-sidebar-section {\n &:first-of-type {\n margin-block-start: var(--space-body);\n }\n\n &:not(:last-of-type) {\n margin-block-end: var(--space-xs);\n }\n\n &:last-of-type {\n margin-block-end: var(--space-body);\n }\n}\n\n.app-sidebar-heading {\n font-size: 1.2rem;\n margin: 0 var(--space-body) var(--space-3xs);\n font-weight: var(--font-weight-semibold);\n}\n\n.app-sidebar-item {\n display: block;\n margin: 0 var(--space-2xs);\n padding: var(--space-2xs) calc(var(--space-body) - var(--space-2xs));\n border-radius: var(--radius-l);\n color: var(--color-body-text-alt);\n text-decoration: none;\n font-weight: var(--font-weight-normal);\n font-size: 1rem;\n user-select: none;\n transition-property: color, background-color, box-shadow;\n transition-duration: 200ms;\n transition-timing-function: ease;\n\n &:hover {\n background-color: var(--color-brand-extra-transparent);\n }\n\n &:active {\n color: var(--color-brand-1);\n }\n\n &:is([aria-current], .current) {\n color: var(--color-brand-4);\n font-weight: var(--font-weight-bold);\n }\n\n &:hover:active {\n background-color: var(--color-brand-transparent);\n }\n\n &:focus-visible {\n outline-offset: 0;\n background-color: var(--color-brand-extra-transparent);\n }\n}\n\n.app-sidebar-toggle {\n /* TODO simplify */\n transition-property: color, background-color;\n transition-duration: 200ms;\n transition-timing-function: ease;\n display: none;\n width: 2.75rem;\n margin-inline-start: 1rem;\n\n &:has(input:focus-visible) {\n outline: var(--border-m) solid var(--color-brand-5);\n outline-offset: calc(-1 * var(--border-m));\n }\n\n &::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: -0.5rem;\n height: 100%;\n width: var(--border-s);\n background-color: var(--color-outline);\n }\n\n > div {\n transition-property: transform, opacity;\n transition-duration: 200ms;\n transition-timing-function: ease;\n position: absolute;\n width: 1.75rem;\n height: 2px;\n border-radius: 2px;\n background-color: currentcolor;\n opacity: 1;\n top: 50%;\n left: 50%;\n\n &:nth-of-type(1) {\n transform: translateY(calc(-50% - 0.45rem)) translateX(-50%);\n }\n\n &:nth-of-type(2) {\n transform: translateY(-50%) translateX(-50%);\n }\n\n &:nth-of-type(3) {\n transform: translateY(calc(-50% + 0.45rem)) translateX(-50%);\n }\n }\n\n &:has(input:checked) > div {\n &:nth-of-type(1) {\n transform: translateY(-50%) translateX(-50%) rotate(45deg);\n }\n\n &:nth-of-type(2) {\n opacity: 0;\n transform: translateY(-50%) translateX(-50%) rotate3d(0, 1, 0, 90deg);\n }\n\n &:nth-of-type(3) {\n transform: translateY(-50%) translateX(-50%) rotate(-45deg);\n }\n }\n}\n\n.app-content {\n width: 100%;\n padding: var(--space-body);\n position: relative;\n}\n\n/* If there's a sidebar, shrink the content area to accommodate it */\n.app-sidebar ~ .app-content {\n width: calc(100% - var(--app-sidebar-width));\n}\n\n@media (width < 55rem) {\n /* \n * If there's a sidebar, DON'T factor its width into the content width since\n * the sidebar now has `position: fixed`. This only applies to pages with a\n * sidebar; without one, app-content's width is already 100%.\n */\n .app-sidebar ~ .app-content {\n width: 100%;\n }\n\n .app-sidebar {\n position: fixed;\n top: var(--app-header-height);\n left: 0;\n width: 100vw;\n opacity: 1;\n background-color: light-dark(#fffc, #000a);\n backdrop-filter: blur(24px) saturate(120%);\n border-right: 0;\n z-index: 9;\n\n &::after {\n content: initial;\n }\n }\n\n .app-sidebar-toggle {\n display: initial;\n }\n\n .app-sidebar-content {\n height: calc(100dvh - var(--app-header-height));\n }\n\n .app:not(:has(.app-sidebar-toggle input:checked)) .app-sidebar {\n opacity: 0;\n display: none;\n }\n\n /* If sidebar is open, temporarily hide the overflow and any site-wide banners */\n .app:has(.app-sidebar-toggle input:checked) {\n overflow: hidden;\n\n > .banner {\n display: none;\n }\n\n .app-header {\n position: fixed;\n top: 0;\n z-index: 10;\n }\n\n .app-content {\n top: var(--app-header-height);\n }\n }\n}\n\n.app:has(dialog:modal) {\n /* \n * If modal is open, hide the overflow. This prevents the user from scrolling\n * the page down by dragging on the header, which they'd have no way to undo.\n */\n overflow: hidden;\n}\n","/* stylelint-disable declaration-block-no-redundant-longhand-properties -- text-decoration shorthand doesn't work properly for Safari */\n\n.paragraph,\n.markdown-output p {\n font-family: var(--font-family-body);\n font-weight: var(--font-weight-normal);\n line-height: 1.6;\n margin: 0.75em 0;\n text-wrap: pretty;\n hanging-punctuation: first;\n overflow-wrap: break-word;\n\n &:first-child {\n margin-block-start: 0;\n }\n\n &:last-child {\n margin-block-end: 0;\n }\n}\n\n.abbreviation,\n.markdown-output abbr[title] {\n display: inline;\n text-decoration-line: underline;\n text-decoration-style: dotted;\n text-decoration-thickness: var(--border-m);\n text-decoration-color: var(--color-gray-6);\n text-underline-offset: 0.1em;\n}\n\n.bold,\n.markdown-output strong,\n.markdown-output b {\n font-weight: var(--font-weight-bold);\n}\n\n.italic,\n.markdown-output em {\n font-style: italic;\n}\n\n.underline {\n text-decoration-line: underline;\n}\n\n.strikethrough,\n.markdown-output s {\n text-decoration-line: line-through;\n}\n\n.underline.strikethrough {\n text-decoration-line: underline line-through;\n}\n\n.small-text,\n.markdown-output small {\n font-size: 0.75em;\n vertical-align: baseline;\n}\n\n.subscript,\n.superscript,\n.markdown-output sub,\n.markdown-output sup {\n font-size: 0.75em;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\n.subscript,\n.markdown-output sub {\n inset-block-end: -0.25em;\n}\n\n.superscript,\n.markdown-output sup {\n inset-block-start: -0.5em;\n}\n\n.code,\n.markdown-output code {\n font-family: var(--font-family-mono);\n background-color: var(--color-gray-extra-transparent);\n color: var(--color-gray-1);\n border-radius: var(--radius-s);\n display: inline;\n padding: 0.25ch 0.5ch;\n font-size: 0.9em;\n\n &.invert {\n color: var(--color-gray-9);\n }\n}\n\n.link .code,\n.markdown-output a code {\n text-decoration: inherit;\n text-decoration-color: inherit;\n text-decoration-thickness: inherit;\n color: inherit;\n}\n\n.key,\n.skip-link kbd,\n.markdown-output kbd {\n display: inline;\n padding: 0 0.5ch;\n margin: 0 0.25ch;\n font-size: 0.9em;\n border: var(--border-s) solid var(--color-gray-8);\n border-bottom-width: 3px;\n border-radius: var(--radius-m);\n font-weight: var(--font-weight-semibold);\n font-family: var(--font-family-body);\n background-color: var(--color-gray-9);\n color: var(--color-body-text);\n}\n","input[type=\"range\"].slider {\n font-size: 1rem;\n block-size: 1.25em;\n appearance: none;\n background: transparent;\n cursor: pointer;\n\n @media (pointer: coarse) {\n font-size: 1.5rem;\n }\n\n &:disabled {\n opacity: var(--opacity-disabled);\n cursor: not-allowed;\n }\n\n &:focus-visible {\n outline: 0;\n\n &::-webkit-slider-thumb {\n border-color: var(--color-brand-5);\n box-shadow: 0 0 0 0.2em var(--color-brand-transparent);\n }\n\n &::-moz-range-thumb {\n border-color: var(--color-brand-5);\n box-shadow: 0 0 0 0.2em var(--color-brand-transparent);\n }\n }\n\n &:enabled:active {\n &::-webkit-slider-thumb {\n border-color: var(--color-brand-5);\n\n &:active {\n @media screen and (resolution >= 2x) {\n transform: scale(0.9);\n }\n }\n }\n\n &::-moz-range-thumb {\n border-color: var(--color-brand-5);\n\n &:active {\n @media screen and (resolution >= 2x) {\n transform: scale(0.9);\n }\n }\n }\n }\n\n &::-webkit-slider-runnable-track {\n block-size: 0.25em;\n inline-size: 100%;\n border-radius: var(--radius-full);\n background-color: light-dark(var(--color-gray-8), var(--color-gray-6));\n print-color-adjust: exact;\n }\n\n &::-moz-range-track {\n block-size: 0.25em;\n inline-size: 100%;\n border-radius: var(--radius-full);\n background-color: light-dark(var(--color-gray-8), var(--color-gray-6));\n print-color-adjust: exact;\n }\n\n &::-webkit-slider-thumb {\n height: 1.25em;\n width: 1.25em;\n border-radius: var(--radius-full);\n background-color: white;\n box-shadow: var(--shadow-s);\n border: var(--border-s) solid var(--color-outline);\n transition-property: border-color, box-shadow, transform;\n transition-duration: 200ms;\n transition-timing-function: ease;\n\n /* Additional properties needed for webkit */\n appearance: none;\n margin-block-start: -0.5em;\n }\n\n &::-moz-range-thumb {\n height: 1.25em;\n width: 1.25em;\n border-radius: var(--radius-full);\n background-color: white;\n box-shadow: var(--shadow-s);\n border: var(--border-s) solid var(--color-outline);\n transition-property: border-color, box-shadow, transform;\n transition-duration: 200ms;\n transition-timing-function: ease;\n }\n}\n",".quote,\n.markdown-output blockquote {\n display: block;\n margin: 0;\n color: var(--color-body-text-alt);\n border-inline-start: var(--border-l) solid var(--color-gray-transparent);\n padding: var(--space-3xs);\n padding-inline-start: var(--space-xs);\n position: relative;\n line-height: 1.25;\n font-family: var(--font-family-body);\n font-size: var(--font-size-m);\n font-weight: var(--font-weight-normal);\n\n footer {\n margin-block-start: 0.5em;\n font-size: var(--font-size-s);\n font-style: initial;\n color: var(--color-body-text);\n font-weight: var(--font-weight-semibold);\n\n cite {\n font-weight: var(--font-weight-normal);\n font-style: italic;\n }\n }\n}\n","/* Style the label of a labeled switch, which is also the container that holds the switch itself */\nlabel.switch {\n inline-size: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n font-weight: var(--font-weight-semibold);\n gap: var(--space-3xs);\n font-size: var(--font-size-m);\n font-family: var(--font-family-body);\n}\n\n/* For small labeled switches, set the label text size to font-size-s */\nlabel.switch.small {\n font-size: var(--font-size-s);\n}\n\n/* Style the switch itself */\ninput[type=\"checkbox\"].switch,\nlabel.switch input[type=\"checkbox\"] {\n font-size: 1rem;\n print-color-adjust: exact;\n appearance: none;\n block-size: 1.8em;\n inline-size: 3em;\n border-radius: var(--radius-full);\n background-color: light-dark(var(--color-gray-8), var(--color-gray-5));\n position: relative;\n flex: none;\n transition-property: background-color, box-shadow, border-color;\n transition-duration: 200ms;\n transition-timing-function: ease;\n border: 0.1em solid var(--color-gray-7);\n cursor: pointer;\n\n &::after {\n content: \"\";\n position: absolute;\n height: 1.4em;\n width: 1.4em;\n background-color: white;\n inset-inline-start: 0.1em;\n inset-block-start: 0.1em;\n border-radius: var(--radius-full);\n box-shadow: var(--shadow-s);\n transition-property: border-color, transform;\n transition-duration: 200ms;\n transition-timing-function: ease;\n transform: translateX(0);\n }\n\n &:disabled {\n opacity: var(--opacity-disabled);\n cursor: not-allowed;\n }\n\n &:is(:focus-visible, .focus) {\n border-color: var(--color-gray-6);\n box-shadow: 0 0 0 0.2em var(--color-gray-transparent);\n outline: 0;\n }\n\n &:checked {\n background-color: light-dark(var(--color-brand-6), var(--color-brand-5));\n border-color: light-dark(var(--color-brand-5), var(--color-brand-6));\n\n &::after {\n transform: translateX(1.2em);\n }\n\n &:is(:focus-visible, .focus) {\n box-shadow: 0 0 0 0.2em var(--color-brand-transparent);\n }\n }\n\n &:dir(rtl):checked::after {\n transform: translateX(-1.2em);\n }\n}\n\n/* For small switches, scale the switch control to 80% of the normal size */\ninput[type=\"checkbox\"].switch.small,\nlabel.switch.small input[type=\"checkbox\"] {\n font-size: 0.8rem;\n}\n",".visually-hidden,\n.sr-only,\n.app-sidebar-toggle input,\n.skip-link:not(:focus, .static) {\n clip: rect(1px, 1px, 1px, 1px);\n clip-path: inset(50%);\n height: 1px;\n width: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n","@keyframes skeleton-pulse-light {\n from {\n opacity: 0.14;\n }\n\n to {\n opacity: 0.21;\n }\n}\n\n@keyframes skeleton-pulse-dark {\n from {\n opacity: 0.28;\n }\n\n to {\n opacity: 0.36;\n }\n}\n\n.skeleton {\n animation: skeleton-pulse-light 1s ease alternate 0s infinite !important;\n border-radius: var(--radius-s) !important;\n background-color: var(--color-gray-5) !important;\n border: 0 !important;\n outline: 0 !important;\n box-shadow: 0 !important;\n pointer-events: none !important;\n color: transparent !important;\n mask-image: none !important;\n background-image: none !important;\n print-color-adjust: exact;\n\n /*************************************************************\n * Special styles for \"skeletonizing\" specific element types *\n *************************************************************/\n\n /* Make block text take up the full width */\n &.paragraph,\n &.heading {\n inline-size: 100%;\n }\n\n /* For empty text elements, add filler content so it isn't 0 height. */\n &:is(.paragraph, .heading, .chip, .card-title)::before {\n content: \".\";\n }\n\n /* Add a reasonable minimum width to buttons and chips */\n &:is(.button, .chip):empty {\n min-inline-size: 5em;\n }\n\n /* Add a reasonable width to card titles */\n &.card-title {\n inline-size: 40%;\n overflow: hidden;\n }\n\n /* Visually hide contents, but let them take up space so elements don't collapse to 0 height. */\n &::before,\n &::after,\n > * {\n visibility: hidden !important;\n }\n\n @media (prefers-color-scheme: dark) {\n animation-name: skeleton-pulse-dark !important;\n }\n}\n","dialog:is(.modal, .drawer)[open] {\n display: flex;\n transform: var(--dialog-open-transform);\n opacity: var(--dialog-open-opacity);\n}\n\ndialog:is(.modal, .drawer)[open]::backdrop {\n opacity: var(--dialog-backdrop-open-opacity);\n}\n\ndialog:is(.modal, .drawer) {\n transform: var(--dialog-ending-transform);\n opacity: var(--dialog-ending-opacity);\n transition:\n transform 150ms ease,\n opacity 150ms ease,\n display 150ms ease allow-discrete,\n overlay 150ms ease allow-discrete;\n}\n\ndialog:is(.modal, .drawer)::backdrop {\n opacity: var(--dialog-backdrop-ending-opacity);\n transition:\n transform 150ms ease,\n opacity 150ms ease,\n display 150ms ease allow-discrete,\n overlay 150ms ease allow-discrete;\n}\n\n@starting-style {\n dialog:is(.modal, .drawer)[open] {\n transform: var(--dialog-starting-transform);\n opacity: var(--dialog-starting-opacity);\n }\n\n dialog:is(.modal, .drawer)[open]::backdrop {\n opacity: var(--dialog-backdrop-starting-opacity);\n }\n}\n","table.table,\n.markdown-output table {\n --table-bg-odd: var(--color-body-alt);\n --table-bg-even: var(--color-body);\n --table-vertical-border: var(--border-s);\n\n background-color: var(--color-body-alt);\n border-collapse: separate;\n border-spacing: 0;\n font-size: var(--font-size-m);\n border: var(--border-s) solid var(--color-outline);\n border-radius: var(--radius-s);\n color: var(--color-body-text);\n font-family: var(--font-family-body);\n font-weight: var(--font-weight-normal);\n\n &.subtle {\n --table-bg-odd: transparent;\n --table-bg-even: transparent;\n --table-vertical-border: 0;\n\n border: 0;\n }\n\n &.dense :is(th, td) {\n padding: var(--space-3xs) var(--space-2xs);\n }\n\n &.sparse :is(th, td) {\n padding: var(--space-xs) var(--space-s);\n }\n\n caption {\n font-family: var(--font-family-heading);\n line-height: 1.15;\n font-size: var(--font-size-l);\n font-weight: var(--font-weight-semibold);\n text-align: start;\n margin: 0 0 var(--space-2xs);\n }\n\n th,\n td {\n padding: var(--space-2xs) var(--space-xs);\n }\n\n th,\n tfoot td {\n font-weight: var(--font-weight-bold);\n font-family: var(--font-family-heading);\n text-align: center;\n }\n\n th {\n border-block-end: var(--border-m) solid var(--color-outline);\n }\n\n tfoot td {\n border-block-start: var(--border-m) solid var(--color-outline);\n }\n\n td {\n text-align: unset;\n }\n\n :is(th, tfoot td):not(:last-of-type) {\n border-inline-end: var(--table-vertical-border) dashed var(--color-outline);\n }\n\n td:not(tfoot td, :last-of-type) {\n border-inline-end: var(--table-vertical-border) solid var(--color-outline);\n }\n\n tr:not(:last-of-type) td {\n border-block-end: var(--border-s) solid var(--color-outline);\n }\n\n tbody tr:nth-child(odd),\n tbody:has(tr:last-of-type:nth-child(even)) + tfoot tr {\n background-color: var(--table-bg-even);\n }\n\n tbody tr:nth-child(even) {\n background-color: var(--table-bg-odd);\n }\n}\n","@starting-style {\n .app > .sidebar {\n opacity: 0;\n }\n}\n"],"names":[]}