/* Stable typography and icon fallbacks for machines without CDN assets. */
:root {
  --lp-font-ui: Inter, "Segoe UI", Arial, sans-serif;
  --lp-font-display: Georgia, "Times New Roman", "Segoe UI", serif;
}

body, button, input, select, textarea, .card, .status, .stage, .notice, p, span, small { font-family: var(--lp-font-ui) !important; }
body, body *:not(.ph):not([class^="ph-"]):not([class*=" ph-"]) { font-family: var(--lp-font-ui) !important; }
h1, h2, h3, h4, .page-head h1, .workspace-head h1 { font-family: var(--lp-font-ui); }
blockquote, .serif, .editor-prose { font-family: var(--lp-font-display); }

/* If Phosphor fails to load, retain a compact, Windows-safe visual marker. */
.ph { display: inline-grid; place-items: center; width: 1em; min-width: 1em; height: 1em; font-family: "Phosphor", "Segoe UI Symbol", "Arial Unicode MS", sans-serif !important; font-style: normal; line-height: 1; }
.ph, i.ph, [class^="ph-"], [class*=" ph-"] { font-family: "Phosphor", "Segoe UI Symbol", "Arial Unicode MS", sans-serif !important; font-style: normal; }
.ph::before { font-size: .9em; }
.ph-hard-drives::before, .ph-hard-drive::before { content: "▣"; }
.ph-check-circle::before { content: "✓"; }
.ph-warning::before { content: "△"; }
.ph-buildings::before { content: "▥"; }
.ph-cpu::before { content: "▦"; }
.ph-shield::before, .ph-shield-check::before { content: "◆"; }
.ph-squares-four::before { content: "▦"; }
.ph-activity::before { content: "⌁"; }
.ph-gear::before { content: "⚙"; }
.ph-sign-out::before { content: "↪"; }
.ph-books::before { content: "▤"; }
.ph-coin::before { content: "◉"; }
.ph-list-checks::before { content: "☷"; }
.ph-info::before { content: "i"; }
/* Local, dependency-free glyphs for the complete shell icon vocabulary. */
.ph-archive::before { content: "▣"; }
.ph-arrow-left::before { content: "←"; }
.ph-caret-down::before { content: "⌄"; }
.ph-chart-line-up::before { content: "↗"; }
.ph-circle-fill::before { content: "●"; }
.ph-desktop::before { content: "▣"; }
.ph-envelope-simple::before, .ph-envelope-simple-open::before { content: "✉"; }
.ph-faders::before, .ph-sliders::before { content: "☷"; }
.ph-file-text::before { content: "▤"; }
.ph-floppy-disk::before { content: "▣"; }
.ph-gauge::before { content: "◔"; }
.ph-gear-six::before, .ph-gear::before { content: "⚙"; }
.ph-globe::before { content: "◎"; }
.ph-house::before { content: "⌂"; }
.ph-kanban::before { content: "▥"; }
.ph-lifebuoy::before { content: "◉"; }
.ph-lightning::before { content: "ϟ"; }
.ph-link::before { content: "↗"; }
.ph-list-magnifying-glass::before { content: "☷"; }
.ph-lock-key::before { content: "▣"; }
.ph-paper-plane-right::before, .ph-paper-plane-tilt::before { content: "➤"; }
.ph-pencil-line::before { content: "✎"; }
.ph-plugs::before { content: "⌁"; }
.ph-plus::before { content: "+"; }
.ph-robot::before { content: "▦"; }
.ph-rocket-launch::before { content: "↗"; }
.ph-seal-check::before { content: "✓"; }
.ph-sidebar::before, .ph-sidebar-simple::before { content: "▤"; }
.ph-stethoscope::before { content: "♧"; }
.ph-textbox::before { content: "▤"; }
.ph-ticket::before { content: "▱"; }
.ph-upload-simple::before { content: "↑"; }
.ph-wall::before { content: "▥"; }
.ph-warning-circle::before, .ph-x-circle::before { content: "⊗"; }
.ph-folders::before { content: "▤"; }
.ph-terminal-window::before { content: "⌘"; }
.ph-monitor-play::before { content: "▣"; }
.ph-stack::before { content: "▥"; }
.ph-wrench::before { content: "⚒"; }
.ph-plugs-connected::before { content: "⌁"; }
.ph-sliders-horizontal::before { content: "☷"; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
