:root {
  --public-shadow-glow:0 28px 70px rgb(4 17 32 / .36);
}

html,
body {
  overflow-x:hidden;
}

*,
*::before,
*::after {
  box-sizing:border-box;
}

.tp-public-shell .public-container,
.tp-public-page .public-container{
  width:min(100% - 32px, 1180px);
  max-width:1180px;
  margin-inline:auto;
}

.public-body {
  margin:0;
  min-height:100vh;
  padding-top:0;
  color:var(--tp-public-text);
}

.public-shell {
  position:relative;
  min-height:100vh;
  overflow-x:hidden;
}

.public-shell::before,
.public-shell::after {
  content:"";
  position:absolute;
  pointer-events:none;
  filter:blur(22px);
}

.public-shell::before {
  top:6rem;
  right:-4rem;
  width:17rem;
  height:17rem;
  border-radius:999px;
  background:rgb(42 194 122 / .14);
}

.public-shell::after {
  left:-6rem;
  bottom:12rem;
  width:20rem;
  height:20rem;
  border-radius:999px;
  background:rgb(34 211 238 / .10);
}

.public-main {
  padding:0 0 5rem;
}

.auth-section.public-container {
  width:min(100% - 32px, 1180px);
  min-height:calc(100vh - 9.75rem);
  display:grid;
  align-items:center;
  margin-bottom:0;
  padding:clamp(1rem, 2vh, 2rem) 0 clamp(1.25rem, 3vh, 2.5rem);
}

.tp-public-shell .tp-section,
.tp-public-page .tp-section {
  margin-bottom:clamp(4rem, 7vw, 5.75rem);
}

.public-header {
  z-index:30;
}

.public-header .tp-header-inner {
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto auto;
  align-items:center;
  width:min(100% - 32px, 1180px);
  max-width:1180px;
  margin-inline:auto;
}

.public-nav {
  justify-content:center;
}

.public-header-actions {
  justify-content:flex-end;
}

.public-mobile-menu {
  display:none;
  margin-left:auto;
}

.public-mobile-menu summary {
  list-style:none;
  cursor:pointer;
  color:var(--tp-public-text);
  font-weight:800;
  padding:.8rem 1rem;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:1rem;
  background:rgba(255, 255, 255, .05);
}

.public-mobile-menu summary::-webkit-details-marker {
  display:none;
}

.public-mobile-panel {
  display:grid;
  gap:.8rem;
  margin-top:.8rem;
  padding:1rem;
  border:1px solid var(--tp-public-border);
  border-radius:1.2rem;
  background:rgba(7, 19, 29, .94);
  box-shadow:var(--public-shadow-glow);
}

.public-mobile-panel .tp-nav-link {
  min-height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
}

.public-hero,
.public-section,
.auth-layout {
  animation:public-fade-up 620ms ease both;
}

.public-hero {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(460px, 560px);
  gap:clamp(32px, 6vw, 72px);
  align-items:center;
  justify-content:center;
  padding-top:clamp(2rem, 4vw, 4rem);
}

.public-hero > *,
.long-run-layout > *,
.final-cta-panel > *,
.public-action-row > * {
  min-width:0;
}

.public-hero .tp-title {
  font-size:var(--tp-text-hero);
  line-height:.94;
  letter-spacing:-.065em;
}

.auth-aside .tp-title {
  font-size:clamp(2.4rem, 1.8rem + 2.1vw, 3.6rem);
}

.public-action-row {
  margin-top:.2rem;
  flex-wrap:wrap;
}

.public-chip-list,
.public-bullet-list {
  margin:0;
  padding:0;
  list-style:none;
}

.public-chip-list {
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}

.public-chip-list li {
  padding:.62rem .95rem;
  border:1px solid rgba(255, 255, 255, .09);
  border-radius:var(--tp-radius-pill);
  background:rgba(255, 255, 255, .04);
  color:var(--tp-public-text);
  font-size:.93rem;
  font-weight:700;
}

.public-bullet-list {
  display:grid;
  gap:.82rem;
}

.public-bullet-list li {
  position:relative;
  padding-left:1.2rem;
  color:var(--tp-public-text-muted);
  line-height:1.65;
}

.public-bullet-list li::before {
  content:"";
  position:absolute;
  left:0;
  top:.62rem;
  width:.42rem;
  height:.42rem;
  border-radius:999px;
  background:linear-gradient(135deg, var(--tp-accent-green), var(--tp-accent-cyan));
}

.benefit-card,
.step-card,
.beta-panel,
.final-cta-panel,
.auth-card,
.auth-preview-card{
  box-shadow:var(--public-shadow-glow);
}

.beta-panel,
.final-cta-panel,
.auth-card{
  padding:1.4rem;
}

.auth-preview-card,
.benefit-card,
.step-card{
  padding:1.25rem;
}


