/* Dyadic: the shared palette (identity.css), the site's header and footer, and the pages they frame. */
* { box-sizing: border-box; }
body { margin: 0; min-height: var(--geometry-min-height-100vh-728c572); display: flex; flex-direction: column; line-height: var(--typography-line-height-1-55-9e0b4cf); }
a { color: inherit; }
.dy-main { flex: 1; width: min(100%, var(--geometry-width-68rem-865fb44)); margin: 0 auto; padding: clamp(var(--spacing-padding-2-5rem-fb391dd), var(--spacing-padding-8vw-5f0e2b1), var(--spacing-padding-6rem-894c01c)) var(--gutter) var(--spacing-padding-3rem-550d167); }
.dy-hero h1 { font-size: clamp(var(--typography-font-size-2-4rem-84ca4d0), var(--typography-font-size-7vw-0738a04), var(--typography-font-size-4-4rem-fb218c6)); line-height: var(--typography-line-height-1-05-00fef94); margin: 0 0 var(--spacing-padding-1rem-b8be0c7); letter-spacing: var(--typography-letter-spacing-02em-a1bf9ed); }
.dy-hero p { max-width: var(--geometry-max-width-40rem-b4490db); color: var(--muted); font-size: var(--typography-font-size-1-12rem-089d59d); margin: 0; }
.dy-actions { display: flex; flex-wrap: wrap; gap: var(--spacing-gap-7rem-7eff2a1); margin-top: var(--spacing-margin-top-1-8rem-1e2e541); }
.dy-button { display: inline-flex; align-items: center; min-height: var(--geometry-min-height-2-75rem-3cc807c); padding: 0 var(--spacing-padding-1-15rem-3b14c93); border-radius: var(--geometry-border-radius-999px-088f244); border: var(--geometry-border-1px-93e2062) solid var(--line); background: var(--panel); text-decoration: none; font-weight: var(--type-weight-control); }
.dy-button:hover { border-color: var(--accent); }
.dy-button--primary { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.dy-button .dy-icon { width: var(--geometry-width-1-2rem-a7b00d3); height: var(--geometry-width-1-2rem-a7b00d3); margin-right: var(--spacing-gap-55rem-f5020a7); fill: currentColor; flex: none; }
.dy-button--discord:hover { border-color: var(--color-border-color-5865f2-c240625); }
/* Signing in or linking with another company: its official mark, in its colors, at the start of the button. */
.dy-button--provider { justify-content: center; gap: var(--spacing-padding-65rem-bcca6ce); }
.dy-button .dy-icon--brand, .dy-provider-head .dy-icon--brand { width: var(--geometry-width-1-15rem-3b14c93); height: var(--geometry-width-1-15rem-3b14c93); margin: 0; fill: initial; }
.dy-provider-head { display: flex; align-items: center; gap: var(--spacing-gap-55rem-f5020a7); }
.dy-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); gap: var(--spacing-padding-1rem-b8be0c7); margin-top: clamp(var(--spacing-padding-2-5rem-fb391dd), var(--spacing-padding-7vw-0738a04), var(--spacing-padding-4-5rem-41dca9e)); }
.dy-grid article { background: var(--panel); border: var(--geometry-border-1px-93e2062) solid var(--line); border-radius:var(--r-md); padding: var(--spacing-padding-1-2rem-a7b00d3) var(--spacing-padding-1-25rem-c10b7e1); }
.dy-grid h2 { margin: 0 0 var(--spacing-margin-4rem-7fdc8b1); font-size: var(--typography-font-size-1-05rem-8c6e288); }
.dy-grid p { margin: 0; color: var(--muted); font-size: var(--typography-font-size-95rem-adb8a86); }
.dy-grid p a, .dy-note a { color: var(--accent); text-decoration: underline; text-underline-offset: var(--geometry-text-underline-offset-2em-5bb2e20); }
.dy-note { margin: var(--spacing-padding-1-5rem-b81aec4) 0 0; color: var(--muted); font-size: var(--typography-font-size-85rem-2e72ebc); line-height: var(--type-line-body); }
/* The shared header and footer, stamped into each page by tools/site_shell.py
   and worked by dyadic.js. One menu and one link group per section. */
