diff --git a/index.html b/index.html index 9e9bf49..db1482a 100644 --- a/index.html +++ b/index.html @@ -42,6 +42,21 @@ .lockup.big { font-size: 40px; gap: 1rem; } .lockup.big img { width: 64px; height: 64px; } :root[data-theme='light'] .on-dark, :root:not([data-theme='light']) .on-light { display: none !important; } +/* The index: every section a click away, while the page scrolls. */ +.index { position: sticky; top: 0; z-index: 4; background: color-mix(in srgb, var(--spin-page) 92%, transparent); backdrop-filter: blur(6px); border-bottom: 1px solid var(--spin-border); } +.index .wrap { display: flex; gap: .25rem 1rem; padding-block: .5rem; overflow-x: auto; white-space: nowrap; scrollbar-width: none; } +.index a { font: 500 12px var(--spin-font-mono); color: var(--spin-muted); text-decoration: none; padding: .35rem .15rem; } +.index a:hover { color: var(--spin-accent-text); } +.index a[href="#in-use"], .index a[href="#decisions"], .index a[href="#checks"] { color: var(--spin-label); margin-left: .5rem; } +section, .part { scroll-margin-top: 3rem; } + +/* A part: what follows is sample content, a decision, or a check. */ +.part { display: flex; gap: 1rem; align-items: baseline; margin-top: 4rem; padding: 1.25rem 0; border-top: 2px solid var(--spin-border-strong); } +.part .num { font: 600 2rem var(--spin-font-mono); color: var(--spin-label); line-height: 1; } +.part h2 { margin: 0; font-size: 1.4rem; } .part p { margin: .25rem 0 0; max-width: 52rem; } +#page > .part:first-child { margin-top: 1.5rem; border-top: 0; } +.perc-wrap summary { cursor: pointer; font: 500 13px var(--spin-font-mono); padding: .5rem 0; color: var(--spin-text); } + /* The mark's guide */ .guide { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2rem; align-items: start; } .tiles { display: grid; gap: 1rem; } @@ -147,7 +162,8 @@ .hero, .doc, .dash { grid-template-columns: 1fr; } .doc nav, .doc aside, .dash nav { display: none; } .hero { padding: 2rem 1rem; } .doc article { padding: 1.25rem 1rem; } - .hero h1 { font-size: 1.75rem; } .hero img { max-width: 10rem; } + .hero { gap: 1rem; padding: 1.5rem 1rem; } .hero h1 { font-size: 1.6rem; margin-top: .25rem; } .hero img { max-width: 6.5rem; } + .part { margin-top: 2.5rem; } .part .num { font-size: 1.5rem; } .wrap { padding-inline: 1rem; } table { font-size: 13px; } .site header .search { display: none; } .btn, .dash input, .dash .btn { min-height: var(--spin-target-touch); } @@ -172,9 +188,18 @@
Sample screens drawn from the tokens. The words, rows and names in them are fixtures, there to show the palette at work: nothing in them is a decision.

SpinSearchWhat the brand is: the mark and how it is used, and the palette, each color by what it is for. These are what palette.toml and the mark's cut hold.
What holds the decisions: the same page at a phone's and a tablet's width, and every pair of colors task palette measures.
This page at a phone's and a tablet's width (layout.phone, layout.tablet), in the mode and the view chosen above.
Every pair task palette holds, as drawn and in each view (dist/perception.js). Contrast is WCAG 2.2's; distance is CIEDE2000.