Mercurial
comparison design_system/src/styles/reference.css @ 258:60a876c4587a
[ui] Add semantic primitive ownership
Build a layered Zenbu token and sizing system, make authored controls use native-underneath primitives, migrate mrjunejune without imposing visual surfaces, and document/enforce HTML ownership in the catalog and wiki.
Co-authored-by: Copilot <[email protected]>
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Wed, 05 Aug 2026 05:25:40 -0700 |
| parents | |
| children | 667156fcd3e3 |
comparison
equal
deleted
inserted
replaced
| 257:609d3c6aff4e | 258:60a876c4587a |
|---|---|
| 1 :root { | |
| 2 --zenbu-ref-color-black: #000000; | |
| 3 --zenbu-ref-color-white: #ffffff; | |
| 4 --zenbu-ref-color-transparent: transparent; | |
| 5 | |
| 6 --zenbu-ref-color-neutral-50: #fffdf7; | |
| 7 --zenbu-ref-color-neutral-100: #f7f3e8; | |
| 8 --zenbu-ref-color-neutral-200: #ece5d5; | |
| 9 --zenbu-ref-color-neutral-300: #ddd2bd; | |
| 10 --zenbu-ref-color-neutral-400: #b9aa90; | |
| 11 --zenbu-ref-color-neutral-500: #8e8069; | |
| 12 --zenbu-ref-color-neutral-600: #6f6351; | |
| 13 --zenbu-ref-color-neutral-700: #564c3e; | |
| 14 --zenbu-ref-color-neutral-800: #3b352d; | |
| 15 --zenbu-ref-color-neutral-900: #27241f; | |
| 16 --zenbu-ref-color-neutral-950: #171613; | |
| 17 | |
| 18 --zenbu-ref-color-brand-100: #e4eaf2; | |
| 19 --zenbu-ref-color-brand-200: #cbd7e6; | |
| 20 --zenbu-ref-color-brand-300: #a6bad2; | |
| 21 --zenbu-ref-color-brand-400: #7b99b8; | |
| 22 --zenbu-ref-color-brand-500: #5c7d9d; | |
| 23 --zenbu-ref-color-brand-600: #48647f; | |
| 24 --zenbu-ref-color-brand-700: #3c5167; | |
| 25 --zenbu-ref-color-brand-800: #354655; | |
| 26 --zenbu-ref-color-brand-900: #303c49; | |
| 27 | |
| 28 --zenbu-ref-color-danger-100: #f9e9e2; | |
| 29 --zenbu-ref-color-danger-300: #dda995; | |
| 30 --zenbu-ref-color-danger-500: #a9553f; | |
| 31 --zenbu-ref-color-danger-600: #8f4132; | |
| 32 --zenbu-ref-color-danger-700: #71342a; | |
| 33 --zenbu-ref-color-danger-900: #4b2924; | |
| 34 --zenbu-ref-color-success-100: #e9edd5; | |
| 35 --zenbu-ref-color-success-300: #afbf79; | |
| 36 --zenbu-ref-color-success-500: #6d8139; | |
| 37 --zenbu-ref-color-success-600: #55672d; | |
| 38 --zenbu-ref-color-success-700: #424f27; | |
| 39 --zenbu-ref-color-success-900: #303923; | |
| 40 --zenbu-ref-color-warning-100: #fcebd1; | |
| 41 --zenbu-ref-color-warning-300: #efb670; | |
| 42 --zenbu-ref-color-warning-500: #c76a26; | |
| 43 --zenbu-ref-color-warning-600: #a94f1c; | |
| 44 --zenbu-ref-color-warning-700: #873d1b; | |
| 45 --zenbu-ref-color-warning-900: #5b2d1d; | |
| 46 --zenbu-ref-color-amber-50: #fffbea; | |
| 47 --zenbu-ref-color-amber-100: #f6efc6; | |
| 48 --zenbu-ref-color-amber-300: #d9c455; | |
| 49 --zenbu-ref-color-amber-600: #80651e; | |
| 50 --zenbu-ref-color-orange-100: #fcebd1; | |
| 51 --zenbu-ref-color-orange-300: #efb670; | |
| 52 --zenbu-ref-color-rose-100: #f8e7e7; | |
| 53 --zenbu-ref-color-rose-300: #dfa9ad; | |
| 54 --zenbu-ref-color-rose-600: #924550; | |
| 55 --zenbu-ref-color-violet-100: #eee7ee; | |
| 56 --zenbu-ref-color-violet-500: #916f91; | |
| 57 --zenbu-ref-color-violet-700: #5e465d; | |
| 58 --zenbu-ref-color-blue-600: #48647f; | |
| 59 --zenbu-ref-color-blue-900: #303c49; | |
| 60 --zenbu-ref-color-blue-950: #1c252e; | |
| 61 --zenbu-ref-color-accent: #ffb000; | |
| 62 --zenbu-ref-color-accent-hover: #ffca4a; | |
| 63 --zenbu-ref-color-accent-pressed: #9e8124; | |
| 64 --zenbu-ref-color-info: #2764d7; | |
| 65 --zenbu-ref-color-success: #18794e; | |
| 66 --zenbu-ref-color-warning: #9a5b00; | |
| 67 --zenbu-ref-color-danger: #c62f3e; | |
| 68 --zenbu-ref-color-focus: #7c3aed; | |
| 69 --zenbu-ref-color-link-decoration: #ae5b65; | |
| 70 --zenbu-ref-color-black-alpha-8: rgba(0, 0, 0, 0.08); | |
| 71 --zenbu-ref-color-black-alpha-60: rgba(0, 0, 0, 0.6); | |
| 72 | |
| 73 --zenbu-ref-space-0: 0; | |
| 74 --zenbu-ref-space-0-5: 0.125rem; | |
| 75 --zenbu-ref-space-1: 0.25rem; | |
| 76 --zenbu-ref-space-1-5: 0.375rem; | |
| 77 --zenbu-ref-space-2: 0.5rem; | |
| 78 --zenbu-ref-space-2-5: 0.625rem; | |
| 79 --zenbu-ref-space-3: 0.75rem; | |
| 80 --zenbu-ref-space-4: 1rem; | |
| 81 --zenbu-ref-space-5: 1.25rem; | |
| 82 --zenbu-ref-space-6: 1.5rem; | |
| 83 --zenbu-ref-space-8: 2rem; | |
| 84 --zenbu-ref-space-10: 2.5rem; | |
| 85 --zenbu-ref-space-12: 3rem; | |
| 86 --zenbu-ref-space-16: 4rem; | |
| 87 --zenbu-ref-space-20: 5rem; | |
| 88 --zenbu-ref-space-24: 6rem; | |
| 89 | |
| 90 --zenbu-ref-font-family-sans: | |
| 91 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, | |
| 92 "Segoe UI", sans-serif; | |
| 93 --zenbu-ref-font-family-mono: | |
| 94 "SFMono-Regular", Consolas, "Liberation Mono", monospace; | |
| 95 --zenbu-ref-font-size-xs: 0.75rem; | |
| 96 --zenbu-ref-font-size-sm: 0.875rem; | |
| 97 --zenbu-ref-font-size-md: 1rem; | |
| 98 --zenbu-ref-font-size-lg: 1.125rem; | |
| 99 --zenbu-ref-font-size-xl: 1.25rem; | |
| 100 --zenbu-ref-font-size-2xl: 1.5rem; | |
| 101 --zenbu-ref-font-size-3xl: 2rem; | |
| 102 --zenbu-ref-font-size-display: 2.5rem; | |
| 103 --zenbu-ref-font-weight-regular: 400; | |
| 104 --zenbu-ref-font-weight-medium: 500; | |
| 105 --zenbu-ref-font-weight-strong: 600; | |
| 106 --zenbu-ref-font-weight-bold: 700; | |
| 107 --zenbu-ref-line-height-tight: 1.15; | |
| 108 --zenbu-ref-line-height-heading: 1.25; | |
| 109 --zenbu-ref-line-height-ui: 1.4; | |
| 110 --zenbu-ref-line-height-body: 1.55; | |
| 111 --zenbu-ref-line-height-reading: 1.7; | |
| 112 --zenbu-ref-letter-spacing-tight: -0.02em; | |
| 113 --zenbu-ref-letter-spacing-normal: 0; | |
| 114 --zenbu-ref-letter-spacing-wide: 0.02em; | |
| 115 --zenbu-ref-letter-spacing-caps: 0.06em; | |
| 116 | |
| 117 --zenbu-ref-radius-0: 0; | |
| 118 --zenbu-ref-radius-1: 0.25rem; | |
| 119 --zenbu-ref-radius-2: 0.5rem; | |
| 120 --zenbu-ref-radius-3: 0.75rem; | |
| 121 --zenbu-ref-radius-4: 1rem; | |
| 122 --zenbu-ref-radius-5: 1.5rem; | |
| 123 --zenbu-ref-radius-6: 2rem; | |
| 124 --zenbu-ref-radius-round: 9999px; | |
| 125 --zenbu-ref-stroke-0: 0; | |
| 126 --zenbu-ref-stroke-1: 1px; | |
| 127 --zenbu-ref-stroke-2: 2px; | |
| 128 --zenbu-ref-stroke-3: 3px; | |
| 129 | |
| 130 --zenbu-ref-shadow-1: 3px 3px 0 rgba(23, 26, 33, 0.12); | |
| 131 --zenbu-ref-shadow-2: 5px 5px 0 rgba(23, 26, 33, 0.16); | |
| 132 --zenbu-ref-shadow-3: 7px 7px 0 rgba(23, 26, 33, 0.18); | |
| 133 --zenbu-ref-shadow-4: 10px 10px 0 rgba(23, 26, 33, 0.2); | |
| 134 | |
| 135 --zenbu-ref-duration-instant: 50ms; | |
| 136 --zenbu-ref-duration-fast: 120ms; | |
| 137 --zenbu-ref-duration-normal: 200ms; | |
| 138 --zenbu-ref-duration-slow: 300ms; | |
| 139 --zenbu-ref-duration-deliberate: 500ms; | |
| 140 --zenbu-ref-ease-linear: linear; | |
| 141 --zenbu-ref-ease-standard: cubic-bezier(0.2, 0, 0, 1); | |
| 142 --zenbu-ref-ease-enter: cubic-bezier(0, 0, 0, 1); | |
| 143 --zenbu-ref-ease-exit: cubic-bezier(0.3, 0, 1, 1); | |
| 144 --zenbu-ref-ease-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1); | |
| 145 | |
| 146 --zenbu-ref-opacity-disabled: 0.45; | |
| 147 --zenbu-ref-opacity-muted: 0.7; | |
| 148 --zenbu-ref-opacity-backdrop: 0.6; | |
| 149 --zenbu-ref-size-icon-xs: 0.75rem; | |
| 150 --zenbu-ref-size-icon-sm: 0.875rem; | |
| 151 --zenbu-ref-size-icon-md: 1rem; | |
| 152 --zenbu-ref-size-icon-lg: 1.25rem; | |
| 153 --zenbu-ref-size-icon-xl: 1.5rem; | |
| 154 --zenbu-ref-size-control-xs: 2rem; | |
| 155 --zenbu-ref-size-control-sm: 2.25rem; | |
| 156 --zenbu-ref-size-control-md: 2.75rem; | |
| 157 --zenbu-ref-size-control-lg: 3.25rem; | |
| 158 --zenbu-ref-size-control-xl: 3.75rem; | |
| 159 --zenbu-ref-size-target-min: 2.75rem; | |
| 160 --zenbu-ref-z-base: 0; | |
| 161 --zenbu-ref-z-sticky: 100; | |
| 162 --zenbu-ref-z-dropdown: 300; | |
| 163 --zenbu-ref-z-popover: 400; | |
| 164 --zenbu-ref-z-notification: 600; | |
| 165 --zenbu-ref-z-modal: 800; | |
| 166 --zenbu-ref-z-critical: 1000; | |
| 167 } |