Files
gridline/src/index.css
T
adrianbonpin e32fe7967c Settings: db-viewer redesign, theme/accent wiring, macOS overlay titlebar (#6)
* feat: settings back button returns to origin view (push/pop nav)

* feat: redesign settings screen with db-viewer border styling

* fix: settings sidebar — icon+text tabs, back at top, top border (PR feedback)

* fix: tighten settings sidebar — back and tabs in one group

* fix: settings header shows active tab name instead of duplicated title

* fix: settings — accent back button, header shows active tab; fix App test

* fix: tags settings — no create label, no card chrome (bg/border/padding)

* feat: drag-and-drop tag reordering in settings tags tab

* fix: general settings — remove section card chrome (bg/border/padding)

* fix: merge Appearance and Interface into one settings section

* fix: remove row separators between settings items within sections

* fix: settings rows use gap spacing instead of per-row padding

* feat: strip section cards from all settings tabs; delete SettingsSection

* feat: apply theme and font size settings (appearance wiring)

* feat: honor default folder setting on startup

* feat: confirm_before_delete setting now skips delete confirmations

* feat: default_ports setting prefills new connection forms

* fix: light theme — text colors, native window chrome, ThemePicker preview

* fix: sync window background color with theme so title bar follows light mode

* fix: window-sync test uses microtask flush instead of vi.waitFor

* fix: app root carries canvas bg so home-screen parent matches theme

* fix: grant window set-theme/set-background-color permissions so title bar follows theme

* fix: overlay title bar — webview paints under traffic lights, flat canvas color in both themes

* fix: compact 28px overlay titlebar with visible bottom border

* fix: in-flow titlebar strip (draggable via allowed permission); screens fill remaining height, no bottom clipping

* fix: top border only on settings + db viewer pages, not the titlebar strip

* fix: db viewer sidebar h-screen -> h-full (28px overflow clipped bottom icons)

* fix: system theme resets window to OS before reading matchMedia (was polluted by forced window theme)

* fix: theme switcher labels moved below previews for readability

* feat: configurable accent color setting (circle palette in Appearance)

* docs: update AGENTS.md + README for settings redesign, wired settings, accent color
2026-08-01 19:24:01 +08:00

74 lines
1.9 KiB
CSS

@import "tailwindcss";
@import "@fontsource/space-mono";
@import "@fontsource/outfit";
@custom-variant dark (&:where(.dark, .dark *));
@theme {
--color-canvas: #0A0A0B;
--color-surface: #18181B;
--color-surface-raised: #27272A;
--color-border: #27272A;
--color-border-hover: #3F3F46;
--color-text: #FAFAFA;
--color-text-muted: #A1A1AA;
--color-accent: #2563EB;
--color-accent-hover: #1D4ED8;
--color-accent-muted: #60A5FA;
--font-family-heading: "Space Mono", monospace;
--font-family-sans: "Outfit", sans-serif;
--animate-toolbar-pulse: toolbar-pulse 1.6s ease-in-out infinite;
@keyframes toolbar-pulse {
0%, 100% { opacity: 0; }
50% { opacity: 0.12; }
}
}
:root {
color-scheme: dark;
/* Derive hover/muted from the runtime accent so a custom accent flows through */
--color-accent-hover: color-mix(in srgb, var(--color-accent) 88%, black);
--color-accent-muted: color-mix(in srgb, var(--color-accent) 70%, white);
}
/* Light theme overrides — the app is dark-first; `.light` is toggled on the root */
:root.light {
--color-canvas: #FAFAFA;
--color-surface: #FFFFFF;
--color-surface-raised: #F4F4F5;
--color-border: #E4E4E7;
--color-border-hover: #D4D4D8;
--color-text: #18181B;
--color-text-muted: #71717A;
color-scheme: light;
}
/* Font size scale — rem-based text sizes scale with html font-size */
:root[data-font-size="small"] { font-size: 15px; }
:root[data-font-size="large"] { font-size: 17px; }
html, body {
background-color: var(--color-canvas);
color: var(--color-text);
font-family: var(--font-family-sans);
-webkit-font-smoothing: antialiased;
overscroll-behavior: none;
overflow: hidden;
}
html {
height: 100%;
}
body {
min-height: 100%;
}
@utility glass {
background-color: color-mix(in srgb, var(--color-surface) 90%, transparent);
backdrop-filter: blur(12px);
border: 1px solid var(--color-border);
border-radius: 0.75rem;
}