@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=IBM+Plex+Mono:wght@400;500;600&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&display=swap";:root{font-family:var(--font-body);color:#f2f3ef;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-display:"Bebas Neue", sans-serif;--font-body:"Source Serif 4", serif;--font-mono:"IBM Plex Mono", monospace;--page:#090b0e;--surface:#0e1216e0;--paper:#f3f2eb;--ink:#ebe9e0;--muted:#9ba39a;--line:#ffffff1a;--signal:#77c261;--warm:#f2ba4a;--shadow-frame:0 1.5rem 4rem #00000057, inset 0 1px 0 #ffffff05;background:#090b0e;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at top,#77c2610f,#0000 24rem),linear-gradient(#090b0e 0%,#06080b 100%);min-height:100svh;margin:0}body,button,input{font:inherit}button,input{margin:0}button,a{color:inherit}img,svg{display:block}.app-shell{min-height:100svh;color:var(--ink);position:relative;overflow:clip}.app-background{pointer-events:none;background:radial-gradient(circle at 100% 0,#77c26114,#0000 24rem),linear-gradient(#ffffff04,#fff0);position:fixed;inset:0}.orb{filter:blur(40px);border-radius:999px;position:absolute}.orb-one{background:#77c2611f;width:20rem;height:20rem;top:-6rem;right:-5rem}.orb-two{background:#ffd00012;width:16rem;height:16rem;bottom:6rem;left:-5rem}.grid-fade{opacity:.1;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000d9,#0000 80%);mask-image:linear-gradient(#000000d9,#0000 80%)}.app-frame{z-index:1;width:min(1220px,100% - 24px);margin:0 auto;padding:12px 0 32px;position:relative}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:8px 0 18px;display:flex}.brand{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.brand-logo{width:auto;max-width:min(220px,62vw);height:42px;display:block}.ghost-link{color:var(--muted);text-decoration:none}.ghost-link:hover{color:var(--paper)}.page-shell,.page{flex-direction:column;gap:18px;display:flex}.hero-panel,.scanner-card,.station-card,.summary-card,.payment-card,.success-card,.state-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-frame)}.hero-panel-kiosk{grid-template-columns:minmax(0,1.08fr) minmax(260px,.72fr);align-items:start;gap:14px;display:grid}.hero-copy,.summary-card,.payment-card,.scanner-card,.state-card,.success-card{padding:20px}.kiosk-copy{position:relative;overflow:hidden}.eyebrow{width:fit-content;color:var(--signal);text-transform:uppercase;letter-spacing:.1em;background:#77c2610f;border:1px solid #77c2612e;border-radius:999px;padding:6px 10px 5px;font-size:.68rem;display:inline-flex}.eyebrow.subtle{color:var(--muted);background:#ffffff0a;border-color:#ffffff14}.kicker{color:var(--warm);font-family:var(--font-serif);margin:18px 0 0;font-size:1.05rem;font-style:italic}.hero-copy h1{max-width:11ch;font-family:var(--font-serif);letter-spacing:-.02em;color:var(--paper);margin:14px 0 8px;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:600;line-height:.98}.lede,.section-header p,.field span,.detail-tile span,.summary-list,.payment-note,.state-card p,.success-card p,.feature-card p,.station-copy p,.scanner-caption,.terminal-globe p{color:var(--muted)}.step-list{color:var(--paper);flex-direction:column;gap:10px;margin:18px 0 4px;padding:0;list-style:none;display:flex}.step-list li{align-items:center;gap:10px;font-size:.98rem;display:flex}.step-list li:before{content:"";background:var(--signal);border-radius:999px;flex:none;width:6px;height:6px}.hero-actions,.action-row,.summary-actions,.action-stack{flex-wrap:wrap;gap:12px;display:flex}.hero-actions .primary-button{min-width:190px}.field{flex-direction:column;gap:8px;display:flex}.field-ticket{margin-top:14px}.field input{border:1px solid var(--line);width:100%;color:var(--paper);font:inherit;background:#ffffff08;border-radius:12px;padding:14px 16px}.field input:focus{border-color:#77c26166;outline:0;box-shadow:0 0 0 3px #77c2611a}.primary-button,.secondary-button,.ghost-button{min-height:50px;font:inherit;cursor:pointer;border-radius:999px;padding:12px 16px;font-weight:700;transition:transform .14s,background .14s,border-color .14s,opacity .14s}.primary-button{background:var(--signal);color:#0a0d12;border:1px solid #77c26166}.secondary-button{color:var(--signal);background:#77c26114;border:1px solid #77c2613d}.ghost-button{border:1px solid var(--line);color:var(--paper);background:0 0}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{opacity:.56;cursor:not-allowed}.inline-error{color:#ff8f7a;margin:0}.kiosk-visual{padding:0}.panel-label{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}.video-panel{opacity:.9;background:#ffffff05;flex-direction:column;gap:8px;padding:14px;display:flex}.video-frame{border:1px solid var(--line);aspect-ratio:16/12;background:#000;border-radius:14px;position:relative;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.summary-card h3,.payment-card h3,.station-copy h3,.state-card h3,.success-card h2{font-family:var(--font-serif);color:var(--paper);margin:0}.section-header{flex-direction:column;gap:8px;max-width:50rem;display:flex}.section-header h2{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--paper);margin:0;font-size:clamp(2rem,5vw,3.2rem);line-height:1}.scanner-card{gap:16px}.scan-page .action-row{padding-top:8px}.scanner-viewport{border:1px solid var(--line);background:#050607;border-radius:16px;min-height:24rem;position:relative;overflow:hidden}.scanner-video{object-fit:cover;opacity:0;width:100%;height:24rem;transition:opacity .18s}.scanner-video.is-visible{opacity:1}.scanner-target{aspect-ratio:1;border:2px solid var(--signal);width:min(18rem,72vw);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #0506076b}.scan-skeleton{flex-direction:column;justify-content:end;gap:10px;padding:16px;display:flex;position:absolute;inset:0}.scan-skeleton-panel{flex:1;min-height:0}.scanner-caption{color:var(--paper);background:#050607d1;border:1px solid #77c26129;padding:12px 14px;position:absolute;bottom:16px;left:16px;right:16px}.scanner-caption.status-permission-denied,.scanner-caption.status-camera-unsupported,.scanner-caption.status-startup-failure{border-color:#ffd0003d}.details-layout,.rent-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);align-items:start;gap:14px;display:grid}.station-card{grid-template-columns:minmax(250px,.72fr) minmax(0,1fr);display:grid}.station-image-wrap{border-right:1px solid var(--line);background:linear-gradient(160deg,#77c26124,#ffffff05),radial-gradient(circle at top,#ffd0001a,#0000 60%);min-height:100%;position:relative}.station-image{object-fit:cover;opacity:.82;width:100%;height:100%;min-height:26rem}.station-image-overlay{background:#050607c7;border:1px solid #ffffff14;padding:16px;position:absolute;bottom:18px;left:18px;right:18px}.station-image-overlay strong{font-family:var(--font-display);color:var(--signal);margin-top:6px;font-size:2.6rem;line-height:.9;display:block}.station-image-overlay p{color:var(--muted);margin:8px 0 0}.station-copy{flex-direction:column;gap:14px;padding:24px;display:flex}.station-copy-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.station-copy h3{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1}.station-meta{color:var(--muted);margin:6px 0 0;font-size:.95rem}.rate-card{grid-template-columns:minmax(0,1.4fr) minmax(140px,.8fr);gap:10px;display:grid}.rate-card-main,.rate-card-side{border:1px solid var(--line);background:#ffffff0a;border-radius:16px;flex-direction:column;gap:6px;padding:16px;display:flex}.rate-card-main{background:#77c26114;border-color:#77c2612e}.rate-label{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:.82rem}.rate-label-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rate-label-row .rate-label{line-height:1.2}.help-tooltip{flex:none;position:relative}.help-tooltip-trigger{cursor:pointer;width:1.6rem;height:1.6rem;color:var(--muted);font-family:var(--font-mono);touch-action:manipulation;background:#ffffff0a;border:1px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0;font-size:.74rem;font-weight:600;line-height:1;list-style:none;transition:border-color .14s,color .14s,background .14s;display:inline-flex}.help-tooltip-trigger::-webkit-details-marker{display:none}.help-tooltip-trigger:focus-visible{color:var(--signal);border-color:#77c26173;outline:0;box-shadow:0 0 0 3px #77c2611f}.help-tooltip[open] .help-tooltip-trigger{color:var(--signal);border-color:#77c26159}.help-tooltip-bubble{z-index:50;border:1px solid var(--line);background:var(--surface);width:min(18rem,100vw - 2.5rem);font-family:var(--font-body);color:var(--paper);border-radius:12px;margin:0;padding:10px 12px;font-size:.84rem;font-weight:400;line-height:1.45;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 .75rem 1.5rem #00000059}.rate-card-main .help-tooltip-bubble{left:0;right:auto}.rate-card-side .help-tooltip-bubble{left:auto;right:0}.rate-card-main strong,.rate-card-side strong{font-family:var(--font-serif);color:var(--paper);font-size:clamp(1.9rem,4vw,2.5rem);line-height:.96}.rate-subtle{color:var(--muted)}.facts-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.detail-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-tile{border:1px solid var(--line);background:#ffffff08;border-radius:12px;padding:14px}.detail-tile-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.detail-tile-head>span{color:var(--muted)}.detail-tile strong{font-family:var(--font-serif);color:var(--paper);margin-top:6px;font-size:1.35rem;line-height:1;display:block}.summary-card{flex-direction:column;gap:14px;display:flex}.summary-card.sticky{position:sticky;top:12px}.summary-card h3{font-size:1.55rem;line-height:1}.summary-list{flex-direction:column;gap:12px;margin:0;padding-left:18px;display:flex}.summary-list-row{justify-content:space-between;align-items:flex-start;gap:10px;padding-right:2px;display:flex}.summary-list-main{flex:1;min-width:0}.floating-cta{z-index:20;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(#090b0e00,#090b0ef0 26%);margin-top:4px;position:sticky;bottom:0}.floating-cta-button{width:100%;box-shadow:0 1rem 2rem #00000047}.payment-card{flex-direction:column;gap:14px;display:flex}.checkout-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.checkout-amount{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.checkout-amount-meta{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.checkout-amount span{font-family:var(--font-serif);color:var(--paper);font-size:2rem;line-height:1}.checkout-amount small{color:var(--muted);font-size:.82rem}.action-stack{flex-direction:column}.status-panel{border:1px solid var(--line);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.status-panel strong{color:var(--paper);font-family:var(--font-serif);font-size:1.2rem;line-height:1}.status-panel span{color:var(--muted)}.status-panel.pending,.status-panel.confirming,.status-panel.submitting{background:#ffd0000f;border-color:#ffd0002e}.status-panel.error{background:#ff6b4f0f;border-color:#ff6b4f38}.status-panel.success{background:#77c2610f;border-color:#77c2612e}.success-page{align-items:center}.success-card{flex-direction:column;gap:16px;max-width:56rem;display:flex}.success-card h2{font-size:clamp(2rem,5vw,3rem);line-height:1}.success-badge{color:var(--signal);text-transform:uppercase;letter-spacing:.12em;background:#77c2611a;border:1px solid #77c26133;align-self:flex-start;padding:8px 12px;font-size:.75rem;display:inline-flex}.success-hero{flex-direction:column;gap:14px;display:flex}.pickup-card{background:#77c2610f;border:1px solid #77c2612e;border-radius:16px;flex-direction:column;gap:6px;padding:18px;display:flex}.pickup-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.82rem}.pickup-card strong{font-family:var(--font-serif);color:var(--paper);font-size:clamp(2rem,6vw,3rem);line-height:.96}.pickup-location{color:var(--paper)}.success-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.success-note{border:1px solid var(--line);background:#ffffff08;border-radius:14px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.success-note strong{color:var(--paper);font-size:.95rem}.success-note span{color:var(--muted)}.state-card{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.skeleton-stack{flex-direction:column;gap:10px;display:flex}.skeleton-end{align-items:flex-end}.skeleton-block,.skeleton-line,.skeleton-panel{background:#ffffff0d;border:1px solid #ffffff0a;position:relative;overflow:hidden}.skeleton-block:after,.skeleton-line:after,.skeleton-panel:after{content:"";background:linear-gradient(90deg,#0000,#ffffff14,#0000);animation:1.4s infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-image{height:100%;min-height:26rem}.skeleton-rate-card{grid-template-columns:minmax(0,1.4fr) minmax(140px,.8fr);gap:10px;display:grid}.skeleton-input{border-radius:12px;min-height:52px}.skeleton-button{border-radius:999px;min-height:50px}.skeleton-button-muted{opacity:.7}.skeleton-panel{border-radius:12px;min-height:88px}.skeleton-line{border-radius:999px;height:14px}.skeleton-line-xs{width:88px}.skeleton-line-sm{width:132px}.skeleton-line-md{width:180px;height:18px}.skeleton-line-lg{width:220px;height:24px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (width<=960px){.hero-panel-kiosk,.details-layout,.rent-layout,.station-card{grid-template-columns:1fr}.kiosk-visual{order:2}.station-image{min-height:18rem}.rate-card,.facts-grid,.success-notes,.skeleton-rate-card{grid-template-columns:1fr}}@media (width<=640px){.app-frame{width:min(100%,100% - 12px);padding-bottom:32px}.topbar{flex-direction:column;align-items:flex-start}.hero-copy,.summary-card,.payment-card,.scanner-card,.state-card,.success-card,.video-panel,.station-copy{padding:16px}.hero-copy h1{max-width:none;font-size:2.6rem}.section-header h2,.success-card h2{font-size:2.4rem}.hero-actions,.action-row,.summary-actions{flex-direction:column}.checkout-header{flex-direction:column;align-items:flex-start}.checkout-amount{align-items:flex-start}.rate-label-row,.detail-tile-head,.summary-list-row,.checkout-amount-meta{flex-wrap:wrap;align-items:flex-start}.summary-list-row{justify-content:flex-start}.help-tooltip{width:100%}.help-tooltip[open]{flex-direction:column;flex-basis:100%;align-items:flex-start;display:flex}.help-tooltip-trigger{width:2rem;height:2rem;font-size:.82rem}.help-tooltip-bubble,.rate-card-main .help-tooltip-bubble,.rate-card-side .help-tooltip-bubble{width:100%;max-width:none;margin-top:10px;position:static}.primary-button,.secondary-button,.ghost-button,.ghost-link{text-align:center;width:100%}.detail-grid,.detail-grid.compact{grid-template-columns:1fr}.scanner-video,.scanner-viewport{height:18rem;min-height:18rem}}