.beta-points span,
.auth-preview-card span{
  margin:0;
  color:var(--tp-public-text-muted);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.section-heading .tp-title,
.auth-card .tp-title{
  margin:0;
}


.benefit-grid,
.step-grid,
.beta-points{
  display:grid;
  gap:1rem;
}


.beta-points div{
  padding:1rem;
  border:1px solid rgba(255, 255, 255, .08);
  border-radius:1rem;
  background:rgba(255, 255, 255, .03);
}

.beta-points strong{
  display:block;
  margin-top:.45rem;
  font-size:1.15rem;
  font-weight:900;
  letter-spacing:-.03em;
  color:var(--tp-public-text);
}


.section-heading {
  display:grid;
  gap:.85rem;
  max-width:64rem;
}

.benefit-grid,
.step-grid {
  grid-template-columns:repeat(2, minmax(0, 1fr));
  margin-top:2rem;
}

.benefit-card,
.step-card {
  display:grid;
  gap:.85rem;
}

.benefit-index,
.step-number {
  display:inline-grid;
  place-items:center;
  width:2.1rem;
  height:2.1rem;
  border-radius:50%;
  background:rgba(34, 211, 238, .12);
  color:#b8f4ff;
  font-size:.84rem;
  font-weight:900;
}

.benefit-card h3,
.step-card h3{
  margin:0;
  color:var(--tp-public-text);
  font-size:1.18rem;
  letter-spacing:-.03em;
}

.benefit-card p,
.step-card p,
.auth-switch-line,
.auth-divider,
.auth-helper-note{
  margin:0;
  color:var(--tp-public-text-muted);
  line-height:1.68;
}

.long-run-layout {
  display:grid;
  grid-template-columns:minmax(0, 1.04fr) minmax(18rem, .96fr);
  gap:1.5rem;
  align-items:start;
}


.beta-points {
  margin-top:1.5rem;
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.final-cta-panel {
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  align-items:center;
}

.auth-layout {
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(31rem, .84fr);
  gap:clamp(1.6rem, 3vw, 3rem);
  align-items:center;
  padding-top:clamp(.5rem, 1.5vw, 1.25rem);
}

.auth-aside {
  padding-right:clamp(.25rem, 1vw, .9rem);
}

.auth-aside .tp-section-header,
.auth-aside .public-bullet-list,
.auth-preview-card {
  max-width:37rem;
}

.auth-card {
  width:min(100%, 37.5rem);
  justify-self:end;
}

.auth-card .tp-title {
  font-size:clamp(1.45rem, 1.2rem + .8vw, 2rem);
}

.auth-card-head {
  margin-bottom:.35rem;
}

.auth-card .tp-form {
  margin-top:1.25rem;
}

.auth-social-button,
.auth-submit {
  width:100%;
}

.auth-divider {
  text-align:center;
  font-size:var(--tp-text-sm);
}

.auth-switch-line,
.auth-switch-line a,
.auth-helper-note {
  color:var(--tp-public-text-muted);
}

.auth-switch-line a,
.auth-helper-note a {
  color:var(--tp-public-text);
}

.auth-alert {
  margin:1rem 0 0;
}


@keyframes public-fade-up {
from {
    opacity:0;
    transform:translateY(16px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}

@media (max-width:1100px) {
.public-header .tp-header-inner,
.public-hero,
.long-run-layout,
.auth-layout,
.final-cta-panel,
.beta-points{
    grid-template-columns:1fr;
  }

  .public-hero,
.long-run-layout{
    justify-items:stretch;
  }

  

  .public-header-actions {
    justify-content:flex-start;
  }

  .auth-card {
    width:100%;
    justify-self:stretch;
  }
}

@media (max-width:820px) {
.public-header .tp-header-inner {
    display:flex;
    align-items:center;
  }

  .public-nav,
.public-header-actions{
    display:none;
  }

  .public-mobile-menu {
    display:block;
  }

  .benefit-grid,
.step-grid,
.beta-points{
    grid-template-columns:1fr;
  }
}

@media (max-width:620px) {
.tp-public-shell .public-container,
.tp-public-page .public-container{
    width:min(100% - 24px, 1180px);
  }

  .public-action-row .button,
.public-action-row .tp-button{
    width:100%;
    justify-content:center;
  }

  .public-hero .tp-title,
.auth-aside .tp-title{
    font-size:clamp(2.2rem, 1.8rem + 5vw, 3rem);
  }

  .beta-panel,
.final-cta-panel,
.auth-card,
.auth-preview-card{
    padding:1.1rem;
  }

  .public-chip-list {
    gap:.55rem;
  }

  .public-chip-list li,
.beta-points div{
    padding:.78rem .85rem;
  }
}

/* Landing page v2 — estimate-first positioning with product screenshots */
.landing-hero {
  
  
  padding-top:clamp(2rem, 4vw, 4.5rem);
}

.landing-hero-copy {
  max-width:42rem;
}


.landing-mobile-preview{
  padding:.6rem;
  overflow:hidden;
  border-color:rgba(157, 184, 208, .24);
  background:linear-gradient(180deg, rgba(15, 31, 49, .96), rgba(11, 23, 36, .92));
  box-shadow:0 34px 90px rgb(4 17 32 / .42);
}


.landing-mobile-preview img{
  display:block;
  
  
  
}


.landing-benefit-grid {
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.landing-step-grid .step-card {
  min-height:13rem;
}

.landing-screenshots-section .section-heading {
  max-width:52rem;
}


.landing-race-day-layout {
  align-items:center;
}

.landing-mobile-preview {
  justify-self:center;
  width:min(100%, 24rem);
}

.landing-positioning-panel .section-heading {
  max-width:56rem;
}

.landing-positioning-points strong {
  font-size:1.05rem;
  line-height:1.35;
}

@media (max-width:1100px) {
.landing-hero,
.landing-benefit-grid{
    grid-template-columns:1fr;
  }

  .landing-hero .tp-title {
    max-width:100%;
  }

  

  

  .landing-benefit-grid {
    display:grid;
  }
}

@media (max-width:720px) {
.landing-hero .tp-title {
    max-width:100%;
    font-size:clamp(2.55rem, 17vw, 3.6rem);
  }

  .landing-mobile-preview{
    margin-inline:-.45rem;
    border-radius:1.1rem;
  }
}

.public-language-form { display:flex; align-items:center; }
.public-language-form select {
  min-height:2.55rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:.9rem;
  background:rgba(255,255,255,.96);
  color:#07131d;
  padding:0 2.2rem 0 .9rem;
  font-weight:850;
  box-shadow:0 12px 28px rgba(2,6,23,.18);
}
.public-mobile-panel .public-language-form { width:100%; }
.public-mobile-panel .public-language-form select { width:100%; }
@media (max-width: 760px) {
.public-header-actions .public-language-form { display:none; }
}

/* Pre-release landing screenshots use real product captures, not generated mockups. */


/* Release landing polish: real screenshots are pre-cropped assets, not raw full-page dumps. */


.landing-mobile-preview img{
  width:100%;
  height:auto;
  
  aspect-ratio:auto;
  
  object-position:center top;
  
  
}


/* Release polish v2: curated real screenshots, not full-page raw dumps. */


.landing-screenshots-section .tp-subtitle {
  max-width:56rem;
}


.landing-mobile-preview img{
  max-height:37rem;
  object-fit:contain;
  background:linear-gradient(180deg,#edf4fb,#dfe9f4);
  padding:.45rem;
  border-radius:1.25rem;
}


@media (max-width:1100px) {
.landing-hero { grid-template-columns:1fr; }
}


/* Release polish v3: editorial product walkthrough with curated screenshots. */
.landing-product-story .tp-subtitle {
  max-width: 62rem;
}


.landing-showcase-step {
  display: inline-grid;
  place-items: center;
  width: 2.05rem;
  height: 2.05rem;
  border-radius: 999px;
  background: rgba(37, 99, 235, .16);
  color: #bfdbfe;
  border: 1px solid rgba(96, 165, 250, .28);
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .04em;
}


@media (max-width: 720px) {
.landing-showcase-step { width: 1.85rem; height: 1.85rem; }
}

/* Release polish v4 — video-derived, editorial product walkthrough. */
.landing-editorial-stack {
  display: grid;
  gap: clamp(1rem, 2vw, 1.55rem);
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.landing-editorial-panel {
  margin: 0;
  padding: clamp(.85rem, 1.7vw, 1.15rem);
  border-radius: 1.65rem;
  border-color: rgba(148, 163, 184, .24);
  background:
    radial-gradient(circle at 12% 0%, rgba(37, 99, 235, .15), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.035));
  box-shadow: 0 28px 70px rgba(2, 6, 23, .32);
  overflow: hidden;
}

.landing-editorial-panel-lead {
  display: grid;
  grid-template-columns: minmax(15rem, .34fr) minmax(0, .66fr);
  gap: clamp(1rem, 2.5vw, 1.7rem);
  align-items: center;
}


.landing-editorial-panel:not(.landing-editorial-panel-lead):not(.landing-editorial-panel-mobile) {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: .95rem;
}

.landing-editorial-copy {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .8rem;
  align-items: start;
  color: var(--tp-public-text);
}

.landing-editorial-copy strong {
  display: block;
  color: var(--tp-public-text);
  font-size: clamp(1.02rem, 1.55vw, 1.28rem);
  font-weight: 950;
  letter-spacing: -.03em;
  margin-bottom: .35rem;
}

.landing-editorial-copy p {
  margin: 0;
  color: var(--tp-public-text-muted);
  line-height: 1.58;
  font-size: .96rem;
}

.landing-editorial-media {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  overflow: hidden;
  border-radius: 1.1rem;
  border: 1px solid rgba(226, 238, 250, .52);
  background: linear-gradient(180deg, #eef5fc, #e4edf7);
}

.landing-editorial-media::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .045), inset 0 18px 42px rgba(255,255,255,.36);
}

.landing-editorial-media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center top;
  border-radius: inherit;
}

.landing-editorial-panel-lead .landing-editorial-media img {
  max-height: 38rem;
}


.landing-editorial-panel-mobile {
  display: grid;
  grid-template-columns: minmax(16rem, .9fr) minmax(15rem, 24rem);
  gap: clamp(1rem, 2.5vw, 1.7rem);
  align-items: center;
  max-width: 64rem;
  justify-self: center;
  width: 100%;
}

.landing-editorial-mobile-frame {
  justify-self: center;
  width: min(100%, 23.5rem);
  padding: .75rem;
  border-radius: 2.1rem;
  background: linear-gradient(180deg, rgba(15,23,42,.92), rgba(15,23,42,.72));
  border: 1px solid rgba(148,163,184,.32);
  box-shadow: 0 30px 80px rgba(2,6,23,.42);
}

.landing-editorial-mobile-frame img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 42rem;
  object-fit: contain;
  border-radius: 1.45rem;
  background: #f8fbff;
}


@media (max-width: 1100px) {
.landing-editorial-panel-lead,
.landing-editorial-panel-mobile{
    grid-template-columns: 1fr;
  }
  .landing-editorial-panel-lead .landing-editorial-media img{
    max-height: none;
  }
}

@media (max-width: 720px) {
.landing-editorial-panel { border-radius: 1.25rem; padding: .65rem; }
  .landing-editorial-copy { grid-template-columns: 1fr; }
  .landing-editorial-mobile-frame { border-radius: 1.65rem; padding: .45rem; }
  .landing-editorial-mobile-frame img { border-radius: 1.15rem; }
}

/* Landing v6 — cinematic X-Traversée 3D playback hero. */
.landing-hero {
  grid-template-columns: 1fr;
  align-items: start;
  gap: clamp(1.35rem, 3.4vw, 2.4rem);
}

.landing-hero-copy {
  position: relative;
  z-index: 2;
  width: min(100%, 62rem);
  max-width: 62rem;
}

.landing-hero .tp-title {
  max-width: 28ch;
}

.landing-hero-video-shell {
  position: relative;
  justify-self: stretch;
  width: 100%;
  max-width: none;
  padding: .62rem;
  border-radius: clamp(1.35rem, 2.2vw, 1.9rem);
  overflow: hidden;
  border-color: rgba(148, 163, 184, .26);
  background:
    radial-gradient(circle at 22% 10%, rgba(34, 211, 238, .22), transparent 34%),
    radial-gradient(circle at 76% 0%, rgba(37, 99, 235, .20), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.035));
  box-shadow: 0 36px 100px rgba(2, 6, 23, .48);
}

.landing-hero-video-shell::before {
  content: "";
  position: absolute;
  inset: -.35rem;
  z-index: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(34, 211, 238, .24), transparent 34%, rgba(37, 99, 235, .24));
  opacity: .7;
  filter: blur(18px);
}

.landing-hero-video-frame {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: clamp(1rem, 1.8vw, 1.35rem);
  background: #07131d;
  aspect-ratio: 1920 / 608;
  min-height: clamp(14rem, 24vw, 25rem);
  border: 1px solid rgba(226, 238, 250, .34);
}

.landing-hero-video,
.landing-hero-video-frame video,
.landing-hero-video-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.landing-hero-video-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(2,6,23,.60) 0%, rgba(2,6,23,.26) 38%, rgba(2,6,23,.04) 68%),
    linear-gradient(180deg, rgba(2,6,23,.10), rgba(2,6,23,.52));
}

