File size: 4,445 Bytes
9b7d64e 76fc93a 9b7d64e 76fc93a 9b7d64e 76fc93a 9b7d64e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | /* ============================================================================ */
/* Design Tokens */
/* ============================================================================ */
:root {
/* Neutrals */
--neutral-900: rgb(17, 24, 39);
--neutral-600: rgb(107, 114, 128);
--neutral-400: rgb(185, 185, 185);
--neutral-300: rgb(228, 228, 228);
--neutral-200: rgb(245, 245, 245);
--neutral-50: rgb(249, 250, 251);
--default-font-family: Source Sans Pro, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
/* Brand (OKLCH base + derived states) */
--primary-base: oklch(0.75 0.12 47);
--primary-color: var(--primary-base);
--primary-color-hover: oklch(from var(--primary-color) calc(l - 0.05) c h);
--primary-color-active: oklch(from var(--primary-color) calc(l - 0.10) c h);
--on-primary: #ffffff;
/* Semantic colors */
--danger-color: oklch(0.65 0.19 25);
--success-color: oklch(0.65 0.15 145);
--info-color: oklch(0.65 0.12 230);
/* Text & Surfaces */
--page-bg: #fff;
--surface-bg: #f9f9f9;
--text-color: rgba(0, 0, 0, .85);
--transparent-page-contrast: rgba(255, 255, 255, .85);
--muted-color: rgba(0, 0, 0, .6);
--border-color: rgba(0, 0, 0, .1);
--code-bg: #f6f8fa;
/* Links */
--link-underline: var(--primary-color);
--link-underline-hover: var(--primary-color-hover);
/* Spacing scale */
--spacing-1: 8px;
--spacing-2: 12px;
--spacing-3: 16px;
--spacing-4: 24px;
--spacing-5: 32px;
--spacing-6: 40px;
--spacing-7: 48px;
--spacing-8: 56px;
--spacing-9: 64px;
--spacing-10: 72px;
/* Responsive breakpoints (in px, consumed directly by @media rules).
Keep in sync with any @media usage across the codebase. */
--bp-xxs-px: 320px;
--bp-xs-px: 480px;
--bp-sm-px: 640px;
--bp-md-px: 768px;
--bp-lg-px: 1024px;
--bp-xl-px: 1280px;
--bp-content-collapse-px: 1100px;
/* Page gutter and block spacing */
--content-padding-x: 16px;
--block-spacing-y: var(--spacing-4);
/* Content layout (3-col grid shared by editor & publisher) */
--layout-toc-width: 260px;
--layout-content-width: 680px;
--layout-sidenote-width: 260px;
--layout-gap: 32px;
--layout-max-width: 1280px;
/* Editor uses narrower sidebars so the chat/drawer fits comfortably.
* max-width = TOC + gap + content + gap + sidenote + 2*padding
* = 200 + 32 + 680 + 32 + 200 + 32 = 1176px
* (keeps columns at their intended widths without the grid shrinking.) */
--layout-editor-toc-width: 200px;
--layout-editor-sidenote-width: 200px;
--layout-editor-max-width: 1176px;
/* Config */
--palette-count: 8;
/* Button tokens */
--button-radius: 6px;
--button-padding-x: 16px;
--button-padding-y: 10px;
--button-font-size: 14px;
--button-icon-padding: 8px;
/* Big button */
--button-big-padding-x: 16px;
--button-big-padding-y: 12px;
--button-big-font-size: 16px;
--button-big-icon-padding: 12px;
/* Table tokens */
--table-border-radius: 8px;
--table-header-bg: oklch(from var(--surface-bg) calc(l - 0.02) c h);
--table-row-odd-bg: oklch(from var(--surface-bg) calc(l - 0.01) c h);
/* Z-index */
--z-base: 0;
--z-content: 1;
--z-elevated: 10;
--z-overlay: 1000;
--z-modal: 1100;
--z-tooltip: 1200;
/* Charts (global) */
--axis-color: var(--muted-color);
--tick-color: var(--text-color);
--grid-color: rgba(0, 0, 0, .08);
}
/* ============================================================================ */
/* Dark Theme Overrides */
/* ============================================================================ */
[data-theme="dark"] {
--page-bg: #0f1115;
--surface-bg: #07080a;
--text-color: rgba(255, 255, 255, .9);
--muted-color: rgba(255, 255, 255, .7);
--border-color: rgba(255, 255, 255, .15);
--code-bg: #12151b;
--transparent-page-contrast: rgba(0, 0, 0, .85);
/* Charts (global) */
--axis-color: var(--muted-color);
--tick-color: var(--muted-color);
--grid-color: rgba(255, 255, 255, .10);
/* Primary (lower L in dark) */
--primary-color-hover: oklch(from var(--primary-color) calc(l - 0.05) c h);
--primary-color-active: oklch(from var(--primary-color) calc(l - 0.10) c h);
--on-primary: #0f1115;
color-scheme: dark;
background: var(--page-bg);
} |