:root {
  color-scheme: light;
  --tc-dev-navy: #031a31;
  --tc-dev-navy-2: #082b4d;
  --tc-dev-blue: #0869e8;
  --tc-dev-blue-2: #0a58c9;
  --tc-dev-cyan: #19a9dd;
  --tc-dev-green: #16835f;
  --tc-dev-amber: #b76500;
  --tc-dev-red: #b42318;
  --tc-dev-ink: #102038;
  --tc-dev-muted: #52647c;
  --tc-dev-line: #c9d7e7;
  --tc-dev-soft: #edf5fc;
  --tc-dev-white: #fff;
}

* { box-sizing: border-box; }

.tc-vrl-developer-landing,
.tc-vrl-developer-denied {
  margin: 0;
  min-width: 320px;
  background: #f4f8fc;
  color: var(--tc-dev-ink);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.tc-dev-public-header {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 12px clamp(20px, 5vw, 72px);
  border-bottom: 1px solid #17466e;
  background: var(--tc-dev-navy);
}

.tc-dev-public-header > a {
  display: grid;
  color: #fff;
  text-decoration: none;
}

.tc-dev-public-header > a strong { font-size: 20px; letter-spacing: 1.6px; }
.tc-dev-public-header > a span { color: #58c8f0; font-size: 10px; font-weight: 800; letter-spacing: 4px; }
.tc-dev-public-header nav { display: flex; align-items: center; gap: 24px; }
.tc-dev-public-header nav a { color: #eef8ff; font-size: 14px; font-weight: 700; text-decoration: none; }
.tc-dev-public-header nav a:hover,
.tc-dev-public-header nav a:focus-visible { color: #65d6ff; }

.tc-dev-hero {
  display: grid;
  min-height: 510px;
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr);
  align-items: center;
  gap: clamp(32px, 6vw, 92px);
  padding: clamp(54px, 8vw, 108px) clamp(20px, 6vw, 96px);
  border-bottom: 4px solid var(--tc-dev-cyan);
  background: var(--tc-dev-navy);
  color: #fff;
}

.tc-dev-hero > div > span {
  display: inline-flex;
  margin-bottom: 20px;
  padding: 7px 11px;
  border: 1px solid #2f7db6;
  border-radius: 5px;
  color: #72d8fa;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.tc-dev-hero h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(40px, 5vw, 70px);
  line-height: 1.04;
  letter-spacing: 0;
}

.tc-dev-hero p {
  max-width: 760px;
  margin: 24px 0 30px;
  color: #d3e3f0;
  font-size: 19px;
  line-height: 1.65;
}

.tc-dev-hero > div > div { display: flex; flex-wrap: wrap; gap: 12px; }
.tc-dev-primary,
.tc-dev-secondary {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 11px 18px;
  border: 1px solid transparent;
  border-radius: 5px;
  font-weight: 800;
  text-decoration: none;
}
.tc-dev-primary { background: var(--tc-dev-blue); color: #fff; }
.tc-dev-primary:hover,
.tc-dev-primary:focus-visible { background: #1782f5; }
.tc-dev-secondary { border-color: #6b8aaa; background: transparent; color: #fff; }
.tc-dev-secondary:hover,
.tc-dev-secondary:focus-visible { border-color: #fff; background: #0a3155; }

.tc-dev-hero aside {
  padding: 28px;
  border: 1px solid #2c5c85;
  border-radius: 7px;
  background: #082846;
}
.tc-dev-hero aside strong { display: block; margin-bottom: 16px; font-size: 18px; }
.tc-dev-hero aside ul { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.tc-dev-hero aside li { position: relative; padding-left: 26px; color: #e5f2fb; line-height: 1.5; }
.tc-dev-hero aside li::before { position: absolute; left: 0; color: #42d2a0; content: "✓"; font-weight: 900; }

.tc-dev-resource-value,
.tc-dev-flow {
  max-width: 1380px;
  margin: 0 auto;
  padding: 62px clamp(20px, 4vw, 62px);
}
.tc-dev-resource-value > header { max-width: 850px; margin-bottom: 28px; }
.tc-dev-resource-value h2 { margin: 0 0 12px; color: var(--tc-dev-navy); font-size: 34px; }
.tc-dev-resource-value > header p { color: var(--tc-dev-muted); font-size: 18px; line-height: 1.65; }
.tc-dev-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tc-dev-resource-grid article { padding: 22px; border: 1px solid var(--tc-dev-line); border-radius: 7px; background: #fff; }
.tc-dev-resource-grid strong { display: block; color: var(--tc-dev-navy); font-size: 17px; }
.tc-dev-resource-grid p { margin: 9px 0 0; color: var(--tc-dev-muted); line-height: 1.55; }

.tc-dev-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding-top: 0; }
.tc-dev-flow article { min-height: 168px; padding: 22px; border-top: 4px solid var(--tc-dev-blue); background: #fff; box-shadow: 0 8px 24px rgba(4, 30, 56, .08); }
.tc-dev-flow b { display: grid; width: 30px; height: 30px; place-items: center; margin-bottom: 20px; border-radius: 50%; background: var(--tc-dev-navy); color: #fff; }
.tc-dev-flow strong { color: var(--tc-dev-navy); font-size: 18px; }
.tc-dev-flow p { color: var(--tc-dev-muted); line-height: 1.5; }

.tc-dev-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  padding: 28px clamp(20px, 5vw, 72px);
  border-top: 1px solid #1f4c73;
  background: var(--tc-dev-navy);
  color: #d7e8f4;
  font-size: 13px;
}
.tc-dev-footer strong { color: #fff; }
.tc-dev-footer span { margin-right: auto; }
.tc-dev-footer a { color: #79d9fa; font-weight: 700; text-decoration: none; }

.tc-vrl-developer-denied { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: var(--tc-dev-navy); }
.tc-vrl-developer-denied main { max-width: 620px; padding: 36px; border: 1px solid #3b6486; border-radius: 7px; background: #fff; }
.tc-vrl-developer-denied main > strong { color: var(--tc-dev-blue); }
.tc-vrl-developer-denied h1 { color: var(--tc-dev-navy); font-size: 32px; }
.tc-vrl-developer-denied p { color: var(--tc-dev-muted); line-height: 1.6; }
.tc-vrl-developer-denied .tc-dev-secondary { margin-left: 8px; border-color: var(--tc-dev-line); color: var(--tc-dev-navy); }

.tc-vrl-developer-app .tc-vrl-title span { color: #8fdfff; }
.tc-vrl-developer-app .tc-vrl-rail-brand > span { background: #0869e8; }
.tc-api-center-mark { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border: 1px solid #2d6fa5; border-radius: 6px; background: #0a3155; color: #7ee0ff; }
.tc-api-center-mark svg { width: 20px; height: 20px; }
.tc-vrl-rail-brand > span svg { width: 22px; height: 22px; }
.tc-vrl-card { min-width: 0; padding: 17px; border: 1px solid var(--tc-line, #c9d7e7); border-radius: 7px; background: var(--tc-panel, #fff); color: var(--tc-text, #102038); }
.tc-vrl-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.tc-vrl-card > header > div { display: grid; gap: 3px; }
.tc-vrl-card > header span,
.tc-vrl-card > span { color: var(--tc-muted, #52647c); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.tc-vrl-card h2 { margin: 0; color: var(--tc-text, #102038); font-size: 17px; }
.tc-vrl-card p,
.tc-vrl-card li { color: var(--tc-muted, #52647c); line-height: 1.55; }
.tc-vrl-detail-list { margin: 0; }
.tc-vrl-detail-list > div { display: grid; grid-template-columns: minmax(120px, .55fr) minmax(0, 1fr); gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--tc-line, #c9d7e7); }
.tc-vrl-detail-list > div:last-child { border-bottom: 0; }
.tc-vrl-detail-list dt { color: var(--tc-muted, #52647c); font-size: 12px; }
.tc-vrl-detail-list dd { margin: 0; overflow-wrap: anywhere; color: var(--tc-text, #102038); font-weight: 700; }
.tc-dev-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tc-dev-summary-grid .tc-vrl-card { min-height: 128px; }
.tc-dev-stat { margin-top: 14px; color: var(--tc-vrl-ink, #102038); font-size: 27px; font-weight: 800; }
.tc-dev-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tc-dev-code {
  overflow: auto;
  margin: 12px 0 0;
  padding: 15px;
  border: 1px solid #315470;
  border-radius: 5px;
  background: #071a2a;
  color: #d9f1ff;
  font: 12px/1.55 Consolas, Monaco, monospace;
  white-space: pre-wrap;
  word-break: break-word;
}
.tc-dev-secret { border-color: #ad7318; background: #211b0e; color: #fff2bd; }
.tc-dev-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tc-dev-toolbar select { min-width: 240px; min-height: 39px; padding: 7px 34px 7px 10px; border: 1px solid var(--tc-vrl-line, #cad6e2); border-radius: 5px; background: var(--tc-vrl-panel, #fff); color: var(--tc-vrl-ink, #102038); }
.tc-dev-badge { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.tc-dev-badge.active,
.tc-dev-badge.approved { background: #d9f6e9; color: #106b4d; }
.tc-dev-badge.pending,
.tc-dev-badge.pending_review,
.tc-dev-badge.unverified { background: #fff0cb; color: #8c5200; }
.tc-dev-badge.revoked,
.tc-dev-badge.suspended { background: #fde2e0; color: #a0271c; }
.tc-dev-empty { padding: 32px; border: 1px dashed var(--tc-vrl-line, #cad6e2); border-radius: 6px; text-align: center; }
.tc-dev-empty strong { display: block; margin-bottom: 6px; color: var(--tc-vrl-ink, #102038); }
.tc-api-center-summary { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 18px; padding: 22px 24px; border: 1px solid var(--tc-vrl-line, #cad6e2); border-left: 5px solid var(--tc-vrl-blue, #0869e8); border-radius: 7px; background: var(--tc-vrl-panel, #fff); }
.tc-api-center-summary span,.tc-api-product-copy>span { color: var(--tc-vrl-blue, #0869e8); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.tc-api-center-summary h2 { margin: 6px 0 5px; color: var(--tc-vrl-ink, #102038); font-size: 23px; }
.tc-api-center-summary p { max-width: 760px; margin: 0; color: var(--tc-vrl-muted, #52647c); line-height: 1.55; }
.tc-api-center-summary>strong { color: var(--tc-vrl-ink, #102038); white-space: nowrap; }
.tc-api-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.tc-api-product-card { min-width: 0; padding: 22px; border: 1px solid var(--tc-vrl-line, #cad6e2); border-radius: 7px; background: var(--tc-vrl-panel, #fff); box-shadow: 0 8px 22px rgba(5,32,60,.07); }
.tc-api-product-icon { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 18px; border-radius: 7px; background: #e7f3ff; color: #0869e8; }
.tc-api-product-icon svg { width: 26px; height: 26px; }
.tc-api-product-copy h2 { margin: 6px 0 8px; color: var(--tc-vrl-ink, #102038); font-size: 21px; }
.tc-api-product-copy p { min-height: 70px; margin: 0; color: var(--tc-vrl-muted, #52647c); line-height: 1.55; }
.tc-api-product-card dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 18px 0; }
.tc-api-product-card dl div { padding: 10px; border: 1px solid var(--tc-vrl-line, #cad6e2); border-radius: 5px; background: var(--tc-vrl-soft, #eef4fa); }
.tc-api-product-card dt { color: var(--tc-vrl-muted, #52647c); font-size: 10px; text-transform: uppercase; }
.tc-api-product-card dd { margin: 5px 0 0; color: var(--tc-vrl-ink, #102038); font-size: 20px; font-weight: 800; }
.tc-api-product-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tc-api-product-footer .tc-button svg { width: 16px; height: 16px; }
.tc-dev-table-wrap { overflow: auto; border: 1px solid var(--tc-vrl-line, #cad6e2); border-radius: 6px; }
.tc-dev-table { width: 100%; min-width: 700px; border-collapse: collapse; }
.tc-dev-table th,
.tc-dev-table td { padding: 12px; border-bottom: 1px solid var(--tc-vrl-line, #cad6e2); color: var(--tc-vrl-ink, #102038); text-align: left; vertical-align: middle; }
.tc-dev-table th { background: var(--tc-vrl-soft, #eef4fa); font-size: 11px; text-transform: uppercase; }
.tc-dev-table tr:last-child td { border-bottom: 0; }
.tc-dev-prose { max-width: 940px; }
.tc-dev-prose h2,
.tc-dev-prose h3 { color: var(--tc-vrl-ink, #102038); }
.tc-dev-prose p,
.tc-dev-prose li { color: var(--tc-vrl-muted, #52647c); line-height: 1.65; }
.tc-dev-prose a { color: var(--tc-vrl-blue, #0869e8); }
.tc-vrl-signup-signin { font-weight: 700; }
.tc-vrl-signup-signin a { color: #0869e8; }
.tc-dev-registration-main { padding: 52px clamp(20px, 6vw, 96px) 72px; }
.tc-dev-registration-intro { max-width: 940px; margin: 0 auto 28px; }
.tc-dev-registration-intro > span { color: var(--tc-dev-blue); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.tc-dev-registration-intro h1 { margin: 10px 0 14px; color: var(--tc-dev-navy); font-size: clamp(34px, 4vw, 54px); }
.tc-dev-registration-intro p { margin: 0; color: var(--tc-dev-muted); font-size: 18px; line-height: 1.65; }
.tc-vrl-direct-registration .tc-vrl-signup { max-width: 1120px; margin: 0 auto; }

@media (max-width: 900px) {
  .tc-dev-hero { grid-template-columns: 1fr; }
  .tc-dev-resource-grid { grid-template-columns: 1fr 1fr; }
  .tc-dev-flow { grid-template-columns: 1fr 1fr; }
  .tc-dev-summary-grid { grid-template-columns: 1fr 1fr; }
  .tc-dev-card-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .tc-dev-public-header { align-items: flex-start; }
  .tc-dev-public-header nav { display: grid; gap: 6px; text-align: right; }
  .tc-dev-hero { min-height: 0; padding-top: 48px; }
  .tc-dev-hero h1 { font-size: 40px; }
  .tc-dev-resource-grid,
  .tc-dev-flow,
  .tc-dev-summary-grid { grid-template-columns: 1fr; }
  .tc-dev-footer { align-items: flex-start; flex-direction: column; }
  .tc-dev-toolbar { align-items: stretch; flex-direction: column; }
  .tc-dev-toolbar select { width: 100%; min-width: 0; }
  .tc-vrl-developer-denied main { padding: 24px; }
  .tc-vrl-developer-denied .tc-dev-secondary { margin: 8px 0 0; }
}

/* Account-first access and the shared relationship launcher. */
.tc-account-gate,.tc-account-center{min-height:100vh;background:#eef5fb;color:#071a36}
.tc-account-gate-main,.tc-account-center-main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:64px 0 80px}
.tc-account-gate-main{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;align-items:start}
.tc-account-gate-main>section,.tc-account-gate-main>aside,.tc-account-access-grid>article,.tc-account-boundary,.tc-vrl-application-state{background:#fff;border:1px solid #cbd9e8;border-radius:8px;box-shadow:0 12px 34px rgba(5,27,55,.08)}
.tc-account-gate-main>section,.tc-account-gate-main>aside{padding:34px}
.tc-account-gate-main h1,.tc-account-center-main h1{font-size:clamp(34px,5vw,58px);line-height:1.05;margin:12px 0 18px;letter-spacing:0}
.tc-account-gate-main p,.tc-account-center-main>header p{font-size:18px;line-height:1.65;color:#304963;max-width:850px}
.tc-account-gate-main aside strong{font-size:20px}.tc-account-gate-main aside ol{padding-left:22px;line-height:1.65;color:#304963}.tc-account-gate-main aside li+li{margin-top:10px}
.tc-account-gate-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.tc-account-center-main>header{margin-bottom:30px}.tc-account-center-main>header>span,.tc-account-gate-main>section>span,.tc-vrl-application-state>span{font-weight:800;color:#0878f9;text-transform:uppercase;font-size:13px}
.tc-account-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tc-account-access-grid>article{padding:28px;display:flex;flex-direction:column;align-items:flex-start}.tc-account-access-grid h2{font-size:26px;margin:22px 0 10px}.tc-account-access-grid p{color:#304963;line-height:1.6;flex:1}.tc-account-access-grid a{margin-top:20px}
.tc-account-product-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;margin-top:20px}.tc-account-product-heading h2{margin:0 0 8px}.tc-account-product-heading p{margin:0}.tc-account-product-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:7px;background:#e5f2ff;color:#0869e8}.tc-account-product-icon svg{width:26px;height:26px}.tc-account-product-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tc-account-product-list span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #bfd2e6;border-radius:5px;background:#f1f7fd;color:#193a5b;font-size:13px;font-weight:800}.tc-account-product-list svg{width:16px;height:16px;color:#0878f9}
.tc-account-card-heading{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px}.tc-account-card-heading>span{font-weight:800;color:#304963}.tc-account-status{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e8eef5;color:#40546a;font-size:12px}.tc-account-status.is-active{background:#dff7e9;color:#08733e}.tc-account-status.is-pending{background:#fff2cf;color:#895700}
.tc-account-boundary{margin-top:20px;padding:22px 26px;border-left:5px solid #0878f9}.tc-account-boundary p{margin:6px 0 0;color:#304963;line-height:1.55}
.tc-vrl-application-state{max-width:900px;margin:28px auto;padding:32px}.tc-vrl-application-state h2{font-size:32px;margin:10px 0}.tc-vrl-application-state p{color:#304963;line-height:1.6}.tc-vrl-application-state dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.tc-vrl-application-state dl div{padding:14px;background:#f2f7fc;border:1px solid #d7e3ef;border-radius:6px}.tc-vrl-application-state dt{font-size:12px;text-transform:uppercase;color:#55708a}.tc-vrl-application-state dd{margin:6px 0 0;font-weight:700;overflow-wrap:anywhere}.tc-vrl-application-state.is-rejected{border-left:5px solid #c63d32}
.tc-account-center .tc-dev-secondary,.tc-vrl-application-state .tc-dev-secondary{border-color:#6b8aaa;background:#fff;color:var(--tc-dev-navy)}
.tc-account-center .tc-dev-secondary:hover,.tc-account-center .tc-dev-secondary:focus-visible,.tc-vrl-application-state .tc-dev-secondary:hover,.tc-vrl-application-state .tc-dev-secondary:focus-visible{border-color:var(--tc-dev-blue);background:#eef7ff;color:#06396a}
@media(max-width:900px){.tc-api-product-grid{grid-template-columns:minmax(0,1fr)}.tc-api-center-summary{align-items:flex-start;flex-direction:column}.tc-api-center-summary>strong{white-space:normal}}
@media(max-width:760px){.tc-account-gate-main,.tc-account-access-grid{grid-template-columns:minmax(0,1fr)}.tc-account-gate-main,.tc-account-center-main{width:min(100% - 24px,1180px);padding:32px 0 56px}.tc-account-gate-main>section,.tc-account-gate-main>aside,.tc-account-access-grid>article{padding:22px}.tc-vrl-application-state dl{grid-template-columns:minmax(0,1fr)}.tc-account-card-heading{align-items:flex-start;flex-direction:column}.tc-account-product-heading{grid-template-columns:minmax(0,1fr)}.tc-api-product-card dl{grid-template-columns:minmax(0,1fr)}.tc-api-product-copy p{min-height:0}.tc-api-product-footer{align-items:flex-start;flex-direction:column}}
