/* Layout and spacing follow https://www.superlogical.com/rex/docs/installation.
   Bootstrap 5.3 supplies Reboot, utilities and components; Cue overrides follow.
   The violet, pink and cyan palette comes from Cue's app icon. */
@font-face {
  font-family: "Cue Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./fonts/cue-sans-regular.woff2") format("woff2");
}
@font-face {
  font-family: "Cue Sans";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url("./fonts/cue-sans-medium.woff2") format("woff2");
}
:root {
  color-scheme: light;
  --ink: #2b2238;
  --ink-rgb: 43, 34, 56;
  --paper: #f6f2fa;
  --paper-rgb: 246, 242, 250;
  --soft: #3b2e4bbd;
  --muted: #7d6e8c;
  --muted-rgb: 125, 110, 140;
  --rule: #6b4b9126;
  --wash: #9564c90e;
  --surface: #fdfaff;
  --surface-rgb: 253, 250, 255;
  --focus: #9252cb;
  --accent-rgb: 146, 82, 203;
  --edge-top: #9f7cbd40;
  --edge-bottom: #9f7cbd18;
  --glow-violet: #bd8bfa30;
  --glow-pink: #ffa9c52b;
  --glow-cyan: #79d9f024;
  --glass-fill: #ffffff66;
  --glass-panel: #fbf7ffde;
  --glass-input: #ffffff70;
  --glass-stroke: #ffffffa6;
  --glass-highlight: #ffffffd9;
  --glass-shadow: 0 8px 24px #49305e10, 0 2px 6px #49305e08;
  --glass-overlay: #35213f29;
  --glass-blur: 40px;
  --glass-control-blur: 24px;
  --glass-page-blur: 4px;
  --glass-overlay-blur: 6px;
  --glass-saturation: 160%;
  --glass-radius: 26px;
  --code-keyword: #8750ac;
  --code-string: #166b70;
  --code-number: #a44d20;
  --code-title: #395fa4;
  --code-comment: #7c6a88;
  --code-attribute: #9f3f78;
  --code-meta: #7b5b1f;
  --code-added: #216f44;
  --code-deleted: #9e3949;
  --code-command: #20705e;
  --code-option: #6950b3;
  --inline-code: #97470e;
  --inline-code-bg: #be761114;
  --shadow: 0 1px 1px #00000005, 0 2px 3px -1px #00000008;
  --mono: ui-monospace, "SF Mono", Menlo, monospace;

  /* Bind Bootstrap's theme to Cue's semantic tokens in both color modes. */
  --bs-font-sans-serif: "Cue Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --bs-font-monospace: var(--mono);
  --bs-body-color: var(--ink);
  --bs-body-color-rgb: var(--ink-rgb);
  --bs-body-bg: var(--paper);
  --bs-body-bg-rgb: var(--paper-rgb);
  --bs-emphasis-color: var(--ink);
  --bs-emphasis-color-rgb: var(--ink-rgb);
  --bs-secondary-color: var(--soft);
  --bs-secondary-color-rgb: var(--ink-rgb);
  --bs-secondary-bg: var(--surface);
  --bs-secondary-bg-rgb: var(--surface-rgb);
  --bs-tertiary-color: var(--muted);
  --bs-tertiary-color-rgb: var(--muted-rgb);
  --bs-tertiary-bg: var(--surface);
  --bs-tertiary-bg-rgb: var(--surface-rgb);
  --bs-primary: var(--focus);
  --bs-primary-rgb: var(--accent-rgb);
  --bs-primary-text-emphasis: var(--focus);
  --bs-primary-bg-subtle: var(--wash);
  --bs-primary-border-subtle: var(--rule);
  --bs-heading-color: var(--ink);
  --bs-link-color: var(--focus);
  --bs-link-color-rgb: var(--accent-rgb);
  --bs-link-hover-color: var(--ink);
  --bs-link-hover-color-rgb: var(--ink-rgb);
  --bs-code-color: var(--focus);
  --bs-border-color: var(--rule);
  --bs-border-color-translucent: var(--rule);
  --bs-border-radius: .75rem;
  --bs-box-shadow-sm: var(--shadow);
  --bs-focus-ring-color: rgba(var(--accent-rgb), .25);
}
html { background: var(--paper); scroll-padding-top: 40px; scrollbar-color: var(--rule) var(--paper); -webkit-text-size-adjust: 100%; }
body {
  min-height: 100svh;
  isolation: isolate;
  -webkit-font-smoothing: antialiased;
}
/* A fixed wash keeps the icon's colors at the edges while long articles scroll. */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70vw 65vh at 0% 0%, var(--glow-violet), transparent 75%),
    radial-gradient(ellipse 60vw 75vh at 100% 12%, var(--glow-pink), transparent 75%),
    radial-gradient(ellipse 65vw 60vh at 0% 100%, var(--glow-cyan), transparent 75%);
}
button, input { font: inherit; color: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; border-radius: 3px; }
::selection { background: #c989fe55; }
.muted { color: var(--muted); }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 5; padding: 8px 16px; background: var(--surface); }
.skip-link:focus { top: 16px; }
.docs-shell { padding: 80px 24px; }
.sidebar {
  position: fixed;
  top: 0;
  left: clamp(8px, calc(50vw - 528px), 64px);
  width: 200px;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 80px 8px 24px 16px;
}
.sidebar > .brand, .sidebar > .search-trigger { flex-shrink: 0; }
.sidebar > .docs-navigation {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-bottom: 20px;
  scrollbar-width: none;
  --nav-fade-top: 0px;
  --nav-fade-bottom: 0px;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 var(--nav-fade-top), #000 calc(100% - var(--nav-fade-bottom)), transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 var(--nav-fade-top), #000 calc(100% - var(--nav-fade-bottom)), transparent);
}
.sidebar > .docs-navigation::-webkit-scrollbar { display: none; }
.theme-dock { flex-shrink: 0; padding-top: 16px; }
.theme-control { display: inline-flex; padding: 3px; border: 1px solid var(--rule); border-radius: 999px; background: rgba(var(--surface-rgb), .7); gap: 2px; }
.theme-control button { border: 0; border-radius: 999px; padding: 3px 9px; background: transparent; color: var(--muted); font-size: 12px; line-height: 20px; }
.theme-control button:hover { color: var(--ink); background: var(--wash); }
.theme-control button[aria-pressed="true"] { color: var(--paper); background: var(--focus); }
.theme-control button:focus-visible { outline-offset: 2px; border-radius: 999px; }
.mobile-theme { display: none; }
.brand { display: block; width: 60px; margin: -6px; border-radius: 12px; }
.brand img { width: 100%; }
.search-trigger {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 100%;
  margin: 28px 0 0;
  padding: 8px 10px;
  border: 1px solid var(--glass-stroke);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--glass-fill), transparent 80%), var(--glass-fill);
  box-shadow: inset 0 1px 0 var(--glass-highlight), var(--glass-shadow);
  -webkit-backdrop-filter: blur(var(--glass-control-blur)) saturate(var(--glass-saturation));
  backdrop-filter: blur(var(--glass-control-blur)) saturate(var(--glass-saturation));
  color: var(--muted);
  font-size: 13px;
  line-height: 16px;
  text-align: left;
}
.search-trigger:hover { color: var(--ink); border-color: var(--glass-highlight); background-color: var(--glass-input); }
.search-trigger:focus { outline: none; box-shadow: inset 0 0 0 2px var(--focus), inset 0 1px 0 var(--glass-highlight), var(--glass-shadow); }
.search-trigger > .lucide-icon { font-size: 14px; }
kbd { padding: 0; background: transparent; font-family: inherit; font-size: 11px; color: var(--muted); }
.search-trigger kbd { display: inline-flex; align-items: center; gap: 2px; margin-left: auto; line-height: 1; }
.search-trigger kbd .lucide-icon { font-size: 11px; }
.docs-navigation { display: flex; flex-direction: column; gap: 28px; padding-top: 28px; font-size: 14px; line-height: 1.2; }
.nav-group h2 { margin: 0 0 12px; font-size: inherit; font-weight: 400; color: var(--muted); }
.nav-group ul { list-style: none; margin: 0; padding: 0; }
.nav-group li { margin: 0; }
.nav-group a { display: block; padding: 4px 0; color: var(--soft); transition: color .1s; }
.nav-group a:hover, .nav-group a[aria-current] { color: var(--ink); }
.nav-group a.toc-nested { padding-left: 12px; }
.docs-main {
  width: min(960px, calc(100% - 272px));
  margin-left: max(272px, calc((100% - 960px) / 2));
  margin-right: 0;
  outline: none;
}
.article { color: var(--soft); font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.article > * { max-width: 576px; }
.article > :is(table, .table-container, pre, .code-block) { width: 100%; max-width: none; }
.article > :first-child { margin-top: 0; }
.article :where(h1, h2, h3, h4) { color: var(--ink); font-weight: 400; text-wrap: balance; }
.article h1 { margin: 0 0 16px; padding: 22px 0 8px; font-size: 28px; line-height: 1.15; }
.article > .documentation-status + h1 { margin-top: 32px; padding-top: 0; }
.article h2 { margin: 0; padding-top: 40px; font-size: 18px; line-height: 1.3; }
.article h3, .article h4 { margin: 0; padding-top: 24px; font-size: 15px; line-height: 1.5; }
.article :where(p, ul, ol, pre, blockquote, table, .table-container, .code-block) { margin: 16px 0 0; }
.article :where(ul, ol) { padding-left: 20px; }
.article li + li { margin-top: 6px; }
.article li::marker { color: var(--muted); }
.article strong { color: var(--ink); font-weight: 500; }
.article :where(a:not(.btn)) { color: var(--ink); text-decoration: underline; text-decoration-color: var(--muted); text-underline-offset: .2em; }
.article :where(a:not(.btn)):hover { text-decoration-color: currentColor; }
.article .heading-link { margin-left: 8px; color: var(--muted); text-decoration: none; opacity: 0; }
.article :is(h2, h3):hover .heading-link, .article .heading-link:focus-visible { opacity: 1; }
.article :is(h1, h2, h3, h4) { scroll-margin-top: 24px; }
.article blockquote { border-left: 2px solid var(--rule); padding-left: 16px; margin-left: 0; margin-right: 0; }
.article blockquote > :first-child { margin-top: 0; }
.article code { color: var(--inline-code); background: var(--inline-code-bg); border-radius: 4px; padding: .1em .35em; font: .875em/1.6 var(--mono); }
.article pre {
  font-size: inherit;
  background: linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(var(--edge-top), var(--edge-bottom)) border-box;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 12px 16px;
  box-shadow: var(--shadow);
  overflow-x: auto;
  overflow-wrap: normal;
  tab-size: 4;
}
.article pre code { color: var(--ink); background: none; padding: 0; }
.hljs { color: var(--ink); }
.hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-type { color: var(--code-keyword); }
.hljs-string, .hljs-regexp { color: var(--code-string); }
.hljs-number, .hljs-symbol, .hljs-bullet { color: var(--code-number); }
.hljs-title, .hljs-section, .hljs-built_in, .hljs-selector-class { color: var(--code-title); }
.hljs-attr, .hljs-attribute, .hljs-variable, .hljs-template-variable, .hljs-name { color: var(--code-attribute); }
.hljs-comment, .hljs-quote { color: var(--code-comment); font-style: italic; }
.hljs-meta, .hljs-meta .hljs-keyword { color: var(--code-meta); }
.hljs-addition { color: var(--code-added); }
.hljs-deletion { color: var(--code-deleted); }
.hljs-emphasis { font-style: italic; }
.hljs-strong { font-weight: 600; }
.hljs-subst { color: var(--ink); }
code.language-cue-bash .hljs-built_in { color: var(--code-command); }
code.language-cue-bash .hljs-attr { color: var(--code-option); }
.code-block { position: relative; }
.code-block pre { margin-top: 0; padding-right: 52px; }
.copy-code { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--muted); opacity: 0; pointer-events: none; transition: opacity .12s; }
.copy-code::before { content: "\e09e"; font: 14px/1 "Lucide Icons"; }
.copy-code[data-state="copied"]::before { content: "\e06c"; }
.code-block:hover .copy-code, .code-block:focus-within .copy-code { opacity: 1; pointer-events: auto; }
.copy-code:hover { color: var(--ink); border-color: var(--rule); background: var(--surface); }
.copy-code:focus-visible { outline-offset: 2px; border-radius: 6px; }
@media (hover: none) {
  .copy-code { width: 36px; height: 36px; top: 4px; right: 4px; opacity: 1; pointer-events: auto; }
}
.table-container {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  border: 1px solid var(--rule);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(var(--accent-rgb), .045), transparent 60%), rgba(var(--surface-rgb), .65);
  box-shadow: inset 0 1px 0 var(--glass-highlight), var(--shadow);
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--muted-rgb), .35) transparent;
}
.article table { width: 100%; min-width: 560px; border-collapse: collapse; text-align: left; font-size: 14px; line-height: 1.45; }
.article .table-container > table { margin: 0; }
.article > :is(table, .table-container) + :not(h1, h2, h3, h4) { margin-top: 32px; }
.article :where(th, td) { padding: 10px 16px; border-bottom: 1px solid var(--rule); vertical-align: top; overflow-wrap: normal; }
.article th { color: var(--ink); font-weight: 500; background: rgba(var(--accent-rgb), .055); }
.article tbody tr:last-child > td { border-bottom: 0; }
.article tbody tr:nth-child(even) { background: rgba(var(--accent-rgb), .018); }
.article tbody td:first-child { color: var(--ink); }
@media (hover: hover) {
  .article tbody tr:hover { background: rgba(var(--accent-rgb), .055); }
}
.article hr { border: 0; border-top: 1px solid var(--rule); margin: 32px 0; }
.article details { margin-top: 16px; border: 1px solid var(--rule); border-radius: 12px; padding: 12px 16px; }
.article summary { cursor: pointer; color: var(--ink); }
.callout { margin-top: 20px; padding: 16px; border: 1px solid var(--rule); border-radius: 12px; }
.callout > :first-child { margin-top: 0; }
.article .callout-title { color: var(--ink); margin: 0 0 8px; }
.callout-title + p { margin-top: 0; }
.app-card { margin-top: 16px; padding: 16px; border: 1px solid var(--rule); border-radius: 28px; }
.app-card > img { flex: 0 0 70px; width: 70px; max-width: none; margin: -7px; }
.app-card-copy { flex: 1; min-width: 0; font-size: 14px; line-height: 1.3; }
.article .app-card p { margin: 0; }
.article .app-card-title { color: var(--ink); font-size: 16px; margin-bottom: 3px; }
.btn-cue {
  --bs-btn-color: var(--paper);
  --bs-btn-bg: var(--ink);
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--paper);
  --bs-btn-hover-bg: var(--focus);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--paper);
  --bs-btn-active-bg: var(--focus);
  --bs-btn-active-border-color: transparent;
  --bs-btn-focus-shadow-rgb: var(--accent-rgb);
  --bs-btn-disabled-color: var(--paper);
  --bs-btn-disabled-bg: var(--muted);
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius-pill);
  --bs-btn-font-size: .875rem;
  --bs-btn-line-height: 1.3;
  --bs-btn-padding-x: 1rem;
  --bs-btn-padding-y: .375rem;
  flex-shrink: 0;
}
.page-navigation { display: flex; justify-content: space-between; max-width: 576px; gap: 24px; margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--rule); font-size: 14px; }
.page-navigation a { max-width: 50%; }
.page-navigation a[rel="next"] { text-align: right; }
.page-navigation span { display: block; color: var(--muted); margin-bottom: 6px; font-size: 12px; }
.docs-footer { margin-top: 48px; color: var(--muted); font-size: 12px; }
.mobile-header, .mobile-navigation { display: none; }
.search-dialog {
  width: min(600px, calc(100% - 32px));
  max-height: min(720px, 76dvh);
  margin: 12dvh auto 0;
  overflow: hidden;
  border: 1px solid var(--glass-stroke);
  border-radius: var(--glass-radius);
  padding: 20px;
  background: linear-gradient(145deg, var(--glass-fill), transparent 55%), var(--glass-panel);
  color: var(--ink);
  box-shadow: inset 0 1px 0 var(--glass-highlight), 0 24px 80px #09041438, var(--glass-shadow);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturation));
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturation));
}
.search-dialog[open] { display: grid; grid-template-rows: auto auto auto minmax(0, 1fr) auto; }
html:has(.search-dialog[open]) { overflow: hidden; }
.search-dialog::backdrop {
  background: var(--glass-overlay);
  -webkit-backdrop-filter: blur(var(--glass-overlay-blur));
  backdrop-filter: blur(var(--glass-overlay-blur));
}
body:has(.search-dialog[open]) .docs-shell > * { filter: blur(var(--glass-page-blur)); }
.search-heading { display: flex; justify-content: space-between; align-items: center; min-height: 28px; margin: 0 0 14px; padding-inline: 4px; color: var(--muted); font-size: 12px; }
.search-close { appearance: none; display: inline-flex; align-items: center; justify-content: center; flex: none; width: 34px; height: 26px; padding: 0; background: var(--glass-fill); border: 1px solid var(--rule); border-radius: 6px; font: 11px/1 var(--bs-font-sans-serif); }
.search-close kbd { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%; font: inherit; letter-spacing: 0; }
.search-input-wrap { align-items: center; padding-inline: 14px; background: var(--glass-input); border: 1px solid var(--glass-stroke); border-radius: 16px; box-shadow: inset 0 1px 2px #10051e06; }
.search-input-wrap:focus-within { border-color: rgba(var(--accent-rgb), .45); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .1); }
.search-input-wrap .input-group-text { padding: 0; border: 0; background: transparent; color: var(--muted); }
.search-input-wrap .lucide-icon { font-size: 18px; }
.search-dialog .form-control { padding: 14px 12px; border: 0; background: transparent; color: var(--ink); font-size: 18px; box-shadow: none; }
.search-dialog .form-control:focus-visible { outline: none; }
.search-dialog .form-control::placeholder { color: var(--muted); }
.search-status { color: var(--muted); font-size: 12px; margin: 16px 4px 8px; }
.search-results {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--muted-rgb), .3) transparent;
  scroll-padding-block: 4px;
  padding: 4px 6px 4px 2px;
  margin: 0 -6px 0 -2px;
  list-style: none;
}
.search-results::-webkit-scrollbar { width: 8px; }
.search-results::-webkit-scrollbar-track { background: transparent; }
.search-results::-webkit-scrollbar-thumb { background: rgba(var(--muted-rgb), .3); background-clip: padding-box; border: 2px solid transparent; border-radius: 999px; }
.search-results::-webkit-scrollbar-thumb:hover { background-color: rgba(var(--muted-rgb), .5); }
.search-results li + li { margin-top: 4px; }
.search-results a { position: relative; display: block; padding: 10px 32px 10px 12px; border: 1px solid transparent; border-radius: 10px; color: var(--ink); font-size: 15px; line-height: 1.4; }
.search-results a::after { content: "\e0a1"; position: absolute; right: 12px; top: 14px; color: var(--muted); font: 14px/1 "Lucide Icons"; opacity: 0; }
.search-results a:hover, .search-results a:focus { border-color: var(--glass-stroke); background: var(--glass-fill); }
.search-results a:focus { outline: none; border-color: rgba(var(--accent-rgb), .55); background: rgba(var(--accent-rgb), .08); box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb), .12); }
.search-results a:hover::after, .search-results a:focus::after { opacity: 1; }
.search-results small { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: var(--muted); font-size: 12px; line-height: 1.5; margin-top: 4px; }
.search-results .search-result-page { font-size: 11px; margin: 0 0 4px; }
.search-results mark { padding: 0; background: rgba(var(--accent-rgb), .2); color: var(--ink); border-radius: 2px; }
.search-footer { display: flex; align-items: center; gap: 20px; margin-top: 16px; padding: 14px 4px 0; border-top: 1px solid var(--glass-stroke); color: var(--muted); font: 11px/1 var(--bs-font-sans-serif); }
.search-hint, .key-pair { display: inline-flex; align-items: center; }
.search-hint { gap: 7px; }
.key-pair { gap: 3px; }
.search-footer kbd { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 20px; height: 20px; padding: 0; margin: 0; border: 1px solid var(--rule); border-radius: 4px; background: rgba(var(--surface-rgb), .3); line-height: 1; }
.search-footer .lucide-icon { font-size: 12px; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .search-trigger, .search-dialog { background: var(--surface); }
}
@media (prefers-reduced-transparency: reduce) {
  .search-trigger, .search-dialog { background: var(--surface); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .search-dialog::backdrop { -webkit-backdrop-filter: none; backdrop-filter: none; }
  body:has(.search-dialog[open]) .docs-shell > * { filter: none; }
}
@media (max-width: 1050px) and (min-width: 736px) {
  .docs-main { margin-left: 216px; width: calc(100% - 216px); }
}
@media (max-width: 735px) {
  html { scroll-padding-top: 20px; }
  .docs-shell { padding: 0 24px 48px; }
  .sidebar { display: none; }
  .mobile-theme { display: block; margin-top: 20px; }
  .mobile-header { display: flex; align-items: center; gap: 10px; height: 72px; font-size: 14px; }
  .mobile-header .brand { width: 44px; margin: -4px; }
  .mobile-search { margin-left: auto; padding: 12px; border: 0; background: none; color: var(--muted); }
  .mobile-search .lucide-icon { font-size: 18px; }
  .mobile-navigation { display: block; border-block: 1px solid var(--rule); margin-bottom: 32px; font-size: 14px; }
  .mobile-navigation summary { display: flex; justify-content: space-between; padding: 12px 0; cursor: pointer; list-style: none; }
  .mobile-navigation summary::-webkit-details-marker { display: none; }
  .mobile-navigation .docs-navigation { padding: 8px 0 24px; gap: 20px; }
  .docs-main { width: 100%; margin: 0 auto; }
  .article h1 { padding-top: 0; }
  .article h2 { padding-top: 32px; }
  .article .heading-link { opacity: 1; }
  .app-card { flex-wrap: wrap; border-radius: 20px; }
  .app-card .btn { margin-left: 72px; }
  .search-dialog { width: calc(100% - 24px); max-height: 92dvh; margin-top: 4dvh; padding: 16px; border-radius: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
}