.dy-shell, .dy-shell-foot { color: var(--ink); font-size: var(--typography-font-size-14px-09f9739); line-height: var(--typography-line-height-1-45-6918de1); }
.dy-shell a, .dy-shell-foot a { color: inherit; text-decoration: none; }
.dy-shell button { font: inherit; color: inherit; cursor: pointer; }
.dy-shell svg, .dy-shell-foot svg { display: block; width: var(--geometry-width-18px-ab98c04); height: var(--geometry-width-18px-ab98c04); fill: currentColor; flex: none; }
.dy-shell--cyan { --dy-accent: var(--cyan); }
.dy-shell--violet { --dy-accent: var(--violet); }
.dy-shell--green { --dy-accent: var(--green); }

.dy-shell { position: relative; z-index: 150; display: flex; align-items: center; gap: clamp(var(--spacing-gap-14px-09f9739), var(--spacing-gap-2-2vw-f5b9545), var(--spacing-gap-32px-9d9bfb3)); min-height: var(--geometry-min-height-68px-45c49e2); padding: calc(var(--spacing-padding-10px-38cb6b4) + env(safe-area-inset-top, var(--spacing-padding-top-0px-33a3c91))) var(--gutter) var(--spacing-padding-10px-38cb6b4); border-bottom: var(--geometry-border-1px-93e2062) solid var(--line); background: var(--paper); }
.dy-shell::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: var(--geometry-border-1px-93e2062); background: linear-gradient(90deg, var(--cyan), var(--violet) 40%, var(--coral) 70%, transparent); opacity: .55; pointer-events: none; }
.dy-shell__brand { display:inline-flex; align-items:center; gap:var(--spacing-padding-10px-38cb6b4); flex:none; border-radius:var(--r-xs); }
.dy-shell__brand img { display: block; width: var(--geometry-width-34px-929994f); height: var(--geometry-width-34px-929994f); transition: transform var(--dur-page-out) var(--ease-out); }
.dy-shell__brand:hover img { transform: scale(1.06); }
.dy-shell__nav { display: flex; align-items: stretch; gap: var(--spacing-gap-2px-7476140); }
.dy-shell__item { position: relative; display: flex; }
.dy-shell__trigger { position: relative; display: flex; align-items: center; gap: var(--spacing-gap-4px-3566015); min-height: var(--geometry-min-height-44px-717594b); padding: 0 var(--spacing-padding-9px-12a8299) 0 var(--spacing-padding-12px-7769e81); border: 0; border-radius: var(--r-sm); background: transparent; color: var(--muted); font-weight: var(--type-weight-control); transition: color var(--motion-transition-150ms-a29b8de) var(--motion-transition-ease-914ff41), background var(--motion-transition-150ms-a29b8de) var(--motion-transition-ease-914ff41); }
.dy-shell .dy-shell__trigger svg { width: var(--geometry-width-16px-6793164); height: var(--geometry-width-16px-6793164); opacity: .65; transition: transform var(--dur-page-out) var(--motion-transition-ease-914ff41); }
.dy-shell__trigger::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 6px; height: var(--geometry-outline-2px-7476140); border-radius: var(--geometry-outline-2px-7476140); background: var(--dy-accent); transform: scaleX(0); transform-origin: left; transition: transform var(--dur-page-out) var(--motion-transition-cubic-bezier-2-8-2-1-9312e32); }
.dy-shell__item.is-open > .dy-shell__trigger, .dy-shell__item.is-current > .dy-shell__trigger { color: var(--ink); }
.dy-shell__item.is-open > .dy-shell__trigger { background: color-mix(in srgb, var(--ink) 5%, transparent); }
.dy-shell__item.is-open > .dy-shell__trigger::after, .dy-shell__item.is-current > .dy-shell__trigger::after { transform: scaleX(1); }
.dy-shell__item.is-open > .dy-shell__trigger svg { transform: rotate(180deg); }
.dy-shell__panel { position: absolute; top: calc(100% + 10px); left: 0; z-index: 2; display: none; width: var(--geometry-width-330px-d03ef9b); padding: var(--spacing-padding-8px-eb4ebe4); border: var(--geometry-border-1px-93e2062) solid var(--line); border-top: var(--geometry-outline-2px-7476140) solid var(--dy-accent); border-radius: var(--r-lg); background: var(--panel); box-shadow: var(--shadow-3); animation: dy-shell-rise var(--dur-fast) var(--motion-animation-ease-out-791c2d0); }
.dy-shell__panel::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: var(--geometry-border-radius-14px-09f9739); }
.dy-shell__item.is-open > .dy-shell__panel { display: grid; }
@media (hover: hover) {
  .dy-shell__item:hover > .dy-shell__trigger { color: var(--ink); background: color-mix(in srgb, var(--ink) 5%, transparent); }
  .dy-shell__item:hover > .dy-shell__trigger::after { transform: scaleX(1); }
  .dy-shell__item:hover > .dy-shell__panel { display: grid; }
}
.dy-shell__panel-link { display: grid; grid-template-columns: 28px 1fr; gap: var(--spacing-padding-10px-38cb6b4); align-items: start; padding: var(--spacing-padding-10px-38cb6b4); border-radius: var(--r-sm); }
.dy-shell__panel-number { padding-top: var(--spacing-gap-2px-7476140); color: var(--dy-accent); font-size: var(--typography-font-size-11px-6d3b65a); font-weight: var(--typography-font-weight-700-99ee502); letter-spacing: var(--typography-letter-spacing-08em-0018d62); }
.dy-shell__panel-text { display: grid; gap: var(--spacing-gap-2px-7476140); }
.dy-shell__panel-text strong { color: var(--ink); font-weight: var(--typography-font-weight-650-2099a9b); }
.dy-shell__panel-text small { color: var(--muted); font-size: var(--typography-font-size-12-5px-8aeb429); }
.dy-shell__panel-link:hover, .dy-shell__panel-link:focus-visible { background: var(--panel-strong); outline: 0; }
.dy-shell__panel-link:hover strong, .dy-shell__panel-link:focus-visible strong, .dy-shell__panel-link[aria-current="page"] strong { color: var(--dy-accent); }
.dy-shell__tools { display: flex; align-items: center; gap: var(--spacing-padding-10px-38cb6b4); margin-left: auto; }
.dy-shell__social { display: grid; place-items: center; width: var(--geometry-width-38px-6018510); height: var(--geometry-width-38px-6018510); border-radius: var(--r-sm); color: var(--muted); transition: color var(--motion-transition-150ms-a29b8de) var(--motion-transition-ease-914ff41), background var(--motion-transition-150ms-a29b8de) var(--motion-transition-ease-914ff41); }
.dy-shell__social:hover { background: color-mix(in srgb, var(--accent) 10%, transparent); color: var(--accent); }
.dy-shell__sign-in { padding: var(--spacing-padding-9px-12a8299) var(--spacing-padding-6px-7adef6a); color: var(--muted); font-weight: var(--type-weight-control); white-space: nowrap; }
.dy-shell__sign-in:hover { color: var(--ink); }
.dy-shell__avatar { position: relative; display: grid; place-items: center; width: var(--geometry-width-34px-929994f); height: var(--geometry-width-34px-929994f); padding: 0; overflow: hidden; border-radius: 50%; background: linear-gradient(var(--panel-strong), var(--panel-strong)) padding-box, var(--accent-gradient) border-box; border: var(--geometry-border-1-5px-67792bd) solid transparent; color: var(--ink); font-weight: var(--typography-font-weight-800-1a1cf79); }
.dy-shell__avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dy-shell__cta { display: inline-flex; align-items: center; justify-content: center; gap: var(--spacing-padding-8px-eb4ebe4); min-height: var(--geometry-width-38px-6018510); padding: 0 var(--spacing-padding-16px-6793164); border-radius: var(--r-md); background: var(--accent); color: var(--accent-ink) !important; font-weight: var(--typography-font-weight-650-2099a9b); white-space: nowrap; transition: background var(--motion-transition-150ms-a29b8de) var(--motion-transition-ease-914ff41), transform var(--motion-transition-150ms-a29b8de) var(--motion-transition-ease-914ff41); }
.dy-shell__cta:hover { background: var(--accent-hover); transform: translateY(-1px); }
.dy-shell__menu { display: none; place-items: center; width: var(--geometry-width-42px-c98b24d); height: var(--geometry-width-42px-c98b24d); padding: 0; border: var(--geometry-border-1px-93e2062) solid var(--line); border-radius: var(--r-sm); background: var(--panel); }
.dy-shell .dy-shell__menu-close, .dy-shell__menu[aria-expanded="true"] .dy-shell__menu-open { display: none; }
.dy-shell__menu[aria-expanded="true"] .dy-shell__menu-close { display: block; }
.dy-shell__sheet { position: fixed; top: var(--dy-shell-bottom, 68px); right: 0; bottom: 0; left: 0; z-index: 99; display: flex; flex-direction: column; gap: var(--spacing-gap-24px-2793cbc); overflow: auto; overscroll-behavior: contain; padding: var(--spacing-padding-22px-5d6c439) var(--gutter) calc(var(--spacing-padding-40px-1db6432) + env(safe-area-inset-bottom, var(--spacing-padding-top-0px-33a3c91))); border-top: var(--geometry-border-1px-93e2062) solid var(--line); background: var(--paper); animation: dy-shell-rise var(--dur-control) var(--motion-animation-ease-out-791c2d0); }
.dy-shell__sheet[hidden] { display: none; }
.dy-shell__sheet-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-gap-26px-48984c3) var(--spacing-gap-20px-9bf0c8e); }
.dy-shell__sheet-group { display: grid; align-content: start; gap: var(--spacing-gap-2px-7476140); }
.dy-shell__sheet-group h2, .dy-shell-foot__group h2 { margin: 0 0 var(--spacing-padding-6px-7adef6a); color: var(--ink); font-size: var(--typography-font-size-11px-6d3b65a); font-weight: var(--typography-font-weight-800-1a1cf79); line-height: var(--typography-line-height-1-3-9c193c6); letter-spacing: var(--typography-letter-spacing-12em-a98947c); text-transform: uppercase; }
.dy-shell__sheet-group h2 { padding-bottom: var(--spacing-padding-8px-eb4ebe4); border-bottom: var(--geometry-outline-2px-7476140) solid var(--dy-accent); }
.dy-shell__sheet-link { display: flex; align-items: center; min-height: var(--geometry-min-height-46px-1968afb); padding: 0 var(--spacing-gap-4px-3566015); color: var(--muted); font-size: var(--typography-font-size-16px-6793164); }
.dy-shell__sheet-link:hover, .dy-shell__sheet-link[aria-current="page"] { color: var(--dy-accent); }
.dy-shell__sheet-foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing-padding-12px-7769e81); padding-top: var(--spacing-gap-20px-9bf0c8e); border-top: var(--geometry-border-1px-93e2062) solid var(--line); }
.dy-shell__sheet-foot .dy-shell__social { margin-left: auto; }
html.dy-locked { overflow: hidden; }

