@felloinnovations/brand-kit 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +198 -24
- package/CHANGELOG.md +197 -0
- package/README.md +34 -7
- package/design-system/01-how-claude-decides.md +26 -17
- package/design-system/02-principles.md +11 -6
- package/design-system/03-colour.md +134 -47
- package/design-system/04-type.md +45 -23
- package/design-system/05-space-and-layout.md +175 -52
- package/design-system/06-sizing-profiles.md +4 -4
- package/design-system/07-scrolling.md +66 -20
- package/design-system/08-choosing-components.md +50 -22
- package/design-system/09-charts.md +71 -28
- package/design-system/10-patterns.md +33 -10
- package/design-system/11-page-recipes.md +110 -23
- package/design-system/12-content.md +2 -1
- package/design-system/13-motion.md +330 -47
- package/design-system/14-accessibility.md +47 -24
- package/design-system/15-ai-experiences.md +11 -6
- package/design-system/16-creativity.md +1 -1
- package/design-system/17-decisions.md +357 -1
- package/design-system/18-checklist.md +79 -16
- package/design-system/19-public-pages.md +6 -4
- package/design-system/20-palettes.md +275 -0
- package/design-system/README.md +30 -17
- package/design-system/components/ActionList/README.md +96 -10
- package/design-system/components/ActionList/preview.html +52 -7
- package/design-system/components/ActionList/style.css +64 -0
- package/design-system/components/ActivityGrid/README.md +38 -2
- package/design-system/components/ActivityGrid/preview.html +1 -1
- package/design-system/components/ActivityGrid/style.css +35 -0
- package/design-system/components/AppShell/README.md +205 -75
- package/design-system/components/AppShell/preview.html +339 -58
- package/design-system/components/AppShell/style.css +154 -0
- package/design-system/components/Avatar/README.md +37 -10
- package/design-system/components/Avatar/preview.html +13 -4
- package/design-system/components/Avatar/style.css +14 -0
- package/design-system/components/Badge/README.md +41 -19
- package/design-system/components/Badge/preview.html +13 -10
- package/design-system/components/Badge/style.css +23 -0
- package/design-system/components/Banner/README.md +30 -9
- package/design-system/components/Banner/preview.html +1 -1
- package/design-system/components/Banner/style.css +19 -0
- package/design-system/components/Breadcrumb/README.md +58 -46
- package/design-system/components/Breadcrumb/preview.html +16 -16
- package/design-system/components/Breadcrumb/style.css +17 -0
- package/design-system/components/Button/README.md +113 -55
- package/design-system/components/Button/preview.html +98 -25
- package/design-system/components/Button/style.css +86 -0
- package/design-system/components/Card/README.md +158 -49
- package/design-system/components/Card/preview.html +141 -19
- package/design-system/components/Card/style.css +115 -0
- package/design-system/components/CardBoard/README.md +58 -37
- package/design-system/components/CardBoard/preview.html +26 -29
- package/design-system/components/ChatCard/README.md +115 -29
- package/design-system/components/ChatCard/preview.html +149 -32
- package/design-system/components/ChatCard/style.css +49 -0
- package/design-system/components/ChatShell/README.md +116 -0
- package/design-system/components/ChatShell/preview.html +201 -0
- package/design-system/components/ChatShell/style.css +86 -0
- package/design-system/components/ChatTurn/README.md +78 -35
- package/design-system/components/ChatTurn/preview.html +60 -28
- package/design-system/components/ChatTurn/style.css +50 -0
- package/design-system/components/CheckRow/README.md +141 -0
- package/design-system/components/CheckRow/preview.html +140 -0
- package/design-system/components/CheckRow/style.css +88 -0
- package/design-system/components/Checkbox/README.md +58 -22
- package/design-system/components/Checkbox/preview.html +112 -50
- package/design-system/components/Checkbox/style.css +45 -0
- package/design-system/components/Chip/README.md +78 -47
- package/design-system/components/Chip/preview.html +29 -4
- package/design-system/components/Chip/style.css +17 -0
- package/design-system/components/Combobox/README.md +44 -11
- package/design-system/components/Combobox/preview.html +35 -12
- package/design-system/components/Combobox/style.css +54 -0
- package/design-system/components/Composer/README.md +137 -35
- package/design-system/components/Composer/preview.html +115 -40
- package/design-system/components/Composer/style.css +81 -0
- package/design-system/components/ConfirmDialog/README.md +73 -52
- package/design-system/components/ConfirmDialog/preview.html +70 -26
- package/design-system/components/ConfirmDialog/style.css +5 -0
- package/design-system/components/Cover/preview.html +3 -3
- package/design-system/components/Cover/style.css +19 -0
- package/design-system/components/DateInput/README.md +77 -12
- package/design-system/components/DateInput/preview.html +27 -12
- package/design-system/components/DateInput/style.css +38 -0
- package/design-system/components/Dialog/README.md +112 -44
- package/design-system/components/Dialog/preview.html +141 -18
- package/design-system/components/Dialog/style.css +74 -0
- package/design-system/components/EmptyState/README.md +42 -12
- package/design-system/components/EmptyState/preview.html +11 -11
- package/design-system/components/EmptyState/style.css +9 -0
- package/design-system/components/EntryShell/README.md +73 -48
- package/design-system/components/EntryShell/preview.html +60 -27
- package/design-system/components/EntryShell/style.css +19 -0
- package/design-system/components/FeatureGrid/README.md +61 -39
- package/design-system/components/FeatureGrid/preview.html +2 -2
- package/design-system/components/FeatureGrid/style.css +20 -0
- package/design-system/components/FileUpload/README.md +33 -3
- package/design-system/components/FileUpload/preview.html +18 -4
- package/design-system/components/FileUpload/style.css +23 -0
- package/design-system/components/FilterBar/README.md +114 -0
- package/design-system/components/FilterBar/preview.html +82 -0
- package/design-system/components/FilterBar/style.css +22 -0
- package/design-system/components/Fold/README.md +84 -26
- package/design-system/components/Fold/preview.html +77 -34
- package/design-system/components/Fold/style.css +48 -0
- package/design-system/components/Footer/README.md +62 -39
- package/design-system/components/Footer/preview.html +5 -5
- package/design-system/components/Footer/style.css +30 -0
- package/design-system/components/FunnelBars/README.md +24 -3
- package/design-system/components/FunnelBars/preview.html +5 -5
- package/design-system/components/FunnelBars/style.css +13 -0
- package/design-system/components/GoalBars/README.md +54 -10
- package/design-system/components/GoalBars/preview.html +69 -28
- package/design-system/components/GoalBars/style.css +51 -0
- package/design-system/components/GoalTicks/README.md +74 -58
- package/design-system/components/GoalTicks/preview.html +41 -118
- package/design-system/components/GoalTicks/style.css +37 -0
- package/design-system/components/GoalTubes/README.md +29 -3
- package/design-system/components/GoalTubes/preview.html +6 -6
- package/design-system/components/GoalTubes/style.css +23 -0
- package/design-system/components/Heatmap/README.md +133 -0
- package/design-system/components/Heatmap/preview.html +168 -0
- package/design-system/components/Heatmap/style.css +119 -0
- package/design-system/components/Hero/README.md +58 -40
- package/design-system/components/Hero/preview.html +1 -1
- package/design-system/components/Hero/style.css +19 -0
- package/design-system/components/HoverCard/README.md +114 -0
- package/design-system/components/HoverCard/preview.html +107 -0
- package/design-system/components/HoverCard/style.css +59 -0
- package/design-system/components/IconButton/README.md +69 -38
- package/design-system/components/IconButton/preview.html +77 -43
- package/design-system/components/IconButton/style.css +45 -0
- package/design-system/components/Input/README.md +36 -11
- package/design-system/components/Input/preview.html +1 -1
- package/design-system/components/Input/style.css +23 -0
- package/design-system/components/KanbanBoard/README.md +93 -45
- package/design-system/components/KanbanBoard/preview.html +159 -43
- package/design-system/components/KanbanBoard/style.css +53 -0
- package/design-system/components/Kbd/README.md +25 -9
- package/design-system/components/Kbd/preview.html +6 -2
- package/design-system/components/Kbd/style.css +9 -0
- package/design-system/components/KitButton/README.md +81 -47
- package/design-system/components/KitButton/preview.html +35 -13
- package/design-system/components/KitButton/style.css +46 -0
- package/design-system/components/KitCard/README.md +75 -44
- package/design-system/components/KitCard/preview.html +18 -10
- package/design-system/components/KitCard/style.css +15 -0
- package/design-system/components/KitInput/README.md +54 -39
- package/design-system/components/KitInput/preview.html +7 -7
- package/design-system/components/KitInput/style.css +23 -0
- package/design-system/components/Leaderboard/README.md +76 -49
- package/design-system/components/Leaderboard/preview.html +61 -26
- package/design-system/components/Leaderboard/style.css +44 -0
- package/design-system/components/ListDetail/README.md +222 -0
- package/design-system/components/ListDetail/preview.html +213 -0
- package/design-system/components/ListDetail/style.css +148 -0
- package/design-system/components/LoadBar/README.md +79 -0
- package/design-system/components/LoadBar/preview.html +40 -0
- package/design-system/components/LoadBar/style.css +17 -0
- package/design-system/components/MarketingNav/README.md +76 -42
- package/design-system/components/MarketingNav/preview.html +37 -8
- package/design-system/components/MarketingNav/style.css +45 -0
- package/design-system/components/Matrix/README.md +129 -0
- package/design-system/components/Matrix/preview.html +99 -0
- package/design-system/components/Matrix/style.css +84 -0
- package/design-system/components/Menu/README.md +117 -41
- package/design-system/components/Menu/preview.html +85 -23
- package/design-system/components/Menu/style.css +61 -0
- package/design-system/components/Meter/README.md +39 -4
- package/design-system/components/Meter/preview.html +18 -1
- package/design-system/components/Meter/style.css +23 -0
- package/design-system/components/MetricTile/README.md +237 -0
- package/design-system/components/MetricTile/preview.html +241 -0
- package/design-system/components/MetricTile/style.css +129 -0
- package/design-system/components/Morph/README.md +106 -0
- package/design-system/components/Morph/preview.html +103 -0
- package/design-system/components/Morph/style.css +31 -0
- package/design-system/components/Motion/README.md +164 -0
- package/design-system/components/Motion/preview.html +2537 -0
- package/design-system/components/NumberInput/README.md +27 -8
- package/design-system/components/NumberInput/preview.html +21 -5
- package/design-system/components/NumberInput/style.css +34 -0
- package/design-system/components/PaceBar/README.md +75 -0
- package/design-system/components/PaceBar/preview.html +67 -0
- package/design-system/components/PaceBar/style.css +25 -0
- package/design-system/components/Page/README.md +57 -18
- package/design-system/components/Page/preview.html +15 -17
- package/design-system/components/Page/style.css +7 -0
- package/design-system/components/PageBar/README.md +90 -34
- package/design-system/components/PageBar/preview.html +60 -19
- package/design-system/components/PageBar/style.css +35 -0
- package/design-system/components/PageHero/README.md +87 -51
- package/design-system/components/PageHero/preview.html +35 -6
- package/design-system/components/PageHero/style.css +31 -0
- package/design-system/components/Pagination/README.md +70 -49
- package/design-system/components/Pagination/preview.html +24 -15
- package/design-system/components/Pagination/style.css +12 -0
- package/design-system/components/Panel/README.md +109 -51
- package/design-system/components/Panel/preview.html +118 -20
- package/design-system/components/Panel/style.css +51 -0
- package/design-system/components/PasswordInput/README.md +50 -18
- package/design-system/components/PasswordInput/preview.html +71 -21
- package/design-system/components/PasswordInput/style.css +31 -0
- package/design-system/components/Plate/README.md +75 -17
- package/design-system/components/Plate/preview.html +40 -7
- package/design-system/components/Plate/style.css +37 -0
- package/design-system/components/Popover/README.md +70 -49
- package/design-system/components/Popover/preview.html +44 -22
- package/design-system/components/Popover/style.css +41 -0
- package/design-system/components/PricingTable/README.md +69 -49
- package/design-system/components/PricingTable/preview.html +21 -21
- package/design-system/components/PricingTable/style.css +21 -0
- package/design-system/components/ProgressPetals/README.md +31 -3
- package/design-system/components/ProgressPetals/preview.html +14 -15
- package/design-system/components/ProgressPetals/style.css +27 -0
- package/design-system/components/README.md +151 -0
- package/design-system/components/Radio/README.md +40 -17
- package/design-system/components/Radio/preview.html +16 -1
- package/design-system/components/Radio/style.css +21 -0
- package/design-system/components/RankBar/README.md +29 -2
- package/design-system/components/RankBar/preview.html +14 -12
- package/design-system/components/RankBar/style.css +18 -0
- package/design-system/components/Ring/README.md +61 -11
- package/design-system/components/Ring/preview.html +55 -10
- package/design-system/components/Ring/style.css +49 -0
- package/design-system/components/ScoreHero/README.md +91 -0
- package/design-system/components/ScoreHero/preview.html +104 -0
- package/design-system/components/ScoreHero/style.css +32 -0
- package/design-system/components/Section/README.md +72 -33
- package/design-system/components/Section/preview.html +46 -16
- package/design-system/components/Section/style.css +18 -0
- package/design-system/components/Segmented/README.md +100 -55
- package/design-system/components/Segmented/preview.html +107 -26
- package/design-system/components/Segmented/style.css +94 -0
- package/design-system/components/SegmentedProgress/README.md +64 -0
- package/design-system/components/SegmentedProgress/preview.html +69 -0
- package/design-system/components/SegmentedProgress/style.css +11 -0
- package/design-system/components/Select/README.md +47 -12
- package/design-system/components/Select/preview.html +28 -2
- package/design-system/components/Select/style.css +22 -0
- package/design-system/components/ShareBar/README.md +69 -0
- package/design-system/components/ShareBar/preview.html +72 -0
- package/design-system/components/ShareBar/style.css +25 -0
- package/design-system/components/SideList/README.md +147 -0
- package/design-system/components/SideList/preview.html +139 -0
- package/design-system/components/SideList/style.css +94 -0
- package/design-system/components/Skeleton/README.md +52 -16
- package/design-system/components/Skeleton/preview.html +35 -23
- package/design-system/components/Skeleton/style.css +22 -0
- package/design-system/components/Slider/README.md +95 -0
- package/design-system/components/Slider/preview.html +49 -0
- package/design-system/components/Slider/style.css +13 -0
- package/design-system/components/Split/README.md +112 -0
- package/design-system/components/Split/preview.html +105 -0
- package/design-system/components/Split/style.css +30 -0
- package/design-system/components/Starter/README.md +21 -9
- package/design-system/components/Starter/preview.html +5 -5
- package/design-system/components/Stat/README.md +64 -43
- package/design-system/components/Stat/preview.html +3 -3
- package/design-system/components/Stat/style.css +15 -0
- package/design-system/components/StatTiles/README.md +88 -44
- package/design-system/components/StatTiles/preview.html +142 -71
- package/design-system/components/StatTiles/style.css +64 -0
- package/design-system/components/StatusLine/README.md +85 -0
- package/design-system/components/StatusLine/preview.html +49 -0
- package/design-system/components/StatusLine/style.css +14 -0
- package/design-system/components/StatusScreen/README.md +49 -35
- package/design-system/components/StatusScreen/preview.html +20 -5
- package/design-system/components/StatusScreen/style.css +9 -0
- package/design-system/components/StepLine/README.md +97 -0
- package/design-system/components/StepLine/preview.html +108 -0
- package/design-system/components/StepLine/style.css +62 -0
- package/design-system/components/Stepper/README.md +35 -13
- package/design-system/components/Stepper/style.css +13 -0
- package/design-system/components/StreakCalendar/README.md +22 -1
- package/design-system/components/StreakCalendar/preview.html +10 -10
- package/design-system/components/StreakCalendar/style.css +12 -0
- package/design-system/components/SuggestionChip/README.md +87 -0
- package/design-system/components/SuggestionChip/preview.html +42 -0
- package/design-system/components/SuggestionChip/style.css +20 -0
- package/design-system/components/Switch/README.md +44 -24
- package/design-system/components/Switch/preview.html +23 -8
- package/design-system/components/Switch/style.css +31 -0
- package/design-system/components/Table/README.md +129 -58
- package/design-system/components/Table/preview.html +106 -72
- package/design-system/components/Table/style.css +104 -0
- package/design-system/components/Tabs/README.md +71 -46
- package/design-system/components/Tabs/preview.html +56 -24
- package/design-system/components/Tabs/style.css +44 -0
- package/design-system/components/Testimonial/README.md +48 -32
- package/design-system/components/Testimonial/preview.html +14 -14
- package/design-system/components/Testimonial/style.css +12 -0
- package/design-system/components/TextArea/README.md +27 -11
- package/design-system/components/TextArea/preview.html +8 -2
- package/design-system/components/TextArea/style.css +12 -0
- package/design-system/components/ThemeSwitch/README.md +116 -0
- package/design-system/components/ThemeSwitch/preview.html +57 -0
- package/design-system/components/ThemeSwitch/style.css +6 -0
- package/design-system/components/TickRow/README.md +52 -36
- package/design-system/components/TickRow/preview.html +64 -41
- package/design-system/components/TickRow/style.css +23 -0
- package/design-system/components/TickStrip/README.md +95 -0
- package/design-system/components/TickStrip/preview.html +88 -0
- package/design-system/components/TickStrip/style.css +42 -0
- package/design-system/components/Tile/README.md +79 -18
- package/design-system/components/Tile/preview.html +91 -40
- package/design-system/components/Tile/style.css +36 -0
- package/design-system/components/Timeline/README.md +68 -48
- package/design-system/components/Timeline/preview.html +27 -15
- package/design-system/components/Timeline/style.css +25 -0
- package/design-system/components/Toast/README.md +70 -38
- package/design-system/components/Toast/preview.html +43 -8
- package/design-system/components/Toast/style.css +25 -0
- package/design-system/components/Tooltip/README.md +93 -35
- package/design-system/components/Tooltip/preview.html +69 -15
- package/design-system/components/Tooltip/style.css +78 -0
- package/design-system/components/TopBar/README.md +67 -53
- package/design-system/components/TopBar/preview.html +14 -27
- package/design-system/components/TopBar/style.css +35 -0
- package/design-system/components/TopicRail/README.md +108 -0
- package/design-system/components/TopicRail/preview.html +58 -0
- package/design-system/components/TopicRail/style.css +48 -0
- package/design-system/components/TrendBars/README.md +52 -14
- package/design-system/components/TrendBars/preview.html +65 -32
- package/design-system/components/TrendBars/style.css +25 -0
- package/design-system/components/TrendLine/README.md +164 -0
- package/design-system/components/TrendLine/preview.html +373 -0
- package/design-system/components/TrendLine/style.css +155 -0
- package/design-system/components/Well/README.md +64 -22
- package/design-system/components/Well/preview.html +14 -14
- package/design-system/components/Well/style.css +22 -0
- package/design-system/components/_house.css +324 -0
- package/design-system/components/bundle.css +4091 -744
- package/design-system/tokens.json +1314 -124
- package/dist/fello-core.css +2 -2
- package/dist/fello.css +6 -1369
- package/dist/fello.scoped.css +7 -0
- package/dist/index.d.ts +110 -11
- package/dist/index.js +781 -96
- package/dist/palettes.d.ts +464 -0
- package/dist/palettes.js +497 -0
- package/dist/scoped.d.ts +3 -0
- package/dist/scoped.js +16 -0
- package/dist/toast.d.ts +14 -0
- package/dist/toast.js +33 -29
- package/dist/tokens.d.ts +1686 -62
- package/dist/tokens.js +1668 -61
- package/package.json +20 -4
- package/scripts/check-palette.mjs +295 -0
- package/scripts/token-model.mjs +552 -0
- package/tokens/_dark.css +174 -0
- package/tokens/_palettes.css +46 -0
- package/tokens/_product.css +266 -53
- package/tokens/_source.hubl.css +39 -19
- package/tokens/design-tokens.json +319 -0
- package/tokens/palettes.ts +504 -0
- package/tokens/shadcn-compat.css +19 -19
- package/tokens/shadcn-compat.hsl.css +76 -0
- package/tokens/tokens.css +1292 -62
- package/tokens/tokens.md +588 -61
- package/tokens/tokens.root.css +1298 -62
- package/tokens/tokens.ts +1677 -64
package/dist/fello.css
CHANGED
|
@@ -1,1370 +1,7 @@
|
|
|
1
|
-
/* Fello brand kit 0.
|
|
2
|
-
Instrument Sans + every token
|
|
3
|
-
|
|
1
|
+
/* Fello brand kit 0.5.0: fello.css. Generated by scripts/fello-css.mjs. Do not edit; read
|
|
2
|
+
design-system/components/bundle.css. Instrument Sans + every token (tokens/tokens.root.css) + the house component
|
|
3
|
+
styles, in the fello layer nested in Tailwind v4's own layers, so a host's utilities win and its theme stays its own.
|
|
4
|
+
A host whose CSS is unlayered (Tailwind v3, a shared bundle) uses fello.scoped.css. In a Tailwind app, put the font
|
|
5
|
+
@import below before @import "tailwindcss" (a browser drops an @import that comes after rules). Guide: design-system/README.md. */
|
|
4
6
|
@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400..700&display=swap");
|
|
5
|
-
|
|
6
|
-
/* Generated by scripts/generate-tokens.mjs. Do not edit.
|
|
7
|
-
Source: Figma Marketing - Design System 3.0 (MmOx1GHtbMge4lSLp1kcs8), captured 2026-06-11,
|
|
8
|
-
and tokens/_product.css (the product layer).
|
|
9
|
-
225 tokens: 106 kit, 119 product layer. */
|
|
10
|
-
|
|
11
|
-
:root {
|
|
12
|
-
--color-brand-salmon: #FF725C;
|
|
13
|
-
--color-brand-navy: #093555;
|
|
14
|
-
--color-brand-mid-blue: #495883;
|
|
15
|
-
--color-button-grad-start: #FF816D;
|
|
16
|
-
--color-button-grad-end: #FF745E;
|
|
17
|
-
--color-button-border: #DA624F;
|
|
18
|
-
--color-tertiary-dark-blue: var(--color-brand-navy);
|
|
19
|
-
--color-background: #FEFBF9;
|
|
20
|
-
--color-white: #FFFFFF;
|
|
21
|
-
--color-gray-1: #F9F9F9;
|
|
22
|
-
--color-surface-stripe: #F7F4F4;
|
|
23
|
-
--color-gray-2: #EDEDED;
|
|
24
|
-
--color-gray-stroke: #E8E8E8;
|
|
25
|
-
--color-gray-3: #D3D3D3;
|
|
26
|
-
--color-gray-5: #A9A9A9;
|
|
27
|
-
--color-gray-6: #7F7F7F;
|
|
28
|
-
--color-gray-7: #545454;
|
|
29
|
-
--color-gray-8: #292929;
|
|
30
|
-
--color-text-primary: #353E5A;
|
|
31
|
-
--color-ai-cyan: #14BACB;
|
|
32
|
-
--color-ai-blue: #3898F0;
|
|
33
|
-
--color-ai-violet: #8D6AE6;
|
|
34
|
-
--color-ai-pink: #EC67A0;
|
|
35
|
-
--color-ai-rose: #F59593;
|
|
36
|
-
--gradient-ai: linear-gradient( 90deg, var(--color-ai-cyan) 0%, var(--color-ai-blue) 25%, var(--color-ai-violet) 50%, var(--color-ai-pink) 75%, var(--color-ai-rose) 100% );
|
|
37
|
-
--color-dropdown-bg: #fcfaf9;
|
|
38
|
-
--gradient-scrim-dropdown: linear-gradient( 180deg, rgba(237, 237, 237, 0) -2.85%, rgba(45, 45, 45, 0.5) 93.85% );
|
|
39
|
-
--color-feedback-error: #ef6b51;
|
|
40
|
-
--color-feedback-success-text: #4f7d24;
|
|
41
|
-
--color-feedback-success-bg: #cde3cc;
|
|
42
|
-
--color-alert: #e90f0f;
|
|
43
|
-
--color-stat-positive: #098486;
|
|
44
|
-
--color-bg-page: var(--color-background);
|
|
45
|
-
--color-text-heading: var(--color-brand-navy);
|
|
46
|
-
--color-text-body: var(--color-gray-7);
|
|
47
|
-
--color-text-muted: #6E6E6E;
|
|
48
|
-
--color-text-brand-strong: #B35040;
|
|
49
|
-
--color-text-error-strong: #AE4E3B;
|
|
50
|
-
--color-text-success-strong: #3C601B;
|
|
51
|
-
--color-text-placeholder: #6E6E6E;
|
|
52
|
-
--color-text-interactive: var(--color-brand-mid-blue);
|
|
53
|
-
--color-border-default: var(--color-gray-stroke);
|
|
54
|
-
--color-border-hairline: var(--color-gray-3);
|
|
55
|
-
--color-border-btn: var(--color-button-border);
|
|
56
|
-
--color-bg-dark: var(--color-brand-navy);
|
|
57
|
-
--color-nav-hover-bg: color-mix(in srgb, var(--color-brand-mid-blue) 5%, transparent);
|
|
58
|
-
--gradient-btn-primary: linear-gradient( 180deg, var(--color-button-grad-start), var(--color-button-grad-end) );
|
|
59
|
-
--font-body: "Instrument Sans", sans-serif;
|
|
60
|
-
--font-size-3xs: 10px;
|
|
61
|
-
--font-size-2xs: 12px;
|
|
62
|
-
--font-size-xs: 13px;
|
|
63
|
-
--font-size-sm: 14px;
|
|
64
|
-
--font-size-md: 16px;
|
|
65
|
-
--font-size-lg: 18px;
|
|
66
|
-
--font-size-lg2: 20px;
|
|
67
|
-
--font-size-xl: 24px;
|
|
68
|
-
--font-size-2xl: 26px;
|
|
69
|
-
--font-size-3xl: 40px;
|
|
70
|
-
--font-size-4xl: 48px;
|
|
71
|
-
--font-size-5xl: 56px;
|
|
72
|
-
--font-size-6xl: 64px;
|
|
73
|
-
--font-size-7xl: 72px;
|
|
74
|
-
--font-size-8xl: 193px;
|
|
75
|
-
--space-xxs: 4px;
|
|
76
|
-
--space-xs: 8px;
|
|
77
|
-
--space-sm: 12px;
|
|
78
|
-
--space-md: 16px;
|
|
79
|
-
--space-lg: 24px;
|
|
80
|
-
--space-xl: 32px;
|
|
81
|
-
--space-2xl: 40px;
|
|
82
|
-
--space-3xl: 48px;
|
|
83
|
-
--space-4xl: 64px;
|
|
84
|
-
--space-5xl: 80px;
|
|
85
|
-
--space-6xl: 96px;
|
|
86
|
-
--space-7xl: 120px;
|
|
87
|
-
--space-8xl: 160px;
|
|
88
|
-
--space-9xl: 200px;
|
|
89
|
-
--letter-spacing-overline: 1.2px;
|
|
90
|
-
--layout-canvas-max: 1440px;
|
|
91
|
-
--layout-content-max: 1344px;
|
|
92
|
-
--layout-margin: 48px;
|
|
93
|
-
--layout-col-gap: 24px;
|
|
94
|
-
--radius-xs: 2px;
|
|
95
|
-
--radius-sm: 4px;
|
|
96
|
-
--radius-md: 6px;
|
|
97
|
-
--radius-lg: 8px;
|
|
98
|
-
--radius-xl: 16px;
|
|
99
|
-
--radius-2xl: 24px;
|
|
100
|
-
--radius-full: 9999px;
|
|
101
|
-
--z-base: 0;
|
|
102
|
-
--z-sticky: 50;
|
|
103
|
-
--z-header: 100;
|
|
104
|
-
--z-dropdown: 200;
|
|
105
|
-
--z-modal: 300;
|
|
106
|
-
--z-toast: 400;
|
|
107
|
-
--shadow-label-pill: 2px 22px 6px 0 rgba(0, 0, 0, 0), 1px 14px 6px 0 rgba(0, 0, 0, 0.01), 1px 8px 5px 0 rgba(0, 0, 0, 0.04), 0 3px 4px 0 rgba(0, 0, 0, 0.07), 0 1px 2px 0 rgba(0, 0, 0, 0.08);
|
|
108
|
-
--shadow-card-default: 0 1px 2px rgba(9, 53, 85, 0.04), 0 4px 8px rgba(9, 53, 85, 0.06);
|
|
109
|
-
--shadow-card-hover: 0 4px 8px rgba(9, 53, 85, 0.06), 0 8px 24px rgba(9, 53, 85, 0.08);
|
|
110
|
-
--shadow-pill: 0 8px 17px rgba(0, 0, 0, 0.07), 0 30px 30px rgba(0, 0, 0, 0.06), 0 68px 41px rgba(0, 0, 0, 0.04), 0 121px 48px rgba(0, 0, 0, 0.01);
|
|
111
|
-
--shadow-dropdown: var(--shadow-pill);
|
|
112
|
-
--shadow-btn: 0 21px 6px rgba(0, 0, 0, 0), 0 13px 5px rgba(0, 0, 0, 0.02), 0 7px 4px rgba(0, 0, 0, 0.06), 0 3px 3px rgba(0, 0, 0, 0.09), 0 1px 2px rgba(0, 0, 0, 0.11);
|
|
113
|
-
--shadow-btn-hover: 0 32px 9px rgba(0, 0, 0, 0), 0 20px 8px rgba(0, 0, 0, 0.02), 0 11px 7px rgba(0, 0, 0, 0.06), 0 5px 5px rgba(0, 0, 0, 0.09), 0 1px 3px rgba(0, 0, 0, 0.11);
|
|
114
|
-
--shadow-focus-ring: 0 0 0 3px rgba(255, 114, 92, 0.2);
|
|
115
|
-
--transition-fast: 150ms ease-out;
|
|
116
|
-
--transition-default: 200ms ease;
|
|
117
|
-
--transition-slow: 300ms ease;
|
|
118
|
-
--ws-page: var(--color-gray-stroke);
|
|
119
|
-
--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-gray-8));
|
|
120
|
-
--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-gray-8));
|
|
121
|
-
--ws-sidebar-hover: color-mix(in srgb, var(--color-gray-2) 85%, var(--color-white));
|
|
122
|
-
--ws-sidebar-press: var(--color-gray-2);
|
|
123
|
-
--ws-menu-line: color-mix(in srgb, var(--color-bg-page) 87%, var(--color-gray-8));
|
|
124
|
-
--ws-menu-hover: color-mix(in srgb, var(--color-bg-page) 96%, var(--color-gray-8));
|
|
125
|
-
--ws-well: var(--color-gray-2);
|
|
126
|
-
--ws-field: var(--color-white);
|
|
127
|
-
--ws-tint-accent: var(--color-surface-stripe);
|
|
128
|
-
--ws-tint-needs: color-mix(in srgb, var(--color-brand-salmon) 10%, var(--color-white));
|
|
129
|
-
--ws-tint-live: color-mix(in srgb, var(--color-stat-positive) 12%, var(--color-white));
|
|
130
|
-
--ws-edge: var(--color-border-default);
|
|
131
|
-
--ws-edge-card: var(--color-gray-3);
|
|
132
|
-
--ws-edge-chip: #d9d5d0;
|
|
133
|
-
--ws-edge-slot: #e2e2e2;
|
|
134
|
-
--ws-edge-tray: #d9d3cb;
|
|
135
|
-
--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-gray-8));
|
|
136
|
-
--ws-word-needs: var(--color-text-brand-strong);
|
|
137
|
-
--ws-word-positive: color-mix(in srgb, var(--color-stat-positive) 85%, var(--color-brand-navy));
|
|
138
|
-
--ws-chart-finished: var(--color-stat-positive);
|
|
139
|
-
--ws-chart-past-half: #6d4fc2;
|
|
140
|
-
--ws-chart-under-half: var(--color-brand-salmon);
|
|
141
|
-
--ws-chart-empty: var(--color-gray-1);
|
|
142
|
-
--ws-chart-dot: color-mix(in srgb, var(--color-bg-page) 91%, var(--color-gray-8));
|
|
143
|
-
--ws-chart-navy-light: #2e6088;
|
|
144
|
-
--ws-chart-navy-fade: #a8c0d3;
|
|
145
|
-
--ws-chart-salmon-fade: #ffd2c8;
|
|
146
|
-
--ws-chart-purple-fade: #d8ccf6;
|
|
147
|
-
--ws-chart-teal-fade: #b0e2dd;
|
|
148
|
-
--ws-chart-finished-tint: #9fddd6;
|
|
149
|
-
--ws-chart-past-half-tint: #cbbdf3;
|
|
150
|
-
--ws-chart-under-half-tint: #f9dfc6;
|
|
151
|
-
--ws-chart-cell-edge: var(--ws-edge-slot);
|
|
152
|
-
--ws-card-tint-blue: color-mix(in srgb, var(--color-brand-mid-blue) 10%, var(--color-white));
|
|
153
|
-
--ws-card-tint-done: color-mix(in srgb, var(--color-stat-positive) 10%, var(--color-white));
|
|
154
|
-
--ws-scrim: color-mix(in srgb, var(--color-brand-navy) 35%, transparent);
|
|
155
|
-
--ws-team-glow: radial-gradient(75% 70% at 10% 0%, color-mix(in srgb, var(--color-brand-mid-blue) 14%, transparent), transparent), radial-gradient(70% 75% at 95% 100%, color-mix(in srgb, var(--color-ai-rose) 22%, transparent), transparent), radial-gradient(55% 60% at 70% 45%, color-mix(in srgb, var(--color-ai-pink) 8%, transparent), transparent);
|
|
156
|
-
--ws-cool-glow: radial-gradient(75% 70% at 10% 0%, color-mix(in srgb, var(--color-brand-mid-blue) 16%, transparent), transparent), radial-gradient(60% 70% at 92% 30%, color-mix(in srgb, var(--color-ai-blue) 10%, transparent), transparent), radial-gradient(70% 60% at 60% 100%, color-mix(in srgb, var(--color-brand-navy) 6%, transparent), transparent);
|
|
157
|
-
--ws-text-micro: 11px;
|
|
158
|
-
--ws-text-dense: var(--font-size-2xs);
|
|
159
|
-
--ws-text-meta: var(--font-size-xs);
|
|
160
|
-
--ws-text-body: var(--font-size-sm);
|
|
161
|
-
--ws-text-chart: 15px;
|
|
162
|
-
--ws-text-message: var(--ws-text-chart);
|
|
163
|
-
--ws-text-value: var(--font-size-md);
|
|
164
|
-
--ws-text-title: 22px;
|
|
165
|
-
--ws-text-display: var(--font-size-7xl);
|
|
166
|
-
--ws-leading-message: var(--space-lg);
|
|
167
|
-
--ws-leading-title: calc(var(--space-lg) + var(--space-xxs));
|
|
168
|
-
--ws-gap-tight: var(--space-xxs);
|
|
169
|
-
--ws-gap: var(--space-xs);
|
|
170
|
-
--ws-gap-loose: var(--space-sm);
|
|
171
|
-
--ws-gap-component: var(--space-md);
|
|
172
|
-
--ws-gap-group: var(--space-lg);
|
|
173
|
-
--ws-gap-turn: calc(var(--space-lg) - var(--space-xxs) / 2);
|
|
174
|
-
--ws-gutter: var(--space-lg);
|
|
175
|
-
--ws-card-padding: var(--space-sm);
|
|
176
|
-
--ws-card-padding-lg: var(--space-md);
|
|
177
|
-
--ws-card-inset: calc(var(--space-md) + var(--space-xxs));
|
|
178
|
-
--ws-band-inset: calc(var(--space-lg) + var(--space-xxs));
|
|
179
|
-
--ws-rise: calc(var(--space-xxs) * 1.5);
|
|
180
|
-
--ws-chart-dot-gap: calc(var(--space-xs) * 0.8125);
|
|
181
|
-
--ws-radius-bar: calc(var(--radius-xs) / 2);
|
|
182
|
-
--ws-radius-chip: var(--radius-xs);
|
|
183
|
-
--ws-radius-control: var(--radius-sm);
|
|
184
|
-
--ws-radius-row: var(--radius-md);
|
|
185
|
-
--ws-radius-card: var(--radius-lg);
|
|
186
|
-
--ws-radius-bubble: calc(var(--radius-lg) + var(--radius-sm));
|
|
187
|
-
--ws-radius-panel: var(--radius-xl);
|
|
188
|
-
--ws-shadow-hairline: 0 0 0 var(--ws-hairline) var(--ws-edge-card);
|
|
189
|
-
--ws-shadow-band: inset 0 var(--ws-hairline) 0 var(--ws-edge-tray), inset 0 28px 8px 0 rgba(0, 0, 0, 0), inset 0 18px 7px 0 rgba(0, 0, 0, 0.01), inset 0 10px 6px 0 rgba(0, 0, 0, 0.03), inset 0 4px 4px 0 rgba(0, 0, 0, 0.05), inset 0 1px 2px 0 rgba(0, 0, 0, 0.06);
|
|
190
|
-
--ws-shadow-lift: var(--shadow-card-hover);
|
|
191
|
-
--ws-ring-selected: 0 0 0 2px color-mix(in srgb, var(--color-brand-navy) 55%, transparent);
|
|
192
|
-
--ws-card-ring-lit: 0 0 0 2px color-mix(in srgb, var(--color-brand-navy) 30%, transparent);
|
|
193
|
-
--ws-card-ring-person: inset 0 0 0 1px color-mix(in srgb, var(--color-brand-navy) 12%, transparent);
|
|
194
|
-
--ws-focus-inset: inset 0 0 0 2px var(--color-text-interactive);
|
|
195
|
-
--ws-hairline: 0.5px;
|
|
196
|
-
--ws-line: 1px;
|
|
197
|
-
--ws-chart-line: 1.5px;
|
|
198
|
-
--ws-ring: 2px;
|
|
199
|
-
--ws-halo: 3px;
|
|
200
|
-
--ws-control-h-sm: 28px;
|
|
201
|
-
--ws-control-h: var(--space-xl);
|
|
202
|
-
--ws-control-h-md: calc(var(--space-xl) + var(--space-xxs));
|
|
203
|
-
--ws-touch: 40px;
|
|
204
|
-
--ws-row-h: var(--space-3xl);
|
|
205
|
-
--ws-row-h-dense: var(--space-2xl);
|
|
206
|
-
--ws-composer-h: 52px;
|
|
207
|
-
--ws-header-h: calc(var(--space-3xl) + var(--space-xs));
|
|
208
|
-
--ws-topbar-h: var(--space-3xl);
|
|
209
|
-
--ws-band-h: 80px;
|
|
210
|
-
--ws-rail-width: calc(var(--space-2xl) + var(--space-xl));
|
|
211
|
-
--ws-sidebar-width: calc(var(--space-9xl) + var(--space-xl));
|
|
212
|
-
--ws-thing-width: calc(var(--space-9xl) * 2 + var(--space-2xl));
|
|
213
|
-
--ws-chart-card-w: calc(var(--space-9xl) * 2 + var(--space-8xl) - var(--space-xxs));
|
|
214
|
-
--ws-chart-card-min: 480px;
|
|
215
|
-
--ws-column-width: calc(var(--space-9xl) * 3 + var(--space-3xl) + var(--space-xs));
|
|
216
|
-
--ws-icon-sm: 12px;
|
|
217
|
-
--ws-icon: 16px;
|
|
218
|
-
--ws-icon-lg: 20px;
|
|
219
|
-
--ws-avatar: 32px;
|
|
220
|
-
--ws-tracking-title: -0.005em;
|
|
221
|
-
--ws-tracking-display: -0.03em;
|
|
222
|
-
--ws-duration-instant: 120ms;
|
|
223
|
-
--ws-duration-gentle: 200ms;
|
|
224
|
-
--ws-duration-settle: 320ms;
|
|
225
|
-
--ws-duration-calm: 420ms;
|
|
226
|
-
--ws-duration-glide: 400ms;
|
|
227
|
-
--ws-stagger: 30ms;
|
|
228
|
-
--ws-sweep: calc(var(--ws-duration-calm) - var(--ws-duration-gentle));
|
|
229
|
-
--ws-loop: 1.2s;
|
|
230
|
-
--ws-loop-slow: 2.4s;
|
|
231
|
-
--ws-ease-soft: cubic-bezier(0.22, 1, 0.36, 1);
|
|
232
|
-
--ws-ease-exit: cubic-bezier(0.4, 0, 1, 1);
|
|
233
|
-
--ws-ease-glide: cubic-bezier(0.75, 0, 0.25, 1);
|
|
234
|
-
--ws-ease-steady: linear;
|
|
235
|
-
--ws-ease-spring: var(--ws-ease-soft);
|
|
236
|
-
--ws-press-scale: 0.97;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
/* Fello Brand Kit: the house styles every preview and consumer shares. Loaded after tokens.css, which declares
|
|
240
|
-
every --color-*, --ws-*, --space-*, --radius-*, --shadow-* and --font-body custom property from tokens.json.
|
|
241
|
-
The class names are the product layer's (ws-*), so code and system speak one language.
|
|
242
|
-
|
|
243
|
-
Two parts: the house (base, stage, layout, surfaces, words, buttons, fields, chips, rows, motion), then every
|
|
244
|
-
catalog component A to Z under its own block, `.ws-<component>` (the component's name in kebab case), its parts
|
|
245
|
-
`.ws-<component>__part` and its variants `.ws-<component>--variant`. A preview is markup only: everything it shows
|
|
246
|
-
is styled here. Every value is a token or a calc on tokens. */
|
|
247
|
-
|
|
248
|
-
*, *::before, *::after { box-sizing: border-box; }
|
|
249
|
-
html { font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
|
|
250
|
-
body { margin: 0; background: var(--color-bg-page); color: var(--color-text-body); font-size: var(--ws-text-body); line-height: calc(var(--space-md) + var(--space-xxs)); }
|
|
251
|
-
h1, h2, h3, h4, p, ul, ol, figure { margin: 0; }
|
|
252
|
-
ul, ol { padding: 0; list-style: none; }
|
|
253
|
-
button, input, select, textarea { font: inherit; color: inherit; }
|
|
254
|
-
svg { display: block; }
|
|
255
|
-
.ws-tnum { font-variant-numeric: tabular-nums; }
|
|
256
|
-
.ws-sr { position: absolute; width: var(--ws-line); height: var(--ws-line); overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
|
|
257
|
-
|
|
258
|
-
/* The preview's own stage: the grey around the surface, so a card shows its edge. Previews only. */
|
|
259
|
-
.ws-stage { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--ws-gap-component); padding: var(--ws-gap-component); background: var(--color-bg-page); }
|
|
260
|
-
.ws-stage--grey { background: var(--ws-page); }
|
|
261
|
-
.ws-stage--sunk { background: var(--ws-surface-sunk); }
|
|
262
|
-
.ws-stage--column { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: var(--ws-gap-group); }
|
|
263
|
-
.ws-stage--bleed { padding: 0; }
|
|
264
|
-
|
|
265
|
-
/* ---- Layout: the page, an area, the board, a stack and a cluster ---- */
|
|
266
|
-
/* A page: its content as wide as two board columns (2 x 556 and the gap: no page width token exists, so it is derived
|
|
267
|
-
from the board's), centred, with the canvas's 24 gutter, 16 on a phone; its children one gap apart. It is a size
|
|
268
|
-
container, so tiles and small cards inside it size from the page, not the window. --column: the one 656 column. */
|
|
269
|
-
.ws-page { container-type: inline-size; display: flex; flex-direction: column; gap: var(--ws-gap-component); width: 100%; max-width: calc(var(--ws-chart-card-w) * 2 + var(--ws-gap-component) + var(--ws-gutter) * 2); margin-inline: auto; padding: var(--ws-gutter); }
|
|
270
|
-
.ws-page--column { max-width: calc(var(--ws-column-width) + var(--ws-gutter) * 2); }
|
|
271
|
-
@media (max-width: 40rem) { .ws-page { padding: var(--space-md); } }
|
|
272
|
-
/* An area: any other region tiles or small cards should size from (a card, a pane). The page is one already. */
|
|
273
|
-
.ws-area { container-type: inline-size; }
|
|
274
|
-
/* The board (CardBoard): two columns side by side once both fit at 480 (976 and up), each up to 556 (the board is at most
|
|
275
|
-
two columns and the gap wide, centred); below that one column filling the width, in DOM order. Its children are cards
|
|
276
|
-
or columns of cards (__column), each its own height. No breakpoint: it wraps by width, so it works in any region.
|
|
277
|
-
--4: small cards, one across, two from the area's 40rem, four from 60rem. */
|
|
278
|
-
.ws-board { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ws-chart-card-min)), 1fr)); align-items: start; gap: var(--ws-gap-component); width: 100%; max-width: calc(var(--ws-chart-card-w) * 2 + var(--ws-gap-component)); margin-inline: auto; }
|
|
279
|
-
.ws-board > * { min-width: 0; }
|
|
280
|
-
.ws-board__column { display: flex; flex-direction: column; gap: var(--ws-gap-component); }
|
|
281
|
-
.ws-board--4 { grid-template-columns: minmax(0, 1fr); }
|
|
282
|
-
@container (min-width: 40rem) { .ws-board--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
|
|
283
|
-
@container (min-width: 60rem) { .ws-board--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
|
|
284
|
-
/* A stack (top to bottom) and a cluster (side by side, wrapping), 8 apart; the modifiers take the other named gaps. */
|
|
285
|
-
.ws-stack { display: flex; flex-direction: column; gap: var(--ws-gap); }
|
|
286
|
-
.ws-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ws-gap); }
|
|
287
|
-
.ws-cluster--start { align-items: flex-start; }
|
|
288
|
-
.ws-stack--tight, .ws-cluster--tight { gap: var(--ws-gap-tight); }
|
|
289
|
-
.ws-stack--loose, .ws-cluster--loose { gap: var(--ws-gap-loose); }
|
|
290
|
-
.ws-stack--component, .ws-cluster--component { gap: var(--ws-gap-component); }
|
|
291
|
-
.ws-stack--group, .ws-cluster--group { gap: var(--ws-gap-group); }
|
|
292
|
-
|
|
293
|
-
/* ---- Surfaces ---- */
|
|
294
|
-
/* A card: the cream, 8 px corners, the 0.5 px border/card edge drawn inside as an outline (it paints over the band and moves nothing). */
|
|
295
|
-
.ws-card { border-radius: var(--ws-radius-card); background: var(--color-bg-page); outline: var(--ws-hairline) solid var(--ws-edge-card); outline-offset: calc(var(--ws-hairline) * -1); }
|
|
296
|
-
@media (max-resolution: 1.49dppx) { .ws-card { outline-color: color-mix(in srgb, var(--ws-edge-card) 50%, transparent); } }
|
|
297
|
-
.ws-card--selected { box-shadow: var(--ws-ring-selected); }
|
|
298
|
-
/* A card with nothing but its content: the 20 px inset all round (a chart drawn bare, without its head or band). */
|
|
299
|
-
.ws-card--inset { padding: var(--ws-card-inset); }
|
|
300
|
-
/* A plate inside a card: the cream a shade darker, 8 px corners, 12 px inside. */
|
|
301
|
-
.ws-plate { border-radius: var(--ws-radius-card); background: var(--ws-surface-sunk); padding: var(--ws-card-padding); }
|
|
302
|
-
/* The well, from the first product built on the system: a grey plate of 48 px cream rows with 6 px corners, white under the pointer. */
|
|
303
|
-
.ws-well { border-radius: var(--ws-radius-card); background: var(--ws-well); padding: var(--space-xxs); display: flex; flex-direction: column; gap: var(--space-xxs); }
|
|
304
|
-
.ws-well-row { display: flex; align-items: center; gap: var(--space-xs); min-height: var(--ws-row-h); padding: 0 var(--space-sm); border-radius: var(--ws-radius-row); background: var(--color-bg-page); color: var(--color-text-heading); font-weight: 500; text-align: left; width: 100%; border: 0; cursor: pointer; transition: background-color var(--ws-duration-instant) var(--ws-ease-soft); }
|
|
305
|
-
.ws-well-row:hover { background: var(--color-white); }
|
|
306
|
-
.ws-well-row:active { background: var(--ws-surface-press); }
|
|
307
|
-
/* The dotted field a drawing sits on. */
|
|
308
|
-
.ws-dots { background-image: radial-gradient(circle, var(--ws-chart-dot) calc(var(--ws-hairline) * 1.5), transparent calc(var(--ws-hairline) * 2.2)); background-size: var(--ws-chart-dot-gap) var(--ws-chart-dot-gap); }
|
|
309
|
-
/* The footer band: the darker cream under its 0.5 px edge and inset shade; 28 px at the sides. */
|
|
310
|
-
.ws-band { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm) var(--space-md); min-height: var(--ws-band-h); padding: var(--space-md) var(--ws-band-inset); background: var(--ws-chart-foot); box-shadow: var(--ws-shadow-band); }
|
|
311
|
-
.ws-band__words { display: flex; flex: 1; min-width: min(100%, var(--space-9xl)); flex-direction: column; gap: var(--space-xxs); }
|
|
312
|
-
.ws-band__title { font-size: var(--ws-text-value); line-height: calc(var(--space-md) + var(--space-xxs)); font-weight: 500; color: var(--color-text-heading); }
|
|
313
|
-
.ws-band__how { font-size: var(--ws-text-meta); line-height: var(--space-md); color: var(--color-text-muted); }
|
|
314
|
-
/* A card's head: 20 px inside, the 22 px title and one 14 px line. */
|
|
315
|
-
.ws-head { display: flex; align-items: flex-start; gap: var(--space-md); padding: var(--ws-card-inset); }
|
|
316
|
-
.ws-head > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
|
|
317
|
-
/* A menu: a card lifted off the page. */
|
|
318
|
-
.ws-menu { display: flex; flex-direction: column; border-radius: var(--ws-radius-card); background: var(--color-bg-page); padding: var(--space-xxs); box-shadow: var(--ws-shadow-lift); z-index: var(--z-dropdown); min-width: var(--space-9xl); }
|
|
319
|
-
.ws-menu-item { display: flex; width: 100%; min-height: var(--ws-control-h); padding: var(--space-xxs) var(--space-sm); align-items: center; gap: var(--space-xs); border-radius: var(--ws-radius-control); text-align: left; font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-heading); background: none; border: 0; cursor: pointer; }
|
|
320
|
-
.ws-menu-item:hover { background: var(--ws-surface-sunk); }
|
|
321
|
-
.ws-menu-item:active { background: var(--ws-surface-press); }
|
|
322
|
-
.ws-menu-line { height: var(--ws-line); margin: var(--space-xxs) 0; background: var(--ws-menu-line); }
|
|
323
|
-
.ws-disc { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; border-radius: var(--radius-full); background: var(--ws-surface-sunk); color: var(--color-text-heading); }
|
|
324
|
-
|
|
325
|
-
/* ---- Words ---- */
|
|
326
|
-
.ws-title { font-size: var(--ws-text-title); line-height: var(--ws-leading-title); font-weight: 600; letter-spacing: var(--ws-tracking-title); color: var(--color-text-heading); }
|
|
327
|
-
.ws-section { font-size: var(--ws-text-value); line-height: calc(var(--space-md) + var(--space-xxs)); font-weight: 600; letter-spacing: var(--ws-tracking-title); color: var(--color-text-heading); }
|
|
328
|
-
.ws-body { font-size: var(--ws-text-body); line-height: calc(var(--space-md) + var(--space-xxs)); color: var(--color-text-body); }
|
|
329
|
-
.ws-muted { font-size: var(--ws-text-dense); line-height: var(--space-md); color: var(--color-text-muted); }
|
|
330
|
-
.ws-meta { font-size: var(--ws-text-meta); line-height: var(--space-md); color: var(--color-text-muted); }
|
|
331
|
-
.ws-eyebrow { font-size: var(--ws-text-dense); line-height: var(--space-md); font-weight: 600; text-transform: uppercase; letter-spacing: var(--letter-spacing-overline); color: var(--color-text-muted); }
|
|
332
|
-
.ws-link { color: var(--color-text-interactive); text-decoration: none; font-weight: 500; }
|
|
333
|
-
.ws-link:hover { text-decoration: underline; }
|
|
334
|
-
.ws-act { font-weight: 500; color: var(--color-text-heading); text-decoration: none; background: none; border: 0; padding: 0; cursor: pointer; }
|
|
335
|
-
.ws-act:hover { text-decoration: underline; }
|
|
336
|
-
.ws-display { font-size: var(--ws-text-display); line-height: var(--space-5xl); font-weight: 400; letter-spacing: var(--ws-tracking-display); color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
337
|
-
.ws-figure { font-size: var(--font-size-3xl); line-height: var(--font-size-3xl); font-weight: 400; letter-spacing: var(--ws-tracking-display); color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
338
|
-
.ws-positive { color: var(--ws-word-positive); }
|
|
339
|
-
.ws-needs { color: var(--ws-word-needs); }
|
|
340
|
-
|
|
341
|
-
/* ---- Buttons: one component everywhere. 32 px by default, 28 small, 36 large; 40 on touch. ---- */
|
|
342
|
-
.ws-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); height: var(--ws-control-h); padding: 0 var(--space-sm); border: 0; border-radius: var(--ws-radius-control); font-size: var(--ws-text-body); line-height: 1; font-weight: 500; cursor: pointer; white-space: nowrap; outline: none; transition: background-color var(--ws-duration-instant) var(--ws-ease-soft), color var(--ws-duration-instant) var(--ws-ease-soft), opacity var(--ws-duration-instant) var(--ws-ease-soft), transform var(--ws-duration-instant) var(--ws-ease-soft); }
|
|
343
|
-
.ws-btn:active { transform: scale(var(--ws-press-scale)); }
|
|
344
|
-
.ws-btn:focus-visible { box-shadow: var(--shadow-focus-ring); }
|
|
345
|
-
.ws-btn--sm { height: var(--ws-control-h-sm); padding: 0 var(--space-xs); gap: var(--space-xxs); font-size: var(--ws-text-dense); }
|
|
346
|
-
.ws-btn--lg { height: var(--ws-control-h-md); }
|
|
347
|
-
.ws-btn--primary, .ws-btn[aria-pressed="true"] { background: var(--color-text-heading); color: var(--color-white); }
|
|
348
|
-
.ws-btn--primary:hover { opacity: 0.9; }
|
|
349
|
-
.ws-btn--secondary { background: var(--color-bg-page); color: var(--color-text-heading); box-shadow: var(--ws-shadow-hairline); }
|
|
350
|
-
.ws-btn--secondary:hover { background: var(--ws-surface-sunk); }
|
|
351
|
-
.ws-btn--ghost { background: transparent; color: var(--color-text-body); padding: 0 var(--space-xs); }
|
|
352
|
-
.ws-btn--ghost:hover { background: var(--ws-surface-sunk); color: var(--color-text-heading); }
|
|
353
|
-
.ws-btn--link, .ws-btn--text { height: auto; padding: 0; background: transparent; border-radius: var(--ws-radius-control); line-height: var(--space-md); }
|
|
354
|
-
.ws-btn--link { color: var(--color-text-interactive); }
|
|
355
|
-
.ws-btn--text { color: var(--color-text-heading); }
|
|
356
|
-
.ws-btn--link:hover, .ws-btn--text:hover { text-decoration: underline; }
|
|
357
|
-
.ws-btn:disabled { opacity: 0.4; pointer-events: none; }
|
|
358
|
-
.ws-btn[aria-busy="true"] { cursor: progress; }
|
|
359
|
-
@media (pointer: coarse) { .ws-btn:not(.ws-btn--link):not(.ws-btn--text) { min-height: var(--ws-touch); } .ws-btn--link, .ws-btn--text { min-height: var(--space-lg); } }
|
|
360
|
-
/* The working dot before a pressed button's words: the one beat. */
|
|
361
|
-
.ws-dot { width: calc(var(--space-xxs) * 1.5); height: calc(var(--space-xxs) * 1.5); border-radius: var(--radius-full); background: currentColor; }
|
|
362
|
-
/* A round icon button: ghost, outline, solid or primary; 32 by default. */
|
|
363
|
-
.ws-icon-btn { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: var(--ws-control-h); height: var(--ws-control-h); border: 0; border-radius: var(--radius-full); background: transparent; color: var(--color-text-body); cursor: pointer; outline: none; transition: background-color var(--ws-duration-instant) var(--ws-ease-soft), transform var(--ws-duration-instant) var(--ws-ease-soft); }
|
|
364
|
-
.ws-icon-btn:hover { background: var(--ws-surface-sunk); color: var(--color-text-heading); }
|
|
365
|
-
.ws-icon-btn:active { transform: scale(var(--ws-press-scale)); }
|
|
366
|
-
.ws-icon-btn:focus-visible { box-shadow: var(--shadow-focus-ring); }
|
|
367
|
-
.ws-icon-btn--xs { width: var(--space-lg); height: var(--space-lg); }
|
|
368
|
-
.ws-icon-btn--sm { width: var(--ws-control-h-sm); height: var(--ws-control-h-sm); }
|
|
369
|
-
.ws-icon-btn--lg { width: var(--ws-control-h-md); height: var(--ws-control-h-md); }
|
|
370
|
-
.ws-icon-btn--outline { background: var(--color-bg-page); box-shadow: var(--ws-shadow-hairline); }
|
|
371
|
-
.ws-icon-btn--solid { background: var(--ws-surface-sunk); color: var(--color-text-heading); }
|
|
372
|
-
.ws-icon-btn--solid:hover { background: var(--color-gray-2); }
|
|
373
|
-
.ws-icon-btn--primary, .ws-icon-btn[aria-pressed="true"] { background: var(--color-text-heading); color: var(--color-white); }
|
|
374
|
-
.ws-icon-btn--primary:hover { background: var(--color-text-heading); opacity: 0.9; }
|
|
375
|
-
.ws-icon-btn svg { width: var(--ws-icon); height: var(--ws-icon); }
|
|
376
|
-
.ws-icon-btn--lg svg { width: var(--ws-icon-lg); height: var(--ws-icon-lg); }
|
|
377
|
-
|
|
378
|
-
/* ---- Fields: white ground, the fine edge, the mid-blue edge and the halo while typing. ---- */
|
|
379
|
-
.ws-field { display: flex; flex-direction: column; gap: var(--space-xxs); }
|
|
380
|
-
.ws-label { font-size: var(--ws-text-dense); line-height: var(--space-md); font-weight: 500; color: var(--color-text-body); }
|
|
381
|
-
.ws-input, .ws-select, .ws-textarea { width: 100%; border: var(--ws-line) solid transparent; border-radius: var(--ws-radius-control); background: var(--ws-field); box-shadow: var(--ws-shadow-hairline); color: var(--color-gray-8); font-size: var(--ws-text-body); outline: none; transition: border-color var(--ws-duration-instant) var(--ws-ease-soft), box-shadow var(--ws-duration-instant) var(--ws-ease-soft); }
|
|
382
|
-
.ws-input, .ws-select { height: var(--ws-control-h); padding: 0 var(--space-sm); }
|
|
383
|
-
.ws-textarea { padding: var(--space-xs) var(--space-sm); line-height: calc(var(--space-md) + var(--space-xxs)); resize: vertical; min-height: calc(var(--space-4xl) + var(--space-xs)); }
|
|
384
|
-
.ws-input::placeholder, .ws-textarea::placeholder { color: var(--color-text-placeholder); }
|
|
385
|
-
.ws-input:focus-visible, .ws-select:focus-visible, .ws-textarea:focus-visible { border-color: var(--color-brand-mid-blue); background: var(--color-white); box-shadow: var(--ws-shadow-hairline), var(--shadow-focus-ring); }
|
|
386
|
-
.ws-input[aria-invalid="true"], .ws-select[aria-invalid="true"], .ws-textarea[aria-invalid="true"] { border-color: var(--color-brand-salmon); }
|
|
387
|
-
.ws-select-wrap { position: relative; display: flex; }
|
|
388
|
-
.ws-select { appearance: none; padding-right: var(--space-xl); }
|
|
389
|
-
.ws-select-wrap > svg { position: absolute; right: var(--space-xs); top: 50%; width: var(--ws-icon); height: var(--ws-icon); transform: translateY(-50%); pointer-events: none; color: var(--color-text-muted); }
|
|
390
|
-
.ws-field-msg { font-size: var(--ws-text-dense); line-height: var(--space-md); color: var(--color-text-muted); }
|
|
391
|
-
.ws-field-msg--error { display: flex; align-items: flex-start; gap: var(--space-xxs); color: var(--ws-word-needs); }
|
|
392
|
-
.ws-field-msg--error svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); flex-shrink: 0; margin-top: calc(var(--space-xxs) / 2); }
|
|
393
|
-
@media (pointer: coarse) { .ws-input, .ws-select { height: var(--ws-touch); } }
|
|
394
|
-
|
|
395
|
-
/* ---- Chips: 24 px, the cream with the 0.5 px chip edge or a tint, 2 px corners, 12 px medium. ---- */
|
|
396
|
-
.ws-chip { display: inline-flex; align-items: center; gap: var(--space-xxs); height: var(--space-lg); padding: 0 var(--space-xs); border-radius: var(--ws-radius-chip); background: var(--color-bg-page); color: var(--color-text-body); font-size: var(--ws-text-dense); line-height: var(--space-md); font-weight: 500; white-space: nowrap; box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-chip); }
|
|
397
|
-
.ws-chip--sunk { background: var(--ws-surface-sunk); box-shadow: none; }
|
|
398
|
-
.ws-chip--accent { background: var(--ws-surface-sunk); color: var(--color-text-interactive); box-shadow: none; }
|
|
399
|
-
.ws-chip--live { background: var(--ws-tint-live); color: var(--ws-word-positive); box-shadow: none; }
|
|
400
|
-
.ws-chip--navy { background: var(--ws-surface-sunk); color: var(--color-text-heading); font-weight: 600; box-shadow: none; }
|
|
401
|
-
.ws-chip--needs { background: var(--ws-tint-needs); color: var(--ws-word-needs); box-shadow: none; }
|
|
402
|
-
.ws-chip svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); }
|
|
403
|
-
/* A change beside its number (from the first product built on the system): arrow and words, never colour alone; up teal, down mid blue, the same grey. */
|
|
404
|
-
.ws-change { display: inline-flex; align-items: center; gap: var(--space-xxs); padding: var(--space-xxs) var(--space-xs); border-radius: var(--ws-radius-chip); background: var(--color-bg-page); font-size: var(--ws-text-dense); line-height: var(--space-md); font-weight: 500; white-space: nowrap; color: var(--color-text-muted); box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-chip); }
|
|
405
|
-
.ws-change--up { color: var(--ws-word-positive); }
|
|
406
|
-
.ws-change--down { color: var(--color-text-interactive); }
|
|
407
|
-
.ws-change svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); }
|
|
408
|
-
|
|
409
|
-
/* ---- Kbd: a key as printed on the keyboard (from the first product's shortcut list). The cream sunk a shade, a 1 px edge,
|
|
410
|
-
round ends, 12 px semibold navy in the house face (a <kbd> is monospace by default). At least as wide as it is tall. ---- */
|
|
411
|
-
.ws-kbd { display: inline-flex; align-items: center; justify-content: center; min-width: var(--space-lg); padding: 0 var(--space-xxs); border: var(--ws-line) solid var(--color-border-default); border-radius: var(--radius-xl); background: var(--ws-surface-sunk); color: var(--color-text-heading); font-family: var(--font-body); font-size: var(--font-size-2xs); line-height: 1.5; font-weight: 600; white-space: nowrap; }
|
|
412
|
-
|
|
413
|
-
/* ---- Segmented: a cream track with the fine edge, 6 px corners, 2 px inside; the current item a navy thumb with 4 px corners. ---- */
|
|
414
|
-
.ws-segmented { display: inline-flex; padding: calc(var(--space-xxs) / 2); gap: calc(var(--space-xxs) / 2); border-radius: var(--ws-radius-row); background: var(--color-bg-page); box-shadow: var(--ws-shadow-hairline); }
|
|
415
|
-
.ws-segmented--stretch { display: flex; }
|
|
416
|
-
.ws-segmented--stretch > * { flex: 1; }
|
|
417
|
-
.ws-segmented__item { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xxs); height: var(--ws-control-h-sm); padding: 0 var(--space-sm); border: 0; border-radius: var(--ws-radius-control); background: transparent; color: var(--color-text-body); font-size: var(--ws-text-dense); line-height: var(--space-md); font-weight: 500; cursor: pointer; white-space: nowrap; transition: background-color var(--ws-duration-instant) var(--ws-ease-soft), color var(--ws-duration-instant) var(--ws-ease-soft); }
|
|
418
|
-
.ws-segmented__item:hover { color: var(--color-text-heading); }
|
|
419
|
-
.ws-segmented__item[aria-selected="true"], .ws-segmented__item[aria-current] { background: var(--color-text-heading); color: var(--color-white); }
|
|
420
|
-
.ws-segmented__item:focus-visible { box-shadow: var(--shadow-focus-ring); }
|
|
421
|
-
|
|
422
|
-
/* ---- Rows and lists ---- */
|
|
423
|
-
.ws-row { display: flex; align-items: center; gap: var(--space-xs); min-height: var(--ws-row-h-dense); padding: 0 var(--space-sm); border-radius: var(--ws-radius-row); color: var(--color-text-heading); transition: background-color var(--ws-duration-instant) var(--ws-ease-soft); }
|
|
424
|
-
.ws-row:hover { background: var(--ws-surface-sunk); }
|
|
425
|
-
.ws-row:active { background: var(--ws-surface-press); }
|
|
426
|
-
.ws-row__title { font-size: var(--ws-text-body); line-height: calc(var(--space-md) + var(--space-xxs)); font-weight: 500; color: var(--color-text-heading); }
|
|
427
|
-
.ws-rule { height: var(--ws-line); background: var(--ws-chart-cell-edge, var(--ws-edge-slot)); }
|
|
428
|
-
/* An avatar: a disc of navy initials on the sunk cream, the hairline ring by default (it mostly sits on a cream card);
|
|
429
|
-
--plain drops the ring. Sizes as the first product writes them: sm 28 (12 px initials), the default 32 (14), deck 48
|
|
430
|
-
(14), panel 56 (16), xl 64 (24). */
|
|
431
|
-
.ws-avatar { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: var(--ws-avatar); height: var(--ws-avatar); overflow: hidden; border-radius: var(--radius-full); background: var(--ws-surface-sunk); color: var(--color-text-heading); font-size: var(--ws-text-body); font-weight: 600; box-shadow: var(--ws-shadow-hairline); }
|
|
432
|
-
.ws-avatar--plain { box-shadow: none; }
|
|
433
|
-
.ws-avatar--dim { opacity: 0.6; }
|
|
434
|
-
.ws-avatar--sm { width: var(--ws-control-h-sm); height: var(--ws-control-h-sm); font-size: var(--ws-text-dense); }
|
|
435
|
-
.ws-avatar--deck { width: var(--space-3xl); height: var(--space-3xl); font-size: var(--ws-text-body); }
|
|
436
|
-
.ws-avatar--panel { width: calc(var(--space-3xl) + var(--space-xs)); height: calc(var(--space-3xl) + var(--space-xs)); font-size: var(--ws-text-value); }
|
|
437
|
-
.ws-avatar--xl { width: var(--space-4xl); height: var(--space-4xl); font-size: var(--font-size-xl); }
|
|
438
|
-
/* A stack of faces overlapping by 4 on cream rings, the rest as "+N" in the same disc. */
|
|
439
|
-
.ws-avatar-stack { display: flex; align-items: center; }
|
|
440
|
-
.ws-avatar-stack > * + * { margin-left: calc(var(--space-xxs) * -1); }
|
|
441
|
-
.ws-avatar-stack > .ws-avatar { box-shadow: 0 0 0 var(--ws-ring) var(--color-bg-page); }
|
|
442
|
-
.ws-avatar-stack__more { color: var(--color-text-body); }
|
|
443
|
-
|
|
444
|
-
/* ---- Motion: one soft curve; everything is still with reduced motion. ---- */
|
|
445
|
-
@keyframes ws-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }
|
|
446
|
-
@keyframes ws-rise { from { opacity: 0; transform: translateY(var(--ws-rise)); } to { opacity: 1; transform: none; } }
|
|
447
|
-
@keyframes ws-grow { from { transform: scaleX(0); } to { transform: none; } }
|
|
448
|
-
@keyframes ws-grow-up { from { transform: scaleY(0); } to { transform: none; } }
|
|
449
|
-
@keyframes ws-wipe { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0); } }
|
|
450
|
-
@keyframes ws-bloom { from { opacity: 0; transform: scale(0.6); } to { opacity: 1; transform: none; } }
|
|
451
|
-
@keyframes ws-pop { from { transform: scale(0.85); } to { transform: none; } }
|
|
452
|
-
@keyframes ws-draw { from { stroke-dasharray: 0 1; } }
|
|
453
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
454
|
-
.ws-working { animation: ws-pulse var(--ws-loop) var(--ws-ease-soft) infinite; }
|
|
455
|
-
.ws-working-slow { animation: ws-pulse var(--ws-loop-slow) var(--ws-ease-soft) infinite; }
|
|
456
|
-
.ws-arrive { animation: ws-rise var(--ws-duration-gentle) var(--ws-ease-soft) backwards; }
|
|
457
|
-
.ws-rise { animation: ws-rise var(--ws-duration-settle) var(--ws-ease-soft) backwards; }
|
|
458
|
-
.ws-grow { animation: ws-grow var(--ws-duration-calm) var(--ws-ease-soft) backwards; transform-origin: left; }
|
|
459
|
-
.ws-grow-up { animation: ws-grow-up var(--ws-duration-calm) var(--ws-ease-soft) backwards; transform-origin: bottom; }
|
|
460
|
-
.ws-wipe { animation: ws-wipe var(--ws-duration-calm) var(--ws-ease-soft) backwards; }
|
|
461
|
-
.ws-bloom { animation: ws-bloom var(--ws-duration-settle) var(--ws-ease-soft) backwards; }
|
|
462
|
-
.ws-pop { animation: ws-pop var(--ws-duration-settle) var(--ws-ease-soft) backwards; }
|
|
463
|
-
}
|
|
464
|
-
@media (prefers-reduced-motion: reduce) { .ws-btn, .ws-icon-btn { transition: none; } .ws-btn:active, .ws-icon-btn:active { transform: none; } }
|
|
465
|
-
|
|
466
|
-
/* ==== Components, A to Z ==== */
|
|
467
|
-
/* ---- ActionList: a card's ranked list of next acts: who or what, the reason in words, the one act at the right ---- */
|
|
468
|
-
.ws-action-list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
|
|
469
|
-
.ws-action-list__row { display: flex; align-items: center; gap: var(--space-sm); padding: var(--space-sm) var(--ws-card-inset); }
|
|
470
|
-
.ws-action-list__row + .ws-action-list__row { border-top: var(--ws-line) solid var(--ws-chart-cell-edge); }
|
|
471
|
-
.ws-action-list__text { display: flex; flex: 1; flex-direction: column; gap: var(--space-xxs); min-width: 0; }
|
|
472
|
-
.ws-action-list__title { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-heading); }
|
|
473
|
-
.ws-action-list__reason { font-size: var(--ws-text-meta); color: var(--color-text-body); }
|
|
474
|
-
.ws-action-list__act { flex-shrink: 0; }
|
|
475
|
-
/* ---- ActivityGrid: who reached out, two weeks of day cells a row and a count at the end ---- */
|
|
476
|
-
.ws-activity-grid__body { display: flex; flex-direction: column; gap: var(--space-xl); padding: calc(var(--space-md) + var(--space-xxs) / 2) var(--ws-card-inset) calc(var(--space-xxs) * 1.5); }
|
|
477
|
-
.ws-activity-grid__grid { display: grid; width: 100%; grid-template-columns: minmax(var(--space-4xl), max-content) repeat(7, minmax(0, 1fr)) var(--space-xs) repeat(7, minmax(0, 1fr)) calc(var(--space-md) + var(--space-xs) * 0.75); gap: var(--space-xxs); align-items: center; }
|
|
478
|
-
.ws-activity-grid__grid--week { grid-template-columns: minmax(var(--space-4xl), max-content) repeat(7, minmax(0, 1fr)) calc(var(--space-md) + var(--space-xs) * 0.75); }
|
|
479
|
-
.ws-activity-grid__week { grid-column: span 7; font-size: var(--ws-text-micro); font-weight: 500; line-height: var(--font-size-xs); color: var(--color-text-body); white-space: nowrap; }
|
|
480
|
-
.ws-activity-grid__letter { text-align: center; font-size: var(--ws-text-micro); font-weight: 500; color: var(--color-text-muted); }
|
|
481
|
-
.ws-activity-grid__letter--today { color: var(--ws-word-needs); }
|
|
482
|
-
.ws-activity-grid__name { padding-right: var(--space-xs); font-size: var(--ws-text-meta); line-height: var(--space-md); color: var(--color-text-muted); white-space: nowrap; }
|
|
483
|
-
.ws-activity-grid__name--active { font-weight: 500; color: var(--color-text-heading); }
|
|
484
|
-
.ws-activity-grid__cell { position: relative; width: 100%; aspect-ratio: 1; }
|
|
485
|
-
/* A day done: a navy dot, a week ago a lighter navy; salmon while pointed at. */
|
|
486
|
-
.ws-activity-grid__dot { display: block; width: 100%; height: 100%; border-radius: var(--radius-full); background: var(--color-brand-navy); }
|
|
487
|
-
.ws-activity-grid__dot--past { background: color-mix(in srgb, var(--ws-chart-navy-light) 40%, var(--color-brand-navy)); }
|
|
488
|
-
.ws-activity-grid__dot--pointed { background: var(--color-brand-salmon); }
|
|
489
|
-
.ws-activity-grid__empty, .ws-activity-grid__today { display: block; width: 100%; height: 100%; border-radius: var(--ws-radius-control); border: var(--ws-hairline) solid var(--ws-edge-slot); background: var(--color-bg-page); }
|
|
490
|
-
.ws-activity-grid__today { border: var(--ws-line) solid color-mix(in srgb, var(--color-brand-salmon) 50%, var(--color-bg-page)); }
|
|
491
|
-
.ws-activity-grid__empty--future { border-style: dashed; }
|
|
492
|
-
.ws-activity-grid__count { text-align: right; font-size: var(--ws-text-chart); font-weight: 600; color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
493
|
-
.ws-activity-grid__count--zero { font-weight: 400; color: var(--color-text-muted); }
|
|
494
|
-
.ws-activity-grid__note { font-size: var(--ws-text-dense); color: var(--color-text-muted); }
|
|
495
|
-
/* A day's own small card (tip), a menu lifted over its cell. Use with ws-menu. */
|
|
496
|
-
.ws-activity-grid__tip { position: absolute; left: 50%; bottom: calc(100% + var(--space-xs)); transform: translateX(-50%); padding: var(--space-sm); }
|
|
497
|
-
.ws-activity-grid__tip-title { font-weight: 500; }
|
|
498
|
-
|
|
499
|
-
/* ---- AppShell: a page-based product's shell, the grouped nav on the grey beside the cream stage and its 56 px bar.
|
|
500
|
-
It fills its parent's height: give that parent the window's (100dvh) on a page. ---- */
|
|
501
|
-
.ws-app-shell { display: flex; height: 100%; background: var(--ws-page); padding: var(--space-xs); gap: var(--space-xs); }
|
|
502
|
-
.ws-app-shell__nav { width: var(--ws-sidebar-width); flex-shrink: 0; display: flex; flex-direction: column; padding: var(--space-sm) var(--space-xs); gap: var(--space-xs); overflow-y: auto; }
|
|
503
|
-
.ws-app-shell__wordmark { display: flex; align-items: center; height: var(--space-xl); padding: 0 var(--space-xs); margin-bottom: var(--space-xs); font-size: var(--ws-text-value); font-weight: 600; color: var(--color-text-heading); }
|
|
504
|
-
.ws-app-shell__eyebrow { padding: var(--space-sm) var(--space-xs) var(--space-xxs); }
|
|
505
|
-
.ws-app-shell__eyebrow:first-of-type { padding-top: var(--space-xxs); }
|
|
506
|
-
.ws-app-shell__rows { display: flex; flex-direction: column; gap: calc(var(--space-xxs) / 2); }
|
|
507
|
-
.ws-app-shell__row { display: flex; align-items: center; gap: var(--space-xs); width: 100%; height: var(--space-xl); padding: 0 var(--space-xs); border-radius: var(--ws-radius-row); border: 0; background: none; text-align: left; font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-heading); cursor: pointer; }
|
|
508
|
-
.ws-app-shell__row:hover, .ws-app-shell__row--current { background: var(--ws-sidebar-hover); }
|
|
509
|
-
.ws-app-shell__row svg { width: var(--ws-icon); height: var(--ws-icon); flex-shrink: 0; color: currentColor; }
|
|
510
|
-
.ws-app-shell__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
511
|
-
/* A row's count: the badge's needs tint, its words in the AA salmon step (salmon itself is never words). */
|
|
512
|
-
.ws-app-shell__count { flex-shrink: 0; min-width: calc(var(--space-md) + var(--space-xxs) / 2); height: calc(var(--space-md) + var(--space-xxs) / 2); padding: 0 calc(var(--space-xxs) * 1.25); border-radius: var(--radius-full); background: var(--ws-tint-needs); color: var(--ws-word-needs); font-size: var(--ws-text-micro); font-weight: 600; display: inline-flex; align-items: center; justify-content: center; }
|
|
513
|
-
.ws-app-shell__foot { margin-top: auto; padding-top: var(--space-sm); display: flex; align-items: center; gap: var(--space-xs); border-top: var(--ws-hairline) solid var(--ws-edge-card); }
|
|
514
|
-
.ws-app-shell__foot-words { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
|
|
515
|
-
.ws-app-shell__foot-name { font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-heading); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
516
|
-
.ws-app-shell__stage { flex: 1; min-width: 0; display: flex; flex-direction: column; background: var(--color-bg-page); border-radius: var(--ws-radius-panel); outline: var(--ws-hairline) solid var(--ws-edge-card); outline-offset: calc(var(--ws-hairline) * -1); overflow: hidden; }
|
|
517
|
-
.ws-app-shell__bar { flex-shrink: 0; height: var(--ws-header-h); display: flex; align-items: center; gap: var(--space-md); padding: 0 var(--space-lg); border-bottom: var(--ws-hairline) solid var(--ws-edge-card); }
|
|
518
|
-
.ws-app-shell__title { font-size: var(--font-size-2xl); line-height: var(--space-xl); font-weight: 600; color: var(--color-text-heading); white-space: nowrap; }
|
|
519
|
-
.ws-app-shell__search { width: calc(var(--space-9xl) + var(--space-md) + var(--space-xxs)); height: var(--space-xl); display: flex; align-items: center; gap: var(--space-xxs); padding: 0 var(--space-xs); border-radius: var(--ws-radius-control); background: var(--ws-field); box-shadow: var(--ws-shadow-hairline); color: var(--color-text-muted); font-size: var(--ws-text-meta); margin-left: auto; }
|
|
520
|
-
.ws-app-shell__search svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); flex-shrink: 0; }
|
|
521
|
-
.ws-app-shell__body { flex: 1; min-width: 0; padding: var(--space-lg); overflow: auto; display: flex; flex-direction: column; gap: var(--space-md); }
|
|
522
|
-
/* Folded: the nav as a 72 px rail of marks. */
|
|
523
|
-
.ws-app-shell__rail { width: var(--ws-rail-width); flex-shrink: 0; display: flex; flex-direction: column; align-items: center; padding: var(--space-sm) var(--space-xxs); gap: var(--space-xxs); }
|
|
524
|
-
.ws-app-shell__mark { width: calc(var(--space-2xl) + var(--space-xxs)); height: calc(var(--space-2xl) + var(--space-xxs)); display: flex; align-items: center; justify-content: center; border-radius: var(--ws-radius-card); color: var(--color-text-heading); }
|
|
525
|
-
.ws-app-shell__mark--current { background: var(--color-white); box-shadow: var(--ws-shadow-hairline); }
|
|
526
|
-
.ws-app-shell__mark--wordmark { font-size: var(--ws-text-value); font-weight: 600; }
|
|
527
|
-
.ws-app-shell__mark svg { width: var(--ws-icon); height: var(--ws-icon); }
|
|
528
|
-
|
|
529
|
-
/* ---- Badge: a count or a dot on a face, a row or a button (and the kit's marketing pill) ---- */
|
|
530
|
-
.ws-badge { display: inline-flex; align-items: center; justify-content: center; min-width: var(--space-md); height: var(--space-md); padding: 0 var(--space-xxs); border-radius: var(--ws-radius-chip); font-size: var(--ws-text-micro); line-height: var(--space-md); font-weight: 600; font-variant-numeric: tabular-nums; }
|
|
531
|
-
.ws-badge--needs { background: var(--ws-tint-needs); color: var(--ws-word-needs); }
|
|
532
|
-
.ws-badge--neutral { background: var(--ws-surface-sunk); color: var(--color-text-heading); }
|
|
533
|
-
.ws-badge--dot { width: calc(var(--space-xxs) * 1.5); min-width: calc(var(--space-xxs) * 1.5); height: calc(var(--space-xxs) * 1.5); padding: 0; border-radius: var(--radius-full); background: var(--color-brand-salmon); }
|
|
534
|
-
/* What a badge sits on: the badge on its top right corner, 4 px out. */
|
|
535
|
-
.ws-badge-host { position: relative; display: inline-flex; }
|
|
536
|
-
.ws-badge-host > .ws-badge { position: absolute; top: calc(var(--space-xxs) * -1); right: calc(var(--space-xxs) * -1); }
|
|
537
|
-
/* The kit's badge, marketing pages only: a pill, 12 px medium, six tones. */
|
|
538
|
-
.ws-kit-badge { display: inline-flex; align-items: center; gap: var(--space-xxs); padding: calc(var(--space-xxs) / 2) calc(var(--space-xs) + var(--space-xxs) / 2); border-radius: var(--radius-full); font-size: var(--font-size-2xs); line-height: calc(var(--space-md) + var(--space-xxs) / 2); font-weight: 500; white-space: nowrap; }
|
|
539
|
-
.ws-kit-badge--navy { background: color-mix(in srgb, var(--color-brand-navy) 10%, transparent); color: var(--color-brand-navy); }
|
|
540
|
-
.ws-kit-badge--neutral { background: var(--color-gray-2); color: var(--color-gray-8); }
|
|
541
|
-
.ws-kit-badge--brand { background: color-mix(in srgb, var(--color-brand-salmon) 12%, transparent); color: var(--color-brand-salmon); }
|
|
542
|
-
.ws-kit-badge--success { background: var(--color-feedback-success-bg); color: var(--color-feedback-success-text); }
|
|
543
|
-
.ws-kit-badge--error { background: color-mix(in srgb, var(--color-feedback-error) 14%, transparent); color: var(--color-feedback-error); }
|
|
544
|
-
.ws-kit-badge--outline { background: transparent; color: var(--color-text-body); border: var(--ws-line) solid var(--color-border-hairline); }
|
|
545
|
-
|
|
546
|
-
/* ---- Banner: a full-width line of news on a tint, its mark, its words and at most one act ---- */
|
|
547
|
-
.ws-banner { display: flex; align-items: center; gap: var(--space-xs); width: 100%; padding: var(--space-sm); border-radius: var(--ws-radius-card); }
|
|
548
|
-
.ws-banner__mark { width: var(--ws-icon); height: var(--ws-icon); flex-shrink: 0; }
|
|
549
|
-
.ws-banner__words { flex: 1; font-size: var(--ws-text-body); line-height: calc(var(--space-md) + var(--space-xxs)); }
|
|
550
|
-
.ws-banner__lead { font-weight: 500; color: var(--color-text-heading); }
|
|
551
|
-
.ws-banner__rest { color: var(--color-text-body); }
|
|
552
|
-
.ws-banner--neutral { background: var(--ws-surface-sunk); }
|
|
553
|
-
.ws-banner--neutral .ws-banner__mark { color: var(--color-text-muted); }
|
|
554
|
-
.ws-banner--needs { background: var(--ws-tint-needs); }
|
|
555
|
-
.ws-banner--needs .ws-banner__mark, .ws-banner--needs .ws-banner__lead { color: var(--ws-word-needs); }
|
|
556
|
-
.ws-banner--positive { background: var(--ws-tint-live); }
|
|
557
|
-
.ws-banner--positive .ws-banner__mark, .ws-banner--positive .ws-banner__lead { color: var(--ws-word-positive); }
|
|
558
|
-
.ws-banner--working { background: var(--ws-card-tint-blue); }
|
|
559
|
-
.ws-banner--working .ws-banner__mark, .ws-banner--working .ws-banner__lead { color: var(--color-text-interactive); }
|
|
560
|
-
|
|
561
|
-
/* ---- Breadcrumb: where a page sits, links in mid blue, chevrons between, the current page navy; never wraps ---- */
|
|
562
|
-
.ws-breadcrumb { display: flex; align-items: center; gap: var(--space-xxs); font-size: var(--ws-text-meta); line-height: var(--space-md); flex-wrap: nowrap; overflow: hidden; }
|
|
563
|
-
.ws-breadcrumb a { color: var(--color-text-interactive); text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: var(--space-8xl); }
|
|
564
|
-
.ws-breadcrumb a:hover { text-decoration: underline; }
|
|
565
|
-
.ws-breadcrumb__current { color: var(--color-text-heading); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: var(--space-9xl); }
|
|
566
|
-
.ws-breadcrumb__chevron { flex-shrink: 0; width: var(--ws-icon-sm); height: var(--ws-icon-sm); color: var(--color-text-muted); }
|
|
567
|
-
.ws-breadcrumb__ellipsis { font-size: inherit; padding: 0 calc(var(--space-xxs) / 2); color: var(--color-text-muted); }
|
|
568
|
-
|
|
569
|
-
/* ---- Card: the one card's padding steps, its pressable look and its compound parts (head line, body, list) ---- */
|
|
570
|
-
.ws-card--pad-sm { padding: var(--ws-card-padding); }
|
|
571
|
-
.ws-card--pad-md { padding: var(--ws-card-padding-lg); }
|
|
572
|
-
/* A card that is a link or a button: the whole card is the target; it tints, it never lifts. */
|
|
573
|
-
a.ws-card, button.ws-card { display: block; width: 100%; border: 0; text-align: left; text-decoration: none; color: inherit; cursor: pointer; transition: background-color var(--ws-duration-gentle) var(--ws-ease-soft), box-shadow var(--ws-duration-gentle) var(--ws-ease-soft); }
|
|
574
|
-
a.ws-card:hover, button.ws-card:hover { background: var(--ws-surface-sunk); }
|
|
575
|
-
a.ws-card:active, button.ws-card:active { background: var(--ws-surface-press); }
|
|
576
|
-
a.ws-card:focus-visible, button.ws-card:focus-visible { outline: none; box-shadow: var(--shadow-focus-ring); }
|
|
577
|
-
@media (prefers-reduced-motion: reduce) { a.ws-card, button.ws-card { transition: none; } }
|
|
578
|
-
/* A compound card (head, body, band): a column, clipped to its corners so the band's shade stays inside. */
|
|
579
|
-
.ws-card--compound { display: flex; flex-direction: column; overflow: hidden; }
|
|
580
|
-
/* The one line under a card's title or a section title. */
|
|
581
|
-
.ws-card__line { margin-top: var(--space-xxs); }
|
|
582
|
-
.ws-card__body { padding: 0 var(--ws-card-inset) var(--space-md); }
|
|
583
|
-
/* The sample drawing in this preview: a short run of bars on the dots. */
|
|
584
|
-
.ws-card__bars { display: flex; align-items: flex-end; gap: var(--space-xxs); height: calc(var(--space-4xl) + var(--space-xs)); }
|
|
585
|
-
.ws-card__bar { width: calc(var(--space-md) + var(--space-xxs) / 2); border-radius: var(--ws-radius-bar) var(--ws-radius-bar) 0 0; background: var(--color-stat-positive); transform-origin: bottom; }
|
|
586
|
-
/* A plain list card: a small head, one row per fact, a hairline between. */
|
|
587
|
-
.ws-card__list-head { padding: var(--ws-card-padding-lg) var(--ws-card-padding-lg) var(--space-xxs); }
|
|
588
|
-
.ws-card__list-row { display: flex; align-items: center; justify-content: space-between; padding: var(--space-xs) var(--ws-card-padding-lg); }
|
|
589
|
-
.ws-card__list-row + .ws-card__list-row { border-top: var(--ws-line) solid var(--ws-chart-cell-edge); }
|
|
590
|
-
.ws-card__value { font-weight: 600; color: var(--color-text-heading); }
|
|
591
|
-
|
|
592
|
-
/* ---- ChatCard: a suggestion, task or reminder in the chat; a door on the left of its band, its acts on the right ---- */
|
|
593
|
-
.ws-chat-card { position: relative; display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--ws-card-inset); }
|
|
594
|
-
.ws-chat-card__head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-xs); min-height: var(--space-lg); }
|
|
595
|
-
.ws-chat-card__kind { display: flex; align-items: center; gap: var(--space-xs); min-width: 0; }
|
|
596
|
-
.ws-chat-card__disc { width: var(--space-lg); height: var(--space-lg); }
|
|
597
|
-
.ws-chat-card__disc svg { width: var(--space-sm); height: var(--space-sm); }
|
|
598
|
-
.ws-chat-card__disc--needs { background: var(--ws-tint-needs); color: var(--color-brand-salmon); }
|
|
599
|
-
.ws-chat-card__timer { display: inline-flex; align-items: center; gap: var(--space-xxs); padding: var(--space-xxs) var(--space-xs); border-radius: var(--ws-radius-chip); background: var(--ws-surface-sunk); color: var(--color-text-heading); font-size: var(--ws-text-dense); font-weight: 500; font-variant-numeric: tabular-nums; }
|
|
600
|
-
.ws-chat-card__timer svg { width: var(--space-sm); height: var(--space-sm); }
|
|
601
|
-
.ws-chat-card__close { position: absolute; top: var(--space-xs); right: var(--space-xs); color: var(--color-text-muted); }
|
|
602
|
-
.ws-chat-card__facts { display: flex; gap: var(--space-md); font-size: var(--ws-text-dense); color: var(--color-text-body); }
|
|
603
|
-
.ws-chat-card__facts b { font-weight: 600; color: var(--color-text-heading); }
|
|
604
|
-
.ws-chat-card__band { margin: var(--space-xs) calc(var(--ws-card-inset) * -1) calc(var(--ws-card-inset) * -1); border-radius: 0 0 var(--ws-radius-card) var(--ws-radius-card); }
|
|
605
|
-
.ws-chat-card__door { display: inline-flex; align-items: center; gap: var(--space-xxs); margin-right: auto; font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-body); text-decoration: none; }
|
|
606
|
-
.ws-chat-card__door:hover { text-decoration: underline; }
|
|
607
|
-
.ws-chat-card__door svg { width: var(--space-sm); height: var(--space-sm); }
|
|
608
|
-
.ws-chat-card__acts { display: flex; align-items: center; gap: var(--space-xs); margin-left: auto; }
|
|
609
|
-
|
|
610
|
-
/* ---- ChatTurn: one turn in the chat, the person's in a bubble at the right, the agent's as plain words ---- */
|
|
611
|
-
.ws-chat-turn { display: flex; flex-direction: column; gap: var(--space-xxs); }
|
|
612
|
-
.ws-chat-turn + .ws-chat-turn { margin-top: var(--ws-gap-turn); }
|
|
613
|
-
.ws-chat-turn--person { align-items: flex-end; }
|
|
614
|
-
.ws-chat-turn--agent { align-items: flex-start; }
|
|
615
|
-
.ws-chat-turn__bubble { max-width: min(86%, 60ch); padding: calc(var(--space-xs) + var(--space-xxs) / 2) calc(var(--space-sm) + var(--space-xxs) / 2); border-radius: var(--ws-radius-bubble); background: var(--ws-surface-sunk); font-size: var(--ws-text-message); line-height: calc(var(--space-md) + var(--space-xxs)); color: var(--color-text-heading); }
|
|
616
|
-
.ws-chat-turn__words { max-width: 60ch; font-size: var(--ws-text-message); line-height: var(--ws-leading-message); color: var(--color-text-heading); }
|
|
617
|
-
.ws-chat-turn__act { display: flex; align-items: center; gap: var(--space-xs); padding: 0 var(--space-xs); font-size: var(--ws-text-dense); color: var(--color-text-body); }
|
|
618
|
-
.ws-chat-turn__act svg { width: var(--space-sm); height: var(--space-sm); flex-shrink: 0; color: var(--color-stat-positive); }
|
|
619
|
-
.ws-chat-turn__door { font-weight: 500; color: var(--color-text-heading); text-decoration: none; }
|
|
620
|
-
.ws-chat-turn__door:hover { text-decoration: underline; }
|
|
621
|
-
.ws-chat-turn__working { display: flex; align-items: center; gap: var(--space-xs); padding: var(--space-xxs) 0; }
|
|
622
|
-
.ws-chat-turn__dots { display: flex; gap: var(--space-xxs); }
|
|
623
|
-
.ws-chat-turn__dots span { width: calc(var(--space-xxs) * 1.5); height: calc(var(--space-xxs) * 1.5); border-radius: var(--radius-full); background: var(--color-text-muted); }
|
|
624
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
625
|
-
.ws-chat-turn__dots span { animation: ws-pulse var(--ws-loop) var(--ws-ease-soft) infinite; }
|
|
626
|
-
.ws-chat-turn__dots span:nth-child(2) { animation-delay: calc(var(--ws-loop) / 8); }
|
|
627
|
-
.ws-chat-turn__dots span:nth-child(3) { animation-delay: calc(var(--ws-loop) / 4); }
|
|
628
|
-
}
|
|
629
|
-
|
|
630
|
-
/* ---- Checkbox: a native input under a skin, navy when chosen; the label is part of the target ---- */
|
|
631
|
-
.ws-check { display: flex; align-items: flex-start; gap: var(--space-xs); cursor: pointer; padding: var(--space-xxs) 0; }
|
|
632
|
-
.ws-check input { position: absolute; width: var(--ws-line); height: var(--ws-line); opacity: 0; }
|
|
633
|
-
.ws-check__box { position: relative; flex-shrink: 0; margin-top: calc(var(--space-xxs) / 2); width: var(--ws-icon); height: var(--ws-icon); border-radius: var(--radius-xs); border: var(--ws-line) solid var(--ws-edge-card); background: var(--color-bg-page); transition: background-color var(--ws-duration-instant) var(--ws-ease-soft), border-color var(--ws-duration-instant) var(--ws-ease-soft); }
|
|
634
|
-
.ws-check input:checked + .ws-check__box { background: var(--color-text-heading); border-color: var(--color-text-heading); }
|
|
635
|
-
.ws-check__box svg { position: absolute; inset: 0; color: var(--color-white); opacity: 0; }
|
|
636
|
-
.ws-check input:checked + .ws-check__box svg { opacity: 1; }
|
|
637
|
-
.ws-check input:focus-visible + .ws-check__box { box-shadow: var(--shadow-focus-ring); }
|
|
638
|
-
.ws-check__words { display: flex; flex-direction: column; gap: calc(var(--space-xxs) / 2); }
|
|
639
|
-
.ws-check__label { font-size: var(--ws-text-body); line-height: calc(var(--space-md) + var(--space-xxs)); color: var(--color-text-heading); font-weight: 500; }
|
|
640
|
-
.ws-check--disabled { opacity: 0.5; cursor: not-allowed; }
|
|
641
|
-
|
|
642
|
-
/* ---- Combobox: a field you type in with a menu of matches under it; chosen values as chips when several ---- */
|
|
643
|
-
.ws-combobox { position: relative; display: flex; flex-direction: column; gap: var(--space-xxs); }
|
|
644
|
-
.ws-combobox__field { position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-xxs); min-height: var(--ws-control-h); border: var(--ws-line) solid transparent; border-radius: var(--ws-radius-control); background: var(--ws-field); box-shadow: var(--ws-shadow-hairline); padding: 0 var(--space-xl) 0 var(--space-sm); font-size: var(--ws-text-body); color: var(--color-gray-8); }
|
|
645
|
-
.ws-combobox__field--focus { border-color: var(--color-brand-mid-blue); box-shadow: var(--ws-shadow-hairline), var(--shadow-focus-ring); }
|
|
646
|
-
.ws-combobox__chevron { position: absolute; right: var(--space-xs); top: 50%; width: var(--ws-icon); height: var(--ws-icon); transform: translateY(-50%); color: var(--color-text-muted); pointer-events: none; }
|
|
647
|
-
.ws-combobox__field input { flex: 1; min-width: calc(var(--space-4xl) - var(--space-xxs)); border: 0; outline: none; background: transparent; font: inherit; color: inherit; padding: var(--space-xxs) 0; }
|
|
648
|
-
.ws-combobox__panel { margin-top: var(--space-xs); max-height: calc(var(--ws-control-h) * 8); overflow-y: auto; }
|
|
649
|
-
.ws-combobox__option { display: flex; align-items: center; min-height: var(--ws-control-h); padding: 0 var(--space-sm); border-radius: var(--ws-radius-control); font-size: var(--ws-text-body); }
|
|
650
|
-
.ws-combobox__option--active { background: var(--ws-surface-sunk); }
|
|
651
|
-
.ws-combobox__match { font-weight: 500; color: var(--color-text-heading); }
|
|
652
|
-
.ws-combobox__rest { color: var(--color-text-body); }
|
|
653
|
-
.ws-combobox__empty { display: flex; align-items: center; min-height: var(--ws-control-h); padding: 0 var(--space-sm); color: var(--color-text-muted); font-size: var(--ws-text-body); }
|
|
654
|
-
.ws-combobox__create { display: flex; align-items: center; gap: var(--space-xxs); min-height: var(--ws-control-h); padding: 0 var(--space-sm); border-radius: var(--ws-radius-control); font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-heading); cursor: pointer; }
|
|
655
|
-
.ws-combobox__create:hover { text-decoration: underline; }
|
|
656
|
-
.ws-combobox__create svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); }
|
|
657
|
-
.ws-combobox__chip { display: inline-flex; align-items: center; gap: var(--space-xxs); height: var(--space-lg); padding: 0 calc(var(--space-xxs) * 1.5) 0 var(--space-xs); border-radius: var(--ws-radius-chip); background: var(--ws-surface-sunk); color: var(--color-text-body); font-size: var(--ws-text-dense); font-weight: 500; }
|
|
658
|
-
.ws-combobox__chip button { display: inline-flex; border: 0; background: none; padding: 0; color: var(--color-text-muted); cursor: pointer; }
|
|
659
|
-
.ws-combobox__chip svg { width: calc(var(--space-xs) + var(--space-xxs) / 2); height: calc(var(--space-xs) + var(--space-xxs) / 2); }
|
|
660
|
-
|
|
661
|
-
/* ---- Composer: the one chat box, 52 px on white, its app on the left and Talk or Send on the right ---- */
|
|
662
|
-
.ws-composer { display: flex; align-items: stretch; height: var(--ws-composer-h); padding-right: var(--space-xs); border: var(--ws-hairline) solid var(--ws-edge-card); border-radius: var(--ws-radius-control); background: var(--ws-field); transition: box-shadow var(--ws-duration-instant) var(--ws-ease-soft); }
|
|
663
|
-
.ws-composer--live { box-shadow: var(--ws-ring-selected); }
|
|
664
|
-
.ws-composer__lead { display: flex; flex-shrink: 0; align-items: center; gap: var(--space-xs); padding: 0 var(--space-sm); }
|
|
665
|
-
.ws-composer__face { width: var(--ws-icon-lg); height: var(--ws-icon-lg); }
|
|
666
|
-
.ws-composer__face svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); }
|
|
667
|
-
.ws-composer__name { font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-heading); }
|
|
668
|
-
.ws-composer__rule { align-self: center; width: var(--ws-line); height: calc(100% - var(--space-md)); background: var(--color-gray-2); }
|
|
669
|
-
.ws-composer__words { display: flex; flex: 1; min-width: 0; align-items: center; padding: 0 var(--space-sm); font-size: var(--ws-text-value); color: var(--color-text-heading); }
|
|
670
|
-
input.ws-composer__words { border: 0; background: transparent; outline: none; }
|
|
671
|
-
input.ws-composer__words::placeholder, .ws-composer__words--empty { color: var(--color-text-muted); }
|
|
672
|
-
.ws-composer__trail { display: flex; align-items: center; gap: var(--space-xxs); }
|
|
673
|
-
.ws-composer__dot { margin-right: var(--space-xxs); }
|
|
674
|
-
|
|
675
|
-
/* ---- ConfirmDialog: a Dialog that asks before something that cannot be undone; the act in needs-you words ---- */
|
|
676
|
-
.ws-confirm-dialog__destructive { color: var(--ws-word-needs); }
|
|
677
|
-
|
|
678
|
-
/* ---- Cover: the system's own cover, 960 by 288: the goal strip's four tones cut by ticks, the name a step under it ---- */
|
|
679
|
-
.ws-cover { position: relative; width: calc(var(--space-9xl) * 4 + var(--space-8xl)); height: calc(var(--space-9xl) + var(--space-5xl) + var(--space-xs)); overflow: hidden; background: var(--color-bg-page); }
|
|
680
|
-
.ws-cover__art { position: absolute; inset: 0; width: 100%; height: 100%; }
|
|
681
|
-
.ws-cover__navy { fill: var(--color-brand-navy); }
|
|
682
|
-
.ws-cover__salmon { fill: var(--color-brand-salmon); }
|
|
683
|
-
.ws-cover__purple { fill: var(--ws-chart-past-half); }
|
|
684
|
-
.ws-cover__teal { fill: var(--ws-chart-finished); }
|
|
685
|
-
.ws-cover__tint { fill: var(--ws-surface-sunk); }
|
|
686
|
-
.ws-cover__ground { fill: var(--color-bg-page); }
|
|
687
|
-
.ws-cover__tick { rx: var(--radius-xs); }
|
|
688
|
-
.ws-cover__name { position: absolute; left: var(--space-2xl); top: calc(var(--space-7xl) + var(--space-xl)); font-size: var(--font-size-6xl); line-height: 0.95; font-weight: 600; letter-spacing: var(--ws-tracking-title); color: var(--color-text-heading); white-space: nowrap; }
|
|
689
|
-
.ws-cover__line { position: absolute; left: var(--space-2xl); top: calc(var(--space-9xl) + var(--space-xl) + var(--space-xxs)); max-width: var(--ws-thing-width); font-size: var(--ws-text-body); line-height: calc(var(--space-md) + var(--space-xxs)); color: var(--color-text-muted); }
|
|
690
|
-
|
|
691
|
-
/* ---- DateInput: the native date field with a calendar mark, and a month grid in a menu for picking by eye ---- */
|
|
692
|
-
.ws-date-input { position: relative; display: flex; }
|
|
693
|
-
.ws-date-input .ws-input { padding-right: var(--space-xl); }
|
|
694
|
-
/* The native picker's own mark stays where it is and still opens the sheet, but only the system's mark shows. */
|
|
695
|
-
.ws-date-input .ws-input::-webkit-calendar-picker-indicator { opacity: 0; cursor: pointer; }
|
|
696
|
-
.ws-date-input__icon { position: absolute; right: var(--space-xs); top: 50%; width: var(--ws-icon); height: var(--ws-icon); transform: translateY(-50%); color: var(--color-text-muted); pointer-events: none; }
|
|
697
|
-
.ws-date-input__picker { width: calc(var(--space-9xl) + var(--space-4xl) - var(--space-xxs)); padding: var(--space-xxs); }
|
|
698
|
-
.ws-date-input__head { display: flex; align-items: center; justify-content: space-between; height: var(--ws-control-h); padding: 0 var(--space-xxs); }
|
|
699
|
-
.ws-date-input__month { font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-heading); }
|
|
700
|
-
.ws-date-input__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: calc(var(--space-xxs) / 2); padding: var(--space-xxs); }
|
|
701
|
-
.ws-date-input__letter { text-align: center; font-size: var(--ws-text-micro); line-height: var(--space-md); color: var(--color-text-muted); }
|
|
702
|
-
.ws-date-input__cell { display: flex; align-items: center; justify-content: center; height: var(--ws-control-h); padding: 0; border: 0; border-radius: var(--ws-radius-control); background: none; font-size: var(--ws-text-meta); color: var(--color-text-heading); cursor: pointer; }
|
|
703
|
-
.ws-date-input__cell--muted { color: var(--color-text-muted); }
|
|
704
|
-
.ws-date-input__cell--today { border: var(--ws-hairline) solid var(--color-brand-salmon); background: var(--color-bg-page); }
|
|
705
|
-
.ws-date-input__cell--chosen { background: var(--color-text-heading); color: var(--color-white); }
|
|
706
|
-
.ws-date-input__cell--disabled { opacity: 0.4; cursor: default; }
|
|
707
|
-
.ws-date-input__cell--range { background: var(--ws-surface-sunk); border-radius: 0; }
|
|
708
|
-
.ws-date-input__cell--range-start { background: var(--color-text-heading); color: var(--color-white); border-radius: var(--ws-radius-control) 0 0 var(--ws-radius-control); }
|
|
709
|
-
.ws-date-input__cell--range-end { background: var(--color-text-heading); color: var(--color-white); border-radius: 0 var(--ws-radius-control) var(--ws-radius-control) 0; }
|
|
710
|
-
|
|
711
|
-
/* ---- Dialog: the native <dialog>, a cream card over the navy scrim; --drawer slides from the right edge ---- */
|
|
712
|
-
.ws-dialog { display: flex; flex-direction: column; width: calc(100% - var(--space-xl)); max-width: 42rem; /* raw: Ignite's Dialog cap (max-w-2xl); no width token */ padding: 0; border: 0; overflow: hidden; border-radius: var(--ws-radius-card); background: var(--color-bg-page); color: var(--color-text-body); box-shadow: var(--ws-shadow-lift); }
|
|
713
|
-
dialog.ws-dialog:not([open]) { display: none; }
|
|
714
|
-
.ws-dialog::backdrop { background: var(--ws-scrim); }
|
|
715
|
-
.ws-dialog__content { flex: 1; padding: 0 var(--ws-card-inset) var(--space-md); }
|
|
716
|
-
.ws-dialog--drawer { width: var(--ws-thing-width); height: 100%; max-height: none; margin: 0 0 0 auto; overflow: visible; border-radius: 0; }
|
|
717
|
-
|
|
718
|
-
/* ---- EmptyState: a card on the dots with a mark, a title, one sentence and the act in the band ---- */
|
|
719
|
-
.ws-empty-state__body { display: flex; flex-direction: column; align-items: center; gap: var(--space-xs); padding: var(--space-2xl) var(--space-md) var(--space-md); text-align: center; }
|
|
720
|
-
/* The mark: an icon on a cream disc with the hairline; a first run uses the plain 24 px ws-disc instead (--intro). */
|
|
721
|
-
.ws-empty-state__mark { display: flex; width: var(--space-xl); height: var(--space-xl); align-items: center; justify-content: center; border-radius: var(--radius-full); background: var(--color-bg-page); box-shadow: var(--ws-shadow-hairline); }
|
|
722
|
-
.ws-empty-state__mark svg { width: var(--space-md); height: var(--space-md); color: var(--color-text-heading); }
|
|
723
|
-
.ws-empty-state__mark--intro { width: var(--space-lg); height: var(--space-lg); background: var(--ws-surface-sunk); box-shadow: none; }
|
|
724
|
-
.ws-empty-state__mark--intro svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); }
|
|
725
|
-
.ws-empty-state__words { max-width: calc(var(--space-9xl) + var(--space-4xl) - var(--space-xxs)); }
|
|
726
|
-
|
|
727
|
-
/* ---- EntryShell: the sign-in page, the form centred in its column and, on a wide window, the grey aside of samples.
|
|
728
|
-
It fills its parent: give that parent the window's height on a page. ---- */
|
|
729
|
-
.ws-entry-shell { display: flex; }
|
|
730
|
-
.ws-entry-shell__main { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; padding: var(--space-lg) calc(var(--space-md) + var(--space-xxs)); background: var(--color-bg-page); }
|
|
731
|
-
.ws-entry-shell__wordmark { align-self: flex-start; font-size: var(--font-size-md); font-weight: 600; color: var(--color-text-heading); }
|
|
732
|
-
.ws-entry-shell__center { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-lg); padding: var(--space-2xl) 0; }
|
|
733
|
-
.ws-entry-shell__form { width: 100%; max-width: calc(var(--space-9xl) + var(--space-7xl)); display: flex; flex-direction: column; gap: var(--space-lg); }
|
|
734
|
-
.ws-entry-shell__title { margin: 0; font-size: var(--font-size-xl); font-weight: 600; color: var(--color-text-heading); text-align: center; }
|
|
735
|
-
/* The sign-in field is the large one, 36 px (still 40 on touch). */
|
|
736
|
-
.ws-entry-shell .ws-input { min-height: var(--ws-control-h-md); }
|
|
737
|
-
.ws-entry-shell__acts { display: flex; flex-direction: column; gap: var(--space-sm); text-align: center; }
|
|
738
|
-
.ws-entry-shell__aside { flex: 1 1 0; min-width: 0; background: var(--ws-page); margin: var(--space-xs); border-radius: var(--ws-radius-panel); padding: var(--space-2xl); display: flex; flex-direction: column; justify-content: center; gap: var(--space-md); }
|
|
739
|
-
.ws-entry-shell__samples { display: flex; gap: var(--space-md); }
|
|
740
|
-
.ws-entry-shell__sample { flex: 1; min-width: 0; padding: var(--ws-card-padding-lg); display: flex; flex-direction: column; gap: var(--space-xxs); }
|
|
741
|
-
.ws-entry-shell__sample-figure { font-size: var(--font-size-xl); font-weight: 400; color: var(--color-text-heading); letter-spacing: var(--ws-tracking-display); }
|
|
742
|
-
|
|
743
|
-
/* ---- FeatureGrid: the kit's three feature cards in a row, wrapping to one column ---- */
|
|
744
|
-
.ws-feature-grid { background: var(--color-white); width: 100%; padding: var(--space-xl) var(--layout-margin); }
|
|
745
|
-
.ws-feature-grid__grid { display: flex; flex-wrap: wrap; gap: var(--layout-col-gap); max-width: var(--layout-content-max); margin: 0 auto; }
|
|
746
|
-
.ws-feature-grid__card { flex: 1 1 calc(var(--space-9xl) + var(--space-3xl) + var(--space-sm)); border-radius: var(--radius-sm); border: var(--ws-line) solid var(--color-border-default); background: var(--color-white); padding: var(--space-lg); }
|
|
747
|
-
.ws-feature-grid__icon { width: var(--space-2xl); height: var(--space-2xl); }
|
|
748
|
-
.ws-feature-grid__icon svg { width: var(--ws-icon-lg); height: var(--ws-icon-lg); }
|
|
749
|
-
.ws-feature-grid__title { margin-top: var(--space-md); font-size: var(--font-size-lg2); font-weight: 600; line-height: var(--ws-leading-title); color: var(--color-brand-navy); }
|
|
750
|
-
.ws-feature-grid__body { margin-top: var(--space-xs); font-size: var(--font-size-md); line-height: var(--space-lg); color: var(--color-text-primary); }
|
|
751
|
-
.ws-feature-grid__link { margin-top: var(--space-md); display: inline-flex; align-items: center; gap: var(--space-xxs); font-size: var(--font-size-sm); font-weight: 500; color: var(--color-text-interactive); text-decoration: none; }
|
|
752
|
-
.ws-feature-grid__link:hover { text-decoration: underline; }
|
|
753
|
-
.ws-feature-grid__link svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); }
|
|
754
|
-
|
|
755
|
-
/* ---- FileUpload: a dotted drop zone with one act, then a row a file with its progress, done or error ---- */
|
|
756
|
-
.ws-file-upload { display: flex; flex-direction: column; align-items: center; gap: var(--space-xs); padding: var(--space-lg); border-radius: var(--ws-radius-card); border: var(--ws-hairline) solid var(--ws-edge-card); text-align: center; }
|
|
757
|
-
.ws-file-upload--drag { border-color: var(--color-brand-mid-blue); }
|
|
758
|
-
.ws-file-upload__disc { width: var(--space-2xl); height: var(--space-2xl); }
|
|
759
|
-
.ws-file-upload__disc svg { width: var(--ws-icon-lg); height: var(--ws-icon-lg); }
|
|
760
|
-
.ws-file-upload__file { display: flex; align-items: center; gap: var(--space-xs); padding: var(--space-xs) 0; }
|
|
761
|
-
.ws-file-upload__file-disc { width: var(--ws-control-h-sm); height: var(--ws-control-h-sm); flex-shrink: 0; }
|
|
762
|
-
.ws-file-upload__file-disc svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); }
|
|
763
|
-
.ws-file-upload__file-body { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: calc(var(--space-xxs) / 2); }
|
|
764
|
-
.ws-file-upload__file-name { font-size: var(--ws-text-body); font-weight: 600; color: var(--color-text-heading); }
|
|
765
|
-
.ws-file-upload__file-meta { display: flex; align-items: center; gap: var(--space-xs); }
|
|
766
|
-
.ws-file-upload__file-size { flex-shrink: 0; font-size: var(--ws-text-dense); color: var(--color-text-muted); }
|
|
767
|
-
.ws-file-upload__bar { flex: 1; height: var(--space-xxs); overflow: hidden; border-radius: var(--radius-full); background: var(--color-gray-2); }
|
|
768
|
-
.ws-file-upload__bar-fill { display: block; height: 100%; border-radius: var(--radius-full); background: var(--color-brand-navy); transition: width var(--ws-duration-gentle) var(--ws-ease-soft); }
|
|
769
|
-
.ws-file-upload__done, .ws-file-upload__error { display: flex; align-items: center; gap: var(--space-xxs); font-size: var(--ws-text-dense); }
|
|
770
|
-
.ws-file-upload__done { color: var(--ws-word-positive); }
|
|
771
|
-
.ws-file-upload__error { color: var(--ws-word-needs); }
|
|
772
|
-
.ws-file-upload__done svg, .ws-file-upload__error svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); flex-shrink: 0; }
|
|
773
|
-
|
|
774
|
-
/* ---- Fold: a disclosure in three looks (a card, quiet words that act, a list's row), the chevron turning ---- */
|
|
775
|
-
.ws-fold__summary { display: flex; align-items: center; cursor: pointer; list-style: none; }
|
|
776
|
-
.ws-fold__summary::-webkit-details-marker { display: none; }
|
|
777
|
-
.ws-fold__summary--card { min-height: calc(var(--space-2xl) + var(--space-xxs)); flex-wrap: wrap; gap: var(--space-xs); border-radius: var(--ws-radius-card); padding: var(--ws-card-padding-lg); }
|
|
778
|
-
.ws-fold__body--card { padding: 0 var(--ws-card-padding-lg) var(--ws-card-padding-lg); }
|
|
779
|
-
.ws-fold__summary--quiet { width: fit-content; gap: var(--space-xxs); font-weight: 500; color: var(--color-text-heading); }
|
|
780
|
-
.ws-fold__body--quiet { display: flex; flex-direction: column; gap: var(--space-xxs); padding-top: var(--space-xxs); }
|
|
781
|
-
.ws-fold__list { border-radius: var(--ws-radius-card); background: var(--color-bg-page); box-shadow: var(--ws-shadow-hairline); }
|
|
782
|
-
.ws-fold__summary--row { width: 100%; gap: var(--space-sm); padding: var(--space-sm) var(--space-md); }
|
|
783
|
-
.ws-fold__body--row { padding: 0 var(--space-md) var(--space-sm); }
|
|
784
|
-
.ws-fold__title { font-weight: 600; color: var(--color-text-heading); }
|
|
785
|
-
.ws-fold__summary--row .ws-row__title { flex: 1; }
|
|
786
|
-
.ws-fold__chevron { width: var(--space-sm); height: var(--space-sm); flex-shrink: 0; color: var(--color-text-muted); transition: transform var(--ws-duration-settle) var(--ws-ease-soft); }
|
|
787
|
-
details[open] > summary > .ws-fold__chevron--right { transform: rotate(90deg); }
|
|
788
|
-
details[open] > summary > .ws-fold__chevron--down { transform: rotate(180deg); }
|
|
789
|
-
@media (prefers-reduced-motion: reduce) { .ws-fold__chevron { transition: none; } }
|
|
790
|
-
|
|
791
|
-
/* ---- Footer: the public site's navy footer, the wordmark, link columns and the legal line ---- */
|
|
792
|
-
.ws-footer { width: 100%; background: var(--color-bg-dark); padding: var(--space-4xl) var(--layout-margin); }
|
|
793
|
-
.ws-footer__inner { max-width: var(--layout-content-max); margin: 0 auto; }
|
|
794
|
-
.ws-footer__top { display: flex; flex-wrap: wrap; gap: var(--space-3xl); justify-content: space-between; }
|
|
795
|
-
.ws-footer__brand { font-size: var(--font-size-lg2); font-weight: 600; color: var(--color-white); flex: 0 0 auto; }
|
|
796
|
-
.ws-footer__cols { display: flex; flex-wrap: wrap; gap: var(--space-3xl); flex: 1 1 auto; justify-content: flex-end; }
|
|
797
|
-
.ws-footer__col { min-width: calc(var(--space-7xl) + var(--space-md) + var(--space-xxs)); display: flex; flex-direction: column; gap: var(--space-sm); }
|
|
798
|
-
.ws-footer__heading { font-size: var(--font-size-2xs); font-weight: 600; text-transform: uppercase; letter-spacing: var(--letter-spacing-overline); color: color-mix(in srgb, var(--color-white) 70%, transparent); }
|
|
799
|
-
.ws-footer__link { font-size: var(--font-size-sm); color: color-mix(in srgb, var(--color-white) 70%, transparent); text-decoration: none; }
|
|
800
|
-
.ws-footer__link:hover { color: var(--color-white); text-decoration: underline; }
|
|
801
|
-
.ws-footer__legal { margin-top: var(--space-3xl); padding-top: var(--space-lg); border-top: var(--ws-line) solid color-mix(in srgb, var(--color-white) 15%, transparent); font-size: var(--font-size-2xs); color: color-mix(in srgb, var(--color-white) 70%, transparent); }
|
|
802
|
-
|
|
803
|
-
/* ---- FunnelBars: a pipeline's stages as bars that narrow, each step's share to the next between them ---- */
|
|
804
|
-
.ws-funnel-bars__body { display: flex; flex-direction: column; padding: var(--space-md) var(--ws-card-inset) var(--space-lg); }
|
|
805
|
-
.ws-funnel-bars__row { display: flex; align-items: center; gap: var(--space-sm); }
|
|
806
|
-
.ws-funnel-bars__track { position: relative; flex: 1; height: var(--space-lg); }
|
|
807
|
-
.ws-funnel-bars__fill { display: flex; align-items: center; height: 100%; border-radius: var(--ws-radius-control) var(--ws-radius-control) 0 0; transform-origin: left; }
|
|
808
|
-
.ws-funnel-bars__fill--first { border-radius: var(--ws-radius-control); }
|
|
809
|
-
.ws-funnel-bars__figure { display: flex; flex-shrink: 0; align-items: baseline; gap: var(--space-xxs); width: calc(var(--space-7xl) + var(--space-md) + var(--space-xxs)); font-size: var(--ws-text-chart); }
|
|
810
|
-
.ws-funnel-bars__count { font-weight: 600; color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
811
|
-
.ws-funnel-bars__label { color: var(--color-text-body); }
|
|
812
|
-
.ws-funnel-bars__between { display: flex; align-items: center; gap: var(--space-xxs); padding: var(--space-xxs) 0 var(--space-xxs) var(--space-xxs); }
|
|
813
|
-
|
|
814
|
-
/* ---- GoalBars: rows of goal pills, each the share of its goal, its count and label beside it ---- */
|
|
815
|
-
/* Each row carries its tone and share as data: style="--tone: ...; --tone-fade: ...; --pct: 65%". */
|
|
816
|
-
.ws-goal-bars { display: flex; flex-direction: column; gap: var(--space-md); }
|
|
817
|
-
.ws-goal-bars--in-card { padding: var(--ws-card-inset) var(--ws-card-inset) calc(var(--space-2xl) - var(--space-xxs) / 4); }
|
|
818
|
-
.ws-goal-bars__row { display: flex; align-items: center; }
|
|
819
|
-
.ws-goal-bars__meter { position: relative; flex: 1; min-width: 0; height: calc(var(--space-lg) + var(--space-xxs)); margin-right: calc(var(--space-xs) + var(--space-xxs) / 8); }
|
|
820
|
-
.ws-goal-bars__track { position: absolute; inset: 0 calc(var(--space-lg) - var(--space-xxs) / 8) 0 0; border: var(--ws-line) solid color-mix(in srgb, var(--tone) 50%, transparent); border-radius: var(--radius-full); background: var(--color-bg-page); }
|
|
821
|
-
.ws-goal-bars__fillbox { position: absolute; inset: 0 calc(var(--space-lg) + var(--space-xxs) * 1.125) 0 calc(var(--space-xxs) * 1.25); }
|
|
822
|
-
.ws-goal-bars__not-yet { position: absolute; top: 50%; right: calc(var(--space-xxs) * 2.1125); left: var(--pct); height: calc(var(--space-md) + var(--space-xxs) / 2); transform: translateY(-50%); border-radius: var(--radius-full); background-image: radial-gradient(circle, color-mix(in srgb, var(--tone) 40%, transparent) calc(var(--ws-hairline) * 1.2), transparent calc(var(--ws-hairline) * 2.2)); background-size: calc(var(--ws-hairline) * 6.8) calc(var(--space-xxs) * 1.5); }
|
|
823
|
-
/* translate, not transform, so the grow (a transform) never drops the centring. */
|
|
824
|
-
.ws-goal-bars__fill { position: absolute; left: 0; top: 50%; width: var(--pct); height: calc(var(--space-md) + var(--space-xxs) / 2); translate: 0 -50%; transform-origin: left; border-radius: var(--radius-full); background: linear-gradient(90deg, var(--tone-fade), var(--tone)); }
|
|
825
|
-
.ws-goal-bars__dot { position: absolute; right: 0; top: 50%; width: calc(var(--space-xs) * 0.875); height: calc(var(--space-xs) * 0.875); transform: translateY(-50%); border-radius: var(--radius-full); background: var(--tone); }
|
|
826
|
-
.ws-goal-bars__count { min-width: calc(var(--space-3xl) + var(--space-xs)); flex-shrink: 0; text-align: center; white-space: nowrap; font-size: var(--ws-text-value); font-weight: 600; line-height: calc(var(--space-md) + var(--space-xxs) / 2); color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
827
|
-
.ws-goal-bars__of { font-weight: 500; color: var(--color-text-muted); }
|
|
828
|
-
.ws-goal-bars__divider { flex-shrink: 0; width: var(--ws-line); height: calc(var(--space-md) + var(--space-xxs)); margin: 0 calc(var(--space-xxs) * 0.875) 0 calc(var(--space-xxs) * 0.75); background: var(--ws-edge-card); }
|
|
829
|
-
.ws-goal-bars__label { flex: 0 0 calc(var(--space-2xl) * 3.75); min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: var(--ws-text-value); font-weight: 500; line-height: calc(var(--space-md) + var(--space-xxs) / 2); color: var(--color-text-heading); text-decoration: none; }
|
|
830
|
-
a.ws-goal-bars__label { border-radius: var(--radius-xs); outline: none; }
|
|
831
|
-
a.ws-goal-bars__label:hover { text-decoration: underline; }
|
|
832
|
-
a.ws-goal-bars__label:focus-visible { box-shadow: var(--shadow-focus-ring); }
|
|
833
|
-
/* Phrase labels: the label takes more room than the bar and wraps. */
|
|
834
|
-
.ws-goal-bars--wide .ws-goal-bars__meter { flex: 0.8 1 0; }
|
|
835
|
-
.ws-goal-bars--wide .ws-goal-bars__label { flex: 1.2 1 0; white-space: normal; }
|
|
836
|
-
|
|
837
|
-
/* ---- GoalTicks: one big share, its strip of twenty ticks and up to three breakdown rows ---- */
|
|
838
|
-
.ws-goal-ticks--in-card { padding: 0 var(--ws-card-inset) calc(var(--space-sm) + var(--space-xxs) / 4); }
|
|
839
|
-
.ws-goal-ticks__figure { display: flex; align-items: flex-end; gap: var(--space-xs); }
|
|
840
|
-
.ws-goal-ticks__number { margin-left: calc(var(--space-xxs) * -1); font-size: calc(var(--ws-text-display) + var(--space-xs)); line-height: calc(var(--ws-text-display) + var(--space-xs)); font-weight: 400; letter-spacing: var(--ws-tracking-display); color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
841
|
-
.ws-goal-ticks__figure--small .ws-goal-ticks__number { font-size: var(--ws-text-display); line-height: var(--ws-text-display); }
|
|
842
|
-
.ws-goal-ticks__change { margin-bottom: calc(var(--space-xs) + var(--space-xxs) / 2); }
|
|
843
|
-
.ws-goal-ticks__caption { margin-bottom: calc(var(--space-sm) + var(--space-xxs) / 2); font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-muted); }
|
|
844
|
-
/* The strip measures itself so each lit tick shows its own stretch of the one gradient (style="--i: n", n from 0). */
|
|
845
|
-
.ws-goal-ticks__strip { display: grid; grid-template-columns: repeat(20, minmax(0, 1fr)); gap: var(--space-xxs); margin-top: calc(var(--space-md) + var(--space-xxs)); container-type: inline-size; }
|
|
846
|
-
.ws-goal-ticks__tick { height: var(--space-4xl); border-radius: var(--radius-xs); transform-origin: bottom; }
|
|
847
|
-
.ws-goal-ticks__tick--empty { background: var(--color-bg-page); box-shadow: inset 0 0 0 var(--ws-line) var(--ws-edge-slot); }
|
|
848
|
-
.ws-goal-ticks__tick--lit { background-image: linear-gradient(90deg, var(--ws-chart-under-half), var(--ws-chart-past-half) 50%, var(--ws-chart-finished)); background-size: 100cqw 100%; background-position: calc(var(--i) * -1 * ((100cqw - 19 * var(--space-xxs)) / 20 + var(--space-xxs))) 0; }
|
|
849
|
-
/* The breakdown: a label, a TickRow (.ws-tick-row), the count. */
|
|
850
|
-
.ws-goal-ticks__rows { display: flex; flex-direction: column; margin: calc(var(--space-md) + var(--space-xxs)) 0 calc(var(--space-xxs) * -1); }
|
|
851
|
-
.ws-goal-ticks__row { display: flex; align-items: center; padding: calc(var(--space-sm) + var(--space-xxs) / 4) 0; border-top: var(--ws-line) solid var(--ws-edge-slot); }
|
|
852
|
-
.ws-goal-ticks__row:first-child { border-top: 0; }
|
|
853
|
-
.ws-goal-ticks__row-label { flex: 1; min-width: 0; padding-right: var(--space-md); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: var(--ws-text-message); line-height: calc(var(--space-md) + var(--space-xxs) / 2); color: var(--color-text-heading); }
|
|
854
|
-
.ws-goal-ticks__row-value { width: calc(var(--space-lg) + var(--space-xxs) / 2); flex-shrink: 0; text-align: right; font-size: var(--ws-text-value); font-weight: 600; line-height: calc(var(--space-md) + var(--space-xxs) / 2); color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
855
|
-
|
|
856
|
-
/* ---- GoalTubes: upright tubes against one goal, each filled to its share ---- */
|
|
857
|
-
/* Each tube carries its tone and share as data: style="--tone: ...; --tone-fade: ...; --pct: 65%". */
|
|
858
|
-
.ws-goal-tubes { display: grid; grid-auto-flow: column; gap: var(--space-xxs); }
|
|
859
|
-
.ws-goal-tubes--in-card { padding: calc(var(--space-xl) + var(--space-xxs)) var(--ws-card-inset) calc(var(--space-md) + var(--space-xxs) * 0.75); }
|
|
860
|
-
.ws-goal-tubes__tube { display: flex; min-width: 0; flex-direction: column; align-items: center; padding: 0 var(--space-xxs); }
|
|
861
|
-
.ws-goal-tubes__value { font-size: var(--ws-text-value); font-weight: 600; line-height: calc(var(--space-md) + var(--space-xxs) / 2); color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
862
|
-
.ws-goal-tubes__dot { width: calc(var(--space-xxs) * 1.75); height: calc(var(--space-xxs) * 1.75); margin: calc(var(--space-xxs) * 1.625) 0 calc(var(--space-xxs) * 3.125); border-radius: var(--radius-full); background: var(--tone); }
|
|
863
|
-
.ws-goal-tubes__wrap { position: relative; display: flex; width: 100%; justify-content: center; }
|
|
864
|
-
.ws-goal-tubes__body { position: relative; width: 100%; max-width: var(--space-6xl); height: calc(var(--space-9xl) + var(--space-md)); border: var(--ws-line) solid color-mix(in srgb, var(--tone) 50%, transparent); border-radius: var(--radius-lg); }
|
|
865
|
-
.ws-goal-tubes__body--short { height: var(--space-7xl); }
|
|
866
|
-
.ws-goal-tubes__inner { position: absolute; inset: calc(var(--space-xxs) - var(--ws-line)); }
|
|
867
|
-
.ws-goal-tubes__not-yet { position: absolute; left: calc(var(--space-xxs) * 0.375); right: calc(var(--space-xxs) * 0.375); top: calc(var(--space-xxs) * 1.375); bottom: calc(var(--pct) + var(--space-xxs) * 1.125); display: flex; gap: calc(var(--space-xxs) * 2.2); }
|
|
868
|
-
.ws-goal-tubes__not-yet > span { flex: 1; min-width: 0; background-image: radial-gradient(circle, color-mix(in srgb, var(--tone) 55%, transparent) calc(var(--ws-hairline) * 1.1), transparent calc(var(--ws-hairline) * 1.7)); background-size: calc(var(--space-xs) * 0.425) calc(var(--space-xs) * 0.425); }
|
|
869
|
-
.ws-goal-tubes__leader { position: absolute; left: 50%; top: calc((var(--space-md) + var(--space-xxs)) * -1); bottom: var(--pct); width: var(--ws-line); transform: translateX(-50%); background: color-mix(in srgb, var(--tone) 50%, transparent); }
|
|
870
|
-
.ws-goal-tubes__fill { position: absolute; inset-inline: 0; bottom: 0; height: var(--pct); transform-origin: bottom; border-radius: var(--radius-md) var(--radius-md) 0 0; background: linear-gradient(to bottom, var(--tone), var(--tone-fade)); }
|
|
871
|
-
.ws-goal-tubes__baseline { position: absolute; bottom: 0; left: calc(var(--space-xxs) * -1); right: calc(var(--space-xxs) * -1); height: var(--ws-line); background: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-gray-8)); }
|
|
872
|
-
.ws-goal-tubes__label { margin-top: var(--space-sm); text-align: center; line-height: calc(var(--space-md) + var(--space-xxs) / 4); }
|
|
873
|
-
.ws-goal-tubes__label--lead { font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-heading); }
|
|
874
|
-
|
|
875
|
-
/* ---- Hero: the kit's landing headline block, words and one act beside the product shot ---- */
|
|
876
|
-
.ws-hero { background: var(--color-white); width: 100%; }
|
|
877
|
-
.ws-hero__inner { max-width: var(--layout-content-max); margin: 0 auto; padding: var(--space-3xl) var(--layout-margin); display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3xl); }
|
|
878
|
-
.ws-hero__copy { flex: 2 1 calc(var(--space-9xl) * 1.9); min-width: 0; }
|
|
879
|
-
.ws-hero__eyebrow { margin-bottom: var(--space-sm); }
|
|
880
|
-
.ws-hero__headline { font-size: var(--font-size-5xl); line-height: var(--space-4xl); font-weight: 600; color: var(--color-brand-navy); margin: 0; }
|
|
881
|
-
.ws-hero__lead { margin-top: var(--space-md); font-size: var(--font-size-lg); line-height: var(--ws-leading-title); color: var(--color-text-primary); max-width: 46ch; }
|
|
882
|
-
.ws-hero__acts { margin-top: var(--space-xl); display: flex; gap: var(--space-md); }
|
|
883
|
-
.ws-hero__media { flex: 1 1 calc(var(--space-9xl) + var(--space-5xl)); max-width: calc(var(--space-9xl) + var(--space-8xl)); }
|
|
884
|
-
.ws-hero__shot { border-radius: var(--radius-sm); border: var(--ws-line) solid var(--color-border-default); background: var(--color-white); height: calc(var(--space-9xl) + var(--space-5xl)); display: flex; align-items: center; justify-content: center; }
|
|
885
|
-
.ws-hero__shot-inner { width: 100%; height: 100%; border-radius: var(--radius-sm); }
|
|
886
|
-
|
|
887
|
-
/* ---- IconButton: the disabled state (the round button itself is in the house) ---- */
|
|
888
|
-
.ws-icon-btn:disabled { opacity: 0.4; pointer-events: none; }
|
|
889
|
-
|
|
890
|
-
/* ---- Input: the typing state drawn still, and the search box (36 px, the icon inside at the left) ---- */
|
|
891
|
-
.ws-input--typing { border-color: var(--color-brand-mid-blue); background: var(--color-white); box-shadow: var(--ws-shadow-hairline), var(--shadow-focus-ring); }
|
|
892
|
-
.ws-search-wrap { position: relative; display: flex; }
|
|
893
|
-
.ws-search-wrap svg { position: absolute; left: var(--space-xs); top: 50%; width: var(--ws-icon); height: var(--ws-icon); transform: translateY(-50%); color: var(--color-text-muted); pointer-events: none; }
|
|
894
|
-
.ws-search { height: var(--ws-control-h-md); padding: 0 var(--space-sm) 0 var(--space-xl); }
|
|
895
|
-
|
|
896
|
-
/* ---- KanbanBoard: stages as equal 280 px columns on the sunk plate; the board scrolls sideways inside itself ---- */
|
|
897
|
-
/* The halo's room on every side (pulled back by the margin) so a focused card or column is never clipped. */
|
|
898
|
-
.ws-kanban-board { display: flex; align-items: flex-start; gap: var(--space-sm); max-width: 100%; overflow-x: auto; padding: var(--ws-halo); margin: calc(var(--ws-halo) * -1); }
|
|
899
|
-
.ws-kanban-board:focus-visible { outline: none; box-shadow: var(--shadow-focus-ring); }
|
|
900
|
-
.ws-kanban-board__column { width: calc(var(--space-9xl) + var(--space-5xl)); flex-shrink: 0; display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--space-xs); border-radius: var(--ws-radius-card); background: var(--ws-surface-sunk); }
|
|
901
|
-
.ws-kanban-board__head { display: flex; align-items: center; justify-content: space-between; padding: var(--space-xxs) var(--space-xs); }
|
|
902
|
-
.ws-kanban-board__card { display: flex; flex-direction: column; gap: var(--space-xxs); padding: var(--ws-card-padding); }
|
|
903
|
-
.ws-kanban-board__card--dragging { box-shadow: var(--ws-shadow-lift); transform: rotate(-1deg); }
|
|
904
|
-
.ws-kanban-board__who { display: flex; align-items: center; gap: var(--space-xs); }
|
|
905
|
-
.ws-kanban-board__meta { font-size: var(--ws-text-dense); color: var(--color-text-muted); }
|
|
906
|
-
.ws-kanban-board__empty { padding: var(--space-md) var(--space-xs); text-align: center; font-size: var(--ws-text-dense); color: var(--color-text-muted); }
|
|
907
|
-
|
|
908
|
-
/* ---- Kbd: a shortcut list, each act at the left and its keys at the right ---- */
|
|
909
|
-
.ws-kbd-list { display: flex; flex-direction: column; gap: var(--space-xxs); margin: 0; }
|
|
910
|
-
.ws-kbd-list__row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); }
|
|
911
|
-
.ws-kbd-list dd { margin: 0; }
|
|
912
|
-
|
|
913
|
-
/* ---- KitButton: the kit's marketing button, the salmon gradient with its lift ---- */
|
|
914
|
-
.ws-kit-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); white-space: nowrap; font-family: var(--font-body); cursor: pointer; appearance: none; border: 0; font-weight: 600; line-height: 1; transition: filter var(--transition-fast), transform var(--transition-fast); }
|
|
915
|
-
.ws-kit-button:focus-visible { outline: none; box-shadow: var(--shadow-focus-ring); }
|
|
916
|
-
.ws-kit-button:disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; }
|
|
917
|
-
.ws-kit-button svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); flex-shrink: 0; }
|
|
918
|
-
/* Sizes: large 45, medium 36, small 28 (the kit's own dimensions table). */
|
|
919
|
-
.ws-kit-button--large { height: calc(var(--space-2xl) + var(--space-xxs) + var(--ws-line)); padding: 0 calc(var(--space-md) + var(--space-xxs)); min-width: calc(var(--space-5xl) + var(--space-md) + var(--space-xxs)); font-size: var(--font-size-md); font-weight: 600; border-radius: var(--radius-lg); }
|
|
920
|
-
.ws-kit-button--medium { height: calc(var(--space-xl) + var(--space-xxs)); padding: 0 var(--space-md); min-width: var(--space-5xl); font-size: var(--font-size-sm); font-weight: 600; border-radius: var(--radius-lg); }
|
|
921
|
-
.ws-kit-button--small { height: calc(var(--space-lg) + var(--space-xxs)); padding: 0 var(--space-sm); min-width: calc(var(--space-3xl) + var(--space-sm)); font-size: var(--font-size-2xs); font-weight: 500; border-radius: var(--radius-md); }
|
|
922
|
-
/* Primary: the salmon gradient and the 3 px lift. Not decoration: pressing collapses it. */
|
|
923
|
-
.ws-kit-button--primary { background-image: var(--gradient-btn-primary); color: var(--color-white); border-bottom: calc(var(--space-xxs) * 0.75) solid var(--color-button-border); }
|
|
924
|
-
.ws-kit-button--secondary { background: var(--color-background); color: var(--color-text-interactive); border: var(--ws-line) solid var(--color-border-hairline); }
|
|
925
|
-
.ws-kit-button--navy { background-image: linear-gradient(180deg, var(--color-brand-mid-blue), color-mix(in srgb, var(--color-brand-navy) 35%, var(--color-brand-mid-blue))); color: var(--color-white); border-bottom: calc(var(--space-xxs) * 0.75) solid var(--color-brand-navy); box-shadow: var(--shadow-btn); }
|
|
926
|
-
.ws-kit-button--tertiary { background: transparent; color: var(--color-brand-navy); border: var(--ws-line) solid var(--color-brand-navy); }
|
|
927
|
-
.ws-kit-button--clean { background: transparent; color: var(--color-brand-navy); min-width: 0; padding: 0; }
|
|
928
|
-
.ws-kit-button--shadow { box-shadow: var(--shadow-btn); }
|
|
929
|
-
.ws-kit-button--full { width: 100%; }
|
|
930
|
-
.ws-kit-button--primary:active, .ws-kit-button--primary.is-pressed, .ws-kit-button--navy:active, .ws-kit-button--navy.is-pressed { transform: translateY(calc(var(--space-xxs) / 2)); border-bottom-color: transparent; }
|
|
931
|
-
.ws-kit-button--navy:active, .ws-kit-button--navy.is-pressed { box-shadow: none; }
|
|
932
|
-
|
|
933
|
-
/* ---- KitCard: the kit's marketing card, white, 4 px corners, the hairline edge; no width of its own ---- */
|
|
934
|
-
.ws-kit-card { border-radius: var(--radius-sm); border: var(--ws-line) solid var(--color-border-default); background: var(--color-white); }
|
|
935
|
-
.ws-kit-card--tinted { background: var(--color-gray-1); }
|
|
936
|
-
.ws-kit-card--transparent { background: transparent; border-color: var(--color-border-hairline); }
|
|
937
|
-
.ws-kit-card--interactive { cursor: pointer; transition: box-shadow var(--transition-default); }
|
|
938
|
-
.ws-kit-card--interactive:hover, .ws-kit-card--interactive.is-hover { box-shadow: var(--shadow-card-default); }
|
|
939
|
-
.ws-kit-card__header { display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--space-lg); }
|
|
940
|
-
.ws-kit-card__title { font-size: var(--font-size-2xl); line-height: var(--space-xl); font-weight: 500; color: var(--color-text-heading); }
|
|
941
|
-
.ws-kit-card__desc { font-size: var(--font-size-sm); line-height: calc(var(--space-md) + var(--space-xxs)); color: var(--color-text-muted); }
|
|
942
|
-
.ws-kit-card__content { padding: 0 var(--space-lg) var(--space-lg); }
|
|
943
|
-
.ws-kit-card__footer { display: flex; align-items: center; gap: var(--space-sm); padding: 0 var(--space-lg) var(--space-lg); }
|
|
944
|
-
|
|
945
|
-
/* ---- KitInput: the kit's marketing field, 40 px, white, the salmon edge and halo on focus ---- */
|
|
946
|
-
.ws-kit-input { display: flex; flex-direction: column; gap: var(--space-xxs); }
|
|
947
|
-
.ws-kit-input__label { font-size: var(--font-size-2xs); font-weight: 500; line-height: var(--space-md); color: var(--color-gray-7); }
|
|
948
|
-
.ws-kit-input__control { height: var(--space-2xl); width: 100%; border-radius: var(--radius-md); padding: calc(var(--space-xs) + var(--ws-line)) var(--space-sm); background: var(--color-white); border: var(--ws-line) solid var(--color-border-default); font-size: var(--font-size-sm); color: var(--color-gray-8); outline: none; transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
|
|
949
|
-
.ws-kit-input__control::placeholder { color: var(--color-gray-5); }
|
|
950
|
-
.ws-kit-input__control:hover { border-color: var(--color-gray-5); }
|
|
951
|
-
.ws-kit-input__control:focus-visible, .ws-kit-input__control.is-focus { border-color: var(--color-brand-salmon); box-shadow: var(--shadow-focus-ring); }
|
|
952
|
-
.ws-kit-input__control[aria-invalid="true"], .ws-kit-input__control.is-error { border-color: var(--color-brand-salmon); }
|
|
953
|
-
.ws-kit-input__control:disabled { cursor: not-allowed; opacity: 0.5; }
|
|
954
|
-
.ws-kit-input__msg { font-size: var(--font-size-2xs); line-height: var(--space-md); color: var(--color-text-muted); }
|
|
955
|
-
.ws-kit-input__msg--error { color: var(--color-feedback-error); }
|
|
956
|
-
|
|
957
|
-
/* ---- Leaderboard: a team ranked by one number, a thin bar toned by each row's share of the goal, your row lit ---- */
|
|
958
|
-
.ws-leaderboard__row { display: flex; align-items: center; gap: var(--space-sm); height: var(--ws-row-h); padding: 0 var(--ws-card-inset); }
|
|
959
|
-
.ws-leaderboard__row:not(:last-child) { border-bottom: var(--ws-line) solid var(--ws-edge-slot); }
|
|
960
|
-
.ws-leaderboard__row--you { background: var(--ws-surface-sunk); }
|
|
961
|
-
.ws-leaderboard__rank { width: calc(var(--space-md) + var(--space-xxs)); flex-shrink: 0; text-align: right; font-size: var(--ws-text-value); font-weight: 600; color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
962
|
-
.ws-leaderboard__name { width: calc(var(--space-6xl) + var(--space-sm)); flex-shrink: 0; font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-heading); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
963
|
-
/* The system's thin bar: 8 tall, 1 px corners, on the cell-edge track (the chart-empty grey all but vanishes on the cream). */
|
|
964
|
-
.ws-leaderboard__bar { position: relative; flex: 1; min-width: 0; height: var(--space-xs); border-radius: var(--ws-radius-bar); background: var(--ws-chart-cell-edge); overflow: hidden; }
|
|
965
|
-
.ws-leaderboard__fill { position: absolute; inset: 0 auto 0 0; border-radius: var(--ws-radius-bar); background: var(--ws-chart-under-half); transform-origin: left; }
|
|
966
|
-
.ws-leaderboard__fill--finished { background: var(--ws-chart-finished); }
|
|
967
|
-
.ws-leaderboard__fill--past-half { background: var(--ws-chart-past-half); }
|
|
968
|
-
.ws-leaderboard__fill--under-half { background: var(--ws-chart-under-half); }
|
|
969
|
-
.ws-leaderboard__score { width: calc(var(--space-xl) + var(--space-xxs) / 2); flex-shrink: 0; text-align: right; font-size: var(--ws-text-body); font-weight: 600; color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
970
|
-
|
|
971
|
-
/* ---- MarketingNav: the public site's 72 px top bar, sticky, its links collapsing behind a menu on a phone ---- */
|
|
972
|
-
.ws-marketing-nav { width: 100%; height: calc(var(--space-4xl) + var(--space-xs)); background: var(--color-white); border-bottom: var(--ws-line) solid var(--color-border-default); display: flex; align-items: center; padding: 0 var(--layout-margin); position: sticky; top: 0; z-index: var(--z-header); }
|
|
973
|
-
.ws-marketing-nav--phone { justify-content: space-between; }
|
|
974
|
-
.ws-marketing-nav__brand { font-size: var(--font-size-lg2); font-weight: 600; color: var(--color-brand-navy); flex: 0 0 auto; }
|
|
975
|
-
.ws-marketing-nav__links { display: flex; align-items: center; gap: var(--space-lg); margin: 0 auto; }
|
|
976
|
-
.ws-marketing-nav__link { font-size: var(--font-size-sm); font-weight: 500; color: var(--color-text-primary); text-decoration: none; padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-md); }
|
|
977
|
-
.ws-marketing-nav__link:hover { background: var(--color-nav-hover-bg); }
|
|
978
|
-
.ws-marketing-nav__cta { flex: 0 0 auto; }
|
|
979
|
-
.ws-marketing-nav__menu-btn { display: inline-flex; align-items: center; justify-content: center; width: var(--space-2xl); height: var(--space-2xl); border-radius: var(--radius-md); border: var(--ws-line) solid var(--color-border-hairline); background: var(--color-white); color: var(--color-brand-navy); }
|
|
980
|
-
.ws-marketing-nav__menu-btn svg { width: var(--ws-icon); height: var(--ws-icon); }
|
|
981
|
-
|
|
982
|
-
/* ---- Menu: the house .ws-menu's row icon and a disabled row ---- */
|
|
983
|
-
.ws-menu-item__icon { width: var(--ws-icon); height: var(--ws-icon); flex-shrink: 0; color: var(--color-text-muted); }
|
|
984
|
-
.ws-menu-item:disabled, .ws-menu-item[aria-disabled="true"] { opacity: 0.4; pointer-events: none; }
|
|
985
|
-
|
|
986
|
-
/* ---- Meter: a running job's count on a thin pill track, the words beside it ---- */
|
|
987
|
-
.ws-meter { display: flex; align-items: center; gap: var(--space-xs); }
|
|
988
|
-
.ws-meter__track { flex: 1; min-width: var(--space-4xl); height: var(--space-xxs); overflow: hidden; border-radius: var(--radius-full); background: var(--color-gray-2); }
|
|
989
|
-
.ws-meter__fill { display: block; height: 100%; border-radius: var(--radius-full); background: var(--color-brand-navy); transition: width var(--ws-duration-gentle) var(--ws-ease-soft); }
|
|
990
|
-
.ws-meter__fill--done { background: var(--color-stat-positive); }
|
|
991
|
-
.ws-meter__words { flex-shrink: 0; font-size: var(--ws-text-dense); color: var(--color-text-muted); font-variant-numeric: tabular-nums; }
|
|
992
|
-
.ws-meter--pill .ws-meter__track { height: var(--space-sm); }
|
|
993
|
-
/* The running card: the step and its clock, then the meter. */
|
|
994
|
-
.ws-meter__card { display: flex; flex-direction: column; gap: var(--space-xxs); padding: var(--ws-card-padding); }
|
|
995
|
-
.ws-meter__step { font-size: var(--ws-text-body); line-height: 1.4; color: var(--color-text-interactive); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
|
|
996
|
-
.ws-meter__step--done { color: var(--color-text-muted); }
|
|
997
|
-
|
|
998
|
-
/* ---- NumberInput: the house field, numerals at the right, a unit inside it and two steppers ---- */
|
|
999
|
-
.ws-number-input { position: relative; display: flex; }
|
|
1000
|
-
.ws-number-input .ws-input { text-align: right; }
|
|
1001
|
-
.ws-number-input__unit { position: absolute; top: 50%; transform: translateY(-50%); right: var(--space-sm); color: var(--color-text-muted); font-size: var(--ws-text-body); pointer-events: none; }
|
|
1002
|
-
.ws-number-input__steppers { position: absolute; top: 50%; right: calc(var(--space-xxs) / 2); transform: translateY(-50%); display: flex; gap: calc(var(--space-xxs) / 2); }
|
|
1003
|
-
.ws-number-input--unit .ws-input { padding-right: var(--space-xl); }
|
|
1004
|
-
.ws-number-input--steppers .ws-input { padding-right: calc(var(--space-3xl) + var(--space-xs)); }
|
|
1005
|
-
.ws-number-input--steppers.ws-number-input--unit .ws-input { padding-right: var(--space-5xl); }
|
|
1006
|
-
.ws-number-input--steppers .ws-number-input__unit { right: calc(var(--space-4xl) - var(--space-xxs)); }
|
|
1007
|
-
|
|
1008
|
-
/* ---- PageBar: the page's slim header, its one h1 at 26 px, one line, its acts at the right (they wrap under before the words go below 200) ---- */
|
|
1009
|
-
.ws-page-bar { display: flex; flex-shrink: 0; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--space-xs) var(--space-md); }
|
|
1010
|
-
.ws-page-bar__words { display: flex; flex: 1; min-width: min(100%, var(--space-9xl)); flex-direction: column; gap: var(--space-xxs); }
|
|
1011
|
-
.ws-page-bar__title { font-size: var(--font-size-2xl); line-height: var(--space-xl); font-weight: 600; letter-spacing: var(--ws-tracking-title); color: var(--color-text-heading); text-wrap: balance; }
|
|
1012
|
-
.ws-page-bar__acts { display: flex; flex-shrink: 0; flex-wrap: wrap; align-items: center; gap: var(--space-xs); }
|
|
1013
|
-
|
|
1014
|
-
/* ---- PageHero: a page's slim hero, its finding as the headline, a line, its one act and a picture beside them.
|
|
1015
|
-
One column, the 26 px headline; from the area's lg width (60rem) the 40 px headline and, when it has an aside,
|
|
1016
|
-
two columns. With no aside the words take the whole width at every size. ---- */
|
|
1017
|
-
.ws-page-hero { display: grid; align-items: center; column-gap: var(--space-2xl); row-gap: var(--space-lg); }
|
|
1018
|
-
/* A faint wash behind it (the page-wash tokens), padded so the wash shows round the words. */
|
|
1019
|
-
.ws-page-hero--cool, .ws-page-hero--team { border-radius: var(--ws-radius-card); padding: var(--space-lg); }
|
|
1020
|
-
.ws-page-hero--cool { background-image: var(--ws-cool-glow); }
|
|
1021
|
-
.ws-page-hero--team { background-image: var(--ws-team-glow); }
|
|
1022
|
-
.ws-page-hero__words { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-sm); }
|
|
1023
|
-
.ws-page-hero__title { font-size: var(--font-size-2xl); font-weight: 600; line-height: 1.2; letter-spacing: var(--ws-tracking-title); color: var(--color-text-heading); text-wrap: balance; }
|
|
1024
|
-
.ws-page-hero__lines { max-width: 60ch; display: flex; flex-direction: column; gap: var(--space-xs); font-size: var(--font-size-md); line-height: 1.5; color: var(--color-text-body); }
|
|
1025
|
-
.ws-page-hero__acts { margin-top: var(--space-xs); display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); }
|
|
1026
|
-
.ws-page-hero__aside { min-width: 0; }
|
|
1027
|
-
@container (min-width: 60rem) {
|
|
1028
|
-
.ws-page-hero:has(> .ws-page-hero__aside) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
|
|
1029
|
-
.ws-page-hero__title { font-size: var(--font-size-3xl); }
|
|
1030
|
-
}
|
|
1031
|
-
|
|
1032
|
-
/* ---- Pagination: a card's foot for a long list, the range at the left, rows per page and the chevrons at the right ---- */
|
|
1033
|
-
.ws-pagination { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); padding: var(--space-sm) var(--ws-card-inset); border-top: var(--ws-hairline) solid var(--ws-edge-card); }
|
|
1034
|
-
.ws-pagination__range { font-size: var(--ws-text-meta); color: var(--color-text-muted); white-space: nowrap; }
|
|
1035
|
-
.ws-pagination__end { display: flex; align-items: center; gap: var(--space-sm); flex-shrink: 0; }
|
|
1036
|
-
.ws-pagination__nav { display: flex; align-items: center; gap: var(--space-xxs); }
|
|
1037
|
-
.ws-pagination__rows { display: flex; align-items: center; gap: var(--space-xxs); }
|
|
1038
|
-
.ws-pagination__rows select { height: var(--ws-control-h-sm); border-radius: var(--ws-radius-control); border: 0; background: var(--color-bg-page); box-shadow: var(--ws-shadow-hairline); color: var(--color-text-heading); font-size: var(--ws-text-dense); padding: 0 var(--space-xxs); }
|
|
1039
|
-
|
|
1040
|
-
/* ---- Panel: the one thing opened from the chat, docked beside it at the panel width ---- */
|
|
1041
|
-
@keyframes ws-panel-slide-in { from { opacity: 0; transform: translateX(var(--space-lg)); } to { opacity: 1; transform: none; } }
|
|
1042
|
-
.ws-panel { display: flex; flex-shrink: 0; flex-direction: column; width: var(--ws-thing-width); border-left: var(--ws-hairline) solid var(--ws-edge-card); background: var(--color-bg-page); box-shadow: var(--ws-shadow-lift); }
|
|
1043
|
-
@media (prefers-reduced-motion: no-preference) { .ws-panel { animation: ws-panel-slide-in var(--ws-duration-settle) var(--ws-ease-soft) backwards; } }
|
|
1044
|
-
.ws-panel__head { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; height: var(--ws-topbar-h); padding: 0 var(--ws-card-inset); }
|
|
1045
|
-
.ws-panel__body { display: flex; flex: 1; flex-direction: column; gap: var(--space-sm); min-height: 0; overflow-y: auto; padding: 0 var(--ws-card-inset) var(--space-md); }
|
|
1046
|
-
|
|
1047
|
-
/* ---- PasswordInput: the house field with a show/hide eye inside it, and a four-part strength meter ---- */
|
|
1048
|
-
.ws-password-input__label-row { display: flex; align-items: baseline; justify-content: space-between; }
|
|
1049
|
-
.ws-password-input { position: relative; display: flex; }
|
|
1050
|
-
.ws-password-input .ws-input { padding-right: var(--space-xl); }
|
|
1051
|
-
.ws-password-input__eye { position: absolute; right: calc(var(--space-xxs) / 2); top: 50%; transform: translateY(-50%); }
|
|
1052
|
-
.ws-password-input__strength { display: flex; align-items: center; gap: var(--space-xs); margin-top: var(--space-xxs); }
|
|
1053
|
-
.ws-password-input__segments { display: flex; gap: var(--space-xxs); }
|
|
1054
|
-
.ws-password-input__segment { width: calc(var(--space-md) + var(--space-xxs)); height: var(--space-xxs); border-radius: var(--ws-radius-bar); background: var(--color-gray-2); }
|
|
1055
|
-
.ws-password-input__word { font-size: var(--ws-text-dense); font-weight: 500; }
|
|
1056
|
-
|
|
1057
|
-
/* ---- Plate: a card's facts set apart on the sunk cream, as rows of label and value or as a goal's track ---- */
|
|
1058
|
-
.ws-plate__fact { display: flex; align-items: center; justify-content: space-between; }
|
|
1059
|
-
.ws-plate__fact + .ws-plate__fact { margin-top: var(--space-xxs); }
|
|
1060
|
-
.ws-plate__value { font-weight: 600; color: var(--color-text-heading); }
|
|
1061
|
-
.ws-plate__track { height: var(--space-sm); border-radius: var(--ws-radius-bar); background: var(--ws-chart-empty); overflow: hidden; }
|
|
1062
|
-
.ws-plate__fill { height: 100%; border-radius: var(--ws-radius-bar); background: var(--color-stat-positive); transform-origin: left; }
|
|
1063
|
-
|
|
1064
|
-
/* ---- Popover: Menu's lifted shell with 12 px inside, holding a short note or a small form ---- */
|
|
1065
|
-
.ws-popover { display: flex; flex-direction: column; gap: var(--space-xs); z-index: var(--z-dropdown); padding: var(--space-sm); border-radius: var(--ws-radius-card); background: var(--color-bg-page); box-shadow: var(--ws-shadow-lift); }
|
|
1066
|
-
.ws-popover__title { font-size: var(--ws-text-body); line-height: calc(var(--space-md) + var(--space-xxs)); font-weight: 500; color: var(--color-text-heading); }
|
|
1067
|
-
.ws-popover__form { display: flex; flex-direction: column; gap: var(--space-xs); }
|
|
1068
|
-
.ws-popover__form > .ws-btn { align-self: flex-end; }
|
|
1069
|
-
|
|
1070
|
-
/* ---- PricingTable: the kit's three plans side by side, the popular one ringed in navy ---- */
|
|
1071
|
-
.ws-pricing-table { background: var(--color-background); width: 100%; padding: var(--space-xl) var(--layout-margin); }
|
|
1072
|
-
.ws-pricing-table__grid { display: flex; flex-wrap: wrap; align-items: stretch; gap: var(--layout-col-gap); max-width: var(--layout-content-max); margin: 0 auto; }
|
|
1073
|
-
.ws-pricing-table__plan { flex: 1 1 calc(var(--space-9xl) + var(--space-2xl)); display: flex; flex-direction: column; border-radius: var(--radius-sm); border: var(--ws-line) solid var(--color-border-default); background: var(--color-white); padding: var(--space-lg); }
|
|
1074
|
-
.ws-pricing-table__plan--popular { border-color: var(--color-brand-navy); box-shadow: 0 0 0 var(--ws-ring) var(--color-brand-navy); }
|
|
1075
|
-
.ws-pricing-table__badge { align-self: flex-start; display: inline-flex; align-items: center; border-radius: var(--radius-full); padding: calc(var(--space-xxs) / 2) calc(var(--space-xs) + var(--space-xxs) / 2); font-size: var(--font-size-2xs); font-weight: 500; background: color-mix(in srgb, var(--color-brand-navy) 10%, transparent); color: var(--color-brand-navy); margin-bottom: var(--space-sm); }
|
|
1076
|
-
.ws-pricing-table__name { font-size: var(--font-size-lg2); font-weight: 600; color: var(--color-brand-navy); }
|
|
1077
|
-
.ws-pricing-table__price { margin-top: var(--space-sm); display: flex; align-items: baseline; gap: var(--space-xxs); }
|
|
1078
|
-
.ws-pricing-table__price-value { font-size: var(--font-size-4xl); font-weight: 600; color: var(--color-brand-navy); line-height: calc(var(--space-3xl) + var(--space-xs)); }
|
|
1079
|
-
.ws-pricing-table__price-period { font-size: var(--font-size-sm); color: var(--color-text-muted); }
|
|
1080
|
-
.ws-pricing-table__list { margin-top: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-sm); flex: 1; }
|
|
1081
|
-
.ws-pricing-table__row { display: flex; align-items: flex-start; gap: var(--space-xs); font-size: var(--font-size-sm); color: var(--color-text-primary); }
|
|
1082
|
-
.ws-pricing-table__row svg { width: var(--ws-icon); height: var(--ws-icon); flex-shrink: 0; margin-top: calc(var(--space-xxs) / 2); color: var(--color-stat-positive); }
|
|
1083
|
-
.ws-pricing-table__cta { margin-top: var(--space-lg); }
|
|
1084
|
-
|
|
1085
|
-
/* ---- ProgressPetals: a team's shares as petals round a hole, the overall percent in the middle ---- */
|
|
1086
|
-
.ws-progress-petals__body { display: flex; flex-direction: column; align-items: center; gap: var(--space-md); padding: var(--space-lg) var(--ws-card-inset) calc(var(--space-xl) + var(--space-xxs) / 2); }
|
|
1087
|
-
/* The wheel: the drawing's own 316, never larger; a wider card centres it. */
|
|
1088
|
-
.ws-progress-petals__wheel { position: relative; width: 100%; max-width: calc(var(--space-9xl) + var(--space-7xl) - var(--space-xxs)); aspect-ratio: 1; margin: calc(var(--space-xxs) * 1.5) 0; }
|
|
1089
|
-
.ws-progress-petals__wheel svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
|
|
1090
|
-
.ws-progress-petals__petal { transform-box: view-box; transform-origin: 50% 50%; }
|
|
1091
|
-
.ws-progress-petals__label { position: absolute; display: flex; flex-direction: column; align-items: center; transform: translate(-50%, -50%); white-space: nowrap; pointer-events: none; }
|
|
1092
|
-
.ws-progress-petals__share { font-size: var(--ws-text-body); font-weight: 600; line-height: calc(var(--space-md) + var(--space-xxs)); }
|
|
1093
|
-
.ws-progress-petals__name { font-size: var(--ws-text-micro); line-height: calc(var(--space-xs) + var(--space-xxs) * 0.75); }
|
|
1094
|
-
.ws-progress-petals__label--on .ws-progress-petals__share { color: var(--color-text-heading); }
|
|
1095
|
-
.ws-progress-petals__label--on .ws-progress-petals__name { color: color-mix(in srgb, var(--color-brand-navy) 75%, transparent); }
|
|
1096
|
-
.ws-progress-petals__label--off .ws-progress-petals__share, .ws-progress-petals__label--off .ws-progress-petals__name { color: var(--color-gray-5); }
|
|
1097
|
-
.ws-progress-petals__center { position: absolute; left: 50%; top: 50%; display: flex; flex-direction: column; align-items: center; transform: translate(-50%, -50%); }
|
|
1098
|
-
.ws-progress-petals__total { font-size: var(--ws-text-title); font-weight: 600; line-height: var(--ws-leading-title); letter-spacing: var(--ws-tracking-title); color: var(--color-text-heading); }
|
|
1099
|
-
.ws-progress-petals__center--small .ws-progress-petals__total { font-size: var(--ws-text-value); }
|
|
1100
|
-
.ws-progress-petals__caption { font-size: var(--ws-text-micro); line-height: calc(var(--space-xs) + var(--space-xxs) * 1.5); text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-text-muted); }
|
|
1101
|
-
/* The rings variant: ten bands a slice, the slices' tones given as the element's conic-gradient background. */
|
|
1102
|
-
.ws-progress-petals__rings { position: relative; width: 100%; aspect-ratio: 1; border-radius: var(--radius-full); -webkit-mask-image: repeating-radial-gradient(circle, var(--color-text-heading) 0 var(--space-xxs), transparent var(--space-xxs) calc(var(--space-xxs) * 1.25)); mask-image: repeating-radial-gradient(circle, var(--color-text-heading) 0 var(--space-xxs), transparent var(--space-xxs) calc(var(--space-xxs) * 1.25)); }
|
|
1103
|
-
.ws-progress-petals__rings-hole { position: absolute; inset: 15%; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: var(--radius-full); background: var(--color-bg-page); }
|
|
1104
|
-
.ws-progress-petals__rings-hole .ws-progress-petals__center { position: static; transform: none; }
|
|
1105
|
-
|
|
1106
|
-
/* ---- Radio: a native radio under a skin, navy when chosen; a group is a fieldset with its legend ---- */
|
|
1107
|
-
.ws-radio-group { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-xxs); }
|
|
1108
|
-
.ws-radio-group__legend { padding: 0 0 var(--space-xxs); font-size: var(--ws-text-dense); line-height: var(--space-md); font-weight: 500; color: var(--color-text-body); }
|
|
1109
|
-
.ws-radio { display: flex; align-items: flex-start; gap: var(--space-xs); cursor: pointer; padding: var(--space-xxs) 0; }
|
|
1110
|
-
.ws-radio input { position: absolute; width: var(--ws-line); height: var(--ws-line); opacity: 0; }
|
|
1111
|
-
.ws-radio__dot { position: relative; flex-shrink: 0; margin-top: calc(var(--space-xxs) / 2); width: var(--ws-icon); height: var(--ws-icon); border-radius: var(--radius-full); border: var(--ws-line) solid var(--ws-edge-card); background: var(--color-bg-page); transition: border-color var(--ws-duration-instant) var(--ws-ease-soft); }
|
|
1112
|
-
.ws-radio__dot::after { content: ""; position: absolute; inset: calc(var(--space-xxs) * 0.75); border-radius: var(--radius-full); background: var(--color-text-heading); opacity: 0; transition: opacity var(--ws-duration-instant) var(--ws-ease-soft); }
|
|
1113
|
-
.ws-radio input:checked + .ws-radio__dot { border-color: var(--color-text-heading); }
|
|
1114
|
-
.ws-radio input:checked + .ws-radio__dot::after { opacity: 1; }
|
|
1115
|
-
.ws-radio input:focus-visible + .ws-radio__dot { box-shadow: var(--shadow-focus-ring); }
|
|
1116
|
-
.ws-radio__words { display: flex; flex-direction: column; gap: calc(var(--space-xxs) / 2); }
|
|
1117
|
-
.ws-radio__label { font-size: var(--ws-text-body); line-height: calc(var(--space-md) + var(--space-xxs)); color: var(--color-text-heading); font-weight: 500; }
|
|
1118
|
-
.ws-radio--disabled { opacity: 0.5; cursor: not-allowed; }
|
|
1119
|
-
|
|
1120
|
-
/* ---- RankBar: the person against their team on one skill, a strip of fine ticks with a line for each mark ---- */
|
|
1121
|
-
/* Each mark's line and words sit on a row (style="--lane: n", 0 just above the strip); the strip's wrap makes room for
|
|
1122
|
-
its highest row (style="--lanes: n"). Positions and tones are data on the marks. */
|
|
1123
|
-
.ws-rank-bar--in-card { padding: 0 var(--ws-card-inset) var(--space-xs); }
|
|
1124
|
-
.ws-rank-bar__caption-row { display: flex; align-items: baseline; justify-content: space-between; padding-top: var(--space-lg); }
|
|
1125
|
-
.ws-rank-bar__caption { font-size: var(--ws-text-meta); font-weight: 600; line-height: var(--space-md); color: var(--color-text-heading); }
|
|
1126
|
-
.ws-rank-bar__goal { font-size: var(--ws-text-meta); color: var(--color-text-muted); }
|
|
1127
|
-
.ws-rank-bar__wrap { --lanes: 0; position: relative; margin-top: calc(var(--space-lg) - var(--space-xxs) / 2); padding-top: calc(var(--space-md) + var(--space-xxs) / 2 + var(--lanes) * (var(--space-sm) + var(--space-xxs) / 2)); }
|
|
1128
|
-
.ws-rank-bar__strip { position: relative; height: var(--space-2xl); background: var(--color-bg-page); }
|
|
1129
|
-
.ws-rank-bar__remaining { position: absolute; inset: 0; left: var(--you); background-image: repeating-linear-gradient(90deg, var(--ws-edge-slot) 0 var(--ws-line), transparent var(--ws-line) var(--space-xxs)); }
|
|
1130
|
-
.ws-rank-bar__filled { position: absolute; inset: 0; width: var(--you); background: linear-gradient(90deg, var(--ws-chart-salmon-fade), var(--color-brand-salmon)); -webkit-mask-image: repeating-linear-gradient(90deg, var(--color-text-heading) 0 calc(var(--space-xxs) / 2), transparent calc(var(--space-xxs) / 2) var(--space-xxs)); mask-image: repeating-linear-gradient(90deg, var(--color-text-heading) 0 calc(var(--space-xxs) / 2), transparent calc(var(--space-xxs) / 2) var(--space-xxs)); }
|
|
1131
|
-
.ws-rank-bar__mark, .ws-rank-bar__label { --lane: 0; position: absolute; }
|
|
1132
|
-
.ws-rank-bar__mark { bottom: 0; width: calc(var(--ws-hairline) * 3); height: calc(var(--space-2xl) + var(--space-md) + var(--lane) * (var(--space-sm) + var(--space-xxs) / 2)); transform: translateX(-50%); }
|
|
1133
|
-
.ws-rank-bar__label { bottom: calc(var(--space-2xl) + var(--space-md) + var(--lane) * (var(--space-sm) + var(--space-xxs) / 2) - var(--space-xs) - var(--space-xxs) / 2); white-space: nowrap; font-size: var(--ws-text-micro); font-weight: 600; line-height: var(--space-sm); }
|
|
1134
|
-
.ws-rank-bar__quarters { position: relative; height: var(--space-sm); margin-top: var(--space-xs); font-size: var(--ws-text-micro); font-weight: 500; color: var(--color-text-muted); }
|
|
1135
|
-
.ws-rank-bar__quarters > span { position: absolute; top: 0; }
|
|
1136
|
-
|
|
1137
|
-
/* ---- Ring: an arc for one share (drawn in once, or live), and the week-split ring of fine ticks with its legend ---- */
|
|
1138
|
-
.ws-ring { display: flex; flex-direction: column; align-items: center; gap: var(--space-xs); }
|
|
1139
|
-
.ws-ring__arc { position: relative; display: inline-flex; }
|
|
1140
|
-
.ws-ring__arc svg { display: block; transform: rotate(-90deg); }
|
|
1141
|
-
.ws-ring__track { fill: none; stroke: var(--ws-chart-empty); }
|
|
1142
|
-
.ws-ring__value { fill: none; stroke-linecap: round; }
|
|
1143
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
1144
|
-
.ws-ring__value--draw { animation: ws-draw var(--ws-duration-calm) var(--ws-ease-soft) backwards; }
|
|
1145
|
-
.ws-ring__value--live { transition: stroke-dasharray var(--ws-duration-calm) var(--ws-ease-steady); }
|
|
1146
|
-
}
|
|
1147
|
-
.ws-ring__center { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-weight: 600; color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
1148
|
-
.ws-ring__center--sm { font-size: var(--ws-text-dense); }
|
|
1149
|
-
.ws-ring__center--lg { font-size: var(--ws-text-title); }
|
|
1150
|
-
/* The week split: a 200 ring of fine radial ticks (its tones given as the element's conic-gradient background), a legend beside. */
|
|
1151
|
-
.ws-ring__split { display: flex; align-items: center; gap: var(--space-xl); padding: var(--space-lg) var(--ws-card-inset) calc(var(--space-xl) - var(--space-xxs) / 4); }
|
|
1152
|
-
.ws-ring__ticks { position: relative; flex-shrink: 0; width: var(--space-9xl); height: var(--space-9xl); border-radius: var(--radius-full); -webkit-mask-image: repeating-conic-gradient(var(--color-text-heading) 0deg 2.5deg, transparent 2.5deg 5deg); mask-image: repeating-conic-gradient(var(--color-text-heading) 0deg 2.5deg, transparent 2.5deg 5deg); }
|
|
1153
|
-
.ws-ring__hole { position: absolute; inset: 15%; border-radius: var(--radius-full); background: var(--color-bg-page); }
|
|
1154
|
-
.ws-ring__legend { display: flex; flex-direction: column; gap: var(--space-sm); }
|
|
1155
|
-
.ws-ring__key { display: flex; align-items: center; gap: var(--space-xs); }
|
|
1156
|
-
.ws-ring__dot { flex-shrink: 0; width: var(--space-sm); height: var(--space-sm); border-radius: var(--radius-full); }
|
|
1157
|
-
.ws-ring__count { width: var(--space-xl); text-align: right; font-size: var(--ws-text-value); font-weight: 600; color: var(--color-text-heading); }
|
|
1158
|
-
.ws-ring__label { font-size: var(--ws-text-body); color: var(--color-text-body); }
|
|
1159
|
-
|
|
1160
|
-
/* ---- Section: a group under a small heading, a line of context and one act on its right. (The block is
|
|
1161
|
-
.ws-section-group: .ws-section is the house's 16 px section title.) ---- */
|
|
1162
|
-
.ws-section-group { display: flex; flex-direction: column; gap: var(--space-sm); }
|
|
1163
|
-
.ws-section-group__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--space-sm) var(--space-xxs); }
|
|
1164
|
-
.ws-section-group__words { display: flex; flex-direction: column; gap: calc(var(--space-xxs) / 2); }
|
|
1165
|
-
.ws-section-group__title { font-size: var(--ws-text-body); font-weight: 600; color: var(--color-text-heading); }
|
|
1166
|
-
.ws-section-group__row { display: flex; align-items: center; justify-content: space-between; min-height: var(--ws-row-h-dense); padding: 0 var(--space-xs); border-radius: var(--ws-radius-row); }
|
|
1167
|
-
.ws-section-group__row + .ws-section-group__row { border-top: var(--ws-line) solid var(--ws-chart-cell-edge); }
|
|
1168
|
-
|
|
1169
|
-
/* ---- Segmented: as a tab row, each list item holds its tab at full height ---- */
|
|
1170
|
-
.ws-segmented > li { display: flex; }
|
|
1171
|
-
|
|
1172
|
-
/* ---- Skeleton: placeholders shaped like what is coming, breathing on ws-working-slow; sized where used ---- */
|
|
1173
|
-
.ws-skeleton { border-radius: var(--radius-full); background: var(--ws-surface-sunk); }
|
|
1174
|
-
.ws-skeleton__head { display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--ws-card-inset); }
|
|
1175
|
-
.ws-skeleton__body { display: flex; flex-direction: column; gap: var(--space-xs); padding: 0 var(--ws-card-inset) var(--space-md); }
|
|
1176
|
-
|
|
1177
|
-
/* ---- Stat: the kit's marketing figure, its label above and a note under, three to a strip ---- */
|
|
1178
|
-
.ws-stat-strip { display: flex; gap: var(--space-2xl); }
|
|
1179
|
-
.ws-stat { min-width: 0; }
|
|
1180
|
-
.ws-stat__label { font-size: var(--font-size-3xs); font-weight: 600; text-transform: uppercase; letter-spacing: var(--letter-spacing-overline); color: var(--color-text-muted); }
|
|
1181
|
-
/* The kit writes the value at 28 px, not a font-size step: here a calc on the 4 px grid (see the README's Rules). */
|
|
1182
|
-
.ws-stat__value { margin-top: var(--space-xxs); font-size: calc(var(--space-lg) + var(--space-xxs)); font-weight: 600; line-height: 1.05; font-variant-numeric: tabular-nums; color: var(--color-text-heading); }
|
|
1183
|
-
.ws-stat__value--positive { color: var(--color-stat-positive); }
|
|
1184
|
-
.ws-stat__value--brand { color: var(--color-brand-salmon); }
|
|
1185
|
-
.ws-stat__value--muted { color: var(--color-text-muted); }
|
|
1186
|
-
.ws-stat__value--none { color: var(--color-gray-5); }
|
|
1187
|
-
.ws-stat__pending { display: block; height: calc(var(--space-lg) + var(--space-xxs) + var(--ws-line)); width: var(--space-5xl); border-radius: var(--radius-md); background: var(--color-gray-2); }
|
|
1188
|
-
.ws-stat__note { margin-top: var(--space-xxs); font-size: var(--font-size-2xs); line-height: var(--space-md); color: var(--color-text-muted); }
|
|
1189
|
-
|
|
1190
|
-
/* ---- StatTiles: a page's few numbers as tiles, two across, four from the page's or area's 60rem ---- */
|
|
1191
|
-
.ws-stat-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
|
|
1192
|
-
@container (min-width: 60rem) { .ws-stat-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
|
|
1193
|
-
/* A tile is a card (ws-card) with a stripe in its tone across its top. */
|
|
1194
|
-
.ws-stat-tiles__tile { position: relative; display: flex; min-width: 0; height: 100%; flex-direction: column; gap: var(--space-xxs); overflow: hidden; padding: var(--ws-card-padding-lg); }
|
|
1195
|
-
.ws-stat-tiles__stripe { position: absolute; inset: 0 0 auto 0; height: calc(var(--space-xxs) * 0.75); }
|
|
1196
|
-
.ws-stat-tiles__stripe--navy { background: linear-gradient(90deg, var(--ws-chart-navy-fade), var(--color-brand-navy)); }
|
|
1197
|
-
.ws-stat-tiles__stripe--salmon { background: linear-gradient(90deg, var(--ws-chart-salmon-fade), var(--color-brand-salmon)); }
|
|
1198
|
-
.ws-stat-tiles__stripe--purple { background: linear-gradient(90deg, var(--ws-chart-purple-fade), var(--ws-chart-past-half)); }
|
|
1199
|
-
.ws-stat-tiles__stripe--teal { background: linear-gradient(90deg, var(--ws-chart-teal-fade), var(--ws-chart-finished)); }
|
|
1200
|
-
.ws-stat-tiles__label { font-size: var(--ws-text-dense); font-weight: 600; color: var(--color-text-muted); }
|
|
1201
|
-
.ws-stat-tiles__value-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--space-xxs) var(--space-xs); }
|
|
1202
|
-
.ws-stat-tiles__value { font-size: var(--font-size-3xl); font-weight: 400; line-height: 1; letter-spacing: var(--ws-tracking-display); color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
1203
|
-
.ws-stat-tiles__unit { padding-bottom: var(--space-xxs); font-size: var(--ws-text-dense); line-height: var(--space-md); color: var(--color-text-muted); }
|
|
1204
|
-
.ws-stat-tiles__change { margin-bottom: calc(var(--space-xxs) / 2); }
|
|
1205
|
-
.ws-stat-tiles__line { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: var(--ws-text-dense); color: var(--color-text-muted); }
|
|
1206
|
-
.ws-stat-tiles__ticks { padding-top: var(--space-xxs); }
|
|
1207
|
-
|
|
1208
|
-
/* ---- StatusScreen: not found, an error, offline: the orb, plain words, one act ---- */
|
|
1209
|
-
.ws-status-screen { display: flex; flex-direction: column; align-items: center; gap: var(--space-sm); padding: var(--space-lg); border-radius: var(--ws-radius-panel); background: var(--color-bg-page); text-align: center; }
|
|
1210
|
-
.ws-status-screen__orb { width: var(--space-2xl); height: var(--space-2xl); border-radius: var(--radius-full); background: radial-gradient(circle at 30% 30%, var(--color-ai-cyan), var(--color-ai-blue) 45%, var(--color-ai-violet) 80%); }
|
|
1211
|
-
|
|
1212
|
-
/* ---- Stepper: steps in order, done in teal, the one in hand ringed, the rest waiting ---- */
|
|
1213
|
-
.ws-stepper { display: flex; flex-direction: column; }
|
|
1214
|
-
.ws-stepper__item { position: relative; display: flex; gap: var(--space-sm); padding-bottom: var(--space-md); }
|
|
1215
|
-
.ws-stepper__item:last-child { padding-bottom: 0; }
|
|
1216
|
-
.ws-stepper__line { position: absolute; top: var(--space-lg); bottom: 0; left: calc(var(--space-lg) / 2 - var(--ws-hairline)); width: calc(var(--ws-hairline) * 2); background: var(--ws-edge); }
|
|
1217
|
-
.ws-stepper__line-fill { position: absolute; inset: 0; transform-origin: top; background: var(--color-stat-positive); }
|
|
1218
|
-
.ws-stepper__mark { position: relative; display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; width: var(--space-lg); height: var(--space-lg); border-radius: var(--radius-full); font-size: var(--ws-text-dense); font-weight: 600; font-variant-numeric: tabular-nums; }
|
|
1219
|
-
.ws-stepper__mark--done { background: var(--color-stat-positive); color: var(--color-white); }
|
|
1220
|
-
.ws-stepper__mark--current { background: var(--color-bg-page); color: var(--color-text-heading); box-shadow: inset 0 0 0 calc(var(--ws-hairline) * 4) var(--color-text-heading); }
|
|
1221
|
-
.ws-stepper__mark--wait { background: var(--color-bg-page); color: var(--color-text-muted); box-shadow: var(--ws-shadow-hairline); }
|
|
1222
|
-
.ws-stepper__body { display: flex; flex: 1; min-width: 0; flex-direction: column; padding-top: calc(var(--space-xxs) / 2); }
|
|
1223
|
-
.ws-stepper__title { font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-heading); }
|
|
1224
|
-
|
|
1225
|
-
/* ---- StreakCalendar: one person's weeks as day cells, a navy dot a day done, today ringed in salmon ---- */
|
|
1226
|
-
.ws-streak-calendar__body { padding: 0 var(--ws-card-inset) var(--space-md); }
|
|
1227
|
-
.ws-streak-calendar__grid { display: grid; width: 100%; max-width: calc(var(--space-9xl) * 2 + var(--space-6xl) - var(--space-lg) - var(--space-sm)); grid-template-columns: calc(var(--space-4xl) - var(--space-xxs)) repeat(7, minmax(0, 1fr)); align-items: center; column-gap: var(--space-xxs); row-gap: calc(var(--space-xxs) * 1.25); padding-top: calc(var(--space-sm) + var(--space-xxs) / 2); }
|
|
1228
|
-
.ws-streak-calendar__letter { padding-bottom: var(--space-xxs); text-align: center; font-size: var(--ws-text-micro); font-weight: 500; line-height: var(--space-sm); color: var(--color-text-muted); }
|
|
1229
|
-
.ws-streak-calendar__label { font-size: var(--ws-text-dense); line-height: var(--space-md); color: var(--color-text-body); white-space: nowrap; }
|
|
1230
|
-
.ws-streak-calendar__label--today { font-weight: 600; color: var(--ws-word-needs); }
|
|
1231
|
-
.ws-streak-calendar__cell { display: block; min-width: 0; height: var(--space-lg); }
|
|
1232
|
-
.ws-streak-calendar__cell--done { border-radius: var(--radius-full); background: var(--color-brand-navy); }
|
|
1233
|
-
.ws-streak-calendar__cell--empty { border-radius: var(--ws-radius-control); border: var(--ws-hairline) solid var(--ws-edge-slot); background: var(--color-bg-page); }
|
|
1234
|
-
.ws-streak-calendar__cell--future { border-style: dashed; }
|
|
1235
|
-
.ws-streak-calendar__cell--today { border-radius: var(--radius-full); border: calc(var(--ws-hairline) * 3) solid var(--color-brand-salmon); background: var(--color-bg-page); }
|
|
1236
|
-
|
|
1237
|
-
/* ---- Switch: a sliding track and thumb, navy when on; a saving or saved word beside the label ---- */
|
|
1238
|
-
.ws-switch { display: inline-flex; align-items: center; gap: var(--space-xs); cursor: pointer; padding: var(--space-xxs) 0; min-height: var(--ws-touch); }
|
|
1239
|
-
.ws-switch input { position: absolute; width: var(--ws-line); height: var(--ws-line); opacity: 0; }
|
|
1240
|
-
.ws-switch__track { position: relative; flex-shrink: 0; width: var(--ws-control-h-md); height: var(--ws-icon-lg); border-radius: var(--radius-full); background: var(--color-bg-page); border: var(--ws-hairline) solid var(--ws-edge-card); transition: background-color var(--ws-duration-instant) var(--ws-ease-soft), border-color var(--ws-duration-instant) var(--ws-ease-soft); }
|
|
1241
|
-
.ws-switch input:checked + .ws-switch__track { background: var(--color-text-heading); border-color: var(--color-text-heading); }
|
|
1242
|
-
.ws-switch__thumb { position: absolute; top: calc(var(--space-xxs) / 2); left: calc(var(--space-xxs) / 2); width: var(--ws-icon); height: var(--ws-icon); border-radius: var(--radius-full); background: var(--color-white); transition: transform var(--ws-duration-instant) var(--ws-ease-soft); }
|
|
1243
|
-
.ws-switch input:checked ~ .ws-switch__track .ws-switch__thumb { transform: translateX(var(--ws-icon)); }
|
|
1244
|
-
.ws-switch input:focus-visible + .ws-switch__track { box-shadow: var(--shadow-focus-ring); }
|
|
1245
|
-
.ws-switch__words { display: flex; flex-direction: column; gap: calc(var(--space-xxs) / 2); }
|
|
1246
|
-
.ws-switch__label { font-size: var(--ws-text-body); line-height: calc(var(--space-md) + var(--space-xxs)); color: var(--color-text-heading); font-weight: 500; }
|
|
1247
|
-
.ws-switch--disabled { opacity: 0.5; cursor: not-allowed; }
|
|
1248
|
-
.ws-switch__status { display: inline-flex; align-items: center; gap: var(--space-xxs); font-size: var(--ws-text-dense); line-height: var(--space-md); }
|
|
1249
|
-
.ws-switch__saved { color: var(--ws-word-positive); }
|
|
1250
|
-
.ws-switch__saving { color: var(--color-text-interactive); }
|
|
1251
|
-
|
|
1252
|
-
/* ---- Table: records in a card; 32 px head, 40 px rows, the first column sticky, a selected row's navy inset ---- */
|
|
1253
|
-
.ws-table { overflow: hidden; }
|
|
1254
|
-
.ws-table__scroll { overflow-x: auto; }
|
|
1255
|
-
.ws-table table { width: 100%; border-collapse: collapse; }
|
|
1256
|
-
.ws-table thead th { height: var(--ws-control-h); padding: 0 var(--space-sm); font-size: var(--ws-text-dense); font-weight: 500; color: var(--color-text-muted); text-align: left; white-space: nowrap; border-bottom: var(--ws-line) solid var(--ws-edge-slot); }
|
|
1257
|
-
.ws-table__sort { display: inline-flex; align-items: center; gap: var(--space-xxs); border: 0; background: none; padding: 0; font: inherit; color: inherit; cursor: pointer; }
|
|
1258
|
-
.ws-table__sort svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); }
|
|
1259
|
-
.ws-table .ws-table__check { width: var(--ws-control-h-md); padding-left: var(--space-sm); }
|
|
1260
|
-
.ws-table tbody tr { height: var(--ws-row-h-dense); }
|
|
1261
|
-
.ws-table tbody tr:not(:last-child) td { border-bottom: var(--ws-line) solid var(--ws-edge-slot); }
|
|
1262
|
-
.ws-table tbody td { padding: 0 var(--space-sm); font-size: var(--ws-text-body); color: var(--color-text-body); vertical-align: middle; }
|
|
1263
|
-
.ws-table tbody tr:hover td, .ws-table .ws-table__row--selected td { background: var(--ws-surface-sunk); }
|
|
1264
|
-
.ws-table .ws-table__row--selected td:first-child { box-shadow: var(--ws-focus-inset); }
|
|
1265
|
-
.ws-table .ws-table__name { position: sticky; left: 0; font-weight: 500; color: var(--color-text-heading); background: var(--color-bg-page); white-space: nowrap; }
|
|
1266
|
-
.ws-table tbody tr:hover .ws-table__name, .ws-table .ws-table__row--selected .ws-table__name { background: var(--ws-surface-sunk); }
|
|
1267
|
-
.ws-table .ws-table__num { text-align: right; font-variant-numeric: tabular-nums; }
|
|
1268
|
-
.ws-table .ws-table__acts { white-space: nowrap; text-align: right; padding-right: var(--space-sm); }
|
|
1269
|
-
.ws-table__acts .ws-btn { margin-left: var(--space-xxs); }
|
|
1270
|
-
/* Loading: a placeholder bar in each cell, the head shown at once. */
|
|
1271
|
-
.ws-table__placeholder { height: calc(var(--space-xs) + var(--space-xxs) / 2); border-radius: var(--radius-xs); background: var(--ws-chart-empty); }
|
|
1272
|
-
@media (prefers-reduced-motion: no-preference) { .ws-table__placeholder { animation: ws-pulse var(--ws-loop-slow) var(--ws-ease-soft) infinite; } }
|
|
1273
|
-
/* Empty: the same card, a sentence and the act that clears the filter. */
|
|
1274
|
-
.ws-table__empty { display: flex; flex-direction: column; align-items: center; gap: var(--space-sm); padding: var(--space-md); text-align: center; }
|
|
1275
|
-
|
|
1276
|
-
/* ---- Tabs: a page's own sections, words on a hairline, the current one navy with a 2 px underline; scrolls sideways ---- */
|
|
1277
|
-
.ws-tabs { display: flex; align-items: stretch; gap: var(--space-lg); border-bottom: var(--ws-line) solid var(--ws-edge-slot); overflow-x: auto; scrollbar-width: none; }
|
|
1278
|
-
.ws-tabs::-webkit-scrollbar { display: none; }
|
|
1279
|
-
.ws-tabs__tab { position: relative; display: inline-flex; align-items: center; gap: var(--space-xxs); height: var(--ws-control-h); padding: 0 var(--space-xxs); border: 0; background: none; font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-body); white-space: nowrap; cursor: pointer; flex-shrink: 0; }
|
|
1280
|
-
.ws-tabs__tab[aria-selected="true"] { color: var(--color-text-heading); }
|
|
1281
|
-
.ws-tabs__tab[aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: calc(var(--ws-line) * -1); height: var(--ws-ring); background: var(--color-brand-navy); border-radius: var(--ws-radius-bar); }
|
|
1282
|
-
.ws-tabs__tab .ws-chip { height: calc(var(--space-md) + var(--space-xxs) / 2); font-size: var(--ws-text-micro); padding: 0 calc(var(--space-xxs) * 1.5); }
|
|
1283
|
-
|
|
1284
|
-
/* ---- Testimonial: the kit's quote card, the words then the person; two or three to a row ---- */
|
|
1285
|
-
.ws-testimonial-row { display: flex; flex-wrap: wrap; gap: var(--layout-col-gap); }
|
|
1286
|
-
.ws-testimonial-row > * { flex: 1 1 calc(var(--space-9xl) + var(--space-5xl)); }
|
|
1287
|
-
.ws-testimonial { border-radius: var(--radius-sm); border: var(--ws-line) solid var(--color-border-default); background: var(--color-white); padding: var(--space-lg); }
|
|
1288
|
-
.ws-testimonial__quote { font-size: var(--font-size-md); line-height: var(--space-lg); color: var(--color-text-primary); }
|
|
1289
|
-
.ws-testimonial__who { margin-top: var(--space-md); display: flex; align-items: center; gap: var(--space-sm); }
|
|
1290
|
-
.ws-testimonial__avatar { width: var(--ws-control-h-md); height: var(--ws-control-h-md); border-radius: var(--radius-full); background: var(--color-gray-1); color: var(--color-brand-navy); display: inline-flex; align-items: center; justify-content: center; font-size: var(--font-size-2xs); font-weight: 600; flex-shrink: 0; }
|
|
1291
|
-
.ws-testimonial__name { font-size: var(--font-size-sm); font-weight: 500; color: var(--color-brand-navy); }
|
|
1292
|
-
.ws-testimonial__role { font-size: var(--font-size-2xs); color: var(--color-text-muted); }
|
|
1293
|
-
|
|
1294
|
-
/* ---- TextArea: the typing state drawn still (the field itself is the house's .ws-textarea) ---- */
|
|
1295
|
-
.ws-textarea--typing { border-color: var(--color-brand-mid-blue); background: var(--color-white); box-shadow: var(--ws-shadow-hairline), var(--shadow-focus-ring); }
|
|
1296
|
-
|
|
1297
|
-
/* ---- TickRow: a count out of a small whole as a row of ticks (also inside StatTiles, GoalTicks, Leaderboard) ---- */
|
|
1298
|
-
.ws-tick-row { display: flex; flex-shrink: 0; gap: var(--space-xxs); }
|
|
1299
|
-
.ws-tick-row__tick { width: calc(var(--space-xs) + var(--space-xxs) / 4); height: calc(var(--space-md) + var(--space-xxs) / 2); flex-shrink: 0; border-radius: var(--radius-xs); transform-origin: bottom; }
|
|
1300
|
-
.ws-tick-row__tick--empty { background: var(--color-bg-page); box-shadow: inset 0 0 0 var(--ws-line) var(--ws-edge-slot); }
|
|
1301
|
-
/* The row on a line with its label before it and its count after it. */
|
|
1302
|
-
.ws-tick-row__line { display: flex; align-items: center; gap: var(--space-sm); }
|
|
1303
|
-
.ws-tick-row__label { width: var(--space-6xl); flex-shrink: 0; font-size: var(--ws-text-body); color: var(--color-text-heading); }
|
|
1304
|
-
.ws-tick-row__count { font-size: var(--ws-text-value); font-weight: 600; color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
1305
|
-
|
|
1306
|
-
/* ---- Tile: one card in a bento, an icon disc and a title in its head, its body under ---- */
|
|
1307
|
-
.ws-tile { display: flex; flex-direction: column; overflow: hidden; }
|
|
1308
|
-
.ws-tile__head { display: flex; min-height: var(--space-3xl); align-items: center; gap: var(--space-xs); padding: var(--ws-card-padding-lg) var(--ws-card-padding-lg) 0; }
|
|
1309
|
-
.ws-tile__disc { width: var(--space-lg); height: var(--space-lg); }
|
|
1310
|
-
.ws-tile__disc svg { width: var(--space-sm); height: var(--space-sm); color: var(--color-text-heading); }
|
|
1311
|
-
.ws-tile__body { display: flex; flex: 1; flex-direction: column; gap: var(--space-sm); padding: var(--space-xxs) var(--ws-card-padding-lg) var(--ws-card-padding-lg); }
|
|
1312
|
-
.ws-tile__figure { font-size: var(--font-size-xl); line-height: var(--ws-leading-title); font-weight: 600; color: var(--color-text-heading); font-variant-numeric: tabular-nums; }
|
|
1313
|
-
/* In a .ws-board--4: --full takes the whole row; --half two columns once the board has two (40rem). */
|
|
1314
|
-
.ws-tile--full { grid-column: 1 / -1; }
|
|
1315
|
-
@container (min-width: 40rem) { .ws-tile--half { grid-column: span 2; } }
|
|
1316
|
-
|
|
1317
|
-
/* ---- Timeline: what happened, grouped by day, a dot per entry on one hairline ---- */
|
|
1318
|
-
.ws-timeline__day + .ws-timeline__day { margin-top: var(--space-lg); }
|
|
1319
|
-
.ws-timeline__day-label { margin-bottom: var(--space-sm); }
|
|
1320
|
-
.ws-timeline__list { position: relative; margin-left: var(--space-xxs); padding-left: var(--space-md); border-left: var(--ws-line) solid var(--ws-edge-slot); display: flex; flex-direction: column; gap: var(--space-md); }
|
|
1321
|
-
.ws-timeline__item { position: relative; }
|
|
1322
|
-
.ws-timeline__dot { position: absolute; left: calc((var(--space-md) + var(--space-xxs)) * -1); top: var(--space-xxs); width: var(--space-xs); height: var(--space-xs); border-radius: var(--radius-full); background: var(--ws-chart-empty); box-shadow: 0 0 0 var(--ws-ring) var(--color-bg-page); }
|
|
1323
|
-
.ws-timeline__dot--navy { background: var(--color-brand-navy); }
|
|
1324
|
-
.ws-timeline__dot--positive { background: var(--ws-chart-finished); }
|
|
1325
|
-
.ws-timeline__dot--needs { background: var(--color-brand-salmon); }
|
|
1326
|
-
.ws-timeline__dot--settled { background: var(--color-gray-3); }
|
|
1327
|
-
.ws-timeline__title { font-size: var(--ws-text-body); line-height: calc(var(--space-md) + var(--space-xxs)); color: var(--color-text-heading); }
|
|
1328
|
-
.ws-timeline__meta { margin-top: calc(var(--space-xxs) / 2); }
|
|
1329
|
-
|
|
1330
|
-
/* ---- Toast: the kit's sonner toast, a white card with a title, an optional line and one quiet navy act ---- */
|
|
1331
|
-
.ws-toast { display: flex; align-items: flex-start; gap: var(--space-sm); padding: var(--space-sm); border: var(--ws-line) solid var(--color-border-default); border-radius: var(--radius-sm); background: var(--color-white); box-shadow: var(--shadow-card-hover); }
|
|
1332
|
-
.ws-toast__body { display: flex; flex: 1; flex-direction: column; gap: calc(var(--space-xxs) / 2); }
|
|
1333
|
-
.ws-toast__title { font-size: var(--font-size-sm); font-weight: 500; color: var(--color-text-heading); }
|
|
1334
|
-
.ws-toast__description { font-size: var(--font-size-2xs); color: var(--color-text-muted); }
|
|
1335
|
-
.ws-toast__action { flex-shrink: 0; padding: var(--space-xxs) var(--space-xs); border: 0; border-radius: var(--radius-sm); background: var(--color-brand-navy); color: var(--color-white); font-size: var(--font-size-2xs); font-weight: 600; cursor: pointer; }
|
|
1336
|
-
|
|
1337
|
-
/* ---- Tooltip: a small cream card above its control, its name in 12 px semibold navy, one line ---- */
|
|
1338
|
-
.ws-tooltip { position: relative; display: inline-block; }
|
|
1339
|
-
.ws-tooltip__tip { position: absolute; bottom: 100%; left: 50%; z-index: var(--z-dropdown); width: max-content; max-width: var(--ws-thing-width); margin-bottom: var(--space-xxs); padding: var(--space-xs); overflow: hidden; border-radius: var(--ws-radius-card); background: var(--color-bg-page); box-shadow: var(--ws-shadow-hairline), var(--ws-shadow-lift); font-size: var(--ws-text-dense); line-height: var(--space-md); font-weight: 600; color: var(--color-text-heading); white-space: nowrap; text-overflow: ellipsis; transform: translateX(-50%); }
|
|
1340
|
-
|
|
1341
|
-
/* ---- TopBar: a product's 56 px top strip, the wordmark, up to five links, search, one quiet act and the person ---- */
|
|
1342
|
-
.ws-top-bar { display: flex; align-items: center; gap: var(--space-lg); height: var(--ws-header-h); padding: 0 var(--space-lg); }
|
|
1343
|
-
.ws-top-bar--phone { justify-content: space-between; gap: var(--space-md); padding: 0 var(--space-md); }
|
|
1344
|
-
.ws-top-bar__wordmark { font-size: var(--ws-text-value); font-weight: 600; color: var(--color-text-heading); flex-shrink: 0; }
|
|
1345
|
-
.ws-top-bar__links { display: flex; align-items: center; gap: var(--space-lg); flex: 1; min-width: 0; }
|
|
1346
|
-
.ws-top-bar__link { position: relative; display: inline-flex; align-items: center; height: var(--ws-header-h); font-size: var(--ws-text-body); font-weight: 500; color: var(--color-text-body); text-decoration: none; white-space: nowrap; }
|
|
1347
|
-
.ws-top-bar__link--current { color: var(--color-text-heading); }
|
|
1348
|
-
.ws-top-bar__link--current::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: var(--ws-ring); background: var(--color-brand-navy); border-radius: var(--ws-radius-bar); }
|
|
1349
|
-
.ws-top-bar__search { width: var(--space-9xl); height: var(--space-xl); display: flex; align-items: center; gap: var(--space-xxs); padding: 0 var(--space-xs); border-radius: var(--ws-radius-control); background: var(--ws-field); box-shadow: var(--ws-shadow-hairline); color: var(--color-text-muted); font-size: var(--ws-text-meta); flex-shrink: 0; }
|
|
1350
|
-
.ws-top-bar__search svg { width: var(--ws-icon-sm); height: var(--ws-icon-sm); flex-shrink: 0; }
|
|
1351
|
-
.ws-top-bar__end { display: flex; align-items: center; gap: var(--space-xs); flex-shrink: 0; }
|
|
1352
|
-
|
|
1353
|
-
/* ---- TrendBars: a day a thin bar over weeks, the moment that moved it marked in salmon ---- */
|
|
1354
|
-
.ws-trend-bars__body { padding: var(--space-md) var(--ws-card-inset) 0; }
|
|
1355
|
-
.ws-trend-bars__figure { display: flex; align-items: baseline; gap: var(--space-sm); margin-bottom: var(--space-lg); }
|
|
1356
|
-
.ws-trend-bars__chart { position: relative; display: flex; align-items: flex-end; gap: var(--space-xxs); height: calc(var(--space-5xl) + var(--space-sm)); padding-top: calc(var(--space-lg) + var(--space-xxs)); }
|
|
1357
|
-
.ws-trend-bars__bar { flex-shrink: 0; width: calc(var(--space-xxs) / 2); border-radius: var(--ws-radius-bar); background: linear-gradient(to top, var(--ws-chart-purple-fade), var(--ws-chart-past-half)); transform-origin: bottom; }
|
|
1358
|
-
.ws-trend-bars__bar--moment { background: linear-gradient(to top, var(--color-brand-salmon) 40%, var(--ws-chart-under-half)); }
|
|
1359
|
-
.ws-trend-bars__moment { position: relative; }
|
|
1360
|
-
.ws-trend-bars__moment-chip { position: absolute; bottom: calc(100% + var(--space-xxs) * 1.5); left: 50%; transform: translateX(-50%); padding: calc(var(--space-xxs) * 0.75) calc(var(--space-xxs) * 1.5); border-radius: var(--ws-radius-chip); background: var(--ws-tint-needs); color: var(--ws-word-needs); font-size: var(--ws-text-micro); font-weight: 500; white-space: nowrap; }
|
|
1361
|
-
.ws-trend-bars__moment-line { position: absolute; top: calc((var(--space-lg) - var(--space-xxs) / 2) * -1); bottom: 0; left: 50%; width: var(--ws-line); background: var(--color-brand-salmon); opacity: 0.5; }
|
|
1362
|
-
.ws-trend-bars__axis { display: flex; gap: var(--space-xxs); margin-top: var(--space-xxs); padding-bottom: var(--space-md); }
|
|
1363
|
-
.ws-trend-bars__axis > span { position: relative; left: calc(var(--space-xxs) / 4); flex-shrink: 0; width: calc(var(--space-xxs) / 2); overflow: visible; text-align: center; font-size: var(--ws-text-micro); line-height: var(--space-md); color: var(--color-text-muted); white-space: nowrap; transform: translateX(-50%); }
|
|
1364
|
-
|
|
1365
|
-
/* ---- Well: a grey plate of 48 px cream rows to ask, a chevron at each end ---- */
|
|
1366
|
-
.ws-well-row__words { display: flex; min-width: 0; flex: 1; flex-direction: column; }
|
|
1367
|
-
.ws-well-row__words > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
1368
|
-
.ws-well-row__chevron { flex-shrink: 0; width: var(--ws-icon); height: var(--ws-icon); color: var(--color-text-muted); }
|
|
1369
|
-
/* Busy: a placeholder line in each row, sized where used. */
|
|
1370
|
-
.ws-well-row__placeholder { height: var(--space-sm); border-radius: var(--radius-full); background: var(--color-gray-3); opacity: 0.5; }
|
|
7
|
+
@layer theme, base, components, utilities;@layer theme.fello{:root{--color-brand-salmon: #FF725C;--color-brand-navy: #093555;--color-brand-mid-blue: #495883;--color-button-grad-start: #FF816D;--color-button-grad-end: #FF745E;--color-button-border: #DA624F;--color-tertiary-dark-blue: var(--color-brand-navy);--color-background: #FEFBF9;--color-white: #FFFFFF;--color-gray-1: #F9F9F9;--color-surface-stripe: var(--ws-tint-accent);--color-gray-2: #EDEDED;--color-gray-stroke: #E8E8E8;--color-gray-3: #D3D3D3;--color-gray-5: #A9A9A9;--color-gray-6: #7F7F7F;--color-gray-7: #545454;--color-gray-8: #292929;--color-text-primary: color-mix(in srgb, var(--color-text-heading) 50%, #61475f);--color-ai-cyan: #14BACB;--color-ai-blue: #3898F0;--color-ai-violet: #8D6AE6;--color-ai-pink: #EC67A0;--color-ai-rose: #F59593;--gradient-ai: linear-gradient( 90deg, var(--color-ai-cyan) 0%, var(--color-ai-blue) 25%, var(--color-ai-violet) 50%, var(--color-ai-pink) 75%, var(--color-ai-rose) 100% );--color-dropdown-bg: #fcfaf9;--gradient-scrim-dropdown: linear-gradient( 180deg, rgba(237, 237, 237, 0) -2.85%, rgba(45, 45, 45, 0.5) 93.85% );--color-feedback-error: color-mix(in srgb, var(--ws-chart-under-half) 87.5%, #7f3a04);--color-feedback-success-text: #4f7d24;--color-feedback-success-bg: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(254 250.75 221.5));--color-alert: #e90f0f;--color-stat-positive: var(--ws-chart-finished);--color-text-brand-strong: var(--ws-word-needs);--color-text-error-strong: color-mix(in srgb, var(--ws-word-needs) 95%, #944b00);--color-text-success-strong: color-mix(in srgb, var(--ws-word-positive) 20%, rgb(72.75 91.74 3.19));--color-text-placeholder: color-mix(in srgb, var(--color-text-muted) 93.75%, #e6e6e6);--color-border-default: var(--ws-edge);--color-border-hairline: var(--ws-edge-card);--color-border-btn: var(--color-button-border);--color-bg-dark: var(--color-brand-navy);--color-nav-hover-bg: color-mix(in srgb, var(--color-text-interactive) 5%, transparent);--gradient-btn-primary: linear-gradient( 180deg, var(--color-button-grad-start), var(--color-button-grad-end) );--font-body: "Instrument Sans", sans-serif;--font-size-3xs: 10px;--font-size-2xs: 12px;--font-size-xs: 13px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-lg2: 20px;--font-size-xl: 24px;--font-size-2xl: 26px;--font-size-3xl: 40px;--font-size-4xl: 48px;--font-size-5xl: 56px;--font-size-6xl: 64px;--font-size-7xl: 72px;--font-size-8xl: 193px;--space-3xs: 2px;--space-xxs: 4px;--space-xxs-plus: 6px;--space-xs: 8px;--space-xs-plus: 10px;--space-sm: 12px;--space-sm-plus: 14px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 40px;--space-3xl: 48px;--space-4xl: 64px;--space-5xl: 80px;--space-6xl: 96px;--space-7xl: 120px;--space-8xl: 160px;--space-9xl: 200px;--letter-spacing-overline: 1.2px;--layout-canvas-max: 1440px;--layout-content-max: 1344px;--layout-margin: 48px;--layout-col-gap: 24px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--z-base: 0;--z-sticky: 50;--z-header: 100;--z-dropdown: 200;--z-modal: 300;--z-toast: 400;--shadow-label-pill: 2px 22px 6px 0 rgba(0, 0, 0, 0), 1px 14px 6px 0 rgba(0, 0, 0, 0.01), 1px 8px 5px 0 rgba(0, 0, 0, 0.04), 0 3px 4px 0 rgba(0, 0, 0, 0.07), 0 1px 2px 0 rgba(0, 0, 0, 0.08);--shadow-card-default: 0 1px 2px color-mix(in srgb, var(--color-text-heading) 4%, transparent), 0 4px 8px color-mix(in srgb, var(--color-text-heading) 6%, transparent);--shadow-card-hover: 0 4px 8px color-mix(in srgb, var(--color-text-heading) 6%, transparent), 0 8px 24px color-mix(in srgb, var(--color-text-heading) 8%, transparent);--shadow-pill: 0 8px 17px rgba(0, 0, 0, 0.07), 0 30px 30px rgba(0, 0, 0, 0.06), 0 68px 41px rgba(0, 0, 0, 0.04), 0 121px 48px rgba(0, 0, 0, 0.01);--shadow-dropdown: var(--shadow-pill);--shadow-btn: 0 21px 6px rgba(0, 0, 0, 0), 0 13px 5px rgba(0, 0, 0, 0.02), 0 7px 4px rgba(0, 0, 0, 0.06), 0 3px 3px rgba(0, 0, 0, 0.09), 0 1px 2px rgba(0, 0, 0, 0.11);--shadow-btn-hover: 0 32px 9px rgba(0, 0, 0, 0), 0 20px 8px rgba(0, 0, 0, 0.02), 0 11px 7px rgba(0, 0, 0, 0.06), 0 5px 5px rgba(0, 0, 0, 0.09), 0 1px 3px rgba(0, 0, 0, 0.11);--shadow-focus-ring: 0 0 0 2px var(--color-bg-page), 0 0 0 4px var(--color-text-heading);--transition-fast: 150ms ease-out;--transition-default: 200ms ease;--transition-slow: 300ms ease;--ws-page: color-mix(in srgb, var(--ws-tray) 97.5%, #252525);--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-gray-8));--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-gray-8));--ws-sidebar-hover: color-mix(in srgb, var(--ws-tray) 85%, var(--color-surface));--ws-sidebar-press: var(--ws-tray);--ws-menu-line: color-mix(in srgb, var(--color-bg-page) 87%, var(--color-gray-8));--ws-menu-hover: color-mix(in srgb, var(--color-bg-page) 96%, var(--color-gray-8));--ws-well: var(--ws-tray);--ws-field: var(--color-surface);--ws-tint-accent: color-mix(in srgb, var(--color-bg-page) 96%, #4f4c7c);--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 10%, var(--color-surface));--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 12%, var(--color-surface));--ws-edge-card-1x: color-mix(in srgb, var(--ws-edge-card) 50%, transparent);--ws-edge-chip: color-mix(in srgb, var(--ws-edge-card) 75%, #ebdbc7);--ws-edge-slot: color-mix(in srgb, var(--ws-edge-card) 62.5%, #fbfbfb);--ws-edge-tray: color-mix(in srgb, var(--ws-tray) 84%, rgb(112 74.5 24.5));--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-gray-8));--ws-track: var(--ws-tray);--ws-field-ink: color-mix(in srgb, var(--color-text-body) 46.25%, #040404);--ws-field-mark: var(--color-text-heading);--ws-ink: var(--color-text-heading);--ws-shade: var(--color-text-heading);--ws-ink-rgb: 9, 53, 85;--ws-shade-rgb: 9, 53, 85;--ws-inverse: var(--color-text-heading);--ws-on-inverse: var(--ws-on-act);--ws-control-off: color-mix(in srgb, var(--color-text-muted) 80%, #e3e3e3);--ws-raised-sunk: var(--ws-surface-sunk);--ws-act-light: color-mix(in srgb, var(--ws-on-act) 24%, transparent);--ws-mask: #000;--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 76%, #fcfcfc);--ws-chart-rest: color-mix(in srgb, var(--ws-tray) 90%, #252525);--ws-ghost: color-mix(in srgb, var(--ws-well-hover) 98%, #b24c17);--ws-veil: color-mix(in srgb, var(--ws-page) 30%, transparent);--ws-word-answer: color-mix(in srgb, var(--color-text-body) 71.25%, #040404);--ws-rim: var(--ws-line);--ws-divider: var(--ws-hairline) solid var(--ws-edge);--ws-divider-inset: inset 0 var(--ws-hairline) 0 var(--ws-edge);--ws-frame: linear-gradient(180deg, var(--ws-frame-top) 0, var(--color-bg-page) 640px) var(--color-bg-page);--ws-stage-wash: linear-gradient(180deg, var(--color-bg-page), var(--ws-stage-foot));--ws-glass: color-mix(in srgb, var(--color-surface) 59%, transparent);--ws-glass-blur: 4px;--ws-glass-blur-chat: 28px;--ws-edge-stage: var(--ws-page);--ws-stage-inset-top: 13px;--ws-stage-inset: var(--space-sm);--ws-word-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 37.5%, rgb(142.2 4.8 68));--ws-word-past-half: var(--ws-chart-past-half);--ws-tint-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 20%, var(--color-bg-page));--ws-chart-empty: #f9f9f9;--ws-chart-dot: color-mix(in srgb, var(--color-bg-page) 91%, var(--color-gray-8));--ws-chart-navy-fade: #a8c0d3;--ws-chart-salmon-fade: #ffd2c8;--ws-chart-purple-fade: #d8ccf6;--ws-chart-teal-fade: #b0e2dd;--ws-chart-finished-tint: #9fddd6;--ws-chart-past-half-tint: #cbbdf3;--ws-chart-under-half-tint: #f9dfc6;--ws-chart-cell-edge: var(--ws-edge-slot);--ws-shimmer-ground: color-mix(in srgb, var(--ws-tray) 96%, #d4700c);--ws-shimmer: linear-gradient(100deg in srgb, var(--ws-shimmer-ground) 0 34%, color-mix(in srgb, var(--ws-chart-under-half) 20%, rgb(243.75 247.75 247)) 44%, color-mix(in srgb, var(--ws-chart-past-half) 15%, rgb(249 244.8823529412 251.6470588235)) 50%, color-mix(in srgb, var(--ws-chart-finished) 15%, rgb(250.1764705882 252 251.6470588235)) 56%, var(--ws-shimmer-ground) 66% 100%);--ws-card-tint-blue: color-mix(in srgb, var(--ws-rating-middle) 10%, var(--color-surface));--ws-card-tint-done: color-mix(in srgb, var(--ws-chart-finished) 10%, var(--color-surface));--ws-scrim: color-mix(in srgb, var(--color-text-heading) 35%, transparent);--ws-glow-rose: color-mix(in srgb, var(--ws-chart-under-half) 50%, #ebb8ca);--ws-glow-pink: color-mix(in srgb, var(--ws-chart-needs-work) 90%, #ad167c);--ws-glow-blue: color-mix(in srgb, var(--ws-chart-navy-light) 10%, rgb(57.1111111111 158.2222222222 251.5555555556));--ws-team-glow: radial-gradient(75% 70% at 10% 0%, color-mix(in srgb, var(--color-text-interactive) 14%, transparent), transparent), radial-gradient(70% 75% at 95% 100%, color-mix(in srgb, var(--ws-glow-rose) 22%, transparent), transparent), radial-gradient(55% 60% at 70% 45%, color-mix(in srgb, var(--ws-glow-pink) 8%, transparent), transparent);--ws-cool-glow: radial-gradient(75% 70% at 10% 0%, color-mix(in srgb, var(--color-text-interactive) 16%, transparent), transparent), radial-gradient(60% 70% at 92% 30%, color-mix(in srgb, var(--ws-glow-blue) 10%, transparent), transparent), radial-gradient(70% 60% at 60% 100%, color-mix(in srgb, var(--color-text-heading) 6%, transparent), transparent);--ws-orb: radial-gradient(circle at 30% 30% in srgb, color-mix(in srgb, var(--ws-chart-finished) 37.5%, rgb(26.6 218.4 244.4)), var(--ws-glow-blue) 45%, color-mix(in srgb, var(--ws-chart-past-half) 37.5%, rgb(160.2 122.2 251.6)) 80%);--ws-text-micro: 11px;--ws-text-dense: var(--font-size-2xs);--ws-text-meta: var(--font-size-xs);--ws-text-body: var(--font-size-sm);--ws-text-chart: 15px;--ws-text-message: var(--ws-text-chart);--ws-text-value: var(--font-size-md);--ws-text-title: 22px;--ws-text-display: var(--font-size-7xl);--ws-leading-message: var(--space-lg);--ws-leading-title: calc(var(--space-lg) + var(--space-xxs));--ws-text-control: var(--font-size-xs);--ws-leading-control: 18px;--ws-text-section: var(--ws-text-chart);--ws-leading-section: 22px;--ws-leading-row: calc(var(--space-md) + var(--space-xxs));--ws-leading-micro: 13px;--ws-text-figure-row: 28px;--ws-leading-figure-row: var(--space-xl);--ws-text-figure: var(--space-xl);--ws-leading-figure: 38px;--ws-text-figure-lg: 44px;--ws-leading-figure-lg: var(--space-3xl);--ws-text-score: var(--space-6xl);--ws-leading-score: var(--space-6xl);--ws-gap-tight: var(--space-xxs);--ws-gap: var(--space-xs);--ws-gap-loose: var(--space-sm);--ws-gap-component: var(--space-md);--ws-gap-group: var(--space-lg);--ws-gap-turn: calc(var(--space-lg) + var(--space-xxs));--ws-gap-block: var(--space-xl);--ws-gap-section: calc(var(--space-3xl) + var(--space-xs));--ws-gutter: var(--space-xl);--ws-card-padding: var(--space-sm);--ws-card-padding-lg: var(--space-md);--ws-card-inset: calc(var(--space-md) + var(--space-xxs));--ws-band-inset: calc(var(--space-lg) + var(--space-xxs));--ws-rise: calc(var(--space-xxs) * 1.5);--ws-chart-dot-gap: calc(var(--space-xs) * 0.8125);--ws-radius-bar: 1px;--ws-radius-chip: 2px;--ws-radius-control: 4px;--ws-radius-row: 6px;--ws-radius-card: 8px;--ws-radius-menu: 10px;--ws-radius-card-inner: calc(var(--ws-radius-card) - var(--ws-rim));--ws-radius-bubble: 12px;--ws-radius-drawer: var(--ws-radius-bubble);--ws-radius-drawer-inner: calc(var(--ws-radius-drawer) - var(--ws-rim));--ws-radius-panel: 16px;--ws-shadow-hairline: 0 0 0 var(--ws-hairline) var(--ws-edge-card);--ws-shadow-hairline-in: inset 0 0 0 var(--ws-hairline) var(--ws-edge-card);--ws-shadow-band: inset 0 var(--ws-hairline) 0 var(--ws-edge-tray), inset 0 28px 8px 0 rgba(0, 0, 0, 0), inset 0 18px 7px 0 rgba(0, 0, 0, 0.01), inset 0 10px 6px 0 rgba(0, 0, 0, 0.03), inset 0 4px 4px 0 rgba(0, 0, 0, 0.05), inset 0 1px 2px 0 rgba(0, 0, 0, 0.06);--ws-shadow-lift: var(--shadow-card-hover);--ws-ring-selected: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 55%, transparent);--ws-card-ring-lit: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 30%, transparent);--ws-card-ring-person: inset 0 0 0 1px color-mix(in srgb, var(--ws-ink) 12%, transparent);--ws-float-rim: 0 0 0 0 transparent;--ws-shadow-pop: var(--ws-float-rim), 0 12px 32px -16px color-mix(in srgb, var(--ws-shade) 35%, transparent);--ws-shadow-menu: var(--ws-float-rim), 0 16px 32px -16px color-mix(in srgb, var(--ws-shade) 35%, transparent);--ws-shadow-tip: var(--ws-float-rim), 0 16px 32px -20px color-mix(in srgb, var(--ws-shade) 45%, transparent);--ws-shadow-float: var(--ws-float-rim), 0 40px 80px -30px color-mix(in srgb, var(--ws-shade) 30%, transparent), 0 10px 24px -12px color-mix(in srgb, var(--ws-shade) 14%, transparent);--ws-shadow-bar: var(--ws-float-rim), 0 24px 60px -24px color-mix(in srgb, var(--ws-shade) 32%, transparent), 0 2px 10px color-mix(in srgb, var(--ws-shade) 6%, transparent);--ws-hover-faint: color-mix(in srgb, var(--ws-ink) 3.137254902%, transparent);--ws-hover: color-mix(in srgb, var(--ws-ink) 5.0980392157%, transparent);--ws-hover-strong: color-mix(in srgb, var(--ws-ink) 5.8823529412%, transparent);--ws-focus-width: var(--ws-ring);--ws-focus-offset: var(--ws-ring);--ws-focus-inset: inset 0 0 0 var(--ws-focus-width) var(--ws-focus-color);--ws-hairline: 0.5px;--ws-line: 1px;--ws-chart-line: 1.5px;--ws-ring: 2px;--ws-halo: 3px;--ws-control-h-sm: 28px;--ws-control-h: var(--space-xl);--ws-control-h-md: calc(var(--space-xl) + var(--space-xxs));--ws-touch: 40px;--ws-touch-public: 44px;--ws-row-h: var(--space-3xl);--ws-row-h-dense: var(--space-2xl);--ws-composer-h: 52px;--ws-header-h: calc(var(--space-3xl) + var(--space-xs));--ws-topbar-h: var(--space-3xl);--ws-band-h: 80px;--ws-rail-width: var(--space-4xl);--ws-sidebar-width: calc(var(--space-9xl) + var(--space-xl));--ws-thing-width: calc(var(--space-9xl) * 2 + var(--space-2xl));--ws-chart-card-w: calc(var(--space-9xl) * 2 + var(--space-8xl) - var(--space-xxs));--ws-chart-card-min: 480px;--ws-column-width: calc(var(--space-9xl) * 3 + var(--space-3xl) + var(--space-xs));--ws-float-width: calc(var(--space-9xl) * 1.5);--ws-icon-sm: 12px;--ws-icon: 16px;--ws-icon-lg: 20px;--ws-avatar: 32px;--ws-tracking-title: -0.005em;--ws-tracking-display: -0.03em;--ws-duration-instant: 120ms;--ws-duration-exit: 120ms;--ws-duration-gentle: 200ms;--ws-duration-hover: 200ms;--ws-duration-text: 250ms;--ws-duration-settle: 320ms;--ws-duration-reveal: 350ms;--ws-duration-shrink: 400ms;--ws-duration-calm: 420ms;--ws-duration-glide: 400ms;--ws-duration-morph: 450ms;--ws-duration-grow: 550ms;--ws-duration-shift: 550ms;--ws-duration-fill: 700ms;--ws-duration-draw: 900ms;--ws-duration-draw-chat: 1500ms;--ws-duration-fill-page: 1700ms;--ws-duration-build: 2400ms;--ws-stagger: 30ms;--ws-stagger-detail: 22ms;--ws-stagger-row: 45ms;--ws-stagger-part: 70ms;--ws-ripple: 4ms;--ws-stagger-square: 35ms;--ws-hover-intent: 40ms;--ws-hover-leave: 60ms;--ws-hover-grace: 180ms;--ws-close-delay: 160ms;--ws-sweep: calc(var(--ws-duration-calm) - var(--ws-duration-gentle));--ws-loop: 1s;--ws-loop-status: 1.6s;--ws-loop-shimmer: 1.8s;--ws-loop-slow: 2.4s;--ws-loop-ambient: 6s;--ws-ease-soft: cubic-bezier(0.22, 1, 0.36, 1);--ws-ease-exit: cubic-bezier(0.4, 0, 1, 1);--ws-ease-glide: cubic-bezier(0.75, 0, 0.25, 1);--ws-ease-steady: linear;--ws-ease-spring: var(--ws-ease-soft);--ws-ease-settle: cubic-bezier(0.16, 1, 0.3, 1);--ws-ease-grow: cubic-bezier(0.32, 0.72, 0, 1);--ws-ease-shift: cubic-bezier(0.25, 1, 0.5, 1);--ws-ease-morph: cubic-bezier(0.5, 0, 0.15, 1);--ws-ease-sweep: cubic-bezier(0.45, 0, 0.55, 1);--ws-ease-commit: cubic-bezier(0.65, 0, 0.35, 1);--ws-ease-shimmer: cubic-bezier(0.4, 0, 0.2, 1);--ws-ease-ambient: cubic-bezier(0.45, 0, 0.3, 1);--ws-ease-loop: cubic-bezier(0.42, 0, 0.58, 1);--ws-ease-pop: cubic-bezier(0.34, 1.4, 0.64, 1);--ws-ease-lift: cubic-bezier(0.22, 1.25, 0.36, 1);--ws-press-scale: 0.97;--ws-press-scale-round: 0.94;--ws-press-scale-send: 0.92;--ws-open-scale: 0.97;--ws-open-scale-pane: 0.98;--ws-open-scale-toast: 0.96;--ws-pop-scale: 0.94;--ws-grow-scale: 1.16;--ws-dim: 0.3;--ws-nudge: var(--space-xxs);--ws-drop: var(--space-sm);--ws-blur-arrive: 3px;--ws-blur-panel: 8px;--ws-spring-press: linear(0, 0.0207, 0.0748, 0.1513, 0.2416, 0.3384, 0.4362, 0.531, 0.6197, 0.7005, 0.7722, 0.8343, 0.8868, 0.9302, 0.9651, 0.9924, 1.0129, 1.0275, 1.0373, 1.0431, 1.0457, 1.0458, 1.044, 1.041, 1.0372, 1.0328, 1.0283, 1.0239, 1.0196, 1.0157, 1.0122, 1.0091, 1.0065, 1.0042, 1.0024, 1.001, 0.9999, 0.9991, 0.9985, 0.9981, 0.9979, 0.9979, 0.9979, 0.998, 0.9982, 0.9984, 0.9986, 0.9988, 0.999, 0.9992, 0.9994, 0.9995, 0.9996, 0.9998, 0.9998, 1);--ws-spring-press-duration: 450ms;--ws-spring-follow: linear(0, 0.0215, 0.0744, 0.1452, 0.2248, 0.3067, 0.3868, 0.4627, 0.5327, 0.5962, 0.653, 0.7032, 0.7472, 0.7855, 0.8186, 0.847, 0.8713, 0.892, 0.9096, 0.9245, 0.937, 0.9475, 0.9564, 0.9638, 0.97, 0.9751, 0.9794, 0.983, 0.986, 0.9884, 0.9905, 0.9922, 0.9935, 0.9947, 0.9956, 0.9964, 0.9971, 0.9976, 0.998, 0.9984, 0.9987, 0.9989, 0.9991, 0.9993, 0.9994, 0.9995, 0.9996, 0.9997, 1);--ws-spring-follow-duration: 450ms;--ws-spring-pop: linear(0, 0.0212, 0.0745, 0.1471, 0.23, 0.3164, 0.4018, 0.483, 0.5583, 0.6265, 0.6873, 0.7407, 0.7869, 0.8265, 0.8601, 0.8882, 0.9116, 0.9309, 0.9466, 0.9593, 0.9695, 0.9775, 0.9838, 0.9887, 0.9925, 0.9953, 0.9974, 0.9989, 1, 1.0007, 1.0011, 1.0014, 1.0015, 1.0015, 1);--ws-spring-pop-duration: 500ms;--ws-spring-settle: linear(0, 0.0206, 0.0724, 0.1434, 0.2246, 0.3096, 0.3939, 0.4744, 0.5493, 0.6174, 0.6783, 0.732, 0.7788, 0.819, 0.8532, 0.8821, 0.9062, 0.9261, 0.9425, 0.9558, 0.9665, 0.9751, 0.9819, 0.9871, 0.9912, 0.9943, 0.9966, 0.9983, 0.9995, 1.0004, 1.0009, 1.0013, 1.0015, 1.0015, 1);--ws-spring-settle-duration: 450ms;--ws-spring-fold: linear(0, 0.0215, 0.0744, 0.1452, 0.2248, 0.3067, 0.3868, 0.4627, 0.5327, 0.5962, 0.653, 0.7032, 0.7472, 0.7855, 0.8186, 0.847, 0.8713, 0.892, 0.9096, 0.9245, 0.937, 0.9475, 0.9564, 0.9638, 0.97, 0.9751, 0.9794, 0.983, 0.986, 0.9884, 0.9905, 0.9922, 0.9935, 0.9947, 0.9956, 0.9964, 0.9971, 0.9976, 0.998, 0.9984, 0.9987, 0.9989, 0.9991, 0.9993, 1);--ws-spring-fold-duration: 600ms;--ws-spring-indicator: linear(0, 0.0212, 0.0751, 0.1495, 0.2349, 0.3247, 0.4139, 0.499, 0.578, 0.6495, 0.7131, 0.7685, 0.8162, 0.8565, 0.8901, 0.9178, 0.9402, 0.9582, 0.9722, 0.9831, 0.9913, 0.9973, 1.0016, 1.0044, 1.0063, 1.0073, 1.0077, 1.0077, 1.0073, 1.0068, 1.0062, 1.0055, 1.0048, 1.0041, 1.0035, 1.0029, 1.0024, 1.002, 1.0016, 1.0012, 1.0009, 1.0007, 1.0005, 1.0004, 1);--ws-spring-indicator-duration: 700ms;--ws-spring-highlight: linear(0, 0.0207, 0.0731, 0.1454, 0.2285, 0.3158, 0.4027, 0.4858, 0.5631, 0.6334, 0.6962, 0.7513, 0.7989, 0.8396, 0.8739, 0.9024, 0.9259, 0.9449, 0.9602, 0.9723, 0.9817, 0.9889, 0.9943, 0.9982, 1.001, 1.0029, 1.0041, 1.0047, 1.005, 1.005, 1.0048, 1.0045, 1.0041, 1.0036, 1.0032, 1.0028, 1.0024, 1.002, 1.0017, 1.0014, 1.0011, 1.0009, 1.0007, 1);--ws-spring-highlight-duration: 800ms;--ws-spring-nav: linear(0, 0.0209, 0.0734, 0.1452, 0.2271, 0.3128, 0.3976, 0.4784, 0.5535, 0.6217, 0.6826, 0.7361, 0.7826, 0.8225, 0.8565, 0.885, 0.9088, 0.9284, 0.9444, 0.9575, 0.9679, 0.9763, 0.9828, 0.9879, 0.9918, 0.9948, 0.997, 0.9986, 0.9997, 1.0005, 1.001, 1.0013, 1.0015, 1);--ws-spring-nav-duration: 550ms;--ws-spring-reorder: linear(0, 0.0215, 0.0744, 0.1452, 0.2248, 0.3067, 0.3868, 0.4627, 0.5327, 0.5962, 0.653, 0.7032, 0.7472, 0.7855, 0.8186, 0.847, 0.8713, 0.892, 0.9096, 0.9245, 0.937, 0.9475, 0.9564, 0.9638, 0.97, 0.9751, 0.9794, 0.983, 0.986, 0.9884, 0.9905, 0.9922, 0.9935, 0.9947, 0.9956, 0.9964, 0.9971, 0.9976, 0.998, 0.9984, 0.9987, 0.9989, 0.9991, 0.9993, 1);--ws-spring-reorder-duration: 750ms;--ws-spring-tile: linear(0, 0.0213, 0.0743, 0.1461, 0.2276, 0.312, 0.3952, 0.4741, 0.5472, 0.6134, 0.6725, 0.7246, 0.7699, 0.809, 0.8424, 0.8707, 0.8945, 0.9144, 0.931, 0.9447, 0.9559, 0.9651, 0.9725, 0.9785, 0.9833, 0.9872, 0.9902, 0.9926, 0.9945, 0.996, 0.9971, 0.9979, 0.9986, 0.9991, 0.9994, 0.9997, 0.9999, 1, 1.0001, 1.0001, 1.0002, 1);--ws-spring-tile-duration: 450ms;--ws-spring-lane: linear(0, 0.0208, 0.0727, 0.1429, 0.2224, 0.3049, 0.3862, 0.4635, 0.5352, 0.6004, 0.6588, 0.7104, 0.7557, 0.7949, 0.8286, 0.8575, 0.882, 0.9027, 0.9201, 0.9346, 0.9467, 0.9567, 0.965, 0.9718, 0.9773, 0.9819, 0.9856, 0.9886, 0.991, 0.9929, 0.9944, 0.9957, 0.9966, 0.9974, 0.998, 0.9985, 0.9989, 0.9992, 0.9994, 1);--ws-spring-lane-duration: 750ms;--ws-spring-lens: linear(0, 0.0207, 0.0723, 0.1421, 0.2213, 0.3035, 0.3846, 0.4618, 0.5334, 0.5985, 0.657, 0.7087, 0.754, 0.7933, 0.8272, 0.8561, 0.8808, 0.9016, 0.9191, 0.9338, 0.946, 0.9561, 0.9644, 0.9713, 0.9769, 0.9815, 0.9853, 0.9883, 0.9908, 0.9927, 0.9943, 0.9956, 0.9966, 0.9973, 0.998, 0.9985, 0.9988, 0.9991, 0.9994, 0.9995, 1);--ws-spring-lens-duration: 750ms;--ws-spring-swap: linear(0, 0.0208, 0.0726, 0.1431, 0.2232, 0.3066, 0.3888, 0.4672, 0.5399, 0.6061, 0.6653, 0.7176, 0.7633, 0.8028, 0.8367, 0.8655, 0.8899, 0.9104, 0.9274, 0.9415, 0.9532, 0.9628, 0.9705, 0.9769, 0.9819, 0.986, 0.9893, 0.9919, 0.9939, 0.9955, 0.9967, 0.9976, 0.9983, 0.9989, 0.9993, 0.9996, 1);--ws-spring-swap-duration: 900ms;--ws-spring-panel: linear(0, 0.0202, 0.0715, 0.142, 0.223, 0.3082, 0.393, 0.4743, 0.55, 0.6192, 0.6811, 0.7357, 0.7832, 0.8241, 0.8588, 0.888, 0.9123, 0.9323, 0.9486, 0.9617, 0.9722, 0.9804, 0.9868, 0.9917, 0.9954, 0.9981, 1, 1.0013, 1.0022, 1.0027, 1.0029, 1.003, 1);--ws-spring-panel-duration: 550ms;--ws-spring-card: linear(0, 0.0215, 0.0753, 0.1484, 0.2312, 0.3173, 0.4021, 0.4825, 0.5568, 0.6241, 0.6839, 0.7365, 0.782, 0.8211, 0.8542, 0.8821, 0.9054, 0.9247, 0.9406, 0.9535, 0.964, 0.9724, 0.9791, 0.9844, 0.9886, 0.9918, 0.9942, 0.9961, 0.9975, 0.9986, 0.9993, 0.9998, 1.0002, 1);--ws-spring-card-duration: 700ms;--ws-spring-text: linear(0, 0.0204, 0.0726, 0.1454, 0.2301, 0.3199, 0.4099, 0.4966, 0.5776, 0.6514, 0.7173, 0.775, 0.8246, 0.8666, 0.9016, 0.9303, 0.9533, 0.9715, 0.9855, 0.996, 1.0036, 1.0089, 1.0123, 1.0142, 1.0151, 1.0151, 1.0145, 1.0135, 1.0123, 1.011, 1.0096, 1.0083, 1.007, 1.0058, 1.0048, 1.0038, 1.003, 1.0023, 1.0017, 1.0013, 1.0009, 1.0006, 1);--ws-spring-text-duration: 1200ms;--ws-spring-badge: linear(0, 0.0203, 0.0741, 0.1519, 0.2453, 0.3473, 0.4519, 0.5545, 0.6515, 0.7405, 0.8197, 0.8883, 0.946, 0.9929, 1.0296, 1.057, 1.076, 1.0879, 1.0937, 1.0946, 1.0916, 1.0857, 1.0778, 1.0686, 1.0588, 1.0489, 1.0393, 1.0303, 1.0222, 1.015, 1.0088, 1.0036, 0.9995, 0.9963, 0.994, 0.9924, 0.9914, 0.991, 0.9911, 0.9915, 0.9921, 0.9929, 0.9938, 0.9947, 0.9956, 0.9965, 0.9974, 0.9981, 0.9988, 0.9993, 0.9998, 1.0001, 1.0004, 1.0006, 1);--ws-spring-badge-duration: 650ms;--ws-spring-tab: linear(0, 0.0209, 0.0738, 0.1462, 0.2291, 0.316, 0.4021, 0.4843, 0.5605, 0.6298, 0.6915, 0.7457, 0.7927, 0.8328, 0.8667, 0.8951, 0.9185, 0.9377, 0.9532, 0.9656, 0.9754, 0.9831, 0.9889, 0.9934, 0.9967, 0.999, 1.0007, 1.0018, 1.0025, 1.0028, 1);--ws-spring-tab-duration: 500ms;--ws-spring-chip: linear(0, 0.0204, 0.0719, 0.1424, 0.2231, 0.3077, 0.3917, 0.472, 0.5467, 0.6148, 0.6758, 0.7296, 0.7765, 0.8168, 0.8513, 0.8803, 0.9046, 0.9248, 0.9413, 0.9548, 0.9657, 0.9744, 0.9813, 0.9867, 0.9908, 0.994, 0.9964, 0.9981, 0.9994, 1.0003, 1.0009, 1.0012, 1.0014, 1.0015, 1);--ws-spring-chip-duration: 350ms;--ws-spring-glow: linear(0, 0.0214, 0.0742, 0.1449, 0.2243, 0.3061, 0.3862, 0.4619, 0.5319, 0.5954, 0.6522, 0.7025, 0.7465, 0.7849, 0.818, 0.8465, 0.8708, 0.8916, 0.9092, 0.9241, 0.9367, 0.9473, 0.9561, 0.9636, 0.9698, 0.975, 0.9793, 0.9829, 0.9859, 0.9883, 0.9904, 0.9921, 0.9935, 0.9946, 0.9956, 0.9964, 0.997, 0.9976, 0.998, 0.9984, 0.9987, 0.9989, 0.9991, 0.9993, 0.9994, 0.9995, 0.9996, 1);--ws-spring-glow-duration: 600ms;--ws-spring-roll: linear(0, 0.0211, 0.0736, 0.1447, 0.2252, 0.3088, 0.391, 0.4692, 0.5416, 0.6073, 0.666, 0.7179, 0.7631, 0.8023, 0.8358, 0.8644, 0.8885, 0.9088, 0.9258, 0.9398, 0.9515, 0.9611, 0.9689, 0.9753, 0.9805, 0.9846, 0.988, 0.9907, 0.9928, 0.9945, 0.9958, 0.9969, 0.9977, 0.9983, 0.9988, 0.9991, 0.9994, 1);--ws-spring-roll-duration: 700ms;--ws-spring-flag: linear(0, 0.0213, 0.0743, 0.1461, 0.2276, 0.312, 0.3952, 0.4741, 0.5472, 0.6134, 0.6725, 0.7246, 0.7699, 0.809, 0.8424, 0.8707, 0.8945, 0.9144, 0.931, 0.9447, 0.9559, 0.9651, 0.9725, 0.9785, 0.9833, 0.9872, 0.9902, 0.9926, 0.9945, 0.996, 0.9971, 0.9979, 0.9986, 0.9991, 0.9994, 0.9997, 0.9999, 1, 1.0001, 1.0001, 1.0002, 1);--ws-spring-flag-duration: 450ms;--ws-spring-mark: linear(0, 0.0203, 0.0737, 0.1502, 0.2413, 0.34, 0.4407, 0.5388, 0.6313, 0.716, 0.7913, 0.8567, 0.9119, 0.9573, 0.9935, 1.0212, 1.0415, 1.0553, 1.0636, 1.0675, 1.0678, 1.0655, 1.0611, 1.0554, 1.049, 1.0422, 1.0353, 1.0288, 1.0227, 1.0172, 1.0123, 1.0082, 1.0047, 1.0018, 0.9996, 0.9979, 0.9967, 0.996, 0.9955, 1);--ws-spring-mark-duration: 550ms;--ws-spring-morph-chart: linear(0, 0.0211, 0.0737, 0.145, 0.226, 0.3101, 0.3929, 0.4716, 0.5446, 0.6108, 0.6699, 0.7221, 0.7675, 0.8068, 0.8403, 0.8688, 0.8929, 0.913, 0.9297, 0.9436, 0.9549, 0.9643, 0.9718, 0.9779, 0.9828, 0.9868, 0.9899, 0.9924, 0.9943, 0.9958, 0.9969, 0.9978, 0.9985, 0.999, 0.9994, 1);--ws-spring-morph-chart-duration: 1250ms;--ws-spring-orb: linear(0, 0.0206, 0.0749, 0.1526, 0.2449, 0.3447, 0.4463, 0.5451, 0.638, 0.7227, 0.7978, 0.8628, 0.9175, 0.9622, 0.9976, 1.0245, 1.0439, 1.057, 1.0646, 1.0678, 1.0676, 1.0647, 1.06, 1.0541, 1.0475, 1.0405, 1.0337, 1.0272, 1.0212, 1.0158, 1.0111, 1.0071, 1.0038, 1.0011, 0.999, 0.9975, 0.9964, 0.9958, 1);--ws-spring-orb-duration: 850ms;--ws-spring-default: linear(0, 0.021, 0.0743, 0.1478, 0.2322, 0.3209, 0.409, 0.4932, 0.5714, 0.6423, 0.7055, 0.7607, 0.8083, 0.8487, 0.8826, 0.9107, 0.9336, 0.952, 0.9666, 0.978, 0.9868, 0.9933, 0.9981, 1.0015, 1.0038, 1.0052, 1.006, 1.0063, 1.0062, 1.006, 1.0055, 1.005, 1.0045, 1.0039, 1.0034, 1.0029, 1.0024, 1.002, 1.0016, 1.0013, 1.001, 1.0008, 1.0006, 1.0005, 1.0003, 1);--ws-spring-default-duration: 750ms;}:where(:root){--color-surface: var(--color-white);--color-bg-page: #FEFBF9;--color-text-heading: var(--color-brand-navy);--color-text-body: var(--color-gray-7);--color-text-muted: #666666;--color-text-interactive: var(--color-brand-mid-blue);--ws-edge: var(--color-gray-stroke);--ws-edge-card: var(--color-gray-3);--ws-raised: var(--color-bg-page);--ws-on-act: var(--color-white);--ws-edge-hover: #aaa49d;--ws-act-hover: #0f4a73;--ws-agent-tally: #2c4870;--ws-agent-coach: var(--color-stat-positive);--ws-agent-growth: var(--ws-chart-past-half);--ws-agent-recruit: var(--ws-chart-under-half);--ws-tray: var(--color-gray-2);--ws-well-hover: #e4e2df;--ws-frame-top: #ebf0f5;--ws-stage-foot: #fef9f6;--ws-word-needs: #A84B3C;--ws-word-positive: color-mix(in srgb, var(--ws-chart-finished) 76%, var(--color-text-heading));--ws-word-alert: var(--ws-chart-alert);--ws-chart-finished: #098486;--ws-chart-past-half: #6d4fc2;--ws-chart-under-half: var(--color-brand-salmon);--ws-chart-navy-light: #2e6088;--ws-chart-needs-work: #f370a4;--ws-chart-alert: #b1042f;--ws-rating-strong: var(--color-stat-positive);--ws-rating-middle: var(--color-brand-mid-blue);--ws-rating-needs-work: var(--ws-chart-needs-work);--ws-focus-color: var(--color-text-heading);}[data-palette], [data-theme], .fello{--color-surface-stripe: var(--ws-tint-accent);--color-text-primary: color-mix(in srgb, var(--color-text-heading) 50%, #61475f);--color-feedback-error: color-mix(in srgb, var(--ws-chart-under-half) 87.5%, #7f3a04);--color-feedback-success-bg: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(254 250.75 221.5));--color-stat-positive: var(--ws-chart-finished);--color-text-brand-strong: var(--ws-word-needs);--color-text-error-strong: color-mix(in srgb, var(--ws-word-needs) 95%, #944b00);--color-text-success-strong: color-mix(in srgb, var(--ws-word-positive) 20%, rgb(72.75 91.74 3.19));--color-text-placeholder: color-mix(in srgb, var(--color-text-muted) 93.75%, #e6e6e6);--color-border-default: var(--ws-edge);--color-border-hairline: var(--ws-edge-card);--color-nav-hover-bg: color-mix(in srgb, var(--color-text-interactive) 5%, transparent);--shadow-card-default: 0 1px 2px color-mix(in srgb, var(--color-text-heading) 4%, transparent), 0 4px 8px color-mix(in srgb, var(--color-text-heading) 6%, transparent);--shadow-card-hover: 0 4px 8px color-mix(in srgb, var(--color-text-heading) 6%, transparent), 0 8px 24px color-mix(in srgb, var(--color-text-heading) 8%, transparent);--shadow-dropdown: var(--shadow-pill);--shadow-focus-ring: 0 0 0 2px var(--color-bg-page), 0 0 0 4px var(--color-text-heading);--ws-page: color-mix(in srgb, var(--ws-tray) 97.5%, #252525);--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-gray-8));--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-gray-8));--ws-sidebar-hover: color-mix(in srgb, var(--ws-tray) 85%, var(--color-surface));--ws-sidebar-press: var(--ws-tray);--ws-menu-line: color-mix(in srgb, var(--color-bg-page) 87%, var(--color-gray-8));--ws-menu-hover: color-mix(in srgb, var(--color-bg-page) 96%, var(--color-gray-8));--ws-well: var(--ws-tray);--ws-field: var(--color-surface);--ws-tint-accent: color-mix(in srgb, var(--color-bg-page) 96%, #4f4c7c);--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 10%, var(--color-surface));--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 12%, var(--color-surface));--ws-edge-card-1x: color-mix(in srgb, var(--ws-edge-card) 50%, transparent);--ws-edge-chip: color-mix(in srgb, var(--ws-edge-card) 75%, #ebdbc7);--ws-edge-slot: color-mix(in srgb, var(--ws-edge-card) 62.5%, #fbfbfb);--ws-edge-tray: color-mix(in srgb, var(--ws-tray) 84%, rgb(112 74.5 24.5));--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-gray-8));--ws-track: var(--ws-tray);--ws-field-ink: color-mix(in srgb, var(--color-text-body) 46.25%, #040404);--ws-field-mark: var(--color-text-heading);--ws-ink: var(--color-text-heading);--ws-shade: var(--color-text-heading);--ws-inverse: var(--color-text-heading);--ws-on-inverse: var(--ws-on-act);--ws-control-off: color-mix(in srgb, var(--color-text-muted) 80%, #e3e3e3);--ws-raised-sunk: var(--ws-surface-sunk);--ws-act-light: color-mix(in srgb, var(--ws-on-act) 24%, transparent);--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 76%, #fcfcfc);--ws-chart-rest: color-mix(in srgb, var(--ws-tray) 90%, #252525);--ws-ghost: color-mix(in srgb, var(--ws-well-hover) 98%, #b24c17);--ws-veil: color-mix(in srgb, var(--ws-page) 30%, transparent);--ws-word-answer: color-mix(in srgb, var(--color-text-body) 71.25%, #040404);--ws-divider: var(--ws-hairline) solid var(--ws-edge);--ws-divider-inset: inset 0 var(--ws-hairline) 0 var(--ws-edge);--ws-frame: linear-gradient(180deg, var(--ws-frame-top) 0, var(--color-bg-page) 640px) var(--color-bg-page);--ws-stage-wash: linear-gradient(180deg, var(--color-bg-page), var(--ws-stage-foot));--ws-glass: color-mix(in srgb, var(--color-surface) 59%, transparent);--ws-edge-stage: var(--ws-page);--ws-word-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 37.5%, rgb(142.2 4.8 68));--ws-word-past-half: var(--ws-chart-past-half);--ws-tint-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 20%, var(--color-bg-page));--ws-chart-empty: color-mix(in srgb, var(--color-surface) 97.6%, #050505);--ws-chart-dot: color-mix(in srgb, var(--color-bg-page) 91%, var(--color-gray-8));--ws-chart-navy-fade: color-mix(in srgb, var(--ws-chart-navy-light) 20%, rgb(198.5 216 229.75));--ws-chart-salmon-fade: color-mix(in srgb, var(--ws-chart-under-half) 25%, #fff2ec);--ws-chart-purple-fade: color-mix(in srgb, var(--ws-chart-past-half) 10%, rgb(227.8888888889 217.8888888889 251.7777777778));--ws-chart-teal-fade: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(217.75 249.5 242.75));--ws-chart-finished-tint: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(196.5 243.25 234));--ws-chart-past-half-tint: color-mix(in srgb, var(--ws-chart-past-half) 15%, rgb(219.5882352941 208.4117647059 251.6470588235));--ws-chart-under-half-tint: color-mix(in srgb, var(--ws-chart-under-half) 20%, rgb(247.5 250.25 224.5));--ws-chart-cell-edge: var(--ws-edge-slot);--ws-shimmer-ground: color-mix(in srgb, var(--ws-tray) 96%, #d4700c);--ws-shimmer: linear-gradient(100deg in srgb, var(--ws-shimmer-ground) 0 34%, color-mix(in srgb, var(--ws-chart-under-half) 20%, rgb(243.75 247.75 247)) 44%, color-mix(in srgb, var(--ws-chart-past-half) 15%, rgb(249 244.8823529412 251.6470588235)) 50%, color-mix(in srgb, var(--ws-chart-finished) 15%, rgb(250.1764705882 252 251.6470588235)) 56%, var(--ws-shimmer-ground) 66% 100%);--ws-card-tint-blue: color-mix(in srgb, var(--ws-rating-middle) 10%, var(--color-surface));--ws-card-tint-done: color-mix(in srgb, var(--ws-chart-finished) 10%, var(--color-surface));--ws-scrim: color-mix(in srgb, var(--color-text-heading) 35%, transparent);--ws-glow-rose: color-mix(in srgb, var(--ws-chart-under-half) 50%, #ebb8ca);--ws-glow-pink: color-mix(in srgb, var(--ws-chart-needs-work) 90%, #ad167c);--ws-glow-blue: color-mix(in srgb, var(--ws-chart-navy-light) 10%, rgb(57.1111111111 158.2222222222 251.5555555556));--ws-team-glow: radial-gradient(75% 70% at 10% 0%, color-mix(in srgb, var(--color-text-interactive) 14%, transparent), transparent), radial-gradient(70% 75% at 95% 100%, color-mix(in srgb, var(--ws-glow-rose) 22%, transparent), transparent), radial-gradient(55% 60% at 70% 45%, color-mix(in srgb, var(--ws-glow-pink) 8%, transparent), transparent);--ws-cool-glow: radial-gradient(75% 70% at 10% 0%, color-mix(in srgb, var(--color-text-interactive) 16%, transparent), transparent), radial-gradient(60% 70% at 92% 30%, color-mix(in srgb, var(--ws-glow-blue) 10%, transparent), transparent), radial-gradient(70% 60% at 60% 100%, color-mix(in srgb, var(--color-text-heading) 6%, transparent), transparent);--ws-orb: radial-gradient(circle at 30% 30% in srgb, color-mix(in srgb, var(--ws-chart-finished) 37.5%, rgb(26.6 218.4 244.4)), var(--ws-glow-blue) 45%, color-mix(in srgb, var(--ws-chart-past-half) 37.5%, rgb(160.2 122.2 251.6)) 80%);--ws-shadow-hairline: 0 0 0 var(--ws-hairline) var(--ws-edge-card);--ws-shadow-hairline-in: inset 0 0 0 var(--ws-hairline) var(--ws-edge-card);--ws-shadow-band: inset 0 var(--ws-hairline) 0 var(--ws-edge-tray), inset 0 28px 8px 0 rgba(0, 0, 0, 0), inset 0 18px 7px 0 rgba(0, 0, 0, 0.01), inset 0 10px 6px 0 rgba(0, 0, 0, 0.03), inset 0 4px 4px 0 rgba(0, 0, 0, 0.05), inset 0 1px 2px 0 rgba(0, 0, 0, 0.06);--ws-shadow-lift: var(--shadow-card-hover);--ws-ring-selected: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 55%, transparent);--ws-card-ring-lit: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 30%, transparent);--ws-card-ring-person: inset 0 0 0 1px color-mix(in srgb, var(--ws-ink) 12%, transparent);--ws-shadow-pop: var(--ws-float-rim), 0 12px 32px -16px color-mix(in srgb, var(--ws-shade) 35%, transparent);--ws-shadow-menu: var(--ws-float-rim), 0 16px 32px -16px color-mix(in srgb, var(--ws-shade) 35%, transparent);--ws-shadow-tip: var(--ws-float-rim), 0 16px 32px -20px color-mix(in srgb, var(--ws-shade) 45%, transparent);--ws-shadow-float: var(--ws-float-rim), 0 40px 80px -30px color-mix(in srgb, var(--ws-shade) 30%, transparent), 0 10px 24px -12px color-mix(in srgb, var(--ws-shade) 14%, transparent);--ws-shadow-bar: var(--ws-float-rim), 0 24px 60px -24px color-mix(in srgb, var(--ws-shade) 32%, transparent), 0 2px 10px color-mix(in srgb, var(--ws-shade) 6%, transparent);--ws-hover-faint: color-mix(in srgb, var(--ws-ink) 3.137254902%, transparent);--ws-hover: color-mix(in srgb, var(--ws-ink) 5.0980392157%, transparent);--ws-hover-strong: color-mix(in srgb, var(--ws-ink) 5.8823529412%, transparent);--ws-focus-inset: inset 0 0 0 var(--ws-focus-width) var(--ws-focus-color);}:where([data-palette]){--color-bg-page: #FEFBF9;--ws-frame-top: #ebf0f5;--ws-stage-foot: #fef9f6;--color-surface: var(--color-white);--ws-raised: var(--color-bg-page);--ws-tray: var(--color-gray-2);--ws-edge-card: var(--color-gray-3);--ws-edge: var(--color-gray-stroke);--ws-edge-hover: #aaa49d;--ws-well-hover: #e4e2df;--color-text-heading: var(--color-brand-navy);--color-text-body: var(--color-gray-7);--color-text-muted: #666666;--color-text-interactive: var(--color-brand-mid-blue);--ws-on-act: var(--color-white);--ws-act-hover: #0f4a73;--ws-word-needs: #A84B3C;--ws-focus-color: var(--color-text-heading);--ws-word-positive: color-mix(in srgb, var(--ws-chart-finished) 76%, var(--color-text-heading));--ws-word-alert: var(--ws-chart-alert);--ws-chart-finished: #098486;--ws-chart-past-half: #6d4fc2;--ws-chart-under-half: var(--color-brand-salmon);--ws-chart-navy-light: #2e6088;--ws-chart-needs-work: #f370a4;--ws-chart-alert: #b1042f;--ws-rating-strong: var(--color-stat-positive);--ws-rating-middle: var(--color-brand-mid-blue);--ws-rating-needs-work: var(--ws-chart-needs-work);--ws-agent-coach: var(--color-stat-positive);--ws-agent-growth: var(--ws-chart-past-half);--ws-agent-recruit: var(--ws-chart-under-half);--ws-agent-tally: #2c4870;}[data-theme="light"], [data-theme="system"]{color-scheme: light;--color-bg-page: #FEFBF9;--color-surface: var(--color-white);--ws-raised: var(--color-bg-page);--ws-edge: var(--color-gray-stroke);--ws-edge-card: var(--color-gray-3);--color-text-heading: var(--color-brand-navy);--color-text-body: var(--color-gray-7);--color-text-muted: #666666;--color-text-interactive: var(--color-brand-mid-blue);--ws-word-needs: #A84B3C;--ws-word-positive: color-mix(in srgb, var(--ws-chart-finished) 76%, var(--color-text-heading));--ws-on-act: var(--color-white);--ws-chart-finished: #098486;--ws-chart-past-half: #6d4fc2;--ws-chart-navy-light: #2e6088;--color-alert: #e90f0f;--ws-ink-rgb: 9, 53, 85;--ws-shade-rgb: 9, 53, 85;--ws-tray: var(--color-gray-2);--ws-well-hover: #e4e2df;--ws-frame-top: #ebf0f5;--ws-stage-foot: #fef9f6;--ws-chart-alert: #b1042f;--ws-rating-middle: var(--color-brand-mid-blue);--ws-edge-hover: #aaa49d;--ws-act-hover: #0f4a73;--ws-agent-tally: #2c4870;--ws-word-alert: var(--ws-chart-alert);--ws-focus-color: var(--color-text-heading);--ws-chart-under-half: var(--color-brand-salmon);--ws-rating-strong: var(--color-stat-positive);--ws-rating-needs-work: var(--ws-chart-needs-work);--ws-agent-coach: var(--color-stat-positive);--ws-agent-growth: var(--ws-chart-past-half);--ws-agent-recruit: var(--ws-chart-under-half);}@scope ([data-theme="light"], [data-theme="system"]){:scope, [data-palette], .fello{--ws-page: color-mix(in srgb, var(--ws-tray) 97.5%, #252525);--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-gray-8));--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-gray-8));--ws-well: var(--ws-tray);--ws-field: var(--color-surface);--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-gray-8));--ws-sidebar-hover: color-mix(in srgb, var(--ws-tray) 85%, var(--color-surface));--ws-sidebar-press: var(--ws-tray);--ws-menu-hover: color-mix(in srgb, var(--color-bg-page) 96%, var(--color-gray-8));--ws-menu-line: color-mix(in srgb, var(--color-bg-page) 87%, var(--color-gray-8));--ws-tint-accent: color-mix(in srgb, var(--color-bg-page) 96%, #4f4c7c);--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 10%, var(--color-surface));--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 12%, var(--color-surface));--ws-card-tint-blue: color-mix(in srgb, var(--ws-rating-middle) 10%, var(--color-surface));--ws-card-tint-done: color-mix(in srgb, var(--ws-chart-finished) 10%, var(--color-surface));--ws-track: var(--ws-tray);--color-dropdown-bg: #fcfaf9;--color-feedback-success-bg: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(254 250.75 221.5));--ws-scrim: color-mix(in srgb, var(--color-text-heading) 35%, transparent);--ws-edge-chip: color-mix(in srgb, var(--ws-edge-card) 75%, #ebdbc7);--ws-edge-slot: color-mix(in srgb, var(--ws-edge-card) 62.5%, #fbfbfb);--ws-edge-tray: color-mix(in srgb, var(--ws-tray) 84%, rgb(112 74.5 24.5));--color-text-placeholder: color-mix(in srgb, var(--color-text-muted) 93.75%, #e6e6e6);--color-text-primary: color-mix(in srgb, var(--color-text-heading) 50%, #61475f);--color-text-error-strong: color-mix(in srgb, var(--ws-word-needs) 95%, #944b00);--color-text-success-strong: color-mix(in srgb, var(--ws-word-positive) 20%, rgb(72.75 91.74 3.19));--color-feedback-success-text: #4f7d24;--ws-field-ink: color-mix(in srgb, var(--color-text-body) 46.25%, #040404);--color-stat-positive: var(--ws-chart-finished);--ws-chart-empty: color-mix(in srgb, var(--color-surface) 97.6%, #050505);--ws-chart-dot: color-mix(in srgb, var(--color-bg-page) 91%, var(--color-gray-8));--ws-chart-navy-fade: color-mix(in srgb, var(--ws-chart-navy-light) 20%, rgb(198.5 216 229.75));--ws-chart-salmon-fade: color-mix(in srgb, var(--ws-chart-under-half) 25%, #fff2ec);--ws-chart-purple-fade: color-mix(in srgb, var(--ws-chart-past-half) 10%, rgb(227.8888888889 217.8888888889 251.7777777778));--ws-chart-teal-fade: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(217.75 249.5 242.75));--ws-chart-finished-tint: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(196.5 243.25 234));--ws-chart-past-half-tint: color-mix(in srgb, var(--ws-chart-past-half) 15%, rgb(219.5882352941 208.4117647059 251.6470588235));--ws-chart-under-half-tint: color-mix(in srgb, var(--ws-chart-under-half) 20%, rgb(247.5 250.25 224.5));--color-feedback-error: color-mix(in srgb, var(--ws-chart-under-half) 87.5%, #7f3a04);--ws-shade: var(--color-text-heading);--color-nav-hover-bg: color-mix(in srgb, var(--color-text-interactive) 5%, transparent);--ws-shadow-band: inset 0 var(--ws-hairline) 0 var(--ws-edge-tray), inset 0 28px 8px 0 rgba(0, 0, 0, 0), inset 0 18px 7px 0 rgba(0, 0, 0, 0.01), inset 0 10px 6px 0 rgba(0, 0, 0, 0.03), inset 0 4px 4px 0 rgba(0, 0, 0, 0.05), inset 0 1px 2px 0 rgba(0, 0, 0, 0.06);--ws-shadow-lift: var(--shadow-card-hover);--shadow-card-default: 0 1px 2px color-mix(in srgb, var(--color-text-heading) 4%, transparent), 0 4px 8px color-mix(in srgb, var(--color-text-heading) 6%, transparent);--shadow-card-hover: 0 4px 8px color-mix(in srgb, var(--color-text-heading) 6%, transparent), 0 8px 24px color-mix(in srgb, var(--color-text-heading) 8%, transparent);--shadow-dropdown: var(--shadow-pill);--ws-ring-selected: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 55%, transparent);--ws-card-ring-lit: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 30%, transparent);--ws-card-ring-person: inset 0 0 0 1px color-mix(in srgb, var(--ws-ink) 12%, transparent);--ws-glow-blue: color-mix(in srgb, var(--ws-chart-navy-light) 10%, rgb(57.1111111111 158.2222222222 251.5555555556));--ws-cool-glow: radial-gradient(75% 70% at 10% 0%, color-mix(in srgb, var(--color-text-interactive) 16%, transparent), transparent), radial-gradient(60% 70% at 92% 30%, color-mix(in srgb, var(--ws-glow-blue) 10%, transparent), transparent), radial-gradient(70% 60% at 60% 100%, color-mix(in srgb, var(--color-text-heading) 6%, transparent), transparent);--ws-team-glow: radial-gradient(75% 70% at 10% 0%, color-mix(in srgb, var(--color-text-interactive) 14%, transparent), transparent), radial-gradient(70% 75% at 95% 100%, color-mix(in srgb, var(--ws-glow-rose) 22%, transparent), transparent), radial-gradient(55% 60% at 70% 45%, color-mix(in srgb, var(--ws-glow-pink) 8%, transparent), transparent);--ws-orb: radial-gradient(circle at 30% 30% in srgb, color-mix(in srgb, var(--ws-chart-finished) 37.5%, rgb(26.6 218.4 244.4)), var(--ws-glow-blue) 45%, color-mix(in srgb, var(--ws-chart-past-half) 37.5%, rgb(160.2 122.2 251.6)) 80%);--ws-edge-card-1x: color-mix(in srgb, var(--ws-edge-card) 50%, transparent);--ws-frame: linear-gradient(180deg, var(--ws-frame-top) 0, var(--color-bg-page) 640px) var(--color-bg-page);--ws-stage-wash: linear-gradient(180deg, var(--color-bg-page), var(--ws-stage-foot));--ws-glass: color-mix(in srgb, var(--color-surface) 59%, transparent);--ws-edge-stage: var(--ws-page);--ws-float-rim: 0 0 0 0 transparent;--ws-word-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 37.5%, rgb(142.2 4.8 68));--ws-tint-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 20%, var(--color-bg-page));--ws-shimmer: linear-gradient(100deg in srgb, var(--ws-shimmer-ground) 0 34%, color-mix(in srgb, var(--ws-chart-under-half) 20%, rgb(243.75 247.75 247)) 44%, color-mix(in srgb, var(--ws-chart-past-half) 15%, rgb(249 244.8823529412 251.6470588235)) 50%, color-mix(in srgb, var(--ws-chart-finished) 15%, rgb(250.1764705882 252 251.6470588235)) 56%, var(--ws-shimmer-ground) 66% 100%);--ws-raised-sunk: var(--ws-surface-sunk);--ws-act-light: color-mix(in srgb, var(--ws-on-act) 24%, transparent);--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 76%, #fcfcfc);--ws-control-off: color-mix(in srgb, var(--color-text-muted) 80%, #e3e3e3);--ws-shimmer-ground: color-mix(in srgb, var(--ws-tray) 96%, #d4700c);--ws-inverse: var(--color-text-heading);--ws-on-inverse: var(--ws-on-act);--ws-chart-rest: color-mix(in srgb, var(--ws-tray) 90%, #252525);--ws-ghost: color-mix(in srgb, var(--ws-well-hover) 98%, #b24c17);--ws-word-answer: color-mix(in srgb, var(--color-text-body) 71.25%, #040404);--ws-field-mark: var(--color-text-heading);--ws-word-past-half: var(--ws-chart-past-half);}}@scope ([data-theme="light"], [data-theme="system"]){:where([data-palette]){--color-bg-page: #FEFBF9;--ws-frame-top: #ebf0f5;--ws-stage-foot: #fef9f6;--color-surface: var(--color-white);--ws-raised: var(--color-bg-page);--ws-tray: var(--color-gray-2);--ws-edge-card: var(--color-gray-3);--ws-edge: var(--color-gray-stroke);--ws-edge-hover: #aaa49d;--ws-well-hover: #e4e2df;--color-text-heading: var(--color-brand-navy);--color-text-body: var(--color-gray-7);--color-text-muted: #666666;--color-text-interactive: var(--color-brand-mid-blue);--ws-on-act: var(--color-white);--ws-act-hover: #0f4a73;--ws-word-needs: #A84B3C;--ws-word-positive: color-mix(in srgb, var(--ws-chart-finished) 76%, var(--color-text-heading));--ws-word-alert: var(--ws-chart-alert);--ws-chart-finished: #098486;--ws-chart-past-half: #6d4fc2;--ws-chart-navy-light: #2e6088;--ws-chart-alert: #b1042f;--ws-rating-middle: var(--color-brand-mid-blue);--ws-agent-tally: #2c4870;}}[data-theme="dark"]{color-scheme: dark;--ws-page: color-mix(in srgb, var(--color-bg-page) 50%, #05090e);--color-bg-page: #0F1922;--color-surface: #131E28;--ws-raised: #16222D;--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 93.75%, #8fb9e2);--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 90%, #a5cdfe);--ws-well: color-mix(in srgb, var(--ws-tray) 20%, rgb(6.25 14.25 21));--ws-field: color-mix(in srgb, var(--color-bg-page) 50%, #070f16);--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 80%, #000509);--ws-sidebar-hover: color-mix(in srgb, var(--color-bg-page) 98.5%, #d7e1ea);--ws-sidebar-press: color-mix(in srgb, var(--color-bg-page) 95%, #afcdfe);--ws-menu-hover: var(--ws-surface-press);--ws-menu-line: color-mix(in srgb, var(--color-bg-page) 80%, #6e8cb8);--ws-tint-accent: var(--color-surface);--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 13.05%, var(--color-bg-page));--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 12.1%, var(--color-bg-page));--ws-card-tint-blue: color-mix(in srgb, var(--color-bg-page) 90%, #879bf4);--ws-card-tint-done: color-mix(in srgb, var(--ws-chart-finished) 10.4%, var(--color-bg-page));--ws-track: color-mix(in srgb, var(--ws-tray) 80%, #0a1215);--color-dropdown-bg: var(--ws-raised);--color-feedback-success-bg: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(25 16.75 1.75));--ws-scrim: color-mix(in srgb, color-mix(in srgb, var(--ws-page) 20%, rgb(0 3.25 6.5)) 62%, transparent);--ws-edge: #1E2A36;--ws-edge-card: #273544;--ws-edge-chip: color-mix(in srgb, var(--ws-edge-card) 96%, #a4cbf3);--ws-edge-slot: color-mix(in srgb, var(--ws-edge-card) 75%, #071118);--ws-edge-tray: color-mix(in srgb, var(--ws-tray) 90%, #aacbf6);--color-text-heading: #E8EDF3;--color-text-body: #B0BBC7;--color-text-muted: #8494A5;--color-text-placeholder: var(--color-text-muted);--color-text-interactive: #93A6DC;--color-text-primary: color-mix(in srgb, var(--color-text-heading) 53.5%, var(--color-text-body));--ws-word-needs: #FF8B78;--color-text-error-strong: var(--ws-word-needs);--ws-word-positive: #4FC7BE;--color-text-success-strong: color-mix(in srgb, var(--ws-word-positive) 20%, #aed15f);--color-feedback-success-text: var(--color-text-success-strong);--ws-field-ink: color-mix(in srgb, var(--color-text-heading) 88%, var(--color-text-body));--ws-on-act: var(--color-bg-page);--color-stat-positive: color-mix(in srgb, var(--ws-chart-finished) 80%, #9bf8ee);--ws-chart-finished: #23A8A3;--ws-chart-past-half: #9A84EE;--ws-chart-navy-light: #6E9CC4;--ws-chart-empty: var(--ws-track);--ws-chart-dot: color-mix(in srgb, var(--color-bg-page) 90%, #91afd6);--ws-chart-navy-fade: color-mix(in srgb, var(--ws-chart-navy-light) 36.2%, var(--color-bg-page));--ws-chart-salmon-fade: color-mix(in srgb, var(--ws-chart-under-half) 33.2%, var(--color-bg-page));--ws-chart-purple-fade: color-mix(in srgb, var(--ws-chart-past-half) 31.3%, var(--color-bg-page));--ws-chart-teal-fade: color-mix(in srgb, var(--ws-chart-finished) 29.8%, var(--color-bg-page));--ws-chart-finished-tint: color-mix(in srgb, var(--ws-chart-finished) 36.8%, var(--color-bg-page));--ws-chart-past-half-tint: color-mix(in srgb, var(--ws-chart-past-half) 32.2%, var(--color-bg-page));--ws-chart-under-half-tint: color-mix(in srgb, var(--ws-chart-under-half) 20%, rgb(30 44 30.75));--color-feedback-error: color-mix(in srgb, var(--ws-chart-under-half) 90%, #ffe0a2);--color-alert: #FF5A5A;--ws-ink-rgb: 232, 237, 243;--ws-shade-rgb: 0, 0, 0;--ws-shade: #000;--color-nav-hover-bg: color-mix(in srgb, var(--ws-ink) 4%, transparent);--ws-shadow-band: inset 0 0.5px 0 color-mix(in srgb, var(--ws-tray) 96%, #82a8ce), inset 0 10px 6px 0 rgba(0, 0, 0, 0.06), inset 0 4px 4px 0 rgba(0, 0, 0, 0.1), inset 0 1px 2px 0 rgba(0, 0, 0, 0.14);--ws-shadow-lift: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent), 0 6px 14px rgba(0, 0, 0, 0.32), 0 16px 40px rgba(0, 0, 0, 0.42);--shadow-card-default: 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.24);--shadow-card-hover: var(--ws-shadow-lift);--shadow-dropdown: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent), 0 8px 17px rgba(0, 0, 0, 0.3), 0 30px 30px rgba(0, 0, 0, 0.26), 0 68px 41px rgba(0, 0, 0, 0.16);--ws-ring-selected: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 70%, transparent);--ws-card-ring-lit: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 32%, transparent);--ws-card-ring-person: inset 0 0 0 1px color-mix(in srgb, var(--ws-ink) 14%, transparent);--ws-glow-blue: color-mix(in srgb, var(--ws-chart-navy-light) 20%, rgb(42.5 151 251));--ws-cool-glow: radial-gradient(80% 90% at 85% 10%, color-mix(in srgb, var(--ws-glow-blue) 14%, transparent), transparent), linear-gradient(var(--ws-raised), var(--ws-raised));--ws-team-glow: radial-gradient(80% 90% at 85% 10%, color-mix(in srgb, var(--ws-glow-blue) 14%, transparent), transparent), radial-gradient(70% 80% at 0% 90%, color-mix(in srgb, var(--ws-chart-under-half) 12%, transparent), transparent), linear-gradient(var(--ws-raised), var(--ws-raised));--ws-orb: radial-gradient(circle at 30% 30% in srgb, color-mix(in srgb, var(--ws-chart-finished) 50%, #05ccf3), var(--ws-glow-blue) 45%, color-mix(in srgb, var(--ws-chart-past-half) 80%, #5902c6) 80%);--ws-tray: #1E2B38;--ws-edge-card-1x: var(--ws-edge-card);--ws-well-hover: #273544;--ws-frame: var(--ws-frame-top);--ws-frame-top: var(--ws-page);--ws-stage-foot: var(--color-bg-page);--ws-stage-wash: var(--color-bg-page);--ws-glass: color-mix(in srgb, var(--color-bg-page) 59%, transparent);--ws-edge-stage: var(--ws-edge-card);--ws-float-rim: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent);--ws-chart-alert: #FF5470;--ws-word-needs-work: var(--ws-chart-needs-work);--ws-tint-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 18%, var(--color-bg-page));--ws-shimmer: linear-gradient(100deg, var(--ws-track) 0 34%, color-mix(in srgb, var(--ws-chart-under-half) 14%, var(--ws-track)) 44%, color-mix(in srgb, var(--ws-chart-past-half) 14%, var(--ws-track)) 50%, color-mix(in srgb, var(--color-stat-positive) 14%, var(--ws-track)) 56%, var(--ws-track) 66% 100%);--ws-rating-middle: var(--color-text-interactive);--ws-raised-sunk: var(--ws-surface-press);--ws-edge-hover: var(--color-text-muted);--ws-act-hover: color-mix(in srgb, var(--color-text-heading) 92%, var(--ws-on-act));--ws-act-light: transparent;--ws-agent-tally: var(--color-text-heading);--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 79.8%, var(--color-bg-page));--ws-control-off: color-mix(in srgb, var(--color-text-muted) 50%, #7a6a59);--ws-shimmer-ground: var(--ws-track);--ws-inverse: var(--color-bg-dark);--ws-on-inverse: var(--color-white);--ws-chart-rest: var(--ws-edge-card);--ws-ghost: var(--ws-well-hover);--ws-word-answer: color-mix(in srgb, var(--color-text-body) 50%, var(--ws-field-ink));--ws-focus-color: var(--color-text-heading);--ws-word-alert: var(--ws-chart-alert);--ws-chart-under-half: var(--color-brand-salmon);--ws-rating-strong: var(--color-stat-positive);--ws-rating-needs-work: var(--ws-chart-needs-work);--ws-agent-coach: var(--color-stat-positive);--ws-agent-growth: var(--ws-chart-past-half);--ws-agent-recruit: var(--ws-chart-under-half);}@scope ([data-theme="dark"]){:scope, [data-palette], .fello{--ws-page: color-mix(in srgb, var(--color-bg-page) 50%, #05090e);--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 93.75%, #8fb9e2);--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 90%, #a5cdfe);--ws-well: color-mix(in srgb, var(--ws-tray) 20%, rgb(6.25 14.25 21));--ws-field: color-mix(in srgb, var(--color-bg-page) 50%, #070f16);--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 80%, #000509);--ws-sidebar-hover: color-mix(in srgb, var(--color-bg-page) 98.5%, #d7e1ea);--ws-sidebar-press: color-mix(in srgb, var(--color-bg-page) 95%, #afcdfe);--ws-menu-hover: var(--ws-surface-press);--ws-menu-line: color-mix(in srgb, var(--color-bg-page) 80%, #6e8cb8);--ws-tint-accent: var(--color-surface);--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 13.05%, var(--color-bg-page));--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 12.1%, var(--color-bg-page));--ws-card-tint-blue: color-mix(in srgb, var(--color-bg-page) 90%, #879bf4);--ws-card-tint-done: color-mix(in srgb, var(--ws-chart-finished) 10.4%, var(--color-bg-page));--ws-track: color-mix(in srgb, var(--ws-tray) 80%, #0a1215);--color-dropdown-bg: var(--ws-raised);--color-feedback-success-bg: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(25 16.75 1.75));--ws-scrim: color-mix(in srgb, color-mix(in srgb, var(--ws-page) 20%, rgb(0 3.25 6.5)) 62%, transparent);--ws-edge-chip: color-mix(in srgb, var(--ws-edge-card) 96%, #a4cbf3);--ws-edge-slot: color-mix(in srgb, var(--ws-edge-card) 75%, #071118);--ws-edge-tray: color-mix(in srgb, var(--ws-tray) 90%, #aacbf6);--color-text-placeholder: var(--color-text-muted);--color-text-primary: color-mix(in srgb, var(--color-text-heading) 53.5%, var(--color-text-body));--color-text-error-strong: var(--ws-word-needs);--color-text-success-strong: color-mix(in srgb, var(--ws-word-positive) 20%, #aed15f);--color-feedback-success-text: var(--color-text-success-strong);--ws-field-ink: color-mix(in srgb, var(--color-text-heading) 88%, var(--color-text-body));--color-stat-positive: color-mix(in srgb, var(--ws-chart-finished) 80%, #9bf8ee);--ws-chart-empty: var(--ws-track);--ws-chart-dot: color-mix(in srgb, var(--color-bg-page) 90%, #91afd6);--ws-chart-navy-fade: color-mix(in srgb, var(--ws-chart-navy-light) 36.2%, var(--color-bg-page));--ws-chart-salmon-fade: color-mix(in srgb, var(--ws-chart-under-half) 33.2%, var(--color-bg-page));--ws-chart-purple-fade: color-mix(in srgb, var(--ws-chart-past-half) 31.3%, var(--color-bg-page));--ws-chart-teal-fade: color-mix(in srgb, var(--ws-chart-finished) 29.8%, var(--color-bg-page));--ws-chart-finished-tint: color-mix(in srgb, var(--ws-chart-finished) 36.8%, var(--color-bg-page));--ws-chart-past-half-tint: color-mix(in srgb, var(--ws-chart-past-half) 32.2%, var(--color-bg-page));--ws-chart-under-half-tint: color-mix(in srgb, var(--ws-chart-under-half) 20%, rgb(30 44 30.75));--color-feedback-error: color-mix(in srgb, var(--ws-chart-under-half) 90%, #ffe0a2);--ws-shade: #000;--color-nav-hover-bg: color-mix(in srgb, var(--ws-ink) 4%, transparent);--ws-shadow-band: inset 0 0.5px 0 color-mix(in srgb, var(--ws-tray) 96%, #82a8ce), inset 0 10px 6px 0 rgba(0, 0, 0, 0.06), inset 0 4px 4px 0 rgba(0, 0, 0, 0.1), inset 0 1px 2px 0 rgba(0, 0, 0, 0.14);--ws-shadow-lift: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent), 0 6px 14px rgba(0, 0, 0, 0.32), 0 16px 40px rgba(0, 0, 0, 0.42);--shadow-card-default: 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.24);--shadow-card-hover: var(--ws-shadow-lift);--shadow-dropdown: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent), 0 8px 17px rgba(0, 0, 0, 0.3), 0 30px 30px rgba(0, 0, 0, 0.26), 0 68px 41px rgba(0, 0, 0, 0.16);--ws-ring-selected: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 70%, transparent);--ws-card-ring-lit: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 32%, transparent);--ws-card-ring-person: inset 0 0 0 1px color-mix(in srgb, var(--ws-ink) 14%, transparent);--ws-glow-blue: color-mix(in srgb, var(--ws-chart-navy-light) 20%, rgb(42.5 151 251));--ws-cool-glow: radial-gradient(80% 90% at 85% 10%, color-mix(in srgb, var(--ws-glow-blue) 14%, transparent), transparent), linear-gradient(var(--ws-raised), var(--ws-raised));--ws-team-glow: radial-gradient(80% 90% at 85% 10%, color-mix(in srgb, var(--ws-glow-blue) 14%, transparent), transparent), radial-gradient(70% 80% at 0% 90%, color-mix(in srgb, var(--ws-chart-under-half) 12%, transparent), transparent), linear-gradient(var(--ws-raised), var(--ws-raised));--ws-orb: radial-gradient(circle at 30% 30% in srgb, color-mix(in srgb, var(--ws-chart-finished) 50%, #05ccf3), var(--ws-glow-blue) 45%, color-mix(in srgb, var(--ws-chart-past-half) 80%, #5902c6) 80%);--ws-edge-card-1x: var(--ws-edge-card);--ws-frame: var(--ws-frame-top);--ws-stage-wash: var(--color-bg-page);--ws-glass: color-mix(in srgb, var(--color-bg-page) 59%, transparent);--ws-edge-stage: var(--ws-edge-card);--ws-float-rim: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent);--ws-word-needs-work: var(--ws-chart-needs-work);--ws-tint-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 18%, var(--color-bg-page));--ws-shimmer: linear-gradient(100deg, var(--ws-track) 0 34%, color-mix(in srgb, var(--ws-chart-under-half) 14%, var(--ws-track)) 44%, color-mix(in srgb, var(--ws-chart-past-half) 14%, var(--ws-track)) 50%, color-mix(in srgb, var(--color-stat-positive) 14%, var(--ws-track)) 56%, var(--ws-track) 66% 100%);--ws-raised-sunk: var(--ws-surface-press);--ws-act-light: transparent;--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 79.8%, var(--color-bg-page));--ws-control-off: color-mix(in srgb, var(--color-text-muted) 50%, #7a6a59);--ws-shimmer-ground: var(--ws-track);--ws-inverse: var(--color-bg-dark);--ws-on-inverse: var(--color-white);--ws-chart-rest: var(--ws-edge-card);--ws-ghost: var(--ws-well-hover);--ws-word-answer: color-mix(in srgb, var(--color-text-body) 50%, var(--ws-field-ink));}}@scope ([data-theme="dark"]){:where([data-palette]){--color-bg-page: #0F1922;--ws-frame-top: var(--ws-page);--ws-stage-foot: var(--color-bg-page);--color-surface: #131E28;--ws-raised: #16222D;--ws-tray: #1E2B38;--ws-edge-card: #273544;--ws-edge: #1E2A36;--ws-edge-hover: var(--color-text-muted);--ws-well-hover: #273544;--color-text-heading: #E8EDF3;--color-text-body: #B0BBC7;--color-text-muted: #8494A5;--color-text-interactive: #93A6DC;--ws-on-act: var(--color-bg-page);--ws-act-hover: color-mix(in srgb, var(--color-text-heading) 92%, var(--ws-on-act));--ws-word-needs: #FF8B78;--ws-word-positive: #4FC7BE;--ws-chart-finished: #23A8A3;--ws-chart-past-half: #9A84EE;--ws-chart-navy-light: #6E9CC4;--ws-chart-alert: #FF5470;--ws-rating-middle: var(--color-text-interactive);--ws-agent-tally: var(--color-text-heading);}}@media (prefers-color-scheme: dark){[data-theme="system"]{color-scheme: dark;--ws-page: color-mix(in srgb, var(--color-bg-page) 50%, #05090e);--color-bg-page: #0F1922;--color-surface: #131E28;--ws-raised: #16222D;--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 93.75%, #8fb9e2);--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 90%, #a5cdfe);--ws-well: color-mix(in srgb, var(--ws-tray) 20%, rgb(6.25 14.25 21));--ws-field: color-mix(in srgb, var(--color-bg-page) 50%, #070f16);--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 80%, #000509);--ws-sidebar-hover: color-mix(in srgb, var(--color-bg-page) 98.5%, #d7e1ea);--ws-sidebar-press: color-mix(in srgb, var(--color-bg-page) 95%, #afcdfe);--ws-menu-hover: var(--ws-surface-press);--ws-menu-line: color-mix(in srgb, var(--color-bg-page) 80%, #6e8cb8);--ws-tint-accent: var(--color-surface);--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 13.05%, var(--color-bg-page));--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 12.1%, var(--color-bg-page));--ws-card-tint-blue: color-mix(in srgb, var(--color-bg-page) 90%, #879bf4);--ws-card-tint-done: color-mix(in srgb, var(--ws-chart-finished) 10.4%, var(--color-bg-page));--ws-track: color-mix(in srgb, var(--ws-tray) 80%, #0a1215);--color-dropdown-bg: var(--ws-raised);--color-feedback-success-bg: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(25 16.75 1.75));--ws-scrim: color-mix(in srgb, color-mix(in srgb, var(--ws-page) 20%, rgb(0 3.25 6.5)) 62%, transparent);--ws-edge: #1E2A36;--ws-edge-card: #273544;--ws-edge-chip: color-mix(in srgb, var(--ws-edge-card) 96%, #a4cbf3);--ws-edge-slot: color-mix(in srgb, var(--ws-edge-card) 75%, #071118);--ws-edge-tray: color-mix(in srgb, var(--ws-tray) 90%, #aacbf6);--color-text-heading: #E8EDF3;--color-text-body: #B0BBC7;--color-text-muted: #8494A5;--color-text-placeholder: var(--color-text-muted);--color-text-interactive: #93A6DC;--color-text-primary: color-mix(in srgb, var(--color-text-heading) 53.5%, var(--color-text-body));--ws-word-needs: #FF8B78;--color-text-error-strong: var(--ws-word-needs);--ws-word-positive: #4FC7BE;--color-text-success-strong: color-mix(in srgb, var(--ws-word-positive) 20%, #aed15f);--color-feedback-success-text: var(--color-text-success-strong);--ws-field-ink: color-mix(in srgb, var(--color-text-heading) 88%, var(--color-text-body));--ws-on-act: var(--color-bg-page);--color-stat-positive: color-mix(in srgb, var(--ws-chart-finished) 80%, #9bf8ee);--ws-chart-finished: #23A8A3;--ws-chart-past-half: #9A84EE;--ws-chart-navy-light: #6E9CC4;--ws-chart-empty: var(--ws-track);--ws-chart-dot: color-mix(in srgb, var(--color-bg-page) 90%, #91afd6);--ws-chart-navy-fade: color-mix(in srgb, var(--ws-chart-navy-light) 36.2%, var(--color-bg-page));--ws-chart-salmon-fade: color-mix(in srgb, var(--ws-chart-under-half) 33.2%, var(--color-bg-page));--ws-chart-purple-fade: color-mix(in srgb, var(--ws-chart-past-half) 31.3%, var(--color-bg-page));--ws-chart-teal-fade: color-mix(in srgb, var(--ws-chart-finished) 29.8%, var(--color-bg-page));--ws-chart-finished-tint: color-mix(in srgb, var(--ws-chart-finished) 36.8%, var(--color-bg-page));--ws-chart-past-half-tint: color-mix(in srgb, var(--ws-chart-past-half) 32.2%, var(--color-bg-page));--ws-chart-under-half-tint: color-mix(in srgb, var(--ws-chart-under-half) 20%, rgb(30 44 30.75));--color-feedback-error: color-mix(in srgb, var(--ws-chart-under-half) 90%, #ffe0a2);--color-alert: #FF5A5A;--ws-ink-rgb: 232, 237, 243;--ws-shade-rgb: 0, 0, 0;--ws-shade: #000;--color-nav-hover-bg: color-mix(in srgb, var(--ws-ink) 4%, transparent);--ws-shadow-band: inset 0 0.5px 0 color-mix(in srgb, var(--ws-tray) 96%, #82a8ce), inset 0 10px 6px 0 rgba(0, 0, 0, 0.06), inset 0 4px 4px 0 rgba(0, 0, 0, 0.1), inset 0 1px 2px 0 rgba(0, 0, 0, 0.14);--ws-shadow-lift: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent), 0 6px 14px rgba(0, 0, 0, 0.32), 0 16px 40px rgba(0, 0, 0, 0.42);--shadow-card-default: 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.24);--shadow-card-hover: var(--ws-shadow-lift);--shadow-dropdown: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent), 0 8px 17px rgba(0, 0, 0, 0.3), 0 30px 30px rgba(0, 0, 0, 0.26), 0 68px 41px rgba(0, 0, 0, 0.16);--ws-ring-selected: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 70%, transparent);--ws-card-ring-lit: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 32%, transparent);--ws-card-ring-person: inset 0 0 0 1px color-mix(in srgb, var(--ws-ink) 14%, transparent);--ws-glow-blue: color-mix(in srgb, var(--ws-chart-navy-light) 20%, rgb(42.5 151 251));--ws-cool-glow: radial-gradient(80% 90% at 85% 10%, color-mix(in srgb, var(--ws-glow-blue) 14%, transparent), transparent), linear-gradient(var(--ws-raised), var(--ws-raised));--ws-team-glow: radial-gradient(80% 90% at 85% 10%, color-mix(in srgb, var(--ws-glow-blue) 14%, transparent), transparent), radial-gradient(70% 80% at 0% 90%, color-mix(in srgb, var(--ws-chart-under-half) 12%, transparent), transparent), linear-gradient(var(--ws-raised), var(--ws-raised));--ws-orb: radial-gradient(circle at 30% 30% in srgb, color-mix(in srgb, var(--ws-chart-finished) 50%, #05ccf3), var(--ws-glow-blue) 45%, color-mix(in srgb, var(--ws-chart-past-half) 80%, #5902c6) 80%);--ws-tray: #1E2B38;--ws-edge-card-1x: var(--ws-edge-card);--ws-well-hover: #273544;--ws-frame: var(--ws-frame-top);--ws-frame-top: var(--ws-page);--ws-stage-foot: var(--color-bg-page);--ws-stage-wash: var(--color-bg-page);--ws-glass: color-mix(in srgb, var(--color-bg-page) 59%, transparent);--ws-edge-stage: var(--ws-edge-card);--ws-float-rim: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent);--ws-chart-alert: #FF5470;--ws-word-needs-work: var(--ws-chart-needs-work);--ws-tint-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 18%, var(--color-bg-page));--ws-shimmer: linear-gradient(100deg, var(--ws-track) 0 34%, color-mix(in srgb, var(--ws-chart-under-half) 14%, var(--ws-track)) 44%, color-mix(in srgb, var(--ws-chart-past-half) 14%, var(--ws-track)) 50%, color-mix(in srgb, var(--color-stat-positive) 14%, var(--ws-track)) 56%, var(--ws-track) 66% 100%);--ws-rating-middle: var(--color-text-interactive);--ws-raised-sunk: var(--ws-surface-press);--ws-edge-hover: var(--color-text-muted);--ws-act-hover: color-mix(in srgb, var(--color-text-heading) 92%, var(--ws-on-act));--ws-act-light: transparent;--ws-agent-tally: var(--color-text-heading);--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 79.8%, var(--color-bg-page));--ws-control-off: color-mix(in srgb, var(--color-text-muted) 50%, #7a6a59);--ws-shimmer-ground: var(--ws-track);--ws-inverse: var(--color-bg-dark);--ws-on-inverse: var(--color-white);--ws-chart-rest: var(--ws-edge-card);--ws-ghost: var(--ws-well-hover);--ws-word-answer: color-mix(in srgb, var(--color-text-body) 50%, var(--ws-field-ink));--ws-focus-color: var(--color-text-heading);--ws-word-alert: var(--ws-chart-alert);--ws-chart-under-half: var(--color-brand-salmon);--ws-rating-strong: var(--color-stat-positive);--ws-rating-needs-work: var(--ws-chart-needs-work);--ws-agent-coach: var(--color-stat-positive);--ws-agent-growth: var(--ws-chart-past-half);--ws-agent-recruit: var(--ws-chart-under-half);}@scope ([data-theme="system"]){:scope, [data-palette], .fello{--ws-page: color-mix(in srgb, var(--color-bg-page) 50%, #05090e);--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 93.75%, #8fb9e2);--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 90%, #a5cdfe);--ws-well: color-mix(in srgb, var(--ws-tray) 20%, rgb(6.25 14.25 21));--ws-field: color-mix(in srgb, var(--color-bg-page) 50%, #070f16);--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 80%, #000509);--ws-sidebar-hover: color-mix(in srgb, var(--color-bg-page) 98.5%, #d7e1ea);--ws-sidebar-press: color-mix(in srgb, var(--color-bg-page) 95%, #afcdfe);--ws-menu-hover: var(--ws-surface-press);--ws-menu-line: color-mix(in srgb, var(--color-bg-page) 80%, #6e8cb8);--ws-tint-accent: var(--color-surface);--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 13.05%, var(--color-bg-page));--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 12.1%, var(--color-bg-page));--ws-card-tint-blue: color-mix(in srgb, var(--color-bg-page) 90%, #879bf4);--ws-card-tint-done: color-mix(in srgb, var(--ws-chart-finished) 10.4%, var(--color-bg-page));--ws-track: color-mix(in srgb, var(--ws-tray) 80%, #0a1215);--color-dropdown-bg: var(--ws-raised);--color-feedback-success-bg: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(25 16.75 1.75));--ws-scrim: color-mix(in srgb, color-mix(in srgb, var(--ws-page) 20%, rgb(0 3.25 6.5)) 62%, transparent);--ws-edge-chip: color-mix(in srgb, var(--ws-edge-card) 96%, #a4cbf3);--ws-edge-slot: color-mix(in srgb, var(--ws-edge-card) 75%, #071118);--ws-edge-tray: color-mix(in srgb, var(--ws-tray) 90%, #aacbf6);--color-text-placeholder: var(--color-text-muted);--color-text-primary: color-mix(in srgb, var(--color-text-heading) 53.5%, var(--color-text-body));--color-text-error-strong: var(--ws-word-needs);--color-text-success-strong: color-mix(in srgb, var(--ws-word-positive) 20%, #aed15f);--color-feedback-success-text: var(--color-text-success-strong);--ws-field-ink: color-mix(in srgb, var(--color-text-heading) 88%, var(--color-text-body));--color-stat-positive: color-mix(in srgb, var(--ws-chart-finished) 80%, #9bf8ee);--ws-chart-empty: var(--ws-track);--ws-chart-dot: color-mix(in srgb, var(--color-bg-page) 90%, #91afd6);--ws-chart-navy-fade: color-mix(in srgb, var(--ws-chart-navy-light) 36.2%, var(--color-bg-page));--ws-chart-salmon-fade: color-mix(in srgb, var(--ws-chart-under-half) 33.2%, var(--color-bg-page));--ws-chart-purple-fade: color-mix(in srgb, var(--ws-chart-past-half) 31.3%, var(--color-bg-page));--ws-chart-teal-fade: color-mix(in srgb, var(--ws-chart-finished) 29.8%, var(--color-bg-page));--ws-chart-finished-tint: color-mix(in srgb, var(--ws-chart-finished) 36.8%, var(--color-bg-page));--ws-chart-past-half-tint: color-mix(in srgb, var(--ws-chart-past-half) 32.2%, var(--color-bg-page));--ws-chart-under-half-tint: color-mix(in srgb, var(--ws-chart-under-half) 20%, rgb(30 44 30.75));--color-feedback-error: color-mix(in srgb, var(--ws-chart-under-half) 90%, #ffe0a2);--ws-shade: #000;--color-nav-hover-bg: color-mix(in srgb, var(--ws-ink) 4%, transparent);--ws-shadow-band: inset 0 0.5px 0 color-mix(in srgb, var(--ws-tray) 96%, #82a8ce), inset 0 10px 6px 0 rgba(0, 0, 0, 0.06), inset 0 4px 4px 0 rgba(0, 0, 0, 0.1), inset 0 1px 2px 0 rgba(0, 0, 0, 0.14);--ws-shadow-lift: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent), 0 6px 14px rgba(0, 0, 0, 0.32), 0 16px 40px rgba(0, 0, 0, 0.42);--shadow-card-default: 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.24);--shadow-card-hover: var(--ws-shadow-lift);--shadow-dropdown: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent), 0 8px 17px rgba(0, 0, 0, 0.3), 0 30px 30px rgba(0, 0, 0, 0.26), 0 68px 41px rgba(0, 0, 0, 0.16);--ws-ring-selected: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 70%, transparent);--ws-card-ring-lit: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 32%, transparent);--ws-card-ring-person: inset 0 0 0 1px color-mix(in srgb, var(--ws-ink) 14%, transparent);--ws-glow-blue: color-mix(in srgb, var(--ws-chart-navy-light) 20%, rgb(42.5 151 251));--ws-cool-glow: radial-gradient(80% 90% at 85% 10%, color-mix(in srgb, var(--ws-glow-blue) 14%, transparent), transparent), linear-gradient(var(--ws-raised), var(--ws-raised));--ws-team-glow: radial-gradient(80% 90% at 85% 10%, color-mix(in srgb, var(--ws-glow-blue) 14%, transparent), transparent), radial-gradient(70% 80% at 0% 90%, color-mix(in srgb, var(--ws-chart-under-half) 12%, transparent), transparent), linear-gradient(var(--ws-raised), var(--ws-raised));--ws-orb: radial-gradient(circle at 30% 30% in srgb, color-mix(in srgb, var(--ws-chart-finished) 50%, #05ccf3), var(--ws-glow-blue) 45%, color-mix(in srgb, var(--ws-chart-past-half) 80%, #5902c6) 80%);--ws-edge-card-1x: var(--ws-edge-card);--ws-frame: var(--ws-frame-top);--ws-stage-wash: var(--color-bg-page);--ws-glass: color-mix(in srgb, var(--color-bg-page) 59%, transparent);--ws-edge-stage: var(--ws-edge-card);--ws-float-rim: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent);--ws-word-needs-work: var(--ws-chart-needs-work);--ws-tint-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 18%, var(--color-bg-page));--ws-shimmer: linear-gradient(100deg, var(--ws-track) 0 34%, color-mix(in srgb, var(--ws-chart-under-half) 14%, var(--ws-track)) 44%, color-mix(in srgb, var(--ws-chart-past-half) 14%, var(--ws-track)) 50%, color-mix(in srgb, var(--color-stat-positive) 14%, var(--ws-track)) 56%, var(--ws-track) 66% 100%);--ws-raised-sunk: var(--ws-surface-press);--ws-act-light: transparent;--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 79.8%, var(--color-bg-page));--ws-control-off: color-mix(in srgb, var(--color-text-muted) 50%, #7a6a59);--ws-shimmer-ground: var(--ws-track);--ws-inverse: var(--color-bg-dark);--ws-on-inverse: var(--color-white);--ws-chart-rest: var(--ws-edge-card);--ws-ghost: var(--ws-well-hover);--ws-word-answer: color-mix(in srgb, var(--color-text-body) 50%, var(--ws-field-ink));}}@scope ([data-theme="system"]){:where([data-palette]){--color-bg-page: #0F1922;--ws-frame-top: var(--ws-page);--ws-stage-foot: var(--color-bg-page);--color-surface: #131E28;--ws-raised: #16222D;--ws-tray: #1E2B38;--ws-edge-card: #273544;--ws-edge: #1E2A36;--ws-edge-hover: var(--color-text-muted);--ws-well-hover: #273544;--color-text-heading: #E8EDF3;--color-text-body: #B0BBC7;--color-text-muted: #8494A5;--color-text-interactive: #93A6DC;--ws-on-act: var(--color-bg-page);--ws-act-hover: color-mix(in srgb, var(--color-text-heading) 92%, var(--ws-on-act));--ws-word-needs: #FF8B78;--ws-word-positive: #4FC7BE;--ws-chart-finished: #23A8A3;--ws-chart-past-half: #9A84EE;--ws-chart-navy-light: #6E9CC4;--ws-chart-alert: #FF5470;--ws-rating-middle: var(--color-text-interactive);--ws-agent-tally: var(--color-text-heading);}}}[data-palette="cool"]{--ws-stage-foot: #fefbf9;--ws-edge: #e2e2e2;--color-text-interactive: var(--color-text-heading);}[data-palette="cool"][data-theme="light"], [data-palette="cool"][data-theme="system"]{--ws-stage-foot: #fefbf9;--ws-edge: #e2e2e2;--color-text-interactive: var(--color-text-heading);}@scope ([data-theme="light"], [data-theme="system"]){[data-palette="cool"]{--ws-stage-foot: #fefbf9;--ws-edge: #e2e2e2;--color-text-interactive: var(--color-text-heading);}}@scope ([data-palette="cool"]){[data-theme="light"], [data-theme="system"]{--ws-stage-foot: #fefbf9;--ws-edge: #e2e2e2;--color-text-interactive: var(--color-text-heading);}}[data-palette="cool"][data-theme="dark"]{--ws-stage-foot: var(--color-bg-page);--ws-edge: #1E2A36;--color-text-interactive: var(--color-text-heading);}@scope ([data-theme="dark"]){[data-palette="cool"]{--ws-stage-foot: var(--color-bg-page);--ws-edge: #1E2A36;--color-text-interactive: var(--color-text-heading);}}@scope ([data-palette="cool"]){[data-theme="dark"]{--ws-stage-foot: var(--color-bg-page);--ws-edge: #1E2A36;--color-text-interactive: var(--color-text-heading);}}@media (prefers-color-scheme: dark){[data-palette="cool"][data-theme="system"]{--ws-stage-foot: var(--color-bg-page);--ws-edge: #1E2A36;--color-text-interactive: var(--color-text-heading);}@scope ([data-theme="system"]){[data-palette="cool"]{--ws-stage-foot: var(--color-bg-page);--ws-edge: #1E2A36;--color-text-interactive: var(--color-text-heading);}}@scope ([data-palette="cool"]){[data-theme="system"]{--ws-stage-foot: var(--color-bg-page);--ws-edge: #1E2A36;--color-text-interactive: var(--color-text-heading);}}}[data-palette="warm"]{--ws-frame-top: #fefbf9;}[data-palette="warm"][data-theme="light"], [data-palette="warm"][data-theme="system"]{--ws-frame-top: #fefbf9;}@scope ([data-theme="light"], [data-theme="system"]){[data-palette="warm"]{--ws-frame-top: #fefbf9;}}@scope ([data-palette="warm"]){[data-theme="light"], [data-theme="system"]{--ws-frame-top: #fefbf9;}}[data-palette="warm"][data-theme="dark"]{--ws-frame-top: var(--ws-page);}@scope ([data-theme="dark"]){[data-palette="warm"]{--ws-frame-top: var(--ws-page);}}@scope ([data-palette="warm"]){[data-theme="dark"]{--ws-frame-top: var(--ws-page);}}@media (prefers-color-scheme: dark){[data-palette="warm"][data-theme="system"]{--ws-frame-top: var(--ws-page);}@scope ([data-theme="system"]){[data-palette="warm"]{--ws-frame-top: var(--ws-page);}}@scope ([data-palette="warm"]){[data-theme="system"]{--ws-frame-top: var(--ws-page);}}}[data-theme="dark"][data-ground="navy"]{--ws-page: var(--color-bg-page);--color-bg-page: #021A32;--color-surface: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));--ws-raised: color-mix(in srgb, var(--color-bg-page) 92%, var(--color-white));--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-white));--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white));--ws-well: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));--ws-field: var(--color-white);--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));--ws-sidebar-hover: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));--ws-sidebar-press: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-white));--ws-menu-hover: color-mix(in srgb, var(--color-bg-page) 88%, var(--color-white));--ws-menu-line: var(--ws-edge-card);--ws-tint-accent: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 18%, var(--color-bg-page));--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 13.1%, var(--color-bg-page));--ws-card-tint-blue: color-mix(in srgb, var(--color-brand-mid-blue) 25%, var(--color-bg-page));--ws-card-tint-done: var(--ws-tint-live);--ws-track: color-mix(in srgb, var(--color-bg-page) 88%, var(--color-white));--ws-edge: color-mix(in srgb, var(--color-white) 10%, transparent);--ws-edge-card: color-mix(in srgb, var(--color-white) 18%, transparent);--ws-edge-chip: var(--ws-edge-card);--ws-edge-slot: var(--ws-edge-card);--ws-edge-tray: var(--ws-edge-card);--color-text-heading: #FFFFFF;--color-text-body: #D3D3D3;--color-text-muted: #A9A9A9;--color-text-placeholder: #6E6E6E;--color-text-primary: color-mix(in srgb, var(--color-text-heading) 93%, #000000);--ws-field-ink: var(--color-brand-navy);--ws-field-mark: var(--ws-field-ink);--ws-chart-empty: var(--ws-track);--ws-chart-dot: color-mix(in srgb, var(--ws-ink) 10%, transparent);--ws-chart-navy-fade: color-mix(in srgb, var(--color-text-heading) 30%, var(--color-bg-page));--ws-ink-rgb: 255, 255, 255;--ws-shadow-band: inset 0 var(--ws-hairline) 0 var(--ws-edge-tray);--ws-tray: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white));--ws-word-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 80%, #fdcfe0);--ws-word-alert: #FF8282;--ws-word-past-half: color-mix(in srgb, var(--ws-chart-past-half) 80%, #f9f7fd);--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 80%, #0e5eb3);--ws-word-answer: color-mix(in srgb, var(--color-text-body) 50%, var(--color-text-heading));}@scope ([data-theme="dark"][data-ground="navy"]){:scope, [data-palette], .fello{--ws-page: var(--color-bg-page);--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-white));--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white));--ws-well: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));--ws-field: var(--color-white);--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));--ws-sidebar-hover: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));--ws-sidebar-press: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-white));--ws-menu-hover: color-mix(in srgb, var(--color-bg-page) 88%, var(--color-white));--ws-menu-line: var(--ws-edge-card);--ws-tint-accent: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 18%, var(--color-bg-page));--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 13.1%, var(--color-bg-page));--ws-card-tint-blue: color-mix(in srgb, var(--color-brand-mid-blue) 25%, var(--color-bg-page));--ws-card-tint-done: var(--ws-tint-live);--ws-track: color-mix(in srgb, var(--color-bg-page) 88%, var(--color-white));--ws-edge-chip: var(--ws-edge-card);--ws-edge-slot: var(--ws-edge-card);--ws-edge-tray: var(--ws-edge-card);--color-text-placeholder: #6E6E6E;--color-text-primary: color-mix(in srgb, var(--color-text-heading) 93%, #000000);--ws-field-ink: var(--color-brand-navy);--ws-field-mark: var(--ws-field-ink);--ws-chart-empty: var(--ws-track);--ws-chart-dot: color-mix(in srgb, var(--ws-ink) 10%, transparent);--ws-chart-navy-fade: color-mix(in srgb, var(--color-text-heading) 30%, var(--color-bg-page));--ws-shadow-band: inset 0 var(--ws-hairline) 0 var(--ws-edge-tray);--ws-word-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 80%, #fdcfe0);--ws-word-past-half: color-mix(in srgb, var(--ws-chart-past-half) 80%, #f9f7fd);--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 80%, #0e5eb3);--ws-word-answer: color-mix(in srgb, var(--color-text-body) 50%, var(--color-text-heading));}}@media (prefers-color-scheme: dark){[data-theme="system"][data-ground="navy"]{--ws-page: var(--color-bg-page);--color-bg-page: #021A32;--color-surface: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));--ws-raised: color-mix(in srgb, var(--color-bg-page) 92%, var(--color-white));--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-white));--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white));--ws-well: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));--ws-field: var(--color-white);--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));--ws-sidebar-hover: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));--ws-sidebar-press: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-white));--ws-menu-hover: color-mix(in srgb, var(--color-bg-page) 88%, var(--color-white));--ws-menu-line: var(--ws-edge-card);--ws-tint-accent: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 18%, var(--color-bg-page));--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 13.1%, var(--color-bg-page));--ws-card-tint-blue: color-mix(in srgb, var(--color-brand-mid-blue) 25%, var(--color-bg-page));--ws-card-tint-done: var(--ws-tint-live);--ws-track: color-mix(in srgb, var(--color-bg-page) 88%, var(--color-white));--ws-edge: color-mix(in srgb, var(--color-white) 10%, transparent);--ws-edge-card: color-mix(in srgb, var(--color-white) 18%, transparent);--ws-edge-chip: var(--ws-edge-card);--ws-edge-slot: var(--ws-edge-card);--ws-edge-tray: var(--ws-edge-card);--color-text-heading: #FFFFFF;--color-text-body: #D3D3D3;--color-text-muted: #A9A9A9;--color-text-placeholder: #6E6E6E;--color-text-primary: color-mix(in srgb, var(--color-text-heading) 93%, #000000);--ws-field-ink: var(--color-brand-navy);--ws-field-mark: var(--ws-field-ink);--ws-chart-empty: var(--ws-track);--ws-chart-dot: color-mix(in srgb, var(--ws-ink) 10%, transparent);--ws-chart-navy-fade: color-mix(in srgb, var(--color-text-heading) 30%, var(--color-bg-page));--ws-ink-rgb: 255, 255, 255;--ws-shadow-band: inset 0 var(--ws-hairline) 0 var(--ws-edge-tray);--ws-tray: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white));--ws-word-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 80%, #fdcfe0);--ws-word-alert: #FF8282;--ws-word-past-half: color-mix(in srgb, var(--ws-chart-past-half) 80%, #f9f7fd);--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 80%, #0e5eb3);--ws-word-answer: color-mix(in srgb, var(--color-text-body) 50%, var(--color-text-heading));}@scope ([data-theme="system"][data-ground="navy"]){:scope, [data-palette], .fello{--ws-page: var(--color-bg-page);--ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-white));--ws-surface-press: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white));--ws-well: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));--ws-field: var(--color-white);--ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));--ws-sidebar-hover: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));--ws-sidebar-press: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-white));--ws-menu-hover: color-mix(in srgb, var(--color-bg-page) 88%, var(--color-white));--ws-menu-line: var(--ws-edge-card);--ws-tint-accent: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));--ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 18%, var(--color-bg-page));--ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 13.1%, var(--color-bg-page));--ws-card-tint-blue: color-mix(in srgb, var(--color-brand-mid-blue) 25%, var(--color-bg-page));--ws-card-tint-done: var(--ws-tint-live);--ws-track: color-mix(in srgb, var(--color-bg-page) 88%, var(--color-white));--ws-edge-chip: var(--ws-edge-card);--ws-edge-slot: var(--ws-edge-card);--ws-edge-tray: var(--ws-edge-card);--color-text-placeholder: #6E6E6E;--color-text-primary: color-mix(in srgb, var(--color-text-heading) 93%, #000000);--ws-field-ink: var(--color-brand-navy);--ws-field-mark: var(--ws-field-ink);--ws-chart-empty: var(--ws-track);--ws-chart-dot: color-mix(in srgb, var(--ws-ink) 10%, transparent);--ws-chart-navy-fade: color-mix(in srgb, var(--color-text-heading) 30%, var(--color-bg-page));--ws-shadow-band: inset 0 var(--ws-hairline) 0 var(--ws-edge-tray);--ws-word-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 80%, #fdcfe0);--ws-word-past-half: color-mix(in srgb, var(--ws-chart-past-half) 80%, #f9f7fd);--ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 80%, #0e5eb3);--ws-word-answer: color-mix(in srgb, var(--color-text-body) 50%, var(--color-text-heading));}}}[data-palette][data-theme="dark"][data-ground="navy"]{--color-bg-page: #021A32;--color-surface: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));--ws-raised: color-mix(in srgb, var(--color-bg-page) 92%, var(--color-white));--ws-tray: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white));--ws-edge-card: color-mix(in srgb, var(--color-white) 18%, transparent);--ws-edge: color-mix(in srgb, var(--color-white) 10%, transparent);--color-text-heading: #FFFFFF;--color-text-body: #D3D3D3;--color-text-muted: #A9A9A9;--ws-word-alert: #FF8282;}@scope ([data-theme="dark"][data-ground="navy"]) to ([data-theme]){[data-palette][data-palette]{--color-bg-page: #021A32;--color-surface: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));--ws-raised: color-mix(in srgb, var(--color-bg-page) 92%, var(--color-white));--ws-tray: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white));--ws-edge-card: color-mix(in srgb, var(--color-white) 18%, transparent);--ws-edge: color-mix(in srgb, var(--color-white) 10%, transparent);--color-text-heading: #FFFFFF;--color-text-body: #D3D3D3;--color-text-muted: #A9A9A9;--ws-word-alert: #FF8282;}}@media (prefers-color-scheme: dark){[data-palette][data-theme="system"][data-ground="navy"]{--color-bg-page: #021A32;--color-surface: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));--ws-raised: color-mix(in srgb, var(--color-bg-page) 92%, var(--color-white));--ws-tray: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white));--ws-edge-card: color-mix(in srgb, var(--color-white) 18%, transparent);--ws-edge: color-mix(in srgb, var(--color-white) 10%, transparent);--color-text-heading: #FFFFFF;--color-text-body: #D3D3D3;--color-text-muted: #A9A9A9;--ws-word-alert: #FF8282;}@scope ([data-theme="system"][data-ground="navy"]) to ([data-theme]){[data-palette][data-palette]{--color-bg-page: #021A32;--color-surface: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));--ws-raised: color-mix(in srgb, var(--color-bg-page) 92%, var(--color-white));--ws-tray: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white));--ws-edge-card: color-mix(in srgb, var(--color-white) 18%, transparent);--ws-edge: color-mix(in srgb, var(--color-white) 10%, transparent);--color-text-heading: #FFFFFF;--color-text-body: #D3D3D3;--color-text-muted: #A9A9A9;--ws-word-alert: #FF8282;}}}}@layer base.fello{html{font-family: var(--font-body);-webkit-font-smoothing: antialiased;}body{margin: 0;background: var(--color-bg-page);color: var(--color-text-body);font-family: var(--font-body);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));}:where([data-palette], [data-theme], .fello){color: var(--color-text-body);}:where(.ws-app-shell, .ws-page, .ws-entry-shell, .ws-status-screen, dialog.ws-dialog, .ws-menu, .ws-popover){font-family: var(--font-body);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));color: var(--color-text-body);}:where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *), :where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *)::before, :where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *)::after{box-sizing: border-box;}:where(h1, h2, h3, h4, p, ul, ol, figure):where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *){margin: 0;}:where(ul, ol):where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *){padding: 0;list-style: none;}:where(button, input, select, textarea):where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *){font: inherit;color: inherit;text-align: inherit;}:where(svg):where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *){display: block;}.ws-tnum{font-variant-numeric: tabular-nums;}.ws-sr{position: absolute;width: var(--ws-line);height: var(--ws-line);margin: calc(var(--ws-line) * -1);padding: 0;border: 0;overflow: hidden;clip: rect(0 0 0 0);clip-path: inset(50%);white-space: nowrap;}.ws-icon{display: inline-block;flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);vertical-align: -0.125em;}.ws-icon--sm{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-icon--lg{width: var(--ws-icon-lg);height: var(--ws-icon-lg);}:where(.ws-btn, .ws-icon-btn, .ws-chip, .ws-change, .ws-menu-item, .ws-segmented__item, .ws-tabs__tab, .ws-row, .ws-well-row, .ws-link, .ws-act, .ws-field-msg) > svg:where(:not([width])){flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);}:where(.ws-meta, .ws-muted, .ws-body, .ws-eyebrow, .ws-cluster, .ws-kanban-board__meta) > svg:where(:not([width])){display: inline-block;flex-shrink: 0;width: var(--ws-icon-sm);height: var(--ws-icon-sm);vertical-align: -0.125em;}:where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *):focus-visible{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}:where(.ws-menu-item, .ws-well-row, .ws-row, .ws-segmented__item):focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}@media (prefers-reduced-motion: reduce){:where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *), :where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *)::before, :where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *)::after{animation-duration: 0.01ms !important;animation-delay: 0s !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;transition-delay: 0s !important;scroll-behavior: auto !important;}}:root.ws-theme-switching :where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *){transition: none !important;}}@layer components.fello{.ws-stage{display: flex;flex-wrap: wrap;align-items: flex-start;gap: var(--ws-gap-component);padding: var(--ws-gap-component);background: var(--color-bg-page);}.ws-stage > *{max-width: 100%;min-width: 0;}.ws-stage--grey{background: var(--ws-page);}.ws-stage--sunk{background: var(--ws-surface-sunk);}.ws-stage--column{flex-direction: column;flex-wrap: nowrap;align-items: stretch;gap: var(--ws-gap-group);}.ws-stage--bleed{padding: 0;}.ws-page{container-type: inline-size;display: flex;flex-direction: column;gap: var(--ws-gap-component);width: 100%;max-width: calc(var(--ws-chart-card-w) * 2 + var(--ws-gap-component) + var(--ws-gutter) * 2);margin-inline: auto;padding: var(--ws-gutter);}.ws-page--column{max-width: calc(var(--ws-column-width) + var(--ws-gutter) * 2);}@media (max-width: 40rem){.ws-page{padding: var(--space-md);}}.ws-area{container-type: inline-size;}.ws-board{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ws-chart-card-min)), 1fr));align-items: start;gap: var(--ws-gap-component);width: 100%;max-width: calc(var(--ws-chart-card-w) * 2 + var(--ws-gap-component));}.ws-board > *{min-width: 0;}.ws-board__column{display: flex;flex-direction: column;gap: var(--ws-gap-component);}.ws-stack{display: flex;flex-direction: column;gap: var(--space-xs);}.ws-cluster{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xs);}.ws-cluster--start{align-items: flex-start;}.ws-stack--tight, .ws-cluster--tight{gap: var(--ws-gap-tight);}.ws-stack--loose, .ws-cluster--loose{gap: var(--ws-gap-loose);}.ws-stack--component, .ws-cluster--component{gap: var(--ws-gap-component);}.ws-stack--group, .ws-cluster--group{gap: var(--ws-gap-group);}.ws-stack--block{gap: var(--ws-gap-block);}.ws-stack--section{gap: var(--ws-gap-section);}:where(.ws-app-shell__body, .ws-app-shell__nav, .ws-dialog, .ws-dialog__content, .ws-panel__body, .ws-stack, .ws-card--compound, .ws-page, .ws-board__column) > *{flex-shrink: 0;}:where(.ws-app-shell__body, .ws-dialog__content, .ws-panel__body, .ws-table__scroll, .ws-kanban-board, .ws-tabs){position: relative;}.ws-card{--ws-band-inset: var(--ws-card-inset);border-radius: var(--ws-radius-card);background: var(--color-bg-page);}.ws-card--inset{padding: var(--ws-card-inset);}.ws-plate{border-radius: var(--ws-radius-card);background: var(--ws-surface-sunk);}.ws-well{border-radius: var(--ws-radius-card);background: var(--ws-well);display: flex;flex-direction: column;}.ws-well-row{display: flex;align-items: center;min-height: var(--ws-row-h);border-radius: var(--ws-radius-row);background: var(--color-bg-page);color: var(--color-text-heading);font-weight: 500;text-align: left;width: 100%;border: 0;cursor: pointer;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){.ws-well-row:hover{background: var(--color-surface);}}.ws-well-row:active{background: var(--ws-surface-press);}:where(.ws-menu, .ws-popover, .ws-dialog, .ws-panel){--ws-surface-sunk: var(--ws-raised-sunk);}.ws-dots{background-image: radial-gradient(circle, var(--ws-chart-dot) calc(var(--ws-hairline) * 1.5), transparent calc(var(--ws-hairline) * 2.2));background-size: var(--ws-chart-dot-gap) var(--ws-chart-dot-gap);}.ws-band{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-sm) var(--space-md);min-height: var(--ws-band-h);padding: var(--space-md) var(--ws-band-inset);background: var(--ws-tray);}.ws-band__words{display: flex;flex: 1;min-width: min(100%, var(--space-9xl));flex-direction: column;gap: var(--space-xxs);}.ws-band__title{font-size: var(--ws-text-value);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-heading);text-wrap: balance;}.ws-band__how{font-size: var(--ws-text-meta);line-height: var(--space-md);color: var(--color-text-muted);}.ws-head{display: flex;align-items: flex-start;gap: var(--space-md);padding: var(--ws-card-inset);}.ws-head > div:first-of-type{flex: 1;min-width: 0;display: flex;flex-direction: column;}.ws-menu{display: flex;flex-direction: column;border-radius: var(--ws-radius-card);background: var(--ws-raised);padding: var(--space-xxs);box-shadow: var(--ws-shadow-lift);z-index: var(--z-dropdown);min-width: var(--space-9xl);}.ws-menu-item{display: flex;width: 100%;min-height: var(--ws-control-h);padding: var(--space-xxs) var(--space-sm);align-items: center;gap: var(--space-xs);border-radius: var(--ws-radius-control);text-align: left;font-size: var(--ws-text-body);font-weight: 500;color: var(--color-text-heading);background: none;border: 0;cursor: pointer;}@media (hover: hover){.ws-menu-item:hover{background: var(--ws-hover);}}.ws-menu-item:active{background: var(--ws-surface-press);}.ws-menu-line{height: var(--ws-line);margin: var(--space-xxs) 0;background: var(--ws-menu-line);}.ws-disc{display: inline-flex;flex-shrink: 0;align-items: center;justify-content: center;border-radius: var(--radius-full);background: var(--ws-surface-sunk);color: var(--color-text-heading);}.ws-title{font-size: var(--ws-text-title);line-height: var(--ws-leading-title);font-weight: 600;color: var(--color-text-heading);text-wrap: balance;}.ws-section{font-size: var(--ws-text-section);line-height: var(--ws-leading-section);font-weight: 600;color: var(--color-text-heading);text-wrap: balance;}.ws-body{font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));color: var(--color-text-body);}.ws-muted{font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-muted);}.ws-meta{font-size: var(--ws-text-meta);line-height: var(--space-md);color: var(--color-text-muted);}.ws-eyebrow{font-size: var(--ws-text-dense);line-height: var(--space-md);font-weight: 600;text-transform: uppercase;letter-spacing: var(--letter-spacing-overline);color: var(--color-text-muted);}.ws-link{color: var(--color-text-interactive);text-decoration: none;font-weight: 500;}.ws-act{font-weight: 500;color: var(--color-text-heading);text-decoration: none;background: none;border: 0;padding: 0;cursor: pointer;}@media (hover: hover){.ws-link:hover, .ws-act:hover{text-decoration: underline;}}.ws-display{font-size: var(--ws-text-display);line-height: var(--space-5xl);font-weight: 400;letter-spacing: var(--ws-tracking-display);color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-figure{font-size: var(--font-size-3xl);line-height: var(--font-size-3xl);font-weight: 400;letter-spacing: var(--ws-tracking-display);color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-figure--row{font-size: var(--ws-text-figure-row);line-height: var(--ws-leading-figure-row);}.ws-figure--tile{font-size: var(--ws-text-figure);line-height: var(--ws-leading-figure);}.ws-figure--pane{font-size: var(--ws-text-figure-lg);line-height: var(--ws-leading-figure-lg);letter-spacing: normal;}.ws-figure--score{font-size: var(--ws-text-score);line-height: var(--ws-leading-score);font-variant-numeric: proportional-nums;}.ws-row-name{font-size: var(--ws-text-section);line-height: var(--ws-leading-row);font-weight: 500;color: var(--color-text-heading);}.ws-control-words{font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;}.ws-positive{color: var(--ws-word-positive);}.ws-needs{color: var(--ws-word-needs);}.ws-dot{width: calc(var(--space-xxs) * 1.5);height: calc(var(--space-xxs) * 1.5);border-radius: var(--radius-full);background: currentColor;}.ws-field{display: flex;flex-direction: column;gap: var(--space-xxs);}.ws-label{font-size: var(--ws-text-dense);line-height: var(--space-md);font-weight: 500;color: var(--color-text-body);}.ws-input::placeholder{color: var(--color-text-placeholder);}.ws-field-msg{font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-muted);}.ws-field-msg--error{display: flex;align-items: flex-start;gap: var(--space-xxs);color: var(--ws-word-needs);}.ws-field-msg--error svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);flex-shrink: 0;margin-top: calc(var(--space-xxs) / 2);}.ws-change{display: inline-flex;align-items: center;gap: var(--space-xxs);height: var(--space-lg);padding: 0 var(--space-xs);border-radius: var(--ws-radius-control);background: var(--color-bg-page);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;white-space: nowrap;color: var(--color-text-muted);box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-chip);}.ws-change--up{color: var(--ws-word-positive);}.ws-change--down{color: var(--color-text-interactive);}.ws-change svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-row{display: flex;align-items: center;gap: var(--space-xs);min-height: var(--ws-row-h-dense);padding: 0 var(--space-sm);border-radius: var(--ws-radius-row);color: var(--color-text-heading);transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){.ws-row:hover{background: var(--ws-surface-sunk);}}.ws-row:active{background: var(--ws-surface-press);}.ws-row__title{font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-heading);}.ws-rule{height: var(--ws-line);background: var(--ws-chart-cell-edge, var(--ws-edge-slot));}.ws-avatar{display: inline-flex;align-items: center;justify-content: center;flex-shrink: 0;width: var(--ws-avatar);height: var(--ws-avatar);overflow: hidden;border-radius: var(--radius-full);background: var(--ws-surface-sunk);color: var(--color-text-heading);font-size: var(--ws-text-body);font-weight: 600;box-shadow: var(--ws-shadow-hairline);}.ws-avatar--plain{box-shadow: none;}.ws-avatar--dim{opacity: 0.6;}.ws-avatar--sm{width: var(--ws-control-h-sm);height: var(--ws-control-h-sm);font-size: var(--ws-text-dense);}.ws-avatar--deck{width: var(--space-3xl);height: var(--space-3xl);font-size: var(--ws-text-body);}.ws-avatar--panel{width: calc(var(--space-3xl) + var(--space-xs));height: calc(var(--space-3xl) + var(--space-xs));font-size: var(--ws-text-value);}.ws-avatar--xl{width: var(--space-4xl);height: var(--space-4xl);font-size: var(--font-size-xl);}.ws-avatar-stack{display: flex;align-items: center;}.ws-avatar-stack > * + *{margin-left: calc(var(--space-xxs) * -1);}.ws-avatar-stack > .ws-avatar{box-shadow: 0 0 0 var(--ws-ring) var(--color-bg-page);}.ws-avatar-stack__more{color: var(--color-text-body);}@keyframes ws-pulse{0%, 100%{opacity: 1;}50%{opacity: 0.35;}}@keyframes ws-rise{from{opacity: 0;transform: translateY(var(--ws-rise));}to{opacity: 1;transform: none;}}@keyframes ws-grow{from{transform: scaleX(0);}to{transform: none;}}@keyframes ws-grow-up{from{transform: scaleY(0);}to{transform: none;}}@keyframes ws-wipe{from{clip-path: inset(0 100% 0 0);}to{clip-path: inset(0);}}@keyframes ws-bloom{from{opacity: 0;transform: scale(0.6);}to{opacity: 1;transform: none;}}@keyframes ws-pop{from{transform: scale(0.85);}to{transform: none;}}@keyframes ws-draw{from{stroke-dasharray: 0 1;}}@keyframes ws-settle{from{opacity: 0;transform: translateY(var(--ws-rise));filter: blur(var(--ws-blur-arrive));}to{opacity: 1;transform: none;filter: none;}}@keyframes ws-shimmer{from{background-position: 100% 0;}to{background-position: 0 0;}}@media (prefers-reduced-motion: no-preference){.ws-working{animation: ws-pulse var(--ws-loop) var(--ws-ease-loop) infinite;}.ws-working-slow{animation: ws-pulse var(--ws-loop-slow) var(--ws-ease-loop) infinite;}.ws-arrive{animation: ws-rise var(--ws-duration-gentle) var(--ws-ease-soft) backwards;}.ws-rise{animation: ws-rise var(--ws-duration-settle) var(--ws-ease-soft) backwards;}.ws-grow{animation: ws-grow var(--ws-duration-calm) var(--ws-ease-soft) backwards;transform-origin: left;}.ws-grow-up{animation: ws-grow-up var(--ws-duration-calm) var(--ws-ease-soft) backwards;transform-origin: bottom;}.ws-wipe{animation: ws-wipe var(--ws-duration-calm) var(--ws-ease-soft) backwards;}.ws-bloom{animation: ws-bloom var(--ws-duration-settle) var(--ws-ease-soft) backwards;}.ws-pop{animation: ws-pop var(--ws-duration-settle) var(--ws-ease-soft) backwards;}.ws-settle{animation: ws-settle var(--ws-duration-settle) var(--ws-ease-soft) backwards;animation-delay: calc(var(--ws-i, 0) * var(--ws-stagger-detail));}.ws-shimmer{animation: ws-shimmer var(--ws-loop-shimmer) var(--ws-ease-shimmer) infinite;}}.ws-shimmer{border-radius: var(--ws-radius-bar);background: var(--ws-shimmer);background-size: 300% 100%;color: transparent;}.ws-hover-tint{transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){.ws-hover-tint:hover{background-color: var(--ws-hover);}.ws-hover-tint--faint:hover{background-color: var(--ws-hover-faint);}.ws-hover-tint--strong:hover{background-color: var(--ws-hover-strong);}}:where(.ws-icon-btn--round, .ws-composer__trail > .ws-icon-btn--primary, .ws-press--round){--ws-press: var(--ws-press-scale-round);}.ws-press--send{--ws-press: var(--ws-press-scale-send);}@media (prefers-reduced-motion: no-preference){:is(.ws-btn, .ws-icon-btn, .ws-suggestion-chip, :is(button, a).ws-chip, .ws-press):not(.ws-btn--link, .ws-btn--text, :disabled, [aria-disabled="true"], [aria-busy="true"]){transition: background-color var(--ws-duration-hover) var(--ws-ease-soft), color var(--ws-duration-hover) var(--ws-ease-soft), border-color var(--ws-duration-hover) var(--ws-ease-soft), box-shadow var(--ws-duration-hover) var(--ws-ease-soft), opacity var(--ws-duration-hover) var(--ws-ease-soft), scale var(--ws-spring-press-duration) var(--ws-spring-press);}:is(.ws-btn, .ws-icon-btn, .ws-suggestion-chip, :is(button, a).ws-chip, .ws-press):not(.ws-btn--link, .ws-btn--text, :disabled, [aria-disabled="true"], [aria-busy="true"]):active{scale: var(--ws-press, var(--ws-press-scale));transition-duration: var(--ws-duration-instant), var(--ws-duration-instant), var(--ws-duration-instant), var(--ws-duration-instant), var(--ws-duration-instant), var(--ws-spring-press-duration);}:is(.ws-btn, .ws-icon-btn):not(.ws-btn--link, .ws-btn--text):active{transform: none;}}@media (prefers-reduced-motion: no-preference){@supports (interpolate-size: allow-keywords){:where(details):where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *){interpolate-size: allow-keywords;}:where(details):where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *)::details-content{block-size: 0;opacity: 0;overflow: clip;overflow-clip-margin: calc(var(--ws-focus-width) + var(--ws-focus-offset));transition: block-size var(--ws-spring-fold-duration) var(--ws-spring-fold), opacity var(--ws-spring-fold-duration) var(--ws-spring-fold), content-visibility var(--ws-spring-fold-duration) allow-discrete;}:where(details[open]):where([class^="ws-"], [class*=" ws-"], [class^="ws-"] *, [class*=" ws-"] *)::details-content{block-size: auto;opacity: 1;}.ws-unfold{interpolate-size: allow-keywords;overflow: clip;overflow-clip-margin: calc(var(--ws-focus-width) + var(--ws-focus-offset));transition: height var(--ws-spring-fold-duration) var(--ws-spring-fold), padding-block var(--ws-spring-fold-duration) var(--ws-spring-fold), margin-block var(--ws-spring-fold-duration) var(--ws-spring-fold), opacity var(--ws-spring-fold-duration) var(--ws-spring-fold), display var(--ws-spring-fold-duration) allow-discrete;}.ws-unfold[hidden]{display: none;height: 0;padding-block: 0;margin-block: 0;opacity: 0;}@starting-style{.ws-unfold:not([hidden]){height: 0;padding-block: 0;margin-block: 0;opacity: 0;}}}}.ws-build__card{--ws-build-at: calc(var(--ws-i, 0) * var(--ws-stagger-part));}@media (prefers-reduced-motion: no-preference){.ws-build .ws-build__card{animation: ws-rise var(--ws-duration-settle) var(--ws-ease-settle) backwards;animation-delay: var(--ws-build-at);}@supports (timeline-trigger: --a view() cover 10% cover 100%) and (animation-trigger: --a play-once) and (trigger-scope: --a){.ws-build .ws-build__card{trigger-scope: --ws-build;timeline-trigger: --ws-build view() cover 10% cover 100%;}.ws-build .ws-build__card, .ws-build .ws-build__card *{animation-trigger: --ws-build play-once;}}}@property --ws-fade-start{syntax: "<length>";inherits: false;initial-value: 0px;}@property --ws-fade-end{syntax: "<length>";inherits: false;initial-value: 0px;}@keyframes ws-scroll-edges{0%{--ws-fade-start: 0px;--ws-fade-end: var(--space-xl);}8%{--ws-fade-start: var(--space-xl);}92%{--ws-fade-end: var(--space-xl);}100%{--ws-fade-start: var(--space-xl);--ws-fade-end: 0px;}}@supports (animation-timeline: scroll()){.ws-scroll-edges{mask-image: linear-gradient(90deg, transparent, currentColor var(--ws-fade-start), currentColor calc(100% - var(--ws-fade-end)), transparent);animation: ws-scroll-edges linear;animation-timeline: scroll(self inline);}}@media (pointer: coarse){.ws-btn:not(.ws-btn--link, .ws-btn--text), .ws-input, .ws-select, .ws-segmented__item, .ws-tabs__tab, .ws-date-input__cell, .ws-fold__summary:not(.ws-fold__summary--quiet), .ws-app-shell__row, .ws-menu-item, .ws-toast__action, .ws-pagination__rows select, .ws-combobox__panel .ws-combobox__option{min-height: var(--ws-touch);}.ws-input, .ws-select{height: var(--ws-touch);}.ws-icon-btn{min-width: var(--ws-touch);min-height: var(--ws-touch);}.ws-icon-btn--xs, .ws-icon-btn--sm{position: relative;min-width: 0;min-height: 0;}.ws-icon-btn--xs::after, .ws-icon-btn--sm::after{content: "";position: absolute;inset: calc((100% - var(--ws-touch)) / 2);}.ws-btn--link, .ws-btn--text, .ws-act, .ws-table__sort, .ws-chat-card__door, .ws-fold__summary--quiet{min-height: var(--space-lg);}.ws-breadcrumb a, .ws-breadcrumb__ellipsis, .ws-link{padding-block: var(--space-xxs);}}.ws-btn{--ws-btn-pad: var(--space-sm);--ws-btn-gap: var(--space-xxs-plus);position: relative;display: inline-flex;flex-shrink: 0;align-items: center;justify-content: center;gap: var(--ws-btn-gap);max-width: 100%;height: auto;min-height: var(--ws-control-h);padding: var(--space-xxs) var(--ws-btn-pad);border: 0;border-radius: var(--ws-radius-row);background-color: transparent;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;text-align: center;text-decoration: none;white-space: nowrap;cursor: pointer;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft), color var(--ws-duration-hover) var(--ws-ease-soft), box-shadow var(--ws-duration-hover) var(--ws-ease-soft), transform var(--ws-duration-hover) var(--ws-ease-soft);}.ws-btn--sm{--ws-btn-pad: var(--space-xs);--ws-btn-gap: var(--space-xxs);min-height: var(--ws-control-h-sm);}.ws-btn--lg{--ws-btn-pad: var(--space-sm-plus);min-height: var(--space-2xl);}.ws-btn--wrap{white-space: normal;text-wrap: balance;}.ws-btn--wrap:is(.ws-btn--link, .ws-btn--text, .ws-btn--ghost){justify-content: flex-start;text-align: start;}.ws-btn--primary, .ws-btn[aria-pressed="true"], .ws-btn--primary[aria-busy="true"]:hover{isolation: isolate;background-color: var(--color-text-heading);color: var(--ws-on-act);}.ws-btn--primary::before, .ws-btn[aria-pressed="true"]::before{content: "";position: absolute;inset: 0;z-index: -1;border-radius: inherit;pointer-events: none;background: radial-gradient(var(--space-6xl) circle at var(--mx, 50%) var(--my, 50%), var(--ws-act-light), transparent 70%);opacity: 0;transition: opacity var(--ws-duration-hover) var(--ws-ease-soft);}.ws-btn--secondary, .ws-btn--secondary[aria-busy="true"]:hover{background-color: transparent;color: var(--color-text-heading);box-shadow: var(--ws-shadow-hairline-in);}.ws-btn--well, .ws-btn--well[aria-busy="true"]:hover{background-color: var(--ws-tray);color: var(--color-text-heading);box-shadow: none;}.ws-btn--ghost, .ws-btn--ghost[aria-busy="true"]:hover{background-color: transparent;color: var(--color-text-heading);}.ws-btn[aria-busy="true"]:hover{opacity: 1;}.ws-btn--link, .ws-btn--text{--ws-btn-pad: var(--space-xxs);min-height: 0;margin: 0 calc(var(--space-xxs) * -1);padding: 0 var(--ws-btn-pad);background-color: transparent;border-radius: var(--ws-radius-control);font-size: inherit;line-height: inherit;text-underline-offset: var(--ws-ring);}.ws-btn--link{color: var(--color-text-interactive);}.ws-btn--text{color: var(--color-text-heading);}:where(.ws-btn--link, .ws-btn--text) + :is(.ws-btn--link, .ws-btn--text){margin-inline-start: var(--space-xxs);}@media (hover: hover){.ws-btn--primary:not(:where([aria-busy="true"])):hover, .ws-btn[aria-pressed="true"]:not(:where([aria-busy="true"])):hover{background-color: var(--ws-act-hover);opacity: 1;}.ws-btn--primary:not(:where([aria-busy="true"])):hover::before, .ws-btn[aria-pressed="true"]:not(:where([aria-busy="true"])):hover::before{opacity: 1;}.ws-btn--secondary:not([aria-pressed="true"], :where([aria-busy="true"])):hover{background-color: transparent;box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-hover);}.ws-btn--well:not([aria-pressed="true"], :where([aria-busy="true"])):hover{background-color: var(--ws-well-hover);}.ws-btn--ghost:not([aria-pressed="true"], :where([aria-busy="true"])):hover{background-color: var(--ws-hover-strong);color: var(--color-text-heading);}.ws-btn--link:not(:where([aria-busy="true"])):hover, .ws-btn--text:not(:where([aria-busy="true"])):hover{background-color: transparent;text-decoration: underline;}}@media (pointer: coarse){.ws-btn--link, .ws-btn--text{min-height: var(--space-lg);}}@media (prefers-reduced-motion: no-preference){.ws-btn:active, .ws-btn.is-pressed{transform: scale(var(--ws-press-scale));transition-duration: var(--ws-duration-instant);}.ws-btn--link:active, .ws-btn--text:active, .ws-btn--link.is-pressed, .ws-btn--text.is-pressed{transform: none;}}.ws-btn--primary.is-hover, .ws-btn[aria-pressed="true"].is-hover{background-color: var(--ws-act-hover);}.ws-btn--primary.is-hover::before, .ws-btn[aria-pressed="true"].is-hover::before{opacity: 1;}.ws-btn--secondary.is-hover{box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-hover);}.ws-btn--well.is-hover{background-color: var(--ws-well-hover);}.ws-btn--ghost.is-hover{background-color: var(--ws-hover-strong);}.ws-btn--link.is-hover, .ws-btn--text.is-hover{text-decoration: underline;}.ws-btn.is-focus{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}.ws-btn > .ws-dot{--ws-dot-side: calc((var(--ws-btn-pad) - var(--space-xxs) * 1.5) / 2);flex-shrink: 0;margin-inline: calc((var(--space-xxs) * 1.5 + var(--ws-dot-side)) * -1) calc(var(--ws-dot-side) - var(--ws-btn-gap));}.ws-btn--sm:has(> .ws-dot){padding-inline: calc(var(--ws-btn-pad) + var(--space-xxs)) calc(var(--ws-btn-pad) - var(--space-xxs));}.ws-btn--sm > .ws-dot{--ws-dot-side: calc((var(--ws-btn-pad) + var(--space-xxs) - var(--space-xxs) * 1.5) / 2);}.ws-btn[aria-busy="true"]{cursor: progress;}.ws-btn:disabled, .ws-btn[aria-disabled="true"]:not([aria-busy="true"]){opacity: 0.4;pointer-events: none;}.ws-btn-split{display: flex;flex-wrap: wrap;gap: var(--space-xs);width: 100%;}.ws-btn-split > .ws-btn{flex: 1 1 var(--space-8xl);min-width: fit-content;}.ws-link-pending{position: absolute;inset: 0;border-radius: inherit;pointer-events: none;opacity: 0;}.ws-link-pending::after{content: "";position: absolute;inset: 0;border-radius: inherit;box-shadow: inset 0 0 0 var(--ws-line) var(--color-text-heading);}[aria-busy="true"] > .ws-link-pending{opacity: 1;transition: opacity var(--ws-duration-gentle) var(--ws-ease-soft) var(--ws-duration-instant);}@media (prefers-reduced-motion: no-preference){[aria-busy="true"] > .ws-link-pending::after{animation: ws-pulse var(--ws-loop) var(--ws-ease-loop) infinite;}}.ws-icon-btn{position: relative;display: inline-flex;flex-shrink: 0;align-items: center;justify-content: center;width: var(--ws-control-h);height: var(--ws-control-h);padding: 0;border: 0;border-radius: var(--ws-radius-row);background-color: transparent;color: var(--color-text-heading);cursor: pointer;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft), color var(--ws-duration-hover) var(--ws-ease-soft), box-shadow var(--ws-duration-hover) var(--ws-ease-soft), transform var(--ws-duration-hover) var(--ws-ease-soft);}.ws-icon-btn svg{width: var(--ws-icon);height: var(--ws-icon);}.ws-icon-btn--xs{width: var(--space-lg);height: var(--space-lg);border-radius: var(--ws-radius-control);}.ws-icon-btn--sm{width: var(--ws-control-h-sm);height: var(--ws-control-h-sm);}.ws-icon-btn--lg{width: var(--ws-control-h-md);height: var(--ws-control-h-md);}.ws-icon-btn--lg svg{width: var(--ws-icon-lg);height: var(--ws-icon-lg);}.ws-icon-btn--round{border-radius: var(--radius-full);}.ws-icon-btn[aria-busy="true"]:hover{background-color: transparent;opacity: 1;}.ws-icon-btn--outline, .ws-icon-btn--outline[aria-busy="true"]:hover{background-color: transparent;box-shadow: var(--ws-shadow-hairline-in);}.ws-icon-btn--solid, .ws-icon-btn--solid[aria-busy="true"]:hover{background-color: var(--ws-tray);}.ws-icon-btn--primary, .ws-icon-btn[aria-pressed="true"], .ws-icon-btn--primary[aria-busy="true"]:hover{isolation: isolate;background-color: var(--color-text-heading);color: var(--ws-on-act);box-shadow: none;}.ws-icon-btn--primary::before, .ws-icon-btn[aria-pressed="true"]::before{content: "";position: absolute;inset: 0;z-index: -1;border-radius: inherit;pointer-events: none;background: radial-gradient(var(--space-6xl) circle at var(--mx, 50%) var(--my, 50%), var(--ws-act-light), transparent 70%);opacity: 0;transition: opacity var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){.ws-icon-btn:not(:where([aria-busy="true"])):hover{background-color: var(--ws-hover-strong);color: var(--color-text-heading);}.ws-icon-btn--outline:not(:where([aria-busy="true"])):hover{background-color: transparent;box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-hover);}.ws-icon-btn--solid:not(:where([aria-busy="true"])):hover{background-color: var(--ws-well-hover);}.ws-icon-btn--primary:not(:where([aria-busy="true"])):hover, .ws-icon-btn[aria-pressed="true"]:not(:where([aria-busy="true"])):hover{background-color: var(--ws-act-hover);color: var(--ws-on-act);opacity: 1;}.ws-icon-btn--primary:not(:where([aria-busy="true"])):hover::before, .ws-icon-btn[aria-pressed="true"]:not(:where([aria-busy="true"])):hover::before{opacity: 1;}}@media (prefers-reduced-motion: no-preference){.ws-icon-btn:active, .ws-icon-btn.is-pressed{transform: scale(var(--ws-press-scale));transition-duration: var(--ws-duration-instant);}.ws-icon-btn--round:active, .ws-icon-btn--round.is-pressed{transform: scale(var(--ws-press-scale-round));}}.ws-icon-btn.is-hover{background-color: var(--ws-hover-strong);}.ws-icon-btn--outline.is-hover{background-color: transparent;box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-hover);}.ws-icon-btn--solid.is-hover{background-color: var(--ws-well-hover);}.ws-icon-btn--primary.is-hover, .ws-icon-btn[aria-pressed="true"].is-hover{background-color: var(--ws-act-hover);}.ws-icon-btn--primary.is-hover::before, .ws-icon-btn[aria-pressed="true"].is-hover::before{opacity: 1;}.ws-icon-btn.is-focus{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}.ws-icon-btn:disabled{opacity: 0.4;pointer-events: none;}.ws-icon-btn--primary:disabled{opacity: 1;background-color: var(--ws-surface-sunk);color: var(--color-text-muted);}.ws-icon-btn[aria-busy="true"]{cursor: progress;}.ws-chip{display: inline-flex;flex-shrink: 0;align-items: center;gap: var(--space-xxs);max-width: 100%;min-width: 0;height: var(--space-lg);padding: 0 var(--space-xs);border-radius: var(--ws-radius-control);background: var(--color-bg-page);color: var(--color-text-body);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;white-space: nowrap;box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-chip);}.ws-chip svg{flex-shrink: 0;width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-chip__label{min-width: 0;overflow: hidden;text-overflow: ellipsis;}.ws-chip--sunk{background: var(--ws-surface-sunk);box-shadow: none;}.ws-chip--accent{background: var(--ws-surface-sunk);color: var(--color-text-interactive);box-shadow: none;}.ws-chip--live{background: var(--ws-tint-live);color: var(--ws-word-positive);box-shadow: none;}.ws-chip--navy{background: var(--ws-surface-sunk);color: var(--color-text-heading);font-weight: 600;box-shadow: none;}.ws-chip--needs{background: var(--ws-tint-needs);color: var(--ws-word-needs);box-shadow: none;}.ws-chip--middle{background: var(--ws-card-tint-blue);color: var(--ws-rating-middle);box-shadow: none;}.ws-chip--needs-work{background: var(--ws-tint-needs-work);color: var(--ws-word-needs-work);box-shadow: none;}.ws-chip--example{border-radius: var(--ws-radius-bubble);background: transparent;color: var(--color-text-muted);font-size: var(--ws-text-micro);line-height: var(--ws-leading-micro);font-weight: 600;box-shadow: none;outline: var(--ws-line) dashed var(--color-text-muted);outline-offset: calc(var(--ws-line) * -1);}.ws-badge{display: inline-flex;align-items: center;justify-content: center;min-width: calc(var(--space-md) + var(--space-3xs));height: calc(var(--space-md) + var(--space-3xs));padding: 0 var(--space-xxs-plus);border-radius: var(--radius-full);font-size: var(--ws-text-micro);line-height: var(--ws-leading-micro);font-weight: 600;font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-badge--navy{background: var(--color-text-heading);color: var(--ws-on-act);}.ws-badge--needs{background: var(--ws-tint-needs);color: var(--ws-word-needs);}.ws-badge--neutral{background: var(--ws-surface-sunk);color: var(--color-text-heading);}.ws-badge--dot{width: var(--space-xxs-plus);min-width: var(--space-xxs-plus);height: var(--space-xxs-plus);padding: 0;background: var(--ws-chart-under-half);}.ws-badge.ws-pop{animation-timing-function: var(--ws-ease-pop);}.ws-badge-host{position: relative;display: inline-flex;}.ws-badge-host > .ws-badge{position: absolute;top: calc(var(--space-xxs) * -1);right: calc(var(--space-xxs) * -1);min-width: var(--space-md);height: var(--space-md);padding: 0 var(--space-xxs);box-shadow: 0 0 0 var(--ws-ring) var(--color-bg-page);}.ws-badge-host > .ws-badge--dot{min-width: var(--space-xxs-plus);height: var(--space-xxs-plus);padding: 0;}.ws-kit-badge{display: inline-flex;align-items: center;gap: var(--space-xxs);height: var(--space-lg);padding: 0 var(--space-xs-plus);border-radius: var(--radius-full);font-size: var(--font-size-2xs);line-height: var(--space-md);font-weight: 500;white-space: nowrap;}.ws-kit-badge--navy{background: color-mix(in srgb, var(--color-text-heading) 10%, transparent);color: var(--color-text-heading);}.ws-kit-badge--neutral{background: var(--ws-track);color: var(--color-text-heading);}.ws-kit-badge--brand{background: color-mix(in srgb, var(--ws-chart-under-half) 12%, transparent);color: var(--color-text-brand-strong);}.ws-kit-badge--success{background: var(--color-feedback-success-bg);color: var(--color-text-success-strong);}.ws-kit-badge--error{background: color-mix(in srgb, var(--color-feedback-error) 14%, transparent);color: var(--color-text-error-strong);}.ws-kit-badge--outline{background: transparent;color: var(--color-text-body);box-shadow: inset 0 0 0 var(--ws-line) var(--color-border-hairline);}.ws-input{width: 100%;min-width: 0;height: var(--ws-control-h);padding: 0 var(--space-sm);border: 0;border-radius: var(--ws-radius-control);background: var(--ws-field);box-shadow: var(--ws-shadow-hairline-in);color: var(--ws-field-ink);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));transition: box-shadow var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){.ws-input:not(:disabled, [aria-invalid="true"]):hover{box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-hover);}}.ws-input::placeholder{color: var(--color-text-placeholder);}.ws-input:focus-visible{background: var(--ws-field);}.ws-input[aria-invalid="true"]{box-shadow: inset 0 0 0 var(--ws-line) var(--ws-word-needs);}.ws-input:disabled{background: var(--ws-surface-sunk);color: var(--color-text-muted);cursor: not-allowed;}.ws-input--typing{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}.ws-search-wrap{position: relative;display: flex;min-width: 0;}.ws-search-wrap svg{position: absolute;left: var(--space-xs);top: 50%;width: var(--ws-icon);height: var(--ws-icon);transform: translateY(-50%);color: var(--color-text-muted);pointer-events: none;}.ws-search{height: var(--ws-control-h-md);padding: 0 var(--space-sm) 0 var(--space-xl);}@media (pointer: coarse){.ws-input, .ws-search{height: var(--ws-touch);font-size: var(--ws-text-value);}}.ws-select-wrap{position: relative;display: flex;min-width: 0;}.ws-select{width: 100%;min-width: 0;height: var(--ws-control-h);padding: 0 var(--space-xl) 0 var(--space-sm);border: 0;border-radius: var(--ws-radius-control);background: var(--ws-field);box-shadow: var(--ws-shadow-hairline-in);color: var(--ws-field-ink);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));text-overflow: ellipsis;white-space: nowrap;overflow: hidden;appearance: none;cursor: pointer;transition: box-shadow var(--ws-duration-hover) var(--ws-ease-soft);}.ws-select-wrap > svg{position: absolute;top: 50%;right: var(--space-xs);width: var(--ws-icon);height: var(--ws-icon);transform: translateY(-50%);color: var(--ws-field-mark, var(--color-text-heading));pointer-events: none;}@media (hover: hover){.ws-select:not(:disabled, [aria-invalid="true"]):hover{box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-hover);}}.ws-select:focus-visible{background: var(--ws-field);}.ws-select[aria-invalid="true"]{box-shadow: inset 0 0 0 var(--ws-line) var(--ws-word-needs);}.ws-select:disabled{background: var(--ws-surface-sunk);color: var(--color-text-muted);cursor: not-allowed;}.ws-select-wrap:has(> .ws-select:disabled) > svg{color: var(--color-text-muted);}.ws-select--sm{height: var(--ws-control-h-sm);padding: 0 var(--space-lg) 0 var(--space-sm);background: var(--color-bg-page);color: var(--color-text-heading);font-size: var(--ws-text-dense);line-height: var(--space-md);font-weight: 500;}.ws-select-wrap:has(> .ws-select--sm){display: inline-flex;align-self: flex-start;}.ws-select-wrap:has(> .ws-select--sm) > svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);color: var(--color-text-heading);}.ws-select-wrap__dot{position: absolute;top: 50%;left: var(--space-sm);width: var(--space-xxs-plus);height: var(--space-xxs-plus);border-radius: var(--radius-full);background: var(--ws-dot, var(--color-text-heading));transform: translateY(-50%);pointer-events: none;}.ws-select-wrap:has(> .ws-select-wrap__dot) > .ws-select{padding-left: calc(var(--space-sm) + var(--space-xxs-plus) * 2);}@media (pointer: coarse){.ws-select{height: var(--ws-touch);font-size: var(--ws-text-value);}}.ws-textarea{display: block;width: 100%;min-width: 0;min-height: calc(var(--space-4xl) + var(--space-xs));padding: var(--space-xs) var(--space-sm);border: 0;border-radius: var(--ws-radius-control);background: var(--ws-field);box-shadow: var(--ws-shadow-hairline-in);color: var(--ws-field-ink);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));resize: vertical;transition: box-shadow var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){.ws-textarea:not(:disabled, [aria-invalid="true"]):hover{box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-hover);}}.ws-textarea::placeholder{color: var(--color-text-placeholder);}.ws-textarea:focus-visible{background: var(--ws-field);}.ws-textarea[aria-invalid="true"]{box-shadow: inset 0 0 0 var(--ws-line) var(--ws-word-needs);}.ws-textarea:disabled{background: var(--ws-surface-sunk);color: var(--color-text-muted);cursor: not-allowed;resize: none;}.ws-textarea--typing{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}@media (pointer: coarse){.ws-textarea{font-size: var(--ws-text-value);line-height: var(--space-lg);}}.ws-check{--ws-check: calc(var(--space-md) + var(--space-3xs));--ws-check-line: calc(var(--space-md) + var(--space-xxs));--ws-check-edge: var(--color-text-heading);position: relative;display: flex;align-items: flex-start;gap: var(--space-xs-plus);width: fit-content;max-width: 100%;padding: 0;cursor: pointer;}.ws-check::after{content: "";position: absolute;inset-block: min(0px, calc((100% - var(--space-lg)) / 2));inset-inline: 0;}.ws-check input{position: absolute;width: var(--ws-line);height: var(--ws-line);margin: 0;opacity: 0;}.ws-check__box{position: relative;flex-shrink: 0;width: var(--ws-check);height: var(--ws-check);margin-top: calc((var(--ws-check-line) - var(--ws-check)) / 2);border: 0;border-radius: var(--ws-radius-control);background: var(--color-bg-page);box-shadow: inset 0 0 0 calc(var(--ws-line) * 1.5) var(--ws-check-edge);transition: background-color var(--ws-duration-hover) var(--ws-ease-soft), box-shadow var(--ws-duration-hover) var(--ws-ease-soft);}.ws-check__box svg{position: absolute;inset: 0;width: var(--ws-icon-sm);height: var(--ws-icon-sm);margin: auto;color: var(--ws-on-act);opacity: 0;transform: scale(var(--ws-pop-scale));}.ws-check input:checked + .ws-check__box, .ws-check input:indeterminate + .ws-check__box{background: var(--color-text-heading);box-shadow: none;}.ws-check input:checked + .ws-check__box svg{opacity: 1;transform: none;}.ws-check input:indeterminate + .ws-check__box svg{opacity: 0;}.ws-check input:indeterminate + .ws-check__box::after{content: "";position: absolute;inset: 0;width: var(--space-xs);height: calc(var(--ws-line) * 1.75);margin: auto;border-radius: var(--ws-radius-bar);background: var(--ws-on-act);}.ws-check input:focus-visible + .ws-check__box{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}.ws-check input[aria-invalid="true"]:not(:checked) + .ws-check__box{--ws-check-edge: var(--ws-word-needs);}@media (hover: hover){.ws-check:hover input:not(:checked, :indeterminate, :disabled) + .ws-check__box{background-image: linear-gradient(var(--ws-hover-strong), var(--ws-hover-strong));}}.ws-check.is-hover input:not(:checked, :indeterminate, :disabled) + .ws-check__box{background-image: linear-gradient(var(--ws-hover-strong), var(--ws-hover-strong));}.ws-check.is-focus .ws-check__box{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}@media (prefers-reduced-motion: no-preference){.ws-check__box svg{transition: opacity var(--ws-duration-instant) var(--ws-ease-soft), transform var(--ws-duration-settle) var(--ws-ease-pop);}}.ws-check__words{display: flex;min-width: 0;flex-direction: column;gap: var(--space-3xs);}.ws-check__label{font-size: var(--ws-text-body);line-height: var(--ws-check-line);color: var(--color-text-heading);font-weight: 500;}.ws-check--quiet{--ws-check-edge: var(--color-text-muted);}.ws-check--sm{--ws-check: var(--ws-icon);--ws-check-line: var(--space-md);gap: var(--space-xs);}.ws-check--sm .ws-check__label{font-size: var(--ws-text-dense);}.ws-check--step .ws-check__label{font-weight: 400;}.ws-check--step:has(input:checked) .ws-check__label{color: var(--color-text-muted);}.ws-check--control{--ws-check-line: var(--ws-leading-control);}.ws-check--control .ws-check__label{font-size: var(--ws-text-control);}.ws-check--disabled, .ws-check:has(input:disabled){opacity: 0.5;cursor: not-allowed;}@media (pointer: coarse){.ws-check{padding-block: calc((var(--ws-touch) - var(--ws-check-line)) / 2);}.ws-check--control{align-items: center;min-height: var(--ws-touch);padding-block: 0;}}.ws-radio-group{display: flex;flex-direction: column;gap: var(--space-xxs);margin: 0;padding: 0;border: 0;min-width: 0;}.ws-radio-group__legend{padding: 0 0 var(--space-xxs);font-size: var(--ws-text-dense);line-height: var(--space-md);font-weight: 500;color: var(--color-text-body);}.ws-radio{--ws-radio: calc(var(--space-md) + var(--space-3xs));--ws-radio-line: calc(var(--space-md) + var(--space-xxs));--ws-radio-edge: var(--color-text-heading);position: relative;display: flex;align-items: flex-start;gap: var(--space-xs-plus);width: fit-content;max-width: 100%;padding: var(--space-xxs) 0;cursor: pointer;}.ws-radio input{position: absolute;width: var(--ws-line);height: var(--ws-line);margin: 0;opacity: 0;}.ws-radio__dot{position: relative;flex-shrink: 0;width: var(--ws-radio);height: var(--ws-radio);margin-top: calc((var(--ws-radio-line) - var(--ws-radio)) / 2);border: 0;border-radius: var(--radius-full);background: var(--color-bg-page);box-shadow: inset 0 0 0 calc(var(--ws-line) * 1.5) var(--ws-radio-edge);}.ws-radio__dot::after{content: "";position: absolute;inset: 0;width: var(--space-xs);height: var(--space-xs);margin: auto;border-radius: var(--radius-full);background: var(--color-text-heading);opacity: 0;transform: scale(var(--ws-pop-scale));}.ws-radio input:checked + .ws-radio__dot::after{opacity: 1;transform: none;}.ws-radio input:focus-visible + .ws-radio__dot{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}.ws-radio input[aria-invalid="true"]:not(:checked) + .ws-radio__dot{--ws-radio-edge: var(--ws-word-needs);}@media (hover: hover){.ws-radio:hover input:not(:checked, :disabled) + .ws-radio__dot{background-image: linear-gradient(var(--ws-hover-strong), var(--ws-hover-strong));}}@media (prefers-reduced-motion: no-preference){.ws-radio__dot::after{transition: opacity var(--ws-duration-instant) var(--ws-ease-soft), transform var(--ws-duration-settle) var(--ws-ease-pop);}}.ws-radio__words{display: flex;min-width: 0;flex-direction: column;gap: var(--space-3xs);}.ws-radio__label{font-size: var(--ws-text-body);line-height: var(--ws-radio-line);color: var(--color-text-heading);font-weight: 500;}.ws-radio--disabled, .ws-radio:has(input:disabled){opacity: 0.5;cursor: not-allowed;}@media (pointer: coarse){.ws-radio{padding-block: calc((var(--ws-touch) - var(--ws-radio-line)) / 2);}}.ws-switch{--ws-switch-w: var(--ws-control-h-md);--ws-switch-h: var(--ws-icon-lg);--ws-switch-thumb: var(--ws-icon);--ws-switch-line: calc(var(--space-md) + var(--space-xxs));position: relative;display: inline-flex;align-items: flex-start;gap: var(--space-xs-plus);width: fit-content;max-width: 100%;padding: var(--space-xxs) 0;cursor: pointer;}.ws-switch input{position: absolute;width: var(--ws-line);height: var(--ws-line);margin: 0;opacity: 0;}.ws-switch__track{position: relative;flex-shrink: 0;width: var(--ws-switch-w);height: var(--ws-switch-h);margin-top: calc((var(--ws-switch-line) - var(--ws-switch-h)) / 2);border: 0;border-radius: var(--radius-full);background: var(--ws-control-off);}.ws-switch__thumb{position: absolute;top: calc((var(--ws-switch-h) - var(--ws-switch-thumb)) / 2);left: calc((var(--ws-switch-h) - var(--ws-switch-thumb)) / 2);width: var(--ws-switch-thumb);height: var(--ws-switch-thumb);border-radius: var(--radius-full);background: var(--color-surface);box-shadow: 0 var(--ws-line) var(--ws-ring) color-mix(in srgb, var(--ws-shade) 18%, transparent);}.ws-switch input:checked + .ws-switch__track{background: var(--color-text-heading);}.ws-switch input:checked + .ws-switch__track .ws-switch__thumb{transform: translateX(calc(var(--ws-switch-w) - var(--ws-switch-h)));background: var(--ws-on-act);}.ws-switch input:focus-visible + .ws-switch__track{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}@media (hover: hover){.ws-switch:not(.ws-switch--disabled):hover input:not(:checked, :disabled) + .ws-switch__track{background-color: color-mix(in srgb, var(--ws-control-off) 85%, var(--color-text-heading));}.ws-switch:not(.ws-switch--disabled):hover input:checked:not(:disabled) + .ws-switch__track{background-color: var(--ws-act-hover);}}@media (prefers-reduced-motion: no-preference){.ws-switch__track{transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-switch__thumb{transition: transform var(--ws-duration-settle) var(--ws-ease-grow), background-color var(--ws-duration-hover) var(--ws-ease-soft);}}.ws-switch--sm{--ws-switch-w: var(--ws-control-h-sm);--ws-switch-h: var(--space-md);--ws-switch-thumb: var(--ws-icon-sm);}.ws-switch__words{display: flex;min-width: 0;flex-direction: column;gap: var(--space-3xs);}.ws-switch__label{font-size: var(--ws-text-body);line-height: var(--ws-switch-line);color: var(--color-text-heading);font-weight: 500;}.ws-switch--disabled, .ws-switch:has(input:disabled){opacity: 0.5;cursor: not-allowed;}.ws-switch__status{display: inline-flex;align-items: center;gap: var(--space-xxs);font-size: var(--ws-text-dense);line-height: var(--space-md);}.ws-switch__saved{color: var(--ws-word-positive);}.ws-switch__saving{color: var(--color-text-interactive);}@media (pointer: coarse){.ws-switch{padding-block: calc((var(--ws-touch) - var(--ws-switch-line)) / 2);}}.ws-kbd{display: inline-flex;align-items: center;justify-content: center;min-width: calc(var(--space-md) + var(--space-3xs));height: calc(var(--space-md) + var(--space-3xs));padding: 0 var(--space-xxs);border: 0;border-radius: var(--ws-radius-control);background: var(--color-surface);box-shadow: var(--ws-shadow-hairline-in);color: var(--color-text-heading);font-family: var(--font-body);font-size: var(--ws-text-micro);line-height: var(--ws-leading-micro);font-weight: 500;font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-kbd-list{display: flex;flex-direction: column;gap: var(--space-xxs);margin: 0;}.ws-kbd-list__row{display: flex;align-items: center;justify-content: space-between;gap: var(--space-md);min-height: var(--space-lg);}.ws-kbd-list dt{min-width: 0;}.ws-kbd-list dd{flex-shrink: 0;margin: 0;}.ws-segmented{display: inline-flex;align-self: flex-start;max-width: 100%;overflow-x: auto;scrollbar-width: none;padding: var(--ws-halo);gap: var(--space-3xs);border-radius: var(--ws-radius-card);background: var(--ws-well);box-shadow: none;}.ws-segmented::-webkit-scrollbar{display: none;}@supports (animation-timeline: scroll()){.ws-segmented{mask-image: linear-gradient(90deg, transparent, currentColor var(--ws-fade-start), currentColor calc(100% - var(--ws-fade-end)), transparent);animation: ws-scroll-edges linear;animation-timeline: scroll(self inline);}}.ws-segmented > li{display: flex;}.ws-segmented__item{position: relative;display: inline-flex;flex-shrink: 0;align-items: center;justify-content: center;gap: var(--space-xxs-plus);height: var(--ws-control-h);padding: 0 var(--space-sm);border: 0;border-radius: var(--ws-radius-row);background-color: transparent;color: var(--color-text-heading);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;white-space: nowrap;cursor: pointer;}.ws-segmented__item svg{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);}.ws-segmented__count{margin-inline-start: var(--space-3xs);font-variant-numeric: tabular-nums;}.ws-segmented__item > input{position: absolute;width: var(--ws-line);height: var(--ws-line);margin: 0;opacity: 0;pointer-events: none;}.ws-segmented__item:has(> input:focus-visible){outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: calc(var(--ws-focus-width) * -1);}@media (hover: hover){.ws-segmented__item:not(:where(:disabled, :has(> input:disabled))):hover{background-color: var(--ws-hover);color: var(--color-text-heading);}}.ws-segmented__item[aria-selected="true"], .ws-segmented__item[aria-current]:not([aria-current="false"]), .ws-segmented__item[aria-checked="true"], .ws-segmented__item[aria-pressed="true"], .ws-segmented__item:has(> input:checked){background-color: var(--color-text-heading);color: var(--ws-on-act);}.ws-segmented__item:has(> input:disabled), .ws-segmented__item:disabled{opacity: 0.4;cursor: not-allowed;}.ws-segmented__item:is([aria-selected="true"], [aria-current]:not([aria-current="false"]), [aria-checked="true"], [aria-pressed="true"]):focus-visible, .ws-segmented__item:has(> input:checked:focus-visible){outline-color: var(--ws-on-act);outline-offset: calc(var(--ws-focus-width) * -2);}.ws-segmented--stretch{display: flex;align-self: stretch;}.ws-segmented--stretch > *{flex: 1 1 0;}.ws-segmented--clear{padding-inline: 0;background: transparent;}.ws-segmented--dense .ws-segmented__item{padding: 0 var(--space-xs);}.ws-segmented--quiet{--ws-segmented-quiet: var(--ws-raised);--ws-segmented-quiet-edge: transparent;}[data-theme="dark"] .ws-segmented--quiet{--ws-segmented-quiet: var(--ws-tray);--ws-segmented-quiet-edge: var(--ws-edge-card);}@media (prefers-color-scheme: dark){[data-theme="system"] .ws-segmented--quiet{--ws-segmented-quiet: var(--ws-tray);--ws-segmented-quiet-edge: var(--ws-edge-card);}}.ws-segmented--quiet .ws-segmented__item:is([aria-selected="true"], [aria-current]:not([aria-current="false"]), [aria-checked="true"], [aria-pressed="true"], :has(> input:checked)){background-color: var(--ws-segmented-quiet);box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-segmented-quiet-edge);color: var(--color-text-heading);}.ws-segmented--quiet .ws-segmented__item:is([aria-selected="true"], [aria-current]:not([aria-current="false"]), [aria-checked="true"], [aria-pressed="true"]):focus-visible, .ws-segmented--quiet .ws-segmented__item:has(> input:checked:focus-visible){outline-color: var(--ws-focus-color);outline-offset: calc(var(--ws-focus-width) * -1);}.ws-segmented--sm{padding: var(--space-3xs);border-radius: var(--ws-radius-row);background: var(--color-surface);box-shadow: var(--ws-shadow-hairline-in);}.ws-segmented--sm .ws-segmented__item{height: var(--space-lg);padding: 0 var(--space-xs-plus);border-radius: var(--ws-radius-control);font-size: var(--ws-text-dense);line-height: var(--space-md);}.ws-segmented__item--icon{width: var(--ws-control-h);padding: 0;}.ws-segmented--sm .ws-segmented__item--icon{width: var(--ws-control-h-sm);padding: 0;}.ws-segmented--figures{display: flex;flex-wrap: wrap;align-self: stretch;overflow: visible;mask-image: none;animation: none;}.ws-segmented--figures > *{flex: 1 1 var(--space-9xl);min-width: 0;}.ws-segmented--figures .ws-segmented__item{justify-content: space-between;gap: var(--space-sm);height: auto;min-height: var(--space-2xl);padding: var(--space-xs-plus) var(--space-sm-plus);background-color: var(--ws-raised);color: var(--color-text-body);white-space: normal;text-align: start;}.ws-segmented__figure{flex-shrink: 0;font-size: var(--ws-text-section);line-height: var(--ws-leading-row);font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;white-space: nowrap;}@media (hover: hover){.ws-segmented--figures .ws-segmented__item:hover{background-image: linear-gradient(var(--ws-hover), var(--ws-hover));}}.ws-segmented--figures .ws-segmented__item:is([aria-selected="true"], [aria-current]:not([aria-current="false"]), [aria-checked="true"], [aria-pressed="true"], :has(> input:checked)){background-color: var(--ws-agent-tally);background-image: none;color: var(--ws-on-act);}.ws-segmented--figures .ws-segmented__item:is([aria-selected="true"], [aria-current]:not([aria-current="false"]), [aria-checked="true"], [aria-pressed="true"], :has(> input:checked)) .ws-segmented__figure{color: inherit;}@media (pointer: coarse){.ws-segmented__item--icon, .ws-segmented--sm .ws-segmented__item--icon{min-width: var(--ws-touch);}}@supports (anchor-name: --a){.ws-segmented:not(.ws-segmented--figures){position: relative;anchor-scope: --ws-segmented-thumb;}.ws-segmented:not(.ws-segmented--figures)::before{content: "";position: absolute;position-anchor: --ws-segmented-thumb;inset: anchor(top) anchor(right) anchor(bottom) anchor(left);border-radius: var(--ws-radius-row);background: var(--color-text-heading);opacity: 0;pointer-events: none;}.ws-segmented--sm:not(.ws-segmented--figures)::before{border-radius: var(--ws-radius-control);}.ws-segmented--quiet:not(.ws-segmented--figures)::before{background: var(--ws-segmented-quiet);box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-segmented-quiet-edge);}.ws-segmented:not(.ws-segmented--figures) .ws-segmented__item:is([aria-selected="true"], [aria-current]:not([aria-current="false"]), [aria-checked="true"], [aria-pressed="true"], :has(> input:checked)){anchor-name: --ws-segmented-thumb;}}@media (prefers-reduced-motion: no-preference){.ws-segmented__item{transition: background-color var(--ws-duration-hover) var(--ws-ease-soft), color var(--ws-duration-text) var(--ws-ease-soft);}@supports (anchor-name: --a){.ws-segmented:not(.ws-segmented--figures):is(:hover, :focus-within)::before{opacity: 1;transition: inset var(--ws-spring-indicator-duration) var(--ws-spring-indicator);}.ws-segmented:not(.ws-segmented--figures):is(:hover, :focus-within) .ws-segmented__item:is([aria-selected="true"], [aria-current]:not([aria-current="false"]), [aria-checked="true"], [aria-pressed="true"], :has(> input:checked)){background-color: transparent;box-shadow: none;}.ws-segmented:not(.ws-segmented--figures) .ws-segmented__item:is([aria-selected="true"], [aria-current]:not([aria-current="false"]), [aria-checked="true"], [aria-pressed="true"], :has(> input:checked)){transition: color var(--ws-duration-text) var(--ws-ease-soft);}}}.ws-card{border: var(--ws-rim) solid var(--ws-tray);outline: 0;}.ws-card:focus-visible{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}.ws-card:has(> .ws-card__surface){background: var(--ws-tray);}.ws-card__surface{border-radius: var(--ws-radius-card-inner);background: var(--color-bg-page);}.ws-card__foot{display: flex;align-items: center;justify-content: space-between;gap: var(--space-sm);min-height: var(--ws-control-h-md);padding: var(--space-xxs) var(--space-md);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-body);}.ws-card__foot > :first-child{min-width: 0;}.ws-card__foot-aside{min-width: 0;text-align: right;color: var(--color-text-muted);font-variant-numeric: tabular-nums;}.ws-card__surface--pad{padding: var(--space-md);}.ws-card__foot--door{color: var(--color-text-heading);}.ws-card__foot--waits{color: var(--color-text-muted);}a.ws-card__foot{border-radius: 0 0 var(--ws-radius-card-inner) var(--ws-radius-card-inner);color: var(--color-text-heading);text-decoration: none;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){a.ws-card__foot:hover{--color-text-muted: var(--color-text-body);background-color: var(--ws-well-hover);}a.ws-card__foot:hover > :first-child{text-decoration: underline;}}a.ws-card__foot:active{--color-text-muted: var(--color-text-body);background-color: var(--ws-well-hover);transition-duration: var(--ws-duration-instant);}a.ws-card__foot:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}@media (pointer: coarse){a.ws-card__foot{min-height: var(--ws-touch);}}.ws-card__foot > svg{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);}a.ws-card, button.ws-card{display: block;width: 100%;text-align: left;text-decoration: none;color: inherit;cursor: pointer;transition: border-color var(--ws-duration-hover) var(--ws-ease-soft), background-color var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){a.ws-card:hover, button.ws-card:hover{border-color: var(--ws-well-hover);}}a.ws-card:active, button.ws-card:active{background-color: var(--ws-surface-press);transition-duration: var(--ws-duration-instant);}button.ws-card:disabled{opacity: 0.6;cursor: default;pointer-events: none;}a.ws-card[aria-busy="true"]{position: relative;}a.ws-card[aria-busy="true"]::before{content: "";position: absolute;inset: calc(var(--ws-rim) * -1);border: var(--ws-rim) solid var(--color-text-heading);border-radius: inherit;pointer-events: none;}@media (prefers-reduced-motion: no-preference){a.ws-card[aria-busy="true"]::before{animation: ws-pulse var(--ws-loop) var(--ws-ease-loop) infinite;}}.ws-card--selected{position: relative;border-color: var(--ws-well-hover);box-shadow: none;}.ws-card--selected::after{content: "";position: absolute;left: var(--space-md);right: var(--space-md);top: calc(100% + var(--ws-rim) + var(--space-xs));height: var(--ws-ring);border-radius: var(--ws-radius-chip);background: var(--color-text-heading);}.ws-card--pad-sm{padding: var(--ws-card-padding);}.ws-card--pad-md{padding: var(--ws-card-padding-lg);}.ws-card--compound{display: flex;flex-direction: column;}.ws-card--compound > :first-child{border-top-left-radius: var(--ws-radius-card-inner);border-top-right-radius: var(--ws-radius-card-inner);}.ws-card--compound > :last-child{border-bottom-left-radius: var(--ws-radius-card-inner);border-bottom-right-radius: var(--ws-radius-card-inner);}.ws-card > .ws-band:last-child{border-bottom-left-radius: var(--ws-radius-card-inner);border-bottom-right-radius: var(--ws-radius-card-inner);}.ws-head{flex-wrap: wrap;column-gap: var(--space-md);row-gap: var(--space-sm);}.ws-head > div:first-of-type{min-width: min(100%, var(--space-9xl));}.ws-head > div ~ div{flex: initial;}.ws-head > div ~ .ws-cluster{flex-direction: row;}.ws-head:has(> .ws-icon-btn){flex-wrap: nowrap;}.ws-head:has(> .ws-icon-btn) > div:first-of-type{min-width: 0;}:where(.ws-head > .ws-icon-btn:not(.ws-icon-btn--xs, .ws-icon-btn--sm, .ws-icon-btn--lg)){--ws-head-act: var(--ws-control-h);margin-block: calc((var(--ws-head-line, var(--ws-leading-title)) - var(--ws-head-act)) / 2 - var(--ws-hairline)) calc((var(--ws-head-line, var(--ws-leading-title)) - var(--ws-head-act)) / 2 + var(--ws-hairline));}@media (pointer: coarse){:where(.ws-head > .ws-icon-btn){--ws-head-act: var(--ws-touch);}}.ws-card__line{margin-top: var(--space-xxs);}.ws-card__body{padding: 0 var(--ws-card-inset) var(--space-md);}.ws-card--snug > .ws-head{padding: var(--ws-card-inset) var(--space-sm) var(--space-md);}.ws-card--snug > .ws-card__body{padding-inline: var(--space-sm);}.ws-card--snug > .ws-band, .ws-band--snug{min-height: 0;padding: var(--space-md);}.ws-card--snug > .ws-band{padding-inline: var(--space-sm);}.ws-card--compact > .ws-head{--ws-head-line: var(--ws-leading-row);padding: var(--space-md) var(--space-md) var(--space-xs);}.ws-card--compact > .ws-head .ws-title{font-size: var(--ws-text-value);line-height: var(--ws-leading-row);}.ws-card--compact > .ws-card__body{padding: var(--space-sm) var(--space-md);}.ws-card--compact > .ws-band, .ws-band--compact{min-height: 0;column-gap: var(--space-xs);padding: var(--space-xs) var(--space-md);}.ws-band{container: ws-band / inline-size;}.ws-band__acts{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xs);margin-left: auto;}@container ws-band (max-width: 26rem){.ws-band__acts{width: 100%;}.ws-band__acts > *{flex: 1 1 0;}}.ws-card__list-head{padding: var(--space-md) var(--space-md) var(--space-xxs) var(--ws-card-inset);}.ws-card__list-row{display: flex;align-items: center;justify-content: space-between;gap: var(--space-sm);min-height: var(--ws-row-h);padding: var(--space-sm) var(--space-md) var(--space-sm) var(--ws-card-inset);}.ws-card__list-row > :first-child{flex: 1;min-width: 0;}.ws-card__list-aside{display: inline-flex;flex-shrink: 0;align-items: center;gap: var(--space-sm);white-space: nowrap;}.ws-card__list-row + .ws-card__list-row, li + li > .ws-card__list-row{border-top: var(--ws-divider);}a.ws-card__list-row, button.ws-card__list-row{width: 100%;border: 0;background: none;text-align: left;text-decoration: none;color: inherit;cursor: pointer;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){a.ws-card__list-row:hover, button.ws-card__list-row:hover{background-color: var(--ws-hover-faint);}}a.ws-card__list-row:active, button.ws-card__list-row:active{background-color: var(--ws-surface-press);transition-duration: var(--ws-duration-instant);}a.ws-card__list-row:focus-visible, button.ws-card__list-row:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-card__list-row[aria-current], .ws-card__list-row[aria-expanded="true"]{background-color: var(--ws-surface-sunk);}@media (hover: hover){:is(a, button).ws-card__list-row:is([aria-current], [aria-expanded="true"]):hover:not(:active){background-color: color-mix(in srgb, var(--ws-surface-sunk), var(--ws-ink) 3%);}}.ws-card > ul:first-child > li:first-child > .ws-card__list-row, .ws-card > li:first-child > .ws-card__list-row, .ws-card > .ws-card__list-row:first-child{border-top-left-radius: var(--ws-radius-card-inner);border-top-right-radius: var(--ws-radius-card-inner);}.ws-card > ul:last-child > li:last-child > .ws-card__list-row, .ws-card > li:last-child > .ws-card__list-row, .ws-card > .ws-card__list-row:last-child{border-bottom-left-radius: var(--ws-radius-card-inner);border-bottom-right-radius: var(--ws-radius-card-inner);}.ws-card__chevron{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);color: var(--color-text-heading);}.ws-card__value{font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;text-align: right;}.ws-card__bars{display: flex;align-items: flex-end;gap: var(--space-xxs);height: calc(var(--space-4xl) + var(--space-xs));}.ws-card__bar{width: calc(var(--space-md) + var(--space-3xs));border-radius: var(--ws-radius-bar) var(--ws-radius-bar) 0 0;background: var(--color-stat-positive);transform-origin: bottom;}.ws-menu{max-width: calc(100vw - var(--space-xl));max-height: calc(100dvh - var(--space-xl));overflow-y: auto;overscroll-behavior: contain;border: 0;border-radius: var(--ws-radius-menu);color: inherit;box-shadow: var(--ws-shadow-hairline), var(--ws-shadow-menu);transform-origin: top right;}.ws-menu-item{padding: var(--space-xs) var(--space-xs-plus);border-radius: var(--ws-radius-row);text-decoration: none;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-menu-item:hover{background: none;}@media (hover: hover){.ws-menu-item:hover{background: var(--ws-hover);}}.ws-menu-item[aria-current], .ws-menu-item.ws-menu-item--current{background: var(--ws-menu-hover);}.ws-menu-item:active{background: var(--ws-surface-press);transition-duration: var(--ws-duration-instant);}.ws-menu-item:disabled, .ws-menu-item[aria-disabled="true"]{opacity: 0.5;pointer-events: none;}.ws-menu-line{margin-inline: calc(var(--space-xxs) * -1);}.ws-menu-item__icon{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);color: var(--color-text-muted);}.ws-menu-item__words{display: flex;flex: 1;flex-direction: column;gap: var(--space-3xs);min-width: 0;}.ws-menu-item__hint{font-size: var(--ws-text-micro);line-height: var(--ws-leading-micro);font-weight: 400;color: var(--color-text-muted);}.ws-menu-item:has(.ws-menu-item__hint){align-items: flex-start;}.ws-menu-item:has(.ws-menu-item__hint) > :is(.ws-menu-item__icon, .ws-menu-item__tick){margin-block: calc((var(--ws-leading-control) - var(--ws-icon)) / 2);}.ws-menu-item__tick{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);margin-left: auto;color: var(--color-text-heading);visibility: hidden;}.ws-menu-item[aria-checked="true"] > .ws-menu-item__tick{visibility: visible;}.ws-menu[popover]:not(:popover-open){display: none;}@supports (position-area: block-end){.ws-menu[popover]{inset: auto;margin: var(--space-xs) 0;position-area: block-end span-inline-start;justify-self: end;position-try-fallbacks: flip-block, flip-inline, flip-block flip-inline, --ws-menu-wide, --ws-menu-wide flip-block;max-height: calc(100% - var(--space-xs) * 2);min-height: calc-size(max-content, min(size, var(--space-9xl)));}}@position-try --ws-menu-wide{position-area: block-end span-all;justify-self: center;}.ws-menu{--ws-menu-from: calc(var(--ws-nudge) * -1);}.ws-menu[data-side="top"]{--ws-menu-from: var(--ws-nudge);transform-origin: bottom right;}@keyframes ws-menu-in{from{opacity: 0;transform: translateY(var(--ws-menu-from)) scale(var(--ws-open-scale));}}@keyframes ws-menu-out{to{opacity: 0;transform: translateY(var(--ws-menu-from)) scale(var(--ws-open-scale));}}@media (prefers-reduced-motion: no-preference){.ws-menu:not([popover]){animation: ws-menu-in var(--ws-spring-settle-duration) var(--ws-spring-settle) backwards;}.ws-menu[data-leaving]{animation: ws-menu-out var(--ws-duration-exit) var(--ws-ease-exit) forwards;pointer-events: none;}.ws-menu[popover]{transition: opacity var(--ws-spring-settle-duration) var(--ws-spring-settle), transform var(--ws-spring-settle-duration) var(--ws-spring-settle), margin-block var(--ws-spring-settle-duration) var(--ws-spring-settle), overlay var(--ws-duration-exit) allow-discrete, display var(--ws-duration-exit) allow-discrete;}.ws-menu[popover]:not(:popover-open){opacity: 0;transform: translateY(var(--ws-menu-from)) scale(var(--ws-open-scale));transition-duration: var(--ws-duration-exit);transition-timing-function: var(--ws-ease-exit);}@starting-style{.ws-menu[popover]:popover-open{opacity: 0;transform: translateY(var(--ws-menu-from)) scale(var(--ws-open-scale));}}@supports (position-area: block-end){.ws-menu[popover]:not([data-side]){--ws-menu-from: 0px;}.ws-menu[popover]:not([data-side]):not(:popover-open){margin-block-start: calc(var(--space-xs) - var(--ws-nudge));}@starting-style{.ws-menu[popover]:not([data-side]):popover-open{margin-block-start: calc(var(--space-xs) - var(--ws-nudge));}}}}.ws-avatar{position: relative;}.ws-avatar > img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;border-radius: inherit;}.ws-avatar > img[data-state="loading"]{opacity: 0;}@media (prefers-reduced-motion: no-preference){.ws-avatar > img{transition: opacity var(--ws-duration-gentle) var(--ws-ease-soft);}}.ws-avatar--dim{opacity: 1;color: var(--color-text-muted);}.ws-avatar--dim > img{opacity: 0.6;}.ws-avatar-stack__more{font-variant-numeric: tabular-nums;}.ws-action-list{container: ws-action-list / inline-size;display: flex;flex-direction: column;}.ws-action-list__row{--ws-action-list-line: var(--space-lg);--ws-action-list-lead: var(--ws-control-h-sm);--ws-action-list-act: var(--ws-control-h-sm);display: flex;align-items: flex-start;gap: var(--space-md);padding: var(--space-sm) var(--ws-card-inset);}.ws-action-list__row > :first-child:not(.ws-action-list__text){flex-shrink: 0;margin-block: calc((var(--ws-action-list-line) - var(--ws-action-list-lead)) / 2);}@media (pointer: coarse){.ws-action-list__row{--ws-action-list-act: var(--ws-touch);}}.ws-action-list__row + .ws-action-list__row{border-top: var(--ws-divider);}.ws-action-list__text{display: flex;flex: 1;flex-direction: column;gap: var(--space-xxs);min-width: 0;}.ws-action-list__title{display: flex;flex-wrap: wrap;align-items: center;min-height: var(--ws-action-list-line);gap: var(--space-xxs) var(--space-xs);font-size: var(--ws-text-section);line-height: var(--ws-leading-row);font-weight: 500;color: var(--color-text-heading);}.ws-action-list__reason{font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));color: var(--color-text-body);}.ws-action-list__act{flex-shrink: 0;margin-block: calc((var(--ws-action-list-line) - var(--ws-action-list-act)) / 2);}.ws-action-list__ghost{display: block;height: calc(var(--space-xs) + var(--space-3xs));border-radius: var(--ws-radius-bar);background: var(--ws-track);}.ws-action-list__ghost.ws-shimmer{background: var(--ws-shimmer);background-size: 300% 100%;}.ws-action-list--brief{gap: var(--space-xxs-plus);}.ws-action-list__brief{position: relative;display: flex;align-items: center;min-height: var(--ws-row-h-dense);border-radius: var(--ws-radius-menu);background: color-mix(in srgb, var(--color-surface) 55%, transparent);box-shadow: inset 0 0 0 var(--ws-hairline) color-mix(in srgb, var(--ws-ink) 8%, transparent);transition: background-color var(--ws-duration-hover) var(--ws-ease-soft), box-shadow var(--ws-duration-hover) var(--ws-ease-soft);}.ws-action-list__main{display: flex;flex: 1;align-items: center;align-self: stretch;gap: var(--space-sm);min-width: 0;padding: 0 var(--space-xxs) 0 var(--space-md);border: 0;border-radius: inherit;background: none;font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));text-align: left;cursor: pointer;}.ws-action-list__main:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-action-list__lead{flex: none;font-weight: 600;color: var(--color-text-heading);}.ws-action-list__gist{flex: 1;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;color: var(--color-text-body);}.ws-action-list__go{display: inline-flex;flex: none;align-items: center;gap: var(--space-xxs);max-width: 0;overflow: hidden;opacity: 0;white-space: nowrap;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 600;color: var(--ws-word-needs);transition: opacity var(--ws-duration-hover) var(--ws-ease-soft);}.ws-action-list__go svg{width: var(--ws-icon);height: var(--ws-icon);flex-shrink: 0;}.ws-action-list__dismiss{margin-right: var(--space-xs);opacity: 0;color: var(--color-text-muted);transition: opacity var(--ws-duration-hover) var(--ws-ease-soft), background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-action-list__main:focus-visible .ws-action-list__go{max-width: var(--space-7xl);opacity: 1;}.ws-action-list__dismiss:focus-visible, .ws-action-list__brief:focus-within .ws-action-list__dismiss{opacity: 1;}@media (hover: hover){.ws-action-list__brief:hover{background-color: var(--color-surface);box-shadow: inset 0 0 0 var(--ws-hairline) color-mix(in srgb, var(--ws-ink) 10%, transparent);}.ws-action-list__brief:hover .ws-action-list__go{max-width: var(--space-7xl);opacity: 1;}.ws-action-list__brief:hover .ws-action-list__dismiss{opacity: 1;}.ws-action-list__dismiss:hover{background: var(--ws-hover-strong);color: var(--color-text-heading);}}@media (prefers-reduced-motion: no-preference){.ws-action-list__go{transition: max-width var(--ws-duration-settle) var(--ws-ease-grow), opacity var(--ws-duration-hover) var(--ws-ease-soft);}.ws-action-list__go svg{transition: transform var(--ws-duration-hover) var(--ws-ease-soft);}}@media (hover: hover) and (prefers-reduced-motion: no-preference){.ws-action-list__brief:hover .ws-action-list__go svg{transform: translateX(var(--space-3xs));}}@media (hover: none){.ws-action-list__go{max-width: none;opacity: 1;}.ws-action-list__dismiss{opacity: 1;}}@media (pointer: coarse){.ws-action-list__main{padding-right: var(--space-xs);}}@container ws-action-list (max-width: 24rem){.ws-action-list__row{display: grid;grid-template-columns: auto minmax(0, 1fr);align-items: start;gap: var(--space-xs) var(--space-md);}.ws-action-list__text, .ws-action-list__act{grid-column: 2;}.ws-action-list__text:first-child, .ws-action-list__text:first-child ~ *{grid-column: 1 / -1;}.ws-action-list__act{justify-self: start;margin-block: 0;}.ws-action-list__go{gap: 0;font-size: 0;}}.ws-activity-grid__body{display: flex;flex-direction: column;gap: var(--space-xl);padding: var(--space-md) var(--ws-card-inset) var(--space-xxs-plus);container-type: inline-size;}.ws-activity-grid__grid{display: grid;width: 100%;grid-template-columns: minmax(var(--space-4xl), max-content) repeat(7, minmax(0, var(--space-xl))) var(--space-xs) repeat(7, minmax(0, var(--space-xl))) calc(var(--space-md) + var(--space-xs) * 0.75);justify-content: start;gap: var(--space-xxs);align-items: center;}.ws-activity-grid__grid--week{grid-template-columns: minmax(var(--space-4xl), max-content) repeat(7, minmax(0, var(--space-xl))) calc(var(--space-md) + var(--space-xs) * 0.75);}.ws-activity-grid__week{grid-column: span 7;align-self: end;font-size: var(--ws-text-micro);font-weight: 500;line-height: var(--font-size-xs);color: var(--color-text-body);text-wrap: balance;}.ws-activity-grid__letter{text-align: center;font-size: var(--ws-text-micro);font-weight: 500;color: var(--color-text-muted);}.ws-activity-grid__letter--today{color: var(--ws-word-needs);}.ws-activity-grid__name{padding-right: var(--space-xs);font-size: var(--ws-text-meta);line-height: var(--space-md);color: var(--color-text-muted);white-space: nowrap;}.ws-activity-grid__name--active{font-weight: 500;color: var(--color-text-heading);}.ws-activity-grid__cell{position: relative;width: 100%;aspect-ratio: 1;}.ws-activity-grid__dot{display: block;width: 100%;height: 100%;border-radius: var(--radius-full);background: var(--color-text-heading);}.ws-activity-grid__dot--past{background: color-mix(in srgb, var(--ws-chart-navy-light) 40%, var(--color-text-heading));}.ws-activity-grid__dot--pointed{background: var(--ws-chart-under-half);}.ws-activity-grid__empty, .ws-activity-grid__today{display: block;width: 100%;height: 100%;border-radius: var(--ws-radius-control);border: var(--ws-hairline) solid var(--ws-edge-slot);background: var(--color-bg-page);}.ws-activity-grid__today{border: var(--ws-line) solid color-mix(in srgb, var(--ws-chart-under-half) 50%, var(--color-bg-page));}.ws-activity-grid__empty--future{border-style: dashed;}.ws-activity-grid__count{text-align: right;font-size: var(--ws-text-chart);font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-activity-grid__count--zero{font-weight: 400;color: var(--color-text-muted);}.ws-activity-grid__note{font-size: var(--ws-text-dense);color: var(--color-text-muted);}@container (max-width: 18rem){.ws-activity-grid__grid{column-gap: var(--space-3xs);}.ws-activity-grid__letter:not(.ws-activity-grid__letter--today){visibility: hidden;}.ws-activity-grid__letter--today{justify-self: center;}}.ws-activity-grid__tip{position: absolute;left: 50%;bottom: calc(100% + var(--space-xs));transform: translateX(-50%);padding: var(--space-sm);}.ws-activity-grid__tip-title{font-weight: 500;}.ws-app-shell{container: ws-app-shell / inline-size;display: flex;height: 100%;min-height: 0;background: var(--ws-frame);}.ws-app-shell__nav{display: flex;flex-direction: column;min-height: 0;padding-block: var(--ws-line) var(--space-xs);overflow-x: hidden;overflow-y: auto;scrollbar-width: none;}.ws-app-shell > .ws-app-shell__nav{width: var(--ws-sidebar-width);flex-shrink: 0;margin-block: var(--ws-stage-inset-top) var(--ws-stage-inset);}.ws-app-shell__head{display: flex;align-items: center;gap: var(--space-xs);height: var(--ws-header-h);padding-inline: var(--space-sm) var(--space-xs);}.ws-app-shell__wordmark{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: var(--font-size-lg);line-height: var(--space-lg);font-weight: 600;color: var(--color-text-heading);}.ws-app-shell__head > .ws-app-shell__wordmark{flex: 1;padding-inline-start: var(--space-xs-plus);}.ws-app-shell__groups{flex: 1;min-height: 0;overflow-y: auto;overscroll-behavior: contain;scrollbar-width: thin;scrollbar-color: color-mix(in srgb, var(--ws-ink) 18%, transparent) transparent;}.ws-app-shell__group{padding: var(--space-xxs) var(--space-xs) var(--space-xxs) var(--space-sm);}.ws-app-shell__group + .ws-app-shell__group{border-top: var(--ws-line) solid var(--ws-edge-card);}.ws-app-shell__nav > :is(.ws-app-shell__rows, .ws-app-shell__eyebrow, .ws-app-shell__wordmark){margin-inline: var(--space-sm) var(--space-xs);}.ws-app-shell__nav > .ws-app-shell__wordmark{flex-shrink: 0;display: flex;align-items: center;min-height: var(--ws-header-h);padding-inline: var(--space-xs-plus);}.ws-app-shell__eyebrow{display: block;min-height: var(--ws-control-h-sm);padding: var(--space-sm) var(--space-xs-plus) 0;font-size: var(--ws-text-micro);line-height: var(--space-md);font-weight: 500;letter-spacing: normal;text-transform: none;color: var(--color-text-muted);}.ws-app-shell__rows{display: flex;flex-direction: column;gap: var(--space-3xs);}.ws-app-shell__row{position: relative;display: flex;align-items: center;gap: var(--space-xxs);width: 100%;height: var(--ws-control-h-sm);padding: 0 var(--space-xs-plus);border: 0;border-radius: var(--ws-radius-row);background: none;text-align: left;text-decoration: none;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-body);cursor: pointer;}.ws-app-shell__row > svg{flex-shrink: 0;width: var(--ws-icon-lg);height: var(--ws-icon-lg);padding: var(--space-3xs);color: var(--ws-mark-muted);}.ws-app-shell__row:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}@media (hover: hover){.ws-app-shell__row:hover{background: var(--ws-hover);}}.ws-app-shell__row:active{background: var(--ws-hover-strong);}.ws-app-shell__row:is(.ws-app-shell__row--current, [aria-current="page"]){border-radius: var(--ws-radius-control);background: var(--color-surface);box-shadow: var(--ws-float-rim), 0 var(--ws-line) var(--ws-ring) color-mix(in srgb, var(--ws-shade) 6%, transparent), 0 0 0 var(--ws-hairline) color-mix(in srgb, var(--ws-shade) 4%, transparent);color: var(--color-text-brand-strong);}.ws-app-shell__row:is(.ws-app-shell__row--current, [aria-current="page"]) > svg{color: var(--ws-chart-under-half);}.ws-app-shell__name{flex: 1;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.ws-app-shell__count{flex-shrink: 0;display: inline-flex;align-items: center;justify-content: center;min-width: calc(var(--space-md) + var(--space-3xs));height: calc(var(--space-md) + var(--space-3xs));padding: 0 var(--space-xxs);border-radius: var(--radius-full);background: var(--color-text-heading);color: var(--ws-on-act);font-size: var(--ws-text-micro);line-height: 1;font-weight: 600;font-variant-numeric: tabular-nums;}.ws-app-shell__foot{flex-shrink: 0;display: flex;align-items: center;gap: var(--space-xs-plus);margin-top: auto;padding: var(--space-sm) var(--space-xs) var(--space-xxs-plus) var(--space-sm);border-top: var(--ws-line) solid var(--ws-edge-card);}.ws-app-shell__foot > :first-child{margin-inline-start: var(--space-xs-plus);}.ws-app-shell__foot > :last-child{margin-inline-end: var(--space-xs-plus);}.ws-app-shell__nav:not(:has(> .ws-app-shell__groups)){padding-block: 0;}.ws-app-shell__nav:not(:has(> .ws-app-shell__groups)) > :is(.ws-app-shell__wordmark, .ws-app-shell__foot){position: sticky;z-index: 1;background: var(--ws-frame);background-attachment: fixed;}.ws-app-shell__nav:not(:has(> .ws-app-shell__groups)) > .ws-app-shell__wordmark{top: 0;min-height: calc(var(--ws-header-h) + var(--ws-line));margin-inline: 0;padding: var(--ws-line) var(--space-xs) 0 calc(var(--space-sm) + var(--space-xs-plus));}.ws-app-shell__nav:not(:has(> .ws-app-shell__groups)) > .ws-app-shell__foot{bottom: 0;padding-bottom: var(--space-sm-plus);}.ws-app-shell__foot-words{display: flex;flex-direction: column;min-width: 0;}.ws-app-shell__foot-name{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: var(--ws-text-control);line-height: var(--space-md);font-weight: 500;color: var(--color-text-heading);}.ws-app-shell--folded > .ws-app-shell__nav{width: var(--ws-rail-width);}.ws-app-shell--folded .ws-app-shell__head{justify-content: flex-end;gap: 0;padding-inline: 0 var(--space-md);}@media (pointer: coarse){.ws-app-shell--folded .ws-app-shell__head{padding-inline-end: var(--space-sm);}}.ws-app-shell--folded :is(.ws-app-shell__head > .ws-app-shell__wordmark, .ws-app-shell__foot-words){flex: 0 0 0;padding: 0;opacity: 0;}.ws-app-shell--folded :is(.ws-app-shell__group, .ws-app-shell__nav > .ws-app-shell__rows){padding-inline: var(--space-sm);}.ws-app-shell--folded .ws-app-shell__nav > .ws-app-shell__rows{margin-inline: 0;}.ws-app-shell--folded .ws-app-shell__row{overflow: hidden;}.ws-app-shell--folded .ws-app-shell__name{opacity: 0;}.ws-app-shell--folded .ws-app-shell__count{display: none;}.ws-app-shell--folded .ws-app-shell__eyebrow{display: none;}.ws-app-shell--folded .ws-app-shell__group + .ws-app-shell__group{border-top-color: transparent;}.ws-app-shell--folded .ws-app-shell__foot{width: var(--ws-rail-width);justify-content: center;gap: 0;padding-inline: 0;border-top-color: transparent;}.ws-app-shell--folded .ws-app-shell__foot > *{margin-inline: 0;}.ws-app-shell__rail{width: var(--ws-rail-width);flex-shrink: 0;display: flex;flex-direction: column;align-items: center;gap: var(--space-3xs);margin-block: var(--ws-stage-inset-top) var(--ws-stage-inset);padding-block: var(--ws-line) var(--space-xs);}.ws-app-shell__mark{display: flex;align-items: center;justify-content: center;width: var(--space-2xl);height: var(--ws-control-h-md);border-radius: var(--ws-radius-row);color: var(--color-text-body);}.ws-app-shell__mark--wordmark{height: var(--ws-header-h);font-size: var(--font-size-lg);font-weight: 600;color: var(--color-text-heading);}.ws-app-shell__mark--current{border-radius: var(--ws-radius-control);background: var(--color-surface);box-shadow: var(--ws-float-rim), 0 var(--ws-line) var(--ws-ring) color-mix(in srgb, var(--ws-shade) 6%, transparent), 0 0 0 var(--ws-hairline) color-mix(in srgb, var(--ws-shade) 4%, transparent);color: var(--ws-chart-under-half);}.ws-app-shell__mark svg{width: var(--ws-icon);height: var(--ws-icon);}.ws-app-shell__stage{position: relative;isolation: isolate;flex: 1;min-width: 0;min-height: 0;display: flex;flex-direction: column;margin: var(--ws-stage-inset-top) var(--ws-stage-inset) var(--ws-stage-inset) 0;border: var(--ws-line) solid var(--ws-edge-stage);border-radius: var(--ws-radius-panel);background: var(--ws-glass);overflow: clip;}.ws-app-shell__stage::before{content: "";position: absolute;inset: 0;z-index: -1;-webkit-backdrop-filter: blur(var(--ws-glass-blur));backdrop-filter: blur(var(--ws-glass-blur));pointer-events: none;}.ws-app-shell--wash .ws-app-shell__stage{background: var(--ws-stage-wash);}.ws-app-shell--wash .ws-app-shell__stage::before{content: none;}.ws-app-shell__bar{flex-shrink: 0;display: flex;align-items: center;gap: var(--space-md);min-height: var(--ws-header-h);padding: var(--space-xs) var(--ws-gutter);}.ws-app-shell__bar--scrolled{box-shadow: inset 0 calc(var(--ws-hairline) * -1) 0 var(--ws-edge-card);}.ws-app-shell__title{flex: 1;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: var(--font-size-md);line-height: var(--ws-leading-section);font-weight: 600;letter-spacing: var(--ws-tracking-title);color: var(--color-text-heading);}.ws-app-shell__acts{display: flex;flex-shrink: 0;align-items: center;gap: var(--space-xs);margin-inline-start: auto;}.ws-app-shell__search{display: flex;flex-shrink: 1;align-items: center;gap: var(--space-xxs);width: calc(var(--space-9xl) + var(--space-md) + var(--space-xxs));min-width: var(--space-8xl);height: var(--ws-control-h);padding: 0 var(--space-xs);border-radius: var(--ws-radius-control);background: var(--ws-field);box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-card);color: var(--color-text-muted);font-size: var(--ws-text-meta);white-space: nowrap;overflow: hidden;cursor: text;}.ws-app-shell__search svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);flex-shrink: 0;}.ws-app-shell__search > input{flex: 1;min-width: 0;height: 100%;padding: 0;border: 0;background: none;-webkit-appearance: none;appearance: none;font: inherit;color: var(--ws-field-ink);}.ws-app-shell__search > input::placeholder{color: var(--color-text-muted);opacity: 1;}.ws-app-shell__search > input:focus-visible{outline: none;}.ws-app-shell__search:focus-within{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}@media (pointer: coarse){.ws-app-shell__search{height: var(--ws-touch);font-size: var(--ws-text-value);}}.ws-app-shell .ws-app-shell__menu{display: none;}.ws-app-shell__body{flex: 1;min-width: 0;min-height: 0;container-type: inline-size;display: flex;flex-direction: column;gap: var(--ws-gap-component);padding: var(--space-md) var(--ws-gutter) var(--space-2xl);overflow: auto;overscroll-behavior: contain;scrollbar-width: thin;scrollbar-color: color-mix(in srgb, var(--ws-ink) 18%, transparent) transparent;}.ws-app-shell__stage > .ws-app-shell__body:first-child{padding-top: var(--ws-gutter);}.ws-app-shell :is(.ws-app-shell__body, .ws-app-shell__groups):focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-app-shell__body > *{max-width: calc(var(--ws-chart-card-w) * 2 + var(--ws-gap-component));}.ws-app-shell__body--wide > *{max-width: none;}.ws-app-shell__body:has(> .ws-split--fill){padding-bottom: max(var(--ws-gap-group), env(safe-area-inset-bottom));}@container ws-app-shell (max-width: 60rem){.ws-app-shell > :is(.ws-app-shell__nav, .ws-app-shell__rail){display: none;}.ws-app-shell__stage{margin: 0;border: 0;border-radius: 0;}.ws-app-shell .ws-app-shell__menu{display: inline-flex;}.ws-app-shell__search{display: none;}.ws-app-shell__bar, .ws-app-shell__body{padding-inline: max(var(--space-md), env(safe-area-inset-left)) max(var(--space-md), env(safe-area-inset-right));}.ws-app-shell .ws-app-shell__bar{padding-top: max(var(--space-xs), env(safe-area-inset-top));}.ws-app-shell__body{padding-bottom: max(var(--space-2xl), env(safe-area-inset-bottom));}}@supports (anchor-name: --a){:is(.ws-app-shell__groups, .ws-app-shell__nav:not(:has(> .ws-app-shell__groups))){position: relative;anchor-scope: --ws-app-shell-current;}:is(.ws-app-shell__groups, .ws-app-shell__nav:not(:has(> .ws-app-shell__groups)))::before{content: "";position: absolute;position-anchor: --ws-app-shell-current;inset: anchor(top) anchor(right) anchor(bottom) anchor(left);border-radius: var(--ws-radius-control);background: var(--color-surface);box-shadow: var(--ws-float-rim), 0 var(--ws-line) var(--ws-ring) color-mix(in srgb, var(--ws-shade) 6%, transparent), 0 0 0 var(--ws-hairline) color-mix(in srgb, var(--ws-shade) 4%, transparent);opacity: 0;pointer-events: none;}.ws-app-shell__row:is(.ws-app-shell__row--current, [aria-current="page"]){anchor-name: --ws-app-shell-current;}.ws-app-shell__eyebrow{position: relative;}}@media (prefers-reduced-motion: no-preference){.ws-app-shell > .ws-app-shell__nav{transition: width var(--ws-duration-shift) var(--ws-ease-shift);}.ws-app-shell :is(.ws-app-shell__wordmark, .ws-app-shell__name, .ws-app-shell__foot-words){transition: opacity var(--ws-duration-hover) var(--ws-ease-soft);}.ws-app-shell__row{transition: background-color var(--ws-duration-hover) var(--ws-ease-soft), color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-app-shell__bar{transition: box-shadow var(--ws-duration-settle) var(--ws-ease-soft);}@supports (anchor-name: --a){:is(.ws-app-shell__groups, .ws-app-shell__nav:not(:has(> .ws-app-shell__groups))):is(:hover, :focus-within)::before{opacity: 1;transition: inset var(--ws-spring-nav-duration) var(--ws-spring-nav);}:is(.ws-app-shell__groups, .ws-app-shell__nav:not(:has(> .ws-app-shell__groups))):is(:hover, :focus-within) .ws-app-shell__row:is(.ws-app-shell__row--current, [aria-current="page"]){background: none;box-shadow: none;}.ws-app-shell__row:is(.ws-app-shell__row--current, [aria-current="page"]){transition: color var(--ws-duration-hover) var(--ws-ease-soft);}}}.ws-banner{--ws-banner-band: var(--ws-control-h-sm);display: flex;align-items: flex-start;gap: var(--space-xs);width: 100%;padding: var(--space-xs) var(--space-sm);border-radius: var(--ws-radius-card);}.ws-banner__mark{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);margin-block: calc((var(--ws-banner-band) - var(--ws-icon)) / 2);}.ws-banner__words{flex: 1;min-width: 0;padding-block: calc((var(--ws-banner-band) - var(--space-md) - var(--space-xxs)) / 2);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));}.ws-banner > :is(.ws-btn--link, .ws-btn--text){min-height: var(--space-lg);}.ws-banner > :is(.ws-btn--link, .ws-btn--text, .ws-icon-btn--xs){margin-block: calc((var(--ws-banner-band) - var(--space-lg)) / 2);}.ws-banner__lead{font-weight: 500;color: var(--color-text-heading);}.ws-banner__rest{color: var(--color-text-body);}.ws-banner--neutral{background: var(--ws-surface-sunk);}.ws-banner--neutral .ws-banner__mark{color: var(--color-text-muted);}.ws-banner--needs{background: var(--ws-tint-needs);}.ws-banner--needs .ws-banner__mark, .ws-banner--needs .ws-banner__lead{color: var(--ws-word-needs);}.ws-banner--positive{background: var(--ws-tint-live);}.ws-banner--positive .ws-banner__mark, .ws-banner--positive .ws-banner__lead{color: var(--ws-word-positive);}.ws-banner--working{background: var(--ws-card-tint-blue);}.ws-banner--working .ws-banner__mark, .ws-banner--working .ws-banner__lead{color: var(--color-text-interactive);}@media (pointer: coarse){.ws-banner{--ws-banner-band: var(--ws-touch);}}.ws-breadcrumb{display: flex;align-items: center;gap: var(--space-xs);min-width: 0;font-size: var(--ws-text-body);line-height: var(--ws-leading-row);color: var(--color-text-body);white-space: nowrap;}.ws-breadcrumb a{flex: 0 1 auto;min-width: 0;max-width: var(--space-8xl);overflow: hidden;text-overflow: ellipsis;margin-inline: calc(var(--space-xxs-plus) * -1);padding: var(--space-xxs) var(--space-xxs-plus);border-radius: var(--ws-radius-control);color: inherit;text-decoration: none;}.ws-breadcrumb > a:first-child{flex-shrink: 0;}@media (hover: hover){.ws-breadcrumb a:hover{background: var(--ws-hover-strong);color: var(--color-text-heading);}}.ws-breadcrumb :is(a, .ws-breadcrumb__ellipsis):focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-breadcrumb__current{flex: 0 3 auto;min-width: 0;overflow: hidden;text-overflow: ellipsis;font-weight: 500;color: var(--color-text-heading);}.ws-breadcrumb__sep{flex-shrink: 0;color: var(--color-text-muted);}.ws-breadcrumb__chevron{flex-shrink: 0;width: var(--ws-icon-sm);height: var(--ws-icon-sm);color: var(--color-text-muted);}.ws-breadcrumb__ellipsis{display: inline-flex;align-items: center;justify-content: center;flex-shrink: 0;min-width: var(--space-lg);min-height: var(--space-lg);margin-inline: calc((var(--space-xxs-plus) + var(--ws-line)) * -1);padding: 0 var(--space-xxs);border: 0;border-radius: var(--ws-radius-control);background: none;font-size: inherit;color: inherit;cursor: pointer;}@media (hover: hover){.ws-breadcrumb__ellipsis:hover{background: var(--ws-hover-strong);color: var(--color-text-heading);text-decoration: none;}}@media (prefers-reduced-motion: no-preference){.ws-breadcrumb :is(a, .ws-breadcrumb__ellipsis){transition: background-color var(--ws-duration-hover) var(--ws-ease-soft), color var(--ws-duration-hover) var(--ws-ease-soft);}}.ws-chat-card{position: relative;container: ws-chat-card / inline-size;display: flex;flex-direction: column;gap: var(--space-xs);max-width: var(--ws-chart-card-w);padding: var(--ws-card-inset);border: var(--ws-hairline) solid var(--ws-edge-card);}@media (max-resolution: 1.49dppx){.ws-chat-card{border-color: var(--ws-edge-card-1x);}}.ws-chat-card__head{display: flex;align-items: center;justify-content: space-between;gap: var(--space-xs);min-height: var(--space-lg);}.ws-chat-card__kind{display: flex;align-items: center;gap: var(--space-xs);min-width: 0;}.ws-chat-card__disc{width: var(--space-lg);height: var(--space-lg);}.ws-chat-card__disc svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-chat-card__disc--needs{background: var(--ws-tint-needs);color: var(--ws-chart-under-half);}.ws-chat-card__timer{display: inline-flex;align-items: center;gap: var(--space-xxs);padding: var(--space-xxs) var(--space-xs);border-radius: var(--ws-radius-chip);background: var(--ws-surface-sunk);color: var(--color-text-heading);font-size: var(--ws-text-dense);font-weight: 500;font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-chat-card__timer svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-chat-card > .ws-chat-card__close{position: absolute;top: var(--space-xs);right: var(--space-xs);color: var(--color-text-muted);}.ws-chat-card:has(> .ws-chat-card__close) > .ws-chat-card__head{padding-right: var(--space-xl);}.ws-chat-card__facts{display: flex;flex-wrap: wrap;gap: var(--space-xxs) var(--space-md);font-size: var(--ws-text-dense);color: var(--color-text-body);}.ws-chat-card__facts b{font-weight: 600;color: var(--color-text-heading);}.ws-chat-card__graph{margin: var(--space-xs) calc(var(--ws-card-inset) * -1) 0;padding: var(--space-md) var(--ws-card-inset) var(--space-lg);}.ws-chat-card__rows{margin: 0 calc(var(--ws-card-inset) * -1);border-top: var(--ws-hairline) solid var(--ws-edge-slot);}.ws-chat-card__row{display: flex;align-items: center;justify-content: space-between;gap: var(--space-sm);min-height: calc(var(--space-2xl) + var(--space-xxs));padding: var(--space-xxs) var(--ws-card-inset);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-heading);}.ws-chat-card__row + .ws-chat-card__row{border-top: var(--ws-hairline) solid var(--ws-edge-slot);}.ws-chat-card__row > b{flex-shrink: 0;font-weight: 600;font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-chat-card__band{margin: var(--space-xs) calc(var(--ws-card-inset) * -1) calc(var(--ws-card-inset) * -1);border-radius: 0 0 var(--ws-radius-card-inner) var(--ws-radius-card-inner);}.ws-chat-card__door{display: inline-flex;align-items: center;gap: var(--space-xxs);min-height: var(--space-lg);margin-right: auto;font-size: var(--ws-text-body);font-weight: 500;color: var(--color-text-body);text-decoration: none;}@media (hover: hover){.ws-chat-card__door:hover{color: var(--color-text-heading);text-decoration: underline;}}.ws-chat-card__door svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-chat-card__acts{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xs);margin-left: auto;}@container ws-chat-card (max-width: 470px){.ws-chat-card__band{min-height: var(--space-4xl);column-gap: var(--space-sm);padding: var(--space-sm) var(--ws-card-inset);}.ws-chat-card__band .ws-band__how{display: none;}.ws-chat-card__band .ws-band__words{min-width: min(100%, var(--space-7xl));}.ws-chat-card__band .ws-band__title{font-size: var(--ws-text-body);line-height: var(--ws-leading-control);text-wrap: balance;}.ws-chat-card__band .ws-band__acts{width: auto;}.ws-chat-card__band .ws-band__acts > *{flex: none;}}.ws-chat-card--full{position: fixed;inset: var(--ws-stage-inset);z-index: var(--z-modal);width: auto;height: auto;max-width: none;margin: 0;overflow-y: auto;overscroll-behavior: contain;border-radius: var(--ws-radius-panel);box-shadow: var(--ws-shadow-float);}@media (prefers-reduced-motion: no-preference){.ws-chat-card.ws-settle{animation: ws-settle var(--ws-spring-card-duration) var(--ws-spring-card) backwards;animation-delay: calc(var(--ws-i, 0) * var(--ws-stagger-detail));}}.ws-chat-shell{--ws-chat-col: calc(var(--space-9xl) * 3 + var(--space-8xl));--ws-chat-dock-w: calc(var(--space-9xl) * 2 + var(--ws-card-inset));position: relative;display: flex;flex-direction: column;min-width: 0;min-height: 0;border: var(--ws-line) solid var(--ws-edge-stage);border-radius: var(--ws-radius-panel);background: var(--ws-glass);-webkit-backdrop-filter: blur(var(--ws-glass-blur-chat)) saturate(1.4);backdrop-filter: blur(var(--ws-glass-blur-chat)) saturate(1.4);}.ws-chat-shell > *{flex-shrink: 0;}.ws-chat-shell__head{display: flex;align-items: center;gap: var(--space-xs);min-height: calc(var(--space-3xl) + var(--space-xxs));padding: 0 var(--space-sm) 0 var(--ws-card-inset);border-bottom: var(--ws-hairline) solid color-mix(in srgb, var(--ws-ink) 8%, transparent);}.ws-chat-shell__where{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.ws-chat-shell__tools{display: flex;flex-shrink: 0;align-items: center;gap: var(--space-3xs);margin-left: auto;}@media (pointer: coarse){.ws-chat-shell__tools{gap: var(--space-sm);}}.ws-chat-shell__thread{position: relative;display: flex;flex: 1;flex-direction: column;min-height: 0;overflow-y: auto;overscroll-behavior: contain;padding: var(--ws-card-inset) var(--ws-card-inset) var(--space-4xl);scrollbar-width: thin;}.ws-chat-shell__thread > *{flex-shrink: 0;}.ws-chat-shell__empty{display: flex;flex-direction: column;gap: var(--space-xs);margin-top: auto;padding-bottom: var(--space-xl);}.ws-chat-shell__empty-title{font-size: var(--font-size-2xl);line-height: var(--space-xl);font-weight: 600;letter-spacing: var(--ws-tracking-title);color: var(--color-text-heading);text-wrap: balance;}.ws-chat-shell__empty > .ws-suggestions{margin-top: var(--space-xs);}.ws-chat-shell__compose{padding: var(--space-xs) var(--space-sm) var(--space-sm);}.ws-chat-shell .ws-chat-turn__bubble{background: var(--color-surface);}.ws-chat-dock{display: flex;gap: var(--space-sm);min-height: 0;}.ws-chat-dock > :not(.ws-chat-shell){min-width: 0;}.ws-chat-dock > :last-child:not(.ws-chat-shell){flex: 1;}.ws-chat-shell--dock{flex-shrink: 0;width: clamp(calc(var(--space-9xl) + var(--space-7xl) + var(--ws-card-inset)), var(--ws-chat-dock-w), calc(var(--space-9xl) * 2 + var(--space-8xl)));}.ws-chat-shell__resize{position: absolute;top: 0;bottom: 0;left: 100%;width: var(--space-sm);padding: 0;border: 0;background: none;cursor: col-resize;}.ws-chat-shell__resize::after{content: "";position: absolute;top: 50%;left: 50%;width: var(--ws-halo);height: var(--space-2xl);border-radius: var(--ws-radius-chip);background: color-mix(in srgb, var(--ws-ink) 18%, transparent);translate: -50% -50%;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){.ws-chat-shell__resize:hover::after{background: color-mix(in srgb, var(--ws-ink) 36%, transparent);}}.ws-chat-shell--resizing .ws-chat-shell__resize::after{background: color-mix(in srgb, var(--ws-ink) 36%, transparent);}.ws-chat-shell--full{background: color-mix(in srgb, var(--color-surface) 94%, transparent);}.ws-chat-shell--full .ws-chat-shell__thread{padding: calc(var(--space-lg) + var(--space-xxs)) calc(var(--space-lg) + var(--space-xxs)) var(--space-7xl);}.ws-chat-shell--full .ws-chat-shell__compose{padding: var(--space-xs) calc(var(--space-lg) + var(--space-xxs)) calc(var(--space-md) + var(--space-xxs));}.ws-chat-shell--full :is(.ws-chat-shell__thread, .ws-chat-shell__compose) > *{width: 100%;max-width: var(--ws-chat-col);margin-inline: auto;}.ws-chat-shell--full .ws-chat-turn + .ws-chat-turn{margin-top: var(--space-lg);}.ws-chat-shell--full .ws-chat-turn__bubble{background: var(--ws-hover);}.ws-chat-shell--bar{border-color: transparent;background: none;-webkit-backdrop-filter: none;backdrop-filter: none;}.ws-chat-shell--bar .ws-chat-shell__compose{padding: 0;}.ws-chat-shell--bar .ws-composer{min-height: calc(var(--space-4xl) - var(--space-xxs));padding-block: var(--space-sm);border-radius: var(--ws-radius-card);box-shadow: var(--ws-shadow-bar);}.ws-chat-shell--bar .ws-composer--live{box-shadow: var(--ws-ring-selected), var(--ws-shadow-bar);}.ws-chat-shell--bar .ws-suggestions{margin-top: var(--space-sm-plus);}.ws-chat-veil{position: absolute;inset: 0;background: var(--ws-veil);-webkit-backdrop-filter: blur(var(--ws-blur-panel));backdrop-filter: blur(var(--ws-blur-panel));}.ws-chat-shell{--ws-chat-out: 160ms;--ws-chat-unblur: 240ms;--ws-chat-head-after: 120ms;}.ws-chat-shell--bar{transform-origin: 50% 0;}.ws-chat-shell--dock{transform-origin: 0 50%;}.ws-chat-shell--full{transform-origin: 50% 40%;}@keyframes ws-chat-fade{from{opacity: 0;}}@keyframes ws-chat-grow{from{scale: var(--ws-open-scale);}}@keyframes ws-chat-unblur{from{filter: blur(var(--ws-blur-panel));}}@keyframes ws-chat-out{to{opacity: 0;scale: var(--ws-open-scale);filter: blur(calc(var(--ws-blur-arrive) * 2));}}@media (prefers-reduced-motion: no-preference){.ws-chat-shell{animation: ws-chat-fade var(--ws-duration-hover) var(--ws-ease-soft) backwards, ws-chat-grow var(--ws-spring-panel-duration) var(--ws-spring-panel) backwards, ws-chat-unblur var(--ws-chat-unblur) var(--ws-ease-soft) backwards;}.ws-chat-shell__head{animation: ws-chat-fade var(--ws-duration-text) var(--ws-ease-soft) var(--ws-chat-head-after) backwards;}.ws-chat-shell[data-leaving]{animation: ws-chat-out var(--ws-chat-out) var(--ws-ease-exit) forwards;pointer-events: none;}.ws-chat-shell--dock{transition: width var(--ws-duration-shift) var(--ws-ease-shift);}.ws-chat-shell--resizing{transition: none;}.ws-chat-veil{animation: ws-chat-veil var(--ws-duration-settle) var(--ws-ease-soft) backwards;}}@keyframes ws-chat-veil{from{opacity: 0;}}@media (max-width: 60rem){.ws-chat-dock > :not(.ws-chat-shell){display: none;}.ws-chat-shell--dock{width: 100%;}.ws-chat-shell__resize{display: none;}}.ws-chat-turn{display: flex;flex-direction: column;gap: var(--space-xxs-plus);}.ws-chat-turn + .ws-chat-turn{margin-top: var(--ws-gap-turn);}.ws-chat-turn--person{align-items: flex-end;}.ws-chat-turn--agent{align-items: stretch;gap: var(--space-sm);}.ws-chat-turn__bubble{display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-3xs);max-width: 78%;padding: var(--space-xs-plus) var(--space-sm-plus);border-radius: calc(var(--ws-radius-bubble) + var(--ws-radius-chip)) calc(var(--ws-radius-bubble) + var(--ws-radius-chip)) var(--ws-radius-control) calc(var(--ws-radius-bubble) + var(--ws-radius-chip));background: var(--ws-surface-sunk);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-heading);overflow-wrap: anywhere;}.ws-chat-turn__ref{display: inline-flex;align-items: center;gap: var(--space-xxs-plus);max-width: 100%;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-muted);}.ws-chat-turn__ref > span{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.ws-chat-turn__ref > svg{flex-shrink: 0;width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-chat-turn__words{font-size: var(--ws-text-message);line-height: var(--ws-leading-section);font-weight: 500;color: var(--ws-word-answer);white-space: pre-line;text-wrap: pretty;overflow-wrap: anywhere;}.ws-chat-turn--agent > .ws-card, .ws-chat-turn--agent > .ws-chat-card{max-width: var(--ws-chart-card-w);}.ws-chat-turn__acts{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-3xs);}.ws-chat-turn__action{display: inline-flex;align-items: center;justify-content: center;min-width: var(--ws-control-h);height: var(--ws-control-h-sm);padding: 0 var(--space-xs);border: 0;border-radius: var(--ws-radius-row);background: none;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 600;color: var(--color-text-body);cursor: pointer;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft), color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-chat-turn__action > svg{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);}.ws-chat-turn__action-label{margin-left: var(--space-xxs-plus);white-space: nowrap;}.ws-chat-turn__action:active{background-color: var(--ws-hover-strong);color: var(--color-text-heading);transition-duration: var(--ws-duration-instant);}.ws-chat-turn__action[aria-expanded="true"], .ws-chat-turn__action[aria-pressed="true"]{background-color: var(--ws-hover-strong);color: var(--color-text-heading);}@media (hover: hover){.ws-chat-turn__action:hover{background-color: var(--ws-hover-strong);color: var(--color-text-heading);}.ws-chat-turn__action{interpolate-size: allow-keywords;}.ws-chat-turn__action-label{width: 0;margin-left: 0;overflow: hidden;opacity: 0;transition: width var(--ws-duration-settle) var(--ws-ease-grow), margin-left var(--ws-duration-settle) var(--ws-ease-grow), opacity var(--ws-duration-exit) var(--ws-ease-soft);}.ws-chat-turn__action:is(:hover, :focus-visible, [aria-expanded="true"]) .ws-chat-turn__action-label{width: auto;margin-left: var(--space-xxs-plus);opacity: 1;transition-duration: var(--ws-duration-settle), var(--ws-duration-settle), var(--ws-duration-hover);transition-delay: 0s, 0s, var(--ws-stagger-row);}}@media (pointer: coarse){.ws-chat-turn__action{height: var(--ws-touch);}}.ws-chat-turn__act{position: relative;display: block;padding-left: calc(var(--ws-icon) + var(--space-xs));font-size: var(--ws-text-control);line-height: var(--ws-leading-control);color: var(--color-text-body);}.ws-chat-turn__act svg{position: absolute;top: calc((var(--ws-leading-control) - var(--ws-icon)) / 2);left: 0;width: var(--ws-icon);height: var(--ws-icon);color: var(--color-stat-positive);}.ws-chat-turn__door{display: flex;width: fit-content;align-items: center;min-height: var(--space-lg);font-weight: 500;color: var(--color-text-heading);text-decoration: none;}@media (hover: hover){.ws-chat-turn__door:hover{text-decoration: underline;}}.ws-chat-turn__working{display: flex;align-items: center;gap: var(--space-xs);min-height: var(--space-lg);}.ws-chat-turn__dots{display: flex;gap: var(--space-xxs);}.ws-chat-turn__dots span{width: var(--space-xxs-plus);height: var(--space-xxs-plus);border-radius: var(--radius-full);background: var(--color-text-muted);}@media (prefers-reduced-motion: no-preference){.ws-chat-turn__dots span{animation: ws-pulse var(--ws-loop) var(--ws-ease-loop) infinite;}.ws-chat-turn__dots span:nth-child(2){animation-delay: calc(var(--ws-loop) / 8);}.ws-chat-turn__dots span:nth-child(3){animation-delay: calc(var(--ws-loop) / 4);}}.ws-check-row{--ws-check-row-name: calc(var(--space-9xl) * 0.75);--ws-check-row-score: calc(var(--space-3xl) + var(--space-xs));--ws-check-row-status: calc(var(--space-6xl) + var(--space-md));--ws-check-row-box: calc(var(--space-md) + var(--space-3xs));--ws-check-row-h: calc(var(--space-3xl) + var(--space-xs));--ws-check-row-tone: var(--ws-rating-strong);container: ws-check-row / inline-size;display: flex;flex-direction: column;padding: var(--ws-rim);border-radius: var(--ws-radius-card);background: var(--ws-tray);}.ws-check-row > li{background: var(--color-bg-page);}.ws-check-row > li + li, .ws-check-row > li + li > .ws-check-row__row:is([aria-expanded="true"], [aria-current="true"]){box-shadow: inset 0 var(--ws-hairline) 0 var(--ws-edge);}.ws-check-row > li:first-child{border-top-left-radius: var(--ws-radius-card-inner);border-top-right-radius: var(--ws-radius-card-inner);}.ws-check-row > li:last-child{border-bottom-left-radius: var(--ws-radius-card-inner);border-bottom-right-radius: var(--ws-radius-card-inner);}.ws-check-row__row{display: grid;grid-template-columns: var(--ws-check-row-name) minmax(0, 1fr) var(--ws-check-row-score) var(--ws-check-row-status) var(--ws-icon);grid-template-areas: "name ticks score status chev";align-items: center;gap: var(--space-lg);width: 100%;min-height: var(--ws-check-row-h);padding: var(--space-sm) var(--space-md) var(--space-sm) var(--ws-card-inset);border: 0;border-radius: inherit;background: transparent;text-align: left;text-decoration: none;color: inherit;cursor: pointer;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-check-row__row:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}@media (hover: hover){.ws-check-row__row:not([aria-expanded="true"], [aria-current="true"]):hover{background-color: var(--ws-hover-faint);}}.ws-check-row__row[aria-expanded="true"], .ws-check-row__row[aria-current="true"]{background-color: var(--ws-surface-sunk);}.ws-check-row__name{grid-area: name;min-width: 0;font-size: var(--ws-text-section);line-height: var(--ws-leading-row);font-weight: 500;color: var(--color-text-heading);}.ws-check-row__ticks{grid-area: ticks;display: flex;gap: var(--ws-halo);height: var(--space-xl);min-width: 0;}.ws-check-row__ticks > *{flex: 1 0 0;min-width: var(--ws-line);border-radius: var(--ws-radius-bar);background: var(--ws-track);}.ws-check-row__ticks > b{background: var(--ws-check-row-tone);}.ws-check-row__ticks--middle{--ws-check-row-tone: var(--ws-rating-middle);}.ws-check-row__ticks--needs-work{--ws-check-row-tone: var(--ws-rating-needs-work);}.ws-check-row__score{grid-area: score;text-align: right;font-size: var(--ws-text-figure-row);line-height: var(--ws-leading-figure-row);font-weight: 400;color: var(--color-text-heading);font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-check-row__none{display: block;width: calc(var(--space-md) + var(--space-xxs));height: var(--ws-chart-line);margin-left: auto;border-radius: var(--ws-radius-bar);background: var(--ws-mark-muted);}.ws-check-row__status{grid-area: status;text-align: right;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-body);}.ws-check-row__status--quiet{color: var(--color-text-muted);}.ws-check-row__row[aria-expanded="true"] .ws-check-row__status, .ws-check-row__row[aria-current="true"] .ws-check-row__status{color: var(--color-text-heading);}.ws-check-row__chev{grid-area: chev;width: var(--ws-icon);height: var(--ws-icon);color: var(--color-text-heading);}@media (prefers-reduced-motion: no-preference){.ws-check-row__line > .ws-check-row__chev{transition: transform var(--ws-spring-fold-duration) var(--ws-spring-fold);}.ws-check-row__ticks > b{transform-origin: bottom;animation: ws-grow-up var(--ws-duration-fill) var(--ws-ease-settle) backwards;animation-delay: calc(sibling-index() * var(--ws-ripple));}}.ws-check-row__ghost{display: block;height: calc(var(--space-xs) + var(--space-3xs));border-radius: var(--ws-radius-bar);background: var(--ws-track);}.ws-check-row__ghost.ws-shimmer, .ws-check-row__ticks.ws-shimmer{background: var(--ws-shimmer);background-size: 300% 100%;}.ws-check-row__fix{transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-check-row__line{position: relative;display: grid;border-radius: inherit;grid-template-columns: var(--ws-check-row-box) minmax(0, 1fr) auto var(--ws-icon);grid-template-areas: "box words act chev";align-items: start;align-content: center;column-gap: var(--space-md);min-height: var(--ws-check-row-h);padding: var(--space-sm) var(--space-md) var(--space-sm) var(--ws-card-inset);}.ws-check-row__line > .ws-check{grid-area: box;position: relative;z-index: 1;align-items: center;justify-content: center;width: var(--ws-check-row-box);height: var(--ws-leading-section);padding: 0;}.ws-check-row__line > .ws-check-row__chev{height: var(--ws-leading-section);}.ws-check-row__line > .ws-check::after{content: "";position: absolute;inset: calc((100% - var(--space-lg)) / 2);}@media (pointer: coarse){.ws-check-row__line > .ws-check::after{inset: calc((100% - var(--ws-touch)) / 2);}}.ws-check-row__line .ws-check__box{margin-top: 0;}.ws-check-row__open{grid-area: words;display: flex;flex-wrap: wrap;align-items: baseline;gap: var(--space-xxs-plus) var(--space-xs);min-width: 0;padding: 0;border: 0;border-radius: inherit;background: none;text-align: left;color: inherit;cursor: pointer;}.ws-check-row__open::after{content: "";position: absolute;inset: 0;border-radius: inherit;}.ws-check-row__open:focus-visible{outline: 0;}.ws-check-row__open:focus-visible::after{box-shadow: var(--ws-focus-inset);}.ws-check-row__title{font-size: var(--ws-text-section);line-height: var(--ws-leading-section);font-weight: 500;color: var(--color-text-heading);}.ws-check-row__effort{font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 400;color: var(--color-text-muted);}.ws-check-row__meta{flex-basis: 100%;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--ws-word-positive);}.ws-check-row__act{--ws-check-row-act: var(--ws-control-h);grid-area: act;position: relative;z-index: 1;margin-block: calc((var(--ws-leading-section) - var(--ws-check-row-act)) / 2);}.ws-check-row__act.ws-btn--sm{--ws-check-row-act: var(--ws-control-h-sm);}@media (pointer: coarse){.ws-check-row .ws-check-row__act{--ws-check-row-act: var(--ws-touch);}}@media (hover: hover){.ws-check-row__fix:not(:has(> .ws-check-row__line [aria-expanded="true"])):hover{background-image: linear-gradient(var(--ws-hover-faint), var(--ws-hover-faint));}}.ws-check-row__fix:has(> .ws-check-row__line [aria-expanded="true"]){background-color: var(--ws-surface-sunk);}.ws-check-row__open[aria-expanded="true"] .ws-check-row__title{font-weight: 600;}.ws-check-row__line:has([aria-expanded="true"]) > .ws-check-row__chev{transform: rotate(180deg);}.ws-check-row__fix--done .ws-check-row__title{color: var(--color-text-muted);}.ws-check-row__detail{margin: 0 var(--space-md) var(--space-md) calc(var(--ws-card-inset) + var(--ws-check-row-box) + var(--space-md));padding: var(--space-lg);border-radius: var(--ws-radius-row);background: var(--color-bg-page);}.ws-check-row__detail[hidden]{display: none;}@container ws-check-row (max-width: 40rem){.ws-check-row__row{grid-template-columns: minmax(0, 1fr) auto var(--ws-icon);grid-template-areas: "name score chev" "status score chev" "ticks ticks ticks";gap: var(--space-xxs) var(--space-sm);}.ws-check-row__status{text-align: left;}.ws-check-row__ticks{margin-top: var(--space-xs);}.ws-check-row__line{grid-template-columns: var(--ws-check-row-box) minmax(0, 1fr) var(--ws-icon);grid-template-areas: "box words chev" ". act .";}.ws-check-row__act{justify-self: start;margin-block: var(--space-xs) 0;}.ws-check-row__detail{margin-left: var(--space-md);}}.ws-combobox{position: relative;display: flex;min-width: 0;flex-direction: column;gap: var(--space-xxs);}.ws-combobox__field{position: relative;display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xxs);min-height: var(--ws-control-h);padding: var(--space-3xs) var(--space-xl) var(--space-3xs) var(--space-sm);border: 0;border-radius: var(--ws-radius-control);background: var(--ws-field);box-shadow: var(--ws-shadow-hairline-in);font-size: var(--ws-text-body);color: var(--ws-field-ink);transition: box-shadow var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){.ws-combobox__field:hover{box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-hover);}}.ws-combobox__field:has(input:focus-visible), .ws-combobox__field--focus{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}.ws-combobox__field:has(input[aria-invalid="true"]){box-shadow: inset 0 0 0 var(--ws-line) var(--ws-word-needs);}.ws-combobox__chevron{position: absolute;right: var(--space-xs);top: 50%;width: var(--ws-icon);height: var(--ws-icon);transform: translateY(-50%);color: var(--ws-field-mark, var(--color-text-heading));pointer-events: none;}.ws-combobox__field input{flex: 1;min-width: calc(var(--space-4xl) - var(--space-xxs));height: calc(var(--ws-control-h) - var(--space-xxs));padding: 0;border: 0;outline: none;background: transparent;font: inherit;line-height: calc(var(--space-md) + var(--space-xxs));color: inherit;}.ws-combobox__field input::placeholder{color: var(--color-text-placeholder);}.ws-menu.ws-combobox__panel{--ws-combobox-row: var(--ws-control-h);margin-top: var(--space-xxs);max-height: min(calc(var(--ws-combobox-row) * 8 + var(--space-xxs) * 2), calc(100dvh - var(--space-xl)));overflow-y: auto;transform-origin: top left;}.ws-combobox__option{display: block;padding: calc((var(--ws-combobox-row, var(--ws-control-h)) - var(--space-md) - var(--space-xxs)) / 2) var(--space-sm);border-radius: var(--ws-radius-row);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));cursor: pointer;}@media (hover: hover){.ws-combobox__option:hover{background: var(--ws-hover);}}.ws-combobox__option--active, .ws-combobox__option[aria-selected="true"]{background: var(--ws-surface-sunk);}.ws-combobox__match{font-weight: 500;color: var(--color-text-heading);}.ws-combobox__rest{color: var(--color-text-body);white-space: pre-wrap;}.ws-combobox__empty{display: flex;align-items: center;min-height: var(--ws-control-h);padding: 0 var(--space-sm);color: var(--color-text-muted);font-size: var(--ws-text-body);}.ws-combobox__create{display: flex;align-items: center;gap: var(--space-xxs-plus);width: 100%;min-height: var(--ws-control-h);padding: 0 var(--space-sm);border: 0;border-radius: var(--ws-radius-row);background: none;font-size: var(--ws-text-body);font-weight: 500;color: var(--color-text-heading);text-align: start;cursor: pointer;}@media (hover: hover){.ws-combobox__create:hover{background: var(--ws-hover);}}.ws-combobox__create svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-combobox{--ws-combobox-chip: var(--ws-surface-sunk);--ws-combobox-chip-ink: var(--color-text-body);--ws-combobox-chip-hover: var(--ws-hover-strong);}[data-theme="dark"][data-ground="navy"] .ws-combobox{--ws-combobox-chip: var(--color-gray-2);--ws-combobox-chip-ink: var(--ws-field-ink);--ws-combobox-chip-hover: color-mix(in srgb, var(--ws-field-ink) 8%, transparent);}@media (prefers-color-scheme: dark){[data-theme="system"][data-ground="navy"] .ws-combobox{--ws-combobox-chip: var(--color-gray-2);--ws-combobox-chip-ink: var(--ws-field-ink);--ws-combobox-chip-hover: color-mix(in srgb, var(--ws-field-ink) 8%, transparent);}}.ws-combobox__chip{display: inline-flex;align-items: center;gap: var(--space-xxs);max-width: 100%;height: var(--space-lg);padding: 0 var(--space-xxs) 0 var(--space-xs);border-radius: var(--ws-radius-control);background: var(--ws-combobox-chip);color: var(--ws-combobox-chip-ink);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;white-space: nowrap;}.ws-combobox__chip button{position: relative;display: inline-flex;align-items: center;justify-content: center;width: var(--space-md);height: var(--space-md);padding: 0;border: 0;border-radius: var(--ws-radius-control);background: none;color: var(--ws-field-mark, var(--color-text-heading));cursor: pointer;}.ws-combobox__chip button::after{content: "";position: absolute;inset: calc((var(--space-md) - var(--space-lg)) / 2);}.ws-combobox__chip button:focus-visible{outline-color: var(--ws-field-mark, var(--ws-focus-color));outline-offset: 0;}@media (hover: hover){.ws-combobox__chip button:hover{background: var(--ws-combobox-chip-hover);}}.ws-combobox__chip svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-combobox__field:has(input:disabled){background: var(--ws-surface-sunk);color: var(--color-text-muted);cursor: not-allowed;}.ws-combobox__field:has(input:disabled) .ws-combobox__chevron{color: var(--color-text-muted);}@media (pointer: coarse){.ws-combobox__field{column-gap: var(--space-xs);min-height: var(--ws-touch);font-size: var(--ws-text-value);}.ws-combobox__field input{height: calc(var(--ws-touch) - var(--space-xxs));}.ws-menu.ws-combobox__panel{--ws-combobox-row: var(--ws-touch);}.ws-combobox__create, .ws-combobox__empty{min-height: var(--ws-touch);}.ws-combobox__chip button{min-height: 0;}.ws-combobox__chip button::after{inset: calc((var(--space-md) - var(--ws-touch)) / 2);}}.ws-composer{--ws-composer-line: var(--ws-control-h-md);display: flex;align-items: flex-end;gap: var(--space-3xs);min-height: var(--ws-composer-h);padding: var(--space-xs) var(--space-xs) var(--space-xs) var(--space-md);border-radius: var(--ws-radius-control);background: var(--ws-field);box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-card);color: var(--ws-field-ink);}.ws-composer:has(.ws-composer__words:focus-visible){outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: calc(var(--ws-focus-width) * -1);}.ws-composer__words:focus-visible{outline: none;}.ws-composer--live{box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-card), var(--ws-ring-selected);}.ws-composer__lead{display: flex;flex-shrink: 0;align-items: center;gap: var(--space-xs);height: var(--ws-composer-line);}.ws-composer__face{flex-shrink: 0;width: var(--ws-icon-lg);height: var(--ws-icon-lg);}.ws-composer__face svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-composer__name{font-size: var(--ws-text-body);font-weight: 500;color: var(--color-text-heading);white-space: nowrap;}.ws-composer__rule{flex-shrink: 0;align-self: flex-end;width: var(--ws-line);height: var(--ws-icon-lg);margin: 0 var(--space-sm) calc((var(--ws-composer-line) - var(--ws-icon-lg)) / 2);background: var(--ws-track);}.ws-composer__words{flex: 1;min-width: 0;min-height: var(--ws-composer-line);max-height: var(--space-8xl);margin: 0;padding: calc((var(--ws-composer-line) - var(--ws-leading-message)) / 2) var(--space-3xs) calc((var(--ws-composer-line) - var(--ws-leading-message)) / 2) 0;border: 0;background: transparent;font-size: var(--ws-text-value);line-height: var(--ws-leading-message);color: var(--ws-field-ink);resize: none;field-sizing: content;overflow-wrap: anywhere;}textarea.ws-composer__words{overflow-y: auto;}input.ws-composer__words{text-overflow: ellipsis;}.ws-composer__words::placeholder, .ws-composer__words--empty{color: var(--color-text-muted);}.ws-composer__trail{display: flex;flex-shrink: 0;align-items: center;gap: var(--space-3xs);}.ws-composer__trail > .ws-icon-btn{width: var(--ws-composer-line);height: var(--ws-composer-line);color: var(--color-text-heading);}.ws-composer__trail > .ws-icon-btn:not(.ws-icon-btn--primary, [aria-pressed="true"]){border-radius: var(--ws-radius-control);}.ws-composer__trail > .ws-icon-btn:is(.ws-icon-btn--primary, [aria-pressed="true"]){border-radius: var(--radius-full);color: var(--ws-on-act);}.ws-composer__trail > .ws-icon-btn svg{width: var(--ws-icon);height: var(--ws-icon);}@media (hover: hover){.ws-composer__trail > .ws-icon-btn:not(.ws-icon-btn--primary, [aria-pressed="true"]):hover{background: var(--ws-hover-strong);}}@media (pointer: coarse){.ws-composer{--ws-composer-line: var(--ws-touch);}}.ws-composer--live .ws-composer__words{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.ws-composer__dot{margin-right: var(--space-xxs);}.ws-composer__context{display: flex;align-items: center;gap: var(--space-xs);padding: var(--space-xxs-plus) var(--space-xxs-plus) var(--space-xxs-plus) var(--space-sm);border-radius: var(--ws-radius-control) var(--ws-radius-control) 0 0;box-shadow: inset 0 var(--ws-hairline) 0 var(--ws-edge-card), inset var(--ws-hairline) 0 0 var(--ws-edge-card), inset calc(var(--ws-hairline) * -1) 0 0 var(--ws-edge-card);background: linear-gradient(var(--ws-hover), var(--ws-hover)) var(--ws-field);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);color: var(--color-text-body);}.ws-composer__context > svg{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);color: var(--color-text-heading);}.ws-composer__context > span{flex: 1;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.ws-composer__context + .ws-composer__context{border-radius: 0;box-shadow: inset 0 var(--ws-hairline) 0 var(--ws-edge-slot), inset var(--ws-hairline) 0 0 var(--ws-edge-card), inset calc(var(--ws-hairline) * -1) 0 0 var(--ws-edge-card);}.ws-composer__context + .ws-composer{border-top-left-radius: 0;border-top-right-radius: 0;}.ws-composer--field{align-items: center;gap: var(--space-xs-plus);min-height: var(--space-2xl);padding: 0 var(--space-xxs) 0 var(--space-sm);border-radius: var(--ws-radius-card);background: var(--ws-tray);box-shadow: none;}.ws-composer--field .ws-composer__words{min-height: 0;padding: var(--space-xs-plus) 0;font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));}.ws-composer--field{--ws-composer-line: var(--ws-control-h);}.ws-composer--field .ws-composer__trail > .ws-icon-btn{background: none;color: var(--color-text-heading);}@media (pointer: coarse){.ws-composer--field{--ws-composer-line: var(--ws-touch);}.ws-composer--field .ws-composer__words{font-size: var(--ws-text-value);}}[data-theme="dark"][data-ground="navy"] :is(.ws-composer:not(.ws-composer--field), .ws-composer__context){--color-text-heading: var(--ws-field-ink);--color-text-body: var(--ws-field-ink);--color-text-muted: var(--color-text-placeholder);--ws-on-act: var(--ws-field);--ws-focus-color: var(--ws-field-ink);--ws-hover: color-mix(in srgb, var(--ws-field-ink) 5%, transparent);--ws-hover-strong: color-mix(in srgb, var(--ws-field-ink) 6%, transparent);--ws-edge-card: color-mix(in srgb, var(--ws-field-ink) 18%, transparent);--ws-edge-slot: var(--ws-edge-card);--ws-track: var(--ws-edge-card);--ws-surface-sunk: color-mix(in srgb, var(--ws-field) 92%, var(--ws-field-ink));--ws-act-hover: color-mix(in srgb, var(--color-text-heading) 92%, var(--ws-on-act));--ws-edge-hover: var(--color-text-muted);--ws-shadow-hairline-in: inset 0 0 0 var(--ws-hairline) var(--ws-edge-card);}[data-theme="dark"][data-ground="navy"] .ws-composer--field{--ws-field-ink: var(--color-text-heading);}@media (prefers-color-scheme: dark){[data-theme="system"][data-ground="navy"] :is(.ws-composer:not(.ws-composer--field), .ws-composer__context){--color-text-heading: var(--ws-field-ink);--color-text-body: var(--ws-field-ink);--color-text-muted: var(--color-text-placeholder);--ws-on-act: var(--ws-field);--ws-focus-color: var(--ws-field-ink);--ws-hover: color-mix(in srgb, var(--ws-field-ink) 5%, transparent);--ws-hover-strong: color-mix(in srgb, var(--ws-field-ink) 6%, transparent);--ws-edge-card: color-mix(in srgb, var(--ws-field-ink) 18%, transparent);--ws-edge-slot: var(--ws-edge-card);--ws-track: var(--ws-edge-card);--ws-surface-sunk: color-mix(in srgb, var(--ws-field) 92%, var(--ws-field-ink));--ws-act-hover: color-mix(in srgb, var(--color-text-heading) 92%, var(--ws-on-act));--ws-edge-hover: var(--color-text-muted);--ws-shadow-hairline-in: inset 0 0 0 var(--ws-hairline) var(--ws-edge-card);}[data-theme="system"][data-ground="navy"] .ws-composer--field{--ws-field-ink: var(--color-text-heading);}}:where(.ws-composer:not(.ws-composer--field, .ws-composer--live)):focus-within{box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-card), 0 var(--space-xxs) var(--space-md) color-mix(in srgb, var(--ws-shade) 7%, transparent);}.ws-composer__slot{display: grid;flex: 1;min-width: 0;}.ws-composer__slot > *{grid-area: 1 / 1;}.ws-composer__slot > .ws-composer__words{width: 100%;}.ws-composer__roll{display: grid;align-self: start;min-width: 0;padding: calc((var(--ws-composer-line) - var(--ws-leading-message)) / 2) var(--space-3xs) 0 0;font-size: var(--ws-text-value);line-height: var(--ws-leading-message);color: var(--color-text-muted);pointer-events: none;}.ws-composer__roll > *{grid-area: 1 / 1;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;opacity: 0;visibility: hidden;translate: 0 var(--ws-drop);filter: blur(var(--ws-blur-arrive));}.ws-composer__roll > [data-off]{translate: 0 calc(var(--ws-drop) * -1);}.ws-composer__roll > [data-on], .ws-composer__roll:not(:has(> [data-on])) > :first-child{opacity: 1;visibility: visible;translate: none;filter: none;}.ws-composer__slot:has(> .ws-composer__roll) > .ws-composer__words::placeholder{color: transparent;}.ws-composer__words:not(:placeholder-shown) ~ .ws-composer__roll{display: none;}@media (prefers-reduced-motion: no-preference){:where(.ws-composer:not(.ws-composer--field, .ws-composer--live)){transition: box-shadow var(--ws-spring-glow-duration) var(--ws-spring-glow);}.ws-composer__roll > :is([data-on], [data-off]){transition: opacity var(--ws-spring-roll-duration) var(--ws-spring-roll), translate var(--ws-spring-roll-duration) var(--ws-spring-roll), filter var(--ws-spring-roll-duration) var(--ws-spring-roll), visibility var(--ws-spring-roll-duration) var(--ws-spring-roll);}}.ws-confirm-dialog__destructive, .ws-confirm-dialog__destructive:hover{color: var(--ws-word-needs);}.ws-confirm-dialog__destructive[aria-disabled="true"]{pointer-events: none;}.ws-cover{max-width: calc(var(--space-9xl) * 4 + var(--space-8xl));padding-bottom: var(--space-sm);background: var(--color-bg-page);}.ws-cover__art{display: block;width: 100%;height: auto;}.ws-cover__navy{fill: var(--color-brand-navy);}.ws-cover__salmon{fill: var(--color-brand-salmon);}.ws-cover__purple{fill: var(--ws-chart-past-half);}.ws-cover__teal{fill: var(--ws-chart-finished);}.ws-cover__tint{fill: var(--ws-surface-sunk);}.ws-cover__ground{fill: var(--color-bg-page);}.ws-cover__tick{rx: var(--ws-radius-chip);}.ws-cover__name{margin: var(--space-xl) var(--space-2xl) 0;font-size: var(--font-size-6xl);line-height: 0.95;font-weight: 600;letter-spacing: var(--ws-tracking-title);color: var(--color-text-heading);text-wrap: balance;}.ws-cover__line{margin: var(--space-lg) var(--space-2xl) 0;max-width: var(--ws-thing-width);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));color: var(--color-text-muted);}@media (max-width: 40rem){.ws-cover__name{margin: var(--space-lg) var(--space-md) 0;font-size: var(--font-size-3xl);line-height: var(--space-3xl);}.ws-cover__line{margin: var(--space-xs) var(--space-md) 0;}}.ws-date-input{position: relative;display: flex;min-width: 0;}.ws-date-input .ws-input{padding-right: var(--space-xl);}.ws-date-input .ws-input::-webkit-calendar-picker-indicator{opacity: 0;cursor: pointer;}.ws-date-input__icon{position: absolute;right: var(--space-xs);top: 50%;width: var(--ws-icon);height: var(--ws-icon);transform: translateY(-50%);color: var(--ws-field-mark, var(--color-text-heading));pointer-events: none;}.ws-date-input__picker{width: calc(var(--space-9xl) + var(--space-4xl) - var(--space-xxs));max-width: 100%;padding: var(--space-xxs);}.ws-menu.ws-date-input__picker{transform-origin: top left;}.ws-date-input__head{display: flex;align-items: center;justify-content: space-between;height: var(--ws-control-h);padding: 0 var(--space-xxs);}.ws-date-input__month{font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-heading);}.ws-date-input__grid{display: grid;grid-template-columns: repeat(7, minmax(0, 1fr));gap: var(--space-3xs) 0;padding: var(--space-xxs);}.ws-date-input__letter{text-align: center;font-size: var(--ws-text-micro);line-height: var(--space-md);color: var(--color-text-muted);}.ws-date-input__cell{position: relative;display: flex;align-items: center;justify-content: center;height: var(--ws-control-h);padding: 0;border: 0;border-radius: var(--ws-radius-control);background: none;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);color: var(--color-text-heading);font-variant-numeric: tabular-nums;cursor: pointer;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-date-input__cell:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-date-input__cell:is(.ws-date-input__cell--chosen, .ws-date-input__cell--range-start, .ws-date-input__cell--range-end):focus-visible{outline-color: var(--ws-on-act);outline-offset: calc(var(--ws-focus-width) * -2);}@media (hover: hover){.ws-date-input__cell:not(.ws-date-input__cell--disabled, .ws-date-input__cell--chosen, .ws-date-input__cell--range-start, .ws-date-input__cell--range-end):hover{background-color: var(--ws-hover);}}.ws-date-input__cell--muted{color: var(--color-text-muted);}.ws-date-input__cell--today{box-shadow: inset 0 0 0 var(--ws-line) var(--ws-word-needs);}.ws-date-input__cell--chosen{background: var(--color-text-heading);color: var(--ws-on-act);}.ws-date-input__cell--disabled{opacity: 0.4;cursor: default;}.ws-date-input__cell--range{background: var(--ws-surface-sunk);border-radius: 0;}.ws-date-input__cell--range-start{background: var(--color-text-heading);color: var(--ws-on-act);border-radius: var(--ws-radius-control) 0 0 var(--ws-radius-control);}.ws-date-input__cell--range-end{background: var(--color-text-heading);color: var(--ws-on-act);border-radius: 0 var(--ws-radius-control) var(--ws-radius-control) 0;}@media (pointer: coarse){.ws-date-input__picker{width: min(100%, calc(var(--ws-touch) * 8));}.ws-date-input__grid, .ws-date-input__head{padding: 0;}.ws-date-input__head{height: var(--ws-touch);}.ws-date-input__head > .ws-icon-btn{width: var(--ws-touch);height: var(--ws-touch);}}.ws-dialog{--ws-dialog-inset: var(--ws-band-inset);display: flex;flex-direction: column;width: calc(100% - var(--space-xl));max-width: 42rem;max-height: calc(100dvh - var(--space-xl));padding: 0;overflow: visible;border: var(--ws-rim) solid var(--ws-tray);border-radius: var(--ws-radius-drawer);background: var(--ws-raised);color: var(--color-text-body);box-shadow: var(--ws-shadow-float);}dialog.ws-dialog:not([open]){display: none;}.ws-dialog::backdrop{background: var(--ws-scrim);}.ws-dialog > .ws-head{flex-wrap: nowrap;gap: var(--space-sm);padding: var(--ws-card-inset) var(--ws-dialog-inset) var(--space-md);}.ws-dialog > .ws-head:has(+ .ws-band){padding-bottom: var(--ws-card-inset);}.ws-dialog > .ws-head > div{gap: var(--space-xxs);min-width: 0;}.ws-icon-btn.ws-dialog__close{--ws-dialog-close: var(--ws-control-h);margin-block: calc((var(--ws-leading-title) - var(--ws-dialog-close)) / 2 - var(--ws-hairline)) calc((var(--ws-leading-title) - var(--ws-dialog-close)) / 2 + var(--ws-hairline));border-radius: var(--ws-radius-row);background-color: var(--ws-tray);color: var(--color-text-heading);}@media (hover: hover){.ws-icon-btn.ws-dialog__close:hover{background-color: var(--ws-well-hover);}}@media (pointer: coarse){.ws-icon-btn.ws-dialog__close{--ws-dialog-close: var(--ws-touch);}}.ws-dialog__content{display: flex;flex: 1 1 auto;flex-direction: column;gap: var(--space-md);min-height: 0;overflow-y: auto;overscroll-behavior: contain;padding: var(--space-xxs) var(--ws-dialog-inset) var(--ws-card-inset);}.ws-dialog__content:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-dialog > .ws-band{border-bottom-left-radius: var(--ws-radius-drawer-inner);border-bottom-right-radius: var(--ws-radius-drawer-inner);}.ws-dialog__acts{display: flex;flex-wrap: wrap;gap: var(--space-xs);margin-left: auto;}@media (max-width: 40rem){.ws-dialog__acts{flex: 1 1 100%;}.ws-dialog__acts > *{flex: 1 1 var(--space-8xl);min-width: min(100%, max-content);}}@media (max-height: 40rem), (max-width: 40rem){.ws-dialog{overflow-y: auto;overscroll-behavior: contain;}.ws-dialog__content{flex: 1 0 auto;overflow: visible;}.ws-dialog > .ws-head{position: sticky;top: 0;z-index: 1;border-radius: var(--ws-radius-drawer-inner) var(--ws-radius-drawer-inner) 0 0;background: var(--ws-raised);}}.ws-dialog--drawer{width: min(calc(100% - var(--ws-stage-inset) * 2), var(--ws-thing-width));max-width: none;height: calc(100% - var(--ws-stage-inset) * 2);max-height: calc(100dvh - var(--ws-stage-inset) * 2);margin: var(--ws-stage-inset) var(--ws-stage-inset) var(--ws-stage-inset) auto;}.ws-dialog--drawer-start{margin: var(--ws-stage-inset) auto var(--ws-stage-inset) var(--ws-stage-inset);}@media (max-width: 40rem){.ws-dialog--drawer{width: 100%;height: 100%;max-height: 100dvh;margin: 0;border: 0;border-radius: 0;}.ws-dialog--drawer > :is(.ws-head, .ws-band){border-radius: 0;}}dialog.ws-dialog{--ws-dialog-after: 80ms;}@media (prefers-reduced-motion: no-preference){dialog.ws-dialog, dialog.ws-dialog::backdrop{transition: opacity var(--ws-duration-exit) var(--ws-ease-exit), transform var(--ws-duration-exit) var(--ws-ease-exit), overlay var(--ws-duration-exit) var(--ws-ease-exit) allow-discrete, display var(--ws-duration-exit) var(--ws-ease-exit) allow-discrete;}dialog.ws-dialog:not([open]){opacity: 0;transform: translateY(var(--space-xs)) scale(var(--ws-open-scale-pane));}dialog.ws-dialog:not([open])::backdrop{opacity: 0;}dialog.ws-dialog[open]{transition: opacity var(--ws-spring-settle-duration) var(--ws-spring-settle), transform var(--ws-spring-settle-duration) var(--ws-spring-settle), overlay 0s allow-discrete, display 0s allow-discrete;}dialog.ws-dialog[open]::backdrop{transition: opacity var(--ws-duration-hover) var(--ws-ease-soft), overlay 0s allow-discrete, display 0s allow-discrete;}dialog.ws-dialog--drawer[open]{transition: opacity var(--ws-duration-grow) var(--ws-ease-grow), transform var(--ws-duration-grow) var(--ws-ease-grow), overlay 0s allow-discrete, display 0s allow-discrete;}dialog.ws-dialog--drawer:not([open]){transform: translateX(calc(100% + var(--ws-stage-inset)));transition-duration: var(--ws-duration-shrink);transition-timing-function: var(--ws-ease-grow);}dialog.ws-dialog--drawer-start:not([open]){transform: translateX(calc(-100% - var(--ws-stage-inset)));}dialog.ws-dialog[open] > *{animation: ws-settle var(--ws-duration-settle) var(--ws-ease-soft) var(--ws-dialog-after) backwards;}@supports (animation-delay: calc(sibling-index() * 1ms)){dialog.ws-dialog[open] > *{animation-delay: calc(var(--ws-dialog-after) + (sibling-index() - 1) * var(--ws-stagger-detail));}}@starting-style{dialog.ws-dialog[open]{opacity: 0;transform: translateY(var(--space-sm-plus)) scale(var(--ws-open-scale-pane));}dialog.ws-dialog--drawer[open]{transform: translateX(calc(100% + var(--ws-stage-inset)));}dialog.ws-dialog--drawer-start[open]{transform: translateX(calc(-100% - var(--ws-stage-inset)));}dialog.ws-dialog[open]::backdrop{opacity: 0;}}}.ws-empty-state__body{display: flex;flex-direction: column;align-items: center;gap: var(--space-xs);padding: var(--space-2xl) var(--space-md) var(--space-md);text-align: center;}.ws-empty-state__mark{display: flex;width: var(--space-xl);height: var(--space-xl);align-items: center;justify-content: center;border-radius: var(--radius-full);background: var(--color-bg-page);box-shadow: var(--ws-shadow-hairline);}.ws-empty-state__mark svg{width: var(--space-md);height: var(--space-md);color: var(--color-text-heading);}.ws-empty-state__mark--intro{width: var(--space-lg);height: var(--space-lg);background: var(--ws-surface-sunk);box-shadow: none;}.ws-empty-state__mark--intro svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-empty-state__words{max-width: calc(var(--space-9xl) + var(--space-4xl) - var(--space-xxs));}.ws-entry-shell{container: ws-entry-shell / inline-size;display: flex;flex: 1 0 auto;min-height: 100%;}.ws-entry-shell--page{min-height: 100dvh;}.ws-entry-shell__main{flex: 1 1 0;min-width: 0;display: flex;flex-direction: column;padding: var(--space-lg) var(--space-lg);background: var(--color-bg-page);}.ws-entry-shell__wordmark{align-self: flex-start;font-size: var(--font-size-md);line-height: var(--space-lg);font-weight: 600;color: var(--color-text-heading);}.ws-entry-shell__center{flex: 1;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: var(--space-lg);padding: var(--space-2xl) 0;}.ws-entry-shell__form{width: 100%;max-width: calc(var(--space-9xl) + var(--space-7xl));display: flex;flex-direction: column;gap: var(--space-lg);}.ws-entry-shell__title{margin: 0;font-size: var(--font-size-xl);line-height: var(--space-xl);font-weight: 600;letter-spacing: var(--ws-tracking-title);color: var(--color-text-heading);text-align: center;}.ws-entry-shell .ws-input{min-height: var(--ws-control-h-md);}.ws-entry-shell__acts{display: flex;flex-direction: column;gap: var(--space-sm);text-align: center;}.ws-entry-shell__aside{flex: 1 1 0;min-width: 0;display: flex;flex-direction: column;justify-content: center;gap: var(--space-md);margin: var(--space-xs);padding: var(--space-2xl);border-radius: var(--ws-radius-panel);background: var(--ws-page);}.ws-entry-shell__samples{display: flex;gap: var(--space-md);}.ws-entry-shell__sample{flex: 1;min-width: 0;padding: var(--ws-card-padding-lg);display: flex;flex-direction: column;gap: var(--space-xxs);}.ws-entry-shell__sample-figure{font-size: var(--ws-text-figure);line-height: var(--ws-leading-figure);font-weight: 400;letter-spacing: var(--ws-tracking-display);color: var(--color-text-heading);font-variant-numeric: tabular-nums;}@container ws-entry-shell (max-width: 48rem){.ws-entry-shell__aside{display: none;}}.ws-feature-grid{background: var(--color-surface);width: 100%;padding: var(--space-xl) var(--layout-margin);}.ws-feature-grid__grid{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(var(--space-9xl) + var(--space-3xl) + var(--space-sm))), 1fr));gap: var(--layout-col-gap);max-width: var(--layout-content-max);margin: 0 auto;}.ws-feature-grid__card{display: flex;flex-direction: column;align-items: flex-start;min-width: 0;border-radius: var(--ws-radius-control);border: var(--ws-line) solid var(--color-border-default);background: var(--color-surface);padding: var(--space-lg);}.ws-feature-grid__icon{width: var(--space-2xl);height: var(--space-2xl);}.ws-feature-grid__icon svg{width: var(--ws-icon-lg);height: var(--ws-icon-lg);}.ws-feature-grid__title{margin-top: var(--space-md);font-size: var(--font-size-lg2);font-weight: 600;line-height: var(--ws-leading-title);color: var(--color-text-heading);text-wrap: balance;overflow-wrap: break-word;}.ws-feature-grid__body{margin-top: var(--space-xs);margin-bottom: var(--space-md);font-size: var(--font-size-md);line-height: var(--space-lg);color: var(--color-text-primary);}.ws-feature-grid__link{position: relative;margin-top: auto;display: inline-flex;align-items: center;gap: var(--space-xxs);font-size: var(--font-size-sm);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-interactive);text-decoration: none;}@media (hover: hover){.ws-feature-grid__link:hover{text-decoration: underline;}}.ws-feature-grid__link svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}@media (pointer: coarse){.ws-feature-grid__link::after{content: "";position: absolute;inset: min(0px, calc((100% - var(--ws-touch-public)) / 2)) 0;}}@media (max-width: 40rem){.ws-feature-grid{padding-inline: var(--space-md);}}.ws-file-upload{display: flex;flex-direction: column;align-items: center;gap: var(--space-xs);padding: var(--space-lg);border-radius: var(--ws-radius-card);box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-card);text-align: center;transition: box-shadow var(--ws-duration-hover) var(--ws-ease-soft);}.ws-file-upload--drag{box-shadow: inset 0 0 0 var(--ws-line) var(--color-text-interactive);}.ws-file-upload .ws-btn > input[type="file"]{position: absolute;inset: 0;width: 100%;height: 100%;margin: 0;opacity: 0;cursor: pointer;}.ws-file-upload .ws-btn:has(> input:focus-visible){outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}.ws-file-upload__disc{width: var(--space-2xl);height: var(--space-2xl);}.ws-file-upload__disc svg{width: var(--ws-icon-lg);height: var(--ws-icon-lg);}.ws-file-upload__file{display: flex;align-items: center;gap: var(--space-xs);padding: var(--space-xs) 0;}.ws-file-upload__file-disc{width: var(--ws-control-h-sm);height: var(--ws-control-h-sm);flex-shrink: 0;}.ws-file-upload__file-disc svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-file-upload__file-body{display: flex;flex: 1;min-width: 0;flex-direction: column;gap: var(--space-3xs);}.ws-file-upload__file-name{font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 600;color: var(--color-text-heading);overflow-wrap: anywhere;}.ws-file-upload__file-meta{display: flex;align-items: center;gap: var(--space-xs);}.ws-file-upload__file-size{flex-shrink: 0;font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-muted);font-variant-numeric: tabular-nums;}.ws-file-upload__bar{flex: 1;height: var(--space-xxs);overflow: hidden;border-radius: var(--ws-radius-chip);background: var(--ws-track);}.ws-file-upload__bar-fill{display: block;height: 100%;border-radius: inherit;background: var(--color-text-heading);transition: width var(--ws-duration-gentle) var(--ws-ease-soft);}.ws-file-upload__done, .ws-file-upload__error{display: flex;align-items: center;gap: var(--space-xxs);font-size: var(--ws-text-dense);line-height: var(--space-md);}.ws-file-upload__done{color: var(--ws-word-positive);}.ws-file-upload__error{color: var(--ws-word-needs);}.ws-file-upload__done svg, .ws-file-upload__error svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);flex-shrink: 0;}.ws-filter-bar{container: ws-filter-bar / inline-size;display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--space-xs-plus) var(--space-sm);min-height: var(--ws-control-h-sm);}.ws-filter-bar__group{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xs);min-width: 0;max-width: 100%;}.ws-filter-pick{display: inline-flex;flex-shrink: 0;align-items: center;gap: var(--space-xxs-plus);max-width: 100%;height: var(--ws-control-h-sm);padding: 0 var(--space-xs) 0 var(--space-xs-plus);border: 0;border-radius: var(--ws-radius-control);background: var(--color-surface);box-shadow: var(--ws-shadow-hairline-in);color: var(--color-text-heading);font-size: var(--ws-text-dense);line-height: var(--space-md);white-space: nowrap;cursor: pointer;transition: box-shadow var(--ws-duration-hover) var(--ws-ease-soft), transform var(--ws-duration-hover) var(--ws-ease-soft);}.ws-filter-pick__label{color: var(--color-text-muted);}.ws-filter-pick__value{min-width: 0;overflow: hidden;text-overflow: ellipsis;font-weight: 500;}.ws-filter-pick svg{flex-shrink: 0;width: var(--ws-icon-sm);height: var(--ws-icon-sm);}@media (hover: hover){.ws-filter-pick:hover{box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-hover);}}@media (prefers-reduced-motion: no-preference){.ws-filter-pick:active{transform: scale(var(--ws-press-scale));transition-duration: var(--ws-duration-instant);}}@container ws-filter-bar (max-width: 76rem){.ws-filter-bar__group{gap: var(--space-xxs-plus);}.ws-filter-pick{gap: var(--space-xxs);padding: 0 var(--space-xxs-plus) 0 var(--space-xs);}.ws-filter-bar .ws-segmented--sm .ws-segmented__item{padding: 0 var(--space-xs);}}@container ws-filter-bar (max-width: 48rem){.ws-filter-pick__label{display: none;}}@media (pointer: coarse){.ws-filter-pick{min-height: var(--ws-touch);}}.ws-fold__summary{display: flex;align-items: center;cursor: pointer;list-style: none;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-fold__summary::-webkit-details-marker{display: none;}.ws-fold__summary--card{min-height: calc(var(--space-2xl) + var(--space-xxs));flex-wrap: wrap;gap: var(--space-xs);border-radius: var(--ws-radius-card-inner);padding: var(--space-xxs) var(--ws-card-padding-lg);}.ws-fold__summary--card > .ws-fold__title{flex: 1 1 0;min-width: min(100%, var(--space-8xl));}details[open] > .ws-fold__summary--card{border-bottom-left-radius: 0;border-bottom-right-radius: 0;}.ws-fold__summary--card:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-fold__body--card{padding: var(--space-xxs) var(--ws-card-padding-lg) var(--ws-card-padding-lg);}.ws-fold__summary--quiet{width: fit-content;min-height: var(--space-lg);gap: var(--space-xxs);font-weight: 500;color: var(--color-text-heading);}.ws-fold__body--quiet{display: flex;flex-direction: column;gap: var(--space-xxs);padding-top: var(--space-xxs);}.ws-fold__list{border: var(--ws-rim) solid var(--ws-tray);border-radius: var(--ws-radius-card);background: var(--color-bg-page);}.ws-fold__list > li + li{border-top: var(--ws-divider);}.ws-fold__list > li > details{border-radius: inherit;}.ws-fold__list > li:first-child > details{border-top-left-radius: var(--ws-radius-card-inner);border-top-right-radius: var(--ws-radius-card-inner);}.ws-fold__list > li:last-child > details{border-bottom-left-radius: var(--ws-radius-card-inner);border-bottom-right-radius: var(--ws-radius-card-inner);}.ws-fold__list details[open]{background: var(--ws-surface-sunk);}.ws-fold__summary--row{width: 100%;min-height: var(--ws-row-h);gap: var(--space-sm);padding: var(--space-sm) var(--space-md) var(--space-sm) var(--ws-card-inset);border-radius: inherit;}.ws-fold__summary--row:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-fold__body--row{padding: 0 var(--space-md) var(--space-md) var(--ws-card-inset);}.ws-fold__panel{border-radius: var(--ws-radius-row);background: var(--color-bg-page);padding: var(--space-lg);}@media (hover: hover){.ws-fold__summary--card:hover{background-color: var(--ws-surface-sunk);}.ws-fold__summary--row:hover{background-color: var(--ws-hover-faint);}.ws-fold__summary--quiet:hover > span{text-decoration: underline;}}:is(.ws-fold__summary--card, .ws-fold__summary--row):active{background-color: var(--ws-surface-press);transition-duration: var(--ws-duration-instant);}.ws-fold__title{font-size: var(--ws-text-section);line-height: var(--ws-leading-section);font-weight: 600;color: var(--color-text-heading);}.ws-fold__words{display: flex;flex: 1;min-width: 0;flex-direction: column;}.ws-fold__line{font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-muted);}.ws-fold__summary--row .ws-row__title{flex: 1;}.ws-fold__chevron{width: var(--ws-icon);height: var(--ws-icon);flex-shrink: 0;color: var(--color-text-heading);}details[open] > summary > .ws-fold__chevron--right{transform: rotate(90deg);}details[open] > summary > .ws-fold__chevron--down{transform: rotate(180deg);}@media (prefers-reduced-motion: no-preference){.ws-fold__chevron{transition: transform var(--ws-spring-fold-duration) var(--ws-spring-fold);}}.ws-footer{--ws-focus-color: var(--ws-on-inverse);width: 100%;background: var(--ws-inverse);padding: var(--space-4xl) var(--layout-margin);}.ws-footer__inner{max-width: var(--layout-content-max);margin: 0 auto;}.ws-footer__top{display: flex;flex-wrap: wrap;gap: var(--space-3xl);justify-content: space-between;}.ws-footer__brand{font-size: var(--font-size-lg2);line-height: var(--ws-leading-title);font-weight: 600;color: var(--ws-on-inverse);flex: 0 0 auto;}.ws-footer__cols{display: flex;flex-wrap: wrap;gap: var(--space-3xl);flex: 1 1 auto;justify-content: flex-end;}.ws-footer__col{min-width: calc(var(--space-7xl) + var(--space-md) + var(--space-xxs));display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-sm);}.ws-footer__heading{font-size: var(--font-size-2xs);line-height: var(--space-md);font-weight: 600;text-transform: uppercase;letter-spacing: var(--letter-spacing-overline);color: color-mix(in srgb, var(--ws-on-inverse) 70%, transparent);}.ws-footer__link{font-size: var(--font-size-sm);line-height: calc(var(--space-md) + var(--space-xxs));color: color-mix(in srgb, var(--ws-on-inverse) 70%, transparent);text-decoration: none;}@media (hover: hover){.ws-footer__link:hover{color: var(--ws-on-inverse);text-decoration: underline;}}.ws-footer__legal{margin-top: var(--space-3xl);padding-top: var(--space-lg);border-top: var(--ws-line) solid color-mix(in srgb, var(--ws-on-inverse) 15%, transparent);font-size: var(--font-size-2xs);line-height: var(--space-md);color: color-mix(in srgb, var(--ws-on-inverse) 70%, transparent);}@media (pointer: coarse){.ws-footer__col{gap: 0;align-items: stretch;}.ws-footer__heading{margin-bottom: var(--space-xxs);}.ws-footer__link{display: flex;align-items: center;min-height: var(--ws-touch-public);}}@media (max-width: 60rem){.ws-footer__top{flex-direction: column;gap: var(--space-xl);}.ws-footer__cols{justify-content: flex-start;gap: var(--space-xl) var(--space-lg);}}@media (max-width: 40rem){.ws-footer{padding: var(--space-3xl) var(--space-md);}.ws-footer__cols{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));}.ws-footer__col{min-width: 0;}}.ws-funnel-bars__body{display: flex;flex-direction: column;padding: var(--space-md) var(--ws-card-inset) var(--space-lg);}.ws-funnel-bars__row{display: flex;align-items: center;gap: var(--space-sm);}.ws-funnel-bars__track{position: relative;flex: 1;height: var(--space-lg);}.ws-funnel-bars__fill{display: flex;align-items: center;height: 100%;border-radius: var(--ws-radius-control);transform-origin: left;}.ws-funnel-bars__figure{display: flex;flex-shrink: 0;align-items: baseline;gap: var(--space-xxs);width: calc(var(--space-7xl) + var(--space-md) + var(--space-xxs));font-size: var(--ws-text-chart);}.ws-funnel-bars__count{font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-funnel-bars__label{color: var(--color-text-body);}.ws-funnel-bars__between{display: flex;align-items: center;gap: var(--space-xxs);padding: var(--space-xxs) 0 var(--space-xxs) var(--space-xxs);}@media (prefers-reduced-motion: no-preference){.ws-funnel-bars__fill.ws-grow{animation-duration: var(--ws-duration-fill);animation-timing-function: var(--ws-ease-settle);animation-delay: calc(var(--i, 0) * var(--ws-stagger-row));}}.ws-goal-bars{display: grid;grid-template-columns: minmax(0, 1fr) minmax(calc(var(--space-md) + var(--space-3xs)), auto) auto fit-content(var(--space-7xl));row-gap: var(--space-md);container-type: inline-size;}.ws-goal-bars--in-card{padding: var(--ws-card-inset) var(--ws-card-inset) var(--space-2xl);}.ws-goal-bars__row{display: grid;grid-column: 1 / -1;grid-template-columns: subgrid;align-items: center;}.ws-goal-bars__meter{position: relative;min-width: 0;height: calc(var(--space-lg) + var(--space-xxs));margin-right: var(--space-xs);}.ws-goal-bars__track{position: absolute;inset: 0 var(--space-lg) 0 0;border: var(--ws-line) solid color-mix(in srgb, var(--tone) 50%, transparent);border-radius: var(--radius-full);background: var(--color-bg-page);}.ws-goal-bars__fillbox{position: absolute;inset: 0 calc(var(--space-lg) + var(--space-xxs)) 0 var(--space-xxs);}.ws-goal-bars__not-yet{position: absolute;top: 50%;right: var(--space-xs);left: calc(var(--pct) + var(--space-xxs));height: calc(var(--space-md) + var(--ws-line));translate: 0 -50%;background-image: radial-gradient(circle, color-mix(in srgb, var(--tone) 40%, transparent) calc(var(--ws-hairline) * 1.1), transparent calc(var(--ws-hairline) * 1.5));background-size: calc(var(--ws-hairline) * 6.82) calc(var(--space-3xs) + var(--ws-line));-webkit-mask-image: linear-gradient(to bottom, var(--ws-mask) 0 var(--space-xxs), transparent 0 calc(var(--space-sm) + var(--ws-line)), var(--ws-mask) 0);mask-image: linear-gradient(to bottom, var(--ws-mask) 0 var(--space-xxs), transparent 0 calc(var(--space-sm) + var(--ws-line)), var(--ws-mask) 0);}.ws-goal-bars__fill{position: absolute;left: 0;top: 50%;width: var(--pct);height: calc(var(--space-md) + var(--space-3xs));translate: 0 -50%;transform-origin: left;border-radius: var(--radius-full);background: linear-gradient(90deg in srgb, var(--tone-fade), var(--tone));}.ws-goal-bars__leader{position: absolute;top: calc(50% - var(--ws-line) / 2);left: max(0px, calc(var(--pct) - var(--space-xs)));right: calc(var(--space-lg) * -1);height: var(--ws-line);background: color-mix(in srgb, var(--tone) 50%, transparent);}.ws-goal-bars__dot{position: absolute;right: 0;top: 50%;width: calc(var(--space-xs) * 0.875);height: calc(var(--space-xs) * 0.875);translate: 0 -50%;border-radius: var(--radius-full);background: var(--tone);}.ws-goal-bars__count{white-space: nowrap;text-align: right;font-size: var(--ws-text-value);font-weight: 600;line-height: var(--ws-leading-row);color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-goal-bars__of{font-weight: 500;color: var(--color-text-muted);}.ws-goal-bars__divider{width: var(--ws-line);height: calc(var(--space-md) + var(--space-xxs));margin: 0 var(--space-xxs);background: var(--ws-edge-card);}.ws-goal-bars__words{display: flex;min-width: 0;flex-direction: column;}.ws-goal-bars__label{min-width: 0;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-size: var(--ws-text-value);font-weight: 500;line-height: var(--ws-leading-row);color: var(--color-text-heading);text-decoration: none;}.ws-goal-bars__line{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-muted);}a.ws-goal-bars__label{border-radius: var(--ws-radius-chip);}@media (hover: hover){a.ws-goal-bars__label:hover{text-decoration: underline;}}@media (prefers-reduced-motion: no-preference){.ws-goal-bars--draw .ws-goal-bars__fill{animation: ws-grow var(--ws-duration-fill) var(--ws-ease-settle) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--i, 0) * var(--ws-stagger-row));}}.ws-goal-bars--wide{grid-template-columns: minmax(0, 0.8fr) minmax(calc(var(--space-md) + var(--space-3xs)), auto) auto minmax(0, 1.2fr);}.ws-goal-bars--wide .ws-goal-bars__label{white-space: normal;}.ws-goal-bars--label-first{grid-template-columns: minmax(0, 1fr) minmax(0, auto) calc(var(--space-xl) + var(--space-xxs));row-gap: 0;}.ws-goal-bars--label-first .ws-goal-bars__row{column-gap: var(--space-md);min-height: var(--space-2xl);}.ws-goal-bars--label-first .ws-goal-bars__row + .ws-goal-bars__row{border-top: var(--ws-divider);}.ws-goal-bars--label-first .ws-goal-bars__label{font-size: var(--ws-text-chart);font-weight: 400;}.ws-goal-bars__bar{position: relative;width: calc(var(--space-9xl) * 2 + var(--space-3xs));max-width: 100%;height: var(--space-sm);border-radius: var(--ws-radius-chip);background-image: radial-gradient(circle, color-mix(in srgb, var(--tone) 55%, transparent) var(--ws-line), transparent calc(var(--ws-line) * 1.2));background-size: var(--space-xxs) var(--space-xxs);}.ws-goal-bars__bar-fill{position: absolute;inset: 0 auto 0 0;width: var(--pct);border-radius: var(--ws-radius-chip);background: var(--tone);transform-origin: left;}.ws-goal-bars--label-first .ws-goal-bars__count{text-align: right;}@container (max-width: 30rem){.ws-goal-bars--label-first .ws-goal-bars__row{grid-template-columns: minmax(0, 1fr) auto;row-gap: var(--space-xs);padding-block: var(--space-sm);}.ws-goal-bars--label-first .ws-goal-bars__bar{grid-column: 1 / -1;grid-row: 2;width: 100%;}}@media (prefers-reduced-motion: no-preference){.ws-goal-bars--draw .ws-goal-bars__bar-fill{animation: ws-grow var(--ws-duration-fill) var(--ws-ease-settle) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--i, 0) * var(--ws-stagger-row));}}.ws-goal-ticks--in-card{padding: 0 var(--ws-card-inset) var(--space-sm);}.ws-goal-ticks__figure{display: flex;flex-wrap: wrap;align-items: flex-end;gap: var(--space-xxs) var(--space-xs);}.ws-goal-ticks__number{font-size: calc(var(--ws-text-display) + var(--space-xs));line-height: calc(var(--ws-text-display) + var(--space-xs));font-weight: 400;letter-spacing: var(--ws-tracking-display);color: var(--color-text-heading);font-variant-numeric: proportional-nums;}.ws-goal-ticks__figure--small .ws-goal-ticks__number{font-size: var(--ws-text-display);line-height: var(--ws-text-display);}.ws-goal-ticks__change{margin-bottom: var(--space-xs-plus);}.ws-goal-ticks__number:has(~ .ws-goal-ticks__caption), .ws-goal-ticks__caption{align-self: baseline;}.ws-goal-ticks__caption{font-size: var(--ws-text-body);font-weight: 500;line-height: var(--ws-leading-row);color: var(--color-text-muted);}.ws-goal-ticks__strip{--n: 20;display: grid;grid-template-columns: repeat(var(--n), minmax(0, 1fr));gap: var(--space-xxs);margin-top: calc(var(--space-md) + var(--space-xxs));container-type: inline-size;}.ws-goal-ticks__tick{height: var(--space-4xl);border-radius: var(--ws-radius-bar);transform-origin: bottom;}.ws-goal-ticks__tick--empty{background: var(--ws-track);}.ws-goal-ticks__tick--lit{background-image: linear-gradient(90deg, var(--ws-chart-under-half), var(--ws-chart-past-half) 50%, var(--ws-chart-finished));background-size: 100cqw 100%;background-position: calc(var(--i) * -1 * ((100cqw - (var(--n) - 1) * var(--space-xxs)) / var(--n) + var(--space-xxs))) 0;}@media (prefers-reduced-motion: no-preference){.ws-goal-ticks__tick--lit{animation: ws-grow-up calc(var(--ws-duration-draw) * 0.45) var(--ws-ease-settle) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-duration-draw) * 0.55 * var(--i, 0) / max(var(--n) - 1, 1));}}.ws-goal-ticks__key{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xxs) var(--space-sm);margin-top: var(--space-sm);font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-muted);}.ws-goal-ticks__key-item{display: inline-flex;align-items: center;gap: var(--space-xxs-plus);}.ws-goal-ticks__key-item::before{content: "";width: var(--space-xs-plus);height: var(--space-xs-plus);border-radius: var(--ws-radius-bar);background: linear-gradient(90deg, var(--ws-chart-under-half), var(--ws-chart-past-half) 50%, var(--ws-chart-finished));}.ws-goal-ticks__key-item--empty::before{background: var(--ws-track);}.ws-goal-ticks__key-note{margin-left: auto;}.ws-goal-ticks__rows{display: grid;grid-template-columns: fit-content(50%) minmax(0, 1fr) minmax(calc(var(--space-lg) + var(--space-xxs) / 2), auto);margin: calc(var(--space-md) + var(--space-xxs)) 0 calc(var(--space-xxs) * -1);}.ws-goal-ticks__row{display: grid;grid-column: 1 / -1;grid-template-columns: subgrid;align-items: center;padding: var(--space-sm) 0;border-top: var(--ws-divider);}.ws-goal-ticks__row:first-child{border-top: 0;}.ws-goal-ticks__row-label{min-width: 0;padding-right: var(--space-md);overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-size: var(--ws-text-message);line-height: var(--ws-leading-row);color: var(--color-text-heading);}.ws-goal-ticks__row .ws-tick-row{justify-content: flex-end;}.ws-goal-ticks__row-value{text-align: right;font-size: var(--ws-text-value);font-weight: 600;line-height: var(--ws-leading-row);color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-goal-tubes{display: grid;grid-auto-flow: column;grid-auto-columns: minmax(0, 1fr);gap: var(--space-xxs);}.ws-goal-tubes--in-card{padding: var(--space-xl) var(--ws-card-inset) var(--ws-card-inset);}.ws-goal-tubes__tube{display: flex;min-width: 0;flex-direction: column;align-items: center;padding: 0 var(--space-xxs);}.ws-goal-tubes__value{font-size: var(--ws-text-value);font-weight: 600;line-height: calc(var(--space-md) + var(--space-xxs) / 2);color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-goal-tubes__dot{width: calc(var(--space-xxs) * 1.75);height: calc(var(--space-xxs) * 1.75);margin: var(--space-xxs-plus) 0 var(--space-sm);border-radius: var(--radius-full);background: var(--tone);}.ws-goal-tubes__wrap{position: relative;display: flex;width: 100%;justify-content: center;}.ws-goal-tubes__body{position: relative;width: 100%;max-width: var(--space-6xl);height: calc(var(--space-9xl) + var(--space-md));border: var(--ws-line) solid color-mix(in srgb, var(--tone) 50%, transparent);border-radius: var(--ws-radius-card);}.ws-goal-tubes__body--short{height: var(--space-7xl);}.ws-goal-tubes__inner{position: absolute;inset: calc(var(--space-xxs) - var(--ws-line));}.ws-goal-tubes__not-yet{position: absolute;left: calc(var(--space-xxs) * 0.375);right: calc(var(--space-xxs) * 0.375);top: calc(var(--space-xxs) * 1.375);bottom: calc(var(--pct) + var(--space-xxs) * 1.125);display: flex;gap: var(--space-xs);}.ws-goal-tubes__not-yet > span{flex: 1;min-width: 0;background-image: radial-gradient(circle, color-mix(in srgb, var(--tone) 55%, transparent) calc(var(--ws-hairline) * 1.1), transparent calc(var(--ws-hairline) * 1.7));background-size: calc(var(--space-xs) * 0.425) calc(var(--space-xs) * 0.425);}.ws-goal-tubes__leader{position: absolute;left: 50%;top: calc((var(--space-md) + var(--space-xxs)) * -1);bottom: var(--pct);width: var(--ws-line);transform: translateX(-50%);background: color-mix(in srgb, var(--tone) 50%, transparent);}.ws-goal-tubes__fill{position: absolute;inset-inline: 0;bottom: 0;height: var(--pct);transform-origin: bottom;border-radius: var(--ws-radius-control);background: linear-gradient(to bottom in srgb, var(--tone), var(--tone-fade));}.ws-goal-tubes__baseline{position: absolute;bottom: 0;left: calc(var(--space-xxs) * -1);right: calc(var(--space-xxs) * -1);height: var(--ws-line);background: var(--ws-edge);}.ws-goal-tubes__label{margin-top: var(--space-sm);text-align: center;line-height: calc(var(--space-md) + var(--space-xxs) / 4);}.ws-goal-tubes__label--lead{font-size: var(--ws-text-body);font-weight: 500;color: var(--color-text-heading);}@media (prefers-reduced-motion: no-preference){.ws-goal-tubes__fill.ws-grow-up{animation-duration: var(--ws-duration-fill);animation-timing-function: var(--ws-ease-settle);animation-delay: calc(var(--ws-build-at, 0s) + var(--i, 0) * var(--ws-stagger-row));}}.ws-heatmap{--ws-heat-5: color-mix(in srgb, var(--ws-chart-finished) 38%, var(--color-bg-page));--ws-heat-4: color-mix(in srgb, var(--ws-chart-finished) 24%, var(--color-bg-page));--ws-heat-3: color-mix(in srgb, var(--ws-chart-finished) 12%, var(--color-bg-page));--ws-heat-2: var(--ws-word-past-half);--ws-heat-1: var(--ws-word-needs-work);border: var(--ws-line) solid var(--ws-edge-slot);border-radius: var(--ws-radius-bubble);padding: 0 var(--ws-card-inset) var(--ws-card-inset);}.ws-heatmap__head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--space-sm) var(--space-md);margin: 0 calc(var(--ws-card-inset) * -1) var(--space-xxs);padding: var(--space-sm-plus) var(--ws-card-inset) var(--space-sm);border-bottom: var(--ws-line) solid var(--ws-edge-slot);}.ws-heatmap__key{display: flex;min-width: 0;flex-wrap: wrap;align-items: flex-start;gap: var(--space-xs) var(--space-xs-plus);}.ws-heatmap__key-arm{display: flex;min-width: 0;gap: var(--space-3xs);}.ws-heatmap__swatch{display: flex;flex: 0 1 auto;min-width: 0;width: calc(var(--space-3xl) + var(--space-3xs));flex-direction: column;align-items: center;gap: calc(var(--space-3xs) + var(--ws-line));font-size: var(--ws-text-micro);line-height: var(--ws-leading-micro);color: var(--color-text-body);white-space: nowrap;}.ws-heatmap__swatch::before{content: "";width: 100%;height: var(--space-xs);border-radius: var(--ws-radius-chip);background: var(--heat, transparent);box-shadow: inset 0 0 0 var(--ws-hairline) var(--edge, transparent);}.ws-heatmap__swatch--none{align-items: flex-start;}.ws-heatmap__swatch--none::before{--edge: var(--ws-edge-card);}.ws-heatmap__scroll{position: relative;overflow-x: auto;overscroll-behavior-x: contain;}.ws-heatmap__grid{display: grid;min-width: calc(var(--cols, 6) * var(--space-8xl));}.ws-heatmap__row{display: grid;grid-template-columns: repeat(var(--cols, 6), minmax(0, 1fr));min-height: calc(var(--space-5xl) + var(--space-xs));}.ws-heatmap__lane{position: relative;display: flex;align-items: center;gap: var(--space-xs-plus);padding: var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md);min-width: 0;}.ws-heatmap__lane .ws-ring__arc{flex-shrink: 0;}.ws-heatmap__lane-name{display: flex;min-width: 0;flex-direction: column;gap: var(--space-3xs);}.ws-heatmap__lane-name > b{font-size: var(--ws-text-value);font-weight: 600;line-height: var(--ws-leading-row);letter-spacing: var(--ws-tracking-title);color: var(--color-text-heading);overflow-wrap: break-word;text-wrap: balance;}.ws-heatmap__lane-name > small{font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-body);}.ws-heatmap__cell{--ink: var(--color-text-heading);--sub: var(--color-text-body);position: relative;display: flex;min-width: 0;min-height: calc(var(--space-5xl) + var(--space-xs));flex-direction: column;justify-content: space-between;gap: var(--space-xxs);padding: var(--space-sm) var(--space-sm-plus);border: 0;background: var(--heat, var(--color-bg-page));box-shadow: inset 0 0 0 var(--ws-line) var(--color-bg-page);color: var(--ink);text-align: left;cursor: pointer;}@media (prefers-reduced-motion: no-preference){.ws-heatmap__cell{transition: opacity var(--ws-duration-hover) var(--ws-ease-soft), color var(--ws-duration-hover) var(--ws-ease-soft), background-color var(--ws-duration-morph) var(--ws-ease-soft), box-shadow var(--ws-duration-hover) var(--ws-ease-soft);}}@media (hover: hover){.ws-heatmap__cell:hover:not(:focus-visible){box-shadow: inset 0 0 0 var(--ws-line) var(--color-bg-page), inset 0 0 0 100vmax var(--ws-hover);}}.ws-heatmap__cell:focus-visible{outline: none;box-shadow: inset 0 0 0 var(--ws-line) var(--color-bg-page), inset 0 0 0 calc(var(--ws-line) + var(--ws-focus-width)) var(--ws-focus-color);}.ws-heatmap__label{display: -webkit-box;overflow: hidden;-webkit-box-orient: vertical;-webkit-line-clamp: 2;line-clamp: 2;font-size: var(--ws-text-control);font-weight: 500;line-height: var(--space-md);color: var(--sub);}.ws-heatmap__foot{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: 0 var(--space-xs);}.ws-heatmap__value{font-size: var(--font-size-xl);font-weight: 500;line-height: var(--ws-leading-title);letter-spacing: var(--ws-tracking-display);white-space: nowrap;font-variant-numeric: tabular-nums;}.ws-heatmap__flag{margin-left: auto;font-size: var(--ws-text-dense);font-weight: 600;line-height: var(--space-md);white-space: nowrap;font-variant-numeric: tabular-nums;}.ws-heatmap__cell--h5{--heat: var(--ws-heat-5);--sub: var(--color-text-heading);}.ws-heatmap__cell--h4{--heat: var(--ws-heat-4);}.ws-heatmap__cell--h3{--heat: var(--ws-heat-3);}.ws-heatmap__cell--h2{--heat: var(--ws-heat-2);--ink: var(--ws-on-act);--sub: var(--ws-on-act);}.ws-heatmap__cell--h1{--heat: var(--ws-heat-1);--ink: var(--ws-on-act);--sub: var(--ws-on-act);}.ws-heatmap__cell--none{--heat: transparent;--sub: var(--color-text-muted);}.ws-heatmap__cell--none .ws-heatmap__flag{font-weight: 400;color: var(--color-text-muted);}.ws-heatmap--accent .ws-heatmap__cell{--heat: var(--color-bg-page);--ink: var(--color-text-heading);--sub: var(--color-text-body);}.ws-heatmap--accent .ws-heatmap__cell::before{content: "";position: absolute;left: 0;top: var(--space-sm-plus);bottom: var(--space-sm-plus);width: var(--ws-halo);border-radius: 0 var(--ws-radius-chip) var(--ws-radius-chip) 0;background: var(--bar, transparent);}.ws-heatmap--accent .ws-heatmap__cell--h5, .ws-heatmap--accent .ws-heatmap__cell--h4, .ws-heatmap--accent .ws-heatmap__cell--h3{--bar: var(--ws-chart-finished);}.ws-heatmap--accent .ws-heatmap__cell--h2{--bar: var(--ws-chart-past-half);}.ws-heatmap--accent .ws-heatmap__cell--h2 .ws-heatmap__flag{color: var(--ws-word-past-half);}.ws-heatmap--accent .ws-heatmap__cell--h1{--bar: var(--ws-chart-needs-work);}.ws-heatmap--accent .ws-heatmap__cell--h1 .ws-heatmap__flag{color: var(--ws-word-needs-work);}.ws-heatmap__grid--lanes{grid-template-columns: repeat(var(--lanes, 7), minmax(0, 1fr));grid-auto-flow: column;grid-template-rows: calc(var(--space-3xl) + var(--space-xs-plus)) repeat(var(--rows, 5), minmax(calc(var(--space-5xl) + var(--space-xs)), auto));min-width: calc(var(--lanes, 7) * (var(--space-8xl) - var(--space-md)));}.ws-heatmap__lane-head{display: flex;min-width: 0;flex-direction: column;justify-content: space-between;gap: var(--space-xxs);padding: var(--space-xs-plus) var(--space-sm-plus) var(--space-xs-plus);border: 0;background: none;color: var(--color-text-heading);text-align: left;cursor: pointer;}.ws-heatmap__lane-title{display: flex;min-width: 0;align-items: center;gap: var(--space-xxs);font-size: var(--ws-text-control);font-weight: 500;line-height: var(--ws-leading-control);}.ws-heatmap__lane-title > span{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}.ws-heatmap__go{flex-shrink: 0;width: var(--ws-icon-sm);height: var(--ws-icon-sm);opacity: 0;transform: translateX(calc(var(--ws-nudge) * -1));}@media (prefers-reduced-motion: no-preference){.ws-heatmap__go{transition: opacity var(--ws-duration-hover) ease, transform var(--ws-duration-settle) var(--ws-ease-soft);}}.ws-heatmap__lane-head:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-heatmap__lane-head:focus-visible .ws-heatmap__go{opacity: 1;transform: none;}@media (hover: hover){.ws-heatmap__lane-head:hover .ws-heatmap__go{opacity: 1;transform: none;}}.ws-heatmap__lane-bar{display: flex;align-items: center;gap: var(--space-xs);}.ws-heatmap__lane-bar .ws-pace-bar{flex: 1;}.ws-heatmap__lane-bar > b{min-width: calc(var(--space-lg) - var(--space-3xs));font-size: var(--ws-text-body);font-weight: 600;line-height: var(--ws-leading-row);text-align: right;font-variant-numeric: tabular-nums;}.ws-heatmap--linking .ws-heatmap__cell:not(.ws-heatmap__cell--lit){--ink: var(--color-text-muted);--sub: var(--color-text-muted);background: color-mix(in srgb, var(--heat, var(--color-bg-page)) calc(var(--ws-dim) * 100%), var(--color-bg-page));}.ws-heatmap--linking .ws-heatmap__cell:not(.ws-heatmap__cell--lit) .ws-heatmap__flag{color: var(--ink);}.ws-heatmap--linking .ws-heatmap__cell:not(.ws-heatmap__cell--lit)::before{opacity: var(--ws-dim);}@keyframes ws-heatmap-in{from{opacity: 0;}}@media (prefers-reduced-motion: no-preference){.ws-heatmap--build .ws-heatmap__cell{animation: ws-heatmap-in var(--ws-duration-draw) var(--ws-ease-steady) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-duration-hover) + var(--i, 0) * var(--ws-stagger-row) * 2);}}.ws-heatmap__cell:has(> .ws-heatmap__open){--ws-heat-open: 0;--ws-heat-show: hidden;--ws-heat-hit: none;--ws-heat-grow-wait: var(--ws-hover-leave);--ws-heat-fade: var(--ws-duration-exit);--ws-heat-fade-wait: calc(var(--ws-hover-leave) * 2);--ws-heat-hide-wait: calc(var(--ws-hover-leave) + var(--ws-spring-tile-duration));--ws-heat-detail: none;--ws-heat-fill: none;--ws-heat-dot: none;z-index: var(--ws-heat-open);}.ws-heatmap__cell:has(> .ws-heatmap__open):is(:focus-visible, [aria-expanded="true"]){--ws-heat-open: 1;--ws-heat-show: visible;--ws-heat-hit: auto;--ws-heat-grow-wait: var(--ws-hover-intent);--ws-heat-fade: 0s;--ws-heat-fade-wait: var(--ws-hover-intent);--ws-heat-hide-wait: var(--ws-hover-intent);--ws-heat-detail: ws-heatmap-detail;--ws-heat-fill: ws-grow;--ws-heat-dot: ws-heatmap-dot;}@media (hover: hover){.ws-heatmap__cell:has(> .ws-heatmap__open):hover{--ws-heat-open: 1;--ws-heat-show: visible;--ws-heat-hit: auto;--ws-heat-grow-wait: var(--ws-hover-intent);--ws-heat-fade: 0s;--ws-heat-fade-wait: var(--ws-hover-intent);--ws-heat-hide-wait: var(--ws-hover-intent);--ws-heat-detail: ws-heatmap-detail;--ws-heat-fill: ws-grow;--ws-heat-dot: ws-heatmap-dot;}}.ws-heatmap__open{position: absolute;inset: 0 0 auto;z-index: -1;display: grid;grid-template-rows: calc(var(--space-5xl) + var(--space-xs)) auto auto minmax(0, 1fr);row-gap: var(--space-xxs);height: calc(100% + 100% * var(--ws-heat-open, 0));padding: 0 var(--space-sm-plus);overflow: hidden;background: var(--heat, var(--color-bg-page));box-shadow: var(--ws-shadow-pop);visibility: var(--ws-heat-show, hidden);opacity: var(--ws-heat-open, 0);pointer-events: var(--ws-heat-hit, none);}.ws-heatmap__cell--none > .ws-heatmap__open{background: var(--color-bg-page);}.ws-heatmap__open::before{content: "";}.ws-heatmap__cell:focus-visible > .ws-heatmap__open{box-shadow: inset 0 0 0 var(--ws-line) var(--color-bg-page), inset 0 0 0 calc(var(--ws-line) + var(--ws-focus-width)) var(--ws-focus-color), var(--ws-shadow-pop);}:is(.ws-heatmap__row:last-child > .ws-heatmap__cell, .ws-heatmap__grid--lanes > .ws-heatmap__cell:is(:last-child, :has(+ .ws-heatmap__lane-head))) > .ws-heatmap__open{inset: auto 0 0;}:is(.ws-heatmap__row:last-child > .ws-heatmap__cell, .ws-heatmap__grid--lanes > .ws-heatmap__cell:is(:last-child, :has(+ .ws-heatmap__lane-head))):has(> .ws-heatmap__open) > :is(.ws-heatmap__label, .ws-heatmap__foot){translate: 0 calc((var(--space-5xl) + var(--space-xs)) * var(--ws-heat-open) * -1);}.ws-heatmap__share{font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 600;color: var(--ink);}.ws-heatmap__open .ws-pace-bar{--tone: var(--ink);--ws-track: color-mix(in srgb, var(--ink) 20%, transparent);}.ws-heatmap__open .ws-pace-bar__gap{background: transparent;}.ws-heatmap__door{display: flex;align-items: center;justify-content: space-between;gap: var(--space-xs);align-self: end;min-height: var(--ws-control-h);margin: 0 calc(var(--space-sm-plus) * -1);padding: 0 var(--space-xs) 0 var(--space-sm-plus);background: color-mix(in srgb, var(--ink) 8%, transparent);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--ink);}.ws-heatmap__door > svg{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);}@keyframes ws-heatmap-detail{from{opacity: 0;translate: 0 var(--ws-rise);}}@keyframes ws-heatmap-dot{from{scale: 0;}}@media (prefers-reduced-motion: no-preference){.ws-heatmap__cell:has(> .ws-heatmap__open){transition: opacity var(--ws-duration-hover) var(--ws-ease-soft), color var(--ws-duration-hover) var(--ws-ease-soft), background-color var(--ws-duration-morph) var(--ws-ease-soft), box-shadow var(--ws-duration-hover) var(--ws-ease-soft), z-index 0s linear var(--ws-heat-hide-wait);}.ws-heatmap__open{transition: height var(--ws-spring-tile-duration) var(--ws-spring-tile) var(--ws-heat-grow-wait), opacity var(--ws-heat-fade) var(--ws-ease-exit) var(--ws-heat-fade-wait), visibility 0s linear var(--ws-heat-hide-wait);}.ws-heatmap__cell:has(> .ws-heatmap__open) > :is(.ws-heatmap__label, .ws-heatmap__foot){transition: translate var(--ws-spring-tile-duration) var(--ws-spring-tile) var(--ws-heat-grow-wait);}.ws-heatmap__open > *{animation: var(--ws-heat-detail) var(--ws-duration-settle) var(--ws-ease-soft) backwards;animation-delay: calc(var(--ws-hover-intent) * 2);}.ws-heatmap__open > :nth-child(2){animation-delay: calc(var(--ws-hover-intent) * 2 + var(--ws-stagger-square));}.ws-heatmap__open > :nth-child(3){animation-delay: calc(var(--ws-hover-intent) * 2 + var(--ws-stagger-square) * 2);}.ws-heatmap__open .ws-pace-bar__fill{animation: var(--ws-heat-fill) var(--ws-duration-fill) var(--ws-ease-settle) backwards;animation-delay: calc(var(--ws-hover-intent) * 2 + var(--ws-stagger-square));}.ws-heatmap__open .ws-pace-bar__dot{animation: var(--ws-heat-dot) var(--ws-spring-mark-duration) var(--ws-spring-mark) backwards;animation-delay: calc(var(--ws-hover-intent) * 2 + var(--ws-stagger-square) + var(--ws-duration-text));}}.ws-hero{background: var(--color-surface);width: 100%;padding: 0 var(--layout-margin);}.ws-hero__inner{max-width: var(--layout-content-max);margin: 0 auto;padding: var(--space-3xl) 0;display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-3xl);}.ws-hero__copy{flex: 2 1 calc(var(--space-9xl) * 1.9);min-width: 0;}.ws-hero__eyebrow{margin-bottom: var(--space-sm);}.ws-hero__headline{font-size: var(--font-size-5xl);line-height: var(--space-4xl);font-weight: 600;color: var(--color-text-heading);margin: 0;text-wrap: balance;overflow-wrap: break-word;}.ws-hero__lead{margin-top: var(--space-md);font-size: var(--font-size-lg);line-height: var(--ws-leading-title);color: var(--color-text-primary);max-width: 46ch;}.ws-hero__acts{margin-top: var(--space-xl);display: flex;flex-wrap: wrap;gap: var(--space-md);}.ws-hero__media{flex: 1 1 calc(var(--space-9xl) + var(--space-5xl));min-width: 0;max-width: calc(var(--space-9xl) + var(--space-8xl));}.ws-hero__shot{border-radius: var(--ws-radius-control);border: var(--ws-line) solid var(--color-border-default);background: var(--color-surface);height: calc(var(--space-9xl) + var(--space-5xl));display: flex;align-items: center;justify-content: center;}.ws-hero__shot-inner{width: 100%;height: 100%;border-radius: calc(var(--ws-radius-control) - var(--ws-line));}@media (max-width: 40rem){.ws-hero{padding-inline: var(--space-md);}.ws-hero__headline{font-size: var(--font-size-3xl);line-height: var(--space-3xl);}.ws-hero__acts{flex-direction: column;align-items: stretch;}}.ws-hover-card{--ws-hover-card-x: var(--space-sm-plus);--ws-hover-card-anchor: 50%;position: relative;display: flex;flex-direction: column;width: max-content;min-width: calc(var(--space-8xl) + var(--space-xs));max-width: min(var(--ws-thing-width), calc(100vw - var(--space-xl)));padding: var(--space-sm) var(--ws-hover-card-x) var(--space-xs-plus);border-radius: var(--ws-radius-card);background: var(--ws-raised);box-shadow: var(--ws-shadow-hairline), var(--ws-shadow-tip);font-size: var(--ws-text-dense);line-height: var(--ws-leading-control);color: var(--color-text-body);}.ws-hover-card__eyebrow{display: flex;align-items: center;gap: var(--space-xxs-plus);margin-bottom: var(--space-3xs);font-size: var(--ws-text-micro);line-height: var(--space-md);color: var(--color-text-muted);}.ws-hover-card__swatch{flex-shrink: 0;width: var(--space-xs);height: var(--space-xs);border-radius: var(--ws-radius-chip);background: var(--ws-hover-card-swatch, currentColor);}.ws-hover-card__title{margin-bottom: var(--space-xs);font-size: var(--font-size-md);line-height: var(--ws-leading-row);font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-hover-card__row{display: flex;align-items: flex-start;gap: var(--space-xs);padding-block: var(--space-3xs);}.ws-hover-card__row > .ws-hover-card__swatch{margin-block: calc((var(--ws-leading-control) - var(--space-xs)) / 2);}.ws-hover-card__label{flex: 1;min-width: 0;padding-right: var(--ws-card-inset);}.ws-hover-card__value{flex-shrink: 0;font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-hover-card__row--rule{margin: var(--space-xxs-plus) calc(var(--ws-hover-card-x) * -1) 0;padding: var(--space-xs) var(--ws-hover-card-x) var(--space-3xs);border-top: var(--ws-hairline) solid var(--ws-edge-card);}.ws-hover-card__row--rule .ws-hover-card__label{font-weight: 500;color: var(--color-text-heading);}.ws-hover-card:has(> .ws-hover-card__foot){padding-bottom: 0;}.ws-hover-card__foot{display: flex;align-items: center;gap: var(--space-xxs-plus);margin: var(--space-xs) calc(var(--ws-hover-card-x) * -1) 0;padding: var(--space-xs) var(--ws-hover-card-x);border: 0;border-top: var(--ws-hairline) solid var(--ws-edge-card);border-radius: 0 0 var(--ws-radius-card) var(--ws-radius-card);background: none;font-size: var(--ws-text-dense);line-height: var(--space-md);font-weight: 500;color: var(--color-text-heading);text-align: left;cursor: pointer;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-hover-card__foot:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}@media (hover: hover){.ws-hover-card__foot:hover{background: var(--ws-hover);}}@media (pointer: coarse){.ws-hover-card__foot{min-height: var(--ws-touch);}}.ws-hover-card--compact{gap: var(--space-3xs);min-width: 0;padding: var(--space-xs) var(--space-xs-plus);border-radius: var(--ws-radius-row);}.ws-hover-card--compact .ws-hover-card__title{margin-bottom: 0;font-size: var(--ws-text-dense);line-height: var(--space-md);}.ws-hover-card__line{font-size: var(--ws-text-micro);line-height: var(--ws-leading-micro);color: var(--color-text-body);}.ws-hover-card--above, .ws-hover-card--below{position: absolute;z-index: var(--z-dropdown);}.ws-hover-card--above{translate: calc(var(--ws-hover-card-anchor) * -1) calc(-100% - var(--space-xs));transform-origin: var(--ws-hover-card-anchor) 100%;}.ws-hover-card--below{translate: calc(var(--ws-hover-card-anchor) * -1) var(--space-xs);transform-origin: var(--ws-hover-card-anchor) 0;}.ws-hover-card--above::after, .ws-hover-card--below::after{content: "";position: absolute;left: var(--ws-hover-card-anchor);width: var(--space-xs);height: var(--space-xs);background: var(--ws-raised);}.ws-hover-card--above::after{top: 100%;border-right: var(--ws-hairline) solid var(--ws-edge-card);border-bottom: var(--ws-hairline) solid var(--ws-edge-card);clip-path: polygon(100% 0, 100% 100%, 0 100%);transform: translate(-50%, calc(var(--ws-nudge) * -1)) rotate(45deg);box-shadow: inset 0 0 0 var(--space-xs) transparent;transition: box-shadow var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){.ws-hover-card--above:has(> .ws-hover-card__foot:hover)::after{box-shadow: inset 0 0 0 var(--space-xs) var(--ws-hover);}}.ws-hover-card--below::after{bottom: 100%;border-top: var(--ws-hairline) solid var(--ws-edge-card);border-left: var(--ws-hairline) solid var(--ws-edge-card);clip-path: polygon(0 0, 100% 0, 0 100%);transform: translate(-50%, var(--ws-nudge)) rotate(45deg);}.ws-hover-card--start{--ws-hover-card-anchor: 20%;}.ws-hover-card--end{--ws-hover-card-anchor: 80%;}.ws-hover-card{--ws-hover-card-from: var(--ws-rise);--ws-hover-card-to: var(--ws-nudge);}.ws-hover-card--below{--ws-hover-card-from: calc(var(--ws-rise) * -1);--ws-hover-card-to: calc(var(--ws-nudge) * -1);}@keyframes ws-hover-card-in{from{opacity: 0;transform: translateY(var(--ws-hover-card-from)) scale(0.9);}}@keyframes ws-hover-card-out{to{opacity: 0;transform: translateY(var(--ws-hover-card-to)) scale(var(--ws-pop-scale));}}@media (prefers-reduced-motion: no-preference){.ws-hover-card{animation: ws-hover-card-in var(--ws-spring-pop-duration) var(--ws-spring-pop) backwards;}.ws-hover-card > *{animation: ws-settle var(--ws-duration-settle) var(--ws-ease-soft) backwards;animation-delay: calc((sibling-index() - 1) * var(--ws-stagger-row));}.ws-hover-card[data-leaving]{animation: ws-hover-card-out var(--ws-duration-exit) var(--ws-ease-exit) forwards;pointer-events: none;}.ws-hover-card--follow{transition: left var(--ws-spring-follow-duration) var(--ws-spring-follow), top var(--ws-spring-follow-duration) var(--ws-spring-follow);}}.ws-kanban-board{--ws-kanban-board-ground: var(--ws-surface-sunk);display: flex;align-items: flex-start;gap: var(--space-sm);max-width: 100%;overflow-x: auto;padding: var(--space-xxs);margin: calc(var(--space-xxs) * -1);scroll-snap-type: x proximity;scroll-padding-inline: var(--space-xxs);overscroll-behavior-x: contain;scrollbar-width: thin;}.ws-kanban-board:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-kanban-board__column{flex: 0 0 auto;width: min(calc(var(--space-9xl) + var(--space-5xl)), calc(100% - var(--space-2xl)));display: flex;flex-direction: column;gap: var(--space-xs);padding: var(--space-xs);border-radius: var(--ws-radius-card);background: var(--ws-kanban-board-ground);scroll-snap-align: start;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}[data-theme="dark"] .ws-kanban-board{--ws-kanban-board-ground: var(--ws-well);}@media (prefers-color-scheme: dark){[data-theme="system"] .ws-kanban-board{--ws-kanban-board-ground: var(--ws-well);}}.ws-kanban-board__column--over{--ws-kanban-board-ground: var(--ws-surface-press);background: var(--ws-kanban-board-ground);}[data-theme="dark"] .ws-kanban-board__column--over{--ws-kanban-board-ground: var(--ws-well);box-shadow: inset 0 0 0 var(--ws-line) var(--ws-edge-card);}@media (prefers-color-scheme: dark){[data-theme="system"] .ws-kanban-board__column--over{--ws-kanban-board-ground: var(--ws-well);box-shadow: inset 0 0 0 var(--ws-line) var(--ws-edge-card);}}.ws-kanban-board__head{display: flex;align-items: center;justify-content: space-between;gap: var(--space-xs);min-height: var(--ws-control-h);}.ws-kanban-board__title{display: flex;align-items: baseline;gap: var(--space-xs);min-width: 0;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-heading);}.ws-kanban-board__count{font-weight: 500;color: var(--color-text-muted);font-variant-numeric: tabular-nums;}.ws-kanban-board__column > .ws-kanban-board__card{display: flex;flex-direction: column;gap: var(--space-xxs);padding: var(--ws-card-padding);}.ws-kanban-board__column > .ws-kanban-board__card:is(:hover, :active){background-color: var(--color-bg-page);}@media (hover: hover){.ws-kanban-board__column > .ws-kanban-board__card:hover{background-image: linear-gradient(var(--ws-hover), var(--ws-hover));}}.ws-kanban-board__column > .ws-kanban-board__card:active{background-image: linear-gradient(var(--ws-hover-strong), var(--ws-hover-strong));}.ws-kanban-board__card--dragging{box-shadow: var(--ws-shadow-pop);transform: rotate(-1deg);}.ws-kanban-board__who{display: flex;align-items: center;gap: var(--space-xs);min-width: 0;}.ws-kanban-board__meta{font-size: var(--ws-text-control);line-height: var(--ws-leading-control);color: var(--color-text-muted);}.ws-kanban-board__empty{padding: var(--space-md) var(--space-xs);text-align: center;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);color: var(--color-text-muted);}.ws-kanban-board__ghost{display: block;height: calc(var(--ws-card-padding) * 2 + var(--ws-control-h-sm) + var(--space-xxs) + var(--ws-leading-control));border-radius: var(--ws-radius-card);background: var(--ws-track);}.ws-kanban-board__ghost.ws-shimmer{background: var(--ws-shimmer);background-size: 300% 100%;}.ws-kanban-board--fill{flex: 1;min-height: 0;align-items: stretch;}.ws-kanban-board--fill .ws-kanban-board__column{min-height: 0;overflow-y: auto;overscroll-behavior-y: contain;scrollbar-width: thin;scroll-padding-block: calc(var(--ws-control-h) + var(--space-xs) + var(--space-xxs)) var(--space-xxs);}.ws-kanban-board--fill .ws-kanban-board__head{position: sticky;top: calc(var(--space-xs) * -1);z-index: 1;min-height: calc(var(--ws-control-h) + var(--space-xs));margin: calc(var(--space-xs) * -1) calc(var(--space-xs) * -1) 0;padding: var(--space-xs) var(--space-xs) 0;background: inherit;}@supports (animation-timeline: scroll()){.ws-kanban-board{mask-image: linear-gradient(to left, transparent, var(--ws-mask) var(--space-lg));mask-size: calc(100% + var(--space-lg)) 100%;mask-repeat: no-repeat;animation: ws-kanban-board-end linear both;animation-timeline: scroll(self inline);animation-range: calc(100% - var(--space-lg)) 100%;}.ws-kanban-board:focus-visible{mask-image: none;}.ws-kanban-board--fill .ws-kanban-board__column::after{content: "";position: sticky;bottom: calc(var(--space-xs) * -1);flex: none;height: var(--space-lg);margin: calc((var(--space-lg) + var(--space-xs)) * -1) calc(var(--space-xs) * -1) 0;background: linear-gradient(to bottom, transparent, var(--ws-kanban-board-ground));opacity: 0;pointer-events: none;animation: ws-kanban-board-more linear both;animation-timeline: scroll(nearest block);animation-range: calc(100% - var(--space-lg)) 100%;}}@keyframes ws-kanban-board-end{from{mask-position: calc(var(--space-lg) * -1) 0;}to{mask-position: 0 0;}}@keyframes ws-kanban-board-more{from{opacity: 1;}to{opacity: 0;}}.ws-kit-button{position: relative;display: inline-flex;align-items: center;justify-content: center;gap: var(--space-xs);max-width: 100%;font-family: var(--font-body);font-weight: 600;text-align: center;text-wrap: balance;text-decoration: none;cursor: pointer;appearance: none;border: 0;}@media (prefers-reduced-motion: no-preference){.ws-kit-button{transition: filter var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);}}.ws-kit-button:disabled, .ws-kit-button[aria-disabled="true"]{opacity: 0.5;cursor: not-allowed;pointer-events: none;}.ws-kit-button.is-focus{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}.ws-kit-button svg{width: var(--ws-icon);height: var(--ws-icon);flex-shrink: 0;}.ws-kit-button--large{min-height: calc(var(--space-2xl) + var(--space-xxs) + var(--ws-line));min-width: calc(var(--space-5xl) + var(--space-md) + var(--space-xxs));padding: var(--space-xs) calc(var(--space-md) + var(--space-xxs));font-size: var(--font-size-md);line-height: calc(var(--space-md) + var(--space-xxs));border-radius: var(--ws-radius-card);}.ws-kit-button--medium{min-height: calc(var(--space-xl) + var(--space-xxs));min-width: var(--space-5xl);padding: var(--space-xxs-plus) var(--space-md);font-size: var(--font-size-sm);line-height: var(--ws-leading-control);border-radius: var(--ws-radius-card);}.ws-kit-button--small{min-height: calc(var(--space-lg) + var(--space-xxs));min-width: calc(var(--space-3xl) + var(--space-sm));padding: var(--space-xxs) var(--space-sm);font-size: var(--font-size-2xs);line-height: var(--space-md);font-weight: 500;border-radius: var(--ws-radius-row);}.ws-kit-button--small svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-kit-button--primary{background-image: var(--gradient-btn-primary);color: var(--color-white);border-bottom: calc(var(--space-xxs) * 0.75) solid var(--color-button-border);}.ws-kit-button--secondary{background: var(--color-bg-page);color: var(--color-text-interactive);border: var(--ws-line) solid var(--color-border-hairline);}.ws-kit-button--navy{background-image: linear-gradient(180deg, var(--color-brand-mid-blue), color-mix(in srgb, var(--color-brand-navy) 35%, var(--color-brand-mid-blue)));color: var(--color-white);border-bottom: calc(var(--space-xxs) * 0.75) solid var(--color-brand-navy);box-shadow: var(--shadow-btn);}.ws-kit-button--tertiary{background: transparent;color: var(--color-text-heading);border: var(--ws-line) solid var(--color-text-heading);}.ws-kit-button--clean{background: transparent;color: var(--color-text-heading);min-width: 0;padding-inline: 0;}.ws-kit-button--shadow{box-shadow: var(--shadow-btn);}.ws-kit-button--full{width: 100%;}.ws-kit-button--primary.is-hover, .ws-kit-button--navy.is-hover{filter: brightness(1.04);}.ws-kit-button--secondary.is-hover{background: linear-gradient(var(--color-nav-hover-bg), var(--color-nav-hover-bg)), var(--color-bg-page);}.ws-kit-button--navy.is-hover, .ws-kit-button--shadow.is-hover{box-shadow: var(--shadow-btn-hover);}.ws-kit-button--tertiary.is-hover{background: var(--color-text-heading);color: var(--ws-on-act);}.ws-kit-button--clean.is-hover{text-decoration: underline;}@media (hover: hover){.ws-kit-button--primary:hover, .ws-kit-button--navy:hover{filter: brightness(1.04);}.ws-kit-button--secondary:hover{background: linear-gradient(var(--color-nav-hover-bg), var(--color-nav-hover-bg)), var(--color-bg-page);}.ws-kit-button--navy:hover, .ws-kit-button--shadow:hover{box-shadow: var(--shadow-btn-hover);}.ws-kit-button--tertiary:hover{background: var(--color-text-heading);color: var(--ws-on-act);}.ws-kit-button--clean:hover{text-decoration: underline;}}.ws-kit-button--primary:active, .ws-kit-button--primary.is-pressed, .ws-kit-button--navy:active, .ws-kit-button--navy.is-pressed{transform: translateY(calc(var(--space-xxs) / 2));border-bottom-color: transparent;}.ws-kit-button--navy:active, .ws-kit-button--navy.is-pressed, .ws-kit-button--shadow:active{box-shadow: none;}@media (pointer: coarse){.ws-kit-button--medium::after, .ws-kit-button--small::after{content: "";position: absolute;inset: min(0px, calc((100% - var(--ws-touch-public)) / 2)) 0;}}.ws-kit-card{min-width: 0;border-radius: var(--ws-radius-control);border: var(--ws-line) solid var(--color-border-default);background: var(--color-surface);}.ws-kit-card--tinted{background: var(--ws-surface-sunk);}.ws-kit-card--transparent{background: transparent;border-color: var(--color-border-hairline);}.ws-kit-card--interactive{display: block;color: inherit;text-decoration: none;cursor: pointer;}.ws-kit-card--interactive.is-hover{background-image: linear-gradient(var(--color-nav-hover-bg), var(--color-nav-hover-bg));}@media (hover: hover){.ws-kit-card--interactive:hover{background-image: linear-gradient(var(--color-nav-hover-bg), var(--color-nav-hover-bg));}}.ws-kit-card__header{display: flex;flex-direction: column;gap: var(--space-xs);padding: var(--space-lg);}.ws-kit-card__title{font-size: var(--font-size-2xl);line-height: var(--space-xl);font-weight: 500;color: var(--color-text-heading);text-wrap: balance;overflow-wrap: break-word;hyphens: auto;}.ws-kit-card__desc{font-size: var(--font-size-sm);line-height: calc(var(--space-md) + var(--space-xxs));color: var(--color-text-muted);}.ws-kit-card__content{padding: 0 var(--space-lg) var(--space-lg);}.ws-kit-card__footer{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-sm);padding: 0 var(--space-lg) var(--space-lg);}.ws-kit-input{display: flex;flex-direction: column;gap: var(--space-xxs);min-width: 0;}.ws-kit-input__label{font-size: var(--font-size-2xs);font-weight: 500;line-height: var(--space-md);color: var(--color-text-body);}.ws-kit-input__control{height: var(--space-2xl);width: 100%;border-radius: var(--ws-radius-row);padding: 0 var(--space-sm);background: var(--ws-field);border: var(--ws-line) solid var(--color-border-default);font-size: var(--font-size-sm);color: var(--ws-field-ink);}@media (prefers-reduced-motion: no-preference){.ws-kit-input__control{transition: border-color var(--transition-fast);}}.ws-kit-input__control::placeholder{color: var(--color-text-placeholder);}@media (hover: hover){.ws-kit-input__control:hover:where(:not(:disabled)){border-color: var(--ws-edge-hover);}}.ws-kit-input__control.is-focus{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}.ws-kit-input__control[aria-invalid="true"], .ws-kit-input__control.is-error{border-color: var(--ws-chart-under-half);}.ws-kit-input__control:disabled{cursor: not-allowed;opacity: 0.5;}.ws-kit-input__msg{font-size: var(--font-size-2xs);line-height: var(--space-md);color: var(--color-text-muted);}.ws-kit-input__msg--error{color: var(--color-text-error-strong);}@media (pointer: coarse){.ws-kit-input__control{height: var(--ws-touch-public);font-size: var(--font-size-md);}}.ws-leaderboard{container: ws-leaderboard / inline-size;display: grid;grid-template-columns: [rank] minmax(calc(var(--space-md) + var(--space-xxs)), auto) [face] auto [name] fit-content(40%) [bar] minmax(0, 1fr) [score] auto;column-gap: var(--space-sm);border-radius: inherit;}.ws-leaderboard > *, .ws-leaderboard__row{grid-column: 1 / -1;display: grid;grid-template-columns: subgrid;}.ws-leaderboard > * + *{border-top: var(--ws-divider);}.ws-leaderboard > :first-child{border-top-left-radius: inherit;border-top-right-radius: inherit;}.ws-leaderboard > :last-child{border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.ws-leaderboard__row{align-items: center;min-height: var(--ws-row-h);padding: 0 var(--ws-card-inset);}.ws-leaderboard > * > .ws-leaderboard__row{border-radius: inherit;}.ws-leaderboard .ws-leaderboard__row--you{background-color: var(--ws-surface-sunk);}.ws-leaderboard__rank{text-align: right;font-size: var(--ws-text-value);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-leaderboard__name{min-width: calc(var(--space-6xl) + var(--space-sm));overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-heading);}.ws-leaderboard__bar{position: relative;height: var(--space-xs);border-radius: var(--ws-radius-bar);background: var(--ws-track);overflow: hidden;}.ws-leaderboard__fill{position: absolute;inset: 0 auto 0 0;border-radius: var(--ws-radius-bar);background: var(--ws-chart-under-half);transform-origin: left;}.ws-leaderboard__fill--finished{background: var(--ws-chart-finished);}.ws-leaderboard__fill--past-half{background: var(--ws-chart-past-half);}.ws-leaderboard__fill--under-half{background: var(--ws-chart-under-half);}.ws-leaderboard__score{text-align: right;white-space: nowrap;font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;}a.ws-leaderboard__row, button.ws-leaderboard__row{width: 100%;border: 0;background-color: transparent;text-align: left;text-decoration: none;color: inherit;cursor: pointer;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}a.ws-leaderboard__row:focus-visible, button.ws-leaderboard__row:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}@media (hover: hover){a.ws-leaderboard__row:hover, button.ws-leaderboard__row:hover{background-image: linear-gradient(var(--ws-hover-faint), var(--ws-hover-faint));}}@media (prefers-reduced-motion: no-preference){.ws-leaderboard__fill{animation: ws-grow var(--ws-duration-fill) var(--ws-ease-settle) backwards;animation-delay: calc(var(--ws-i, 0) * var(--ws-stagger-row));}}@container ws-leaderboard (max-width: 24rem){.ws-leaderboard__row{grid-template-columns: [rank] minmax(calc(var(--space-md) + var(--space-xxs)), auto) [face] auto [name] minmax(0, 1fr) [score] auto;gap: var(--space-xs) var(--space-sm);padding-block: var(--space-sm);}.ws-leaderboard__rank{grid-area: 1 / rank;}.ws-leaderboard__row > .ws-avatar{grid-area: 1 / face;}.ws-leaderboard__name{grid-area: 1 / name;min-width: 0;overflow: visible;white-space: normal;overflow-wrap: anywhere;}.ws-leaderboard__score{grid-area: 1 / score;}.ws-leaderboard__bar{grid-area: 2 / name / 3 / -1;}}.ws-list-detail{container: ws-list-detail / inline-size;}.ws-list-detail__grid{display: grid;grid-template-columns: var(--ws-list-detail-list, minmax(0, 1fr)) repeat(2, minmax(0, 1fr));gap: var(--ws-rim);padding: var(--ws-rim);border-radius: var(--ws-radius-card);background: var(--ws-tray);}.ws-list-detail--list-end .ws-list-detail__grid{grid-template-columns: repeat(2, minmax(0, 1fr)) var(--ws-list-detail-list, minmax(0, 1fr));}.ws-list-detail__list, .ws-list-detail__detail{display: flex;flex-direction: column;min-width: 0;min-height: 0;}.ws-list-detail__list{grid-column: 1;grid-row: 1;}.ws-list-detail__detail{grid-column: 2 / span 2;grid-row: 1;}.ws-list-detail--list-end .ws-list-detail__list{grid-column: 3;}.ws-list-detail--list-end .ws-list-detail__detail{grid-column: 1 / span 2;}.ws-list-detail__surface{display: flex;flex: 1;flex-direction: column;min-height: 0;background: var(--color-bg-page);}.ws-list-detail__list > .ws-list-detail__surface{border-radius: var(--ws-radius-card-inner) 0 0 var(--ws-radius-card-inner);}.ws-list-detail__detail > .ws-list-detail__surface{border-radius: 0 var(--ws-radius-card-inner) var(--ws-radius-card-inner) 0;}.ws-list-detail--list-end .ws-list-detail__list > .ws-list-detail__surface{border-radius: 0 var(--ws-radius-card-inner) var(--ws-radius-card-inner) 0;}.ws-list-detail--list-end .ws-list-detail__detail > .ws-list-detail__surface{border-radius: var(--ws-radius-card-inner) 0 0 var(--ws-radius-card-inner);}.ws-list-detail--apart .ws-list-detail__grid{gap: var(--space-xs);padding: 0;background: none;border-radius: 0;}.ws-list-detail--apart .ws-list-detail__list, .ws-list-detail--apart .ws-list-detail__detail{padding: var(--ws-rim);border-radius: var(--ws-radius-card);background: var(--ws-tray);}.ws-list-detail--apart .ws-list-detail__surface{border-radius: var(--ws-radius-card-inner);}@container ws-list-detail (width >= 48rem){.ws-list-detail__list{contain: size;}}.ws-list-detail__scroll{flex: 1;min-height: 0;overflow-y: auto;overscroll-behavior: contain;scrollbar-width: thin;border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.ws-list-detail__scroll:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}@supports (animation-timeline: scroll()){.ws-list-detail__scroll{mask-image: linear-gradient(to top, transparent, var(--ws-mask) var(--space-lg));mask-size: 100% calc(100% + var(--space-lg));mask-repeat: no-repeat;animation: ws-list-detail-end linear both;animation-timeline: scroll(self block);animation-range: calc(100% - var(--space-lg)) 100%;}.ws-list-detail__scroll:focus-visible{mask-image: none;}}@keyframes ws-list-detail-end{from{mask-position: 0 calc(var(--space-lg) * -1);}to{mask-position: 0 0;}}.ws-list-detail--fill{flex: 1;min-height: 0;overflow-y: auto;overscroll-behavior: contain;}.ws-list-detail--fill .ws-list-detail__grid{height: 100%;grid-template-rows: minmax(0, 1fr);}.ws-list-detail--fill .ws-list-detail__detail .ws-list-detail__surface{overflow-y: auto;}.ws-list-detail__head{display: flex;align-items: center;gap: var(--space-sm-plus);padding: var(--space-sm) var(--ws-card-inset) var(--space-sm) var(--space-md);border-bottom: var(--ws-divider);}.ws-list-detail__head > .ws-segmented{flex: 1;align-self: center;}.ws-list-detail__head > .ws-segmented--clear{margin-inline: calc(var(--ws-halo) * -1);}.ws-list-detail__rows > li{position: relative;display: flex;align-items: flex-start;gap: var(--space-sm-plus);padding: var(--space-sm) var(--ws-card-inset) var(--space-sm) var(--space-md);}.ws-list-detail__rows > li + li{box-shadow: inset 0 var(--ws-hairline) 0 var(--ws-edge);}.ws-list-detail__rows > li > .ws-check{position: relative;z-index: 1;align-items: center;height: var(--ws-leading-control);padding: 0;}.ws-list-detail__head > .ws-check{position: relative;align-items: center;padding: 0;}.ws-list-detail__rows > li > .ws-check .ws-check__box, .ws-list-detail__head > .ws-check .ws-check__box{margin-top: 0;}.ws-list-detail__rows > li > .ws-check::after, .ws-list-detail__head > .ws-check::after{content: "";position: absolute;inset: calc((100% - var(--space-lg)) / 2);}@media (pointer: coarse){.ws-list-detail__rows > li > .ws-check::after, .ws-list-detail__head > .ws-check::after{inset: calc((100% - var(--ws-touch)) / 2);}}.ws-list-detail__open{display: flex;flex: 1;flex-direction: column;gap: var(--space-xxs);min-width: 0;padding: 0;border: 0;background: none;text-align: left;color: inherit;cursor: pointer;}.ws-list-detail__open::after{content: "";position: absolute;inset: 0;}.ws-list-detail__open:focus-visible{outline: 0;}.ws-list-detail__open:focus-visible::after{box-shadow: var(--ws-focus-inset);}@media (hover: hover){.ws-list-detail__rows > li:not(:has(> [aria-current="true"])):hover{background-color: var(--ws-hover-faint);}}.ws-list-detail__rows > li:has(> [aria-current="true"]){background-color: var(--ws-surface-sunk);}@supports (anchor-name: --a){.ws-list-detail__rows{position: relative;anchor-scope: --ws-list-detail-current;}.ws-list-detail__rows::before{content: "";position: absolute;position-anchor: --ws-list-detail-current;inset: anchor(top) anchor(right) anchor(bottom) anchor(left);background: var(--ws-surface-sunk);opacity: 0;pointer-events: none;}.ws-list-detail__rows > li:has(> [aria-current="true"]){anchor-name: --ws-list-detail-current;}}@media (prefers-reduced-motion: no-preference){.ws-list-detail__rows > li{transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}@supports (anchor-name: --a){.ws-list-detail__rows:is(:hover, :focus-within)::before{opacity: 1;transition: inset var(--ws-spring-highlight-duration) var(--ws-spring-highlight);}.ws-list-detail__rows:is(:hover, :focus-within) > li:has(> [aria-current="true"]){background-color: transparent;}.ws-list-detail__rows > li:has(> [aria-current="true"]){transition: none;}}}.ws-list-detail__meta{display: flex;align-items: center;gap: var(--space-xs);min-width: 0;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-muted);}.ws-list-detail__meta > :nth-child(2){flex: 1;min-width: 0;}.ws-list-detail__text{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));color: var(--color-text-heading);}.ws-list-detail__open[aria-current="true"] .ws-list-detail__text{font-weight: 600;}.ws-list-detail__stars{display: inline-flex;flex: none;gap: var(--space-3xs);color: var(--ws-chart-under-half);}.ws-list-detail__stars > svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}.ws-list-detail__stars--lg > svg{width: var(--ws-icon);height: var(--ws-icon);}.ws-list-detail__body{display: flex;flex: 1;flex-direction: column;gap: var(--space-lg);padding: var(--space-md);}.ws-list-detail__body > .ws-head{padding: 0;}.ws-list-detail__body--roomy{padding: calc(var(--space-lg) + var(--space-xxs)) var(--space-xl);}.ws-list-detail__words{display: flex;flex-direction: column;gap: var(--space-3xs);}.ws-list-detail__top{display: flex;flex-wrap: wrap;align-items: flex-start;justify-content: space-between;gap: var(--space-sm) var(--space-md);}.ws-list-detail__top > :first-child{flex: 1 1 var(--space-9xl);min-width: 0;}.ws-list-detail__top > :last-child:not(:first-child){display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xs);}.ws-list-detail__pager{display: flex;align-items: center;gap: var(--space-sm);min-width: 0;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-muted);}.ws-list-detail__pager > :nth-child(2){flex: 1;min-width: 0;}.ws-list-detail__pager > :nth-child(2) + *{white-space: nowrap;}.ws-list-detail__pager-acts{display: flex;flex: none;gap: var(--space-xs);}.ws-list-detail__detail{container: ws-list-detail-pane / inline-size;}@container ws-list-detail-pane (width < 30rem){.ws-list-detail__pager{flex-wrap: wrap;row-gap: 0;}.ws-list-detail__pager::after{content: "";flex-basis: 100%;order: 1;height: var(--space-xs);}.ws-list-detail__pager > :nth-child(2) ~ *{order: 2;}.ws-list-detail__pager > :nth-child(2) + *{margin-left: auto;}}.ws-list-detail__pager-acts > .ws-icon-btn{border-radius: var(--ws-radius-row);}.ws-list-detail__quote{font-size: var(--ws-text-title);line-height: calc(var(--space-xl) - var(--space-3xs));font-weight: 400;color: var(--color-text-heading);}.ws-list-detail__acts{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xs);margin-top: auto;}.ws-list-detail__acts > .ws-check{margin-left: auto;}.ws-list-detail__note{font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-muted);}.ws-list-detail__foot{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0 var(--space-sm);min-height: var(--space-xl);padding: var(--space-xs) var(--space-sm-plus);font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-body);}.ws-list-detail__foot > :last-child:not(:first-child){margin-left: auto;}.ws-list-detail__foot b{font-weight: 600;}.ws-list-detail__foot-needs{color: var(--ws-word-needs);}.ws-list-detail__empty{padding: var(--space-lg) var(--ws-card-inset) var(--space-lg) var(--space-md);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));color: var(--color-text-body);}.ws-list-detail__ghost{display: block;height: calc(var(--space-xs) + var(--space-3xs));border-radius: var(--ws-radius-bar);background: var(--ws-track);}.ws-list-detail__ghost.ws-shimmer{background: var(--ws-shimmer);background-size: 300% 100%;}@container ws-list-detail (width < 48rem){.ws-list-detail__grid, .ws-list-detail--apart .ws-list-detail__grid, .ws-list-detail--list-end .ws-list-detail__grid{grid-template-columns: minmax(0, 1fr);gap: var(--space-sm);padding: 0;background: none;border-radius: 0;}.ws-list-detail__list, .ws-list-detail__detail, .ws-list-detail--list-end .ws-list-detail__list, .ws-list-detail--list-end .ws-list-detail__detail{grid-column: 1;grid-row: auto;padding: var(--ws-rim);border-radius: var(--ws-radius-card);background: var(--ws-tray);}.ws-list-detail__list > .ws-list-detail__surface, .ws-list-detail__detail > .ws-list-detail__surface, .ws-list-detail--list-end .ws-list-detail__list > .ws-list-detail__surface, .ws-list-detail--list-end .ws-list-detail__detail > .ws-list-detail__surface{border-radius: var(--ws-radius-card-inner);}.ws-list-detail--fill .ws-list-detail__grid{height: auto;grid-template-rows: none;}.ws-list-detail__body--roomy{padding: var(--space-lg) var(--ws-card-inset);}}.ws-load-bar{display: flex;flex-direction: column;gap: var(--space-xs);min-width: 0;}.ws-load-bar__words{display: flex;align-items: flex-start;gap: var(--space-xs);min-width: 0;font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-heading);}.ws-load-bar__dot{flex-shrink: 0;width: var(--space-xxs-plus);height: var(--space-xxs-plus);margin-block: calc((var(--ws-leading-row) - var(--space-xxs-plus)) / 2);border-radius: var(--radius-full);background: var(--ws-chart-under-half);}.ws-load-bar__track{position: relative;display: block;width: 100%;max-width: calc(var(--space-9xl) + var(--space-4xl) - var(--space-xxs));height: var(--ws-halo);border-radius: var(--ws-radius-chip);background: color-mix(in srgb, var(--ws-ink) 8%, transparent);overflow: hidden;}.ws-load-bar__fill{position: absolute;inset: 0;border-radius: inherit;background: var(--color-text-heading);transform: scaleX(var(--ws-load, 0.04));transform-origin: 0 50%;}@keyframes ws-load-fill{from{transform: scaleX(0.04);}85%{transform: scaleX(0.9);}to{transform: scaleX(0.97);}}@keyframes ws-load-dot{0%, 100%{opacity: 0.35;transform: scale(0.8);}50%{opacity: 1;transform: none;}}@media (prefers-reduced-motion: no-preference){.ws-load-bar__track:not([aria-valuenow]) > .ws-load-bar__fill{animation: ws-load-fill var(--ws-load-for, var(--ws-duration-build)) var(--ws-ease-steady) forwards;}.ws-load-bar__track[aria-valuenow] > .ws-load-bar__fill{transition: transform var(--ws-duration-fill) var(--ws-ease-settle);}.ws-load-bar__dot{animation: ws-load-dot var(--ws-loop) var(--ws-ease-loop) infinite;}}.ws-marketing-nav{position: sticky;top: 0;z-index: var(--z-header);width: 100%;height: calc(var(--space-4xl) + var(--space-xs));display: flex;align-items: center;gap: var(--space-xs);padding: 0 max(var(--layout-margin), calc((100% - var(--layout-content-max)) / 2));background: var(--color-surface);border-bottom: var(--ws-line) solid var(--color-border-default);}.ws-marketing-nav__brand{flex: 0 0 auto;display: inline-flex;align-items: center;min-height: var(--ws-touch-public);font-size: var(--font-size-lg2);line-height: var(--ws-leading-title);font-weight: 600;color: var(--color-text-heading);text-decoration: none;}.ws-marketing-nav__links{display: flex;align-items: center;gap: var(--space-lg);margin: 0 auto;}.ws-marketing-nav__link{display: inline-flex;align-items: center;padding: var(--space-xs) var(--space-sm);border-radius: var(--ws-radius-row);font-size: var(--font-size-sm);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-primary);text-decoration: none;white-space: nowrap;}.ws-marketing-nav__menu-btn[aria-expanded="true"]{background: var(--color-nav-hover-bg);}@media (hover: hover){.ws-marketing-nav__link:hover, .ws-marketing-nav__menu-btn:hover{background: var(--color-nav-hover-bg);}}.ws-marketing-nav__cta{flex: 0 0 auto;}.ws-marketing-nav__menu-btn{position: relative;display: none;flex: 0 0 auto;align-items: center;justify-content: center;width: calc(var(--space-xl) + var(--space-xxs));height: calc(var(--space-xl) + var(--space-xxs));padding: 0;border-radius: var(--ws-radius-row);border: var(--ws-line) solid var(--color-border-hairline);background: var(--color-surface);color: var(--color-text-heading);cursor: pointer;}.ws-marketing-nav__menu-btn svg{width: var(--ws-icon-lg);height: var(--ws-icon-lg);}@media (pointer: coarse){.ws-marketing-nav__link{min-height: var(--ws-touch-public);}.ws-marketing-nav__menu-btn::after{content: "";position: absolute;inset: min(0px, calc((100% - var(--ws-touch-public)) / 2));}}@media (max-width: 60rem){.ws-marketing-nav > .ws-marketing-nav__links{display: none;}.ws-marketing-nav > .ws-marketing-nav__brand{margin-right: auto;}.ws-marketing-nav > .ws-marketing-nav__menu-btn{display: inline-flex;}.ws-marketing-nav:has(> .ws-marketing-nav__menu-btn[aria-expanded="true"]) > .ws-marketing-nav__links{position: absolute;top: 100%;left: 0;right: 0;display: flex;flex-direction: column;align-items: stretch;gap: 0;margin: 0;padding-block: var(--space-xs) var(--space-md);padding-inline: inherit;background: var(--color-surface);border-block: var(--ws-line) solid var(--color-border-default);box-shadow: var(--shadow-card-hover);}.ws-marketing-nav:has(> .ws-marketing-nav__menu-btn[aria-expanded="true"]) .ws-marketing-nav__link{min-height: var(--ws-touch-public);margin-inline: calc(var(--space-sm) * -1);padding-block: 0;font-size: var(--font-size-md);}}.ws-marketing-nav--phone > .ws-marketing-nav__links{display: none;}.ws-marketing-nav--phone > .ws-marketing-nav__brand{margin-right: auto;}.ws-marketing-nav--phone > .ws-marketing-nav__menu-btn{display: inline-flex;}.ws-marketing-nav--phone:has(> .ws-marketing-nav__menu-btn[aria-expanded="true"]) > .ws-marketing-nav__links{position: absolute;top: 100%;left: 0;right: 0;display: flex;flex-direction: column;align-items: stretch;gap: 0;margin: 0;padding-block: var(--space-xs) var(--space-md);padding-inline: inherit;background: var(--color-surface);border-block: var(--ws-line) solid var(--color-border-default);box-shadow: var(--shadow-card-hover);}.ws-marketing-nav--phone:has(> .ws-marketing-nav__menu-btn[aria-expanded="true"]) .ws-marketing-nav__link{min-height: var(--ws-touch-public);margin-inline: calc(var(--space-sm) * -1);padding-block: 0;font-size: var(--font-size-md);}@media (prefers-reduced-motion: no-preference) and (max-width: 60rem){.ws-marketing-nav:has(> .ws-marketing-nav__menu-btn[aria-expanded="true"]) > .ws-marketing-nav__links{animation: ws-rise var(--transition-default) backwards;}}@media (prefers-reduced-motion: no-preference){.ws-marketing-nav--phone:has(> .ws-marketing-nav__menu-btn[aria-expanded="true"]) > .ws-marketing-nav__links{animation: ws-rise var(--transition-default) backwards;}}@media (max-width: 40rem){.ws-marketing-nav{padding: 0 var(--space-md);}}.ws-marketing-nav--phone{padding: 0 var(--space-md);}.ws-matrix{--ws-matrix-cols: 4;--ws-matrix-first: var(--space-9xl);--ws-matrix-cell: minmax(0, 1fr);--ws-matrix-dim: 0.2;container: ws-matrix / inline-size;display: flex;flex-direction: column;padding: var(--ws-rim);border-radius: var(--ws-radius-card);background: var(--ws-tray);}.ws-matrix__table{display: flex;flex-direction: column;}.ws-matrix__row{display: grid;grid-template-columns: var(--ws-matrix-first) repeat(var(--ws-matrix-cols), var(--ws-matrix-cell));column-gap: var(--space-3xs);min-height: var(--ws-row-h);padding: var(--ws-line) var(--space-md) var(--ws-line) var(--ws-card-inset);background: var(--color-bg-page);}.ws-matrix__body > .ws-matrix__row, .ws-matrix__foot{box-shadow: inset 0 var(--ws-hairline) 0 var(--ws-edge);}.ws-matrix__head > .ws-matrix__row{border-radius: var(--ws-radius-card-inner) var(--ws-radius-card-inner) 0 0;}.ws-matrix__table:last-child .ws-matrix__body > .ws-matrix__row:last-child, .ws-matrix__foot{border-radius: 0 0 var(--ws-radius-card-inner) var(--ws-radius-card-inner);}.ws-matrix__head > .ws-matrix__row{align-items: center;padding-block: var(--space-md);}.ws-matrix__corner{font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-muted);text-align: left;}.ws-matrix__col{display: flex;align-items: center;justify-content: center;gap: var(--space-xs);min-width: 0;font-size: var(--ws-text-section);line-height: var(--ws-leading-section);font-weight: 600;color: var(--color-text-heading);}.ws-matrix__mark{flex-shrink: 0;width: var(--ws-icon-lg);height: var(--ws-icon-lg);}.ws-matrix__name{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.ws-matrix__q-cell{display: flex;align-items: center;min-width: 0;padding-right: var(--space-md);}.ws-matrix__q-wrap{position: relative;display: inline-flex;min-width: 0;}.ws-matrix__q{min-width: 0;padding: 0;border: 0;background: none;font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-heading);text-align: left;text-decoration: underline dotted var(--ws-line);text-underline-offset: var(--ws-halo);cursor: help;}@media (pointer: coarse){.ws-matrix__q{padding-block: var(--space-3xs);margin-block: calc(var(--space-3xs) * -1);}}.ws-matrix__cell{display: flex;align-items: center;justify-content: center;min-height: calc(var(--ws-row-h) - var(--ws-line) * 2);border-radius: var(--ws-radius-chip);background: var(--ws-track);color: var(--color-text-heading);}.ws-matrix__cell--yes{background: var(--ws-rating-strong);}[data-theme="dark"] .ws-matrix__cell--yes{color: var(--color-bg-page);}@media (prefers-color-scheme: dark){[data-theme="system"] .ws-matrix__cell--yes{color: var(--color-bg-page);}}.ws-matrix__cell:not(.ws-matrix__cell--yes) > .ws-matrix__mark{opacity: var(--ws-dim);}.ws-matrix__cell.ws-shimmer{background: var(--ws-shimmer);background-size: 300% 100%;}.ws-matrix__tip{position: absolute;z-index: 1;left: calc(var(--space-sm) * -1);bottom: calc(100% + var(--ws-halo) + var(--space-xxs-plus));width: max-content;max-width: min(calc(var(--ws-float-width) + var(--space-sm) * 2), calc(100cqi - var(--space-lg)));padding: var(--space-xs-plus) var(--space-sm);border-radius: var(--ws-radius-control);background: var(--color-text-heading);color: var(--ws-on-act);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 400;text-align: left;white-space: normal;visibility: hidden;opacity: 0;pointer-events: none;}.ws-matrix__tip::after{content: "";position: absolute;top: 100%;left: calc(var(--space-lg) + var(--space-xxs-plus));width: var(--space-sm);height: var(--space-xxs-plus);background: inherit;clip-path: polygon(0 0, 100% 0, 50% 100%);}.ws-matrix__q:focus + .ws-matrix__tip, .ws-matrix__q[aria-expanded="true"] + .ws-matrix__tip{visibility: visible;opacity: 1;}.ws-matrix__q:focus-visible + .ws-matrix__tip{bottom: calc(100% + var(--ws-focus-offset) + var(--ws-focus-width) + var(--ws-halo) + var(--space-xxs-plus));}.ws-matrix__body:has(> .ws-matrix__row:focus-within) > .ws-matrix__row:not(:focus-within) > *{opacity: var(--ws-matrix-dim);}@media (hover: hover){.ws-matrix__body > .ws-matrix__row:hover .ws-matrix__tip{visibility: visible;opacity: 1;}.ws-matrix__body:has(> .ws-matrix__row:hover) > .ws-matrix__row:not(:hover) > *{opacity: var(--ws-matrix-dim);}}.ws-matrix__body > .ws-matrix__row[data-tip="hidden"] .ws-matrix__tip{visibility: hidden;opacity: 0;}@media (prefers-reduced-motion: no-preference){.ws-matrix__row > *{transition: opacity var(--ws-duration-hover) var(--ws-ease-soft);}.ws-matrix__tip{transition: opacity var(--ws-duration-exit) var(--ws-ease-exit), visibility 0s linear var(--ws-duration-exit);}.ws-matrix__q:focus + .ws-matrix__tip, .ws-matrix__q[aria-expanded="true"] + .ws-matrix__tip{transition: opacity var(--ws-duration-hover) var(--ws-ease-soft) var(--ws-hover-intent), visibility 0s linear var(--ws-hover-intent);}}@media (hover: hover) and (prefers-reduced-motion: no-preference){.ws-matrix__body > .ws-matrix__row:hover .ws-matrix__tip{transition: opacity var(--ws-duration-hover) var(--ws-ease-soft) var(--ws-hover-intent), visibility 0s linear var(--ws-hover-intent);}}.ws-matrix__foot{background: var(--color-bg-page);}.ws-matrix__foot > summary{display: flex;align-items: center;gap: var(--space-sm);padding: var(--space-md) var(--space-md) var(--space-md) var(--ws-card-inset);border-radius: inherit;list-style: none;cursor: pointer;}.ws-matrix__foot > summary::-webkit-details-marker{display: none;}.ws-matrix__foot > summary:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-matrix__foot-title{flex: none;font-size: var(--ws-text-section);line-height: var(--ws-leading-section);font-weight: 600;color: var(--color-text-heading);}.ws-matrix__foot-line{flex: 1;min-width: 0;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-muted);}.ws-matrix__foot > summary > svg{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);color: var(--color-text-heading);}.ws-matrix__foot[open] > summary > svg{transform: rotate(180deg);}.ws-matrix__foot-body{padding: 0 var(--space-md) var(--space-md) var(--ws-card-inset);}@media (prefers-reduced-motion: no-preference){.ws-matrix__foot > summary > svg{transition: transform var(--ws-duration-settle) var(--ws-ease-soft);}}@container ws-matrix (max-width: 40rem){.ws-matrix__row{grid-template-columns: minmax(0, 1fr) repeat(var(--ws-matrix-cols), var(--space-xl));}.ws-matrix__name{display: none;}.ws-matrix__q-cell{padding-right: var(--space-xs);}.ws-matrix__q{white-space: normal;}.ws-matrix__foot > summary{flex-wrap: wrap;row-gap: var(--space-xxs);}.ws-matrix__foot > summary > svg{margin-left: auto;}.ws-matrix__foot-line{flex-basis: 100%;order: 1;}}.ws-meter{display: flex;align-items: center;gap: var(--space-xs);}.ws-meter__track{flex: 1;min-width: var(--space-4xl);height: var(--space-xxs);overflow: hidden;border-radius: var(--ws-radius-chip);background: var(--ws-track);}.ws-meter__fill{display: block;height: 100%;border-radius: var(--ws-radius-chip);background: var(--ws-agent-tally);}@media (prefers-reduced-motion: no-preference){.ws-meter__fill{transition: width var(--ws-duration-fill) var(--ws-ease-settle);}}.ws-meter__fill--done{background: var(--color-stat-positive);}.ws-meter__words{flex-shrink: 0;font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-muted);font-variant-numeric: tabular-nums;}.ws-meter--pill .ws-meter__track, .ws-meter--pill .ws-meter__fill{height: var(--space-sm);border-radius: var(--radius-full);}.ws-meter__card{display: flex;flex-direction: column;gap: var(--space-xxs);padding: var(--ws-card-padding);}.ws-meter__step{font-size: var(--ws-text-body);line-height: var(--ws-leading-row);color: var(--color-text-interactive);font-variant-numeric: tabular-nums;overflow-wrap: anywhere;}.ws-meter__step--done{color: var(--color-text-muted);}.ws-meter__rows{display: flex;flex-direction: column;}.ws-meter__row{display: flex;flex-direction: column;gap: var(--space-xxs);padding: var(--space-xs) var(--space-sm-plus);}.ws-meter__row + .ws-meter__row{border-top: var(--ws-divider);}.ws-meter__line{display: flex;align-items: baseline;gap: var(--space-xs);}.ws-meter__name{flex: 1;min-width: 0;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-size: var(--ws-text-control);font-weight: 500;line-height: var(--ws-leading-control);color: var(--color-text-heading);}.ws-meter__value{flex-shrink: 0;font-size: var(--ws-text-dense);font-weight: 600;line-height: var(--space-md);color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-meter__value--quiet{font-weight: 500;color: var(--color-text-muted);}.ws-meter__row .ws-meter__track{flex: none;min-width: 0;}.ws-meter__caption{font-size: var(--ws-text-micro);line-height: var(--ws-leading-micro);color: var(--color-text-muted);}.ws-metric-tiles{container-type: inline-size;}.ws-metric-tiles__grid{display: grid;grid-template-columns: minmax(0, 1fr);gap: var(--space-md);}@container (min-width: 30rem){.ws-metric-tiles__grid{grid-template-columns: repeat(2, minmax(0, 1fr));}}@container (min-width: 60rem){.ws-metric-tiles__grid--4{grid-template-columns: repeat(4, minmax(0, 1fr));}}.ws-metric-tile{display: flex;min-width: 0;flex-direction: column;border: 0;border-radius: var(--ws-radius-card);background: var(--ws-tray);padding: var(--ws-rim);color: inherit;text-align: left;text-decoration: none;cursor: pointer;}.ws-metric-tile:focus-visible, .ws-metric-tile--selected{background: var(--ws-well-hover);}@media (hover: hover){.ws-metric-tile:not(.ws-metric-tile--open):hover{background: var(--ws-well-hover);}}.ws-metric-tile__surface{display: flex;flex: 1;min-width: 0;flex-direction: column;gap: var(--space-sm);padding: var(--space-md);border-radius: var(--ws-radius-card-inner);background: var(--color-bg-page);}.ws-metric-tile__head{display: flex;align-items: center;justify-content: space-between;gap: var(--space-xs);min-width: 0;}.ws-metric-tile__label{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-size: var(--ws-text-control);font-weight: 500;line-height: var(--ws-leading-control);color: var(--color-text-body);}.ws-metric-tile__go{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);color: var(--color-text-heading);}@media (hover: hover){.ws-metric-tile__go{transform: translateX(calc(var(--ws-nudge) * -1));}.ws-metric-tile:hover .ws-metric-tile__go, .ws-metric-tile:focus-visible .ws-metric-tile__go{transform: none;}}.ws-metric-tile__value{white-space: nowrap;font-size: var(--font-size-3xl);font-weight: 400;line-height: var(--space-3xl);letter-spacing: var(--ws-tracking-display);color: var(--color-text-heading);font-variant-numeric: tabular-nums;}@media (prefers-reduced-motion: no-preference){.ws-metric-tile{transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-metric-tile__go{transition: transform var(--ws-duration-settle) var(--ws-ease-soft);}.ws-metric-tile__preview{transition: filter var(--ws-duration-shrink) ease;}}.ws-metric-tile__preview{display: flex;align-items: center;height: var(--space-lg);filter: grayscale(1) contrast(0.55) brightness(1.32);}.ws-metric-tile:focus-visible .ws-metric-tile__preview{display: flex;align-items: center;height: var(--space-lg);filter: none;}@media (hover: hover){.ws-metric-tile:hover .ws-metric-tile__preview{display: flex;align-items: center;height: var(--space-lg);filter: none;}}.ws-metric-tile{--woke: 0;}.ws-metric-tile:focus-visible{--woke: 1;}@media (hover: hover){.ws-metric-tile:hover{--woke: 1;}}.ws-metric-tile__cols, .ws-metric-tile__line{--mark-tone: var(--tone, var(--color-text-heading));--mark-hue: color-mix(in srgb, var(--mark-tone) calc(var(--woke, 1) * 100%), var(--color-text-heading));--mark: color-mix(in srgb, var(--mark-hue) calc(20% + var(--woke, 1) * 80%), var(--color-bg-page));position: relative;flex-shrink: 0;height: calc(var(--space-lg) + var(--space-sm));margin-top: calc(var(--space-sm) * -1);}.ws-metric-tile__cols{display: flex;align-items: flex-end;gap: var(--space-xs);padding-right: var(--space-sm);border-bottom: var(--ws-line) solid color-mix(in srgb, var(--ws-edge-card) calc(var(--woke, 1) * 100%), var(--ws-chart-foot));}.ws-metric-tile__cols::after{content: "";position: absolute;inset: 0 var(--space-sm) 0 0;background: repeating-linear-gradient(to top, transparent 0 calc(var(--step) - var(--ws-hairline) * 1.5), var(--color-bg-page) 0 var(--step));pointer-events: none;}.ws-metric-tile__col{flex: 1;min-width: 0;height: max(var(--ws-line), var(--v, 0%));border-radius: var(--ws-radius-chip) var(--ws-radius-chip) 0 0;background: var(--mark);transform-origin: bottom;}.ws-metric-tile__col--now{background: color-mix(in srgb, var(--mark-hue) calc(11% + var(--woke, 1) * 44%), var(--color-bg-page));}.ws-metric-tile__line::before{content: "";position: absolute;top: 50%;left: 0;right: 0;border-top: var(--ws-hairline) solid color-mix(in srgb, var(--ws-edge-slot) calc(var(--woke, 1) * 100%), var(--ws-chart-foot));}.ws-metric-tile__line > svg{position: absolute;top: 0;left: var(--space-xxs);width: calc(100% - var(--space-xxs) - var(--space-sm));height: 100%;overflow: visible;}.ws-metric-tile__line line{stroke: var(--mark);stroke-width: calc(var(--ws-hairline) * 2.5);stroke-linecap: round;}.ws-metric-tile__line circle{r: calc(var(--ws-hairline) * 5);fill: var(--mark);stroke: var(--color-bg-page);stroke-width: calc(var(--ws-hairline) * 3);}.ws-metric-tile__line .ws-metric-tile__now{r: calc(var(--ws-hairline) * 9);}@media (prefers-reduced-motion: no-preference){.ws-metric-tile__cols, .ws-metric-tile__col{transition: background-color var(--ws-duration-shrink) ease, border-color var(--ws-duration-shrink) ease;}.ws-metric-tile__line::before{transition: border-color var(--ws-duration-shrink) ease;}.ws-metric-tile__line :is(line, circle){transition: stroke var(--ws-duration-shrink) ease, fill var(--ws-duration-shrink) ease;}.ws-metric-tile--draw{--ws-tile-draw: calc(var(--ws-duration-fill-page) * 0.79);}.ws-metric-tile--draw .ws-metric-tile__col{animation: ws-grow-up calc(var(--ws-tile-draw) * 0.5) var(--ws-ease-settle) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-tile-draw) * 0.5 * var(--i, 0) / max(var(--n, 2) - 1, 1));}.ws-metric-tile--draw .ws-metric-tile__line line{stroke-dasharray: 1 1;animation: ws-draw calc(var(--ws-tile-draw) * 0.75 / max(var(--n, 2) - 1, 1)) var(--ws-ease-steady) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-tile-draw) * 0.75 * var(--i, 0) / max(var(--n, 2) - 1, 1));}.ws-metric-tile--draw .ws-metric-tile__line circle{transform-box: fill-box;transform-origin: center;animation: ws-bloom var(--ws-duration-settle) var(--ws-ease-pop) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-tile-draw) * 0.75 * var(--i, 0) / max(var(--n, 2) - 1, 1));}.ws-metric-tile--draw .ws-metric-tile__foot b{animation: ws-rise var(--ws-duration-settle) var(--ws-ease-soft) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-tile-draw));}}.ws-metric-tile__foot{display: flex;align-items: center;justify-content: space-between;gap: var(--space-sm);min-height: var(--space-xl);padding: var(--space-xs) var(--space-md);font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-body);}.ws-metric-tile__foot > span{min-width: 0;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}.ws-metric-tile__foot b{flex-shrink: 0;font-weight: 600;color: var(--color-text-heading);}.ws-metric-tile--dense .ws-metric-tile__surface{gap: var(--space-xxs);padding: var(--space-sm) var(--space-sm-plus);}.ws-metric-tile--dense .ws-metric-tile__label{font-size: var(--ws-text-dense);line-height: var(--space-md);}.ws-metric-tile--dense .ws-metric-tile__value{font-size: var(--ws-text-figure-row);line-height: var(--ws-leading-figure-row);}.ws-metric-tile--selected{position: relative;}.ws-metric-tile--selected::after{content: "";position: absolute;left: var(--space-md);right: var(--space-md);bottom: calc((var(--space-xs) + var(--ws-ring)) * -1);height: var(--ws-ring);border-radius: var(--ws-radius-chip);background: var(--color-text-heading);}.ws-metric-tiles__grid:has(> .ws-metric-tile--open) > :not(.ws-metric-tile--open){display: none;}.ws-metric-tile--open{grid-column: 1 / -1;min-height: calc(var(--space-9xl) + var(--space-8xl) + var(--space-md));border-radius: var(--ws-radius-drawer);cursor: default;}.ws-metric-tile--open > .ws-metric-tile__surface{display: grid;grid-template-columns: minmax(0, 1fr) calc(var(--space-9xl) * 2 + var(--space-md) + var(--space-xxs));gap: 0;padding: 0;border-radius: var(--ws-radius-drawer-inner);}.ws-metric-tile__main{display: flex;min-width: 0;flex-direction: column;gap: var(--space-xxs-plus);padding: var(--ws-card-inset) var(--space-lg) var(--space-xs) var(--ws-band-inset);}.ws-metric-tile--open .ws-metric-tile__head{align-items: flex-start;}.ws-metric-tile--open .ws-metric-tile__label{font-size: var(--font-size-lg2);line-height: var(--space-lg);text-decoration: underline dotted;text-decoration-thickness: calc(var(--ws-hairline) * 3);text-underline-offset: var(--space-xxs-plus);}.ws-metric-tile--open .ws-metric-tile__value{font-size: calc(var(--space-3xl) + var(--space-xxs));line-height: calc(var(--space-3xl) + var(--space-xs));color: var(--tone-word, var(--color-text-heading));}.ws-metric-tile__chart{position: relative;flex: 1;min-height: var(--space-9xl);}.ws-metric-tile__chart--segs{display: flex;flex: 0 1 auto;min-height: 0;flex-direction: column;gap: var(--space-lg);padding: var(--space-md) 0 var(--space-xs);}.ws-metric-tile__seg-line{display: flex;align-items: baseline;gap: var(--space-xs-plus);font-size: var(--ws-text-body);line-height: var(--ws-leading-row);color: var(--color-text-heading);}.ws-metric-tile__seg-line > span{flex: 1;min-width: 0;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-weight: 500;}.ws-metric-tile__seg-line > b{font-weight: 600;font-variant-numeric: tabular-nums;}.ws-metric-tile__seg-line > em{width: calc(var(--space-2xl) + var(--space-xxs));font-style: normal;font-size: var(--ws-text-control);text-align: right;color: var(--color-text-muted);font-variant-numeric: tabular-nums;}.ws-metric-tile__seg .ws-pace-bar{margin-top: var(--space-xxs);}.ws-metric-tile__key{display: flex;flex-wrap: wrap;justify-content: center;gap: var(--space-xxs) var(--space-md);font-size: var(--ws-text-dense);font-weight: 500;line-height: var(--space-md);color: var(--color-text-body);}.ws-metric-tile__key > span{display: inline-flex;align-items: center;gap: var(--space-xxs-plus);}.ws-metric-tile__key i{width: var(--space-xs);height: var(--space-xs);border-radius: var(--ws-radius-chip);background: var(--tone);}.ws-metric-tile__side{display: flex;min-width: 0;flex-direction: column;padding: var(--space-sm) 0 var(--space-md);border-left: var(--ws-divider);}.ws-metric-tile__section{display: flex;flex-direction: column;gap: var(--space-xs);padding: var(--space-sm) var(--space-sm-plus) var(--space-sm) var(--space-lg);}.ws-metric-tile__section + .ws-metric-tile__section{border-top: var(--ws-divider);}.ws-metric-tile__section--grow{flex: 1;}.ws-metric-tile__section-title{font-size: var(--ws-text-control);font-weight: 500;line-height: var(--ws-leading-control);color: var(--color-text-heading);}.ws-metric-tile__preview > .ws-tick-strip{flex: 1;}.ws-metric-tile__tools{display: flex;align-items: center;gap: var(--space-xxs);padding: 0 var(--space-sm-plus) 0 var(--space-lg);}.ws-metric-tile__tools > span{flex: 1;min-width: 0;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-size: var(--ws-text-dense);font-weight: 500;color: var(--color-text-muted);}.ws-metric-tile__mover{display: grid;grid-template-columns: var(--space-xs) minmax(0, 1fr) auto;align-items: center;column-gap: var(--space-xs-plus);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);}.ws-metric-tile__mover > i{width: var(--space-xs);height: var(--space-xs);border-radius: var(--ws-radius-chip);background: var(--tone);}.ws-metric-tile__mover > b{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-weight: 500;color: var(--color-text-heading);}.ws-metric-tile__mover > em{font-style: normal;font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;text-align: right;}.ws-metric-tile__acts{display: flex;flex-wrap: wrap;gap: var(--space-xs);}.ws-metric-tile__acts > *{flex: 1 1 0;min-width: max-content;}.ws-metric-tile--open > .ws-metric-tile__foot{min-height: var(--space-2xl);padding-inline: var(--ws-band-inset);}@container (max-width: 60rem){.ws-metric-tile--open > .ws-metric-tile__surface{grid-template-columns: minmax(0, 1fr);}.ws-metric-tile__side{border-left: 0;border-top: var(--ws-divider);}.ws-metric-tile__chart:not(.ws-metric-tile__chart--segs){min-height: calc(var(--space-9xl) + var(--space-4xl));}}@container (max-width: 30rem){.ws-metric-tile__main{padding: var(--space-md);}.ws-metric-tile__section, .ws-metric-tile__tools{padding-inline: var(--space-md);}.ws-metric-tile--open > .ws-metric-tile__foot{padding-inline: var(--space-md);}}:where([data-ws-lifted]){width: auto;height: auto;margin: 0;padding: 0;border: 0;background: none;color: inherit;}:root[data-ws-morph]{--ws-morph-for: var(--ws-duration-morph);--ws-morph-ease: var(--ws-ease-morph);--ws-morph-wait: 32ms;--ws-morph-out: 100ms;}:root[data-ws-morph="grow"]{--ws-morph-for: var(--ws-duration-grow);--ws-morph-ease: var(--ws-ease-grow);--ws-morph-wait: 0s;}:root[data-ws-morph="shrink"]{--ws-morph-for: var(--ws-duration-shrink);--ws-morph-ease: var(--ws-ease-grow);--ws-morph-wait: 0s;}:root[data-ws-morph="shift"]{--ws-morph-for: var(--ws-duration-shift);--ws-morph-ease: var(--ws-ease-shift);--ws-morph-wait: 0s;}@keyframes ws-morph-out{to{opacity: 0;}}@keyframes ws-morph-in{from{opacity: 0;}}@media (prefers-reduced-motion: no-preference){:root[data-ws-morph]::view-transition-group(ws-morph){animation-duration: var(--ws-morph-for);animation-timing-function: var(--ws-morph-ease);animation-delay: var(--ws-morph-wait);overflow: clip;border-radius: var(--ws-morph-radius, var(--ws-radius-card));background: var(--ws-morph-ground, var(--ws-raised));-webkit-backdrop-filter: var(--ws-morph-backdrop, none);backdrop-filter: var(--ws-morph-backdrop, none);box-shadow: var(--ws-shadow-hairline);}:root[data-ws-morph]::view-transition-image-pair(ws-morph){isolation: auto;}:root[data-ws-morph]::view-transition-old(ws-morph), :root[data-ws-morph]::view-transition-new(ws-morph){inline-size: auto;block-size: auto;mix-blend-mode: normal;}:root[data-ws-morph]::view-transition-old(ws-morph){animation: ws-morph-out var(--ws-morph-out) linear calc(var(--ws-morph-wait) + var(--ws-morph-for) * 0.55) both;}:root[data-ws-morph]::view-transition-new(ws-morph){animation: ws-morph-in var(--ws-duration-settle) var(--ws-ease-soft) calc(var(--ws-morph-wait) + var(--ws-morph-for) * 0.55) both;}:root[data-ws-morph]::view-transition-old(root), :root[data-ws-morph]::view-transition-new(root){animation-duration: var(--ws-duration-settle);animation-timing-function: var(--ws-ease-soft);}}.ws-number-input{position: relative;display: flex;}.ws-number-input .ws-input{text-align: right;}.ws-number-input__unit{position: absolute;top: 50%;transform: translateY(-50%);right: var(--space-sm);color: var(--color-text-muted);font-size: var(--ws-text-body);pointer-events: none;}.ws-number-input__steppers{position: absolute;top: 50%;right: calc(var(--space-xxs) / 2);transform: translateY(-50%);display: flex;gap: calc(var(--space-xxs) / 2);}.ws-number-input__steppers .ws-icon-btn{color: var(--ws-field-mark, var(--color-text-heading));}.ws-number-input__steppers .ws-icon-btn:focus-visible{outline-color: var(--ws-field-mark, var(--ws-focus-color));}@media (hover: hover){.ws-number-input__steppers .ws-icon-btn:not(:disabled):hover{background-color: color-mix(in srgb, var(--ws-field-mark, var(--color-text-heading)) 6%, transparent);}}.ws-number-input:has(> .ws-input:disabled) .ws-number-input__steppers .ws-icon-btn{color: var(--color-text-muted);}.ws-number-input--unit .ws-input{padding-right: var(--space-3xl);}.ws-number-input--steppers .ws-input{padding-right: var(--space-4xl);}.ws-number-input--steppers.ws-number-input--unit .ws-input{padding-right: var(--space-6xl);}.ws-number-input--steppers .ws-number-input__unit{right: calc(var(--space-4xl) - var(--space-xxs));}.ws-number-input .ws-input{appearance: textfield;}.ws-number-input .ws-input::-webkit-inner-spin-button, .ws-number-input .ws-input::-webkit-outer-spin-button{margin: 0;appearance: none;}@media (pointer: coarse){.ws-number-input__steppers{right: var(--space-xs);gap: var(--space-md);}.ws-number-input--steppers .ws-input{padding-right: var(--space-5xl);}.ws-number-input--steppers .ws-number-input__unit{right: var(--space-5xl);}.ws-number-input--steppers.ws-number-input--unit .ws-input{padding-right: var(--space-7xl);}}.ws-pace-bar{--value: 0%;--pace: 0%;--tone: var(--color-text-heading);--h: var(--space-sm-plus);position: relative;height: var(--space-lg);}.ws-pace-bar::before, .ws-pace-bar__fill, .ws-pace-bar__gap{position: absolute;top: calc((100% - var(--h)) / 2);height: var(--h);}.ws-pace-bar::before{content: "";left: 0;right: 0;border-radius: var(--ws-radius-chip);background: var(--ws-track);}.ws-pace-bar__fill{left: 0;width: var(--value);border-radius: var(--ws-radius-chip) 0 0 var(--ws-radius-chip);background: var(--tone);transform-origin: left;}.ws-pace-bar__gap{left: var(--value);width: max(0%, calc(var(--pace) - var(--value)));border: var(--ws-hairline) solid var(--tone);border-left: 0;background: var(--color-bg-page);}.ws-pace-bar:not(:has(> .ws-pace-bar__fill)) > .ws-pace-bar__gap{border-left: var(--ws-hairline) solid var(--tone);border-radius: var(--ws-radius-chip) 0 0 var(--ws-radius-chip);}.ws-pace-bar__cut{position: absolute;top: calc((100% - var(--h)) / 2);left: var(--at);height: var(--h);border-left: var(--ws-line) solid var(--color-bg-page);}.ws-pace-bar__dot{position: absolute;top: calc((100% - var(--h)) / 2);left: var(--pace);width: var(--h);height: var(--h);margin-left: calc(var(--h) / -2);border: calc(var(--ws-hairline) * 3) solid var(--color-bg-page);border-radius: var(--radius-full);background: var(--tone);}.ws-pace-bar--done .ws-pace-bar__fill{width: 100%;border-radius: var(--ws-radius-chip);}.ws-pace-bar--thin{--h: calc(var(--space-xxs) + var(--ws-line));height: var(--h);}.ws-pace-bar--thin::before, .ws-pace-bar--thin .ws-pace-bar__fill{border-radius: var(--ws-radius-bar);}@media (prefers-reduced-motion: no-preference){.ws-pace-bar--draw .ws-pace-bar__fill, .ws-pace-bar--draw .ws-pace-bar__gap{animation: ws-grow var(--ws-duration-fill) var(--ws-ease-settle) backwards;animation-delay: var(--ws-build-at, 0s);}.ws-pace-bar--draw .ws-pace-bar__gap{transform-origin: left;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-duration-settle));}.ws-pace-bar--draw .ws-pace-bar__dot{animation: ws-bloom var(--ws-duration-settle) var(--ws-ease-pop) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-duration-fill));}}.ws-board--4{container: ws-board / inline-size;grid-template-columns: repeat(4, minmax(0, 1fr));}.ws-board--4 > *{grid-column: span 4;}@container ws-board (min-width: 40rem){.ws-board--4 > *{grid-column: span 2;}}@container ws-board (min-width: 60rem){.ws-board--4 > *{grid-column: span 1;}}.ws-page-bar{container: ws-page-bar / inline-size;display: flex;flex-shrink: 0;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--space-xs) var(--space-lg);min-height: var(--ws-header-h);padding-block: var(--space-xs);}.ws-page-bar__words{display: flex;flex: 1 1 0;flex-wrap: wrap;align-items: center;column-gap: var(--space-md);min-width: min(100%, var(--space-9xl));}.ws-page-bar__face{flex-shrink: 0;width: var(--ws-icon-lg);height: var(--ws-icon-lg);margin-inline-end: calc(var(--space-sm-plus) - var(--space-md));}.ws-page-bar__title{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: var(--font-size-md);line-height: var(--ws-leading-section);font-weight: 600;letter-spacing: var(--ws-tracking-title);color: var(--color-text-heading);}.ws-page-bar__context{min-width: 0;font-size: var(--ws-text-body);line-height: var(--ws-leading-row);color: var(--color-text-muted);}.ws-page-bar__acts{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xs);min-width: 0;}.ws-page-bar__meta{display: inline-flex;flex-wrap: wrap;column-gap: var(--space-xxs-plus);padding-inline-end: var(--space-xs);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-heading);}.ws-page-bar__meta:last-child{padding-inline-end: 0;}.ws-page-bar__back{display: inline-flex;align-items: center;gap: var(--space-xs-plus);min-height: var(--space-lg);padding: 0;border: 0;border-radius: var(--ws-radius-control);background: none;font-size: var(--ws-text-section);line-height: var(--ws-leading-row);font-weight: 400;color: var(--color-text-heading);text-decoration: none;white-space: nowrap;cursor: pointer;}.ws-page-bar__acts > * + .ws-page-bar__back{margin-inline-start: var(--space-md);}.ws-page-bar__back > svg{flex-shrink: 0;width: var(--ws-icon-lg);height: var(--ws-icon-lg);}@media (hover: hover){.ws-page-bar__back:hover{text-decoration: underline;text-underline-offset: var(--space-xxs);}}@container ws-page-bar (max-width: 40rem){.ws-page-bar__words{flex-grow: 999;min-width: min(100%, var(--space-8xl));}.ws-page-bar__acts{flex-grow: 1;}.ws-page-bar__meta{flex-basis: 100%;padding-inline-end: 0;}.ws-page-bar__back{justify-content: center;min-width: var(--ws-touch);min-height: var(--ws-touch);}.ws-page-bar__back-words{display: none;}.ws-page-bar__acts > * + .ws-page-bar__back{margin-inline-start: auto;}.ws-app-shell__bar > .ws-page-bar__words{flex-wrap: nowrap;}.ws-app-shell__bar > .ws-page-bar__words > .ws-page-bar__context{display: none;}}.ws-page-hero{container: ws-page-hero / inline-size;display: grid;grid-template-columns: minmax(0, 1fr) minmax(0, var(--ws-page-hero-aside, 1fr));align-items: center;column-gap: var(--space-4xl);row-gap: var(--space-lg);}.ws-page-hero > *{grid-column: 1 / -1;min-width: 0;}.ws-page-hero--cool, .ws-page-hero--team{border-radius: var(--ws-radius-card);padding: var(--space-lg);}.ws-page-hero--cool{background-image: var(--ws-cool-glow);}.ws-page-hero--team{background-image: var(--ws-team-glow);}:is(.ws-page-hero--cool, .ws-page-hero--team) .ws-muted{color: var(--color-text-body);}.ws-page-hero__words{container-type: inline-size;display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-xxs-plus);}.ws-page-hero__figure{max-width: 100%;font-size: min(var(--ws-text-score), 25cqi);line-height: 1;font-weight: 400;letter-spacing: var(--ws-tracking-display);color: var(--color-text-heading);font-variant-numeric: proportional-nums;white-space: nowrap;}@container (max-width: 26rem){.ws-page-hero__figure{font-size: min(var(--ws-text-display), 25cqi);}}.ws-page-hero__title{font-size: var(--font-size-2xl);line-height: var(--space-xl);font-weight: 600;letter-spacing: var(--ws-tracking-title);color: var(--color-text-heading);text-wrap: balance;overflow-wrap: break-word;max-width: 100%;}.ws-page-hero__lines{max-width: 60ch;text-wrap: pretty;display: flex;flex-direction: column;gap: var(--space-xs);font-size: var(--ws-text-body);line-height: var(--ws-leading-section);color: var(--color-text-body);}.ws-page-hero__acts{margin-top: var(--space-xxs-plus);display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xs) var(--space-sm-plus);}.ws-page-hero__aside > .ws-page-hero__acts{margin-top: var(--space-sm);}@container ws-page-hero (min-width: 60rem){.ws-page-hero > :is(.ws-page-hero__words, .ws-page-hero__aside):not(:only-child){grid-column: auto;}.ws-page-hero__title{font-size: var(--font-size-3xl);line-height: var(--space-3xl);}.ws-page-hero__aside--top{align-self: start;padding-top: var(--space-xl);}}.ws-pagination{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--space-xs) var(--space-sm);padding: var(--space-xs) var(--ws-card-inset);border-top: var(--ws-divider);}.ws-pagination__range{font-size: var(--ws-text-meta);line-height: var(--space-md);color: var(--color-text-muted);font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-pagination__end{display: flex;align-items: center;gap: var(--space-sm);margin-inline-start: auto;}.ws-pagination__nav{display: flex;align-items: center;gap: var(--space-xxs);}.ws-pagination__rows{display: flex;align-items: center;gap: var(--space-xs);}.ws-pagination__rows .ws-select{font-variant-numeric: tabular-nums;}.ws-pagination__rows select:not(.ws-select){height: var(--ws-control-h-sm);padding: 0 var(--space-xxs);border: 0;border-radius: var(--ws-radius-control);background: var(--ws-field);box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-card);color: var(--ws-field-ink);font-size: var(--ws-text-dense);font-variant-numeric: tabular-nums;cursor: pointer;}@media (pointer: coarse){.ws-pagination__rows select:not(.ws-select){font-size: var(--ws-text-value);}}.ws-panel{display: flex;flex-shrink: 0;flex-direction: column;width: var(--ws-thing-width);max-width: 100%;min-height: 0;border: var(--ws-rim) solid var(--ws-tray);border-radius: var(--ws-radius-drawer);background: var(--ws-raised);color: var(--color-text-body);}.ws-panel__head{display: flex;flex-shrink: 0;align-items: flex-start;justify-content: space-between;gap: var(--space-sm);padding: var(--ws-card-inset) var(--ws-band-inset) 0;}.ws-panel__heading{display: flex;flex: 1;flex-direction: column;gap: var(--space-xxs);min-width: 0;}.ws-panel__title-row{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xxs) var(--space-xs-plus);}.ws-panel__close{--ws-panel-close: var(--ws-control-h);margin-block: calc((var(--ws-leading-title) - var(--ws-panel-close)) / 2 - var(--ws-hairline)) calc((var(--ws-leading-title) - var(--ws-panel-close)) / 2 + var(--ws-hairline));border-radius: var(--ws-radius-row);background: var(--ws-tray);color: var(--color-text-heading);}@media (hover: hover){.ws-panel__close:hover{background: var(--ws-well-hover);}}@media (pointer: coarse){.ws-panel__close{--ws-panel-close: var(--ws-touch);}}.ws-panel__body{display: flex;flex: 1 1 auto;flex-direction: column;min-height: 0;overflow-y: auto;overscroll-behavior: contain;}.ws-panel__body:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-panel__section{display: flex;flex-direction: column;gap: var(--space-md);padding: var(--ws-card-inset) var(--ws-band-inset);border-top: var(--ws-divider);}.ws-panel__body > .ws-panel__section:first-child{padding-top: var(--space-md);border-top: 0;}.ws-panel__section--tight{padding-block: var(--space-sm);}.ws-panel__foot{display: flex;flex-shrink: 0;flex-direction: column;}.ws-panel__next{display: flex;flex-direction: column;gap: var(--space-xxs-plus);}.ws-panel__next > .ws-control-words{color: var(--color-text-muted);}.ws-panel__acts{display: flex;flex-wrap: wrap;gap: var(--space-xs);}.ws-panel__acts > *{flex: 1 1 var(--space-8xl);min-width: min(100%, max-content);}.ws-panel__figure-row{display: flex;align-items: center;gap: var(--ws-card-inset);}.ws-panel__figure-row > :last-child{flex: 1;min-width: 0;}@media (max-width: 40rem){.ws-panel{position: fixed;inset: 0;z-index: var(--z-modal);width: auto;max-width: none;border: 0;border-radius: 0;}}.ws-panel{--ws-panel-out: 160ms;--ws-panel-unblur: 240ms;transform-origin: 100% 50%;}@keyframes ws-panel-fade{from{opacity: 0;}}@keyframes ws-panel-grow{from{scale: var(--ws-open-scale);}}@keyframes ws-panel-unblur{from{filter: blur(var(--ws-blur-panel));}}@keyframes ws-panel-out{to{opacity: 0;scale: var(--ws-open-scale);filter: blur(calc(var(--ws-blur-arrive) * 2));}}@media (prefers-reduced-motion: no-preference){.ws-panel{animation: ws-panel-fade var(--ws-duration-hover) var(--ws-ease-soft) backwards, ws-panel-grow var(--ws-spring-panel-duration) var(--ws-spring-panel) backwards, ws-panel-unblur var(--ws-panel-unblur) var(--ws-ease-soft) backwards;}.ws-panel--leaving, .ws-panel[data-leaving]{animation: ws-panel-out var(--ws-panel-out) var(--ws-ease-exit) forwards;pointer-events: none;}}.ws-password-input__label-row{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-sm);font-size: var(--ws-text-dense);line-height: var(--space-md);}.ws-password-input{position: relative;display: flex;min-width: 0;}.ws-password-input .ws-input{padding-right: var(--space-xl);}.ws-password-input__eye{position: absolute;right: var(--space-xxs);top: 50%;translate: 0 -50%;}.ws-password-input .ws-icon-btn{color: var(--ws-field-mark, var(--color-text-heading));}.ws-password-input .ws-icon-btn:focus-visible{outline-color: var(--ws-field-mark, var(--ws-focus-color));}@media (hover: hover){.ws-password-input .ws-icon-btn:not(:disabled):hover{background-color: color-mix(in srgb, var(--ws-field-mark, var(--color-text-heading)) 6%, transparent);}}.ws-password-input:has(> .ws-input:disabled) .ws-icon-btn{color: var(--color-text-muted);}.ws-password-input__strength{--ws-password-tone: var(--ws-track);display: flex;align-items: center;gap: var(--space-xs);margin-top: var(--space-xxs);}.ws-password-input__segments{display: flex;gap: var(--space-xxs);}.ws-password-input__segment{width: calc(var(--space-md) + var(--space-xxs));height: var(--space-xxs);border-radius: var(--ws-radius-bar);background: var(--ws-track);}.ws-password-input__word{font-size: var(--ws-text-dense);line-height: var(--space-md);font-weight: 500;}.ws-password-input__strength--weak{--ws-password-tone: var(--ws-chart-under-half);}.ws-password-input__strength--weak .ws-password-input__word{color: var(--ws-word-needs);}.ws-password-input__strength--fair, .ws-password-input__strength--good{--ws-password-tone: var(--ws-chart-past-half);}.ws-password-input__strength--fair .ws-password-input__word, .ws-password-input__strength--good .ws-password-input__word{color: var(--ws-word-past-half);}.ws-password-input__strength--strong{--ws-password-tone: var(--ws-chart-finished);}.ws-password-input__strength--strong .ws-password-input__word{color: var(--ws-word-positive);}.ws-password-input__strength--weak .ws-password-input__segment:nth-child(-n + 1), .ws-password-input__strength--fair .ws-password-input__segment:nth-child(-n + 2), .ws-password-input__strength--good .ws-password-input__segment:nth-child(-n + 3), .ws-password-input__strength--strong .ws-password-input__segment{background: var(--ws-password-tone);}.ws-plate{padding: var(--space-sm-plus) var(--space-md);}.ws-plate:has(> .ws-plate__foot){padding: var(--ws-rim);}.ws-plate__body{padding: var(--space-sm-plus) var(--space-md);}.ws-plate__foot{display: flex;align-items: center;justify-content: space-between;gap: var(--space-xs);padding: var(--space-sm) var(--space-md);border-top: var(--ws-divider);border-radius: 0 0 var(--ws-radius-card-inner) var(--ws-radius-card-inner);background: var(--color-bg-page);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-heading);}a.ws-plate__foot{text-decoration: none;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){a.ws-plate__foot:hover{background-image: linear-gradient(var(--ws-hover-faint), var(--ws-hover-faint));}a.ws-plate__foot:hover > :first-child{text-decoration: underline;}}a.ws-plate__foot:active{background-image: linear-gradient(var(--ws-hover), var(--ws-hover));}a.ws-plate__foot:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-plate__foot > svg{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);}.ws-plate__fact{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-md);}.ws-plate__fact > :first-child{flex-shrink: 0;}.ws-plate__fact + .ws-plate__fact{margin-top: var(--space-xxs);}.ws-plate__value{font-weight: 600;color: var(--color-text-heading);text-align: right;font-variant-numeric: tabular-nums;}.ws-plate__stats{display: flex;flex-wrap: wrap;gap: var(--space-xs) var(--space-xl);}.ws-plate__title + .ws-plate__stats{padding-top: var(--space-xs);}.ws-plate__stat{display: flex;flex-direction: column;gap: var(--space-3xs);}.ws-plate__label{font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-muted);}.ws-plate__stat > .ws-plate__value{font-size: var(--ws-text-section);line-height: var(--ws-leading-section);text-align: left;}.ws-plate__track{height: var(--space-sm);border-radius: var(--ws-radius-chip);background: color-mix(in srgb, var(--ws-ink) 8%, transparent);overflow: hidden;}.ws-plate__fill{height: 100%;border-radius: var(--ws-radius-chip);background: var(--color-stat-positive);transform-origin: left;}.ws-plate__title{font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 600;color: var(--color-text-heading);}.ws-plate--draft{display: flex;flex-direction: column;gap: var(--space-sm);padding: var(--ws-card-inset);border: var(--ws-rim) solid var(--ws-tray);}.ws-plate__head{display: flex;align-items: center;gap: var(--space-xs);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;}.ws-plate__head > svg{flex-shrink: 0;width: var(--ws-icon-lg);height: var(--ws-icon-lg);color: var(--color-text-heading);}.ws-plate__head > .ws-section{flex: 1;min-width: 0;}.ws-popover{display: flex;flex-direction: column;gap: var(--space-xs);width: max-content;min-width: var(--space-9xl);max-width: min(var(--ws-float-width), calc(100vw - var(--space-xl)));max-height: calc(100dvh - var(--space-xl));overflow-y: auto;overscroll-behavior: contain;z-index: var(--z-dropdown);padding: var(--space-sm);border: 0;border-radius: var(--ws-radius-card);background: var(--ws-raised);color: var(--color-text-body);box-shadow: var(--ws-shadow-hairline), var(--ws-shadow-pop);transform-origin: top right;}.ws-popover__title{font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-heading);}.ws-popover__form{display: flex;flex-direction: column;gap: var(--space-xs);}.ws-popover__form > .ws-btn{align-self: flex-end;}.ws-popover[popover]:not(:popover-open){display: none;}@supports (position-area: block-end){.ws-popover[popover]{inset: auto;margin: var(--space-xs) 0;position-area: block-end span-inline-start;justify-self: end;position-try-fallbacks: flip-block, flip-inline, flip-block flip-inline, --ws-popover-wide, --ws-popover-wide flip-block;max-height: calc(100% - var(--space-xs) * 2);min-height: calc-size(max-content, min(size, var(--space-9xl)));}.ws-popover--above[popover]{position-area: block-start span-inline-start;transform-origin: bottom right;}}@position-try --ws-popover-wide{position-area: block-end span-all;justify-self: center;}.ws-popover{--ws-popover-from: calc(var(--ws-nudge) * -1);}.ws-popover--above, .ws-popover[data-side="top"]{--ws-popover-from: var(--ws-nudge);transform-origin: bottom right;}@keyframes ws-popover-in{from{opacity: 0;transform: translateY(var(--ws-popover-from)) scale(var(--ws-open-scale));}}@keyframes ws-popover-out{to{opacity: 0;transform: translateY(var(--ws-popover-from)) scale(var(--ws-open-scale));}}@media (prefers-reduced-motion: no-preference){.ws-popover:not([popover]){animation: ws-popover-in var(--ws-spring-settle-duration) var(--ws-spring-settle) backwards;}.ws-popover[data-leaving]{animation: ws-popover-out var(--ws-duration-exit) var(--ws-ease-exit) forwards;pointer-events: none;}.ws-popover[popover]{transition: opacity var(--ws-spring-settle-duration) var(--ws-spring-settle), transform var(--ws-spring-settle-duration) var(--ws-spring-settle), margin-block var(--ws-spring-settle-duration) var(--ws-spring-settle), overlay var(--ws-duration-exit) allow-discrete, display var(--ws-duration-exit) allow-discrete;}.ws-popover[popover]:not(:popover-open){opacity: 0;transform: translateY(var(--ws-popover-from)) scale(var(--ws-open-scale));transition-duration: var(--ws-duration-exit);transition-timing-function: var(--ws-ease-exit);}@starting-style{.ws-popover[popover]:popover-open{opacity: 0;transform: translateY(var(--ws-popover-from)) scale(var(--ws-open-scale));}}@supports (position-area: block-end){.ws-popover[popover]:not([data-side]){--ws-popover-from: 0px;}.ws-popover[popover]:not([data-side]):not(:popover-open){margin-block-start: calc(var(--space-xs) - var(--ws-nudge));}.ws-popover--above[popover]:not([data-side]):not(:popover-open){margin-block: var(--space-xs) calc(var(--space-xs) - var(--ws-nudge));}@starting-style{.ws-popover[popover]:not([data-side]):popover-open{margin-block-start: calc(var(--space-xs) - var(--ws-nudge));}.ws-popover--above[popover]:not([data-side]):popover-open{margin-block: var(--space-xs) calc(var(--space-xs) - var(--ws-nudge));}}}}.ws-pricing-table{background: var(--color-bg-page);width: 100%;padding: var(--space-xl) var(--layout-margin);}.ws-pricing-table__grid{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(var(--space-9xl) + var(--space-2xl))), 1fr));gap: var(--layout-col-gap);max-width: var(--layout-content-max);margin: 0 auto;}.ws-pricing-table__plan{position: relative;min-width: 0;display: flex;flex-direction: column;border-radius: var(--ws-radius-control);border: var(--ws-line) solid var(--color-border-default);background: var(--color-surface);padding: var(--space-lg);}.ws-pricing-table__plan--popular{border-color: var(--color-text-heading);box-shadow: inset 0 0 0 var(--ws-ring) var(--color-text-heading);}.ws-pricing-table__badge{position: absolute;top: 0;left: var(--space-lg);transform: translateY(-50%);display: inline-flex;align-items: center;border-radius: var(--radius-full);padding: var(--space-3xs) var(--space-xs-plus);font-size: var(--font-size-2xs);line-height: calc(var(--space-md) + var(--space-3xs));font-weight: 500;white-space: nowrap;background: color-mix(in srgb, var(--color-text-heading) 10%, var(--color-surface));color: var(--color-text-heading);}.ws-pricing-table__name{font-size: var(--font-size-lg2);line-height: var(--ws-leading-title);font-weight: 600;color: var(--color-text-heading);overflow-wrap: break-word;}.ws-pricing-table__price{margin-top: var(--space-sm);display: flex;flex-wrap: wrap;align-items: baseline;gap: var(--space-xxs);}.ws-pricing-table__price-value{font-size: var(--font-size-4xl);font-weight: 600;color: var(--color-text-heading);line-height: calc(var(--space-3xl) + var(--space-xs));font-variant-numeric: tabular-nums;}.ws-pricing-table__price-period{font-size: var(--font-size-sm);color: var(--color-text-muted);}.ws-pricing-table__list{margin-top: var(--space-lg);display: flex;flex-direction: column;gap: var(--space-sm);flex: 1;}.ws-pricing-table__row{display: flex;align-items: flex-start;gap: var(--space-xs);font-size: var(--font-size-sm);line-height: calc(var(--space-md) + var(--space-xxs));color: var(--color-text-primary);}.ws-pricing-table__row svg{width: var(--ws-icon);height: var(--ws-icon);flex-shrink: 0;margin-top: var(--space-3xs);color: var(--color-stat-positive);}.ws-pricing-table__cta{margin-top: var(--space-lg);}@media (max-width: 40rem){.ws-pricing-table{padding-inline: var(--space-md);}}.ws-progress-petals__body{display: flex;flex-direction: column;align-items: center;gap: var(--space-md);padding: var(--space-lg) var(--ws-card-inset) var(--space-xl);}.ws-progress-petals__body > .ws-segmented{align-self: center;}.ws-progress-petals__wheel{position: relative;width: 100%;min-width: min(100%, calc(var(--space-9xl) + var(--space-2xl)));max-width: calc(var(--space-9xl) + var(--space-7xl) - var(--space-xxs));aspect-ratio: 1;margin: calc(var(--space-xxs) * 1.5) 0;}.ws-progress-petals__wheel svg{position: absolute;inset: 0;width: 100%;height: 100%;overflow: visible;}.ws-progress-petals__petal{transform-box: view-box;transform-origin: 50% 50%;}.ws-progress-petals__label{position: absolute;display: flex;flex-direction: column;align-items: center;transform: translate(-50%, -50%);white-space: nowrap;pointer-events: none;}.ws-progress-petals__share{font-size: var(--ws-text-body);font-weight: 600;line-height: calc(var(--space-md) + var(--space-xxs));}.ws-progress-petals__name{font-size: var(--ws-text-micro);line-height: calc(var(--space-xs) + var(--space-xxs) * 0.75);}.ws-progress-petals__label--on .ws-progress-petals__share{color: var(--color-text-heading);}.ws-progress-petals__label--on .ws-progress-petals__name{color: var(--color-text-heading);}.ws-progress-petals__label--off .ws-progress-petals__share, .ws-progress-petals__label--off .ws-progress-petals__name{color: var(--color-text-body);}.ws-progress-petals__center{position: absolute;left: 50%;top: 50%;display: flex;flex-direction: column;align-items: center;transform: translate(-50%, -50%);}.ws-progress-petals__total{font-size: var(--ws-text-title);font-weight: 600;line-height: var(--ws-leading-title);letter-spacing: var(--ws-tracking-title);color: var(--color-text-heading);}.ws-progress-petals__center--small .ws-progress-petals__total{font-size: var(--ws-text-value);}.ws-progress-petals__caption{font-size: var(--ws-text-micro);line-height: calc(var(--space-xs) + var(--space-xxs) * 1.5);text-transform: uppercase;letter-spacing: 0.05em;color: var(--color-text-muted);}.ws-progress-petals__rings{position: relative;width: 100%;aspect-ratio: 1;border-radius: var(--radius-full);-webkit-mask-image: repeating-radial-gradient(circle, var(--color-text-heading) 0 var(--space-xxs), transparent var(--space-xxs) calc(var(--space-xxs) * 1.25));mask-image: repeating-radial-gradient(circle, var(--color-text-heading) 0 var(--space-xxs), transparent var(--space-xxs) calc(var(--space-xxs) * 1.25));}.ws-progress-petals__rings-wrap{position: relative;}.ws-progress-petals__rings-hole{position: absolute;inset: 15%;display: flex;flex-direction: column;align-items: center;justify-content: center;border-radius: var(--radius-full);background: var(--color-bg-page);}.ws-progress-petals__rings-hole .ws-progress-petals__center{position: static;transform: none;}.ws-rank-bar--in-card{padding: 0 var(--ws-card-inset) var(--space-xs);}.ws-rank-bar__caption-row{display: flex;align-items: baseline;justify-content: space-between;padding-top: var(--space-lg);}.ws-rank-bar__caption{font-size: var(--ws-text-meta);font-weight: 600;line-height: var(--space-md);color: var(--color-text-heading);}.ws-rank-bar__goal{font-size: var(--ws-text-meta);color: var(--color-text-muted);}.ws-rank-bar__wrap{--lanes: 0;position: relative;margin-top: calc(var(--space-lg) - var(--space-xxs) / 2);padding-top: calc(var(--space-md) + var(--lanes) * var(--space-md));}.ws-rank-bar__strip{position: relative;height: var(--space-2xl);background: var(--color-bg-page);}.ws-rank-bar__remaining{position: absolute;inset: 0;left: var(--you);background-image: repeating-linear-gradient(90deg in srgb, var(--ws-edge-slot) 0 var(--ws-line), transparent var(--ws-line) var(--space-xxs));}.ws-rank-bar__filled{position: absolute;inset: 0;width: var(--you);background: linear-gradient(90deg in srgb, var(--ws-chart-salmon-fade), var(--ws-chart-under-half));-webkit-mask-image: repeating-linear-gradient(90deg, var(--color-text-heading) 0 calc(var(--space-xxs) / 2), transparent calc(var(--space-xxs) / 2) var(--space-xxs));mask-image: repeating-linear-gradient(90deg, var(--color-text-heading) 0 calc(var(--space-xxs) / 2), transparent calc(var(--space-xxs) / 2) var(--space-xxs));}.ws-rank-bar__mark, .ws-rank-bar__label{--lane: 0;position: absolute;}.ws-rank-bar__mark{bottom: 0;width: calc(var(--ws-hairline) * 3);height: calc(var(--space-2xl) + var(--space-md) + var(--lane) * var(--space-md));transform: translateX(-50%);}.ws-rank-bar__label{bottom: calc(var(--space-2xl) + var(--space-md) + var(--lane) * var(--space-md) - var(--space-xs-plus));white-space: nowrap;font-size: var(--ws-text-micro);font-weight: 600;line-height: var(--space-sm);}.ws-rank-bar__quarters{position: relative;height: var(--space-sm);margin-top: var(--space-xs);font-size: var(--ws-text-micro);font-weight: 500;color: var(--color-text-muted);}.ws-rank-bar__quarters > span{position: absolute;top: 0;}.ws-ring{display: flex;flex-direction: column;align-items: center;gap: var(--space-xs);}.ws-ring__arc{position: relative;display: inline-flex;}.ws-ring__arc svg{display: block;transform: rotate(-90deg);}.ws-ring__track{fill: none;stroke: var(--ws-track);}.ws-ring__value{fill: none;stroke-linecap: round;}.ws-ring__value[stroke-dasharray^="0 "]{visibility: hidden;}@media (prefers-reduced-motion: no-preference){.ws-ring__value--draw{animation: ws-draw var(--ws-duration-draw) var(--ws-ease-soft) backwards;animation-delay: var(--ws-build-at, 0s);}.ws-ring__value--live{transition: stroke-dasharray var(--ws-duration-calm) var(--ws-ease-steady);}}.ws-ring__center{position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-ring__center--sm{font-size: var(--ws-text-dense);}.ws-ring__center--lg{font-size: var(--ws-text-title);}.ws-ring__ticks{--ws-ring-ticks: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 232 232'%3E%3Ccircle cx='116' cy='116' r='94' fill='none' stroke='%23000' stroke-width='44' pathLength='96' stroke-dasharray='0.808 0.192' stroke-dashoffset='0.404' transform='rotate(-90 116 116)'/%3E%3C/svg%3E");}@property --ws-ring-sweep{syntax: "<angle>";inherits: false;initial-value: 360deg;}@keyframes ws-ring-sweep{from{--ws-ring-sweep: 0deg;}}.ws-ring__split{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-lg) var(--space-4xl);padding: var(--space-lg) var(--ws-card-inset) var(--space-xl);}.ws-ring__plate{position: relative;display: grid;flex-shrink: 0;place-items: center;width: calc(var(--space-9xl) + var(--space-xl) + var(--space-xs));max-width: 100%;aspect-ratio: 1;border-radius: var(--radius-full);background: var(--color-bg-page);}.ws-ring__ticks{position: relative;flex-shrink: 0;width: calc(var(--space-9xl) + var(--space-xl));max-width: 100%;aspect-ratio: 1;border-radius: var(--radius-full);-webkit-mask-image: var(--ws-ring-ticks), conic-gradient(var(--ws-mask) var(--ws-ring-sweep, 360deg), transparent 0);-webkit-mask-composite: source-in;mask-image: var(--ws-ring-ticks), conic-gradient(var(--ws-mask) var(--ws-ring-sweep, 360deg), transparent 0);mask-composite: intersect;mask-size: 100% 100%;}.ws-ring__plate > .ws-ring__ticks{grid-area: 1 / 1;}.ws-ring__hole{position: absolute;inset: 15%;border-radius: var(--radius-full);background: var(--color-bg-page);}.ws-ring__plate > .ws-ring__hole{position: relative;inset: auto;grid-area: 1 / 1;display: flex;width: calc(var(--space-7xl) + var(--space-lg));max-width: 62%;aspect-ratio: 1;flex-direction: column;align-items: center;justify-content: center;gap: 0;text-align: center;}.ws-ring__total{font-size: calc(var(--ws-text-figure) + var(--space-xxs));font-weight: 600;line-height: calc(var(--space-2xl) + var(--space-xxs));color: var(--color-text-heading);font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-ring__caption{font-size: var(--ws-text-control);font-weight: 500;line-height: var(--space-md);color: var(--color-text-heading);}@media (prefers-reduced-motion: no-preference){.ws-ring__plate > .ws-ring__ticks{animation: ws-ring-sweep var(--ws-duration-draw) var(--ws-ease-soft) backwards;animation-delay: var(--ws-build-at, 0s);}.ws-ring__plate > .ws-ring__hole > *{animation: ws-settle var(--ws-duration-settle) var(--ws-ease-soft) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-duration-draw) / 2);}}.ws-ring__legend{display: grid;flex: 1 1 0;min-width: min(100%, 11rem);grid-template-columns: auto auto minmax(0, 1fr);row-gap: var(--space-xxs-plus);}.ws-ring__key{display: grid;grid-column: 1 / -1;grid-template-columns: subgrid;align-items: start;column-gap: var(--space-xs);min-height: var(--space-lg);padding-block: var(--space-xxs);font-size: var(--ws-text-control);line-height: var(--space-md);color: var(--color-text-heading);}.ws-ring__dot{flex-shrink: 0;width: var(--space-xs);height: var(--space-xs);margin-top: var(--space-xxs);border-radius: var(--radius-full);}.ws-ring__count{flex-shrink: 0;margin-right: var(--space-xxs);font-weight: 600;font-variant-numeric: tabular-nums;}.ws-ring__label{display: flex;min-width: 0;align-items: flex-start;gap: var(--space-xxs-plus);}.ws-ring__label::before{content: "";flex-shrink: 0;width: var(--ws-hairline);height: var(--space-sm-plus);margin-top: var(--ws-line);background: var(--ws-edge-slot);}.ws-score-hero{--tone-word: var(--ws-word-positive);display: flex;flex-direction: column;gap: var(--space-md);container-type: inline-size;}.ws-score-hero__head{display: flex;flex-direction: column;gap: var(--space-3xs);}.ws-score-hero__figure{white-space: nowrap;font-variant-numeric: proportional-nums;}.ws-score-hero__figure--none{color: var(--color-text-muted);}.ws-score-hero__line{font-size: var(--ws-text-section);line-height: var(--ws-leading-section);color: var(--color-text-body);text-wrap: pretty;}.ws-score-hero__summary{font-size: var(--ws-text-section);line-height: var(--ws-leading-section);color: var(--color-text-body);text-wrap: pretty;}.ws-score-hero__rating{margin-right: calc(var(--space-xs-plus) - 0.2em);font-weight: 600;color: var(--tone-word);}.ws-score-hero--middle{--tone-word: var(--color-text-interactive);}.ws-score-hero--middle .ws-tick-strip{--tone: var(--ws-rating-middle);}.ws-score-hero--needs-work{--tone-word: var(--ws-word-needs-work);}.ws-score-hero--needs-work .ws-tick-strip{--tone: var(--ws-rating-needs-work);}.ws-score-hero--none{--tone-word: var(--color-text-muted);}.ws-score-hero__ghost{width: calc(var(--space-6xl) * 2);max-width: 100%;height: var(--ws-leading-score);}.ws-score-hero__ghost--line{width: min(100%, calc(var(--space-9xl) * 2));height: var(--ws-leading-section);}@container (max-width: 26rem){.ws-score-hero__figure{font-size: var(--ws-text-display);line-height: var(--ws-text-display);}.ws-score-hero__ghost{height: var(--ws-text-display);}}@media (prefers-reduced-motion: no-preference){.ws-score-hero__summary{animation: ws-settle var(--ws-duration-settle) var(--ws-ease-soft) backwards;animation-delay: calc(var(--ws-duration-draw) * 0.55);}}.ws-section-group{display: flex;flex-direction: column;gap: var(--space-sm);}.ws-section-group__head{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: var(--space-xxs) var(--space-sm);}.ws-section-group__words{display: flex;flex: 1 1 0;flex-direction: column;gap: var(--space-3xs);min-width: min(100%, var(--space-9xl));}.ws-section-group__title{font-size: var(--ws-text-section);line-height: var(--ws-leading-section);font-weight: 600;letter-spacing: var(--ws-tracking-title);color: var(--color-text-heading);}.ws-section-group__title:has(> .ws-section-group__count){display: flex;flex-wrap: wrap;align-items: baseline;column-gap: var(--space-xs-plus);}.ws-section-group--area{gap: var(--space-xs-plus);}.ws-section-group--area .ws-section-group__title{font-size: var(--ws-text-title);line-height: var(--ws-leading-title);}.ws-section-group__count{font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;letter-spacing: normal;color: var(--color-text-muted);font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-section-group__row{display: flex;align-items: center;justify-content: space-between;gap: var(--space-sm);min-height: var(--ws-row-h-dense);border-top: var(--ws-divider);}.ws-segmented-progress{display: flex;flex-direction: column;gap: var(--space-xxs-plus);}.ws-segmented-progress > .ws-figure{font-variant-numeric: proportional-nums;}.ws-segmented-progress__line{font-size: var(--ws-text-body);line-height: var(--ws-leading-row);color: var(--color-text-body);text-wrap: pretty;}.ws-segmented-progress__areas{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--space-6xl)), 1fr));gap: var(--space-md) var(--space-sm);}.ws-segmented-progress__area{display: flex;min-width: 0;flex-direction: column;gap: var(--space-xs);}.ws-segmented-progress__label{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-size: var(--ws-text-control);font-weight: 500;line-height: var(--ws-leading-control);color: var(--color-text-muted);}.ws-share-bar{display: flex;flex-direction: column;gap: var(--space-sm);}.ws-share-bar__head{display: flex;flex-wrap: wrap;align-items: baseline;gap: var(--space-xxs) var(--space-xs);font-size: var(--ws-text-body);line-height: var(--ws-leading-row);color: var(--color-text-heading);}.ws-share-bar__head > :first-child{flex: 1 1 auto;min-width: 0;font-weight: 500;}.ws-share-bar__head > :last-child:not(:first-child){flex-shrink: 0;font-weight: 600;font-variant-numeric: tabular-nums;}.ws-share-bar__bar{display: flex;height: var(--space-sm-plus);overflow: hidden;border-radius: var(--ws-radius-chip);background: var(--ws-chart-rest);}.ws-share-bar__part{flex: none;width: var(--share);height: 100%;background: var(--tone);box-shadow: var(--ws-line) 0 0 var(--color-bg-page);transform-origin: left;}.ws-share-bar__key{display: flex;flex-wrap: wrap;gap: var(--space-xxs-plus) var(--space-sm-plus);font-size: var(--ws-text-dense);font-weight: 500;line-height: var(--space-md);color: var(--color-text-body);}.ws-share-bar__item{position: relative;padding-inline-start: calc(var(--space-xs) + var(--space-xxs-plus));}.ws-share-bar__item::before{content: "";position: absolute;inset-inline-start: 0;top: calc((var(--space-md) - var(--space-xs)) / 2);width: var(--space-xs);height: var(--space-xs);border-radius: var(--ws-radius-chip);background: var(--tone, var(--ws-chart-rest));}.ws-share-bar__item b{font-weight: inherit;color: inherit;font-variant-numeric: tabular-nums;}.ws-share-bar--loading .ws-share-bar__bar{background: var(--ws-shimmer);background-size: 300% 100%;}@media (prefers-reduced-motion: no-preference){.ws-share-bar--loading .ws-share-bar__bar{animation: ws-shimmer var(--ws-loop-shimmer) var(--ws-ease-shimmer) infinite;}.ws-share-bar--draw .ws-share-bar__part{animation: ws-grow var(--ws-duration-fill) var(--ws-ease-settle) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--i, 0) * var(--ws-stagger-part));}}.ws-side-list{display: flex;flex-direction: column;gap: var(--space-2xl);min-width: 0;}.ws-side-list__group{display: flex;flex-direction: column;min-width: 0;}.ws-side-list__head{display: flex;align-items: baseline;gap: var(--space-xs);padding: 0 var(--space-sm-plus) var(--space-xs);}.ws-side-list__title{flex: 1;min-width: 0;font-size: var(--ws-text-value);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 600;color: var(--color-text-heading);}.ws-side-list__count{font-size: var(--ws-text-dense);line-height: var(--space-md);font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-side-list__head .ws-act{margin-inline: calc(var(--space-3xs) * -1);padding-inline: var(--space-3xs);font-size: var(--ws-text-dense);line-height: var(--space-md);}.ws-side-list__row{position: relative;isolation: isolate;display: flex;align-items: center;gap: var(--space-xs-plus);width: 100%;min-height: var(--ws-row-h-dense);padding: var(--space-xs-plus) var(--space-sm-plus);border: 0;border-top: var(--ws-divider);background: none;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;text-align: left;text-decoration: none;color: var(--color-text-heading);}.ws-side-list__row > svg{width: var(--ws-icon-lg);height: var(--ws-icon-lg);flex-shrink: 0;}.ws-side-list__name{flex: 1;min-width: 0;}.ws-side-list__value{flex: none;font-size: var(--ws-text-dense);line-height: var(--space-md);font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-side-list__value--quiet{font-weight: 500;color: var(--color-text-muted);}a.ws-side-list__row, button.ws-side-list__row{cursor: pointer;}a.ws-side-list__row::after, button.ws-side-list__row::after{content: "";position: absolute;z-index: -1;inset: var(--space-3xs) var(--space-xxs);border-radius: var(--ws-radius-row);background: var(--ws-hover);opacity: 0;transition: opacity var(--ws-duration-hover) var(--ws-ease-soft);pointer-events: none;}@media (hover: hover){a.ws-side-list__row:hover::after, button.ws-side-list__row:hover::after{opacity: 1;}}a.ws-side-list__row:active::after, button.ws-side-list__row:active::after{opacity: 1;background: var(--ws-hover-strong);}a.ws-side-list__row:focus-visible, button.ws-side-list__row:focus-visible{outline: none;}a.ws-side-list__row:focus-visible::after, button.ws-side-list__row:focus-visible::after{opacity: 1;outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: calc(var(--ws-focus-width) * -1);}.ws-side-list__row--measure{flex-direction: column;align-items: stretch;gap: var(--space-xxs);padding-block: var(--space-xs);}.ws-side-list__line{display: flex;align-items: baseline;gap: var(--space-xs);}.ws-side-list__bar{position: relative;height: var(--space-xxs);border-radius: var(--ws-radius-chip);background: var(--ws-track);overflow: hidden;}.ws-side-list__bar > span{position: absolute;inset: 0 auto 0 0;border-radius: inherit;background: var(--tone, var(--color-text-heading));transform-origin: left;}.ws-side-list__caption{font-size: var(--ws-text-micro);line-height: var(--ws-leading-micro);font-weight: 400;color: var(--color-text-muted);}.ws-side-list__row--over{--tone: var(--ws-chart-finished);--tone-word: var(--ws-word-positive);}.ws-side-list__row--behind{--tone: var(--ws-chart-alert);--tone-word: var(--ws-word-alert);}.ws-side-list__row--measure .ws-side-list__value{color: var(--tone-word, var(--color-text-heading));}.ws-side-list__bar > i{position: absolute;z-index: 1;top: 0;bottom: 0;left: var(--at);width: calc(var(--ws-hairline) * 3);margin-left: calc(var(--ws-hairline) * -1.5);background: var(--color-bg-page);}@media (prefers-reduced-motion: no-preference){.ws-side-list--draw{--ws-list-fill: calc(var(--ws-duration-fill-page) * 0.79 * 0.7);}.ws-side-list--draw .ws-side-list__bar > span{animation: ws-grow calc(var(--ws-list-fill) * 0.45) var(--ws-ease-settle) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-duration-fill-page) * 0.079 + var(--ws-list-fill) * 0.55 * var(--i, 0) / max(var(--n, 2) - 1, 1));}}.ws-side-list__picks{display: flex;flex-direction: column;padding: var(--space-xxs);}.ws-side-list__picks > li{position: relative;}.ws-side-list__picks > li + li::before{content: "";position: absolute;top: 0;left: calc(var(--space-xxs) * -1);right: calc(var(--space-xxs) * -1);border-top: var(--ws-divider);}.ws-side-list__picks > li:has(> [aria-current="true"])::before, .ws-side-list__picks > li:has(> [aria-current="true"]) + li::before{opacity: 0;}.ws-side-list__pick{display: flex;align-items: center;gap: var(--space-xs-plus);width: 100%;min-height: calc(var(--space-3xl) + var(--space-xs));padding: var(--space-xs) var(--space-sm);border: 0;border-radius: var(--ws-radius-row);background: transparent;text-align: left;color: var(--color-text-heading);cursor: pointer;}.ws-side-list__pick:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}@media (hover: hover){.ws-side-list__pick:not([aria-current="true"]):hover{background: var(--ws-hover-faint);}}.ws-side-list__pick[aria-current="true"]{background: var(--ws-tray);}.ws-side-list__dot{flex-shrink: 0;width: var(--space-xxs-plus);height: var(--space-xxs-plus);border-radius: var(--radius-full);background: var(--ws-dot, var(--ws-edge-card));}.ws-side-list__main, .ws-side-list__end{display: flex;flex-direction: column;gap: var(--ws-line);min-width: 0;}.ws-side-list__main{flex: 1;}.ws-side-list__end{flex: none;align-items: flex-end;text-align: right;}.ws-side-list__pick-name, .ws-side-list__figure{font-size: var(--ws-text-control);line-height: var(--space-md);color: var(--color-text-heading);}.ws-side-list__pick-name{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight: 500;}.ws-side-list__pick[aria-current="true"] .ws-side-list__pick-name{font-weight: 600;}.ws-side-list__figure{font-weight: 600;font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-side-list__sub{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: var(--ws-text-micro);line-height: var(--ws-leading-micro);font-weight: 400;color: var(--color-text-muted);}.ws-side-list__end .ws-side-list__sub{font-weight: 500;}.ws-side-list__sub--needs{color: var(--ws-word-needs);}@supports (anchor-name: --a){.ws-side-list__picks{position: relative;anchor-scope: --ws-side-list-current;}.ws-side-list__picks::before{content: "";position: absolute;position-anchor: --ws-side-list-current;inset: anchor(top) anchor(right) anchor(bottom) anchor(left);border-radius: var(--ws-radius-row);background: var(--ws-tray);opacity: 0;pointer-events: none;}.ws-side-list__pick[aria-current="true"]{anchor-name: --ws-side-list-current;}}@media (prefers-reduced-motion: no-preference){.ws-side-list__picks > li + li::before{transition: opacity var(--ws-duration-hover) var(--ws-ease-soft);}.ws-side-list__pick{transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}@supports (anchor-name: --a){.ws-side-list__picks:is(:hover, :focus-within)::before{opacity: 1;transition: inset var(--ws-spring-highlight-duration) var(--ws-spring-highlight);}.ws-side-list__picks:is(:hover, :focus-within) .ws-side-list__pick[aria-current="true"]{background: transparent;}.ws-side-list__pick[aria-current="true"]{transition: none;}}}.ws-skeleton{border-radius: var(--ws-radius-control);background: var(--ws-ghost);}.ws-skeleton--line{height: var(--space-sm);}.ws-skeleton--title{height: var(--ws-leading-title);}.ws-skeleton--button{width: var(--space-7xl);height: var(--ws-control-h-md);border-radius: var(--ws-radius-row);}:is(.ws-card__foot, .ws-band) .ws-skeleton{--ws-shimmer: linear-gradient(100deg, var(--ws-well-hover) 0 34%, color-mix(in srgb, var(--ws-chart-under-half) 14%, var(--ws-well-hover)) 44%, color-mix(in srgb, var(--ws-chart-past-half) 14%, var(--ws-well-hover)) 50%, color-mix(in srgb, var(--color-stat-positive) 14%, var(--ws-well-hover)) 56%, var(--ws-well-hover) 66% 100%);}@media (prefers-reduced-motion: no-preference){.ws-skeleton{background: var(--ws-shimmer);background-size: 300% 100%;animation: ws-shimmer var(--ws-loop-shimmer) var(--ws-ease-shimmer) infinite;}}.ws-skeleton__head{display: flex;flex-direction: column;gap: var(--space-xs);padding: var(--ws-card-inset);}.ws-skeleton__body{display: flex;flex-direction: column;gap: var(--space-xs);padding: 0 var(--ws-card-inset) var(--space-md);}.ws-skeleton__chart{position: relative;display: flex;align-items: flex-end;gap: var(--space-xxs);height: var(--space-8xl);}.ws-skeleton__chart > *{flex: 1 1 0;min-width: 0;border-radius: var(--ws-radius-bar) var(--ws-radius-bar) 0 0;background: var(--ws-ghost);}.ws-skeleton__chart::after{content: "";position: absolute;inset: 0;pointer-events: none;background: linear-gradient(100deg, transparent 28%, var(--ws-chart-under-half) 40%, var(--ws-chart-past-half) 50%, var(--color-stat-positive) 60%, transparent 72%);background-size: 300% 100%;mix-blend-mode: color;opacity: 0;}@media (prefers-reduced-motion: no-preference){.ws-skeleton__chart::after{opacity: 0.85;animation: ws-shimmer var(--ws-loop-shimmer) var(--ws-ease-shimmer) infinite;}}.ws-slider{display: flex;min-width: 0;flex-direction: column;gap: var(--space-xxs);}.ws-slider__head{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-sm);}.ws-slider__value{flex-shrink: 0;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 600;color: var(--color-text-heading);font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-slider__input{display: block;width: 100%;height: var(--space-lg);margin: 0;background: transparent;accent-color: var(--color-text-heading);cursor: pointer;}.ws-slider:has(.ws-slider__input:disabled){opacity: 0.5;}.ws-slider__input:disabled{cursor: not-allowed;}.ws-slider__ends{display: grid;grid-template-columns: 1fr 1fr;gap: var(--space-sm);font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-muted);font-variant-numeric: tabular-nums;}.ws-slider__ends > :last-child{text-align: end;}@media (pointer: coarse){.ws-slider__input{height: var(--ws-touch);}}.ws-split{container: ws-split / inline-size;display: flex;flex-wrap: wrap;align-items: flex-start;gap: var(--ws-gap-group);}.ws-split > *{flex: 1 1 100%;min-width: 0;}.ws-split--fill{flex: 1 1 auto;min-height: 0;overflow-y: auto;overscroll-behavior: contain;scrollbar-width: thin;scrollbar-color: color-mix(in srgb, var(--ws-ink) 18%, transparent) transparent;}@container ws-split (min-width: 60rem){.ws-split > .ws-split__main{flex: 1 1 0;}.ws-split > .ws-split__aside{flex: 0 0 var(--ws-split-aside, var(--ws-thing-width));}.ws-split--sticky > .ws-split__aside{position: sticky;top: var(--ws-gap-component);}.ws-split--fill > :is(.ws-split__main, .ws-split__aside){align-self: stretch;max-height: 100%;min-height: 0;}.ws-split--fill > .ws-split__main{--ws-split-room: calc(var(--ws-focus-width) + var(--ws-focus-offset));margin-inline: calc(var(--ws-split-room) * -1);padding-inline: var(--ws-split-room);overflow-y: auto;overscroll-behavior: contain;scrollbar-width: thin;scrollbar-color: color-mix(in srgb, var(--ws-ink) 18%, transparent) transparent;}.ws-split--fill > .ws-split__aside{overflow-y: auto;}.ws-split--fill > .ws-split__aside > :last-child:not(:first-child){margin-top: auto;}}@supports (animation-timeline: scroll()){@container ws-split (min-width: 60rem){.ws-split--fill > .ws-split__main{mask-image: linear-gradient(to top, transparent, var(--ws-mask) var(--space-lg));mask-size: 100% calc(100% + var(--space-lg));mask-repeat: no-repeat;animation: ws-split-end linear both;animation-timeline: scroll(self block);animation-range: calc(100% - var(--space-lg)) 100%;}.ws-split--fill > .ws-split__main:is(:focus-visible, :has(:focus-visible)){mask-image: none;}}}@keyframes ws-split-end{from{mask-position: 0 calc(var(--space-lg) * -1);}to{mask-position: 0 0;}}.ws-stat-strip{display: flex;flex-wrap: wrap;gap: var(--space-lg) var(--space-2xl);}.ws-stat{min-width: 0;}.ws-stat__label{font-size: var(--font-size-2xs);line-height: var(--space-md);font-weight: 600;text-transform: uppercase;letter-spacing: var(--letter-spacing-overline);color: var(--color-text-muted);}.ws-stat__value{margin-top: var(--space-xxs);font-size: var(--ws-text-figure-row);line-height: var(--ws-leading-figure-row);font-weight: 600;font-variant-numeric: tabular-nums;color: var(--color-text-heading);}.ws-stat__value--positive{color: var(--color-stat-positive);}.ws-stat__value--brand{color: var(--color-text-brand-strong);}.ws-stat__value--muted, .ws-stat__value--none{color: var(--color-text-muted);}.ws-stat__pending{display: block;height: var(--ws-leading-figure-row);width: var(--space-5xl);border-radius: var(--ws-radius-row);}.ws-stat__pending:not(.ws-shimmer){background: var(--ws-track);}.ws-stat__note{margin-top: var(--space-xxs);font-size: var(--font-size-2xs);line-height: var(--space-md);color: var(--color-text-muted);}.ws-stat-tiles:not(ul){container-type: inline-size;}.ws-stat-tiles__grid{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: var(--space-xs);}ul.ws-stat-tiles{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));gap: var(--space-xs);}.ws-stat-tiles__grid > :last-child:nth-child(odd){grid-column: 1 / -1;}@container (min-width: 40rem){.ws-stat-tiles__grid > :last-child:nth-child(odd):not(:only-child){grid-column: auto;}.ws-stat-tiles__grid:has(> :nth-child(3):last-child, > :nth-child(5):last-child, > :nth-child(6):last-child){grid-template-columns: repeat(3, minmax(0, 1fr));}}@container (min-width: 60rem){.ws-stat-tiles__grid{grid-template-columns: repeat(4, minmax(0, 1fr));}.ws-stat-tiles__grid:has(> :nth-child(2):last-child){grid-template-columns: repeat(2, minmax(0, 1fr));}.ws-stat-tiles__grid:has(> :nth-child(3):last-child, > :nth-child(6):last-child){grid-template-columns: repeat(3, minmax(0, 1fr));}.ws-stat-tiles__grid:has(> :nth-child(5):last-child){grid-template-columns: repeat(5, minmax(0, 1fr));}}.ws-stat-tiles__tile{display: grid;grid-row: span 2;grid-template-rows: subgrid;row-gap: 0;min-width: 0;border-radius: var(--ws-radius-card);background: var(--ws-tray);padding: var(--ws-rim);}.ws-stat-tiles__tile:not(:has(> .ws-stat-tiles__foot)) > .ws-stat-tiles__surface{grid-row: span 2;}.ws-stat-tiles__surface{display: flex;min-width: 0;flex-direction: column;gap: var(--space-xs);padding: var(--space-md);border-radius: var(--ws-radius-card-inner);background: var(--color-bg-page);}.ws-stat-tiles__tile:not(:has(> .ws-stat-tiles__surface)){display: flex;grid-row: auto;flex-direction: column;gap: var(--space-xs);padding: var(--space-md);background: var(--color-bg-page);box-shadow: inset 0 0 0 var(--ws-rim) var(--ws-tray);}.ws-stat-tiles__label{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-size: var(--ws-text-control);font-weight: 500;line-height: var(--ws-leading-control);color: var(--color-text-body);}.ws-stat-tiles__value-row{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xxs) var(--space-sm);min-width: 0;}.ws-stat-tiles__value{flex-shrink: 0;font-size: var(--ws-text-figure);font-weight: 400;line-height: var(--ws-leading-figure);letter-spacing: var(--ws-tracking-display);color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-stat-tiles__value--none{flex-shrink: 1;min-width: 0;color: var(--color-text-muted);}.ws-stat-tiles__value-row:has(> .ws-stat-tiles__change, > .ws-stat-tiles__unit) > .ws-stat-tiles__value, .ws-stat-tiles__change, .ws-stat-tiles__unit{align-self: last baseline;}.ws-stat-tiles__change{display: inline-block;max-width: 100%;overflow: hidden;text-overflow: ellipsis;}.ws-stat-tiles__change > svg{display: inline-block;margin-right: var(--space-xxs);vertical-align: calc((var(--space-md) - var(--ws-icon-sm)) / -2);}.ws-stat-tiles__unit{font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-muted);}.ws-stat-tiles__value-row .ws-tick-row{flex: 1 1 0;}.ws-stat-tiles__stars{display: flex;gap: var(--space-3xs);color: var(--ws-chart-under-half);}.ws-stat-tiles__stars > svg{flex-shrink: 0;width: calc(var(--space-md) + var(--space-3xs));height: calc(var(--space-md) + var(--space-3xs));}.ws-stat-tiles__stars > svg.ws-stat-tiles__star--off{color: var(--ws-track);}.ws-stat-tiles__line{display: -webkit-box;overflow: hidden;-webkit-box-orient: vertical;-webkit-line-clamp: 2;line-clamp: 2;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);color: var(--color-text-muted);text-wrap: pretty;}.ws-stat-tiles__foot{display: flex;flex-wrap: wrap;align-content: flex-start;align-items: center;gap: 0 var(--space-xs);min-height: calc(var(--space-xl) + var(--space-3xs));padding: var(--space-xs) var(--space-md);border-radius: 0 0 var(--ws-radius-card-inner) var(--ws-radius-card-inner);font-size: var(--ws-text-control);font-weight: 500;line-height: var(--ws-leading-control);color: var(--color-text-body);text-decoration: none;}.ws-stat-tiles__foot > :first-child{flex: 1 1 auto;min-width: 0;}.ws-stat-tiles__foot > span:last-child:not(:first-child){flex-shrink: 0;margin-left: auto;white-space: nowrap;color: var(--color-text-muted);}a.ws-stat-tiles__foot{flex-wrap: nowrap;}a.ws-stat-tiles__foot{color: var(--color-text-heading);cursor: pointer;}@media (prefers-reduced-motion: no-preference){a.ws-stat-tiles__foot{transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}}a.ws-stat-tiles__foot > svg{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);color: var(--color-text-heading);}a.ws-stat-tiles__foot:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}@media (hover: hover){a.ws-stat-tiles__foot:hover{background: var(--ws-hover);}}@media (pointer: coarse){a.ws-stat-tiles__foot{min-height: var(--ws-touch);}}.ws-stat-tiles__ghost{width: var(--space-6xl);height: var(--ws-leading-control);}.ws-stat-tiles__ghost--value{width: var(--space-7xl);height: var(--ws-leading-figure);}.ws-status-line{display: flex;align-items: baseline;gap: var(--space-xs);min-width: 0;min-height: var(--space-lg);overflow: hidden;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);white-space: nowrap;}.ws-status-line__who{flex-shrink: 0;font-weight: 600;color: var(--color-text-heading);}.ws-status-line__doing{flex-shrink: 1;min-width: 0;overflow: hidden;text-overflow: ellipsis;font-weight: 500;color: var(--color-text-heading);}.ws-status-line__step{flex-shrink: 1000;min-width: 0;overflow: hidden;text-overflow: ellipsis;color: var(--color-text-muted);font-variant-numeric: tabular-nums;}@media (prefers-reduced-motion: no-preference){.ws-status-line{animation: ws-settle var(--ws-duration-settle) var(--ws-ease-settle) backwards;}.ws-status-line__doing{background: linear-gradient(100deg, var(--color-text-heading) 0 35%, var(--ws-word-needs) 45%, var(--ws-word-past-half) 52%, var(--ws-word-positive) 59%, var(--color-text-heading) 70% 100%);background-size: 300% 100%;-webkit-background-clip: text;background-clip: text;color: transparent;animation: ws-shimmer var(--ws-loop-status) var(--ws-ease-steady) infinite;}}.ws-status-screen{display: flex;flex-direction: column;align-items: center;gap: var(--space-sm);padding: var(--space-lg);border-radius: var(--ws-radius-panel);background: var(--color-bg-page);text-align: center;}.ws-status-screen > *{max-width: calc(var(--space-9xl) + var(--space-7xl));}.ws-status-screen > :is(h1, h2, .ws-title){text-wrap: balance;}.ws-status-screen > .ws-body{text-wrap: pretty;}.ws-status-screen--page{min-height: 100dvh;justify-content: center;border-radius: 0;}.ws-status-screen__orb{flex-shrink: 0;width: var(--space-2xl);height: var(--space-2xl);border-radius: var(--radius-full);background: var(--ws-orb);}.ws-step-line{--ws-step-line-hatch: color-mix(in srgb, var(--ws-agent-tally) 45%, transparent);container-type: inline-size;}.ws-step-line__plot{display: grid;grid-template-columns: var(--space-2xl) minmax(0, 1fr) calc(var(--space-8xl) - var(--space-xs));column-gap: var(--space-sm);height: calc(var(--space-9xl) + var(--space-5xl));padding: var(--space-xl) 0 var(--space-lg);}.ws-step-line__y, .ws-step-line__area, .ws-step-line__ends{position: relative;min-width: 0;}.ws-step-line__y > span{position: absolute;right: 0;top: var(--y);translate: 0 -50%;font-size: var(--ws-text-micro);line-height: var(--space-sm-plus);color: var(--color-text-muted);font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-step-line__rule{position: absolute;left: 0;right: 0;top: var(--y);border-top: var(--ws-hairline) solid var(--ws-edge-slot);}.ws-step-line__tick{position: absolute;top: 0;bottom: 0;left: var(--x);border-left: var(--ws-hairline) solid var(--ws-edge-slot);}.ws-step-line__tick > span{position: absolute;top: calc(100% + var(--space-xxs-plus));left: var(--space-xxs);font-size: var(--ws-text-micro);line-height: var(--space-sm-plus);color: var(--color-text-muted);white-space: nowrap;}.ws-step-line__tick--now > span{font-weight: 600;color: var(--color-text-heading);}.ws-step-line__hatch{position: absolute;inset: 0;background: repeating-linear-gradient(135deg, var(--ws-step-line-hatch) 0 calc(var(--ws-hairline) * 1.5), transparent 0 var(--space-xxs-plus));}.ws-step-line__ghost{position: absolute;inset: 0;}.ws-step-line__lines{position: absolute;inset: 0;width: 100%;height: 100%;overflow: visible;}.ws-step-line__lines path{fill: none;vector-effect: non-scaling-stroke;stroke-linecap: round;stroke-linejoin: round;}.ws-step-line__ref{stroke: var(--color-text-heading);stroke-width: var(--ws-chart-line);stroke-dasharray: 3 3;stroke-linecap: butt;}.ws-step-line__series{stroke: var(--tone, var(--ws-chart-under-half));stroke-width: var(--ws-ring);}.ws-step-line__dot{position: absolute;left: var(--x);top: var(--y);width: var(--space-xs);height: var(--space-xs);border-radius: var(--radius-full);background: var(--tone, var(--ws-chart-under-half));translate: -50% -50%;}.ws-step-line__dot--end{width: var(--space-xxs-plus);height: var(--space-xxs-plus);}.ws-step-line__event{position: absolute;left: calc(var(--x) + var(--space-sm));top: calc(var(--y) + var(--space-xs-plus));display: flex;flex-direction: column;max-width: calc(var(--to, 100%) - var(--x) - var(--space-sm) - var(--space-xxs));}.ws-step-line__event > b{font-size: var(--ws-text-dense);font-weight: 600;line-height: var(--space-md);color: var(--tone-word, var(--ws-word-needs));text-wrap: balance;}.ws-step-line__event > span, .ws-step-line__end > span{overflow: hidden;font-size: var(--ws-text-micro);line-height: var(--space-sm-plus);color: var(--color-text-muted);white-space: nowrap;text-overflow: ellipsis;}.ws-step-line__end{position: absolute;left: 0;right: 0;top: var(--y);display: flex;align-items: baseline;gap: var(--space-xxs-plus);translate: 0 -50%;}.ws-step-line__end > b{flex-shrink: 0;font-size: var(--ws-text-control);font-weight: 600;line-height: var(--space-md);color: var(--tone-word, var(--color-text-heading));font-variant-numeric: tabular-nums;}.ws-step-line__legend{display: flex;flex-wrap: wrap;justify-content: center;gap: var(--space-xxs) var(--space-md);padding: var(--space-xs-plus) 0 var(--ws-card-inset);font-size: var(--ws-text-body);font-weight: 500;line-height: var(--ws-leading-row);color: var(--color-text-body);}.ws-step-line__legend > li{display: inline-flex;align-items: center;gap: var(--space-xs);}.ws-step-line__legend > li::before{content: "";flex-shrink: 0;width: var(--space-md);height: var(--ws-ring);border-radius: var(--ws-radius-bar);background: var(--tone, var(--ws-chart-under-half));}.ws-step-line__legend > .ws-step-line__key--ref::before{height: var(--ws-chart-line);background: repeating-linear-gradient(90deg, var(--color-text-heading) 0 3px, transparent 0 6px);}.ws-step-line__legend > .ws-step-line__key--hatch::before{width: var(--space-sm);height: var(--space-sm);border-radius: var(--ws-radius-chip);box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-step-line-hatch);background: repeating-linear-gradient(135deg, var(--ws-step-line-hatch) 0 calc(var(--ws-hairline) * 1.5), transparent 0 calc(var(--space-xxs) - var(--ws-hairline)));}@container (max-width: 30rem){.ws-step-line__plot{grid-template-columns: minmax(0, 1fr);height: calc(var(--space-9xl) + var(--space-xl) + var(--space-lg));}.ws-step-line__y, .ws-step-line__area, .ws-step-line__ends{grid-area: 1 / 1;}.ws-step-line__ends{pointer-events: none;}.ws-step-line__y{display: none;}.ws-step-line__end{justify-content: flex-end;translate: 0 calc(-100% - var(--space-xxs));}.ws-step-line__end--below{translate: 0 var(--space-xxs);}.ws-step-line__end > span, .ws-step-line__event > span{display: none;}.ws-step-line__event{left: var(--x);min-width: min-content;max-width: calc(var(--to, 100%) - var(--x) - var(--space-xxs));}.ws-step-line__event > b{background: var(--color-bg-page);box-shadow: 0 0 0 var(--ws-ring) var(--color-bg-page);}}@media (prefers-reduced-motion: no-preference){.ws-step-line--draw .ws-step-line__lines{animation: ws-wipe var(--ws-duration-draw) var(--ws-ease-sweep) backwards;animation-delay: var(--ws-build-at, 0s);}.ws-step-line--draw :is(.ws-step-line__hatch, .ws-step-line__dot, .ws-step-line__event, .ws-step-line__end){animation: ws-rise var(--ws-duration-settle) var(--ws-ease-soft) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-duration-draw));}}.ws-stepper{display: flex;flex-direction: column;}.ws-stepper__item{position: relative;display: flex;gap: var(--space-sm);padding-bottom: var(--space-md);}.ws-stepper__item:last-child{padding-bottom: 0;}.ws-stepper__line{position: absolute;top: var(--space-lg);bottom: 0;left: calc(var(--space-lg) / 2 - var(--ws-hairline));width: calc(var(--ws-hairline) * 2);background: var(--ws-edge);}.ws-stepper__line-fill{position: absolute;inset: 0;transform-origin: top;background: var(--color-stat-positive);}.ws-stepper__mark{position: relative;display: inline-flex;flex-shrink: 0;align-items: center;justify-content: center;width: var(--space-lg);height: var(--space-lg);border-radius: var(--radius-full);font-size: var(--ws-text-dense);font-weight: 600;font-variant-numeric: tabular-nums;}.ws-stepper__mark--done{background: var(--color-stat-positive);color: var(--ws-on-act);}.ws-stepper__mark--current{background: var(--color-bg-page);color: var(--color-text-heading);box-shadow: inset 0 0 0 calc(var(--ws-hairline) * 4) var(--color-text-heading);}.ws-stepper__mark--wait{background: var(--color-bg-page);color: var(--color-text-muted);box-shadow: var(--ws-shadow-hairline-in);}.ws-stepper__body{display: flex;flex: 1;min-width: 0;flex-direction: column;padding-top: var(--space-3xs);}.ws-stepper__title{font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-heading);}.ws-streak-calendar__body{padding: 0 var(--ws-card-inset) var(--space-md);}.ws-streak-calendar__grid{display: grid;width: 100%;max-width: calc(var(--space-9xl) * 2 + var(--space-6xl) - var(--space-lg) - var(--space-sm));grid-template-columns: calc(var(--space-4xl) - var(--space-xxs)) repeat(7, minmax(0, 1fr));align-items: center;column-gap: var(--space-xxs);row-gap: var(--space-xxs);padding-top: var(--space-sm-plus);}.ws-streak-calendar__letter{padding-bottom: var(--space-xxs);text-align: center;font-size: var(--ws-text-micro);font-weight: 500;line-height: var(--space-sm);color: var(--color-text-muted);}.ws-streak-calendar__label{font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-body);white-space: nowrap;}.ws-streak-calendar__label--today{font-weight: 600;color: var(--ws-word-needs);}.ws-streak-calendar__cell{display: block;min-width: 0;height: var(--space-lg);}.ws-streak-calendar__cell--done{border-radius: var(--radius-full);background: var(--color-text-heading);}.ws-streak-calendar__cell--empty{border-radius: var(--ws-radius-control);border: var(--ws-hairline) solid var(--ws-edge-slot);background: var(--color-bg-page);}.ws-streak-calendar__cell--future{border-style: dashed;}.ws-streak-calendar__cell--today{border-radius: var(--radius-full);border: calc(var(--ws-hairline) * 3) solid var(--ws-chart-under-half);background: var(--color-bg-page);}.ws-suggestions{display: flex;flex-wrap: wrap;gap: var(--space-xs-plus);}.ws-suggestions--chat{gap: var(--space-xs);}.ws-suggestion-chip{display: inline-flex;align-items: center;gap: var(--space-xxs-plus);max-width: 100%;min-height: var(--ws-control-h-sm);padding: 0 var(--space-sm);border: var(--ws-hairline) solid var(--ws-edge-card);border-radius: var(--ws-radius-control);background: transparent;font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-heading);text-align: left;white-space: nowrap;cursor: pointer;transition: border-color var(--ws-duration-hover) var(--ws-ease-soft), background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-suggestion-chip > span{min-width: 0;overflow: hidden;text-overflow: ellipsis;}.ws-suggestion-chip > svg{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);}.ws-suggestion-chip:has(> svg:first-child){padding-left: var(--space-xs);}@media (hover: hover){.ws-suggestion-chip:hover{border-color: var(--ws-edge-hover);}}.ws-suggestion-chip:active{background-color: var(--ws-hover);transition-duration: var(--ws-duration-instant);}.ws-suggestion-chip--ghost{padding: 0 var(--space-xxs-plus);border-color: transparent;font-weight: 400;color: var(--color-text-body);}@media (hover: hover){.ws-suggestion-chip--ghost:hover{border-color: transparent;background-color: var(--ws-hover);}}.ws-suggestion-chip--chat{min-height: var(--ws-control-h);padding: 0 var(--space-sm);border-radius: var(--radius-full);background: var(--color-surface);}@media (pointer: coarse){.ws-suggestion-chip{min-height: var(--ws-touch);}}.ws-table{--ws-table-ground: var(--color-bg-page);--ws-table-shade: color-mix(in srgb, var(--ws-shade) 7.8431372549%, transparent);--ws-table-num-w: var(--space-4xl);--ws-table-check-w: calc(var(--ws-card-inset) + var(--space-lg) + var(--space-sm));container: ws-table / inline-size;}.ws-table > :first-child{border-top-left-radius: inherit;border-top-right-radius: inherit;}.ws-table > :last-child{border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.ws-table__scroll{overflow: auto;max-height: var(--ws-table-max-h, none);overscroll-behavior-x: contain;scrollbar-width: thin;}.ws-table:has(> .ws-table__scroll:focus-visible){outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}@supports selector(:has(*)){.ws-table > .ws-table__scroll:focus-visible{outline: none;}}.ws-table table{width: 100%;border-collapse: separate;border-spacing: 0;}.ws-table th, .ws-table td{padding: var(--space-xs) var(--space-sm);background-color: var(--ws-table-ground);text-align: left;vertical-align: middle;white-space: nowrap;}.ws-table tr > :first-child{padding-left: var(--ws-card-inset);}.ws-table tr > :last-child{padding-right: var(--ws-card-inset);}.ws-table .ws-table__wrap{white-space: normal;min-width: var(--space-9xl);}.ws-table thead th{position: sticky;top: 0;z-index: 2;height: var(--ws-row-h-dense);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-muted);border-bottom: var(--ws-divider);}.ws-table thead th[aria-sort="ascending"], .ws-table thead th[aria-sort="descending"]{color: var(--color-text-heading);}.ws-table__sort{display: inline-flex;align-items: center;gap: var(--space-xxs);border: 0;background: none;padding: 0;font: inherit;color: inherit;cursor: pointer;}.ws-table__sort svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);flex-shrink: 0;}.ws-table th[aria-sort="ascending"] .ws-table__sort svg{transform: rotate(180deg);}@media (hover: hover){.ws-table__sort:hover{color: var(--color-text-heading);}}.ws-table th:not([aria-sort="ascending"], [aria-sort="descending"]) .ws-table__sort svg{opacity: var(--ws-dim);}.ws-table th .ws-table__sort:focus-visible svg{opacity: 1;}@media (hover: hover){.ws-table th .ws-table__sort:hover svg{opacity: 1;}}.ws-table tbody tr, .ws-table tfoot tr{height: var(--ws-row-h-dense);}.ws-table tbody th, .ws-table tbody td{font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 400;color: var(--color-text-body);}.ws-table tbody tr + tr > *{border-top: var(--ws-divider);}.ws-table .ws-table__name{font-weight: 500;color: var(--color-text-heading);}.ws-table__sub{display: block;font-size: var(--ws-text-meta);line-height: var(--space-md);font-weight: 400;color: var(--color-text-muted);}.ws-table .ws-table__num{width: var(--ws-table-num-w);text-align: right;font-variant-numeric: tabular-nums;}.ws-table .ws-table__num--wide{--ws-table-num-w: var(--space-6xl);}.ws-table tfoot th, .ws-table tfoot td{position: sticky;bottom: 0;z-index: 1;border-top: var(--ws-divider);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 600;color: var(--color-text-heading);}.ws-table tr > :first-child, .ws-table .ws-table__check + *{position: sticky;left: 0;z-index: 1;}.ws-table .ws-table__check + *{left: var(--ws-table-check-w);}.ws-table thead tr > :first-child, .ws-table thead .ws-table__check + *{z-index: 3;}.ws-table tfoot tr > :first-child, .ws-table tfoot .ws-table__check + *{z-index: 2;}.ws-table .ws-table__check{width: var(--ws-table-check-w);padding-right: var(--space-sm);}.ws-table__check .ws-check{position: relative;align-items: center;justify-content: center;width: var(--space-lg);height: var(--space-lg);padding: 0;}.ws-table__check .ws-check__box{margin-top: 0;}@media (pointer: coarse){.ws-table__check .ws-check::after{content: "";position: absolute;inset: calc((100% - var(--ws-touch)) / 2);}}.ws-table .ws-table__acts{text-align: right;}.ws-table__acts .ws-btn + .ws-btn{margin-left: var(--space-xxs);}.ws-table .ws-table__more{display: none;}.ws-table tbody tr > *{transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}@media (hover: hover){.ws-table tbody tr:hover > *{background-image: linear-gradient(var(--ws-hover-faint), var(--ws-hover-faint));}}.ws-table .ws-table__row--selected > *, .ws-table tr[aria-selected="true"] > *{background-color: var(--ws-surface-sunk);}.ws-table .ws-table__row--selected > :first-child, .ws-table tr[aria-selected="true"] > :first-child{box-shadow: inset var(--ws-ring) 0 0 var(--color-text-heading);}.ws-table tr > :first-child:not(.ws-table__check)::after, .ws-table .ws-table__check + *::after{content: "";position: absolute;top: 0;bottom: 0;left: 100%;width: var(--space-xs);background: linear-gradient(to right, var(--ws-table-shade), transparent);opacity: 0;pointer-events: none;}[data-theme="dark"] .ws-table{--ws-table-shade: var(--ws-edge-card);}@media (prefers-color-scheme: dark){[data-theme="system"] .ws-table{--ws-table-shade: var(--ws-edge-card);}}@supports (animation-timeline: scroll()){.ws-table__scroll{scroll-timeline: --ws-table-x inline;mask-image: linear-gradient(to left, transparent, var(--ws-mask) var(--space-lg));mask-size: calc(100% + var(--space-lg)) 100%;mask-repeat: no-repeat;animation: ws-table-end linear both;animation-timeline: scroll(self inline);animation-range: calc(100% - var(--space-lg)) 100%;}.ws-table__scroll tr > :first-child:not(.ws-table__check)::after, .ws-table__scroll .ws-table__check + *::after{animation: ws-table-shade linear both;animation-timeline: --ws-table-x;animation-range: 0 var(--space-lg);}}@supports not (animation-timeline: scroll()){.ws-table__scroll tr > :first-child:not(.ws-table__check), .ws-table__scroll .ws-table__check + *{box-shadow: inset calc(var(--ws-hairline) * -1) 0 0 var(--ws-edge);}.ws-table__scroll .ws-table__row--selected > :first-child:not(.ws-table__check), .ws-table__scroll tr[aria-selected="true"] > :first-child:not(.ws-table__check){box-shadow: inset var(--ws-ring) 0 0 var(--color-text-heading), inset calc(var(--ws-hairline) * -1) 0 0 var(--ws-edge);}}@keyframes ws-table-shade{from{opacity: 0;}to{opacity: 1;}}@keyframes ws-table-end{from{mask-position: calc(var(--space-lg) * -1) 0;}to{mask-position: 0 0;}}.ws-table__fold{display: none;font-size: var(--ws-text-meta);line-height: var(--space-md);font-weight: 400;color: var(--color-text-muted);}@container ws-table (max-width: 48rem){.ws-table .ws-table__low{display: none;}.ws-table .ws-table__fold{display: block;}}@container ws-table (max-width: 30rem){.ws-table .ws-table__acts > :not(.ws-table__more){display: none;}.ws-table .ws-table__more{display: inline-flex;}.ws-table .ws-table__name{min-width: 40cqi;white-space: normal;}}.ws-table__placeholder{height: calc(var(--space-xs) + var(--space-3xs));border-radius: var(--ws-radius-bar);background: var(--ws-track);}.ws-table__placeholder.ws-shimmer{background: var(--ws-shimmer);background-size: 300% 100%;}.ws-table__empty{display: flex;flex-direction: column;align-items: center;gap: var(--space-sm);padding: var(--space-lg) var(--ws-card-inset);text-align: center;}.ws-tabs{display: flex;align-items: stretch;gap: var(--space-lg);margin-inline: calc(var(--space-xxs-plus) * -1);padding-inline: var(--space-xxs-plus);overflow-x: auto;scrollbar-width: none;scroll-padding-inline: var(--space-xl);background: linear-gradient(in srgb, var(--ws-edge-slot), var(--ws-edge-slot)) bottom / 100% var(--ws-line) no-repeat content-box;}.ws-tabs::-webkit-scrollbar{display: none;}@supports (animation-timeline: scroll()){.ws-tabs{mask-image: linear-gradient(90deg, transparent, currentColor var(--ws-fade-start), currentColor calc(100% - var(--ws-fade-end)), transparent);animation: ws-scroll-edges linear;animation-timeline: scroll(self inline);}}.ws-tabs__tab{position: relative;display: inline-flex;flex-shrink: 0;align-items: center;gap: var(--space-xxs-plus);height: var(--ws-control-h);margin-inline: calc(var(--space-xxs-plus) * -1);padding: 0 var(--space-xxs-plus);border: 0;border-radius: var(--ws-radius-control);background: none;font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-body);white-space: nowrap;cursor: pointer;}.ws-tabs__tab:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}@media (hover: hover){.ws-tabs__tab:hover{color: var(--color-text-heading);}}.ws-tabs__tab[aria-selected="true"]{color: var(--color-text-heading);}.ws-tabs__tab[aria-selected="true"]::after{content: "";position: absolute;left: var(--space-xxs-plus);right: var(--space-xxs-plus);bottom: 0;height: var(--ws-ring);background: var(--color-text-heading);border-radius: var(--ws-radius-bar);}.ws-tabs__tab[aria-disabled="true"]{opacity: 0.4;cursor: default;}.ws-tabs__tab .ws-chip{height: calc(var(--space-md) + var(--space-3xs));padding: 0 var(--space-xxs-plus);font-size: var(--ws-text-micro);line-height: var(--ws-leading-micro);}.ws-tabs-fold__select{display: none;}@media (max-width: 40rem){.ws-tabs-fold > .ws-tabs{display: none;}.ws-tabs-fold > .ws-tabs-fold__select{display: flex;}}@supports (anchor-name: --a){.ws-tabs{position: relative;anchor-scope: --ws-tabs-current;}.ws-tabs::after{content: "";position: absolute;position-anchor: --ws-tabs-current;left: calc(anchor(left) + var(--space-xxs-plus));right: calc(anchor(right) + var(--space-xxs-plus));bottom: anchor(bottom);height: var(--ws-ring);border-radius: var(--ws-radius-bar);background: var(--color-text-heading);opacity: 0;pointer-events: none;}.ws-tabs__tab[aria-selected="true"]{anchor-name: --ws-tabs-current;}}@media (prefers-reduced-motion: no-preference){.ws-tabs__tab{transition: color var(--ws-duration-hover) var(--ws-ease-soft);}@supports (anchor-name: --a){.ws-tabs:is(:hover, :focus-within)::after{opacity: 1;transition: left var(--ws-spring-tab-duration) var(--ws-spring-tab), right var(--ws-spring-tab-duration) var(--ws-spring-tab);}.ws-tabs:is(:hover, :focus-within) .ws-tabs__tab[aria-selected="true"]::after{opacity: 0;}}}.ws-testimonial-row{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(var(--space-9xl) + var(--space-5xl))), 1fr));gap: var(--layout-col-gap);}.ws-testimonial-row > *{min-width: 0;}.ws-testimonial{display: flex;flex-direction: column;margin: 0;border-radius: var(--ws-radius-control);border: var(--ws-line) solid var(--color-border-default);background: var(--color-surface);padding: var(--space-lg);}.ws-testimonial__quote{margin: 0;font-size: var(--font-size-md);line-height: var(--space-lg);color: var(--color-text-primary);}.ws-testimonial__who{margin-top: auto;padding-top: var(--space-md);display: flex;align-items: center;gap: var(--space-sm);}.ws-testimonial__avatar{width: var(--ws-control-h-md);height: var(--ws-control-h-md);border-radius: var(--radius-full);background: var(--ws-surface-sunk);color: var(--color-text-heading);display: inline-flex;align-items: center;justify-content: center;font-size: var(--font-size-2xs);font-weight: 600;flex-shrink: 0;}.ws-testimonial__person{min-width: 0;}.ws-testimonial__name{font-size: var(--font-size-sm);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-heading);}.ws-testimonial__role{font-size: var(--font-size-2xs);line-height: var(--space-md);color: var(--color-text-muted);}.ws-theme-switch{display: flex;align-items: center;justify-content: space-between;gap: var(--space-xs);min-width: 0;padding: var(--space-xs) var(--space-xs) var(--space-xxs);}.ws-theme-switch__label{font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-muted);}.ws-theme-switch > .ws-segmented{flex-shrink: 0;}.ws-tick-row{--tone: var(--ws-chart-finished);display: flex;flex-shrink: 1;min-width: 0;gap: var(--space-xxs);}.ws-tick-row__tick{flex: 0 1 auto;width: var(--space-xs-plus);min-width: var(--space-3xs);height: calc(var(--space-md) + var(--space-3xs));border-radius: var(--ws-radius-bar);background: var(--tone);transform-origin: bottom;}.ws-tick-row__tick--empty{background: var(--ws-track);}.ws-tick-row--fine{gap: var(--space-3xs);}.ws-tick-row--fine .ws-tick-row__tick{width: var(--space-xxs-plus);}.ws-tick-row--tall{gap: calc(var(--space-3xs) + var(--ws-line));}.ws-tick-row--tall .ws-tick-row__tick{height: calc(var(--space-lg) + var(--space-xxs));}.ws-tick-row__line{display: flex;align-items: center;gap: var(--space-sm);}.ws-tick-row__label{width: var(--space-6xl);flex-shrink: 0;font-size: var(--ws-text-body);line-height: var(--ws-leading-row);color: var(--color-text-heading);}.ws-tick-row__count{flex: 1 1 0;font-size: var(--ws-text-value);font-weight: 600;line-height: var(--ws-leading-row);color: var(--color-text-heading);font-variant-numeric: tabular-nums;}@media (prefers-reduced-motion: no-preference){.ws-tick-row--draw .ws-tick-row__tick{animation: ws-grow-up calc(var(--ws-duration-draw) * 0.45) var(--ws-ease-settle) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-duration-draw) * 0.55 * var(--i, 0) / max(var(--n, 2) - 1, 1));}}.ws-tick-strip{--n: 40;--gap: calc(var(--space-3xs) + var(--ws-line));--g: round(down, min(var(--gap), 100% / (var(--n) * 3)), var(--ws-line));--tone: var(--ws-rating-strong);display: flex;gap: var(--g);height: var(--space-xl);}.ws-tick-strip__tick{flex: 1 0 0;min-width: var(--ws-line);border-radius: var(--ws-radius-bar);background: var(--ws-track);transform-origin: bottom;}.ws-tick-strip__tick--on{background: var(--tone);}.ws-tick-strip--lg{--gap: var(--space-xxs);height: var(--space-2xl);}.ws-tick-strip--sm{--gap: var(--space-3xs);}.ws-tick-strip--xs{--gap: var(--space-3xs);height: var(--space-lg);}.ws-tick-strip--xl{--gap: calc(var(--space-3xs) + var(--ws-line));height: var(--space-6xl);}.ws-tick-strip--bar{--gap: var(--space-xxs);height: var(--space-sm);}.ws-tick-strip--bar .ws-tick-strip__tick{border-radius: var(--ws-radius-chip);}.ws-tick-strip--middle{--tone: var(--ws-rating-middle);}.ws-tick-strip--needs-work{--tone: var(--ws-rating-needs-work);}.ws-tick-strip__groups{display: flex;gap: var(--space-md);}.ws-tick-strip__group{position: relative;display: flex;flex: 1;min-width: 0;flex-direction: column;gap: var(--space-xxs-plus);padding-top: var(--space-lg);}.ws-tick-strip__label{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-size: var(--ws-text-micro);line-height: var(--space-sm-plus);color: var(--color-text-muted);font-variant-numeric: tabular-nums;}.ws-tick-strip__marker{position: absolute;top: 0;left: var(--at, 0%);display: flex;align-items: center;gap: var(--space-xxs-plus);white-space: nowrap;font-size: var(--ws-text-micro);font-weight: 500;line-height: var(--space-sm-plus);color: var(--ws-word-needs);}.ws-tick-strip__marker::before{content: "";width: var(--space-xs);height: var(--space-xs);border-radius: var(--radius-full);background: var(--ws-chart-under-half);}.ws-tick-strip--loading{--pitch: calc((100% + var(--g)) / var(--n));background: var(--ws-shimmer);background-size: 300% 100%;-webkit-mask-image: repeating-linear-gradient(90deg, var(--ws-mask) 0 calc(var(--pitch) - var(--g)), transparent 0 var(--pitch));mask-image: repeating-linear-gradient(90deg, var(--ws-mask) 0 calc(var(--pitch) - var(--g)), transparent 0 var(--pitch));}.ws-tick-strip--loading > *{visibility: hidden;}@media (prefers-reduced-motion: no-preference){.ws-tick-strip--loading{animation: ws-shimmer var(--ws-loop-shimmer) var(--ws-ease-shimmer) infinite;}.ws-tick-strip--draw .ws-tick-strip__tick--on{animation: ws-grow-up calc(var(--ws-duration-draw) * 0.45) var(--ws-ease-settle) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-duration-draw) * 0.55 * var(--i, 0) / max(var(--n) - 1, 1));}.ws-tick-strip--hover .ws-tick-strip__tick{transition: transform var(--ws-duration-settle) var(--ws-ease-lift), opacity var(--ws-duration-hover) var(--ws-ease-soft);}}@media (hover: hover){.ws-tick-strip--hover:hover .ws-tick-strip__tick{opacity: var(--ws-dim);}.ws-tick-strip--hover .ws-tick-strip__tick:hover{opacity: 1;transform: scaleY(var(--ws-grow-scale));}.ws-tick-strip--hover .ws-tick-strip__tick:hover + .ws-tick-strip__tick, .ws-tick-strip--hover .ws-tick-strip__tick:has(+ .ws-tick-strip__tick:hover){opacity: 1;transform: scaleY(calc((1 + var(--ws-grow-scale)) / 2));transition-delay: var(--ws-ripple);}}.ws-tile{display: flex;flex-direction: column;}.ws-tile__head{display: flex;min-height: var(--space-3xl);align-items: center;gap: var(--space-xs);padding: var(--ws-card-padding-lg) var(--ws-card-padding-lg) 0;}.ws-tile__head > .ws-section{min-width: 0;}.ws-tile__disc{width: var(--space-lg);height: var(--space-lg);}.ws-tile__disc svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);color: var(--color-text-heading);}.ws-tile__body{display: flex;flex: 1;flex-direction: column;gap: var(--space-xs);padding: var(--space-xxs) var(--ws-card-padding-lg) var(--ws-card-padding-lg);}.ws-tile__figure{font-size: var(--ws-text-figure);line-height: var(--ws-leading-figure);font-weight: 400;letter-spacing: var(--ws-tracking-display);color: var(--color-text-heading);font-variant-numeric: tabular-nums;}.ws-tile__figure--none{color: var(--color-text-muted);}.ws-tile--full{grid-column: 1 / -1;}@container (min-width: 40rem){.ws-tile--half{grid-column: span 2;}}.ws-tiles{display: flex;flex-wrap: wrap;gap: var(--space-3xs);padding: var(--ws-rim);border-radius: var(--ws-radius-card);background: var(--ws-tray);}.ws-tiles > li{display: flex;flex: 1 1 0;min-width: min(100%, calc(var(--space-8xl) + var(--space-xs)));}.ws-tiles__tile{display: flex;flex: 1;flex-direction: column;min-width: 0;border-radius: var(--ws-radius-card-inner);color: inherit;text-align: left;text-decoration: none;}a.ws-tiles__tile, button.ws-tiles__tile{width: 100%;padding: 0;border: 0;background: none;cursor: pointer;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}a.ws-tiles__tile:focus-visible, button.ws-tiles__tile:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}.ws-tiles__surface{display: flex;flex: 1;flex-direction: column;gap: var(--space-sm);min-height: calc(var(--space-7xl) - var(--space-sm));padding: var(--space-md);border-radius: var(--ws-radius-card-inner);background: var(--color-bg-page);transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-tiles__icon{flex-shrink: 0;width: var(--space-lg);height: var(--space-lg);color: var(--color-text-heading);}.ws-tiles__words{display: flex;flex-direction: column;gap: var(--space-3xs);}.ws-tiles__title{font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 500;color: var(--color-text-heading);}.ws-tiles__line{font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-body);}@media (hover: hover){a.ws-tiles__tile:hover, button.ws-tiles__tile:hover{background-color: var(--ws-well-hover);}:is(a, button).ws-tiles__tile:hover .ws-card__foot{--color-text-muted: var(--color-text-body);}a.ws-tiles__tile:hover .ws-card__foot > :first-child, button.ws-tiles__tile:hover .ws-card__foot > :first-child{text-decoration: underline;}}a.ws-tiles__tile:active .ws-tiles__surface, button.ws-tiles__tile:active .ws-tiles__surface{background-color: var(--ws-surface-press);transition-duration: var(--ws-duration-instant);}.ws-timeline__day + .ws-timeline__day{margin-top: var(--space-lg);}.ws-timeline__day-label{margin-bottom: var(--space-sm);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-muted);}.ws-timeline__list{display: flex;flex-direction: column;gap: var(--space-md);padding-left: calc(var(--space-xs) + var(--space-sm));}.ws-timeline__item{position: relative;}.ws-timeline__item:not(:last-child)::before{content: "";position: absolute;left: calc((var(--space-xs) + var(--space-sm)) * -1 + (var(--space-xs) - var(--ws-line)) / 2);top: calc(var(--ws-leading-row) / 2);bottom: calc((var(--space-md) + var(--ws-leading-row) / 2) * -1);width: var(--ws-line);background: var(--ws-edge-slot);}.ws-timeline__dot{position: absolute;z-index: 1;left: calc((var(--space-xs) + var(--space-sm)) * -1);top: calc((var(--ws-leading-row) - var(--space-xs)) / 2);width: var(--space-xs);height: var(--space-xs);border-radius: var(--radius-full);background: var(--ws-edge-card);box-shadow: 0 0 0 var(--ws-ring) var(--color-bg-page);}.ws-timeline__dot--navy{background: var(--color-text-heading);}.ws-timeline__dot--positive{background: var(--ws-chart-finished);}.ws-timeline__dot--needs{background: var(--ws-chart-under-half);}.ws-timeline__dot--settled{background: var(--ws-edge-card);}.ws-timeline__title{font-size: var(--ws-text-body);line-height: var(--ws-leading-row);color: var(--color-text-heading);}.ws-timeline__meta{margin-top: var(--space-3xs);}a.ws-timeline__title{display: block;font-weight: 500;text-decoration: none;}@media (hover: hover){a.ws-timeline__title:hover{text-decoration: underline;text-underline-offset: var(--space-3xs);}}@media (pointer: coarse){a.ws-timeline__title{padding-block: var(--space-3xs);margin-block: calc(var(--space-3xs) * -1);}}.ws-timeline__ghost{display: block;height: calc(var(--space-xs) + var(--space-3xs));margin-block: calc((var(--ws-leading-row) - var(--space-xs) - var(--space-3xs)) / 2);border-radius: var(--ws-radius-bar);background: var(--ws-track);}.ws-timeline__ghost.ws-shimmer{background: var(--ws-shimmer);background-size: 300% 100%;}.ws-toast{--ws-toast-radius: calc(var(--space-md) + var(--space-3xs));display: flex;align-items: center;gap: var(--space-sm);max-width: 100%;padding: var(--space-xs) var(--space-sm-plus);border-radius: var(--ws-toast-radius);background: var(--ws-inverse);color: var(--ws-on-inverse);box-shadow: var(--ws-shadow-pop);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);}.ws-toast__icon{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);}.ws-toast:has(.ws-toast__description) > .ws-toast__icon{align-self: flex-start;margin-block: calc((var(--ws-leading-control) - var(--ws-icon)) / 2);}.ws-toast__body{display: flex;flex: 1;flex-direction: column;gap: var(--space-3xs);min-width: 0;}.ws-toast__title{font-weight: 500;color: inherit;}.ws-toast__description{color: color-mix(in srgb, var(--ws-on-inverse) 76%, transparent);}.ws-toast__action{flex-shrink: 0;padding: 0 var(--space-xxs);margin-inline: calc(var(--space-xxs) * -1);border: 0;border-radius: var(--ws-radius-control);background: none;color: var(--ws-on-inverse);font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 600;text-decoration: underline;text-underline-offset: var(--space-3xs);cursor: pointer;}.ws-toast__action:focus-visible{outline-color: var(--ws-on-inverse);}@media (hover: hover){.ws-toast__action:hover{text-decoration-thickness: var(--ws-focus-width);}}@media (pointer: coarse){.ws-toast__action{margin-block: calc(var(--space-xs) * -1);}}@keyframes ws-toast-in{from{opacity: 0;transform: translateY(var(--space-xs)) scale(var(--ws-open-scale-toast));}}@keyframes ws-toast-out{to{opacity: 0;transform: translateY(var(--ws-nudge));}}@media (prefers-reduced-motion: no-preference){.ws-toast{animation: ws-toast-in var(--ws-spring-settle-duration) var(--ws-spring-settle) backwards;}.ws-toast[data-leaving]{animation: ws-toast-out var(--ws-duration-exit) var(--ws-ease-exit) forwards;pointer-events: none;}}.ws-tooltip{--ws-tooltip-gap: var(--space-xs);--ws-tooltip-from: var(--ws-nudge);position: relative;display: inline-flex;vertical-align: top;}.ws-tooltip::before{content: "";position: absolute;right: 0;bottom: 100%;left: 0;height: var(--ws-tooltip-gap);pointer-events: none;}.ws-tooltip__tip{position: absolute;bottom: calc(100% + var(--ws-tooltip-gap));left: 50%;z-index: var(--z-dropdown);width: max-content;max-width: min(var(--ws-thing-width), calc(100vw - var(--space-xl)));padding: var(--space-xxs-plus) var(--space-xs-plus);border-radius: var(--ws-radius-row);background: var(--ws-raised);box-shadow: var(--ws-shadow-hairline), var(--ws-shadow-tip);font-size: var(--ws-text-dense);line-height: var(--space-md);font-weight: 600;color: var(--color-text-heading);white-space: normal;text-wrap: balance;translate: -50% 0;transform-origin: bottom center;opacity: 0;visibility: hidden;pointer-events: none;}@media (hover: hover){.ws-tooltip:hover::before{pointer-events: auto;}.ws-tooltip:hover > .ws-tooltip__tip{opacity: 1;visibility: visible;pointer-events: auto;}}.ws-tooltip--open > .ws-tooltip__tip, .ws-tooltip:has(:focus-visible) > .ws-tooltip__tip{opacity: 1;visibility: visible;pointer-events: auto;}.ws-tooltip--below{--ws-tooltip-from: calc(var(--ws-nudge) * -1);}.ws-tooltip--below::before{top: 100%;bottom: auto;}.ws-tooltip--below > .ws-tooltip__tip{top: calc(100% + var(--ws-tooltip-gap));bottom: auto;transform-origin: top center;}.ws-tooltip--start > .ws-tooltip__tip{left: 0;translate: none;transform-origin: bottom left;}.ws-tooltip--end > .ws-tooltip__tip{right: 0;left: auto;translate: none;transform-origin: bottom right;}.ws-tooltip--note{--ws-tooltip-gap: calc(var(--space-xxs-plus) + var(--ws-nudge));}.ws-tooltip--note > .ws-tooltip__tip{left: calc(var(--space-sm) * -1);max-width: min(calc(var(--ws-float-width) + var(--space-sm) * 2), calc(100vw - var(--space-xl)));padding: var(--space-xs-plus) var(--space-sm);border-radius: var(--ws-radius-control);background: var(--ws-inverse);box-shadow: var(--ws-float-rim);font-size: var(--ws-text-body);line-height: calc(var(--space-md) + var(--space-xxs));font-weight: 400;color: var(--ws-on-inverse);text-wrap: wrap;translate: none;transform-origin: bottom left;}.ws-tooltip--note.ws-tooltip--end > .ws-tooltip__tip{right: calc(var(--space-sm) * -1);left: auto;transform-origin: bottom right;}.ws-tooltip--note::after{content: "";position: absolute;bottom: calc(100% + var(--ws-nudge));left: 50%;width: var(--space-sm);height: var(--space-xxs-plus);background: var(--ws-inverse);clip-path: polygon(0 0, 100% 0, 50% 100%);translate: -50% 0;opacity: 0;visibility: hidden;pointer-events: none;}@media (hover: hover){.ws-tooltip--note:hover::after{opacity: 1;visibility: visible;}}.ws-tooltip--note.ws-tooltip--open::after, .ws-tooltip--note:has(:focus-visible)::after{opacity: 1;visibility: visible;}.ws-tooltip.ws-tooltip--dismissed > .ws-tooltip__tip, .ws-tooltip.ws-tooltip--dismissed::after{opacity: 0;visibility: hidden;pointer-events: none;}.ws-tooltip--note.ws-tooltip--below > .ws-tooltip__tip{transform-origin: top left;}.ws-tooltip--note.ws-tooltip--below::after{top: calc(100% + var(--ws-nudge));bottom: auto;clip-path: polygon(50% 0, 100% 100%, 0 100%);}@supports (anchor-scope: all){.ws-tooltip{--ws-tooltip-block: top;--ws-tooltip-inline: span-all;--ws-tooltip-justify: anchor-center;anchor-name: --ws-tooltip;anchor-scope: --ws-tooltip;}.ws-tooltip--below{--ws-tooltip-block: bottom;}.ws-tooltip--start, .ws-tooltip--note{--ws-tooltip-inline: span-right;--ws-tooltip-justify: normal;}.ws-tooltip--end{--ws-tooltip-inline: span-left;--ws-tooltip-justify: normal;}.ws-tooltip__tip, .ws-tooltip--note::after{position: fixed;position-anchor: --ws-tooltip;inset: auto;translate: none;}.ws-tooltip__tip{position-area: var(--ws-tooltip-block) var(--ws-tooltip-inline);justify-self: var(--ws-tooltip-justify);margin: var(--ws-tooltip-gap) 0;}.ws-tooltip:not(.ws-tooltip--note) > .ws-tooltip__tip{position-try-fallbacks: flip-block, --ws-tooltip-right, --ws-tooltip-left, --ws-tooltip-right flip-block, --ws-tooltip-left flip-block;}.ws-tooltip--note > .ws-tooltip__tip{margin-inline: calc(var(--space-sm) * -1) 0;}.ws-tooltip--note.ws-tooltip--end > .ws-tooltip__tip{margin-inline: 0 calc(var(--space-sm) * -1);}.ws-tooltip--note::after{position-area: var(--ws-tooltip-block) span-all;justify-self: anchor-center;margin: var(--ws-nudge) 0;}}@position-try --ws-tooltip-right{position-area: top span-right;justify-self: normal;}@position-try --ws-tooltip-left{position-area: top span-left;justify-self: normal;}.ws-tooltip__term{padding: 0;border: 0;background: none;font-weight: inherit;text-decoration: underline dotted var(--ws-line);text-underline-offset: var(--space-xxs);cursor: help;}@media (pointer: coarse){.ws-tooltip__term{position: relative;}.ws-tooltip__term::after{content: "";position: absolute;inset: calc((100% - var(--space-lg)) / 2) 0;}}.ws-tooltip{--ws-tooltip-scale: 0.9;--ws-tooltip-out: 180ms;}@media (prefers-reduced-motion: no-preference){.ws-tooltip__tip{transform: translateY(var(--ws-tooltip-from)) scale(var(--ws-tooltip-scale));transition: opacity var(--ws-tooltip-out) var(--ws-ease-exit), transform var(--ws-tooltip-out) var(--ws-ease-exit), visibility 0s linear var(--ws-tooltip-out);}.ws-tooltip--note::after{transition: opacity var(--ws-tooltip-out) var(--ws-ease-exit), visibility 0s linear var(--ws-tooltip-out);}@media (hover: hover){.ws-tooltip:hover > .ws-tooltip__tip{transform: none;transition: opacity var(--ws-spring-pop-duration) var(--ws-spring-pop) var(--ws-hover-intent), transform var(--ws-spring-pop-duration) var(--ws-spring-pop) var(--ws-hover-intent), visibility 0s linear var(--ws-hover-intent);}.ws-tooltip--note:hover::after{transition: opacity var(--ws-spring-pop-duration) var(--ws-spring-pop) var(--ws-hover-intent), visibility 0s linear var(--ws-hover-intent);}}.ws-tooltip--open > .ws-tooltip__tip, .ws-tooltip:has(:focus-visible) > .ws-tooltip__tip{transform: none;transition: opacity var(--ws-spring-pop-duration) var(--ws-spring-pop), transform var(--ws-spring-pop-duration) var(--ws-spring-pop), visibility 0s;}.ws-tooltip--note.ws-tooltip--open::after, .ws-tooltip--note:has(:focus-visible)::after{transition: opacity var(--ws-spring-pop-duration) var(--ws-spring-pop), visibility 0s;}}.ws-top-bar{display: flex;align-items: center;gap: var(--space-lg);min-width: 0;height: var(--ws-header-h);padding: 0 var(--space-lg);}.ws-top-bar__wordmark{flex-shrink: 0;font-size: var(--ws-text-value);line-height: var(--space-lg);font-weight: 600;color: var(--color-text-heading);}.ws-top-bar__links{display: flex;flex: 1 0 auto;align-items: center;gap: var(--space-lg);}.ws-top-bar__link{position: relative;display: inline-flex;align-items: center;height: var(--ws-header-h);margin-inline: calc(var(--space-xs) * -1);padding-inline: var(--space-xs);font-size: var(--ws-text-body);font-weight: 500;color: var(--color-text-body);text-decoration: none;white-space: nowrap;}@media (hover: hover){.ws-top-bar__link:hover{color: var(--color-text-heading);}}.ws-top-bar__link:is(.ws-top-bar__link--current, [aria-current="page"]){color: var(--color-text-heading);}.ws-top-bar__link:focus-visible{border-radius: var(--ws-radius-control);outline-offset: calc(var(--ws-focus-width) * -1);}.ws-top-bar__link:is(.ws-top-bar__link--current, [aria-current="page"])::after{content: "";position: absolute;inset-inline: var(--space-xs);bottom: 0;height: var(--ws-ring);background: var(--color-text-heading);border-radius: var(--ws-radius-bar);}.ws-top-bar__search{display: flex;flex-shrink: 1;align-items: center;gap: var(--space-xxs);width: var(--space-9xl);min-width: var(--space-6xl);height: var(--ws-control-h);padding: 0 var(--space-xs);border-radius: var(--ws-radius-control);background: var(--ws-field);box-shadow: inset 0 0 0 var(--ws-hairline) var(--ws-edge-card);color: var(--color-text-muted);font-size: var(--ws-text-meta);white-space: nowrap;overflow: hidden;cursor: text;}.ws-top-bar__search svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);flex-shrink: 0;}.ws-top-bar__search > input{flex: 1;min-width: 0;height: 100%;padding: 0;border: 0;background: none;-webkit-appearance: none;appearance: none;font: inherit;color: var(--ws-field-ink);}.ws-top-bar__search > input::placeholder{color: var(--color-text-muted);opacity: 1;}.ws-top-bar__search > input:focus-visible{outline: none;}.ws-top-bar__search:focus-within{outline: var(--ws-focus-width) solid var(--ws-focus-color);outline-offset: var(--ws-focus-offset);}@media (pointer: coarse){.ws-top-bar__search{height: var(--ws-touch);font-size: var(--ws-text-value);}}.ws-top-bar__end{display: flex;flex-shrink: 0;align-items: center;gap: var(--space-xs);}.ws-top-bar__menu{display: none;}.ws-top-bar--phone{justify-content: space-between;gap: var(--space-md);padding: 0 var(--space-md);}.ws-top-bar--phone :is(.ws-top-bar__links, .ws-top-bar__search, .ws-top-bar__end){display: none;}.ws-top-bar--phone .ws-top-bar__menu{display: inline-flex;}@media (max-width: 60rem){.ws-top-bar{justify-content: space-between;gap: var(--space-md);padding: 0 var(--space-md);}.ws-top-bar :is(.ws-top-bar__links, .ws-top-bar__search, .ws-top-bar__end){display: none;}.ws-top-bar .ws-top-bar__menu{display: inline-flex;}}@media (prefers-reduced-motion: no-preference){.ws-top-bar__link{transition: color var(--ws-duration-hover) var(--ws-ease-soft);}}.ws-topic{display: flex;align-items: baseline;gap: var(--space-xs);min-height: var(--space-lg);padding-top: var(--space-sm-plus);border-top: var(--ws-hairline) solid color-mix(in srgb, var(--ws-ink) 10%, transparent);}* + .ws-topic{margin-top: calc(var(--space-lg) + var(--space-xxs));}.ws-topic:first-child{padding-top: 0;border-top: 0;}.ws-topic + *{margin-top: calc(var(--space-md) + var(--space-xxs));}.ws-topic__name{min-width: 0;font-size: var(--ws-text-dense);line-height: var(--space-md);font-weight: 600;color: var(--color-text-heading);}.ws-topic[aria-current] .ws-topic__name{color: var(--ws-word-needs);}.ws-topic__count{flex-shrink: 0;font-size: var(--ws-text-micro);line-height: var(--ws-leading-micro);color: var(--color-text-muted);}.ws-topic__act{display: inline-flex;flex-shrink: 0;align-items: center;gap: var(--space-xxs-plus);min-height: var(--space-lg);margin-left: auto;padding: 0 var(--space-xs);border: 0;border-radius: var(--ws-radius-row);background: none;font-size: var(--ws-text-dense);line-height: var(--space-md);font-weight: 600;color: var(--color-text-heading);cursor: pointer;transition: opacity var(--ws-duration-hover) var(--ws-ease-soft), background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-topic__act > svg{width: var(--ws-icon-sm);height: var(--ws-icon-sm);}@media (hover: hover){.ws-topic__act{opacity: 0;}.ws-topic:hover .ws-topic__act, .ws-topic__act:focus-visible, .ws-topic__act[aria-expanded="true"]{opacity: 1;}.ws-topic__act:hover{background-color: var(--ws-hover-strong);}}.ws-topic-rail{position: relative;display: flex;align-items: center;width: var(--ws-card-inset);}.ws-chat-shell > .ws-topic-rail{position: absolute;z-index: 1;top: var(--space-4xl);bottom: var(--space-6xl);left: 0;}.ws-topic-rail__marks{display: flex;flex-direction: column;gap: var(--space-xxs);width: 100%;padding: var(--space-xs-plus) 0 var(--space-xs-plus) var(--space-xxs);border: 0;border-radius: var(--ws-radius-control);background: none;cursor: pointer;}.ws-topic-rail__marks:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}@media (pointer: coarse){.ws-topic-rail__marks{position: relative;}.ws-topic-rail__marks::after{content: "";position: absolute;inset: 0 calc(var(--space-xs) * -1) 0 calc(var(--space-sm) * -1);}}@media (hover: hover){.ws-topic-rail__marks:hover > i:not([aria-current]){background: color-mix(in srgb, var(--ws-ink) 40%, transparent);}}.ws-topic-rail__marks > i{display: block;width: var(--space-xxs);height: var(--space-xxs);border-radius: var(--ws-radius-bar);background: color-mix(in srgb, var(--ws-ink) 20%, transparent);transition: width var(--ws-duration-hover) var(--ws-ease-soft), background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-topic-rail__marks > i[aria-current]{width: var(--space-xs-plus);background: var(--color-text-heading);}.ws-topic-rail__panel{position: absolute;z-index: var(--z-dropdown);top: 50%;left: calc(100% + var(--space-xxs));translate: 0 -50%;width: calc(var(--space-9xl) + var(--space-4xl));max-height: 100%;overflow-y: auto;padding: var(--space-xs);border: var(--ws-hairline) solid var(--ws-edge-card);border-radius: var(--ws-radius-menu);background: var(--ws-raised);box-shadow: var(--ws-shadow-menu);}.ws-topic-rail__head{display: block;padding: var(--space-xxs) var(--space-xs) var(--space-xxs-plus);font-size: var(--ws-text-dense);line-height: var(--space-md);font-weight: 500;color: var(--color-text-muted);}.ws-topic-rail__item{display: flex;width: 100%;flex-direction: column;align-items: flex-start;gap: var(--space-3xs);padding: var(--space-xs);border: 0;border-radius: var(--ws-radius-row);background: none;text-align: left;cursor: pointer;transition: background-color var(--ws-duration-hover) var(--ws-ease-soft);}.ws-topic-rail__item:focus-visible{outline-offset: calc(var(--ws-focus-width) * -1);}@media (hover: hover){.ws-topic-rail__item:hover{background-color: var(--ws-hover);}}.ws-topic-rail__item:active{background-color: var(--ws-surface-press);transition-duration: var(--ws-duration-instant);}.ws-topic-rail__title{font-size: var(--ws-text-control);line-height: var(--ws-leading-control);font-weight: 500;color: var(--color-text-heading);}.ws-topic-rail__item[aria-current] .ws-topic-rail__title{color: var(--ws-word-needs);}.ws-topic-rail__sub{font-size: var(--ws-text-micro);line-height: var(--ws-leading-micro);color: var(--color-text-muted);}.ws-topic-rail__quote{max-width: 100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: var(--ws-text-dense);line-height: var(--space-md);color: var(--color-text-body);}@keyframes ws-topic-in{from{opacity: 0;transform: translateX(calc(var(--space-xs) * -1));filter: blur(var(--ws-blur-arrive));}}@media (prefers-reduced-motion: no-preference){.ws-topic-rail__panel{animation: ws-topic-in var(--ws-duration-settle) var(--ws-ease-settle);}}.ws-trend-bars__body{padding: var(--space-md) var(--ws-card-inset) 0;}.ws-trend-bars__figure{display: flex;align-items: baseline;gap: var(--space-sm);margin-bottom: var(--space-lg);}.ws-trend-bars__chart{position: relative;display: flex;align-items: flex-end;justify-content: space-between;gap: var(--space-xxs);height: calc(var(--space-5xl) + var(--space-sm));padding-top: calc(var(--space-lg) + var(--space-xxs));}.ws-trend-bars__bar{flex-shrink: 0;width: calc(var(--space-xxs) / 2);border-radius: var(--ws-radius-bar);background: linear-gradient(to top in srgb, var(--ws-chart-purple-fade), var(--ws-chart-past-half));transform-origin: bottom;}.ws-trend-bars__bar--moment{background: linear-gradient(to top, var(--ws-chart-under-half) 40%, var(--ws-chart-under-half));}.ws-trend-bars__moment{position: relative;display: flex;flex-shrink: 0;align-self: stretch;align-items: flex-end;}.ws-trend-bars__moment-chip{position: absolute;bottom: calc(100% + var(--space-xxs) * 1.5);left: 50%;transform: translateX(calc(var(--i, (var(--n, 3) - 1) / 2) / max(var(--n, 3) - 1, 1) * -100%));padding: var(--space-3xs) var(--space-xxs-plus);border-radius: var(--ws-radius-chip);background: var(--ws-tint-needs);color: var(--ws-word-needs);font-size: var(--ws-text-micro);font-weight: 500;white-space: nowrap;}.ws-trend-bars__moment-line{position: absolute;top: calc((var(--space-lg) - var(--space-xxs) / 2) * -1);bottom: 0;left: 50%;width: var(--ws-line);background: var(--ws-chart-under-half);opacity: 0.5;}.ws-trend-bars__axis{display: flex;justify-content: space-between;margin-top: var(--space-xxs);padding: 0 calc(var(--space-xxs) / 2) var(--space-md) 0;}.ws-trend-bars__axis > span{flex-shrink: 0;width: 0;overflow: visible;font-size: var(--ws-text-micro);line-height: var(--space-md);color: var(--color-text-muted);white-space: nowrap;}@media (prefers-reduced-motion: no-preference){.ws-trend-bars__bar.ws-grow-up{animation-duration: calc(var(--ws-duration-draw) * 0.45);animation-timing-function: var(--ws-ease-settle);animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-duration-draw) * 0.55 * var(--i, 0) / max(var(--n, 2) - 1, 1));}}.ws-trend-line{--ws-trend-line-tone: var(--tone, var(--color-text-heading));--ws-trend-line-h: calc(var(--space-9xl) + var(--space-lg));--ws-trend-line-dot: var(--space-xs);--ws-trend-line-hit: var(--space-sm);--ws-trend-line-col: 48%;--ws-trend-line-ring: calc(var(--ws-hairline) * 3);--ws-trend-line-room: var(--space-xxs);container: ws-trend-line / inline-size;margin: 0;}.ws-trend-line__plot{display: grid;grid-template-columns: var(--ws-trend-line-y, var(--space-2xl)) minmax(0, 1fr);grid-template-rows: var(--ws-trend-line-h) auto;column-gap: var(--space-sm);padding-top: var(--space-lg);}.ws-trend-line__y{position: relative;grid-area: 1 / 1;min-width: 0;}.ws-trend-line__y > span{position: absolute;right: 0;top: var(--y);translate: 0 -50%;font-size: var(--ws-text-micro);line-height: var(--space-sm-plus);color: var(--color-text-muted);font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-trend-line__area{position: relative;isolation: isolate;grid-area: 1 / 2;min-width: 0;container-type: size;border-bottom: var(--ws-hairline) solid var(--ws-edge-card);}.ws-trend-line__rule{position: absolute;left: 0;right: 0;top: var(--y);border-top: var(--ws-hairline) solid var(--ws-edge-slot);}.ws-trend-line__ref{position: absolute;left: 0;right: 0;top: var(--y);height: var(--ws-line);translate: 0 -50%;background: repeating-linear-gradient(90deg, var(--ws-chart-under-half) 0 var(--ws-line), transparent 0 calc(var(--ws-line) * 3));transform-origin: left;}.ws-trend-line__ref > span{position: absolute;left: 0;bottom: calc(100% + var(--space-xxs));font-size: var(--ws-text-micro);font-weight: 600;line-height: var(--space-sm-plus);color: var(--ws-word-needs);font-variant-numeric: tabular-nums;white-space: nowrap;}.ws-trend-line__draw{position: absolute;inset: calc(var(--ws-trend-line-room) * -1) 0;clip-path: inset(0);pointer-events: none;}.ws-trend-line__hatch, .ws-trend-line__lines{position: absolute;inset: var(--ws-trend-line-room) 0;width: 100%;height: calc(100% - var(--ws-trend-line-room) * 2);}.ws-trend-line__hatch{--ws-trend-line-hatch: color-mix(in srgb, var(--ws-trend-line-tone) 45%, transparent);--ws-trend-line-hatch-w: var(--ws-hairline);background: repeating-linear-gradient(90deg, var(--ws-trend-line-hatch) 0 var(--ws-trend-line-hatch-w), transparent 0 var(--space-xxs));}@media (max-resolution: 1.49dppx){.ws-trend-line__hatch{--ws-trend-line-hatch: color-mix(in srgb, var(--ws-trend-line-tone) 22%, transparent);--ws-trend-line-hatch-w: var(--ws-line);}}.ws-trend-line__lines{overflow: visible;}.ws-trend-line__lines path{fill: none;stroke: var(--ws-trend-line-tone);stroke-width: var(--ws-chart-line);stroke-linecap: round;stroke-linejoin: round;vector-effect: non-scaling-stroke;}.ws-trend-line__lines .ws-trend-line__ahead{stroke-width: var(--ws-line);stroke-dasharray: 0.1 calc(var(--ws-hairline) * 5);}.ws-trend-line__point{--ws-trend-line-mark: var(--ws-trend-line-tone);position: absolute;top: calc(var(--y) - var(--ws-trend-line-hit));bottom: 0;left: calc(100% * var(--i) / var(--n));width: calc(100% / var(--n));}.ws-trend-line__point--now{--ws-trend-line-mark: var(--tone-now, var(--ws-chart-navy-light));}.ws-trend-line__point::before{content: "";position: absolute;left: 50%;top: calc(var(--ws-trend-line-hit) - var(--ws-trend-line-dot) / 2);bottom: 0;width: var(--ws-trend-line-col);translate: -50% 0;background: repeating-linear-gradient(to top, var(--ws-trend-line-mark) 0 calc(100cqh / var(--ticks, 1) - var(--ws-hairline)), transparent 0 calc(100cqh / var(--ticks, 1)));transform-origin: bottom;clip-path: inset(0 max(0px, 50% - var(--ws-trend-line-dot) / 2) max(0px, 100% - var(--ws-trend-line-dot)) round calc(var(--ws-trend-line-dot) / 2));opacity: 0;}.ws-trend-line__point::after{content: "";position: absolute;left: 50%;top: var(--ws-trend-line-hit);width: var(--ws-trend-line-dot);height: var(--ws-trend-line-dot);box-sizing: border-box;translate: -50% -50%;border-radius: var(--radius-full);background: var(--ws-trend-line-mark);box-shadow: 0 0 0 var(--ws-trend-line-ring) var(--color-bg-page), 0 0 0 var(--space-xxs-plus) transparent;}.ws-trend-line__point--ahead::before{top: var(--ws-trend-line-hit);box-sizing: border-box;border: var(--ws-line) dashed var(--ws-trend-line-tone);border-bottom: 0;background: none;clip-path: inset(0 round var(--ws-radius-bar) var(--ws-radius-bar) 0 0);}.ws-trend-line__point--ahead::after{border: var(--ws-line) dashed var(--ws-trend-line-tone);background: var(--color-bg-page);}.ws-trend-line--bars .ws-trend-line__point::before{clip-path: inset(min(calc(var(--ws-trend-line-dot) / 2), calc(100% - var(--ws-ring))) 0 0 round var(--ws-radius-bar) var(--ws-radius-bar) 0 0);opacity: 1;}.ws-trend-line--bars .ws-trend-line__point--ahead::before{clip-path: inset(0 round var(--ws-radius-bar) var(--ws-radius-bar) 0 0);}.ws-trend-line--bars .ws-trend-line__point::after{opacity: 0;scale: 0.4;}.ws-trend-line--bars .ws-trend-line__draw{clip-path: inset(0 100% 0 0);}.ws-trend-line__band{position: absolute;z-index: -1;top: 0;bottom: 0;left: 0;width: 0;opacity: 0;pointer-events: none;background: linear-gradient(var(--ws-trend-line-tone), var(--ws-trend-line-tone)) center / var(--ws-hairline) 100% no-repeat;}.ws-trend-line--bars .ws-trend-line__band{border-radius: var(--ws-radius-row);background: var(--ws-hover);}@supports (anchor-name: --a){.ws-trend-line__area{anchor-scope: --ws-trend-line-at;}.ws-trend-line__point:is(:focus-visible, .ws-trend-line__point--on){anchor-name: --ws-trend-line-at;}.ws-trend-line__band{position-anchor: --ws-trend-line-at;left: anchor(left);right: anchor(right);width: auto;top: calc(anchor(top) + var(--ws-trend-line-hit));background: repeating-linear-gradient(to bottom, var(--ws-trend-line-tone) 0 var(--ws-ring), transparent 0 calc(var(--ws-ring) * 2)) center / var(--ws-line) 100% no-repeat;}.ws-trend-line--bars .ws-trend-line__band{top: 0;background: var(--ws-hover);}.ws-trend-line__area:has(> .ws-trend-line__point:is(:focus-visible, .ws-trend-line__point--on)) > .ws-trend-line__band{opacity: 1;}}.ws-trend-line__point:is(:focus-visible, .ws-trend-line__point--on)::after{transform: scale(1.5);box-shadow: 0 0 0 var(--ws-trend-line-ring) var(--color-bg-page), 0 0 0 var(--space-xxs-plus) color-mix(in srgb, var(--ws-trend-line-mark) 12%, transparent);}.ws-trend-line--bars .ws-trend-line__area:has(> .ws-trend-line__point:is(:focus-visible, .ws-trend-line__point--on)) > .ws-trend-line__point:not(:focus-visible, .ws-trend-line__point--on)::before{opacity: var(--ws-dim);}@media (hover: hover){@supports (anchor-name: --a){.ws-trend-line__point:hover{anchor-name: --ws-trend-line-at;}.ws-trend-line__area:has(> .ws-trend-line__point:hover) > .ws-trend-line__band{opacity: 1;}}.ws-trend-line__point:hover::after{transform: scale(1.5);box-shadow: 0 0 0 var(--ws-trend-line-ring) var(--color-bg-page), 0 0 0 var(--space-xxs-plus) color-mix(in srgb, var(--ws-trend-line-mark) 12%, transparent);}.ws-trend-line--bars .ws-trend-line__area:has(> .ws-trend-line__point:hover) > .ws-trend-line__point:not(:hover)::before{opacity: var(--ws-dim);}}.ws-trend-line__x{grid-area: 2 / 2;display: grid;grid-template-columns: repeat(var(--n), minmax(0, 1fr));padding-top: var(--space-xxs-plus);}.ws-trend-line__x > span{min-width: 0;overflow: hidden;font-size: var(--ws-text-micro);line-height: var(--space-sm-plus);color: var(--color-text-muted);text-align: center;text-overflow: ellipsis;white-space: nowrap;}.ws-trend-line__x > .ws-trend-line__now{font-weight: 600;color: var(--color-text-heading);}.ws-trend-line__legend{display: flex;flex-wrap: wrap;justify-content: center;gap: var(--space-xxs) var(--space-md);margin: 0;padding: var(--space-md) 0 0;list-style: none;font-size: var(--ws-text-body);font-weight: 500;line-height: var(--ws-leading-row);color: var(--color-text-body);}.ws-trend-line__legend > li{display: inline-flex;align-items: center;gap: var(--space-xs);}.ws-trend-line__legend > li::before{content: "";flex-shrink: 0;box-sizing: border-box;width: var(--space-sm);height: var(--space-sm);border-radius: var(--ws-radius-chip);background: var(--ws-trend-line-tone);}.ws-trend-line__legend > .ws-trend-line__key--now::before{background: var(--tone-now, var(--ws-chart-navy-light));}.ws-trend-line__legend > .ws-trend-line__key--ahead::before{border: var(--ws-line) dashed var(--ws-trend-line-tone);background: none;}.ws-trend-line__legend > .ws-trend-line__key--ref::before{width: var(--space-md);height: var(--ws-line);border-radius: 0;background: repeating-linear-gradient(90deg, var(--ws-chart-under-half) 0 var(--ws-line), transparent 0 calc(var(--ws-line) * 3));}.ws-trend-line__table{position: absolute;width: var(--ws-line);height: var(--ws-line);overflow: hidden;clip-path: inset(50%);white-space: nowrap;}@container ws-trend-line (max-width: 30rem){.ws-trend-line__plot{grid-template-rows: min(var(--ws-trend-line-h), var(--space-9xl)) auto;}.ws-trend-line__x:has(> :nth-child(7)) > :is(:nth-child(even), :has(+ .ws-trend-line__now), .ws-trend-line__now + *){visibility: hidden;}.ws-trend-line__x:has(> :nth-child(7)) > .ws-trend-line__now{visibility: visible;}.ws-trend-line__x:has(> :nth-child(7)) > span{margin-inline: -50%;}}.ws-trend-line--bare{--ws-trend-line-h: var(--space-lg);--ws-trend-line-dot: var(--space-xxs);--ws-trend-line-hit: 0px;--ws-trend-line-col: 84%;--ws-trend-line-ring: var(--ws-hairline);flex: 1;min-width: 0;}.ws-trend-line--bare .ws-trend-line__plot{grid-template-columns: minmax(0, 1fr);padding: 0;}.ws-trend-line--bare .ws-trend-line__area{grid-column: 1;border-bottom: 0;}.ws-trend-line--bare :is(.ws-trend-line__y, .ws-trend-line__x, .ws-trend-line__legend, .ws-trend-line__rule, .ws-trend-line__band){display: none;}.ws-trend-line--bare .ws-trend-line__lines path{stroke-width: var(--ws-line);}.ws-trend-line--bare .ws-trend-line__point--now{--ws-trend-line-dot: var(--space-xxs-plus);}.ws-trend-line--bare.ws-trend-line--bars .ws-trend-line__point::before{clip-path: inset(min(calc(var(--ws-trend-line-dot) / 2), calc(100% - var(--ws-ring))) 0 0 round var(--ws-radius-chip) var(--ws-radius-chip) 0 0);}@media (prefers-reduced-motion: no-preference){.ws-trend-line__point::before{transition: clip-path var(--ws-spring-morph-chart-duration) var(--ws-spring-morph-chart), opacity var(--ws-duration-hover) var(--ws-ease-soft) var(--ws-duration-settle);}.ws-trend-line__point::after{transition: opacity var(--ws-duration-hover) var(--ws-ease-soft) var(--ws-duration-settle), scale var(--ws-duration-settle) var(--ws-ease-pop) var(--ws-duration-settle), transform var(--ws-duration-hover) var(--ws-ease-soft), box-shadow var(--ws-duration-hover) var(--ws-ease-soft);}.ws-trend-line__draw{transition: clip-path var(--ws-duration-draw) var(--ws-ease-steady);}.ws-trend-line--bars .ws-trend-line__point::before{transition: clip-path var(--ws-spring-morph-chart-duration) var(--ws-spring-morph-chart), opacity var(--ws-duration-hover) var(--ws-ease-soft);}.ws-trend-line--bars .ws-trend-line__point::after{transition: opacity var(--ws-duration-exit) var(--ws-ease-exit), scale var(--ws-duration-exit) var(--ws-ease-exit), transform var(--ws-duration-hover) var(--ws-ease-soft), box-shadow var(--ws-duration-hover) var(--ws-ease-soft);}.ws-trend-line--bars .ws-trend-line__draw{transition: clip-path var(--ws-duration-settle) var(--ws-ease-soft);}.ws-trend-line .ws-trend-line__point--ahead::before{transition: opacity var(--ws-duration-hover) var(--ws-ease-soft);}.ws-trend-line__band{transition: left var(--ws-duration-settle) var(--ws-ease-soft), right var(--ws-duration-settle) var(--ws-ease-soft), top var(--ws-duration-settle) var(--ws-ease-soft), opacity var(--ws-duration-hover) var(--ws-ease-soft);}.ws-trend-line__point::before{animation: ws-trend-line-rise calc(var(--ws-duration-draw) * 0.45) var(--ws-ease-settle) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-duration-draw) * 0.55 * var(--i) / max(var(--n) - 1, 1));}.ws-trend-line__point::after{animation: ws-trend-line-pop var(--ws-duration-settle) var(--ws-ease-pop) backwards;animation-delay: calc(var(--ws-build-at, 0s) + var(--ws-duration-draw) * (var(--i) + 0.5) / var(--n));}.ws-trend-line__draw{animation: ws-trend-line-wipe var(--ws-duration-draw) var(--ws-ease-steady) var(--ws-build-at, 0s) backwards;}.ws-trend-line__ref{animation: ws-grow var(--ws-duration-draw) var(--ws-ease-soft) var(--ws-build-at, 0s) backwards;}@supports (animation-timeline: view()){.ws-trend-line{view-timeline: --ws-trend-line-in block;}.ws-trend-line__point::before{animation: ws-trend-line-rise calc(var(--ws-duration-draw) * 0.45) var(--ws-ease-settle) calc(var(--ws-build-at, 0s) + var(--ws-duration-draw) * 0.55 * var(--i) / max(var(--n) - 1, 1)) backwards, ws-trend-line-rise 1s var(--ws-ease-settle) backwards;animation-timeline: auto, --ws-trend-line-in;animation-range: normal, entry calc(44% * var(--i) / max(var(--n) - 1, 1)) entry calc(44% * var(--i) / max(var(--n) - 1, 1) + 36%);}.ws-trend-line__point::after{animation: ws-trend-line-pop var(--ws-duration-settle) var(--ws-ease-pop) calc(var(--ws-build-at, 0s) + var(--ws-duration-draw) * (var(--i) + 0.5) / var(--n)) backwards, ws-trend-line-pop 1s var(--ws-ease-pop) backwards;animation-timeline: auto, --ws-trend-line-in;animation-range: normal, entry calc(72% * (var(--i) + 0.5) / var(--n)) entry calc(72% * (var(--i) + 0.5) / var(--n) + 8%);}.ws-trend-line__draw{animation: ws-trend-line-wipe var(--ws-duration-draw) var(--ws-ease-steady) var(--ws-build-at, 0s) backwards, ws-trend-line-wipe 1s var(--ws-ease-steady) backwards;animation-timeline: auto, --ws-trend-line-in;animation-range: normal, entry 0% entry 80%;}.ws-trend-line__ref{animation: ws-grow var(--ws-duration-draw) var(--ws-ease-soft) var(--ws-build-at, 0s) backwards, ws-grow 1s var(--ws-ease-soft) backwards;animation-timeline: auto, --ws-trend-line-in;animation-range: normal, entry 0% entry 80%;}.ws-build__card .ws-trend-line__point::before, .ws-build__card .ws-trend-line__point::after, .ws-build__card .ws-trend-line__draw, .ws-build__card .ws-trend-line__ref{animation-timeline: auto, none;}}}@keyframes ws-trend-line-rise{from{transform: scaleY(0);}}@keyframes ws-trend-line-pop{from{transform: scale(0);}}@keyframes ws-trend-line-wipe{from{clip-path: inset(0 100% 0 0);}}.ws-well{padding: var(--space-3xs);gap: var(--space-3xs);}.ws-well-row{gap: var(--space-sm);padding: var(--space-xs) var(--space-sm-plus) var(--space-xs) var(--space-sm);}.ws-well-row:active{transition-duration: var(--ws-duration-instant);}.ws-well-row:not(button, a){cursor: default;}.ws-well-row:not(button, a):is(:hover, :active){background: var(--color-bg-page);}@media (hover: none){.ws-well-row:hover{background: var(--color-bg-page);}.ws-well-row:active{background: var(--ws-surface-press);}}.ws-well-row__words{display: flex;min-width: 0;flex: 1;flex-direction: column;}.ws-well-row__words > span{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.ws-well-row__chevron{flex-shrink: 0;width: var(--ws-icon);height: var(--ws-icon);color: var(--color-text-muted);}.ws-well-row__placeholder{height: var(--space-sm);border-radius: var(--ws-radius-chip);background: var(--ws-well-hover);}@media (prefers-reduced-motion: no-preference){.ws-well-row__placeholder{background: var(--ws-shimmer);background-size: 300% 100%;animation: ws-shimmer var(--ws-loop-shimmer) var(--ws-ease-shimmer) infinite;}}}
|