/* opensource-icons — exact foundation values from Graphical revision vfnsei5rv9ds.
 * Source: gui/themes/opensource-icons.md. GT Standard L is intentionally not fetched.
 * The app defaults to the requested white page; set html[data-theme="dark"] for dark.
 */
:root, [data-theme="light"] {
  color-scheme: light;
  --theme-name: opensource-icons;
  --theme-icon-family: Central;
  --theme-icon-style: outlined;
  --toolbar-divider-bleed: 0;
  --focus-ring-outline: initial;
  --icon-stroke-width: 2;
  --icon-light-display: none;
  --icon-regular-display: inline;
  --icon-bold-display: none;
  --motion-duration: 200ms;
  --motion-easing: cubic-bezier(0.16, 1, 0.3, 1);
  --motion-type: easing;
  --motion-visual-duration: 0.2;
  --motion-bounce: 0.2;
  --motion-enabled: 1;
  --motion-small-iterations: infinite;
  --motion-large-duration: 360ms;
  --motion-large-easing: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-large-type: easing;
  --motion-large-visual-duration: 0.36;
  --motion-large-bounce: 0.2;
  --motion-large-iterations: infinite;
  --motion-popup-scale: 0.96;
  --motion-press-distance: 1px;
  --option-badge-background: #e82cf2;
  --option-badge-foreground: #fbfbfb;
  --navigation-active-foreground: #fbfbfb;
  --emphasis-chart-fill: #e82cf233;
  --emphasis-balance-background: #cdcdcd;
  --emphasis-rewards-background: #f4f4f4;
  --emphasis-icon-background: #f4f4f4;
  --emphasis-icon-foreground: #000000;
  --emphasis-type-background: #f4f4f4;
  --emphasis-type-foreground: #000000;
  --navigation-active-background: #e82cf2;
  --surface-raised-image: none;
  --surface-raised-shadow: 0 0 0 0 transparent;
  --surface-recessed-image: none;
  --surface-recessed-shadow: 0 0 0 0 transparent;
  --space-zero: 0px;
  --space-xxs: 6px;
  --space-xs: 12px;
  --space-s: 18px;
  --space-m: 25px;
  --space-l: 37px;
  --space-xl: 49px;
  --space-xxl: 74px;
  --size-xxs: 12px;
  --line-xxs: 17px;
  --letter-spacing-xxs: -0.005em;
  --size-xs: 14px;
  --line-xs: 19px;
  --letter-spacing-xs: -0.0075em;
  --size-s: 17px;
  --line-s: 24px;
  --letter-spacing-s: -0.01em;
  --size-m: 19px;
  --line-m: 28px;
  --letter-spacing-m: -0.015em;
  --size-l: 28px;
  --line-l: 38px;
  --letter-spacing-l: -0.02em;
  --size-xl: 42px;
  --line-xl: 47px;
  --letter-spacing-xl: -0.03em;
  --size-xxl: 57px;
  --line-xxl: 61px;
  --letter-spacing-xxl: -0.04em;
  --radius-zero: 0px;
  --radius-xs: 4px;
  --radius-s: 8px;
  --radius-m: 12px;
  --radius-l: 20px;
  --radius-xl: 32px;
  --radius-full: 9999px;
  --border-none: 0px;
  --border-s: 0px;
  --border-m: 0px;
  --border-l: 0px;
  --border-default-color: #e7e7e733;
  --border-shadow-none: 0 0 0 0 transparent;
  --border-shadow-s: 0 0 0 0 transparent;
  --border-shadow-m: 0 0 0 0 transparent;
  --border-shadow-l: 0 0 0 0 transparent;
  --font-ui: "GT Standard L", -apple-system, BlinkMacSystemFont, sans-serif;
  --weight-ui-regular: 400;
  --weight-ui-medium: 500;
  --weight-ui-heavy: 600;
  --font-brand: "GT Standard L", -apple-system, BlinkMacSystemFont, sans-serif;
  --weight-brand-regular: 400;
  --weight-brand-medium: 500;
  --weight-brand-heavy: 600;
  --font-editorial: "GT Standard L", -apple-system, BlinkMacSystemFont, sans-serif;
  --weight-editorial-regular: 400;
  --weight-editorial-medium: 500;
  --weight-editorial-heavy: 600;
  --font-data: "GT Standard L", -apple-system, BlinkMacSystemFont, sans-serif;
  --weight-data-regular: 400;
  --weight-data-medium: 500;
  --weight-data-heavy: 600;
  --color-none: transparent;
  --color-1: #e82cf2;
  --color-1-transparent: #e82cf233;
  --color-2: #5100c0;
  --color-2-transparent: #5100c033;
  --color-3: #e9d5ff;
  --color-3-transparent: #e9d5ff33;
  --color-4: #abff5a;
  --color-4-transparent: #abff5a33;
  --neutral-1: #ffffff;
  --neutral-1-transparent: #ffffff33;
  --neutral-2: #fbfbfb;
  --neutral-2-transparent: #fbfbfb33;
  --neutral-3: #f4f4f4;
  --neutral-3-transparent: #f4f4f433;
  --neutral-4: #e7e7e7;
  --neutral-4-transparent: #e7e7e733;
  --neutral-5: #cdcdcd;
  --neutral-5-transparent: #cdcdcd33;
  --neutral-6: #a1a1a1;
  --neutral-6-transparent: #a1a1a133;
  --neutral-7: #7d7d7d;
  --neutral-7-transparent: #7d7d7d33;
  --neutral-8: #555555;
  --neutral-8-transparent: #55555533;
  --neutral-9: #333333;
  --neutral-9-transparent: #33333333;
  --neutral-10: #000000;
  --neutral-10-transparent: #00000033;
  --success: #00906c;
  --success-transparent: #00906c33;
  --warning: #ffea00;
  --warning-transparent: #ffea0033;
  --error: #fc032d;
  --error-transparent: #fc032d33;
  --shadow-none: none;
  --shadow-s: 0px 2px 4px 0px #00000000;
  --shadow-m: 0px 2px 6px 0px #0000000d, 0px 8px 24px 0px #00000013;
  --shadow-l: 0px 16px 48px 0px #00000000;
  --cte-canvas: #ffffff;
  --cte-surface: #fbfbfb;
  --cte-surface-muted: #f4f4f4;
  --cte-text: #000000;
  --cte-text-muted: #7d7d7d;
  --cte-border: #e7e7e733;
  --cte-accent: #e82cf2;
  --cte-accent-text: #fbfbfb;
  --cte-danger: #fc032d;
  --cte-focus: #e82cf2;
  --cte-font: "GT Standard L", -apple-system, BlinkMacSystemFont, sans-serif;
  --cte-font-size: 17px;
  --cte-font-weight: 400;
  --cte-line-height: 24px;
  --cte-letter-spacing: -0.01em;
  --cte-detail-font-size: 14px;
  --cte-detail-line-height: 19px;
  --cte-detail-letter-spacing: -0.0075em;
}

