.consent-mask[data-v-95e68ff7]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:#18103473;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;overflow-y:auto}.consent-card[data-v-95e68ff7]{width:100%;max-width:380px;margin:auto;max-height:calc(100dvh - 48px);overflow-y:auto;background:#fffffff0;backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border:1px solid rgba(255,255,255,.7);border-radius:22px;box-shadow:0 24px 60px #271f5940;padding:26px 22px 20px;text-align:center}.consent-icon[data-v-95e68ff7]{width:64px;height:64px;margin:0 auto 14px;border-radius:20px;background:var(--color-primary-gradient);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #6657f659}.consent-title[data-v-95e68ff7]{font-size:calc(18px * var(--font-scale, 1));font-weight:700;color:#3b2d7a;margin-bottom:12px}.consent-desc[data-v-95e68ff7]{font-size:calc(13px * var(--font-scale, 1));color:#4a4560;line-height:1.7;text-align:left;margin-bottom:8px}.consent-list[data-v-95e68ff7]{text-align:left;margin:0 0 12px;padding-left:4px;list-style:none}.consent-list li[data-v-95e68ff7]{font-size:calc(13px * var(--font-scale, 1));color:#4a4560;line-height:1.9;padding-left:18px;position:relative}.consent-list li[data-v-95e68ff7]:before{content:"✓";position:absolute;left:0;color:#22b98b;font-weight:700}.consent-note[data-v-95e68ff7]{font-size:calc(11px * var(--font-scale, 1));color:#9893a7;line-height:1.7;text-align:left;margin-bottom:18px}.consent-allow[data-v-95e68ff7]{width:100%;padding:13px;border:none;border-radius:14px;background:var(--color-primary-gradient);color:#fff;font-size:calc(15px * var(--font-scale, 1));font-weight:600;cursor:pointer;box-shadow:0 8px 20px #6657f64d;margin-bottom:10px;transition:transform .2s}.consent-allow[data-v-95e68ff7]:active{transform:scale(.98)}.consent-deny[data-v-95e68ff7]{width:100%;padding:11px;border:none;border-radius:14px;background:#6657f614;color:#686378;font-size:calc(14px * var(--font-scale, 1));font-weight:500;cursor:pointer;transition:background .2s}.consent-deny[data-v-95e68ff7]:active{background:#6657f626}.consent-fade-enter-active[data-v-95e68ff7],.consent-fade-leave-active[data-v-95e68ff7]{transition:opacity .25s ease}.consent-fade-enter-from[data-v-95e68ff7],.consent-fade-leave-to[data-v-95e68ff7]{opacity:0}@font-face{font-family:MiSans;src:url(/fonts/MiSans-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:MiSans;src:url(/fonts/MiSans-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #6657F6;--color-primary-light: #9D8CFF;--color-primary-bg: rgba(102, 87, 246, .09);--color-primary-gradient: linear-gradient(135deg, #6F3DFF 0%, #9333FF 55%, #C026FF 100%);--color-accent: #FF6FAE;--color-cyan: #25C9C3;--color-success: #22B98B;--color-warning: #FF9B51;--color-error: #F66572;--color-bg: #F4F5FA;--color-card: rgba(255, 255, 255, .82);--color-text: #201C35;--color-text-secondary: #686378;--color-text-muted: #9893A7;--color-border: rgba(99, 87, 142, .12);--glass-bg: rgba(255, 255, 255, .78);--glass-border: rgba(255, 255, 255, .7);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 20px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 10px 30px rgba(42, 34, 91, .09);--shadow-lg: 0 24px 60px rgba(39, 31, 89, .14);--font-scale: 1;--app-text-scale: 100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,HarmonyOS Sans SC,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;background:radial-gradient(circle at 12% 4%,rgba(102,87,246,.1),transparent 26rem),radial-gradient(circle at 92% 18%,rgba(37,201,195,.08),transparent 24rem),radial-gradient(circle at 50% 108%,rgba(255,240,214,.5),transparent 30rem),var(--color-bg);-webkit-tap-highlight-color:transparent;color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:var(--app-text-scale);text-size-adjust:var(--app-text-scale)}html,body{overflow-x:clip}#app-container{min-height:100vh;padding-bottom:70px}.app-bottom-nav{position:fixed;bottom:-1px;left:0;right:0;width:auto;height:calc(69px + env(safe-area-inset-bottom,0px));background:#f7f7fc;backdrop-filter:none;-webkit-backdrop-filter:none;display:flex;justify-content:space-around;min-height:69px;padding:7px max(6px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left));border-top:0;box-shadow:none;z-index:150;outline:0;overflow:hidden;transform:none}.recent-trip-bar{position:fixed;z-index:145;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(78px + env(safe-area-inset-bottom,0px));left:max(14px,env(safe-area-inset-left,0px));display:grid;grid-template-columns:42px minmax(0,1fr) auto 32px;align-items:center;gap:10px;width:min(600px,calc(100% - 28px));min-height:66px;margin:0 auto;padding:9px 9px 9px 10px;border:1px solid rgba(255,255,255,.9);border-radius:20px;color:var(--color-text);background:#fffffff0;box-shadow:0 16px 40px #2e20692e;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);cursor:pointer;-webkit-user-select:none;user-select:none}.recent-trip-bar:focus-visible{outline:3px solid rgba(102,87,246,.24);outline-offset:2px}.recent-trip-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;color:#fff;background:var(--color-primary-gradient);box-shadow:0 8px 18px #6f3dff45}.recent-trip-icon svg{width:22px;height:22px;fill:currentColor}.recent-trip-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.recent-trip-copy strong{overflow:hidden;font-size:calc(14px * var(--font-scale, 1));font-weight:800;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.recent-trip-copy small{overflow:hidden;color:var(--color-text-secondary);font-size:calc(11px * var(--font-scale, 1));line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.recent-trip-open{min-width:54px;border-radius:999px;padding:7px 12px;color:#fff;background:var(--color-primary-gradient);font-size:calc(12px * var(--font-scale, 1));font-weight:800;text-align:center}.recent-trip-close{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;color:#777184;background:#f1eff8;font:400 22px/1 sans-serif;cursor:pointer}.recent-trip-close:hover{color:#4f4762;background:#e8e4f5}.recent-trip-rise-enter-active,.recent-trip-rise-leave-active{transition:opacity .2s ease,transform .24s ease}.recent-trip-rise-enter-from,.recent-trip-rise-leave-to{opacity:0;transform:translateY(18px) scale(.98)}.app-nav-btn{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-muted);text-decoration:none;flex:1 1 0;min-width:0;border:0;outline:none;cursor:pointer;border-radius:15px;-webkit-tap-highlight-color:transparent;transition:color .12s linear,background-color .12s linear,transform .12s ease}.app-nav-btn:focus,.app-nav-btn:focus-visible,.app-nav-btn:active{outline:none;box-shadow:none}.app-nav-btn:focus-visible{color:var(--color-primary);background:linear-gradient(180deg,#6657f61f,#6657f609)}.app-nav-btn svg{width:22px;height:22px;margin-bottom:2px;fill:currentColor}.app-nav-btn span{font-size:calc(10px * var(--font-scale, 1));font-weight:500}.app-nav-btn.active{color:var(--color-primary);background:linear-gradient(180deg,#6657f61f,#6657f609);transform:translateY(-1px)}#app-container:has(.login-page),#app-container:has(.register-page){padding-bottom:0}@media (max-width: 360px){.recent-trip-bar{grid-template-columns:38px minmax(0,1fr) 30px;gap:8px;min-height:60px;border-radius:17px}.recent-trip-icon{width:38px;height:38px;border-radius:12px}.recent-trip-open{display:none}.recent-trip-copy strong{font-size:calc(13px * var(--font-scale, 1))}.recent-trip-copy small{font-size:calc(10px * var(--font-scale, 1))}.app-nav-btn span{font-size:calc(9px * var(--font-scale, 1))}.app-nav-btn svg{width:20px;height:20px}}@supports (padding-bottom: env(safe-area-inset-bottom)){#app-container{padding-bottom:calc(70px + env(safe-area-inset-bottom))}}
