:root {
  --silk-ui: "Segoe UI Variable", "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --silk-display: Georgia, Cambria, "Times New Roman", serif;
  --silk-code: "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --silk-readable: #9fbeaa;
  --silk-readable-strong: #dceee1;
}

.rp,
.rms,
.sr-suite,
.spx,
.sr-lore-banner {
  font-family: var(--silk-ui);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.rp h2,
.rms h2,
.sr-lore-title {
  font-family: var(--silk-display);
  text-wrap: balance;
}

.rp h3,
.rp h4,
.rms h3,
.rms h4,
.sr-suite h2,
.sr-suite h3,
.spx h2,
.spx h3 {
  font-family: var(--silk-ui);
  text-wrap: balance;
}

.rp button,
.rp a,
.rp input,
.rp textarea,
.rp select,
.rms button,
.rms a,
.rms input,
.rms textarea,
.rms select,
.sr-suite button,
.sr-suite a,
.sr-suite input,
.sr-suite textarea,
.sr-suite select,
.spx button,
.spx a {
  font-family: var(--silk-ui);
}

.rp button,
.rp a,
.rms button,
.rms a,
.sr-suite button,
.sr-suite a,
.spx button,
.spx a {
  min-height: 42px;
}

.rp :is(button, a, input, textarea, select):focus-visible,
.rms :is(button, a, input, textarea, select):focus-visible,
.sr-suite :is(button, a, input, textarea, select):focus-visible,
.spx :is(button, a):focus-visible {
  outline: 2px solid #f0cf74;
  outline-offset: 3px;
}

/* RouteMind: readable orchestration without losing the terminal language. */
.rp-hero > div { width: min(720px, 86%); }
.rp-hero > div > span,
.rp-panel-head small,
.rp-agent-head,
.rp-plan-title small,
.rp-plan-next small,
.rp-plan-reading > small,
.rp-eth-checkout small {
  font-family: var(--silk-code);
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: .12em;
}
.rp-hero p { max-width: 650px; color: #b2d3bc; font-size: 16px; line-height: 1.7; }
.rp-live { gap: 10px; color: #78a184; font: 11px/1.45 var(--silk-code); letter-spacing: .06em; }
.rp-main { padding: clamp(22px, 3vw, 36px); }
.rp-steps span { padding: 14px 13px; color: #769781; font: 700 11px/1.2 var(--silk-code); letter-spacing: .075em; }
.rp-intent label { margin-bottom: 11px; font: 700 12px/1.3 var(--silk-code); letter-spacing: .1em; }
.rp-intent textarea { min-height: 108px; padding: 19px; font: 15px/1.65 var(--silk-ui); }
.rp-intent button,
.rp-primary { min-height: 48px; font: 800 12px/1.2 var(--silk-ui); letter-spacing: .055em; }
.rp-intent > p { margin-top: 10px; color: #789783; font-size: 13px; line-height: 1.55; }
.rp-panel,
.rp-agent,
.rp-plan { border-radius: 8px; }
.rp-panel { padding: clamp(18px, 2.3vw, 26px); }
.rp-panel-head h3 { margin-top: 8px; font-size: clamp(23px, 2.7vw, 29px); line-height: 1.2; }
.rp-panel-head > span { padding: 8px 10px; font: 700 10px/1.25 var(--silk-code); letter-spacing: .08em; }
.rp-card { border-radius: 7px; overflow: hidden; }
.rp-image span { padding: 7px 8px; font: 700 10px/1.2 var(--silk-code); }
.rp-card-body { padding: 17px; }
.rp-card-body > small,
.rp-draft small { color: #769481; font: 10.5px/1.35 var(--silk-code); }
.rp-card h4,
.rp-draft h4 { margin: 8px 0; font-size: 18px; line-height: 1.25; }
.rp-card p,
.rp-draft p { color: #92ad9a; font-size: 13px; line-height: 1.6; }
.rp-tags { gap: 7px; margin-top: 12px; }
.rp-tags span { padding: 5px 7px; color: #7cce95; font-size: 10px; line-height: 1.25; }
.rp-card-foot { margin-top: 16px; }
.rp-card-foot b { font-size: 18px; }
.rp-card-foot small { color: #718d79; font-size: 10px; }
.rp-card-foot button,
.rp-auth-grid button,
.rp-checkout-form > button,
.rp-pay-actions button,
.rp-pay-actions a,
.rp-manual button,
.rp-success button { padding: 11px 14px; font: 800 11px/1.2 var(--silk-ui); letter-spacing: .04em; }
.rp input,
.rp textarea,
.rp select { min-height: 44px; padding: 12px 13px; font: 14px/1.45 var(--silk-ui); }
.rp-error,
.rp-progress { padding: 13px 14px; font-size: 13px; line-height: 1.55; }
.rp-checkout-form { gap: 14px; }
.rp-checkout-form label,
.rp-manual label { color: #94b09c; font: 700 11px/1.35 var(--silk-code); letter-spacing: .065em; }
.rp-total { padding: 16px; }
.rp-total small,
.rp-pay-summary small,
.rp-success small,
.rp-success dt { font: 700 10px/1.3 var(--silk-code); letter-spacing: .06em; }
.rp-total strong { font-size: 24px; }
.rp-total span { color: #78917e; font-size: 12px; }
.rp-pay-summary > div { padding: 16px; }
.rp-pay-summary b { margin-top: 8px; font-size: 14px; }
.rp-safety { padding: 15px; }
.rp-safety b { font-size: 14px; }
.rp-safety p { color: #ada074; font-size: 13px; line-height: 1.6; }
.rp-success h3 { font-size: 25px; }
.rp-success p { color: #93ad9a; font-size: 14px; }
.rp-success dd { font-size: 13px; }
.rp-empty { color: #849d8a; font-size: 13px; line-height: 1.55; }
.rp-agent-head { padding: 15px 17px; }
.rp-agent-head > b { font-size: 10px; }
.rp-agent-grid > div { min-height: 112px; padding: 18px; }
.rp-agent-grid small { font: 700 10.5px/1.3 var(--silk-code); }
.rp-agent-grid p { color: #b5d0bc; font-size: 14px; line-height: 1.65; }
.rp-agent-trace { gap: 8px; padding: 13px 17px; }
.rp-agent-trace span { padding: 7px 9px; font: 700 10px/1.25 var(--silk-code); }
.rp-plan { padding: clamp(20px, 2.7vw, 30px); }
.rp-plan-title h3 { font-size: clamp(25px, 3vw, 34px); line-height: 1.2; }
.rp-plan-title p,
.rp-plan-reading p { color: #9eb9a6; font-size: 14px; line-height: 1.7; }
.rp-plan-title > span { flex-basis: 124px; padding: 13px; font: 700 10px/1.3 var(--silk-code); }
.rp-plan-title > span b { font-size: 22px; }
.rp-plan-title > span small { font-size: 10px; }
.rp-plan-snapshot > div { padding: 16px 18px; }
.rp-plan-snapshot small { font: 700 10px/1.3 var(--silk-code); }
.rp-plan-snapshot strong { font-size: 20px; }
.rp-plan-snapshot span { color: #76917d; font-size: 11px; }
.rp-plan-questions b { font-size: 11px; }
.rp-plan-questions span { font-size: 13px; line-height: 1.5; }
.rp-plan-steps article { gap: 15px; padding: 15px; border-radius: 5px; }
.rp-plan-steps small { font: 700 10px/1.3 var(--silk-code); }
.rp-plan-steps h4 { margin: 7px 0; font-size: 16px; }
.rp-plan-steps p { color: #91ab98; font-size: 13px; line-height: 1.55; }
.rp-plan-steps article > b { font: 700 10px/1.3 var(--silk-code); }
.rp-plan-next strong { font-size: 14px; line-height: 1.5; }
.rp-plan-next > span { color: #829486; font-size: 12px; }
.rp-eth-checkout h4 { font-size: 21px; }
.rp-eth-steps span,
.rp-swap-qr p { color: #93ad9a; font-size: 12px; line-height: 1.65; }
.rp-eth-steps b { font-size: 10px; }
.rp-inline-swap output { min-height: 46px; padding: 13px; font: 12px/1.65 var(--silk-code); }
.rp-dock > div b { font-size: 12px; }
.rp-dock > div small,
.rp-dock button span { font: 10px/1.2 var(--silk-code); }
.rp-dock button { min-width: 74px; min-height: 48px; }

/* Signal: modern marketplace cards with clear buyer/merchant decisions. */
.rms-hero > div > span,
.rms-section-head small,
.rms-signal > header small,
.rms-offer small,
.rms-guest small { font: 700 11px/1.3 var(--silk-code); letter-spacing: .1em; }
.rms-hero p { max-width: 760px; color: #a9c7b2; font-size: 16px; line-height: 1.7; }
.rms-hero aside { border-radius: 8px; }
.rms-hero aside small { font: 700 10px/1.3 var(--silk-code); }
.rms-hero aside span { color: #77917e; font-size: 12px; }
.rms-main { padding: clamp(20px, 3vw, 34px); }
.rms-section-head h3 { font-size: clamp(23px, 2.7vw, 29px); }
.rms-section-head > span { color: #77917f; font: 10px/1.5 var(--silk-code); }
.rms-section-head > button,
.rms-close { padding: 10px 14px; font: 700 11px/1.2 var(--silk-ui); }
.rms-radar-grid article,
.rms-signal,
.rms-create,
.rms-bid,
.rms-guest { border-radius: 8px; }
.rms-radar-grid small { font: 700 10px/1.3 var(--silk-code); }
.rms-radar-grid b { font-size: 18px; }
.rms-radar-grid span { color: #78917e; font-size: 11px; }
.rms label { font: 700 11px/1.35 var(--silk-code); letter-spacing: .06em; }
.rms input,
.rms textarea,
.rms select { min-height: 44px; padding: 12px 13px; font: 14px/1.5 var(--silk-ui); }
.rms button.primary { min-height: 48px; font: 800 12px/1.2 var(--silk-ui); letter-spacing: .04em; }
.rms-privacy b { font-size: 13px; }
.rms-privacy span { color: #aaa077; font-size: 12px; line-height: 1.6; }
.rms-signal { padding: clamp(18px, 2.5vw, 26px); }
.rms-signal > header h4 { margin-top: 8px; font-size: 21px; line-height: 1.3; }
.rms-signal > header > span { padding: 8px 10px; font: 700 10px/1.3 var(--silk-code); }
.rms-signal > p { color: #9db6a3; font-size: 14px; line-height: 1.7; }
.rms-facts span { padding: 9px 11px; color: #78917e; font-size: 11px; }
.rms-offer { grid-template-columns: 42px 1fr 230px auto; gap: 15px; padding: 16px; border-radius: 6px; }
.rms-offer-rank { width: 36px; height: 36px; font: 700 12px/1 var(--silk-code); }
.rms-offer h5 { margin: 7px 0; font-size: 19px; }
.rms-offer p { color: #9ab29f; font-size: 13px; line-height: 1.55; }
.rms-offer > div > span { margin-top: 7px; color: #b5a66f; font-size: 12px; line-height: 1.5; }
.rms-offer dl div { padding: 11px; }
.rms-offer dt { font: 700 10px/1.3 var(--silk-code); }
.rms-offer dd { margin-top: 6px; font-size: 12px; }
.rms-offer button,
.rms-my-offer button { padding: 11px 13px; font: 800 11px/1.2 var(--silk-ui); }
.rms-status { font: 700 10px/1.3 var(--silk-code); }
.rms-my-offer small { font: 700 10px/1.3 var(--silk-code); }
.rms-my-offer b { font-size: 14px; }
.rms-my-offer p { font-size: 13px; line-height: 1.55; }
.rms-empty { color: #829887; font-size: 13px; line-height: 1.6; }
.rms-guest h3 { font-size: 28px; }
.rms-guest p { color: #96af9c; font-size: 14px; line-height: 1.7; }
.rms-guest a { padding: 12px 18px; font: 800 11px/1.2 var(--silk-ui); }

/* Existing service and protocol panels inherit the same legibility floor. */
.sr-suite-kicker,
.sr-field label,
.sr-mini-label { font: 700 11px/1.3 var(--silk-code); }
.sr-suite-copy { font-size: 15px; }
.sr-suite-tab { min-height: 48px; font-size: 12px; }
.sr-suite input,
.sr-suite textarea,
.sr-suite select { min-height: 44px; font-size: 14px; }
.sr-chat-peerbar small,
.sr-chat-bubble-meta,
.sr-chat-status { font-size: 11px; line-height: 1.45; }
.spx-button { font: 800 11px/1.2 var(--silk-ui); }
.spx-components p { color: #91ad9a; font-size: 14px; }
.spx-components li { font-size: 11px; line-height: 1.45; }
.spx-network-card dt { font-size: 11px; }
.spx-network-card dd,
.spx-contract code { font-size: 12px; }
.spx-copy-network,
.spx-contract button,
.spx-contract a { font: 700 11px/1.3 var(--silk-code); }
.spx-contract span { font-size: 10px; }

@media (max-width: 850px) {
  .rp-card { grid-template-columns: 150px 1fr; }
  .rms-offer { grid-template-columns: 42px 1fr; }
  .rms-offer dl,
  .rms-offer > button,
  .rms-offer > .rms-status { grid-column: 2; }
}

@media (max-width: 560px) {
  .rp,
  .rms,
  .sr-suite,
  .spx { font-size: 16px; }
  .rp-hero > div { padding: 26px 22px; }
  .rp-hero p,
  .rms-hero p { font-size: 15px; }
  .rp-steps span { min-width: 112px; }
  .rp-card { grid-template-columns: 1fr; }
  .rp-card p { -webkit-line-clamp: 4; }
  .rp-dock button span { font-size: 10px; }
  .rms-offer { grid-template-columns: 1fr; }
  .rms-offer dl,
  .rms-offer > button,
  .rms-offer > .rms-status { grid-column: 1; }
  .rms-offer-rank { width: 40px; height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  .rp *, .rms *, .sr-suite *, .spx * { scroll-behavior: auto !important; transition: none !important; }
}
