:root{--颜色-背景:oklch(97.5% 0 0);--颜色-表面:oklch(100% 0 0);--颜色-柔和表面:oklch(95.5% 0 0);--颜色-文字:oklch(16% 0 0);--颜色-次要文字:oklch(47% 0 0);--颜色-边框:oklch(91% 0 0);--颜色-主操作:oklch(16% 0 0);--颜色-主操作深:oklch(10% 0 0);--颜色-反白文字:oklch(99% 0 0);--颜色-强调:oklch(56% .1 185);--颜色-强调文字:oklch(38% .08 185);--颜色-强调浅底:oklch(56% .1 185/.14);--颜色-路线:oklch(58% .1 185);--颜色-风险:oklch(56% .18 27);--颜色-风险文字:oklch(45% .15 27);--颜色-风险浅底:oklch(56% .18 27/.1);--颜色-警示:oklch(72% .12 75);--颜色-遮罩:oklch(16% 0 0/.34);--字体-展示:-apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Helvetica Neue", sans-serif;--字体-正文:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Helvetica Neue", sans-serif;--字体-等宽:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--阴影-轻:0 4px 16px oklch(16% 0 0/.08), 0 1px 3px oklch(16% 0 0/.05)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html,body{color:var(--颜色-文字);font-family:var(--字体-正文);background:oklch(93% 0 0)}body{overflow-x:hidden}button,input{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible{outline:3px solid var(--颜色-强调);outline-offset:2px}.应用{background:var(--颜色-背景);width:min(100%,440px);min-height:100dvh;margin:0 auto;position:relative;overflow:hidden}.激活页{min-height:100dvh;padding:calc(48px + env(safe-area-inset-top)) 16px 44px}.激活头部{padding:0 4px 22px}.品牌方块{background:var(--颜色-主操作);width:56px;height:56px;color:var(--颜色-反白文字);border-radius:16px;place-items:center;margin-bottom:20px;display:grid}.登录须知入口{color:var(--颜色-次要文字);margin:12px auto 0;font-size:12px;display:block}.眉标{color:var(--颜色-主操作深);font-family:var(--字体-等宽);letter-spacing:.08em;margin:0 0 6px;font-size:11px}h1,h2,h3,p{margin-top:0}.激活头部 h1{font-family:var(--字体-展示);letter-spacing:-.01em;margin-bottom:8px;font-size:30px;font-weight:800;line-height:1.25}.激活头部 p{max-width:310px;color:var(--颜色-次要文字);margin-bottom:0;font-size:14px;line-height:1.7}.面板{border:1px solid var(--颜色-边框);background:var(--颜色-表面);box-shadow:var(--阴影-轻);border-radius:18px;padding:18px}.字段标签{margin-bottom:8px;font-size:12px;font-weight:650;display:block}.文本输入{border:1px solid var(--颜色-边框);background:var(--颜色-柔和表面);width:100%;height:48px;color:var(--颜色-文字);border-radius:12px;padding:0 13px}.字段提示,.免责声明{color:var(--颜色-次要文字);margin:8px 0 0;font-size:12px;line-height:1.55}.勾选行{color:var(--颜色-次要文字);align-items:flex-start;gap:9px;margin-top:16px;font-size:12px;line-height:1.6;display:flex}.勾选行 input{width:17px;height:17px;accent-color:var(--颜色-主操作);flex:none;margin:1px 0 0}.链接按钮{color:var(--颜色-主操作深);background:0 0;border-bottom:1px solid;padding:0}.按钮行{align-items:center;gap:9px;margin-top:18px;display:flex}.主按钮,.次按钮{letter-spacing:.01em;border-radius:12px;min-height:48px;padding:0 15px;font-size:14px;font-weight:650}.主按钮{color:#fff;background:var(--颜色-主操作);box-shadow:0 6px 16px oklch(16% 0 0/.16)}.主按钮:hover{background:var(--颜色-主操作深)}.主按钮:disabled{color:oklch(55% 0 0);box-shadow:none;background:oklch(88% 0 0)}.次按钮{border:1px solid var(--颜色-边框);color:var(--颜色-主操作深);background:var(--颜色-柔和表面)}.整行{width:100%}.登录标题{margin:0 0 6px;font-size:18px}.步骤提示{color:var(--颜色-次要文字);margin:0 0 14px;font-size:12px}.登录字段{margin-top:14px}.登录注册页 .文本输入[readonly]{color:var(--颜色-次要文字)}.登录切换行{flex-wrap:wrap;justify-content:space-between;gap:8px 12px;margin-top:16px;font-size:13px;display:flex}.人机验证:not(:empty){justify-content:center;margin-top:16px;display:flex}.人机验证提示{text-align:center;margin:16px 0 0}.登录切换行 .链接按钮:disabled{color:var(--颜色-次要文字);border-bottom-color:#0000}.错误{min-height:18px;color:var(--颜色-风险文字);margin:10px 0 0;font-size:12px}.启动过渡页{opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100dvh;padding:0 16px;animation:.24s ease-out .4s forwards 启动过渡淡入;display:flex}.启动过渡标识{color:var(--颜色-文字);letter-spacing:.04em;margin:0;font-size:22px;font-weight:700}.启动过渡提示{color:var(--颜色-次要文字);margin:0;font-size:13px}@keyframes 启动过渡淡入{to{opacity:1}}@media (prefers-reduced-motion:reduce){.启动过渡页{animation-duration:1ms}}.地图区{min-height:100dvh;padding-bottom:74px;position:relative}.地图画布{--地图顶部覆盖高度:0px;--地图底部覆盖高度:0px;background:oklch(93% 0 0);height:calc(100dvh - 74px);min-height:570px;position:relative;overflow:hidden}.应用--导航模式{height:100dvh;min-height:100dvh}.地图区--导航模式{height:100dvh;min-height:0;padding-bottom:0}.地图区--导航模式 .地图画布{height:100%;min-height:0}.地图sdk容器{z-index:0;background:oklch(93% 0 0);position:absolute;inset:0;overflow:hidden}.地图sdk容器>.演示地图图层,.地图sdk容器>.地图svg,.地图sdk容器 .amap-container{width:100%;height:100%}.地图sdk容器>svg{display:block}.真实地图风险图钉{cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.真实地图风险图钉:focus-visible{outline:3px solid var(--颜色-主操作深);outline-offset:2px}.地图搜索{z-index:7;top:calc(16px + env(safe-area-inset-top));background:var(--颜色-表面);height:56px;box-shadow:var(--阴影-轻);border-radius:16px;align-items:center;gap:12px;padding:0 16px;display:flex;position:absolute;left:16px;right:16px}.地图搜索 svg{width:20px;color:var(--颜色-文字)}.地图搜索 button{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--颜色-次要文字);text-align:left;background:0 0;flex:1;align-self:stretch;padding:0;font-size:17px;overflow:hidden}.地图状态{z-index:6;top:calc(84px + env(safe-area-inset-top));border:1px solid var(--颜色-边框);color:var(--颜色-次要文字);background:#ffffffeb;border-radius:999px;padding:7px 10px;font-size:11px;position:absolute;left:16px;box-shadow:0 3px 12px oklch(16% 0 0/.08)}.地图状态 i{background:var(--颜色-路线);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.地图状态.警示 i{background:var(--颜色-警示)}.地图控制{z-index:7;right:16px;bottom:calc(var(--地图底部覆盖高度,142px) + 16px);border:1px solid var(--颜色-边框);width:46px;height:46px;color:var(--颜色-主操作深);box-shadow:var(--阴影-轻);background:#fff;border-radius:14px;place-items:center;display:grid;position:absolute}.地图控制:disabled{cursor:not-allowed;opacity:.48}.地图控制--回到导航{white-space:nowrap;gap:6px;width:auto;min-width:46px;padding:0 12px;display:inline-flex}.地图控制文案{font-size:12px;font-weight:650}.风险点地图卡片{z-index:9;border:1px solid var(--颜色-边框);width:min(260px,100% - 32px);max-height:min(220px,100% - 32px);box-shadow:var(--阴影-轻);background:#fffffffa;border-radius:11px;padding:10px 12px 12px;position:absolute;overflow:auto;transform:translateZ(0)}.风险点地图卡片:after{content:"";border-right:1px solid var(--颜色-边框);border-bottom:1px solid var(--颜色-边框);background:#fff;width:12px;height:12px;position:absolute;transform:translate(-50%)rotate(45deg)}.风险点地图卡片[data-placement=above]:after{bottom:-7px;left:var(--风险点卡片箭头-left,50%)}.风险点地图卡片[data-placement=below]:after{top:-7px;left:var(--风险点卡片箭头-left,50%);border-top:1px solid var(--颜色-边框);border-bottom:0;border-right:0}.风险点地图卡片头{justify-content:space-between;align-items:center;gap:10px;display:flex}.风险点地图卡片头 h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:13px;line-height:1.45}.风险点地图卡片关闭{flex:none;width:44px;height:44px}.风险点地图卡片字段{gap:7px;margin:9px 0 0;display:grid}.风险点地图卡片字段>div{grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:8px;display:grid}.风险点地图卡片字段 dt{color:var(--颜色-次要文字);font-size:12px}.风险点地图卡片字段 dd{min-width:0;color:var(--颜色-文字);overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:12px;line-height:1.5}.导航信息网格{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.导航信息网格>div{border:1px solid var(--颜色-边框);background:var(--颜色-柔和表面);border-radius:10px;padding:10px 11px}.导航信息网格 small,.导航信息网格 strong{display:block}.导航信息网格 small{color:var(--颜色-次要文字);font-size:11px}.导航信息网格 strong{margin-top:4px;font-size:15px}.导航声音按钮{justify-content:center;align-items:center;gap:6px;display:inline-flex}.地图抽屉{z-index:6;min-height:142px;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--颜色-边框);background:#fffffff7;border-radius:22px 22px 0 0;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -10px 24px oklch(16% 0 0/.08)}.抽屉把手{background:var(--颜色-边框);border-radius:99px;width:34px;height:4px;margin:-5px auto 14px}.地图抽屉 h2{font-family:var(--字体-展示);margin:0 0 4px;font-size:19px}.地图抽屉 p{color:var(--颜色-次要文字);margin:0;font-size:12px;line-height:1.6}.首页抽屉标题{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.首页抽屉标题 h2{margin:0;font-size:17px}.首页抽屉标题 span{color:var(--颜色-次要文字);white-space:nowrap;font-size:13px}.最近去过{margin:0;padding:0;list-style:none}.最近去过 li+li{border-top:1px solid var(--颜色-边框)}.最近去过 button{width:100%;min-height:52px;color:var(--颜色-文字);text-align:left;background:0 0;align-items:center;gap:12px;padding:6px 0;display:flex}.最近去过图标{background:var(--颜色-柔和表面);border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.最近去过文字{flex-direction:column;gap:2px;min-width:0;display:flex}.最近去过文字 strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.最近去过文字 small{color:var(--颜色-次要文字);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.导航顶部提示{z-index:9;top:calc(12px + env(safe-area-inset-top));border:1px solid color-mix(in oklab, var(--颜色-边框) 86%, #fff);max-height:min(24dvh,148px);box-shadow:var(--阴影-轻);background:#fffffff5;border-radius:12px;padding:11px 12px;position:absolute;left:12px;right:12px;overflow:hidden}.导航顶部提示主体{align-items:flex-start;gap:10px;min-width:0;display:flex}.导航顶部提示主体>svg{width:22px;height:22px;color:var(--颜色-主操作深);flex:none}.导航顶部提示文案{gap:2px;min-width:0;display:grid}.导航顶部提示文案 strong,.导航顶部提示文案 span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.导航顶部提示文案 strong{font-size:14px;line-height:1.45}.导航顶部提示文案 span,.导航顶部提示状态{color:var(--颜色-次要文字);font-size:12px;line-height:1.45}.导航顶部提示状态行{align-items:center;gap:8px;margin-top:7px;display:flex}.导航顶部提示状态{flex:1;min-width:0;margin:0;line-height:1.45;overflow:hidden}.导航顶部提示恢复{white-space:nowrap;border-radius:8px;min-height:36px;padding:0 10px;font-size:12px}.导航两级抽屉,.导航状态抽屉{z-index:10;border-top:1px solid var(--颜色-边框);background:#fffffffa;border-radius:18px 18px 0 0;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 22px oklch(16% 0 0/.1)}.导航两级抽屉{padding:8px 16px calc(10px + env(safe-area-inset-bottom))}.导航两级抽屉--展开,.导航状态抽屉{overscroll-behavior:contain;max-height:min(34dvh,280px);overflow:auto}.导航状态抽屉{padding:18px 16px calc(16px + env(safe-area-inset-bottom))}.导航状态抽屉 h2{font-family:var(--字体-展示);margin:0 0 5px;font-size:18px}.导航状态抽屉 p{color:var(--颜色-次要文字);margin:0;font-size:12px;line-height:1.55}.导航抽屉摘要{width:100%;min-height:88px;color:var(--颜色-文字);text-align:left;touch-action:pan-y;background:0 0;align-items:center;gap:10px;padding:8px 0 4px;display:flex}.导航抽屉摘要:disabled{cursor:default;opacity:1}.导航抽屉把手{background:var(--颜色-边框);border-radius:99px;width:34px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.导航抽屉摘要内容{flex:1;grid-template-columns:max-content max-content minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding-top:12px;display:grid}.导航抽屉摘要内容 strong{white-space:nowrap;color:var(--颜色-文字);font-family:var(--字体-等宽);font-size:15px}.导航抽屉摘要内容 span{min-width:0;color:var(--颜色-次要文字);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.导航抽屉摘要>svg{width:22px;height:22px;color:var(--颜色-主操作深);flex:none;margin-top:10px}.导航抽屉操作{border-top:1px solid var(--颜色-边框);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 0 2px;display:grid}.导航抽屉操作按钮{border:1px solid var(--颜色-边框);background:var(--颜色-柔和表面);min-width:0;min-height:52px;color:var(--颜色-主操作深);border-radius:10px;place-items:center;gap:3px;padding:7px 4px;font-size:12px;font-weight:650;display:grid}.导航抽屉操作按钮 svg{width:18px;height:18px}.导航抽屉操作按钮--结束{color:var(--颜色-风险文字);background:var(--颜色-风险浅底)}.导航接近提示{min-height:50px;color:var(--颜色-文字);justify-content:space-between;align-items:flex-start;gap:10px;padding:6px 0 10px;font-size:13px;font-weight:650;display:flex}.导航接近提示内容{gap:3px;min-width:0;display:grid}.导航接近提示内容 strong{color:var(--颜色-文字)}.导航接近提示内容 small{color:var(--颜色-次要文字);font-size:12px;font-weight:400}.导航接近提示操作{flex:none;align-items:center;gap:8px;display:flex}.导航接近提示操作 button{min-width:96px;min-height:44px}@media (width<=360px){.导航接近提示{flex-direction:column}.导航接近提示操作{width:100%}.导航接近提示操作 button{flex:1}}.抽屉按钮{gap:9px;margin-top:13px;display:flex}.抽屉按钮 .主按钮{flex:1}.底部导航{z-index:20;width:min(100%,440px);height:74px;padding:8px 16px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--颜色-边框);background:#fffffff5;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.标签按钮{color:oklch(55% 0 0);background:0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;display:flex}.标签按钮 svg{width:20px}.标签按钮.选中{color:var(--颜色-主操作深);font-weight:650}.内容页{min-height:calc(100dvh - 74px);padding:calc(24px + env(safe-area-inset-top)) 16px 100px;overflow:auto}.页面标题{font-family:var(--字体-展示);letter-spacing:-.01em;margin:0 0 8px;font-size:30px;font-weight:800;line-height:1.3}.分组标签{color:var(--颜色-次要文字);font-family:var(--字体-正文);margin:18px 0 8px;font-size:13px;font-weight:600}.页面副标题{color:var(--颜色-次要文字);margin:0 0 19px;font-size:13px;line-height:1.65}.区块标题{font-family:var(--字体-展示);margin:26px 0 8px;font-size:19px}.卡片,.路线卡片{border:1px solid var(--颜色-边框);background:var(--颜色-表面);border-radius:18px;padding:16px}.路线卡片--当前{border:2px solid var(--颜色-强调)}.路线卡片 .路线行{background:0 0;border:0;min-height:0;padding:0}.路线统计{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.路线统计 strong{font-family:var(--字体-展示);font-size:20px;font-weight:800;display:block}.路线统计 small{color:var(--颜色-次要文字);font-size:12px}.路线卡片+.路线卡片{margin-top:12px}.路线历史列表{border:1px solid var(--颜色-边框);background:var(--颜色-表面);border-radius:18px;grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.路线历史项{background:var(--颜色-表面);justify-content:space-between;align-items:center;gap:10px;min-width:0;min-height:64px;padding:10px 16px;display:flex}.路线历史项+.路线历史项{border-top:1px solid var(--颜色-边框)}.路线历史项>div{flex:1;min-width:0}.路线历史项 strong,.路线历史项 small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.路线历史项 strong{white-space:normal;overflow-wrap:anywhere;font-size:15px;font-weight:600}.路线历史项 small{color:var(--颜色-次要文字);margin-top:3px;font-size:12px}.路线历史项 .次按钮{border-radius:18px;flex:none;min-height:36px;padding:0 12px;font-size:13px}.路线卡片>.路线行+.路线行{margin-top:8px}.空状态{border:1px dashed var(--颜色-边框);text-align:center;background:#ffffff94;border-radius:15px;padding:28px 18px}.空状态 strong{font-family:var(--字体-展示);font-size:17px;display:block}.空状态 p{color:var(--颜色-次要文字);margin:7px 0 16px;font-size:12px;line-height:1.6}.搜索提醒{text-align:left}.搜索提醒 p{color:var(--颜色-文字);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.65}.列表{border:1px solid var(--颜色-边框);background:var(--颜色-表面);border-radius:18px;overflow:hidden}.列表行{border-bottom:1px solid var(--颜色-边框);width:100%;color:var(--颜色-文字);text-align:left;background:#fff;align-items:center;gap:11px;padding:14px;display:flex}.列表行:last-child{border-bottom:0}.列表行 svg{width:20px;color:var(--颜色-主操作深);flex:none}.列表行>span{flex:auto;min-width:0}.列表行 strong{font-size:14px;display:block}.列表行 small{color:var(--颜色-次要文字);margin-top:3px;font-size:12px;line-height:1.45;display:block}.资料头{align-items:center;gap:11px;display:flex}.头像{background:var(--颜色-主操作);width:52px;height:52px;color:var(--颜色-反白文字);font-family:var(--字体-展示);border-radius:50%;place-items:center;font-size:18px;font-weight:650;display:grid}.资料头+.次数卡{margin-top:16px}.资料名{font-size:18px;font-weight:700}.资料副标题{color:var(--颜色-次要文字);margin-top:3px;font-size:12px}.账户网格{border-top:1px solid var(--颜色-边框);grid-template-columns:repeat(3,1fr);gap:6px;margin-top:17px;padding-top:13px;display:grid}.账户网格 strong{font-family:var(--字体-等宽);font-size:18px;display:block}.账户网格 small{color:var(--颜色-次要文字);font-size:11px}.摄像头结果列表{margin-top:10px}.摄像头结果项{border-bottom:1px solid var(--颜色-边框);gap:3px;padding:10px 0;display:grid}.摄像头结果项:last-child{border-bottom:0}.摄像头结果项 strong{font-size:13px}.摄像头结果项 small{color:var(--颜色-次要文字);font-size:12px}.摄像头查询行{min-width:0}.摄像头查询行 .文本输入{flex:auto;min-width:0}.摄像头查询按钮{white-space:nowrap;flex:none;min-width:64px}.兑换表单{border-top:1px solid var(--颜色-边框);margin-top:16px;padding-top:16px}.兑换行{min-width:0;margin-top:0}.兑换行 .文本输入{flex:auto;min-width:0}.兑换行 .主按钮{white-space:nowrap;flex:none;min-width:72px}.退出登录卡{margin-top:16px}.注销入口{color:var(--颜色-次要文字);margin:16px auto 0;font-size:13px;display:block}.注销表单{margin-top:16px}.注销表单 .按钮行>button{flex:1}.主按钮.危险{background:var(--颜色-风险);box-shadow:none}.主按钮.危险:hover{background:var(--颜色-风险文字)}.额度出口列表{gap:9px;margin-top:16px;display:grid}.额度出口{min-height:58px;padding:12px 14px}.额度出口>span{flex:1;min-width:0}.弹层返回{margin-top:12px}.覆盖层{z-index:100;background:var(--颜色-遮罩);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.底部面板{overscroll-behavior:contain;width:min(100%,440px);max-height:88dvh;padding:20px 16px calc(18px + env(safe-area-inset-bottom));background:#fff;border-radius:22px 22px 0 0;overflow:auto;box-shadow:0 -10px 32px oklch(16% 0 0/.14)}.面板头{justify-content:space-between;align-items:center;gap:14px;display:flex}.底部面板 h2{font-family:var(--字体-展示);margin:0;font-size:21px;line-height:1.4}.关闭{width:44px;height:44px;color:var(--颜色-次要文字);background:var(--颜色-柔和表面);border-radius:10px;place-items:center;display:grid}.搜索输入行{border:1px solid var(--颜色-边框);background:var(--颜色-柔和表面);border-radius:12px;align-items:center;gap:9px;height:48px;margin-top:15px;padding:0 0 0 12px;display:flex}.搜索输入行 svg{width:18px;color:var(--颜色-次要文字)}.搜索输入行 input{min-width:0;color:var(--颜色-文字);background:0 0;border:0;outline:0;flex:1}.搜索输入行 .搜索按钮{white-space:nowrap;min-width:64px;height:46px;min-height:44px;box-shadow:none;flex:none}.搜索输入行:focus-within{border-color:var(--颜色-主操作);box-shadow:0 0 0 3px var(--颜色-强调浅底)}.搜索结果{border:1px solid var(--颜色-边框);border-radius:13px;margin-top:9px;overflow:hidden}.搜索结果 button{border-bottom:1px solid var(--颜色-边框);width:100%;color:var(--颜色-文字);text-align:left;background:#fff;align-items:center;gap:10px;padding:12px;display:flex}.搜索结果 button:last-child{border-bottom:0}.结果标记{width:30px;height:30px;color:var(--颜色-主操作深);background:var(--颜色-强调浅底);border-radius:9px;place-items:center;display:grid}.结果文案{flex:1;min-width:0}.结果文案 strong{font-size:14px;display:block}.结果文案 small{color:var(--颜色-次要文字);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;display:block;overflow:hidden}.搜索结果 .结果文案 strong{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.路线表单{gap:10px;margin-top:17px;display:grid}.路线行{border:1px solid var(--颜色-边框);background:var(--颜色-柔和表面);width:100%;min-height:54px;color:var(--颜色-文字);text-align:left;border-radius:12px;align-items:center;gap:11px;padding:9px 12px;display:flex}.路线行 .标记{background:var(--颜色-路线);border-radius:50%;width:9px;height:9px}.路线行.终点 .标记{background:var(--颜色-文字);border-radius:2px}.路线行-copy{flex:1;min-width:0}.路线行-copy small{color:var(--颜色-次要文字);margin-bottom:2px;font-size:11px;display:block}.路线行-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.起终点卡片组{align-items:center;gap:10px;margin-top:17px;display:flex}.起终点卡片组 .路线表单{border:1px solid var(--颜色-边框);background:var(--颜色-表面);border-radius:16px;flex:1;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;margin-top:0;overflow:hidden}.起终点卡片组 .路线行{background:0 0;border:0;border-radius:0;gap:12px;min-width:0;min-height:56px;padding:4px 6px 4px 14px}.起终点卡片组 .路线行+.路线行{border-top:1px solid var(--颜色-边框)}.起终点卡片组 .路线行 .标记{border:2.5px solid var(--颜色-路线);background:var(--颜色-表面);width:10px;height:10px}.起终点卡片组 .路线行.终点 .标记{background:var(--颜色-文字);border:0;border-radius:2px}.起终点卡片组 .路线行-copy strong{font-size:16px;font-weight:600}.交换按钮{border:1px solid var(--颜色-边框);background:var(--颜色-表面);width:44px;height:44px;color:var(--颜色-文字);border-radius:50%;flex:none;place-items:center;display:grid}.交换按钮:disabled{cursor:not-allowed;opacity:.4}.提示{border-radius:11px;margin-top:16px;padding:13px;font-size:13px;line-height:1.65}.提示.信息{background:var(--颜色-强调浅底);color:var(--颜色-主操作深)}.提示.警示{background:var(--颜色-柔和表面);color:var(--颜色-文字)}.提示.错误{background:var(--颜色-风险浅底);color:var(--颜色-风险文字)}.提示.中性{background:var(--颜色-柔和表面);color:var(--颜色-次要文字)}@media (width>=700px){.应用{box-shadow:0 0 0 1px oklch(16% 0 0/.05),0 22px 60px oklch(16% 0 0/.12)}}.偏航状态面板{flex-direction:column;max-height:min(64dvh,520px);display:flex;overflow:hidden}.偏航状态说明{overflow-wrap:anywhere;overscroll-behavior:contain;min-height:0;overflow-y:auto}.偏航状态操作{flex-direction:column;flex:none;gap:8px;display:flex}.偏航状态操作 button{white-space:nowrap;overflow-wrap:normal;min-width:0;height:auto;min-height:48px}.偏航状态操作>.主按钮{flex:none;width:100%}.偏航次级操作{flex-wrap:wrap;gap:8px;display:flex}.偏航次级操作>.次按钮{flex:calc(50% - 4px);min-width:max-content}@media (height<=480px){.偏航状态面板{max-height:calc(100dvh - 80px);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}}.用户须知正文{overflow-wrap:anywhere;margin:16px 0}.用户须知正文 h3{margin:20px 0 8px;font-size:16px;line-height:1.5}.用户须知正文 p,.激活头部 .用户须知正文 p{white-space:pre-line;max-width:none;margin-bottom:12px;font-size:14px;line-height:1.7}.用户须知正文 .须知重要限制{color:var(--颜色-文字);font-weight:650}.用户须知正文 .须知客服{border-top:1px solid var(--颜色-边框);margin-top:16px;padding-top:12px}.公示摘要{opacity:.85;margin-top:10px;font-size:13px}.公示数据{gap:10px;margin-top:18px;display:grid}.公示数字{grid-template-columns:1fr 1fr;gap:12px;margin:0;display:grid}.公示数字>div{background:var(--颜色-柔和表面);border-radius:12px;padding:14px}.公示数字 dt{opacity:.75;font-size:13px}.公示数字 dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:26px;font-weight:700}.须知确认页{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}.须知确认页 .用户须知正文{overscroll-behavior:contain;max-height:46dvh;overflow-y:auto}.账户次数{border-top:1px solid var(--颜色-边框);align-items:baseline;gap:12px;margin-top:20px;padding-top:16px;display:flex}.账户次数 strong{color:var(--颜色-主操作深);font-size:32px;line-height:1.2}.账户次数 small{color:var(--颜色-次要文字);font-size:14px}.地图抽屉 .付款摘要{margin:10px 0}.地图抽屉 .付款价格{color:var(--颜色-文字);margin:6px 0 2px;font-size:14px}.地图抽屉 .付款价格 strong{font-size:20px}.客服联系方式{color:var(--颜色-文字);text-align:center;-webkit-user-select:all;user-select:all;margin:12px 0;font-size:20px}.出发时限{color:var(--颜色-主操作深)}.出发时限--待出发{background:var(--颜色-柔和表面);color:var(--颜色-文字);border-radius:12px;align-items:center;gap:10px;margin-top:12px;padding:12px;font-size:14px;display:flex}.出发时限--待出发 svg{flex:none}.地图抽屉 .出发时限--待出发{margin-top:12px}.地图抽屉 h2.结果标题{color:var(--颜色-次要文字);margin:0;font-size:13px;font-weight:600}.结果用时{align-items:baseline;gap:10px;margin-top:2px;display:flex}.结果用时 strong{font-family:var(--字体-展示);letter-spacing:-.02em;font-size:34px;font-weight:800;line-height:1.15}.结果用时 span{color:var(--颜色-次要文字);font-size:16px}.结果标签{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.结果标签项{background:var(--颜色-柔和表面);color:var(--颜色-文字);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.结果标签项.强调{background:var(--颜色-强调浅底);color:var(--颜色-强调文字)}.微信浏览器提示{background:var(--颜色-主操作深);color:#fff;text-align:center;margin:0;padding:10px 16px;font-size:14px}.会员档位列表,.会员记录列表{margin:12px 0 0;padding:0;list-style:none}.会员档位{border-bottom:1px solid var(--颜色-边框);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.会员档位:last-child{border-bottom:0}.会员档位 strong{display:block}.会员档位 small{color:var(--颜色-次要文字);font-size:12px}.会员档位 .主按钮{flex:none;min-width:96px}.扫码付款{gap:8px;margin:8px 0;display:grid}.扫码付款 p{margin:0}.扫码付款 .扫码付款按钮{justify-content:center;align-items:center;font-size:16px;text-decoration:none;display:flex}.扫码付款 .收款码图{border-radius:8px;width:min(220px,70vw);height:auto;margin:4px auto;display:block}.起终点卡片组+.链接按钮{margin-top:12px;font-size:13px}.检查清单{margin:12px 0 0;padding:0;list-style:none}.检查清单 li{align-items:center;gap:12px;min-height:56px;padding:6px 0;display:flex}.检查清单 li+li{border-top:1px solid var(--颜色-边框)}.检查图标{background:var(--颜色-柔和表面);width:28px;height:28px;color:var(--颜色-文字);border-radius:50%;flex:none;place-items:center;display:grid}.检查图标.通过{background:var(--颜色-强调浅底);color:var(--颜色-强调文字)}.检查图标.未通过{background:var(--颜色-风险浅底);color:var(--颜色-风险文字)}.检查文字{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.检查文字 strong{font-size:15px;font-weight:600}.检查文字 small{color:var(--颜色-次要文字);font-size:12px}.检查操作{background:var(--颜色-主操作);height:36px;color:var(--颜色-反白文字);border-radius:18px;flex:none;padding:0 14px;font-size:13px;font-weight:600}.检查按钮行 .次按钮{flex:none;width:100px}.检查按钮行 .主按钮{flex:1}.内容页>.整行{margin-top:16px}.次数卡{background:var(--颜色-主操作);color:var(--颜色-反白文字);border-radius:20px;padding:18px}.次数卡 .账户次数{border-top:0;align-items:baseline;gap:8px;margin-top:0;padding-top:0}.次数卡 .账户次数 strong{color:var(--颜色-反白文字);font-family:var(--字体-展示);letter-spacing:-.02em;font-size:40px;font-weight:800}.次数卡 .账户次数 small{color:var(--颜色-反白文字);font-size:15px}.次数卡 .兑换表单{border-top:1px solid oklch(100% 0 0/.16);margin-top:14px;padding-top:14px}.次数卡 .字段标签{color:oklch(100% 0 0/.72)}.次数卡 .文本输入{border-color:#0000}.次数卡 .兑换行 .主按钮{background:var(--颜色-强调);color:var(--颜色-主操作)}.次数卡 .提示.信息,.次数卡 .提示.错误{color:var(--颜色-文字)}.卡片>.摄像头查询行:first-child{margin-top:0}.出发时间{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:16px;display:grid}.出发时间标题{color:var(--颜色-次要文字);font-size:13px;font-weight:600}.分段选择{background:var(--颜色-柔和表面);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;display:grid}.分段选择 button{height:42px;color:var(--颜色-次要文字);background:0 0;border-radius:10px;font-size:15px;font-weight:600}.分段选择 button.选中{background:var(--颜色-表面);color:var(--颜色-文字);box-shadow:0 1px 3px oklch(16% 0 0/.12)}.预约行{grid-template-columns:96px minmax(0,1fr);gap:8px;display:grid}.预约行 input[type=time]{box-sizing:border-box;appearance:none;width:100%;min-width:0;max-width:100%}.出发时间 .提示{margin-top:0}.出发方案{border:1px solid var(--颜色-边框);border-radius:14px;margin:10px 0 0;padding:0;list-style:none;overflow:hidden}.出发方案 li+li{border-top:1px solid var(--颜色-边框)}.出发方案 button{background:var(--颜色-表面);width:100%;min-height:56px;color:var(--颜色-文字);text-align:left;align-items:center;gap:10px;padding:8px 14px;display:flex}.出发方案文字{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.出发方案文字 strong{font-size:15px}.出发方案文字 small{color:var(--颜色-次要文字);font-size:12px}.视觉隐藏{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.覆盖层.顶部搜索层{background:oklch(16% 0 0/.18);align-items:flex-start}.顶部搜索{overscroll-behavior:contain;box-sizing:border-box;width:min(100%,440px);max-height:100dvh;padding:calc(16px + env(safe-area-inset-top)) 16px 16px;flex-direction:column;gap:8px;display:flex;overflow:auto}.搜索输入行.顶部{border:2px solid var(--颜色-主操作);background:var(--颜色-表面);height:56px;box-shadow:var(--阴影-轻);border-radius:16px;margin-top:0;padding:0 6px 0 4px}.搜索输入行.顶部 input{text-overflow:ellipsis;font-size:17px}.搜索返回{width:44px;height:44px;color:var(--颜色-文字);background:0 0;border-radius:12px;flex:none;place-items:center;display:grid}.搜索输入行.顶部 .搜索返回 svg{width:20px;color:var(--颜色-文字)}.搜索抽屉{background:var(--颜色-表面);box-shadow:var(--阴影-轻);border-radius:16px;flex-direction:column;gap:8px;padding:8px;display:flex}.底部面板 .搜索抽屉{box-shadow:none;margin-top:10px;padding:0}.搜索抽屉.搜索结果,.搜索抽屉 .搜索结果{margin-top:0}.搜索抽屉.搜索结果{padding:0}.抽屉小标题{color:var(--颜色-次要文字);padding:10px 12px 4px;font-size:13px;font-weight:600;display:block}.搜索抽屉 .搜索提醒{background:var(--颜色-柔和表面);color:var(--颜色-次要文字);border-radius:10px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.演示说明{padding:0 4px}.路线行-文字{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-self:stretch;padding:0;display:flex}.路线行-文字 strong{max-width:100%}.定位键{border:1px solid var(--颜色-边框);background:var(--颜色-表面);width:44px;height:44px;color:var(--颜色-文字);border-radius:12px;flex:none;place-items:center;display:grid}.定位键.选中{background:var(--颜色-强调浅底);color:var(--颜色-强调文字);border-color:#0000}.路线行.编辑中{box-shadow:inset 0 0 0 2px var(--颜色-主操作)}.起终点卡片组 .路线行.编辑中{border-radius:15px}.起终点卡片组 .取消修改{margin-top:12px}.路线行.编辑中 input{width:100%;min-width:0;color:var(--颜色-文字);text-overflow:ellipsis;background:0 0;border:0;outline:0;padding:0;font-size:16px;font-weight:600}.行内搜索{white-space:nowrap;min-width:64px;height:44px;min-height:44px;box-shadow:none;flex:none;padding:0 14px}
