{{define "layout"}}
{{/* layout — every page's document: the head, the estilo bar and .
The bar is estilo's (chrome.Bar, built once per request in
chrome.go), in place of rastrillo's topbar shell: that was 81px, with
a raw address, a blue "Settings" link and a Sign out button wrapping
under it. estilo's is 52px at every width, signed in or out, with the
account always last in the same corner.
data-theme is written into the first bytes of the response, from the
Appearance cookie read server-side (chrome.Appearance), so there is
no flash. It is ABSENT for "system": theme.css's toggle is
:root[data-theme="light"|"dark"], and with no attribute the browser
follows the operating system.
The is built here and only here, "{part} · {part} · Calls",
so no handler can drift from the suite's separator (spec §10).
comes first. The stylesheets are in the suite's fixed
order: tokens, theme, brand, then estilo's base, menu and chrome,
then the app's own; a page adds its own in "head", last. */}}
{{range .Frame.TitleParts}}{{.}} · {{end}}{{.Frame.Chrome.App.Name}}
{{iconAssets}}
{{block "head" .}}{{end}}
{{/* The page shell. The call room replaces it (room.html's "body"): a
call is one rounded window in the viewport, and its navigation moves
into the title's menu, in the account menu's words and order. */}}
{{block "body" .}}