diff --git a/README.md b/README.md index a909fb4e..4a8b0f7e 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ session comes back when you reopen the app. |---|---| | **Agent indicator on every tab** | A tab lights the moment Claude Code or Codex starts working and shows when the answer has landed, a question is waiting, or a turn failed. Pick Minimal, Ring or Full: Ring is one small mark by the name in its own ink (a spinner, a check, a dot or a cross); with Minimal and Full a finished tab wears the app icon's rainbow, flowing. | | **Two tab styles** | Classic flat tabs, or Powerline: chevron segments whose arrow edge is the agent's mark. `Ctrl+Tab` goes along the strip or back to the tab you used last. | -| **Tabs along the top or down the side** | A sidebar of tabs instead of the strip: kept open beside the terminal and resized at its edge, or collapsed, sliding over the terminal when the pointer reaches the window's left edge. With the title bar off, the window's buttons slide down at the top edge. | +| **Tabs along the top or down the side** | A sidebar of tabs instead of the strip: kept open beside the terminal and resized at its edge, or collapsed, sliding over the terminal when the pointer reaches the window's left edge; `Ctrl+Shift+B` switches between the two. The sidebar runs from the window's top, with the window's buttons in a bar beside it. | | **Sessions that come back** | Close the app and reopen it: every tab returns in its folder, and agent conversations resume on their own. | | **Local dictation** | Hold `Right Alt` and speak. [whisper.cpp](https://github.com/ggml-org/whisper.cpp) runs on your PC, offline, and never presses Enter. | | **Command help** | Press `F1`, describe a task in plain words and copy the command. Works offline. | diff --git a/build/icon-mark.svg b/build/icon-mark.svg new file mode 100644 index 00000000..b7f28248 --- /dev/null +++ b/build/icon-mark.svg @@ -0,0 +1,18 @@ + + Rainbow folded ribbons + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/package.json b/core/package.json index 31b0276d..8e5269da 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "prism-term-core", - "version": "0.33.0", + "version": "0.33.1", "description": "What Prism Terminal and Prism share: the terminal (pty, shells, agent detection and indicator, themes, links, the panel, dictation) and the update chip with its window. TypeScript source, compiled by the host.", "license": "MIT", "private": true, diff --git a/core/renderer/settings/fields.tsx b/core/renderer/settings/fields.tsx index 25a97127..271555ba 100644 --- a/core/renderer/settings/fields.tsx +++ b/core/renderer/settings/fields.tsx @@ -326,7 +326,11 @@ export const ROW_BUTTON = /** The pressed segment: a step lighter than the control round it (darker on a * light theme), in the text's own ink. */ -export const SEGMENT_ON = 'bg-[color-mix(in_srgb,var(--p-text)_16%,var(--p-control))] text-[var(--p-text)]' +// The host may say how a pressed segment reads (Prism Terminal, 2026-10-12: a +// dark pill with light ink on a light theme, where a 16 percent grey on a pale +// control was "a very light gray color for buttons"); unset, the grey as before. +export const SEGMENT_ON = + 'bg-[var(--p-pressed,color-mix(in_srgb,var(--p-text)_16%,var(--p-control)))] text-[var(--p-pressed-ink,var(--p-text))]' /** * A switch that is on WEARS THE THEME'S ACCENT (#138; owner, 2026-10-07: diff --git a/core/renderer/settings/sections/TerminalThemeSection.tsx b/core/renderer/settings/sections/TerminalThemeSection.tsx index 40788941..aed2cf3b 100644 --- a/core/renderer/settings/sections/TerminalThemeSection.tsx +++ b/core/renderer/settings/sections/TerminalThemeSection.tsx @@ -18,15 +18,27 @@ import { acrylicLabel, acrylicSub, opt, saveSetupTitle, sectionTitle, themeSub } */ export function TerminalThemeSection({ afterTheme, - onThemePicked + onThemePicked, + extraDirty = false, + onSaved }: { /** The host's own rows that a theme sets, under the wall and acrylic. */ afterTheme?: ReactNode - /** A card was picked (Custom included), after the pick landed. */ - onThemePicked?: () => void + /** A card was picked (Custom included, `id` says which; the editor's save + * says `edited`), after the pick landed. */ + onThemePicked?: (id: string) => void + /** The host's own unsaved changes (its window colours): they light Save + * changes too, and a save tells the host (`onSaved`) to keep them. */ + extraDirty?: boolean + onSaved?: () => void } = {}): JSX.Element { const acrylicOn = useTermAcrylic() - const { dirty, save } = useTermSetup() + const setup = useTermSetup() + const dirty = setup.dirty || extraDirty + const save = (): void => { + setup.save() + onSaved?.() + } const noAcrylic = useNoAcrylic() const theme = opt('term-theme') const acrylic = opt('term-acrylic') @@ -37,7 +49,7 @@ export function TerminalThemeSection({ - + {/* The material does not exist before Windows 11, so there the row says why instead of offering a switch that would do nothing. */} diff --git a/core/renderer/settings/theme/ThemeWall.tsx b/core/renderer/settings/theme/ThemeWall.tsx index 28f74081..31295f75 100644 --- a/core/renderer/settings/theme/ThemeWall.tsx +++ b/core/renderer/settings/theme/ThemeWall.tsx @@ -279,14 +279,34 @@ const TWO_ROWS = 268 * The wall itself: Custom, the host's default, Follow style where the host * has styles, then every preset neutral-first, black to white (#157); the pencil on the chosen card; * Show all; the question when a pick would drop unsaved changes; the editor. - * `onThemePicked`: a pick landed (Custom included), for a host whose own rows - * follow the theme (Prism Terminal forgets its picked background and accent). + * `onThemePicked`: a pick landed (Custom included, `id` says which; the + * editor's save says `edited`), for a host whose own rows follow the theme + * (Prism Terminal forgets its picked window colours, or brings Custom's back). + * `extraDirty` / `onSaved`: the host's own unsaved changes (Prism Terminal's + * window colours) light Save changes and ask before a pick drops them too, and + * a save tells the host to keep them with Custom (owner, 2026-10-12: Save + * changes "never grey when there are changes to save"). */ -export function ThemeWall({ onThemePicked, className = '' }: { onThemePicked?: () => void; className?: string }): JSX.Element { +export function ThemeWall({ + onThemePicked, + extraDirty = false, + onSaved, + className = '' +}: { + onThemePicked?: (id: string) => void + extraDirty?: boolean + onSaved?: () => void + className?: string +}): JSX.Element { const themeId = useTermThemeId() const acrylicOn = useTermAcrylic() const custom = useCustomTermTheme() - const { dirty, save } = useTermSetup() + const setup = useTermSetup() + const dirty = setup.dirty || extraDirty + const save = (): void => { + setup.save() + onSaved?.() + } const noAcrylic = useNoAcrylic() const windowAcrylic = hostOwnsWindowAcrylic() // The Custom card draws what the terminal draws (#113 review), not the raw @@ -326,7 +346,7 @@ export function ThemeWall({ onThemePicked, className = '' }: { onThemePicked?: ( // acrylic come back with it when the save captured them. applyCustomExtras(saved) } else pickPreset(id) - onThemePicked?.() + onThemePicked?.(id) } const pick = (id: string): void => { if (dirty) setAsking(id) @@ -459,7 +479,7 @@ export function ThemeWall({ onThemePicked, className = '' }: { onThemePicked?: ( // the edited background is the one that shows. saveAsCustom(t) setEditing(null) - onThemePicked?.() + onThemePicked?.('edited') }} onCancel={() => setEditing(null)} /> diff --git a/core/shared/termVersion.ts b/core/shared/termVersion.ts index 254c5704..2da96e63 100644 --- a/core/shared/termVersion.ts +++ b/core/shared/termVersion.ts @@ -7,5 +7,5 @@ * so a core release that bumps `core/package.json` (or xterm) without this * fails `npm test` (core/README.md, "Releasing the core"). */ -export const TERM_CORE_VERSION = '0.33.0' +export const TERM_CORE_VERSION = '0.33.1' export const XTERM_VERSION = '6.0.0' diff --git a/docs/superpowers/specs/2026-10-11-vertical-tabs-design.md b/docs/superpowers/specs/2026-10-11-vertical-tabs-design.md index b6d4f6cb..39827d1f 100644 --- a/docs/superpowers/specs/2026-10-11-vertical-tabs-design.md +++ b/docs/superpowers/specs/2026-10-11-vertical-tabs-design.md @@ -80,6 +80,166 @@ looked at on the way). - A 36 px strip above the tabs moves the window ("the tabs should start a bit further down on the sidebar so that you can grab that area"). +- **The bar and the sidebar stay under the hand** (owner: "my cursor can be on the titlebar and its + disappearing ... i should be able to have the cursor 2-3 px off the titlebar before it + disappears"; "if i have the cursor on the sidebar at the top of it it will disappear"). Cause: the + dropped bar and the sidebar's grab strip are drag regions, where a press is Windows', so the page + hears no pointer move and Windows tells it the pointer left. Main now streams the cursor while + either can show, and one rule (`lib/revealZones.ts`) decides from it or the page's pointer: in at + the edge zone, out only past the far edge plus 4 px. The e2e hands main a cursor (`__e2eCursor`, + under --e2e only) and fails on the old code. + +- **2026-10-12, from the surfaces mockup** (`sidebar-surfaces.html`; owner's pick: "A shade lighter", + "Thin strip", medium buttons, regular icon line, on Pitch): + - **A new setting, Secondary colour** (Appearance, under Background and Accent; "make that into a new + setting called secondary colour ... so the user can pick their own, but this is the gold standard. + make it fit with each theme"). Unpicked it is the theme's flat panel, the ground 4 percent toward + the text (a step darker on a light theme), the token `--p-secondary`. It paints the vertical tabs' + sidebar, their pop-out title bar and their title bar when shown; the horizontal strip is unchanged. + A theme pick resets it, as it does Background and Accent; inks are held to it. + - **No line under the pop-out bar** ("dont have a border on the titlebar on hidden"). + - **New tab is the tab list's last row, a tab's size** ("make new tab a button attached to the end + of the tab list and the same size as a tab"). Superseded by the sidebar looks below. + - **A thin grab strip, 16 px**: a 10 px one was nearly all Windows' resize border (WM_NCHITTEST + answered HTTOP at its middle on a window that is not maximized). + - Under Ring, a tab with no mark keeps the 12 px slot, so every name starts at one x. + +- **No sidebar button; Ctrl+Shift+B** (owner, 2026-10-12: "dont show this collapse show button. + instead bind the sidebar to a hotkey like ctrl b or ctrl s. not sure whats available"). Ctrl+B is + Claude Code's (background a running task) and the shell's cursor-left; Ctrl+S is PowerShell's + forward history search and the terminal's pause. Ctrl+Shift+B is free, VS Code's sidebar key with + Shift, and is taken only while the tabs are vertical (`isSidebarChord`, termHost's `ownsKey`). + +- **Light themes get a darker sidebar** (owner, 2026-10-12: "make sure that light themes have a + darker sidebar, not white ... go through each"). Every preset was drawn beside its terminal; the + 4 percent step is right on every dark and grey one and reads as white on every light one, where + 10 percent is a clearly darker panel in the theme's own tint (all eleven). Inks are held to it, so + on light themes `--p-dim2` and a hard accent move a step darker. + +- **2026-10-12, later** (owner): the sidebar casts a shadow, a plane above the terminal; no app icon + in the title bar for now (the outline mark of #185 is in git history); Help and Settings stay in + the title bar, the dropped one included, so the sidebar has no foot ("that way it stays consistent + at all times"); Secondary sits above Accent; the window colours (Background, Secondary, Accent) are + changes to save: Save changes lights in the accent, Save keeps them with Custom, Custom brings them + back, and a theme switch asks before dropping them (core: `TerminalThemeSection` and `ThemeWall` + take `extraDirty` / `onSaved`, `onThemePicked` says which card). +- **Light themes, readable controls** ("white themes having like a very light gray color for buttons"): + the dim text and icons are held to the body floor (icons a step darker), the hint ink too, the off + switch's track is a mid grey, and a pressed segment is a dark pill with the ground's ink + (`--p-pressed`, `--p-pressed-ink`; a host without them keeps the grey). Dark themes unchanged. + +- **The final look: "Same, with a line"** (owner, 2026-10-12, from `sidebar-treatments.html`, over a + fixed step, a neutral grey, an inset terminal and a tint; the lifted 4 percent panel read as a muddy + near-black on black themes). The secondary colour defaults to the terminal's own ground on every + theme (still a setting); the open sidebar draws a hairline and no shadow; the tab in front is a + pill in the accent's tint; the dropped title bar has no shadow. Slid out over the terminal, the + collapsed sidebar still casts its shadow. On light themes the quiet inks are held to the form + controls' fill too. + +- **The sidebar looks** (owner, 2026-10-12, from `sidebar-looks.html`): row icon none; a second line + with the folder the tab's folder sits in (`~` for the user's folder, `lib/sidebarRows.ts`); "Find a + tab" at the top, on Ctrl+Shift+K (the mockup's Ctrl+K is the shell's kill-line), keeping the rows + with every typed word in their name or folder, Enter putting the first in front, Escape letting go, + no reordering while it filters; New tab a full-width button at the sidebar's foot (right click: the + +'s places); the tab in front an accent pill; regular size; the title bar dropped down. +- **The base colour and the edge** (owner, 2026-10-12: "black theme should have black sidebar and + all the others have the old style where its a bit darker than the bg + shadow", and "only show + border on the sidebar if bg and secondary color is black, since then shadows dont work, otherwise + shadow works as a border"). The open sidebar's edge is a hairline only when both grounds are + black, else a shadow (lighter on light themes), `lib/sidebarLook.ts`, following theme changes. +- **One even step** (owner, 2026-10-12, of `2026-10-12-sidebar-steps.html` in the research mockups: + a fixed mix toward black was "too heavy" on some themes and "too light" on others, it "should + follow a general scheme"; Medium step: "yes thats good"). Unpicked, the secondary colour is the + terminal's ground 0.045 darker in OKLab lightness, hue kept, chroma shrunk with the lightness + (`lib/sidebarGround.ts`); a black ground (luminance under 0.0045) keeps its black. The sidebar's + names are held to 7:1 and its folder lines to 4.5:1, on the sidebar AND on the accent pill + (`--p-side-text`, `--p-side-dim`): the pale themes' soft inks had fallen under that ("very light + themes have bad contrast ratios"). Every name wears the one ink; the pill marks the tab in front. +- **The app's name at the top** (owner, 2026-10-12: "a prism terminal logo and text could look nice up + there, keep it the default app icon, not a css version"): the icon PNG and "Prism Terminal" above + Find a tab; with no title bar it is the band that moves the window. `assets/app-icon.png` was still + the icon from before #136 (About showed it too); it is now the current badge. +- **The mark in the accent** (owner, 2026-10-12: "use this for the sidebar logo. it has svgs white + black, use the best one, it should adapt to the accent color. use also this on that startup page"): + the one-colour shapes (`build/icon-mark.svg`, the owner's file) drawn by `components/AppMark.tsx` + in `--p-accent-solid`, at the sidebar's top and on the start screen. +- **Saves wear the accent, white on a strong colour** (owner, 2026-10-12: Save "doesnt follow the + accent color"; "the text colour should shift to white"). A picked accent the ground cannot show is + lifted by OKLab lightness, keeping its hue (`lib/oklab.ts`): mixed with white, a picked #140707 had + turned a pink grey. Where white comes close on the accent, the accent goes a shade deeper until + white reads at 4.5:1, as far as the ground still shows it. +- **Show title bar is gone** (owner, 2026-10-12: with vertical tabs "I want it to be exactly as it + is when the title bar is dropped down on the don't show title bar version ... dropped down all the + time", since a bar across the top "pushes the side bar content down"; with the tabs along the top + "exactly as it is with no title bar"). The bar beside the sidebar sits IN the column above the + terminal rather than over it, so the terminal's top rows stay in sight; collapsed, it spans the + window and the slid-out sidebar lies over its left end. The pop-out bar, its reveal zone and the + sidebar-edge store went with it; the app's name above Find a tab is the sidebar's drag band. +- **Slid out, still one surface** (owner, 2026-10-12: "it doesn't seem like it connects with the + title bar"): the sidebar's shadow is clipped to below the bar (a polygon clip), and a curved corner + joins it to the bar's end, as the open sidebar's terminal is cut round. +- **See-through, one coat everywhere** (owner, 2026-10-12: "not everything is see-through. Like the + title bar is not"): the body under the sidebar, the bar and the terminal painted the secondary + colour too, and the terminal's column a second ground, so each read nearly solid. Now each surface + paints once (the cut corner's outside is its own small piece). Collapsed, the sidebar is solid + (`--p-secondary-solid`): "that sidebar should not be see-through ... you can see the content + underneath"; pinned open it is see-through. +- **Over glass, no edge and a clean corner** (owner, 2026-10-12: "the corner here on the transparent + looks pretty bad and there's also a border"). Under See-through the open sidebar draws neither + shadow nor line (`sidebarLook` 'none'): a shadow over a see-through terminal is a dark band. The + terminal's corner is cut by a mask that is the exact inverse of the corner piece (`CORNER_CUT`), + one full layer with the piece's shape excluded: a border-radius clip beside a gradient left a dark + arc, and tiled mask layers a hairline seam. +- **The edge drawn once, on the terminal** (owner, 2026-10-12: "only black themes should have + borders on the sidebar, the rest will use shadows"; the corner looked darker because "two shadow + layers overlapping from the title bar and from the sidebar"; "the sidebar border should not go + all the way up. It should only go up to the title bar border so they can connect there"). App's + `data-term-edge` lies over the terminal from the bar down: on black (both grounds) a hairline + along its top and, beside the open sidebar, its left, rounded through the corner; elsewhere one + inset shadow the same way. The open sidebar draws no edge. Slid out on black, the collapsed + sidebar draws its line from the bar down and its corner carries the line into the bar's. + See-through follows the same rule (the earlier 'none' over glass is gone). +- **The sidebar's width on whole screen pixels** (owner, 2026-10-12, under See-through: "the sidebar + border is still there"). A line ran the full height between the sidebar and the bar: at 225 % a + 235 px sidebar ends at screen pixel 528.75, both see-through surfaces half-cover that pixel and the + desktop shows through. The painted body had hidden it. The width is rounded to whole screen pixels + (`lib/devicePixels.ts`); the `verticalTabs` e2e zooms to a scale that is not whole and checks it. +- **One line on every theme, by Panel edges** (owner, 2026-10-12, reversing the shadows: "give all + themes that border that black themes use, i revert my thoughts on it, just make sure it follows + the setting for edges"). `components/TermEdge.tsx` draws the terminal's top and, beside the open + sidebar, its left and cut corner in `--p-divider`, so None hides it and Solid strengthens it; the + slid-out sidebar draws its line from the bar down and its corner curves it into the bar's. The + shadows (the inset one gathered darker in the corner; a distance-drawn one fixed that) and + `lib/sidebarLook.ts` are gone. The slid-out sidebar also lies above the page beside it (`z-30`): + Settings' search icon showed through it. `z-30` alone tied with Settings' own raised search (also + `z-30`, later in the page), so the page's column is `isolate`d: nothing inside it rises above the + sidebar. The `verticalTabs` e2e slides the sidebar out over Settings and checks the icon is under it. +- **The app's name in the bar, the sidebar under it** (owner, 2026-10-12: "make this part of the + title bar instead of the sidebar, and make sure that when the sidebar in unpinned mode doesnt + overlay over it ... the sidebar should probably start under it ... the border should look the + same with it curving on the sidebar into the title bar"). The bar spans the window: the mark and + "Prism Terminal" at its left, the window's buttons at its right, the whole of it the drag handle. + The sidebar, pinned or slid out, starts below it; the terminal's line runs along the bar's foot, + round the corner and down the sidebar's edge, and the slid-out sidebar covers the line where it + lies over the terminal and curves into it at its corner. +- **The slid-out sidebar is the window's acrylic** (owner, 2026-10-12: "on seethrough the unpinned + sidebar should be seethrough, make sure its acrylic like the rest not just see through"; before, + it went solid). It wears the window's tint, and the page under it is cut away (a mask on the + page's column moved right by `--p-sidebar-cover`, on the sidebar's own slide), so only the + window's own acrylic lies beneath. CSS `backdrop-filter` was tried and does NOTHING in a + see-through window (measured in the e2e window: a test box blurred the terminal with See-through + off and not at all with it on); the dialogs' backdrop blur is the same, so it only shows on a + solid window. `--p-secondary-solid` is gone. The cut also takes the shape of the sidebar's curved corner piece beyond + its edge (`exclude`, `--p-sidebar-corner`): under that piece the terminal was a second coat, a + darker square in the corner (owner: "we get the shadow issue again in that corner"). +- **One curve for both sides of the corner** (owner, 2026-10-12: "a weird border, its square darker + and not following the curve"). `lib/cornerShapes.ts`: the terminal's cut (pinned at its top-left, + slid-out moved right by the sidebar's width) and the corner piece filling the outside are masks + from the SAME SVG path, one the inverse of the other. A small radial mask layer over a full one + sampled half clear at its own edges and drew a square line round the corner; a border-radius + beside a gradient never quite matched. The e2e lays a light striped desktop behind the page for + its corner shots, since the parked window's black hides a second coat. + ## 2. The indicators - **Vertical tabs have no new look for the indicators** (owner: "vertical tabs shouldnt have a new @@ -99,5 +259,5 @@ looked at on the way). - The sidebar on the RIGHT side (#162 lists it as a choice). Not asked for in the 2026-10-11 session; a follow-up if wanted. -- A key to toggle the sidebar. Ctrl+B is Claude Code's own (background a task), so none is taken. +- ~~A key to toggle the sidebar~~: added 2026-10-12, see below. - Ctrl+Tab, Most recent and Ctrl+1..9 are unchanged: they act on the tab list, whatever its shape. diff --git a/docs/two-apps.md b/docs/two-apps.md index c8790410..6a34ac77 100644 --- a/docs/two-apps.md +++ b/docs/two-apps.md @@ -189,14 +189,15 @@ so an update never silently changes what an existing user sees; the bridge to ma core takes over from the browser needs the same: returning false is not cancelling. The `paste` e2e counts what reached the shell for Ctrl+V, Ctrl+Shift+V and the right-click Paste (it failed with 2 copies before the fix). -- **THE TITLE BAR CAN BE HIDDEN** (#91; owner, 2026-09-28: "add a no title bar option for pt in - appearance as well, not theme related", and of the shapes offered, "tabs in the top row"). - Settings > Appearance > Show title bar (`title-bar`, `prism.window.titleBar`, `lib/titleBarPrefs.ts`), - above the theme wall, a SWITCH since #134 over the same stored values: on is **Shown** (the - DEFAULT, the window as it was), off is **Hidden**: one row, the - tab strip (`inTitleRow`) with `TitleButtons` (chip, help, cog, window buttons) at its end, the - strip's empty space the drag handle; with no tabs the row is the handle and the buttons. This - app's row. The `titleBar` e2e measures both and the start screen. +- **NO TITLE BAR OF ITS OWN** (#91, then #162; owner, 2026-10-12, removing Show title bar: with + the tabs along the top "exactly as it is with no title bar"; with vertical tabs the dropped-down + bar "dropped down all the time", never a bar that "pushes the side bar content down"). Tabs along + the top: one row, the tab strip (`inTitleRow`) with `TitleButtons` (chip, help, cog, window + buttons) at its end, the strip's empty space the drag handle; with no tabs the row is the handle + and the buttons. Vertical tabs: the sidebar runs from the window's top, and a bar + (`data-title-bar="beside"`) from its edge to the right holds `TitleButtons`, the terminal below + it. There is no setting; a stored `prism.window.titleBar` is ignored. The `titleBar` and + `verticalTabs` e2e measure both and the start screen. This app's row. - **EVERY TAB IS ONE WIDTH** (owner, 2026-09-21: "make tabs in both apps have a fixed size, and not dynamically adjust based on the content"). A tab was as wide as its label, up to 14rem, so a folder with a long name shoved every tab after it sideways and the close button was never in @@ -213,6 +214,11 @@ so an update never silently changes what an existing user sees; the bridge to ma label sizes the tab, capped at 14rem, shrinking only when out of room) or **Fixed** (the above). This app's row, in the `options` e2e's own list; `tabWidth` measures both and that the row is first. Prism has the same row at the top of its Style page. + **THE SETTING IS GONE AGAIN, FIXED ONLY** (owner, 2026-10-12: "remove the dynamic and fixed tab + option and have it just be fixed and that dynamic scrapped from the code"): no row, no + `lib/tabWidthPrefs.ts`, a stored `prism.window.tabWidth` ignored; `tabWidth` measures one width. + The same day every Classic tab got the faint line at its right, the last one too ("if every tab + just had a right border that would solve both issues"); `tabStyle` counts one per tab. - **PITCH AND CINDER ARE THE APP ICON'S COLOURS** (owner, same day: "two themes that match the app icon colour scheme, one with orange and black, and one with orange and dark grey"; "change a couple is better"). Orange `#ec9448` for the cursor AND the chrome accent, on black (Pitch) and @@ -323,7 +329,7 @@ so an update never silently changes what an existing user sees; the bridge to ma - **WHAT NO THEME OWNS SITS ABOVE THE THEME WALL** (owner, 2026-09-28: font and font size "should transcend" the theme's save, "so changing a theme should not reset the font and font size or if you use a minimal or full agent indicator, or edges. those options should be above the themes"). - Since #134 Appearance runs: the Window section (Tab width, Show title bar, Panel edges), then the + Since #134 Appearance runs: the Window section (Tab position, Tab width, Tab style, Tab switching, Panel edges), then the Theme section (the theme row with Save changes, the wall, what a theme SETS: See-through window, Background, Accent; the see-through row right under the wall since #156, as in Prism). The font and its size are Terminal's Text section; the indicator and the agent colours are on Agents, where Mark colours carries the SAME Save changes (both save the whole setup and diff --git a/package-lock.json b/package-lock.json index 0c7b6e0d..e6979cf6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "prism-terminal", - "version": "0.39.6", + "version": "0.39.32", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "prism-terminal", - "version": "0.39.6", + "version": "0.39.32", "license": "MIT", "dependencies": { "@xterm/addon-fit": "^0.11.0", diff --git a/package.json b/package.json index 2c9cd91f..6061189c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "prism-terminal", "productName": "Prism Terminal", - "version": "0.39.6", + "version": "0.39.32", "description": "A tabbed Windows terminal for AI CLIs.", "main": "./out/main/index.js", "author": "Max", diff --git a/src/main/edgeWatch.ts b/src/main/edgeWatch.ts index a366bcf3..f338ea84 100644 --- a/src/main/edgeWatch.ts +++ b/src/main/edgeWatch.ts @@ -42,7 +42,11 @@ export function edgeNear(cursor: Point, content: Rectangle, zone = EDGE): EdgeNe } } -/** Poll while asked; tell the page only when top or left changes. */ +/** Poll while asked; tell the page whenever the cursor moves. The page decides + * from it (lib/revealZones), because over a drag region (the dropped bar, the + * sidebar's grab strip) a press is Windows', so the page hears no pointer + * move there at all and took the pointer for gone (owner, 2026-10-11: "my + * cursor can be on the titlebar and its disappearing"). */ export function createEdgeWatch( win: () => BrowserWindow | null, cursor: () => Point, @@ -54,7 +58,7 @@ export function createEdgeWatch( const w = win() if (!w || w.isDestroyed() || w.isMinimized() || !w.isVisible()) return const near = edgeNear(cursor(), w.getContentBounds()) - const key = `${near.top}|${near.left}|${near.top ? Math.round(near.x / 8) : ''}` + const key = `${Math.round(near.x)}|${Math.round(near.y)}` if (key === last) return last = key send(near) diff --git a/src/main/index.ts b/src/main/index.ts index d78434ab..3c2e5062 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -660,7 +660,16 @@ function wireIpc(): void { // hidden title bar and the collapsed sidebar ask for it only while they exist. const edgeWatch = createEdgeWatch( () => mainWindow, - () => screen.getCursorScreenPoint(), + // Under --e2e the cursor is the suite's (`__e2eCursor`, a point in the + // content), never the owner's real one: the parked window is far away. + () => { + const fake = (globalThis as { __e2eCursor?: { x: number; y: number } }).__e2eCursor + if (E2E) { + const c = mainWindow?.getContentBounds() + return fake && c ? { x: c.x + fake.x, y: c.y + fake.y } : { x: -100000, y: -100000 } + } + return screen.getCursorScreenPoint() + }, (near) => mainWindow?.webContents.send('window:edge-near', near) ) ipcMain.on('window:edge-watch', (_e, on: unknown) => edgeWatch.set(on === true)) diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx index 1e9fc730..35a39172 100644 --- a/src/renderer/src/App.tsx +++ b/src/renderer/src/App.tsx @@ -1,4 +1,14 @@ -import { lazy, Suspense, useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore, type JSX } from 'react' +import { + lazy, + Suspense, + useCallback, + useEffect, + useMemo, + useRef, + useState, + useSyncExternalStore, + type JSX +} from 'react' import type { AgentKind, DetectedAgent } from '@shared/types' import TerminalPanel, { disposeTermSession, @@ -12,13 +22,24 @@ import TerminalPanel, { import TermFind from '@core/renderer/components/TermFind' import { TabStrip } from './components/TabStrip' import { TabSidebar } from './components/TabSidebar' -import { useTabLayout } from './lib/tabLayoutPrefs' -import { useSidebarMode, useSidebarWidth } from './lib/sidebarPrefs' -import { HoverTitleBar } from './components/HoverTitleBar' -import TitleBar, { AppButtons, TitleButtons, WindowButtons } from './components/TitleBar' -import { useTitleBarMode } from './lib/titleBarPrefs' +import { tabLayout, useTabLayout } from './lib/tabLayoutPrefs' +import { isSidebarChord, toggleSidebar, useSidebarMode } from './lib/sidebarPrefs' +import { isFindTabChord } from './lib/sidebarRows' +import { TitleButtons } from './components/TitleBar' +import { TermEdge } from './components/TermEdge' +import { AppMark } from './components/AppMark' +import { INSIDE_CORNER, INSIDE_SIZE, OUTSIDE_CORNER } from './lib/cornerShapes' import { tabSwitch } from './lib/tabSwitchPrefs' -import { startWalk, stepWalk, syncMru, touchMru, walkHolds, walkTarget, type Mru, type Walk } from './lib/tabMru' +import { + startWalk, + stepWalk, + syncMru, + touchMru, + walkHolds, + walkTarget, + type Mru, + type Walk +} from './lib/tabMru' import EmptyState from './components/EmptyState' import type { SettingsPage } from './components/settings/Settings' import { Dialog } from './components/Dialog' @@ -74,8 +95,14 @@ import { applyChrome, chromeTokens } from './lib/chromeTheme' import { onWindowEdgesChange, windowEdges } from './lib/edgesPrefs' import { onWindowAccentChange, windowAccent } from './lib/accentPrefs' import { onWindowBackgroundChange, windowBackground } from './lib/backgroundPrefs' +import { onWindowSecondaryChange, windowSecondary } from './lib/secondaryPrefs' import { attentionCount, drawBadge, useTaskbarBadgeOn } from './lib/taskbarBadge' -import { agentHooksOn, useAgentDoneOn, useAgentFailedOn, useAgentQuestionOn } from '@core/renderer/lib/termLook' +import { + agentHooksOn, + useAgentDoneOn, + useAgentFailedOn, + useAgentQuestionOn +} from '@core/renderer/lib/termLook' const Settings = lazy(() => import('./components/settings/Settings')) // Loaded when it is first opened: the popup brings the whole catalogue with it, @@ -121,7 +148,8 @@ function paintChrome(): void { acrylic ? termGroundAlpha() : 1, presetAccent(id), edges, - windowAccent() + windowAccent(), + windowSecondary() ) applyChrome(tokens) window.prism.setWindowBg(tokens.vars['--p-bg-solid']) @@ -129,6 +157,26 @@ function paintChrome(): void { void window.prism.setAcrylic(acrylic) } +/** The terminal's cut top-left corner, beside the open sidebar: the inside of + * the curve (lib/cornerShapes), the corner piece the outside. */ +const CORNER_CUT = { + maskImage: INSIDE_CORNER, + maskRepeat: 'no-repeat', + maskSize: INSIDE_SIZE, + maskPosition: '0 0' +} as const + +/** Under a collapsed sidebar slid out over it, the page is cut away (owner, + * 2026-10-12: the slid-out sidebar "acrylic like the rest"): the same shape, + * moved right by the sidebar's width (TabSidebar's --p-sidebar-cover) on the + * sidebar's own slide, so only the window's acrylic lies under its tint, and + * its corner piece fills the outside of the curve. */ +const COVER_CUT = { + ...CORNER_CUT, + maskPosition: 'var(--p-sidebar-cover, 0px) 0', + transition: 'mask-position 240ms cubic-bezier(.16,1,.3,1)' +} as const + export default function App(): JSX.Element { // TABS FROM THE FIRST FRAME (#106): the saved strip, read at once, drawn as // placeholders; the restore settles each when it answers (lib/restorePlan). @@ -159,16 +207,16 @@ export default function App(): JSX.Element { /** The chip it opens on, decided at the press that opens it. */ const [helpFor, setHelpFor] = useState('powershell') const helpOn = useHelpEnabled() - const titleBar = useTitleBarMode() // THE TABS DOWN THE SIDE (#162): the strip, or a sidebar. const vertical = useTabLayout() === 'vertical' - // NO TITLE BAR AT ALL (#162; owner, 2026-10-11): with the tabs down the side - // and the title bar off, command help and Settings move into the sidebar and - // the window buttons float at the top right. With no tab open there is no - // sidebar, so the window keeps #91's top row to be moved by. - const bare = vertical && titleBar === 'hidden' && state.tabs.length > 0 + // ONE WINDOW SHAPE PER TAB LAYOUT (owner, 2026-10-12, removing Show title + // bar: with vertical tabs the look of the dropped-down bar, "but I want it to + // be dropped down all the time", never a bar across the top that "pushes the + // side bar content down"; with the tabs along the top, "exactly as it is with + // no title bar"). With no tab open there is no sidebar, so the window keeps + // the top row (#91) to be moved by. + const beside = vertical && state.tabs.length > 0 const sidebarOpen = useSidebarMode() === 'open' - const sidebarWidth = useSidebarWidth() /** Which shell each tab was SPAWNED with. The Shell setting only names what * the next terminal launches, so a tab opened before it was changed still * speaks its old language, and the popup preselects by what is running. */ @@ -207,7 +255,8 @@ export default function App(): JSX.Element { // nothing, and with the setting off it listens to nothing. useDictationArm(activeShell ? activeShell.id : null) const findOpen = !!activeShell && findFor === activeShell.id - const { agentIds, workingIds, doneIds, questionIds, failedIds, failedKinds, agentKinds } = indicator + const { agentIds, workingIds, doneIds, questionIds, failedIds, failedKinds, agentKinds } = + indicator // THE TIMELINE (#140): which tab is in front, and which Settings page, as // crumbs, so a stall in the log says what the user had just done. @@ -225,7 +274,13 @@ export default function App(): JSX.Element { // Refs, not state: nothing is drawn from them, and the key listener is // registered once. Not persisted: at launch the list is the tab in front, // then the strip. - const mru = useRef(syncMru([], boot.state.tabs.map((t) => t.id), boot.state.activeId)) + const mru = useRef( + syncMru( + [], + boot.state.tabs.map((t) => t.id), + boot.state.activeId + ) + ) const walk = useRef(null) /** The hold ended (Ctrl released, the window left, another chord): only * now does the tab landed on move to the front, so repeated presses walk @@ -246,7 +301,15 @@ export default function App(): JSX.Element { // on another tab while Ctrl is still down, or a tab opened or closed under // it. Then the activation is a use at once, as it is outside a hold (a // click, Ctrl+1..9, a new tab, a close handing over). - if (walk.current && !walkHolds(walk.current, tabs.map((t) => t.id), activeId)) walk.current = null + if ( + walk.current && + !walkHolds( + walk.current, + tabs.map((t) => t.id), + activeId + ) + ) + walk.current = null if (!walk.current && activeId) mru.current = touchMru(mru.current, activeId) }, [tabs, activeId]) useEffect(() => { @@ -270,7 +333,9 @@ export default function App(): JSX.Element { const offEdges = onWindowEdgesChange(paintChrome) const offAccent = onWindowAccentChange(paintChrome) const offBackground = onWindowBackgroundChange(paintChrome) + const offSecondary = onWindowSecondaryChange(paintChrome) return () => { + offSecondary() offBackground() offLook() offEdges() @@ -526,7 +591,8 @@ export default function App(): JSX.Element { window.prism.tabsChanged({ tabs: shells.map((t) => { const kind = agentIds.has(t.id) ? agentKinds.current.get(t.id) : undefined - const agent: AgentKind | undefined = kind === 'claude' || kind === 'codex' ? kind : undefined + const agent: AgentKind | undefined = + kind === 'claude' || kind === 'codex' ? kind : undefined return agent ? { cwd: t.cwd, agent } : { cwd: t.cwd } }), active: Math.max( @@ -546,7 +612,15 @@ export default function App(): JSX.Element { const doneOn = useAgentDoneOn() const questionOn = useAgentQuestionOn() const failedOn = useAgentFailedOn() - const need = attentionCount({ doneIds, questionIds, workingIds, doneOn, questionOn, failedIds, failedOn }) + const need = attentionCount({ + doneIds, + questionIds, + workingIds, + doneOn, + questionOn, + failedIds, + failedOn + }) useEffect(() => { if (!badgeOn || need.count === 0) { window.prism.setTaskbarBadge(null, '') @@ -560,7 +634,8 @@ export default function App(): JSX.Element { // Whatever a tab interaction did to DOM focus, the shell in front gets the // keyboard back: clicking or dragging a tab is not "I left the shell". useEffect(() => { - if (activeShell && !ask && !findOpen && !update.state.open && !helpOpen) focusTermSession(activeShell.id) + if (activeShell && !ask && !findOpen && !update.state.open && !helpOpen) + focusTermSession(activeShell.id) }, [activeShell, ask, findOpen, update.state.open, helpOpen]) useEffect(() => { @@ -595,7 +670,8 @@ export default function App(): JSX.Element { // meant for the question went there. They do nothing until it is // answered; Ctrl+W keeps its own rule. if (live.current.blocked && k !== 'w') { - if (e.key === 'Tab' || /^[1-9]$/.test(e.key) || e.key === ',' || k === 't' || k === 'f') hit() + if (e.key === 'Tab' || /^[1-9]$/.test(e.key) || e.key === ',' || k === 't' || k === 'f') + hit() return } if (e.key === 'Tab') { @@ -626,6 +702,14 @@ export default function App(): JSX.Element { } else if (!e.shiftKey && e.key === ',') { hit() setState(openSettings) + } else if (isFindTabChord(e) && tabLayout() === 'vertical') { + // FIND A TAB (#162): the sidebar's find box. + hit() + window.dispatchEvent(new Event('prism:find-tab')) + } else if (isSidebarChord(e) && tabLayout() === 'vertical') { + // THE SIDEBAR (#162): open, or collapsed to the left edge. + hit() + toggleSidebar() } else if (k === 't') { // With or without shift: Ctrl+T is the chord, Ctrl+Shift+T the habit // Windows Terminal leaves in the hand. @@ -686,11 +770,15 @@ export default function App(): JSX.Element { onPick: (id: string) => setState((s) => pickTab(s, id)), onClose: requestClose, onNew: () => void newTab(), - onDropFolder: (path: string) => void window.prism.folderOf(path).then((dir) => dir && openTab(dir)), - onReorder: (id: string, to: number) => setState((s) => ({ ...s, tabs: reorderTabs(s.tabs, id, to) })), + onDropFolder: (path: string) => + void window.prism.folderOf(path).then((dir) => dir && openTab(dir)), + onReorder: (id: string, to: number) => + setState((s) => ({ ...s, tabs: reorderTabs(s.tabs, id, to) })), onOpenRecent: openRecent } - const strip = (inTitleRow: boolean): JSX.Element => + const strip = (inTitleRow: boolean): JSX.Element => ( + + ) return (
{/* NO TITLE BAR (#91, owner's pick "tabs in the top row"): the tabs @@ -698,10 +786,7 @@ export default function App(): JSX.Element { The strip's own empty space is the handle the window moves by; with no tabs (the start screen) the row is only that handle and the buttons. */} - {bare ? null : vertical && titleBar === 'shown' ? ( - // VERTICAL (#162): the title bar of its own, the tabs in the sidebar. - - ) : titleBar === 'hidden' ? ( + {beside ? null : (
- ) : ( - <> - - {tabs.length > 0 && strip(false)} - )} -
- {vertical && ( - : undefined} - /> + {/* ONE SURFACE, THE TERMINAL SET INTO IT (owner, 2026-10-12: "the + corners of the sidebar and titlebar should connect like this where + its rounded making it seem like they merge together"): the sidebar + and the bar wear the secondary colour, and the terminal is cut round + at its top left, where the bar and the open sidebar meet. The body + itself paints nothing: under See-through a coat here doubled the + sidebar, the bar and the terminal over it (owner, 2026-10-12: "not + everything is see-through ... the title bar is not"). */} + {/* THE BAR ACROSS THE TOP, with vertical tabs (owner, 2026-10-12: the + app's name "part of the title bar instead of the sidebar", the + sidebar starting under it, pinned or slid out, so it never covers the + bar): the app's mark and name at its left, the window's buttons at + its right, the handle the window moves by. The sidebar's colour, so + the two read as one surface. */} + {beside && ( +
+
+ + + Prism Terminal + +
+ +
+ +
+
)} -
-
{ - if (!activeShell || !e.dataTransfer.types.includes('Files')) return - e.preventDefault() - e.dataTransfer.dropEffect = 'copy' - }} - onDrop={(e) => { - if (!activeShell) return - e.preventDefault() - e.stopPropagation() - const paths = [...e.dataTransfer.files] - .map((f) => window.prism.getDroppedPath(f)) - .filter((path) => path.length > 0) - if (!paths.length) return - markTouched(activeShell.id) // input like any other: its echo is not the agent working - // Quoted for the shell the tab runs (#5): PowerShell expands inside "...". - window.prism.termInput(activeShell.id, quotePaths(paths, shellOfShellId(shellIds.current.get(activeShell.id)))) - focusTermSession(activeShell.id) - }} - onContextMenu={(e) => { - if (!activeShell || !(e.target as HTMLElement).closest('[data-term-region]')) return - e.preventDefault() - setTermMenu({ id: activeShell.id, x: e.clientX, y: e.clientY, ...termContextAt(activeShell.id, e.clientX, e.clientY) }) - }} - > - {/* A placeholder (#106): the skeleton for a tab coming back to an agent, +
+ {vertical && } + {/* ISOLATED: the page's own raised pieces (Settings' search sits at + z-30) stay inside it, under a sidebar that slides out over it + (owner, 2026-10-12: the search icon showed through). */} +
+ {/* The cut corner's outside, in the secondary colour: one coat + where the terminal is clipped round, nothing anywhere else. Its + curve is the exact inverse of the terminal's (CORNER_CUT), so + every edge pixel is covered once between them: a border-radius + clip beside a gradient overlapped on the edge and drew a dark + arc under See-through (owner, 2026-10-12: "the corner here on the + transparent looks pretty bad"). */} + {beside && sidebarOpen && ( + + )} + {/* The terminal's edge, one line (TermEdge), drawn once over it, + never clipped by its corner cut. */} + {beside && } +
+
{ + if (!activeShell || !e.dataTransfer.types.includes('Files')) return + e.preventDefault() + e.dataTransfer.dropEffect = 'copy' + }} + onDrop={(e) => { + if (!activeShell) return + e.preventDefault() + e.stopPropagation() + const paths = [...e.dataTransfer.files] + .map((f) => window.prism.getDroppedPath(f)) + .filter((path) => path.length > 0) + if (!paths.length) return + markTouched(activeShell.id) // input like any other: its echo is not the agent working + // Quoted for the shell the tab runs (#5): PowerShell expands inside "...". + window.prism.termInput( + activeShell.id, + quotePaths(paths, shellOfShellId(shellIds.current.get(activeShell.id))) + ) + focusTermSession(activeShell.id) + }} + onContextMenu={(e) => { + if (!activeShell || !(e.target as HTMLElement).closest('[data-term-region]')) return + e.preventDefault() + setTermMenu({ + id: activeShell.id, + x: e.clientX, + y: e.clientY, + ...termContextAt(activeShell.id, e.clientX, e.clientY) + }) + }} + > + {/* A placeholder (#106): the skeleton for a tab coming back to an agent, the bare ground for a plain shell, until the restore settles it. */} - {active?.pending === 'agent' && ( -
- -
- )} - {active?.pending === 'shell' &&
} - {activeShell && ( - - )} - - {/* "Copied", at the bottom centre, for every copy the app makes. */} - - {activeShell && findOpen && ( - setFindFor(null)} /> - )} - {/* The terminal paints its own ground (a second coat of a translucent + {active?.pending === 'agent' && ( +
+ +
+ )} + {active?.pending === 'shell' &&
} + {activeShell && ( + + )} + + {/* "Copied", at the bottom centre, for every copy the app makes. */} + + {activeShell && findOpen && ( + setFindFor(null)} /> + )} + {/* The terminal paints its own ground (a second coat of a translucent --p-bg behind it reads darker than the rest of the window); the pages that are not a terminal paint theirs here, except Settings: its frame paints its own, and a coat here too made the page 92% solid under See-through (owner, 2026-10-11). */} - {active?.kind === 'settings' && ( -
- - - -
- )} - {!active && restoreDone && ( -
- void newTab()} - onOpenFolder={openRecent} - onSettings={() => setState(openSettings)} - /> + {active?.kind === 'settings' && ( +
+ + + +
+ )} + {!active && restoreDone && ( +
+ void newTab()} + onOpenFolder={openRecent} + onSettings={() => setState(openSettings)} + /> +
+ )} +
- )} -
-
+
- {/* THE TITLE BAR THAT POPS OUT (owner, 2026-10-11: "a pop out title bar - is best actually we just need to do it well ... like zen browser's - title bar ... when the sidebar is open the titlebar drops down but - only from the sidebar edge and all the way to the right"). With the - tabs down the side and the title bar off, the terminal has the whole - height ("the titlebar area is usable for content"); the bar drops - over it at the top edge with the window's buttons, and moves the - window while it is down. */} - {bare && ( - - {chip} -
- -
-
- )} {termMenu && activeShell && termMenu.id === activeShell.id && ( , onPick: () => openTermPath(termMenu.id, termMenu.path!, 'open') }, - { label: 'Show in Explorer', icon: , onPick: () => openTermPath(termMenu.id, termMenu.path!, 'reveal') }, - { label: 'Copy path', icon: , onPick: () => void copyText(termMenu.path!.abs) } + { + label: 'Show in Explorer', + icon: , + onPick: () => openTermPath(termMenu.id, termMenu.path!, 'reveal') + }, + { + label: 'Copy path', + icon: , + onPick: () => void copyText(termMenu.path!.abs) + } ] : []), ...(termMenu.link ? [ - { label: 'Copy link', icon: , onPick: () => void copyText(termMenu.link!) }, + { + label: 'Copy link', + icon: , + onPick: () => void copyText(termMenu.link!) + }, // A right-click never opens it (2026-09-28), so the menu does. - { label: 'Open link', icon: , onPick: () => window.prism.openExternal(termMenu.link!) } + { + label: 'Open link', + icon: , + onPick: () => window.prism.openExternal(termMenu.link!) + } ] : []), ...(termMenu.selection - ? [{ label: 'Copy', icon: , hint: 'Ctrl+C', onPick: () => void copyText(termMenu.selection) }] + ? [ + { + label: 'Copy', + icon: , + hint: 'Ctrl+C', + onPick: () => void copyText(termMenu.selection) + } + ] : []), // Paste through the terminal's own rule (an image forwards the // keystroke to the agent, files become quoted paths, text is a // bracketed paste). - { label: 'Paste', icon: , hint: 'Ctrl+V', onPick: () => void pasteInto(activeShell.id) }, - { label: 'Find in scrollback', icon: , hint: 'Ctrl+F', onPick: () => setFindFor(activeShell.id) }, + { + label: 'Paste', + icon: , + hint: 'Ctrl+V', + onPick: () => void pasteInto(activeShell.id) + }, + { + label: 'Find in scrollback', + icon: , + hint: 'Ctrl+F', + onPick: () => setFindFor(activeShell.id) + }, // Only while the setting is on: off means the app offers it nowhere. - ...(helpOn ? [{ label: 'Command help', icon: , hint: 'F1', onPick: toggleHelp }] : []) + ...(helpOn + ? [ + { + label: 'Command help', + icon: , + hint: 'F1', + onPick: toggleHelp + } + ] + : []) ]} /> )} diff --git a/src/renderer/src/assets/app-icon.png b/src/renderer/src/assets/app-icon.png index 8f30b802..01a40021 100644 Binary files a/src/renderer/src/assets/app-icon.png and b/src/renderer/src/assets/app-icon.png differ diff --git a/src/renderer/src/components/AppMark.tsx b/src/renderer/src/components/AppMark.tsx new file mode 100644 index 00000000..f34005c1 --- /dev/null +++ b/src/renderer/src/components/AppMark.tsx @@ -0,0 +1,28 @@ +import type { JSX } from 'react' + +/** + * THE APP'S MARK IN ONE COLOUR, the accent's (owner, 2026-10-12: "use this for + * the sidebar logo. it has svgs white black, use the best one, it should + * adapt to the accent color. use also this on that startup page"). The two + * shapes of the app icon, exactly as `build/icon-mark.svg` draws them (the + * owner's own file, white and black in one colour, the rainbow ones fixed in + * theirs), filled with `currentColor`. The viewBox is the shapes' square + * around their middle, so the mark sits centred in its box. + */ +export function AppMark({ size, className }: { size: number; className?: string }): JSX.Element { + return ( + + + + + ) +} diff --git a/src/renderer/src/components/EmptyState.tsx b/src/renderer/src/components/EmptyState.tsx index 678b395b..fa1f0ad1 100644 --- a/src/renderer/src/components/EmptyState.tsx +++ b/src/renderer/src/components/EmptyState.tsx @@ -1,5 +1,6 @@ import { useEffect, useState, type JSX, type ReactNode } from 'react' import { pinnedRoots, plusMenuList, recentRoots } from '@core/renderer/lib/recentRoots' +import { AppMark } from './AppMark' /** * The start screen: the window with no tab open (owner, 2026-09-18, with @@ -37,12 +38,19 @@ const Glyph = ({ children }: { children: ReactNode }): JSX.Element => ( ) -const baseName = (p: string): string => p.split(/[\\/]+/).filter(Boolean).at(-1) ?? p +const baseName = (p: string): string => + p + .split(/[\\/]+/) + .filter(Boolean) + .at(-1) ?? p /** Where a folder lives, from its NEAR end: the last two folders above it. * A long path cut at its far end loses exactly the part that tells two * "api" apart; the whole path is the row's tooltip. */ function whereabouts(p: string): string { - const above = p.split(/[\\/]+/).filter(Boolean).slice(0, -1) + const above = p + .split(/[\\/]+/) + .filter(Boolean) + .slice(0, -1) const near = above.slice(-2).join('\\') return above.length > 2 ? `…\\${near}` : near } @@ -67,23 +75,9 @@ export default function EmptyState({ return (
- {/* The mark: the title bar's prompt, at the size of a front door. The - app icon proper replaces both when there is one. */} - - - - - + {/* The mark: the app's own, in the accent (owner, 2026-10-12: "use + also this on that startup page"). */} +

Prism Terminal

@@ -116,9 +110,7 @@ export default function EmptyState({ {whereabouts(p.path)} - {p.pinned && ( - Pinned - )} + {p.pinned && Pinned} ))}
diff --git a/src/renderer/src/components/HoverTitleBar.tsx b/src/renderer/src/components/HoverTitleBar.tsx deleted file mode 100644 index f81cf0e9..00000000 --- a/src/renderer/src/components/HoverTitleBar.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { useRef, type JSX, type ReactNode } from 'react' -import { REVEAL, useHoverReveal } from '../lib/hoverReveal' -import { useEdgeNear } from '../lib/edgeNear' - -/** - * THE TITLE BAR THAT IS NOT THERE (#162; owner, 2026-10-11): with the tabs in - * the sidebar and the title bar hidden, there is no top row at all. "the - * titlebar should be invisible, and only appear when your cursor is near the - * top since its only needed for the window adjustments and i guess settings - * and command help." So it slides down over the window while the pointer is at - * the top edge, holding only those buttons ("dont show this", the app's name, - * "in the hidden titlebar"), and goes again when the pointer leaves. - * - * `hold` keeps it down while something of its own is open (the update chip's - * notice). Out of sight it is no window handle and no stop for Tab: an element - * moved away can still claim the drag region and the keys. - */ -export function HoverTitleBar({ - children, - hold = false, - left = 0 -}: { - children: ReactNode - hold?: boolean - /** Where the bar starts: the open sidebar's edge, so it never covers the - * sidebar (owner, 2026-10-11: "dont have the titlebar go over the sidebar - * ... when the sidebar is collapsed then it can go across the whole thing"). */ - left?: number -}): JSX.Element { - const bar = useRef(null) - // Main's word too: over the resize border of a window that is not maximized - // the page hears nothing (edgeWatch.ts). - const edge = useEdgeNear(true) - const shown = useHoverReveal( - true, - (e) => { - if (e.clientX < left) return false - if (e.clientY <= REVEAL.top) return true - const box = bar.current?.getBoundingClientRect() - return !!box && box.bottom > 0 && e.clientY <= box.bottom - }, - hold || (edge.top && edge.x >= left) - ) - return ( -
- {children} -
- ) -} diff --git a/src/renderer/src/components/TabSidebar.tsx b/src/renderer/src/components/TabSidebar.tsx index f8b7ab1e..d721f73a 100644 --- a/src/renderer/src/components/TabSidebar.tsx +++ b/src/renderer/src/components/TabSidebar.tsx @@ -1,12 +1,4 @@ -import { - useEffect, - useRef, - useState, - type JSX, - type MouseEvent, - type PointerEvent, - type ReactNode -} from 'react' +import { useEffect, useRef, useState, type JSX, type MouseEvent, type PointerEvent } from 'react' import { tabLabels, type Tab } from '../lib/tabs' import { DictationTabMark } from '@core/renderer/components/DictationTabMark' import { TabMark } from '@core/renderer/components/TabMark' @@ -17,44 +9,25 @@ import { useTabMenus } from './tabMenus' import { useTabStyle } from '../lib/tabStylePrefs' import { sideEdgeClip, sideSegmentClip } from '../lib/promptGeometry' import { dropSlot, type Lane } from '../lib/tabDrop' -import { REVEAL, useHoverReveal } from '../lib/hoverReveal' -import { useEdgeNear } from '../lib/edgeNear' +import { useHoverReveal } from '../lib/hoverReveal' +import { useEdgeWants } from '../lib/edgeNear' +import { sideWants } from '../lib/revealZones' +import { findKeeps, folderLine } from '../lib/sidebarRows' +import { onDevicePixels, useDevicePixelRatio } from '../lib/devicePixels' +import { OUTSIDE_CORNER } from '../lib/cornerShapes' import { SIDEBAR_WIDTH, - setSidebarMode, setSidebarWidth, useSidebarMode, useSidebarWidth } from '../lib/sidebarPrefs' +/** The bar across the window's top (App's `data-title-bar="beside"`, h-9). */ +const BAR_H = 36 /** How far the pointer must travel before a press becomes a drag rather than * a click on the tab: the strip's own slop. */ const DRAG_SLOP = 4 -/** The sidebar's own button: a panel with its left column and a chevron, the - * way editors draw "collapse the sidebar" (owner, 2026-10-11: "not a normal - * pin ... like a collapse sidebar icon"). The chevron points the way it goes. */ -const PanelGlyph = ({ open }: { open: boolean }): JSX.Element => ( - - - - - -) - -const BTN = - 'no-drag grid h-[26px] w-7 shrink-0 place-items-center rounded text-[var(--p-icon)] transition-colors hover:bg-[var(--p-hover-hi)] hover:text-[var(--p-text)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--p-accent-hi)]' - /** * THE TABS AS A SIDEBAR (#162; owner, 2026-10-11): the strip's tabs, one row * each, down the window's left side. Everything a tab IS stays the strip's: @@ -86,9 +59,7 @@ export function TabSidebar({ onNew, onDropFolder, onReorder, - onOpenRecent, - titleRow, - headStart + onOpenRecent }: { tabs: Tab[] activeId: string | null @@ -106,9 +77,6 @@ export function TabSidebar({ onReorder: (id: string, toIndex: number) => void onOpenRecent: (path: string) => void /** The title bar is hidden: the sidebar starts at the window's top. */ - titleRow: boolean - /** Command help and Settings, at the foot, when there is no title bar. */ - headStart?: ReactNode }): JSX.Element | null { const prompt = useTabStyle() === 'prompt' const mode = useSidebarMode() @@ -125,37 +93,68 @@ export function TabSidebar({ }) const menu = useTabMenus({ onClose, onOpenRecent }) const nav = useRef(null) + // FIND A TAB (owner, 2026-10-12, of the sidebar looks mockup): typing keeps + // the rows whose name or folder has every word; Enter puts the first in + // front, Escape lets go. Ctrl+Shift+K (App) comes here. + const [query, setQuery] = useState('') + const [finding, setFinding] = useState(false) + const find = useRef(null) + useEffect(() => { + const go = (): void => find.current?.focus() + window.addEventListener('prism:find-tab', go) + return () => window.removeEventListener('prism:find-tab', go) + }, []) + // The user's own folder, for the folder line's `~`. Asked once. + const [home, setHome] = useState('') + useEffect(() => { + let live = true + void window.prism.homeDir().then((h) => { + if (live) setHome(h) + }) + return () => { + live = false + } + }, []) // A width being dragged lives here until the drag ends; only then is it stored. const [dragW, setDragW] = useState(null) - const width = dragW ?? storedWidth + // On a whole screen pixel, where it meets the bar and the terminal (lib/devicePixels). + const ratio = useDevicePixelRatio() + const width = onDevicePixels(dragW ?? storedWidth, ratio) const collapsed = mode === 'collapsed' - // Main's word too: the page hears nothing over the resize border (edgeWatch.ts). - const edge = useEdgeNear(collapsed) // COLLAPSED: shown while the pointer is at the window's left edge or on the - // sidebar itself, and held while one of its menus is open. + // sidebar itself, and held while one of its menus is open. One rule for the + // page's pointer and main's (lib/revealZones): over the grab strip at its + // top the page hears nothing, a press there being Windows', and the sidebar + // went away under the hand (owner, 2026-10-11: "if i have the cursor on the + // sidebar at the top of it it will disappear when im still on the sidebar"). + // Measured to where it COMES TO REST, never the half-slid box ("closes before + // my cursor is near the edge"): its stored width, not a rectangle. const shownNow = useRef(false) + // The sidebar starts under the bar across the window's top. + const top = BAR_H + const fromMain = useEdgeWants(collapsed, (p) => sideWants(p, shownNow.current, top, width)) const shown = useHoverReveal( collapsed, - (e) => { - const el = nav.current - if (!el) return false - // Its own height (under a title bar there is one). - const box = el.getBoundingClientRect() - if (e.clientY < box.top || e.clientY > box.bottom) return false - if (e.clientX <= REVEAL.left) return true - // ON IT once shown, measured to where it COMES TO REST, not where the - // slide has got to (owner, 2026-10-11: "the sidebar closes before my - // cursor is near the edge"): a pointer that outran the 260 ms slide was - // outside the half-drawn box, so it was put away under the hand. The - // layout width ignores the slide; a few pixels past the edge are its. - return shownNow.current && e.clientX <= el.offsetWidth + REVEAL.zone - }, - menu.open || dragW !== null || (edge.left && edge.y >= (titleRow ? 0 : 36)) // 36: the title bar's h-9 + (e) => sideWants({ x: e.clientX, y: e.clientY }, shownNow.current, top, width), + menu.open || dragW !== null || finding || fromMain ) useEffect(() => { shownNow.current = shown }, [shown]) const visible = !collapsed || shown + // How much of the page beside it a slid-out sidebar covers: App cuts that + // strip of the page away, so only the window's acrylic lies under it. + const cover = collapsed && visible && tabs.length > 0 ? width : 0 + useEffect(() => { + const root = document.documentElement.style + root.setProperty('--p-sidebar-cover', `${cover}px`) + }, [cover]) + useEffect( + () => () => { + document.documentElement.style.setProperty('--p-sidebar-cover', '0px') + }, + [] + ) // ---- Reorder: the strip's pointer drag, along y ---- const [dropAt, setDropAt] = useState(null) @@ -180,7 +179,7 @@ export function TabSidebar({ if (el && document.contains(el)) requestAnimationFrame(() => el.focus()) } const onRowDown = (e: PointerEvent, id: string, i: number): void => { - if (e.button !== 0) return + if (e.button !== 0 || query) return if ((e.target as HTMLElement).closest('[data-tab-close]')) return heldFocus.current = document.activeElement as HTMLElement | null // The lanes run down the column: `left` and `width` are a row's top and height. @@ -250,6 +249,10 @@ export function TabSidebar({ if (!tabs.length) return null const labels = tabLabels(tabs) + const kept = query + ? tabs.map((t, i) => findKeeps(query, labels[i], t.kind === 'settings' ? '' : t.cwd)) + : null + const firstKept = kept ? tabs.find((_, i) => kept[i]) : undefined const auxClose = (e: MouseEvent, id: string): void => { if (e.button === 1) { e.preventDefault() @@ -285,21 +288,112 @@ export function TabSidebar({ if (path) onDropFolder(path) } }} - className={`p-styled-font absolute inset-y-0 left-0 flex flex-col border-r border-[var(--p-divider)] bg-[var(--p-tabs)] text-[13px] ${ + // SLID OUT UNDER SEE-THROUGH, ACRYLIC LIKE THE REST (owner, + // 2026-10-12: "make sure its acrylic like the rest not just see + // through"): the window's tint over the window's own acrylic, the page + // under it cut away (App, --p-sidebar-cover) so the terminal's text + // never shows through. CSS backdrop blur does nothing in a see-through + // window (measured in the e2e window, 2026-10-12). It lies ABOVE the + // page beside it: Settings' search icon showed through (same day). + className={`p-styled-font absolute inset-y-0 left-0 z-30 flex flex-col bg-[var(--p-secondary)] text-[13px] ${ collapsed - ? 'transition-[left,box-shadow] duration-[240ms] [transition-timing-function:cubic-bezier(.16,1,.3,1)]' + ? 'transition-[left] duration-[240ms] [transition-timing-function:cubic-bezier(.16,1,.3,1)]' : '' - } ${collapsed && visible ? 'shadow-[14px_0_40px_-8px_rgba(0,0,0,.8)]' : ''} ${carry?.live ? 'cursor-grabbing [&_*]:cursor-grabbing' : ''}`} + } ${carry?.live ? 'cursor-grabbing [&_*]:cursor-grabbing' : ''}`} // Slid by its LEFT, never a transform: Windows is told where a drag // region is from the layout, and a transformed panel's grab strip was // reported where its slide started (measured, WM_NCHITTEST). - style={{ width, left: collapsed && !visible ? -(width + 16) : 0 }} + // OPEN, it draws no edge: the terminal's own (TermEdge) runs down its + // side and round the corner into the bar's. Clipped to itself, open to + // the right for its slid-out corner (below). + style={{ + width, + left: collapsed && !visible ? -(width + 16) : 0, + clipPath: 'inset(0 -60px 0 0)' + }} > - {/* A STRIP TO GRAB, above the tabs, when there is no title bar (owner, - 2026-10-11: "the tabs should start a bit further down on the - sidebar so that you can grab that area"). The pop-out bar's height, - so the two read as one top edge. */} - {titleRow &&
} + {/* SLID OUT, THE CORNER WHERE IT MEETS THE BAR: a quarter circle of + the shared colour under the bar's end, as the open sidebar's + terminal is cut round there, so the two read as one surface. */} + {collapsed && visible && ( + + {/* The fill, the sidebar's tint cut to the curve by a mask. */} + + {/* The line, round the curve into the bar's. */} + + + )} + {/* Slid out, its line: from the bar down, meeting the bar's line + through the corner above (owner, 2026-10-12: it "has no border ... + it has that when it's in static mode"), as Panel edges draws it. */} + {collapsed && visible && ( + + )} +
{tabs.map((t, i) => { const on = t.id === activeId const { failed, state, mark } = looks[i] const filled = mark.place === 'fill' && state !== null const ink = filled ? palette.ink[state] : undefined - const nameInk = - on || indicator === 'full' - ? 'text-[var(--p-text)]' - : 'text-[var(--p-dim)] hover:text-[var(--p-text)]' + // Every name in the sidebar's own ink, held to 7:1 (chromeTheme): + // the accent pill, not a dimmer name, says which tab is in front. + const nameInk = 'text-[var(--p-side-text)]' // The flat marks lie along the row's foot, as along a strip tab's; // under Powerline they are the arrow's edge instead. const flatMark = @@ -360,9 +453,16 @@ export function TabSidebar({ onPointerMove={onRowMove} onPointerUp={onRowUp} onPointerCancel={() => carry && endDrag()} - className={`no-drag group relative isolate flex h-[34px] shrink-0 items-center gap-2 overflow-hidden transition-colors ${nameInk} ${ + hidden={kept ? !kept[i] : undefined} + className={`no-drag group relative isolate flex h-[46px] shrink-0 items-center gap-2 overflow-hidden transition-colors ${nameInk} ${ prompt ? 'mr-1 pl-3 pr-6' : 'mx-1.5 rounded-[4px] pl-3 pr-1.5' - } ${on ? 'bg-[var(--p-hover)]' : 'hover:bg-[var(--p-hover)]'}`} + } ${ + // The tab in front is a clear filled pill in the accent's tint + // (Warp's way, 2026-10-12); the rest light only on hover. + on + ? 'bg-[color-mix(in_srgb,var(--p-accent-hi)_18%,transparent)]' + : 'hover:bg-[var(--p-hover)]' + }`} style={{ transform: `translateY(${carry?.id === t.id ? carry.dy : slide(i)}px)`, zIndex: carry?.id === t.id ? 5 : undefined, @@ -424,14 +524,19 @@ export function TabSidebar({ className="pointer-events-none relative z-[1] inline-block h-[9px] w-[9px] shrink-0 rounded-full border-[1.5px] border-[color-mix(in_srgb,var(--p-text)_22%,transparent)] border-t-[var(--p-accent-solid)] motion-safe:animate-spin" /> )} - {mark.place === 'ring' && ( + {mark.place === 'ring' ? ( + ) : ( + // Under Ring every name starts at one x: a tab with no mark + // keeps the mark's 12 px slot, as the New tab row's + does. + indicator === 'ring' && + !loadingIds?.has(t.id) && )} - - {headStart &&
{headStart}
} -
{/* The resize grip, on the sidebar's right edge, while it is open. */} diff --git a/src/renderer/src/components/TabStrip.tsx b/src/renderer/src/components/TabStrip.tsx index e27e4224..0e06b2b6 100644 --- a/src/renderer/src/components/TabStrip.tsx +++ b/src/renderer/src/components/TabStrip.tsx @@ -14,7 +14,6 @@ import { motionClass } from '@core/renderer/components/markClasses' import { failedLabel } from '@core/renderer/lib/agentHookSignal' import { useTabLooks } from './tabLooks' import { useTabMenus } from './tabMenus' -import { useTabWidth } from '../lib/tabWidthPrefs' import { useTabStyle } from '../lib/tabStylePrefs' import { OVERLAP, edgeBand, ruleClip, segmentClip } from '../lib/promptGeometry' import { dropSlot, type Lane } from '../lib/tabDrop' @@ -85,7 +84,6 @@ export function TabStrip({ * beside the title buttons, and that row draws the rule under it. */ inTitleRow?: boolean }): JSX.Element | null { - const width = useTabWidth() // The tab style (#143): Classic, the flat strip, or Powerline's chevrons. const prompt = useTabStyle() === 'prompt' // Every tab's state, mark and colours: the one reading the sidebar shares (#162). @@ -287,7 +285,10 @@ export function TabStrip({ // FULL: ONE NAME COLOUR (owner, 2026-10-10: "Every tab name in Full // uses the theme's own text colour, on every tab, idle ones included"). // Elsewhere the tab in front is told by its brighter ink, as always. - const nameInk = on || indicator === 'full' ? 'text-[var(--p-text)]' : 'text-[var(--p-dim)] hover:text-[var(--p-text)]' + const nameInk = + on || indicator === 'full' + ? 'text-[var(--p-text)]' + : 'text-[var(--p-dim)] hover:text-[var(--p-text)]' // What a flat tab's own mark draws (run, line, fill); the ring sits by // the name, and a Powerline edge is drawn by the segment's band. const flatMark = @@ -312,7 +313,9 @@ export function TabStrip({ /> )} {/* RING (#143): the spinner beside the name, only while working. */} - {mark.place === 'ring' && } + {mark.place === 'ring' && ( + + )} @@ -379,11 +391,8 @@ export function TabStrip({ 'data-agent': state ? indicator : undefined, 'data-agent-state': state ?? undefined, 'data-agent-present': agentIds.has(t.id) ? '' : undefined, - // EVERY TAB IS ONE WIDTH (owner, 2026-09-21), AND IT IS A SETTING - // (#56): Dynamic, the default, each tab as wide as its name up to - // 14rem, or Fixed, all one width, shrinking equally when out of room. - 'data-tab-fixed': width === 'fixed' || undefined, - 'data-tab-dynamic': width === 'dynamic' || undefined, + // EVERY TAB IS ONE WIDTH (owner, 2026-09-21; 2026-10-12, removing + // Dynamic: "have it just be fixed"), shrinking equally when out of room. 'data-tab-active': on || undefined, onClick: () => { // A press that travelled is a drag, not a pick. @@ -411,7 +420,8 @@ export function TabStrip({ // tab you picked up stays exactly where it was, solid, and the strip // only really rearranges when the drop lands. The neighbours sliding // open the gap are the preview. - transition: carry && carry.id !== t.id ? 'transform 170ms cubic-bezier(.23,1,.32,1)' : undefined + transition: + carry && carry.id !== t.id ? 'transform 170ms cubic-bezier(.23,1,.32,1)' : undefined } if (prompt) { // PROMPT (#143): a chevron segment whose arrow EDGE is the mark. The @@ -429,15 +439,15 @@ export function TabStrip({ // The edge this segment wears: Minimal's own. A Full working fill has // none (owner, 2026-10-10: the pulsing arrow is for the tab you are on). const edge = - mark.place === 'edge' && state ? { motion: mark.motion, background: paint(mark.colour, 'y') } : null + mark.place === 'edge' && state + ? { motion: mark.motion, background: paint(mark.colour, 'y') } + : null return (
{/* The plain border, the band with no mark (owner, 2026-10-11): @@ -470,7 +480,12 @@ export function TabStrip({ className={`absolute inset-0 ${motionClass(edge.motion, 'y')}`} style={{ background: edge.background, - ...(edge.motion === 'flow' ? { backgroundSize: `100% ${stripH}px`, ['--tile-y' as string]: `${stripH}px` } : {}) + ...(edge.motion === 'flow' + ? { + backgroundSize: `100% ${stripH}px`, + ['--tile-y' as string]: `${stripH}px` + } + : {}) }} /> @@ -504,13 +519,7 @@ export function TabStrip({
{/* The active mark: an accent rule along the top. Full never fills the tab in front (#143), so the rule is always there. */} - {on && } - {body} - {/* A FAINT LINE BETWEEN TABS (owner, 2026-10-11: "no borders on - classic tabs ... just a faint border"; #143 had taken the full - hairline away). The strip's full height, top to bottom (owner: - they "should go down to the bottom" and "to the top"), in the - divider's ink, so it follows the Edges setting. */} - {!last && ( + {on && ( )} + {body} + {/* A FAINT LINE AT EVERY TAB'S RIGHT (owner, 2026-10-11: "no + borders on classic tabs ... just a faint border"; 2026-10-12: + "if every tab just had a right border that would solve both + issues", the last tab having had none before the +). The + strip's full height, in the divider's ink, so it follows the + Edges setting. */} +
) })} @@ -553,7 +566,16 @@ export function TabStrip({ // have been before" lives, so the instant verb stays instant. onContextMenu={menu.openPlusMenu} > - + diff --git a/src/renderer/src/components/TermEdge.tsx b/src/renderer/src/components/TermEdge.tsx new file mode 100644 index 00000000..f24ee3a3 --- /dev/null +++ b/src/renderer/src/components/TermEdge.tsx @@ -0,0 +1,25 @@ +import type { JSX } from 'react' + +/** + * THE TERMINAL'S EDGE, DRAWN ONCE (owner, 2026-10-12): along its top under the + * bar and, beside the open sidebar, its left and round the cut corner, so the + * bar's edge and the sidebar's are one line ("the sidebar border should not go + * all the way up. It should only go up to the title bar border so they can + * connect there"). + * + * A LINE ON EVERY THEME, in the divider's ink, so it follows Panel edges (None, + * Faint, Hairline, Solid): owner, the same day, "give all themes that border + * that black themes use ... make sure it follows the setting for edges". The + * shadows it replaces gathered darker in the corner. + */ +export function TermEdge({ open }: { open: boolean }): JSX.Element { + return ( + + ) +} diff --git a/src/renderer/src/components/TitleBar.tsx b/src/renderer/src/components/TitleBar.tsx index 160d005f..c668e841 100644 --- a/src/renderer/src/components/TitleBar.tsx +++ b/src/renderer/src/components/TitleBar.tsx @@ -1,14 +1,10 @@ import type { JSX, ReactNode } from 'react' /** - * The frameless window's top strip: the app's icon in outline, a drag region, the - * update chip when there is one, the command help button (#12, when that - * setting is on), the settings cog, and the three window buttons. A cog and not a menu (owner, 2026-09-18): a menu of one row is - * chrome. - * - * Prism's bar, by subtraction: no file name, no panel toggle, no Tools. What - * it keeps is the shape - 36px, the title surface, glyph-only 32x28 buttons - - * so the two apps read as one family. + * The window's buttons (#91, #162): the update chip, command help, the cog and + * the three window buttons. There is no title bar of its own any more (owner, + * 2026-10-12, removing Show title bar): they sit at the end of the tab row, or + * of the bar beside the vertical tabs' sidebar. * * The update chip is handed in (`chip`), not built here: it is the core's * component since #28, and its state lives in App beside the window it opens, @@ -18,57 +14,6 @@ import type { JSX, ReactNode } from 'react' const BTN = 'grid h-7 w-8 place-items-center rounded text-[var(--p-icon)] transition-colors hover:bg-[var(--p-hover-hi)] hover:text-[var(--p-text)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--p-accent-hi)]' -export default function TitleBar({ - onSettings, - onHelp, - chip -}: { - onSettings: () => void - /** Open the command help popup; absent when the setting is off, and the - * button goes with it. */ - onHelp?: () => void - /** The update chip, or nothing when there is no update. */ - chip?: ReactNode -}): JSX.Element { - return ( -
- {/* THE APP'S ICON, AS OUTLINES (owner, 2026-10-11: "dont show the whole - prism terminal text and instead just show the logo ... just the - outlines inside it, not the black bg, an outline box with the - outlined art inside and that follows theme accent"): the badge's - box, the long ribbon with its slot and the small one with its - diamond, from build/icon-source.png, in the accent. No name beside - it; it says the app's name to a reader. */} - - - - - - - - {/* The rest of the bar is the handle the window is moved by. */} - - -
- ) -} - /** * The title bar's right end: the update chip, command help, the cog and the * three window buttons. Its own component because with the title bar hidden diff --git a/src/renderer/src/components/settings/AppearancePage.tsx b/src/renderer/src/components/settings/AppearancePage.tsx index 7b069749..9a8eb45a 100644 --- a/src/renderer/src/components/settings/AppearancePage.tsx +++ b/src/renderer/src/components/settings/AppearancePage.tsx @@ -1,6 +1,6 @@ import { useEffect, useState, useSyncExternalStore, type JSX } from 'react' import { WINDOW_EDGES, type WindowEdges } from '@shared/windowEdges' -import { RESET_LINK, Segmented, Switch } from '@core/renderer/settings/fields' +import { RESET_LINK, Segmented } from '@core/renderer/settings/fields' import { ColourField } from '@core/renderer/settings/ColourPicker' import { SettingRow } from '@core/renderer/settings/layout/SettingRow' import { SettingsSection } from '@core/renderer/settings/layout/SettingsSection' @@ -13,18 +13,34 @@ import { termGroundAlpha, termThemeId, useTermAcrylic, - useTermGroundAlpha + useTermGroundAlpha, + useTermThemeId } from '@core/renderer/lib/termLook' import { SEE_THROUGH_MAX } from '@core/renderer/lib/seeThrough' import { presetAccent, resolveTermTheme } from '@core/renderer/lib/termTheme' import { setWindowEdges, useWindowEdges } from '../../lib/edgesPrefs' -import { setTabWidth, useTabWidth, type TabWidth } from '../../lib/tabWidthPrefs' import { setTabStyle, useTabStyle, type TabStyle } from '../../lib/tabStylePrefs' import { setTabSwitch, useTabSwitch, type TabSwitch } from '../../lib/tabSwitchPrefs' -import { setTitleBarMode, useTitleBarMode } from '../../lib/titleBarPrefs' import { setTabLayout, useTabLayout, type TabLayout } from '../../lib/tabLayoutPrefs' import { setWindowAccent, useWindowAccent } from '../../lib/accentPrefs' -import { onWindowBackgroundChange, setWindowBackground, useWindowBackground, windowBackground } from '../../lib/backgroundPrefs' +import { + onWindowBackgroundChange, + setWindowBackground, + useWindowBackground, + windowBackground +} from '../../lib/backgroundPrefs' +import { + onWindowSecondaryChange, + setWindowSecondary, + useWindowSecondary +} from '../../lib/secondaryPrefs' +import { + NO_COLOURS, + coloursDiffer, + customWindowColours, + setCustomWindowColours, + useCustomWindowColours +} from '../../lib/customWindowColours' import { chromeTokens } from '../../lib/chromeTheme' import { APP_SECTIONS, appOpt } from './appOptions' @@ -55,13 +71,6 @@ const EDGE_OPTIONS: Array<{ id: WindowEdges; name: string }> = WINDOW_EDGES.map( name: EDGE_NAMES[id] })) -// Dynamic first: it is the default (owner, 2026-09-23: "call it dynamic ... -// have dynamic be the default"). -const TAB_WIDTH_OPTIONS: Array<{ id: TabWidth; name: string }> = [ - { id: 'dynamic', name: 'Dynamic' }, - { id: 'fixed', name: 'Fixed' } -] - // Horizontal first: it is the default, the strip as it always was (#162). const TAB_LAYOUT_OPTIONS: Array<{ id: TabLayout; name: string }> = [ { id: 'horizontal', name: 'Horizontal' }, @@ -98,10 +107,10 @@ const themeColours = (): string => { // so the Alpha reads 73 on a dark preset rather than 100. const own = id === 'custom' ? customTermTheme() : null const alpha = termAcrylic() ? termGroundAlpha() : own ? alphaOf(own.bg) : 1 - return `${vars['--p-accent']}|${withAlpha(themeBg, alpha)}` + return `${vars['--p-accent']}|${withAlpha(themeBg, alpha)}|${vars['--p-secondary']}` } const onColoursChange = (cb: () => void): (() => void) => { - const offs = [onTermLookChange(cb), onWindowBackgroundChange(cb)] + const offs = [onTermLookChange(cb), onWindowBackgroundChange(cb), onWindowSecondaryChange(cb)] return () => offs.forEach((off) => off()) } @@ -123,7 +132,7 @@ function WindowColour({ onPick, range }: { - id: 'window-background' | 'window-accent' + id: 'window-background' | 'window-accent' | 'window-secondary' sub: string chosen: string | null /** What the field shows of the choice, where it paints otherwise than it @@ -138,13 +147,23 @@ function WindowColour({ return ( {chosen && ( - )} {/* Escape in the picker puts back what was chosen when it opened, a row that followed the theme included (#112). */} - onPick(chosen)} {...range} /> + onPick(chosen)} + {...range} + /> ) } @@ -152,7 +171,11 @@ function WindowColour({ function WindowColours(): JSX.Element { const accent = useWindowAccent() const background = useWindowBackground() - const [themeAccent, themeBg] = useSyncExternalStore(onColoursChange, themeColours).split('|') + const [themeAccent, themeBg, themeSecondary] = useSyncExternalStore( + onColoursChange, + themeColours + ).split('|') + const secondary = useWindowSecondary() const acrylicOn = useTermAcrylic() const groundAlpha = useTermGroundAlpha() // The material is Windows 11's (1809 has none): where main says it cannot @@ -188,6 +211,17 @@ function WindowColours(): JSX.Element { onPick={setWindowBackground} range={{ alphaMin: 0.3, alphaMax: acrylic ? SEE_THROUGH_MAX : 1, alphaDisabled: !acrylic }} /> + {/* THE SECONDARY COLOUR (owner, 2026-10-12): the vertical tabs' + sidebar and title bar. The theme's own, a step off its ground, until + one is picked; solid, its see-through is the window's. */} + {/* The accent's alpha is for its FILLS; its lines stay solid. */} @@ -223,9 +259,6 @@ export function AppearancePage(): JSX.Element { - - - {/* The tab style (#143): the flat strip, or Powerline's chevrons. */} @@ -237,21 +270,14 @@ export function AppearancePage(): JSX.Element { id="tab-switch" icon={swap.icon} label={swap.label} - sub={switching === 'recent' ? 'Back to the tab you used last.' : 'The next tab along the strip.'} + sub={ + switching === 'recent' + ? 'Back to the tab you used last.' + : 'The next tab along the strip.' + } > - {/* A switch over the same store the segmented control wrote: on is - `shown`, the default, the window as it always was (#91). */} - - setTitleBarMode(on ? 'shown' : 'hidden')} label={bar.label} /> - @@ -263,10 +289,23 @@ export function AppearancePage(): JSX.Element { // it doesn't change the altered bg and accent colours, though it // should"): the two picks are forgotten, as Reset does, so the new // theme's own background and accent are what the window wears. - onThemePicked={() => { - setWindowBackground(null) - setWindowAccent(null) + // CUSTOM KEEPS ITS OWN (owner, 2026-10-12: Save changes "never grey when + // there are changes to save"): picking Custom brings back the window + // colours its Save kept; the editor's save starts Custom afresh. + onThemePicked={(id) => { + const kept = id === 'custom' ? customWindowColours() : NO_COLOURS + if (id === 'edited') setCustomWindowColours(null) + setWindowBackground(kept.background) + setWindowAccent(kept.accent) + setWindowSecondary(kept.secondary) }} + // The window colours in force are changes to save while they differ + // from what the theme in front keeps; Save keeps them with Custom. + extraDirty={coloursDiffer( + { background, accent, secondary }, + themeId === 'custom' ? kept : NO_COLOURS + )} + onSaved={() => setCustomWindowColours({ background, accent, secondary })} /> ) diff --git a/src/renderer/src/components/settings/appOptions.test.ts b/src/renderer/src/components/settings/appOptions.test.ts index 970cd0cf..75bdd15a 100644 --- a/src/renderer/src/components/settings/appOptions.test.ts +++ b/src/renderer/src/components/settings/appOptions.test.ts @@ -33,12 +33,11 @@ describe("this app's own settings rows", () => { expect(APP_OPTIONS.map((o) => `${o.id}=${Array.isArray(o.store) ? o.store.join('+') : String(o.store)}`)).toMatchInlineSnapshot(` [ "tab-layout=prism.window.tabLayout+prism.window.sidebar+prism.window.sidebarWidth", - "tab-width=prism.window.tabWidth", "tab-style=prism.window.tabStyle", "tab-switch=prism.window.tabSwitch", - "title-bar=prism.window.titleBar", "window-edges=prism.window.edges", "window-background=prism.window.background", + "window-secondary=prism.window.secondary", "window-accent=prism.window.accent", "newtab-mode=prism.newtab.mode+prism.newtab.folder", "explorer-verb=registry", @@ -82,9 +81,9 @@ describe('Find a setting', () => { expect(at['diag-verbose']).toBe('diagnostics/') }) - it('finds the tab style by its shape and puts it right after Tab width (#143)', () => { + it('finds the tab style by its shape and puts it right after Tab position (#143)', () => { const ids = settingsIndex(true).map((e) => e.id) - expect(ids.indexOf('tab-style')).toBe(ids.indexOf('tab-width') + 1) + expect(ids.indexOf('tab-style')).toBe(ids.indexOf('tab-layout') + 1) expect(ids.indexOf('agent-rainbow')).toBe(ids.indexOf('agent-done-on') + 1) const style = settingsIndex(true).find((e) => e.id === 'tab-style') expect(style?.keywords).toContain('chevron') diff --git a/src/renderer/src/components/settings/appOptions.ts b/src/renderer/src/components/settings/appOptions.ts index 0e94c29b..bb1ec7ba 100644 --- a/src/renderer/src/components/settings/appOptions.ts +++ b/src/renderer/src/components/settings/appOptions.ts @@ -27,12 +27,11 @@ export interface AppOption { export const APP_OPTIONS: readonly AppOption[] = [ { id: 'tab-layout', label: 'Tab position', sub: 'Tabs along the top, or down the side.', section: 'window', page: 'appearance', icon: 'sidebar', keywords: 'vertical horizontal sidebar side left strip top', store: ['prism.window.tabLayout', 'prism.window.sidebar', 'prism.window.sidebarWidth'] }, - { id: 'tab-width', label: 'Tab width', sub: 'Sized to the name, or all equal.', section: 'window', page: 'appearance', icon: 'tabs', keywords: 'size wide narrow equal fixed dynamic', store: ['prism.window.tabWidth'] }, { id: 'tab-style', label: 'Tab style', sub: 'Flat tabs, or arrows like a prompt.', section: 'window', page: 'appearance', icon: 'prompt', keywords: 'chevron arrow segment shape powerline classic', store: ['prism.window.tabStyle'] }, { id: 'tab-switch', label: 'Tab switching', sub: 'Which tab comes next when you switch.', section: 'window', page: 'appearance', icon: 'key', keywords: 'ctrl tab mru recent order cycle switch next previous last used', store: ['prism.window.tabSwitch'] }, - { id: 'title-bar', label: 'Show title bar', sub: 'When off, tabs share the top row.', section: 'window', page: 'appearance', icon: 'titlebar', keywords: 'caption top frame hide hidden', store: ['prism.window.titleBar'] }, { id: 'window-edges', label: 'Panel edges', sub: 'Lines between panels and around the window.', section: 'window', page: 'appearance', icon: 'edges', keywords: 'border lines hairline outline faint solid', store: ['prism.window.edges'] }, { id: 'window-background', label: 'Background colour', sub: 'Behind the text in window and terminal.', section: 'theme', page: 'appearance', icon: 'viewer', keywords: 'ground backdrop color transparent alpha opacity', store: ['prism.window.background'] }, + { id: 'window-secondary', label: 'Secondary colour', sub: 'The sidebar and title bar beside the terminal.', section: 'theme', page: 'appearance', icon: 'brush', keywords: 'sidebar title bar panel surface chrome secondary color vertical tabs', store: ['prism.window.secondary'] }, { id: 'window-accent', label: 'Accent colour', sub: 'Highlights, the active tab and selection.', section: 'theme', page: 'appearance', icon: 'accent', keywords: 'highlight color selection', store: ['prism.window.accent'] }, { id: 'newtab-mode', label: 'Folder for new tabs', sub: 'Opens in your user folder.', section: 'opening', page: 'terminal', icon: 'newtab', keywords: 'folder home directory start new tab ask', store: ['prism.newtab.mode', 'prism.newtab.folder'] }, { id: 'explorer-verb', label: 'Add to the Explorer menu', sub: 'Open terminal here, on every folder.', section: 'opening', page: 'terminal', icon: 'menu', keywords: 'context menu right click open here', store: 'registry' }, diff --git a/src/renderer/src/components/settings/settingsIndex.ts b/src/renderer/src/components/settings/settingsIndex.ts index 729b06b0..366a453f 100644 --- a/src/renderer/src/components/settings/settingsIndex.ts +++ b/src/renderer/src/components/settings/settingsIndex.ts @@ -38,7 +38,7 @@ const PAGE_OF: Record = { /** Every row in the order the pages draw them, which is the order Find a * setting lists matches in. A test holds this to the lists. */ export const ROW_ORDER = [ - 'tab-layout', 'tab-width', 'tab-style', 'tab-switch', 'title-bar', 'window-edges', 'term-theme', 'term-acrylic', 'window-background', 'window-accent', + 'tab-layout', 'tab-style', 'tab-switch', 'window-edges', 'term-theme', 'term-acrylic', 'window-background', 'window-secondary', 'window-accent', 'term-shell', 'newtab-mode', 'explorer-verb', 'term-font-family', 'term-font', 'help-enabled', 'agent-indicator', 'agent-done-on', 'agent-rainbow', 'agent-question-on', 'agent-failed-on', 'taskbar-badge', 'agent-hooks', 'agent-color', 'agent-done-color', 'agent-question-color', diff --git a/src/renderer/src/lib/__snapshots__/chromeTheme.opacity.test.ts.snap b/src/renderer/src/lib/__snapshots__/chromeTheme.opacity.test.ts.snap index 66847c17..5b83e923 100644 --- a/src/renderer/src/lib/__snapshots__/chromeTheme.opacity.test.ts.snap +++ b/src/renderer/src/lib/__snapshots__/chromeTheme.opacity.test.ts.snap @@ -16,10 +16,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f29", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f29", "--p-tabs": "#1e1f29", "--p-text": "#f8f8f2", @@ -42,10 +47,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d4d", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f294d", "--p-text": "#f8f8f2", @@ -68,10 +78,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d4f", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f294f", "--p-text": "#f8f8f2", @@ -94,10 +109,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d52", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2952", "--p-text": "#f8f8f2", @@ -120,10 +140,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d54", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2954", "--p-text": "#f8f8f2", @@ -146,10 +171,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d57", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2957", "--p-text": "#f8f8f2", @@ -172,10 +202,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d59", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2959", "--p-text": "#f8f8f2", @@ -198,10 +233,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d5c", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f295c", "--p-text": "#f8f8f2", @@ -224,10 +264,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d5e", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f295e", "--p-text": "#f8f8f2", @@ -250,10 +295,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d61", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2961", "--p-text": "#f8f8f2", @@ -276,10 +326,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d63", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2963", "--p-text": "#f8f8f2", @@ -302,10 +357,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d66", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2966", "--p-text": "#f8f8f2", @@ -328,10 +388,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d69", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2969", "--p-text": "#f8f8f2", @@ -354,10 +419,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d6b", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f296b", "--p-text": "#f8f8f2", @@ -380,10 +450,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d6e", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f296e", "--p-text": "#f8f8f2", @@ -406,10 +481,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d70", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2970", "--p-text": "#f8f8f2", @@ -432,10 +512,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d73", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2973", "--p-text": "#f8f8f2", @@ -458,10 +543,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d75", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2975", "--p-text": "#f8f8f2", @@ -484,10 +574,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d78", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2978", "--p-text": "#f8f8f2", @@ -510,10 +605,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d7a", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f297a", "--p-text": "#f8f8f2", @@ -536,10 +636,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d7d", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f297d", "--p-text": "#f8f8f2", @@ -562,10 +667,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d80", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2980", "--p-text": "#f8f8f2", @@ -588,10 +698,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d82", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2982", "--p-text": "#f8f8f2", @@ -614,10 +729,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d85", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2985", "--p-text": "#f8f8f2", @@ -640,10 +760,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d87", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2987", "--p-text": "#f8f8f2", @@ -666,10 +791,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d8a", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f298a", "--p-text": "#f8f8f2", @@ -692,10 +822,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d8c", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f298c", "--p-text": "#f8f8f2", @@ -718,10 +853,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d8f", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f298f", "--p-text": "#f8f8f2", @@ -744,10 +884,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d91", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2991", "--p-text": "#f8f8f2", @@ -770,10 +915,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d94", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2994", "--p-text": "#f8f8f2", @@ -796,10 +946,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d96", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2996", "--p-text": "#f8f8f2", @@ -822,10 +977,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d99", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2999", "--p-text": "#f8f8f2", @@ -848,10 +1008,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d9c", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f299c", "--p-text": "#f8f8f2", @@ -874,10 +1039,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d9e", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f299e", "--p-text": "#f8f8f2", @@ -900,10 +1070,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151da1", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29a1", "--p-text": "#f8f8f2", @@ -926,10 +1101,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151da3", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29a3", "--p-text": "#f8f8f2", @@ -952,10 +1132,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151da6", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29a6", "--p-text": "#f8f8f2", @@ -978,10 +1163,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151da8", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29a8", "--p-text": "#f8f8f2", @@ -1004,10 +1194,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dab", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29ab", "--p-text": "#f8f8f2", @@ -1030,10 +1225,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dad", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29ad", "--p-text": "#f8f8f2", @@ -1056,10 +1256,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151db0", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29b0", "--p-text": "#f8f8f2", @@ -1082,10 +1287,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151db3", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29b3", "--p-text": "#f8f8f2", @@ -1108,10 +1318,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151db5", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29b5", "--p-text": "#f8f8f2", @@ -1134,10 +1349,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151db8", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29b8", "--p-text": "#f8f8f2", @@ -1160,10 +1380,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dba", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29ba", "--p-text": "#f8f8f2", @@ -1186,10 +1411,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dbd", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29bd", "--p-text": "#f8f8f2", @@ -1212,10 +1442,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dbf", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29bf", "--p-text": "#f8f8f2", @@ -1238,10 +1473,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dc2", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29c2", "--p-text": "#f8f8f2", @@ -1264,10 +1504,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dc4", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29c4", "--p-text": "#f8f8f2", @@ -1290,10 +1535,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dc7", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29c7", "--p-text": "#f8f8f2", @@ -1316,10 +1566,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dc9", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29c9", "--p-text": "#f8f8f2", @@ -1342,10 +1597,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dcc", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29cc", "--p-text": "#f8f8f2", @@ -1368,10 +1628,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dcf", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29cf", "--p-text": "#f8f8f2", @@ -1394,10 +1659,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dd1", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29d1", "--p-text": "#f8f8f2", @@ -1420,10 +1690,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dd4", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29d4", "--p-text": "#f8f8f2", @@ -1446,10 +1721,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dd6", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29d6", "--p-text": "#f8f8f2", @@ -1472,10 +1752,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dd9", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29d9", "--p-text": "#f8f8f2", @@ -1498,10 +1783,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151ddb", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29db", "--p-text": "#f8f8f2", @@ -1524,10 +1814,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dde", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29de", "--p-text": "#f8f8f2", @@ -1550,10 +1845,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151de0", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29e0", "--p-text": "#f8f8f2", @@ -1576,10 +1876,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151de3", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29e3", "--p-text": "#f8f8f2", @@ -1602,10 +1907,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151de6", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29e6", "--p-text": "#f8f8f2", @@ -1628,10 +1938,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151de8", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29e8", "--p-text": "#f8f8f2", @@ -1654,10 +1969,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151deb", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29eb", "--p-text": "#f8f8f2", @@ -1680,10 +2000,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151ded", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29ed", "--p-text": "#f8f8f2", @@ -1706,10 +2031,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151df0", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29f0", "--p-text": "#f8f8f2", @@ -1732,10 +2062,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151df2", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29f2", "--p-text": "#f8f8f2", @@ -1758,10 +2093,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151df5", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29f5", "--p-text": "#f8f8f2", @@ -1784,10 +2124,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151df7", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29f7", "--p-text": "#f8f8f2", @@ -1810,10 +2155,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dfa", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29fa", "--p-text": "#f8f8f2", @@ -1836,10 +2186,15 @@ exports[`a saved opacity, as a ground alpha > dracula: every N from 30 to 100 pa "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151dfc", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f29fc", "--p-text": "#f8f8f2", @@ -1859,24 +2214,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee", "--p-tabs": "#f6f4ee", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "30": { @@ -1885,24 +2245,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee4d", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df4d", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee4d", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee4d", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "31": { @@ -1911,24 +2276,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee4f", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df4f", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee4f", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee4f", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "32": { @@ -1937,24 +2307,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee52", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df52", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee52", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee52", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "33": { @@ -1963,24 +2338,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee54", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df54", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee54", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee54", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "34": { @@ -1989,24 +2369,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee57", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df57", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee57", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee57", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "35": { @@ -2015,24 +2400,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee59", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df59", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee59", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee59", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "36": { @@ -2041,24 +2431,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee5c", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df5c", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee5c", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee5c", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "37": { @@ -2067,24 +2462,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee5e", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df5e", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee5e", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee5e", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "38": { @@ -2093,24 +2493,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee61", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df61", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee61", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee61", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "39": { @@ -2119,24 +2524,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee63", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df63", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee63", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee63", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "40": { @@ -2145,24 +2555,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee66", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df66", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee66", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee66", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "41": { @@ -2171,24 +2586,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee69", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df69", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee69", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee69", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "42": { @@ -2197,24 +2617,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee6b", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df6b", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee6b", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee6b", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "43": { @@ -2223,24 +2648,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee6e", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df6e", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee6e", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee6e", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "44": { @@ -2249,24 +2679,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee70", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df70", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee70", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee70", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "45": { @@ -2275,24 +2710,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee73", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df73", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee73", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee73", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "46": { @@ -2301,24 +2741,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee75", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df75", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee75", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee75", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "47": { @@ -2327,24 +2772,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee78", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df78", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee78", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee78", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "48": { @@ -2353,24 +2803,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee7a", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df7a", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee7a", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee7a", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "49": { @@ -2379,24 +2834,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee7d", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df7d", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee7d", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee7d", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "50": { @@ -2405,24 +2865,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee80", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df80", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee80", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee80", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "51": { @@ -2431,24 +2896,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee82", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df82", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee82", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee82", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "52": { @@ -2457,24 +2927,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee85", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df85", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee85", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee85", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "53": { @@ -2483,24 +2958,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee87", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df87", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee87", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee87", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "54": { @@ -2509,24 +2989,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee8a", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df8a", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee8a", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee8a", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "55": { @@ -2535,24 +3020,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee8c", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df8c", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee8c", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee8c", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "56": { @@ -2561,24 +3051,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee8f", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df8f", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee8f", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee8f", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "57": { @@ -2587,24 +3082,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee91", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df91", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee91", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee91", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "58": { @@ -2613,24 +3113,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee94", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df94", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee94", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee94", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "59": { @@ -2639,24 +3144,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee96", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df96", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee96", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee96", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "60": { @@ -2665,24 +3175,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee99", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df99", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee99", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee99", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "61": { @@ -2691,24 +3206,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee9c", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df9c", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee9c", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee9c", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "62": { @@ -2717,24 +3237,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4ee9e", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df9e", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee9e", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee9e", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "63": { @@ -2743,24 +3268,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eea1", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfa1", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eea1", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eea1", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "64": { @@ -2769,24 +3299,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eea3", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfa3", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eea3", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eea3", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "65": { @@ -2795,24 +3330,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eea6", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfa6", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eea6", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eea6", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "66": { @@ -2821,24 +3361,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eea8", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfa8", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eea8", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eea8", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "67": { @@ -2847,24 +3392,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eeab", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfab", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeab", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeab", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "68": { @@ -2873,24 +3423,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eead", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfad", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eead", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eead", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "69": { @@ -2899,24 +3454,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eeb0", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfb0", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeb0", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeb0", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "70": { @@ -2925,24 +3485,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eeb3", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfb3", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeb3", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeb3", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "71": { @@ -2951,24 +3516,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eeb5", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfb5", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeb5", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeb5", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "72": { @@ -2977,24 +3547,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eeb8", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfb8", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeb8", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeb8", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "73": { @@ -3003,24 +3578,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eeba", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfba", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeba", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeba", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "74": { @@ -3029,24 +3609,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eebd", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfbd", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eebd", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eebd", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "75": { @@ -3055,24 +3640,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eebf", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfbf", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eebf", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eebf", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "76": { @@ -3081,24 +3671,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eec2", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfc2", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eec2", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eec2", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "77": { @@ -3107,24 +3702,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eec4", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfc4", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eec4", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eec4", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "78": { @@ -3133,24 +3733,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eec7", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfc7", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eec7", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eec7", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "79": { @@ -3159,24 +3764,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eec9", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfc9", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eec9", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eec9", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "80": { @@ -3185,24 +3795,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eecc", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfcc", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eecc", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eecc", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "81": { @@ -3211,24 +3826,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eecf", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfcf", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eecf", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eecf", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "82": { @@ -3237,24 +3857,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eed1", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfd1", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eed1", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eed1", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "83": { @@ -3263,24 +3888,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eed4", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfd4", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eed4", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eed4", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "84": { @@ -3289,24 +3919,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eed6", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfd6", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eed6", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eed6", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "85": { @@ -3315,24 +3950,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eed9", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfd9", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eed9", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eed9", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "86": { @@ -3341,24 +3981,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eedb", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfdb", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eedb", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eedb", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "87": { @@ -3367,24 +4012,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eede", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfde", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eede", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eede", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "88": { @@ -3393,24 +4043,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eee0", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfe0", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eee0", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eee0", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "89": { @@ -3419,24 +4074,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eee3", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfe3", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eee3", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eee3", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "90": { @@ -3445,24 +4105,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eee6", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfe6", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eee6", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eee6", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "91": { @@ -3471,24 +4136,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eee8", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfe8", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eee8", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eee8", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "92": { @@ -3497,24 +4167,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eeeb", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfeb", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeeb", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeeb", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "93": { @@ -3523,24 +4198,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eeed", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfed", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeed", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeed", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "94": { @@ -3549,24 +4229,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eef0", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dff0", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eef0", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eef0", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "95": { @@ -3575,24 +4260,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eef2", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dff2", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eef2", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eef2", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "96": { @@ -3601,24 +4291,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eef5", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dff5", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eef5", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eef5", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "97": { @@ -3627,24 +4322,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eef7", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dff7", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eef7", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eef7", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "98": { @@ -3653,24 +4353,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eefa", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dffa", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eefa", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eefa", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "99": { @@ -3679,24 +4384,29 @@ exports[`a saved opacity, as a ground alpha > github: every N from 30 to 100 pai "--p-bg": "#f6f4eefc", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dffc", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eefc", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eefc", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, } @@ -3710,24 +4420,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee", "--p-tabs": "#f6f4ee", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "30": { @@ -3736,24 +4451,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee4d", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df4d", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee4d", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee4d", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "31": { @@ -3762,24 +4482,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee4f", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df4f", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee4f", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee4f", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "32": { @@ -3788,24 +4513,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee52", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df52", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee52", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee52", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "33": { @@ -3814,24 +4544,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee54", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df54", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee54", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee54", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "34": { @@ -3840,24 +4575,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee57", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df57", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee57", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee57", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "35": { @@ -3866,24 +4606,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee59", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df59", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee59", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee59", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "36": { @@ -3892,24 +4637,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee5c", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df5c", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee5c", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee5c", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "37": { @@ -3918,24 +4668,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee5e", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df5e", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee5e", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee5e", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "38": { @@ -3944,24 +4699,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee61", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df61", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee61", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee61", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "39": { @@ -3970,24 +4730,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee63", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df63", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee63", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee63", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "40": { @@ -3996,24 +4761,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee66", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df66", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee66", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee66", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "41": { @@ -4022,24 +4792,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee69", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df69", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee69", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee69", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "42": { @@ -4048,24 +4823,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee6b", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df6b", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee6b", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee6b", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "43": { @@ -4074,24 +4854,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee6e", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df6e", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee6e", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee6e", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "44": { @@ -4100,24 +4885,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee70", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df70", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee70", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee70", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "45": { @@ -4126,24 +4916,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee73", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df73", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee73", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee73", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "46": { @@ -4152,24 +4947,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee75", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df75", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee75", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee75", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "47": { @@ -4178,24 +4978,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee78", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df78", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee78", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee78", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "48": { @@ -4204,24 +5009,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee7a", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df7a", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee7a", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee7a", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "49": { @@ -4230,24 +5040,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee7d", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df7d", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee7d", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee7d", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "50": { @@ -4256,24 +5071,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee80", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df80", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee80", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee80", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "51": { @@ -4282,24 +5102,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee82", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df82", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee82", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee82", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "52": { @@ -4308,24 +5133,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee85", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df85", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee85", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee85", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "53": { @@ -4334,24 +5164,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee87", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df87", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee87", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee87", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "54": { @@ -4360,24 +5195,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee8a", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df8a", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee8a", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee8a", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "55": { @@ -4386,24 +5226,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee8c", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df8c", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee8c", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee8c", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "56": { @@ -4412,24 +5257,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee8f", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df8f", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee8f", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee8f", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "57": { @@ -4438,24 +5288,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee91", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df91", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee91", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee91", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "58": { @@ -4464,24 +5319,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee94", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df94", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee94", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee94", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "59": { @@ -4490,24 +5350,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee96", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df96", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee96", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee96", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "60": { @@ -4516,24 +5381,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee99", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df99", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee99", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee99", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "61": { @@ -4542,24 +5412,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee9c", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df9c", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee9c", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee9c", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "62": { @@ -4568,24 +5443,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4ee9e", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df9e", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee9e", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee9e", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "63": { @@ -4594,24 +5474,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eea1", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfa1", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eea1", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eea1", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "64": { @@ -4620,24 +5505,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eea3", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfa3", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eea3", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eea3", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "65": { @@ -4646,24 +5536,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eea6", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfa6", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eea6", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eea6", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "66": { @@ -4672,24 +5567,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eea8", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfa8", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eea8", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eea8", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "67": { @@ -4698,24 +5598,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eeab", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfab", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeab", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeab", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "68": { @@ -4724,24 +5629,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eead", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfad", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eead", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eead", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "69": { @@ -4750,24 +5660,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eeb0", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfb0", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeb0", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeb0", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "70": { @@ -4776,24 +5691,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eeb3", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfb3", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeb3", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeb3", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "71": { @@ -4802,24 +5722,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eeb5", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfb5", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeb5", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeb5", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "72": { @@ -4828,24 +5753,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eeb8", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfb8", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeb8", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeb8", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "73": { @@ -4854,24 +5784,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eeba", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfba", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeba", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeba", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "74": { @@ -4880,24 +5815,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eebd", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfbd", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eebd", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eebd", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "75": { @@ -4906,24 +5846,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eebf", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfbf", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eebf", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eebf", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "76": { @@ -4932,24 +5877,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eec2", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfc2", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eec2", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eec2", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "77": { @@ -4958,24 +5908,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eec4", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfc4", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eec4", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eec4", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "78": { @@ -4984,24 +5939,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eec7", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfc7", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eec7", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eec7", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "79": { @@ -5010,24 +5970,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eec9", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfc9", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eec9", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eec9", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "80": { @@ -5036,24 +6001,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eecc", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfcc", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eecc", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eecc", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "81": { @@ -5062,24 +6032,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eecf", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfcf", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eecf", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eecf", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "82": { @@ -5088,24 +6063,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eed1", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfd1", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eed1", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eed1", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "83": { @@ -5114,24 +6094,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eed4", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfd4", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eed4", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eed4", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "84": { @@ -5140,24 +6125,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eed6", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfd6", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eed6", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eed6", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "85": { @@ -5166,24 +6156,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eed9", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfd9", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eed9", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eed9", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "86": { @@ -5192,24 +6187,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eedb", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfdb", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eedb", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eedb", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "87": { @@ -5218,24 +6218,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eede", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfde", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eede", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eede", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "88": { @@ -5244,24 +6249,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eee0", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfe0", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eee0", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eee0", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "89": { @@ -5270,24 +6280,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eee3", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfe3", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eee3", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eee3", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "90": { @@ -5296,24 +6311,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eee6", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfe6", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eee6", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eee6", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "91": { @@ -5322,24 +6342,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eee8", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfe8", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eee8", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eee8", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "92": { @@ -5348,24 +6373,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eeeb", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfeb", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeeb", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeeb", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "93": { @@ -5374,24 +6404,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eeed", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dfed", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eeed", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eeed", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "94": { @@ -5400,24 +6435,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eef0", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dff0", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eef0", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eef0", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "95": { @@ -5426,24 +6466,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eef2", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dff2", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eef2", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eef2", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "96": { @@ -5452,24 +6497,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eef5", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dff5", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eef5", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eef5", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "97": { @@ -5478,24 +6528,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eef7", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dff7", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eef7", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eef7", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "98": { @@ -5504,24 +6559,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eefa", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dffa", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eefa", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eefa", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "99": { @@ -5530,24 +6590,29 @@ exports[`a saved opacity, as a ground alpha > paper: every N from 30 to 100 pain "--p-bg": "#f6f4eefc", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5dffc", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4eefc", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4eefc", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, } @@ -5569,10 +6634,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f", "--p-tabs": "#0b0b0f", "--p-text": "#e7e7ee", @@ -5595,10 +6665,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f4d", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f4d", "--p-text": "#e7e7ee", @@ -5621,10 +6696,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f4f", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f4f", "--p-text": "#e7e7ee", @@ -5647,10 +6727,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f52", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f52", "--p-text": "#e7e7ee", @@ -5673,10 +6758,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f54", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f54", "--p-text": "#e7e7ee", @@ -5699,10 +6789,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f57", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f57", "--p-text": "#e7e7ee", @@ -5725,10 +6820,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f59", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f59", "--p-text": "#e7e7ee", @@ -5751,10 +6851,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f5c", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f5c", "--p-text": "#e7e7ee", @@ -5777,10 +6882,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f5e", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f5e", "--p-text": "#e7e7ee", @@ -5803,10 +6913,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f61", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f61", "--p-text": "#e7e7ee", @@ -5829,10 +6944,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f63", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f63", "--p-text": "#e7e7ee", @@ -5855,10 +6975,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f66", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f66", "--p-text": "#e7e7ee", @@ -5881,10 +7006,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f69", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f69", "--p-text": "#e7e7ee", @@ -5907,10 +7037,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f6b", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f6b", "--p-text": "#e7e7ee", @@ -5933,10 +7068,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f6e", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f6e", "--p-text": "#e7e7ee", @@ -5959,10 +7099,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f70", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f70", "--p-text": "#e7e7ee", @@ -5985,10 +7130,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f73", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f73", "--p-text": "#e7e7ee", @@ -6011,10 +7161,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f75", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f75", "--p-text": "#e7e7ee", @@ -6037,10 +7192,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f78", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f78", "--p-text": "#e7e7ee", @@ -6063,10 +7223,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f7a", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f7a", "--p-text": "#e7e7ee", @@ -6089,10 +7254,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f7d", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f7d", "--p-text": "#e7e7ee", @@ -6115,10 +7285,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f80", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f80", "--p-text": "#e7e7ee", @@ -6141,10 +7316,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f82", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f82", "--p-text": "#e7e7ee", @@ -6167,10 +7347,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f85", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f85", "--p-text": "#e7e7ee", @@ -6193,10 +7378,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f87", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f87", "--p-text": "#e7e7ee", @@ -6219,10 +7409,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f8a", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f8a", "--p-text": "#e7e7ee", @@ -6245,10 +7440,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f8c", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f8c", "--p-text": "#e7e7ee", @@ -6271,10 +7471,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f8f", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f8f", "--p-text": "#e7e7ee", @@ -6297,10 +7502,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f91", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f91", "--p-text": "#e7e7ee", @@ -6323,10 +7533,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f94", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f94", "--p-text": "#e7e7ee", @@ -6349,10 +7564,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f96", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f96", "--p-text": "#e7e7ee", @@ -6375,10 +7595,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f99", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f99", "--p-text": "#e7e7ee", @@ -6401,10 +7626,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f9c", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f9c", "--p-text": "#e7e7ee", @@ -6427,10 +7657,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f9e", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f9e", "--p-text": "#e7e7ee", @@ -6453,10 +7688,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fa1", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fa1", "--p-text": "#e7e7ee", @@ -6479,10 +7719,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fa3", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fa3", "--p-text": "#e7e7ee", @@ -6505,10 +7750,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fa6", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fa6", "--p-text": "#e7e7ee", @@ -6531,10 +7781,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fa8", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fa8", "--p-text": "#e7e7ee", @@ -6557,10 +7812,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fab", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fab", "--p-text": "#e7e7ee", @@ -6583,10 +7843,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fad", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fad", "--p-text": "#e7e7ee", @@ -6609,10 +7874,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fb0", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fb0", "--p-text": "#e7e7ee", @@ -6635,10 +7905,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fb3", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fb3", "--p-text": "#e7e7ee", @@ -6661,10 +7936,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fb5", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fb5", "--p-text": "#e7e7ee", @@ -6687,10 +7967,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fb8", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fb8", "--p-text": "#e7e7ee", @@ -6713,10 +7998,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fba", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fba", "--p-text": "#e7e7ee", @@ -6739,10 +8029,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fbd", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fbd", "--p-text": "#e7e7ee", @@ -6765,10 +8060,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fbf", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fbf", "--p-text": "#e7e7ee", @@ -6791,10 +8091,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fc2", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fc2", "--p-text": "#e7e7ee", @@ -6817,10 +8122,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fc4", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fc4", "--p-text": "#e7e7ee", @@ -6843,10 +8153,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fc7", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fc7", "--p-text": "#e7e7ee", @@ -6869,10 +8184,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fc9", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fc9", "--p-text": "#e7e7ee", @@ -6895,10 +8215,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fcc", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fcc", "--p-text": "#e7e7ee", @@ -6921,10 +8246,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fcf", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fcf", "--p-text": "#e7e7ee", @@ -6947,10 +8277,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fd1", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fd1", "--p-text": "#e7e7ee", @@ -6973,10 +8308,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fd4", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fd4", "--p-text": "#e7e7ee", @@ -6999,10 +8339,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fd6", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fd6", "--p-text": "#e7e7ee", @@ -7025,10 +8370,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fd9", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fd9", "--p-text": "#e7e7ee", @@ -7051,10 +8401,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fdb", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fdb", "--p-text": "#e7e7ee", @@ -7077,10 +8432,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fde", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fde", "--p-text": "#e7e7ee", @@ -7103,10 +8463,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fe0", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fe0", "--p-text": "#e7e7ee", @@ -7129,10 +8494,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fe3", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fe3", "--p-text": "#e7e7ee", @@ -7155,10 +8525,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fe6", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fe6", "--p-text": "#e7e7ee", @@ -7181,10 +8556,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fe8", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fe8", "--p-text": "#e7e7ee", @@ -7207,10 +8587,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0feb", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0feb", "--p-text": "#e7e7ee", @@ -7233,10 +8618,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0fed", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0fed", "--p-text": "#e7e7ee", @@ -7259,10 +8649,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0ff0", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0ff0", "--p-text": "#e7e7ee", @@ -7285,10 +8680,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0ff2", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0ff2", "--p-text": "#e7e7ee", @@ -7311,10 +8711,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0ff5", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0ff5", "--p-text": "#e7e7ee", @@ -7337,10 +8742,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0ff7", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0ff7", "--p-text": "#e7e7ee", @@ -7363,10 +8773,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0ffa", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0ffa", "--p-text": "#e7e7ee", @@ -7389,10 +8804,15 @@ exports[`a saved opacity, as a ground alpha > prism: every N from 30 to 100 pain "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0ffc", "--p-sel-bg": "#4aa5f0", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0ffc", "--p-text": "#e7e7ee", @@ -7420,10 +8840,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909", "--p-sel-bg": "#5da9f6", "--p-side": "#121212", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#121212", "--p-tabs": "#121212", "--p-text": "#dedacf", @@ -7446,10 +8871,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909094d", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212124d", "--p-text": "#dedacf", @@ -7472,10 +8902,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909094f", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212124f", "--p-text": "#dedacf", @@ -7498,10 +8933,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090952", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121252", "--p-text": "#dedacf", @@ -7524,10 +8964,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090954", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121254", "--p-text": "#dedacf", @@ -7550,10 +8995,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090957", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121257", "--p-text": "#dedacf", @@ -7576,10 +9026,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090959", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121259", "--p-text": "#dedacf", @@ -7602,10 +9057,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909095c", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212125c", "--p-text": "#dedacf", @@ -7628,10 +9088,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909095e", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212125e", "--p-text": "#dedacf", @@ -7654,10 +9119,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090961", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121261", "--p-text": "#dedacf", @@ -7680,10 +9150,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090963", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121263", "--p-text": "#dedacf", @@ -7706,10 +9181,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090966", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121266", "--p-text": "#dedacf", @@ -7732,10 +9212,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090969", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121269", "--p-text": "#dedacf", @@ -7758,10 +9243,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909096b", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212126b", "--p-text": "#dedacf", @@ -7784,10 +9274,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909096e", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212126e", "--p-text": "#dedacf", @@ -7810,10 +9305,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090970", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121270", "--p-text": "#dedacf", @@ -7836,10 +9336,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090973", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121273", "--p-text": "#dedacf", @@ -7862,10 +9367,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090975", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121275", "--p-text": "#dedacf", @@ -7888,10 +9398,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090978", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121278", "--p-text": "#dedacf", @@ -7914,10 +9429,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909097a", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212127a", "--p-text": "#dedacf", @@ -7940,10 +9460,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909097d", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212127d", "--p-text": "#dedacf", @@ -7966,10 +9491,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090980", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121280", "--p-text": "#dedacf", @@ -7992,10 +9522,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090982", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121282", "--p-text": "#dedacf", @@ -8018,10 +9553,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090985", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121285", "--p-text": "#dedacf", @@ -8044,10 +9584,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090987", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121287", "--p-text": "#dedacf", @@ -8070,10 +9615,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909098a", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212128a", "--p-text": "#dedacf", @@ -8096,10 +9646,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909098c", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212128c", "--p-text": "#dedacf", @@ -8122,10 +9677,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909098f", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212128f", "--p-text": "#dedacf", @@ -8148,10 +9708,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090991", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121291", "--p-text": "#dedacf", @@ -8174,10 +9739,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090994", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121294", "--p-text": "#dedacf", @@ -8200,10 +9770,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090996", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121296", "--p-text": "#dedacf", @@ -8226,10 +9801,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090999", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121299", "--p-text": "#dedacf", @@ -8252,10 +9832,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909099c", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212129c", "--p-text": "#dedacf", @@ -8278,10 +9863,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#0909099e", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#1212129e", "--p-text": "#dedacf", @@ -8304,10 +9894,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909a1", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212a1", "--p-text": "#dedacf", @@ -8330,10 +9925,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909a3", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212a3", "--p-text": "#dedacf", @@ -8356,10 +9956,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909a6", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212a6", "--p-text": "#dedacf", @@ -8382,10 +9987,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909a8", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212a8", "--p-text": "#dedacf", @@ -8408,10 +10018,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909ab", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212ab", "--p-text": "#dedacf", @@ -8434,10 +10049,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909ad", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212ad", "--p-text": "#dedacf", @@ -8460,10 +10080,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909b0", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212b0", "--p-text": "#dedacf", @@ -8486,10 +10111,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909b3", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212b3", "--p-text": "#dedacf", @@ -8512,10 +10142,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909b5", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212b5", "--p-text": "#dedacf", @@ -8538,10 +10173,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909b8", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212b8", "--p-text": "#dedacf", @@ -8564,10 +10204,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909ba", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212ba", "--p-text": "#dedacf", @@ -8590,10 +10235,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909bd", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212bd", "--p-text": "#dedacf", @@ -8616,10 +10266,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909bf", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212bf", "--p-text": "#dedacf", @@ -8642,10 +10297,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909c2", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212c2", "--p-text": "#dedacf", @@ -8668,10 +10328,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909c4", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212c4", "--p-text": "#dedacf", @@ -8694,10 +10359,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909c7", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212c7", "--p-text": "#dedacf", @@ -8720,10 +10390,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909c9", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212c9", "--p-text": "#dedacf", @@ -8746,10 +10421,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909cc", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212cc", "--p-text": "#dedacf", @@ -8772,10 +10452,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909cf", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212cf", "--p-text": "#dedacf", @@ -8798,10 +10483,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909d1", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212d1", "--p-text": "#dedacf", @@ -8824,10 +10514,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909d4", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212d4", "--p-text": "#dedacf", @@ -8850,10 +10545,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909d6", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212d6", "--p-text": "#dedacf", @@ -8876,10 +10576,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909d9", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212d9", "--p-text": "#dedacf", @@ -8902,10 +10607,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909db", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212db", "--p-text": "#dedacf", @@ -8928,10 +10638,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909de", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212de", "--p-text": "#dedacf", @@ -8954,10 +10669,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909e0", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212e0", "--p-text": "#dedacf", @@ -8980,10 +10700,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909e3", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212e3", "--p-text": "#dedacf", @@ -9006,10 +10731,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909e6", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212e6", "--p-text": "#dedacf", @@ -9032,10 +10762,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909e8", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212e8", "--p-text": "#dedacf", @@ -9058,10 +10793,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909eb", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212eb", "--p-text": "#dedacf", @@ -9084,10 +10824,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909ed", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212ed", "--p-text": "#dedacf", @@ -9110,10 +10855,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909f0", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212f0", "--p-text": "#dedacf", @@ -9136,10 +10886,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909f2", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212f2", "--p-text": "#dedacf", @@ -9162,10 +10917,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909f5", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212f5", "--p-text": "#dedacf", @@ -9188,10 +10948,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909f7", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212f7", "--p-text": "#dedacf", @@ -9214,10 +10979,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909fa", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212fa", "--p-text": "#dedacf", @@ -9240,10 +11010,15 @@ exports[`a saved opacity, as a ground alpha > pt-default: every N from 30 to 100 "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909fc", "--p-sel-bg": "#5da9f6", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#121212fc", "--p-text": "#dedacf", @@ -9271,10 +11046,15 @@ exports[`an opaque accent, before and after alpha > amber 1`] = ` "--p-icon": "#a57b39", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3e2d13", + "--p-pressed-ink": "#ffbf5a", "--p-preview": "#30220d", + "--p-secondary": "#110b0299", "--p-sel-bg": "#f0a030", "--p-side": "#110b0200", + "--p-side-dim": "#a99372", "--p-side-flat": "#1b1206", + "--p-side-text": "#ffbf5a", "--p-tab-active": "#110b0200", "--p-tabs": "#110b0299", "--p-text": "#ffbf5a", @@ -9297,10 +11077,15 @@ exports[`an opaque accent, before and after alpha > amber 1`] = ` "--p-icon": "#a57b39", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3e2d13", + "--p-pressed-ink": "#ffbf5a", "--p-preview": "#30220d", + "--p-secondary": "#110b02", "--p-sel-bg": "#e07a2f", "--p-side": "#110b02", + "--p-side-dim": "#a18a66", "--p-side-flat": "#1b1206", + "--p-side-text": "#ffbf5a", "--p-tab-active": "#110b02", "--p-tabs": "#110b02", "--p-text": "#ffbf5a", @@ -9323,10 +11108,15 @@ exports[`an opaque accent, before and after alpha > amber 1`] = ` "--p-icon": "#a57b39", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3e2d13", + "--p-pressed-ink": "#ffbf5a", "--p-preview": "#30220d", + "--p-secondary": "#110b0299", "--p-sel-bg": "#e07a2f", "--p-side": "#110b0200", + "--p-side-dim": "#a18a66", "--p-side-flat": "#1b1206", + "--p-side-text": "#ffbf5a", "--p-tab-active": "#110b0200", "--p-tabs": "#110b0299", "--p-text": "#ffbf5a", @@ -9349,10 +11139,15 @@ exports[`an opaque accent, before and after alpha > amber 1`] = ` "--p-icon": "#a57b39", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3e2d13", + "--p-pressed-ink": "#ffbf5a", "--p-preview": "#30220d", + "--p-secondary": "#110b02", "--p-sel-bg": "#f0a030", "--p-side": "#110b02", + "--p-side-dim": "#a99372", "--p-side-flat": "#1b1206", + "--p-side-text": "#ffbf5a", "--p-tab-active": "#110b02", "--p-tabs": "#110b02", "--p-text": "#ffbf5a", @@ -9372,77 +11167,92 @@ exports[`an opaque accent, before and after alpha > blossom 1`] = ` "--p-bg": "#fbeef299", "--p-bg-solid": "#fbeef2", "--p-control": "#eadce1", - "--p-dim": "#84707a", - "--p-dim2": "#8c7b84", + "--p-dim": "#715b66", + "--p-dim2": "#6d5d64", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#84707a", + "--p-icon": "#5e4753", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#4a3240", + "--p-pressed-ink": "#fbeef2", "--p-preview": "#dccdd3", + "--p-secondary": "#ecdfe399", "--p-sel-bg": "#c64a78", "--p-side": "#fbeef200", + "--p-side-dim": "#5f5158", "--p-side-flat": "#f3e6ea", + "--p-side-text": "#3b2230", "--p-tab-active": "#fbeef200", "--p-tabs": "#fbeef299", "--p-text": "#3b2230", "--p-text-soft": "#563f4b", "--p-title": "#fbeef299", - "--p-track": "#a5939c", + "--p-track": "#8c7882", "--p-tree-folder": "#a34066", }, "picked": { - "--p-accent": "#be6728", - "--p-accent-hi": "#9d562a", + "--p-accent": "#b26123", + "--p-accent-hi": "#945126", "--p-bg": "#fbeef2", "--p-bg-solid": "#fbeef2", "--p-control": "#eadce1", - "--p-dim": "#84707a", - "--p-dim2": "#8c7b84", + "--p-dim": "#715b66", + "--p-dim2": "#6d5d64", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#84707a", + "--p-icon": "#5e4753", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#4a3240", + "--p-pressed-ink": "#fbeef2", "--p-preview": "#dccdd3", - "--p-sel-bg": "#be6728", + "--p-secondary": "#ecdfe3", + "--p-sel-bg": "#b26123", "--p-side": "#fbeef2", + "--p-side-dim": "#5f5158", "--p-side-flat": "#f3e6ea", + "--p-side-text": "#3b2230", "--p-tab-active": "#fbeef2", "--p-tabs": "#fbeef2", "--p-text": "#3b2230", "--p-text-soft": "#563f4b", "--p-title": "#fbeef2", - "--p-track": "#a5939c", - "--p-tree-folder": "#9d562a", + "--p-track": "#8c7882", + "--p-tree-folder": "#945126", }, "pickedGlass": { - "--p-accent": "#be6728", - "--p-accent-hi": "#9d562a", + "--p-accent": "#b26123", + "--p-accent-hi": "#945126", "--p-bg": "#fbeef299", "--p-bg-solid": "#fbeef2", "--p-control": "#eadce1", - "--p-dim": "#84707a", - "--p-dim2": "#8c7b84", + "--p-dim": "#715b66", + "--p-dim2": "#6d5d64", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#84707a", + "--p-icon": "#5e4753", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#4a3240", + "--p-pressed-ink": "#fbeef2", "--p-preview": "#dccdd3", - "--p-sel-bg": "#be6728", + "--p-secondary": "#ecdfe399", + "--p-sel-bg": "#b26123", "--p-side": "#fbeef200", + "--p-side-dim": "#5f5158", "--p-side-flat": "#f3e6ea", + "--p-side-text": "#3b2230", "--p-tab-active": "#fbeef200", "--p-tabs": "#fbeef299", "--p-text": "#3b2230", "--p-text-soft": "#563f4b", "--p-title": "#fbeef299", - "--p-track": "#a5939c", - "--p-tree-folder": "#9d562a", + "--p-track": "#8c7882", + "--p-tree-folder": "#945126", }, "theme": { "--p-accent": "#c64a78", @@ -9450,24 +11260,29 @@ exports[`an opaque accent, before and after alpha > blossom 1`] = ` "--p-bg": "#fbeef2", "--p-bg-solid": "#fbeef2", "--p-control": "#eadce1", - "--p-dim": "#84707a", - "--p-dim2": "#8c7b84", + "--p-dim": "#715b66", + "--p-dim2": "#6d5d64", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#84707a", + "--p-icon": "#5e4753", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#4a3240", + "--p-pressed-ink": "#fbeef2", "--p-preview": "#dccdd3", + "--p-secondary": "#ecdfe3", "--p-sel-bg": "#c64a78", "--p-side": "#fbeef2", + "--p-side-dim": "#5f5158", "--p-side-flat": "#f3e6ea", + "--p-side-text": "#3b2230", "--p-tab-active": "#fbeef2", "--p-tabs": "#fbeef2", "--p-text": "#3b2230", "--p-text-soft": "#563f4b", "--p-title": "#fbeef2", - "--p-track": "#a5939c", + "--p-track": "#8c7882", "--p-tree-folder": "#a34066", }, } @@ -9481,77 +11296,92 @@ exports[`an opaque accent, before and after alpha > butter 1`] = ` "--p-bg": "#fbf5d899", "--p-bg-solid": "#fbf5d8", "--p-control": "#eae4c7", - "--p-dim": "#837d66", - "--p-dim2": "#8b8570", + "--p-dim": "#67614d", + "--p-dim2": "#645e4e", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#837d66", + "--p-icon": "#5d5641", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#49432f", + "--p-pressed-ink": "#fbf5d8", "--p-preview": "#dcd6bb", + "--p-secondary": "#ece6cb99", "--p-sel-bg": "#8f6b00", "--p-side": "#fbf5d800", + "--p-side-dim": "#575345", "--p-side-flat": "#f3edd1", + "--p-side-text": "#3a3320", "--p-tab-active": "#fbf5d800", "--p-tabs": "#fbf5d899", "--p-text": "#3a3320", "--p-text-soft": "#554e3a", "--p-title": "#fbf5d899", - "--p-track": "#a59f86", + "--p-track": "#8b856e", "--p-tree-folder": "#7a5d08", }, "picked": { - "--p-accent": "#be6728", - "--p-accent-hi": "#9d5a26", + "--p-accent": "#b36123", + "--p-accent-hi": "#955622", "--p-bg": "#fbf5d8", "--p-bg-solid": "#fbf5d8", "--p-control": "#eae4c7", - "--p-dim": "#837d66", - "--p-dim2": "#8b8570", + "--p-dim": "#67614d", + "--p-dim2": "#645e4e", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#837d66", + "--p-icon": "#5d5641", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#49432f", + "--p-pressed-ink": "#fbf5d8", "--p-preview": "#dcd6bb", - "--p-sel-bg": "#be6728", + "--p-secondary": "#ece6cb", + "--p-sel-bg": "#b36123", "--p-side": "#fbf5d8", + "--p-side-dim": "#575345", "--p-side-flat": "#f3edd1", + "--p-side-text": "#3a3320", "--p-tab-active": "#fbf5d8", "--p-tabs": "#fbf5d8", "--p-text": "#3a3320", "--p-text-soft": "#554e3a", "--p-title": "#fbf5d8", - "--p-track": "#a59f86", - "--p-tree-folder": "#9d5a26", + "--p-track": "#8b856e", + "--p-tree-folder": "#955622", }, "pickedGlass": { - "--p-accent": "#be6728", - "--p-accent-hi": "#9d5a26", + "--p-accent": "#b36123", + "--p-accent-hi": "#955622", "--p-bg": "#fbf5d899", "--p-bg-solid": "#fbf5d8", "--p-control": "#eae4c7", - "--p-dim": "#837d66", - "--p-dim2": "#8b8570", + "--p-dim": "#67614d", + "--p-dim2": "#645e4e", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#837d66", + "--p-icon": "#5d5641", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#49432f", + "--p-pressed-ink": "#fbf5d8", "--p-preview": "#dcd6bb", - "--p-sel-bg": "#be6728", + "--p-secondary": "#ece6cb99", + "--p-sel-bg": "#b36123", "--p-side": "#fbf5d800", + "--p-side-dim": "#575345", "--p-side-flat": "#f3edd1", + "--p-side-text": "#3a3320", "--p-tab-active": "#fbf5d800", "--p-tabs": "#fbf5d899", "--p-text": "#3a3320", "--p-text-soft": "#554e3a", "--p-title": "#fbf5d899", - "--p-track": "#a59f86", - "--p-tree-folder": "#9d5a26", + "--p-track": "#8b856e", + "--p-tree-folder": "#955622", }, "theme": { "--p-accent": "#8f6b00", @@ -9559,24 +11389,29 @@ exports[`an opaque accent, before and after alpha > butter 1`] = ` "--p-bg": "#fbf5d8", "--p-bg-solid": "#fbf5d8", "--p-control": "#eae4c7", - "--p-dim": "#837d66", - "--p-dim2": "#8b8570", + "--p-dim": "#67614d", + "--p-dim2": "#645e4e", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#837d66", + "--p-icon": "#5d5641", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#49432f", + "--p-pressed-ink": "#fbf5d8", "--p-preview": "#dcd6bb", + "--p-secondary": "#ece6cb", "--p-sel-bg": "#8f6b00", "--p-side": "#fbf5d8", + "--p-side-dim": "#575345", "--p-side-flat": "#f3edd1", + "--p-side-text": "#3a3320", "--p-tab-active": "#fbf5d8", "--p-tabs": "#fbf5d8", "--p-text": "#3a3320", "--p-text-soft": "#554e3a", "--p-title": "#fbf5d8", - "--p-track": "#a59f86", + "--p-track": "#8b856e", "--p-tree-folder": "#7a5d08", }, } @@ -9585,8 +11420,8 @@ exports[`an opaque accent, before and after alpha > butter 1`] = ` exports[`an opaque accent, before and after alpha > campbell 1`] = ` { "glass": { - "--p-accent": "#3b78ff", - "--p-accent-hi": "#5f8df2", + "--p-accent": "#3370e7", + "--p-accent-hi": "#5987e0", "--p-bg": "#0c0c0c99", "--p-bg-solid": "#0c0c0c", "--p-control": "#131313", @@ -9597,18 +11432,23 @@ exports[`an opaque accent, before and after alpha > campbell 1`] = ` "--p-hover-hi": "#ffffff1c", "--p-icon": "#838383", "--p-line": "#ffffff17", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#313131", + "--p-pressed-ink": "#cccccc", "--p-preview": "#252525", - "--p-sel-bg": "#3b78ff", + "--p-secondary": "#0c0c0c99", + "--p-sel-bg": "#3370e7", "--p-side": "#0c0c0c00", + "--p-side-dim": "#909090", "--p-side-flat": "#141414", + "--p-side-text": "#cccccc", "--p-tab-active": "#0c0c0c00", "--p-tabs": "#0c0c0c99", "--p-text": "#cccccc", "--p-text-soft": "#b1b1b1", "--p-title": "#0c0c0c99", "--p-track": "#505050", - "--p-tree-folder": "#5f8df2", + "--p-tree-folder": "#5987e0", }, "picked": { "--p-accent": "#e07a2f", @@ -9624,10 +11464,15 @@ exports[`an opaque accent, before and after alpha > campbell 1`] = ` "--p-icon": "#838383", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#313131", + "--p-pressed-ink": "#cccccc", "--p-preview": "#252525", + "--p-secondary": "#0c0c0c", "--p-sel-bg": "#e07a2f", "--p-side": "#0c0c0c", + "--p-side-dim": "#909090", "--p-side-flat": "#141414", + "--p-side-text": "#cccccc", "--p-tab-active": "#0c0c0c", "--p-tabs": "#0c0c0c", "--p-text": "#cccccc", @@ -9650,10 +11495,15 @@ exports[`an opaque accent, before and after alpha > campbell 1`] = ` "--p-icon": "#838383", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#313131", + "--p-pressed-ink": "#cccccc", "--p-preview": "#252525", + "--p-secondary": "#0c0c0c99", "--p-sel-bg": "#e07a2f", "--p-side": "#0c0c0c00", + "--p-side-dim": "#909090", "--p-side-flat": "#141414", + "--p-side-text": "#cccccc", "--p-tab-active": "#0c0c0c00", "--p-tabs": "#0c0c0c99", "--p-text": "#cccccc", @@ -9663,8 +11513,8 @@ exports[`an opaque accent, before and after alpha > campbell 1`] = ` "--p-tree-folder": "#db8f56", }, "theme": { - "--p-accent": "#3b78ff", - "--p-accent-hi": "#5f8df2", + "--p-accent": "#3370e7", + "--p-accent-hi": "#5987e0", "--p-bg": "#0c0c0c", "--p-bg-solid": "#0c0c0c", "--p-control": "#131313", @@ -9675,18 +11525,23 @@ exports[`an opaque accent, before and after alpha > campbell 1`] = ` "--p-hover-hi": "#ffffff1c", "--p-icon": "#838383", "--p-line": "#ffffff17", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#313131", + "--p-pressed-ink": "#cccccc", "--p-preview": "#252525", - "--p-sel-bg": "#3b78ff", + "--p-secondary": "#0c0c0c", + "--p-sel-bg": "#3370e7", "--p-side": "#0c0c0c", + "--p-side-dim": "#909090", "--p-side-flat": "#141414", + "--p-side-text": "#cccccc", "--p-tab-active": "#0c0c0c", "--p-tabs": "#0c0c0c", "--p-text": "#cccccc", "--p-text-soft": "#b1b1b1", "--p-title": "#0c0c0c", "--p-track": "#505050", - "--p-tree-folder": "#5f8df2", + "--p-tree-folder": "#5987e0", }, } `; @@ -9699,77 +11554,92 @@ exports[`an opaque accent, before and after alpha > catppuccin-latte 1`] = ` "--p-bg": "#eff1f599", "--p-bg-solid": "#eff1f5", "--p-control": "#e0e2e8", - "--p-dim": "#7f8291", - "--p-dim2": "#82848e", + "--p-dim": "#5f616f", + "--p-dim2": "#5e616d", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#7f8291", + "--p-icon": "#616378", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#595c74", + "--p-pressed-ink": "#eff1f5", "--p-preview": "#d5d7df", + "--p-secondary": "#e0e2e699", "--p-sel-bg": "#8839ef", "--p-side": "#eff1f500", + "--p-side-dim": "#4d4f57", "--p-side-flat": "#e8ebef", + "--p-side-text": "#323445", "--p-tab-active": "#eff1f500", "--p-tabs": "#eff1f599", "--p-text": "#4c4f69", - "--p-text-soft": "#63667d", + "--p-text-soft": "#5b5e73", "--p-title": "#eff1f599", - "--p-track": "#a6a9b7", + "--p-track": "#9193a4", "--p-tree-folder": "#793fce", }, "picked": { - "--p-accent": "#be6728", - "--p-accent-hi": "#a26138", + "--p-accent": "#b36123", + "--p-accent-hi": "#995d35", "--p-bg": "#eff1f5", "--p-bg-solid": "#eff1f5", "--p-control": "#e0e2e8", - "--p-dim": "#7f8291", - "--p-dim2": "#82848e", + "--p-dim": "#5f616f", + "--p-dim2": "#5e616d", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#7f8291", + "--p-icon": "#616378", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#595c74", + "--p-pressed-ink": "#eff1f5", "--p-preview": "#d5d7df", - "--p-sel-bg": "#be6728", + "--p-secondary": "#e0e2e6", + "--p-sel-bg": "#b36123", "--p-side": "#eff1f5", + "--p-side-dim": "#54565f", "--p-side-flat": "#e8ebef", + "--p-side-text": "#36394b", "--p-tab-active": "#eff1f5", "--p-tabs": "#eff1f5", "--p-text": "#4c4f69", - "--p-text-soft": "#63667d", + "--p-text-soft": "#5b5e73", "--p-title": "#eff1f5", - "--p-track": "#a6a9b7", - "--p-tree-folder": "#a26138", + "--p-track": "#9193a4", + "--p-tree-folder": "#995d35", }, "pickedGlass": { - "--p-accent": "#be6728", - "--p-accent-hi": "#a26138", + "--p-accent": "#b36123", + "--p-accent-hi": "#995d35", "--p-bg": "#eff1f599", "--p-bg-solid": "#eff1f5", "--p-control": "#e0e2e8", - "--p-dim": "#7f8291", - "--p-dim2": "#82848e", + "--p-dim": "#5f616f", + "--p-dim2": "#5e616d", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#7f8291", + "--p-icon": "#616378", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#595c74", + "--p-pressed-ink": "#eff1f5", "--p-preview": "#d5d7df", - "--p-sel-bg": "#be6728", + "--p-secondary": "#e0e2e699", + "--p-sel-bg": "#b36123", "--p-side": "#eff1f500", + "--p-side-dim": "#54565f", "--p-side-flat": "#e8ebef", + "--p-side-text": "#36394b", "--p-tab-active": "#eff1f500", "--p-tabs": "#eff1f599", "--p-text": "#4c4f69", - "--p-text-soft": "#63667d", + "--p-text-soft": "#5b5e73", "--p-title": "#eff1f599", - "--p-track": "#a6a9b7", - "--p-tree-folder": "#a26138", + "--p-track": "#9193a4", + "--p-tree-folder": "#995d35", }, "theme": { "--p-accent": "#8839ef", @@ -9777,24 +11647,29 @@ exports[`an opaque accent, before and after alpha > catppuccin-latte 1`] = ` "--p-bg": "#eff1f5", "--p-bg-solid": "#eff1f5", "--p-control": "#e0e2e8", - "--p-dim": "#7f8291", - "--p-dim2": "#82848e", + "--p-dim": "#5f616f", + "--p-dim2": "#5e616d", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#7f8291", + "--p-icon": "#616378", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#595c74", + "--p-pressed-ink": "#eff1f5", "--p-preview": "#d5d7df", + "--p-secondary": "#e0e2e6", "--p-sel-bg": "#8839ef", "--p-side": "#eff1f5", + "--p-side-dim": "#4d4f57", "--p-side-flat": "#e8ebef", + "--p-side-text": "#323445", "--p-tab-active": "#eff1f5", "--p-tabs": "#eff1f5", "--p-text": "#4c4f69", - "--p-text-soft": "#63667d", + "--p-text-soft": "#5b5e73", "--p-title": "#eff1f5", - "--p-track": "#a6a9b7", + "--p-track": "#9193a4", "--p-tree-folder": "#793fce", }, } @@ -9816,10 +11691,15 @@ exports[`an opaque accent, before and after alpha > catppuccin-mocha 1`] = ` "--p-icon": "#8b90a9", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3f4054", + "--p-pressed-ink": "#cdd6f4", "--p-preview": "#353648", + "--p-secondary": "#14142099", "--p-sel-bg": "#cba6f7", "--p-side": "#1e1e2e00", + "--p-side-dim": "#9b9daa", "--p-side-flat": "#252536", + "--p-side-text": "#cdd6f4", "--p-tab-active": "#1e1e2e00", "--p-tabs": "#1e1e2e99", "--p-text": "#cdd6f4", @@ -9842,10 +11722,15 @@ exports[`an opaque accent, before and after alpha > catppuccin-mocha 1`] = ` "--p-icon": "#8b90a9", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3f4054", + "--p-pressed-ink": "#cdd6f4", "--p-preview": "#353648", + "--p-secondary": "#141420", "--p-sel-bg": "#e07a2f", "--p-side": "#1e1e2e", + "--p-side-dim": "#9295a3", "--p-side-flat": "#252536", + "--p-side-text": "#cdd6f4", "--p-tab-active": "#1e1e2e", "--p-tabs": "#1e1e2e", "--p-text": "#cdd6f4", @@ -9868,10 +11753,15 @@ exports[`an opaque accent, before and after alpha > catppuccin-mocha 1`] = ` "--p-icon": "#8b90a9", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3f4054", + "--p-pressed-ink": "#cdd6f4", "--p-preview": "#353648", + "--p-secondary": "#14142099", "--p-sel-bg": "#e07a2f", "--p-side": "#1e1e2e00", + "--p-side-dim": "#9295a3", "--p-side-flat": "#252536", + "--p-side-text": "#cdd6f4", "--p-tab-active": "#1e1e2e00", "--p-tabs": "#1e1e2e99", "--p-text": "#cdd6f4", @@ -9894,10 +11784,15 @@ exports[`an opaque accent, before and after alpha > catppuccin-mocha 1`] = ` "--p-icon": "#8b90a9", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3f4054", + "--p-pressed-ink": "#cdd6f4", "--p-preview": "#353648", + "--p-secondary": "#141420", "--p-sel-bg": "#cba6f7", "--p-side": "#1e1e2e", + "--p-side-dim": "#9b9daa", "--p-side-flat": "#252536", + "--p-side-text": "#cdd6f4", "--p-tab-active": "#1e1e2e", "--p-tabs": "#1e1e2e", "--p-text": "#cdd6f4", @@ -9925,10 +11820,15 @@ exports[`an opaque accent, before and after alpha > cinder 1`] = ` "--p-icon": "#aca8a2", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#5c5d61", + "--p-pressed-ink": "#f3eadc", "--p-preview": "#505358", + "--p-secondary": "#2d303799", "--p-sel-bg": "#ec9448", "--p-side": "#383c4400", + "--p-side-dim": "#bcbab9", "--p-side-flat": "#3f434a", + "--p-side-text": "#f3eadc", "--p-tab-active": "#383c4400", "--p-tabs": "#383c4499", "--p-text": "#f3eadc", @@ -9951,10 +11851,15 @@ exports[`an opaque accent, before and after alpha > cinder 1`] = ` "--p-icon": "#aca8a2", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#5c5d61", + "--p-pressed-ink": "#f3eadc", "--p-preview": "#505358", + "--p-secondary": "#2d3037", "--p-sel-bg": "#e07a2f", "--p-side": "#383c44", + "--p-side-dim": "#b6b4b3", "--p-side-flat": "#3f434a", + "--p-side-text": "#f3eadc", "--p-tab-active": "#383c44", "--p-tabs": "#383c44", "--p-text": "#f3eadc", @@ -9977,10 +11882,15 @@ exports[`an opaque accent, before and after alpha > cinder 1`] = ` "--p-icon": "#aca8a2", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#5c5d61", + "--p-pressed-ink": "#f3eadc", "--p-preview": "#505358", + "--p-secondary": "#2d303799", "--p-sel-bg": "#e07a2f", "--p-side": "#383c4400", + "--p-side-dim": "#b6b4b3", "--p-side-flat": "#3f434a", + "--p-side-text": "#f3eadc", "--p-tab-active": "#383c4400", "--p-tabs": "#383c4499", "--p-text": "#f3eadc", @@ -10003,10 +11913,15 @@ exports[`an opaque accent, before and after alpha > cinder 1`] = ` "--p-icon": "#aca8a2", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#5c5d61", + "--p-pressed-ink": "#f3eadc", "--p-preview": "#505358", + "--p-secondary": "#2d3037", "--p-sel-bg": "#ec9448", "--p-side": "#383c44", + "--p-side-dim": "#bcbab9", "--p-side-flat": "#3f434a", + "--p-side-text": "#f3eadc", "--p-tab-active": "#383c44", "--p-tabs": "#383c44", "--p-text": "#f3eadc", @@ -10034,10 +11949,15 @@ exports[`an opaque accent, before and after alpha > cobalt 1`] = ` "--p-icon": "#a8b2ba", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#455b6b", + "--p-pressed-ink": "#ffffff", "--p-preview": "#374f61", + "--p-secondary": "#12293a99", "--p-sel-bg": "#ffc600", "--p-side": "#19354900", + "--p-side-dim": "#b0b7be", "--p-side-flat": "#223d50", + "--p-side-text": "#ffffff", "--p-tab-active": "#19354900", "--p-tabs": "#19354999", "--p-text": "#ffffff", @@ -10060,10 +11980,15 @@ exports[`an opaque accent, before and after alpha > cobalt 1`] = ` "--p-icon": "#a8b2ba", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#455b6b", + "--p-pressed-ink": "#ffffff", "--p-preview": "#374f61", + "--p-secondary": "#12293a", "--p-sel-bg": "#e07a2f", "--p-side": "#193549", + "--p-side-dim": "#a2aab2", "--p-side-flat": "#223d50", + "--p-side-text": "#ffffff", "--p-tab-active": "#193549", "--p-tabs": "#193549", "--p-text": "#ffffff", @@ -10086,10 +12011,15 @@ exports[`an opaque accent, before and after alpha > cobalt 1`] = ` "--p-icon": "#a8b2ba", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#455b6b", + "--p-pressed-ink": "#ffffff", "--p-preview": "#374f61", + "--p-secondary": "#12293a99", "--p-sel-bg": "#e07a2f", "--p-side": "#19354900", + "--p-side-dim": "#a2aab2", "--p-side-flat": "#223d50", + "--p-side-text": "#ffffff", "--p-tab-active": "#19354900", "--p-tabs": "#19354999", "--p-text": "#ffffff", @@ -10112,10 +12042,15 @@ exports[`an opaque accent, before and after alpha > cobalt 1`] = ` "--p-icon": "#a8b2ba", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#455b6b", + "--p-pressed-ink": "#ffffff", "--p-preview": "#374f61", + "--p-secondary": "#12293a", "--p-sel-bg": "#ffc600", "--p-side": "#193549", + "--p-side-dim": "#b0b7be", "--p-side-flat": "#223d50", + "--p-side-text": "#ffffff", "--p-tab-active": "#193549", "--p-tabs": "#193549", "--p-text": "#ffffff", @@ -10143,10 +12078,15 @@ exports[`an opaque accent, before and after alpha > dracula 1`] = ` "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d99", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f2900", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2999", "--p-text": "#f8f8f2", @@ -10169,10 +12109,15 @@ exports[`an opaque accent, before and after alpha > dracula 1`] = ` "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d", "--p-sel-bg": "#e07a2f", "--p-side": "#1e1f29", + "--p-side-dim": "#99999a", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f29", "--p-tabs": "#1e1f29", "--p-text": "#f8f8f2", @@ -10195,10 +12140,15 @@ exports[`an opaque accent, before and after alpha > dracula 1`] = ` "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d99", "--p-sel-bg": "#e07a2f", "--p-side": "#1e1f2900", + "--p-side-dim": "#99999a", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f2900", "--p-tabs": "#1e1f2999", "--p-text": "#f8f8f2", @@ -10221,10 +12171,15 @@ exports[`an opaque accent, before and after alpha > dracula 1`] = ` "--p-icon": "#a5a6a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#48484f", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#3a3b43", + "--p-secondary": "#14151d", "--p-sel-bg": "#bd93f9", "--p-side": "#1e1f29", + "--p-side-dim": "#a1a1a2", "--p-side-flat": "#272831", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#1e1f29", "--p-tabs": "#1e1f29", "--p-text": "#f8f8f2", @@ -10244,77 +12199,92 @@ exports[`an opaque accent, before and after alpha > fawn 1`] = ` "--p-bg": "#e6d8c099", "--p-bg-solid": "#e6d8c0", "--p-control": "#d7c8b2", - "--p-dim": "#7d6c5c", - "--p-dim2": "#796c5d", + "--p-dim": "#5b4d40", + "--p-dim2": "#5e5347", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#7d6c5c", + "--p-icon": "#5b493c", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#4b382c", + "--p-pressed-ink": "#e6d8c0", "--p-preview": "#cbbca6", + "--p-secondary": "#d7cab399", "--p-sel-bg": "#8a5a3c", "--p-side": "#e6d8c000", + "--p-side-dim": "#4c4239", "--p-side-flat": "#dfd1ba", + "--p-side-text": "#38271d", "--p-tab-active": "#e6d8c000", "--p-tabs": "#e6d8c099", "--p-text": "#3d2a1f", "--p-text-soft": "#554236", "--p-title": "#e6d8c099", - "--p-track": "#9b8a78", + "--p-track": "#847363", "--p-tree-folder": "#774e35", }, "picked": { - "--p-accent": "#af5f25", - "--p-accent-hi": "#935224", + "--p-accent": "#a35720", + "--p-accent-hi": "#8a4c20", "--p-bg": "#e6d8c0", "--p-bg-solid": "#e6d8c0", "--p-control": "#d7c8b2", - "--p-dim": "#7d6c5c", - "--p-dim2": "#796c5d", + "--p-dim": "#5b4d40", + "--p-dim2": "#5e5347", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#7d6c5c", + "--p-icon": "#5b493c", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#4b382c", + "--p-pressed-ink": "#e6d8c0", "--p-preview": "#cbbca6", - "--p-sel-bg": "#af5f25", + "--p-secondary": "#d7cab3", + "--p-sel-bg": "#a35720", "--p-side": "#e6d8c0", + "--p-side-dim": "#4c4239", "--p-side-flat": "#dfd1ba", + "--p-side-text": "#38271d", "--p-tab-active": "#e6d8c0", "--p-tabs": "#e6d8c0", "--p-text": "#3d2a1f", "--p-text-soft": "#554236", "--p-title": "#e6d8c0", - "--p-track": "#9b8a78", - "--p-tree-folder": "#935224", + "--p-track": "#847363", + "--p-tree-folder": "#8a4c20", }, "pickedGlass": { - "--p-accent": "#af5f25", - "--p-accent-hi": "#935224", + "--p-accent": "#a35720", + "--p-accent-hi": "#8a4c20", "--p-bg": "#e6d8c099", "--p-bg-solid": "#e6d8c0", "--p-control": "#d7c8b2", - "--p-dim": "#7d6c5c", - "--p-dim2": "#796c5d", + "--p-dim": "#5b4d40", + "--p-dim2": "#5e5347", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#7d6c5c", + "--p-icon": "#5b493c", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#4b382c", + "--p-pressed-ink": "#e6d8c0", "--p-preview": "#cbbca6", - "--p-sel-bg": "#af5f25", + "--p-secondary": "#d7cab399", + "--p-sel-bg": "#a35720", "--p-side": "#e6d8c000", + "--p-side-dim": "#4c4239", "--p-side-flat": "#dfd1ba", + "--p-side-text": "#38271d", "--p-tab-active": "#e6d8c000", "--p-tabs": "#e6d8c099", "--p-text": "#3d2a1f", "--p-text-soft": "#554236", "--p-title": "#e6d8c099", - "--p-track": "#9b8a78", - "--p-tree-folder": "#935224", + "--p-track": "#847363", + "--p-tree-folder": "#8a4c20", }, "theme": { "--p-accent": "#8a5a3c", @@ -10322,24 +12292,29 @@ exports[`an opaque accent, before and after alpha > fawn 1`] = ` "--p-bg": "#e6d8c0", "--p-bg-solid": "#e6d8c0", "--p-control": "#d7c8b2", - "--p-dim": "#7d6c5c", - "--p-dim2": "#796c5d", + "--p-dim": "#5b4d40", + "--p-dim2": "#5e5347", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#7d6c5c", + "--p-icon": "#5b493c", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#4b382c", + "--p-pressed-ink": "#e6d8c0", "--p-preview": "#cbbca6", + "--p-secondary": "#d7cab3", "--p-sel-bg": "#8a5a3c", "--p-side": "#e6d8c0", + "--p-side-dim": "#4c4239", "--p-side-flat": "#dfd1ba", + "--p-side-text": "#38271d", "--p-tab-active": "#e6d8c0", "--p-tabs": "#e6d8c0", "--p-text": "#3d2a1f", "--p-text-soft": "#554236", "--p-title": "#e6d8c0", - "--p-track": "#9b8a78", + "--p-track": "#847363", "--p-tree-folder": "#774e35", }, } @@ -10348,8 +12323,8 @@ exports[`an opaque accent, before and after alpha > fawn 1`] = ` exports[`an opaque accent, before and after alpha > garnet 1`] = ` { "glass": { - "--p-accent": "#e2475c", - "--p-accent-hi": "#e66c7c", + "--p-accent": "#d44055", + "--p-accent-hi": "#dc6777", "--p-bg": "#1f0d1099", "--p-bg-solid": "#1f0d10", "--p-control": "#261417", @@ -10360,18 +12335,23 @@ exports[`an opaque accent, before and after alpha > garnet 1`] = ` "--p-hover-hi": "#ffffff1c", "--p-icon": "#a28c8f", "--p-line": "#ffffff17", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#473437", + "--p-pressed-ink": "#f3dadd", "--p-preview": "#3b282b", - "--p-sel-bg": "#e2475c", + "--p-secondary": "#12060799", + "--p-sel-bg": "#d44055", "--p-side": "#1f0d1000", + "--p-side-dim": "#958688", "--p-side-flat": "#271518", + "--p-side-text": "#f3dadd", "--p-tab-active": "#1f0d1000", "--p-tabs": "#1f0d1099", "--p-text": "#f3dadd", "--p-text-soft": "#d5bdc0", "--p-title": "#1f0d1099", "--p-track": "#6b5659", - "--p-tree-folder": "#e66c7c", + "--p-tree-folder": "#dc6777", }, "picked": { "--p-accent": "#e07a2f", @@ -10387,10 +12367,15 @@ exports[`an opaque accent, before and after alpha > garnet 1`] = ` "--p-icon": "#a28c8f", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#473437", + "--p-pressed-ink": "#f3dadd", "--p-preview": "#3b282b", + "--p-secondary": "#120607", "--p-sel-bg": "#e07a2f", "--p-side": "#1f0d10", + "--p-side-dim": "#9d9092", "--p-side-flat": "#271518", + "--p-side-text": "#f3dadd", "--p-tab-active": "#1f0d10", "--p-tabs": "#1f0d10", "--p-text": "#f3dadd", @@ -10413,10 +12398,15 @@ exports[`an opaque accent, before and after alpha > garnet 1`] = ` "--p-icon": "#a28c8f", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#473437", + "--p-pressed-ink": "#f3dadd", "--p-preview": "#3b282b", + "--p-secondary": "#12060799", "--p-sel-bg": "#e07a2f", "--p-side": "#1f0d1000", + "--p-side-dim": "#9d9092", "--p-side-flat": "#271518", + "--p-side-text": "#f3dadd", "--p-tab-active": "#1f0d1000", "--p-tabs": "#1f0d1099", "--p-text": "#f3dadd", @@ -10426,8 +12416,8 @@ exports[`an opaque accent, before and after alpha > garnet 1`] = ` "--p-tree-folder": "#e5925b", }, "theme": { - "--p-accent": "#e2475c", - "--p-accent-hi": "#e66c7c", + "--p-accent": "#d44055", + "--p-accent-hi": "#dc6777", "--p-bg": "#1f0d10", "--p-bg-solid": "#1f0d10", "--p-control": "#261417", @@ -10438,18 +12428,23 @@ exports[`an opaque accent, before and after alpha > garnet 1`] = ` "--p-hover-hi": "#ffffff1c", "--p-icon": "#a28c8f", "--p-line": "#ffffff17", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#473437", + "--p-pressed-ink": "#f3dadd", "--p-preview": "#3b282b", - "--p-sel-bg": "#e2475c", + "--p-secondary": "#120607", + "--p-sel-bg": "#d44055", "--p-side": "#1f0d10", + "--p-side-dim": "#958688", "--p-side-flat": "#271518", + "--p-side-text": "#f3dadd", "--p-tab-active": "#1f0d10", "--p-tabs": "#1f0d10", "--p-text": "#f3dadd", "--p-text-soft": "#d5bdc0", "--p-title": "#1f0d10", "--p-track": "#6b5659", - "--p-tree-folder": "#e66c7c", + "--p-tree-folder": "#dc6777", }, } `; @@ -10470,10 +12465,15 @@ exports[`an opaque accent, before and after alpha > graphite 1`] = ` "--p-icon": "#909090", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#414141", + "--p-pressed-ink": "#d6d6d6", "--p-preview": "#373737", + "--p-secondary": "#15151599", "--p-sel-bg": "#9a9a9a", "--p-side": "#1f1f1f00", + "--p-side-dim": "#9e9e9e", "--p-side-flat": "#262626", + "--p-side-text": "#d6d6d6", "--p-tab-active": "#1f1f1f00", "--p-tabs": "#1f1f1f99", "--p-text": "#d6d6d6", @@ -10496,10 +12496,15 @@ exports[`an opaque accent, before and after alpha > graphite 1`] = ` "--p-icon": "#909090", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#414141", + "--p-pressed-ink": "#d6d6d6", "--p-preview": "#373737", + "--p-secondary": "#151515", "--p-sel-bg": "#e07a2f", "--p-side": "#1f1f1f", + "--p-side-dim": "#969696", "--p-side-flat": "#262626", + "--p-side-text": "#d6d6d6", "--p-tab-active": "#1f1f1f", "--p-tabs": "#1f1f1f", "--p-text": "#d6d6d6", @@ -10522,10 +12527,15 @@ exports[`an opaque accent, before and after alpha > graphite 1`] = ` "--p-icon": "#909090", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#414141", + "--p-pressed-ink": "#d6d6d6", "--p-preview": "#373737", + "--p-secondary": "#15151599", "--p-sel-bg": "#e07a2f", "--p-side": "#1f1f1f00", + "--p-side-dim": "#969696", "--p-side-flat": "#262626", + "--p-side-text": "#d6d6d6", "--p-tab-active": "#1f1f1f00", "--p-tabs": "#1f1f1f99", "--p-text": "#d6d6d6", @@ -10548,10 +12558,15 @@ exports[`an opaque accent, before and after alpha > graphite 1`] = ` "--p-icon": "#909090", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#414141", + "--p-pressed-ink": "#d6d6d6", "--p-preview": "#373737", + "--p-secondary": "#151515", "--p-sel-bg": "#9a9a9a", "--p-side": "#1f1f1f", + "--p-side-dim": "#9e9e9e", "--p-side-flat": "#262626", + "--p-side-text": "#d6d6d6", "--p-tab-active": "#1f1f1f", "--p-tabs": "#1f1f1f", "--p-text": "#d6d6d6", @@ -10579,10 +12594,15 @@ exports[`an opaque accent, before and after alpha > gruvbox-dark 1`] = ` "--p-icon": "#a1977e", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4d4a42", + "--p-pressed-ink": "#ebdbb2", "--p-preview": "#413f3a", + "--p-secondary": "#1d1d1d99", "--p-sel-bg": "#fe8019", "--p-side": "#28282800", + "--p-side-dim": "#a8a297", "--p-side-flat": "#302f2e", + "--p-side-text": "#ebdbb2", "--p-tab-active": "#28282800", "--p-tabs": "#28282899", "--p-text": "#ebdbb2", @@ -10605,10 +12625,15 @@ exports[`an opaque accent, before and after alpha > gruvbox-dark 1`] = ` "--p-icon": "#a1977e", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4d4a42", + "--p-pressed-ink": "#ebdbb2", "--p-preview": "#413f3a", + "--p-secondary": "#1d1d1d", "--p-sel-bg": "#e07a2f", "--p-side": "#282828", + "--p-side-dim": "#a8a297", "--p-side-flat": "#302f2e", + "--p-side-text": "#ebdbb2", "--p-tab-active": "#282828", "--p-tabs": "#282828", "--p-text": "#ebdbb2", @@ -10631,10 +12656,15 @@ exports[`an opaque accent, before and after alpha > gruvbox-dark 1`] = ` "--p-icon": "#a1977e", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4d4a42", + "--p-pressed-ink": "#ebdbb2", "--p-preview": "#413f3a", + "--p-secondary": "#1d1d1d99", "--p-sel-bg": "#e07a2f", "--p-side": "#28282800", + "--p-side-dim": "#a8a297", "--p-side-flat": "#302f2e", + "--p-side-text": "#ebdbb2", "--p-tab-active": "#28282800", "--p-tabs": "#28282899", "--p-text": "#ebdbb2", @@ -10657,10 +12687,15 @@ exports[`an opaque accent, before and after alpha > gruvbox-dark 1`] = ` "--p-icon": "#a1977e", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4d4a42", + "--p-pressed-ink": "#ebdbb2", "--p-preview": "#413f3a", + "--p-secondary": "#1d1d1d", "--p-sel-bg": "#fe8019", "--p-side": "#282828", + "--p-side-dim": "#a8a297", "--p-side-flat": "#302f2e", + "--p-side-text": "#ebdbb2", "--p-tab-active": "#282828", "--p-tabs": "#282828", "--p-text": "#ebdbb2", @@ -10688,10 +12723,15 @@ exports[`an opaque accent, before and after alpha > horizon 1`] = ` "--p-icon": "#8f9196", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3f4248", + "--p-pressed-ink": "#d5d8da", "--p-preview": "#34363d", + "--p-secondary": "#12141a99", "--p-sel-bg": "#e95678", "--p-side": "#1c1e2600", + "--p-side-dim": "#949699", "--p-side-flat": "#23252d", + "--p-side-text": "#d5d8da", "--p-tab-active": "#1c1e2600", "--p-tabs": "#1c1e2699", "--p-text": "#d5d8da", @@ -10714,10 +12754,15 @@ exports[`an opaque accent, before and after alpha > horizon 1`] = ` "--p-icon": "#8f9196", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3f4248", + "--p-pressed-ink": "#d5d8da", "--p-preview": "#34363d", + "--p-secondary": "#12141a", "--p-sel-bg": "#e07a2f", "--p-side": "#1c1e26", + "--p-side-dim": "#949699", "--p-side-flat": "#23252d", + "--p-side-text": "#d5d8da", "--p-tab-active": "#1c1e26", "--p-tabs": "#1c1e26", "--p-text": "#d5d8da", @@ -10740,10 +12785,15 @@ exports[`an opaque accent, before and after alpha > horizon 1`] = ` "--p-icon": "#8f9196", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3f4248", + "--p-pressed-ink": "#d5d8da", "--p-preview": "#34363d", + "--p-secondary": "#12141a99", "--p-sel-bg": "#e07a2f", "--p-side": "#1c1e2600", + "--p-side-dim": "#949699", "--p-side-flat": "#23252d", + "--p-side-text": "#d5d8da", "--p-tab-active": "#1c1e2600", "--p-tabs": "#1c1e2699", "--p-text": "#d5d8da", @@ -10766,10 +12816,15 @@ exports[`an opaque accent, before and after alpha > horizon 1`] = ` "--p-icon": "#8f9196", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3f4248", + "--p-pressed-ink": "#d5d8da", "--p-preview": "#34363d", + "--p-secondary": "#12141a", "--p-sel-bg": "#e95678", "--p-side": "#1c1e26", + "--p-side-dim": "#949699", "--p-side-flat": "#23252d", + "--p-side-text": "#d5d8da", "--p-tab-active": "#1c1e26", "--p-tabs": "#1c1e26", "--p-text": "#d5d8da", @@ -10797,10 +12852,15 @@ exports[`an opaque accent, before and after alpha > kanagawa 1`] = ` "--p-icon": "#949183", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#434144", + "--p-pressed-ink": "#dcd7ba", "--p-preview": "#38373b", + "--p-secondary": "#15151c99", "--p-sel-bg": "#7e9cd8", "--p-side": "#1f1f2800", + "--p-side-dim": "#a19e99", "--p-side-flat": "#27262e", + "--p-side-text": "#dcd7ba", "--p-tab-active": "#1f1f2800", "--p-tabs": "#1f1f2899", "--p-text": "#dcd7ba", @@ -10823,10 +12883,15 @@ exports[`an opaque accent, before and after alpha > kanagawa 1`] = ` "--p-icon": "#949183", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#434144", + "--p-pressed-ink": "#dcd7ba", "--p-preview": "#38373b", + "--p-secondary": "#15151c", "--p-sel-bg": "#e07a2f", "--p-side": "#1f1f28", + "--p-side-dim": "#999690", "--p-side-flat": "#27262e", + "--p-side-text": "#dcd7ba", "--p-tab-active": "#1f1f28", "--p-tabs": "#1f1f28", "--p-text": "#dcd7ba", @@ -10849,10 +12914,15 @@ exports[`an opaque accent, before and after alpha > kanagawa 1`] = ` "--p-icon": "#949183", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#434144", + "--p-pressed-ink": "#dcd7ba", "--p-preview": "#38373b", + "--p-secondary": "#15151c99", "--p-sel-bg": "#e07a2f", "--p-side": "#1f1f2800", + "--p-side-dim": "#999690", "--p-side-flat": "#27262e", + "--p-side-text": "#dcd7ba", "--p-tab-active": "#1f1f2800", "--p-tabs": "#1f1f2899", "--p-text": "#dcd7ba", @@ -10875,10 +12945,15 @@ exports[`an opaque accent, before and after alpha > kanagawa 1`] = ` "--p-icon": "#949183", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#434144", + "--p-pressed-ink": "#dcd7ba", "--p-preview": "#38373b", + "--p-secondary": "#15151c", "--p-sel-bg": "#7e9cd8", "--p-side": "#1f1f28", + "--p-side-dim": "#a19e99", "--p-side-flat": "#27262e", + "--p-side-text": "#dcd7ba", "--p-tab-active": "#1f1f28", "--p-tabs": "#1f1f28", "--p-text": "#dcd7ba", @@ -10898,77 +12973,92 @@ exports[`an opaque accent, before and after alpha > lavender 1`] = ` "--p-bg": "#f1edfa99", "--p-bg-solid": "#f1edfa", "--p-control": "#dfdbe9", - "--p-dim": "#787187", - "--p-dim2": "#827c8d", + "--p-dim": "#655d74", + "--p-dim2": "#645e6f", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#787187", + "--p-icon": "#514961", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#3e354f", + "--p-pressed-ink": "#f1edfa", "--p-preview": "#d2cddc", + "--p-secondary": "#e2deeb99", "--p-sel-bg": "#7c5cc4", "--p-side": "#f1edfa00", + "--p-side-dim": "#504c5a", "--p-side-flat": "#e9e5f3", + "--p-side-text": "#2e2540", "--p-tab-active": "#f1edfa00", "--p-tabs": "#f1edfa99", "--p-text": "#2e2540", "--p-text-soft": "#49415a", "--p-title": "#f1edfa99", - "--p-track": "#9a94a7", + "--p-track": "#80798e", "--p-tree-folder": "#694ea3", }, "picked": { - "--p-accent": "#be6728", - "--p-accent-hi": "#9a572e", + "--p-accent": "#b26023", + "--p-accent-hi": "#91512a", "--p-bg": "#f1edfa", "--p-bg-solid": "#f1edfa", "--p-control": "#dfdbe9", - "--p-dim": "#787187", - "--p-dim2": "#827c8d", + "--p-dim": "#655d74", + "--p-dim2": "#645e6f", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#787187", + "--p-icon": "#514961", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#3e354f", + "--p-pressed-ink": "#f1edfa", "--p-preview": "#d2cddc", - "--p-sel-bg": "#be6728", + "--p-secondary": "#e2deeb", + "--p-sel-bg": "#b26023", "--p-side": "#f1edfa", + "--p-side-dim": "#504c5a", "--p-side-flat": "#e9e5f3", + "--p-side-text": "#2e2540", "--p-tab-active": "#f1edfa", "--p-tabs": "#f1edfa", "--p-text": "#2e2540", "--p-text-soft": "#49415a", "--p-title": "#f1edfa", - "--p-track": "#9a94a7", - "--p-tree-folder": "#9a572e", + "--p-track": "#80798e", + "--p-tree-folder": "#91512a", }, "pickedGlass": { - "--p-accent": "#be6728", - "--p-accent-hi": "#9a572e", + "--p-accent": "#b26023", + "--p-accent-hi": "#91512a", "--p-bg": "#f1edfa99", "--p-bg-solid": "#f1edfa", "--p-control": "#dfdbe9", - "--p-dim": "#787187", - "--p-dim2": "#827c8d", + "--p-dim": "#655d74", + "--p-dim2": "#645e6f", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#787187", + "--p-icon": "#514961", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#3e354f", + "--p-pressed-ink": "#f1edfa", "--p-preview": "#d2cddc", - "--p-sel-bg": "#be6728", + "--p-secondary": "#e2deeb99", + "--p-sel-bg": "#b26023", "--p-side": "#f1edfa00", + "--p-side-dim": "#504c5a", "--p-side-flat": "#e9e5f3", + "--p-side-text": "#2e2540", "--p-tab-active": "#f1edfa00", "--p-tabs": "#f1edfa99", "--p-text": "#2e2540", "--p-text-soft": "#49415a", "--p-title": "#f1edfa99", - "--p-track": "#9a94a7", - "--p-tree-folder": "#9a572e", + "--p-track": "#80798e", + "--p-tree-folder": "#91512a", }, "theme": { "--p-accent": "#7c5cc4", @@ -10976,24 +13066,29 @@ exports[`an opaque accent, before and after alpha > lavender 1`] = ` "--p-bg": "#f1edfa", "--p-bg-solid": "#f1edfa", "--p-control": "#dfdbe9", - "--p-dim": "#787187", - "--p-dim2": "#827c8d", + "--p-dim": "#655d74", + "--p-dim2": "#645e6f", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#787187", + "--p-icon": "#514961", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#3e354f", + "--p-pressed-ink": "#f1edfa", "--p-preview": "#d2cddc", + "--p-secondary": "#e2deeb", "--p-sel-bg": "#7c5cc4", "--p-side": "#f1edfa", + "--p-side-dim": "#504c5a", "--p-side-flat": "#e9e5f3", + "--p-side-text": "#2e2540", "--p-tab-active": "#f1edfa", "--p-tabs": "#f1edfa", "--p-text": "#2e2540", "--p-text-soft": "#49415a", "--p-title": "#f1edfa", - "--p-track": "#9a94a7", + "--p-track": "#80798e", "--p-tree-folder": "#694ea3", }, } @@ -11015,10 +13110,15 @@ exports[`an opaque accent, before and after alpha > marine 1`] = ` "--p-icon": "#94a1b5", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#2e4a73", + "--p-pressed-ink": "#eeedf0", "--p-preview": "#203e6a", + "--p-secondary": "#011a4299", "--p-sel-bg": "#ffd866", "--p-side": "#01245600", + "--p-side-dim": "#9ea7b6", "--p-side-flat": "#0a2c5c", + "--p-side-text": "#eeedf0", "--p-tab-active": "#01245600", "--p-tabs": "#01245699", "--p-text": "#eeedf0", @@ -11041,10 +13141,15 @@ exports[`an opaque accent, before and after alpha > marine 1`] = ` "--p-icon": "#94a1b5", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#2e4a73", + "--p-pressed-ink": "#eeedf0", "--p-preview": "#203e6a", + "--p-secondary": "#011a42", "--p-sel-bg": "#e07a2f", "--p-side": "#012456", + "--p-side-dim": "#969fb0", "--p-side-flat": "#0a2c5c", + "--p-side-text": "#eeedf0", "--p-tab-active": "#012456", "--p-tabs": "#012456", "--p-text": "#eeedf0", @@ -11067,10 +13172,15 @@ exports[`an opaque accent, before and after alpha > marine 1`] = ` "--p-icon": "#94a1b5", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#2e4a73", + "--p-pressed-ink": "#eeedf0", "--p-preview": "#203e6a", + "--p-secondary": "#011a4299", "--p-sel-bg": "#e07a2f", "--p-side": "#01245600", + "--p-side-dim": "#969fb0", "--p-side-flat": "#0a2c5c", + "--p-side-text": "#eeedf0", "--p-tab-active": "#01245600", "--p-tabs": "#01245699", "--p-text": "#eeedf0", @@ -11093,10 +13203,15 @@ exports[`an opaque accent, before and after alpha > marine 1`] = ` "--p-icon": "#94a1b5", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#2e4a73", + "--p-pressed-ink": "#eeedf0", "--p-preview": "#203e6a", + "--p-secondary": "#011a42", "--p-sel-bg": "#ffd866", "--p-side": "#012456", + "--p-side-dim": "#9ea7b6", "--p-side-flat": "#0a2c5c", + "--p-side-text": "#eeedf0", "--p-tab-active": "#012456", "--p-tabs": "#012456", "--p-text": "#eeedf0", @@ -11116,77 +13231,92 @@ exports[`an opaque accent, before and after alpha > mint 1`] = ` "--p-bg": "#e5f6ef99", "--p-bg-solid": "#e5f6ef", "--p-control": "#d3e4dd", - "--p-dim": "#697c74", - "--p-dim2": "#76847f", + "--p-dim": "#556860", + "--p-dim2": "#586661", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#697c74", + "--p-icon": "#41544d", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#2d4139", + "--p-pressed-ink": "#e5f6ef", "--p-preview": "#c5d6cf", + "--p-secondary": "#d7e7e099", "--p-sel-bg": "#17805c", "--p-side": "#e5f6ef00", + "--p-side-dim": "#46534e", "--p-side-flat": "#ddeee7", + "--p-side-text": "#1d3129", "--p-tab-active": "#e5f6ef00", "--p-tabs": "#e5f6ef99", "--p-text": "#1d3129", "--p-text-soft": "#394d45", "--p-title": "#e5f6ef99", - "--p-track": "#8c9e97", + "--p-track": "#71847c", "--p-tree-folder": "#196c4f", }, "picked": { - "--p-accent": "#be6728", - "--p-accent-hi": "#965a28", + "--p-accent": "#b36123", + "--p-accent-hi": "#8e5525", "--p-bg": "#e5f6ef", "--p-bg-solid": "#e5f6ef", "--p-control": "#d3e4dd", - "--p-dim": "#697c74", - "--p-dim2": "#76847f", + "--p-dim": "#556860", + "--p-dim2": "#586661", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#697c74", + "--p-icon": "#41544d", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#2d4139", + "--p-pressed-ink": "#e5f6ef", "--p-preview": "#c5d6cf", - "--p-sel-bg": "#be6728", + "--p-secondary": "#d7e7e0", + "--p-sel-bg": "#b36123", "--p-side": "#e5f6ef", + "--p-side-dim": "#46534e", "--p-side-flat": "#ddeee7", + "--p-side-text": "#1d3129", "--p-tab-active": "#e5f6ef", "--p-tabs": "#e5f6ef", "--p-text": "#1d3129", "--p-text-soft": "#394d45", "--p-title": "#e5f6ef", - "--p-track": "#8c9e97", - "--p-tree-folder": "#965a28", + "--p-track": "#71847c", + "--p-tree-folder": "#8e5525", }, "pickedGlass": { - "--p-accent": "#be6728", - "--p-accent-hi": "#965a28", + "--p-accent": "#b36123", + "--p-accent-hi": "#8e5525", "--p-bg": "#e5f6ef99", "--p-bg-solid": "#e5f6ef", "--p-control": "#d3e4dd", - "--p-dim": "#697c74", - "--p-dim2": "#76847f", + "--p-dim": "#556860", + "--p-dim2": "#586661", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#697c74", + "--p-icon": "#41544d", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#2d4139", + "--p-pressed-ink": "#e5f6ef", "--p-preview": "#c5d6cf", - "--p-sel-bg": "#be6728", + "--p-secondary": "#d7e7e099", + "--p-sel-bg": "#b36123", "--p-side": "#e5f6ef00", + "--p-side-dim": "#46534e", "--p-side-flat": "#ddeee7", + "--p-side-text": "#1d3129", "--p-tab-active": "#e5f6ef00", "--p-tabs": "#e5f6ef99", "--p-text": "#1d3129", "--p-text-soft": "#394d45", "--p-title": "#e5f6ef99", - "--p-track": "#8c9e97", - "--p-tree-folder": "#965a28", + "--p-track": "#71847c", + "--p-tree-folder": "#8e5525", }, "theme": { "--p-accent": "#17805c", @@ -11194,24 +13324,29 @@ exports[`an opaque accent, before and after alpha > mint 1`] = ` "--p-bg": "#e5f6ef", "--p-bg-solid": "#e5f6ef", "--p-control": "#d3e4dd", - "--p-dim": "#697c74", - "--p-dim2": "#76847f", + "--p-dim": "#556860", + "--p-dim2": "#586661", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#697c74", + "--p-icon": "#41544d", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#2d4139", + "--p-pressed-ink": "#e5f6ef", "--p-preview": "#c5d6cf", + "--p-secondary": "#d7e7e0", "--p-sel-bg": "#17805c", "--p-side": "#e5f6ef", + "--p-side-dim": "#46534e", "--p-side-flat": "#ddeee7", + "--p-side-text": "#1d3129", "--p-tab-active": "#e5f6ef", "--p-tabs": "#e5f6ef", "--p-text": "#1d3129", "--p-text-soft": "#394d45", "--p-title": "#e5f6ef", - "--p-track": "#8c9e97", + "--p-track": "#71847c", "--p-tree-folder": "#196c4f", }, } @@ -11225,77 +13360,92 @@ exports[`an opaque accent, before and after alpha > mist 1`] = ` "--p-bg": "#e4e4e299", "--p-bg-solid": "#e4e4e2", "--p-control": "#d3d3d1", - "--p-dim": "#6e6e70", - "--p-dim2": "#797979", + "--p-dim": "#5b5b5e", + "--p-dim2": "#555555", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#6e6e70", + "--p-icon": "#48484b", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e4e4e2", "--p-preview": "#c6c6c5", + "--p-secondary": "#d5d5d399", "--p-sel-bg": "#5c5c66", "--p-side": "#e4e4e200", + "--p-side-dim": "#4a4a4b", "--p-side-flat": "#dcdcdb", + "--p-side-text": "#26262a", "--p-tab-active": "#e4e4e200", "--p-tabs": "#e4e4e299", "--p-text": "#26262a", "--p-text-soft": "#414144", "--p-title": "#e4e4e299", - "--p-track": "#909090", + "--p-track": "#767678", "--p-tree-folder": "#4f4f57", }, "picked": { - "--p-accent": "#af5f25", - "--p-accent-hi": "#8d5126", + "--p-accent": "#ae5e23", + "--p-accent-hi": "#8c5025", "--p-bg": "#e4e4e2", "--p-bg-solid": "#e4e4e2", "--p-control": "#d3d3d1", - "--p-dim": "#6e6e70", - "--p-dim2": "#797979", + "--p-dim": "#5b5b5e", + "--p-dim2": "#555555", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#6e6e70", + "--p-icon": "#48484b", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e4e4e2", "--p-preview": "#c6c6c5", - "--p-sel-bg": "#af5f25", + "--p-secondary": "#d5d5d3", + "--p-sel-bg": "#ae5e23", "--p-side": "#e4e4e2", + "--p-side-dim": "#4a4a4b", "--p-side-flat": "#dcdcdb", + "--p-side-text": "#26262a", "--p-tab-active": "#e4e4e2", "--p-tabs": "#e4e4e2", "--p-text": "#26262a", "--p-text-soft": "#414144", "--p-title": "#e4e4e2", - "--p-track": "#909090", - "--p-tree-folder": "#8d5126", + "--p-track": "#767678", + "--p-tree-folder": "#8c5025", }, "pickedGlass": { - "--p-accent": "#af5f25", - "--p-accent-hi": "#8d5126", + "--p-accent": "#ae5e23", + "--p-accent-hi": "#8c5025", "--p-bg": "#e4e4e299", "--p-bg-solid": "#e4e4e2", "--p-control": "#d3d3d1", - "--p-dim": "#6e6e70", - "--p-dim2": "#797979", + "--p-dim": "#5b5b5e", + "--p-dim2": "#555555", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#6e6e70", + "--p-icon": "#48484b", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e4e4e2", "--p-preview": "#c6c6c5", - "--p-sel-bg": "#af5f25", + "--p-secondary": "#d5d5d399", + "--p-sel-bg": "#ae5e23", "--p-side": "#e4e4e200", + "--p-side-dim": "#4a4a4b", "--p-side-flat": "#dcdcdb", + "--p-side-text": "#26262a", "--p-tab-active": "#e4e4e200", "--p-tabs": "#e4e4e299", "--p-text": "#26262a", "--p-text-soft": "#414144", "--p-title": "#e4e4e299", - "--p-track": "#909090", - "--p-tree-folder": "#8d5126", + "--p-track": "#767678", + "--p-tree-folder": "#8c5025", }, "theme": { "--p-accent": "#5c5c66", @@ -11303,24 +13453,29 @@ exports[`an opaque accent, before and after alpha > mist 1`] = ` "--p-bg": "#e4e4e2", "--p-bg-solid": "#e4e4e2", "--p-control": "#d3d3d1", - "--p-dim": "#6e6e70", - "--p-dim2": "#797979", + "--p-dim": "#5b5b5e", + "--p-dim2": "#555555", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#6e6e70", + "--p-icon": "#48484b", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e4e4e2", "--p-preview": "#c6c6c5", + "--p-secondary": "#d5d5d3", "--p-sel-bg": "#5c5c66", "--p-side": "#e4e4e2", + "--p-side-dim": "#4a4a4b", "--p-side-flat": "#dcdcdb", + "--p-side-text": "#26262a", "--p-tab-active": "#e4e4e2", "--p-tabs": "#e4e4e2", "--p-text": "#26262a", "--p-text-soft": "#414144", "--p-title": "#e4e4e2", - "--p-track": "#909090", + "--p-track": "#767678", "--p-tree-folder": "#4f4f57", }, } @@ -11342,10 +13497,15 @@ exports[`an opaque accent, before and after alpha > monokai 1`] = ` "--p-icon": "#a9a9a3", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4e4f49", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#42433d", + "--p-secondary": "#1c1d1899", "--p-sel-bg": "#a6e22e", "--p-side": "#27282200", + "--p-side-dim": "#aaaba8", "--p-side-flat": "#2f302a", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#27282200", "--p-tabs": "#27282299", "--p-text": "#f8f8f2", @@ -11368,10 +13528,15 @@ exports[`an opaque accent, before and after alpha > monokai 1`] = ` "--p-icon": "#a9a9a3", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4e4f49", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#42433d", + "--p-secondary": "#1c1d18", "--p-sel-bg": "#e07a2f", "--p-side": "#272822", + "--p-side-dim": "#a3a4a0", "--p-side-flat": "#2f302a", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#272822", "--p-tabs": "#272822", "--p-text": "#f8f8f2", @@ -11394,10 +13559,15 @@ exports[`an opaque accent, before and after alpha > monokai 1`] = ` "--p-icon": "#a9a9a3", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4e4f49", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#42433d", + "--p-secondary": "#1c1d1899", "--p-sel-bg": "#e07a2f", "--p-side": "#27282200", + "--p-side-dim": "#a3a4a0", "--p-side-flat": "#2f302a", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#27282200", "--p-tabs": "#27282299", "--p-text": "#f8f8f2", @@ -11420,10 +13590,15 @@ exports[`an opaque accent, before and after alpha > monokai 1`] = ` "--p-icon": "#a9a9a3", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4e4f49", + "--p-pressed-ink": "#f8f8f2", "--p-preview": "#42433d", + "--p-secondary": "#1c1d18", "--p-sel-bg": "#a6e22e", "--p-side": "#272822", + "--p-side-dim": "#aaaba8", "--p-side-flat": "#2f302a", + "--p-side-text": "#f8f8f2", "--p-tab-active": "#272822", "--p-tabs": "#272822", "--p-text": "#f8f8f2", @@ -11451,10 +13626,15 @@ exports[`an opaque accent, before and after alpha > moss 1`] = ` "--p-icon": "#8e988b", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#39423a", + "--p-pressed-ink": "#d8e4d2", "--p-preview": "#2d362e", + "--p-secondary": "#0b110d99", "--p-sel-bg": "#78ad66", "--p-side": "#141c1600", + "--p-side-dim": "#929991", "--p-side-flat": "#1c241e", + "--p-side-text": "#d8e4d2", "--p-tab-active": "#141c1600", "--p-tabs": "#141c1699", "--p-text": "#d8e4d2", @@ -11477,10 +13657,15 @@ exports[`an opaque accent, before and after alpha > moss 1`] = ` "--p-icon": "#8e988b", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#39423a", + "--p-pressed-ink": "#d8e4d2", "--p-preview": "#2d362e", + "--p-secondary": "#0b110d", "--p-sel-bg": "#e07a2f", "--p-side": "#141c16", + "--p-side-dim": "#929991", "--p-side-flat": "#1c241e", + "--p-side-text": "#d8e4d2", "--p-tab-active": "#141c16", "--p-tabs": "#141c16", "--p-text": "#d8e4d2", @@ -11503,10 +13688,15 @@ exports[`an opaque accent, before and after alpha > moss 1`] = ` "--p-icon": "#8e988b", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#39423a", + "--p-pressed-ink": "#d8e4d2", "--p-preview": "#2d362e", + "--p-secondary": "#0b110d99", "--p-sel-bg": "#e07a2f", "--p-side": "#141c1600", + "--p-side-dim": "#929991", "--p-side-flat": "#1c241e", + "--p-side-text": "#d8e4d2", "--p-tab-active": "#141c1600", "--p-tabs": "#141c1699", "--p-text": "#d8e4d2", @@ -11529,10 +13719,15 @@ exports[`an opaque accent, before and after alpha > moss 1`] = ` "--p-icon": "#8e988b", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#39423a", + "--p-pressed-ink": "#d8e4d2", "--p-preview": "#2d362e", + "--p-secondary": "#0b110d", "--p-sel-bg": "#78ad66", "--p-side": "#141c16", + "--p-side-dim": "#929991", "--p-side-flat": "#1c241e", + "--p-side-text": "#d8e4d2", "--p-tab-active": "#141c16", "--p-tabs": "#141c16", "--p-text": "#d8e4d2", @@ -11560,10 +13755,15 @@ exports[`an opaque accent, before and after alpha > nord 1`] = ` "--p-icon": "#979da9", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4e5460", + "--p-pressed-ink": "#d8dee9", "--p-preview": "#444a56", + "--p-secondary": "#24293399", "--p-sel-bg": "#81a1c1", "--p-side": "#2e344000", + "--p-side-dim": "#abafb5", "--p-side-flat": "#353b47", + "--p-side-text": "#d8dee9", "--p-tab-active": "#2e344000", "--p-tabs": "#2e344099", "--p-text": "#d8dee9", @@ -11586,10 +13786,15 @@ exports[`an opaque accent, before and after alpha > nord 1`] = ` "--p-icon": "#979da9", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4e5460", + "--p-pressed-ink": "#d8dee9", "--p-preview": "#444a56", + "--p-secondary": "#242933", "--p-sel-bg": "#e07a2f", "--p-side": "#2e3440", + "--p-side-dim": "#abafb5", "--p-side-flat": "#353b47", + "--p-side-text": "#d8dee9", "--p-tab-active": "#2e3440", "--p-tabs": "#2e3440", "--p-text": "#d8dee9", @@ -11612,10 +13817,15 @@ exports[`an opaque accent, before and after alpha > nord 1`] = ` "--p-icon": "#979da9", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4e5460", + "--p-pressed-ink": "#d8dee9", "--p-preview": "#444a56", + "--p-secondary": "#24293399", "--p-sel-bg": "#e07a2f", "--p-side": "#2e344000", + "--p-side-dim": "#abafb5", "--p-side-flat": "#353b47", + "--p-side-text": "#d8dee9", "--p-tab-active": "#2e344000", "--p-tabs": "#2e344099", "--p-text": "#d8dee9", @@ -11638,10 +13848,15 @@ exports[`an opaque accent, before and after alpha > nord 1`] = ` "--p-icon": "#979da9", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4e5460", + "--p-pressed-ink": "#d8dee9", "--p-preview": "#444a56", + "--p-secondary": "#242933", "--p-sel-bg": "#81a1c1", "--p-side": "#2e3440", + "--p-side-dim": "#abafb5", "--p-side-flat": "#353b47", + "--p-side-text": "#d8dee9", "--p-tab-active": "#2e3440", "--p-tabs": "#2e3440", "--p-text": "#d8dee9", @@ -11669,10 +13884,15 @@ exports[`an opaque accent, before and after alpha > ocean 1`] = ` "--p-icon": "#87a2a8", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#304c55", + "--p-pressed-ink": "#d3eef2", "--p-preview": "#244049", + "--p-secondary": "#061b2399", "--p-sel-bg": "#3fb8c8", "--p-side": "#0a263000", + "--p-side-dim": "#99a8ab", "--p-side-flat": "#122e38", + "--p-side-text": "#d3eef2", "--p-tab-active": "#0a263000", "--p-tabs": "#0a263099", "--p-text": "#d3eef2", @@ -11695,10 +13915,15 @@ exports[`an opaque accent, before and after alpha > ocean 1`] = ` "--p-icon": "#87a2a8", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#304c55", + "--p-pressed-ink": "#d3eef2", "--p-preview": "#244049", + "--p-secondary": "#061b23", "--p-sel-bg": "#e07a2f", "--p-side": "#0a2630", + "--p-side-dim": "#90a0a4", "--p-side-flat": "#122e38", + "--p-side-text": "#d3eef2", "--p-tab-active": "#0a2630", "--p-tabs": "#0a2630", "--p-text": "#d3eef2", @@ -11721,10 +13946,15 @@ exports[`an opaque accent, before and after alpha > ocean 1`] = ` "--p-icon": "#87a2a8", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#304c55", + "--p-pressed-ink": "#d3eef2", "--p-preview": "#244049", + "--p-secondary": "#061b2399", "--p-sel-bg": "#e07a2f", "--p-side": "#0a263000", + "--p-side-dim": "#90a0a4", "--p-side-flat": "#122e38", + "--p-side-text": "#d3eef2", "--p-tab-active": "#0a263000", "--p-tabs": "#0a263099", "--p-text": "#d3eef2", @@ -11747,10 +13977,15 @@ exports[`an opaque accent, before and after alpha > ocean 1`] = ` "--p-icon": "#87a2a8", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#304c55", + "--p-pressed-ink": "#d3eef2", "--p-preview": "#244049", + "--p-secondary": "#061b23", "--p-sel-bg": "#3fb8c8", "--p-side": "#0a2630", + "--p-side-dim": "#99a8ab", "--p-side-flat": "#122e38", + "--p-side-text": "#d3eef2", "--p-tab-active": "#0a2630", "--p-tabs": "#0a2630", "--p-text": "#d3eef2", @@ -11770,77 +14005,92 @@ exports[`an opaque accent, before and after alpha > paper 1`] = ` "--p-bg": "#f6f4ee99", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df99", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee99", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee99", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, "picked": { - "--p-accent": "#be6728", - "--p-accent-hi": "#995726", + "--p-accent": "#b36123", + "--p-accent-hi": "#915222", "--p-bg": "#f6f4ee", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", - "--p-sel-bg": "#be6728", + "--p-secondary": "#e7e5df", + "--p-sel-bg": "#b36123", "--p-side": "#f6f4ee", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee", "--p-tabs": "#f6f4ee", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee", - "--p-track": "#9b9892", - "--p-tree-folder": "#995726", + "--p-track": "#807d77", + "--p-tree-folder": "#915222", }, "pickedGlass": { - "--p-accent": "#be6728", - "--p-accent-hi": "#995726", + "--p-accent": "#b36123", + "--p-accent-hi": "#915222", "--p-bg": "#f6f4ee99", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", - "--p-sel-bg": "#be6728", + "--p-secondary": "#e7e5df99", + "--p-sel-bg": "#b36123", "--p-side": "#f6f4ee00", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee00", "--p-tabs": "#f6f4ee99", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee99", - "--p-track": "#9b9892", - "--p-tree-folder": "#995726", + "--p-track": "#807d77", + "--p-tree-folder": "#915222", }, "theme": { "--p-accent": "#3f8ccb", @@ -11848,24 +14098,29 @@ exports[`an opaque accent, before and after alpha > paper 1`] = ` "--p-bg": "#f6f4ee", "--p-bg-solid": "#f6f4ee", "--p-control": "#e4e1db", - "--p-dim": "#78746e", - "--p-dim2": "#83807a", + "--p-dim": "#63605a", + "--p-dim2": "#64625c", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#78746e", + "--p-icon": "#4f4b45", "--p-line": "#0000002b", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3630", + "--p-pressed-ink": "#f6f4ee", "--p-preview": "#d5d3cd", + "--p-secondary": "#e7e5df", "--p-sel-bg": "#3f8ccb", "--p-side": "#f6f4ee", + "--p-side-dim": "#565550", "--p-side-flat": "#eeece6", + "--p-side-text": "#2a2620", "--p-tab-active": "#f6f4ee", "--p-tabs": "#f6f4ee", "--p-text": "#2a2620", "--p-text-soft": "#47433d", "--p-title": "#f6f4ee", - "--p-track": "#9b9892", + "--p-track": "#807d77", "--p-tree-folder": "#3a73a0", }, } @@ -11874,108 +14129,128 @@ exports[`an opaque accent, before and after alpha > paper 1`] = ` exports[`an opaque accent, before and after alpha > peach 1`] = ` { "glass": { - "--p-accent": "#c05e2c", - "--p-accent-hi": "#a05129", + "--p-accent": "#ba5b29", + "--p-accent-hi": "#9b4f27", "--p-bg": "#fdeee399", "--p-bg-solid": "#fdeee3", "--p-control": "#ecdcd1", - "--p-dim": "#87746a", - "--p-dim2": "#8e7f76", + "--p-dim": "#6a5950", + "--p-dim2": "#665952", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#87746a", + "--p-icon": "#604d43", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#4d3a30", + "--p-pressed-ink": "#fdeee3", "--p-preview": "#decfc4", - "--p-sel-bg": "#c05e2c", + "--p-secondary": "#eddfd599", + "--p-sel-bg": "#ba5b29", "--p-side": "#fdeee300", + "--p-side-dim": "#5a4e47", "--p-side-flat": "#f5e6db", + "--p-side-text": "#3e2a20", "--p-tab-active": "#fdeee300", "--p-tabs": "#fdeee399", "--p-text": "#3e2a20", "--p-text-soft": "#59453b", "--p-title": "#fdeee399", - "--p-track": "#a8978c", - "--p-tree-folder": "#a05129", + "--p-track": "#8e7d72", + "--p-tree-folder": "#9b4f27", }, "picked": { - "--p-accent": "#be6728", - "--p-accent-hi": "#9e5826", + "--p-accent": "#b26123", + "--p-accent-hi": "#955322", "--p-bg": "#fdeee3", "--p-bg-solid": "#fdeee3", "--p-control": "#ecdcd1", - "--p-dim": "#87746a", - "--p-dim2": "#8e7f76", + "--p-dim": "#6a5950", + "--p-dim2": "#665952", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#87746a", + "--p-icon": "#604d43", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#4d3a30", + "--p-pressed-ink": "#fdeee3", "--p-preview": "#decfc4", - "--p-sel-bg": "#be6728", + "--p-secondary": "#eddfd5", + "--p-sel-bg": "#b26123", "--p-side": "#fdeee3", + "--p-side-dim": "#5a4e47", "--p-side-flat": "#f5e6db", + "--p-side-text": "#3e2a20", "--p-tab-active": "#fdeee3", "--p-tabs": "#fdeee3", "--p-text": "#3e2a20", "--p-text-soft": "#59453b", "--p-title": "#fdeee3", - "--p-track": "#a8978c", - "--p-tree-folder": "#9e5826", + "--p-track": "#8e7d72", + "--p-tree-folder": "#955322", }, "pickedGlass": { - "--p-accent": "#be6728", - "--p-accent-hi": "#9e5826", + "--p-accent": "#b26123", + "--p-accent-hi": "#955322", "--p-bg": "#fdeee399", "--p-bg-solid": "#fdeee3", "--p-control": "#ecdcd1", - "--p-dim": "#87746a", - "--p-dim2": "#8e7f76", + "--p-dim": "#6a5950", + "--p-dim2": "#665952", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#87746a", + "--p-icon": "#604d43", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#4d3a30", + "--p-pressed-ink": "#fdeee3", "--p-preview": "#decfc4", - "--p-sel-bg": "#be6728", + "--p-secondary": "#eddfd599", + "--p-sel-bg": "#b26123", "--p-side": "#fdeee300", + "--p-side-dim": "#5a4e47", "--p-side-flat": "#f5e6db", + "--p-side-text": "#3e2a20", "--p-tab-active": "#fdeee300", "--p-tabs": "#fdeee399", "--p-text": "#3e2a20", "--p-text-soft": "#59453b", "--p-title": "#fdeee399", - "--p-track": "#a8978c", - "--p-tree-folder": "#9e5826", + "--p-track": "#8e7d72", + "--p-tree-folder": "#955322", }, "theme": { - "--p-accent": "#c05e2c", - "--p-accent-hi": "#a05129", + "--p-accent": "#ba5b29", + "--p-accent-hi": "#9b4f27", "--p-bg": "#fdeee3", "--p-bg-solid": "#fdeee3", "--p-control": "#ecdcd1", - "--p-dim": "#87746a", - "--p-dim2": "#8e7f76", + "--p-dim": "#6a5950", + "--p-dim2": "#665952", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#87746a", + "--p-icon": "#604d43", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#4d3a30", + "--p-pressed-ink": "#fdeee3", "--p-preview": "#decfc4", - "--p-sel-bg": "#c05e2c", + "--p-secondary": "#eddfd5", + "--p-sel-bg": "#ba5b29", "--p-side": "#fdeee3", + "--p-side-dim": "#5a4e47", "--p-side-flat": "#f5e6db", + "--p-side-text": "#3e2a20", "--p-tab-active": "#fdeee3", "--p-tabs": "#fdeee3", "--p-text": "#3e2a20", "--p-text-soft": "#59453b", "--p-title": "#fdeee3", - "--p-track": "#a8978c", - "--p-tree-folder": "#a05129", + "--p-track": "#8e7d72", + "--p-tree-folder": "#9b4f27", }, } `; @@ -11996,10 +14271,15 @@ exports[`an opaque accent, before and after alpha > phosphor 1`] = ` "--p-icon": "#509a58", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#1c381f", + "--p-pressed-ink": "#7ef08a", "--p-preview": "#152b17", + "--p-secondary": "#050d0699", "--p-sel-bg": "#3fcf5a", "--p-side": "#050d0600", + "--p-side-dim": "#729b77", "--p-side-flat": "#0a160b", + "--p-side-text": "#7ef08a", "--p-tab-active": "#050d0600", "--p-tabs": "#050d0699", "--p-text": "#7ef08a", @@ -12022,10 +14302,15 @@ exports[`an opaque accent, before and after alpha > phosphor 1`] = ` "--p-icon": "#509a58", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#1c381f", + "--p-pressed-ink": "#7ef08a", "--p-preview": "#152b17", + "--p-secondary": "#050d06", "--p-sel-bg": "#e07a2f", "--p-side": "#050d06", + "--p-side-dim": "#729b77", "--p-side-flat": "#0a160b", + "--p-side-text": "#7ef08a", "--p-tab-active": "#050d06", "--p-tabs": "#050d06", "--p-text": "#7ef08a", @@ -12048,10 +14333,15 @@ exports[`an opaque accent, before and after alpha > phosphor 1`] = ` "--p-icon": "#509a58", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#1c381f", + "--p-pressed-ink": "#7ef08a", "--p-preview": "#152b17", + "--p-secondary": "#050d0699", "--p-sel-bg": "#e07a2f", "--p-side": "#050d0600", + "--p-side-dim": "#729b77", "--p-side-flat": "#0a160b", + "--p-side-text": "#7ef08a", "--p-tab-active": "#050d0600", "--p-tabs": "#050d0699", "--p-text": "#7ef08a", @@ -12074,10 +14364,15 @@ exports[`an opaque accent, before and after alpha > phosphor 1`] = ` "--p-icon": "#509a58", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#1c381f", + "--p-pressed-ink": "#7ef08a", "--p-preview": "#152b17", + "--p-secondary": "#050d06", "--p-sel-bg": "#3fcf5a", "--p-side": "#050d06", + "--p-side-dim": "#729b77", "--p-side-flat": "#0a160b", + "--p-side-text": "#7ef08a", "--p-tab-active": "#050d06", "--p-tabs": "#050d06", "--p-text": "#7ef08a", @@ -12105,10 +14400,15 @@ exports[`an opaque accent, before and after alpha > pitch 1`] = ` "--p-icon": "#948f87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#2d2c2a", + "--p-pressed-ink": "#efe7da", "--p-preview": "#1f1e1c", + "--p-secondary": "#00000099", "--p-sel-bg": "#ec9448", "--p-side": "#00000000", + "--p-side-dim": "#8d8986", "--p-side-flat": "#0a0909", + "--p-side-text": "#efe7da", "--p-tab-active": "#00000000", "--p-tabs": "#00000099", "--p-text": "#efe7da", @@ -12131,10 +14431,15 @@ exports[`an opaque accent, before and after alpha > pitch 1`] = ` "--p-icon": "#948f87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#2d2c2a", + "--p-pressed-ink": "#efe7da", "--p-preview": "#1f1e1c", + "--p-secondary": "#000000", "--p-sel-bg": "#e07a2f", "--p-side": "#000000", + "--p-side-dim": "#8d8986", "--p-side-flat": "#0a0909", + "--p-side-text": "#efe7da", "--p-tab-active": "#000000", "--p-tabs": "#000000", "--p-text": "#efe7da", @@ -12157,10 +14462,15 @@ exports[`an opaque accent, before and after alpha > pitch 1`] = ` "--p-icon": "#948f87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#2d2c2a", + "--p-pressed-ink": "#efe7da", "--p-preview": "#1f1e1c", + "--p-secondary": "#00000099", "--p-sel-bg": "#e07a2f", "--p-side": "#00000000", + "--p-side-dim": "#8d8986", "--p-side-flat": "#0a0909", + "--p-side-text": "#efe7da", "--p-tab-active": "#00000000", "--p-tabs": "#00000099", "--p-text": "#efe7da", @@ -12183,10 +14493,15 @@ exports[`an opaque accent, before and after alpha > pitch 1`] = ` "--p-icon": "#948f87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#2d2c2a", + "--p-pressed-ink": "#efe7da", "--p-preview": "#1f1e1c", + "--p-secondary": "#000000", "--p-sel-bg": "#ec9448", "--p-side": "#000000", + "--p-side-dim": "#8d8986", "--p-side-flat": "#0a0909", + "--p-side-text": "#efe7da", "--p-tab-active": "#000000", "--p-tabs": "#000000", "--p-text": "#efe7da", @@ -12214,10 +14529,15 @@ exports[`an opaque accent, before and after alpha > plum 1`] = ` "--p-icon": "#9b90a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#43384d", + "--p-pressed-ink": "#e9ddf5", "--p-preview": "#372c41", + "--p-secondary": "#110a1899", "--p-sel-bg": "#b07ce0", "--p-side": "#1c122600", + "--p-side-dim": "#9a93a1", "--p-side-flat": "#241a2e", + "--p-side-text": "#e9ddf5", "--p-tab-active": "#1c122600", "--p-tabs": "#1c122699", "--p-text": "#e9ddf5", @@ -12240,10 +14560,15 @@ exports[`an opaque accent, before and after alpha > plum 1`] = ` "--p-icon": "#9b90a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#43384d", + "--p-pressed-ink": "#e9ddf5", "--p-preview": "#372c41", + "--p-secondary": "#110a18", "--p-sel-bg": "#e07a2f", "--p-side": "#1c1226", + "--p-side-dim": "#9a93a1", "--p-side-flat": "#241a2e", + "--p-side-text": "#e9ddf5", "--p-tab-active": "#1c1226", "--p-tabs": "#1c1226", "--p-text": "#e9ddf5", @@ -12266,10 +14591,15 @@ exports[`an opaque accent, before and after alpha > plum 1`] = ` "--p-icon": "#9b90a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#43384d", + "--p-pressed-ink": "#e9ddf5", "--p-preview": "#372c41", + "--p-secondary": "#110a1899", "--p-sel-bg": "#e07a2f", "--p-side": "#1c122600", + "--p-side-dim": "#9a93a1", "--p-side-flat": "#241a2e", + "--p-side-text": "#e9ddf5", "--p-tab-active": "#1c122600", "--p-tabs": "#1c122699", "--p-text": "#e9ddf5", @@ -12292,10 +14622,15 @@ exports[`an opaque accent, before and after alpha > plum 1`] = ` "--p-icon": "#9b90a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#43384d", + "--p-pressed-ink": "#e9ddf5", "--p-preview": "#372c41", + "--p-secondary": "#110a18", "--p-sel-bg": "#b07ce0", "--p-side": "#1c1226", + "--p-side-dim": "#9a93a1", "--p-side-flat": "#241a2e", + "--p-side-text": "#e9ddf5", "--p-tab-active": "#1c1226", "--p-tabs": "#1c1226", "--p-text": "#e9ddf5", @@ -12323,10 +14658,15 @@ exports[`an opaque accent, before and after alpha > prism 1`] = ` "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#ffffff", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f99", "--p-sel-bg": "#5b5bd6", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f99", "--p-text": "#e7e7ee", @@ -12349,10 +14689,15 @@ exports[`an opaque accent, before and after alpha > prism 1`] = ` "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f", "--p-sel-bg": "#e07a2f", "--p-side": "#0b0b0f", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f", "--p-tabs": "#0b0b0f", "--p-text": "#e7e7ee", @@ -12375,10 +14720,15 @@ exports[`an opaque accent, before and after alpha > prism 1`] = ` "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f99", "--p-sel-bg": "#e07a2f", "--p-side": "#0b0b0f00", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f00", "--p-tabs": "#0b0b0f99", "--p-text": "#e7e7ee", @@ -12401,10 +14751,15 @@ exports[`an opaque accent, before and after alpha > prism 1`] = ` "--p-icon": "#939399", "--p-line": "#ffffff17", "--p-on-accent": "#ffffff", + "--p-pressed": "#353539", + "--p-pressed-ink": "#e7e7ee", "--p-preview": "#28282c", + "--p-secondary": "#0b0b0f", "--p-sel-bg": "#5b5bd6", "--p-side": "#0b0b0f", + "--p-side-dim": "#8f8f92", "--p-side-flat": "#141418", + "--p-side-text": "#e7e7ee", "--p-tab-active": "#0b0b0f", "--p-tabs": "#0b0b0f", "--p-text": "#e7e7ee", @@ -12432,10 +14787,15 @@ exports[`an opaque accent, before and after alpha > pt-default 1`] = ` "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090999", "--p-sel-bg": "#fe8f34", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121299", "--p-text": "#dedacf", @@ -12458,10 +14818,15 @@ exports[`an opaque accent, before and after alpha > pt-default 1`] = ` "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909", "--p-sel-bg": "#e07a2f", "--p-side": "#121212", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#121212", "--p-tabs": "#121212", "--p-text": "#dedacf", @@ -12484,10 +14849,15 @@ exports[`an opaque accent, before and after alpha > pt-default 1`] = ` "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#09090999", "--p-sel-bg": "#e07a2f", "--p-side": "#12121200", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#12121200", "--p-tabs": "#12121299", "--p-text": "#dedacf", @@ -12510,10 +14880,15 @@ exports[`an opaque accent, before and after alpha > pt-default 1`] = ` "--p-icon": "#908e87", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#393836", + "--p-pressed-ink": "#dedacf", "--p-preview": "#2d2c2b", + "--p-secondary": "#090909", "--p-sel-bg": "#fe8f34", "--p-side": "#121212", + "--p-side-dim": "#939290", "--p-side-flat": "#1a1a1a", + "--p-side-text": "#dedacf", "--p-tab-active": "#121212", "--p-tabs": "#121212", "--p-text": "#dedacf", @@ -12541,10 +14916,15 @@ exports[`an opaque accent, before and after alpha > retro 1`] = ` "--p-icon": "#8d85c8", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4d418f", + "--p-pressed-ink": "#b3adf0", "--p-preview": "#453988", + "--p-secondary": "#2a1f6399", "--p-sel-bg": "#9d93ea", "--p-side": "#35287900", + "--p-side-dim": "#b1adcf", "--p-side-flat": "#3a2d7e", + "--p-side-text": "#d5d2f7", "--p-tab-active": "#35287900", "--p-tabs": "#35287999", "--p-text": "#b3adf0", @@ -12567,10 +14947,15 @@ exports[`an opaque accent, before and after alpha > retro 1`] = ` "--p-icon": "#8d85c8", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4d418f", + "--p-pressed-ink": "#b3adf0", "--p-preview": "#453988", + "--p-secondary": "#2a1f63", "--p-sel-bg": "#e07a2f", "--p-side": "#352879", + "--p-side-dim": "#aaa6cb", "--p-side-flat": "#3a2d7e", + "--p-side-text": "#d1cef6", "--p-tab-active": "#352879", "--p-tabs": "#352879", "--p-text": "#b3adf0", @@ -12593,10 +14978,15 @@ exports[`an opaque accent, before and after alpha > retro 1`] = ` "--p-icon": "#8d85c8", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4d418f", + "--p-pressed-ink": "#b3adf0", "--p-preview": "#453988", + "--p-secondary": "#2a1f6399", "--p-sel-bg": "#e07a2f", "--p-side": "#35287900", + "--p-side-dim": "#aaa6cb", "--p-side-flat": "#3a2d7e", + "--p-side-text": "#d1cef6", "--p-tab-active": "#35287900", "--p-tabs": "#35287999", "--p-text": "#b3adf0", @@ -12619,10 +15009,15 @@ exports[`an opaque accent, before and after alpha > retro 1`] = ` "--p-icon": "#8d85c8", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4d418f", + "--p-pressed-ink": "#b3adf0", "--p-preview": "#453988", + "--p-secondary": "#2a1f63", "--p-sel-bg": "#9d93ea", "--p-side": "#352879", + "--p-side-dim": "#b1adcf", "--p-side-flat": "#3a2d7e", + "--p-side-text": "#d5d2f7", "--p-tab-active": "#352879", "--p-tabs": "#352879", "--p-text": "#b3adf0", @@ -12650,10 +15045,15 @@ exports[`an opaque accent, before and after alpha > rosewood 1`] = ` "--p-icon": "#a49199", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4b3c43", + "--p-pressed-ink": "#f2dce5", "--p-preview": "#3f3037", + "--p-secondary": "#180d1299", "--p-sel-bg": "#e4719a", "--p-side": "#24161d00", + "--p-side-dim": "#a09499", "--p-side-flat": "#2c1e25", + "--p-side-text": "#f2dce5", "--p-tab-active": "#24161d00", "--p-tabs": "#24161d99", "--p-text": "#f2dce5", @@ -12676,10 +15076,15 @@ exports[`an opaque accent, before and after alpha > rosewood 1`] = ` "--p-icon": "#a49199", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4b3c43", + "--p-pressed-ink": "#f2dce5", "--p-preview": "#3f3037", + "--p-secondary": "#180d12", "--p-sel-bg": "#e07a2f", "--p-side": "#24161d", + "--p-side-dim": "#a09499", "--p-side-flat": "#2c1e25", + "--p-side-text": "#f2dce5", "--p-tab-active": "#24161d", "--p-tabs": "#24161d", "--p-text": "#f2dce5", @@ -12702,10 +15107,15 @@ exports[`an opaque accent, before and after alpha > rosewood 1`] = ` "--p-icon": "#a49199", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4b3c43", + "--p-pressed-ink": "#f2dce5", "--p-preview": "#3f3037", + "--p-secondary": "#180d1299", "--p-sel-bg": "#e07a2f", "--p-side": "#24161d00", + "--p-side-dim": "#a09499", "--p-side-flat": "#2c1e25", + "--p-side-text": "#f2dce5", "--p-tab-active": "#24161d00", "--p-tabs": "#24161d99", "--p-text": "#f2dce5", @@ -12728,10 +15138,15 @@ exports[`an opaque accent, before and after alpha > rosewood 1`] = ` "--p-icon": "#a49199", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4b3c43", + "--p-pressed-ink": "#f2dce5", "--p-preview": "#3f3037", + "--p-secondary": "#180d12", "--p-sel-bg": "#e4719a", "--p-side": "#24161d", + "--p-side-dim": "#a09499", "--p-side-flat": "#2c1e25", + "--p-side-text": "#f2dce5", "--p-tab-active": "#24161d", "--p-tabs": "#24161d", "--p-text": "#f2dce5", @@ -12751,77 +15166,92 @@ exports[`an opaque accent, before and after alpha > sage 1`] = ` "--p-bg": "#e9efe599", "--p-bg-solid": "#e9efe5", "--p-control": "#d7ded4", - "--p-dim": "#6e796d", - "--p-dim2": "#798279", + "--p-dim": "#535d53", + "--p-dim2": "#555c54", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#6e796d", + "--p-icon": "#465247", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#323f33", + "--p-pressed-ink": "#e9efe5", "--p-preview": "#c9d0c6", + "--p-secondary": "#dae0d799", "--p-sel-bg": "#4c7d47", "--p-side": "#e9efe500", + "--p-side-dim": "#495049", "--p-side-flat": "#e1e7dd", + "--p-side-text": "#223024", "--p-tab-active": "#e9efe500", "--p-tabs": "#e9efe599", "--p-text": "#223024", "--p-text-soft": "#3e4b3f", "--p-title": "#e9efe599", - "--p-track": "#909a8f", + "--p-track": "#768075", "--p-tree-folder": "#426a3e", }, "picked": { - "--p-accent": "#be6728", - "--p-accent-hi": "#975927", + "--p-accent": "#b26023", + "--p-accent-hi": "#8e5423", "--p-bg": "#e9efe5", "--p-bg-solid": "#e9efe5", "--p-control": "#d7ded4", - "--p-dim": "#6e796d", - "--p-dim2": "#798279", + "--p-dim": "#535d53", + "--p-dim2": "#555c54", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#6e796d", + "--p-icon": "#465247", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#323f33", + "--p-pressed-ink": "#e9efe5", "--p-preview": "#c9d0c6", - "--p-sel-bg": "#be6728", + "--p-secondary": "#dae0d7", + "--p-sel-bg": "#b26023", "--p-side": "#e9efe5", + "--p-side-dim": "#495049", "--p-side-flat": "#e1e7dd", + "--p-side-text": "#223024", "--p-tab-active": "#e9efe5", "--p-tabs": "#e9efe5", "--p-text": "#223024", "--p-text-soft": "#3e4b3f", "--p-title": "#e9efe5", - "--p-track": "#909a8f", - "--p-tree-folder": "#975927", + "--p-track": "#768075", + "--p-tree-folder": "#8e5423", }, "pickedGlass": { - "--p-accent": "#be6728", - "--p-accent-hi": "#975927", + "--p-accent": "#b26023", + "--p-accent-hi": "#8e5423", "--p-bg": "#e9efe599", "--p-bg-solid": "#e9efe5", "--p-control": "#d7ded4", - "--p-dim": "#6e796d", - "--p-dim2": "#798279", + "--p-dim": "#535d53", + "--p-dim2": "#555c54", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#6e796d", + "--p-icon": "#465247", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#323f33", + "--p-pressed-ink": "#e9efe5", "--p-preview": "#c9d0c6", - "--p-sel-bg": "#be6728", + "--p-secondary": "#dae0d799", + "--p-sel-bg": "#b26023", "--p-side": "#e9efe500", + "--p-side-dim": "#495049", "--p-side-flat": "#e1e7dd", + "--p-side-text": "#223024", "--p-tab-active": "#e9efe500", "--p-tabs": "#e9efe599", "--p-text": "#223024", "--p-text-soft": "#3e4b3f", "--p-title": "#e9efe599", - "--p-track": "#909a8f", - "--p-tree-folder": "#975927", + "--p-track": "#768075", + "--p-tree-folder": "#8e5423", }, "theme": { "--p-accent": "#4c7d47", @@ -12829,24 +15259,29 @@ exports[`an opaque accent, before and after alpha > sage 1`] = ` "--p-bg": "#e9efe5", "--p-bg-solid": "#e9efe5", "--p-control": "#d7ded4", - "--p-dim": "#6e796d", - "--p-dim2": "#798279", + "--p-dim": "#535d53", + "--p-dim2": "#555c54", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#6e796d", + "--p-icon": "#465247", "--p-line": "#0000002b", "--p-on-accent": "#ffffff", + "--p-pressed": "#323f33", + "--p-pressed-ink": "#e9efe5", "--p-preview": "#c9d0c6", + "--p-secondary": "#dae0d7", "--p-sel-bg": "#4c7d47", "--p-side": "#e9efe5", + "--p-side-dim": "#495049", "--p-side-flat": "#e1e7dd", + "--p-side-text": "#223024", "--p-tab-active": "#e9efe5", "--p-tabs": "#e9efe5", "--p-text": "#223024", "--p-text-soft": "#3e4b3f", "--p-title": "#e9efe5", - "--p-track": "#909a8f", + "--p-track": "#768075", "--p-tree-folder": "#426a3e", }, } @@ -12855,108 +15290,128 @@ exports[`an opaque accent, before and after alpha > sage 1`] = ` exports[`an opaque accent, before and after alpha > sky 1`] = ` { "glass": { - "--p-accent": "#2f7bd6", - "--p-accent-hi": "#2a67af", + "--p-accent": "#2b77ce", + "--p-accent-hi": "#2764a9", "--p-bg": "#eaf4fd99", "--p-bg-solid": "#eaf4fd", "--p-control": "#d7e2eb", - "--p-dim": "#6a7784", - "--p-dim2": "#78838c", + "--p-dim": "#566371", + "--p-dim2": "#5a636d", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#6a7784", + "--p-icon": "#414f5d", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#2c3b4a", + "--p-pressed-ink": "#eaf4fd", "--p-preview": "#c9d4de", - "--p-sel-bg": "#2f7bd6", + "--p-secondary": "#dce5ed99", + "--p-sel-bg": "#2b77ce", "--p-side": "#eaf4fd00", + "--p-side-dim": "#4e565f", "--p-side-flat": "#e2ecf5", + "--p-side-text": "#1c2b3a", "--p-tab-active": "#eaf4fd00", "--p-tabs": "#eaf4fd99", "--p-text": "#1c2b3a", "--p-text-soft": "#394755", "--p-title": "#eaf4fd99", - "--p-track": "#8e9ba6", - "--p-tree-folder": "#2a67af", + "--p-track": "#73808c", + "--p-tree-folder": "#2764a9", }, "picked": { - "--p-accent": "#be6728", - "--p-accent-hi": "#96582d", + "--p-accent": "#b36123", + "--p-accent-hi": "#8d5429", "--p-bg": "#eaf4fd", "--p-bg-solid": "#eaf4fd", "--p-control": "#d7e2eb", - "--p-dim": "#6a7784", - "--p-dim2": "#78838c", + "--p-dim": "#566371", + "--p-dim2": "#5a636d", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#6a7784", + "--p-icon": "#414f5d", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#2c3b4a", + "--p-pressed-ink": "#eaf4fd", "--p-preview": "#c9d4de", - "--p-sel-bg": "#be6728", + "--p-secondary": "#dce5ed", + "--p-sel-bg": "#b36123", "--p-side": "#eaf4fd", + "--p-side-dim": "#4e565f", "--p-side-flat": "#e2ecf5", + "--p-side-text": "#1c2b3a", "--p-tab-active": "#eaf4fd", "--p-tabs": "#eaf4fd", "--p-text": "#1c2b3a", "--p-text-soft": "#394755", "--p-title": "#eaf4fd", - "--p-track": "#8e9ba6", - "--p-tree-folder": "#96582d", + "--p-track": "#73808c", + "--p-tree-folder": "#8d5429", }, "pickedGlass": { - "--p-accent": "#be6728", - "--p-accent-hi": "#96582d", + "--p-accent": "#b36123", + "--p-accent-hi": "#8d5429", "--p-bg": "#eaf4fd99", "--p-bg-solid": "#eaf4fd", "--p-control": "#d7e2eb", - "--p-dim": "#6a7784", - "--p-dim2": "#78838c", + "--p-dim": "#566371", + "--p-dim2": "#5a636d", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#6a7784", + "--p-icon": "#414f5d", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#2c3b4a", + "--p-pressed-ink": "#eaf4fd", "--p-preview": "#c9d4de", - "--p-sel-bg": "#be6728", + "--p-secondary": "#dce5ed99", + "--p-sel-bg": "#b36123", "--p-side": "#eaf4fd00", + "--p-side-dim": "#4e565f", "--p-side-flat": "#e2ecf5", + "--p-side-text": "#1c2b3a", "--p-tab-active": "#eaf4fd00", "--p-tabs": "#eaf4fd99", "--p-text": "#1c2b3a", "--p-text-soft": "#394755", "--p-title": "#eaf4fd99", - "--p-track": "#8e9ba6", - "--p-tree-folder": "#96582d", + "--p-track": "#73808c", + "--p-tree-folder": "#8d5429", }, "theme": { - "--p-accent": "#2f7bd6", - "--p-accent-hi": "#2a67af", + "--p-accent": "#2b77ce", + "--p-accent-hi": "#2764a9", "--p-bg": "#eaf4fd", "--p-bg-solid": "#eaf4fd", "--p-control": "#d7e2eb", - "--p-dim": "#6a7784", - "--p-dim2": "#78838c", + "--p-dim": "#566371", + "--p-dim2": "#5a636d", "--p-divider": "#00000026", "--p-hover": "#00000012", "--p-hover-hi": "#0000001f", - "--p-icon": "#6a7784", + "--p-icon": "#414f5d", "--p-line": "#0000002b", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#2c3b4a", + "--p-pressed-ink": "#eaf4fd", "--p-preview": "#c9d4de", - "--p-sel-bg": "#2f7bd6", + "--p-secondary": "#dce5ed", + "--p-sel-bg": "#2b77ce", "--p-side": "#eaf4fd", + "--p-side-dim": "#4e565f", "--p-side-flat": "#e2ecf5", + "--p-side-text": "#1c2b3a", "--p-tab-active": "#eaf4fd", "--p-tabs": "#eaf4fd", "--p-text": "#1c2b3a", "--p-text-soft": "#394755", "--p-title": "#eaf4fd", - "--p-track": "#8e9ba6", - "--p-tree-folder": "#2a67af", + "--p-track": "#73808c", + "--p-tree-folder": "#2764a9", }, } `; @@ -12964,8 +15419,8 @@ exports[`an opaque accent, before and after alpha > sky 1`] = ` exports[`an opaque accent, before and after alpha > solarized-dark 1`] = ` { "glass": { - "--p-accent": "#268bd2", - "--p-accent-hi": "#4191c6", + "--p-accent": "#1f79c0", + "--p-accent-hi": "#3c83b8", "--p-bg": "#002b3699", "--p-bg-solid": "#002b36", "--p-control": "#052f3a", @@ -12976,18 +15431,23 @@ exports[`an opaque accent, before and after alpha > solarized-dark 1`] = ` "--p-hover-hi": "#ffffff1c", "--p-icon": "#687f83", "--p-line": "#ffffff17", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#1c414a", + "--p-pressed-ink": "#93a1a1", "--p-preview": "#133a44", - "--p-sel-bg": "#268bd2", + "--p-secondary": "#001f2899", + "--p-sel-bg": "#1f79c0", "--p-side": "#002b3600", + "--p-side-dim": "#8d9b9d", "--p-side-flat": "#06303a", + "--p-side-text": "#b2bcbc", "--p-tab-active": "#002b3600", "--p-tabs": "#002b3699", "--p-text": "#93a1a1", "--p-text-soft": "#88999b", "--p-title": "#002b3699", "--p-track": "#34555c", - "--p-tree-folder": "#4191c6", + "--p-tree-folder": "#3c83b8", }, "picked": { "--p-accent": "#e07a2f", @@ -13003,10 +15463,15 @@ exports[`an opaque accent, before and after alpha > solarized-dark 1`] = ` "--p-icon": "#687f83", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#1c414a", + "--p-pressed-ink": "#93a1a1", "--p-preview": "#133a44", + "--p-secondary": "#001f28", "--p-sel-bg": "#e07a2f", "--p-side": "#002b36", + "--p-side-dim": "#8d9b9d", "--p-side-flat": "#06303a", + "--p-side-text": "#b8c1c1", "--p-tab-active": "#002b36", "--p-tabs": "#002b36", "--p-text": "#93a1a1", @@ -13029,10 +15494,15 @@ exports[`an opaque accent, before and after alpha > solarized-dark 1`] = ` "--p-icon": "#687f83", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#1c414a", + "--p-pressed-ink": "#93a1a1", "--p-preview": "#133a44", + "--p-secondary": "#001f2899", "--p-sel-bg": "#e07a2f", "--p-side": "#002b3600", + "--p-side-dim": "#8d9b9d", "--p-side-flat": "#06303a", + "--p-side-text": "#b8c1c1", "--p-tab-active": "#002b3600", "--p-tabs": "#002b3699", "--p-text": "#93a1a1", @@ -13042,8 +15512,8 @@ exports[`an opaque accent, before and after alpha > solarized-dark 1`] = ` "--p-tree-folder": "#cd844c", }, "theme": { - "--p-accent": "#268bd2", - "--p-accent-hi": "#4191c6", + "--p-accent": "#1f79c0", + "--p-accent-hi": "#3c83b8", "--p-bg": "#002b36", "--p-bg-solid": "#002b36", "--p-control": "#052f3a", @@ -13054,18 +15524,23 @@ exports[`an opaque accent, before and after alpha > solarized-dark 1`] = ` "--p-hover-hi": "#ffffff1c", "--p-icon": "#687f83", "--p-line": "#ffffff17", - "--p-on-accent": "#0b0b0f", + "--p-on-accent": "#ffffff", + "--p-pressed": "#1c414a", + "--p-pressed-ink": "#93a1a1", "--p-preview": "#133a44", - "--p-sel-bg": "#268bd2", + "--p-secondary": "#001f28", + "--p-sel-bg": "#1f79c0", "--p-side": "#002b36", + "--p-side-dim": "#8d9b9d", "--p-side-flat": "#06303a", + "--p-side-text": "#b2bcbc", "--p-tab-active": "#002b36", "--p-tabs": "#002b36", "--p-text": "#93a1a1", "--p-text-soft": "#88999b", "--p-title": "#002b36", "--p-track": "#34555c", - "--p-tree-folder": "#4191c6", + "--p-tree-folder": "#3c83b8", }, } `; @@ -13086,10 +15561,15 @@ exports[`an opaque accent, before and after alpha > synthwave 1`] = ` "--p-icon": "#a3a1aa", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4c4a59", + "--p-pressed-ink": "#f0eff1", "--p-preview": "#403e4d", + "--p-secondary": "#1b192799", "--p-sel-bg": "#ff7edb", "--p-side": "#26233500", + "--p-side-dim": "#a19fa5", "--p-side-flat": "#2e2b3d", + "--p-side-text": "#f0eff1", "--p-tab-active": "#26233500", "--p-tabs": "#26233599", "--p-text": "#f0eff1", @@ -13112,10 +15592,15 @@ exports[`an opaque accent, before and after alpha > synthwave 1`] = ` "--p-icon": "#a3a1aa", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4c4a59", + "--p-pressed-ink": "#f0eff1", "--p-preview": "#403e4d", + "--p-secondary": "#1b1927", "--p-sel-bg": "#e07a2f", "--p-side": "#262335", + "--p-side-dim": "#a19fa5", "--p-side-flat": "#2e2b3d", + "--p-side-text": "#f0eff1", "--p-tab-active": "#262335", "--p-tabs": "#262335", "--p-text": "#f0eff1", @@ -13138,10 +15623,15 @@ exports[`an opaque accent, before and after alpha > synthwave 1`] = ` "--p-icon": "#a3a1aa", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4c4a59", + "--p-pressed-ink": "#f0eff1", "--p-preview": "#403e4d", + "--p-secondary": "#1b192799", "--p-sel-bg": "#e07a2f", "--p-side": "#26233500", + "--p-side-dim": "#a19fa5", "--p-side-flat": "#2e2b3d", + "--p-side-text": "#f0eff1", "--p-tab-active": "#26233500", "--p-tabs": "#26233599", "--p-text": "#f0eff1", @@ -13164,10 +15654,15 @@ exports[`an opaque accent, before and after alpha > synthwave 1`] = ` "--p-icon": "#a3a1aa", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4c4a59", + "--p-pressed-ink": "#f0eff1", "--p-preview": "#403e4d", + "--p-secondary": "#1b1927", "--p-sel-bg": "#ff7edb", "--p-side": "#262335", + "--p-side-dim": "#a19fa5", "--p-side-flat": "#2e2b3d", + "--p-side-text": "#f0eff1", "--p-tab-active": "#262335", "--p-tabs": "#262335", "--p-text": "#f0eff1", @@ -13195,10 +15690,15 @@ exports[`an opaque accent, before and after alpha > tokyonight 1`] = ` "--p-icon": "#8188a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3c4d", + "--p-pressed-ink": "#c0caf5", "--p-preview": "#303241", + "--p-secondary": "#10111999", "--p-sel-bg": "#7aa2f7", "--p-side": "#1a1b2600", + "--p-side-dim": "#9699a9", "--p-side-flat": "#21222e", + "--p-side-text": "#c0caf5", "--p-tab-active": "#1a1b2600", "--p-tabs": "#1a1b2699", "--p-text": "#c0caf5", @@ -13221,10 +15721,15 @@ exports[`an opaque accent, before and after alpha > tokyonight 1`] = ` "--p-icon": "#8188a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3c4d", + "--p-pressed-ink": "#c0caf5", "--p-preview": "#303241", + "--p-secondary": "#101119", "--p-sel-bg": "#e07a2f", "--p-side": "#1a1b26", + "--p-side-dim": "#9699a9", "--p-side-flat": "#21222e", + "--p-side-text": "#c0caf5", "--p-tab-active": "#1a1b26", "--p-tabs": "#1a1b26", "--p-text": "#c0caf5", @@ -13247,10 +15752,15 @@ exports[`an opaque accent, before and after alpha > tokyonight 1`] = ` "--p-icon": "#8188a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3c4d", + "--p-pressed-ink": "#c0caf5", "--p-preview": "#303241", + "--p-secondary": "#10111999", "--p-sel-bg": "#e07a2f", "--p-side": "#1a1b2600", + "--p-side-dim": "#9699a9", "--p-side-flat": "#21222e", + "--p-side-text": "#c0caf5", "--p-tab-active": "#1a1b2600", "--p-tabs": "#1a1b2699", "--p-text": "#c0caf5", @@ -13273,10 +15783,15 @@ exports[`an opaque accent, before and after alpha > tokyonight 1`] = ` "--p-icon": "#8188a6", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#3a3c4d", + "--p-pressed-ink": "#c0caf5", "--p-preview": "#303241", + "--p-secondary": "#101119", "--p-sel-bg": "#7aa2f7", "--p-side": "#1a1b26", + "--p-side-dim": "#9699a9", "--p-side-flat": "#21222e", + "--p-side-text": "#c0caf5", "--p-tab-active": "#1a1b26", "--p-tabs": "#1a1b26", "--p-text": "#c0caf5", @@ -13304,10 +15819,15 @@ exports[`an opaque accent, before and after alpha > umber 1`] = ` "--p-icon": "#a09281", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4f433a", + "--p-pressed-ink": "#e8d8c0", "--p-preview": "#443930", + "--p-secondary": "#1f171299", "--p-sel-bg": "#c4966a", "--p-side": "#2b211b00", + "--p-side-dim": "#a7a097", "--p-side-flat": "#332822", + "--p-side-text": "#e8d8c0", "--p-tab-active": "#2b211b00", "--p-tabs": "#2b211b99", "--p-text": "#e8d8c0", @@ -13330,10 +15850,15 @@ exports[`an opaque accent, before and after alpha > umber 1`] = ` "--p-icon": "#a09281", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4f433a", + "--p-pressed-ink": "#e8d8c0", "--p-preview": "#443930", + "--p-secondary": "#1f1712", "--p-sel-bg": "#e07a2f", "--p-side": "#2b211b", + "--p-side-dim": "#9f988e", "--p-side-flat": "#332822", + "--p-side-text": "#e8d8c0", "--p-tab-active": "#2b211b", "--p-tabs": "#2b211b", "--p-text": "#e8d8c0", @@ -13356,10 +15881,15 @@ exports[`an opaque accent, before and after alpha > umber 1`] = ` "--p-icon": "#a09281", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4f433a", + "--p-pressed-ink": "#e8d8c0", "--p-preview": "#443930", + "--p-secondary": "#1f171299", "--p-sel-bg": "#e07a2f", "--p-side": "#2b211b00", + "--p-side-dim": "#9f988e", "--p-side-flat": "#332822", + "--p-side-text": "#e8d8c0", "--p-tab-active": "#2b211b00", "--p-tabs": "#2b211b99", "--p-text": "#e8d8c0", @@ -13382,10 +15912,15 @@ exports[`an opaque accent, before and after alpha > umber 1`] = ` "--p-icon": "#a09281", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#4f433a", + "--p-pressed-ink": "#e8d8c0", "--p-preview": "#443930", + "--p-secondary": "#1f1712", "--p-sel-bg": "#c4966a", "--p-side": "#2b211b", + "--p-side-dim": "#a7a097", "--p-side-flat": "#332822", + "--p-side-text": "#e8d8c0", "--p-tab-active": "#2b211b", "--p-tabs": "#2b211b", "--p-text": "#e8d8c0", @@ -13413,10 +15948,15 @@ exports[`an opaque accent, before and after alpha > volt 1`] = ` "--p-icon": "#959991", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#313331", + "--p-pressed-ink": "#eef2e6", "--p-preview": "#232623", + "--p-secondary": "#05070699", "--p-sel-bg": "#d8ff26", "--p-side": "#05070600", + "--p-side-dim": "#989995", "--p-side-flat": "#0e100f", + "--p-side-text": "#eef2e6", "--p-tab-active": "#05070600", "--p-tabs": "#05070699", "--p-text": "#eef2e6", @@ -13439,10 +15979,15 @@ exports[`an opaque accent, before and after alpha > volt 1`] = ` "--p-icon": "#959991", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#313331", + "--p-pressed-ink": "#eef2e6", "--p-preview": "#232623", + "--p-secondary": "#050706", "--p-sel-bg": "#e07a2f", "--p-side": "#050706", + "--p-side-dim": "#8f908c", "--p-side-flat": "#0e100f", + "--p-side-text": "#eef2e6", "--p-tab-active": "#050706", "--p-tabs": "#050706", "--p-text": "#eef2e6", @@ -13465,10 +16010,15 @@ exports[`an opaque accent, before and after alpha > volt 1`] = ` "--p-icon": "#959991", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#313331", + "--p-pressed-ink": "#eef2e6", "--p-preview": "#232623", + "--p-secondary": "#05070699", "--p-sel-bg": "#e07a2f", "--p-side": "#05070600", + "--p-side-dim": "#8f908c", "--p-side-flat": "#0e100f", + "--p-side-text": "#eef2e6", "--p-tab-active": "#05070600", "--p-tabs": "#05070699", "--p-text": "#eef2e6", @@ -13491,10 +16041,15 @@ exports[`an opaque accent, before and after alpha > volt 1`] = ` "--p-icon": "#959991", "--p-line": "#ffffff17", "--p-on-accent": "#0b0b0f", + "--p-pressed": "#313331", + "--p-pressed-ink": "#eef2e6", "--p-preview": "#232623", + "--p-secondary": "#050706", "--p-sel-bg": "#d8ff26", "--p-side": "#050706", + "--p-side-dim": "#989995", "--p-side-flat": "#0e100f", + "--p-side-text": "#eef2e6", "--p-tab-active": "#050706", "--p-tabs": "#050706", "--p-text": "#eef2e6", diff --git a/src/renderer/src/lib/chromeTheme.test.ts b/src/renderer/src/lib/chromeTheme.test.ts index 2a7868fe..2082c745 100644 --- a/src/renderer/src/lib/chromeTheme.test.ts +++ b/src/renderer/src/lib/chromeTheme.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it } from 'vitest' import { CHROME_COLOUR_TOKENS, chromeTokens } from './chromeTheme' import { TERM_PRESETS, presetAccent, resolveTermTheme, type TermTheme } from '@core/renderer/lib/termTheme' import { SEE_THROUGH_ALPHA, seeThroughAlpha } from '@core/renderer/lib/seeThrough' -import { contrastRatio } from '@core/renderer/lib/termAnsi' +import { contrastRatio, luminance } from '@core/renderer/lib/termAnsi' import { composite } from '@core/renderer/lib/colour' import { groundMode } from '@core/renderer/lib/termReplies' import { WINDOW_EDGES } from '@shared/windowEdges' @@ -329,3 +329,47 @@ describe('the switch knob token', () => { expect(css).toContain(`--p-switch-knob: ${chromeTokens(resolveTermTheme('prism')).vars['--p-switch-knob']};`) }) }) + +// THE SECONDARY COLOUR (#162; owner, 2026-10-12: "this is the gold standard. +// make it fit with each theme"): the mockup's "a shade lighter", per theme. +describe('the secondary colour', () => { + // Owner, 2026-10-12: a black theme keeps a black sidebar; every other one a + // step darker than its ground (a light one too). + it.each(TERM_PRESETS.map((p) => p.id))('%s: unpicked, black stays, others go darker, readable', (id) => { + const { vars } = chromeTokens(resolveTermTheme(id), 1, presetAccent(id)) + const bg = vars['--p-bg-solid'] + if (luminance(bg) < 0.0045) expect(vars['--p-secondary']).toBe(bg) + else expect(luminance(vars['--p-secondary'])).toBeLessThan(luminance(bg)) + expect(contrastRatio(vars['--p-text'], vars['--p-secondary'])).toBeGreaterThanOrEqual(4.5) + expect(contrastRatio(vars['--p-dim'], vars['--p-secondary'])).toBeGreaterThanOrEqual(3) + }) + + it('a pick is worn, and the inks are held to it', () => { + const theme = resolveTermTheme('pt-default') + const { vars } = chromeTokens(theme, 1, presetAccent('pt-default'), 'hairline', null, '#3a3a3a') + expect(vars['--p-secondary']).toBe('#3a3a3a') + expect(contrastRatio(vars['--p-text'], '#3a3a3a')).toBeGreaterThanOrEqual(4.5) + expect(contrastRatio(vars['--p-dim'], '#3a3a3a')).toBeGreaterThanOrEqual(3) + }) + + it("on glass it is see-through at the ground's alpha", () => { + const { vars } = chromeTokens(resolveTermTheme('pt-default'), 0.73) + expect(vars['--p-secondary']).toMatch(/^#[0-9a-f]{8}$/) + expect(vars['--p-secondary'].slice(7)).toBe(vars['--p-bg'].slice(7)) + }) +}) + +// LIGHT THEMES, READABLE CONTROLS (owner, 2026-10-12: "make sure to fix the +// contrast on light themes, so that buttons and text are properly contrasted"). +describe('controls on light themes', () => { + const lights = TERM_PRESETS.map((p) => p.id).filter((id) => chromeTokens(resolveTermTheme(id)).mode === 'light') + it.each(lights)('%s: a pressed segment, the icons and the quiet text read at the body floor', (id) => { + const { vars } = chromeTokens(resolveTermTheme(id), 1, presetAccent(id)) + expect(contrastRatio(vars['--p-pressed-ink'], vars['--p-pressed'])).toBeGreaterThanOrEqual(4.5) + for (const ground of [vars['--p-bg-solid'], vars['--p-secondary'], vars['--p-control']]) { + expect(contrastRatio(vars['--p-icon'], ground)).toBeGreaterThanOrEqual(4.5) + expect(contrastRatio(vars['--p-dim'], ground)).toBeGreaterThanOrEqual(4.5) + } + expect(contrastRatio(vars['--p-dim2'], vars['--p-bg-solid'])).toBeGreaterThanOrEqual(4.5) + }) +}) diff --git a/src/renderer/src/lib/chromeTheme.ts b/src/renderer/src/lib/chromeTheme.ts index c17a3204..d574c06f 100644 --- a/src/renderer/src/lib/chromeTheme.ts +++ b/src/renderer/src/lib/chromeTheme.ts @@ -1,7 +1,15 @@ import type { TermTheme } from '@core/renderer/lib/termTheme' -import { contrastRatio, ensureContrast, luminance, mixHex, normalizeColor } from '@core/renderer/lib/termAnsi' +import { + contrastRatio, + ensureContrast, + luminance, + mixHex, + normalizeColor +} from '@core/renderer/lib/termAnsi' import { alphaHex, alphaOf, composite, selectionFor } from '@core/renderer/lib/colour' import { switchKnob } from '@core/renderer/lib/switchKnob' +import { sidebarGround } from './sidebarGround' +import { atLightness, liftToFloor, okLightness } from './oklab' import { EDGE_ALPHA, validWindowEdges, type WindowEdges } from '@shared/windowEdges' // The window wears the terminal's theme. Every chrome colour is derived from @@ -26,6 +34,10 @@ const FALLBACK_FG = '#e7e7ee' // on the same colour, and the active tab is told from the rest by its INK. const TEXT_FLOOR = 4.5 const QUIET_FLOOR = 3 +/** White text on the accent is tried from this ratio up (see onAccent). */ +const WHITE_ON_ACCENT = 3 +/** The sidebar's tab names: AAA, for an owner who works zoomed in (#162). */ +const SIDE_TEXT_FLOOR = 7 /** Every COLOUR token the components read. Radius, font and size tokens are * index.css's, since no theme changes them. */ @@ -34,6 +46,7 @@ export const CHROME_COLOUR_TOKENS = [ '--p-bg-solid', '--p-side', '--p-side-flat', + '--p-secondary', '--p-title', '--p-tabs', '--p-tab-active', @@ -55,7 +68,11 @@ export const CHROME_COLOUR_TOKENS = [ '--p-preview', '--p-sel-bg', '--p-tree-folder', - '--p-switch-knob' + '--p-switch-knob', + '--p-pressed', + '--p-pressed-ink', + '--p-side-text', + '--p-side-dim' ] as const export interface ChromeTokens { @@ -95,7 +112,10 @@ export function chromeTokens( edges: WindowEdges = 'hairline', /** The accent the USER chose (accentPrefs), or nothing to follow the theme. * It may carry an alpha (#114). */ - chosenAccent?: string | null + chosenAccent?: string | null, + /** The SECONDARY colour the user chose (secondaryPrefs), or nothing for the + * theme's own: the sidebar and the title bar beside the terminal. */ + chosenSecondary?: string | null ): ChromeTokens { // Flattened before any maths: a theme may publish rgba() or #rrggbbaa, which // is fine to paint and NaN to measure, and NaN is how a hue walks to black. @@ -112,8 +132,31 @@ export function chromeTokens( // between the ground and the text, so it is the harder of the two for // anything on the text's side; the ground is checked after it for the rare // colour that sits on the other side. + // THE SECONDARY COLOUR (owner, 2026-10-12: "the sidebar and titlebar colour + // should be this, but make that into a new setting called secondary colour + // ... so the user can pick their own, but this is the gold standard. make it + // fit with each theme"): the vertical tabs' sidebar and their title bar. + // THE SIDEBAR'S GROUND, unpicked (owner, 2026-10-12: "black theme should + // have black sidebar and all the others have the old style where its a bit + // darker than the bg + shadow", then "should follow a general scheme"): one + // even step darker on every theme (sidebarGround); a black theme keeps its + // black. The edge between it and the terminal is one line (TermEdge). A pick + // is a surface the inks are held to. + const ownSecondary = sidebarGround(bg) + const secondary = chosenSecondary ? normalizeColor(chosenSecondary, ownSecondary) : ownSecondary + // The form control's fill (below), a step off the ground: on a light theme + // the quiet inks sit on it too, a segment's name or a field's hint. + const controlFill = mixHex(bg, rawFg, light ? 0.09 : 0.035) const floorOn = (c: string, floor: number): string => - ensureContrast(ensureContrast(c, flat, floor), bg, floor) + ensureContrast( + ensureContrast( + ensureContrast(ensureContrast(c, flat, floor), secondary, floor), + light ? controlFill : bg, + floor + ), + bg, + floor + ) const fg = floorOn(rawFg, TEXT_FLOOR) // The theme's own blue first, its cursor second, Prism's indigo last, and the // first that is VISIBLE on this ground wins. If none is, the theme's blue is @@ -132,10 +175,10 @@ export function chromeTokens( const chosen = chosenAccent ? normalizeColor(chosenAccent, INDIGO) : null // The accent as a LINE: rings, rules, progress, the spinner. Never // see-through (#114); a picked alpha belongs to the fills below. - const solid = chosen + let solid = chosen ? visible(chosen) ? chosen - : floorOn(chosen, QUIET_FLOOR) + : floorOn(liftToFloor(chosen, [bg, flat], QUIET_FLOOR) ?? chosen, QUIET_FLOOR) : (candidates.find(visible) ?? floorOn(candidates[0], QUIET_FLOOR)) const glass = groundAlpha < 1 let accent = solid @@ -157,8 +200,29 @@ export function chromeTokens( } else { // What sits on the accent is white or near-black, whichever reads better: // the better of two, not a midpoint test, since both can be poor at a midpoint. - onAccent = - contrastRatio('#ffffff', accent) >= contrastRatio(FALLBACK_BG, accent) ? '#ffffff' : FALLBACK_BG + const onWhite = contrastRatio('#ffffff', accent) + const onDark = contrastRatio(FALLBACK_BG, accent) + onAccent = onWhite >= onDark ? '#ffffff' : FALLBACK_BG + // WHITE ON A STRONG MID COLOUR (owner, 2026-10-12, of near-black on a red + // Save changes: "the text colour should shift to white"). A red or a blue + // measures a little better in black by the WCAG sum but reads better in + // white, so when white is close (3:1 up, black not half as good again) the + // accent is taken a shade deeper, by lightness alone so it stays its hue, + // until white clears the body floor: only as far as the ground still shows + // it at the accent floor. Where that runs out first, the ink stays dark. A + // pale accent (the PT orange, a yellow) never gets here. + if (onAccent !== '#ffffff' && onWhite >= WHITE_ON_ACCENT && onWhite * 1.5 >= onDark) { + let deeper = accent + for (let i = 0; i < 40 && contrastRatio('#ffffff', deeper) < TEXT_FLOOR; i += 1) { + const next = atLightness(deeper, okLightness(deeper) - 0.005) + if (!visible(next)) break + deeper = next + } + if (contrastRatio('#ffffff', deeper) >= TEXT_FLOOR) { + accent = solid = deeper + onAccent = '#ffffff' + } + } // A selected row carries TEXT, so its fill is the accent moved until that ink // clears the text floor on it (Prism's selectionBg): away from the ink. selBg = accent @@ -177,7 +241,27 @@ export function chromeTokens( selBg = composite(selBg, bg) } const accentHi = floorOn(mixHex(solid, fg, 0.25), QUIET_FLOOR) - const dim = floorOn(mixHex(fg, bg, 0.38), QUIET_FLOOR) + // ON A LIGHT THEME the quiet inks sit nearer the text (owner, 2026-10-12: + // "the ui buttons on light themes are often a bit too hard to see, would be + // better if they were darker grey or black"): the dim text and the icons are + // held to the BODY floor there, and the icons a further step darker. A dark + // theme keeps the quieter greys it was tuned with. + // THE SIDEBAR'S INKS (owner, 2026-10-12, of the sidebar steps mockup: "very + // light themes have bad contrast ratios"; then "yes thats good" to the names + // held to 7:1 and the folder lines to 4.5:1): on the sidebar's ground AND on + // the accent pill of the tab in front, which TabSidebar lays at 18 percent. + const sideSolid = composite(secondary, bg) + const pill = mixHex(sideSolid, accentHi, 0.18) + const sideHeld = (c: string, floor: number): string => + ensureContrast(ensureContrast(c, sideSolid, floor), pill, floor) + const sideInks = { + '--p-side-text': sideHeld(fg, SIDE_TEXT_FLOOR), + '--p-side-dim': sideHeld(mixHex(fg, sideSolid, light ? 0.42 : 0.55), TEXT_FLOOR) + } + const dim = light + ? floorOn(mixHex(fg, bg, 0.28), TEXT_FLOOR) + : floorOn(mixHex(fg, bg, 0.38), QUIET_FLOOR) + const icon = light ? floorOn(mixHex(fg, bg, 0.18), TEXT_FLOOR) : dim // A raised stage rather than a sunken one: a true-black ground has nothing // darker to go to, so this always steps towards the text colour. const stage = mixHex(bg, fg, light ? 0.16 : 0.13) @@ -203,6 +287,8 @@ export function chromeTokens( // change when you turn on see through window, like the sidebar"). '--p-side': glass ? bg + '00' : bg, '--p-side-flat': flat, + // On glass it is see-through at the ground's own alpha, as the sheet is. + '--p-secondary': glass ? secondary + alphaHex(groundAlpha) : secondary, '--p-title': sheet, '--p-tabs': sheet, // The active tab is told by its ink, not a fill. On glass it must paint @@ -212,12 +298,16 @@ export function chromeTokens( '--p-text': fg, '--p-text-soft': floorOn(mixHex(fg, bg, 0.14), TEXT_FLOOR), '--p-dim': dim, - '--p-dim2': floorOn(mixHex(fg, bg, 0.55), QUIET_FLOOR), + // The quietest ink, a hint or a disabled button's word: on a light theme + // held to the body floor too, so a disabled Save changes still reads. + '--p-dim2': light + ? floorOn(mixHex(fg, bg, 0.42), TEXT_FLOOR) + : floorOn(mixHex(fg, bg, 0.55), QUIET_FLOOR), '--p-accent': accent, '--p-accent-solid': solid, '--p-accent-hi': accentHi, '--p-on-accent': onAccent, - '--p-icon': dim, + '--p-icon': icon, '--p-hover': ink + pctHex(light ? 7 : 6), '--p-hover-hi': ink + pctHex(light ? 12 : 11), '--p-divider': ink + pctHex(edgeAlpha.divider[shade]), @@ -227,7 +317,9 @@ export function chromeTokens( '--p-control': mixHex(bg, fg, light ? 0.09 : 0.035), // The unfilled part of a bar sits ON the stage, where a divider-strength // grey disappears. - '--p-track': mixHex(stage, fg, light ? 0.34 : 0.26), + // An off switch's track: on a light theme a mid grey the white knob stands + // out on, not a pale one. + '--p-track': mixHex(stage, fg, light ? 0.5 : 0.26), '--p-sel-bg': selBg, // The folder in the + menu's list of places: the accent's brighter cut, // already held to the non-text floor on the panel it is drawn on. @@ -237,7 +329,15 @@ export function chromeTokens( // close"): the theme's own ink, measured off the ground, flipped only where // it reads under 2:1 on the ON track (`--p-sel-bg`, as the eye sees it over // the ground: a see-through accent's fill is measured composited). - '--p-switch-knob': switchKnob(composite(selBg, bg), !light) + '--p-switch-knob': switchKnob(composite(selBg, bg), !light), + // A PRESSED SEGMENT (owner, 2026-10-12: "make sure to fix the contrast on + // light themes ... white themes having a very light gray color for + // buttons"): on a light theme the text colour as a pill with the ground's + // ink on it, the clearest pair the theme has; on a dark one the quiet grey + // it always was. + '--p-pressed': light ? mixHex(fg, bg, 0.08) : mixHex(mixHex(bg, fg, 0.035), fg, 0.16), + '--p-pressed-ink': light ? bg : fg, + ...sideInks } return { mode, vars } } diff --git a/src/renderer/src/lib/cornerShapes.ts b/src/renderer/src/lib/cornerShapes.ts new file mode 100644 index 00000000..21d63779 --- /dev/null +++ b/src/renderer/src/lib/cornerShapes.ts @@ -0,0 +1,32 @@ +/** + * THE CUT CORNER, ONE CURVE FOR BOTH SIDES OF IT (owner, 2026-10-12: the corner + * "looks pretty bad", then "a weird border, its square darker and not + * following the curve"). Where the terminal meets the bar beside the sidebar, + * the terminal is cut round (radius 10) and a small piece in the sidebar's + * colour fills the outside of the curve. Both are masks from the SAME path, one + * the inverse of the other, so every pixel on the curve is covered once + * between them. A border-radius beside a gradient, or a small mask layer over + * a big one, each left a line: the two edges never quite matched, and a layer's + * own edges sampled half clear. + */ +export const CORNER_R = 10 + +const svg = (body: string, size: number): string => + `url("data:image/svg+xml,${encodeURIComponent( + `${body}` + )}")` + +/** Everything from the top-left on, less the outside of the corner's curve. As + * big as any window, placed at the cut's top-left. */ +const PAGE = 8000 +export const INSIDE_CORNER = svg( + ``, + PAGE +) +export const INSIDE_SIZE = `${PAGE}px ${PAGE}px` + +/** The outside of the curve alone: the corner piece, CORNER_R square. */ +export const OUTSIDE_CORNER = svg( + ``, + CORNER_R +) diff --git a/src/renderer/src/lib/customWindowColours.test.ts b/src/renderer/src/lib/customWindowColours.test.ts new file mode 100644 index 00000000..d769d2fb --- /dev/null +++ b/src/renderer/src/lib/customWindowColours.test.ts @@ -0,0 +1,32 @@ +import { beforeEach, describe, expect, it } from 'vitest' +import { NO_COLOURS, coloursDiffer, customWindowColours, setCustomWindowColours, validColours } from './customWindowColours' + +describe('the window colours Custom keeps', () => { + beforeEach(() => localStorage.clear()) + + it('keeps none until Save changes keeps some', () => { + expect(customWindowColours()).toEqual(NO_COLOURS) + setCustomWindowColours({ background: '#101010', accent: null, secondary: '#2A2A2A' }) + expect(customWindowColours()).toEqual({ background: '#101010', accent: null, secondary: '#2a2a2a' }) + setCustomWindowColours(null) + expect(customWindowColours()).toEqual(NO_COLOURS) + }) + + it('reads junk as none', () => { + localStorage.setItem('prism.window.customColours', '{nope') + expect(customWindowColours()).toEqual(NO_COLOURS) + expect(validColours({ background: 'red', accent: 12, secondary: '#abcdef' })).toEqual({ + background: null, + accent: null, + secondary: '#abcdef' + }) + }) + + it('a pick that differs from what is kept is a change to save', () => { + expect(coloursDiffer(NO_COLOURS, NO_COLOURS)).toBe(false) + expect(coloursDiffer({ background: null, accent: '#FF8800', secondary: null }, NO_COLOURS)).toBe(true) + expect( + coloursDiffer({ background: null, accent: '#FF8800', secondary: null }, { background: null, accent: '#ff8800', secondary: null }) + ).toBe(false) + }) +}) diff --git a/src/renderer/src/lib/customWindowColours.ts b/src/renderer/src/lib/customWindowColours.ts new file mode 100644 index 00000000..c31157f0 --- /dev/null +++ b/src/renderer/src/lib/customWindowColours.ts @@ -0,0 +1,67 @@ +import { useSyncExternalStore } from 'react' + +// THE WINDOW COLOURS CUSTOM KEEPS (owner, 2026-10-12: Save changes "never grey +// when there are changes to save"). Background, Accent and Secondary are this +// app's own picks over a theme, and a theme pick forgets them. Save changes +// keeps the ones in force with the Custom theme, so picking Custom brings them +// back, and while they differ from what the theme in front keeps, they are +// changes to save. Read defensively: anything unreadable is none kept. + +export interface WindowColours { + background: string | null + accent: string | null + secondary: string | null +} + +export const NO_COLOURS: WindowColours = { background: null, accent: null, secondary: null } + +const KEY = 'prism.window.customColours' +const HEX = /^#[0-9a-f]{6}([0-9a-f]{2})?$/i + +let listeners: Array<() => void> = [] +let cache: { raw: string | null; value: WindowColours } = { raw: null, value: NO_COLOURS } + +const one = (v: unknown): string | null => (typeof v === 'string' && HEX.test(v) ? v.toLowerCase() : null) + +export function validColours(v: unknown): WindowColours { + if (!v || typeof v !== 'object') return NO_COLOURS + const o = v as Record + return { background: one(o.background), accent: one(o.accent), secondary: one(o.secondary) } +} + +/** What Custom keeps. One object per stored string, so a hook can compare it. */ +export function customWindowColours(): WindowColours { + const raw = localStorage.getItem(KEY) + if (raw !== cache.raw) { + let parsed: unknown + try { + parsed = raw ? JSON.parse(raw) : null + } catch { + parsed = null + } + cache = { raw, value: validColours(parsed) } + } + return cache.value +} + +export function setCustomWindowColours(c: WindowColours | null): void { + if (c) localStorage.setItem(KEY, JSON.stringify(validColours(c))) + else localStorage.removeItem(KEY) + listeners.forEach((l) => l()) +} + +export function onCustomWindowColours(cb: () => void): () => void { + listeners.push(cb) + return () => { + listeners = listeners.filter((l) => l !== cb) + } +} + +export const useCustomWindowColours = (): WindowColours => + useSyncExternalStore(onCustomWindowColours, customWindowColours) + +/** Whether the picks in force differ from what the theme in front keeps. */ +export function coloursDiffer(now: WindowColours, kept: WindowColours): boolean { + const n = validColours(now) + return n.background !== kept.background || n.accent !== kept.accent || n.secondary !== kept.secondary +} diff --git a/src/renderer/src/lib/devicePixels.test.ts b/src/renderer/src/lib/devicePixels.test.ts new file mode 100644 index 00000000..66ec60bd --- /dev/null +++ b/src/renderer/src/lib/devicePixels.test.ts @@ -0,0 +1,19 @@ +import { describe, expect, it } from 'vitest' +import { onDevicePixels } from './devicePixels' + +describe('an edge on whole screen pixels', () => { + it('ends on a whole screen pixel at any scale', () => { + for (const ratio of [1, 1.25, 1.5, 1.75, 2]) { + for (const px of [150, 220, 235, 241.3, 420]) { + const w = onDevicePixels(px, ratio) + expect(Math.abs(w * ratio - Math.round(w * ratio))).toBeLessThan(1e-9) + expect(Math.abs(w - px)).toBeLessThanOrEqual(0.5 / ratio + 1e-9) + } + } + }) + + it('leaves a whole-pixel width alone', () => { + expect(onDevicePixels(220, 1.25)).toBe(220) + expect(onDevicePixels(235, 1)).toBe(235) + }) +}) diff --git a/src/renderer/src/lib/devicePixels.ts b/src/renderer/src/lib/devicePixels.ts new file mode 100644 index 00000000..37eea74b --- /dev/null +++ b/src/renderer/src/lib/devicePixels.ts @@ -0,0 +1,27 @@ +import { useEffect, useState } from 'react' + +/** + * WHOLE SCREEN PIXELS (owner, 2026-10-12, under See-through: "the sidebar border + * is still there"). At a scale that is not a whole number (125 %, 150 %) a CSS + * length can end inside a screen pixel: a 235 px sidebar ends 3/4 of the way + * through pixel 294 at 125 %. Two see-through surfaces meeting there each + * half-cover that pixel and the desktop shows through as a line, so an edge + * where two surfaces meet is put on a whole screen pixel. + */ +export function onDevicePixels(px: number, ratio: number): number { + if (!(ratio > 0)) return px + return Math.round(px * ratio) / ratio +} + +/** The window's device pixel ratio, followed through zoom and a move to a + * screen of another scale. */ +export function useDevicePixelRatio(): number { + const [ratio, setRatio] = useState(() => window.devicePixelRatio || 1) + useEffect(() => { + const query = matchMedia(`(resolution: ${ratio}dppx)`) + const changed = (): void => setRatio(window.devicePixelRatio || 1) + query.addEventListener('change', changed) + return () => query.removeEventListener('change', changed) + }, [ratio]) + return ratio +} diff --git a/src/renderer/src/lib/edgeNear.ts b/src/renderer/src/lib/edgeNear.ts index 2c540397..db05096c 100644 --- a/src/renderer/src/lib/edgeNear.ts +++ b/src/renderer/src/lib/edgeNear.ts @@ -49,3 +49,13 @@ const none = (): EdgeNear => NONE export function useEdgeNear(on: boolean): EdgeNear { return useSyncExternalStore(on ? subscribe : noop, on ? () => near : none) } + +/** Whether main's cursor is where `wants` says, re-rendering only when that + * answer changes (the cursor itself moves twenty times a second). `wants` + * gets null until main has said anything. */ +export function useEdgeWants( + on: boolean, + wants: (p: { x: number; y: number } | null) => boolean +): boolean { + return useSyncExternalStore(on ? subscribe : noop, () => on && wants(near === NONE ? null : near)) +} diff --git a/src/renderer/src/lib/oklab.test.ts b/src/renderer/src/lib/oklab.test.ts new file mode 100644 index 00000000..9c1f08ec --- /dev/null +++ b/src/renderer/src/lib/oklab.test.ts @@ -0,0 +1,53 @@ +import { describe, expect, it } from 'vitest' +import { contrastRatio } from '@core/renderer/lib/termAnsi' +import { resolveTermTheme } from '@core/renderer/lib/termTheme' +import { liftToFloor } from './oklab' +import { chromeTokens } from './chromeTheme' + +const rgb = (h: string): number[] => [1, 3, 5].map((i) => parseInt(h.slice(i, i + 2), 16)) + +// Owner, 2026-10-12: with #140707 picked, Save "doesnt follow the accent +// color": the lift had mixed it with white to a pink grey. +describe('an accent too dark to see', () => { + it('is lifted to a red that reads, not a grey', () => { + const c = liftToFloor('#140707', ['#121212'], 3) as string + const [r, g, b] = rgb(c) + expect(contrastRatio(c, '#121212')).toBeGreaterThanOrEqual(3) + expect(r - g).toBeGreaterThan(50) + expect(r - b).toBeGreaterThan(50) + }) + + it('is what the window paints its saves in', () => { + const { vars } = chromeTokens( + resolveTermTheme('pt-default'), + 1, + undefined, + 'hairline', + '#140707' + ) + const [r, g, b] = rgb(vars['--p-accent']) + expect(r - g).toBeGreaterThan(50) + expect(r - b).toBeGreaterThan(50) + expect(contrastRatio(vars['--p-on-accent'], vars['--p-accent'])).toBeGreaterThanOrEqual(4.5) + }) + + it('leaves a pick that already reads alone, and darkens one on a light ground', () => { + expect(liftToFloor('#ff0000', ['#121212'], 3)).toBe('#ff0000') + const c = liftToFloor('#ffd0d0', ['#f6f4ee'], 3) as string + expect(contrastRatio(c, '#f6f4ee')).toBeGreaterThanOrEqual(3) + expect(rgb(c)[0] - rgb(c)[1]).toBeGreaterThan(20) + }) +}) + +describe('the ink on the accent', () => { + it('is white on a strong red or blue, dark on a pale orange or yellow', () => { + const ink = (accent: string): string => + chromeTokens(resolveTermTheme('pt-default'), 1, undefined, 'hairline', accent).vars[ + '--p-on-accent' + ] + expect(ink('#ff0000')).toBe('#ffffff') + expect(ink('#3b78ff')).toBe('#ffffff') + expect(ink('#fe8f34')).not.toBe('#ffffff') + expect(ink('#f5d90a')).not.toBe('#ffffff') + }) +}) diff --git a/src/renderer/src/lib/oklab.ts b/src/renderer/src/lib/oklab.ts new file mode 100644 index 00000000..736623b0 --- /dev/null +++ b/src/renderer/src/lib/oklab.ts @@ -0,0 +1,73 @@ +import { contrastRatio, luminance } from '@core/renderer/lib/termAnsi' + +/** OKLab, where equal steps in lightness look equal: the sidebar's step and + * the accent's lift are measured in it. */ +export type Lab = [number, number, number] + +const lin = (v: number): number => (v <= 0.04045 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4) +const unlin = (v: number): number => (v <= 0.0031308 ? 12.92 * v : 1.055 * v ** (1 / 2.4) - 0.055) + +export function toLab(hex: string): Lab { + const [r, g, b] = [1, 3, 5].map((i) => lin(parseInt(hex.slice(i, i + 2), 16) / 255)) + const l = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b) + const m = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b) + const s = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b) + return [ + 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s, + 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s, + 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s + ] +} + +/** Back to a 6-digit hex, each channel clipped to the screen's range. */ +export function fromLab([L, a, b]: Lab): string { + const l = (L + 0.3963377774 * a + 0.2158037573 * b) ** 3 + const m = (L - 0.1055613458 * a - 0.0638541728 * b) ** 3 + const s = (L - 0.0894841775 * a - 1.291485548 * b) ** 3 + const rgb = [ + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, + -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, + -0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s + ] + return ( + '#' + + rgb + .map((v) => + Math.round(Math.max(0, Math.min(1, unlin(Math.max(0, v)))) * 255) + .toString(16) + .padStart(2, '0') + ) + .join('') + ) +} + +/** OKLab lightness, 0 black to 1 white. */ +export const okLightness = (hex: string): number => toLab(hex)[0] + +/** A colour at another lightness, its chroma scaled with the lightness so it + * keeps the look of the colour it was: a dark red lifted is a red. */ +export function atLightness(hex: string, L: number): string { + const [l0, a, b] = toLab(hex) + const k = l0 > 0.001 ? L / l0 : 0 + return fromLab([L, a * k, b * k]) +} + +/** + * A colour moved, by lightness alone, until it reads at `floor` on every + * ground: lighter on a dark ground, darker on a light one. Mixing with white + * greyed a picked dark red to a pink grey (owner, 2026-10-12: the theme + * switch's Save "doesnt follow the accent color", with #140707 picked); this + * keeps the hue and the saturation. Null when no lightness clears the floor. + */ +export function liftToFloor(hex: string, grounds: readonly string[], floor: number): string | null { + const reads = (c: string): boolean => grounds.every((g) => contrastRatio(c, g) >= floor) + if (reads(hex)) return hex + const up = luminance(grounds[0]) < 0.18 + const L0 = okLightness(hex) + for (let i = 1; i <= 100; i += 1) { + const L = up ? L0 + (1 - L0) * (i / 100) : L0 * (1 - i / 100) + const c = atLightness(hex, L) + if (reads(c)) return c + } + return null +} diff --git a/src/renderer/src/lib/revealZones.test.ts b/src/renderer/src/lib/revealZones.test.ts new file mode 100644 index 00000000..1e074d6e --- /dev/null +++ b/src/renderer/src/lib/revealZones.test.ts @@ -0,0 +1,21 @@ +import { describe, expect, it } from 'vitest' +import { REVEAL } from './hoverReveal' +import { KEEP, sideWants } from './revealZones' + +describe('where the pointer keeps a revealed panel (#162)', () => { + it('the sidebar comes within the left zone, below its top', () => { + expect(sideWants({ x: REVEAL.left, y: 300 }, false, 0, 220)).toBe(true) + expect(sideWants({ x: REVEAL.left + 1, y: 300 }, false, 0, 220)).toBe(false) + expect(sideWants({ x: 5, y: 10 }, false, 36, 220)).toBe(false) + }) + + it('the sidebar stays on itself, its grab strip at the top included, and a few pixels past it', () => { + expect(sideWants({ x: 100, y: 10 }, true, 0, 220)).toBe(true) + expect(sideWants({ x: 220 + KEEP, y: 400 }, true, 0, 220)).toBe(true) + expect(sideWants({ x: 220 + KEEP + 1, y: 400 }, true, 0, 220)).toBe(false) + }) + + it('nothing without a point', () => { + expect(sideWants(null, true, 0, 220)).toBe(false) + }) +}) diff --git a/src/renderer/src/lib/revealZones.ts b/src/renderer/src/lib/revealZones.ts new file mode 100644 index 00000000..25c08980 --- /dev/null +++ b/src/renderer/src/lib/revealZones.ts @@ -0,0 +1,30 @@ +import { REVEAL } from './hoverReveal' + +/** + * WHERE THE POINTER KEEPS A REVEALED PANEL (#162; owner, 2026-10-11: "make it + * appear at one level but disappear a bit further down, i should be able to + * have the cursor 2-3 px off the titlebar before it disappears"). One rule for + * the page's own pointer moves and for main's reading of the cursor + * (edgeWatch.ts), which is the only one there is over a drag region. + * + * Hidden, a panel comes at its edge's zone (the top 16 px, the left 24 px). + * Shown, it stays while the pointer is on it or within KEEP of its far edge: + * the way out is a little further than the way in, so a hand resting on the + * bar's bottom edge does not flicker it. + */ +export const KEEP = 4 +/** How far outside the window still counts as at its edge: the resize + * border's band, where Windows has the pointer (edgeWatch's `outside`). */ +const BORDER = 8 + +export interface Point { + x: number + y: number +} + +/** The collapsed sidebar, from `top` down, `width` wide. */ +export function sideWants(p: Point | null, shown: boolean, top: number, width: number): boolean { + if (!p || p.y < top || p.x < -BORDER) return false + if (p.x <= REVEAL.left) return true + return shown && p.x <= width + KEEP +} diff --git a/src/renderer/src/lib/secondaryPrefs.ts b/src/renderer/src/lib/secondaryPrefs.ts new file mode 100644 index 00000000..6d247817 --- /dev/null +++ b/src/renderer/src/lib/secondaryPrefs.ts @@ -0,0 +1,14 @@ +import { colourPref } from './colourPref' + +// THE WINDOW'S SECONDARY COLOUR, chosen (owner, 2026-10-12: "a new setting +// called secondary colour, or something like that, so the user can pick their +// own"). Unset, it is the theme's own (chromeTokens: the ground a step toward +// the text). Set, the vertical tabs' sidebar and their title bar wear it, and +// every ink is held to it too. + +const secondary = colourPref('prism.window.secondary') + +export const windowSecondary = secondary.get +export const setWindowSecondary = secondary.set +export const onWindowSecondaryChange = secondary.onChange +export const useWindowSecondary = secondary.use diff --git a/src/renderer/src/lib/sidebarGround.test.ts b/src/renderer/src/lib/sidebarGround.test.ts new file mode 100644 index 00000000..b1b4a7da --- /dev/null +++ b/src/renderer/src/lib/sidebarGround.test.ts @@ -0,0 +1,29 @@ +import { describe, expect, it } from 'vitest' +import { TERM_PRESETS, presetAccent, resolveTermTheme } from '@core/renderer/lib/termTheme' +import { contrastRatio, luminance, mixHex } from '@core/renderer/lib/termAnsi' +import { BLACK_GROUND, SIDEBAR_STEP, okLightness, sidebarGround } from './sidebarGround' +import { chromeTokens } from './chromeTheme' + +// Owner, 2026-10-12, of the sidebar steps mockup: one scheme for every theme, +// Medium step; the light themes' text held up ("yes thats good"). +describe("the sidebar's ground", () => { + it.each(TERM_PRESETS.map((p) => p.id))('%s: one even step darker, or black kept', (id) => { + const bg = resolveTermTheme(id).background as string + const side = sidebarGround(bg) + if (luminance(bg) < BLACK_GROUND) expect(side).toBe(bg) + else expect(okLightness(bg) - okLightness(side)).toBeCloseTo(SIDEBAR_STEP, 2) + }) + + it.each(TERM_PRESETS.map((p) => p.id))( + '%s: names read at 7:1 and folders at 4.5:1, on the sidebar and its pill', + (id) => { + const { vars } = chromeTokens(resolveTermTheme(id), 1, presetAccent(id)) + const side = vars['--p-secondary'].slice(0, 7) + const pill = mixHex(side, vars['--p-accent-hi'], 0.18) + for (const ground of [side, pill]) { + expect(contrastRatio(vars['--p-side-text'], ground)).toBeGreaterThanOrEqual(7) + expect(contrastRatio(vars['--p-side-dim'], ground)).toBeGreaterThanOrEqual(4.5) + } + } + ) +}) diff --git a/src/renderer/src/lib/sidebarGround.ts b/src/renderer/src/lib/sidebarGround.ts new file mode 100644 index 00000000..3b89c132 --- /dev/null +++ b/src/renderer/src/lib/sidebarGround.ts @@ -0,0 +1,28 @@ +import { luminance } from '@core/renderer/lib/termAnsi' +import { fromLab, toLab } from './oklab' + +export { okLightness } from './oklab' + +/** + * THE SIDEBAR'S GROUND, unpicked (#162; owner, 2026-10-12, of the sidebar + * steps mockup: a mix toward black was "too heavy" on some themes and "too + * light" on others, it "should follow a general scheme"; then Medium step: + * "yes thats good"). One step for every theme, the same size to the eye: the + * terminal's ground made darker by SIDEBAR_STEP in OKLab lightness, its hue + * kept and its chroma shrunk with the lightness so a dark step does not turn + * muddy. A black ground has no room below it and stays itself. + */ +export const SIDEBAR_STEP = 0.045 + +/** Below this luminance a ground is black: a step down would not show, so the + * sidebar keeps it. */ +export const BLACK_GROUND = 0.0045 + +/** The sidebar's own ground for a terminal ground (a 6-digit hex). */ +export function sidebarGround(bg: string): string { + if (luminance(bg) < BLACK_GROUND) return bg + const [L, a, b] = toLab(bg) + const step = Math.min(SIDEBAR_STEP, L - 0.08) + const k = (L - step) / L + return fromLab([L - step, a * k, b * k]) +} diff --git a/src/renderer/src/lib/sidebarPrefs.test.ts b/src/renderer/src/lib/sidebarPrefs.test.ts index b113b359..222f4cb7 100644 --- a/src/renderer/src/lib/sidebarPrefs.test.ts +++ b/src/renderer/src/lib/sidebarPrefs.test.ts @@ -5,6 +5,8 @@ import { setSidebarMode, setSidebarWidth, sidebarMode, + isSidebarChord, + toggleSidebar, sidebarWidth, validSidebarWidth } from './sidebarPrefs' @@ -54,3 +56,34 @@ describe('sidebarPrefs (#162)', () => { expect(heard).toHaveBeenCalledTimes(2) }) }) + +describe('the sidebar key (#162)', () => { + const k = ( + key: string, + mods: Partial<{ ctrlKey: boolean; shiftKey: boolean; altKey: boolean; metaKey: boolean }> = {} + ) => ({ + key, + ctrlKey: false, + shiftKey: false, + altKey: false, + metaKey: false, + ...mods + }) + beforeEach(() => localStorage.clear()) + + it('is Ctrl+Shift+B, either case, and nothing else', () => { + expect(isSidebarChord(k('B', { ctrlKey: true, shiftKey: true }))).toBe(true) + expect(isSidebarChord(k('b', { ctrlKey: true, shiftKey: true }))).toBe(true) + // Claude Code's Ctrl+B and the shell's own chords stay theirs. + expect(isSidebarChord(k('b', { ctrlKey: true }))).toBe(false) + expect(isSidebarChord(k('s', { ctrlKey: true }))).toBe(false) + expect(isSidebarChord(k('B', { ctrlKey: true, shiftKey: true, altKey: true }))).toBe(false) + }) + + it('toggles open and collapsed', () => { + toggleSidebar() + expect(sidebarMode()).toBe('collapsed') + toggleSidebar() + expect(sidebarMode()).toBe('open') + }) +}) diff --git a/src/renderer/src/lib/sidebarPrefs.ts b/src/renderer/src/lib/sidebarPrefs.ts index 38810987..5f79f100 100644 --- a/src/renderer/src/lib/sidebarPrefs.ts +++ b/src/renderer/src/lib/sidebarPrefs.ts @@ -56,3 +56,26 @@ export function onSidebarChange(cb: () => void): () => void { export const useSidebarMode = (): SidebarMode => useSyncExternalStore(onSidebarChange, sidebarMode) export const useSidebarWidth = (): number => useSyncExternalStore(onSidebarChange, sidebarWidth) + +/** + * THE SIDEBAR'S KEY, Ctrl+Shift+B (owner, 2026-10-12: "bind the sidebar to a + * hotkey like ctrl b or ctrl s. not sure whats available"): open, or collapsed + * to the left edge. Not Ctrl+B, which is Claude Code's (background a running + * task) and the shell's cursor-left; not Ctrl+S, PowerShell's forward history + * search and the terminal's pause. VS Code's sidebar key with Shift. Taken + * only while the tabs are vertical; otherwise it is the shell's, as before. + */ +export function isSidebarChord(e: { + key: string + ctrlKey: boolean + shiftKey: boolean + altKey: boolean + metaKey: boolean +}): boolean { + return e.ctrlKey && e.shiftKey && !e.altKey && !e.metaKey && e.key.toLowerCase() === 'b' +} + +/** Open becomes collapsed, collapsed becomes open. */ +export function toggleSidebar(): void { + setSidebarMode(sidebarMode() === 'open' ? 'collapsed' : 'open') +} diff --git a/src/renderer/src/lib/sidebarRows.test.ts b/src/renderer/src/lib/sidebarRows.test.ts new file mode 100644 index 00000000..b75fe1a1 --- /dev/null +++ b/src/renderer/src/lib/sidebarRows.test.ts @@ -0,0 +1,43 @@ +import { describe, expect, it } from 'vitest' +import { findKeeps, folderLine, isFindTabChord } from './sidebarRows' + +describe('the folder line under a sidebar row', () => { + const home = 'C:\\Users\\Admin' + it("is the folder's parent, the user's folder as ~", () => { + expect(folderLine('C:\\Users\\Admin\\Documents\\Claude\\Github\\Prism', home)).toBe( + '~\\Documents\\Claude\\Github' + ) + expect(folderLine('C:\\Users\\Admin\\dotfiles', home)).toBe('~') + expect(folderLine('c:\\users\\admin\\code\\api', home)).toBe('~\\code') + }) + + it('says the drive for a folder at a root, and leaves other places as they are', () => { + expect(folderLine('X:\\Emulators', home)).toBe('X:') + expect(folderLine('D:\\work\\site\\', home)).toBe('D:\\work') + expect(folderLine('C:\\Users\\Administrator\\x', home)).toBe('C:\\Users\\Administrator') + }) +}) + +describe('finding a tab', () => { + it('keeps a row with every word in its name or folder, any case, any order', () => { + expect(findKeeps('', 'Prism', 'C:\\x')).toBe(true) + expect(findKeeps('pri', 'PrismTerminal', 'C:\\x')).toBe(true) + expect( + findKeeps('github prism', 'Prism', 'C:\\Users\\Admin\\Documents\\Claude\\Github\\Prism') + ).toBe(true) + expect(findKeeps('sonara', 'Prism', 'C:\\x')).toBe(false) + }) + + it('opens on Ctrl+Shift+K only', () => { + const k = (key: string, ctrlKey: boolean, shiftKey: boolean) => ({ + key, + ctrlKey, + shiftKey, + altKey: false, + metaKey: false + }) + expect(isFindTabChord(k('K', true, true))).toBe(true) + expect(isFindTabChord(k('k', true, false))).toBe(false) + expect(isFindTabChord(k('k', false, true))).toBe(false) + }) +}) diff --git a/src/renderer/src/lib/sidebarRows.ts b/src/renderer/src/lib/sidebarRows.ts new file mode 100644 index 00000000..bf8f9d54 --- /dev/null +++ b/src/renderer/src/lib/sidebarRows.ts @@ -0,0 +1,47 @@ +/** + * WHAT A SIDEBAR ROW SAYS UNDER ITS NAME, AND WHICH ROWS A FIND KEEPS (#162; + * owner, 2026-10-12, of the sidebar looks mockup: "Second line: Folder path", + * "Top: Find a tab"). Pure, so a test holds them. + */ + +/** The folder a tab's folder sits in, the user's own folder as `~`: what tells + * two tabs with one name apart. A drive's root says the drive. */ +export function folderLine(cwd: string, home: string): string { + const path = cwd.replace(/[\\/]+$/, '') + const cut = path.search(/[\\/][^\\/]*$/) + if (cut <= 0) return path + let parent = path.slice(0, cut) + if (/^[a-z]:$/i.test(parent)) return parent.toUpperCase() + const h = home.replace(/[\\/]+$/, '') + if ( + h && + (parent.toLowerCase() === h.toLowerCase() || + parent.toLowerCase().startsWith(h.toLowerCase() + '\\')) + ) + parent = '~' + parent.slice(h.length) + return parent +} + +/** Whether a row stays while finding: every word of the query, in any order, + * somewhere in its name or its folder; case does not matter. */ +export function findKeeps(query: string, name: string, cwd: string): boolean { + const words = query.toLowerCase().split(/\s+/).filter(Boolean) + if (!words.length) return true + const hay = `${name}\n${cwd}`.toLowerCase() + return words.every((w) => hay.includes(w)) +} + +/** + * THE FIND KEY, Ctrl+Shift+K (the mockup said Ctrl+K; that is the shell's + * kill-to-end-of-line, in readline and PSReadLine alike, so the Shift chord): + * taken only while the tabs are vertical. + */ +export function isFindTabChord(e: { + key: string + ctrlKey: boolean + shiftKey: boolean + altKey: boolean + metaKey: boolean +}): boolean { + return e.ctrlKey && e.shiftKey && !e.altKey && !e.metaKey && e.key.toLowerCase() === 'k' +} diff --git a/src/renderer/src/lib/tabWidthPrefs.test.ts b/src/renderer/src/lib/tabWidthPrefs.test.ts deleted file mode 100644 index 3e53064f..00000000 --- a/src/renderer/src/lib/tabWidthPrefs.test.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { beforeEach, describe, expect, it, vi } from 'vitest' -import { onTabWidthChange, setTabWidth, tabWidth } from './tabWidthPrefs' - -describe('tabWidthPrefs', () => { - beforeEach(() => localStorage.clear()) - - it('is dynamic until somebody chooses (owner, 2026-09-23: "have dynamic be the default")', () => { - expect(tabWidth()).toBe('dynamic') - }) - - it('remembers both choices under its own key', () => { - for (const w of ['fixed', 'dynamic'] as const) { - setTabWidth(w) - expect(tabWidth()).toBe(w) - expect(localStorage.getItem('prism.window.tabWidth')).toBe(w) - } - }) - - it('reads a word it does not know as dynamic, and never stores one', () => { - localStorage.setItem('prism.window.tabWidth', 'wide') - expect(tabWidth()).toBe('dynamic') - setTabWidth('huge' as never) - expect(localStorage.getItem('prism.window.tabWidth')).toBe('dynamic') - }) - - it('tells its listeners on a change, and stops when asked', () => { - const heard = vi.fn() - const off = onTabWidthChange(heard) - setTabWidth('fixed') - expect(heard).toHaveBeenCalledTimes(1) - off() - setTabWidth('dynamic') - expect(heard).toHaveBeenCalledTimes(1) - }) -}) diff --git a/src/renderer/src/lib/tabWidthPrefs.ts b/src/renderer/src/lib/tabWidthPrefs.ts deleted file mode 100644 index 62e73100..00000000 --- a/src/renderer/src/lib/tabWidthPrefs.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { useSyncExternalStore } from 'react' - -// HOW WIDE A TAB IS (owner, 2026-09-23: "add a setting for tab width, where the -// user can pick fixed size or dynamic, so essentially what we got now and what -// we had before"; then "call it dynamic ... have dynamic be the default"). -// `dynamic` is the tab as wide as its name, up to a cap, the strip from before -// #35, and the DEFAULT, by the owner's word, so a strip that was fixed since -// #35 goes back to dynamic with this update; `fixed` is every tab one width. -// THIS APP'S OWN setting: the strip is the app's shell, not the terminal's, so -// its key is not `prism.term.*`. Read defensively: anything unknown is dynamic. - -export type TabWidth = 'dynamic' | 'fixed' - -const KEY = 'prism.window.tabWidth' - -let listeners: Array<() => void> = [] - -export function validTabWidth(v: unknown): TabWidth { - return v === 'fixed' ? 'fixed' : 'dynamic' -} - -export function tabWidth(): TabWidth { - return validTabWidth(localStorage.getItem(KEY)) -} - -export function setTabWidth(width: TabWidth): void { - localStorage.setItem(KEY, validTabWidth(width)) - listeners.forEach((l) => l()) -} - -export function onTabWidthChange(cb: () => void): () => void { - listeners.push(cb) - return () => { - listeners = listeners.filter((l) => l !== cb) - } -} - -export const useTabWidth = (): TabWidth => useSyncExternalStore(onTabWidthChange, tabWidth) diff --git a/src/renderer/src/lib/titleBarPrefs.ts b/src/renderer/src/lib/titleBarPrefs.ts deleted file mode 100644 index 4fa004ee..00000000 --- a/src/renderer/src/lib/titleBarPrefs.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { useSyncExternalStore } from 'react' - -// WHETHER THE WINDOW HAS A TITLE BAR (#91; owner, 2026-09-28: "add a no title -// bar option for pt in appearance as well, not theme related", and of the -// shapes offered, "tabs in the top row"). `hidden` drops the title bar's row: -// the tabs move up into it, and its buttons sit at the tab row's right end. -// `shown` is the window as it always was, and the DEFAULT, so nobody's window -// changes with the update. This app's own setting (the window's chrome), so -// its key is not `prism.term.*`. Read defensively: anything unknown is shown. - -export type TitleBarMode = 'shown' | 'hidden' - -const KEY = 'prism.window.titleBar' - -let listeners: Array<() => void> = [] - -export function validTitleBar(v: unknown): TitleBarMode { - return v === 'hidden' ? 'hidden' : 'shown' -} - -export function titleBarMode(): TitleBarMode { - return validTitleBar(localStorage.getItem(KEY)) -} - -export function setTitleBarMode(mode: TitleBarMode): void { - localStorage.setItem(KEY, validTitleBar(mode)) - listeners.forEach((l) => l()) -} - -export function onTitleBarChange(cb: () => void): () => void { - listeners.push(cb) - return () => { - listeners = listeners.filter((l) => l !== cb) - } -} - -export const useTitleBarMode = (): TitleBarMode => useSyncExternalStore(onTitleBarChange, titleBarMode) diff --git a/src/renderer/src/termHost.ts b/src/renderer/src/termHost.ts index 57070d28..6598ccda 100644 --- a/src/renderer/src/termHost.ts +++ b/src/renderer/src/termHost.ts @@ -1,3 +1,6 @@ +import { isSidebarChord } from './lib/sidebarPrefs' +import { isFindTabChord } from './lib/sidebarRows' +import { tabLayout } from './lib/tabLayoutPrefs' import { focusedTermFullScreen } from '@core/renderer/components/TerminalPanel' import { configureTermCore } from '@core/renderer/host' import { helpEnabled } from '@core/renderer/lib/helpPrefs' @@ -65,6 +68,8 @@ configureTermCore({ // are left to the shell. if (e.key === 'F1' && !e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey) return helpEnabled() if (!e.ctrlKey || e.altKey) return false + // THE SIDEBAR'S KEY (#162), while the tabs are vertical only. + if (isSidebarChord(e) || isFindTabChord(e)) return tabLayout() === 'vertical' const k = e.key.toLowerCase() // Next / previous tab, jump to a tab, Settings. if (e.key === 'Tab' || /^[1-9]$/.test(e.key) || e.key === ',') return true diff --git a/tools/e2e/run.mjs b/tools/e2e/run.mjs index 91b5d029..1d97db9e 100644 --- a/tools/e2e/run.mjs +++ b/tools/e2e/run.mjs @@ -166,8 +166,8 @@ const tabLabels = (page) => * so a row moving between pages is one line here. */ const PREF_PAGE = { - 'tab-layout': 'appearance', 'tab-width': 'appearance', 'tab-style': 'appearance', 'tab-switch': 'appearance', 'title-bar': 'appearance', 'window-edges': 'appearance', 'term-theme': 'appearance', - 'window-background': 'appearance', 'window-accent': 'appearance', 'term-acrylic': 'appearance', + 'tab-layout': 'appearance', 'tab-style': 'appearance', 'tab-switch': 'appearance', 'window-edges': 'appearance', 'term-theme': 'appearance', + 'window-background': 'appearance', 'window-accent': 'appearance', 'window-secondary': 'appearance', 'term-acrylic': 'appearance', 'term-shell': 'terminal', 'newtab-mode': 'terminal', 'explorer-verb': 'terminal', 'term-font-family': 'terminal', 'term-font': 'terminal', 'help-enabled': 'terminal', 'agent-indicator': 'agents', 'agent-done-on': 'agents', 'agent-rainbow': 'agents', 'agent-question-on': 'agents', 'agent-failed-on': 'agents', @@ -427,6 +427,18 @@ const scenarios = { const { app, page } = await launch(w, { pick: w.alpha }) const home = await page.evaluate(() => window.prism.homeDir()) ok((await page.locator('[data-empty-state]').count()) === 1, 'an empty launch lands on the start screen') + // Owner, 2026-10-12: the app's mark, in the accent, "on that startup page". + const startMark = await page.evaluate(() => { + const m = document.querySelector('[data-empty-state] [data-app-mark]') + const probe = document.createElement('span') + probe.style.color = getComputedStyle(document.documentElement).getPropertyValue('--p-accent-solid') + document.body.appendChild(probe) + const accent = getComputedStyle(probe).color + probe.remove() + return { paths: m?.querySelectorAll('path').length ?? 0, ink: m ? getComputedStyle(m).color : null, accent } + }) + ok(startMark.paths === 2 && startMark.ink === startMark.accent, `the start screen shows the app's mark in the accent (${JSON.stringify(startMark)})`) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/start-screen.png') }).catch(() => {}) await page.locator('[data-start-new]').click() ok(await until(async () => (await tabLabels(page)).length === 1), 'New terminal opens a tab with nothing asked') ok((await tabTitles(page))[0].toLowerCase() === home.toLowerCase(), 'in the user\'s own folder, and the tooltip is the full path') @@ -1587,16 +1599,18 @@ const scenarios = { }, /** - * TAB WIDTH (owner, 2026-09-21, then a setting on 2026-09-23). Was: EVERY TAB IS ONE WIDTH ("make tabs in both apps have a - * fixed size, and not dynamically adjust based on the content"). Three + * EVERY TAB IS ONE WIDTH (owner, 2026-09-21: "make tabs in both apps have a + * fixed size, and not dynamically adjust based on the content"; a setting + * from 2026-09-23 until 2026-10-12, "have it just be fixed"). Three * folders with names of very different lengths open side by side; what is * measured is each tab's box, not the class that sets it, because a class * that loses to a longer label is exactly what this replaced. */ // A TAB REACHES FIRST PLACE (#125; owner, 2026-10-04: "i cant drag that - // github tab to the left of the prism tab to make it first"). The second - // tab is the WIDER one (Dynamic, a longer name), which is what could never - // get there: its centre was clamped short of the first tab's centre. + // github tab to the left of the prism tab to make it first"). Under the + // old Dynamic width the wider tab could never get there: its centre was + // clamped short of the first tab's centre. Every tab is one width now + // (2026-10-12); the drag to first place is still held. async tabDragFirst(ok) { const w = world() const wide = join(w.alpha, '..', 'a-much-longer-folder-name') @@ -1604,7 +1618,6 @@ const scenarios = { const { app, page } = await launch(w, { args: [w.alpha, wide] }) ok(await until(async () => (await tabLabels(page)).length === 2), 'two tabs open') const boxes = await page.locator('[data-tab]').evaluateAll((els) => els.map((el) => el.getBoundingClientRect().toJSON())) - ok(boxes[1].width > boxes[0].width, `the second tab is the wider (${Math.round(boxes[1].width)} > ${Math.round(boxes[0].width)})`) const y = boxes[1].top + boxes[1].height / 2 await page.mouse.move(boxes[1].left + boxes[1].width / 2, y) await page.mouse.down() @@ -1640,30 +1653,17 @@ const scenarios = { return { w: Math.round(el.getBoundingClientRect().width * 10) / 10, cut: label ? label.scrollWidth > label.clientWidth : false } }) ) - // DYNAMIC IS THE DEFAULT (owner, 2026-09-23: "call it dynamic ... have - // dynamic be the default"): each tab as wide as its name, the long one - // capped and truncated. - const dyn = (await boxes()).slice(0, 3) - ok(dyn[1].w > dyn[0].w + 40, `by default a long name makes a wider tab than a short one (${dyn.map((b) => b.w).join(' / ')})`) - ok(dyn[1].w <= 14 * 16 + 80 && dyn[1].cut, `and the long one stops at the cap, truncated (${dyn[1].w}px)`) - await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/tabs-dynamic.png') }).catch(() => {}) - // FIXED, picked on the Settings page at the TOP of Appearance ("put the - // option closer to the top of appearance"): every tab one width. + // EVERY TAB ONE WIDTH, THE ONLY WAY (owner, 2026-10-12, removing Dynamic: + // "have it just be fixed"): no Tab width row in Settings. await page.locator('[data-title-settings]').click() await page.locator('[data-settings-tab="appearance"]').click() - const row = page.locator('[data-pref="tab-width"]') - await row.waitFor({ timeout: 8000 }) - // Second since #162: Tab position, where the tabs sit, comes first. - const firstRows = await page.evaluate(() => [...document.querySelectorAll('[data-pref]')].slice(0, 2).map((e) => e.getAttribute('data-pref'))) - ok(firstRows.join() === 'tab-layout,tab-width', `Tab width is at the top of Appearance, after Tab position (${firstRows})`) - await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/settings-tab-width.png') }).catch(() => {}) - await row.locator('[data-seg="fixed"]').click() - ok((await page.evaluate(() => localStorage.getItem('prism.window.tabWidth'))) === 'fixed', 'Fixed is stored') + await page.locator('[data-pref="tab-layout"]').waitFor({ timeout: 8000 }) + ok((await page.locator('[data-pref="tab-width"]').count()) === 0, 'there is no Tab width setting') await page.locator('[data-tab]').first().click() await sleep(300) const three = (await boxes()).slice(0, 3) const widths = [...new Set(three.map((b) => b.w))] - ok(widths.length === 1, `with Fixed every tab is the same width, whatever its name (${three.map((b) => b.w).join(' / ')})`) + ok(widths.length === 1, `every tab is the same width, whatever its name (${three.map((b) => b.w).join(' / ')})`) ok(widths[0] >= 104 && widths[0] <= 124, `a fixed width, not a content one (${widths[0]}px)`) ok(three[1].cut && !three[0].cut, 'the long name is truncated inside the tab, the short one is whole') // Selecting a tab must not move anything either: the active one used to be @@ -1681,8 +1681,8 @@ const scenarios = { * states: in front and working, idle, working, finished, question, failed. * Measured: Classic has a faint line between tabs and Powerline none; Powerline's segments are * clipped and overlap by 9.5 px; a working background tab's edge band sits - * flush in the gap and grows; the tab in front wears its rule; Fixed and - * Dynamic both hold. Screenshots against the mockups. + * flush in the gap and grows; the tab in front wears its rule; every + * segment is one width. Screenshots against the mockups. */ async tabStyle(ok) { const w = world() @@ -1698,18 +1698,18 @@ const scenarios = { ) ) ok((await borders()) === 0, 'Classic: no full border on a tab') - // A faint line between tabs again (owner, 2026-10-11): one short divider-ink - // line after every tab but the last. + // A faint line at every tab's right (owner, 2026-10-11; 2026-10-12: "if + // every tab just had a right border", the last one too). const seps = await page.evaluate(() => ({ n: document.querySelectorAll('[data-tab] [data-tab-sep]').length, tabs: document.querySelectorAll('[data-tab]').length })) - ok(seps.n === seps.tabs - 1, `Classic: a faint line between tabs (${seps.n} for ${seps.tabs} tabs)`) + ok(seps.n === seps.tabs, `Classic: a faint line at every tab's right, the last one too (${seps.n} for ${seps.tabs} tabs)`) await shotStrip(page, 'tabs-classic') - // The row: right after Tab width, Classic by default. + // The row: right after Tab position, Classic by default. const row = await gotoPref(page, 'tab-style') const order = await page.evaluate(() => [...document.querySelectorAll('[data-pref]')].map((e) => e.getAttribute('data-pref'))) - ok(order.indexOf('tab-style') === order.indexOf('tab-width') + 1, `Tab style is right after Tab width (${order.slice(0, 3).join(' > ')})`) + ok(order.indexOf('tab-style') === order.indexOf('tab-layout') + 1, `Tab style is right after Tab position (${order.slice(0, 3).join(' > ')})`) ok((await row.locator('[aria-pressed="true"]').getAttribute('data-seg')) === 'classic', 'Classic is the default') ok((await row.locator('[data-seg]').allTextContents()).join('|') === 'Classic|Powerline', 'the choices are Classic and Powerline') await row.locator('[data-seg="prompt"]').click() @@ -1752,24 +1752,19 @@ const scenarios = { await sleep(330) ok(s1 !== (await scale()), 'the working edge is moving') await shotStrip(page, 'tabs-prompt') - // Fixed and Dynamic both hold. + // Every segment one width (2026-10-12: Dynamic removed). const widths = () => page.evaluate(() => [...document.querySelectorAll('[data-tab]')].map((t) => Math.round(t.getBoundingClientRect().width))) - const dyn = await widths() // A CLICK MOVES NOTHING (#164; owner, 2026-10-10: "when you click tabs - // the ui shifts"). The tab in front is semi-bold here, and under Dynamic - // a heavier name was a wider tab that pushed the rest along. + // the ui shifts"). The tab in front is semi-bold here. const edgesX = () => page.evaluate(() => [...document.querySelectorAll('[data-tab]')].map((t) => { const r = t.getBoundingClientRect(); return [r.left, r.right].map((v) => Math.round(v * 2) / 2) })) const before = await edgesX() await page.locator('[data-tab]').nth(3).locator('[role="tab"]').click() await sleep(200) const after = await edgesX() - ok(JSON.stringify(before) === JSON.stringify(after), `Powerline, Dynamic: clicking a tab moves no tab (${JSON.stringify(before)} vs ${JSON.stringify(after)})`) - await backToFirst(page) - await (await gotoPref(page, 'tab-width')).locator('[data-seg="fixed"]').click() + ok(JSON.stringify(before) === JSON.stringify(after), `Powerline: clicking a tab moves no tab (${JSON.stringify(before)} vs ${JSON.stringify(after)})`) await backToFirst(page) const fixed = await widths() - ok(new Set(fixed).size === 1 && fixed[0] >= 112 && fixed[0] <= 124, `Powerline, Fixed: every segment one width (${fixed.join(' / ')})`) - ok(new Set(dyn).size > 1, `Powerline, Dynamic: sized to the name (${dyn.join(' / ')})`) + ok(new Set(fixed).size === 1 && fixed[0] >= 112 && fixed[0] <= 124, `Powerline: every segment one width (${fixed.join(' / ')})`) await shotStrip(page, 'tabs-prompt-fixed') // A light theme. await pickTheme(page, 'paper') @@ -2104,7 +2099,9 @@ const scenarios = { lefts: rows.map((r) => Math.round(r.getBoundingClientRect().left)), ruleAtRight: !!rule && !!first && Math.abs(rule.right - first.getBoundingClientRect().right) <= 1 && Math.round(rule.width) === 2, mode: nav?.getAttribute('data-sidebar-mode') ?? null, - shown: nav?.hasAttribute('data-sidebar-shown') ?? false + shown: nav?.hasAttribute('data-sidebar-shown') ?? false, + line: nav ? getComputedStyle(nav).borderRightWidth : null, + shadow: nav ? getComputedStyle(nav).boxShadow : null } }) const open = await geo() @@ -2113,6 +2110,149 @@ const scenarios = { ok(new Set(open.lefts).size === 1, 'all in one column') ok(open.nav.left === 0 && open.nav.width >= 150 && open.host.left >= open.nav.right - 1, `the sidebar on the left, the terminal beside it (${open.nav.width}px, terminal at ${open.host.left})`) ok(open.ruleAtRight, 'Classic: the tab in front has its accent rule on the terminal side') + // The title bar and the sidebar are one surface; the terminal is set into + // it, cut round at its top left (owner, 2026-10-12). + const corner = await page.evaluate(() => { + const col = document.querySelector('[data-term-column]') + const bar = document.querySelector('[data-title-bar]') + return { radius: col && /svg/.test(getComputedStyle(col).maskImage) ? 'cut' : 'square', barLine: bar ? getComputedStyle(bar).borderBottomWidth : null } + }) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/side-merged.png') }).catch(() => {}) + // No seam: the bar's colour right above the sidebar is the sidebar's own. + const seam = await page.evaluate(() => getComputedStyle(document.querySelector('[data-tab-sidebar]')).clipPath) + ok(seam.startsWith('inset(0px -60px 0px 0px)'), `the sidebar is clipped to itself, open to the right for its slid-out corner (${seam})`) + ok(corner.radius === 'cut' && corner.barLine === '0px', `the terminal is cut round where the bar and the sidebar meet, and the bar draws no line (${JSON.stringify(corner)})`) + // THE EDGE (owner, 2026-10-12: "only show border on the sidebar if bg and + // secondary color is black, since then shadows dont work, otherwise + // shadow works as a border"). PT Default is not black: a shadow, no line. + // ONE LINE, DRAWN ONCE ON THE TERMINAL, ON EVERY THEME (owner, + // 2026-10-12: the sidebar's border "should only go up to the title bar + // border so they can connect there"; then "give all themes that border + // that black themes use ... make sure it follows the setting for + // edges"). The open sidebar itself draws nothing. + const edge = () => + page.evaluate(() => { + const nav = document.querySelector('[data-tab-sidebar]') + const t = document.querySelector('[data-term-edge]') + const cs = t ? getComputedStyle(t) : null + const probe = document.createElement('span') + probe.style.color = getComputedStyle(document.documentElement).getPropertyValue('--p-divider') + document.body.appendChild(probe) + const divider = getComputedStyle(probe).color + probe.remove() + return { + top: cs?.borderTopWidth ?? null, + left: cs?.borderLeftWidth ?? null, + radius: cs?.borderTopLeftRadius ?? null, + colour: cs?.borderTopColor ?? null, + divider, + navLine: getComputedStyle(nav).borderRightWidth, + navShadow: getComputedStyle(nav).boxShadow + } + }) + const lineOn = (e) => parseFloat(e.top) > 0 && parseFloat(e.left) > 0 && e.radius === '10px' && e.colour === e.divider && e.navLine === '0px' && e.navShadow === 'none' + const grey = await edge() + ok(lineOn(grey), `PT Default: one line in the divider's ink along the bar, round the corner and down the sidebar; the sidebar draws none (${JSON.stringify(grey)})`) + { + const r = await page.evaluate(() => Math.round(document.querySelector('[data-tab-sidebar]').getBoundingClientRect().right)) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/line-corner.png'), clip: { x: r - 40, y: 0, width: 120, height: 100 } }).catch(() => {}) + } + const tones = await page.evaluate(() => { + const css = getComputedStyle(document.documentElement) + return { bg: css.getPropertyValue('--p-bg-solid').trim(), side: css.getPropertyValue('--p-secondary').trim() } + }) + ok(tones.side.slice(0, 7) !== tones.bg.slice(0, 7), `and the sidebar a step darker than the terminal (${JSON.stringify(tones)})`) + await pickTheme(page, 'campbell') + ok(lineOn(await edge()), 'Campbell, black on black: the same line') + // Panel edges: None hides it, Solid makes it stronger. + const alphaOf = (c) => { + const m = /rgba?\(([^)]+)\)/.exec(c ?? '') + if (!m) return 0 + const p = m[1].split(/[\s,/]+/).filter(Boolean) + return p.length > 3 ? parseFloat(p[3]) : 1 + } + const hair = alphaOf((await edge()).colour) + await (await gotoPref(page, 'window-edges')).locator('[data-seg="none"]').click() + const none = alphaOf((await edge()).colour) + await (await gotoPref(page, 'window-edges')).locator('[data-seg="solid"]').click() + const solidLine = alphaOf((await edge()).colour) + await (await gotoPref(page, 'window-edges')).locator('[data-seg="hairline"]').click() + ok(none === 0 && hair > 0 && solidLine > hair, `the line follows Panel edges: None ${none}, Hairline ${hair}, Solid ${solidLine}`) + await pickTheme(page, 'pt-default') + // SLID OUT, its line from the bar down, curving into the bar's (owner, + // 2026-10-12: it "has no border ... it has that when it's in static mode"). + await backToFirst(page) + await page.keyboard.press('Control+Shift+B') + await page.mouse.move(800, 400) + await sleep(500) + await page.mouse.move(2, 400) + await until(async () => !!(await page.evaluate(() => document.querySelector('[data-tab-sidebar]')?.hasAttribute('data-sidebar-shown'))), 3000, 30) + await sleep(300) + const slidLine = await page.evaluate(() => { + const nav = document.querySelector('[data-tab-sidebar]') + const l = nav.querySelector('[data-sidebar-line]')?.getBoundingClientRect() + const t = getComputedStyle(document.querySelector('[data-term-edge]')) + return { line: l ? { top: Math.round(l.top), right: Math.round(l.right), navRight: Math.round(nav.getBoundingClientRect().right) } : null, barLine: t.borderTopWidth, corner: [...nav.querySelector('[data-sidebar-corner]').children].map((c) => `${getComputedStyle(c).maskImage} ${getComputedStyle(c).backgroundImage}`).join(' '), shadow: getComputedStyle(nav).boxShadow } + }) + ok(!!slidLine.line && slidLine.line.top >= 36 && slidLine.line.right === slidLine.line.navRight && parseFloat(slidLine.barLine) > 0 && slidLine.shadow === 'none', `slid out, a line from the bar down, the bar's own line along the top, no shadow (${JSON.stringify(slidLine)})`) + ok(/svg/.test(slidLine.corner) && /radial-gradient/.test(slidLine.corner), `and the corner, filled to the curve, carries the line round into the bar (${slidLine.corner.slice(0, 80)})`) + await page.mouse.move(800, 400) + await sleep(500) + await page.keyboard.press('Control+Shift+B') + await sleep(300) + + // SETTINGS BESIDE THE SIDEBAR, NARROW (owner, 2026-10-12: the Find a + // setting magnifier showed over the sidebar's rows): every part of the + // page lies inside the page. + await app.evaluate(({ BrowserWindow }) => BrowserWindow.getAllWindows()[0].setSize(900, 700)) + await gotoPref(page, 'tab-layout') + await sleep(400) + const leak = await page.evaluate(() => { + const frame = document.querySelector('[data-settings-page]').getBoundingClientRect() + const nav = document.querySelector('[data-tab-sidebar]').getBoundingClientRect() + const glass = document.querySelector('[data-settings-find]')?.parentElement?.querySelector('span')?.getBoundingClientRect() + const find = document.querySelector('[data-settings-find]')?.getBoundingClientRect() + return { frameLeft: Math.round(frame.left), navRight: Math.round(nav.right), glass: glass ? Math.round(glass.left) : null, find: find ? Math.round(find.left) : null } + }) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/settings-narrow-beside.png') }).catch(() => {}) + ok(leak.glass !== null && leak.glass >= leak.frameLeft && leak.find >= leak.frameLeft && leak.frameLeft >= leak.navRight - 1, `narrow Settings beside the sidebar keeps its search inside the page (${JSON.stringify(leak)})`) + await app.evaluate(({ BrowserWindow }) => BrowserWindow.getAllWindows()[0].setSize(1100, 700)) + await backToFirst(page) + + // THE FOLDER LINE (owner, 2026-10-12: "Second line: Folder path"). + const folders = await page.evaluate(() => [...document.querySelectorAll('[data-tab-sidebar] [data-tab]')].map((r) => r.querySelector('[data-tab-folder]')?.textContent ?? null)) + ok(folders.length === 6 && folders.every((f) => !!f && f.length > 0), `every row says the folder it sits in (${folders.join(' | ')})`) + // FIND A TAB (owner: "Top: Find a tab"), on Ctrl+Shift+K. + const findState = () => + page.evaluate(() => { + const input = document.querySelector('[data-sidebar-find] input') + const rows = [...document.querySelectorAll('[data-tab-sidebar] [data-tab]')] + return { + focused: document.activeElement === input, + value: input?.value ?? null, + seen: rows.filter((r) => !r.hidden).length, + active: rows.find((r) => r.hasAttribute('data-tab-active'))?.querySelector('[data-tab-folder]')?.previousElementSibling?.textContent ?? null + } + }) + await page.locator('[data-tab-sidebar] [data-tab]').nth(0).click() + // A row's click hands the keyboard back to the terminal a frame later. + await sleep(150) + await page.keyboard.press('Control+Shift+K') + ok((await findState()).focused, 'Ctrl+Shift+K puts the cursor in Find a tab') + await page.keyboard.type('zz-no-such-tab') + ok((await findState()).seen === 0, 'a word no tab has leaves no rows') + await page.keyboard.press('Escape') + const cleared = await findState() + ok(!cleared.focused && cleared.value === '' && cleared.seen === 6, `Escape clears it and lets go (${JSON.stringify(cleared)})`) + const target = await page.evaluate(() => document.querySelectorAll('[data-tab-sidebar] [data-tab]')[3].querySelector('[data-tab-folder]').previousElementSibling.textContent.trim()) + await page.keyboard.press('Control+Shift+K') + await page.keyboard.type(target) + const narrowed = await findState() + ok(narrowed.seen >= 1 && narrowed.seen < 6, `typing a tab's name keeps the rows that have it (${narrowed.seen} for "${target}")`) + await page.keyboard.press('Enter') + const picked = await findState() + ok(!picked.focused && picked.value === '' && picked.seen === 6 && (picked.active ?? '').toLowerCase().includes(target.toLowerCase()), `Enter puts the first match in front and lets go (${JSON.stringify(picked)})`) + await page.locator('[data-tab-sidebar] [data-tab]').nth(0).click() // THE SAME MARKS AS THE STRIP, in both tab styles. const marks = () => @@ -2159,8 +2299,11 @@ const scenarios = { ok(after[2] === before[1] && after[1] === before[2], `dragging a row down a row swaps it (${before.slice(0, 3)} -> ${after.slice(0, 3)})`) // COLLAPSED: no room taken, shown at the left edge, the terminal unmoved. - await page.locator('[data-sidebar-toggle="collapse"]').click() - ok((await page.evaluate(() => localStorage.getItem('prism.window.sidebar'))) === 'collapsed', 'Collapsed is stored') + // NO BUTTON, A KEY (owner, 2026-10-12: "dont show this collapse show + // button. instead bind the sidebar to a hotkey"): Ctrl+Shift+B. + ok((await page.locator('[data-sidebar-toggle]').count()) === 0, 'the sidebar has no collapse button') + await page.keyboard.press('Control+Shift+B') + ok((await page.evaluate(() => localStorage.getItem('prism.window.sidebar'))) === 'collapsed', 'Ctrl+Shift+B collapses it, and Collapsed is stored') await page.mouse.move(700, 400) await sleep(600) const away = await geo() @@ -2198,44 +2341,64 @@ const scenarios = { ok((await geo()).shown, 'a pointer that got near its far edge before the slide did keeps it shown') await page.mouse.move(800, 400) await until(async () => !(await geo()).shown, 3000, 50) - // Its own button is at its foot. - const foot = await page.evaluate(() => { - const nav = document.querySelector('[data-tab-sidebar]').getBoundingClientRect() - const b = document.querySelector('[data-sidebar-toggle]').getBoundingClientRect() - return { gap: Math.round(nav.bottom - b.bottom), inFoot: !!document.querySelector('[data-sidebar-foot] [data-sidebar-toggle]') } - }) - ok(foot.inFoot && foot.gap <= 12, `the sidebar's button sits at its foot (${JSON.stringify(foot)})`) - // Back to open, through its own button while shown. - await page.mouse.move(2, 300) - await until(async () => (await geo()).shown, 3000, 50) - await sleep(350) - await page.locator('[data-sidebar-toggle="expand"]').click() - ok((await page.evaluate(() => localStorage.getItem('prism.window.sidebar'))) === 'open' && (await geo()).host.left > 100, 'its button keeps it open again') - - // THE POP-OUT TITLE BAR (owner, 2026-10-11: "a pop out title bar is - // best actually we just need to do it well ... like zen browser's"): - // the terminal has the whole height; the bar drops at the top edge from - // the sidebar's edge to the right, with the window's buttons, and moves - // the window while it is down. The sidebar keeps a strip to grab above - // its tabs, and its buttons at its foot. - const bar = await gotoPref(page, 'title-bar') - await bar.locator('[role="switch"]').click() + // ON ITS GRAB STRIP (the top of it, a drag region) the page hears + // nothing; main's cursor keeps it ("at the top of it it will disappear + // when im still on the sidebar"). + { + const cursor = (p) => app.evaluate((_e, pt) => { globalThis.__e2eCursor = pt }, p) + await page.mouse.move(800, 400) + await until(async () => !(await geo()).shown, 3000, 50) + await cursor({ x: 10, y: 300 }) + ok(!!(await until(async () => (await geo()).shown, 3000, 30)), "main's cursor at the left edge shows it") + await cursor({ x: 100, y: 50 }) + await page.evaluate(() => document.documentElement.dispatchEvent(new MouseEvent('mouseleave'))) + await sleep(900) + ok((await geo()).shown, 'and it stays with the cursor at its top, where the page hears nothing') + await cursor({ x: near.nav.right + 3, y: 400 }) + await sleep(900) + ok((await geo()).shown, 'and 3 px past its edge') + await cursor({ x: near.nav.right + 40, y: 400 }) + ok(!!(await until(async () => !(await geo()).shown, 3000, 30)), 'and goes once the cursor is clearly off it') + await cursor(null) + } + // Back to open, through the same key. + await page.keyboard.press('Control+Shift+B') + ok((await page.evaluate(() => localStorage.getItem('prism.window.sidebar'))) === 'open' && (await geo()).host.left > 100, 'Ctrl+Shift+B keeps it open again') + + // THE BAR BESIDE THE SIDEBAR, ALWAYS DOWN (owner, 2026-10-12, removing + // Show title bar: the look of the dropped-down bar, "but I want it to be + // dropped down all the time", never a bar that "pushes the side bar + // content down"). The sidebar runs from the window's top; the bar starts + // at its edge, with the window's buttons; the terminal sits below it. await backToFirst(page) await page.mouse.move(600, 400) - await sleep(700) + await sleep(400) const top = () => page.evaluate(() => { - const f = document.querySelector('[data-title-bar="float"]') + const f = document.querySelector('[data-title-bar="beside"]') const r = f?.getBoundingClientRect() - const foot = document.querySelector('[data-sidebar-foot]') const btns = document.querySelector('[data-window-buttons]') return { rows: document.querySelectorAll('[data-title-bar]').length, - shown: f?.hasAttribute('data-title-shown') ?? false, - bar: r ? { left: Math.round(r.left), top: Math.round(r.top), bottom: Math.round(r.bottom), right: Math.round(innerWidth - r.right) } : null, + bar: r ? { left: Math.round(r.left), top: Math.round(r.top), height: Math.round(r.height), right: Math.round(innerWidth - r.right) } : null, buttons: !!btns && !!f?.contains(btns) && !!btns.querySelector('[data-window-close]'), - name: (f?.textContent ?? '').includes('Prism Terminal') || !!f?.querySelector('[data-app-mark]') || !!f?.querySelector('[data-title-settings]'), - inFoot: !!foot?.querySelector('[data-title-settings]') && !!foot?.querySelector('[data-sidebar-new]') && !!foot?.querySelector('[data-sidebar-toggle]'), + settings: !!f?.querySelector('[data-title-settings]'), + newBtn: (() => { + const n = document.querySelector('[data-tab-sidebar] [data-sidebar-new]') + const nav = document.querySelector('[data-tab-sidebar]') + if (!n || !nav) return null + const a = n.getBoundingClientRect(), b = nav.getBoundingClientRect() + return { inRows: !!n.closest('[data-sidebar-rows]'), gapBelow: Math.round(b.bottom - a.bottom), w: Math.round(a.width), navW: Math.round(b.width) } + })(), + colours: (() => { + const probe = document.createElement('span') + probe.style.color = getComputedStyle(document.documentElement).getPropertyValue('--p-secondary') + document.body.appendChild(probe) + const sec = getComputedStyle(probe).color + probe.remove() + return { secondary: sec, side: getComputedStyle(document.querySelector('[data-tab-sidebar]')).backgroundColor, bar: f ? getComputedStyle(f).backgroundColor : null } + })(), + radius: /svg/.test(getComputedStyle(document.querySelector('[data-term-column]')).maskImage) ? 'cut' : 'square', navTop: Math.round(document.querySelector('[data-tab-sidebar]')?.getBoundingClientRect().top ?? -1), navRight: Math.round(document.querySelector('[data-tab-sidebar]')?.getBoundingClientRect().right ?? -1), hostTop: Math.round(document.querySelector('[data-term-host]')?.getBoundingClientRect().top ?? -1), @@ -2243,57 +2406,327 @@ const scenarios = { } }) const up = await top() - ok(up.rows === 1 && !up.shown && up.bar.bottom <= 0, `the bar is up out of sight (${JSON.stringify(up.bar)})`) - ok(up.hostTop === 0, `and the terminal has the whole height ("usable for content") (${up.hostTop})`) - ok(up.navTop === 0 && up.firstRowTop >= 34, `the sidebar starts at the top, its tabs a strip lower (${up.firstRowTop}px)`) - ok(up.inFoot, "the +, Settings and the sidebar's button are at its foot") - // Within the top 16 px, not only at the very edge. - await page.mouse.move(600, 30) - await page.mouse.move(610, 12) - ok(!!(await until(async () => (await top()).shown, 3000, 50)), 'the pointer 12 px from the top brings the bar down') - await sleep(400) - const down = await top() - ok(down.bar.top === 0 && Math.abs(down.bar.left - down.navRight) <= 1 && down.bar.right === 0, `from the sidebar's edge to the right, not over it (${JSON.stringify(down.bar)}, sidebar ends ${down.navRight})`) - ok(down.buttons && !down.name, "with the window's buttons and nothing else") - ok((await top()).hostTop === 0, 'over the terminal, which keeps its size') + ok(up.rows === 1 && !!up.bar && up.bar.top === 0 && up.bar.height === 36, `one bar, at the top, always there (${JSON.stringify(up.bar)})`) + // Across the whole window (owner, 2026-10-12: the app's name "part of the + // title bar instead of the sidebar"), the sidebar under it. + ok(up.bar.left === 0 && up.bar.right === 0, `across the whole window, over the sidebar's column too (${JSON.stringify(up.bar)})`) + ok(up.buttons && up.settings, "with Settings, Help and the window's buttons") + ok(up.hostTop === 36, `the terminal sits below it, nothing covered (${up.hostTop})`) + ok(up.navTop === 36 && up.firstRowTop >= 76 && up.firstRowTop <= 100, `the sidebar starts under the bar, its tabs under Find a tab (${up.navTop}px, rows at ${up.firstRowTop}px)`) + ok(up.radius === 'cut', `the terminal is cut round where the bar and the sidebar meet (${up.radius})`) + // Owner, 2026-10-12, of the sidebar looks mockup: "New tab: Button at the + // bottom". + ok(!!up.newBtn && !up.newBtn.inRows && up.newBtn.gapBelow <= 12 && up.newBtn.w >= up.newBtn.navW - 20, `New tab is a button across the sidebar's foot (${JSON.stringify(up.newBtn)})`) + ok(up.colours.side === up.colours.secondary && up.colours.bar === up.colours.secondary, `the sidebar and the bar wear the secondary colour (${JSON.stringify(up.colours)})`) + // Owner, 2026-10-12: "a prism terminal logo and text could look nice up + // there"; then "use this for the sidebar logo ... it should adapt to the + // accent color". + const brand = await page.evaluate(() => { + const b = document.querySelector('[data-title-bar="beside"] [data-app-brand]') + const mark = b?.querySelector('[data-app-mark]') + const probe = document.createElement('span') + probe.style.color = getComputedStyle(document.documentElement).getPropertyValue('--p-accent-solid') + document.body.appendChild(probe) + const accent = getComputedStyle(probe).color + probe.remove() + return { text: b?.textContent?.trim() ?? null, paths: mark?.querySelectorAll('path').length ?? 0, ink: mark ? getComputedStyle(mark).color : null, accent } + }) + ok(brand.text === 'Prism Terminal' && brand.paths === 2 && brand.ink === brand.accent, `the bar says Prism Terminal beside the app's mark, in the accent (${JSON.stringify(brand)})`) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/side-beside-bar.png') }).catch(() => {}) // THE DRAG ITSELF, as Windows decides it: 2 (HTCAPTION) moves the window. const spots = await page.evaluate(() => { - const f = document.querySelector('[data-title-bar="float"]').getBoundingClientRect() - const grab = document.querySelector('[data-sidebar-grab]').getBoundingClientRect() + const f = document.querySelector('[data-title-bar="beside"]').getBoundingClientRect() + const grab = document.querySelector('[data-app-brand]').getBoundingClientRect() const row = document.querySelector('[data-tab-sidebar] [data-tab]').getBoundingClientRect() const nav = document.querySelector('[data-tab-sidebar]').getBoundingClientRect() return [ { x: f.left + 120, y: f.top + f.height / 2 }, - { x: grab.left + 60, y: grab.top + grab.height / 2 }, + // Below Windows' own resize border at the window's top. + { x: grab.left + 40, y: grab.top + grab.height / 2 + 4 }, { x: row.left + 40, y: row.top + row.height / 2 }, { x: nav.right + 200, y: 300 } ] }) const hit = await hitTest(app, spots) - ok(hit[0] === 2, `the bar, while down, moves the window (${hit})`) - ok(hit[1] === 2, `the strip above the tabs moves the window (${hit})`) + ok(hit[0] === 2, `the bar moves the window (${hit})`) + ok(hit[1] === 2, `the app's name in the bar moves the window (${hit})`) ok(hit[2] === 1 && hit[3] === 1, `a tab and the terminal do not (${hit})`) - await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/side-titlebar-shown.png') }).catch(() => {}) - await page.mouse.move(600, 400) - ok(!!(await until(async () => !(await top()).shown, 3000, 50)), 'it goes up again when the pointer leaves') + // COLLAPSED, the bar spans the window and the terminal is square; the + // sidebar slides out over the bar's left end. + await page.keyboard.press('Control+Shift+B') + await page.mouse.move(800, 400) + await sleep(600) + const across = await top() + ok(across.bar.left === 0 && across.bar.right === 0 && across.radius === 'square', `collapsed, the bar spans the window and the corner goes (${JSON.stringify(across.bar)}, ${across.radius})`) + // SLID OUT, it still meets the bar as one surface (owner, 2026-10-12: "it + // doesn't seem like it connects with the title bar"): its curved corner + // under the bar's end, and its shadow below the bar only. + await page.mouse.move(2, 400) + await until(async () => !!(await page.evaluate(() => document.querySelector('[data-tab-sidebar]')?.hasAttribute('data-sidebar-shown'))), 3000, 30) + await sleep(400) + const slid = await page.evaluate(() => { + const nav = document.querySelector('[data-tab-sidebar]').getBoundingClientRect() + const c = document.querySelector('[data-tab-sidebar] [data-sidebar-corner]')?.getBoundingClientRect() + return { navRight: Math.round(nav.right), navTop: Math.round(nav.top), corner: c ? { left: Math.round(c.left), top: Math.round(c.top) } : null } + }) + ok(!!slid.corner && Math.abs(slid.corner.left - slid.navRight) <= 1 && slid.corner.top === 36, `slid out, a curved corner joins it to the bar (${JSON.stringify(slid)})`) + // Owner, 2026-10-12: the sidebar, unpinned, must not "overlay over it or + // bring its own"; it starts under the bar. + ok(slid.navTop === 36, `slid out, it starts under the bar, never over it (${slid.navTop}px)`) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/side-slid-out.png') }).catch(() => {}) + await page.mouse.move(800, 400) + await sleep(500) + await page.keyboard.press('Control+Shift+B') + await sleep(300) + // SEE-THROUGH, ONE COAT EVERYWHERE (owner, 2026-10-12: "not everything + // is see-through. Like the title bar is not"): the sidebar, the bar and + // the terminal each show the desktop through one coat; the body under + // them paints nothing. Collapsed and slid out, the sidebar is solid + // ("that sidebar should not be see-through"). + await (await gotoPref(page, 'term-acrylic')).locator('[role="switch"]').click() + await backToFirst(page) + await sleep(600) + const coat = () => + page.evaluate(() => { + const alpha = (c) => { + const m = /rgba?\(([^)]+)\)/.exec(c) + if (!m) return 0 + const p = m[1].split(/[\s,/]+/).filter(Boolean) + return p.length > 3 ? parseFloat(p[3]) : 1 + } + const seen = (el) => { + if (!el) return -1 + let keep = 1 + for (let n = el; n; n = n.parentElement) keep *= 1 - alpha(getComputedStyle(n).backgroundColor) + return Math.round((1 - keep) * 1000) / 1000 + } + return { + sidebar: seen(document.querySelector('[data-tab-sidebar]')), + bar: seen(document.querySelector('[data-title-bar="beside"]')), + terminal: seen(document.querySelector('[data-term-region]')) + } + }) + const glassy = await coat() + const once = Object.values(glassy) + ok(once.every((a) => a > 0.5 && a < 0.9) && new Set(once).size === 1, `see-through: the sidebar, the bar and the terminal each one coat (${JSON.stringify(glassy)})`) + // The same line over glass. + const glassEdge = await edge() + ok(lineOn(glassEdge), `see-through: the same line (${JSON.stringify(glassEdge)})`) + const nr = await page.evaluate(() => Math.round(document.querySelector('[data-tab-sidebar]').getBoundingClientRect().right)) + await page.evaluate(() => { + const d = document.createElement('div') + d.id = 'e2e-desk' + d.style.cssText = 'position:fixed;inset:0;z-index:-1;background:repeating-linear-gradient(45deg,#c8d0c0 0 6px,#b8c0b0 6px 12px)' + document.body.prepend(d) + }) + await sleep(200) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/glass-corner.png'), clip: { x: nr - 40, y: 0, width: 120, height: 140 } }).catch(() => {}) + await page.evaluate(() => document.getElementById('e2e-desk')?.remove()) + // AT 125 %, A 235 PX SIDEBAR (the owner's, 2026-10-12: "the sidebar + // border is still there"): its edge lands on a whole screen pixel, or + // the desktop shows through between it and the bar as a line. + await app.evaluate(({ BrowserWindow }) => BrowserWindow.getAllWindows()[0].webContents.setZoomFactor(1.25)) + await sleep(500) + const grip = await page.evaluate(() => { + const r = document.querySelector('[data-sidebar-grip]').getBoundingClientRect() + return { x: r.left + r.width / 2, y: r.top + 300 } + }) + await page.mouse.move(grip.x, grip.y) + await page.mouse.down() + for (let d = 3; d <= 15; d += 3) await page.mouse.move(grip.x + d, grip.y) + await page.mouse.up() + await page.mouse.move(700, 500) await sleep(400) - const gone = await hitTest(app, [spots[0]]) - ok(gone[0] === 1, `and once up, that row is the terminal's again (${gone})`) - await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/side-no-titlebar.png') }).catch(() => {}) - // Settings from the sidebar, and back. - await (await gotoPref(page, 'title-bar')).locator('[role="switch"]').click() - ok(!!(await until(() => page.evaluate(() => document.querySelectorAll('[data-title-bar]').length === 1 && !document.querySelector('[data-title-bar="clear"]') && !!document.querySelector('[data-app-mark]')), 3000, 50)), 'Show title bar puts the full bar back') + const px = await page.evaluate(() => ({ right: document.querySelector('[data-tab-sidebar]').getBoundingClientRect().right, bar: document.querySelector('[data-term-column]').getBoundingClientRect().left, ratio: devicePixelRatio, stored: localStorage.getItem('prism.window.sidebarWidth') })) + const dev = px.right * px.ratio + ok(px.ratio !== Math.round(px.ratio) && Math.abs(dev - Math.round(dev)) < 0.01 && Math.abs(px.bar - px.right) < 0.01, `at a scale that is not whole the sidebar meets the terminal on a whole screen pixel (${JSON.stringify(px)}, ${dev.toFixed(2)} device px)`) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/glass-edge-125.png'), clip: { x: Math.round(px.right * 1.25) - 30, y: 0, width: 60, height: 120 } }).catch(() => {}) + await app.evaluate(({ BrowserWindow }) => BrowserWindow.getAllWindows()[0].webContents.setZoomFactor(1)) + await page.evaluate(() => localStorage.removeItem('prism.window.sidebarWidth')) + await sleep(300) + await page.keyboard.press('Control+Shift+B') + await page.mouse.move(800, 400) + await sleep(500) + await page.mouse.move(2, 400) + await until(async () => !!(await page.evaluate(() => document.querySelector('[data-tab-sidebar]')?.hasAttribute('data-sidebar-shown'))), 3000, 30) + await sleep(300) + const solid = await coat() + // Nothing of the page beside it shows through (owner, 2026-10-12: the + // Settings search icon did): what is on top at a point inside it is the + // sidebar's own. + const onTop = await page.evaluate(() => { + const nav = document.querySelector('[data-tab-sidebar]') + const r = nav.getBoundingClientRect() + const pts = [] + for (let y = r.top + 50; y < r.bottom - 60; y += 40) for (let x = r.left + 10; x < r.right - 10; x += 30) pts.push([x, y]) + return pts.filter(([x, y]) => !nav.contains(document.elementFromPoint(x, y))).length + }) + ok(onTop === 0, `slid out, nothing of the page beside it lies above it (${onTop} points)`) + // And over Settings, whose search box and magnifier are raised (the + // owner's case): its narrow rail lies right under the sidebar. + await page.mouse.move(800, 400) + await sleep(500) + await page.locator('[data-title-settings]').click() + await page.locator('[data-settings-page]').waitFor({ timeout: 8000 }) + await page.mouse.move(2, 400) + await until(async () => !!(await page.evaluate(() => document.querySelector('[data-tab-sidebar]')?.hasAttribute('data-sidebar-shown'))), 3000, 30) + await sleep(300) + const overSettings = await page.evaluate(() => { + const nav = document.querySelector('[data-tab-sidebar]') + const find = document.querySelector('[data-settings-find]') + const g = find?.parentElement?.querySelector('span')?.getBoundingClientRect() + const n = nav.getBoundingClientRect() + const at = g ? document.elementFromPoint(g.left + g.width / 2, g.top + g.height / 2) : null + return { under: !!g && g.left < n.right, onTop: at ? (nav.contains(at) ? 'sidebar' : at.tagName) : null } + }) + ok(!overSettings.under || overSettings.onTop === 'sidebar', `slid out over Settings, the sidebar covers its search icon (${JSON.stringify(overSettings)})`) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/side-over-settings.png') }).catch(() => {}) + // Back to the shell while the sidebar is out, its rows in reach. + await backToFirst(page) + await page.mouse.move(2, 400) + await until(async () => !!(await page.evaluate(() => document.querySelector('[data-tab-sidebar]')?.hasAttribute('data-sidebar-shown'))), 3000, 30) + await sleep(300) + // ACRYLIC, not solid and not merely see-through (owner, 2026-10-12: "make + // sure its acrylic like the rest not just see through"): the window's + // tint, one coat, over the window's own acrylic, the page under it cut + // away (CSS backdrop blur does nothing in a see-through window). + const cut = await page.evaluate(() => ({ + width: Math.round(document.querySelector('[data-tab-sidebar]').getBoundingClientRect().width), + mask: getComputedStyle(document.querySelector('[data-term-column]').parentElement).maskPosition + })) + ok(solid.sidebar === glassy.sidebar && solid.bar === glassy.bar && cut.mask.startsWith(`${cut.width}px`), `collapsed and slid out, the sidebar is the window's acrylic: the same tint, the page under it cut away (${JSON.stringify(solid)}, ${JSON.stringify(cut)})`) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/side-slid-acrylic.png') }).catch(() => {}) + // A LIGHT DESKTOP behind the page (the parked window's own is black, + // where a second coat cannot be seen): every coat shows as a step. + await page.evaluate(() => { + const d = document.createElement('div') + d.id = 'e2e-desk' + d.style.cssText = 'position:fixed;inset:0;z-index:-1;background:repeating-linear-gradient(45deg,#c8d0c0 0 6px,#b8c0b0 6px 12px)' + document.body.prepend(d) + }) + await sleep(200) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/slid-glass-corner.png'), clip: { x: cut.width - 40, y: 0, width: 120, height: 140 } }).catch(() => {}) + await page.evaluate(() => document.getElementById('e2e-desk')?.remove()) + await page.mouse.move(800, 400) + await sleep(500) + await page.keyboard.press('Control+Shift+B') + await (await gotoPref(page, 'term-acrylic')).locator('[role="switch"]').click() + await backToFirst(page) await setPref(page, 'tab-layout', 'horizontal') ok(!!(await until(() => page.evaluate(() => !!document.querySelector('[data-tab-strip]') && !document.querySelector('[data-tab-sidebar]')), 3000, 50)), 'Horizontal puts the strip back') + // With the strip, Ctrl+Shift+B is the shell's again. + await page.keyboard.press('Control+Shift+B') + ok((await page.evaluate(() => localStorage.getItem('prism.window.sidebar'))) === 'open', 'with the strip, Ctrl+Shift+B does not touch the sidebar') await quietStrip(page) } finally { await closeApp(app) } }, - // NO TITLE BAR (#91; owner, 2026-09-28, "tabs in the top row"): Hidden - // puts the tabs in the title bar's row with its buttons at the end, one row - // where there were two. Shown, the default, is the window as it was. + /** + * THE WINDOW COLOURS ARE CHANGES TO SAVE (owner, 2026-10-12: Save changes + * "should use the accent colour, so its never grey when there are changes to + * save"). A Secondary colour of your own lights Save changes in the accent; + * Save keeps it with Custom; another theme forgets it, and Custom brings it + * back. Secondary sits above Accent. + */ + async windowColoursSave(ok) { + const w = world() + const { app, page } = await launch(w, { args: [w.alpha] }) + try { + ok(await until(async () => (await tabLabels(page)).length === 1), 'one tab') + const row = await gotoPref(page, 'window-secondary') + const order = await page.evaluate(() => [...document.querySelectorAll('[data-pref]')].map((e) => e.getAttribute('data-pref'))) + ok(order.indexOf('window-secondary') === order.indexOf('window-accent') - 1, `Secondary colour sits right above Accent (${order.slice(order.indexOf('window-background'), order.indexOf('window-background') + 3)})`) + const save = page.locator('[data-save-term]').first() + ok(await save.isDisabled(), 'nothing to save at first') + const field = row.locator('input:not([type])') + await field.fill('#2a2a2a') + await field.press('Enter') + ok(!!(await until(async () => !(await save.isDisabled()), 4000, 50)), 'a Secondary colour of your own lights Save changes') + await sleep(500) // the button's colour transition + const lit = await save.evaluate((b) => { + const probe = document.createElement('span') + probe.style.color = getComputedStyle(document.documentElement).getPropertyValue('--p-accent') + document.body.appendChild(probe) + const a = getComputedStyle(probe).color + probe.remove() + return { bg: getComputedStyle(b).backgroundColor, accent: a } + }) + ok(lit.bg === lit.accent, `in the accent (${JSON.stringify(lit)})`) + await save.click() + const kept = await page.evaluate(() => ({ theme: localStorage.getItem('prism.term.theme'), colours: localStorage.getItem('prism.window.customColours') })) + ok(/2a2a2a/.test(kept.colours ?? '') && (await save.isDisabled()), `Save keeps it with Custom, and goes quiet (${JSON.stringify(kept)})`) + await page.locator('[data-term-card="pitch"]').first().click() + ok(!!(await until(async () => (await page.evaluate(() => localStorage.getItem('prism.window.secondary'))) === null, 4000, 50)), 'another theme forgets it') + await page.locator('[data-term-card="custom"]').first().click() + ok(!!(await until(async () => (await page.evaluate(() => localStorage.getItem('prism.window.secondary'))) === '#2a2a2a', 4000, 50)), 'and Custom brings it back') + ok(await save.isDisabled(), 'with nothing to save') + } finally { + await closeApp(app) + } + }, + + /** + * THE ACCENT ON EVERY SAVE (owner, 2026-10-12, of a red accent: the theme + * switch's "Save as Custom" "doesnt follow the accent color", and "the text + * colour should shift to white"). Save changes and the question a theme pick + * asks both wear the accent, with white text on a red. + */ + async accentAsk(ok) { + const w = world() + const { app, page } = await launch(w, { args: [w.alpha] }) + try { + ok(await until(async () => (await tabLabels(page)).length === 1), 'one tab') + const row = await gotoPref(page, 'window-accent') + const field = row.locator('input:not([type])') + await field.fill('#ff0000') + await field.press('Enter') + const save = page.locator('[data-save-term]').first() + ok(!!(await until(async () => !(await save.isDisabled()), 4000, 50)), 'a red accent lights Save changes') + await sleep(500) // the button's colour transition + const paint = (el) => + el.evaluate((b) => { + const probe = document.createElement('span') + probe.style.color = getComputedStyle(document.documentElement).getPropertyValue('--p-accent') + document.body.appendChild(probe) + const a = getComputedStyle(probe).color + probe.remove() + return { bg: getComputedStyle(b).backgroundColor, ink: getComputedStyle(b).color, accent: a } + }) + const lit = await paint(save) + ok(lit.bg === lit.accent && lit.ink === 'rgb(255, 255, 255)', `Save changes is red with white text (${JSON.stringify(lit)})`) + await page.locator('[data-term-card="graphite"]').first().click() + const ask = page.locator('[data-ask-save]') + ok(!!(await until(async () => (await ask.count()) === 1, 4000, 50)), 'picking another theme asks first') + await sleep(300) + const asked = await paint(ask) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/accent-ask.png') }).catch(() => {}) + ok(asked.bg === asked.accent && asked.ink === 'rgb(255, 255, 255)', `its Save as Custom wears the accent, white text (${JSON.stringify(asked)})`) + await page.locator('[data-ask-cancel]').click() + // A RED TOO DARK TO SEE (the owner's own pick, #140707) is lifted to a red + // that reads, never mixed with white to a pink grey. + await field.fill('#140707') + await field.press('Enter') + await sleep(500) + const dark = await paint(save) + const [r, g, b] = dark.bg.match(/\d+/g).map(Number) + ok(r > 110 && r - g > 50 && r - b > 50, `a near-black red is lifted to a red, not a grey (${dark.bg})`) + await page.locator('[data-term-card="graphite"]').first().click() + await until(async () => (await ask.count()) === 1, 4000, 50) + await sleep(300) + const askedDark = await paint(ask) + ok(askedDark.bg === dark.bg, `and the theme switch's Save as Custom is that same red (${askedDark.bg})`) + await page.locator('[data-ask-discard]').click() + } finally { + await closeApp(app) + } + }, + + // NO TITLE BAR, ALWAYS (#91; owner, 2026-10-12, removing Show title bar: + // the tabs along the top are "exactly as it is with no title bar"). The tabs + // sit in the top row with the window's buttons at its end; there is no + // setting for it, and an old stored `hidden` or `shown` changes nothing. async titleBar(ok) { const w = world() const { app, page } = await launch(w, { args: [w.alpha, w.beta] }) @@ -2305,9 +2738,8 @@ const scenarios = { const host = document.querySelector('[data-term-host]') const inBar = (sel) => !!bar?.querySelector(sel) return { + rows: document.querySelectorAll('[data-title-bar]').length, mode: bar?.getAttribute('data-title-bar') ?? null, - name: (bar?.textContent ?? '').includes('Prism Terminal'), - mark: !!bar?.querySelector('[data-app-mark]'), stripInBar: !!(bar && strip && bar.contains(strip)), buttons: inBar('[data-title-settings]') && inBar('[data-window-close]') && inBar('[aria-label="Minimize"]'), hostTop: Math.round(host?.getBoundingClientRect().top ?? -1), @@ -2316,26 +2748,21 @@ const scenarios = { closeRight: Math.round(innerWidth - (document.querySelector('[data-window-close]')?.getBoundingClientRect().right ?? 0)) } }) - const shown = await layout() - ok(shown.mode !== 'tabs' && shown.mark && !shown.name && !shown.stripInBar && shown.buttons, `by default the title bar is its own row, with the app's icon in outline and no name (${JSON.stringify(shown)})`) - ok(shown.hostTop >= 64, `two rows above the terminal (${shown.hostTop}px)`) + const one = await layout() + ok(one.rows === 1 && one.mode === 'tabs' && one.stripInBar, `the tabs are in the top row (${JSON.stringify(one)})`) + ok(one.buttons && one.closeRight <= 12, `and the settings, minimise and close buttons sit at its right end (${one.closeRight}px from the edge)`) + ok(one.stripTop === 0 && one.hostTop > 20 && one.hostTop <= 40, `one row above the terminal (${one.hostTop}px)`) + ok(one.stripDrag === 'drag', `the strip's empty space moves the window (${one.stripDrag})`) + await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/title-bar-hidden.png') }).catch(() => {}) await page.locator('[data-title-settings]').click() await page.locator('[data-settings-tab="appearance"]').click() - const row = page.locator('[data-pref="title-bar"]') - await row.waitFor({ timeout: 8000 }) - // A switch since the grouped cards (2026-10-05): on is Shown, the default. - const flip = row.locator('[role="switch"]') - ok((await flip.getAttribute('aria-checked')) === 'true', 'Show title bar is on by default') - await flip.click() - ok((await page.evaluate(() => localStorage.getItem('prism.window.titleBar'))) === 'hidden', 'switched off, Hidden is stored') + await page.locator('[data-pref="tab-layout"]').waitFor({ timeout: 8000 }) + ok((await page.locator('[data-pref="title-bar"]').count()) === 0, 'there is no Show title bar setting') + // A window that had Show title bar on before keeps the one shape. + await page.evaluate(() => localStorage.setItem('prism.window.titleBar', 'shown')) await page.locator('[data-tab]').first().click() await sleep(300) - const hidden = await layout() - ok(hidden.mode === 'tabs' && hidden.stripInBar && !hidden.name, `hidden: the tabs are in the top row, no name (${JSON.stringify(hidden)})`) - ok(hidden.buttons && hidden.closeRight <= 12, `and the settings, minimise and close buttons sit at its right end (${hidden.closeRight}px from the edge)`) - ok(hidden.stripTop === 0 && hidden.hostTop > 20 && hidden.hostTop <= 40, `one row above the terminal (${hidden.hostTop}px, was ${shown.hostTop}px)`) - ok(hidden.stripDrag === 'drag', `the strip's empty space still moves the window (${hidden.stripDrag})`) - await page.screenshot({ path: resolve(process.cwd(), '.e2e-shots/title-bar-hidden.png') }).catch(() => {}) + ok((await layout()).mode === 'tabs', 'an old stored "shown" changes nothing') // The start screen: no tabs, and the buttons are still there to reach. for (let i = 0; i < 6 && (await tabLabels(page)).length; i += 1) { await page.keyboard.press('Control+w') @@ -2344,12 +2771,6 @@ const scenarios = { ok(await until(async () => (await tabLabels(page)).length === 0), 'every tab closed') const empty = await layout() ok(empty.mode === 'tabs' && empty.buttons, 'with no tabs the top row still holds the buttons') - await page.locator('[data-title-settings]').click() - await page.locator('[data-settings-tab="appearance"]').click() - await flip.click() - await sleep(200) - const back = await layout() - ok(back.mode !== 'tabs' && back.mark, 'Shown brings the title bar back') await closeApp(app) }, @@ -4482,8 +4903,8 @@ const scenarios = { await find.fill('') // Every row's control is a group named by the row's label, so a // segmented control's options say which setting they set. - await gotoPref(page, 'tab-width') - ok((await page.locator('[data-pref="tab-width"] [role="group"]').getAttribute('aria-label')) === labelOf['tab-width'], 'a row names its controls by its label') + await gotoPref(page, 'tab-style') + ok((await page.locator('[data-pref="tab-style"] [role="group"]').getAttribute('aria-label')) === labelOf['tab-style'], 'a row names its controls by its label') // EVERY ROW, BY ITS OWN LABEL (spec 1.6: the index can drift from the // page, and opening every entry is what catches it). const misses = [] @@ -4644,7 +5065,7 @@ const scenarios = { // window's rows above the theme and what a theme sets under it. const rows = await page.evaluate(() => [...document.querySelectorAll('[data-pref]')].map((e) => e.getAttribute('data-pref'))) // The see-through row sits right under the wall since #156, as Prism's. - const want = ['tab-layout', 'tab-width', 'tab-style', 'tab-switch', 'title-bar', 'window-edges', 'term-theme', 'term-acrylic', 'window-background', 'window-accent'] + const want = ['tab-layout', 'tab-style', 'tab-switch', 'window-edges', 'term-theme', 'term-acrylic', 'window-background', 'window-secondary', 'window-accent'] ok(JSON.stringify(rows) === JSON.stringify(want), `Appearance runs ${want.join(' > ')} (${rows.join(' > ')})`) // Font size is 50% to 200% in tens. await gotoPref(page, 'term-font') @@ -4688,7 +5109,9 @@ const scenarios = { const savedCustom = JSON.parse((await store()).custom ?? '{}') ok(savedCustom.fontPct === undefined && savedCustom.font === undefined, 'Save as Custom carries no font and no size') - // A picked background and accent, then a plain switch: both are forgotten. + // A picked background and accent are CHANGES TO SAVE (owner, 2026-10-12: + // Save changes "never grey when there are changes to save"), so a switch + // asks first; Discard switches and forgets both. for (const [pref, hex] of [['window-background', '#202830'], ['window-accent', '#E07A2F']]) { const f = page.locator(`[data-pref="${pref}"] input:not([type])`) await f.fill(hex) @@ -4700,11 +5123,12 @@ const scenarios = { }, 4000) ok(!!picked, 'a background and an accent are picked') await gotoPref(page, 'term-theme') + ok(!(await page.locator('[data-save-term]').first().isDisabled()), 'and they light Save changes') await page.locator('[data-term-card="pitch"]').first().click() - await sleep(300) - ok((await ask.count()) === 0, 'with nothing unsaved a theme switch asks nothing') + ok(!!(await until(async () => (await ask.count()) === 1, 3000, 50)), 'so a theme switch asks first') + await page.locator('[data-ask-discard]').click() const after = await store() - ok(after.theme === 'pitch' && after.accent === null && after.background === null, `the switch takes the picked background and accent with it (${JSON.stringify({ ...after, custom: undefined })})`) + ok(after.theme === 'pitch' && after.accent === null && after.background === null, `Discard: the switch takes the picked background and accent with it (${JSON.stringify({ ...after, custom: undefined })})`) // Unsaved: Cancel keeps everything as it was. await agentColour('#C0FFEE') @@ -4840,7 +5264,9 @@ const scenarios = { await page.keyboard.press('KeyA') await sleep(200) ok((await capture.getAttribute('data-hotkey-capture')) === 'on' && (await get('prism.dictation.hotkey')) === before, 'a letter is not taken as the dictation key') - await page.mouse.click(40, 300) + // The page's own heading: a fixed point moved onto a Settings link when + // the title bar's row went (2026-10-12). + await page.locator('[data-settings-page] h1').first().click() ok(!!(await until(async () => (await capture.getAttribute('data-hotkey-capture')) === 'off', 2000, 50)), 'a press elsewhere ends the capture') await page.evaluate(() => localStorage.setItem('prism.dictation.enabled', '0')) } finally { @@ -5395,13 +5821,9 @@ const scenarios = { ok((await sw.getAttribute('aria-label')) === 'See-through window', `it is called See-through window (${await sw.getAttribute('aria-label')})`) ok((await sub()) === 'The desktop shows behind every surface.', `with Prism's words (${await sub()})`) - // The tabs in the top row (the owner's layout): the row and the strip - // in it are two boxes over one pixel. - const tb = await gotoPref(page, 'title-bar') - await tb.locator('[role="switch"]').click() - ok(!!(await until(async () => (await page.locator('[data-title-bar="tabs"]').count()) === 1, 4000, 50)), 'the tabs moved into the top row') - await gotoPref(page, 'term-acrylic') - if ((await more.count()) === 1) await more.click() + // The tabs in the top row (the only layout since 2026-10-12): the row + // and the strip in it are two boxes over one pixel. + ok((await page.locator('[data-title-bar="tabs"]').count()) === 1, 'the tabs are in the top row') // A dark preset: the switch alone paints 0xb9. await pick('dracula') @@ -5580,7 +6002,7 @@ const scenarios = { // The grouped cards (2026-10-05): a section's panel edge, and the // hairline between two of its rows, both the list's line. const panel = document.querySelector('[data-settings-section="window"] [data-settings-panel]') - const second = document.querySelector('[data-pref="title-bar"]') + const second = document.querySelector('[data-pref="tab-style"]') const css = (el, prop) => (el ? getComputedStyle(el)[prop] : null) const edges = { title: css(title, 'borderBottomColor'), @@ -5988,8 +6410,8 @@ const scenarios = { const order = await page.evaluate(() => [...document.querySelectorAll('[data-pref]')].map((e) => e.getAttribute('data-pref'))) const at = order.indexOf('term-theme') ok( - at >= 0 && order[at + 1] === 'term-acrylic' && order[at + 2] === 'window-background' && order[at + 3] === 'window-accent', - `See-through, Background and Accent come right after the theme wall (${order.slice(Math.max(0, at - 1), at + 5).join(' > ')})` + at >= 0 && order[at + 1] === 'term-acrylic' && order[at + 2] === 'window-background' && order[at + 3] === 'window-secondary' && order[at + 4] === 'window-accent', + `See-through, Background, Secondary and Accent come right after the theme wall (${order.slice(Math.max(0, at - 1), at + 5).join(' > ')})` ) // THE BACKGROUND (owner: "let background colour be a setting"): the @@ -6055,6 +6477,9 @@ const scenarios = { ok(pale.knob === BLACK && pk.r < 2, `there it flips to black: white would read ${pk.r.toFixed(2)}:1`) await page.locator('[data-settings-tab="appearance"]').click() await page.locator('[data-term-card="pt-default"]').first().click() + // The picked accent is a change to save (2026-10-12): the switch asks, and + // Discard lets it go. + if (await until(async () => (await page.locator('[data-ask-discard]').count()) === 1, 2000, 50)) await page.locator('[data-ask-discard]').click() await until(async () => (await page.locator('[data-term-card="pt-default"]').first().getAttribute('aria-pressed')) === 'true', 4000, 50) // The opaque pick first: typing six digits over a see-through pick keeps // the field's alpha, and the theme switch above cleared the accent.