.landing-hero-video-caption {
  position: absolute;
  left: clamp(1rem, 2.5vw, 1.7rem);
  bottom: clamp(1rem, 2.4vw, 1.6rem);
  width: min(25rem, calc(100% - 2rem));
  display: grid;
  gap: .38rem;
  padding: .95rem 1rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 1.1rem;
  background: rgba(7, 19, 29, .62);
  box-shadow: 0 18px 42px rgba(2, 6, 23, .34);
  backdrop-filter: blur(14px);
}

.landing-hero-video-caption span {
  color: #b8f4ff;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.landing-hero-video-caption strong {
  color: var(--tp-public-text);
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
  font-weight: 950;
  letter-spacing: -.035em;
}

.landing-hero-video-caption p {
  margin: 0;
  color: rgba(226, 238, 250, .84);
  font-size: .94rem;
  line-height: 1.5;
}


@media (max-width: 1100px) {
.landing-hero .tp-title {
    max-width: 100%;
  }

  .landing-hero-video-frame {
    min-height: auto;
  }
}

@media (max-width: 720px) {
.landing-hero-video-shell {
    margin-inline: -.45rem;
    padding: .45rem;
    border-radius: 1.2rem;
  }

  .landing-hero-video-frame {
    aspect-ratio: 16 / 10;
    border-radius: .95rem;
  }

  .landing-hero-video-caption {
    position: static;
    width: auto;
    margin: .55rem;
    background: rgba(7, 19, 29, .78);
  }

  .landing-hero-video-overlay {
    background: linear-gradient(180deg, rgba(2,6,23,.08), rgba(2,6,23,.36));
  }
}


/* Landing v5.1 — simplified beta screenshot story. */
.landing-editorial-stack-simple {
  max-width: 70rem;
  margin-inline: auto;
}

.landing-editorial-stack-simple .landing-editorial-panel-lead {
  grid-template-columns: minmax(16rem, .34fr) minmax(0, .66fr);
}

.landing-editorial-stack-simple .landing-editorial-panel-mobile {
  max-width: 58rem;
}

.landing-editorial-stack-simple .landing-editorial-media img {
  max-height: 34rem;
}

@media (max-width: 1100px) {
.landing-editorial-stack-simple .landing-editorial-panel-lead,
.landing-editorial-stack-simple .landing-editorial-panel-mobile{
    grid-template-columns: 1fr;
  }
}

/* Mobile auth: compact signup/login controls on phones. */
@media (max-width:620px){
.tp-public-page .auth-section.public-container{
    width:min(100% - 28px, 1180px);
    padding-top:1.1rem;
  }
  .tp-public-page .auth-layout{
    gap:1.05rem;
    align-items:start;
  }
  .tp-public-page .auth-card{
    padding:1rem;
    border-radius:18px;
  }
  .tp-public-page .auth-card .tp-title{
    font-size:1.35rem;
    line-height:1.08;
  }
  .tp-public-page .auth-card .tp-subtitle{
    font-size:.92rem;
    line-height:1.35;
  }
  .tp-public-page .auth-card .tp-form{
    gap:.78rem;
    margin-top:.9rem;
  }
  .tp-public-page .auth-card .tp-field,
  .tp-public-page .auth-card .auth-form label{
    gap:.35rem;
  }
  .tp-public-page .auth-card input,
  .tp-public-page .auth-card select,
  .tp-public-page .auth-card textarea{
    min-height:40px;
    padding:.55rem .7rem;
    border-radius:10px;
    font-size:1rem;
  }
  .tp-public-page .auth-social-button,
  .tp-public-page .auth-submit{
    min-height:42px;
    padding:.65rem .85rem;
    border-radius:12px;
    font-size:.95rem;
  }
}


/* Chrome Android “desktop site” still has coarse pointer: keep auth forms compact. */
@media (hover:none) and (pointer:coarse){
.tp-public-page .auth-section.public-container{
    width:min(100% - 28px, 720px);
    padding-top:1rem;
    padding-bottom:1.2rem;
  }
  .tp-public-page .auth-layout{
    grid-template-columns:1fr;
    gap:1rem;
    align-items:start;
  }
  .tp-public-page .auth-aside{
    display:none;
  }
  .tp-public-page .auth-card{
    max-width:520px;
    width:100%;
    margin:0 auto;
    padding:1rem;
    border-radius:18px;
  }
  .tp-public-page .auth-card .tp-title{
    font-size:1.35rem;
    line-height:1.08;
  }
  .tp-public-page .auth-card .tp-subtitle{
    font-size:.92rem;
    line-height:1.35;
  }
  .tp-public-page .auth-card .tp-form{
    gap:.75rem;
    margin-top:.85rem;
  }
  .tp-public-page .auth-card input,
  .tp-public-page .auth-card select,
  .tp-public-page .auth-card textarea{
    min-height:40px;
    padding:.55rem .7rem;
    border-radius:10px;
    font-size:16px;
  }
  .tp-public-page .auth-social-button,
  .tp-public-page .auth-submit,
  .tp-public-page .auth-card .button,
  .tp-public-page .auth-card .tp-button{
    min-height:42px;
    padding:.65rem .85rem;
    border-radius:12px;
    font-size:.95rem;
  }
}

/* Public header desktop guard: keep the primary nav on one line. */
.public-header .tp-header-inner {
  width:min(100% - 32px, 1280px);
  max-width:1280px;
  grid-template-columns:auto minmax(0, 1fr) auto;
  column-gap:clamp(.55rem, 1vw, var(--tp-space-4));
  padding:clamp(.9rem, 1.15vw, var(--tp-space-4)) clamp(1rem, 1.45vw, var(--tp-space-5));
}

.public-nav {
  min-width:0;
  flex-wrap:nowrap;
  justify-content:center;
  gap:clamp(.18rem, .48vw, .55rem);
}

.public-nav .tp-nav-link,
.public-nav a {
  flex:0 0 auto;
  white-space:nowrap;
}

.public-header-actions {
  min-width:max-content;
  gap:clamp(.45rem, .72vw, .75rem);
}

@media (min-width:1181px) and (max-width:1360px) {
.public-header .tp-header-inner {
    width:min(100% - 24px, 1280px);
    padding-inline:clamp(.72rem, 1vw, 1rem);
    column-gap:clamp(.45rem, .8vw, .75rem);
  }

  .public-header :where(.tp-logo, .tp-brand) {
    gap:.55rem;
  }

  .public-header :where(.tp-logo-mark, .tp-brand-mark) {
    width:2.25rem;
    height:2.25rem;
    flex-basis:2.25rem;
    border-radius:11px;
  }

  .public-header :where(.tp-logo-text, .tp-brand-wordmark) {
    font-size:clamp(1.1rem, 1.45vw, 1.38rem);
    letter-spacing:-.055em;
  }

  .public-nav .tp-nav-link,
  .public-nav a {
    min-height:2.35rem;
    padding:.58rem clamp(.48rem, .58vw, .66rem);
    font-size:clamp(.76rem, .86vw, .84rem);
  }

  .public-header-actions .tp-button,
  .public-header-actions .button {
    min-height:2.35rem;
    padding:.62rem clamp(.62rem, .74vw, .78rem);
    font-size:clamp(.76rem, .86vw, .84rem);
  }

  .public-language-form select {
    min-height:2.35rem;
    max-width:8.2rem;
    padding-inline:.72rem 1.72rem;
    font-size:clamp(.76rem, .86vw, .84rem);
  }
}

