Files
dotfiles/dot_config/sherlock/themes/rose-pine.css
s0wlz (Matthias Puchstein) 8018b53353 feat: finalize migration to chezmoi and modernize configuration logic
- Modularize Hyprland config into hyprland.d/
- Implement infinitely scalable monitor/workspace logic using templates and loop-based data structures
- Consolidate host-specific configs (hyprlock, hyprpaper, waybar) into single templates
- Resolve waybar symlink conflict and fix template execution errors
- Integrate chezmoi data variables for scale, resolution, and peripherals
2025-12-27 22:52:43 +01:00

261 lines
5.1 KiB
CSS

/* Rosé Pine (main) theme for Sherlock
* - condensed tiles
* - coherent dark scheme
*/
/* 1. Rosé Pine palette variables (main variant) */
:root {
--rp-base: #191724;
--rp-surface: #1f1d2e;
--rp-overlay: #26233a;
--rp-muted: #6e6a86;
--rp-subtle: #908caa;
--rp-text: #e0def4;
--rp-love: #eb6f92;
--rp-gold: #f6c177;
--rp-rose: #ebbcba;
--rp-pine: #31748f;
--rp-foam: #9ccfd8;
--rp-iris: #c4a7e7;
--rp-hl-low: #21202e;
--rp-hl-med: #403d52;
--rp-hl-high: #524f67;
--rp-radius: 10px;
--rp-radius-small: 7px;
--rp-border-width: 1px;
--rp-shadow-soft: 0 18px 45px rgba(0, 0, 0, 0.45);
--rp-transition-fast: 120ms ease-out;
--rp-transition-med: 170ms cubic-bezier(0.16, 1, 0.3, 1);
/* Tile sizing (condensed) */
--rp-tile-padding-y: 4px;
--rp-tile-padding-x: 10px;
--rp-tile-gap: 4px;
--rp-tile-min-height: 32px;
--rp-font-size-main: 13px;
--rp-font-size-sub: 11px;
}
/* 2. Global window & base layout */
window,
.main,
.root {
background-color: var(--rp-base);
color: var(--rp-text);
font-family: "JetBrainsMono Nerd Font", "FiraCode Nerd Font",
"Iosevka", system-ui, sans-serif;
}
/* Sherlock main container (centered blurred panel) */
#main,
.main-container,
.window {
background-color: var(--rp-surface);
border-radius: var(--rp-radius);
border: var(--rp-border-width) solid var(--rp-hl-high);
box-shadow: var(--rp-shadow-soft);
}
/* 3. Search entry / input bar */
entry,
.search-entry,
.search-input {
background-color: var(--rp-hl-low);
color: var(--rp-text);
border-radius: var(--rp-radius-small);
border: var(--rp-border-width) solid var(--rp-hl-med);
padding: 6px 9px;
font-size: 13px;
}
entry:focus,
.search-entry:focus,
.search-input:focus {
border-color: var(--rp-iris);
box-shadow: 0 0 0 1px rgba(196, 167, 231, 0.35);
}
/* 4. Condensed tile list */
.list,
.list-container,
.tile-list {
background: transparent;
margin-top: 4px;
row-gap: var(--rp-tile-gap);
}
/* Base tile style (unselected) */
.tile,
.launcher-tile,
.launcher-item,
.item {
background-color: var(--rp-hl-low);
border-radius: var(--rp-radius-small);
border: var(--rp-border-width) solid transparent;
min-height: var(--rp-tile-min-height);
padding: var(--rp-tile-padding-y) var(--rp-tile-padding-x);
margin-bottom: var(--rp-tile-gap);
color: var(--rp-text);
font-size: var(--rp-font-size-main);
display: flex;
align-items: center;
column-gap: 6px;
transition: background-color var(--rp-transition-fast),
border-color var(--rp-transition-fast),
transform var(--rp-transition-med);
}
/* Hover / active state */
.tile:hover,
.launcher-tile:hover,
.launcher-item:hover,
.item:hover {
background-color: var(--rp-hl-med);
}
/* Selected / focused tile */
.tile:selected,
.launcher-tile:selected,
.launcher-item:selected,
.item:selected,
.tile:focus {
background-color: var(--rp-overlay);
border-color: var(--rp-iris);
transform: translateY(-1px);
}
/* 5. Icon, title, subtitle */
.tile-icon,
.item-icon,
.icon {
color: var(--rp-foam);
min-width: 18px;
min-height: 18px;
}
/* Main name/title */
.tile-label,
.tile-title,
.item-title,
.title {
color: var(--rp-text);
font-weight: 500;
font-size: var(--rp-font-size-main);
}
/* Secondary description */
.tile-description,
.item-subtitle,
.subtitle,
.description {
color: var(--rp-subtle);
font-size: var(--rp-font-size-sub);
}
/* 6. Shortcut indicator (mod+number) */
.shortcut,
.tile-shortcut,
.item-shortcut {
margin-left: auto;
font-size: 10px;
padding: 2px 6px;
border-radius: 999px;
background-color: var(--rp-hl-med);
color: var(--rp-gold);
}
/* 7. Category / section headers */
.section-header,
.category-header,
.header-label {
color: var(--rp-iris);
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.08em;
margin: 3px 0 2px 2px;
}
/* 8. Widgets (weather, music, async) */
.widget,
.weather-widget,
.music-widget,
.async-widget {
background-color: var(--rp-overlay);
border-radius: var(--rp-radius-small);
border: var(--rp-border-width) solid var(--rp-hl-high);
padding: 6px 9px;
margin-bottom: 6px;
}
/* Weather-specific hints (you can tweak to taste) */
.weather-widget .temperature {
color: var(--rp-rose);
font-weight: 500;
}
.weather-widget .condition {
color: var(--rp-subtle);
}
/* 9. Context menu */
.context-menu,
.menu,
popover {
background-color: var(--rp-surface);
border-radius: var(--rp-radius-small);
border: var(--rp-border-width) solid var(--rp-hl-high);
}
.context-menu row,
.menu-item {
padding: 4px 8px;
font-size: 12px;
}
.context-menu row:hover,
.menu-item:hover {
background-color: var(--rp-hl-med);
}
/* 10. Scrollbars (subtle) */
scrollbar,
scrollbar slider {
background-color: transparent;
}
scrollbar slider {
background-color: rgba(144, 140, 170, 0.6); /* subtle */
border-radius: 999px;
}
/* 11. Error / warning / info states */
.error,
.error-label {
color: var(--rp-love);
}
.warning,
.warning-label {
color: var(--rp-gold);
}
.info,
.info-label {
color: var(--rp-foam);
}