.dy-shell-foot { padding: 0 var(--gutter) env(safe-area-inset-bottom, var(--spacing-padding-top-0px-33a3c91)); border-top: var(--geometry-border-1px-93e2062) solid var(--line); background: var(--paper); }
.dy-shell-foot__inner { width: min(100%, var(--geometry-width-1280px-2b4e2bb)); margin: 0 auto; }
.dy-shell-foot__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--spacing-gap-24px-2793cbc); padding: var(--spacing-padding-40px-1db6432) 0 var(--spacing-gap-32px-9d9bfb3); }
.dy-shell-foot__brand { display: grid; justify-items: start; gap: var(--spacing-gap-14px-09f9739); }
.dy-shell-foot__brand img { display: block; width: var(--geometry-width-140px-46bd065); height: auto; }
/* The wordmark's letters are white; on Light they're ink (assets/wordmark-ink.png), the mark keeps its colors. */
.dy-shell-foot__brand .dy-wordmark--ink, :root[data-theme="light"] .dy-shell-foot__brand .dy-wordmark:not(.dy-wordmark--ink) { display: none; }
:root[data-theme="light"] .dy-shell-foot__brand .dy-wordmark--ink { display: block; }
.dy-shell-foot__brand p { max-width: var(--geometry-max-width-34ch-91989fd); margin: 0; color: var(--muted); font: italic 400 var(--typography-font-size-18px-ab98c04)/1.4 var(--font-display); }
.dy-shell-foot__cta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing-padding-16px-6793164); }
.dy-shell-foot__cta p { margin: 0; color: var(--ink); font: 400 var(--typography-font-size-22px-5d6c439)/1.2 var(--font-display); letter-spacing: var(--typography-letter-spacing-02em-a1bf9ed); }
.dy-shell-foot__map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--spacing-gap-28px-c80bfee); padding: var(--spacing-gap-32px-9d9bfb3) 0; border-top: var(--geometry-border-1px-93e2062) solid var(--line); border-bottom: var(--geometry-border-1px-93e2062) solid var(--line); }
.dy-shell-foot__group h2 { margin-bottom: var(--spacing-gap-14px-09f9739); padding-left: var(--spacing-padding-10px-38cb6b4); border-left: var(--geometry-outline-2px-7476140) solid var(--dy-accent); }
.dy-shell-foot__group ul { display: grid; gap: var(--spacing-gap-2px-7476140); margin: 0; padding: 0; list-style: none; }
.dy-shell-foot__group a { display: inline-flex; align-items: center; min-height: var(--geometry-min-height-32px-9d9bfb3); padding-left: var(--spacing-padding-12px-7769e81); color: var(--muted); transition: color var(--motion-transition-150ms-a29b8de) var(--motion-transition-ease-914ff41); }
.dy-shell-foot__group a:hover, .dy-shell-foot__group a[aria-current="page"] { color: var(--dy-accent); }
.dy-shell-foot__base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--spacing-padding-12px-7769e81) var(--spacing-gap-24px-2793cbc); padding: var(--spacing-gap-20px-9bf0c8e) 0 var(--spacing-gap-28px-c80bfee); color: var(--dim); font-size: var(--typography-font-size-13px-145f2f5); }
.dy-shell-foot__base p { margin: 0; }
.dy-shell-foot__up { display: inline-flex; align-items: center; gap: var(--spacing-padding-6px-7adef6a); padding: var(--spacing-padding-6px-7adef6a) 0; color: var(--muted); }
.dy-shell-foot .dy-shell-foot__up svg { width: var(--geometry-width-15px-7f10880); height: var(--geometry-width-15px-7f10880); }
.dy-shell-foot__up:hover { color: var(--ink); }