[data-theme="dark"] {
  color-scheme: dark;
  --theme-name: opensource-icons;
  --theme-icon-family: Central;
  --theme-icon-style: outlined;
  --toolbar-divider-bleed: 0;
  --focus-ring-outline: initial;
  --icon-stroke-width: 2;
  --icon-light-display: none;
  --icon-regular-display: inline;
  --icon-bold-display: none;
  --motion-duration: 200ms;
  --motion-easing: cubic-bezier(0.16, 1, 0.3, 1);
  --motion-type: easing;
  --motion-visual-duration: 0.2;
  --motion-bounce: 0.2;
  --motion-enabled: 1;
  --motion-small-iterations: infinite;
  --motion-large-duration: 360ms;
  --motion-large-easing: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-large-type: easing;
  --motion-large-visual-duration: 0.36;
  --motion-large-bounce: 0.2;
  --motion-large-iterations: infinite;
  --motion-popup-scale: 0.96;
  --motion-press-distance: 1px;
  --option-badge-background: #e82cf2;
  --option-badge-foreground: #fbfbfb;
  --navigation-active-foreground: #fbfbfb;
  --emphasis-chart-fill: #e82cf233;
  --emphasis-balance-background: #565656;
  --emphasis-rewards-background: #2b2b2b;
  --emphasis-icon-background: #2b2b2b;
  --emphasis-icon-foreground: #ffffff;
  --emphasis-type-background: #2b2b2b;
  --emphasis-type-foreground: #ffffff;
  --navigation-active-background: #e82cf2;
  --surface-raised-image: none;
  --surface-raised-shadow: 0 0 0 0 transparent;
  --surface-recessed-image: none;
  --surface-recessed-shadow: 0 0 0 0 transparent;
  --space-zero: 0px;
  --space-xxs: 6px;
  --space-xs: 12px;
  --space-s: 18px;
  --space-m: 25px;
  --space-l: 37px;
  --space-xl: 49px;
  --space-xxl: 74px;
  --size-xxs: 12px;
  --line-xxs: 17px;
  --letter-spacing-xxs: -0.005em;
  --size-xs: 14px;
  --line-xs: 19px;
  --letter-spacing-xs: -0.0075em;
  --size-s: 17px;
  --line-s: 24px;
  --letter-spacing-s: -0.01em;
  --size-m: 19px;
  --line-m: 28px;
  --letter-spacing-m: -0.015em;
  --size-l: 28px;
  --line-l: 38px;
  --letter-spacing-l: -0.02em;
  --size-xl: 42px;
  --line-xl: 47px;
  --letter-spacing-xl: -0.03em;
  --size-xxl: 57px;
  --line-xxl: 61px;
  --letter-spacing-xxl: -0.04em;
  --radius-zero: 0px;
  --radius-xs: 4px;
  --radius-s: 8px;
  --radius-m: 12px;
  --radius-l: 20px;
  --radius-xl: 32px;
  --radius-full: 9999px;
  --border-none: 0px;
  --border-s: 0px;
  --border-m: 0px;
  --border-l: 0px;
  --border-default-color: #3d3d3d33;
  --border-shadow-none: 0 0 0 0 transparent;
  --border-shadow-s: 0 0 0 0 transparent;
  --border-shadow-m: 0 0 0 0 transparent;
  --border-shadow-l: 0 0 0 0 transparent;
  --font-ui: "GT Standard L", -apple-system, BlinkMacSystemFont, sans-serif;
  --weight-ui-regular: 400;
  --weight-ui-medium: 500;
  --weight-ui-heavy: 600;
  --font-brand: "GT Standard L", -apple-system, BlinkMacSystemFont, sans-serif;
  --weight-brand-regular: 400;
  --weight-brand-medium: 500;
  --weight-brand-heavy: 600;
  --font-editorial: "GT Standard L", -apple-system, BlinkMacSystemFont, sans-serif;
  --weight-editorial-regular: 400;
  --weight-editorial-medium: 500;
  --weight-editorial-heavy: 600;
  --font-data: "GT Standard L", -apple-system, BlinkMacSystemFont, sans-serif;
  --weight-data-regular: 400;
  --weight-data-medium: 500;
  --weight-data-heavy: 600;
  --color-none: transparent;
  --color-1: #e82cf2;
  --color-1-transparent: #e82cf233;
  --color-2: #5100c0;
  --color-2-transparent: #5100c033;
  --color-3: #e9d5ff;
  --color-3-transparent: #e9d5ff33;
  --color-4: #abff5a;
  --color-4-transparent: #abff5a33;
  --neutral-1: #000000;
  --neutral-1-transparent: #00000033;
  --neutral-2: #202020;
  --neutral-2-transparent: #20202033;
  --neutral-3: #2b2b2b;
  --neutral-3-transparent: #2b2b2b33;
  --neutral-4: #3d3d3d;
  --neutral-4-transparent: #3d3d3d33;
  --neutral-5: #565656;
  --neutral-5-transparent: #56565633;
  --neutral-6: #838383;
  --neutral-6-transparent: #83838333;
  --neutral-7: #ababab;
  --neutral-7-transparent: #ababab33;
  --neutral-8: #cfcfcf;
  --neutral-8-transparent: #cfcfcf33;
  --neutral-9: #f4f4f4;
  --neutral-9-transparent: #f4f4f433;
  --neutral-10: #ffffff;
  --neutral-10-transparent: #ffffff33;
  --success: #00906c;
  --success-transparent: #00906c33;
  --warning: #ffea00;
  --warning-transparent: #ffea0033;
  --error: #fc032d;
  --error-transparent: #fc032d33;
  --shadow-none: none;
  --shadow-s: 0px 2px 4px 0px #00000000;
  --shadow-m: 0px 2px 6px 0px #0000000d, 0px 8px 24px 0px #00000013;
  --shadow-l: 0px 16px 48px 0px #00000000;
  --cte-canvas: #000000;
  --cte-surface: #202020;
  --cte-surface-muted: #2b2b2b;
  --cte-text: #ffffff;
  --cte-text-muted: #ababab;
  --cte-border: #3d3d3d33;
  --cte-accent: #e82cf2;
  --cte-accent-text: #202020;
  --cte-danger: #fc032d;
  --cte-focus: #e82cf2;
  --cte-font: "GT Standard L", -apple-system, BlinkMacSystemFont, sans-serif;
  --cte-font-size: 17px;
  --cte-font-weight: 400;
  --cte-line-height: 24px;
  --cte-letter-spacing: -0.01em;
  --cte-detail-font-size: 14px;
  --cte-detail-line-height: 19px;
  --cte-detail-letter-spacing: -0.0075em;
}

