@font-face {
  font-family: Roboto;
  src: url('/fonts/Roboto-29732de5e201.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root { font: 16px Roboto, Arial, sans-serif; color: #14233f; background: #f4f7fd; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 390px; margin: auto; padding: 24px 12px 32px; }
header { margin: 0 12px 24px; }
.back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  margin: -8px 0 12px;
  color: #3275ff;
  font-size: 13px;
  font-weight: 400;
  line-height: 20px;
  text-decoration: none;
  border-radius: 4px;
  transition: color 160ms ease;
}
.back-link svg { flex: none; }
.back-link:visited { color: #3275ff; }
.back-link:hover, .back-link:active { color: #2a66df; }
.back-link:focus-visible { outline: 2px solid #3275ff; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .back-link { transition: none; } }
h1 { margin: 0 0 8px; font-size: 28px; line-height: 1.15; letter-spacing: -.025em; }
p { margin: 0; }
header p, small, .note { color: #4d5b70; font-size: 12px; line-height: 1.4; }
.card { background: white; border-radius: 20px; padding: 16px 12px; margin-bottom: 12px; }
h2 { margin: 0 0 16px; font-size: 16px; }
h3 { margin: 16px 0 8px; font-size: 13px; }
label.field { display: grid; gap: 4px; padding: 8px 12px; border-radius: 12px; background: #e9eef7; margin: 8px 0; color: #4d5b70; font-size: 12px; }
input:not([type=checkbox]), select { width: 100%; background: transparent; border: 0; color: #14233f; font-family: inherit; font-size: 16px; padding: 0; }
input::placeholder { color: #52617a; opacity: 1; }
.amount { display: flex; align-items: center; gap: 8px; color: #14233f; font-size: 24px; }
.amount input { font-size: 28px; min-width: 0; }
button { border: 0; border-radius: 12px; background: #3e69f4; color: white; font: inherit; font-weight: 600; padding: 12px; cursor: pointer; }
button:disabled { opacity: .65; cursor: wait; }
.field input:focus, .field select:focus { outline: none; }
button:focus-visible, .toggle input:focus-visible { outline: 2px solid #2855da; outline-offset: 2px; }
.outline { width: 100%; margin-top: 16px; border: 1px solid #7893ee; color: #2955d6; background: white; }
.submit { width: 100%; }
hr { border: 0; border-top: 1px solid #e9eef7; margin: 16px 0; }
.note { margin: 12px auto 0; text-align: center; }
#result { overflow-wrap: anywhere; margin-top: 12px; }
.demo-only { display: none; }
[data-demo="true"] .demo-only { display: block; }
[data-demo="true"] .live-only { display: none; }
.demo-notice { margin: 0 0 16px; padding: 12px; border-radius: 12px; background: #edf3ff; color: #202c40; font-size: 14px; line-height: 1.4; }
