html[dir="rtl"], body[dir="rtl"], body {
  direction: var(--app-direction, rtl);
}
body {
  background:
    radial-gradient(circle at top right, rgba(54, 87, 227, .16), transparent 30rem),
    radial-gradient(circle at bottom left, rgba(14, 116, 144, .10), transparent 34rem),
    linear-gradient(180deg, var(--bg), var(--bg-2) 42%, #ffffff);
  color: var(--text);
  font-family: var(--font);
  font-size: 16px;
}
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, textarea, select { border-radius: var(--radius-sm); }
input, textarea, select {
  width: 100%;
  color: var(--text);
  background: #fff;
  border: 1px solid var(--line);
  padding: .9rem 1rem;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
  text-align: var(--app-text-align, right);
  direction: var(--app-direction, rtl);
}
select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%); background-position: left 1rem center, left .72rem center; background-size: .34rem .34rem, .34rem .34rem; background-repeat: no-repeat; padding-inline-end: 2.25rem; }
textarea { min-height: 7rem; resize: vertical; }
input::placeholder, textarea::placeholder { color: #98a2b3; }
input:focus, textarea:focus, select:focus, button:focus-visible, .option-button:focus-within { box-shadow: var(--focus); border-color: var(--primary); outline: none; }
label { font-weight: 800; display: inline-block; margin-bottom: .42rem; color: var(--heading); }
small { color: var(--muted); }
h1, h2, h3, h4 { color: var(--heading); letter-spacing: -.015em; }
code, .ltr, [dir="ltr"] { direction: ltr; text-align: left; unicode-bidi: embed; }
.noscript-message {
  margin: 1rem auto;
  max-width: 760px;
  background: var(--danger-soft);
  color: var(--danger);
  padding: 1rem 1.2rem;
  border: 1px solid #fda29b;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
::selection { background: rgba(54, 87, 227, .18); }