/* Shared native adapters: effective assignments from the exported component tables.
 * Focus width is supplied in Appearance.focusOutline. No native border strokes.
 */
:root {
  --control-focus-outline: 2px solid var(--color-1);
  /* Separator default: an authored local 1px stroke in both modes. */
  --separator-width: 1px;
  --separator-shadow-top: inset 0 var(--separator-width) 0 var(--neutral-4);
  --separator-shadow-inline: inset var(--separator-width) 0 0 var(--neutral-4);
}
.gui-button,
.gui-toolbar-button,
.gui-input,
.gui-select,
.gui-tab {
  box-sizing: border-box;
  border: 0;
  border-radius: var(--radius-s);
  font-family: var(--font-ui);
  font-size: var(--size-s);
  line-height: var(--line-s);
  letter-spacing: var(--letter-spacing-s);
  color: var(--neutral-10);
}
/* Selects have no hover color treatment; switch their palette with the canvas
 * instead of briefly retaining the previous theme's surface and foreground. */
.gui-button,
.gui-toolbar-button,
.gui-input,
.gui-tab {
  transition: background-color var(--motion-duration) var(--motion-easing),
    color var(--motion-duration) var(--motion-easing),
    box-shadow var(--motion-duration) var(--motion-easing);
}
.gui-button,
.gui-toolbar-button,
.gui-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  font-weight: var(--weight-ui-medium);
  cursor: pointer;
  text-decoration: none;
}
.gui-button {
  padding: var(--space-s) var(--space-l);
  background: var(--color-none);
  box-shadow: var(--border-shadow-s);
}
/* Hover fills apply only where a pointer can hover, so a tap never leaves them stuck on. */
@media (hover: hover) { .gui-button:hover:not(:disabled) { background: var(--neutral-3-transparent); } }
.gui-button--primary {
  background: var(--neutral-10);
  color: var(--neutral-1);
  box-shadow: var(--border-shadow-none);
}
@media (hover: hover) {
  .gui-button--primary:hover:not(:disabled) {
    background: var(--neutral-10);
    box-shadow: var(--border-shadow-none), var(--shadow-s);
  }
}
.gui-button--secondary { background: var(--neutral-3); }
@media (hover: hover) { .gui-button--secondary:hover:not(:disabled) { background: var(--neutral-4-transparent); } }
.gui-button--ghost { background: var(--color-none); }
.gui-button:disabled,
.gui-toolbar-button:disabled,
.gui-tab:disabled,
.gui-input:disabled,
.gui-select:disabled {
  color: var(--neutral-6);
  cursor: not-allowed;
}
.gui-button--primary:disabled,
.gui-button--secondary:disabled { background: var(--neutral-3); }
.gui-button--ghost:disabled,
.gui-toolbar-button:disabled { background: var(--color-none); }
.gui-button:focus-visible,
.gui-toolbar-button:focus-visible,
.gui-tab:focus-visible,
.gui-input:focus-visible,
.gui-select:focus-visible { outline: var(--control-focus-outline); }
.gui-toolbar {
  display: flex;
  align-items: center;
  gap: var(--space-xxs);
  padding: var(--space-xxs);
  border: 0;
  border-radius: var(--radius-s);
  background: var(--neutral-1);
  color: var(--neutral-10);
  box-shadow: var(--border-shadow-s);
}
.gui-toolbar-button {
  padding: var(--space-xs) var(--space-s);
  background: var(--color-none);
}
@media (hover: hover) { .gui-toolbar-button:hover:not(:disabled) { background: var(--neutral-3); } }
.gui-toolbar-button[aria-pressed="true"]:not(:disabled) { background: var(--neutral-3); }
.gui-input,
.gui-select {
  padding: var(--space-s) var(--space-m);
  background: var(--neutral-3);
  box-shadow: var(--border-shadow-s);
  font-weight: var(--weight-ui-regular);
}
.gui-input::placeholder { color: var(--neutral-7); opacity: 1; }
.gui-input[aria-invalid="true"] { background: var(--error-transparent); }
.gui-tabs {
  display: inline-flex;
  gap: var(--space-xxs);
  padding: var(--space-xxs);
  border: 0;
  border-radius: var(--radius-m);
  background: var(--neutral-3);
  box-shadow: var(--border-shadow-none);
}
.gui-tab {
  padding: var(--space-xxs) var(--space-s);
  background: var(--color-none);
  color: var(--neutral-7);
}
@media (hover: hover) { .gui-tab:hover:not(:disabled) { color: var(--neutral-10); } }
.gui-tab[aria-selected="true"]:not(:disabled),
.gui-tab[aria-pressed="true"]:not(:disabled) {
  background: var(--neutral-1);
  color: var(--neutral-10);
}
.gui-dialog,
.gui-toast {
  box-sizing: border-box;
  border: 0;
  border-radius: var(--radius-m);
  background: var(--neutral-1);
  color: var(--neutral-10);
  box-shadow: var(--border-shadow-s), var(--shadow-m);
  font-family: var(--font-ui);
  font-size: var(--size-s);
  line-height: var(--line-s);
  letter-spacing: var(--letter-spacing-s);
  font-weight: var(--weight-ui-regular);
}
.gui-dialog { padding: var(--space-l); }
/* Native dialogs retain their top layer until the theme's exit motion finishes. */
.gui-dialog {
  opacity: 0;
  scale: var(--motion-popup-scale);
  transition: opacity var(--motion-large-duration) var(--motion-large-easing),
    scale var(--motion-large-duration) var(--motion-large-easing),
    translate var(--motion-large-duration) var(--motion-large-easing);
}
.gui-dialog[data-dialog-state="open"] { opacity: 1; scale: 1; }
.gui-dialog::backdrop {
  opacity: 0;
  transition: opacity var(--motion-large-duration) var(--motion-large-easing);
}
.gui-dialog[data-dialog-state="open"]::backdrop { opacity: 1; }
.gui-dialog .gui-button[aria-disabled="true"],
.gui-dialog .gui-button[aria-disabled="true"]:hover {
  background: var(--neutral-3);
  color: var(--neutral-6);
  box-shadow: var(--border-shadow-none);
  cursor: not-allowed;
}
.gui-dialog::backdrop { background: var(--neutral-10-transparent); }
[data-theme="dark"] .gui-dialog,
[data-theme="dark"] .gui-toast { background: var(--neutral-2); }
[data-theme="dark"] .gui-dialog::backdrop { background: var(--neutral-1-transparent); }
.gui-dialog-title {
  margin: var(--space-zero);
  font-family: var(--font-ui);
  font-weight: var(--weight-ui-medium);
  font-size: var(--size-m);
  line-height: var(--line-m);
  letter-spacing: var(--letter-spacing-m);
  color: var(--neutral-10);
}
.gui-dialog-description {
  font-family: var(--font-ui);
  font-weight: var(--weight-ui-regular);
  font-size: var(--size-s);
  line-height: var(--line-s);
  letter-spacing: var(--letter-spacing-s);
  color: var(--neutral-7);
}
.gui-toast {
  padding: var(--space-m);
  gap: var(--space-xs);
  opacity: 0;
  translate: 0 var(--space-xs);
  transition: opacity var(--motion-large-duration) var(--motion-large-easing),
    translate var(--motion-large-duration) var(--motion-large-easing);
}
.gui-toast[data-toast-state="open"] { opacity: 1; translate: 0 0; }
.gui-toast-title {
  margin: var(--space-zero);
  color: var(--neutral-10);
  font-family: var(--font-ui);
  font-weight: var(--weight-ui-medium);
  font-size: var(--size-s);
  line-height: var(--line-s);
  letter-spacing: var(--letter-spacing-s);
}
/* Shared Select popup and item assignments; body portals inherit the active mode. */
.select-popup {
  padding: var(--space-xxs);
  border: 0;
  border-radius: var(--radius-s);
  background: var(--neutral-1);
  color: var(--neutral-10);
  box-shadow: var(--border-shadow-s), var(--shadow-m);
  font-family: var(--font-ui);
  font-size: var(--size-s);
  line-height: var(--line-s);
  letter-spacing: var(--letter-spacing-s);
  font-weight: var(--weight-ui-regular);
}
[data-theme="dark"] .select-popup { background: var(--neutral-2); }
.select-option {
  padding: var(--space-xxs) var(--space-xs);
  gap: var(--space-xs);
  border: 0;
  border-radius: var(--radius-xs);
  background: var(--color-none);
  color: var(--neutral-10);
}
.select-option + .select-option { margin-top: var(--space-xxs); }
.select-option[aria-selected="true"] { background: var(--neutral-2); }
.select-option.is-active { background: var(--neutral-3); }
.select-option[aria-disabled="true"] { background: var(--color-none); color: var(--neutral-6); }
/* No standalone badge catalog entry: a compact metadata composition. */
.gui-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  padding: var(--space-xxs) var(--space-xs);
  border: 0;
  border-radius: var(--radius-full);
  background: var(--neutral-3);
  color: var(--neutral-8);
  font-family: var(--font-ui);
  font-weight: var(--weight-ui-medium);
  font-size: var(--size-xxs);
  line-height: var(--line-xxs);
  letter-spacing: var(--letter-spacing-xxs);
}
@media (prefers-reduced-motion: reduce) {
  .gui-button,
  .gui-toolbar-button,
  .gui-input,
  .gui-select,
  .gui-tab { transition: none; }
}