@media (max-width:1180px) {
.public-header .tp-header-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .public-nav,
  .public-header-actions {
    display:none;
  }

  .public-mobile-menu {
    display:block;
  }
}


/* Landing/public title width correction: copy, video and large white headings share the large visual column. */
.landing-hero {
  width:min(100% - 32px, 1360px);
  max-width:1360px;
}

.landing-hero-copy {
  width:100%;
  max-width:86rem;
}

.landing-hero-copy .tp-section-header {
  width:100%;
  max-width:86rem;
}

.landing-hero .tp-title {
  max-width:32ch;
}

.landing-hero-copy .tp-subtitle {
  max-width:76rem;
}

.landing-hero-video-shell {
  width:100%;
}

.tp-public-page .public-section .section-heading,
.tp-public-shell .public-section .section-heading {
  width:100%;
  max-width:86rem;
}

.tp-public-page .public-section .section-heading .tp-title,
.tp-public-shell .public-section .section-heading .tp-title {
  max-width:32ch;
}

.tp-public-page .public-section .section-heading .tp-subtitle,
.tp-public-shell .public-section .section-heading .tp-subtitle {
  max-width:76rem;
}

@media (max-width:720px) {
.landing-hero {
    width:min(100% - 24px, 1180px);
  }
  .landing-hero .tp-title,
  .landing-hero-copy .tp-subtitle,
  .tp-public-page .public-section .section-heading .tp-title,
  .tp-public-shell .public-section .section-heading .tp-title,
  .tp-public-page .public-section .section-heading .tp-subtitle,
  .tp-public-shell .public-section .section-heading .tp-subtitle {
    max-width:100%;
  }
}


/* RC UI final public landing width pass: all large white section titles share the hero visual column. */
.tp-public-page .landing-hero,
.tp-public-shell .landing-hero {
  width:min(100% - 32px, 1360px);
  max-width:1360px;
}

.tp-public-page .landing-hero-copy,
.tp-public-page .landing-hero-copy .tp-section-header,
.tp-public-shell .landing-hero-copy,
.tp-public-shell .landing-hero-copy .tp-section-header,
.tp-public-page .public-section .section-heading,
.tp-public-shell .public-section .section-heading {
  width:100%;
  max-width:86rem;
}

.tp-public-page .landing-hero .tp-title,
.tp-public-shell .landing-hero .tp-title,
.tp-public-page .public-section .section-heading .tp-title,
.tp-public-shell .public-section .section-heading .tp-title,
.tp-public-page .final-cta-panel .tp-title,
.tp-public-shell .final-cta-panel .tp-title {
  max-width:32ch;
}

.tp-public-page .landing-hero-copy .tp-subtitle,
.tp-public-shell .landing-hero-copy .tp-subtitle,
.tp-public-page .public-section .section-heading .tp-subtitle,
.tp-public-shell .public-section .section-heading .tp-subtitle,
.tp-public-page .final-cta-panel .tp-subtitle,
.tp-public-shell .final-cta-panel .tp-subtitle {
  max-width:76rem;
}

.tp-public-page .landing-editorial-stack-simple,
.tp-public-shell .landing-editorial-stack-simple {
  width:100%;
  max-width:70rem;
}

.tp-public-page .landing-editorial-stack-simple .landing-editorial-panel-mobile,
.tp-public-shell .landing-editorial-stack-simple .landing-editorial-panel-mobile {
  width:100%;
  max-width:none;
  justify-self:stretch;
}

@media (max-width:720px) {
.tp-public-page .landing-hero,
  .tp-public-shell .landing-hero {
    width:min(100% - 24px, 1180px);
  }

  .tp-public-page .landing-hero .tp-title,
  .tp-public-shell .landing-hero .tp-title,
  .tp-public-page .public-section .section-heading .tp-title,
  .tp-public-shell .public-section .section-heading .tp-title,
  .tp-public-page .landing-hero-copy .tp-subtitle,
  .tp-public-shell .landing-hero-copy .tp-subtitle,
  .tp-public-page .public-section .section-heading .tp-subtitle,
  .tp-public-shell .public-section .section-heading .tp-subtitle {
    max-width:100%;
  }
}


/* RC UI follow-up: physical width for all large public white titles and equal product panels. */
.tp-public-page,
.tp-public-shell {
  --tp-public-wide-column:min(100%, 86rem);
  --tp-public-title-wide:min(100%, 86rem);
}

.tp-public-page .landing-hero-copy,
.tp-public-page .landing-hero-copy .tp-section-header,
.tp-public-page .public-section .section-heading,
.tp-public-page .final-cta-panel,
.tp-public-shell .landing-hero-copy,
.tp-public-shell .landing-hero-copy .tp-section-header,
.tp-public-shell .public-section .section-heading,
.tp-public-shell .final-cta-panel {
  width:100%;
  max-width:var(--tp-public-wide-column);
}

.tp-public-page .landing-hero .tp-title,
.tp-public-page .public-section .section-heading .tp-title,
.tp-public-page .final-cta-panel .tp-title,
.tp-public-shell .landing-hero .tp-title,
.tp-public-shell .public-section .section-heading .tp-title,
.tp-public-shell .final-cta-panel .tp-title {
  width:100%;
  max-width:var(--tp-public-title-wide);
}

.tp-public-page .landing-hero-copy .tp-subtitle,
.tp-public-page .public-section .section-heading .tp-subtitle,
.tp-public-page .final-cta-panel .tp-subtitle,
.tp-public-shell .landing-hero-copy .tp-subtitle,
.tp-public-shell .public-section .section-heading .tp-subtitle,
.tp-public-shell .final-cta-panel .tp-subtitle {
  width:100%;
  max-width:76rem;
}

.tp-public-page .landing-editorial-stack-simple,
.tp-public-shell .landing-editorial-stack-simple {
  width:100%;
  max-width:86rem;
}

