/* WebCanvas — canvas UI chrome.
   Phase 2 (viewer). Vanilla CSS, no build step.

   Design language: macOS (Tahoe / Liquid Glass). The shell hosts this page as
   a *transparent* WKWebView over an NSVisualEffectView (sidebar material), so
   anywhere this page leaves the background transparent — the sidebar, panel,
   tab bar — real window glass shows through. Floating chrome over the canvas
   (HUD, menus, toast) emulates glass with backdrop-filter, which blurs actual
   page content. Two theme axes on <html> (css/tokens.css): the chrome follows
   the OS appearance (data-scheme, matching the native glass, which follows
   the system on its own), while the canvas surface follows the active board's
   background (data-canvas-scheme). */

@import url('./css/tokens.css');
@import url('./css/cursors.css');
@import url('./css/chrome.css');
@import url('./css/layers.css');
@import url('./css/filetree.css');
@import url('./css/board-objects.css');
@import url('./css/board-device.css');
@import url('./css/board-notes.css');
@import url('./css/board-stickies.css');
@import url('./css/rulers.css');
@import url('./css/board-missing.css');
/* After board-missing.css, never before: the working panel covers the same
   frame the missing one does. Import order is the cascade. */
@import url('./css/working.css');
/* The third empty-frame state (board/blank.js), after its two siblings. */
@import url('./css/board-blank.css');
@import url('./css/board-snapshot.css');
@import url('./css/shapes.css');
/* After shapes.css: the vertex editor and a riding text restate .shape parts. */
@import url('./css/paths.css');
@import url('./css/groups.css');
/* Flow arrows (connectors.js): after the objects they join, before resize. */
@import url('./css/connectors.css');
@import url('./css/resize.css');
/* The spacing handles (spacing/handles.js) — beside the resize handles, the
   other chrome that hangs on the selection. */
@import url('./css/spacing.css');
@import url('./css/overlays.css');
@import url('./css/grid-overlay.css');
/* ⌥-hover measurement: its own file because overlays.css is at the cap. */
@import url('./css/redlines.css');
@import url('./css/color-picker.css');
@import url('./css/color-picker-spectrum.css');
@import url('./css/color-picker-fills.css');
@import url('./css/color-picker-libraries.css');
@import url('./css/font-picker.css');
@import url('./css/targeting.css');
@import url('./css/diff.css');
@import url('./css/rename-find.css');
@import url('./css/resolve.css');
@import url('./css/source.css');
@import url('./css/home.css');
@import url('./css/settings.css');
@import url('./css/settings-general.css');
@import url('./css/sticky-palette.css');
@import url('./css/tabbar.css');
@import url('./css/library.css');
/* After library.css, never before: the Blocks panel reuses its grid and cell
   and overrides only the shot. Import order is the cascade. */
@import url('./css/blocks.css');
@import url('./css/versions.css');
@import url('./css/timeline.css');
/* The MCP highlight ring (mcp/point.js) — last: it draws over everything on
   the board, and nothing after it may restyle it. */
@import url('./css/mcp.css');