/* User-requested Liquid Glass material. These are local additions to opensource-icons,
 * scoped to artwork tiles; original Graphical foundations remain intact.
 * Restored neutral environment colors; WebGL and CSS share the flat material. */
:root, [data-theme="light"] {
  --glass-environment: #e9edf1;
  --glass-optical-tint: #c9dce2;
  --glass-opacity: .68;
  /* Flat material: uniform film and a fine perimeter, without cast shadows. */
  /* Match the shader's center transmission, including its faint Fresnel reflection. */
  --glass-fallback-fill: linear-gradient(rgb(234 238 243 / calc(var(--glass-opacity) * .9848 + .014288)), rgb(234 238 243 / calc(var(--glass-opacity) * .9848 + .014288)));
  --glass-fallback-edge: inset 0 0 0 1px #68798226;
  --glass-solid: #edf0f3;
  --glass-radius: 28%;
  --glass-blur: 12px;
  --glass-saturation: 1.25;
}
[data-theme="dark"] {
  --glass-environment: #262e39;
  --glass-optical-tint: #597384;
  --glass-opacity: .56;
  --glass-fallback-fill: linear-gradient(#30384490, #30384490);
  --glass-fallback-edge: inset 0 0 0 1px #d4eaff29;
  --glass-solid: #2b3441;
}
