<ResourceDictionary xmlns="https://github.com/avaloniaui"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <!--
    The palette, named for what a colour is for rather than for what it looks like. Every one of these is
    from the design; the names are this codebase's, because "#0C0F0E" appearing in nine files is how a
    surface ends up two shades off in the tenth.

    It lives here, in the shared project, because there are now two heads drawing the same product. Two
    copies of a palette is the same failure one file up: the phone's "connected" green drifting from the
    desktop's is not a thing anybody would notice until a screenshot sat beside another screenshot.

    Five near-black surfaces rather than one, and the difference between them is real work: the window is
    the darkest so the terminal reads as the lit thing, chrome sits one step up so the header and status
    bar frame it, and the lists sit between the two so a list does not look like part of either.
  -->
  <Color x:Key="CanvasColor">#0A0C0B</Color>
  <SolidColorBrush x:Key="Canvas" Color="{StaticResource CanvasColor}" />
  <SolidColorBrush x:Key="Chrome" Color="#0D100F" />
  <SolidColorBrush x:Key="Sidebar" Color="#0C0F0E" />
  <SolidColorBrush x:Key="Panel" Color="#0F1211" />
  <SolidColorBrush x:Key="Raised" Color="#111514" />
  <SolidColorBrush x:Key="Field" Color="#121615" />

  <!-- Row hover, and the heavier one the chrome's own buttons use. On the phone these are press states. -->
  <SolidColorBrush x:Key="Hover" Color="#141817" />
  <SolidColorBrush x:Key="ChromeHover" Color="#1A1F1D" />

  <!--
    Three border weights, and they are not interchangeable. Strong separates one region from another,
    subtle separates rows inside one region, and mid is what a control draws around itself.
  -->
  <SolidColorBrush x:Key="Border" Color="#1E2422" />
  <SolidColorBrush x:Key="BorderSubtle" Color="#171C1A" />
  <SolidColorBrush x:Key="BorderMid" Color="#2A312E" />
  <SolidColorBrush x:Key="BorderHover" Color="#3A423E" />
  <SolidColorBrush x:Key="BorderFaint" Color="#232927" />

  <!--
    The text ramp. Three steps, used consistently: what you read, what you glance at, and what is there
    only so its absence would be noticed. A fourth step would be one nobody could tell from its neighbours.
  -->
  <SolidColorBrush x:Key="Text" Color="#DCE3DF" />
  <SolidColorBrush x:Key="TextDim" Color="#7E8A84" />
  <SolidColorBrush x:Key="TextFaint" Color="#566059" />
  <SolidColorBrush x:Key="TextGhost" Color="#404743" />

  <!--
    The accent, and the three colours that are allowed to disagree with it. Green means live, connected or
    yours; amber means a caveat worth reading; red means refused or destructive; blue is for the one thing
    that is neither — a directory, a distinct scope — and is deliberately rare.
  -->
  <Color x:Key="AccentColor">#3CE88F</Color>
  <SolidColorBrush x:Key="Accent" Color="{StaticResource AccentColor}" />
  <SolidColorBrush x:Key="AccentSoft" Color="#3CE88F" Opacity="0.35" />
  <SolidColorBrush x:Key="AccentWash" Color="#3CE88F" Opacity="0.06" />
  <SolidColorBrush x:Key="Warn" Color="#E8B44C" />
  <SolidColorBrush x:Key="WarnSoft" Color="#E8B44C" Opacity="0.35" />
  <SolidColorBrush x:Key="WarnWash" Color="#E8B44C" Opacity="0.06" />
  <SolidColorBrush x:Key="WarnText" Color="#B9A26B" />
  <SolidColorBrush x:Key="Danger" Color="#E85D5D" />
  <SolidColorBrush x:Key="DangerSoft" Color="#E85D5D" Opacity="0.3" />
  <SolidColorBrush x:Key="DangerWash" Color="#E85D5D" Opacity="0.08" />
  <SolidColorBrush x:Key="DangerText" Color="#D98A8A" />
  <SolidColorBrush x:Key="Info" Color="#5DA9E8" />

  <!--
    The design asks for IBM Plex Mono and IBM Plex Sans. Neither ships with this application, and neither
    is on a stock Windows install or a stock Android one, so requesting them by name would render as
    whatever the font fallback chose that day — which is worse than choosing deliberately. Inter is
    embedded by both heads and is what they already draw with.

    The stack ends in the generic `monospace` rather than a Windows face, which is what makes it work on
    both: Android has no Cascadia Mono or Consolas and resolves the generic name to its own mono face.

    Named as a resource rather than repeated, because the substitution is the sort of thing that gets
    reversed later and should be reversible in one place. See docs/design-import-gaps.md.
  -->
  <FontFamily x:Key="MonoFont">ui-monospace,Cascadia Mono,Consolas,monospace</FontFamily>

</ResourceDictionary>
