{
  "id": "v1-w9-4444",
  "long_id": "v1.windows-9x.app.s04.p04.t04.u04",
  "name": "Desktop grey mail and news reader, rainy day, 1998",
  "era": {
    "slug": "windows-9x",
    "code": "w9",
    "name": "Desktop grey",
    "years": [
      1995,
      2001
    ],
    "description": "Web pages dressed as the desktop of 1995 to 2001: silver-grey windows with a navy title bar, raised and sunken bevels on every button and field, a small pixel-sized sans, and dialogs, tabs and tree lists borrowed from the operating system."
  },
  "archetype": "app",
  "mode": "pure",
  "viewport": {
    "width": 800,
    "fluid": false
  },
  "summary": "A mail and news reader in the browser, dressed as the three-pane program of a late 1990s desktop: a title bar and menu bar, a bar of flat picture keys, a dark banner naming the open folder, then a rail of shortcut icons, a folder tree, the message list with raised column heads and the open message in a white well. This pack shows it in a rainy day scheme: blue-grey windows with a slate title bar that fades in from near black, white fields, flat keys drawn with one hairline and a pale inner edge, dotted thin lines, a wide humanist sans at 11px and heavy black-weight headings. Web mail, intranet tools and news readers took this form between 1996 and 2001, when a page that worked like the program on the desktop needed no explaining.",
  "url": "https://chrono.skin/s/v1-w9-4444",
  "preview_url": "https://chrono.skin/s/v1-w9-4444/specimen.html",
  "files": {
    "STYLE.md": "# Desktop grey mail and news reader, rainy day, 1998\n\n## Summary\n\nA mail and news reader in the browser, dressed as the three-pane program of a late 1990s desktop: a title bar and menu bar, a bar of flat picture keys, a dark banner naming the open folder, then a rail of shortcut icons, a folder tree, the message list with raised column heads and the open message in a white well. This pack shows it in a rainy day scheme: blue-grey windows with a slate title bar that fades in from near black, white fields, flat keys drawn with one hairline and a pale inner edge, dotted thin lines, a wide humanist sans at 11px and heavy black-weight headings. Web mail, intranet tools and news readers took this form between 1996 and 2001, when a page that worked like the program on the desktop needed no explaining.\n\n## Layout\n\n- Fixed, not fluid: `--size-page` is 776px, one window (`.ds-page__window`, also a `.ds-window`) centred on the desktop of an 800px screen with a `--space-6` margin above and below. Nothing is wider than the window and nothing reflows.\n- The specimen is one example site, a mail and news reader, of four views. `.ds-nav` (title bar and menu bar) and `.ds-footer` (status bar) are written once, inside the window and outside the views. Each view is a `.ds-view` and opens with its own `.ds-toolbar`, because the keys of a mail program change with what is open.\n- Home view, from the top: the toolbar, then `.ds-page__body` whose blocks are `--space-1` apart: the `.ds-hero` folder banner, then `.ds-page__columns`, three columns `--space-1` apart and stretched to the same height: the rail (`--size-rail`, 78px), a `.ds-pane` whose well is the `.ds-grid` of shortcut icons; the `.ds-sidebar` folder tree (`--size-tree`, 170px); and `.ds-page__main` with the message list (`.ds-table`) over the open message (`.ds-panel`, a raised head over a white well of `.ds-prose`). The `.ds-stat` row of four read-outs closes the view above the status bar.\n- Inner pages keep the title bar, menu bar, their own toolbar and the status bar, and drop the banner, the rail and the read-outs. Directly under the toolbar the `.ds-breadcrumb` is a thin band in the banner's colours; then `.ds-page__inner`, one column `--space-4` apart that opens with the `.ds-page-header` (large icon, title, one line, the action at the right, closed by a thin line) and continues with the working components. Two-column pages use `.ds-split--side` (a working column beside a `--size-side`, 214px, column of group boxes) or `.ds-split--tree` (a `--size-tree` pane beside a list view). Tabs sit directly under the page header with their `.ds-sheet`.\n- Views: `home` is the Inbox. `compose` is a new message: notices and the form beside two group boxes (recent recipients, attachments), then the row of keys. `addresses` is the address book: a tree of groups beside a search row with the status labels, the list view of people with a selected row and a total row, and the pagination keys; below, the empty state of an empty group beside the confirmation dialog. `options` is a property sheet of six tabs holding group boxes, property rows and a note, with OK, Cancel and Apply. The menu entry of the view that is showing is drawn in the selection colours; the Inbox entry is marked when the address names no view.\n- Fixed sizes: `--size-tool` 58px least width of a toolbar key and `--size-icon-tool` 24px its picture; `--size-ctl` 16px caption button and `--size-glyph` 8px glyph; `--size-icon` 32px and `--size-icon-small` 16px icons; `--size-check` 13px check box; `--size-label` 84px form label column; `--size-field` 220px text field; `--size-dialog` 330px; `--size-button` 75px least key width; `--size-block` 8px progress block.\n- Spacing scale: `--space-0` 1px is the hairline step (tick inset, row padding in trees); `--space-1` 2px the gap between keys and the padding of bars; `--space-2` 4px the padding of keys, the gap between an icon and its word and between panes; `--space-3` 6px cell and field padding and the gap between keys in a row; `--space-4` 8px the gap between blocks inside a window and the padding of group boxes; `--space-5` 12px the padding of sheets and dialogs; `--space-6` 16px the margin of the desktop round the window and the gutter of two-column sheets.\n\n## Typography and colour roles\n\n- Two families and a monospace: `--font-body` and `--font-ui` are a wide humanist sans (Lucida Sans Unicode, then Lucida Grande, Geneva); `--font-heading` is Arial Black at weight 900 for the folder banner, page titles, the brand and the read-outs; `--font-mono` is Lucida Console. The references set their text in Arial and Verdana at 10px to 13px with titles in a black weight; the stacks here are the nearest faces that shipped with the desktops of the time.\n- Sizes: `--text-base` and `--text-ui` 11px for everything; `--text-small` 10px for counts and dates; `--text-large` 12px for a lead line; `--text-h2` 12px and `--text-h3` 11px for headings; `--text-h1` 15px for a page title and a read-out; `--text-display` 20px for the folder banner only. Line height 1.45 in text, 1.25 in keys and bars. Bold is 700, headings 900; keys are regular weight. No transform and no tracking. Links in text are underlined; quiet links are not.\n- Colour: blue-grey `--color-canvas` windows on a dark storm blue `--color-page`, white wells, a slate title bar and slate selection, a mid grey-blue `--color-inverse` for the banner and the rail, ink blue links with violet visited and brick active, near-black blue text. Block colours are pale blue, sea green, lavender and straw. Status colours are deep green, ochre and dark red, all legible on white.\n- Surface: nothing is bevelled. A raised part is one hairline of `--color-border` with a 2px pale edge inside its top and left; a sunken part is the same hairline with a 2px grey shade inside its top and left; a window is a hairline of `--color-border-strong`, and a dialog adds a hard 2px shadow. `--border-width-strong` is 2px. Thin lines (`--border-style`) are dotted: group boxes, rules, the frame of notices and badges, the extra line of the default button. The desktop and the inverse fill carry thin slanting rain lines; the title bar runs from a near-black mix of `--color-bar` at the left to `--color-bar` at the right. A key under the pointer turns paler (`--fill-button-hover`) and its label takes `--color-button-hover-text`.\n- The era's rule for which text sits on which fill, the same in every layout of the era and to be kept by every token set:\n  - The desktop (`--fill-page` over `--color-page`) is always dark enough to carry `--color-bar-text`. Text written straight on the desktop (icon labels, small print) uses `--color-bar-text`.\n  - The window face is `--color-canvas`; raised parts inside a window (sheets, notes, dialogs) are `--fill-panel`. Both carry `--color-text`, `--color-text-muted`, `--color-heading`, `--color-heading-alt` and the link colours.\n  - A sunken well (list view, tree, document, read-out, empty list) is `--color-surface` and carries the same text and link tokens as the window face, so every palette keeps text and links legible on both. `--color-surface-alt` is the alternate row and the fill of inline code and of a pressed toolbar key; `--color-surface-strong` is a group or total row. They carry `--color-text`.\n  - A title bar is `--fill-bar` with `--color-bar-text`; the title bar of a window without the focus is `--fill-inverse` with `--color-inverse-text`.\n  - Menu bar, toolbar and column heads are `--fill-bar-alt` with `--color-bar-alt-text`.\n  - The selection (current tree row, selected table row, open menu, selected list-box row, progress blocks, the plain badge) is `--fill-accent` with `--color-accent-text`. Links and icons inside a selection inherit that colour.\n  - Keys are `--fill-button` with `--color-button-text` (`--color-button-hover-text` under the pointer); the lesser key is `--fill-button-secondary` with `--color-button-secondary-text`; a disabled key is `--color-disabled` with `--color-disabled-text`. The destructive key is `--fill-button` with a bold label in `--color-danger`.\n  - Fields and the path field are `--fill-input` with `--color-input-text`; links inside the path field use the link tokens, so a palette keeps `--color-input` close to `--color-surface`. `--color-input-border` outlines the check box.\n  - `--color-fill-1` to `--color-fill-4` carry `--color-text` (icons drawn on them) and, in the help layout, `--color-link`.\n  - Notices are `--color-notice` with `--color-notice-text` inside a line of `--color-border-strong`; the error notice is `--color-danger` on `--color-danger-surface`.\n  - Status labels print `--color-success`, `--color-warning` and `--color-danger` as text and frame on `--color-surface`, so each status colour must read on the well colour; none of them is used as a fill under text.\n  - Icons are inline SVG painted with `currentColor`: `--color-heading-alt` by default, the surrounding text colour on keys, title bars, block colours and selections.\n- Edges, the same in every layout of the era. Nothing has a border of its own except thin lines; every raised or sunken edge is a `box-shadow` token drawn inside the box:\n  - `--shadow-panel`: the raised frame of a window. `--shadow-dialog`: the frame of a dialog.\n  - `--shadow-control`: every raised key: buttons, toolbar keys, caption buttons, column heads, tabs and their sheet, pagination keys, the brand tile.\n  - `--shadow-control-pressed`: everything sunken: fields, the path field, wells, read-outs, status cells, the check box, the progress bar, a pressed key, the current pagination key. Note that fields take the pressed token, not `--shadow-control`.\n  - `--border-width-strong` is the thickness of those edges: padding that must clear an edge is written `calc(var(--border-width-strong) + var(--space-N))`.\n  - `--border-width`, `--border-style` and `--color-border` draw the thin lines: group boxes, the etched rule (`--color-border` over `--color-border-muted`), toolbar separators, table row lines (`--color-surface-alt`), the frame of notices, badges and the default button (`--color-border-strong`).\n  - `--color-border`, `--color-border-strong` and `--color-border-muted` are the three shades the edge tokens are built from: the mid shadow, the darkest outer line and the light edge. A palette sets them as a bevel set for its window face.\n- Not expressible by a token and written literally in `components.css`: the `dotted` guide lines of the tree (and of topic lists), the `solid` strokes of the caption-button glyphs, and `clip-path` on the current tab, which cuts off its lower edge so that it joins the sheet; and the `dotted` guide lines are written literally whatever `--border-style` is.\n- All radii are 0 and are still applied through `--radius-control`, `--radius-panel`, `--radius-pill` and `--radius-page`. `--shadow-text` is applied to title bars and buttons. `--transition` is `none`; `--backdrop-blur` is `0px`: no surface blurs what lies behind it.\n\n## Components\n\n- `.ds-page`: on `<body>`; the desktop. `.ds-page__window` is the one window at `--size-page`; `.ds-page__body` stacks the blocks of a view under its toolbar; `.ds-page__columns` is the rail, the folder tree and `.ds-page__main`; `.ds-page__inner` is the single column of an inner page.\n- `.ds-nav`: the chrome of the window, written once: the title bar (a `.ds-window__title` holding the `.ds-brand`, the caption and the caption buttons) and the menu bar `.ds-nav__links` of `.ds-nav__link` entries, each with one underlined `.ds-nav__key` letter. The entry of the current view (`is-current`, or one selector per view) is drawn in the selection colours, as an open menu is.\n- `.ds-brand`: the site's mark and name at the left of the title bar. `.ds-brand__mark` is the window's icon: a small tile dressed like the default button (`--fill-button`, `--color-button-text`, a line of `--color-border-strong`, `--radius-control`, `--shadow-control`) holding the mark as inline SVG with a 3 unit stroke and square caps. `.ds-brand__name` is the name in `--font-heading` at `--text-ui`, in the bar's text colour. The name `chronoskin` and its mark are placeholders for the installing project's own name and logo.\n- `.ds-toolbar`: the bar of picture keys at the top of every view, on `--fill-bar-alt`. `.ds-toolbar__grip` is the thin raised strip at its left end. A `.ds-toolbar__button` is flat, a 24px picture over one word, at least `--size-tool` wide; it rises (`--fill-button`, `--shadow-control`) under the pointer (`is-hover`), sinks when held or switched on (`is-pressed`) and greys when `is-disabled`. `.ds-toolbar__sep` is an etched separator.\n- `.ds-hero`: the banner of the open folder, the era's page introduction: a sunken band in `--fill-inverse` with a large icon, `.ds-hero__text` (the `.ds-hero__title` at `--text-display` and the `.ds-hero__lead` on one baseline, both in `--color-inverse-text`) and `.ds-hero__action` with the default button. Never taller than one line of display text.\n- `.ds-breadcrumb`: the path of an inner page, a thin sunken band in `--fill-inverse` directly under the toolbar; links inherit `--color-inverse-text`, a `>` stands between the `.ds-breadcrumb__item`s and the last is `is-current` and bold.\n- `.ds-page-header`: the head of an inner page: a large icon, `.ds-page-header__text` with `.ds-page-header__title` (`--text-h1`) and `.ds-page-header__lead`, and `.ds-page-header__action` with one key at the right, closed by a thin line of `--color-border`. No fill of its own.\n- `.ds-grid`: the rail of shortcuts: one column of `.ds-grid__cell` links on a sunken band of `--fill-inverse`. Each has a `.ds-grid__icon` tile (a 32px icon in `--color-text` on one of the four block colours: `--2`, `--3`, `--4` on the cell), a `.ds-grid__title` and a small `.ds-grid__text` count, both in `--color-inverse-text`; the title of the `is-current` cell is in the selection colours.\n- `.ds-sidebar`: the folder pane: `.ds-sidebar__title`, a raised strip like a column head, over `.ds-sidebar__body`, a white well holding the `.ds-tree`; a `.ds-tree__link--unread` is bold and carries its count in brackets. `.ds-pane` with `.ds-pane__title` is the same strip over any other pane.\n- `.ds-panel`: the open message: `.ds-panel__head`, a raised strip with a large icon, `.ds-panel__text` (the `.ds-panel__title` subject at `--text-h2` and the muted `.ds-panel__meta` line of sender and date) and a secondary key, over `.ds-panel__body`, a white well for the text.\n- `.ds-list`: rows on the window face: a small icon, `.ds-list__text` (a link and one line) and a right-aligned `.ds-list__meta`. `.ds-list__item` is the row.\n- `.ds-footer`: the status bar of the window, a `.ds-status` row: one wide cell with the site line and quiet links, then short cells.\n- `.ds-window`: the raised frame of a window (`--fill-panel`, `--shadow-panel`). `.ds-window__title` is the title bar (`--fill-bar`, bold `--font-ui` in `--color-bar-text`), `.ds-window__title--inactive` the bar of a window without the focus, `.ds-window__caption` the title text, `.ds-window__controls` the group of caption buttons. `.ds-window__ctl` is one caption button, a small raised square with its glyph drawn in CSS: `--min`, `--max`, `--close`. `.ds-window__body` pads plain content.\n- `.ds-view`: one screen of the example site; only the one named in the address shows, and `.ds-view--home` when none is named. No box of its own.\n- `.ds-prose`: running text: styles `h1`, `h2`, `h3`, `p`, `ul`, `ol`, `li`, `strong` and `code`; `.ds-prose__lead` is the lead line at `--text-large`. Used inside a well.\n- `.ds-link`: every link in text, underlined. States `is-visited`, `is-hover`, `is-active`, `is-focus`. `.ds-link--quiet` (`--color-link-quiet`, `--link-decoration-quiet`) for tool and footer links, `.ds-link--strong` for a bold link. `.ds-links` wraps a line of links.\n- `.ds-button`: a raised key at least `--size-button` wide, on a `<button>` or on a link that leads to another view. The plain class is the default button of its window: one more line of `--color-border-strong` round the key. `.ds-button--secondary` is every other key, `.ds-button--danger` the destructive one (bold `--color-danger` label, never a red key), `.ds-button--large` a bigger one. States `is-hover`, `is-pressed` (the edge turns inward), `is-focus` (ring inside the key), `is-disabled` or `disabled`. `.ds-buttons` lays out a row; a `.ds-find__fill` spacer pushes the confirming keys to the right.\n- `.ds-form`: two columns, `.ds-form__label` at the left (`--size-label`) and `.ds-form__field` at the right. Controls: `.ds-form__input` (`--short`, `--wide`), `.ds-form__select`, `.ds-form__textarea`, `.ds-form__check` inside a `.ds-form__option` label. All are sunken fields. `.ds-form__hint` is a small muted line under a field, `.ds-form__error` a bold line in `--color-danger` under it (the field itself does not change), `.ds-form__actions` a right-aligned row of keys.\n- `.ds-table`: a list view: a sunken well of `--color-surface` whose column heads (`.ds-table__head`, `--num` for a right-aligned one) are raised keys. Rows are `.ds-table__row`; `.ds-table__row--alt` tints a row, `is-selected` puts it in the selection colours, `.ds-table__row--unread` sets an unread message in bold. `.ds-table__cell`, with `--num` for figures and `--group` for a total or group row and `--fit` for a date that must stay on one line. `.ds-table__caption` is the small line under the well.\n- `.ds-stat`: the row of summary figures; each `.ds-stat__item` is a sunken read-out with a `.ds-stat__value` (`--text-h1`, `--color-heading-alt`) over a `.ds-stat__label` (`--text-small`, muted). Three or four in a row, never large numerals or cards.\n- `.ds-tabs`: a property sheet. `.ds-tabs__item` holds a `.ds-tabs__tab`, a raised key whose lower edge slides under the sheet; the current tab (`is-current`) is taller, bold and joined to the sheet. `.ds-sheet` is the raised sheet under the tabs and always follows them.\n- `.ds-badge`: a small bold label in the selection colours with a dark line round it. `.ds-badge--count` is a plain muted count. Status: `.ds-badge--success`, `.ds-badge--warning`, `.ds-badge--danger`, the status colour as text and frame on the well colour. `.ds-badges` lays out a row of them.\n- `.ds-notice`: the pale tip box inside a dark line; `.ds-notice__label` is the bold lead word. `.ds-notice--error` is the error form. `.ds-notices` stacks several.\n- `.ds-pagination`: a row of small raised keys: `.ds-pagination__label`, then `.ds-pagination__link` for previous, the page numbers and next; `is-current` is pressed and bold, `is-disabled` greyed.\n- `.ds-dialog`: a small window `--size-dialog` wide, shown in the page flow where it would open. `.ds-dialog__title` is its title bar (with a `.ds-window__ctl--close`), `.ds-dialog__content` holds a large icon and the `.ds-dialog__body` message, `.ds-dialog__actions` centres the keys. No backdrop.\n- `.ds-empty`: an empty well with `.ds-empty__title`, `.ds-empty__text` and one secondary key.\n- `.ds-icon`: a 16px inline SVG pixel icon; `.ds-icon--large` is 32px, `.ds-icon--plain` takes the surrounding text colour.\n- `.ds-well`: a sunken field of `--color-surface` for a document or a list. `.ds-rule`: the etched line. `.ds-group` with `.ds-group__title`: a group box, a `<fieldset>` whose `<legend>` is cut into the thin frame. `.ds-props` with `.ds-props__label` and `.ds-props__value`: rows of a property page. `.ds-progress` with `.ds-progress__block` (`--empty` for the rest): a progress bar made of blocks.\n- `.ds-tree`: the tree list: `.ds-tree__item` rows, `.ds-tree__link` (icon and name, not underlined, `is-current` in the selection colours), nested `.ds-tree__list` joined by a dotted guide line.\n- `.ds-status` is a row of sunken `.ds-status__cell`s (`--wide` takes the free width).\n- `.ds-heading`: a section title at `--text-h2`. `.ds-split`: two equal columns. `.ds-stack`: a column of blocks `--space-4` apart; `.ds-split--side` and `.ds-split--tree` are the two uneven splits. `.ds-find`: a row of labels, fields and a key. `.ds-code`: inline code outside running text.\n\n## Never\n\n- `row-gap <= 8px`: rows of lists, trees and list views touch or sit 1px to 4px apart.\n- `block-gap <= 16px`: panes are 2px apart and blocks of an inner page 8px, never more than 16px.\n- `content-width <= 776px`: everything is inside the one 776px window.\n- `font-size >= 10px`: counts and dates are 10px, nothing smaller.\n- `font-size <= 20px`: the folder banner is the largest text; page titles stop at 15px.\n- `font-weight >= 400`: regular, bold and the black weight of headings; nothing light.\n- `font-families <= 3`: the text sans, the black heading face and a monospace.\n- `letter-spacing = 0`: no tracking.\n- `uppercase-text <= 0%`: no text-transform.\n- `border-radius <= 0px`: the desktop had no rounded corner.\n- `box-shadow-blur <= 0px`: every edge is a hard line; nothing is blurred.\n- `text-shadow = none`: no text shadow anywhere.\n- `gradient-fills <= 3%`: only the title bars, the rain on the desktop and the banner fill are gradients.\n- `border-width <= 2px`: thin lines are 1px; the widest stroke is the 2px top of a caption glyph.\n- `transition = none`: nothing eases on hover.\n- `animation = none`: no CSS animation.\n\n## Extending\n\nDerive a new component from the nearest one in the specimen and use tokens only. Anything that holds content is a `.ds-window` with a title bar or a `.ds-group` with its caption; anything that lists is a `.ds-table`, a `.ds-tree` or a list in a `.ds-well`; anything pressed or typed into takes `--shadow-control-pressed`, anything pushed takes `--shadow-control`. Clear every edge with `calc(var(--border-width-strong) + ...)` padding, keep text at `--text-base` or `--text-ui`, and never add a radius, a blurred shadow, a gradient outside `--fill-*` tokens, a hover animation or a colour of your own.\n",
    "components.css": "/* Layout tokens (structure part). A mail and news reader 776px wide on an\n   800px screen: a rail of shortcuts, a folder tree, and the message list\n   over the open message. */\n:root {\n  --size-page: 776px;\n  --size-rail: 78px;\n  --size-tree: 170px;\n  --size-side: 214px;\n  --size-tool: 58px;\n  --size-icon-tool: 24px;\n  --size-ctl: 16px;\n  --size-glyph: 8px;\n  --size-icon: 32px;\n  --size-icon-small: 16px;\n  --size-check: 13px;\n  --size-label: 84px;\n  --size-field: 220px;\n  --size-dialog: 330px;\n  --size-button: 75px;\n  --size-block: 8px;\n  --space-0: 1px;\n  --space-1: 2px;\n  --space-2: 4px;\n  --space-3: 6px;\n  --space-4: 8px;\n  --space-5: 12px;\n  --space-6: 16px;\n}\n\n/* ---------- shell: the desktop and the reader window ---------- */\n.ds-page {\n  margin: 0;\n  padding: var(--space-6) 0;\n  background: var(--fill-page);\n  color: var(--color-text);\n  font-family: var(--font-body);\n  font-size: var(--text-base);\n  font-weight: var(--weight-body);\n  line-height: var(--line-body);\n}\n.ds-page__window {\n  width: var(--size-page);\n  margin: 0 auto;\n  background: var(--color-canvas);\n  border-radius: var(--radius-page);\n}\n.ds-page__body {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-1);\n  padding: 0 0 var(--space-1);\n}\n/* Shortcut rail, folder tree and the two panes of the reader. */\n.ds-page__columns {\n  display: grid;\n  grid-template-columns: var(--size-rail) var(--size-tree) minmax(0, 1fr);\n  gap: var(--space-1);\n  align-items: stretch;\n}\n.ds-page__main {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-1);\n  min-width: 0;\n}\n.ds-page__inner {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-4);\n  padding: var(--space-2) var(--space-2) var(--space-4);\n}\n.ds-split {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n  gap: var(--space-6);\n  align-items: start;\n}\n/* A working column beside a narrow column of group boxes. */\n.ds-split--side {\n  grid-template-columns: minmax(0, 1fr) var(--size-side);\n  gap: var(--space-5);\n}\n/* A tree pane beside a list view. */\n.ds-split--tree {\n  grid-template-columns: var(--size-tree) minmax(0, 1fr);\n  gap: var(--space-2);\n  align-items: stretch;\n}\n.ds-stack {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-4);\n  min-width: 0;\n}\n.ds-heading {\n  margin: 0 0 var(--space-2);\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-h2);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n  text-transform: var(--heading-transform);\n}\n\n/* ---------- views: one screen of the example site shows at a time ---------- */\n.ds-view { display: none; }\n.ds-view:target, .ds-page:not(:has(.ds-view:target)) .ds-view--home { display: block; }\n.ds-view:target { scroll-margin-top: 100vh; }\n/* ---------- window: a raised frame with a title bar ---------- */\n.ds-window {\n  box-sizing: border-box;\n  min-width: 0;\n  padding: calc(var(--border-width-strong) + var(--space-1));\n  background: var(--fill-panel);\n  color: var(--color-text);\n  border-radius: var(--radius-panel);\n  box-shadow: var(--shadow-panel);\n}\n.ds-window__title {\n  display: flex;\n  align-items: center;\n  gap: var(--space-2);\n  margin: 0;\n  padding: var(--space-1) var(--space-1) var(--space-1) var(--space-2);\n  background: var(--fill-bar);\n  color: var(--color-bar-text);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  font-weight: var(--weight-bold);\n  line-height: var(--line-heading);\n  text-shadow: var(--shadow-text);\n}\n/* A window that does not have the focus. */\n.ds-window__title--inactive {\n  background: var(--fill-inverse);\n  color: var(--color-inverse-text);\n}\n.ds-window__caption {\n  flex: 1;\n  min-width: 0;\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n.ds-window__controls {\n  display: flex;\n  flex: none;\n  gap: var(--space-1);\n}\n/* Caption buttons: small raised squares, the glyph drawn in CSS. */\n.ds-window__ctl {\n  position: relative;\n  box-sizing: border-box;\n  width: var(--size-ctl);\n  height: calc(var(--size-ctl) - var(--space-1));\n  background: var(--fill-button);\n  color: var(--color-button-text);\n  border-radius: var(--radius-control);\n  box-shadow: var(--shadow-control);\n}\n.ds-window__ctl::before,\n.ds-window__ctl::after {\n  content: \"\";\n  position: absolute;\n  box-sizing: border-box;\n}\n.ds-window__ctl--min::before {\n  left: var(--space-2);\n  bottom: calc(var(--space-1) + var(--space-0));\n  width: calc(var(--size-glyph) - var(--space-1));\n  height: var(--space-1);\n  background: currentColor;\n}\n.ds-window__ctl--max::before {\n  left: calc(50% - var(--size-glyph) / 2);\n  top: calc(50% - var(--size-glyph) / 2);\n  width: var(--size-glyph);\n  height: var(--size-glyph);\n  border: var(--space-0) solid currentColor;\n  border-top-width: var(--space-1);\n}\n.ds-window__ctl--close::before,\n.ds-window__ctl--close::after {\n  left: calc(50% - var(--size-glyph) / 2 - var(--space-0));\n  top: calc(50% - var(--space-0));\n  width: calc(var(--size-glyph) + var(--space-1));\n  height: var(--space-1);\n  background: currentColor;\n  transform: rotate(45deg);\n}\n.ds-window__ctl--close::after {\n  transform: rotate(-45deg);\n}\n.ds-window__body {\n  padding: var(--space-4);\n}\n/* ---------- small things used everywhere ---------- */\n/* Etched line: a dark rule over a light one. */\n.ds-rule {\n  height: 0;\n  margin: var(--space-4) 0;\n  border: 0;\n  border-top: var(--border-width) var(--border-style) var(--color-border);\n  border-bottom: var(--border-width) var(--border-style) var(--color-border-muted);\n}\n/* Pixel icon: inline SVG painted with the text colour of its place. */\n.ds-icon {\n  display: inline-block;\n  flex: none;\n  width: var(--size-icon-small);\n  height: var(--size-icon-small);\n  vertical-align: text-bottom;\n  color: var(--color-heading-alt);\n}\n.ds-icon svg {\n  display: block;\n  width: 100%;\n  height: 100%;\n}\n.ds-icon--large {\n  width: var(--size-icon);\n  height: var(--size-icon);\n}\n.ds-icon--plain {\n  color: inherit;\n}\n/* Sunken well: the white field that holds lists, trees and documents. */\n.ds-well {\n  box-sizing: border-box;\n  min-width: 0;\n  padding: calc(var(--border-width-strong) + var(--space-3));\n  background: var(--color-surface);\n  color: var(--color-text);\n  border-radius: var(--radius-panel);\n  box-shadow: var(--shadow-control-pressed);\n}\n/* Progress bar made of blocks. */\n.ds-progress {\n  display: inline-flex;\n  gap: var(--space-1);\n  box-sizing: border-box;\n  padding: calc(var(--border-width-strong) + var(--space-0));\n  background: var(--color-surface);\n  box-shadow: var(--shadow-control-pressed);\n  vertical-align: middle;\n}\n.ds-progress__block {\n  width: var(--size-block);\n  height: calc(var(--size-block) + var(--space-2));\n  background: var(--fill-accent);\n}\n.ds-progress__block--empty {\n  background: transparent;\n}\n/* Status bar: sunken cells. */\n.ds-status {\n  display: flex;\n  gap: var(--space-1);\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n}\n.ds-status__cell {\n  padding: calc(var(--border-width-strong) + var(--space-0)) var(--space-3);\n  box-shadow: var(--shadow-control-pressed);\n  white-space: nowrap;\n}\n.ds-status__cell--wide {\n  flex: 1;\n  min-width: 0;\n  white-space: normal;\n}\n/* Group box: a thin frame with its caption cut into the top edge. */\n.ds-group {\n  box-sizing: border-box;\n  min-width: 0;\n  margin: 0;\n  padding: var(--space-2) var(--space-4) var(--space-4);\n  border: var(--border-width) var(--border-style) var(--color-border);\n  border-radius: var(--radius-panel);\n}\n.ds-group__title {\n  padding: 0 var(--space-2);\n  color: var(--color-heading-alt);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  font-weight: var(--weight-bold);\n}\n/* Property rows: a label column and a value column. */\n.ds-props {\n  display: grid;\n  grid-template-columns: max-content minmax(0, 1fr);\n  column-gap: var(--space-5);\n  row-gap: var(--space-2);\n  align-items: center;\n  margin: 0;\n}\n.ds-props__label {\n  color: var(--color-text-muted);\n}\n.ds-props__value {\n  margin: 0;\n}\n/* Tree list: nested rows joined by dotted guide lines. */\n.ds-tree {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  font-family: var(--font-body);\n  font-size: var(--text-base);\n}\n.ds-tree__list {\n  margin: 0 0 0 calc(var(--size-icon-small) / 2);\n  padding: 0 0 0 var(--space-4);\n  list-style: none;\n  border-left: var(--border-width) dotted var(--color-border);\n}\n.ds-tree__item {\n  padding: var(--space-0) 0;\n}\n.ds-tree__link {\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-2);\n  padding: 0 var(--space-1);\n  color: var(--color-text);\n  text-decoration: none;\n}\n.ds-tree__link:hover,\n.ds-tree__link.is-hover {\n  color: var(--color-link-hover);\n}\n.ds-tree__link.is-current {\n  background: var(--fill-accent);\n  color: var(--color-accent-text);\n}\n.ds-tree__link.is-current .ds-icon {\n  color: inherit;\n}\n/* ---------- links ---------- */\n.ds-link {\n  color: var(--color-link);\n  text-decoration: var(--link-decoration);\n  transition: var(--transition);\n}\n.ds-link:visited,\n.ds-link.is-visited {\n  color: var(--color-link-visited);\n}\n.ds-link:hover,\n.ds-link.is-hover {\n  color: var(--color-link-hover);\n  text-decoration: var(--link-decoration-hover);\n}\n.ds-link:active,\n.ds-link.is-active {\n  color: var(--color-link-active);\n}\n.ds-link:focus-visible,\n.ds-link.is-focus {\n  outline: var(--focus-ring);\n}\n.ds-link--quiet,\n.ds-link--quiet:visited,\n.ds-link--quiet.is-visited {\n  color: var(--color-link-quiet);\n  text-decoration: var(--link-decoration-quiet);\n}\n.ds-link--strong {\n  font-weight: var(--weight-bold);\n}\n.ds-links {\n  margin: 0;\n}\n/* ---------- prose ---------- */\n.ds-prose {\n  color: var(--color-text);\n  font-family: var(--font-body);\n  font-size: var(--text-base);\n  line-height: var(--line-body);\n}\n.ds-prose h1,\n.ds-prose h2,\n.ds-prose h3 {\n  margin: var(--space-5) 0 var(--space-2);\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n  text-transform: var(--heading-transform);\n}\n.ds-prose h1 {\n  margin-top: 0;\n  font-size: var(--text-h1);\n}\n.ds-prose h2 {\n  font-size: var(--text-h2);\n}\n.ds-prose h3 {\n  font-size: var(--text-h3);\n  color: var(--color-heading-alt);\n}\n.ds-prose p {\n  margin: 0 0 var(--space-4);\n}\n.ds-prose ul,\n.ds-prose ol {\n  margin: 0 0 var(--space-4);\n  padding: 0 0 0 calc(var(--space-6) + var(--space-4));\n}\n.ds-prose li {\n  padding: 0 0 var(--space-1);\n}\n.ds-prose strong {\n  font-weight: var(--weight-bold);\n}\n.ds-prose code {\n  padding: 0 var(--space-1);\n  background: var(--color-surface-alt);\n  font-family: var(--font-mono);\n  font-size: var(--text-base);\n}\n.ds-prose__lead {\n  font-size: var(--text-large);\n}\n/* ---------- buttons ---------- */\n.ds-buttons {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: var(--space-3);\n}\n/* The primary button is the default button of a dialog: the same raised key\n   as every other, inside one more dark line. */\n.ds-button {\n  display: inline-block;\n  box-sizing: border-box;\n  min-width: var(--size-button);\n  margin: 0;\n  padding: var(--space-2) var(--space-5);\n  background: var(--fill-button);\n  color: var(--color-button-text);\n  border: var(--border-width) var(--border-style) var(--color-border-strong);\n  border-radius: var(--radius-control);\n  box-shadow: var(--shadow-control);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  font-weight: var(--weight-ui);\n  line-height: var(--line-heading);\n  text-align: center;\n  text-transform: var(--ui-transform);\n  text-decoration: none;\n  text-shadow: var(--shadow-text);\n  white-space: nowrap;\n  transition: var(--transition);\n  cursor: default;\n}\n.ds-button:hover,\n.ds-button.is-hover {\n  background: var(--fill-button-hover);\n  color: var(--color-button-hover-text);\n  box-shadow: var(--shadow-control-hover);\n}\n.ds-button:active,\n.ds-button.is-pressed {\n  box-shadow: var(--shadow-control-pressed);\n}\n.ds-button:focus-visible,\n.ds-button.is-focus {\n  outline: var(--focus-ring);\n  outline-offset: calc(var(--space-2) * -1);\n}\n.ds-button--secondary,\n.ds-button--secondary:hover,\n.ds-button--secondary.is-hover {\n  background: var(--fill-button-secondary);\n  background-clip: padding-box;\n  color: var(--color-button-secondary-text);\n  border-color: transparent;\n}\n.ds-button--large {\n  padding: var(--space-3) var(--space-6);\n  font-size: var(--text-large);\n}\n/* Destructive action: the same key, the label in the bold danger colour. */\n.ds-button--danger,\n.ds-button--danger:hover,\n.ds-button--danger.is-hover {\n  background: var(--fill-button);\n  background-clip: padding-box;\n  color: var(--color-danger);\n  border-color: transparent;\n  font-weight: var(--weight-bold);\n}\n.ds-button:disabled,\n.ds-button.is-disabled {\n  background: var(--color-disabled);\n  background-clip: padding-box;\n  color: var(--color-disabled-text);\n  border-color: transparent;\n}\n/* ---------- form ---------- */\n.ds-form {\n  display: grid;\n  grid-template-columns: var(--size-label) minmax(0, 1fr);\n  column-gap: var(--space-4);\n  row-gap: var(--space-3);\n  align-items: baseline;\n  margin: 0;\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n}\n.ds-form__label {\n  color: var(--color-text);\n}\n.ds-form__field {\n  min-width: 0;\n}\n.ds-form__input,\n.ds-form__select,\n.ds-form__textarea {\n  box-sizing: border-box;\n  max-width: 100%;\n  margin: 0;\n  padding: calc(var(--border-width-strong) + var(--space-1)) calc(var(--border-width-strong) + var(--space-2));\n  background: var(--fill-input);\n  color: var(--color-input-text);\n  border: 0;\n  border-radius: var(--radius-control);\n  box-shadow: var(--shadow-control-pressed);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  font-weight: var(--weight-body);\n  line-height: var(--line-heading);\n  transition: var(--transition);\n}\n.ds-form__input {\n  width: var(--size-field);\n}\n.ds-form__input--short {\n  width: calc(var(--size-field) / 3);\n}\n.ds-form__input--wide {\n  width: 100%;\n}\n.ds-form__textarea {\n  display: block;\n  width: 100%;\n  resize: none;\n}\n.ds-form__input:focus-visible,\n.ds-form__select:focus-visible,\n.ds-form__textarea:focus-visible,\n.ds-form__input.is-focus {\n  outline: var(--focus-ring);\n  outline-offset: calc(var(--border-width-strong) * -1 - var(--space-0));\n}\n.ds-form__input:disabled,\n.ds-form__input.is-disabled {\n  background: var(--color-disabled);\n  color: var(--color-disabled-text);\n}\n.ds-form__option {\n  display: inline-flex;\n  align-items: center;\n  margin: 0 var(--space-5) 0 0;\n}\n.ds-form__check {\n  appearance: none;\n  box-sizing: border-box;\n  flex: none;\n  width: var(--size-check);\n  height: var(--size-check);\n  margin: 0 var(--space-3) 0 0;\n  padding: calc(var(--border-width-strong) + var(--space-0));\n  background: var(--fill-input);\n  border: 0;\n  border-radius: var(--radius-control);\n  box-shadow: var(--shadow-control-pressed);\n  outline: var(--border-width) var(--border-style) var(--color-input-border);\n  outline-offset: calc(var(--border-width) * -1);\n}\n/* The tick is a block of the field's text colour inside the field's fill. */\n.ds-form__check:checked::before,\n.ds-form__check.is-checked::before {\n  content: \"\";\n  display: block;\n  width: 100%;\n  height: 100%;\n  background: var(--color-input-text);\n}\n.ds-form__hint {\n  display: block;\n  padding: var(--space-1) 0 0;\n  color: var(--color-text-muted);\n  font-size: var(--text-small);\n}\n.ds-form__error {\n  display: block;\n  padding: var(--space-1) 0 0;\n  color: var(--color-danger);\n  font-weight: var(--weight-bold);\n}\n.ds-form__actions {\n  grid-column: 1 / -1;\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: flex-end;\n  gap: var(--space-3);\n  padding: var(--space-2) 0 0;\n}\n/* ---------- table: a list view in a sunken well, raised column heads ---------- */\n.ds-table {\n  box-sizing: border-box;\n  width: 100%;\n  padding: var(--border-width-strong);\n  border-collapse: separate;\n  border-spacing: 0;\n  background: var(--color-surface);\n  color: var(--color-text);\n  border-radius: var(--radius-panel);\n  box-shadow: var(--shadow-control-pressed);\n  font-family: var(--font-body);\n  font-size: var(--text-base);\n}\n.ds-table__head {\n  padding: calc(var(--border-width-strong) + var(--space-0)) var(--space-3);\n  background: var(--fill-bar-alt);\n  color: var(--color-bar-alt-text);\n  box-shadow: var(--shadow-control);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  font-weight: var(--weight-ui);\n  text-align: left;\n  white-space: nowrap;\n}\n.ds-table__head--num {\n  text-align: right;\n}\n.ds-table__cell {\n  padding: var(--space-1) var(--space-3);\n  border-bottom: var(--border-width) var(--border-style) var(--color-surface-alt);\n  text-align: left;\n  vertical-align: baseline;\n}\n.ds-table__cell--num {\n  text-align: right;\n  white-space: nowrap;\n}\n.ds-table__cell--group {\n  background: var(--color-surface-strong);\n  font-weight: var(--weight-bold);\n}\n.ds-table__row--alt .ds-table__cell {\n  background: var(--color-surface-alt);\n}\n/* The selected row of a list view. */\n.ds-table__row.is-selected .ds-table__cell {\n  background: var(--fill-accent);\n  color: var(--color-accent-text);\n}\n.ds-table__row.is-selected .ds-link,\n.ds-table__row.is-selected .ds-icon {\n  color: inherit;\n}\n.ds-table__caption {\n  caption-side: bottom;\n  padding: var(--space-2) 0 0;\n  color: var(--color-text);\n  font-size: var(--text-small);\n  text-align: left;\n}\n/* ---------- stats: sunken read-outs ---------- */\n.ds-stat {\n  display: flex;\n  gap: var(--space-2);\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n.ds-stat__item {\n  flex: 1;\n  min-width: 0;\n  padding: calc(var(--border-width-strong) + var(--space-1)) calc(var(--border-width-strong) + var(--space-3));\n  background: var(--color-surface);\n  box-shadow: var(--shadow-control-pressed);\n}\n.ds-stat__value {\n  display: block;\n  color: var(--color-heading-alt);\n  font-family: var(--font-heading);\n  font-size: var(--text-h1);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n}\n.ds-stat__label {\n  display: block;\n  color: var(--color-text-muted);\n  font-size: var(--text-small);\n}\n/* ---------- tabs: a property sheet ---------- */\n.ds-tabs {\n  display: flex;\n  align-items: flex-end;\n  margin: 0;\n  padding: 0 var(--space-1);\n  list-style: none;\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  text-transform: var(--ui-transform);\n}\n.ds-tabs__item {\n  display: flex;\n  align-items: flex-end;\n}\n/* A tab is a raised key whose lower edge slides under the sheet. */\n.ds-tabs__tab {\n  display: block;\n  margin: 0 0 calc(var(--border-width-strong) * -1);\n  padding: var(--space-2) var(--space-4) calc(var(--space-2) + var(--border-width-strong));\n  background: var(--fill-panel);\n  color: var(--color-text);\n  box-shadow: var(--shadow-control);\n  line-height: var(--line-heading);\n  text-decoration: none;\n  white-space: nowrap;\n}\n.ds-tabs__tab:hover,\n.ds-tabs__tab.is-hover {\n  color: var(--color-link-hover);\n}\n/* The current tab is taller, stands in front of the sheet and loses its own\n   lower edge, so it reads as one piece with the sheet. */\n.ds-tabs__tab.is-current {\n  position: relative;\n  z-index: 1;\n  margin: 0 0 calc(var(--border-width-strong) * -2);\n  padding: var(--space-3) var(--space-4) calc(var(--space-2) + var(--border-width-strong) * 2);\n  color: var(--color-text);\n  font-weight: var(--weight-bold);\n  clip-path: inset(0 0 var(--border-width-strong) 0);\n}\n.ds-sheet {\n  box-sizing: border-box;\n  min-width: 0;\n  padding: calc(var(--border-width-strong) + var(--space-5));\n  background: var(--fill-panel);\n  color: var(--color-text);\n  box-shadow: var(--shadow-control);\n}\n/* ---------- badge ---------- */\n.ds-badge {\n  display: inline-block;\n  padding: 0 var(--space-2);\n  background: var(--fill-accent);\n  color: var(--color-accent-text);\n  border: var(--border-width) var(--border-style) var(--color-border-strong);\n  border-radius: var(--radius-pill);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  font-weight: var(--weight-bold);\n  line-height: var(--line-heading);\n  white-space: nowrap;\n}\n.ds-badge--count {\n  padding: 0;\n  background: transparent;\n  color: var(--color-text-muted);\n  border-color: transparent;\n  font-weight: var(--weight-body);\n}\n/* Status labels: the status colour as text and frame on the well colour. */\n.ds-badge--success,\n.ds-badge--warning,\n.ds-badge--danger {\n  background: var(--color-surface);\n  border-color: currentColor;\n}\n.ds-badge--success {\n  color: var(--color-success);\n}\n.ds-badge--warning {\n  color: var(--color-warning);\n}\n.ds-badge--danger {\n  color: var(--color-danger);\n}\n.ds-badges {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: var(--space-2);\n}\n/* ---------- notice: the pale tip box with a dark line round it ---------- */\n.ds-notices {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-3);\n}\n.ds-notice {\n  margin: 0;\n  padding: var(--space-2) var(--space-4);\n  background: var(--color-notice);\n  color: var(--color-notice-text);\n  border: var(--border-width) var(--border-style) var(--color-border-strong);\n  border-radius: var(--radius-panel);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n}\n.ds-notice--error {\n  background: var(--color-danger-surface);\n  color: var(--color-danger);\n  border-color: var(--color-danger);\n}\n.ds-notice__label {\n  font-weight: var(--weight-bold);\n}\n/* ---------- pagination: a row of small keys ---------- */\n.ds-pagination {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: var(--space-1);\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n}\n.ds-pagination__label {\n  padding: 0 var(--space-3) 0 0;\n}\n.ds-pagination__link {\n  display: block;\n  padding: calc(var(--border-width-strong) + var(--space-0)) calc(var(--border-width-strong) + var(--space-3));\n  background: var(--fill-button);\n  color: var(--color-button-text);\n  box-shadow: var(--shadow-control);\n  line-height: var(--line-heading);\n  text-decoration: none;\n  cursor: default;\n}\n.ds-pagination__link:hover,\n.ds-pagination__link.is-hover {\n  color: var(--color-button-hover-text);\n}\n.ds-pagination__link.is-current {\n  box-shadow: var(--shadow-control-pressed);\n  font-weight: var(--weight-bold);\n}\n.ds-pagination__link.is-disabled {\n  color: var(--color-disabled-text);\n}\n/* ---------- dialog: a small window with an icon, a message and keys ---------- */\n.ds-dialog {\n  position: static;\n  box-sizing: border-box;\n  width: var(--size-dialog);\n  max-width: 100%;\n  margin: var(--space-5) auto var(--space-2);\n  padding: calc(var(--border-width-strong) + var(--space-1));\n  background: var(--fill-panel);\n  color: var(--color-text);\n  border-radius: var(--radius-panel);\n  box-shadow: var(--shadow-dialog);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n}\n.ds-dialog__title {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: var(--space-2);\n  margin: 0;\n  padding: var(--space-1) var(--space-1) var(--space-1) var(--space-2);\n  background: var(--fill-bar);\n  color: var(--color-bar-text);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  font-weight: var(--weight-bold);\n  line-height: var(--line-heading);\n  text-shadow: var(--shadow-text);\n}\n.ds-dialog__content {\n  display: flex;\n  align-items: flex-start;\n  gap: var(--space-5);\n  padding: var(--space-5);\n}\n.ds-dialog__body {\n  flex: 1;\n  min-width: 0;\n  margin: 0;\n}\n.ds-dialog__actions {\n  display: flex;\n  justify-content: center;\n  gap: var(--space-3);\n  padding: 0 var(--space-5) var(--space-5);\n}\n/* ---------- empty state: a message in an empty well ---------- */\n.ds-empty {\n  padding: var(--space-6) var(--space-5);\n  background: var(--color-surface);\n  color: var(--color-text);\n  box-shadow: var(--shadow-control-pressed);\n  text-align: center;\n  font-size: var(--text-base);\n}\n.ds-empty__title {\n  margin: 0 0 var(--space-2);\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-h2);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n}\n.ds-empty__text {\n  margin: 0 0 var(--space-4);\n  color: var(--color-text-muted);\n}\n\n/* ---------- nav: title bar and menu bar of the window ---------- */\n.ds-nav {\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n}\n.ds-brand {\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-2);\n  color: inherit;\n  text-decoration: none;\n}\n/* The mark is the window's icon: a small key dressed like the default button. */\n.ds-brand__mark {\n  display: flex;\n  flex: none;\n  box-sizing: border-box;\n  width: calc(var(--size-ctl) + var(--space-2));\n  height: calc(var(--size-ctl) + var(--space-2));\n  padding: var(--border-width-strong);\n  background: var(--fill-button);\n  color: var(--color-button-text);\n  border: var(--border-width) var(--border-style) var(--color-border-strong);\n  border-radius: var(--radius-control);\n  box-shadow: var(--shadow-control);\n}\n.ds-brand__mark svg {\n  display: block;\n  width: 100%;\n  height: 100%;\n}\n.ds-brand__name {\n  font-family: var(--font-heading);\n  font-size: var(--text-ui);\n  font-weight: var(--weight-heading);\n  letter-spacing: var(--heading-tracking);\n  text-transform: var(--heading-transform);\n}\n.ds-nav__links {\n  display: flex;\n  margin: 0;\n  padding: var(--space-1) 0;\n  list-style: none;\n  background: var(--fill-bar-alt);\n  color: var(--color-bar-alt-text);\n}\n.ds-nav__link {\n  display: block;\n  padding: var(--space-1) var(--space-3);\n  color: var(--color-bar-alt-text);\n  line-height: var(--line-heading);\n  text-decoration: none;\n  text-transform: var(--ui-transform);\n}\n/* The access key of a menu: one underlined letter. */\n.ds-nav__key {\n  text-decoration: underline;\n}\n.ds-nav__link:hover,\n.ds-nav__link.is-hover,\n.ds-nav__link.is-current,\n.ds-page:not(:has(.ds-view:target)) .ds-nav__link[href=\"#home\"],\n.ds-page:has(#home:target) .ds-nav__link[href=\"#home\"],\n.ds-page:has(#compose:target) .ds-nav__link[href=\"#compose\"],\n.ds-page:has(#addresses:target) .ds-nav__link[href=\"#addresses\"],\n.ds-page:has(#options:target) .ds-nav__link[href=\"#options\"] {\n  background: var(--fill-accent);\n  color: var(--color-accent-text);\n}\n\n/* ---------- toolbar: flat picture keys behind a grip; each view has its own ---------- */\n.ds-toolbar {\n  display: flex;\n  align-items: stretch;\n  gap: var(--space-1);\n  padding: var(--space-1);\n  background: var(--fill-bar-alt);\n  color: var(--color-bar-alt-text);\n  border-top: var(--border-width) var(--border-style) var(--color-border);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n}\n/* The grip at the left end of a bar: a thin raised strip. */\n.ds-toolbar__grip {\n  flex: none;\n  width: calc(var(--border-width-strong) + var(--space-0));\n  margin: 0 var(--space-1) 0 0;\n  box-shadow: var(--shadow-control);\n}\n/* A key is flat until the pointer is over it; the picture stands over the word. */\n.ds-toolbar__button {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: var(--space-1);\n  box-sizing: border-box;\n  min-width: var(--size-tool);\n  padding: calc(var(--border-width-strong) + var(--space-1)) var(--space-2);\n  color: var(--color-bar-alt-text);\n  border-radius: var(--radius-control);\n  font-weight: var(--weight-ui);\n  line-height: var(--line-heading);\n  text-decoration: none;\n  text-transform: var(--ui-transform);\n  white-space: nowrap;\n  cursor: default;\n}\n.ds-toolbar__button:hover,\n.ds-toolbar__button.is-hover {\n  background: var(--fill-button);\n  color: var(--color-button-text);\n  box-shadow: var(--shadow-control);\n}\n.ds-toolbar__button:active,\n.ds-toolbar__button.is-pressed {\n  background: var(--fill-button);\n  color: var(--color-button-text);\n  box-shadow: var(--shadow-control-pressed);\n}\n.ds-toolbar__button.is-disabled {\n  color: var(--color-disabled-text);\n}\n.ds-toolbar__button .ds-icon {\n  width: var(--size-icon-tool);\n  height: var(--size-icon-tool);\n  color: inherit;\n}\n.ds-toolbar__sep {\n  align-self: stretch;\n  width: 0;\n  margin: 0 var(--space-2);\n  border-left: var(--border-width) var(--border-style) var(--color-border);\n  border-right: var(--border-width) var(--border-style) var(--color-border-muted);\n}\n.ds-toolbar__fill {\n  flex: 1;\n}\n\n/* ---------- hero: the banner of the open folder, a sunken band in the inverse colours ---------- */\n.ds-hero {\n  display: flex;\n  align-items: center;\n  gap: var(--space-4);\n  padding: calc(var(--border-width-strong) + var(--space-2)) calc(var(--border-width-strong) + var(--space-4));\n  background: var(--fill-inverse);\n  color: var(--color-inverse-text);\n  border-radius: var(--radius-page);\n  box-shadow: var(--shadow-control-pressed);\n}\n.ds-hero .ds-icon {\n  color: inherit;\n}\n.ds-hero__text {\n  display: flex;\n  flex: 1;\n  flex-wrap: wrap;\n  align-items: baseline;\n  gap: 0 var(--space-5);\n  min-width: 0;\n}\n.ds-hero__title {\n  margin: 0;\n  color: inherit;\n  font-family: var(--font-heading);\n  font-size: var(--text-display);\n  font-weight: var(--weight-display);\n  line-height: var(--line-display);\n  letter-spacing: var(--display-tracking);\n  text-transform: var(--heading-transform);\n}\n.ds-hero__lead {\n  margin: 0;\n  font-size: var(--text-large);\n}\n.ds-hero__action {\n  display: flex;\n  flex: none;\n  gap: var(--space-3);\n}\n\n/* ---------- breadcrumb: the path, written on a thin band in the inverse colours ---------- */\n.ds-breadcrumb {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  box-sizing: border-box;\n  margin: 0;\n  padding: calc(var(--border-width-strong) + var(--space-1)) calc(var(--border-width-strong) + var(--space-4));\n  list-style: none;\n  background: var(--fill-inverse);\n  color: var(--color-inverse-text);\n  box-shadow: var(--shadow-control-pressed);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  line-height: var(--line-heading);\n}\n.ds-breadcrumb .ds-link,\n.ds-breadcrumb .ds-link:visited {\n  color: inherit;\n}\n.ds-breadcrumb__item + .ds-breadcrumb__item::before {\n  content: \"\\003E\";\n  padding: 0 var(--space-3);\n}\n.ds-breadcrumb__item.is-current {\n  font-weight: var(--weight-bold);\n}\n\n/* ---------- page header: icon, name and one line, the action at the right ---------- */\n.ds-page-header {\n  display: flex;\n  align-items: center;\n  gap: var(--space-5);\n  padding: var(--space-1) var(--space-1) var(--space-3);\n  border-bottom: var(--border-width) var(--border-style) var(--color-border);\n}\n.ds-page-header__text {\n  flex: 1;\n  min-width: 0;\n}\n.ds-page-header__title {\n  margin: 0;\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-h1);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  letter-spacing: var(--heading-tracking);\n  text-transform: var(--heading-transform);\n}\n.ds-page-header__lead {\n  margin: 0;\n}\n.ds-page-header__action {\n  display: flex;\n  flex: none;\n  gap: var(--space-3);\n}\n\n/* ---------- panes: a raised caption strip over a well ---------- */\n.ds-pane,\n.ds-sidebar {\n  display: flex;\n  flex-direction: column;\n  min-width: 0;\n}\n.ds-sidebar__title,\n.ds-pane__title {\n  margin: 0;\n  padding: calc(var(--border-width-strong) + var(--space-0)) var(--space-3);\n  background: var(--fill-bar-alt);\n  color: var(--color-bar-alt-text);\n  box-shadow: var(--shadow-control);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  font-weight: var(--weight-ui);\n  line-height: var(--line-heading);\n  white-space: nowrap;\n  overflow: hidden;\n}\n.ds-sidebar__body {\n  flex: 1;\n  padding: calc(var(--border-width-strong) + var(--space-2));\n  background: var(--color-surface);\n  box-shadow: var(--shadow-control-pressed);\n}\n/* An unread folder or message is bold. */\n.ds-tree__link--unread {\n  font-weight: var(--weight-bold);\n}\n\n/* ---------- grid: the rail of shortcuts, large icons on a sunken band ---------- */\n.ds-grid {\n  display: flex;\n  flex: 1;\n  flex-direction: column;\n  gap: var(--space-5);\n  margin: 0;\n  padding: calc(var(--border-width-strong) + var(--space-4)) var(--space-1);\n  background: var(--fill-inverse);\n  color: var(--color-inverse-text);\n  box-shadow: var(--shadow-control-pressed);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  line-height: var(--line-heading);\n}\n.ds-grid__cell {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: var(--space-1);\n  min-width: 0;\n  color: inherit;\n  text-align: center;\n  text-decoration: none;\n}\n/* The icon stands on a small tile of one of the four block colours. */\n.ds-grid__icon {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  box-sizing: border-box;\n  width: calc(var(--size-icon) + var(--space-4));\n  height: calc(var(--size-icon) + var(--space-4));\n  background: var(--color-fill-1);\n  color: var(--color-text);\n  border: var(--border-width) var(--border-style) var(--color-border-strong);\n  border-radius: var(--radius-page);\n}\n.ds-grid__cell--2 .ds-grid__icon {\n  background: var(--color-fill-2);\n}\n.ds-grid__cell--3 .ds-grid__icon {\n  background: var(--color-fill-3);\n}\n.ds-grid__cell--4 .ds-grid__icon {\n  background: var(--color-fill-4);\n}\n.ds-grid__title {\n  padding: 0 var(--space-1);\n  text-decoration: var(--link-decoration-quiet);\n}\n.ds-grid__cell.is-current .ds-grid__title {\n  background: var(--fill-accent);\n  color: var(--color-accent-text);\n}\n.ds-grid__text {\n  font-size: var(--text-small);\n}\n\n/* ---------- message list: unread rows are bold ---------- */\n.ds-table__row--unread .ds-table__cell {\n  font-weight: var(--weight-bold);\n}\n.ds-table__cell--fit {\n  white-space: nowrap;\n}\n\n/* ---------- panel: the open message, a raised head over a well ---------- */\n.ds-panel {\n  display: flex;\n  flex: 1;\n  flex-direction: column;\n  min-width: 0;\n  margin: 0;\n}\n.ds-panel__head {\n  display: flex;\n  align-items: flex-start;\n  gap: var(--space-4);\n  padding: calc(var(--border-width-strong) + var(--space-2)) calc(var(--border-width-strong) + var(--space-3));\n  background: var(--fill-panel);\n  color: var(--color-text);\n  box-shadow: var(--shadow-control);\n}\n.ds-panel__text {\n  flex: 1;\n  min-width: 0;\n}\n.ds-panel__title {\n  margin: 0;\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-h2);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n}\n.ds-panel__meta {\n  margin: 0;\n  color: var(--color-text-muted);\n}\n.ds-panel__body {\n  flex: 1;\n  padding: calc(var(--border-width-strong) + var(--space-4)) calc(var(--border-width-strong) + var(--space-5));\n  background: var(--color-surface);\n  color: var(--color-text);\n  box-shadow: var(--shadow-control-pressed);\n}\n\n/* ---------- list: rows with a small icon, a line of text and a count ---------- */\n.ds-list {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n.ds-list__item {\n  display: flex;\n  align-items: baseline;\n  gap: var(--space-3);\n  padding: var(--space-1) 0;\n}\n.ds-list__item .ds-icon {\n  align-self: flex-start;\n}\n.ds-list__text {\n  flex: 1;\n  min-width: 0;\n  overflow-wrap: anywhere;\n}\n.ds-list__meta {\n  flex: none;\n  color: var(--color-text-muted);\n  font-size: var(--text-small);\n  white-space: nowrap;\n}\n\n/* ---------- search row ---------- */\n.ds-find {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: var(--space-3);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n}\n.ds-find__fill {\n  flex: 1;\n}\n\n/* ---------- footer: the status bar of the window ---------- */\n.ds-footer {\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n}\n\n/* ---------- inline code in a property row ---------- */\n.ds-code {\n  padding: 0 var(--space-1);\n  background: var(--color-surface-alt);\n  color: var(--color-text);\n  font-family: var(--font-mono);\n  font-size: var(--text-base);\n}\n",
    "specimen.html": "<!doctype html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>chronoskin Mail: desktop grey mail and news reader, specimen</title>\n<link rel=\"stylesheet\" href=\"tokens.css\">\n<link rel=\"stylesheet\" href=\"components.css\">\n</head>\n<body class=\"ds-page\" data-component=\"shell\">\n\n<div class=\"ds-page__window ds-window\">\n\n  <header class=\"ds-nav\" data-component=\"nav\">\n    <div class=\"ds-window__title\">\n      <a class=\"ds-brand\" data-component=\"brand\" href=\"#home\">\n        <span class=\"ds-brand__mark\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"square\" aria-hidden=\"true\"><path d=\"M12 3a9 9 0 1 1-9 9\"/><path d=\"M12 17a5 5 0 1 1 5-5\"/><circle cx=\"12\" cy=\"12\" r=\"1.4\" fill=\"currentColor\" stroke=\"none\"/></svg></span>\n        <span class=\"ds-brand__name\">chronoskin</span>\n      </a>\n      <span class=\"ds-window__caption\">Mail and News</span>\n      <span class=\"ds-window__controls\" aria-hidden=\"true\">\n        <span class=\"ds-window__ctl ds-window__ctl--min\"></span>\n        <span class=\"ds-window__ctl ds-window__ctl--max\"></span>\n        <span class=\"ds-window__ctl ds-window__ctl--close\"></span>\n      </span>\n    </div>\n    <ul class=\"ds-nav__links\">\n      <li><a class=\"ds-nav__link\" href=\"#home\"><span class=\"ds-nav__key\">I</span>nbox</a></li>\n      <li><a class=\"ds-nav__link\" href=\"#compose\"><span class=\"ds-nav__key\">C</span>ompose</a></li>\n      <li><a class=\"ds-nav__link\" href=\"#addresses\"><span class=\"ds-nav__key\">A</span>ddresses</a></li>\n      <li><a class=\"ds-nav__link\" href=\"#options\"><span class=\"ds-nav__key\">O</span>ptions</a></li>\n      <li><a class=\"ds-nav__link\" href=\"#\"><span class=\"ds-nav__key\">V</span>iew</a></li>\n      <li><a class=\"ds-nav__link\" href=\"#\"><span class=\"ds-nav__key\">H</span>elp</a></li>\n    </ul>\n  </header>\n\n  <section class=\"ds-view ds-view--home\" id=\"home\">\n    <div class=\"ds-toolbar\">\n      <span class=\"ds-toolbar__grip\"></span>\n      <a class=\"ds-toolbar__button\" href=\"#compose\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M2 14l1-4 7-7 3 3-7 7z M11 2l1-1 3 3-1 1z\"/></svg></span>New Mail</a>\n      <span class=\"ds-toolbar__sep\"></span>\n      <a class=\"ds-toolbar__button\" href=\"#compose\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M7 3L2 8l5 5v-3h3c2 0 3 1 4 3 0-5-2-7-4-7H7z\"/></svg></span>Reply</a>\n      <a class=\"ds-toolbar__button\" href=\"#compose\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5.5 3a2.5 2.5 0 1 0 0 5a2.5 2.5 0 0 0 0-5z M11 4a2 2 0 1 0 0 4a2 2 0 0 0 0-4z M1 14c0-3 2-5 4.5-5S10 11 10 14z M11 9c2.2 0 4 1.8 4 5h-4c0-2-.6-3.6-1.6-4.6.5-.3 1-.4 1.6-.4z\"/></svg></span>Reply All</a>\n      <a class=\"ds-toolbar__button\" href=\"#compose\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M9 3l5 5-5 5v-3H6c-2 0-3 1-4 3 0-5 2-7 4-7h3z\"/></svg></span>Forward</a>\n      <span class=\"ds-toolbar__sep\"></span>\n      <a class=\"ds-toolbar__button is-hover\" href=\"#home\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M4 2l4 4H5v4H3V6H0z M12 14l-4-4h3V6h2v4h3z\"/></svg></span>Send/Recv</a>\n      <a class=\"ds-toolbar__button\" href=\"#home\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M4 1h8v4H4z M1 6h14v6h-3v3H4v-3H1z M5 10v4h6v-4z M12 7h1v1h-1z\"/></svg></span>Print</a>\n      <a class=\"ds-toolbar__button\" href=\"#addresses\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M6 2h4v1h3v2H3V3h3z M4 6h8v8H4z M6 7v6h1V7z M9 7v6h1V7z\"/></svg></span>Delete</a>\n      <span class=\"ds-toolbar__sep\"></span>\n      <a class=\"ds-toolbar__button\" href=\"#addresses\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M2 2h5l1 1 1-1h5v11H9l-1 1-1-1H2z M3 3v9h4V3z M9 3v9h4V3z\"/></svg></span>Addresses</a>\n      <a class=\"ds-toolbar__button is-disabled\" href=\"#\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5 1h6l4 4v6l-4 4H5l-4-4V5z M4.3 5.7L6.6 8 4.3 10.3l1.4 1.4L8 9.4l2.3 2.3 1.4-1.4L9.4 8l2.3-2.3-1.4-1.4L8 6.6 5.7 4.3z\"/></svg></span>Stop</a>\n    </div>\n    <div class=\"ds-page__body\">\n\n      <section class=\"ds-hero\" data-component=\"hero\">\n        <span class=\"ds-icon ds-icon--large ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M2 3h12l1 6v5H1V9z M3 4l-.8 5H5l1 2h4l1-2h2.8L13 4z\"/></svg></span>\n        <div class=\"ds-hero__text\">\n          <h1 class=\"ds-hero__title\">Inbox</h1>\n          <p class=\"ds-hero__lead\">3 unread messages of 42. Last checked today at 9:20.</p>\n        </div>\n        <div class=\"ds-hero__action\">\n          <a class=\"ds-button\" href=\"#compose\">New Message</a>\n        </div>\n      </section>\n\n      <div class=\"ds-page__columns\">\n\n        <section class=\"ds-pane\">\n          <h2 class=\"ds-pane__title\">Go to</h2>\n          <div class=\"ds-grid\" data-component=\"grid\">\n            <a class=\"ds-grid__cell is-current\" href=\"#home\"><span class=\"ds-grid__icon\"><span class=\"ds-icon ds-icon--large ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M2 3h12l1 6v5H1V9z M3 4l-.8 5H5l1 2h4l1-2h2.8L13 4z\"/></svg></span></span><span class=\"ds-grid__title\">Inbox</span><span class=\"ds-grid__text\">3 unread</span></a>\n            <a class=\"ds-grid__cell ds-grid__cell--2\" href=\"#compose\"><span class=\"ds-grid__icon\"><span class=\"ds-icon ds-icon--large ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M2 14l1-4 7-7 3 3-7 7z M11 2l1-1 3 3-1 1z\"/></svg></span></span><span class=\"ds-grid__title\">Compose</span><span class=\"ds-grid__text\">2 drafts</span></a>\n            <a class=\"ds-grid__cell ds-grid__cell--3\" href=\"#addresses\"><span class=\"ds-grid__icon\"><span class=\"ds-icon ds-icon--large ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5.5 3a2.5 2.5 0 1 0 0 5a2.5 2.5 0 0 0 0-5z M11 4a2 2 0 1 0 0 4a2 2 0 0 0 0-4z M1 14c0-3 2-5 4.5-5S10 11 10 14z M11 9c2.2 0 4 1.8 4 5h-4c0-2-.6-3.6-1.6-4.6.5-.3 1-.4 1.6-.4z\"/></svg></span></span><span class=\"ds-grid__title\">Addresses</span><span class=\"ds-grid__text\">214 people</span></a>\n            <a class=\"ds-grid__cell ds-grid__cell--4\" href=\"#home\"><span class=\"ds-grid__icon\"><span class=\"ds-icon ds-icon--large ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 2h12v2h2v10H1z M2 3v10h10V3z M3 4h8v2H3z M3 7h3v4H3z M7 7h4v1H7z M7 9h4v1H7z\"/></svg></span></span><span class=\"ds-grid__title\">News</span><span class=\"ds-grid__text\">5 groups</span></a>\n            <a class=\"ds-grid__cell\" href=\"#options\"><span class=\"ds-grid__icon\"><span class=\"ds-icon ds-icon--large ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M3 2h3v5h4V2h3v6l-3 2v5H6v-5L3 8z\"/></svg></span></span><span class=\"ds-grid__title\">Options</span><span class=\"ds-grid__text\">2 accounts</span></a>\n          </div>\n        </section>\n\n        <aside class=\"ds-sidebar\" data-component=\"sidebar\">\n          <h2 class=\"ds-sidebar__title\">Folders</h2>\n          <div class=\"ds-sidebar__body\">\n            <ul class=\"ds-tree\">\n              <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M2 2h12v9H2z M3 3v7h10V3z M5 12h6v1h2v1H3v-1h2z\"/></svg></span>chronoskin Mail</a>\n                <ul class=\"ds-tree__list\">\n                  <li class=\"ds-tree__item\"><a class=\"ds-tree__link ds-tree__link--unread is-current\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M2 3h12l1 6v5H1V9z M3 4l-.8 5H5l1 2h4l1-2h2.8L13 4z\"/></svg></span>Inbox (3)</a></li>\n                  <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#compose\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h14v10H1z M2.6 4L8 8.4 13.4 4z M2 5v7h12V5L8 9.8z\"/></svg></span>Outbox</a></li>\n                  <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h5l1 2h8v9H1z\"/></svg></span>Sent Items</a></li>\n                  <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#compose\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M2 14l1-4 7-7 3 3-7 7z M11 2l1-1 3 3-1 1z\"/></svg></span>Drafts (2)</a></li>\n                  <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M6 2h4v1h3v2H3V3h3z M4 6h8v8H4z M6 7v6h1V7z M9 7v6h1V7z\"/></svg></span>Deleted Items</a></li>\n                  <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h5l1 2h8v9H1z\"/></svg></span>Saved</a>\n                    <ul class=\"ds-tree__list\">\n                      <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h5l1 2h8v9H1z\"/></svg></span>Family</a></li>\n                      <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h5l1 2h8v9H1z\"/></svg></span>Orders</a></li>\n                      <li class=\"ds-tree__item\"><a class=\"ds-tree__link ds-tree__link--unread\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h5l1 2h8v9H1z\"/></svg></span>Rowing Club (1)</a></li>\n                    </ul>\n                  </li>\n                </ul>\n              </li>\n              <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 2h12v2h2v10H1z M2 3v10h10V3z M3 4h8v2H3z M3 7h3v4H3z M7 7h4v1H7z M7 9h4v1H7z\"/></svg></span>News Server</a>\n                <ul class=\"ds-tree__list\">\n                  <li class=\"ds-tree__item\"><a class=\"ds-tree__link ds-tree__link--unread\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M3 1h7l3 3v11H3z M4 2v12h8V5H9V2z M5 7h6v1H5z M5 9h6v1H5z M5 11h4v1H5z\"/></svg></span>local.gardens (18)</a></li>\n                  <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M3 1h7l3 3v11H3z M4 2v12h8V5H9V2z M5 7h6v1H5z M5 9h6v1H5z M5 11h4v1H5z\"/></svg></span>local.rowing</a></li>\n                  <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M3 1h7l3 3v11H3z M4 2v12h8V5H9V2z M5 7h6v1H5z M5 9h6v1H5z M5 11h4v1H5z\"/></svg></span>local.typefaces</a></li>\n                  <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#home\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M3 1h7l3 3v11H3z M4 2v12h8V5H9V2z M5 7h6v1H5z M5 9h6v1H5z M5 11h4v1H5z\"/></svg></span>local.forsale</a></li>\n                </ul>\n              </li>\n              <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#addresses\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M2 2h5l1 1 1-1h5v11H9l-1 1-1-1H2z M3 3v9h4V3z M9 3v9h4V3z\"/></svg></span>Address Book</a></li>\n            </ul>\n          </div>\n        </aside>\n\n        <div class=\"ds-page__main\">\n\n          <table class=\"ds-table\" data-component=\"table\">\n            <thead>\n              <tr>\n                <th class=\"ds-table__head\" scope=\"col\">From</th>\n                <th class=\"ds-table__head\" scope=\"col\">Subject</th>\n                <th class=\"ds-table__head\" scope=\"col\">Received</th>\n                <th class=\"ds-table__head ds-table__head--num\" scope=\"col\">Size</th>\n              </tr>\n            </thead>\n            <tbody>\n              <tr class=\"ds-table__row ds-table__row--unread\">\n                <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h14v10H1z M2.6 4L8 8.4 13.4 4z M2 5v7h12V5L8 9.8z\"/></svg></span> Ines Halloran</td>\n                <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#home\">Minutes of Tuesday, and a question</a></td>\n                <td class=\"ds-table__cell ds-table__cell--fit\">Today 9:12</td>\n                <td class=\"ds-table__cell ds-table__cell--num\">4 KB</td>\n              </tr>\n              <tr class=\"ds-table__row is-selected\">\n                <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h14v10H1z M2.6 4L8 8.4 13.4 4z M2 5v7h12V5L8 9.8z\"/></svg></span> chronoskin Mail</td>\n                <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#home\">Welcome, and five things to try</a></td>\n                <td class=\"ds-table__cell ds-table__cell--fit\">Today 8:47</td>\n                <td class=\"ds-table__cell ds-table__cell--num\">6 KB</td>\n              </tr>\n              <tr class=\"ds-table__row ds-table__row--unread\">\n                <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M4 3h7v10H6V6h3v5H8V7H7v5h3V4H5v10H4z\"/></svg></span> Tobias Wren</td>\n                <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#home\">Boathouse plans (2 drawings attached)</a></td>\n                <td class=\"ds-table__cell ds-table__cell--fit\">Today 7:30</td>\n                <td class=\"ds-table__cell ds-table__cell--num\">212 KB</td>\n              </tr>\n              <tr class=\"ds-table__row ds-table__row--unread\">\n                <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h14v10H1z M2.6 4L8 8.4 13.4 4z M2 5v7h12V5L8 9.8z\"/></svg></span> Seed Exchange</td>\n                <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#home\">Your order 4471 has been posted</a></td>\n                <td class=\"ds-table__cell ds-table__cell--fit\">Fri 13 Mar</td>\n                <td class=\"ds-table__cell ds-table__cell--num\">3 KB</td>\n              </tr>\n              <tr class=\"ds-table__row\">\n                <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h14v10H1z M2.6 4L8 8.4 13.4 4z M2 5v7h12V5L8 9.8z\"/></svg></span> Marguerite Oyelaran</td>\n                <td class=\"ds-table__cell\"><a class=\"ds-link is-visited\" href=\"#home\">Re: Lift to the regatta?</a></td>\n                <td class=\"ds-table__cell ds-table__cell--fit\">Fri 13 Mar</td>\n                <td class=\"ds-table__cell ds-table__cell--num\">2 KB</td>\n              </tr>\n              <tr class=\"ds-table__row\">\n                <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h14v10H1z M2.6 4L8 8.4 13.4 4z M2 5v7h12V5L8 9.8z\"/></svg></span> Ines Halloran</td>\n                <td class=\"ds-table__cell\"><a class=\"ds-link is-visited\" href=\"#home\">Agenda for Tuesday</a></td>\n                <td class=\"ds-table__cell ds-table__cell--fit\">Thu 12 Mar</td>\n                <td class=\"ds-table__cell ds-table__cell--num\">3 KB</td>\n              </tr>\n              <tr class=\"ds-table__row\">\n                <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M4 3h7v10H6V6h3v5H8V7H7v5h3V4H5v10H4z\"/></svg></span> Dov Pettersen</td>\n                <td class=\"ds-table__cell\"><a class=\"ds-link is-visited\" href=\"#home\">Photographs from the open day</a></td>\n                <td class=\"ds-table__cell ds-table__cell--fit\">Wed 11 Mar</td>\n                <td class=\"ds-table__cell ds-table__cell--num\">688 KB</td>\n              </tr>\n            </tbody>\n          </table>\n\n          <section class=\"ds-panel\" data-component=\"panel\">\n            <header class=\"ds-panel__head\">\n              <span class=\"ds-icon ds-icon--large\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h14v10H1z M2.6 4L8 8.4 13.4 4z M2 5v7h12V5L8 9.8z\"/></svg></span>\n              <div class=\"ds-panel__text\">\n                <h2 class=\"ds-panel__title\">Welcome, and five things to try</h2>\n                <p class=\"ds-panel__meta\">From: chronoskin Mail. To: you. Sent: Saturday 14 March 1998, 8:47.</p>\n              </div>\n              <a class=\"ds-button ds-button--secondary\" href=\"#compose\">Reply</a>\n            </header>\n            <article class=\"ds-panel__body ds-prose\" data-component=\"typography\">\n              <h1>Welcome to chronoskin Mail</h1>\n              <p class=\"ds-prose__lead\">Your mailbox is ready. This first message shows what a formatted letter looks like.</p>\n              <p>Mail arrives in the <strong>Inbox</strong>. Unread messages are shown in bold, here and in the folder list, until you open them.</p>\n              <h2>Five things to try</h2>\n              <ul>\n                <li>Press <code>Ctrl+N</code> to start a new message.</li>\n                <li>Drag a message onto a folder to file it.</li>\n                <li>Add this sender to your address book with one click.</li>\n              </ul>\n              <h3>Where to read more</h3>\n              <p class=\"ds-links\" data-component=\"links\">\n                <a class=\"ds-link\" href=\"#options\">Set up a second account</a>,\n                <a class=\"ds-link is-visited\" href=\"#addresses\">a page you have read</a>,\n                <a class=\"ds-link is-hover\" href=\"#home\">a link under the pointer</a>,\n                <a class=\"ds-link is-active\" href=\"#home\">a link as you click it</a> and\n                <a class=\"ds-link ds-link--quiet\" href=\"#options\">the list of keyboard shortcuts</a>.\n              </p>\n            </article>\n          </section>\n\n        </div>\n      </div>\n\n      <ul class=\"ds-stat\" data-component=\"stats\">\n        <li class=\"ds-stat__item\"><span class=\"ds-stat__value\">3</span> <span class=\"ds-stat__label\">unread in the Inbox</span></li>\n        <li class=\"ds-stat__item\"><span class=\"ds-stat__value\">42</span> <span class=\"ds-stat__label\">messages in this folder</span></li>\n        <li class=\"ds-stat__item\"><span class=\"ds-stat__value\">18</span> <span class=\"ds-stat__label\">new postings in 5 groups</span></li>\n        <li class=\"ds-stat__item\"><span class=\"ds-stat__value\">3.1 MB</span> <span class=\"ds-stat__label\">of a 5 MB mailbox in use</span></li>\n      </ul>\n\n    </div>\n  </section>\n\n  <section class=\"ds-view\" id=\"compose\">\n    <div class=\"ds-toolbar\">\n      <span class=\"ds-toolbar__grip\"></span>\n      <a class=\"ds-toolbar__button\" href=\"#home\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h14v10H1z M2.6 4L8 8.4 13.4 4z M2 5v7h12V5L8 9.8z\"/></svg></span>Send</a>\n      <a class=\"ds-toolbar__button\" href=\"#compose\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M2 2h10l2 2v10H2z M4 3v4h7V3z M9 4h1v2H9z M4 9v4h8V9z M5 10h6v1H5z\"/></svg></span>Save</a>\n      <span class=\"ds-toolbar__sep\"></span>\n      <a class=\"ds-toolbar__button\" href=\"#compose\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M4 3h7v10H6V6h3v5H8V7H7v5h3V4H5v10H4z\"/></svg></span>Attach</a>\n      <a class=\"ds-toolbar__button\" href=\"#addresses\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5.5 3a2.5 2.5 0 1 0 0 5a2.5 2.5 0 0 0 0-5z M11 4a2 2 0 1 0 0 4a2 2 0 0 0 0-4z M1 14c0-3 2-5 4.5-5S10 11 10 14z M11 9c2.2 0 4 1.8 4 5h-4c0-2-.6-3.6-1.6-4.6.5-.3 1-.4 1.6-.4z\"/></svg></span>Check Names</a>\n      <a class=\"ds-toolbar__button is-pressed\" href=\"#compose\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M7 2h2l5 12h-2.2l-1.2-3H5.4l-1.2 3H2z M6.2 9h3.6L8 4.6z\"/></svg></span>Format</a>\n      <a class=\"ds-toolbar__button\" href=\"#compose\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M2 8l2-2 3 3 5-6 2 2-7 8z\"/></svg></span>Spelling</a>\n      <span class=\"ds-toolbar__sep\"></span>\n      <a class=\"ds-toolbar__button is-disabled\" href=\"#\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5 5a3 3 0 1 0 2.8 4H10v2h2V9h1v2h2V7H7.8A3 3 0 0 0 5 5z M5 7a1 1 0 1 1 0 2a1 1 0 0 1 0-2z\"/></svg></span>Sign</a>\n      <a class=\"ds-toolbar__button\" href=\"#home\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M8 3L3 8l5 5v-3h5V6H8z\"/></svg></span>Inbox</a>\n    </div>\n    <div class=\"ds-page__body\">\n      <ol class=\"ds-breadcrumb\" data-component=\"breadcrumb\">\n        <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#home\">chronoskin Mail</a></li>\n        <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#compose\">Drafts</a></li>\n        <li class=\"ds-breadcrumb__item is-current\">New Message</li>\n      </ol>\n      <div class=\"ds-page__inner\">\n\n        <header class=\"ds-page-header\" data-component=\"page-header\">\n          <span class=\"ds-icon ds-icon--large\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M2 14l1-4 7-7 3 3-7 7z M11 2l1-1 3 3-1 1z\"/></svg></span>\n          <div class=\"ds-page-header__text\">\n            <h1 class=\"ds-page-header__title\">New Message</h1>\n            <p class=\"ds-page-header__lead\">Sent from the account \"Home\" as soon as you are next on line.</p>\n          </div>\n          <div class=\"ds-page-header__action\">\n            <a class=\"ds-button\" href=\"#home\">Send</a>\n          </div>\n        </header>\n\n        <div class=\"ds-split ds-split--side\">\n          <div class=\"ds-stack\">\n            <div class=\"ds-notices\" data-component=\"notice\">\n              <p class=\"ds-notice\"><span class=\"ds-notice__label\">Tip:</span> separate several addresses with a semicolon, or pick them from the address book.</p>\n              <p class=\"ds-notice ds-notice--error\"><span class=\"ds-notice__label\">Not sent.</span> One address in the To line is not complete. Correct it and choose Send again.</p>\n            </div>\n            <form class=\"ds-form\" data-component=\"form\" action=\"#compose\">\n              <label class=\"ds-form__label\" for=\"c-to\">To:</label>\n              <div class=\"ds-form__field\">\n                <input class=\"ds-form__input ds-form__input--wide\" id=\"c-to\" type=\"text\" value=\"ines.halloran@rowing.example; tobias.wren@\">\n                <span class=\"ds-form__error\">\"tobias.wren@\" has no domain after the @ sign.</span>\n              </div>\n              <label class=\"ds-form__label\" for=\"c-cc\">Cc:</label>\n              <div class=\"ds-form__field\">\n                <input class=\"ds-form__input ds-form__input--wide\" id=\"c-cc\" type=\"text\" value=\"\">\n              </div>\n              <label class=\"ds-form__label\" for=\"c-subject\">Subject:</label>\n              <div class=\"ds-form__field\">\n                <input class=\"ds-form__input ds-form__input--wide\" id=\"c-subject\" type=\"text\" value=\"Re: Minutes of Tuesday, and a question\">\n              </div>\n              <label class=\"ds-form__label\" for=\"c-priority\">Priority:</label>\n              <div class=\"ds-form__field\">\n                <select class=\"ds-form__select\" id=\"c-priority\">\n                  <option>Normal</option>\n                  <option>High</option>\n                  <option>Low</option>\n                </select>\n                <span class=\"ds-form__hint\">High priority shows a red mark in the reader's list.</span>\n              </div>\n              <span class=\"ds-form__label\">Options:</span>\n              <div class=\"ds-form__field\">\n                <label class=\"ds-form__option\"><input class=\"ds-form__check\" type=\"checkbox\" checked>Keep a copy in Sent Items</label>\n                <label class=\"ds-form__option\"><input class=\"ds-form__check\" type=\"checkbox\">Ask for a receipt</label>\n              </div>\n              <label class=\"ds-form__label\" for=\"c-body\">Message:</label>\n              <div class=\"ds-form__field\">\n                <textarea class=\"ds-form__textarea\" id=\"c-body\" rows=\"9\">Ines,\n\nThank you for the minutes. The answer to your question is yes: the boathouse is free on the 28th, and Tobias has the drawings.\n\nUntil Tuesday,</textarea>\n              </div>\n            </form>\n          </div>\n          <div class=\"ds-stack\">\n            <fieldset class=\"ds-group\">\n              <legend class=\"ds-group__title\">Recent recipients</legend>\n              <ul class=\"ds-list\" data-component=\"list\">\n                <li class=\"ds-list__item\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6z M3 14c0-3 2-5 5-5s5 2 5 5z\"/></svg></span><span class=\"ds-list__text\"><a class=\"ds-link\" href=\"#addresses\">Ines Halloran</a><br>Rowing Club</span> <span class=\"ds-list__meta\">12 sent</span></li>\n                <li class=\"ds-list__item\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6z M3 14c0-3 2-5 5-5s5 2 5 5z\"/></svg></span><span class=\"ds-list__text\"><a class=\"ds-link\" href=\"#addresses\">Tobias Wren</a><br>Rowing Club</span> <span class=\"ds-list__meta\">9 sent</span></li>\n                <li class=\"ds-list__item\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6z M3 14c0-3 2-5 5-5s5 2 5 5z\"/></svg></span><span class=\"ds-list__text\"><a class=\"ds-link is-visited\" href=\"#addresses\">Marguerite Oyelaran</a><br>Family</span> <span class=\"ds-list__meta\">7 sent</span></li>\n                <li class=\"ds-list__item\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5.5 3a2.5 2.5 0 1 0 0 5a2.5 2.5 0 0 0 0-5z M11 4a2 2 0 1 0 0 4a2 2 0 0 0 0-4z M1 14c0-3 2-5 4.5-5S10 11 10 14z M11 9c2.2 0 4 1.8 4 5h-4c0-2-.6-3.6-1.6-4.6.5-.3 1-.4 1.6-.4z\"/></svg></span><span class=\"ds-list__text\"><a class=\"ds-link\" href=\"#addresses\">Committee</a><br>Group of 6</span> <span class=\"ds-list__meta\">4 sent</span></li>\n              </ul>\n            </fieldset>\n            <fieldset class=\"ds-group\">\n              <legend class=\"ds-group__title\">Attached</legend>\n              <ul class=\"ds-list\">\n                <li class=\"ds-list__item\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M3 1h7l3 3v11H3z M4 2v12h8V5H9V2z M5 7h6v1H5z M5 9h6v1H5z M5 11h4v1H5z\"/></svg></span><span class=\"ds-list__text\">minutes-10-march.txt</span> <span class=\"ds-list__meta\">4 KB</span></li>\n                <li class=\"ds-list__item\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 2h14v12H1z M2 5v8h12V5z M3 6h5v3H3z M9 6h4v1H9z M9 8h4v1H9z M3 10h10v2H3z\"/></svg></span><span class=\"ds-list__text\">slipway.bmp</span> <span class=\"ds-list__meta\">96 KB</span></li>\n              </ul>\n              <hr class=\"ds-rule\">\n              <p class=\"ds-links\">About 40 seconds to send at 28.8 kbps.</p>\n            </fieldset>\n          </div>\n        </div>\n\n        <div class=\"ds-buttons\" data-component=\"buttons\">\n          <button class=\"ds-button ds-button--danger\" type=\"button\">Discard Message</button>\n          <span class=\"ds-find__fill\"></span>\n          <button class=\"ds-button\" type=\"button\" disabled>Send Later</button>\n          <a class=\"ds-button ds-button--secondary\" href=\"#compose\">Save as Draft</a>\n          <a class=\"ds-button\" href=\"#home\">Send</a>\n          <a class=\"ds-button ds-button--secondary\" href=\"#home\">Cancel</a>\n        </div>\n\n      </div>\n    </div>\n  </section>\n\n  <section class=\"ds-view\" id=\"addresses\">\n    <div class=\"ds-toolbar\">\n      <span class=\"ds-toolbar__grip\"></span>\n      <a class=\"ds-toolbar__button\" href=\"#addresses\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6z M3 14c0-3 2-5 5-5s5 2 5 5z\"/></svg></span>New Contact</a>\n      <a class=\"ds-toolbar__button\" href=\"#addresses\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5.5 3a2.5 2.5 0 1 0 0 5a2.5 2.5 0 0 0 0-5z M11 4a2 2 0 1 0 0 4a2 2 0 0 0 0-4z M1 14c0-3 2-5 4.5-5S10 11 10 14z M11 9c2.2 0 4 1.8 4 5h-4c0-2-.6-3.6-1.6-4.6.5-.3 1-.4 1.6-.4z\"/></svg></span>New Group</a>\n      <span class=\"ds-toolbar__sep\"></span>\n      <a class=\"ds-toolbar__button\" href=\"#addresses\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M2 2h12v12H2z M3 3v10h10V3z M4 5h2v2H4z M7 5h5v1H7z M4 9h2v2H4z M7 9h5v1H7z\"/></svg></span>Properties</a>\n      <a class=\"ds-toolbar__button is-pressed\" href=\"#addresses\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M6 2h4v1h3v2H3V3h3z M4 6h8v8H4z M6 7v6h1V7z M9 7v6h1V7z\"/></svg></span>Delete</a>\n      <span class=\"ds-toolbar__sep\"></span>\n      <a class=\"ds-toolbar__button\" href=\"#addresses\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M6 1a5 5 0 1 0 0 10a5 5 0 0 0 0-10z M6 3a3 3 0 1 1 0 6a3 3 0 0 1 0-6z M9.6 8.2l5 5-1.4 1.4-5-5z\"/></svg></span>Find</a>\n      <a class=\"ds-toolbar__button\" href=\"#addresses\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M4 1h8v4H4z M1 6h14v6h-3v3H4v-3H1z M5 10v4h6v-4z M12 7h1v1h-1z\"/></svg></span>Print</a>\n      <a class=\"ds-toolbar__button\" href=\"#compose\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M1 3h14v10H1z M2.6 4L8 8.4 13.4 4z M2 5v7h12V5L8 9.8z\"/></svg></span>Send Mail</a>\n      <a class=\"ds-toolbar__button\" href=\"#home\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M8 3L3 8l5 5v-3h5V6H8z\"/></svg></span>Inbox</a>\n    </div>\n    <div class=\"ds-page__body\">\n      <ol class=\"ds-breadcrumb\">\n        <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#home\">chronoskin Mail</a></li>\n        <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#addresses\">Address Book</a></li>\n        <li class=\"ds-breadcrumb__item is-current\">Rowing Club</li>\n      </ol>\n      <div class=\"ds-page__inner\">\n\n        <header class=\"ds-page-header\">\n          <span class=\"ds-icon ds-icon--large\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M2 2h5l1 1 1-1h5v11H9l-1 1-1-1H2z M3 3v9h4V3z M9 3v9h4V3z\"/></svg></span>\n          <div class=\"ds-page-header__text\">\n            <h1 class=\"ds-page-header__title\">Address Book</h1>\n            <p class=\"ds-page-header__lead\">214 people in 6 groups. The group \"Rowing Club\" is open.</p>\n          </div>\n          <div class=\"ds-page-header__action\">\n            <a class=\"ds-button ds-button--secondary\" href=\"#addresses\">New Contact...</a>\n          </div>\n        </header>\n\n        <div class=\"ds-split ds-split--tree\">\n          <section class=\"ds-sidebar\">\n            <h2 class=\"ds-sidebar__title\">Groups</h2>\n            <div class=\"ds-sidebar__body\">\n              <ul class=\"ds-tree\">\n                <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#addresses\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M2 2h5l1 1 1-1h5v11H9l-1 1-1-1H2z M3 3v9h4V3z M9 3v9h4V3z\"/></svg></span>All Contacts (214)</a>\n                  <ul class=\"ds-tree__list\">\n                    <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#addresses\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5.5 3a2.5 2.5 0 1 0 0 5a2.5 2.5 0 0 0 0-5z M11 4a2 2 0 1 0 0 4a2 2 0 0 0 0-4z M1 14c0-3 2-5 4.5-5S10 11 10 14z M11 9c2.2 0 4 1.8 4 5h-4c0-2-.6-3.6-1.6-4.6.5-.3 1-.4 1.6-.4z\"/></svg></span>Committee</a></li>\n                    <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#addresses\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5.5 3a2.5 2.5 0 1 0 0 5a2.5 2.5 0 0 0 0-5z M11 4a2 2 0 1 0 0 4a2 2 0 0 0 0-4z M1 14c0-3 2-5 4.5-5S10 11 10 14z M11 9c2.2 0 4 1.8 4 5h-4c0-2-.6-3.6-1.6-4.6.5-.3 1-.4 1.6-.4z\"/></svg></span>Family</a></li>\n                    <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#addresses\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5.5 3a2.5 2.5 0 1 0 0 5a2.5 2.5 0 0 0 0-5z M11 4a2 2 0 1 0 0 4a2 2 0 0 0 0-4z M1 14c0-3 2-5 4.5-5S10 11 10 14z M11 9c2.2 0 4 1.8 4 5h-4c0-2-.6-3.6-1.6-4.6.5-.3 1-.4 1.6-.4z\"/></svg></span>Neighbours</a></li>\n                    <li class=\"ds-tree__item\"><a class=\"ds-tree__link is-current\" href=\"#addresses\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5.5 3a2.5 2.5 0 1 0 0 5a2.5 2.5 0 0 0 0-5z M11 4a2 2 0 1 0 0 4a2 2 0 0 0 0-4z M1 14c0-3 2-5 4.5-5S10 11 10 14z M11 9c2.2 0 4 1.8 4 5h-4c0-2-.6-3.6-1.6-4.6.5-.3 1-.4 1.6-.4z\"/></svg></span>Rowing Club</a></li>\n                    <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#addresses\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5.5 3a2.5 2.5 0 1 0 0 5a2.5 2.5 0 0 0 0-5z M11 4a2 2 0 1 0 0 4a2 2 0 0 0 0-4z M1 14c0-3 2-5 4.5-5S10 11 10 14z M11 9c2.2 0 4 1.8 4 5h-4c0-2-.6-3.6-1.6-4.6.5-.3 1-.4 1.6-.4z\"/></svg></span>Suppliers</a></li>\n                    <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#addresses\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5.5 3a2.5 2.5 0 1 0 0 5a2.5 2.5 0 0 0 0-5z M11 4a2 2 0 1 0 0 4a2 2 0 0 0 0-4z M1 14c0-3 2-5 4.5-5S10 11 10 14z M11 9c2.2 0 4 1.8 4 5h-4c0-2-.6-3.6-1.6-4.6.5-.3 1-.4 1.6-.4z\"/></svg></span>Work</a></li>\n                  </ul>\n                </li>\n                <li class=\"ds-tree__item\"><a class=\"ds-tree__link\" href=\"#addresses\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M6 1a5 5 0 1 0 0 10a5 5 0 0 0 0-10z M6 3a3 3 0 1 1 0 6a3 3 0 0 1 0-6z M9.6 8.2l5 5-1.4 1.4-5-5z\"/></svg></span>Directory Search</a></li>\n              </ul>\n            </div>\n          </section>\n          <div class=\"ds-stack\">\n            <form class=\"ds-find\" action=\"#addresses\">\n              <label for=\"a-name\">Type a name or pick from the list:</label>\n              <input class=\"ds-form__input\" id=\"a-name\" type=\"text\" value=\"\">\n              <span class=\"ds-find__fill\"></span>\n              <span class=\"ds-badges\" data-component=\"badge\"><span class=\"ds-badge\">28 people</span> <span class=\"ds-badge ds-badge--success\">Replied</span> <span class=\"ds-badge ds-badge--warning\">Waiting</span> <span class=\"ds-badge ds-badge--danger\">Returned</span></span>\n            </form>\n            <table class=\"ds-table\">\n              <thead>\n                <tr>\n                  <th class=\"ds-table__head\" scope=\"col\">Name</th>\n                  <th class=\"ds-table__head\" scope=\"col\">E-mail address</th>\n                  <th class=\"ds-table__head\" scope=\"col\">Last message</th>\n                  <th class=\"ds-table__head ds-table__head--num\" scope=\"col\">Sent</th>\n                </tr>\n              </thead>\n              <tbody>\n                <tr class=\"ds-table__row\">\n                  <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6z M3 14c0-3 2-5 5-5s5 2 5 5z\"/></svg></span> <a class=\"ds-link\" href=\"#addresses\">Halloran, Ines</a></td>\n                  <td class=\"ds-table__cell\">ines.halloran@rowing.example</td>\n                  <td class=\"ds-table__cell\"><span class=\"ds-badge ds-badge--success\">Replied</span></td>\n                  <td class=\"ds-table__cell ds-table__cell--num\">12</td>\n                </tr>\n                <tr class=\"ds-table__row\">\n                  <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6z M3 14c0-3 2-5 5-5s5 2 5 5z\"/></svg></span> <a class=\"ds-link\" href=\"#addresses\">Okonjo, Bram</a></td>\n                  <td class=\"ds-table__cell\">bram@okonjo.example</td>\n                  <td class=\"ds-table__cell\"><span class=\"ds-badge ds-badge--warning\">Waiting</span></td>\n                  <td class=\"ds-table__cell ds-table__cell--num\">3</td>\n                </tr>\n                <tr class=\"ds-table__row is-selected\">\n                  <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6z M3 14c0-3 2-5 5-5s5 2 5 5z\"/></svg></span> <a class=\"ds-link\" href=\"#addresses\">Pettersen, Dov</a></td>\n                  <td class=\"ds-table__cell\">dov.pettersen@oldmail.example</td>\n                  <td class=\"ds-table__cell\">Returned</td>\n                  <td class=\"ds-table__cell ds-table__cell--num\">5</td>\n                </tr>\n                <tr class=\"ds-table__row\">\n                  <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6z M3 14c0-3 2-5 5-5s5 2 5 5z\"/></svg></span> <a class=\"ds-link is-visited\" href=\"#addresses\">Quartey, Lena</a></td>\n                  <td class=\"ds-table__cell\">lena.quartey@harbour.example</td>\n                  <td class=\"ds-table__cell\"><span class=\"ds-badge ds-badge--success\">Replied</span></td>\n                  <td class=\"ds-table__cell ds-table__cell--num\">8</td>\n                </tr>\n                <tr class=\"ds-table__row\">\n                  <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6z M3 14c0-3 2-5 5-5s5 2 5 5z\"/></svg></span> <a class=\"ds-link\" href=\"#addresses\">Sorley, Finn</a></td>\n                  <td class=\"ds-table__cell\">fsorley@school.example</td>\n                  <td class=\"ds-table__cell\"><span class=\"ds-badge ds-badge--danger\">Returned</span></td>\n                  <td class=\"ds-table__cell ds-table__cell--num\">1</td>\n                </tr>\n                <tr class=\"ds-table__row\">\n                  <td class=\"ds-table__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6z M3 14c0-3 2-5 5-5s5 2 5 5z\"/></svg></span> <a class=\"ds-link\" href=\"#addresses\">Wren, Tobias</a></td>\n                  <td class=\"ds-table__cell\">tobias.wren@rowing.example</td>\n                  <td class=\"ds-table__cell\"><span class=\"ds-badge ds-badge--success\">Replied</span></td>\n                  <td class=\"ds-table__cell ds-table__cell--num\">9</td>\n                </tr>\n                <tr class=\"ds-table__row\">\n                  <td class=\"ds-table__cell ds-table__cell--group\" colspan=\"3\">6 of 28 people shown</td>\n                  <td class=\"ds-table__cell ds-table__cell--num ds-table__cell--group\">38</td>\n                </tr>\n              </tbody>\n            </table>\n            <ol class=\"ds-pagination\" data-component=\"pagination\">\n              <li class=\"ds-pagination__label\">Page 1 of 5:</li>\n              <li><a class=\"ds-pagination__link is-disabled\" href=\"#addresses\">&lt; Previous</a></li>\n              <li><a class=\"ds-pagination__link is-current\" href=\"#addresses\">1</a></li>\n              <li><a class=\"ds-pagination__link\" href=\"#addresses\">2</a></li>\n              <li><a class=\"ds-pagination__link\" href=\"#addresses\">3</a></li>\n              <li><a class=\"ds-pagination__link\" href=\"#addresses\">4</a></li>\n              <li><a class=\"ds-pagination__link\" href=\"#addresses\">5</a></li>\n              <li><a class=\"ds-pagination__link\" href=\"#addresses\">Next &gt;</a></li>\n            </ol>\n          </div>\n        </div>\n\n        <div class=\"ds-split\">\n          <section class=\"ds-pane\">\n            <h2 class=\"ds-pane__title\">Contents of the group 'Suppliers'</h2>\n            <div class=\"ds-empty\" data-component=\"empty\">\n              <h3 class=\"ds-empty__title\">There is nobody in this group yet.</h3>\n              <p class=\"ds-empty__text\">Drag people here from All Contacts, or add a new contact straight to the group.</p>\n              <a class=\"ds-button ds-button--secondary\" href=\"#addresses\">New Contact...</a>\n            </div>\n          </section>\n          <section class=\"ds-dialog\" data-component=\"dialog\" role=\"dialog\" aria-labelledby=\"d-title\">\n            <h2 class=\"ds-dialog__title\" id=\"d-title\">Confirm Delete <span class=\"ds-window__ctl ds-window__ctl--close\" aria-hidden=\"true\"></span></h2>\n            <div class=\"ds-dialog__content\">\n              <span class=\"ds-icon ds-icon--large\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 1l7 13H1z M7 6h2v4H7z M7 11h2v2H7z\"/></svg></span>\n              <p class=\"ds-dialog__body\">Remove <strong>Pettersen, Dov</strong> from the address book? The 5 messages you sent him stay in Sent Items.</p>\n            </div>\n            <div class=\"ds-dialog__actions\">\n              <a class=\"ds-button ds-button--danger\" href=\"#addresses\">Delete</a>\n              <a class=\"ds-button\" href=\"#addresses\">Keep</a>\n            </div>\n          </section>\n        </div>\n\n      </div>\n    </div>\n  </section>\n\n  <section class=\"ds-view\" id=\"options\">\n    <div class=\"ds-toolbar\">\n      <span class=\"ds-toolbar__grip\"></span>\n      <a class=\"ds-toolbar__button\" href=\"#home\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M8 3L3 8l5 5v-3h5V6H8z\"/></svg></span>Inbox</a>\n      <span class=\"ds-toolbar__sep\"></span>\n      <a class=\"ds-toolbar__button\" href=\"#options\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6z M3 14c0-3 2-5 5-5s5 2 5 5z\"/></svg></span>Accounts</a>\n      <a class=\"ds-toolbar__button\" href=\"#options\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M2 6h12v6H2z M3 7v4h10V7z M4 8h1v1H4z M6 8h1v1H6z M8 8h1v1H8z M11 8h1v2h-1z M5 3h1v3H5z\"/></svg></span>Connection</a>\n      <a class=\"ds-toolbar__button\" href=\"#options\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M5 7V5a3 3 0 0 1 6 0v2h1v7H4V7z M6.5 7h3V5a1.5 1.5 0 0 0-3 0z\"/></svg></span>Security</a>\n      <span class=\"ds-toolbar__sep\"></span>\n      <a class=\"ds-toolbar__button\" href=\"#options\"><span class=\"ds-icon ds-icon--plain\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" aria-hidden=\"true\"><path d=\"M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1z M7 10h2v2H7z M5.4 6a2.6 2.6 0 1 1 4.2 2c-.5.5-.6.7-.6 1.4H7c0-1.2.3-1.7 1-2.3a.8.8 0 1 0-1.3-.6z\"/></svg></span>Help</a>\n    </div>\n    <div class=\"ds-page__body\">\n      <ol class=\"ds-breadcrumb\">\n        <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#home\">chronoskin Mail</a></li>\n        <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#options\">Options</a></li>\n        <li class=\"ds-breadcrumb__item is-current\">Send</li>\n      </ol>\n      <div class=\"ds-page__inner\">\n\n        <header class=\"ds-page-header\">\n          <span class=\"ds-icon ds-icon--large\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M3 2h3v5h4V2h3v6l-3 2v5H6v-5L3 8z\"/></svg></span>\n          <div class=\"ds-page-header__text\">\n            <h1 class=\"ds-page-header__title\">Options</h1>\n            <p class=\"ds-page-header__lead\">How messages are sent, checked and signed. Changes apply to both accounts.</p>\n          </div>\n          <div class=\"ds-page-header__action\">\n            <a class=\"ds-button ds-button--secondary\" href=\"#options\">Restore Defaults</a>\n          </div>\n        </header>\n\n        <div>\n          <ul class=\"ds-tabs\" data-component=\"tabs\">\n            <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#options\">General</a></li>\n            <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab is-current\" href=\"#options\">Send</a></li>\n            <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#options\">Read</a></li>\n            <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#options\">Signature</a></li>\n            <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#options\">Spelling</a></li>\n            <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#options\">Security</a></li>\n          </ul>\n          <div class=\"ds-sheet\">\n            <div class=\"ds-split\">\n              <div class=\"ds-stack\">\n                <fieldset class=\"ds-group\">\n                  <legend class=\"ds-group__title\">When I send a message</legend>\n                  <div class=\"ds-stack\">\n                    <label class=\"ds-form__option\"><input class=\"ds-form__check\" type=\"checkbox\" checked>Keep a copy in Sent Items</label>\n                    <label class=\"ds-form__option\"><input class=\"ds-form__check\" type=\"checkbox\" checked>Include the original text in a reply</label>\n                    <label class=\"ds-form__option\"><input class=\"ds-form__check\" type=\"checkbox\">Send messages immediately</label>\n                    <label class=\"ds-form__option\"><input class=\"ds-form__check\" type=\"checkbox\" checked>Check spelling before sending</label>\n                  </div>\n                </fieldset>\n                <fieldset class=\"ds-group\">\n                  <legend class=\"ds-group__title\">Check for new mail</legend>\n                  <div class=\"ds-find\">\n                    <label for=\"o-every\">Every</label>\n                    <input class=\"ds-form__input ds-form__input--short\" id=\"o-every\" type=\"text\" value=\"30\">\n                    <span>minutes, using</span>\n                    <select class=\"ds-form__select\" id=\"o-line\">\n                      <option>the dial-up line \"Home\"</option>\n                      <option>the office network</option>\n                    </select>\n                  </div>\n                </fieldset>\n              </div>\n              <div class=\"ds-stack\">\n                <fieldset class=\"ds-group\">\n                  <legend class=\"ds-group__title\">Mail sending format</legend>\n                  <dl class=\"ds-props\">\n                    <dt class=\"ds-props__label\">Format:</dt>\n                    <dd class=\"ds-props__value\">Plain text, lines wrapped at 76 characters</dd>\n                    <dt class=\"ds-props__label\">Reply mark:</dt>\n                    <dd class=\"ds-props__value\"><code class=\"ds-code\">&gt;</code> before each quoted line</dd>\n                    <dt class=\"ds-props__label\">Outbox:</dt>\n                    <dd class=\"ds-props__value\">2 messages waiting, 100 KB</dd>\n                    <dt class=\"ds-props__label\">Mailbox:</dt>\n                    <dd class=\"ds-props__value\"><span class=\"ds-progress\"><span class=\"ds-progress__block\"></span><span class=\"ds-progress__block\"></span><span class=\"ds-progress__block\"></span><span class=\"ds-progress__block\"></span><span class=\"ds-progress__block\"></span><span class=\"ds-progress__block\"></span><span class=\"ds-progress__block ds-progress__block--empty\"></span><span class=\"ds-progress__block ds-progress__block--empty\"></span><span class=\"ds-progress__block ds-progress__block--empty\"></span><span class=\"ds-progress__block ds-progress__block--empty\"></span></span> 3.1 of 5 MB</dd>\n                  </dl>\n                </fieldset>\n                <p class=\"ds-notice\"><span class=\"ds-notice__label\">Note:</span> messages wait in the Outbox until the next time you choose Send/Recv.</p>\n              </div>\n            </div>\n          </div>\n        </div>\n\n        <div class=\"ds-buttons\">\n          <span class=\"ds-find__fill\"></span>\n          <a class=\"ds-button\" href=\"#home\">OK</a>\n          <a class=\"ds-button ds-button--secondary\" href=\"#home\">Cancel</a>\n          <button class=\"ds-button\" type=\"button\" disabled>Apply</button>\n        </div>\n\n      </div>\n    </div>\n  </section>\n\n  <footer class=\"ds-footer\" data-component=\"footer\">\n    <ul class=\"ds-status\">\n      <li class=\"ds-status__cell ds-status__cell--wide\">chronoskin Mail and News, 1998. <a class=\"ds-link ds-link--quiet\" href=\"#compose\">Write a message</a>, <a class=\"ds-link ds-link--quiet\" href=\"#addresses\">open the address book</a> or <a class=\"ds-link ds-link--quiet\" href=\"#options\">change the options</a>.</li>\n      <li class=\"ds-status__cell\">42 message(s), 3 unread</li>\n      <li class=\"ds-status__cell\"><span class=\"ds-icon\"><svg viewBox=\"0 0 16 16\" fill=\"currentColor\" fill-rule=\"evenodd\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><path d=\"M2 6h12v6H2z M3 7v4h10V7z M4 8h1v1H4z M6 8h1v1H6z M8 8h1v1H8z M11 8h1v2h-1z M5 3h1v3H5z\"/></svg></span> Working off line</li>\n    </ul>\n  </footer>\n\n</div>\n</body>\n</html>\n",
    "style.json": "{\n  \"id\": \"v1.windows-9x.app.s04.p04.t04.u04\",\n  \"library\": \"2026.10.07-2111\",\n  \"era\": {\n    \"slug\": \"windows-9x\",\n    \"years\": [\n      1995,\n      2001\n    ]\n  },\n  \"archetype\": \"app\",\n  \"mode\": \"pure\",\n  \"markup\": \"modern\",\n  \"viewport\": {\n    \"width\": 800,\n    \"fluid\": false\n  },\n  \"source\": \"https://chrono.skin/s/v1-w9-4444\",\n  \"short\": \"v1-w9-4444\"\n}\n",
    "tokens.css": "/* @part palette */\n:root {\n  --color-page: #2f3e4e;\n  --color-canvas: #bcc6d0;\n  --color-surface: #ffffff;\n  --color-surface-alt: #e6ebf0;\n  --color-surface-strong: #cdd5dd;\n  --color-bar: #3f5b78;\n  --color-bar-text: #ffffff;\n  --color-bar-alt: #bcc6d0;\n  --color-bar-alt-text: #10181f;\n  --color-inverse: #6f7d8a;\n  --color-inverse-text: #ffffff;\n  --color-text: #10181f;\n  --color-text-muted: #45525e;\n  --color-heading: #1f3347;\n  --color-heading-alt: #2f5078;\n  --color-link: #0a3a8c;\n  --color-link-quiet: #10181f;\n  --color-link-visited: #5a3a7a;\n  --color-link-hover: #0060d0;\n  --color-link-active: #b02020;\n  --color-border: #7b8894;\n  --color-border-strong: #18222c;\n  --color-border-muted: #dfe6ec;\n  --color-accent: #3f5b78;\n  --color-accent-text: #ffffff;\n  --color-accent-alt: #b03a20;\n  --color-fill-1: #dfe8f0;\n  --color-fill-2: #c8dcd8;\n  --color-fill-3: #d8d4e8;\n  --color-fill-4: #f0e8c8;\n  --color-button: #bcc6d0;\n  --color-button-text: #10181f;\n  --color-button-hover-text: #0a3a8c;\n  --color-button-secondary: #cdd5dd;\n  --color-button-secondary-text: #10181f;\n  --color-input: #ffffff;\n  --color-input-text: #10181f;\n  --color-input-border: #7b8894;\n  --color-disabled: #bcc6d0;\n  --color-disabled-text: #7b8894;\n  --color-danger: #9a1c1c;\n  --color-danger-surface: #f6e6e2;\n  --color-success: #1f6a4a;\n  --color-warning: #8a5c00;\n  --color-notice: #f4f0cc;\n  --color-notice-text: #10181f;\n  --color-focus: #18222c;\n  --color-shadow: #18222c;\n  --color-overlay: rgba(16, 24, 31, 0.4);\n}\n\n/* @part type */\n:root {\n  --font-body: \"Lucida Sans Unicode\", \"Lucida Grande\", \"Lucida Sans\", Geneva, sans-serif;\n  --font-heading: \"Arial Black\", \"Arial Bold\", Arial, Helvetica, sans-serif;\n  --font-ui: \"Lucida Sans Unicode\", \"Lucida Grande\", \"Lucida Sans\", Geneva, sans-serif;\n  --font-mono: \"Lucida Console\", \"Courier New\", monospace;\n  --text-base: 11px;\n  --text-small: 10px;\n  --text-ui: 11px;\n  --text-large: 12px;\n  --text-display: 20px;\n  --text-h1: 15px;\n  --text-h2: 12px;\n  --text-h3: 11px;\n  --line-body: 1.45;\n  --line-heading: 1.25;\n  --line-display: 1.15;\n  --weight-body: 400;\n  --weight-bold: 700;\n  --weight-heading: 900;\n  --weight-display: 900;\n  --weight-ui: 400;\n  --heading-transform: none;\n  --heading-tracking: 0;\n  --display-tracking: 0;\n  --ui-transform: none;\n  --link-decoration: underline;\n  --link-decoration-hover: underline;\n  --link-decoration-quiet: none;\n}\n\n/* @part surface */\n:root {\n  --border-width: 1px;\n  --border-width-strong: 2px;\n  --border-style: dotted;\n  --radius-control: 0;\n  --radius-panel: 0;\n  --radius-pill: 0;\n  --radius-page: 0;\n  --shadow-panel: inset 0 0 0 1px var(--color-border-strong), inset 2px 2px color-mix(in srgb, var(--color-border-muted) 25%, white);\n  --shadow-control: inset 0 0 0 1px var(--color-border), inset 2px 2px color-mix(in srgb, var(--color-border-muted) 25%, white);\n  --shadow-control-hover: inset 0 0 0 1px var(--color-border-strong), inset 2px 2px color-mix(in srgb, var(--color-border-muted) 25%, white);\n  --shadow-control-pressed: inset 0 0 0 1px var(--color-border), inset 2px 2px color-mix(in srgb, var(--color-border) 35%, transparent);\n  --shadow-dialog: inset 0 0 0 1px var(--color-border-strong), inset 2px 2px color-mix(in srgb, var(--color-border-muted) 25%, white), 2px 2px 0 0 var(--color-shadow);\n  --shadow-text: none;\n  --fill-page: repeating-linear-gradient(115deg, var(--color-page) 0 5px, color-mix(in srgb, var(--color-page), white 10%) 5px 6px);\n  --fill-bar: linear-gradient(90deg, color-mix(in srgb, var(--color-bar), black 45%), var(--color-bar));\n  --fill-bar-alt: var(--color-bar-alt);\n  --fill-inverse: repeating-linear-gradient(115deg, var(--color-inverse) 0 5px, color-mix(in srgb, var(--color-inverse), black 10%) 5px 6px);\n  --fill-accent: var(--color-accent);\n  --fill-panel: var(--color-canvas);\n  --fill-button: var(--color-button);\n  --fill-button-hover: color-mix(in srgb, var(--color-button), white 35%);\n  --fill-button-secondary: var(--color-button-secondary);\n  --fill-input: var(--color-input);\n  --focus-ring: 1px dotted var(--color-accent);\n  --transition: none;\n  --backdrop-blur: 0px;\n}\n"
  }
}
