/* ==========================================================
   rx-module.css - RaXa module shell (shared by every page in modules/)
   Desktop: a glass bar across the top, content on glass below it.
   Portrait or under 761px wide: a Welcome pill on top, with the menu
   and the account details as pop-outs under it.
   The page itself never scrolls; only .sm-main does.
   ========================================================== */
:root {
  --gut: 24px;
  --bar-top: calc(18px + env(safe-area-inset-top));
  --bar-h: 62px;
  --top-h: calc(var(--bar-top) + var(--bar-h) + 16px);
  --foot-h: calc(24px + env(safe-area-inset-bottom));   /* the thin "Why Pandas" line */
  --status-top: var(--top-h);    /* the progress box sits just under the bar */
  --status-right: var(--gut);
  --panda-d: 60px;
}
[hidden] { display: none !important; }
html, body { height: 100%; overflow: hidden; overscroll-behavior: none; }

/* ---------- layout ---------- */
.sm-shell {
  height: 100dvh; overflow: hidden;
  display: flex; flex-direction: column;
  padding: var(--top-h) var(--gut) var(--foot-h);
}
.sm-main {
  flex: 1 1 auto; min-width: 0; min-height: 0;
  /* reaches under the page edges, so the glass shadow isn't cut off */
  margin: -4px calc(var(--gut) * -1) 0; padding: 4px var(--gut) 8px;
  overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; scrollbar-color: var(--scroll) transparent;
}

/* ---------- the bar ---------- */
.sm-side {
  position: fixed; z-index: 50; top: var(--bar-top); left: var(--gut); right: var(--gut); height: var(--bar-h);
  display: flex; align-items: center; gap: 8px; padding: 8px 10px 8px calc(var(--panda-d) + 18px); border-radius: 999px;
  background: var(--glass-bg);
  -webkit-backdrop-filter: var(--glass-filter); backdrop-filter: var(--glass-filter);
  box-shadow: var(--glass-shadow);
}
.sm-side > .sm-glass { background: none; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; }
.sm-pandas {
  position: fixed; z-index: 55; left: calc(var(--gut) + 10px); top: calc(var(--bar-top) + (var(--bar-h) - var(--panda-d)) / 2);
  display: block; width: var(--panda-d); height: var(--panda-d); object-fit: contain;
  cursor: pointer; user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: transparent;
}
.sm-pandas:focus-visible { outline: 2px solid var(--ac-text); outline-offset: 3px; }

