{# Finite State Console Shell — layout chrome + dense panel/table/KPI classes ported from the Operations Console mockup. Every color flows through design tokens in tokens.css (included via _design_system.html → _tokens_inline.html), so dark/light switching is automatic. Usage (include pattern — console is NOT a full-document template like _briefing_shell.html; recipes own their /
/): {% if render_mode != 'fragment' %} {% include "_design_system.html" %} {% include "_console_shell.html" %} {% include "_echarts_ready.html" %} (or _chart_ready.html) {% endif %} ...content... {% if render_mode != 'fragment' %} {% endif %} Include order matters: _design_system.html supplies tokens + the shared class library; this shell adds the console-specific layout on top. Then _console_macros.html (imported, not included) for chrome macros (topbar, status_bar, panel_head, kpi_cell). See triage_prioritization.html for a full example. Templates can include this even if they aren't using every section — the classes are independent. Inter + JetBrains Mono fonts are loaded here so templates don't need to add a separate Google Fonts link tag. Fragment-mode contract (T0b § item 3): - Console recipes own the {% if render_mode != 'fragment' %} wrapper around their full document chrome (shown above). This is the CRA pattern (cra_compliance.html). The wrapper strips DOCTYPE// in fragment mode so the fragment_extractor can scope styles + the compound assembler can supply chrome at bundle level. - Chart container IDs use {{ fragment_scope_class }} as a prefix: