/* ============================================================================
   Self-signup onboarding — brand v2 (app/templates/signup_base.html and the
   pages that extend it: signup, check your email, setting up, ready, errors).

   Loaded after pomelow.css and portal.css: portal.css section 1-2 supply the
   v2 tokens (ink, mist, pomelo, Geist) and controls; this file lays out the
   journey tracker, the stepped form beside a live workspace preview, and the
   post-submit pages. One light theme, like the rest of v2.
   ========================================================================== */

body.onb {
  min-height: 100vh; display: flex; flex-direction: column;
  background:
    radial-gradient(circle at 100% 0, rgba(246, 145, 159, 0.16) 0, rgba(246, 145, 159, 0) 34rem),
    radial-gradient(circle at 0 100%, rgba(125, 178, 42, 0.08) 0, rgba(125, 178, 42, 0) 30rem),
    var(--mist);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}
.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;
}
[hidden] { display: none !important; }

/* ---- Top bar + footer ---------------------------------------------------- */
.onb-top { display: flex; align-items: center; gap: 12px; padding: 18px 32px; }
.onb-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); }
.onb-brand span { font-size: 20px; font-weight: 600; letter-spacing: -0.04em; }
.onb-brand:hover { color: var(--ink); }
.onb-signin { font-size: 13.5px; color: var(--slate); }
.onb-signin a { color: var(--ink); font-weight: 500; }
.onb-main { flex: 1; width: 100%; max-width: 1140px; margin: 0 auto; padding: 4px 32px 56px; box-sizing: border-box; }
.onb-foot {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 8px;
  padding: 20px 24px 28px; font-size: 12px; color: var(--slate);
}

