:root { color-scheme: light; }
* { box-sizing: border-box; }
body {
  margin: 0;
  min-width: 320px;
  background: radial-gradient(ellipse 650px 470px at 52% 30%, rgba(255,224,182,.28), transparent 75%), #faf9f6;
  color: #25211e;
  font-family: "Figtree", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.shortener {
  max-width: 542px;
  padding: 42px;
  background: #fff;
  border: 1px solid #eae5df;
  border-radius: 21px;
  box-shadow: 0 15px 55px rgba(67,49,27,.06), 0 2px 8px rgba(67,49,27,.025);
}
.heading { margin: 0 0 29px; }
.heading h1 { margin: 0; font-size: clamp(29px,5vw,36px); line-height: 1.18; font-weight: 750; letter-spacing: -.042em; }
.form-label { color: #39332f; margin-bottom: 9px; font-size: 13px; font-weight: 680; }
.form-control.code-input {
  width: 100%;
  height: 50px;
  min-height: 50px;
  padding: 0 15px;
  background: #fff;
  border: 1px solid #dcd8d3;
  border-radius: 11px;
  box-shadow: 0 1px 2px rgba(29,22,15,.025);
  color: #302c29;
  font-size: 16px;
  letter-spacing: .04em;
  font-variant-numeric: tabular-nums;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.form-control.code-input::placeholder { color: #aaa49f; }
.form-control.code-input:focus {
  background: #fff;
  border-color: #ed9b42;
  box-shadow: 0 0 0 3px rgba(242,155,64,.15);
  outline: none;
}
.submit-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 13px;
  height: 49px;
  min-height: 49px;
  border-radius: 11px;
  font-size: 14px;
  font-weight: 730;
  letter-spacing: -.008em;
  --bs-theme-bg: #f5a13e;
  --bs-theme-contrast: #33200c;
  --bs-theme-border: #e88b25;
  --bs-theme-fg: #33200c;
  --bs-btn-shadow: 0 2px 4px rgba(210,124,35,.17), inset 0 1px 0 rgba(255,255,255,.37);
  --bs-btn-active-shadow: inset 0 2px 4px rgba(135,72,19,.15);
}
.submit-button:hover { --bs-theme-bg: #ef942b; }
.submit-button:focus-visible { outline: 3px solid rgba(244,151,42,.38); outline-offset: 3px; }
.submit-button svg { transition: transform .15s ease; }
.submit-button:hover svg { transform: translateX(2px); }
@media (max-width: 480px) {
  .page { padding: 18px !important; }
  .shortener { padding: 30px 24px; border-radius: 18px; }
  .heading { margin-bottom: 27px; }
  .heading h1 { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
