/* Shared Motron feature styles. Navigation is owned by liquid-glass.css. */
:root {--glass: rgba(15,23,36,.7); --glass-line: rgba(213,232,255,.2); --experience-radius: 22px;}
:root[data-theme=light] {--glass: rgba(248,251,255,.72); --glass-line: rgba(255,255,255,.9);}
body {background-image: radial-gradient(ellipse at 5% 5%,#1f64ba16,transparent 45%),radial-gradient(ellipse at 95% 60%,#4a63a80d,transparent 45%); padding-top: 94px;}
html[data-route="cars"] #collection {display: block !important;}
html[data-route="cars"] .collection {padding-top: 58px;}
#start-here {scroll-margin-top: 100px;}
.parts-encyclopedia-host {width: 90%; max-width: 1440px; margin: 35px auto 80px;}
.reference-page {max-width: 1000px; margin: auto;}
.reference-page h2 {font-size: clamp(30px,4vw,48px); letter-spacing: -1.8px;}
.reference-page p {line-height: 1.9; color: var(--muted);}
.reference-lead {font-size: 19px;}
.reference-grid {display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 14px; margin: 30px 0;}
.reference-grid>a {display: block; padding: 22px; background: var(--bg); border: 1px solid var(--line); border-radius: 14px;}
.reference-grid strong {color: var(--blue);}
.reference-grid p {font-size: 12px; margin-bottom: 0;}
.reference-page .example-chips a {border: 1px solid var(--line); border-radius: 20px; padding: 8px 14px; font-size: 12px; color: var(--blue);}
.knowledge-answer {margin: 30px 0; padding: 22px; border: 1px solid var(--line); border-radius: 14px;}
.knowledge-answer summary {cursor: pointer; color: var(--blue);}
.knowledge-photo {width: 100%; max-height: 400px; object-fit: contain;}
.hero {border-radius: 24px; margin: 0 22px; overflow: hidden;}
.hero:after {content: ''; position: absolute; inset: 0; pointer-events: none; border: 1px solid #ffffff10; border-radius: inherit;}
.hero-content>p {max-width: 440px; line-height: 1.8;}
.hero-actions {flex-wrap: wrap;}
.hero-explore-link {border: 0; padding: 12px 0; font-size: 12px;}
.beginner-cta {display: inline-flex; align-items: center; gap: 20px;}
.hero-actions .hero-lab-link {display: none;}
.home-next-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 35px 0 80px;}
.home-next-grid>a {padding: 40px; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(135deg,#386ac614,transparent);}
.home-next-grid h2 {font-size: 36px; letter-spacing: -1.5px; margin: 20px 0;}
.home-next-grid p {max-width: 450px; line-height: 1.8; color: var(--muted); margin-bottom: 28px;}
.home-next-grid strong {font-size: 12px; color: var(--blue);}
.welcome-section {margin: 38px 0 72px; padding: 36px 40px; border: 1px solid var(--line); border-radius: var(--experience-radius); background: linear-gradient(125deg,#377ccb13,transparent 60%),var(--surface); position: relative; overflow: hidden;}
.welcome-section:before {content: ''; position: absolute; top: 0; left: 40px; width: 72px; height: 3px; background: linear-gradient(90deg,#65b6ef 33%,#224b9e 33%,#224b9e 66%,#ed4355 66%);}
.welcome-heading {display: flex; justify-content: space-between; gap: 20px; align-items: center;}
.guide-tools h2, .hub-heading h2 {font-size: clamp(28px,3.1vw,43px); line-height: 1.15; letter-spacing: -1.6px; margin: 16px 0;}
.guide-tools h2 em, .hub-heading h2 em {font-style: normal; color: var(--blue);}
.guide-tools p, .garage-hub p {color: var(--muted); line-height: 1.8;}
.welcome-heading p {margin-bottom: 25px;}
.step-counter {align-self: flex-start; font-size: 13px; color: var(--muted); letter-spacing: 3px; padding-top: 12px;}
.welcome-stage h3 {font-size: 15px; font-weight: 500; margin-bottom: 17px;}
.welcome-options {display: grid; grid-template-columns: repeat(3,1fr); gap: 14px;}
.welcome-options>button, .welcome-options>a {display: flex; flex-direction: column; position: relative; text-align: left; align-items: flex-start; background: var(--bg); padding: 23px; border: 1px solid var(--line); border-radius: 14px; gap: 8px; transition: border-color .2s,transform .2s;}
.welcome-options>button:hover, .welcome-options>a:hover {border-color: var(--blue); transform: translateY(-3px);}
.welcome-options strong {font-size: 16px; letter-spacing: -.3px;}
.welcome-options span, .welcome-options small {font-size: 11px; color: var(--muted);}
.welcome-options b {position: absolute; right: 18px; top: 23px; color: var(--blue); font-size: 17px;}
.welcome-options small {color: var(--blue); letter-spacing: 1.3px; margin-bottom: 6px;}
.text-action {border: 0; padding: 15px 0 0; font-size: 11px; color: var(--muted);}
.tools-layout {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start;}
.tool-card {border: 1px solid var(--line); border-radius: 22px; padding: 30px; background: var(--surface);}
.tool-card h2 {font-size: 34px;}
.tool-card form, .garage-hub form {display: grid; gap: 16px;}
.tool-card label, .garage-hub label {display: grid; gap: 8px; font-size: 11px; color: var(--muted);}
.tool-card input, .tool-card select, .garage-hub input:not([type=checkbox]), .garage-hub select {background: var(--bg); color: var(--white); border: 1px solid var(--line); border-radius: 9px; padding: 12px; min-width: 0; width: 100%; min-height: 44px;}
.tool-input-row {display: flex; gap: 8px;}
.tool-input-row input {flex: 1;}
.tool-input-row button {white-space: nowrap;}
.tool-field-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 16px;}
.example-chips {display: flex; gap: 6px; flex-wrap: wrap; margin: 15px 0;}
.example-chips button {font-size: 10px; padding: 7px 10px; border-radius: 18px;}
.decoded-list {margin: 24px 0;}
.decoded-list>div {display: grid; grid-template-columns: 76px 1fr; gap: 13px; padding: 15px 0; border-top: 1px solid var(--line);}
.decoded-list dt {font-size: 17px; font-weight: 600; color: var(--blue);}
.decoded-list dd {margin: 0; font-size: 12px; line-height: 1.8; color: var(--muted);}
.source-link {display: inline-block; color: var(--blue); font-size: 11px; margin-top: 15px;}
.subtle {font-size: 11px; line-height: 1.8; color: var(--muted);}
.match-results {display: grid; gap: 10px; margin-top: 15px;}
.match-results>a {display: flex; align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; padding-right: 16px;}
.match-results img {width: 90px; height: 76px; object-fit: cover; background: var(--bg);}
.match-results> a>div {flex: 1;}
.match-results strong, .match-results small {display: block;}
.match-results strong {font-size: 12px;}
.match-results small {font-size: 10px; color: var(--muted); margin-top: 6px; line-height: 1.6;}
.next-road {display: flex; gap: 20px; flex-wrap: wrap; padding: 30px 0; color: var(--muted); font-size: 12px;}
.next-road a {color: var(--blue);}
.friendly-readings {display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 15px; margin: 25px 0;}
.friendly-readings>div {border: 1px solid var(--line); padding: 22px; border-radius: 14px; background: var(--surface);}
.friendly-readings strong {display: block; font-size: 26px; font-weight: 500; letter-spacing: -1px;}
.friendly-readings span {display: block; font-size: 11px; color: var(--muted); margin-top: 8px;}
.garage-hub {padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(125deg,#376bbf12,transparent 45%),var(--surface); margin-bottom: 45px;}
.hub-heading {display: flex; justify-content: space-between; gap: 25px; align-items: center;}
.hub-personality {color: var(--blue) !important; font-size: 14px;}
.hub-personality span {font-size: 11px; color: var(--muted);}
.hub-stats {display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; margin: 25px 0;}
.hub-stats>div {padding: 23px; background: var(--bg);}
.hub-stats strong {font-size: 30px; font-weight: 500; letter-spacing: -1px; display: block;}
.hub-stats span {display: block; font-size: 10px; line-height: 1.7; color: var(--muted); margin-top: 8px;}
.hub-tabs {display: flex; gap: 8px; overflow: auto; padding: 0 0 20px;}
.hub-tabs button {font-size: 11px; border-radius: 22px; white-space: nowrap; padding: 10px 16px;}
.hub-tabs [aria-pressed=true] {background: var(--blue); color: var(--bg); border-color: var(--blue);}
.hub-panel {padding: 22px 0;}
.hub-panel h3 {font-size: 25px; letter-spacing: -.7px; margin: 5px 0 16px;}
.hub-panel p {font-size: 12px;}
.daily-car {display: grid; grid-template-columns: 1fr 1fr; gap: 25px; align-items: center; padding: 28px; border-radius: 18px; border: 1px solid var(--line); background: var(--bg);}
.daily-car img {width: 100%; height: 200px; object-fit: cover; border-radius: 10px;}
.set-progress {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 25px 0;}
.set-progress label {display: block; font-size: 10px;}
.set-progress b {float: right; font-weight: 400;}
.set-progress progress {display: block; width: 100%; height: 4px; border: 0; accent-color: var(--blue); margin-top: 12px;}
.collectible-grid {display: grid; grid-template-columns: repeat(3,1fr); gap: 17px;}
.collectible {position: relative; border: 1px solid var(--line); border-radius: 16px; background: var(--bg); overflow: hidden; padding: 0 18px 18px; transition: transform .25s,border-color .25s;}
.collectible:hover {transform: translateY(-4px); border-color: var(--blue);}
.collectible img {width: calc(100% + 36px); max-width: none; height: 160px; object-fit: cover; margin: 0 -18px 18px;}
.collectible .card-series {font-size: 8px; color: var(--blue); letter-spacing: 1px;}
.collectible h3 {font-size: 20px; margin: 10px 0;}
.collectible p {font-size: 11px;}
.collectible small {font-size: 9px; line-height: 1.6; display: block; color: var(--muted);}
.collectible label {margin-top: 20px;}
.hub-empty {grid-column: 1/-1; padding: 30px; text-align: center;}
.hub-empty a {color: var(--blue);}
.hub-status {font-size: 12px; color: var(--blue) !important;}
.hub-backup {display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 20px; border-top: 1px solid var(--line);}
.hub-backup span {flex: 1; min-width: 200px; font-size: 10px; color: var(--muted); line-height: 1.8;}
.hub-backup button {font-size: 10px; border-radius: 20px;}
.race-picks {display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 15px; margin-top: 25px;}
.race-track {padding: 20px; background: var(--bg); border: 1px solid var(--line); border-radius: 15px; margin: 22px 0;}
.race-lane {position: relative; height: 85px; border-bottom: 1px dashed var(--line); padding-right: 15px;}
.race-lane:last-child {border: 0;}
.race-lane>span {display: block; position: absolute; left: 0; top: 22px; font-size: 34px; color: var(--blue); width: 40px; text-align: center;}
.race-lane>b {position: absolute; right: 0; top: 28px; font-size: 9px; color: var(--muted); border-left: 2px dashed var(--muted); height: 35px; padding-left: 10px;}
.race-lane>span.is-racing {animation: hub-race var(--race-seconds,3s) linear forwards;}
.race-lane:nth-child(2)>span {color: #e65f77;}
@keyframes hub-race {
  to {left: calc(100% - 100px);}
}
.challenge-picks {display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; max-height: 300px; overflow: auto; padding: 12px; border: 1px solid var(--line); border-radius: 12px;}
.challenge-picks label {display: flex; align-items: center; gap: 10px; padding: 8px; background: var(--bg); border-radius: 8px; color: var(--white);}
.challenge-picks small {display: block; color: var(--muted); font-size: 9px; margin-top: 5px;}
.challenge-picks input {accent-color: var(--blue);}
.care-heading {display: flex; justify-content: space-between; gap: 25px;}
.care-heading>strong {font-size: 28px; font-weight: 500; white-space: nowrap;}
.care-heading small {display: block; font-size: 10px; line-height: 1.8; color: var(--muted); margin-top: 6px;}
.service-list {display: grid; gap: 12px; margin-top: 25px;}
.service-list article {padding: 18px; background: var(--bg); border-radius: 12px; border: 1px solid var(--line);}
.service-list span {display: block; font-size: 10px; color: var(--muted); margin-top: 8px;}
.service-list a {display: inline-block; font-size: 12px; color: var(--blue); margin-top: 13px;}
.service-list p {margin-bottom: 0;}
.care-reminders {padding: 15px; border: 1px solid #e7ae4f66; border-radius: 12px; margin-bottom: 22px; display: grid; gap: 10px; font-size: 12px;}
.garage-history>a {display: flex; align-items: center; gap: 25px; padding: 22px 10px; border-bottom: 1px solid var(--line);}
.garage-history b {color: var(--blue); font-size: 28px; font-weight: 500;}
.garage-history span {flex: 1; font-size: 17px;}
.garage-history small {display: block; font-size: 9px; margin-top: 8px; color: var(--muted);}
.paint-preview {background: radial-gradient(ellipse,#4774bb16,transparent 70%); margin: 25px 0;}
.paint-preview svg {max-width: 700px; display: block; margin: auto; width: 100%;}
.paint-options {display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px;}
.paint-options button {display: flex; gap: 10px; align-items: center; font-size: 10px; border-radius: 25px;}
.paint-options [aria-pressed=true] {border-color: var(--blue);}
.paint-options i {width: 18px; height: 18px; border: 1px solid #ffffff55; border-radius: 50%;}
.guide-tools :focus-visible, .garage-hub :focus-visible {outline: 2px solid var(--blue); outline-offset: 4px;}
@media (max-width:800px) {.tools-layout {grid-template-columns: 1fr;}.collectible-grid {grid-template-columns: 1fr 1fr;}.hub-stats {grid-template-columns: 1fr 1fr;}.welcome-section {padding: 28px;}.welcome-options>button, .welcome-options>a {padding: 18px;}.welcome-options strong {font-size: 14px;}.welcome-options b {display: none;}.hub-heading {display: block;}.hub-heading>a {display: inline-flex; margin-top: 10px;}.home-next-grid>a {padding: 27px;}.home-next-grid h2 {font-size: 29px;}.race-picks {grid-template-columns: 1fr 1fr;}.race-picks button {grid-column: 1/-1;}.challenge-picks {grid-template-columns: 1fr 1fr;}.garage-hub {padding: 22px;}}
@media (max-width:600px) {body {padding-top: 88px; padding-bottom: 74px;}.hero {margin: 0 10px; border-radius: 18px;}.hero .hero-content {top: 8%;}.hero h1 {font-size: 62px;}.hero-content>p {font-size: 13px; max-width: 280px;}.hero-actions {gap: 12px;}.hero .hero-secondary {display: none;}.hero-explore-link {font-size: 11px;}.hero .hero-bottom {bottom: 48px;}.hero .hero-caption {bottom: 16px;}.welcome-section {padding: 25px 20px; margin-top: 24px; margin-bottom: 45px;}.welcome-section:before {left: 20px;}.guide-tools h2, .hub-heading h2 {font-size: 30px; letter-spacing: -1px;}.guide-tools p {font-size: 12px;}.welcome-options {grid-template-columns: 1fr; gap: 8px;}.welcome-options>button, .welcome-options>a {padding: 16px 18px; min-height: 74px; gap: 6px;}.welcome-options b {display: block;}.welcome-options strong {font-size: 15px;}.welcome-options>a {min-height: 98px;}.welcome-heading {gap: 10px;}.step-counter {font-size: 10px; white-space: nowrap; letter-spacing: 1px;}.home-next-grid {grid-template-columns: 1fr; margin: 24px 0 45px;}.home-next-grid>a {padding: 26px;}.tool-card {padding: 22px;}.tool-card h2 {font-size: 28px;}.tool-input-row {flex-wrap: wrap;}.tool-input-row input {flex-basis: 100%;}.tool-field-grid {grid-template-columns: 1fr 1fr; gap: 12px;}.hub-stats>div {padding: 17px;}.hub-stats strong {font-size: 26px;}.hub-stats span {font-size: 9px;}.garage-hub {padding: 20px 16px; border-radius: 18px;}.hub-tabs {margin: 0 -4px;}.hub-tabs button {padding: 9px 12px; font-size: 10px;}.daily-car {grid-template-columns: 1fr; padding: 20px;}.daily-car img {height: 160px;}.daily-car>div {order: 2;}.collectible-grid {grid-template-columns: 1fr;}.collectible img {height: 210px;}.set-progress {grid-template-columns: 1fr;}.hub-backup {gap: 8px;}.hub-backup span {flex-basis: 100%;}.hub-backup button {padding: 9px 12px; font-size: 9px;}.care-heading {display: block;}.care-heading>strong {display: block; margin: 20px 0;}.challenge-picks {grid-template-columns: 1fr;}.paint-options button {font-size: 9px; padding: 9px;}.friendly-readings {grid-template-columns: 1fr 1fr; gap: 10px;}.friendly-readings>div {padding: 17px;}.friendly-readings strong {font-size: 23px;}.friendly-readings span {font-size: 9px;}.garage-history>a {gap: 15px;}.garage-history span {font-size: 14px;}}
@media (max-width:370px) {.tool-field-grid {grid-template-columns: 1fr;}}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior: auto;}.welcome-options>button, .welcome-options>a, .collectible {transition: none !important;}.race-lane>span.is-racing {animation-duration: 1ms !important;}.welcome-options>button:hover, .welcome-options>a:hover, .collectible:hover {transform: none;}}
