/* Start custom CSS */.rlg{
  --rlg-ink:#141A24; --rlg-ink2:#4B5468; --rlg-ink3:#7C879B;
  --rlg-ground:#FBFAF7; --rlg-card:#FFFFFF; --rlg-line:#E2E0D9;
  --rlg-brand:#FFC700; --rlg-brand-ink:#141A24;
  --rlg-good:#0E7C5A; --rlg-bad:#B4231F; --rlg-warn:#8A6100;
  --rlg-shadow:0 1px 2px rgba(20,26,36,.05), 0 8px 24px rgba(20,26,36,.06);
}


.rlg{ background:var(--rlg-ground); color:var(--rlg-ink);
  font:400 16px/1.6 Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased; }
.rlg *{ box-sizing:border-box }
.rlg .wrap{ max-width:820px; margin:0 auto; padding:clamp(28px,5vw,56px) 20px 64px; }

.rlg .lede{ margin-bottom:clamp(26px,4vw,42px) }
.rlg h1{ font:800 clamp(1.9rem,5vw,2.85rem)/1.07 Poppins,sans-serif; letter-spacing:-.035em;
  margin:0 0 .6rem; color:var(--rlg-ink); text-wrap:balance; }
.rlg .sub{ color:var(--rlg-ink2); max-width:56ch; margin:0; font-size:1.0625rem }

.rlg .step{ background:var(--rlg-card); border:1px solid var(--rlg-line); border-radius:16px;
  padding:clamp(20px,3vw,28px); margin:0 0 18px; box-shadow:var(--rlg-shadow); }
.rlg .step-h{ display:flex; align-items:center; gap:12px; margin-bottom:14px }
.rlg .num{ flex:none; width:28px; height:28px; border-radius:999px; background:var(--rlg-brand);
  color:var(--rlg-brand-ink); font:800 .875rem/28px Poppins,sans-serif; text-align:center;
  font-variant-numeric:tabular-nums; }
.rlg .step-h h2{ font:700 1.0625rem/1.3 Poppins,sans-serif; margin:0; padding:0;
  color:var(--rlg-ink); letter-spacing:-.01em; }
.rlg .hint{ color:var(--rlg-ink3); font-size:.9375rem; margin:0 0 14px }
.rlg .hint code, .rlg .msg code, .rlg .a code{ font:600 .875em "IBM Plex Mono",ui-monospace,monospace;
  word-break:break-all; background:none; padding:0; }

/* --- route picker ------------------------------------------------------- */
.rlg .routes{ display:flex; gap:8px; margin-bottom:18px; flex-wrap:wrap }
.rlg .rtab{ flex:1 1 200px; text-align:left; background:var(--rlg-ground);
  border:1.5px solid var(--rlg-line); border-radius:12px; padding:12px 14px;
  font:600 .9375rem/1.35 Poppins,sans-serif; color:var(--rlg-ink2); cursor:pointer; }
.rlg .rtab small{ display:block; font-weight:400; font-size:.8125rem; color:var(--rlg-ink3);
  margin-top:2px; }
.rlg .rtab[aria-selected="true"]{ background:var(--rlg-card); border-color:var(--rlg-ink);
  color:var(--rlg-ink); box-shadow:var(--rlg-shadow); }
.rlg .rtab[aria-selected="true"] small{ color:var(--rlg-ink2) }
.rlg .route[hidden]{ display:none }

.rlg ol.steps{ margin:0 0 4px; padding-left:1.25rem; color:var(--rlg-ink2); font-size:.9688rem }
.rlg ol.steps li{ margin-bottom:.5rem; padding-left:.125rem }
.rlg .ui{ font-weight:700; color:var(--rlg-ink); white-space:nowrap }
.rlg ol.steps a{ color:var(--rlg-ink); font-weight:700; text-decoration:underline;
  text-decoration-color:var(--rlg-brand); text-decoration-thickness:2px; text-underline-offset:3px; }

.rlg .warn{ background:rgba(138,97,0,.10); border:1px solid rgba(138,97,0,.28);
  color:var(--rlg-warn); border-radius:10px; padding:11px 13px; font-size:.9063rem;
  margin:0 0 14px; }
.rlg .warn b{ font-weight:700 }

.rlg .row{ display:flex; gap:10px; flex-wrap:wrap; align-items:stretch }
.rlg .grow{ flex:1 1 190px }
.rlg input[type=text], .rlg textarea{ width:100%; display:block;
  font:400 .9688rem/1.5 Poppins,sans-serif; color:var(--rlg-ink);
  background:var(--rlg-ground); border:1.5px solid var(--rlg-line);
  border-radius:10px; padding:12px 14px; margin:0; box-shadow:none; }
.rlg textarea{ font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:.875rem;
  resize:vertical; min-height:76px; }
.rlg input[type=text]:focus, .rlg textarea:focus{ outline:2px solid var(--rlg-brand);
  outline-offset:1px; border-color:transparent; }
