diff design_system/src/storybook.css @ 251:117c4d53c9a4

[ui] Add HTML-first Web Component system Co-authored-by: Copilot <[email protected]>
author MrJuneJune <me@mrjunejune.com>
date Tue, 04 Aug 2026 09:14:57 -0700
parents
children 2b6e732087ff
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/design_system/src/storybook.css	Tue Aug 04 09:14:57 2026 -0700
@@ -0,0 +1,268 @@
+* {
+  box-sizing: border-box;
+}
+
+html {
+  min-height: 100%;
+  background: var(--zen-color-canvas);
+  color: var(--zen-color-text);
+  font-family: var(--zen-font-sans);
+}
+
+body {
+  min-height: 100vh;
+  margin: 0;
+}
+
+button,
+input,
+select,
+textarea {
+  font: inherit;
+}
+
+.catalog-shell {
+  display: grid;
+  grid-template-columns: 17rem minmax(0, 1fr);
+  min-height: 100vh;
+}
+
+.catalog-sidebar {
+  position: sticky;
+  top: 0;
+  height: 100vh;
+  overflow: auto;
+  padding: var(--zen-space-5);
+  border-right: var(--zen-border-width) solid var(--zen-color-border);
+  background: var(--zen-color-surface);
+}
+
+.catalog-brand {
+  display: inline-flex;
+  align-items: center;
+  gap: var(--zen-space-3);
+  color: inherit;
+  font-size: var(--zen-font-size-lg);
+  font-weight: 850;
+  text-decoration: none;
+}
+
+.catalog-mark {
+  display: grid;
+  width: 2.5rem;
+  height: 2.5rem;
+  place-items: center;
+  border: var(--zen-border-width) solid var(--zen-color-border);
+  border-radius: 50%;
+  background: var(--zen-color-accent);
+  color: #171a21;
+}
+
+.catalog-sidebar h2 {
+  margin: var(--zen-space-6) 0 var(--zen-space-2);
+  color: var(--zen-color-text-muted);
+  font-size: var(--zen-font-size-xs);
+  letter-spacing: 0.12em;
+  text-transform: uppercase;
+}
+
+.catalog-nav {
+  display: grid;
+  gap: var(--zen-space-1);
+}
+
+.catalog-nav a {
+  padding: var(--zen-space-2) var(--zen-space-3);
+  border-radius: var(--zen-radius-sm);
+  color: inherit;
+  text-decoration: none;
+}
+
+.catalog-nav a:hover,
+.catalog-nav a[aria-current] {
+  background: var(--zen-color-accent);
+  color: #171a21;
+}
+
+.theme-toggle {
+  width: 100%;
+  margin-top: var(--zen-space-6);
+  padding: var(--zen-space-2);
+  border: var(--zen-border-width) solid var(--zen-color-border);
+  border-radius: var(--zen-radius-md);
+  background: transparent;
+  color: inherit;
+  cursor: pointer;
+}
+
+.catalog-main {
+  width: min(100%, var(--zen-content-width));
+  padding: var(--zen-space-7) clamp(1rem, 5vw, 5rem);
+  outline: none;
+}
+
+.catalog-page[hidden] {
+  display: none;
+}
+
+.page-heading {
+  max-width: 52rem;
+  margin-bottom: var(--zen-space-7);
+}
+
+.eyebrow {
+  margin: 0 0 var(--zen-space-2);
+  color: var(--zen-color-info);
+  font-size: var(--zen-font-size-sm);
+  font-weight: 800;
+  letter-spacing: 0.1em;
+  text-transform: uppercase;
+}
+
+.page-heading h1 {
+  margin: 0 0 var(--zen-space-3);
+  font-size: var(--zen-font-size-xl);
+  line-height: 1.05;
+}
+
+.page-heading p {
+  color: var(--zen-color-text-muted);
+  font-size: var(--zen-font-size-lg);
+}
+
+.principles,
+.component-grid,
+.token-grid {
+  display: grid;
+  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
+  gap: var(--zen-space-5);
+}
+
+.principle,
+.token-group {
+  padding: var(--zen-space-5);
+  border: var(--zen-border-width) solid var(--zen-color-border);
+  border-radius: var(--zen-radius-lg);
+  background: var(--zen-color-surface);
+}
+
+.principle h2,
+.token-group h2 {
+  margin-top: 0;
+}
+
+.component-grid a {
+  color: inherit;
+  text-decoration: none;
+}
+
+.component-grid zen-card {
+  height: 100%;
+}
+
+.swatch-list {
+  display: grid;
+  gap: var(--zen-space-2);
+  margin: 0;
+}
+
+.swatch-list div {
+  display: grid;
+  grid-template-columns: 2rem 1fr;
+  align-items: center;
+  gap: var(--zen-space-2);
+}
+
+.swatch-list dt,
+.swatch-list dd {
+  margin: 0;
+  font-family: var(--zen-font-mono);
+  font-size: var(--zen-font-size-xs);
+}
+
+.swatch {
+  width: 2rem;
+  height: 2rem;
+  border: 1px solid var(--zen-color-border);
+  border-radius: 50%;
+  background: var(--swatch);
+}
+
+zen-story {
+  display: block;
+  margin-bottom: var(--zen-space-6);
+  overflow: hidden;
+  border: var(--zen-border-width) solid var(--zen-color-border);
+  border-radius: var(--zen-radius-lg);
+  background: var(--zen-color-surface);
+}
+
+zen-story > header {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  gap: var(--zen-space-3);
+  padding: var(--zen-space-3) var(--zen-space-4);
+  border-bottom: 1px solid var(--zen-color-border);
+}
+
+zen-story > header h3 {
+  margin: 0;
+}
+
+zen-story > header button {
+  padding: var(--zen-space-1) var(--zen-space-2);
+  border: 0;
+  border-radius: var(--zen-radius-sm);
+  background: transparent;
+  color: var(--zen-color-info);
+  cursor: pointer;
+}
+
+.story-canvas {
+  min-height: 8rem;
+  padding: clamp(1rem, 4vw, 3rem);
+  background:
+    linear-gradient(90deg, rgba(127, 127, 127, 0.08) 1px, transparent 1px),
+    linear-gradient(rgba(127, 127, 127, 0.08) 1px, transparent 1px);
+  background-size: 1rem 1rem;
+}
+
+zen-story > pre {
+  max-height: 24rem;
+  overflow: auto;
+  margin: 0;
+  padding: var(--zen-space-4);
+  border-top: 1px solid var(--zen-color-border);
+  background: #111318;
+  color: #f4f4f5;
+  font: var(--zen-font-size-sm)/1.55 var(--zen-font-mono);
+}
+
+.demo-card-grid {
+  display: grid;
+  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
+  gap: var(--zen-space-5);
+}
+
+@media (max-width: 760px) {
+  .catalog-shell {
+    grid-template-columns: 1fr;
+  }
+
+  .catalog-sidebar {
+    position: static;
+    width: 100%;
+    height: auto;
+    border-right: 0;
+    border-bottom: var(--zen-border-width) solid var(--zen-color-border);
+  }
+
+  .catalog-nav {
+    grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
+  }
+
+  .catalog-main {
+    padding: var(--zen-space-6) var(--zen-space-4);
+  }
+}