:root{--color-bg: #ffffff;--color-fg: #1a1a1a;--color-muted: #5b6470;--color-brand: #0e7c66;--color-brand-dark: #0a5c4c;--color-accent: #e8a13a;--color-border: #e4e7eb;--color-surface: #f6f8f7;--font-sans: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Segoe UI", Roboto, sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--radius: .5rem;--maxw: 72rem;--header-h: 3.5rem}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);color:var(--color-fg);background:var(--color-bg);line-height:1.6;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;padding-bottom:4rem}h1,h2,h3{line-height:1.25;margin:0 0 var(--space-3)}a{color:var(--color-brand-dark);text-decoration:none}a:hover{text-decoration:underline}main{max-width:var(--maxw);margin:0 auto;padding:var(--space-5) var(--space-3)}img{max-width:100%;height:auto}.site-header{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-bg)}.brand{font-weight:700;font-size:1.1rem;color:var(--color-brand-dark);margin-right:auto}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;font-size:1.4rem;cursor:pointer;border:1px solid var(--color-border);border-radius:var(--radius);user-select:none}.nav-toggle-checkbox{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.primary-nav{display:none;flex-direction:column;gap:var(--space-2);width:100%;padding:var(--space-2) 0}.nav-toggle-checkbox:checked~.primary-nav{display:flex}.primary-nav a{padding:var(--space-2) 0;color:var(--color-fg)}.header-actions{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.lang-switch{font-weight:600;color:var(--color-brand-dark)}.auth-link{font-weight:600;color:var(--color-brand-dark);max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cta--primary{display:inline-block;padding:var(--space-2) var(--space-3);background:var(--color-brand);color:#fff;border-radius:var(--radius);font-weight:600}.cta--primary:hover{background:var(--color-brand-dark);text-decoration:none}.site-footer{display:grid;gap:var(--space-4);max-width:var(--maxw);margin:var(--space-6) auto 0;padding:var(--space-5) var(--space-3);border-top:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted)}.site-footer h3{font-size:.95rem;color:var(--color-fg)}.footer-col{display:flex;flex-direction:column;gap:var(--space-1)}.footer-legal{margin:0;font-size:.85rem}.card-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin-top:var(--space-4)}.card{display:block;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg)}.card h3{margin-bottom:var(--space-2)}a.card{color:inherit}a.card:hover{text-decoration:none;border-color:var(--color-brand)}.card .meta,.card .langs{color:var(--color-muted);margin:0 0 var(--space-2)}.card .tags{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:0 0 var(--space-3)}.card .tags li{padding:2px var(--space-2);background:var(--color-surface);border-radius:var(--radius);font-size:.85rem}.card .tags-inline{color:var(--color-muted);font-size:.9rem;margin:0}.vehicle-card .rate{margin:var(--space-2) 0 0;font-size:1.1rem;color:var(--color-brand-dark)}.vehicle-card .rate span{color:var(--color-muted);font-size:.9rem}.vehicle-card .note{color:var(--color-muted);font-size:.85rem;margin:var(--space-1) 0 0}.route-card .from{margin:var(--space-2) 0 0;font-size:1.1rem;color:var(--color-brand-dark)}.route-card .from span{color:var(--color-muted);font-size:.9rem}.media-card{padding:0;overflow:hidden}.media-card__img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover;background:var(--color-surface)}.media-card__body{padding:var(--space-4)}.media-card__link{display:block}.media-card__body h3 a{color:inherit;text-decoration:none}.media-card__body h3 a:hover,.media-card__body h3 a:focus{text-decoration:underline}.attraction-detail__img{display:block;width:100%;max-height:22rem;object-fit:cover;border-radius:var(--radius, 6px)}.attraction-detail__prose{line-height:1.75}.attraction-facts{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);margin:var(--space-4) 0;padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius, 6px)}.attraction-facts dt{color:var(--color-muted);white-space:nowrap}.attraction-facts dd{margin:0}.attraction-caution{margin:var(--space-4) 0;padding:var(--space-3);border-left:3px solid var(--color-border)}.attraction-caution h2{margin:0 0 var(--space-2);font-size:1rem}.attraction-caution p{margin:0;color:var(--color-muted)}.destination-card .blurb{color:var(--color-muted);margin:var(--space-2) 0 0}.queue-notice{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-border);color:var(--color-muted);font-size:.875rem}.attraction-card .blurb{color:var(--color-muted);margin:var(--space-2) 0 0}.attraction-card__links{margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:.875rem}.attraction-card__links dt{color:var(--color-muted);margin-top:var(--space-2)}.attraction-card__links dt:first-child{margin-top:0}.attraction-card__links dd{margin:var(--space-1) 0 0}.attraction-card__routes{display:grid;gap:var(--space-1);margin:0;padding:0;list-style:none}.lead{color:var(--color-muted);margin:0 0 var(--space-4)}.featured-destinations{margin-top:var(--space-6)}.route-hero__img{display:block;width:100%;max-height:22rem;object-fit:cover;border-radius:var(--radius);margin:0 0 var(--space-4);background:var(--color-surface)}.highlight-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.highlight{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-bg)}.highlight__media{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--color-surface)}.highlight__name{display:block;padding:var(--space-2) var(--space-3);font-weight:600;font-size:.95rem}.day-list{list-style:none;padding:0;margin:0 0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.day{display:flex;align-items:stretch;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-bg)}.day__img{width:6.5rem;flex:0 0 auto;align-self:stretch;min-height:4.5rem;object-fit:cover;background:var(--color-surface)}.day__body{display:flex;flex-direction:column;justify-content:center;padding:var(--space-2) var(--space-3)}.day__num{font-size:.8rem;color:var(--color-brand-dark);font-weight:700}.day__title{margin:2px 0 0}@media(min-width:640px){.highlight-grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}}.route-detail .meta{color:var(--color-muted);margin:0 0 var(--space-4)}.route-detail section{margin:var(--space-4) 0}.route-detail .itinerary table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;margin:var(--space-3) 0;font-size:.95rem}.route-detail .itinerary th,.route-detail .itinerary td{text-align:left;padding:var(--space-2) var(--space-3) var(--space-2) 0;border-bottom:1px solid var(--color-border);white-space:nowrap}.route-detail .itinerary th{font-weight:600;color:var(--color-muted)}.pricing-table{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.pricing-table .pricing-mode{margin:0 0 var(--space-2);font-weight:600}.pricing-table table{width:100%;border-collapse:collapse}.pricing-table th{text-align:left;font-weight:400;padding:var(--space-1) 0}.pricing-table td{text-align:right;padding:var(--space-1) 0;color:var(--color-brand-dark);font-weight:600}.pricing-table .note{color:var(--color-muted);font-size:.85rem;margin:var(--space-2) 0 0}.route-group{margin:var(--space-5) 0}.route-group+.route-group{margin-top:var(--space-6)}.featured-routes,.featured-testimonials{margin-top:var(--space-6)}.testimonial-card .stars{color:var(--color-accent);margin:0 0 var(--space-2);letter-spacing:2px}.testimonial-card .quote{margin:0 0 var(--space-2);border:0;padding:0;font-style:italic}.testimonial-card .author{color:var(--color-muted);margin:0 0 var(--space-2)}.testimonial-card .refs{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.85rem;margin:0}.faq-group{margin:var(--space-4) 0}.faq-group dt{font-weight:600;margin-top:var(--space-3)}.faq-group dd{margin:var(--space-1) 0 0;color:var(--color-fg)}.inquiry-form{max-width:32rem;margin-top:var(--space-4)}.inquiry-form .field{display:flex;flex-direction:column;gap:var(--space-1);margin:0 0 var(--space-3)}.inquiry-form label{font-weight:600;font-size:.9rem}.inquiry-form input,.inquiry-form textarea{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-fg);font:inherit;width:100%}.inquiry-form input:focus,.inquiry-form textarea:focus{outline:2px solid var(--color-brand);outline-offset:1px}.inquiry-form button{padding:var(--space-2) var(--space-5);border:0;border-radius:var(--radius);background:var(--color-brand);color:#fff;font:inherit;font-weight:600;cursor:pointer}.inquiry-form button:hover{background:var(--color-brand-dark)}.inquiry-error{color:#b00020;font-size:.9rem;margin:0 0 var(--space-3)}.inquiry-consent{color:var(--color-muted);font-size:.85rem;margin:var(--space-3) 0 0}.about .lead{font-size:1.1rem;color:var(--color-fg);margin:0 0 var(--space-5)}.about-section{margin:var(--space-5) 0}.about-section .value-props,.about-section .steps{padding-left:var(--space-4)}.about-section .value-props li,.about-section .steps li{margin:var(--space-2) 0}.driver-detail p{margin:0 0 var(--space-2)}.driver-detail .bio{margin:var(--space-3) 0;color:var(--color-fg)}@media(min-width:640px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}}.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:50;display:block;text-align:center;padding:var(--space-3);background:var(--color-accent);color:#1a1a1a;font-weight:700}.sticky-cta:hover{text-decoration:none;filter:brightness(.97)}@media(min-width:768px){.menu-toggle{display:none}.primary-nav{display:flex;flex-direction:row;width:auto;gap:var(--space-4);padding:0}.sticky-cta{display:none}body{padding-bottom:0}.site-footer{grid-template-columns:1fr 1fr}}.auth{max-width:32rem;margin:0 auto var(--space-6)}.auth h1{margin-bottom:var(--space-4)}.auth-form{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.auth-form label{display:flex;flex-direction:column;gap:var(--space-1);font-weight:600;font-size:.9rem}.auth-form input{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-fg);font:inherit;font-weight:400;width:100%}.auth-form input:focus{outline:2px solid var(--color-brand);outline-offset:1px}.auth-form button{align-self:flex-start;padding:var(--space-2) var(--space-5);border:0;border-radius:var(--radius);background:var(--color-brand);color:#fff;font:inherit;font-weight:600;cursor:pointer}.auth-form button:hover{background:var(--color-brand-dark)}.driver-status{margin:var(--space-3) 0;padding:var(--space-2) var(--space-3);border-left:4px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font-weight:600}.driver-status--pending{border-left-color:var(--color-accent);background:#fdf6e9;color:#7a5410}.driver-status--approved{border-left-color:var(--color-brand);background:#eaf5f1;color:var(--color-brand-dark)}.driver-status--paused{border-left-color:var(--color-muted);background:#eef1f4;color:#3c4653}.driver-status--rejected{border-left-color:#c0392b;background:#fdf0f2;color:#8f231a}.auth-errors{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:#fdf0f2;border:1px solid #f2c2ca;color:#b00020;font-size:.9rem;list-style:none}.auth-errors li+li{margin-top:var(--space-1)}.auth-signin{margin-top:var(--space-4);font-size:.9rem}.auth-confirm{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.auth-confirm p{margin:0 0 var(--space-3)}.auth-fallback{margin:0;color:var(--color-muted);font-size:.9rem;line-height:1.6}.auth-forgot{margin-top:var(--space-2);font-size:.9rem}.account-detail{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.account-detail dt{font-weight:600;color:var(--color-muted);font-size:.9rem}.account-detail dd{margin:0}.account-retention{color:var(--color-muted);font-size:.85rem}.account-export,.account-password{display:inline-block;margin:var(--space-3) 0;font-weight:600}.account-notice{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-left:3px solid var(--color-fg);border-radius:var(--radius);background:var(--color-surface);font-size:.95rem}.driver-photo-slot{margin-bottom:var(--space-3)}.driver-photo-remove{display:block;margin-top:var(--space-1);font-size:.85rem;color:var(--color-muted)}.driver-gallery{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-3) 0 var(--space-4)}.driver-gallery img{width:240px;height:180px;border-radius:var(--radius);object-fit:cover;background:var(--color-surface)}.driver-queue-photos{display:flex;flex-wrap:wrap;gap:var(--space-2)}.driver-photo-preview{display:block;width:200px;height:200px;margin:var(--space-3) 0;border-radius:var(--radius);object-fit:cover;background:var(--color-surface)}.driver-card__photo{display:block;width:100%;height:180px;margin:calc(var(--space-3) * -1) calc(var(--space-3) * -1) var(--space-3);border-radius:var(--radius) var(--radius) 0 0;object-fit:cover;background:var(--color-surface)}.driver-queue-photo{display:block;width:120px;height:120px;margin-bottom:var(--space-3);border-radius:var(--radius);object-fit:cover;background:var(--color-surface)}.staff-nav{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-3) 0 var(--space-4)}.staff-nav a{display:inline-block;padding:var(--space-2) var(--space-4);border:1px solid var(--color-brand);border-radius:var(--radius);background:#fff;color:var(--color-brand-dark);font-weight:600;text-decoration:none}.staff-nav a:hover{background:var(--color-surface);text-decoration:none}.driver-pause{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.driver-pause p{margin:0 0 var(--space-3);font-size:.9rem;color:var(--color-muted)}.driver-pause button{padding:var(--space-2) var(--space-4);border:1px solid var(--color-brand);border-radius:var(--radius);background:#fff;color:var(--color-brand-dark);font:inherit;font-weight:600;cursor:pointer}.driver-pause button:hover{background:var(--color-surface)}.account-delete,.plan-delete,.driver-withdraw{margin-top:var(--space-5);padding:var(--space-4);border:1px solid #f2c2ca;border-radius:var(--radius);background:#fdf0f2}.account-delete p,.plan-delete p,.driver-withdraw p{margin:0 0 var(--space-3);font-size:.9rem;color:var(--color-fg)}.account-delete button,.plan-delete button,.driver-withdraw button{padding:var(--space-2) var(--space-4);border:1px solid #b00020;border-radius:var(--radius);background:transparent;color:#b00020;font:inherit;font-weight:600;cursor:pointer}.account-delete button:hover,.plan-delete button:hover{background:#b00020;color:#fff}.account-logout{margin-top:var(--space-4)}.account-logout button{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-fg);font:inherit;cursor:pointer}.account-logout button:hover{background:var(--color-surface)}.plan-list{list-style:none;padding:0;margin:var(--space-4) 0}.plan-list li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.plan-status{color:var(--color-muted);font-size:.85rem}.plan-destinations{margin:0;padding:var(--space-3) var(--space-4) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius)}.plan-destinations legend{padding:0 var(--space-1);font-weight:600;font-size:.9rem}.auth-form .plan-destination{display:inline-flex;flex-direction:row;align-items:center;gap:var(--space-1);margin:0 var(--space-4) var(--space-2) 0;font-weight:400}.auth-form .plan-destination input[type=checkbox]{width:auto;margin:0;padding:0;border:0;accent-color:var(--color-brand)}.thread{list-style:none;padding:0;margin:var(--space-4) 0}.thread-item{padding:var(--space-3);border-radius:var(--radius);margin-bottom:var(--space-3);background:var(--color-surface)}.thread-staff{background:#eef5f3;border-left:3px solid var(--color-brand)}.thread-author{display:block;font-weight:600;font-size:.85rem;color:var(--color-brand-dark);margin-bottom:var(--space-1)}.thread-body{margin:0;white-space:pre-wrap}.thread-time{display:block;margin-top:var(--space-1);color:var(--color-muted);font-size:.8rem}.thread-empty{color:var(--color-muted)}.plan-owner{color:var(--color-brand-dark);font-size:.85rem;margin-left:auto;padding-right:var(--space-3)}.account-list{list-style:none;padding:0;margin:var(--space-4) 0}.account-row{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.account-row__identity{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.account-row__email{font-weight:600}.account-row__name{color:var(--color-muted)}.account-row__trips{list-style:none;padding:0;margin:var(--space-1) 0 0;font-size:.9rem}.account-row__trips li+li{margin-top:var(--space-1)}.badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);font-size:.75rem;font-weight:600;color:var(--color-brand-dark)}.account-row__threads{display:inline-block;margin-top:var(--space-1);font-size:.9rem}.thread-list{list-style:none;padding:0;margin:var(--space-4) 0}.thread-row{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.thread-row__identity{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.thread-row__email{font-weight:600}.thread-row__subject{color:var(--color-muted)}.thread-row__open{display:inline-block;margin-top:var(--space-1)}.message-list{list-style:none;padding:0;margin:var(--space-4) 0}.message-item{padding:var(--space-3);border-radius:var(--radius);margin-bottom:var(--space-3);background:var(--color-surface)}.message-in{background:var(--color-bg);border-left:3px solid var(--color-border)}.message-out{background:#eef5f3;border-left:3px solid var(--color-brand)}.message-note{background:#fbf3e3;border-left:3px solid var(--color-accent)}.message-author{display:block;font-weight:600;font-size:.85rem;color:var(--color-brand-dark);margin-bottom:var(--space-1)}.message-note .message-author{color:#8a6412}.message-body{margin:0;white-space:pre-wrap}.message-note-hint{margin:var(--space-1) 0 0;font-size:.8rem;font-style:italic;color:var(--color-muted)}.message-time{display:block;margin-top:var(--space-1);color:var(--color-muted);font-size:.8rem}.message-list-empty{color:var(--color-muted)}.auth-form textarea{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-fg);font:inherit;font-weight:400;width:100%;resize:vertical}.auth-form textarea:focus{outline:2px solid var(--color-brand);outline-offset:1px}.destination-section{margin:var(--space-4) 0}.destination-section h2{margin:0 0 var(--space-2);font-size:1.1rem}.destination-section p{margin:0;line-height:1.75}
