:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#242630;background:#e9e9ed;font-synthesis:none;--brand:#7286ff;--muted:#7b8092;--ease:cubic-bezier(.22,.68,.3,1)}
*{box-sizing:border-box}
body{margin:0;min-width:280px}
button,input{font:inherit}
button{border:0;background:none;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:disabled{cursor:default}
button:focus-visible,input:focus-visible{outline:2px solid #4d5fba;outline-offset:4px}
button:active:not(:disabled){filter:brightness(.96)}
img{width:24px;height:24px;display:block}
svg{width:24px;height:24px}
[hidden]{display:none!important}
p,h1,h2,h3{margin:0}
button,a{user-select:none}
.phone { --welcome-title-size:20px; --idle-orb-size:190px; --active-orb-size:112px; --active-orb-top:124px; --active-stage-height:214px; --idle-orb-top:calc(50% - 86px); --welcome-top:calc(var(--idle-orb-top) - 60px); --tourist-card-radius:16px; --tourist-card-ink:#171a22; --tourist-card-muted:#626b7c; --tourist-card-soft:#eef1ff; --tourist-card-line:rgba(133,143,166,.16); --tourist-price:#ff4164; position:relative; width:100%; max-width:390px; height:min(844px,100dvh); min-height:500px; margin:auto; overflow:hidden; display:flex; flex-direction:column; background:radial-gradient(ellipse 100% 48% at 0 0,#e6effb 0,transparent 75%),radial-gradient(ellipse 100% 48% at 100% 18%,#ece8fa 0,transparent 76%),#f6f7fb; }
.statusbar{height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:4px 25px 0;font-size:15px;letter-spacing:-.3px}
.statusbar b{font-weight:600}
.statusbar>span{display:flex;align-items:center;gap:4px}
.statusbar img{width:16px;height:16px}
.statusbar img.battery{width:24px;height:20px}
.app-header{height:52px;display:flex;align-items:center;padding:0 16px;position:relative;z-index:4;flex-shrink:0}
.app-header h1{position:absolute;left:50%;transform:translateX(-50%);font-size:16px;font-weight:600;letter-spacing:.3px;white-space:nowrap}
.icon-button{display:grid;place-items:center;width:40px;height:44px}
.capsule{margin-left:auto;display:flex;align-items:center;height:30px;border:1px solid #d5d8e3;border-radius:999px;background:#ffffff47}
.capsule button{display:grid;place-items:center;padding:0;width:37px;height:28px}
.capsule img{width:20px;height:20px}
.capsule i{height:14px;width:1px;background:#d2d5e0}
.more-menu{position:absolute;right:16px;top:47px;width:165px;padding:6px;background:#ffffffed;backdrop-filter:blur(20px);border:1px solid #e6eaf3;box-shadow:0 8px 30px #3c49781c;border-radius:16px}
.more-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 12px;font-size:14px;border-radius:10px}
.more-menu button:hover{background:#f1f4fc}
.orb-button { position:absolute; isolation:isolate; left:50%; top:var(--idle-orb-top); transform:translateX(-50%); width:var(--idle-orb-size); height:var(--idle-orb-size); flex-shrink:0; padding:7px; margin:0; border-radius:50%; outline-offset:12px; z-index:2; transition:top 720ms var(--ease),width 720ms var(--ease),height 720ms var(--ease); will-change:top,width,height; }
.orb-core{position:absolute;inset:7px;border-radius:50%;overflow:hidden;background:radial-gradient(ellipse at 75% 75%,#a2f5dd,transparent 60%),radial-gradient(ellipse at 25% 75%,#ecc0ff,transparent 65%),#c9ebff;box-shadow:0 12px 60px #7286ff26;z-index:2;transform:translateZ(0)}
.orb-core:after { content:""; position:absolute; inset:0; border-radius:50%; background:radial-gradient(ellipse at 70% 85%,#8ff5d5cc,transparent 48%),radial-gradient(ellipse at 20% 40%,#eab0ffbb,transparent 55%); mix-blend-mode:normal; animation:orb-color-wash 16s ease-in-out infinite alternate; }
.orb-cloud { position:absolute; inset:-14%; border-radius:50%; filter:blur(7px) saturate(1.1); background-image:radial-gradient(ellipse at 50% 45%,#73c8fff5 5%,transparent 50%),radial-gradient(ellipse at 50% 50%,#e99cfff2 5%,transparent 52%),radial-gradient(ellipse at 45% 55%,#8af5d6f2 5%,transparent 52%); background-size:170% 170%,185% 185%,165% 165%; background-repeat:no-repeat; animation:orb-color-evolve 12s ease-in-out infinite alternate; }
.cloud-two { inset:-8% -20% -16%; background-image:radial-gradient(ellipse at 70% 28%,#9ae0ffe6,transparent 38%),radial-gradient(ellipse at 30% 70%,#a3f6daeb,transparent 52%),radial-gradient(ellipse at 70% 50%,#edb6fff0,transparent 52%); background-size:170% 170%,185% 185%,165% 165%; filter:blur(9px) saturate(1.1); mix-blend-mode:normal; animation-duration:16s; animation-direction:alternate-reverse; }
.orb-edge-color { position:absolute; inset:0; border-radius:50%; pointer-events:none; z-index:1; background-image:radial-gradient(ellipse at center,#fafdfffa 0%,#f4fbffe8 32%,transparent 72%); background-size:70% 70%; background-repeat:no-repeat; background-position:-100% 50%; -webkit-mask-image:radial-gradient(circle closest-side,transparent 64%,#00000059 78%,#000 96%); mask-image:radial-gradient(circle closest-side,transparent 64%,#00000059 78%,#000 96%); opacity:0; animation:orb-edge-travel 28s linear infinite,orb-edge-tint 14s ease-in-out infinite; }
.edge-one { animation-delay:-2s,-4s; }
.edge-two { background-image:radial-gradient(ellipse at center,#fafefff5 0%,#edf9ffe0 32%,transparent 72%); animation-duration:38s,18s; animation-delay:-20s,-12s; animation-direction:reverse,normal; }
.orb-halo{position:absolute;inset:-15px;border-radius:50%;background:radial-gradient(circle,#d1d9ff38,transparent 70%);animation:halo-breathe 6s ease-in-out infinite}
.orb-shadow{position:absolute;bottom:-13px;left:24%;width:52%;height:12px;background:#9aa9e421;filter:blur(10px);border-radius:50%}
.orb-caption { position:absolute; left:50%; top:calc(var(--active-orb-top) + var(--active-orb-size) + 12px); transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:7px; padding:0; width:max-content; max-width:85%; margin:0; z-index:3; }


.waveform{display:flex;gap:4px;align-items:center;height:18px;justify-content:center}
.waveform i{height:4px;width:3px;border-radius:3px;background:#a2afe5}
.waveform i:nth-child(2),.waveform i:nth-child(4){height:9px}
.waveform i:nth-child(3){height:15px}
.voice-footer { margin-top:auto; padding:20px 22px 0; flex-shrink:0; z-index:2; position:relative; background:linear-gradient(transparent,#f6f7fbea 35%); }
.voice-controls{--voice-control-size:64px;display:grid;grid-template-columns:repeat(3,var(--voice-control-size));align-items:center;justify-content:space-between;gap:18px;padding:0 10px}
#sound{grid-column:1;grid-row:1}
#primary{grid-column:2;grid-row:1}
#hangup{grid-column:3;grid-row:1}
.secondary-control{padding:0;display:grid;place-items:center;flex-shrink:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 300ms ease,visibility 0s linear 300ms}
.phone:not([data-phase=idle]) .secondary-control{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 480ms ease 120ms,visibility 0s}
.control-circle,.primary-control{height:var(--voice-control-size);width:var(--voice-control-size);border-radius:50%;border:1px solid #ffffffed;background:linear-gradient(145deg,#edf0f48c,#ffffffa6);display:grid;place-items:center;box-shadow:inset 0 1px 2px #fff9,0 2px 12px #66728d04;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.control-circle img,.control-circle svg,.primary-icon img{width:27px;height:27px;opacity:1}
.primary-control{position:relative;padding:0;flex-shrink:0;color:#242626;transform:scale(1);transition:transform 600ms var(--ease)}
.phone[data-phase=idle] .primary-control{transform:scale(1.3125)}
.primary-icon{display:grid;place-items:center}
#primary-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.primary-control:disabled{opacity:.65}
.home-indicator{width:115px;height:4px;border-radius:5px;background:#242630;margin:23px auto 8px}
.phone[data-voice=speaking] .waveform i,.phone[data-voice=listening] .waveform i{animation:wave .85s ease-in-out infinite alternate}
.waveform i:nth-child(2){animation-delay:-.3s!important}
.waveform i:nth-child(3){animation-delay:-.6s!important}
.waveform i:nth-child(4){animation-delay:-.2s!important}
.waveform i:nth-child(5){animation-delay:-.4s!important}
.phone[data-voice=listening] .orb-halo{background:radial-gradient(circle,#aebcff70,transparent 72%);animation-duration:1.4s}
.message{animation:message-in .35s var(--ease) both;flex-shrink:0;min-width:0}
.matching-status{padding:12px 0 2px;text-align:center;font-size:14px;line-height:1.7;color:#7b8092}
.matching-status:after{content:"…";display:inline-block;width:1em;text-align:left;animation:matching-dots 1.8s ease-in-out infinite}
@keyframes matching-dots{0%,100%{opacity:.3}50%{opacity:1}}
.quiet-button{display:block;padding:12px 15px;margin:4px auto 0;font-size:11px;color:#999fb2;text-decoration:underline;text-underline-offset:3px}
.success-caption{color:#5d7d79;font-size:11px;display:flex;gap:5px;align-items:center;margin-bottom:18px}
.success-caption img{width:15px;height:15px;filter:invert(45%) sepia(20%) saturate(500%) hue-rotate(115deg)}
.driver-main{display:flex;align-items:center;gap:12px}
.driver-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(145deg,#e3e8fa,#b5c3e7);overflow:hidden;display:grid;place-items:center;flex-shrink:0}
.driver-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.driver-info h3{font-size:18px;font-weight:600}
.driver-info p{font-size:11px;color:#8a91a5;margin-top:6px}
.driver-info p span{color:var(--brand);margin-right:7px}
.arrival{margin-left:auto;text-align:right}
.arrival b{color:#667ee8;font-size:25px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.7px}
.arrival b small{font-size:11px;font-weight:400;margin-left:3px}
.arrival>span{display:block;font-size:10px;color:#999fb2;margin-top:3px}
.vehicle{display:flex;align-items:center;gap:7px;margin:15px 0 19px;font-size:11px;color:#8b91a4}
.vehicle img{height:16px;width:16px;opacity:.6}
.vehicle b{font-weight:500;color:#626b84;letter-spacing:.7px}
.vehicle>i{width:1px;height:10px;background:#e0e4ef;margin:0 2px}
.order-route{border-radius:14px;background:#f5f7fc;padding:13px 12px;display:grid;gap:13px}
.route-row{position:relative;display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.5}
.route-row i{height:6px;width:6px;flex-shrink:0;border:1.5px solid #9ba8da;border-radius:50%;position:relative}
.route-row:first-child i:after{content:"";position:absolute;height:17px;border-left:1px dashed #ccd4eb;top:7px;left:1px}
.route-row:last-child i{border-radius:1px;border-color:#b3b5d0}
.route-row b{font-weight:400;color:#525b73}
.driver-contact{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;margin-left:auto;padding:0;border-radius:50%;background:#fff;color:var(--brand)}
.contact-phone-icon{width:21px;height:21px;background:currentColor;-webkit-mask:url("icons/phone.svg") center/contain no-repeat;mask:url("icons/phone.svg") center/contain no-repeat}
.order-meta{display:flex;justify-content:space-between;font-size:11px;color:#9097aa;margin-top:15px}
.order-meta strong{font-weight:500;color:#6c7fc8}
.toast{position:absolute;bottom:145px;left:50%;transform:translateX(-50%);background:#2e354be8;color:white;padding:11px 16px;border-radius:14px;max-width:87%;width:max-content;font-size:12px;z-index:12;box-shadow:0 6px 25px #1c264520;line-height:1.7;text-align:center;backdrop-filter:blur(10px)}
.modal-backdrop{position:absolute;inset:0;background:#27334b33;backdrop-filter:blur(4px);z-index:10;display:flex;align-items:flex-end}
.bottom-sheet{width:100%;max-height:85%;overflow:auto;background:#f9faff;border-radius:27px 27px 0 0;padding:24px 22px 30px;box-shadow:0 -10px 40px #3848760d;animation:sheet-in .3s var(--ease)}
.sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.sheet-header h2{font-size:17px;font-weight:600}
.sheet-close{width:32px;height:32px;display:grid;place-items:center;background:#edf0f7;border-radius:50%}
.sheet-close img{width:16px;height:16px;opacity:.6}
.text-form{display:flex;gap:9px}
.text-form input{flex:1;min-width:0;height:48px;border:1px solid #e0e5f4;background:white;border-radius:15px;padding:0 14px;color:#30364b;font-size:14px}
.text-form button{background:#7286ff;color:#fff;border-radius:15px;padding:0 17px;font-size:13px}
.command-chips{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}
.command-chips button{font-size:12px;border-radius:999px;background:#edf1ff;color:#6b7abb;padding:9px 12px;min-height:36px}
.order-detail-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #e9edf5;font-size:13px;line-height:1.7}
.order-detail-row span{color:#969cb0;flex-shrink:0}
.order-detail-row b{font-weight:400;text-align:right;color:#414b65}
.detail-note{font-size:11px;color:#999fb2;line-height:1.8;margin-top:15px}
.call-profile{text-align:center;margin:15px 0 25px}
.call-profile .driver-avatar{margin:auto;width:76px;height:76px}
.call-profile h3{margin-top:14px;font-weight:500;font-size:19px}
.call-profile p{font-size:12px;color:#9299ad;margin-top:10px}
.call-end{width:58px;height:58px;background:#e98484;border-radius:50%;display:grid;place-items:center;margin:22px auto 8px}
.call-end img{filter:brightness(0) invert(1);transform:rotate(135deg)}
.history-content{display:grid;gap:20px}
.empty-history{font-size:14px;color:#9a9fb2;line-height:1.9;padding:16px 0 30px}
.detail-cta{width:100%;height:45px;border-radius:999px;background:#7286ff;color:#fff;font-size:14px;margin-top:22px}

.voice-stage { display:block; flex:1; min-height:0; position:static; padding:0; }
.welcome-copy { position:absolute; top:var(--welcome-top); left:24px; right:24px; text-align:center; margin:0; opacity:1; transition:opacity 200ms ease,transform 400ms var(--ease); }
.welcome-copy h2 { font-size:var(--welcome-title-size); line-height:1.5; letter-spacing:1.2px; font-weight:500; }
.phone:not([data-phase=idle]) .voice-stage { flex:0 0 var(--active-stage-height); height:var(--active-stage-height); min-height:0; padding:0; }
.phone:not([data-phase=idle]) .welcome-copy { opacity:0; pointer-events:none; transform:translateY(-12px); }
.phone:not([data-phase=idle]) .orb-button { top:var(--active-orb-top); width:var(--active-orb-size); height:var(--active-orb-size); margin:0; }
.phone:not([data-phase=idle]) .orb-core { inset:5px; }
.phone:not([data-phase=idle]) .orb-shadow { bottom:-6px; }
.phone:not([data-phase=idle]) .orb-caption { margin:0; animation:presence-in 360ms 400ms both; }
.phone:not([data-phase=idle]) 
.conversation { flex:0 0 auto; min-height:0; max-height:104px; padding:0 26px 16px; overflow:auto; overscroll-behavior:contain; scrollbar-width:none; text-align:center; }
.conversation::-webkit-scrollbar,.action-panel::-webkit-scrollbar { display:none; }
.conversation-inner { display:flex; flex-direction:column; gap:8px; }
.message.user,.message.ai { align-self:stretch; max-width:100%; }
.message .bubble { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; white-space:pre-line; }
.message.user .bubble { padding:0; background:none; color:#9298ad; border:0; border-radius:0; font-size:14px; line-height:1.6; }
.message.ai>.bubble { padding:0; color:#333746; font-size:16px; line-height:1.7; }
.interim { color:#7c86ad!important; }
.action-panel { flex:0 1 auto; min-height:0; max-height:min(340px,max(155px,calc(100dvh - 440px))); overflow:auto; overscroll-behavior:contain; scrollbar-width:none; padding:6px 20px 12px; }
.card-group { animation:message-in .35s var(--ease) both; }
.plan-list { display:grid; gap:10px; }
.plan-card { width:100%; border-radius:var(--tourist-card-radius); border:1px solid #fff; overflow:hidden; background:#fff; box-shadow:none; color:var(--tourist-card-ink); text-align:left; padding:0; transition:transform .2s; }
.plan-card:active { transform:scale(.99); }
.plan-card.full { background:#fff; border-color:#fff; }
.booking-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; background:#f4f6ff; }
.booking-heading h3 { font-size:15px; font-weight:500; line-height:1.5; }
.booking-heading>img { width:15px; height:15px; opacity:.55; }
.booking-location { display:flex; align-items:center; gap:6px; padding:0 14px; margin-top:10px; font-size:12px; line-height:1.5; color:var(--tourist-card-muted); }
.booking-location>img { width:13px; height:13px; opacity:.5; flex-shrink:0; }
.booking-location i { font-style:normal; margin:0 7px; color:#b3b9cb; }
.booking-service { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; padding:0 14px 13px; }
.booking-service>p { font-size:13px; line-height:1.7; color:var(--tourist-card-ink); }
.plan-price { flex-shrink:0; display:flex; align-items:baseline; white-space:nowrap; color:var(--tourist-price); line-height:1; }
.plan-price small { font-size:10px; color:#a0a6b8; margin-right:4px; }
.plan-price .yuan { font-size:12px; }
.plan-price strong { font-size:22px; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:-.6px; }
.history-content .message { text-align:left; }
.history-content .message .bubble { display:block; -webkit-line-clamp:unset; }

@keyframes halo-breathe{0%,100%{opacity:.45;transform:scale(.97)}50%{opacity:1;transform:scale(1.06)}}@keyframes wave{to{height:16px;background:#7286ff}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes message-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-in{from{transform:translateY(25%);opacity:.4}to{transform:translateY(0);opacity:1}}



.presence-main { display:flex; align-items:center; justify-content:center; gap:8px; min-height:20px; color:#7a8095; font-size:13px; }
.interrupt-hint { color:#a0a6b8; font-size:10px; line-height:1.5; }
.phone[data-voice=user-speaking] .waveform i { animation:wave .45s ease-in-out infinite alternate; background:#7286ff; }
.phone[data-voice=user-speaking] .orb-halo { background:radial-gradient(circle,#aebcff8c,transparent 72%); animation:halo-breathe .9s ease-in-out infinite; }
.driver-card { padding:0; overflow:hidden; border:1px solid #fff; border-radius:var(--tourist-card-radius); background:#fff; box-shadow:none; color:var(--tourist-card-ink); }
.driver-card-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; background:var(--tourist-card-soft); }
.driver-card-heading h3 { font-size:16px; line-height:1.4; font-weight:500; }
.driver-card-heading p { margin-top:3px; font-size:12px; line-height:1.5; color:var(--tourist-card-muted); }
.driver-card-heading>span { flex-shrink:0; padding:5px 10px; border-radius:999px; background:var(--brand); color:#fff; font-size:11px; }
.driver-assignment { margin:12px 14px 0; padding:10px; border-radius:12px; background:#f7f8fb; }
.driver-card .driver-main { gap:10px; }
.driver-card .driver-avatar { width:40px; height:40px; background:#e6eaf6; }
.driver-card .driver-info h3 { font-size:14px; font-weight:500; }
.driver-card .driver-info { flex:1; min-width:0; }
.driver-card .driver-info p { margin-top:4px; font-size:11px; }
.driver-card .vehicle { margin:8px 0 0; font-size:11px; color:var(--tourist-card-muted); }
.driver-card .vehicle b { color:var(--tourist-card-ink); font-weight:400; }
.driver-trip { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; }
.driver-trip-content { min-width:0; }
.driver-trip h4 { margin:0; font-size:14px; line-height:1.6; font-weight:500; }
.driver-trip p { margin-top:4px; color:var(--tourist-card-muted); font-size:12px; line-height:1.6; }
.driver-trip i { margin:0 7px; font-style:normal; color:#a5acbb; }
.driver-price { flex-shrink:0; white-space:nowrap; color:var(--tourist-price); font-size:12px; }
.driver-price small { display:block; text-align:right; margin-bottom:3px; color:#a0a6b8; font-size:10px; }
.driver-price strong { font-size:22px; line-height:1; font-weight:500; }
@keyframes orb-color-evolve { 0%{background-size:200% 175%,120% 130%,145% 155%;background-position:20% 30%,75% 60%,45% 70%;opacity:.85} 50%{background-size:130% 135%,205% 190%,140% 130%;background-position:45% 55%,55% 40%,60% 50%;opacity:.98} 100%{background-size:155% 140%,135% 145%,210% 195%;background-position:35% 65%,70% 45%,40% 55%;opacity:.9} }
@keyframes orb-color-wash { from{opacity:.2} to{opacity:.9} }
@keyframes orb-edge-tint { 0%,6%{opacity:0} 20%,45%{opacity:.82} 70%,100%{opacity:0} }
@keyframes orb-edge-travel { 0%,100%{background-position:-100% 50%} 12.5%{background-position:-60% -60%} 25%{background-position:50% -100%} 37.5%{background-position:160% -60%} 50%{background-position:200% 50%} 62.5%{background-position:160% 160%} 75%{background-position:50% 200%} 87.5%{background-position:-60% 160%} }
@keyframes presence-in { from{opacity:0;transform:translate(-50%,8px)} to{opacity:1;transform:translate(-50%,0)} }
@media(min-width:540px) {
  body { min-height:100vh; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:18px 0; background:radial-gradient(ellipse at 35% 15%,#f0f1f8,#e9e9ed 70%); }
  .phone { height:min(844px,calc(100dvh - 36px)); border-radius:30px; border:1px solid #fff; box-shadow:0 22px 75px #414b6e10,0 2px 10px #414b6e04; margin:0; }
}
@media(max-height:760px) {
  .phone { --idle-orb-size:168px; --active-orb-size:100px; --active-orb-top:122px; --active-stage-height:202px; --idle-orb-top:calc(50% - 78px); }
  .voice-footer { padding-top:8px; }
  .home-indicator { margin-top:18px; }
}
@media(max-height:700px) {
  .phone { --active-orb-size:92px; --active-orb-top:110px; --active-stage-height:180px; }
}
@media(max-height:640px) {
  .phone { --idle-orb-size:134px; --active-orb-size:84px; --active-orb-top:100px; --active-stage-height:164px; --idle-orb-top:calc(50% - 60px); }
  .home-indicator { margin-top:13px; }
  .statusbar { height:33px; }
  .app-header { height:48px; }
  .voice-controls { --voice-control-size:56px; }
}
@media(max-width:360px) {
  .voice-footer { padding-left:18px; padding-right:18px; }
  .voice-controls { --voice-control-size:56px; gap:10px; padding:0 6px; }
  .action-panel { padding-left:16px; padding-right:16px; }
  .booking-service { gap:6px; }
  .booking-service>p { font-size:12px; }
  .plan-price strong { font-size:20px; }
  .driver-card .vehicle { font-size:10px; gap:5px; }
  .driver-price strong { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after { animation:none!important; scroll-behavior:auto!important; transition:none!important; }
}
