/* GENERATED by build.py from content surfaces. Do not hand-edit.
 * Exists because a style= attribute is inline style and is blocked
 * by style-src 'self' just as a <style> block is.
 */
/* Explicit grid placement: auto-flow would drop main into a rail. */
@media (min-width: 64rem) {
  .js .shell { grid-template-columns: minmax(0, 1.0fr); }
  .js .shell > .canvas { grid-column: 1; }
}
/* Hero display, from content 'hero'. */
:root {
  --hero-measure: 18ch;
  --hero-size: 72px;
}
@media (max-width: 60rem) {
  :root {
    --hero-measure: 11ch;
    --hero-size: 44px;
  }
}
/* Whitespace transition, from content pacing.bridgeViewports. */
.canvas-inner > section.bridge { min-height: 34vh; }
/* Wordmark gives way to the mark once the ROW cannot hold it.
 * A container query in em, not a media query in rem: media-query
 * rem resolves against the INITIAL root font size, so the rule
 * this replaces never fired when the root font actually changed.
 */
@container hdr-row (max-width: 16em) {
  .brand-word { display: none; }
}
/* Monochrome icon masks. The PNG supplies the SHAPE; the
 * colour is currentColor, so an icon reads as the text it
 * belongs to and carries no meaning it has not earned. */
.icon-admin_auth { mask-image: url("../icons/admin_auth.png"); -webkit-mask-image: url("../icons/admin_auth.png"); }
.icon-credits { mask-image: url("../icons/credits.png"); -webkit-mask-image: url("../icons/credits.png"); }
.icon-home_stage { mask-image: url("../icons/home_stage.png"); -webkit-mask-image: url("../icons/home_stage.png"); }
.icon-library { mask-image: url("../icons/library.png"); -webkit-mask-image: url("../icons/library.png"); }
.icon-network_observer { mask-image: url("../icons/network_observer.png"); -webkit-mask-image: url("../icons/network_observer.png"); }
.icon-page_deck { mask-image: url("../icons/page_deck.png"); -webkit-mask-image: url("../icons/page_deck.png"); }
.icon-system { mask-image: url("../icons/system.png"); -webkit-mask-image: url("../icons/system.png"); }
.icon-w2w_nexus { mask-image: url("../icons/w2w_nexus.png"); -webkit-mask-image: url("../icons/w2w_nexus.png"); }
/* Per-panel settings from content. Generated because a
 * style attribute is inline style and CSP refuses it. */
.pu-vesica-24_0 { position: relative; isolation: isolate; }
.pu-vesica-24_0::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: radial-gradient(circle, transparent 0 23px, currentColor 23px 24px, transparent 24px), radial-gradient(circle, transparent 0 23px, currentColor 23px 24px, transparent 24px);
  background-size: 24px 41.5692px;
  background-position: 0 0, 12px 20.7846px;
  opacity: 0.08;
}
.pu-vesica-24_0 > * { position: relative; z-index: 1; }
@media (prefers-reduced-motion: reduce) {
  .pu-vesica-24_0::before { animation: none !important; }
}
/* [hidden] is a hard contract; a display rule must not defeat it. */
[hidden] { display: none !important; }
/* Hidden headers must not reserve their height. */
:root {
  --header-row-2: 0px;
}
