{
  "id": "v1-te-1111",
  "long_id": "v1.table-era-90s.portal.s01.p01.t01.u01",
  "name": "Table-era portal, 1998",
  "era": {
    "slug": "table-era-90s",
    "code": "te",
    "name": "Table-era web",
    "years": [
      1996,
      2000
    ],
    "description": "The first commercial web, 1996 to 2000: narrow fixed pages built from tables, blue underlined links on white or grey, Times and Arial at their default sizes, bevelled form buttons, and flat colour strips where a designer wanted emphasis."
  },
  "archetype": "portal",
  "mode": "pure",
  "viewport": {
    "width": 800,
    "fluid": false
  },
  "summary": "A directory-and-search portal home page as built between 1996 and 2000: a fixed 600px column centred in an 800px window, laid out as tight cells with flat colour fills and no decoration beyond rules and bevelled form controls. Nearly all text is an underlined dark blue link, set at 13px in a serif body face with bold sans-serif headings and 10px sans-serif small print, on a white page with one flat teal band, yellow title strips and pale yellow boxes. It was the standard look of search engines, directories and start pages until wider, stylesheet-driven layouts replaced it after 2000.",
  "url": "https://chrono.skin/s/v1-te-1111",
  "preview_url": "https://chrono.skin/s/v1-te-1111/specimen.html",
  "files": {
    "STYLE.md": "# Table-era portal, 1998\n\n## Summary\n\nA directory-and-search portal home page as built between 1996 and 2000: a fixed 600px column centred in an 800px window, laid out as tight cells with flat colour fills and no decoration beyond rules and bevelled form controls. Nearly all text is an underlined dark blue link, set at 13px in a serif body face with bold sans-serif headings and 10px sans-serif small print, on a white page with one flat teal band, yellow title strips and pale yellow boxes. It was the standard look of search engines, directories and start pages until wider, stylesheet-driven layouts replaced it after 2000.\n\n## Layout\n\n- The page is fixed, not fluid: `--size-page` is 600px, centred by `.ds-page__frame`, which carries a `--space-3` (8px) margin inside it. Nothing is wider than 600px and nothing stretches with the window.\n- The specimen is one example site, a portal, of five views. `.ds-nav` and `.ds-footer` are written once, outside the views; each view is a `.ds-view` section and one shows at a time.\n- Order from the top on the home view: `.ds-nav` (wordmark left, tagline, 10px tool links right, then one centred row of text links separated by hyphens), the `.ds-hero` search band at full column width, the `.ds-tabs` strip, a 2px `.ds-rule`, then `.ds-page__columns`, then the `.ds-footer` opened by another `.ds-rule`.\n- `.ds-page__columns` is two columns: a main column and a `--size-sidebar` (190px) `.ds-sidebar` on the right, separated by a `--space-4` (10px) gutter and the sidebar's 1px left rule. The main column opens with the two-column `.ds-directory`; the sidebar carries enough short sections to end near the foot of the main column.\n- Inner pages (a category, a result list, a settings page, a help page) keep the `.ds-nav` and the `.ds-footer` and drop the search band. In its place, inside `.ds-page__head` with no gaps between them: the `.ds-breadcrumb`, the `.ds-page-header` (title and one line at the left, one button at the right), the `.ds-tabs` strip for the views of that page, and the 2px `.ds-rule`. Below the rule inner pages are one full 600px column, `.ds-page__inner`, with no sidebar and `--space-5` between blocks: `.ds-stat` first when the page has figures, then the `.ds-table` or `.ds-list` with its `.ds-pagination`, then running text or the `.ds-form`. What the sidebar held on the home page becomes a `.ds-panel` at the foot of the column if it is needed at all.\n- Views: `home` is the portal front page (search band, channel strip, directory, headlines, grid, markets panel, sidebar). `category` is one directory category: figures, the table of listed sites with its status key, result pages and a panel of related categories. `search` is a result list: category matches, site matches with result pages, and the empty state for a kind of match that found nothing. `mypage` is the settings screen: notices, the form, the table of sections on the member's page and the message box that removing a section opens. `help` is a page of running text, including the line that shows the link states, with a boxed panel of further questions. The current view's link in `.ds-nav__links` is bold, in the text colour and not underlined; the home link is marked when the address names no view.\n- Blocks are separated by rules, title strips and flat fills, never by cards with shadows or wide gutters.\n- Spacing scale: `--space-1` 2px is the spacing between table and grid cells and the padding of controls and strips; `--space-2` 4px is cell padding, the padding around separators and the gap between a title and its body; `--space-3` 8px is the page margin, paragraph spacing, box padding and the gap between buttons; `--space-4` 10px is the gutter between columns; `--space-5` 16px is the gap between neighbouring blocks of the main column and the side padding of the search band; `--space-6` 40px is the list indent (and the width of a short input).\n- Fixed sizes: `--size-search` 250px search field, `--size-label` 110px form label column, `--size-field` 180px text input, `--size-area` 240px textarea, `--size-check` 13px checkbox, `--size-dialog` 320px message box.\n\n## Typography and colour roles\n\n- Two families and a code face. `--font-body` (Times New Roman, Times) sets running text, link lists, table data and the footer. `--font-heading` and `--font-ui` (Arial, Helvetica) set the wordmark, headings, title strips, the search band, forms, buttons, notices and all 10px small print. `--font-mono` (Courier New) is for code and textareas. The references used Times, Arial, Geneva, Helvetica and Verdana as installed system fonts; no substitute was needed.\n- Sizes: `--text-base` and `--text-ui` 13px; `--text-small` 10px for tool links, tab strip, captions, meta and legal text; `--text-large` and `--text-h2` 16px for directory titles, panel titles and section headings; `--text-h1` 18px for a page title; `--text-h3` 13px bold; `--text-display` 28px for the wordmark only. Line height is `normal` everywhere. Bold is 700, the wordmark included.\n- No uppercase transform and no letter spacing. Headings are distinguished by family, weight and size only.\n- Links: `--color-link` (dark blue) and always underlined, including navigation, titles and quiet links (`--link-decoration`, `--link-decoration-quiet` and `--link-decoration-hover` are all `underline`). `--color-link-visited` is a greyed violet, `--color-link-active` is red, `--color-link-hover` equals the link colour because the era had no hover effect. `--color-link-quiet` (bright blue) is for promotional links set in the sans face.\n- Text is `--color-text` black; `--color-text-muted` grey is for times and counts only. `--color-heading` is black; `--color-heading-alt` (navy) is the wordmark, tagline, h3 and positive figures.\n- `--color-success` (dark green, the one green the references print) and `--color-warning` (the title-strip yellow, the era's amber) are flat fills for status labels. Green also works as text on white; the yellow is a fill only and carries black text.\n- Fills are flat. `--color-bar` (teal) is the search band, table head and the 2px rules. `--color-bar-alt` (yellow) is every panel and sidebar title strip and the border of notices. `--color-inverse` (black, white text) is the dialog title bar only. `--color-surface-alt` (light grey) is the tab strip, alternate table rows and the empty state. `--color-fill-1` to `--color-fill-4` (pale yellow, light grey, orange, teal) colour grid cells; `--color-fill-3` is also the 2px underline of `.ds-heading`.\n- `--color-accent` (crimson) is the solid badge; `--color-accent-alt` (red) is the \"New!\" word and negative figures. `--color-danger` is error text and the error notice border on `--color-danger-surface` (pale yellow).\n- Borders: 1px `--color-border` grey for table cells, the outline of the search band and of grid cells, the sidebar rule and thin rules; 1px `--color-border-strong` black for boxed panels and dialogs; 2px bevels on controls. Radius is 0 and every shadow token is `none`. Every one of these lines is drawn with `--border-width`, `--border-width-strong` and `--border-style`, and the sheet, panels and dialogs take `--shadow-panel` and `--shadow-dialog`, so another surface set changes the frames, rules and bars of the whole page.\n- Not expressible by a token, written literally in `components.css`: the bevel of buttons and selects is `border-style: outset` and of inputs, checkboxes and pressed buttons `inset`, drawn in `--color-border-muted` and `--color-input-border`. `--border-style` (`solid`) is used for everything else.\n\n## Components\n\n- `.ds-page`: on `<body>`; white page, body type. `.ds-page__frame` is the 600px column, `.ds-page__columns` the main-plus-sidebar grid, `.ds-page__main` the main column with `--space-5` between blocks. On inner pages `.ds-page__head` stacks breadcrumb, page header, tabs and rule, and `.ds-page__inner` is the single full-width column. The page margin is padding inside `.ds-page__frame`, not on `<body>`: when a palette gives `--color-canvas` a colour of its own the frame shows as a sheet on the page and its content keeps that margin from the sheet edge. `.ds-page__frame` takes `--shadow-panel` as well, so a surface set that outlines its boxes also outlines the sheet.\n- `.ds-nav`: header. `.ds-nav__top` holds the `.ds-brand`, `.ds-nav__tagline` and `.ds-nav__tools`; `.ds-nav__links` is the centred row of `.ds-nav__item` / `.ds-nav__link`, hyphen separated; the link of the view that is showing is bold, black and not underlined (`components.css` has one selector per view for this, and `is-current` does the same by hand).\n- `.ds-brand`: the site's mark and name, at the left of `.ds-nav__top`. `.ds-brand__mark` is a small square tile dressed like the button (`--fill-button` over `--color-button`, `--color-button-text` for the drawing, the 2px `outset` bevel in `--color-border-muted`, `--radius-control`, `--shadow-control`), so every palette and surface reskins it; it holds the mark as inline SVG painted with `currentColor`, drawn with square line caps, a 3 unit stroke and crisp edges. `.ds-brand__name` is the name in the heading family at `--text-display`, with the heading weight, tracking and transform, in `--color-heading-alt`. The name `chronoskin` and its mark are placeholders for the installing project's own name and logo.\n- `.ds-hero`: the search band, the era's page introduction, filled with `--fill-bar` inside a `--border-width` outline. `.ds-hero__title` (bold 13px), `.ds-hero__lead`, `.ds-hero__more` (10px links), `.ds-hero__action` (select, `.ds-hero__field`, button) and `.ds-hero__hint`. Never a tall banner with a large heading.\n- `.ds-page-header`: the head of an inner page, used instead of `.ds-hero`. `.ds-page-header__text` holds `.ds-page-header__title` (18px bold sans) and `.ds-page-header__lead` (one 13px serif line); `.ds-page-header__action` holds one button, bottom-aligned at the right. No fill and no border of its own: the tab strip and 2px rule under it close it.\n- `.ds-prose`: running text on inner pages; styles `h1`, `h2`, `h3`, `p`, `ul`, `ol`, `strong`, `code`; `.ds-prose__lead` for a 16px lead line.\n- `.ds-link`: every link. States `is-visited`, `is-hover`, `is-active`, `is-focus`. `.ds-link--quiet` for promotional links, `.ds-link--strong` for bold links. `.ds-links` wraps a line of links.\n- `.ds-button`: grey bevelled button with 13px sans label, on a `<button>` or, when it leads to another page, on a link. `.ds-button--secondary` is a darker grey for the lesser action, `.ds-button--danger` is the destructive action (delete, remove): the same bevel on `--color-surface` with a bold label in `--color-danger`, never a red button, `.ds-button--large` uses 16px. States `is-hover`, `is-pressed` (bevel inverts), `is-focus`, `is-disabled`. `.ds-buttons` lays out a row.\n- `.ds-form`: two-column form, right-aligned bold `.ds-form__label` and `.ds-form__field`. Controls: `.ds-form__input` (`--short` for 40px fields), `.ds-form__select`, `.ds-form__textarea`, `.ds-form__check`. `.ds-form__hint` for 10px help, `.ds-form__error` for a bold red message under the field (the control itself does not change), `.ds-form__actions` for the button row. A select is a bevelled key in `--fill-button` with `--color-button-text`; a checkbox is a small inset field in `--color-input` whose tick is a block of `--color-input-text`.\n- `.ds-table`: data table with 1px bordered cells and 2px spacing. `.ds-table__head` (teal, centred sans), `.ds-table__cell` with `--num`, `--up`, `--down` and `--group` (pale yellow full-width row), `.ds-table__row--alt` for grey rows, `.ds-table__caption` for the 10px line beneath.\n- `.ds-stat`: summary figures as one row of bordered pale yellow cells with 2px spacing inside a 1px frame, built like a table row. Each `.ds-stat__item` holds a `.ds-stat__value` (18px bold sans) over a `.ds-stat__label` (10px sans). Three to five items; never large numerals or separate cards.\n- `.ds-list`: bulleted headline list; `.ds-list__item`, `.ds-list__meta` (grey 10px time in brackets), `.ds-list__more` (right-aligned bold 10px link).\n- `.ds-directory`: two-column category index: `.ds-directory__title` (16px bold sans link) over `.ds-directory__subs` (13px serif links, comma separated, ending in an ellipsis). The centrepiece of a portal home page.\n- `.ds-panel`: a module: `.ds-panel__title` yellow strip with an optional `.ds-panel__tool` link at the right, then `.ds-panel__body`. `.ds-panel--boxed` adds a 1px black outline.\n- `.ds-grid`: two-column grid of flat coloured, outlined cells with 2px spacing: `.ds-grid__cell` and `--2`, `--3`, `--4` for the four fills, `.ds-grid__title`, `.ds-grid__text`.\n- `.ds-tabs`: the era's tabs, a grey strip of 10px links separated by bars, used for the channels under the search band and for the views of an inner page under its page header; `.ds-tabs__item`, `.ds-tabs__tab`, current `is-current`.\n- `.ds-badge`: small solid crimson label. `.ds-badge--text` is the common form, a bold red word beside a link; `.ds-badge--count` is a grey count in brackets. Status labels are the same solid block in a flat status colour, with the word typed in capitals: `.ds-badge--success` (green, white text), `.ds-badge--warning` (yellow, black text), `.ds-badge--danger` (red, white text). `.ds-badges` is a 10px key line that explains them under a table.\n- `.ds-sidebar`: right column behind a 1px rule. `.ds-sidebar__date`, then sections of `.ds-sidebar__title` (yellow strip), `.ds-sidebar__list` / `.ds-sidebar__item`, `.ds-sidebar__more`; `.ds-sidebar__lookup` with `.ds-sidebar__field` for a one-field form.\n- `.ds-notice`: pale yellow box with a 1px yellow border; `.ds-notice__label` bold lead word, `.ds-notice--center` for a promotional line, `.ds-notice--error` in red. `.ds-notices` stacks several.\n- `.ds-pagination`: one centred line: `.ds-pagination__label`, bracketed previous and next, numbered `.ds-pagination__link`, current `is-current`, `is-disabled`.\n- `.ds-breadcrumb`: bold sans path separated by \">\"; `.ds-breadcrumb__item`, last one `is-current`.\n- `.ds-dialog`: a 320px box in the page flow with a 1px black border, black `.ds-dialog__title` bar, centred `.ds-dialog__body` and `.ds-dialog__actions`. No backdrop, no shadow.\n- `.ds-empty`: grey block with `.ds-empty__title`, `.ds-empty__text` and a button.\n- `.ds-footer`: centred link rows `.ds-footer__links` of `.ds-footer__item` (hyphen separated; `--small` is 10px and bar separated), `.ds-footer__label`, `.ds-footer__legal`.\n- `.ds-view`: one screen of the example site; only the one named in the address shows, and `.ds-view--home` shows when none is named. It has no box of its own.\n- `.ds-rule`: 2px teal rule; `.ds-rule--thin` 1px grey. `.ds-heading`: section title on a 2px orange underline.\n\n## Never\n\n- `row-gap <= 8px`: list and table rows sit close: 2px between table rows, at most 8px between directory entries.\n- `block-gap <= 16px`: neighbouring blocks are at most 16px apart.\n- `content-width <= 600px`: the page is a fixed 600px column.\n- `font-size <= 28px`: the wordmark is the largest text; headings stop at 18px.\n- `font-size >= 10px`: small print is 10px, nothing smaller.\n- `font-weight >= 400`: no light weights existed.\n- `font-families <= 3`: a serif, a sans-serif and a monospace face.\n- `underlined-links >= 95%`: links are always underlined; only a current item loses the underline.\n- `letter-spacing = 0`: no tracking anywhere.\n- `uppercase-text <= 0%`: no text-transform; capitals are typed.\n- `border-radius <= 0px`: no reference has a rounded corner.\n- `box-shadow = none`: no reference has a box shadow.\n- `text-shadow = none`: no reference has a text shadow.\n- `gradient-fills <= 0%`: every fill is a flat colour.\n- `border-width <= 2px`: borders are 1px lines or 2px bevels and rules.\n- `transition = none`: nothing animates 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. A new module is a `.ds-panel` with a yellow title strip; a new index is a `.ds-directory` or a `.ds-list`; a new band is a flat fill of `--fill-bar` or one of `--color-fill-*` at full column width; anything tabular is a `.ds-table` with 2px spacing. Keep text at 13px or 10px, keep links underlined and blue, separate with 1px or 2px rules, and never add radius, shadow, gradient, hover effects or more whitespace than `--space-5`.\n",
    "components.css": "/* Layout tokens (structure part). Read from the 1998 and 1999 portal captures:\n   a 600px column centred in an 800px window, 2px cell spacing, 4px cell\n   padding, a 10px gutter between columns and a 40px list indent. */\n:root {\n  --size-page: 600px;\n  --size-sidebar: 190px;\n  --size-search: 250px;\n  --size-label: 110px;\n  --size-field: 180px;\n  --size-area: 240px;\n  --size-check: 13px;\n  --size-dialog: 320px;\n  --space-1: 2px;\n  --space-2: 4px;\n  --space-3: 8px;\n  --space-4: 10px;\n  --space-5: 16px;\n  --space-6: 40px;\n}\n\n/* ---------- shell ---------- */\n.ds-page {\n  margin: 0;\n  padding: 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/* The margin is inside the sheet, so a canvas that differs from the page\n   keeps its text off the sheet edge. */\n.ds-page__frame {\n  width: var(--size-page);\n  margin: 0 auto;\n  padding: var(--space-3);\n  background: var(--color-canvas);\n  border-radius: var(--radius-page);\n  box-shadow: var(--shadow-panel);\n}\n/* Main column and a sidebar on the right behind a 1px rule. */\n.ds-page__columns {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) var(--size-sidebar);\n  column-gap: var(--space-4);\n  align-items: start;\n  padding: var(--space-3) 0;\n}\n.ds-page__main {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-5);\n  min-width: 0;\n}\n/* Inner page: one full-width column below the header, no sidebar. */\n.ds-page__inner {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-5);\n  padding: 0 0 var(--space-3);\n}\n/* Path, page header, tab strip and the closing rule sit on each other. */\n.ds-page__head {\n  display: flex;\n  flex-direction: column;\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\n/* ---------- rules and section headings ---------- */\n/* Thick coloured rule that closes the header and opens the footer. */\n.ds-rule {\n  height: 0;\n  margin: var(--space-2) 0;\n  border: 0;\n  border-top: var(--border-width-strong) var(--border-style) var(--color-bar);\n}\n.ds-rule--thin {\n  border-top: var(--border-width) var(--border-style) var(--color-border);\n}\n/* Section title: bold sans on a 2px coloured underline. */\n.ds-heading {\n  margin: 0 0 var(--space-2);\n  border-bottom: var(--border-width-strong) var(--border-style) var(--color-fill-3);\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/* ---------- 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  font-family: var(--font-ui);\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\n/* ---------- nav ---------- */\n.ds-nav {\n  padding: 0;\n}\n.ds-nav__top {\n  display: flex;\n  align-items: flex-end;\n  justify-content: space-between;\n  gap: var(--space-4);\n  padding: var(--space-2) 0;\n}\n/* brand: the mark on a small bevelled tile dressed like the button, then the name */\n.ds-brand {\n  display: flex;\n  align-items: center;\n  gap: var(--space-2);\n  color: var(--color-heading-alt);\n  text-decoration: none;\n}\n.ds-brand__mark {\n  display: flex;\n  flex: none;\n  align-items: center;\n  justify-content: center;\n  box-sizing: border-box;\n  width: calc(var(--text-display) + var(--space-2));\n  height: calc(var(--text-display) + var(--space-2));\n  background: var(--color-button);\n  background: var(--fill-button);\n  color: var(--color-button-text);\n  border: var(--border-width-strong) outset var(--color-border-muted);\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-display);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-display);\n  letter-spacing: var(--heading-tracking);\n  text-transform: var(--heading-transform);\n}\n.ds-nav__tagline {\n  flex: 1;\n  padding: 0 0 var(--space-1);\n  color: var(--color-heading-alt);\n  font-family: var(--font-heading);\n  font-size: var(--text-base);\n  font-weight: var(--weight-bold);\n}\n.ds-nav__tools {\n  display: flex;\n  gap: var(--space-4);\n  margin: 0;\n  padding: 0 0 var(--space-1);\n  list-style: none;\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  text-transform: var(--ui-transform);\n}\n.ds-nav__links {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  margin: 0;\n  padding: var(--space-2) var(--space-5);\n  list-style: none;\n  text-align: center;\n  font-size: var(--text-base);\n  text-transform: var(--ui-transform);\n}\n.ds-nav__item + .ds-nav__item::before {\n  content: \"-\";\n  padding: 0 var(--space-2);\n  color: var(--color-text);\n}\n.ds-nav__link {\n  color: var(--color-link);\n  text-decoration: var(--link-decoration-quiet);\n}\n.ds-nav__link:visited,\n.ds-nav__link.is-visited {\n  color: var(--color-link-visited);\n}\n.ds-nav__link:hover,\n.ds-nav__link.is-hover {\n  color: var(--color-link-hover);\n}\n/* The current page: its own link, bold, in the text colour, not underlined.\n   One selector per view, and the home link when the address names no view. */\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(#category:target) .ds-nav__link[href=\"#category\"],\n.ds-page:has(#search:target) .ds-nav__link[href=\"#search\"],\n.ds-page:has(#mypage:target) .ds-nav__link[href=\"#mypage\"],\n.ds-page:has(#help:target) .ds-nav__link[href=\"#help\"] {\n  color: var(--color-text);\n  font-weight: var(--weight-bold);\n  text-decoration: none;\n}\n\n/* ---------- hero: the search band ---------- */\n.ds-hero {\n  padding: var(--space-3) var(--space-5);\n  background: var(--fill-bar);\n  color: var(--color-bar-text);\n  border: var(--border-width) var(--border-style) var(--color-border);\n  border-radius: var(--radius-page);\n  font-family: var(--font-ui);\n  font-size: var(--text-ui);\n  text-shadow: var(--shadow-text);\n}\n.ds-hero__head {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: baseline;\n  column-gap: var(--space-3);\n}\n.ds-hero__title {\n  margin: 0;\n  font-family: var(--font-heading);\n  font-size: var(--text-ui);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n}\n.ds-hero__lead {\n  flex: 1;\n  margin: 0;\n  font-family: var(--font-body);\n  font-size: var(--text-base);\n}\n.ds-hero__more {\n  font-size: var(--text-small);\n}\n.ds-hero__action {\n  display: flex;\n  align-items: center;\n  gap: var(--space-2);\n  padding: var(--space-2) 0;\n}\n.ds-hero__field {\n  width: var(--size-search);\n}\n.ds-hero__hint {\n  margin: 0;\n  font-size: var(--text-ui);\n}\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-3) 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-3);\n}\n.ds-prose ul,\n.ds-prose ol {\n  margin: 0 0 var(--space-3);\n  padding: 0 0 0 var(--space-6);\n}\n.ds-prose strong {\n  font-weight: var(--weight-bold);\n}\n.ds-prose code {\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\n/* ---------- page header: title and one line, action at the right ---------- */\n.ds-page-header {\n  display: flex;\n  align-items: flex-end;\n  justify-content: space-between;\n  gap: var(--space-4);\n  padding: 0 0 var(--space-2);\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  font-family: var(--font-body);\n  font-size: var(--text-base);\n}\n.ds-page-header__action {\n  flex: none;\n}\n\n/* ---------- buttons ---------- */\n.ds-buttons {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: var(--space-3);\n}\n.ds-button {\n  display: inline-block;\n  margin: 0;\n  padding: var(--space-1) var(--space-3);\n  background: var(--fill-button);\n  color: var(--color-button-text);\n  border: var(--border-width-strong) outset var(--color-border-muted);\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-transform: var(--ui-transform);\n  text-decoration: none;\n  text-shadow: var(--shadow-text);\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  border-style: inset;\n  box-shadow: var(--shadow-control-pressed);\n}\n.ds-button:focus-visible,\n.ds-button.is-focus {\n  outline: var(--focus-ring);\n}\n.ds-button--secondary,\n.ds-button--secondary:hover,\n.ds-button--secondary.is-hover {\n  background: var(--fill-button-secondary);\n  color: var(--color-button-secondary-text);\n}\n.ds-button--large {\n  font-size: var(--text-large);\n}\n/* Destructive action: the same bevel on the surface colour, the label in the\n   bold danger colour, which every palette keeps legible on its surface. */\n.ds-button--danger,\n.ds-button--danger:hover,\n.ds-button--danger.is-hover {\n  background: var(--color-surface);\n  color: var(--color-danger);\n  font-weight: var(--weight-bold);\n}\n.ds-button:disabled,\n.ds-button.is-disabled {\n  background: var(--color-disabled);\n  color: var(--color-disabled-text);\n  box-shadow: none;\n}\n\n/* ---------- form ---------- */\n.ds-form {\n  display: grid;\n  grid-template-columns: var(--size-label) minmax(0, 1fr);\n  column-gap: var(--space-3);\n  row-gap: var(--space-2);\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  text-align: right;\n  font-weight: var(--weight-bold);\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  margin: 0;\n  padding: var(--space-1);\n  background: var(--fill-input);\n  color: var(--color-input-text);\n  border: var(--border-width-strong) inset var(--color-input-border);\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  transition: var(--transition);\n}\n.ds-form__input {\n  width: var(--size-field);\n}\n.ds-form__input--short {\n  width: var(--space-6);\n}\n.ds-form__select {\n  border-style: outset;\n  background: var(--fill-button);\n  color: var(--color-button-text);\n}\n.ds-form__textarea {\n  display: block;\n  width: var(--size-area);\n  font-family: var(--font-mono);\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}\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__check {\n  appearance: none;\n  box-sizing: border-box;\n  width: var(--size-check);\n  height: var(--size-check);\n  margin: 0 var(--space-2) 0 0;\n  padding: var(--space-1);\n  vertical-align: middle;\n  background-color: var(--color-input);\n  border: var(--border-width-strong) inset var(--color-input-border);\n  border-radius: var(--radius-control);\n}\n/* The tick is a block of the field's text colour inside the field's own\n   fill, so it reads the same on a light and on a dark page. */\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-color: var(--color-input-text);\n}\n.ds-form__hint {\n  font-size: var(--text-small);\n  color: var(--color-text-muted);\n}\n.ds-form__error {\n  display: block;\n  color: var(--color-danger);\n  font-weight: var(--weight-bold);\n}\n.ds-form__actions {\n  grid-column: 2;\n  display: flex;\n  gap: var(--space-3);\n  padding: var(--space-2) 0 0;\n}\n\n/* ---------- table: bordered cells with 2px spacing ---------- */\n.ds-table {\n  width: 100%;\n  border-collapse: separate;\n  border-spacing: var(--space-1);\n  background: var(--fill-panel);\n  border: var(--border-width) var(--border-style) var(--color-border);\n  border-radius: var(--radius-panel);\n  font-family: var(--font-body);\n  font-size: var(--text-base);\n}\n.ds-table__head {\n  padding: var(--space-2);\n  background: var(--fill-bar);\n  color: var(--color-bar-text);\n  border: var(--border-width) var(--border-style) var(--color-border);\n  font-family: var(--font-ui);\n  font-weight: var(--weight-body);\n  text-align: center;\n}\n.ds-table__cell {\n  padding: var(--space-2);\n  background: var(--color-surface);\n  border: var(--border-width) var(--border-style) var(--color-border);\n  text-align: left;\n}\n.ds-table__cell--num {\n  text-align: right;\n}\n.ds-table__cell--up {\n  color: var(--color-heading-alt);\n}\n.ds-table__cell--down {\n  color: var(--color-accent-alt);\n}\n.ds-table__cell--group {\n  background: var(--color-fill-1);\n  font-family: var(--font-ui);\n  text-align: center;\n}\n.ds-table__row--alt .ds-table__cell {\n  background: var(--color-surface-alt);\n}\n.ds-table__caption {\n  caption-side: bottom;\n  padding: var(--space-1) 0;\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  text-align: center;\n}\n\n/* ---------- stats: one row of bordered figure cells ---------- */\n.ds-stat {\n  display: flex;\n  gap: var(--space-1);\n  margin: 0;\n  padding: var(--space-1);\n  list-style: none;\n  background: var(--fill-panel);\n  border: var(--border-width) var(--border-style) var(--color-border);\n  border-radius: var(--radius-panel);\n}\n.ds-stat__item {\n  flex: 1;\n  padding: var(--space-1) var(--space-2);\n  background: var(--color-fill-1);\n  border: var(--border-width) var(--border-style) var(--color-border);\n  text-align: center;\n}\n.ds-stat__value {\n  display: block;\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}\n.ds-stat__label {\n  display: block;\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n}\n\n/* ---------- list: headlines with bullets ---------- */\n.ds-list {\n  margin: 0;\n  padding: 0 0 0 var(--space-6);\n  list-style: disc;\n  font-size: var(--text-base);\n}\n.ds-list__item {\n  padding: 0;\n}\n.ds-list__meta {\n  color: var(--color-text-muted);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n}\n.ds-list__more {\n  margin: var(--space-2) 0 0;\n  text-align: right;\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  font-weight: var(--weight-bold);\n}\n\n/* ---------- directory: two columns of categories ---------- */\n.ds-directory {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  column-gap: var(--space-4);\n  row-gap: var(--space-3);\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n.ds-directory__title {\n  display: block;\n  color: var(--color-link);\n  font-family: var(--font-heading);\n  font-size: var(--text-large);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n  text-decoration: var(--link-decoration-quiet);\n}\n.ds-directory__title:visited,\n.ds-directory__title.is-visited {\n  color: var(--color-link-visited);\n}\n.ds-directory__title:hover,\n.ds-directory__title.is-hover {\n  color: var(--color-link-hover);\n}\n.ds-directory__subs {\n  display: block;\n  font-size: var(--text-base);\n}\n\n/* ---------- panel: title strip and body ---------- */\n.ds-panel {\n  background: var(--fill-panel);\n  border-radius: var(--radius-panel);\n  box-shadow: var(--shadow-panel);\n}\n.ds-panel__title {\n  display: flex;\n  align-items: baseline;\n  justify-content: space-between;\n  margin: 0;\n  padding: 0 var(--space-2);\n  background: var(--fill-bar-alt);\n  color: var(--color-bar-alt-text);\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__tool {\n  font-size: var(--text-base);\n  font-weight: var(--weight-body);\n}\n.ds-panel__body {\n  padding: var(--space-2) 0;\n}\n.ds-panel--boxed {\n  border: var(--border-width) var(--border-style) var(--color-border-strong);\n}\n.ds-panel--boxed .ds-panel__body {\n  padding: var(--space-2);\n}\n\n/* ---------- grid: coloured cells with 2px spacing ---------- */\n.ds-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: var(--space-1);\n}\n.ds-grid__cell {\n  padding: var(--space-2) var(--space-3);\n  background: var(--color-fill-1);\n  border: var(--border-width) var(--border-style) var(--color-border);\n  border-radius: var(--radius-page);\n}\n.ds-grid__cell--2 {\n  background: var(--color-fill-2);\n}\n.ds-grid__cell--3 {\n  background: var(--color-fill-3);\n}\n.ds-grid__cell--4 {\n  background: var(--color-fill-4);\n}\n.ds-grid__title {\n  margin: 0;\n  font-family: var(--font-heading);\n  font-size: var(--text-base);\n  font-weight: var(--weight-heading);\n}\n.ds-grid__text {\n  margin: 0;\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n}\n\n/* ---------- tabs: a strip of text links ---------- */\n.ds-tabs {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: baseline;\n  margin: 0;\n  padding: var(--space-1) var(--space-3);\n  list-style: none;\n  background: var(--color-surface-alt);\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  text-transform: var(--ui-transform);\n}\n.ds-tabs__item + .ds-tabs__item::before {\n  content: \"|\";\n  padding: 0 var(--space-2);\n  color: var(--color-text);\n}\n.ds-tabs__tab {\n  color: var(--color-link);\n  text-decoration: var(--link-decoration-quiet);\n}\n.ds-tabs__tab:hover,\n.ds-tabs__tab.is-hover {\n  color: var(--color-link-hover);\n}\n.ds-tabs__tab.is-current {\n  color: var(--color-text);\n  font-weight: var(--weight-bold);\n  text-decoration: none;\n}\n\n/* ---------- badge ---------- */\n.ds-badge {\n  display: inline-block;\n  padding: 0 var(--space-1);\n  background: var(--fill-accent);\n  color: var(--color-accent-text);\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}\n/* The usual form: a coloured word next to a link, no box. */\n.ds-badge--text {\n  padding: 0;\n  background: transparent;\n  color: var(--color-accent-alt);\n  font-size: var(--text-base);\n}\n.ds-badge--count {\n  background: transparent;\n  color: var(--color-text-muted);\n  font-weight: var(--weight-body);\n}\n/* Status labels: the same small solid block in a flat status colour. */\n.ds-badge--success {\n  background: var(--color-success);\n  color: var(--color-accent-text);\n}\n.ds-badge--warning {\n  background: var(--color-warning);\n  color: var(--color-bar-alt-text);\n}\n.ds-badge--danger {\n  background: var(--color-danger);\n  color: var(--color-accent-text);\n}\n/* A key line that explains the labels. */\n.ds-badges {\n  display: block;\n  padding: 0 0 var(--space-1);\n}\n\n/* ---------- sidebar ---------- */\n.ds-sidebar {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-3);\n  padding: 0 0 0 var(--space-3);\n  border-left: var(--border-width) var(--border-style) var(--color-border);\n}\n.ds-sidebar__date {\n  margin: 0;\n  color: var(--color-heading);\n  font-family: var(--font-heading);\n  font-size: var(--text-base);\n  font-weight: var(--weight-bold);\n}\n.ds-sidebar__title {\n  margin: 0;\n  padding: 0 var(--space-2);\n  background: var(--fill-bar-alt);\n  color: var(--color-bar-alt-text);\n  font-family: var(--font-heading);\n  font-size: var(--text-base);\n  font-weight: var(--weight-heading);\n  line-height: var(--line-heading);\n}\n.ds-sidebar__list {\n  margin: var(--space-2) 0 0;\n  padding: 0 0 0 calc(var(--space-5) + var(--space-2));\n  list-style: disc;\n  font-size: var(--text-base);\n}\n.ds-sidebar__item {\n  padding: 0 0 var(--space-2);\n}\n.ds-sidebar__more {\n  margin: 0;\n  text-align: right;\n  font-family: var(--font-ui);\n  font-size: var(--text-small);\n  font-weight: var(--weight-bold);\n}\n.ds-sidebar__lookup {\n  display: flex;\n  align-items: center;\n  gap: var(--space-1);\n  margin: var(--space-2) 0 0;\n}\n.ds-sidebar__field {\n  width: 100%;\n  min-width: 0;\n}\n\n/* ---------- notice ---------- */\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-3);\n  background: var(--color-notice);\n  color: var(--color-notice-text);\n  border: var(--border-width) var(--border-style) var(--color-bar-alt);\n  border-radius: var(--radius-panel);\n  font-family: var(--font-ui);\n  font-size: var(--text-base);\n}\n.ds-notice--center {\n  text-align: center;\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\n/* ---------- pagination ---------- */\n.ds-pagination {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  align-items: baseline;\n  gap: var(--space-2);\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  font-family: var(--font-ui);\n  font-size: var(--text-base);\n}\n.ds-pagination__label {\n  font-weight: var(--weight-bold);\n}\n.ds-pagination__link {\n  color: var(--color-link);\n  text-decoration: var(--link-decoration-quiet);\n}\n.ds-pagination__link:hover,\n.ds-pagination__link.is-hover {\n  color: var(--color-link-hover);\n}\n.ds-pagination__link.is-current {\n  color: var(--color-text);\n  font-weight: var(--weight-bold);\n  text-decoration: none;\n}\n.ds-pagination__link.is-disabled {\n  color: var(--color-disabled-text);\n  text-decoration: none;\n}\n\n/* ---------- breadcrumb ---------- */\n.ds-breadcrumb {\n  display: flex;\n  flex-wrap: wrap;\n  margin: 0;\n  padding: var(--space-2) 0;\n  list-style: none;\n  font-family: var(--font-ui);\n  font-size: var(--text-base);\n  font-weight: var(--weight-bold);\n}\n.ds-breadcrumb__item + .ds-breadcrumb__item::before {\n  content: \">\";\n  padding: 0 var(--space-2);\n  color: var(--color-text);\n  font-weight: var(--weight-body);\n}\n.ds-breadcrumb__item.is-current {\n  color: var(--color-text);\n}\n\n/* ---------- dialog: a bordered box in the page flow ---------- */\n.ds-dialog {\n  position: static;\n  box-sizing: border-box;\n  width: var(--size-dialog);\n  margin: 0 auto;\n  padding: 0;\n  background: var(--fill-panel);\n  color: var(--color-text);\n  border: var(--border-width) var(--border-style) var(--color-border-strong);\n  border-radius: var(--radius-panel);\n  box-shadow: var(--shadow-dialog);\n  font-family: var(--font-ui);\n  font-size: var(--text-base);\n}\n.ds-dialog__title {\n  margin: 0;\n  padding: var(--space-1) var(--space-2);\n  background: var(--fill-inverse);\n  color: var(--color-inverse-text);\n  font-family: var(--font-heading);\n  font-size: var(--text-base);\n  font-weight: var(--weight-heading);\n}\n.ds-dialog__body {\n  margin: 0;\n  padding: var(--space-3);\n  text-align: center;\n}\n.ds-dialog__actions {\n  display: flex;\n  justify-content: center;\n  gap: var(--space-3);\n  padding: 0 var(--space-3) var(--space-3);\n}\n\n/* ---------- empty state ---------- */\n.ds-empty {\n  padding: var(--space-5) var(--space-3);\n  background: var(--color-surface-alt);\n  text-align: center;\n  font-size: var(--text-base);\n}\n.ds-empty__title {\n  margin: 0 0 var(--space-2);\n  font-family: var(--font-heading);\n  font-size: var(--text-large);\n  font-weight: var(--weight-heading);\n}\n.ds-empty__text {\n  margin: 0 0 var(--space-3);\n}\n\n/* ---------- footer ---------- */\n.ds-footer {\n  padding: 0 0 var(--space-5);\n  text-align: center;\n  font-size: var(--text-base);\n}\n.ds-footer__links {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  margin: 0;\n  padding: var(--space-2) var(--space-5);\n  list-style: none;\n}\n.ds-footer__item + .ds-footer__item::before {\n  content: \"-\";\n  padding: 0 var(--space-2);\n}\n.ds-footer__links--small {\n  font-size: var(--text-small);\n}\n.ds-footer__links--small .ds-footer__item + .ds-footer__item::before {\n  content: \"|\";\n}\n.ds-footer__label {\n  padding: 0 var(--space-2) 0 0;\n  font-family: var(--font-ui);\n  font-weight: var(--weight-bold);\n}\n.ds-footer__legal {\n  margin: var(--space-3) 0 0;\n  font-size: var(--text-small);\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>Table-era portal, 1996 to 2000: 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__frame\">\n\n  <header class=\"ds-nav\" data-component=\"nav\">\n    <div class=\"ds-nav__top\">\n      <a class=\"ds-brand\" data-component=\"brand\" href=\"#\">\n        <span class=\"ds-brand__mark\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"square\" shape-rendering=\"crispEdges\" 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-nav__tagline\">Your front door to the Web</span>\n      <ul class=\"ds-nav__tools\">\n        <li><a class=\"ds-link\" href=\"#\">What's New</a></li>\n        <li><a class=\"ds-link\" href=\"#\">Free Mail</a></li>\n        <li><a class=\"ds-link\" href=\"#mypage\">Sign In</a></li>\n      </ul>\n    </div>\n    <ul class=\"ds-nav__links\">\n      <li class=\"ds-nav__item\"><a class=\"ds-nav__link\" href=\"#home\">Home</a></li>\n      <li class=\"ds-nav__item\"><a class=\"ds-nav__link\" href=\"#category\">Directory</a></li>\n      <li class=\"ds-nav__item\"><a class=\"ds-nav__link\" href=\"#search\">Search</a></li>\n      <li class=\"ds-nav__item\"><a class=\"ds-nav__link\" href=\"#mypage\">My Page</a></li>\n      <li class=\"ds-nav__item\"><a class=\"ds-nav__link\" href=\"#help\">Help</a></li>\n      <li class=\"ds-nav__item\"><a class=\"ds-nav__link\" href=\"#\">Yellow Pages</a></li>\n      <li class=\"ds-nav__item\"><a class=\"ds-nav__link\" href=\"#\">Maps</a></li>\n      <li class=\"ds-nav__item\"><a class=\"ds-nav__link\" href=\"#\">Chat</a></li>\n      <li class=\"ds-nav__item\"><a class=\"ds-nav__link\" href=\"#\">Weather</a></li>\n      <li class=\"ds-nav__item\"><a class=\"ds-nav__link\" href=\"#\">Stock Quotes</a></li>\n    </ul>\n  </header>\n\n  <section class=\"ds-view ds-view--home\" id=\"home\">\n\n    <section class=\"ds-hero\" data-component=\"hero\">\n      <div class=\"ds-hero__head\">\n        <h1 class=\"ds-hero__title\">Search the Web with chronoskin</h1>\n        <p class=\"ds-hero__lead\">Type a question or a few words.</p>\n        <span class=\"ds-hero__more\"><a class=\"ds-link\" href=\"#help\">Search Tips</a> - <a class=\"ds-link\" href=\"#search\">Power Search</a></span>\n      </div>\n      <form class=\"ds-hero__action\" action=\"#\">\n        <select class=\"ds-form__select\" aria-label=\"Where to search\">\n          <option>the Web</option>\n          <option>this directory</option>\n          <option>newsgroups</option>\n        </select>\n        <input class=\"ds-form__input ds-hero__field\" type=\"text\" aria-label=\"Search words\">\n        <a class=\"ds-button\" href=\"#search\">Search</a>\n      </form>\n      <p class=\"ds-hero__hint\">Example: <strong>where can I find sheet music for the accordion?</strong></p>\n    </section>\n\n    <ul class=\"ds-tabs\">\n      <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab is-current\" href=\"#\">Directory</a></li>\n      <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#\">News</a></li>\n      <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#\">Money</a></li>\n      <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#\">Sports</a></li>\n      <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#\">Shopping</a></li>\n      <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#\">Travel</a></li>\n      <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#\">Community</a></li>\n      <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#\">All channels...</a></li>\n    </ul>\n\n    <hr class=\"ds-rule\">\n\n    <div class=\"ds-page__columns\">\n      <main class=\"ds-page__main\">\n\n        <ul class=\"ds-directory\">\n          <li><a class=\"ds-directory__title\" href=\"#\">Arts &amp; Books</a><span class=\"ds-directory__subs\"><a class=\"ds-link\" href=\"#\">Museums</a>, <a class=\"ds-link\" href=\"#\">Photography</a>, <a class=\"ds-link\" href=\"#\">Poetry</a>...</span></li>\n          <li><a class=\"ds-directory__title\" href=\"#\">Money &amp; Work</a><span class=\"ds-directory__subs\"><a class=\"ds-link\" href=\"#\">Banking</a>, <a class=\"ds-link\" href=\"#\">Jobs</a>, <a class=\"ds-link\" href=\"#\">Small Firms</a>...</span></li>\n          <li><a class=\"ds-directory__title\" href=\"#category\">Computers</a> <span class=\"ds-directory__subs\"><a class=\"ds-link\" href=\"#\">Modems</a>, <a class=\"ds-link\" href=\"#\">Software</a>, <a class=\"ds-link is-visited\" href=\"#category\">Web Authoring</a>...</span></li>\n          <li><a class=\"ds-directory__title\" href=\"#\">Places</a><span class=\"ds-directory__subs\"><a class=\"ds-link\" href=\"#\">Countries</a>, <a class=\"ds-link\" href=\"#\">Cities</a>, <a class=\"ds-link\" href=\"#\">Maps</a>...</span></li>\n          <li><a class=\"ds-directory__title\" href=\"#\">Schools</a><span class=\"ds-directory__subs\"><a class=\"ds-link\" href=\"#\">Colleges</a>, <a class=\"ds-link\" href=\"#\">Homework</a>, <a class=\"ds-link\" href=\"#\">Languages</a>...</span></li>\n          <li><a class=\"ds-directory__title\" href=\"#\">Science</a><span class=\"ds-directory__subs\"><a class=\"ds-link\" href=\"#\">Astronomy</a>, <a class=\"ds-link\" href=\"#\">Geology</a>, <a class=\"ds-link\" href=\"#\">Weather</a>...</span></li>\n          <li><a class=\"ds-directory__title\" href=\"#\">Fun &amp; Games</a> <span class=\"ds-directory__subs\"><a class=\"ds-link\" href=\"#\">Cinema</a>, <a class=\"ds-link\" href=\"#\">Puzzles</a>, <a class=\"ds-link\" href=\"#\">Radio</a> <span class=\"ds-badge ds-badge--text\">New!</span></span></li>\n          <li><a class=\"ds-directory__title\" href=\"#\">Outdoors</a><span class=\"ds-directory__subs\"><a class=\"ds-link\" href=\"#\">Cycling</a>, <a class=\"ds-link\" href=\"#\">Fishing</a>, <a class=\"ds-link\" href=\"#\">Hiking</a>...</span></li>\n          <li><a class=\"ds-directory__title\" href=\"#\">Health</a><span class=\"ds-directory__subs\"><a class=\"ds-link\" href=\"#\">Fitness</a>, <a class=\"ds-link\" href=\"#\">Nutrition</a>, <a class=\"ds-link\" href=\"#\">Sleep</a>...</span></li>\n          <li><a class=\"ds-directory__title\" href=\"#\">Home &amp; Garden</a><span class=\"ds-directory__subs\"><a class=\"ds-link\" href=\"#\">Recipes</a>, <a class=\"ds-link\" href=\"#\">Pets</a>, <a class=\"ds-link\" href=\"#\">Repairs</a>...</span></li>\n        </ul>\n\n        <section>\n          <h2 class=\"ds-heading\">Today's Headlines</h2>\n          <ul class=\"ds-list\" data-component=\"list\">\n            <li class=\"ds-list__item\"><a class=\"ds-link\" href=\"#\">Harbour bridge reopens after a winter of repairs</a> <span class=\"ds-list__meta\">(9:40AM)</span></li>\n            <li class=\"ds-list__item\"><a class=\"ds-link\" href=\"#\">Town library puts its whole catalogue online</a> <span class=\"ds-list__meta\">(8:15AM)</span></li>\n            <li class=\"ds-list__item\"><a class=\"ds-link\" href=\"#\">Rain forecast for the weekend regatta</a> <span class=\"ds-list__meta\">(7:52AM)</span></li>\n            <li class=\"ds-list__item\"><a class=\"ds-link\" href=\"#\">Chess club beats rivals in a postal tournament</a> <span class=\"ds-list__meta\">(Tue 6:05PM)</span></li>\n          </ul>\n          <p class=\"ds-list__more\"><a class=\"ds-link\" href=\"#\">More News...</a></p>\n        </section>\n\n        <div class=\"ds-grid\" data-component=\"grid\">\n          <div class=\"ds-grid__cell\">\n            <p class=\"ds-grid__title\"><a class=\"ds-link\" href=\"#help\">Free Home Pages</a></p>\n            <p class=\"ds-grid__text\">Build a page of your own in ten minutes.</p>\n          </div>\n          <div class=\"ds-grid__cell ds-grid__cell--2\">\n            <p class=\"ds-grid__title\"><a class=\"ds-link\" href=\"#\">Chat Tonight</a></p>\n            <p class=\"ds-grid__text\">8pm: gardeners' hour. 9pm: film trivia.</p>\n          </div>\n          <div class=\"ds-grid__cell ds-grid__cell--3\">\n            <p class=\"ds-grid__title\"><a class=\"ds-link\" href=\"#\">Bargain Finder</a></p>\n            <p class=\"ds-grid__text\">Compare prices on books, music and software.</p>\n          </div>\n          <div class=\"ds-grid__cell ds-grid__cell--4\">\n            <p class=\"ds-grid__title\"><a class=\"ds-link\" href=\"#\">Postcards</a></p>\n            <p class=\"ds-grid__text\">Send a greeting to anyone with e-mail.</p>\n          </div>\n        </div>\n\n        <section class=\"ds-panel\" data-component=\"panel\">\n          <h2 class=\"ds-panel__title\">My Markets <a class=\"ds-link ds-panel__tool\" href=\"#mypage\">Change</a></h2>\n          <div class=\"ds-panel__body\">\n            <table class=\"ds-table\">\n              <caption class=\"ds-table__caption\">Prices delayed 20 minutes. <a class=\"ds-link\" href=\"#\">Full Portfolio</a> | <a class=\"ds-link\" href=\"#\">Symbol Lookup</a></caption>\n              <thead>\n                <tr>\n                  <th class=\"ds-table__head\" scope=\"col\">Symbol</th>\n                  <th class=\"ds-table__head\" scope=\"col\">Company</th>\n                  <th class=\"ds-table__head\" scope=\"col\">Price</th>\n                  <th class=\"ds-table__head\" scope=\"col\">Change</th>\n                </tr>\n              </thead>\n              <tbody>\n                <tr>\n                  <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#\">HBRL</a></td>\n                  <td class=\"ds-table__cell\">Harbour Rail</td>\n                  <td class=\"ds-table__cell ds-table__cell--num\">48.562</td>\n                  <td class=\"ds-table__cell ds-table__cell--num ds-table__cell--up\">+1.062</td>\n                </tr>\n                <tr class=\"ds-table__row--alt\">\n                  <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#\">KLNW</a></td>\n                  <td class=\"ds-table__cell\">Kiln Works</td>\n                  <td class=\"ds-table__cell ds-table__cell--num\">17.250</td>\n                  <td class=\"ds-table__cell ds-table__cell--num ds-table__cell--down\">-0.375</td>\n                </tr>\n                <tr>\n                  <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#\">MDWP</a></td>\n                  <td class=\"ds-table__cell\">Meadow Paper</td>\n                  <td class=\"ds-table__cell ds-table__cell--num\">59.375</td>\n                  <td class=\"ds-table__cell ds-table__cell--num ds-table__cell--down\">-1.625</td>\n                </tr>\n                <tr class=\"ds-table__row--alt\">\n                  <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#\">OTTR</a></td>\n                  <td class=\"ds-table__cell\">Otter Freight</td>\n                  <td class=\"ds-table__cell ds-table__cell--num\">110.470</td>\n                  <td class=\"ds-table__cell ds-table__cell--num ds-table__cell--up\">+4.170</td>\n                </tr>\n                <tr>\n                  <td class=\"ds-table__cell ds-table__cell--group\" colspan=\"4\"><a class=\"ds-link\" href=\"#\">Open a practice portfolio</a></td>\n                </tr>\n              </tbody>\n            </table>\n          </div>\n        </section>\n\n      </main>\n\n      <aside class=\"ds-sidebar\" data-component=\"sidebar\">\n        <p class=\"ds-sidebar__date\">Wednesday - May 5</p>\n\n        <section>\n          <h2 class=\"ds-sidebar__title\">Stock Quotes</h2>\n          <form class=\"ds-sidebar__lookup\" action=\"#\">\n            <input class=\"ds-form__input ds-sidebar__field\" type=\"text\" aria-label=\"Symbol\">\n            <button class=\"ds-button\" type=\"button\">Get</button>\n          </form>\n        </section>\n\n        <section>\n          <h2 class=\"ds-sidebar__title\">In the News</h2>\n          <ul class=\"ds-sidebar__list\">\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#\">Ferry strike enters second week</a></li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#\">Comet visible before dawn</a></li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link is-visited\" href=\"#\">Cup final goes to a replay</a></li>\n          </ul>\n          <p class=\"ds-sidebar__more\"><a class=\"ds-link\" href=\"#\">More News...</a></p>\n        </section>\n\n        <section>\n          <h2 class=\"ds-sidebar__title\">Shopping</h2>\n          <ul class=\"ds-sidebar__list\">\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#\">Spring bulbs by post</a> <span class=\"ds-badge\">NEW</span></li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#\">Paperbacks from 99 cents</a></li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#\">Long-distance calling cards</a></li>\n          </ul>\n          <p class=\"ds-sidebar__more\"><a class=\"ds-link\" href=\"#\">More Shopping...</a></p>\n        </section>\n\n        <section>\n          <h2 class=\"ds-sidebar__title\">Weather</h2>\n          <ul class=\"ds-sidebar__list\">\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#\">Eastport</a>: showers, high 14</li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#\">Millbrook</a>: fair, high 17</li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#\">Port Alder</a>: fog, high 12</li>\n          </ul>\n          <p class=\"ds-sidebar__more\"><a class=\"ds-link\" href=\"#mypage\">Choose Your Town...</a></p>\n        </section>\n\n        <section>\n          <h2 class=\"ds-sidebar__title\">Classifieds</h2>\n          <ul class=\"ds-sidebar__list\">\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#\">Upright piano, buyer collects</a></li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#\">Room to let near the harbour</a></li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#\">Sailing dinghy with trailer</a></li>\n          </ul>\n          <p class=\"ds-sidebar__more\"><a class=\"ds-link\" href=\"#\">More Classifieds...</a></p>\n        </section>\n\n        <section>\n          <h2 class=\"ds-sidebar__title\">Inside chronoskin</h2>\n          <ul class=\"ds-sidebar__list\">\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#\">Message boards</a> <span class=\"ds-badge ds-badge--count\">(312)</span></li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#mypage\">Make this your start page</a></li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#category\">Add your site</a></li>\n            <li class=\"ds-sidebar__item\"><a class=\"ds-link\" href=\"#mypage\">Become a member</a></li>\n          </ul>\n        </section>\n      </aside>\n    </div>\n\n  </section>\n\n  <section class=\"ds-view\" id=\"category\">\n    <div class=\"ds-page__inner\">\n\n      <div class=\"ds-page__head\">\n        <nav aria-label=\"Path\">\n          <ol class=\"ds-breadcrumb\" data-component=\"breadcrumb\">\n            <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#home\">Home</a></li>\n            <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#category\">Computers</a></li>\n            <li class=\"ds-breadcrumb__item is-current\">Web Authoring</li>\n          </ol>\n        </nav>\n        <header class=\"ds-page-header\" data-component=\"page-header\">\n          <div class=\"ds-page-header__text\">\n            <h1 class=\"ds-page-header__title\">Web Authoring</h1>\n            <p class=\"ds-page-header__lead\">Guides and tools for building your first page.</p>\n          </div>\n          <div class=\"ds-page-header__action\">\n            <a class=\"ds-button\" href=\"#search\">Search This Category</a>\n          </div>\n        </header>\n        <ul class=\"ds-tabs\" data-component=\"tabs\">\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab is-current\" href=\"#category\">Sites</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#category\">Reviews</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#category\">Newsgroups</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#category\">Message Boards</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#help\">About This Category</a></li>\n        </ul>\n        <hr class=\"ds-rule\">\n      </div>\n\n      <ul class=\"ds-stat\" data-component=\"stats\">\n        <li class=\"ds-stat__item\"><span class=\"ds-stat__value\">214</span> <span class=\"ds-stat__label\">sites listed</span></li>\n        <li class=\"ds-stat__item\"><span class=\"ds-stat__value\">12</span> <span class=\"ds-stat__label\">new this week</span></li>\n        <li class=\"ds-stat__item\"><span class=\"ds-stat__value\">38</span> <span class=\"ds-stat__label\">awaiting review</span></li>\n        <li class=\"ds-stat__item\"><span class=\"ds-stat__value\">96%</span> <span class=\"ds-stat__label\">links working</span></li>\n      </ul>\n\n      <table class=\"ds-table\" data-component=\"table\">\n        <caption class=\"ds-table__caption\">\n          <span class=\"ds-badges\" data-component=\"badge\">Key: <span class=\"ds-badge ds-badge--success\">LIVE</span> checked this year <span class=\"ds-badge ds-badge--warning\">PENDING</span> waiting for an editor <span class=\"ds-badge ds-badge--danger\">DEAD LINK</span> reported broken <span class=\"ds-badge\">NEW</span> added this week</span>\n          Links are checked twice a year. <a class=\"ds-link\" href=\"#help\">Report a dead link</a> | <a class=\"ds-link\" href=\"#category\">Sort by name</a>\n        </caption>\n        <thead>\n          <tr>\n            <th class=\"ds-table__head\" scope=\"col\">Site</th>\n            <th class=\"ds-table__head\" scope=\"col\">Status</th>\n            <th class=\"ds-table__head\" scope=\"col\">Added</th>\n            <th class=\"ds-table__head\" scope=\"col\">Visits</th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#category\">The Page Builder's Primer</a></td>\n            <td class=\"ds-table__cell\"><span class=\"ds-badge ds-badge--success\">LIVE</span></td>\n            <td class=\"ds-table__cell\">Mar 12</td>\n            <td class=\"ds-table__cell ds-table__cell--num\">4,812</td>\n          </tr>\n          <tr class=\"ds-table__row--alt\">\n            <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#category\">Tags from A to Z</a></td>\n            <td class=\"ds-table__cell\"><span class=\"ds-badge ds-badge--success\">LIVE</span></td>\n            <td class=\"ds-table__cell\">Feb 27</td>\n            <td class=\"ds-table__cell ds-table__cell--num\">3,096</td>\n          </tr>\n          <tr>\n            <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#category\">Background Tile Workshop</a> <span class=\"ds-badge\">NEW</span></td>\n            <td class=\"ds-table__cell\"><span class=\"ds-badge ds-badge--warning\">PENDING</span></td>\n            <td class=\"ds-table__cell\">May 3</td>\n            <td class=\"ds-table__cell ds-table__cell--num\">207</td>\n          </tr>\n          <tr class=\"ds-table__row--alt\">\n            <td class=\"ds-table__cell\"><a class=\"ds-link is-visited\" href=\"#category\">Kit's Guide to Frames</a></td>\n            <td class=\"ds-table__cell\"><span class=\"ds-badge ds-badge--danger\">DEAD LINK</span></td>\n            <td class=\"ds-table__cell\">Nov 19</td>\n            <td class=\"ds-table__cell ds-table__cell--num\">1,540</td>\n          </tr>\n          <tr>\n            <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#category\">Colour Charts for the Screen</a></td>\n            <td class=\"ds-table__cell\"><span class=\"ds-badge ds-badge--success\">LIVE</span></td>\n            <td class=\"ds-table__cell\">Jan 8</td>\n            <td class=\"ds-table__cell ds-table__cell--num\">2,263</td>\n          </tr>\n          <tr class=\"ds-table__row--alt\">\n            <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#category\">Counters and Guestbooks Explained</a></td>\n            <td class=\"ds-table__cell\"><span class=\"ds-badge ds-badge--success\">LIVE</span></td>\n            <td class=\"ds-table__cell\">Dec 2</td>\n            <td class=\"ds-table__cell ds-table__cell--num\">1,988</td>\n          </tr>\n          <tr>\n            <td class=\"ds-table__cell ds-table__cell--group\" colspan=\"4\">Know a page we have missed? <a class=\"ds-link\" href=\"#help\">Suggest a site</a></td>\n          </tr>\n        </tbody>\n      </table>\n\n      <ol class=\"ds-pagination\" data-component=\"pagination\">\n        <li class=\"ds-pagination__label\">Result Pages:</li>\n        <li><a class=\"ds-pagination__link\" href=\"#category\">[&lt;&lt; Prev]</a></li>\n        <li><a class=\"ds-pagination__link\" href=\"#category\">1</a></li>\n        <li><a class=\"ds-pagination__link is-current\" href=\"#category\">2</a></li>\n        <li><a class=\"ds-pagination__link\" href=\"#category\">3</a></li>\n        <li><a class=\"ds-pagination__link\" href=\"#category\">4</a></li>\n        <li><a class=\"ds-pagination__link\" href=\"#category\">5</a></li>\n        <li><a class=\"ds-pagination__link\" href=\"#category\">[Next &gt;&gt;]</a></li>\n      </ol>\n\n      <section class=\"ds-panel\">\n        <h2 class=\"ds-panel__title\">Related Categories <a class=\"ds-link ds-panel__tool\" href=\"#home\">All</a></h2>\n        <div class=\"ds-panel__body\">\n          <ul class=\"ds-directory\">\n            <li><a class=\"ds-directory__title\" href=\"#category\">Graphics</a><span class=\"ds-directory__subs\"><a class=\"ds-link\" href=\"#category\">Buttons</a>, <a class=\"ds-link\" href=\"#category\">Clip Art</a>, <a class=\"ds-link\" href=\"#category\">Scanning</a>...</span></li>\n            <li><a class=\"ds-directory__title\" href=\"#category\">Free Home Pages</a><span class=\"ds-directory__subs\"><a class=\"ds-link\" href=\"#category\">Hosts</a>, <a class=\"ds-link\" href=\"#category\">Web Rings</a>, <a class=\"ds-link\" href=\"#category\">Awards</a>...</span></li>\n          </ul>\n        </div>\n      </section>\n\n    </div>\n  </section>\n\n  <section class=\"ds-view\" id=\"search\">\n    <div class=\"ds-page__inner\">\n\n      <div class=\"ds-page__head\">\n        <nav aria-label=\"Path\">\n          <ol class=\"ds-breadcrumb\">\n            <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#home\">Home</a></li>\n            <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#search\">Search</a></li>\n            <li class=\"ds-breadcrumb__item is-current\">Results</li>\n          </ol>\n        </nav>\n        <header class=\"ds-page-header\">\n          <div class=\"ds-page-header__text\">\n            <h1 class=\"ds-page-header__title\">Search Results</h1>\n            <p class=\"ds-page-header__lead\">14 matches for <strong>building a home page</strong> in the directory.</p>\n          </div>\n          <div class=\"ds-page-header__action\">\n            <a class=\"ds-button\" href=\"#home\">New Search</a>\n          </div>\n        </header>\n        <ul class=\"ds-tabs\">\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab is-current\" href=\"#search\">All Matches</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#search\">Categories (2)</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#search\">Sites (12)</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#search\">Newsgroups (0)</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#help\">Search Tips</a></li>\n        </ul>\n        <hr class=\"ds-rule\">\n      </div>\n\n      <section>\n        <h2 class=\"ds-heading\">Category Matches</h2>\n        <ul class=\"ds-list\">\n          <li class=\"ds-list__item\"><a class=\"ds-link ds-link--strong\" href=\"#category\">Computers &gt; Web Authoring</a> <span class=\"ds-badge ds-badge--count\">(214)</span></li>\n          <li class=\"ds-list__item\"><a class=\"ds-link ds-link--strong\" href=\"#category\">Computers &gt; Free Home Pages</a> <span class=\"ds-badge ds-badge--count\">(96)</span></li>\n        </ul>\n      </section>\n\n      <section>\n        <h2 class=\"ds-heading\">Site Matches</h2>\n        <ul class=\"ds-list\">\n          <li class=\"ds-list__item\"><a class=\"ds-link\" href=\"#category\">The Page Builder's Primer</a>: a first page in ten short lessons, with exercises. <span class=\"ds-list__meta\">(4,812 visits)</span></li>\n          <li class=\"ds-list__item\"><a class=\"ds-link\" href=\"#category\">Tags from A to Z</a>: every tag with an example you can copy. <span class=\"ds-list__meta\">(3,096 visits)</span></li>\n          <li class=\"ds-list__item\"><a class=\"ds-link is-visited\" href=\"#category\">Kit's Guide to Frames</a>: when to split the window and when to leave it alone. <span class=\"ds-list__meta\">(1,540 visits)</span></li>\n          <li class=\"ds-list__item\"><a class=\"ds-link\" href=\"#category\">Colour Charts for the Screen</a>: the 216 colours that look the same everywhere. <span class=\"ds-list__meta\">(2,263 visits)</span></li>\n          <li class=\"ds-list__item\"><a class=\"ds-link\" href=\"#category\">Background Tile Workshop</a> <span class=\"ds-badge ds-badge--text\">New!</span>: patterns that repeat without a seam. <span class=\"ds-list__meta\">(207 visits)</span></li>\n        </ul>\n        <p class=\"ds-list__more\"><a class=\"ds-link\" href=\"#category\">Browse all of Web Authoring...</a></p>\n      </section>\n\n      <ol class=\"ds-pagination\">\n        <li class=\"ds-pagination__label\">Result Pages:</li>\n        <li><a class=\"ds-pagination__link is-disabled\" href=\"#search\">[&lt;&lt; Prev]</a></li>\n        <li><a class=\"ds-pagination__link is-current\" href=\"#search\">1</a></li>\n        <li><a class=\"ds-pagination__link\" href=\"#search\">2</a></li>\n        <li><a class=\"ds-pagination__link\" href=\"#search\">3</a></li>\n        <li><a class=\"ds-pagination__link\" href=\"#search\">[Next &gt;&gt;]</a></li>\n      </ol>\n\n      <section>\n        <h2 class=\"ds-heading\">Newsgroup Matches</h2>\n        <div class=\"ds-empty\" data-component=\"empty\">\n          <h3 class=\"ds-empty__title\">No newsgroup messages matched your search.</h3>\n          <p class=\"ds-empty__text\">Check the spelling, use fewer words, or <a class=\"ds-link\" href=\"#home\">browse the directory</a>.</p>\n          <a class=\"ds-button\" href=\"#home\">Search Again</a>\n        </div>\n      </section>\n\n    </div>\n  </section>\n\n  <section class=\"ds-view\" id=\"mypage\">\n    <div class=\"ds-page__inner\">\n\n      <div class=\"ds-page__head\">\n        <nav aria-label=\"Path\">\n          <ol class=\"ds-breadcrumb\">\n            <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#home\">Home</a></li>\n            <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#mypage\">My Page</a></li>\n            <li class=\"ds-breadcrumb__item is-current\">Personalize</li>\n          </ol>\n        </nav>\n        <header class=\"ds-page-header\">\n          <div class=\"ds-page-header__text\">\n            <h1 class=\"ds-page-header__title\">Personalize Your Page</h1>\n            <p class=\"ds-page-header__lead\">Choose what chronoskin shows you each time you visit.</p>\n          </div>\n          <div class=\"ds-page-header__action\">\n            <a class=\"ds-button\" href=\"#home\">View My Page</a>\n          </div>\n        </header>\n        <ul class=\"ds-tabs\">\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab is-current\" href=\"#mypage\">Profile</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#mypage\">Sections</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#mypage\">Colours</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#help\">Help</a></li>\n        </ul>\n        <hr class=\"ds-rule\">\n      </div>\n\n      <div class=\"ds-notices\" data-component=\"notice\">\n        <p class=\"ds-notice\"><span class=\"ds-notice__label\">Tip:</span> choose a home town and we will show its weather and headlines each time you visit.</p>\n        <p class=\"ds-notice ds-notice--error\"><span class=\"ds-notice__label\">Sorry!</span> Your page was not saved. Please correct the member name and try again.</p>\n      </div>\n\n      <form class=\"ds-form\" data-component=\"form\" action=\"#mypage\">\n        <label class=\"ds-form__label\" for=\"f-name\">Member name:</label>\n        <div class=\"ds-form__field\">\n          <input class=\"ds-form__input\" id=\"f-name\" type=\"text\" value=\"pat\">\n          <span class=\"ds-form__error\">Member names need at least 4 letters.</span>\n        </div>\n        <label class=\"ds-form__label\" for=\"f-mail\">E-mail:</label>\n        <div class=\"ds-form__field\">\n          <input class=\"ds-form__input\" id=\"f-mail\" type=\"text\" value=\"pat@example.net\">\n        </div>\n        <label class=\"ds-form__label\" for=\"f-zip\">Birthday:</label>\n        <div class=\"ds-form__field\">\n          <input class=\"ds-form__input ds-form__input--short\" id=\"f-zip\" type=\"text\" aria-label=\"Month\">\n          <input class=\"ds-form__input ds-form__input--short\" type=\"text\" aria-label=\"Day\">\n          <span class=\"ds-form__hint\">(MM DD)</span>\n        </div>\n        <label class=\"ds-form__label\" for=\"f-town\">Home town:</label>\n        <div class=\"ds-form__field\">\n          <select class=\"ds-form__select\" id=\"f-town\">\n            <option>Eastport</option>\n            <option>Millbrook</option>\n            <option>Port Alder</option>\n          </select>\n        </div>\n        <span class=\"ds-form__label\">Show me:</span>\n        <div class=\"ds-form__field\">\n          <label><input class=\"ds-form__check\" type=\"checkbox\" checked>Weather</label>\n          <label><input class=\"ds-form__check\" type=\"checkbox\">Horoscope</label>\n        </div>\n        <label class=\"ds-form__label\" for=\"f-note\">Comments:</label>\n        <div class=\"ds-form__field\">\n          <textarea class=\"ds-form__textarea\" id=\"f-note\" rows=\"3\"></textarea>\n        </div>\n        <div class=\"ds-form__actions\" data-component=\"buttons\">\n          <button class=\"ds-button\" type=\"button\">Save My Page</button>\n          <button class=\"ds-button ds-button--secondary\" type=\"button\">Reset</button>\n          <button class=\"ds-button\" type=\"button\" disabled>Preview</button>\n          <button class=\"ds-button ds-button--danger\" type=\"button\">Delete My Page</button>\n        </div>\n      </form>\n\n      <section>\n        <h2 class=\"ds-heading\">Sections on Your Page</h2>\n        <table class=\"ds-table\">\n          <thead>\n            <tr>\n              <th class=\"ds-table__head\" scope=\"col\">Section</th>\n              <th class=\"ds-table__head\" scope=\"col\">Shows</th>\n              <th class=\"ds-table__head\" scope=\"col\">Items</th>\n              <th class=\"ds-table__head\" scope=\"col\">Change</th>\n            </tr>\n          </thead>\n          <tbody>\n            <tr>\n              <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#home\">Today's Headlines</a></td>\n              <td class=\"ds-table__cell\">Top stories, updated hourly</td>\n              <td class=\"ds-table__cell ds-table__cell--num\">4</td>\n              <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#mypage\">Edit</a> | <a class=\"ds-link\" href=\"#mypage\">Remove</a></td>\n            </tr>\n            <tr class=\"ds-table__row--alt\">\n              <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#home\">My Markets</a></td>\n              <td class=\"ds-table__cell\">Prices for the symbols you choose</td>\n              <td class=\"ds-table__cell ds-table__cell--num\">4</td>\n              <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#mypage\">Edit</a> | <a class=\"ds-link is-active\" href=\"#mypage\">Remove</a></td>\n            </tr>\n            <tr>\n              <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#home\">Weather</a></td>\n              <td class=\"ds-table__cell\">Eastport, three days ahead</td>\n              <td class=\"ds-table__cell ds-table__cell--num\">3</td>\n              <td class=\"ds-table__cell\"><a class=\"ds-link\" href=\"#mypage\">Edit</a> | <a class=\"ds-link\" href=\"#mypage\">Remove</a></td>\n            </tr>\n          </tbody>\n        </table>\n      </section>\n\n      <section class=\"ds-dialog\" data-component=\"dialog\" role=\"dialog\" aria-labelledby=\"d-title\">\n        <h2 class=\"ds-dialog__title\" id=\"d-title\">Remove this section?</h2>\n        <p class=\"ds-dialog__body\">\"My Markets\" will be taken off your page. You can <a class=\"ds-link\" href=\"#mypage\">add it back</a> at any time.</p>\n        <div class=\"ds-dialog__actions\">\n          <a class=\"ds-button ds-button--danger\" href=\"#mypage\">Remove</a>\n          <a class=\"ds-button ds-button--secondary\" href=\"#mypage\">Cancel</a>\n        </div>\n      </section>\n\n    </div>\n  </section>\n\n  <section class=\"ds-view\" id=\"help\">\n    <div class=\"ds-page__inner\">\n\n      <div class=\"ds-page__head\">\n        <nav aria-label=\"Path\">\n          <ol class=\"ds-breadcrumb\">\n            <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#home\">Home</a></li>\n            <li class=\"ds-breadcrumb__item\"><a class=\"ds-link\" href=\"#help\">Help</a></li>\n            <li class=\"ds-breadcrumb__item is-current\">Using the Directory</li>\n          </ol>\n        </nav>\n        <header class=\"ds-page-header\">\n          <div class=\"ds-page-header__text\">\n            <h1 class=\"ds-page-header__title\">Help</h1>\n            <p class=\"ds-page-header__lead\">Answers to the questions members ask most.</p>\n          </div>\n          <div class=\"ds-page-header__action\">\n            <a class=\"ds-button\" href=\"#search\">Search Help</a>\n          </div>\n        </header>\n        <ul class=\"ds-tabs\">\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab is-current\" href=\"#help\">Using the Directory</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#help\">Searching</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#mypage\">Your Page</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#help\">Free Mail</a></li>\n          <li class=\"ds-tabs__item\"><a class=\"ds-tabs__tab\" href=\"#help\">Write to Us</a></li>\n        </ul>\n        <hr class=\"ds-rule\">\n      </div>\n\n      <article class=\"ds-prose\" data-component=\"typography\">\n        <h1>How the directory works</h1>\n        <p class=\"ds-prose__lead\">Every site here was visited by an editor.</p>\n        <p>The directory lists <strong>more than 40,000 sites</strong> in ten subjects. Every listing is visited by a person before it is added, and checked again twice a year. Start from a subject on the <a class=\"ds-link\" href=\"#home\">front page</a>, or type a few words into the search band.</p>\n        <h2>Building your first page</h2>\n        <p>A page is a plain text file. Save it with the name <code>index.html</code> and send it to your provider's server. The sites in <a class=\"ds-link\" href=\"#category\">Web Authoring</a> show how, step by step.</p>\n        <ul>\n          <li>Keep each page under 40K so it loads over a modem.</li>\n          <li>Give every page a title.</li>\n          <li>Test in more than one browser.</li>\n        </ul>\n        <h2>Reading the links</h2>\n        <p>Links are underlined everywhere on chronoskin, and their colour tells you where you have been.</p>\n        <p class=\"ds-links\" data-component=\"links\">\n          <a class=\"ds-link\" href=\"#help\">A link you have not followed</a> -\n          <a class=\"ds-link is-visited\" href=\"#help\">a link you have visited</a> -\n          <a class=\"ds-link is-hover\" href=\"#help\">a link under the pointer</a> -\n          <a class=\"ds-link is-active\" href=\"#help\">a link as you click it</a> -\n          <a class=\"ds-link ds-link--quiet\" href=\"#help\">a sponsor's link</a> -\n          <a class=\"ds-link ds-link--strong\" href=\"#help\">a bold link</a>\n        </p>\n        <h3>Suggest a site</h3>\n        <p>Know a good page we have missed? Tell the editors and it will be reviewed within two weeks.</p>\n      </article>\n\n      <section class=\"ds-panel ds-panel--boxed\">\n        <h2 class=\"ds-panel__title\">More Help <a class=\"ds-link ds-panel__tool\" href=\"#help\">Index</a></h2>\n        <div class=\"ds-panel__body\">\n          <ul class=\"ds-list\">\n            <li class=\"ds-list__item\"><a class=\"ds-link\" href=\"#search\">How do I search for an exact phrase?</a> <span class=\"ds-list__meta\">(Searching)</span></li>\n            <li class=\"ds-list__item\"><a class=\"ds-link\" href=\"#mypage\">How do I change the sections on my page?</a> <span class=\"ds-list__meta\">(Your Page)</span></li>\n            <li class=\"ds-list__item\"><a class=\"ds-link\" href=\"#category\">Why is a site marked as a dead link?</a> <span class=\"ds-list__meta\">(Directory)</span></li>\n            <li class=\"ds-list__item\"><a class=\"ds-link\" href=\"#help\">I have forgotten my member name</a> <span class=\"ds-list__meta\">(Free Mail)</span></li>\n          </ul>\n        </div>\n      </section>\n\n    </div>\n  </section>\n\n  <footer class=\"ds-footer\" data-component=\"footer\">\n    <hr class=\"ds-rule\">\n    <ul class=\"ds-footer__links\">\n      <li class=\"ds-footer__label\">chronoskin in:</li>\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#\">Canada</a></li>\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#\">France</a></li>\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#\">Germany</a></li>\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#\">Italy</a></li>\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#\">Japan</a></li>\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#\">Sweden</a></li>\n    </ul>\n    <hr class=\"ds-rule ds-rule--thin\">\n    <ul class=\"ds-footer__links ds-footer__links--small\">\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#help\">Help</a></li>\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#home\">Site Map</a></li>\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#category\">Add a Site</a></li>\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#\">Advertise</a></li>\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#\">Jobs</a></li>\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#\">Privacy</a></li>\n      <li class=\"ds-footer__item\"><a class=\"ds-link\" href=\"#\">About chronoskin</a></li>\n    </ul>\n    <p class=\"ds-footer__legal\">Copyright 1999 chronoskin. All rights reserved.</p>\n  </footer>\n\n</div>\n</body>\n</html>\n",
    "style.json": "{\n  \"id\": \"v1.table-era-90s.portal.s01.p01.t01.u01\",\n  \"library\": \"2026.10.07-2111\",\n  \"era\": {\n    \"slug\": \"table-era-90s\",\n    \"years\": [\n      1996,\n      2000\n    ]\n  },\n  \"archetype\": \"portal\",\n  \"mode\": \"pure\",\n  \"markup\": \"modern\",\n  \"viewport\": {\n    \"width\": 800,\n    \"fluid\": false\n  },\n  \"source\": \"https://chrono.skin/s/v1-te-1111\",\n  \"short\": \"v1-te-1111\"\n}\n",
    "tokens.css": "/* @part palette */\n:root {\n  --color-page: #ffffff;\n  --color-canvas: #ffffff;\n  --color-surface: #ffffff;\n  --color-surface-alt: #eeeeee;\n  --color-surface-strong: #cccccc;\n  --color-bar: #99cccc;\n  --color-bar-text: #000000;\n  --color-bar-alt: #ffcc00;\n  --color-bar-alt-text: #000000;\n  --color-inverse: #000000;\n  --color-inverse-text: #ffffff;\n  --color-text: #000000;\n  --color-text-muted: #808080;\n  --color-heading: #000000;\n  --color-heading-alt: #003399;\n  --color-link: #000099;\n  --color-link-quiet: #0066ff;\n  --color-link-visited: #666699;\n  --color-link-hover: #000099;\n  --color-link-active: #ff0000;\n  --color-border: #808080;\n  --color-border-strong: #000000;\n  --color-border-muted: #cccccc;\n  --color-accent: #cc0033;\n  --color-accent-text: #ffffff;\n  --color-accent-alt: #ff0000;\n  --color-fill-1: #ffffcc;\n  --color-fill-2: #eeeeee;\n  --color-fill-3: #ffcc66;\n  --color-fill-4: #99cccc;\n  --color-button: #efefef;\n  --color-button-text: #000000;\n  --color-button-hover-text: #000000;\n  --color-button-secondary: #cccccc;\n  --color-button-secondary-text: #000000;\n  --color-input: #ffffff;\n  --color-input-text: #000000;\n  --color-input-border: #c0c0c0;\n  --color-disabled: #efefef;\n  --color-disabled-text: #989898;\n  --color-danger: #cc0000;\n  --color-danger-surface: #ffffcc;\n  --color-success: #006600;\n  --color-warning: #ffcc00;\n  --color-notice: #ffffcc;\n  --color-notice-text: #000000;\n  --color-focus: #000000;\n  --color-shadow: #000000;\n  --color-overlay: #ffffff;\n}\n\n/* @part type */\n:root {\n  --font-body: \"Times New Roman\", Times, serif;\n  --font-heading: Arial, Helvetica, sans-serif;\n  --font-ui: Arial, Helvetica, sans-serif;\n  --font-mono: \"Courier New\", Courier, monospace;\n  --text-base: 13px;\n  --text-small: 10px;\n  --text-ui: 13px;\n  --text-large: 16px;\n  --text-display: 28px;\n  --text-h1: 18px;\n  --text-h2: 16px;\n  --text-h3: 13px;\n  --line-body: normal;\n  --line-heading: normal;\n  --line-display: 1;\n  --weight-body: 400;\n  --weight-bold: 700;\n  --weight-heading: 700;\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: underline;\n}\n\n/* @part surface */\n:root {\n  --border-width: 1px;\n  --border-width-strong: 2px;\n  --border-style: solid;\n  --radius-control: 0;\n  --radius-panel: 0;\n  --radius-pill: 0;\n  --radius-page: 0;\n  --shadow-panel: none;\n  --shadow-control: none;\n  --shadow-control-hover: none;\n  --shadow-control-pressed: none;\n  --shadow-dialog: none;\n  --shadow-text: none;\n  --fill-page: var(--color-page);\n  --fill-bar: var(--color-bar);\n  --fill-bar-alt: var(--color-bar-alt);\n  --fill-inverse: var(--color-inverse);\n  --fill-accent: var(--color-accent);\n  --fill-panel: var(--color-surface);\n  --fill-button: var(--color-button);\n  --fill-button-hover: var(--color-button);\n  --fill-button-secondary: var(--color-button-secondary);\n  --fill-input: var(--color-input);\n  --focus-ring: 1px dotted var(--color-focus);\n  --transition: none;\n  --backdrop-blur: 0px;\n}\n"
  }
}
