import SwiftUI /// The board's **standard chrome** — the neutral surface stack under every lane and card, /// carried over from the pathfinder (03-board-ui.md § Styling: user colour is an edge accent; /// these are the fills underneath, and they never carry the user's colour). /// /// The stack is three steps deep, and each step has its own home: the window keeps the standard /// background (`BoardView.boardBackground` paints over it only when the board *chooses* a colour), /// every lane lays a quiet quaternary wash over that (`Accommodations.lanePlateWash`), and every /// card sits on the opaque plate below — which is what makes a card pop against the washed lane in /// both appearances: white on grey in light, a step *darker* than the window in dark. enum BoardSurface { /// A card's opaque plate — `controlBackgroundColor`, the pathfinder's card surface. Every face /// on the board fills with this one value (the resting face, the drag replica, the lane /// replica's miniatures, the placeholder editor and the arriving face), so a card is the same /// object wherever it is drawn. Opaque deliberately: a card's title never sees the board /// colour, which is why the ≥ 4.5:1 rule binds to the board level and not here /// (10-accessibility.md; `BoardView.boardBackground`). static var cardPlate: Color { Color(nsColor: .controlBackgroundColor) } }