/**
 * Grove design tokens — single source of truth for /app (PWA + native).
 * Do not duplicate these values in component CSS; override only in app-ui-lock.css when pinning for OEM browsers.
 */
:root {
    --accent: #4ade80;
    --accent-light: #86efac;
    --accent-pale: #bbf7d0;
    --accent-backlog: #d9f99d;
    --accent-backlog-mid: #a3e635;
    --text-primary: rgba(210, 240, 215, 0.9);
    --text-bright: rgba(220, 250, 230, 0.96);
    --text-body: rgba(200, 230, 210, 0.82);
    --text-dim: rgba(134, 200, 140, 0.45);
    --text-muted: rgba(160, 200, 170, 0.55);
    --priority-high: #ff7070;
    --priority-med: #ffb060;
    --priority-low: #4ade80;
    --shell-bg: rgba(5, 12, 8, 0.82);
    --shell-bg-backlog: rgba(12, 14, 6, 0.86);
    --page-bg: #0a1410;
    --accent-tint: rgba(74, 222, 128, 0.14);
    --accent-tint-strong: rgba(74, 222, 128, 0.18);
    --accent-border: rgba(134, 239, 172, 0.2);
    --backlog-tint: rgba(217, 249, 157, 0.12);
    --backlog-border: rgba(217, 249, 157, 0.22);
    --radius-sm: 10px;
    --radius-md: 14px;
    --radius-lg: 24px;
    --shadow-raised: 3px 3px 8px rgba(0, 0, 0, 0.4), -1px -1px 4px rgba(255, 255, 255, 0.04);
    --shadow-raised-lg: 4px 4px 16px rgba(0, 0, 0, 0.5), -3px -3px 12px rgba(255, 255, 255, 0.03),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
    --shadow-inset: inset 3px 3px 8px rgba(0, 0, 0, 0.4), inset -1px -1px 4px rgba(74, 222, 128, 0.08);
    --shadow-inset-tray: inset 2px 2px 6px rgba(0, 0, 0, 0.45), inset -1px -1px 3px rgba(255, 255, 255, 0.025);
    --shadow-shell: 0 24px 64px rgba(0, 0, 0, 0.22), 10px 10px 28px rgba(0, 0, 0, 0.18),
        inset 0 0 0 0.5px rgba(255, 255, 255, 0.08);
    --ease-spring: cubic-bezier(0.34, 1.4, 0.64, 1);
    --ease-spring-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
    --matrix-cell-height: 240px;
    --matrix-grid-gap: 14px;
    --matrix-grid-height: calc(var(--matrix-cell-height) * 2 + var(--matrix-grid-gap));
    --app-max-width: none;
    --app-gutter: 10px;
    --kanban-col-height-mobile: 280px;
    --kanban-board-stacked-height: calc(var(--kanban-col-height-mobile) * 3 + var(--matrix-grid-gap) * 2);
    --duration-fast: 0.2s;
    --duration-normal: 0.35s;
    --duration-spring: 0.42s;
    --font-display: 'Caveat', cursive;
    --font-body: 'Patrick Hand', cursive;
}

html.grove-app {
    color-scheme: only dark;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
