/* ========================================================================== ImpTune — application shell + component layer on top of Pico CSS. Design direction: a workbench for a build pipeline (driver -> printer -> package), not a dashboard. Prose is set in the system UI face; every value the machine cares about (IPs, port names, INF driver names, PowerShell commands) is set in monospace. That split is the visual identity. Theme selectors mirror Pico's own so equal specificity + later source order wins: light = :root:not([data-theme=dark]) ; dark = the two dark selectors. The "system" state renders with **no** data-theme attribute (base.html removes it) — Pico's OS-dark block is `:root:not([data-theme])`, so a literal data-theme="auto" would keep Pico light while this file went dark. ========================================================================== */ /* --- Tokens: light (paper) ----------------------------------------------- */ :root:not([data-theme="dark"]) { --im-bg: #f2f2ef; --im-surface: #ffffff; --im-surface-2: #f8f8f5; --im-surface-3: #eeeeea; --im-line: #e2e3de; --im-line-strong: #cdcfc8; --im-text: #191f26; --im-text-dim: #59626c; --im-text-faint: #868f99; --im-accent: #0d6f79; --im-accent-hover: #0a575f; --im-accent-soft: #dff0f1; --im-accent-line: #a9d5d9; --im-ok: #2b7048; --im-ok-soft: #e2f0e7; --im-warn: #8c5a0c; --im-warn-soft: #fbeed7; --im-danger: #a32f2f; --im-danger-soft: #f8e4e2; --im-shadow: 0 1px 2px rgba(20, 26, 32, .05), 0 8px 24px -12px rgba(20, 26, 32, .18); --im-ring: rgba(13, 111, 121, .35); /* Pico remap */ --pico-background-color: var(--im-bg); --pico-color: var(--im-text); --pico-muted-color: var(--im-text-dim); --pico-muted-border-color: var(--im-line); --pico-border-color: var(--im-line); --pico-h1-color: var(--im-text); --pico-h2-color: var(--im-text); --pico-h3-color: var(--im-text); --pico-h4-color: var(--im-text); --pico-h5-color: var(--im-text); --pico-h6-color: var(--im-text-dim); --pico-primary: var(--im-accent); --pico-primary-background: var(--im-accent); --pico-primary-border: var(--im-accent); --pico-primary-hover: var(--im-accent-hover); --pico-primary-hover-background: var(--im-accent-hover); --pico-primary-hover-border: var(--im-accent-hover); --pico-primary-underline: var(--im-accent-line); --pico-primary-focus: var(--im-ring); --pico-primary-inverse: #ffffff; --pico-secondary: var(--im-text-dim); --pico-secondary-background: var(--im-surface-3); --pico-secondary-border: var(--im-line-strong); --pico-secondary-hover: var(--im-text); --pico-secondary-hover-background: var(--im-line); --pico-secondary-hover-border: var(--im-line-strong); --pico-secondary-inverse: var(--im-text); --pico-card-background-color: var(--im-surface); --pico-card-border-color: var(--im-line); --pico-card-sectioning-background-color: var(--im-surface-2); --pico-card-box-shadow: none; --pico-form-element-background-color: var(--im-surface); --pico-form-element-border-color: var(--im-line-strong); --pico-form-element-color: var(--im-text); --pico-form-element-placeholder-color: var(--im-text-faint); --pico-form-element-active-border-color: var(--im-accent); --pico-form-element-focus-color: var(--im-accent); /* Pico swaps the *background* on :focus/:active. Remap it too, or a focused field falls back to Pico's own palette instead of ours. */ --pico-form-element-active-background-color: var(--im-surface); --pico-form-element-selected-background-color: var(--im-surface-3); --pico-code-background-color: var(--im-surface-3); --pico-code-color: var(--im-text); --pico-modal-overlay-background-color: rgba(24, 30, 36, .42); /* Native widgets: