.visit-mock{display:flex;flex-direction:column;position:absolute;inset:12px 0 0;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 94%,transparent 100%);mask-image:linear-gradient(to bottom,#000 94%,transparent 100%)}.visit-mock__toolbar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid hsl(var(--border));font-size:13px;font-weight:500}.visit-mock__toolbar>span,.visit-mock__summary,.visit-mock__detail>span{display:flex;align-items:center;gap:8px}.visit-mock__body{flex:1;min-height:0;display:grid;grid-template-columns:300px 1fr}.visit-mock__history{padding:16px;font-size:12px;border-right:1px solid hsl(var(--border))}.visit-mock__history>strong{font-size:16px}.visit-mock__history>p{color:hsl(var(--muted-foreground));margin-top:5px}.visit-mock__summary{margin:12px 0 10px;color:hsl(var(--muted-foreground))}.visit-mock__stops{display:grid;gap:4px}.visit-mock__stops button{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;padding:8px;text-align:left;border-radius:6px}.visit-mock__stops button[aria-pressed=true]{background:hsl(var(--primary) / .12)}.visit-mock__stops button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.visit-mock__stops strong{font-weight:500;font-size:12px}.visit-mock__stops small{display:block;font-size:10px;margin-top:4px;color:hsl(var(--muted-foreground))}.visit-mock__number{display:grid;place-items:center;width:20px;height:20px;background:hsl(var(--muted));border-radius:50%;font-size:10px}.visit-mock__detail{margin-top:12px;border-top:1px solid hsl(var(--border));padding-top:14px}.visit-mock__detail>span{font-weight:500}.visit-mock__detail dl{display:flex;gap:38px;margin-top:14px}.visit-mock__detail dt{color:hsl(var(--muted-foreground));font-size:10px}.visit-mock__detail dd{margin-top:4px;font-size:14px}.visit-mock__detail p{margin-top:12px;color:hsl(var(--muted-foreground))}.visit-mock__detail p strong{float:right;color:hsl(var(--foreground))}.visit-mock__map{position:relative;overflow:hidden}.visit-mock__map>img{position:absolute;width:900px;max-width:none;height:540px;left:-380px;top:-70px}.visit-mock__pin{position:absolute;display:grid;place-items:center;width:24px;height:24px;transform:translate(-50%,-50%);border:2px solid hsl(var(--background));border-radius:50%;background:hsl(var(--muted));color:hsl(var(--foreground));font-size:11px}.visit-mock__pin--selected{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 0 0 6px hsl(var(--primary) / .18)}.visit-mock__map-label{position:absolute;left:18px;right:18px;bottom:52px;display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--card));font-size:12px}.visit-mock__map-label>span{width:100%;font-size:11px;color:hsl(var(--muted-foreground))}.visit-mock-wrap .mockup-crop{container-type:inline-size}@container (max-width: 450px){.visit-mock__body{grid-template-columns:1fr}.visit-mock__map{display:none}.visit-mock__history{border-right:0}}.feature-fragment-stage{container-type:inline-size}.feature-fragment{max-width:420px;font-size:14px;line-height:1.4}.feature-fragment--wide{max-width:720px}.feature-fragment:has(.journey-map){max-width:540px}.feature-fragment .text-xs,.feature-fragment [data-slot=button]{font-size:12px;line-height:1.4}.feature-fragment .text-sm{font-size:14px;line-height:1.4}.feature-fragment .text-base{font-size:16px;line-height:1.35}.feature-fragment .text-3xl{font-size:30px;line-height:1.2}.feature-fragment .fragment-stop{min-height:48px}.feature-fragment .fragment-vehicle{min-height:62px}.feature-fragment .fragment-choices button{min-height:30px}.fragment-repair [data-slot=button]{min-height:36px}.fragment-sheet{box-shadow:0 10px 28px -16px hsl(var(--foreground) / .22),0 2px 6px hsl(var(--foreground) / .04)}.journey-map{height:200px}.journey-map-art{display:block;width:100%;height:100%}.journey-camera{transform-origin:480px 280px;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}.journey-basemap--dark,html.dark .journey-basemap--light{display:none}html.dark .journey-basemap--dark{display:block}.journey-route{stroke-dasharray:1}.journey-map[data-visible=true] .journey-route{animation:journey-route-reveal 1.6s cubic-bezier(.22,1,.36,1) both}.journey-map-marker{cursor:pointer;outline:none}.journey-map-marker circle{transition:r .25s ease,opacity .25s ease}.journey-map-marker:is(:hover,:focus-visible) .journey-marker-halo{stroke:var(--fresh-line-red);stroke-width:2}.journey-callout{position:absolute;top:14px;width:148px;padding:10px 12px;display:grid;gap:4px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card) / .96);box-shadow:0 6px 18px hsl(var(--foreground) / .08);pointer-events:none;animation:journey-callout-reveal .35s ease both}.journey-callout[data-side=left]{left:14px}.journey-callout[data-side=right]{right:14px}.journey-callout-title{font-size:12px;font-weight:600}.journey-callout-time{font-size:11px;color:hsl(var(--muted-foreground))}.journey-callout-duration{display:flex;align-items:center;gap:5px;font-size:11px}.journey-attribution{position:absolute;bottom:3px;right:4px;display:flex;gap:5px;background:hsl(var(--card) / .9);padding:2px 4px;border-radius:var(--radius-sm);font-size:9px;color:hsl(var(--muted-foreground))}.journey-stops{border-top:1px solid hsl(var(--border))}.journey-stop{position:relative;overflow:hidden;transition:background-color .25s ease}.journey-stop[aria-pressed=true]{background:hsl(var(--muted) / .65)}.journey-stop-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid hsl(var(--border));border-radius:var(--radius-md);background:hsl(var(--card))}.journey-stop[aria-pressed=true] .journey-stop-icon{color:var(--fresh-line-red)}.feature-fragment .journey-stop-arrow{width:15px;height:15px;opacity:0;transform:translate(-4px,4px);transition:opacity .25s ease,transform .25s ease}.journey-stop:is(:hover,:focus-visible,[aria-pressed=true]) .journey-stop-arrow{opacity:1;transform:none}.feature-fragment .fragment-vehicle>span>svg{width:22px;height:22px}.feature-fragment .fragment-selection svg{width:12px;height:12px;color:inherit}@keyframes journey-route-reveal{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes journey-callout-reveal{0%{opacity:0}to{opacity:1}}.fragment-choices [aria-pressed=true]{background:hsl(var(--card));box-shadow:0 1px 3px hsl(var(--foreground) / .08)}.fragment-vehicle{transition:background-color .3s ease,border-color .3s ease}.fragment-vehicle[aria-pressed=true]{background:hsl(var(--muted) / .65);border-color:hsl(var(--foreground) / .35)}.fragment-vehicle[aria-pressed=true] .fragment-selection{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:transparent}.fragment-cost-bar{flex-basis:0;min-width:0;transition:flex-grow .75s var(--studio-ease, ease)}.fragment-cost-bar--0{background:var(--fresh-line-red)}.fragment-cost-bar--1{background:hsl(var(--foreground) / .6)}.fragment-cost-bar--2{background:hsl(var(--foreground) / .2)}.fragment-repair-source{transition:opacity .3s ease}.fragment-repair[data-approved=true] .fragment-repair-source{opacity:.65}.fragment-transition{display:grid;position:relative;isolation:isolate}.fragment-transition-layer{grid-area:1 / 1;min-width:0}.fragment-transition-layer[aria-hidden=true]{pointer-events:none}.fragment-repair-body{height:124px;overflow:hidden}.fragment-repair-complete{height:124px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.fragment-complete-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#209760;background:#2097601f}html.dark .fragment-complete-icon{color:#6ce0aa;background:#6ce0aa1f}.fragment-repair[data-phase="1"] .fragment-request-line{box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .3);transition:box-shadow .35s ease}.fragment-repair[data-phase="1"] [data-slot=button]{animation:fragment-confirm-press .9s ease both}.fragment-vehicle{transition:background-color .3s ease,border-color .3s ease,box-shadow .25s ease}.fragment-vehicle:is(:hover,:focus-visible){box-shadow:0 3px 8px hsl(var(--foreground) / .06);border-color:hsl(var(--foreground) / .35)}@keyframes fragment-confirm-press{0%,65%,to{transform:scale(1)}85%{transform:scale(.98)}}.fragment-result{animation:fragment-state-change .38s var(--studio-ease, ease)}@keyframes fragment-state-change{0%{opacity:.35;transform:translateY(4px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@container (max-width: 340px){.journey-map{height:205px}.journey-stop-icon{display:none}}@media(prefers-reduced-motion:reduce){.feature-fragment *,.feature-fragment *:before,.feature-fragment *:after{animation:none!important;transition:none!important}}.fragment-permissions [data-slot=button]{min-height:48px}.fragment-running-cost-body{height:182px;overflow:hidden}.fragment-running-cost [data-slot=button]{min-height:36px}.fragment-running-cost-fuel{transition:background-color .35s ease,box-shadow .35s ease}.fragment-running-cost[data-phase="1"] .fragment-running-cost-fuel{background:hsl(var(--muted) / .65);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .2)}.fragment-running-cost[data-phase="1"] [data-slot=button]{animation:fragment-confirm-press 1s ease both}
