:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Noto Sans TC,sans-serif;color:#2c3e50;background:#f8fafc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f8fafc}button,input,select,textarea{font:inherit}button{cursor:pointer}.screen{min-height:100vh;background:#f8fafc}.nav-bar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:72px 1fr 72px;align-items:center;height:50px;padding:0 12px;border-bottom:1px solid #e9edf1;background:#fffffff5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.nav-bar h1{margin:0;font-size:17px;text-align:center}.nav-back,.nav-action{border:0;color:#4a90d9;background:none}.nav-back{text-align:left}.nav-action{text-align:right;font-weight:600}.content{width:min(100%,520px);margin:auto;padding:0 16px 36px}.login-screen{display:flex;min-height:100vh;justify-content:center;background:linear-gradient(#ebf5fb,#fff)}.login-content{width:min(100%,430px);padding:40px 24px 30px}.login-logo{display:block;width:200px;max-height:185px;margin:0 auto 12px;object-fit:contain}.login-title{margin:0 0 30px;font-size:22px;text-align:center}.field-block{display:grid;gap:8px;margin-bottom:16px}.field-block>span{color:#7f8c8d;font-size:14px;font-weight:600}.input-shell{display:flex;align-items:center;gap:10px;padding:16px;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000000d}.input-shell i{width:24px;color:#4a90d9;font-style:normal;text-align:center}.input-shell input{width:100%;border:0;outline:0;color:#2c3e50}.eye-button{border:0;color:#7f8c8d;background:none}.primary,.secondary,.danger{width:100%;min-height:54px;padding:14px;border:0;border-radius:12px;font-weight:700}.primary{color:#fff;background:#4a90d9}.primary:disabled{opacity:.5}.secondary{border:2px solid #4a90d9;color:#4a90d9;background:#fff}.danger{color:#fff;background:#e74c3c}.auth-link{margin:22px 0;text-align:center;color:#7f8c8d;font-size:14px}.link-button{padding:0;border:0;color:#4a90d9;background:none;font-weight:600}.service-link{display:grid;gap:8px;margin-top:70px;color:#7f8c8d;text-align:center;font-size:13px}.service-link a{color:#4a90d9;text-decoration:none;font-size:15px}.home-screen{min-height:100vh;background:#2c3e50}.home-ad{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.home-card-zone{position:relative;z-index:2;width:min(calc(100% - 32px),488px);margin:-20px auto 0}.trip-card{padding:16px;border-radius:12px;background:#fff;box-shadow:0 2px 8px #00000014}.trip-card-head{display:flex;justify-content:space-between}.tag{padding:4px 8px;border-radius:4px;color:#4a90d9;background:#4a90d926;font-size:12px}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 18px;width:min(100%,520px);margin:auto;padding:40px 30px 20px}.home-icon{display:grid;gap:12px;justify-items:center;border:0;color:#fff;background:none}.home-icon-circle{display:grid;width:70px;height:70px;place-items:center;border:2px solid rgba(127,140,141,.5);border-radius:50%;font-size:28px}.home-icon span:last-child{font-size:14px;font-weight:600}.home-service{display:block;padding:10px 0 30px;color:#7f8c8d;text-align:center;text-decoration:none;font-size:12px}.section-title{display:flex;align-items:center;gap:8px;height:24px;margin:20px 0 8px;color:#4a90d9;font-size:14px;font-weight:700}.section-title:before{width:4px;height:24px;background:#4a90d9;content:""}.form-card{overflow:hidden;border-radius:12px;background:#fff}.form-row{display:flex;min-height:52px;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #f0f2f4}.form-row:last-child{border-bottom:0}.form-row>label,.form-row>.label{flex:0 0 112px}.required{color:#e74c3c}.form-row input,.form-row select,.form-row textarea{flex:1;min-width:0;border:0;outline:0;color:#2c3e50;background:transparent;text-align:right}.form-row textarea{padding:7px 0;resize:vertical}.row-value{flex:1;color:#7f8c8d;text-align:right}.chevron{color:#7f8c8d}.segmented{display:grid;flex:1;grid-template-columns:1fr 1fr;padding:2px;border-radius:8px;background:#edf0f2}.segmented button{padding:7px;border:0;border-radius:7px;background:none;font-size:13px}.segmented .active{color:#fff;background:#4a90d9}.toggle{position:relative;width:48px;height:28px;margin-left:auto;border:0;border-radius:20px;background:#d6dadd}.toggle.on{background:#4a90d9}.toggle:after{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;content:"";transition:.2s}.toggle.on:after{left:23px}.info-note{padding:10px 16px;color:#7f8c8d;font-size:12px;line-height:1.5}.page-button{padding:20px 0}.list-card{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding:16px;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000000d}.list-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;color:#4a90d9;background:#ebf5fb;font-size:20px}.list-main{flex:1}.list-main strong{display:block}.list-main p{margin:4px 0 0;color:#7f8c8d;font-size:13px}.empty-state{display:grid;gap:20px;justify-items:center;padding:70px 20px;color:#7f8c8d;text-align:center}.empty-icon{font-size:60px;opacity:.45}.booking-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #ddd;background:#fff}.booking-tabs button{padding:14px 4px;border:0;border-bottom:3px solid transparent;background:none}.booking-tabs .active{border-color:#4a90d9;color:#4a90d9;font-weight:700}.booking-card{margin:12px 0;padding:16px;border-radius:12px;background:#fff}.booking-card-top{display:flex;justify-content:space-between}.route{display:grid;grid-template-columns:20px 1fr;gap:8px;margin-top:14px}.route p{margin:0 0 10px}.fare{display:flex;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid #eee}.settings-list{margin:0 -16px}.settings-group{margin-top:22px;background:#fff}.settings-heading{padding:8px 16px;color:#7f8c8d;font-size:13px}.settings-row{display:flex;min-height:52px;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid #eee}.settings-row .icon{width:28px;color:#4a90d9}.settings-row span:nth-child(2){flex:1}.support-card{display:flex;align-items:center;gap:16px;margin:16px 0;padding:16px;border-radius:12px;color:inherit;background:#fff;text-decoration:none}.support-circle{display:grid;width:50px;height:50px;place-items:center;border-radius:50%;color:#4a90d9;background:#4a90d926;font-size:20px}.faq details{border-bottom:1px solid #eee;background:#fff}.faq summary{padding:16px;cursor:pointer}.faq p{margin:0;padding:0 16px 16px;color:#7f8c8d;line-height:1.6}.map-placeholder{display:grid;height:180px;place-items:center;border-radius:12px 12px 0 0;color:#4a90d9;background:linear-gradient(135deg,#dcebf5,#eff6fa);font-size:42px}.status-hero{display:grid;gap:12px;justify-items:center;padding:42px 20px;text-align:center}.status-spinner{width:72px;height:72px;border:6px solid #dcebf5;border-top-color:#4a90d9;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.detail-card{margin:12px 0;padding:16px;border-radius:12px;background:#fff}.detail-card h3{margin:0 0 14px}.detail-line{display:flex;justify-content:space-between;gap:16px;padding:9px 0}.detail-line span:first-child{color:#7f8c8d}.otp-boxes{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.otp-boxes input{width:100%;height:52px;border:1px solid #dce3e8;border-radius:8px;text-align:center;font-size:22px}.registration-icon{margin:35px 0 12px;color:#4a90d9;text-align:center;font-size:60px}@media(min-width:700px){body{background:#dfe7ec}.screen{width:430px;margin:auto;box-shadow:0 0 30px #0000001f}.home-screen,.nav-bar{width:430px}.home-grid{grid-template-columns:repeat(3,1fr)}}.subsidy-tags{display:flex;justify-content:flex-end;gap:6px;padding:0 16px 12px}.success-tag{color:#27ae60;background:#27ae6026}.location-row{width:100%;border:0;background:#fff;text-align:left}.trip-direction{color:#4a90d9;font-weight:600}.fare-placeholder{text-align:left}.address-search{display:grid;gap:14px;padding-top:16px}.map-choice{display:flex;align-items:center;gap:14px;padding:14px;border:0;border-radius:12px;background:#fff;text-align:left}.location-choice{width:100%;border:0;text-align:left}.passenger-list{display:grid;gap:12px;padding-top:16px}.passenger-card{display:grid;gap:12px;padding:16px;border:0;border-radius:12px;color:#2c3e50;background:#fff;box-shadow:0 2px 8px #0000000d;text-align:left}.passenger-title,.passenger-tags{display:flex;align-items:center;gap:8px}.passenger-title .chevron{margin-left:auto}.relation-tag{color:#7f8c8d;background:#7f8c8d26}.passenger-phone{color:#7f8c8d;font-size:14px}.optional-date{display:grid;flex:1;grid-template-columns:auto auto;justify-content:end;gap:6px;color:#4a90d9;font-size:13px}.optional-date input[type=date]{grid-column:1 / -1}.form-card .form-row{gap:8px;padding:10px 14px;font-size:14px}.form-card .form-row>label,.form-card .form-row>.label{flex-basis:102px;white-space:nowrap}.form-card input,.form-card select,.form-card textarea,.form-card .segmented button{font-size:14px}.form-card input::placeholder,.form-card textarea::placeholder{font-size:13px}.nav-back{width:fit-content;padding:6px 9px;border-radius:9px;color:#3f82c4;background:#edf5fc;font-size:13px;font-weight:600}.nav-bar h1{font-size:16px}.nav-action-slot{justify-self:end}.nav-action-slot .nav-action{width:fit-content;padding:6px 9px;border-radius:9px;color:#3f82c4;background:#edf5fc;font-size:13px;font-weight:600;line-height:normal}.list-main strong,.passenger-title strong,.booking-card-top strong,.support-card strong{font-size:15px}.list-main p,.passenger-phone,.booking-card>p,.fare,.settings-row,.support-card p{font-size:13px}.booking-tabs button,.settings-row select{font-size:13px}.list-card,.passenger-card,.booking-card,.support-card{border-radius:12px;color:#2c3e50;background:#fff;box-shadow:0 3px 10px #2c3e5012}.settings-row{min-height:50px}.detail-card{padding:15px;border-radius:12px;box-shadow:0 3px 10px #2c3e5012}.detail-card h3{margin-bottom:12px;font-size:15px}.detail-line{align-items:center;padding:8px 0;font-size:14px;line-height:1.45}.detail-line span:first-child{flex-shrink:0;font-size:13px}.detail-line strong,.detail-line span:last-child{text-align:right}.detail-card>p,.route p{font-size:13px;line-height:1.55}.route{gap:10px;margin-top:12px}.route p strong{font-size:14px}.driver-actions,.payment-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.driver-actions .primary,.action-link{display:grid;place-items:center;text-decoration:none}.text-action{display:block;margin:14px auto;padding:6px 10px;border:0;color:#7f8c8d;background:transparent;font-size:13px}.failure-test{color:#d9483b;border-color:#d9483b73}.failure-page{display:grid;gap:12px;padding-top:28px}.failure-hero,.payment-result{display:grid;justify-items:center;text-align:center}.failure-hero h2,.payment-result h2{margin:14px 0 6px;font-size:20px}.failure-hero p,.payment-result p{margin:0 0 18px;color:#7f8c8d;font-size:14px}.failure-icon,.success-mark{display:grid;width:82px;height:82px;place-items:center;border-radius:50%;font-size:50px;font-weight:700}.failure-icon{color:#d9483b;background:#d9483b24}.success-mark{color:#27ae60;background:#27ae6024}.failure-order{display:grid;gap:8px;text-align:center}.failure-order>span,.failure-order>p,.secure-note{color:#7f8c8d;font-size:13px}.failure-order hr{width:70%;border:0;border-top:1px solid #edf0f2}.warning-note{padding:10px;border-radius:8px;color:#7f8c8d;background:#f39c121a;font-size:12px}.payment-form{display:grid;gap:16px;padding-top:20px}.payment-amount{display:grid;gap:6px;justify-items:center;padding:12px 0;color:#7f8c8d;font-size:13px}.payment-amount strong{color:#3f82c4;font-size:34px}.payment-amount small{color:#27ae60}.payment-card,.remember-card{padding:16px;border-radius:12px;background:#fff;box-shadow:0 3px 10px #2c3e5012}.payment-card h3{margin:0 0 16px;font-size:15px}.payment-card label{display:grid;gap:7px;margin-bottom:14px;color:#7f8c8d;font-size:12px}.payment-card input{width:100%;min-width:0;padding:11px;border:1px solid #dce3e8;border-radius:8px;outline:0;color:#2c3e50;font-size:14px}.remember-card{display:flex;align-items:center;justify-content:space-between;font-size:14px}.payment-result{padding-top:90px}.payment-result .primary{margin-top:12px}.settings-button,.settings-link{display:block;width:100%;padding:0;border:0;color:inherit;background:transparent;text-align:left;text-decoration:none}.legal-page{padding:22px 2px;color:#65727d;font-size:14px;line-height:1.75}.legal-page h2{margin:0 0 18px;color:#2c3e50;font-size:20px}.legal-page h3{margin:20px 0 4px;color:#2c3e50;font-size:15px}.legal-page p{margin:0 0 10px}.legal-page small{display:block;margin-top:24px;color:#7f8c8d;font-size:12px}.about-page{display:flex;min-height:calc(100vh - 86px);align-items:center;flex-direction:column;padding:60px 16px 24px;text-align:center}.about-page img{width:150px;height:150px;border-radius:20px;object-fit:contain}.about-page h2{margin:20px 0 4px;color:#4a90d9;font-size:24px}.about-page p,.about-page span{margin:0 0 8px;color:#7f8c8d;font-size:14px}.about-contact{display:grid;gap:8px;margin-top:auto}.about-contact small,.about-page footer{color:#7f8c8d;font-size:12px}.about-contact a{color:#4a90d9;font-size:15px;font-weight:600;text-decoration:none}.about-page footer{margin-top:34px}.search-option,.search-result{display:flex;width:100%;align-items:center;gap:12px;padding:12px 16px;border:0;color:#2c3e50;background:#fff;text-align:left}.search-option+.search-option,.search-result+.search-result{border-top:1px solid #edf0f2}.search-section{margin-top:10px}.search-heading{padding:12px 16px 8px;color:#7f8c8d;font-size:12px}.search-result-icon{width:28px;color:#4a90d9;text-align:center}.location-confirm{display:flex;min-height:calc(100vh - 86px);flex-direction:column;gap:12px;padding-top:20px}.confirm-location-info{display:grid;gap:8px;justify-items:center;padding:10px 20px 16px;text-align:center}.confirm-pin{color:#4a90d9;font-size:42px}.confirm-location-info strong{font-size:15px}.confirm-location-info p{margin:0;color:#7f8c8d;font-size:13px;line-height:1.5}.save-location-toggle{display:flex;align-items:center;gap:8px;padding:15px;border:0;border-radius:12px;color:#2c3e50;background:#fff;box-shadow:0 3px 10px #2c3e5012;font-size:14px;text-align:left}.save-location-toggle [data-save-star]{color:#e4ad18;font-size:20px}.save-location-toggle .chevron{margin-left:auto}.save-location-form{margin-top:-4px}.confirm-location-button{margin-top:auto;margin-bottom:4px}.rating-summary p{margin:6px 0 14px;color:#7f8c8d;font-size:13px}.rating-form{display:grid;gap:24px;padding-top:38px}.rating-form h2{margin:0;font-size:18px;text-align:center}.rating-stars{display:flex;justify-content:center;gap:8px;color:#d6dadd;font-size:30px}.rating-stars button{padding:2px;border:0;color:#d6dadd;background:transparent;font-size:34px}.rating-stars button.active,.rating-stars.static{color:#f4b942}.rating-form label{display:grid;gap:8px;color:#7f8c8d;font-size:13px}.rating-form textarea{padding:12px;border:1px solid #dce3e8;border-radius:10px;outline:0;color:#2c3e50;background:#fff;font-size:14px;resize:vertical}.dialog-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#1f2a3373;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm-dialog{display:grid;width:min(100%,330px);gap:10px;padding:22px;border-radius:18px;background:#fff;box-shadow:0 18px 45px #1f2a3340;text-align:center}.confirm-dialog h2{margin:0;font-size:18px}.confirm-dialog p{margin:0 0 10px;color:#7f8c8d;font-size:14px}.splash-screen{display:grid;min-height:100vh;place-content:center;justify-items:center;gap:24px;background:linear-gradient(#ebf5fb,#fff)}.splash-screen img{width:min(70vw,280px)}.splash-loader{width:30px;height:30px;border:3px solid rgba(74,144,217,.18);border-top-color:#4a90d9;border-radius:50%;animation:spin .85s linear infinite}.trip-demo{margin-top:10px}.trip-status-page{display:flex;min-height:calc(100vh - 50px);flex-direction:column;margin:0 -16px -36px;background:#ebf5fb}.trip-map{display:grid;flex:1;min-height:330px;place-content:center;justify-items:center;gap:8px;color:#4a90d959}.trip-map span{font-size:78px}.trip-map small{color:#7f8c8d;font-size:12px}.trip-panel{display:grid;gap:15px;padding:20px;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -6px 18px #2c3e501a}.trip-state{display:flex;align-items:center;gap:8px;color:#27ae60;font-size:14px}.trip-state i{width:9px;height:9px;border-radius:50%;background:currentColor}.trip-state.active{color:#4a90d9}.trip-state small{margin-left:auto;color:#7f8c8d;font-size:12px}.driver-summary{display:flex;align-items:center;gap:14px;padding-top:14px;border-top:1px solid #edf0f2}.driver-avatar{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;color:#4a90d9;background:#ebf5fb}.driver-summary p{margin:3px 0 7px;color:#7f8c8d;font-size:13px}.warning-tag{color:#c88a00;background:#f4b9422e}.eta{display:grid;gap:4px;margin-left:auto;text-align:right}.eta small{color:#7f8c8d;font-size:11px}.eta strong{color:#4a90d9;font-size:19px}.trip-tools{display:grid;grid-template-columns:repeat(3,1fr);padding:12px 0;border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2}.trip-tools a,.trip-tools button{display:grid;gap:4px;justify-items:center;padding:4px;border:0;color:#4a90d9;background:transparent;font-size:18px;text-decoration:none}.trip-tools button{color:#d9483b}.trip-tools span{font-size:11px}.destination{padding:4px 0 12px;color:#4a90d9;font-size:14px}.destination strong{color:#2c3e50}.emergency-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.emergency-actions button,.emergency-actions a{padding:12px 8px;border:0;border-radius:9px;color:#fff;background:#f39c12;font-size:13px;text-align:center;text-decoration:none}.emergency-actions a{background:#d9483b}.completed-page{display:grid;gap:12px;padding-top:20px}.completed-hero{display:grid;justify-items:center;gap:10px}.completed-hero span{display:grid;width:72px;height:72px;place-items:center;border-radius:50%;color:#27ae60;background:#27ae6026;font-size:44px}.completed-hero h2{margin:0 0 6px;font-size:20px}.trip-metrics{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid #edf0f2;color:#7f8c8d;font-size:12px}.subsidy{color:#27ae60}.completed-payment{margin:12px}.completed-page textarea{width:100%;margin-top:12px;padding:11px;border:1px solid #dce3e8;border-radius:9px;font-size:13px;resize:vertical}.notice-dialog{justify-items:center}.notice-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;color:#27ae60;background:#27ae6024;font-size:34px;font-weight:700}body[data-font-size=大] .form-card .form-row,body[data-font-size=大] .settings-row,body[data-font-size=大] .list-main strong,body[data-font-size=大] .booking-card{font-size:15px}body[data-font-size=特大] .form-card .form-row,body[data-font-size=特大] .settings-row,body[data-font-size=特大] .list-main strong,body[data-font-size=特大] .booking-card{font-size:16px}body.high-contrast,body.high-contrast .screen{color:#fff;background:#05080b}body.high-contrast .nav-bar,body.high-contrast .form-card,body.high-contrast .detail-card,body.high-contrast .list-card,body.high-contrast .passenger-card,body.high-contrast .booking-card,body.high-contrast .settings-group,body.high-contrast .support-card,body.high-contrast .payment-card,body.high-contrast .remember-card{color:#fff;border-color:#fff;background:#111820}body.high-contrast .form-row input,body.high-contrast .form-row select,body.high-contrast .form-row textarea,body.high-contrast .settings-row,body.high-contrast .list-main p,body.high-contrast .detail-line span:first-child{color:#fff}.passenger-form .page-button{padding:24px 4px 8px}.primary,.secondary,.danger{min-height:48px;padding:12px 16px;border-radius:14px;font-size:15px;letter-spacing:.08em;transition:box-shadow .15s ease,transform .15s ease}.primary{background:linear-gradient(135deg,#5aa0df,#3f82c4);box-shadow:0 7px 16px #3f82c43d}.secondary{border-width:1.5px;background:#fff;box-shadow:0 4px 12px #3f82c41a}.danger{background:linear-gradient(135deg,#ee6b5f,#d9483b);box-shadow:0 7px 16px #d9483b33}.primary:active,.secondary:active,.danger:active{box-shadow:0 3px 8px #2c3e5024;transform:translateY(1px)}
