@import "dockview/dist/styles/dockview.css"; @tailwind base; @tailwind components; @tailwind utilities; @layer base { html, body { height: 100%; margin: 0; padding: 0; overflow: hidden; } :root { /* Rerun-inspired dark theme as default (dark-first) */ --background: 215 28% 7%; /* #0d1117 */ --foreground: 213 27% 92%; /* #e6edf3 */ --card: 215 21% 11%; /* #161b22 */ --card-foreground: 213 27% 92%; --popover: 215 21% 11%; --popover-foreground: 213 27% 92%; --primary: 212 100% 67%; /* #58a6ff */ --primary-foreground: 215 28% 7%; --secondary: 215 14% 17%; /* #21262d */ --secondary-foreground: 213 27% 92%; --muted: 215 14% 17%; --muted-foreground: 213 12% 58%; /* #8b949e */ --accent: 215 14% 17%; --accent-foreground: 213 27% 92%; --destructive: 0 62% 50%; --destructive-foreground: 0 0% 98%; --border: 215 14% 22%; /* #30363d */ --input: 215 14% 22%; --ring: 212 100% 67%; --radius: 0.375rem; /* Custom Rerun-specific tokens */ --surface: 215 21% 11%; /* #161b22 */ --surface-light: 215 14% 17%; /* #21262d */ --surface-elevated: 215 14% 22%; /* #30363d */ --border-subtle: 215 14% 17%; --text: 213 27% 92%; /* #e6edf3 */ --text-muted: 213 12% 58%; /* #8b949e */ --text-subtle: 215 10% 46%; /* #6e7681 */ --accent-cyan: 176 60% 53%; /* #39d3cc */ --accent-orange: 27 86% 59%; /* #f0883e */ } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; font-size: 12px; line-height: 16px; letter-spacing: -0.15px; font-weight: 500; font-feature-settings: "liga" 1, "calt" 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } } /* Custom scrollbar - Rerun style: 6px bar, 2px inner margin, 2px outer margin */ ::-webkit-scrollbar { width: 10px; /* 6px bar + 2px inner margin on each side */ height: 10px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: hsl(var(--muted-foreground) / 0.2); border-radius: 3px; border: 2px solid transparent; background-clip: padding-box; } ::-webkit-scrollbar-thumb:hover { background: hsl(var(--muted-foreground) / 0.35); border: 2px solid transparent; background-clip: padding-box; } /* Firefox scrollbar */ * { scrollbar-width: thin; scrollbar-color: hsl(var(--muted-foreground) / 0.25) transparent; } /* Hide scrollbar for some elements */ .hide-scrollbar::-webkit-scrollbar { display: none; } .hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; } /* Scroll containers inside panels should keep scrollbars inset */ .panel-scroll { scrollbar-gutter: stable; } /* Dockview theme overrides (match HyperView tokens) */ .hyperview-dockview { --dv-background-color: hsl(var(--background)); --dv-group-view-background-color: hsl(var(--card)); --dv-tabs-and-actions-container-background-color: hsl(var(--secondary)); --dv-activegroup-visiblepanel-tab-background-color: hsl(var(--card)); --dv-activegroup-hiddenpanel-tab-background-color: hsl(var(--secondary)); --dv-inactivegroup-visiblepanel-tab-background-color: hsl(var(--secondary)); --dv-inactivegroup-hiddenpanel-tab-background-color: hsl(var(--secondary)); --dv-activegroup-visiblepanel-tab-color: hsl(var(--foreground)); --dv-activegroup-hiddenpanel-tab-color: hsl(var(--muted-foreground)); --dv-inactivegroup-visiblepanel-tab-color: hsl(var(--muted-foreground)); --dv-inactivegroup-hiddenpanel-tab-color: hsl(var(--muted-foreground)); --dv-tabs-and-actions-container-font-size: 12px; --dv-tabs-and-actions-container-height: 24px; --dv-tab-font-size: 12px; --dv-tabs-container-scrollbar-color: hsl(var(--muted-foreground) / 0.25); --dv-scrollbar-background-color: hsl(var(--muted-foreground) / 0.25); --dv-tab-divider-color: hsl(var(--border)); --dv-separator-border: transparent; --dv-paneview-header-border-color: hsl(var(--border)); --dv-sash-color: hsl(var(--border)); --dv-icon-hover-background-color: hsl(var(--accent)); --dv-active-sash-color: hsl(var(--primary)); --dv-drag-over-background-color: hsl(var(--primary) / 0.15); --dv-drag-over-border-color: hsl(var(--primary) / 0.6); /* Remove tab margins for flush appearance */ --dv-tab-margin: 0; } /* Remove any gaps between panels - Rerun-style flush layout */ .hyperview-dockview .dv-groupview { border: none; } .hyperview-dockview .dv-tabs-and-actions-container { border-bottom: 1px solid hsl(var(--border)); } .hyperview-dockview .dv-tab { padding: 0 8px; height: 100%; display: flex; align-items: center; line-height: 16px; } .hyperview-dockview .dv-scrollable .dv-scrollbar-horizontal { height: 6px; border-radius: 3px; } /* Hide Dockview tab scrollbars (avoid extra bar under tabs) */ .hyperview-dockview .dv-tabs-container { scrollbar-width: none; } .hyperview-dockview .dv-tabs-container::-webkit-scrollbar { height: 0; } .hyperview-dockview .dv-scrollable .dv-scrollbar-horizontal { display: none; } /* Sash styling: transparent hit area with centered 1px visible line via pseudo-element */ .hyperview-dockview .dv-split-view-container > .dv-sash-container > .dv-sash { /* Keep the sash itself transparent - we'll draw the line with ::after */ background-color: transparent !important; } /* Horizontal sash (vertical divider line) */ .hyperview-dockview .dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash::after { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-50%); width: 1px; background-color: hsl(var(--border)); pointer-events: none; } .hyperview-dockview .dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-enabled:hover::after { background-color: hsl(var(--primary)); } /* Vertical sash (horizontal divider line) */ .hyperview-dockview .dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); height: 1px; background-color: hsl(var(--border)); pointer-events: none; } .hyperview-dockview .dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-enabled:hover::after { background-color: hsl(var(--primary)); }