.tp-public-page .landing-editorial-stack-simple .landing-editorial-panel,
.tp-public-shell .landing-editorial-stack-simple .landing-editorial-panel {
  width:100%;
  max-width:none;
  justify-self:stretch;
}

.tp-public-page .landing-editorial-stack-simple .landing-editorial-panel-mobile,
.tp-public-shell .landing-editorial-stack-simple .landing-editorial-panel-mobile {
  grid-template-columns:minmax(16rem, .34fr) minmax(15rem, .66fr);
}

@media (max-width:1100px) {
.tp-public-page .landing-editorial-stack-simple .landing-editorial-panel-mobile,
  .tp-public-shell .landing-editorial-stack-simple .landing-editorial-panel-mobile {
    grid-template-columns:1fr;
  }
}

@media (max-width:720px) {
.tp-public-page,
  .tp-public-shell {
    --tp-public-wide-column:100%;
    --tp-public-title-wide:100%;
  }
}

/* RC landing media sizing: product image containers follow each asset ratio instead of stretching every capture into the same browser box. */
.tp-public-page,
.tp-public-shell {
  --tp-public-content-wide:min(100% - 32px, 1360px);
  --tp-public-copy-wide:min(100%, 86rem);
}

.tp-public-page .public-container,
.tp-public-shell .public-container {
  width:var(--tp-public-content-wide);
  max-width:1360px;
}

.tp-public-page .landing-hero-copy,
.tp-public-page .landing-hero-copy .tp-section-header,
.tp-public-page .public-section .section-heading,
.tp-public-shell .landing-hero-copy,
.tp-public-shell .landing-hero-copy .tp-section-header,
.tp-public-shell .public-section .section-heading {
  width:100%;
  max-width:var(--tp-public-copy-wide);
}

.tp-public-page .landing-hero .tp-title,
.tp-public-page .public-section .section-heading .tp-title,
.tp-public-shell .landing-hero .tp-title,
.tp-public-shell .public-section .section-heading .tp-title {
  width:100%;
  max-width:var(--tp-public-copy-wide);
}

.tp-public-page .landing-hero-copy .tp-subtitle,
.tp-public-page .public-section .section-heading .tp-subtitle,
.tp-public-shell .landing-hero-copy .tp-subtitle,
.tp-public-shell .public-section .section-heading .tp-subtitle {
  width:100%;
  max-width:min(100%, 76rem);
}

.tp-public-page .landing-editorial-stack-simple,
.tp-public-shell .landing-editorial-stack-simple {
  width:100%;
  max-width:86rem;
  margin-inline:auto;
}

.tp-public-page .landing-editorial-stack-simple .landing-editorial-panel,
.tp-public-shell .landing-editorial-stack-simple .landing-editorial-panel {
  width:100%;
  max-width:none;
  justify-self:stretch;
}

.tp-public-page .landing-editorial-panel-list,
.tp-public-shell .landing-editorial-panel-list {
  grid-template-columns:minmax(17rem, .44fr) minmax(18rem, .56fr);
}

.tp-public-page .landing-editorial-panel-overview,
.tp-public-shell .landing-editorial-panel-overview {
  grid-template-columns:minmax(17rem, .32fr) minmax(0, .68fr);
}

.tp-public-page .landing-editorial-media,
.tp-public-shell .landing-editorial-media {
  min-height:0;
  align-self:center;
}

.tp-public-page .landing-editorial-media img,
.tp-public-shell .landing-editorial-media img {
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center center;
}

.tp-public-page .landing-editorial-media-list,
.tp-public-shell .landing-editorial-media-list {
  width:min(100%, 32rem);
  justify-self:center;
}

.tp-public-page .landing-editorial-media-overview,
.tp-public-shell .landing-editorial-media-overview {
  width:100%;
  justify-self:stretch;
}

.tp-public-page .landing-editorial-mobile-frame,
.tp-public-shell .landing-editorial-mobile-frame {
  width:min(100%, 23.5rem);
  justify-self:center;
}

.tp-public-page .landing-editorial-mobile-frame img,
.tp-public-shell .landing-editorial-mobile-frame img {
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}

.tp-public-page .landing-mobile-follow-preview,
.tp-public-shell .landing-mobile-follow-preview {
  width:min(100%, 23.5rem);
  justify-self:center;
}

/* Roadbook preview: keep the media frame dark; the screenshot asset already contains its own UI chrome. */
.tp-public-page .landing-mobile-follow-preview,
.tp-public-shell .landing-mobile-follow-preview {
  padding:.75rem;
  background-color:rgba(5, 16, 27, .98);
  background-image:linear-gradient(180deg, rgba(8, 22, 36, .98), rgba(5, 16, 27, .96));
  border:1px solid rgba(87, 123, 155, .32);
  box-shadow:0 34px 90px rgb(4 17 32 / .42);
}

.tp-public-page .landing-mobile-follow-preview img,
.tp-public-shell .landing-mobile-follow-preview img {
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  padding:0;
  background:transparent;
  border-radius:1.2rem;
  object-fit:contain;
  object-position:center top;
}

@media (max-width:1100px) {
.tp-public-page .landing-editorial-panel-list,
  .tp-public-shell .landing-editorial-panel-list,
  .tp-public-page .landing-editorial-panel-overview,
  .tp-public-shell .landing-editorial-panel-overview,
  .tp-public-page .landing-editorial-stack-simple .landing-editorial-panel-mobile,
  .tp-public-shell .landing-editorial-stack-simple .landing-editorial-panel-mobile {
    grid-template-columns:1fr;
  }

  .tp-public-page .landing-editorial-media-list,
  .tp-public-shell .landing-editorial-media-list,
  .tp-public-page .landing-editorial-media-overview,
  .tp-public-shell .landing-editorial-media-overview {
    width:100%;
  }
}

@media (max-width:720px) {
.tp-public-page,
  .tp-public-shell {
    --tp-public-content-wide:min(100% - 24px, 1180px);
    --tp-public-copy-wide:100%;
  }
}

/* Roadbook preview final guard: override the generic mobile screenshot frame. */
body.tp-public-page .landing-mobile-preview.landing-mobile-follow-preview,
body.tp-public-shell .landing-mobile-preview.landing-mobile-follow-preview {
  background:#05101b;
  background-image:linear-gradient(180deg, rgba(8, 22, 36, .98), rgba(5, 16, 27, .96));
  border-color:rgba(87, 123, 155, .32);
  border-radius:2.1rem;
  overflow:hidden;
}