@keyframes dy-shell-rise { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (max-width: 900px) {
  .dy-shell__nav, .dy-shell__tools > .dy-shell__social, .dy-shell__tools > .dy-shell__sign-in { display: none; }
  .dy-shell__menu { display: grid; }
}
@media (max-width: 760px) {
  .dy-shell { min-height: var(--geometry-min-height-60px-229a5dc); }
  .dy-shell-foot__map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .dy-shell__sheet-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .dy-shell *, .dy-shell-foot * { animation: none !important; transition: none !important; } }
@media print { .dy-shell, .dy-shell-foot { display: none !important; } }
/* Notes, link buttons and the "Confirm it's you" dialog (passkey.js), on every page. */
.dy-note { min-height: var(--geometry-min-height-1-3rem-4f4935e); font-size: var(--typography-font-size-9rem-2ad2e76); color: var(--muted); margin: 0; }
.dy-note--error { color: var(--red); }
.dy-note--ok { color: var(--green); }
.dy-link-button { background: none; border: 0; color: var(--accent); font: inherit; font-weight: var(--type-weight-control); cursor: pointer; padding: var(--spacing-margin-2rem-4cd30ed); }
.dy-link-button--danger { color: var(--red); }
.dy-dialog { width: min(var(--geometry-width-92vw-0ac7100), var(--geometry-width-24rem-6884711)); border: var(--geometry-border-1px-93e2062) solid var(--line); border-radius: var(--geometry-width-16px-6793164); background: var(--panel); color: var(--ink); padding: var(--spacing-padding-1-3rem-4f4935e); display: grid; gap: var(--spacing-gap-8rem-818b9f7); }
.dy-dialog:not([open]) { display: none; }
.dy-dialog::backdrop { background: rgb(4 7 14 / .7); }
.dy-dialog h2 { margin: 0; font-size: var(--typography-font-size-1-1rem-14af91b); }
.dy-dialog p { margin: 0; color: var(--muted); font-size: var(--typography-font-size-92rem-c7cd355); }
.dy-dialog .dy-button { width: 100%; justify-content: center; cursor: pointer; font: inherit; font-weight: var(--type-weight-control); color: var(--accent-ink); }

/* The Workspace page: no site header above it. */
body.workspace-page { --header-h: 0px; }

/* download page */
.dy-get { max-width: var(--geometry-max-width-44rem-6ddb6ba); }
.dy-get__hero { display: flex; gap: var(--spacing-padding-1-4rem-2569574); align-items: center; margin: 0 0 var(--spacing-padding-2rem-bca5ebd); flex-wrap: wrap; }
.dy-get__hero img { width: var(--geometry-width-84px-5f9b859); height: var(--geometry-width-84px-5f9b859); border-radius:var(--r-lg); box-shadow: 0 10px 30px rgb(0 0 0 / .35); }
.dy-get h1 { font-family: var(--font-display); font-weight: var(--typography-font-weight-500-0604cd3); font-size: clamp(var(--typography-font-size-2-1rem-f351383), var(--typography-font-size-6vw-f89fcb9), var(--typography-font-size-3-1rem-0201e25)); line-height: var(--typography-line-height-1-08-2af765d); letter-spacing: var(--typography-letter-spacing-02em-a1bf9ed); margin: 0 0 var(--spacing-gap-35rem-1304a2b); }
.dy-get__lead { color: var(--muted); margin: 0; line-height: var(--typography-line-height-1-6-ec6c168); }
.dy-get__badge { display: inline-block; margin-left: var(--spacing-margin-5rem-ef026cb); padding: var(--spacing-padding-1rem-4e95f32) var(--spacing-gap-55rem-f5020a7); border-radius: var(--geometry-border-radius-999px-088f244); font: 700 var(--typography-font-size-72rem-2a7309a)/1.6 var(--font-ui); letter-spacing: var(--typography-letter-spacing-04em-5c4d123); vertical-align: .55em;
background: var(--accent); color: var(--accent-ink); }
.dy-get__card { background: var(--panel); border: var(--geometry-border-1px-93e2062) solid var(--line); border-radius: var(--geometry-width-18px-ab98c04); padding: var(--spacing-padding-1-4rem-2569574); display: grid; gap: var(--spacing-padding-1rem-b8be0c7); margin-bottom: var(--spacing-padding-1-4rem-2569574); }
.dy-get__download { display: inline-flex; align-items: center; justify-content: center; gap: var(--spacing-padding-65rem-bcca6ce); min-height: var(--geometry-min-height-3-2rem-d45b42f); padding: 0 var(--spacing-padding-1-5rem-b81aec4); border-radius: var(--geometry-border-radius-999px-088f244);
background: var(--accent); color: var(--accent-ink); font-weight: var(--typography-font-weight-700-99ee502); text-decoration: none; font-size: var(--typography-font-size-1-02rem-f6100ff); justify-self: start; }
.dy-get__download:hover { filter: brightness(1.08); }
.dy-get__download:focus-visible { outline: var(--geometry-outline-2px-7476140) solid var(--ink); outline-offset: var(--geometry-height-3px-ac33ff9); }
.dy-get__facts { display: grid; grid-template-columns: max-content 1fr; gap: var(--spacing-gap-35rem-1304a2b) var(--spacing-padding-1-2rem-a7b00d3); margin: 0; font-size: var(--typography-font-size-9rem-2ad2e76); }
.dy-get__facts dt { color: var(--dim); }
.dy-get__facts dd { margin: 0; color: var(--ink); min-width: 0; overflow-wrap: anywhere; }
.dy-get__facts code { font: var(--typography-font-size-82rem-8da80e1)/1.5 var(--font-mono); color: var(--muted); }
.dy-get h2 { font-size: var(--typography-font-size-1-1rem-14af91b); margin: var(--spacing-padding-2rem-bca5ebd) 0 var(--spacing-gap-7rem-7eff2a1); }
.dy-get ol, .dy-get ul { color: var(--muted); line-height: var(--typography-line-height-1-7-8f65223); padding-left: var(--spacing-padding-1-3rem-4f4935e); margin: 0; }
.dy-get li { margin: var(--spacing-margin-3rem-fb2375d) 0; }
.dy-get p { color: var(--muted); line-height: var(--typography-line-height-1-7-8f65223); }
.dy-get a:not(.dy-get__download) { color: var(--accent); }

/* privacy and terms */
.dy-legal { max-width: var(--geometry-max-width-46rem-a77c1a9); }
.dy-legal h1 { font-family: var(--font-display); font-weight: var(--typography-font-weight-500-0604cd3); font-size: clamp(var(--typography-font-size-2-2rem-ac5d0c3), var(--typography-font-size-6vw-f89fcb9), var(--typography-font-size-3-4rem-f3f389d)); line-height: var(--typography-line-height-1-08-2af765d); letter-spacing: var(--typography-letter-spacing-02em-a1bf9ed); margin: 0 0 var(--spacing-gap-8rem-818b9f7); }
.dy-legal .dy-updated { color: var(--dim); margin: 0 0 var(--spacing-margin-2-2rem-ac5d0c3); }
.dy-legal h2 { font-size: var(--typography-font-size-1-15rem-3b14c93); margin: var(--spacing-margin-2-4rem-84ca4d0) 0 var(--spacing-padding-6rem-d0bc70f); }
.dy-legal p, .dy-legal li { color: var(--muted); line-height: var(--typography-line-height-1-7-8f65223); }
.dy-legal ul { padding-left: var(--spacing-padding-1-2rem-a7b00d3); }
.dy-legal li { margin: var(--spacing-gap-35rem-1304a2b) 0; }
.dy-legal strong { color: var(--ink); font-weight: var(--type-weight-control); }
.dy-legal a { color: var(--accent); }

/* Row proportions for the account forms. */
.dy-grow-3 { flex: 3; }
.dy-grow-1 { flex: 1; }
:is(.dy-badge, .dy-get__badge, .dev-badge, .dev-chip) { display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; }
:is(.dy-badge, .dy-get__badge, .dev-badge, .dev-chip) > :is(span, code) { display: block; }
/* In the Android app (web/app-nav.js sets .is-app): no website navigation. The site's header and
   footer and the Workspace's "Dyadic" button lead to website pages; the app has its own way around. */
.is-app :is(.dy-shell, .dy-shell-foot, .ws-nav__foot, [data-web-only]) { display: none !important; }

/* Plain wordmark text follows its independent font role; no product text is baked into an uploaded image. */
.dy-design-wordmark { font-family:var(--font-wordmark); font-weight:var(--wordmark-weight,600); font-size:var(--wordmark-size,var(--typography-font-size-32px-9d9bfb3)); line-height:var(--wordmark-line,1.15); color:var(--logo-wordmark-color); white-space:nowrap; max-width:100%; overflow:hidden; text-overflow:ellipsis; }

.dy-shell__wordmark { font:600 var(--typography-font-26px-48984c3)/1 var(--font-pixel);letter-spacing:var(--typography-letter-spacing-02em-a1bf9ed); }
.dy-shell-foot__iris { width:var(--geometry-width-64px-a7d674f); }