/* ---------- the menu, as pills in the bar ---------- */
.sm-nav {
  flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 8px; padding: 2px;
  overflow-x: auto; scrollbar-width: none;
}
.sm-nav::-webkit-scrollbar { display: none; }
.sm-nav hr { display: none; }
.sm-nav button {
  flex: none; display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--ctl); box-shadow: inset 0 0 0 1px var(--ctl-line); color: var(--ink); font: 400 14px var(--font); white-space: nowrap;
  transition: box-shadow .15s, background .15s;
}
.sm-nav button svg {
  width: 17px; height: 17px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
.sm-nav button:hover { box-shadow: inset 0 0 0 1px var(--line-hover); }
.sm-nav button:focus-visible { outline: 2px solid var(--ac-text); outline-offset: 2px; }
.sm-nav button[aria-current="page"] { background: var(--ac); color: #fff; font-weight: 500; box-shadow: none; }
.sm-nav button.sm-touch { margin-left: auto; }

/* sections that don't fit in the bar move into a More menu (rx-module.js) */
.sm-nav.has-more { overflow: visible; }
.sm-more { position: relative; flex: none; }
.sm-more__btn::after {
  content: ""; width: 6px; height: 6px; margin: -3px 0 0 2px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg);
}
.sm-nav .sm-more__btn.is-on { background: var(--ac); color: #fff; font-weight: 500; box-shadow: none; }
.sm-more__list {
  position: absolute; top: calc(100% + 12px); left: 0; z-index: 60; min-width: 230px;
  display: flex; flex-direction: column; gap: 4px; padding: 10px; border-radius: 20px;
  background: var(--solid); box-shadow: var(--pop-shadow);
}
.sm-nav .sm-more__list button { width: 100%; background: none; box-shadow: none; }
.sm-nav .sm-more__list button:hover { background: var(--tint-2); }
.sm-nav .sm-more__list button[aria-current="page"] { background: var(--ac); }

/* ---------- account details: the white pill at the right of the bar ---------- */
.sm-side > .sm-top {
  position: relative; order: 2; flex: none; display: flex; flex-direction: column; justify-content: center;
  height: 44px; max-width: 220px; padding: 0 18px; border-radius: 999px;
  background: var(--tint-2); box-shadow: inset 0 0 0 1px var(--ctl-line);
}
.sm-top h1 { margin: 0; font-size: 13.5px; font-weight: 500; line-height: 1.2; }
.sm-top__toggle {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  width: 100%; margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer;
}
.sm-top__toggle span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-top__toggle::after {
  content: ""; flex: none; width: 6px; height: 6px; margin-top: -3px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .15s;
}
.sm-top__toggle[aria-expanded="true"]::after { transform: rotate(-135deg); margin-top: 3px; }
.sm-top__toggle:focus-visible { outline: 2px solid var(--ac-text); outline-offset: 4px; border-radius: 8px; }
.sm-top__nick { font-size: 11.5px; line-height: 1.25; color: var(--ink2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-top__panel {
  position: absolute; top: calc(100% + 12px); right: 0; width: 250px;
  display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border-radius: 20px;
  background: var(--solid); box-shadow: var(--pop-shadow);
}
.sm-idline, .sm-who { font-size: 13px; }
.sm-who { display: flex; flex-direction: column; gap: 10px; }
.sm-idline b, .sm-who b { font-weight: 400; overflow-wrap: anywhere; }

/* ---------- phone Welcome pill and its pop-out (hidden on desktop) ---------- */
.sm-welcome { display: none; }
.sm-side > .sm-welcome__pop { display: none; }
.sm-welcome__row { display: flex; align-items: center; gap: 8px; }
.sm-welcome__txt { flex: 1; display: flex; flex-direction: column; min-width: 0; margin-left: calc(var(--panda-d) + 8px); }
.sm-welcome__txt strong { font-size: 17px; font-weight: 400; letter-spacing: -.01em; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-welcome__txt span { margin-top: 1px; font-size: 12px; color: var(--ink2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-welcome__user, .sm-welcome__menu {
  flex: none; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0;
  border: 0; border-radius: 50%; cursor: pointer;
  color: var(--ink); background: var(--ctl); box-shadow: inset 0 0 0 1px var(--ctl-line);
}
.sm-welcome__user svg, .sm-welcome__menu svg {
  width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
.sm-welcome__user[aria-expanded="true"], .sm-welcome__menu[aria-expanded="true"] { background: var(--ac); color: #fff; box-shadow: none; }
.sm-welcome__menu:focus-visible, .sm-welcome__user:focus-visible { outline: 2px solid var(--ac-text); outline-offset: 2px; }

/* ---------- main content ---------- */
.sm-perm { padding: 20px 24px; border-radius: 38px; }
.sm-perm__head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 12px; }
.sm-perm__head h2 { margin: 0; font-size: 40px; font-weight: 300; letter-spacing: -.03em; line-height: 1.05; white-space: nowrap; }

/* ---------- the tagline as a thin line at the bottom, on every page ---------- */
.sm-foot {
  position: fixed; left: 0; right: 0; bottom: calc(5px + env(safe-area-inset-bottom)); z-index: 40;
  padding: 0 16px; text-align: center; pointer-events: none;
  font-size: 11px; line-height: 14px; color: #24262c; text-shadow: 0 1px 2px rgba(255,255,255,.55);   /* dark words on the light paper */
}
.sm-foot b { font-weight: 500; }
/* small to look at, with a larger area to tap */
.sm-foot__tut {
  position: relative; margin-left: 10px; padding: 0; border: 0; background: none; color: #24262c; cursor: pointer; pointer-events: auto;
  font: 500 11px/14px var(--font); text-decoration: underline; text-underline-offset: 2px;
}
.sm-foot__tut::after { content: ""; position: absolute; inset: -9px -12px -5px; }
.sm-foot__tut:focus-visible { outline: 2px solid var(--ac-text); outline-offset: 2px; border-radius: 3px; }

/* ---------- smaller desktop windows: drop the word and the icons before the pills run out of room ---------- */
@media (max-width: 1100px) {
  .sm-nav button svg { display: none; }
  .sm-nav button { padding: 0 13px; }
}

/* ---------- portrait screens and narrow windows ---------- */
@media (orientation: portrait), (max-width: 760px) {
  :root {
    --gut: 12px; --panda-d: 50px; --bar-h: 58px;
    --top-h: calc(10px + env(safe-area-inset-top));
    --status-top: calc(var(--top-h) + var(--bar-h) + 8px);
  }
  .sm-side {
    position: sticky; flex: none; top: auto; left: auto; right: auto; height: auto; display: block; padding: 0; margin-bottom: 10px; border-radius: 0;
    background: none; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none;
  }
  .sm-side > .sm-top { display: none; }
  .sm-side > .sm-welcome {
    display: block; height: var(--bar-h); padding: 7px 8px; border-radius: 999px;
    background: var(--glass-bg); -webkit-backdrop-filter: var(--glass-filter); backdrop-filter: var(--glass-filter); box-shadow: var(--glass-shadow);
  }
  .sm-pandas { left: calc(var(--gut) + 60px); top: calc(var(--top-h) + (var(--bar-h) - var(--panda-d)) / 2); }

  /* the menu pops out on the left, the account details on the right; only one is open at a time */
  .sm-side > .sm-nav {
    display: none; position: absolute; left: 0; top: calc(100% + 8px); width: clamp(210px, 60vw, 280px);
    max-height: calc(100dvh - var(--top-h) - var(--bar-h) - var(--foot-h) - 16px);
    flex-direction: column; align-items: stretch; gap: 4px; padding: 10px; border-radius: 24px;
    overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y;
    background: var(--solid); box-shadow: var(--pop-shadow);
  }
  .sm-side.is-open > .sm-nav { display: flex; }
  .sm-nav hr { display: block; flex: none; width: 100%; margin: 4px 0; border: 0; border-top: 1px solid var(--line); }
  .sm-nav button { width: 100%; height: 44px; padding: 0 14px; background: none; box-shadow: none; }
  .sm-nav button svg { display: block; }
  .sm-nav button.sm-touch { margin-left: 0; }
  .sm-more { display: none; }

  .sm-side > .sm-welcome__pop:not([hidden]) {
    display: flex; position: absolute; right: 0; left: auto; top: calc(100% + 8px); width: clamp(190px, 56vw, 260px);
    background: var(--solid); box-shadow: var(--pop-shadow);
  }
  .sm-perm { padding: 16px; border-radius: 28px; }
  .sm-perm__head h2 { font-size: 26px; }
}

@media (max-width: 600px) {
  :root { --gut: 8px; }
  .sm-foot { font-size: 10.5px; }
  .sm-perm { padding: 12px; border-radius: 24px; }
}

/* ---------- app-wide polish ---------- */
/* empty, loading and "choose one" messages: a calm card with a soft mark, instead of a lone line of small text */
.sm-main .ux__msg {
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  max-width: 460px; margin: 28px auto; padding: 28px 24px;
  border-radius: 24px; background: var(--card); box-shadow: inset 0 0 0 1px var(--line);
  color: var(--ink2); font-size: 15px; line-height: 1.5; text-align: center;
}
.sm-main .ux__msg::before {
  content: ""; width: 44px; height: 44px; flex: none; border-radius: 50%;
  background: var(--tint-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235fd3c6' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13l2.5-7h11L20 13v5H4z'/%3E%3Cpath d='M4 13h4.5l1 2h5l1-2H20'/%3E%3C/svg%3E") center / 22px no-repeat;
}
/* a row of filter pills that runs off the edge fades out there, so it reads as something to swipe (rx-module.js sets the classes) */
.dtr-tabs.is-more-right { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 36px), transparent); }
.dtr-tabs.is-more-left.is-more-right { -webkit-mask-image: linear-gradient(90deg, transparent, #000 36px, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(90deg, transparent, #000 36px, #000 calc(100% - 36px), transparent); }
.dtr-tabs.is-more-left:not(.is-more-right) { -webkit-mask-image: linear-gradient(90deg, transparent, #000 36px); mask-image: linear-gradient(90deg, transparent, #000 36px); }
/* tick boxes are easier to hit with a thumb */
@media (pointer: coarse) {
  .sm-main input[type="checkbox"], .sm-main input[type="radio"] { width: 24px; height: 24px; }
}
/* loading messages spin, and a failed load offers Try again (rx-module.js sets the classes) */
.sm-main .ux__msg.is-loading::before { background: none; border: 3px solid var(--tint-2); border-top-color: var(--ac); width: 34px; height: 34px; margin: 5px; animation: rx-spin .8s linear infinite; }
.sm-main .ux__msg.is-error::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff9c92' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.1'/%3E%3C/svg%3E"); }
.ux__retry { height: 40px; padding: 0 20px; border: 0; border-radius: 999px; cursor: pointer; background: var(--ac); color: #fff; font: 500 14px var(--font); }
.ux__retry:hover { background: var(--ac-hover); }
@keyframes rx-spin { to { transform: rotate(360deg); } }
/* figures line up in columns */
.sm-main table, .sm-main td, .sm-main th, .sm-main .ux-row, .sm-main [class*="stat"], .sm-main [class*="tile"] { font-variant-numeric: tabular-nums; }
/* the message card spans the whole page area and keeps its own height, whatever layout it lands in */
.sm-main .ux__msg { grid-column: 1 / -1; align-self: start; justify-self: center; width: min(460px, 100%); height: auto; }

/* file pickers: the browser's grey "Choose File" button, in the app's pill style */
input[type="file"] { color: var(--ink2); font: inherit; font-size: 13px; max-width: 100%; }
input[type="file"]::file-selector-button {
  margin-right: 12px; min-height: 36px; padding: 0 16px; border: 1px solid var(--ctl-line, var(--line)); border-radius: 999px;
  background: var(--tint-2); color: var(--ink); font: inherit; font-weight: 500; cursor: pointer; transition: background .15s, border-color .15s;
}
input[type="file"]::file-selector-button:hover { border-color: var(--ac); }
input[type="file"].ux-in { height: auto; min-height: 46px; padding: 4px 6px; }

/* waiting on the server: a slim orange bar sliding along the very top (rx-module.js) */
.rx-busy { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 9999; overflow: hidden; pointer-events: none; opacity: 0; transition: opacity .2s; }
.rx-busy.is-on { opacity: 1; }
.rx-busy::before { content: ""; position: absolute; top: 0; bottom: 0; left: -40%; width: 40%; border-radius: 3px; background: linear-gradient(90deg, transparent, var(--ac), transparent); animation: rx-busy 1.1s ease-in-out infinite; }
@keyframes rx-busy { to { left: 100%; } }
@media (prefers-reduced-motion: reduce) { .rx-busy::before { left: 0; width: 100%; animation: none; opacity: .7; } }

/* touch screens: the last few small taps reach 40px (User Activity record links, Recruitment steps, Field Control headings) */
@media (pointer: coarse), (max-width: 600px) {
  .sm-main .ux-act__rec { min-height: 40px; display: inline-flex; align-items: center; }
  .sm-main .rec-step { min-height: 40px; }
  .ux-fc__head { min-height: 44px; }
}

/* loading: grey placeholder rows that shimmer, in the shape of the list that is coming, instead of a spinner card.
   The words ("Loading...") stay for screen readers. */
.sm-main .ux__msg.is-loading { justify-self: stretch; width: 100%; max-width: none; min-height: 168px; padding: 0; border: 0; background: none; box-shadow: none; color: transparent; position: relative; overflow: hidden; }
.sm-main .ux__msg.is-loading::before { display: none; }
.sm-main .ux__msg.is-loading::after {
  content: ""; position: absolute; inset: 0; border-radius: 16px;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent) -40% 0 / 40% 100% no-repeat,
    repeating-linear-gradient(to bottom, rgba(255,255,255,.07) 0 36px, transparent 36px 48px);
  animation: rx-shimmer 1.3s ease-in-out infinite;
}
@keyframes rx-shimmer { to { background-position: 140% 0, 0 0; } }

/* sortable list headings (rx-module.js): an arrow shows on hover and on the sorted column */
th.rx-sortable { cursor: pointer; user-select: none; white-space: nowrap; }
th.rx-sortable::after { content: "↕"; margin-left: 6px; font-size: .85em; opacity: 0; transition: opacity .15s; }
th.rx-sortable:hover::after, th.rx-sortable:focus-visible::after { opacity: .5; }
th.rx-sortable[aria-sort="ascending"]::after { content: "▲"; opacity: 1; color: var(--ac-text); }
th.rx-sortable[aria-sort="descending"]::after { content: "▼"; opacity: 1; color: var(--ac-text); }
@media print { th.rx-sortable::after { display: none; } }

/* phones: a list's main "Add ..." button is one full-width orange button, the same on every screen (rx-module.js marks it) */
@media (max-width: 600px) {
  .sm-main button.rx-addmain, .sm-main .ux-tools button.rx-addmain { flex: 1 1 100% !important; grid-column: 1 / -1 !important; width: 100% !important; max-width: none !important; min-height: 44px; justify-content: center; order: 99; margin-left: 0 !important; }
}

/* a text-style button is still a comfortable target with a mouse (phones get 40px below) */
.sm-main button.ux-link { min-height: 32px; display: inline-flex; align-items: center; }
/* touch screens: text-style buttons and small icon buttons still get a finger-sized target (the look stays the same) */
@media (pointer: coarse), (max-width: 600px) {
  .sm-main button.ux-link, .sm-main a.ux-link { min-height: 40px; display: inline-flex; align-items: center; }
  .sm-main .rl-star { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; }
}

/* ---------- motion (2026-11-11), rx-module.js turns it on ----------
   Page opens: the menu drops in and the main panel settles out of a slight 3D tilt.
   Section changes (html.rx-swap for about a second): the title, tools and the cards that arrive rise in one after another.
   Everything rests fully visible; people who ask for less motion get none (rx-glass.css). */
html.rx-open .sm-side, html.rx-open .sm-nav { animation: rx-drop .6s cubic-bezier(.2,.75,.2,1) both; }
html.rx-open .sm-main { animation: rx-tilt-in .9s cubic-bezier(.2,.75,.2,1) .08s both; transform-origin: 50% 0; }
@keyframes rx-drop { from { opacity: 0; transform: translateY(-14px); } }
@keyframes rx-tilt-in { from { opacity: 0; transform: perspective(1400px) rotateX(12deg) translateY(36px) scale(.97); } }
html.rx-swap .sm-perm__head, html.rx-swap .sm-perm > .ux-tools { animation: rx-rise .4s cubic-bezier(.2,.75,.2,1) both; }
html.rx-swap .sm-perm > .ux-tools { animation-delay: .05s; }
html.rx-swap .sm-perm > .ux > * { animation: rx-lift .55s cubic-bezier(.2,.75,.2,1) both; animation-delay: .1s; }
html.rx-swap .sm-perm > .ux > :nth-child(2) { animation-delay: .16s; } html.rx-swap .sm-perm > .ux > :nth-child(3) { animation-delay: .22s; }
html.rx-swap .sm-perm > .ux > :nth-child(4) { animation-delay: .28s; } html.rx-swap .sm-perm > .ux > :nth-child(5) { animation-delay: .34s; }
html.rx-swap .sm-perm > .ux > :nth-child(n+6) { animation-delay: .4s; }
@keyframes rx-rise { from { opacity: 0; transform: translateY(10px); } }
@keyframes rx-lift { from { opacity: 0; transform: perspective(900px) translateY(22px) rotateX(8deg); } }
/* buttons press in a little; the menu's teal highlight glides */
.ux-btn, .sm-nav [data-sec], .dtr-tab { transition: transform .12s cubic-bezier(.2,.75,.2,1), background-color .2s, border-color .2s, box-shadow .2s, color .2s; }
.ux-btn:active:not(:disabled), .sm-nav [data-sec]:active, .dtr-tab:active { transform: scale(.96); }
.ux-btn--ok:hover:not(:disabled) { box-shadow: 0 6px 18px rgba(var(--ac-rgb), .4); }
/* KPI tiles lean toward the mouse, with a soft light on the glass (rx-module.js sets --rx-rx, --rx-ry, --rx-sx, --rx-sy) */
@media (hover: hover) and (pointer: fine) {
  button.rxch-kpi { position: relative; }
  button.rxch-kpi:hover { transform: perspective(700px) rotateX(var(--rx-rx, 0deg)) rotateY(var(--rx-ry, 0deg)) translateY(-3px); }
  button.rxch-kpi::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .3s;
    background: radial-gradient(300px circle at var(--rx-sx, 50%) var(--rx-sy, 50%), rgba(255,255,255,.1), transparent 50%); }
  button.rxch-kpi:hover::after { opacity: 1; }
}
/* a teal light trail sweeps across once when a page opens (rx-module.js adds it, then removes it) */
.rx-trails { position: fixed; inset: 0; z-index: 70; width: 100%; height: 100%; pointer-events: none; }
.rx-trails path { fill: none; stroke: #2fbfb1; stroke-linecap: round; stroke-dasharray: 0 1; opacity: 0; animation: rx-trail 2.2s cubic-bezier(.2,.75,.2,1) .2s both; }
.rx-trails .t2 { stroke: #9ff0e6; animation-delay: .4s; }
@keyframes rx-trail { 0% { stroke-dasharray: 0 1; stroke-dashoffset: 0; opacity: 0; } 15% { opacity: .9; } 70% { opacity: .7; } 100% { stroke-dasharray: .5 1; stroke-dashoffset: -1.2; opacity: 0; } }
@media (max-width: 760px) { html.rx-open .sm-main { animation-name: rx-rise; } .rx-trails .t2 { display: none; } }
@media (prefers-reduced-motion: reduce) { .rx-trails { display: none; } }
@media print { .rx-trails { display: none; } }