body.tp-public-page .landing-mobile-preview.landing-mobile-follow-preview img,
body.tp-public-shell .landing-mobile-preview.landing-mobile-follow-preview img {
  padding:0;
  background:transparent;
  background-image:none;
  border-radius:1.65rem;
}

/* Android landing showcase: real application captures, compact and theme-consistent. */
.tp-public-page .landing-editorial-panel-android,
.tp-public-shell .landing-editorial-panel-android {
  grid-template-columns:minmax(17rem, .27fr) minmax(0, .73fr);
  align-items:center;
}

.tp-public-page .landing-android-phone-grid,
.tp-public-shell .landing-android-phone-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:clamp(.55rem, 1.15vw, .9rem);
  align-items:start;
  min-width:0;
}

.tp-public-page .landing-editorial-panel-android .landing-editorial-mobile-frame,
.tp-public-shell .landing-editorial-panel-android .landing-editorial-mobile-frame {
  width:100%;
  max-width:14.8rem;
  justify-self:center;
  padding:.45rem;
  border-radius:1.55rem;
  background:linear-gradient(180deg, rgba(15,23,42,.94), rgba(15,23,42,.74));
  border:1px solid rgba(148,163,184,.32);
  box-shadow:0 24px 60px rgba(2,6,23,.34);
}

.tp-public-page .landing-editorial-panel-android .landing-editorial-mobile-frame img,
.tp-public-shell .landing-editorial-panel-android .landing-editorial-mobile-frame img {
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  padding:0;
  border-radius:1.12rem;
  background:#05101b;
  object-fit:contain;
  object-position:center top;
}

@media (max-width:1180px) {
.tp-public-page .landing-editorial-panel-android,
  .tp-public-shell .landing-editorial-panel-android {
    grid-template-columns:1fr;
  }
}

@media (max-width:860px) {
.tp-public-page .landing-android-phone-grid,
  .tp-public-shell .landing-android-phone-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:480px) {
.tp-public-page .landing-android-phone-grid,
  .tp-public-shell .landing-android-phone-grid {
    gap:.45rem;
  }

  .tp-public-page .landing-editorial-panel-android .landing-editorial-mobile-frame,
  .tp-public-shell .landing-editorial-panel-android .landing-editorial-mobile-frame {
    padding:.3rem;
    border-radius:1.15rem;
  }

  .tp-public-page .landing-editorial-panel-android .landing-editorial-mobile-frame img,
  .tp-public-shell .landing-editorial-panel-android .landing-editorial-mobile-frame img {
    border-radius:.88rem;
  }
}

/* Landing Android v8 — stacked narrative blocks with larger real app captures. */
.tp-public-page .landing-android-feature-grid,
.tp-public-shell .landing-android-feature-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.25rem, 2.5vw, 1.9rem);
  margin-top:clamp(.45rem, 1.2vw, .85rem);
}

.tp-public-page .landing-android-feature-card,
.tp-public-shell .landing-android-feature-card {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(17rem, 21rem);
  gap:clamp(1.4rem, 3vw, 2.6rem);
  align-items:center;
  padding:clamp(1.35rem, 3vw, 2.1rem);
  overflow:hidden;
  border-color:rgba(96, 165, 250, .24);
  background:
    radial-gradient(circle at 8% 0%, rgba(37, 99, 235, .18), transparent 35%),
    radial-gradient(circle at 90% 12%, rgba(20, 184, 166, .09), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.035));
}

.tp-public-page .landing-android-feature-card-roadbook,
.tp-public-shell .landing-android-feature-card-roadbook {
  border-color:rgba(251, 146, 60, .36);
  background:
    radial-gradient(circle at 8% 0%, rgba(251, 146, 60, .17), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(37, 99, 235, .15), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035));
}

.tp-public-page .landing-android-feature-copy,
.tp-public-shell .landing-android-feature-copy {
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:.95rem;
  align-self:center;
  max-width:39rem;
}

.tp-public-page .landing-android-feature-copy h3,
.tp-public-shell .landing-android-feature-copy h3 {
  margin:0 0 .65rem;
  color:var(--tp-public-text);
  font-size:clamp(1.45rem, 2.5vw, 2.25rem);
  line-height:1.03;
  letter-spacing:-.045em;
  font-weight:950;
}

.tp-public-page .landing-android-feature-copy p,
.tp-public-shell .landing-android-feature-copy p {
  margin:0;
  color:var(--tp-public-text-muted);
  font-size:clamp(1rem, 1.18vw, 1.12rem);
  line-height:1.65;
}

.tp-public-page .landing-android-feature-list,
.tp-public-shell .landing-android-feature-list {
  display:grid;
  gap:.5rem;
  margin:1rem 0 0;
  padding:0;
  list-style:none;
}

.tp-public-page .landing-android-feature-list li,
.tp-public-shell .landing-android-feature-list li {
  position:relative;
  padding-left:1.15rem;
  color:var(--tp-public-text-muted);
  font-size:1rem;
  line-height:1.48;
}

.tp-public-page .landing-android-feature-list li::before,
.tp-public-shell .landing-android-feature-list li::before {
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:.42rem;
  height:.42rem;
  border-radius:999px;
  background:rgba(96, 165, 250, .95);
}

.tp-public-page .landing-android-feature-card-roadbook .landing-android-feature-list li::before,
.tp-public-shell .landing-android-feature-card-roadbook .landing-android-feature-list li::before {
  background:rgba(251, 146, 60, .95);
}

.tp-public-page .landing-android-feature-phone,
.tp-public-shell .landing-android-feature-phone {
  justify-self:end;
  align-self:center;
  width:min(100%, 20.5rem);
  margin:0;
  padding:.48rem;
  overflow:hidden;
  border-radius:1.85rem;
  border:1px solid rgba(148, 163, 184, .32);
  background:linear-gradient(180deg, rgba(15,23,42,.96), rgba(15,23,42,.74));
  box-shadow:0 32px 78px rgba(2, 6, 23, .42);
}

.tp-public-page .landing-android-feature-phone img,
.tp-public-shell .landing-android-feature-phone img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center top;
  border-radius:1.38rem;
  background:#05101b;
}