.rlg textarea.waiting{ border-color:var(--rlg-brand); background:rgba(255,199,0,.07) }

.rlg button{ font:700 .9375rem/1 Poppins,sans-serif; border-radius:10px; padding:13px 18px;
  border:1.5px solid transparent; cursor:pointer; width:auto; margin:0;
  text-transform:none; letter-spacing:normal; transition:background .15s; }
.rlg button:focus-visible{ outline:2px solid var(--rlg-brand); outline-offset:2px }
.rlg .btn-y{ background:var(--rlg-brand); color:var(--rlg-brand-ink) }
.rlg .btn-y:hover{ background:#E9B600 }
.rlg .btn-o{ background:transparent; color:var(--rlg-ink); border-color:var(--rlg-line) }
.rlg .btn-o:hover{ border-color:var(--rlg-ink3); background:transparent }
.rlg .btn-sm{ padding:9px 13px; font-size:.875rem }

.rlg #rlg-result[hidden]{ display:none }
.rlg .res-grid{ display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(18px,3vw,30px); align-items:start; }
@media (max-width:620px){ .rlg .res-grid{ grid-template-columns:minmax(0,1fr) } }

.rlg .label{ font:700 .6875rem/1 Poppins,sans-serif; letter-spacing:.09em; text-transform:uppercase;
  color:var(--rlg-ink3); margin:0 0 8px; }
.rlg .linkbox{ display:flex; align-items:stretch; gap:8px; margin-bottom:18px }
.rlg .linkbox code{ flex:1; min-width:0; background:var(--rlg-ground);
  border:1.5px solid var(--rlg-line); border-radius:10px; padding:12px 14px;
  font:600 .875rem/1.5 "IBM Plex Mono",ui-monospace,monospace;
  word-break:break-all; color:var(--rlg-ink); }
.rlg .linkbox button{ flex:none; padding:12px 15px }
.rlg a.plain{ text-decoration:none; border:0; display:inline-block }

.rlg .qr-card{ background:#fff; border:1px solid var(--rlg-line); border-radius:14px;
  padding:14px; text-align:center; box-shadow:var(--rlg-shadow); margin:0; }
.rlg .qr-card img{ display:block; width:200px; height:200px; max-width:100%;
  image-rendering:pixelated; border-radius:0; }
.rlg .qr-cap{ font-size:.8125rem; line-height:1.5; font-style:normal; color:var(--rlg-ink3);
  margin:10px 0 0; max-width:200px; }

.rlg .alt{ border-top:1px solid var(--rlg-line); margin-top:20px; padding-top:18px }
.rlg details{ border:0; background:none; margin:0; padding:0 }
.rlg details summary{ cursor:pointer; font-weight:600; font-size:.9375rem;
  color:var(--rlg-ink2); padding:0; list-style:revert; }
.rlg details[open] summary{ margin-bottom:10px }

.rlg .msg{ border-radius:10px; padding:12px 14px; font-size:.9375rem; margin-top:12px; display:none }
.rlg .msg.show{ display:block }
.rlg .msg.err{ background:rgba(180,35,31,.10); color:var(--rlg-bad);
  border:1px solid rgba(180,35,31,.28); }
.rlg .msg.ok{ background:rgba(14,124,90,.10); color:var(--rlg-good);
  border:1px solid rgba(14,124,90,.28); }
.rlg .msg.info{ background:rgba(138,97,0,.10); color:var(--rlg-warn);
  border:1px solid rgba(138,97,0,.28); }
.rlg .msg b{ font-weight:700 }
.rlg .msg ol{ margin:.5rem 0 0; padding-left:1.15rem }
.rlg .msg li{ margin-bottom:.3rem }
.rlg .msg button{ margin-top:10px }

.rlg .why{ margin-top:34px }
.rlg .why h2{ font:800 clamp(1.3rem,2.6vw,1.75rem)/1.2 Poppins,sans-serif;
  letter-spacing:-.022em; color:var(--rlg-ink); margin:0 0 .75rem; }
.rlg .why p{ color:var(--rlg-ink2); margin:0 0 1rem }
.rlg .why a{ color:var(--rlg-ink); font-weight:600;
  text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:2px;
  text-decoration-color:var(--rlg-brand); }
.rlg .faq{ margin-top:26px }
.rlg .faq details{ border:1px solid var(--rlg-line); border-radius:12px;
  background:var(--rlg-card); margin-bottom:8px; }
.rlg .faq summary{ padding:14px 16px; font-weight:700; color:var(--rlg-ink) }
.rlg .faq .a{ padding:0 16px 14px; color:var(--rlg-ink2); font-size:.9688rem }
.rlg .privacy{ margin-top:30px; color:var(--rlg-ink3); font-size:.875rem; text-align:center }
.rlg .privacy b{ color:var(--rlg-ink2) }
@media (prefers-reduced-motion:reduce){ .rlg *{ transition:none !important } }/* End custom CSS */