/* ---- Journey tracker: Create · Confirm email · Set up · Ready ------------ */
.onb-journey { margin: 4px 0 28px; }
.onb-journey ol {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
}
.onb-journey li { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; }
.onb-journey li:not(:last-child)::after {
  content: ""; position: absolute; top: 12px; left: 36px; right: 0; height: 2px;
  background: var(--line); border-radius: 2px;
}
.onb-journey li.done:not(:last-child)::after { background: var(--ink); }
.onb-journey-dot {
  flex: none; width: 26px; height: 26px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font: 600 12px var(--body); background: #fff; color: var(--slate);
  border: 1.5px solid var(--line-strong);
}
.onb-journey li.done .onb-journey-dot { background: var(--ink); border-color: var(--ink); color: #fff; }
.onb-journey li.now .onb-journey-dot { border-color: var(--ink); color: var(--ink); box-shadow: 0 0 0 4px var(--pomelo-bg); }
.onb-journey-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.onb-journey-text b { font-size: 13px; font-weight: 600; }
.onb-journey-text span { font-size: 12px; color: var(--slate); }
.onb-journey li.next .onb-journey-text b { color: var(--slate); font-weight: 500; }
.onb-journey-now { display: none; }

/* ---- Cards + type ----------------------------------------------------------- */
.onb-card {
  background: #fff; border: 1px solid var(--line); border-radius: 20px;
  padding: 32px 36px 30px; box-sizing: border-box;
  box-shadow: 0 1px 2px rgba(15, 36, 25, 0.04), 0 24px 48px -32px rgba(15, 36, 25, 0.22);
}
.onb-card h1 { margin: 0 0 8px; }
.onb-card--narrow { max-width: 580px; margin: 0 auto; }
.onb-center { text-align: center; }
.onb-center .onb-next, .onb-center .onb-help, .onb-center .warning, .onb-center .notice { text-align: left; }
.onb-lede { font-size: 15px; line-height: 1.55; color: var(--ink-2); margin: 0 0 22px; }
.onb-eyebrow { font: 500 12px var(--mono); color: var(--pomelo-ink); margin: 0 0 10px; letter-spacing: 0.02em; }
.onb-card .error {
  background: var(--pomelo-bg); color: var(--pomelo-ink); border-radius: 10px;
  padding: 12px 14px; margin: 0 0 18px; font-size: 13.5px; line-height: 1.5;
}
.warning, .notice { padding: 12px 14px; line-height: 1.5; }

/* ---- Split: form beside the live preview -------------------------------- */
.onb-split {
  display: grid; grid-template-columns: minmax(0, 540px) minmax(0, 1fr);
  gap: 48px; align-items: start;
}

/* ---- Inner stepper: Workspace · Admin · Review ---------------------------- */
.onb-stepper {
  list-style: none; margin: 4px 0 26px; padding: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
}
.onb-stepper button {
  width: 100%; height: auto; padding: 0 0 10px; border: 0; border-bottom: 3px solid var(--line);
  border-radius: 0; background: none; justify-content: flex-start; gap: 8px;
  font-size: 13px; font-weight: 500; color: var(--slate); cursor: pointer;
}
.onb-stepper button:hover:not(:disabled) { background: none; color: var(--ink); }
.onb-stepper button:disabled { cursor: default; opacity: 1; }
.onb-stepper-n {
  width: 20px; height: 20px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 600; background: var(--grey-bg); color: var(--slate);
}
.onb-stepper li.now button { border-color: var(--ink); color: var(--ink); font-weight: 600; }
.onb-stepper li.now .onb-stepper-n { background: var(--ink); color: #fff; }
.onb-stepper li.done button { border-color: var(--ink); color: var(--ink); }
.onb-stepper li.done .onb-stepper-n { background: var(--green-bg); color: var(--green-ink); }

/* ---- Form ------------------------------------------------------------------- */
.onb-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.onb-form:not(.is-stepped) fieldset + fieldset { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.onb-form legend.onb-step-title {
  display: block; float: none; width: 100%; padding: 0; margin: 0 0 4px;
  font: 600 18px/1.3 var(--body); letter-spacing: -0.01em; text-transform: none; color: var(--ink);
}
.onb-step-title:focus { outline: none; }
.onb-step-sub { font-size: 14px; color: var(--slate); margin: 0 0 20px; }
.onb-form.is-stepped .onb-step { animation: onb-in 0.28s ease both; }
.onb-form .field { margin-bottom: 18px; }
.onb-form label, .onb-form .label { display: block; font-size: 13px; font-weight: 500; color: var(--ink); margin-bottom: 6px; }
.onb-form input[type="text"], .onb-form input[type="email"], .onb-form input:not([type]) {
  height: 44px; font-size: 15px; border-radius: 10px; border-color: var(--line-strong);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.onb-form input::placeholder { color: #A3AEA8; }
.onb-form input:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px var(--pomelo-bg); }
.onb-form input:user-invalid, .onb-form input[aria-invalid="true"] { border-color: var(--pomelo-ink); }
.onb-form input[aria-invalid="true"]:focus { box-shadow: 0 0 0 3px var(--pomelo-bg); }
.onb-form label.plan-card { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.onb-form label.check { display: flex; gap: 10px; align-items: flex-start; margin: 0; font-weight: 400; }
.onb-card p a, .onb-card label a, .onb-help a { text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--line-strong); }
.onb-card p a:hover, .onb-card label a:hover, .onb-help a:hover { text-decoration-color: currentColor; }
.onb-card a.btn-primary, .onb-card a.btn-ghost { text-decoration: none; }
.onb-form .input-suffix input { border-radius: 10px 0 0 10px; }
.onb-form .input-suffix .suffix { border-radius: 0 10px 10px 0; background: var(--grey-bg); border-color: var(--line-strong); color: var(--slate); font-size: 13px; }
.onb-form .hint { display: block; margin-top: 7px; font-size: 12.5px; line-height: 1.5; }
.onb-form .hint strong { color: var(--ink); font-weight: 500; font-size: 12.5px; }
.onb-avail { display: flex; align-items: center; gap: 6px; min-height: 0; margin-top: 7px; font-size: 12.5px; }
.onb-avail:empty { margin: 0; }
.onb-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 26px; }
.onb-actions button, .onb-actions .btn-primary { height: 44px; padding: 0 20px; font-size: 14.5px; border-radius: 10px; }
.onb-actions [data-back] { margin-right: auto; }
.onb-form:not(.is-stepped) [data-next], .onb-form:not(.is-stepped) [data-back] { display: none; }
.onb-submit { min-width: 220px; }
.onb-submit.is-busy { opacity: 0.8; cursor: progress; }
.onb-after { text-align: right; margin-top: 10px !important; }

.onb-summary { margin: 4px 0 22px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.onb-summary > div {
  display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 12px; align-items: center;
  padding: 14px 16px;
}
.onb-summary > div + div { border-top: 1px solid var(--line-soft); }
.onb-summary dt { font-size: 12.5px; color: var(--slate); }
.onb-summary dd { margin: 0; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.onb-summary dd b { font-weight: 600; font-size: 14px; overflow-wrap: anywhere; }
.onb-summary dd span { font-size: 12.5px; color: var(--slate); overflow-wrap: anywhere; }
.onb-edit {
  height: 30px; padding: 0 10px; font-size: 12.5px; gap: 5px; border-radius: 8px;
  color: var(--ink-2); border-color: var(--line);
}

.plan-cards { gap: 10px; }
.plan-card { padding: 14px; border-radius: 12px; border-color: var(--line-strong); transition: border-color 0.15s, box-shadow 0.15s; }
.plan-card:hover { border-color: var(--slate); }
.plan-card:has(input:checked) { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); background: #FBFCFB; }
.plan-card:focus-within { outline: 2px solid var(--pomelo-ink); }
.plan-name { font-weight: 600; }
.plan-blurb { color: var(--slate); }

.onb-included { margin: 0 0 18px; }
.onb-included ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.onb-included li {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px 5px 8px;
  border-radius: 999px; background: var(--grey-bg); font-size: 12.5px; color: var(--ink-2);
}
.onb-form .domain-note { margin: 0 0 18px; }
.onb-form .domain-note summary { font-weight: 500; color: var(--ink-2); }
.onb-form .domain-note .field { margin-top: 12px; }
.consent .check { font-size: 13px; color: var(--ink-2); }
.consent .check input { width: 16px; height: 16px; accent-color: var(--ink); }

/* ---- Live preview ------------------------------------------------------------ */
.onb-story { position: sticky; top: 24px; padding-top: 6px; }
.onb-window {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden;
  box-shadow: 0 30px 60px -36px rgba(15, 36, 25, 0.35);
  transform: rotate(-0.4deg);
}
.onb-wbar {
  display: flex; align-items: center; gap: 9px; padding: 11px 14px;
  border-bottom: 1px solid var(--line); background: #FCFCFB;
}
.onb-wname { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 45%; }
.onb-wsearch {
  margin-left: auto; flex: 0 1 200px; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  font-size: 11.5px; color: #97A29C; background: var(--grey-bg); border-radius: 8px; padding: 6px 10px;
}
.onb-wbody { padding: 20px 20px 22px; }
.onb-whi { font-size: 20px; font-weight: 600; letter-spacing: -0.02em; margin: 0 0 8px; }
.onb-waddr {
  display: inline-flex; align-items: center; gap: 6px; margin: 0 0 18px; padding: 5px 10px;
  border-radius: 999px; background: var(--pomelo-bg); color: var(--pomelo-ink); font-size: 12px;
  max-width: 100%; overflow-wrap: anywhere;
}
.onb-wtiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.onb-wtile {
  display: flex; flex-direction: column; gap: 10px; padding: 12px; border: 1px solid var(--line);
  border-radius: 12px; font-size: 13px; font-weight: 500; animation: onb-in 0.5s ease both;
}
.onb-wtile:nth-child(2) { animation-delay: 0.06s; } .onb-wtile:nth-child(3) { animation-delay: 0.12s; }
.onb-wtile:nth-child(4) { animation-delay: 0.18s; } .onb-wtile:nth-child(5) { animation-delay: 0.24s; }
.onb-wtile:nth-child(6) { animation-delay: 0.30s; }
.onb-wic {
  width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--grey-bg); color: var(--ink);
}
.onb-wtile:nth-child(1) .onb-wic { background: var(--pomelo-bg); color: var(--pomelo-ink); }
.onb-wtile:nth-child(2) .onb-wic { background: var(--amber-bg-2); color: var(--amber-ink-2); }
.onb-wtile:nth-child(3) .onb-wic { background: var(--green-bg); color: var(--green-ink); }
.onb-wtile--team { border-style: dashed; color: var(--slate); }
.onb-wtile--team .onb-wic { background: #fff; border: 1px dashed var(--line-strong); color: var(--slate); }
.onb-caption { font-size: 12px; color: var(--slate); margin: 12px 0 26px; text-align: center; }
.onb-trust { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.onb-trust li { display: flex; gap: 12px; align-items: flex-start; }
.onb-trust-ic {
  flex: none; width: 36px; height: 36px; border-radius: 10px; background: #fff; border: 1px solid var(--line);
  display: inline-flex; align-items: center; justify-content: center; color: var(--ink);
}
.onb-trust b { display: block; font-size: 14px; font-weight: 600; margin-bottom: 2px; }
.onb-trust span { font-size: 13px; color: var(--slate); line-height: 1.5; }

/* ---- Check your email ---------------------------------------------------- */
.onb-envelope { margin: 4px auto 14px; width: 120px; }
.onb-letter { animation: onb-letter 2.8s ease-in-out infinite; }
.onb-wide { width: 100%; max-width: 320px; height: 46px; margin: 0 auto; font-size: 15px; border-radius: 10px; }
.onb-next { list-style: none; margin: 26px 0 8px; padding: 0; display: grid; gap: 0; }
.onb-next li { position: relative; display: flex; gap: 14px; padding: 0 0 18px; }
.onb-next li:not(:last-child)::before {
  content: ""; position: absolute; left: 17px; top: 38px; bottom: 2px; width: 2px; background: var(--line);
}
.onb-next-ic {
  flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--grey-bg); color: var(--ink);
  display: inline-flex; align-items: center; justify-content: center;
}
.onb-next li:first-child .onb-next-ic { background: var(--ink); color: #fff; }
.onb-next b { display: block; font-size: 14.5px; font-weight: 600; margin: 7px 0 2px; }
.onb-next span { font-size: 13.5px; color: var(--slate); line-height: 1.5; }
.onb-help { margin-top: 6px; border-top: 1px solid var(--line); padding-top: 14px; }
.onb-help summary { cursor: pointer; font-size: 14px; font-weight: 500; color: var(--ink-2); }
.onb-help p { font-size: 13.5px; color: var(--slate); line-height: 1.5; }
.onb-resend { margin: 10px 0; }

/* ---- Setting up + ready ------------------------------------------------ */
.onb-apps { list-style: none; margin: 22px 0 6px; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; text-align: left; }
.onb-apps li {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: 12px; background: #fff;
}
.onb-apps .onb-wic { width: 36px; height: 36px; }
.onb-apps b { font-size: 14px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.onb-state { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--slate); white-space: nowrap; }
.onb-apps li.ready .onb-state { color: var(--green-ink); }
.onb-apps li.ready .onb-wic { background: var(--green-bg); color: var(--green-ink); }
.onb-apps li.error .onb-state { color: var(--amber-ink-2); }
.onb-tick {
  width: 20px; height: 20px; border-radius: 50%; background: var(--rind-v2); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; animation: onb-pop 0.4s ease both;
}
.onb-apps li:nth-child(2) .onb-tick { animation-delay: 0.08s; } .onb-apps li:nth-child(3) .onb-tick { animation-delay: 0.16s; }
.onb-apps li:nth-child(4) .onb-tick { animation-delay: 0.24s; } .onb-apps li:nth-child(5) .onb-tick { animation-delay: 0.32s; }
.onb-apps li:nth-child(6) .onb-tick { animation-delay: 0.40s; }
.onb-spin {
  width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--line-strong); border-top-color: var(--ink);
  animation: onb-spin 0.9s linear infinite;
}
.onb-addr-card {
  display: inline-flex; align-items: center; gap: 10px; margin: 6px 0 0; padding: 8px 14px 8px 8px;
  border-radius: 999px; background: var(--grey-bg); font-size: 13.5px;
}
.onb-addr-card .mono { font-size: 13px; }
.onb-hero-mark { display: inline-flex; margin: 4px auto 12px; }
.onb-hero-mark.is-live { animation: onb-roll 0.9s cubic-bezier(.2,.9,.3,1.2) both; }
.onb-cta { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin: 22px 0 8px; }
.onb-cta .btn-primary, .onb-cta .btn-ghost { height: 46px; padding: 0 22px; font-size: 15px; border-radius: 10px; }
.onb-first { list-style: none; margin: 26px 0 0; padding: 22px 0 0; border-top: 1px solid var(--line); display: grid; gap: 10px; text-align: left; counter-reset: first; }
.onb-first-h { font-size: 14px; font-weight: 600; margin: 24px 0 0; text-align: left; }
.onb-first-h + .onb-first { border-top: 0; padding-top: 0; margin-top: 12px; }
.onb-first a {
  display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px;
  text-decoration: none; color: var(--ink); transition: border-color 0.15s, transform 0.15s;
}
.onb-first a:hover { border-color: var(--ink); color: var(--ink); transform: translateY(-1px); }
.onb-first a::before {
  counter-increment: first; content: counter(first);
  flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--grey-bg);
  display: inline-flex; align-items: center; justify-content: center; font-size: 12.5px; font-weight: 600;
}
.onb-first li:first-child a::before { background: var(--ink); color: #fff; }
.onb-first b { display: block; font-size: 14px; font-weight: 600; }
.onb-first span { font-size: 13px; color: var(--slate); }
.onb-first .onb-go { margin-left: auto; color: var(--slate); }
.onb-status { min-height: 1px; }

/* ---- Motion ---------------------------------------------------------------- */
@keyframes onb-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes onb-letter { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes onb-spin { to { transform: rotate(360deg); } }
@keyframes onb-pop { 0% { transform: scale(0); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }
@keyframes onb-roll { from { transform: rotate(-120deg) scale(0.6); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---- Narrow screens ---------------------------------------------------- */
@media (max-width: 960px) {
  .onb-split { grid-template-columns: minmax(0, 1fr); gap: 32px; max-width: 620px; margin: 0 auto; }
  .onb-story { position: static; }
  .onb-window { transform: none; }
}
@media (max-width: 720px) {
  .onb-top { padding: 14px 16px; }
  .onb-signin-q { display: none; }
  .onb-main { padding: 0 16px 40px; }
  .onb-journey { margin: 0 0 18px; }
  .onb-journey-now { display: flex; align-items: baseline; gap: 8px; margin: 0 0 8px; font-size: 14px; }
  .onb-journey-now .mono { font-size: 12px; color: var(--slate); }
  .onb-journey ol { gap: 6px; }
  .onb-journey li { height: 4px; border-radius: 4px; background: var(--line); }
  .onb-journey li.done, .onb-journey li.now { background: var(--ink); }
  .onb-journey li::after, .onb-journey-dot, .onb-journey-text { display: none !important; }
  .onb-card { padding: 24px 20px 22px; border-radius: 16px; }
  .onb-card h1 { font-size: 25px; }
  .onb-stepper { margin-bottom: 20px; }
  .onb-stepper button { font-size: 12.5px; }
  .onb-actions { flex-wrap: wrap; }
  .onb-actions .btn-primary, .onb-actions .onb-submit { flex: 1 1 auto; min-width: 0; }
  .onb-after { text-align: left; }
  .onb-summary > div { grid-template-columns: minmax(0, 1fr) auto; }
  .onb-summary dt { grid-column: 1 / -1; margin-bottom: -8px; }
  .onb-wtiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .onb-wsearch { display: none; }
}

/* Finished: the apps shrink to one row of ticks, the first steps lead. */
.onb-apps--done { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 18px 0 0; }
.onb-apps--done li { padding: 5px 10px 5px 6px; gap: 6px; border-radius: 999px; background: var(--green-bg); border-color: transparent; }
.onb-apps--done .onb-wic { display: none; }
.onb-apps--done b { font-size: 12.5px; color: var(--green-ink); order: 2; }
.onb-apps--done .onb-state { margin: 0; order: 1; font-size: 0; }
.onb-apps--done .onb-tick { width: 18px; height: 18px; }

/* Monthly / yearly billing: the plan cards show the picked interval's price. */
.billing-toggle { display: inline-flex; gap: 4px; padding: 4px; border-radius: 10px; background: var(--mist, #F1F3F1); margin-bottom: 10px; }
.onb-form .billing-toggle label { display: inline-flex; align-items: center; margin: 0; padding: 6px 12px; border-radius: 8px; font-size: 13px; cursor: pointer; }
.billing-toggle label:has(input:checked) { background: #fff; box-shadow: 0 1px 2px rgba(15, 36, 25, 0.14); }
.billing-toggle label:focus-within { outline: 2px solid var(--flesh); outline-offset: 2px; }
.billing-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.plan-price--year { display: none; }
.onb-form:has(input[name="billing_interval"][value="year"]:checked) .plan-card:has(.plan-price--year) .plan-price--month { display: none; }
.onb-form:has(input[name="billing_interval"][value="year"]:checked) .plan-price--year { display: block; }