.tp-public-page #roadbook,
.tp-public-shell #roadbook {
  scroll-margin-top:7rem;
}

@media (max-width:900px) {
.tp-public-page .landing-android-feature-card,
  .tp-public-shell .landing-android-feature-card {
    grid-template-columns:1fr;
  }

  .tp-public-page .landing-android-feature-phone,
  .tp-public-shell .landing-android-feature-phone {
    justify-self:center;
    width:min(100%, 20rem);
  }
}

@media (max-width:680px) {
.tp-public-page .landing-android-feature-card,
  .tp-public-shell .landing-android-feature-card {
    padding:1.05rem;
    border-radius:1.45rem;
  }

  .tp-public-page .landing-android-feature-copy,
  .tp-public-shell .landing-android-feature-copy {
    grid-template-columns:auto minmax(0, 1fr);
    gap:.75rem;
  }

  .tp-public-page .landing-android-feature-copy h3,
  .tp-public-shell .landing-android-feature-copy h3 {
    font-size:clamp(1.35rem, 8vw, 1.9rem);
  }

  .tp-public-page .landing-android-feature-phone,
  .tp-public-shell .landing-android-feature-phone {
    width:min(100%, 19.25rem);
    padding:.36rem;
    border-radius:1.45rem;
  }

  .tp-public-page .landing-android-feature-phone img,
  .tp-public-shell .landing-android-feature-phone img {
    border-radius:1.08rem;
  }
}

/* Public language switcher: avoid native select dropdown rendering over the landing header. */
.public-language-switcher {
  display:inline-flex;
  align-items:center;
  gap:.18rem;
  padding:.18rem;
  border:1px solid rgba(148,163,184,.32);
  border-radius:999px;
  background:rgba(8,22,35,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 12px 28px rgba(2,6,23,.18);
  backdrop-filter:blur(14px);
}

.public-language-option {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.35rem;
  min-height:2.12rem;
  padding:0 .72rem;
  border-radius:999px;
  color:rgba(226,236,250,.78);
  font-size:.82rem;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  letter-spacing:.02em;
}

.public-language-option:hover,
.public-language-option:focus-visible {
  color:#fff;
  background:rgba(37,99,235,.22);
  outline:none;
}

.public-language-option.is-active {
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#2f6df6);
  box-shadow:0 8px 20px rgba(37,99,235,.28);
}

.public-mobile-panel .public-language-switcher {
  width:100%;
  justify-content:center;
}

@media (max-width: 760px) {
.public-header-actions .public-language-switcher { display:none; }
}

@media (min-width:1181px) and (max-width:1360px) {
.public-language-switcher { padding:.14rem; }
  .public-language-option {
    min-width:2.1rem;
    min-height:1.96rem;
    padding-inline:.58rem;
    font-size:.76rem;
  }
}

@media (max-width:620px) {
.tp-public-page .auth-section.public-container{
    width:min(100% - 28px, 1180px);
    padding-top:1.1rem;
  }

.tp-public-page .auth-layout{
    gap:1.05rem;
    align-items:start;
  }

.tp-public-page .auth-card{
    padding:1rem;
    border-radius:18px;
  }

.tp-public-page .auth-card .tp-title{
    font-size:1.35rem;
    line-height:1.08;
  }

.tp-public-page .auth-card .tp-subtitle{
    font-size:.92rem;
    line-height:1.35;
  }

.tp-public-page .auth-card .tp-form{
    gap:.78rem;
    margin-top:.9rem;
  }

.tp-public-page .auth-card .tp-field,
  .tp-public-page .auth-card .auth-form label{
    gap:.35rem;
  }

.tp-public-page .auth-card input,
  .tp-public-page .auth-card select,
  .tp-public-page .auth-card textarea{
    min-height:40px;
    padding:.55rem .7rem;
    border-radius:10px;
    font-size:1rem;
  }

.tp-public-page .auth-social-button,
  .tp-public-page .auth-submit{
    min-height:42px;
    padding:.65rem .85rem;
    border-radius:12px;
    font-size:.95rem;
  }
}

body.tp-public-page {
  --tp-public-bg:#07131d;
  --tp-public-bg-soft:#0d1c2b;
  --tp-public-surface:#0f1f31;
  --tp-public-surface-muted:#15283b;
  --tp-public-border:rgba(157,184,208,.18);
  --tp-public-text:#f5f9ff;
  --tp-public-text-muted:#9eb1c5;
  --tp-theme-header-bg:rgba(7,19,29,.72);
  --tp-theme-header-border:rgba(157,184,208,.18);
  --tp-theme-shadow:var(--tp-shadow-elevated);
  --tp-field-bg:rgba(255,255,255,.04);
  --tp-table-head-bg:#112338;
  --tp-table-row-hover:rgba(255,255,255,.045);
  --tp-accent-green:#1f7bff;
  --tp-accent-cyan:#5db6ff;
  color-scheme:dark;
  background:
    radial-gradient(circle at top left, rgb(37 99 235 / .18), transparent 24rem),
    radial-gradient(circle at right top, rgb(93 182 255 / .10), transparent 24rem),
    linear-gradient(180deg, #07131d 0%, #0a1623 38%, #050d15 100%);
}

body.tp-public-page .tp-card-soft {
  background:linear-gradient(180deg, rgb(20 40 59 / .88), rgb(13 28 43 / .84));
}

body.tp-public-page :where(.tp-logo-text,.tp-brand-wordmark) .brand-trail {
  color:var(--brand-trail);
}

/* Public/auth button repair: keep dark-blue surfaces in dark-only mode. */
body.tp-public-page .auth-social-button,
body.tp-public-page .auth-submit,
body.tp-public-page .public-cta,
body.tp-public-page .public-button {
  background: color-mix(in srgb, var(--tp-public-surface-muted) 82%, var(--tp-public-bg));
  border-color: var(--tp-public-border);
  color: var(--tp-public-text);
}

body.tp-public-page .auth-social-button:hover,
body.tp-public-page .auth-submit:hover,
body.tp-public-page .public-cta:hover,
body.tp-public-page .public-button:hover {
  background: color-mix(in srgb, #2563eb 18%, var(--tp-public-surface));
  border-color: color-mix(in srgb, #5db6ff 42%, var(--tp-public-border));
  color: var(--tp-public-text);
}
