#kpb-intro{position:fixed;inset:0;z-index:2147483600;background:#050C22;overflow:hidden;opacity:1;transition:opacity .4s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}
#kpb-intro.out{opacity:0;pointer-events:none}
#kpb-intro svg{position:absolute;inset:0;width:100%;height:100%;display:block}
#kpb-intro .kpb-cap{position:absolute;left:clamp(18px,4.5vw,64px);top:clamp(18px,7vh,72px);max-width:min(760px,calc(100% - 36px));color:#F4EEE0;pointer-events:none}
#kpb-intro .kpb-cap p{margin:0;opacity:0;transform:translateY(8px)}
#kpb-intro .kpb-cap p+p{margin-top:clamp(10px,1.6vh,16px)}
#kpb-intro.go .kpb-l1{animation:kpbCap .45s .05s ease forwards}
#kpb-intro.go .kpb-l2{animation:kpbCap .45s 1.35s ease forwards}
#kpb-intro .kpb-cap b{display:block;font:700 clamp(22px,3.4vw,40px)/1.22 "Songti SC","Noto Serif SC","Source Han Serif SC",serif;letter-spacing:.05em;text-shadow:0 2px 18px rgba(5,12,34,.65)}
#kpb-intro .kpb-l2 b{color:#FFE3A3}
#kpb-intro .kpb-cap span{display:block;margin-top:4px;font:500 clamp(12px,1.5vw,17px)/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.03em;color:rgba(244,238,224,.8)}
#kpb-intro .kpb-skip{position:absolute;right:max(14px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:999px;border:1px solid rgba(226,192,118,.75);background:linear-gradient(180deg,#E7CB8D,#C4A46B);color:#0B1A3A;font:700 13px/1 system-ui,-apple-system,sans-serif;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.28)}
#kpb-intro .kpb-skip span{font-weight:600;opacity:.75;font-size:11px}
#kpb-intro .kpb-skip:focus-visible{outline:2px solid #FFE3A3;outline-offset:3px}
#kpb-intro .kpb-stars circle{fill:#F4EEE0;opacity:.55;animation:kpbTw 1.6s ease-in-out infinite alternate}
#kpb-intro .kpb-beacon{animation:kpbBeacon 1s steps(2,end) infinite}
#kpb-intro .kpb-lights circle{fill:#E2C076;opacity:.25}
#kpb-intro.go .kpb-lights circle{animation:kpbLight .9s ease-out 1}
#kpb-intro .kpb-plane{transform:translate(-320px,320px) rotate(5deg) scale(1.3);opacity:0}
#kpb-intro.go .kpb-plane{animation:kpbPlane 2.9s forwards}
#kpb-intro .kpb-puff{transform:translate(560px,640px) scale(.2);opacity:0}
#kpb-intro.go .kpb-puff{animation:kpbPuff .7s 1.28s ease-out forwards}
#kpb-intro .kpb-ev{transform:translate(360px,792px) scale(1.15)}
#kpb-intro.go .kpb-ev{animation:kpbEv 2.9s forwards}
#kpb-intro .kpb-rot{transform-box:fill-box;transform-origin:center}
#kpb-intro.go .kpb-rot{animation:kpbRot .09s linear 1.25s infinite}
#kpb-intro .kpb-nav{animation:kpbBeacon .6s steps(2,end) infinite}
#kpb-intro .kpb-padring{transform-box:fill-box;transform-origin:center}
#kpb-intro.go .kpb-padring{animation:kpbPad 1.4s ease-in-out infinite}
#kpb-intro .kpb-trail{stroke-dasharray:1100;stroke-dashoffset:1100;opacity:0}
#kpb-intro.go .kpb-trail{animation:kpbTrail 1.2s 1.75s ease-in forwards}
@keyframes kpbCap{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:none}}
@keyframes kpbTw{from{opacity:.2}to{opacity:.8}}
@keyframes kpbBeacon{0%{opacity:1}100%{opacity:.15}}
@keyframes kpbLight{0%{opacity:.25}40%{opacity:1}100%{opacity:.35}}
@keyframes kpbPlane{0%{opacity:1;transform:translate(-320px,320px) rotate(5deg) scale(1.3);animation-timing-function:cubic-bezier(.25,.1,.45,1)}40%{opacity:1;transform:translate(470px,612px) rotate(-3deg) scale(1.02);animation-timing-function:ease-out}45%{transform:translate(560px,628px) rotate(0deg) scale(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}100%{opacity:1;transform:translate(1010px,628px) rotate(0deg) scale(.96)}}
@keyframes kpbPuff{0%{opacity:0;transform:translate(560px,640px) scale(.2)}25%{opacity:.9}100%{opacity:0;transform:translate(520px,632px) scale(1.6)}}
@keyframes kpbEv{0%,47%{transform:translate(360px,792px) scale(1.15);animation-timing-function:ease-in}62%{transform:translate(368px,700px) rotate(-2deg) scale(1.12);animation-timing-function:ease-in-out}74%{transform:translate(430px,610px) rotate(-6deg) scale(1);animation-timing-function:cubic-bezier(.4,0,.8,.6)}100%{transform:translate(1262px,368px) rotate(-9deg) scale(.3)}}
@keyframes kpbRot{0%{transform:scaleX(1)}50%{transform:scaleX(.18)}100%{transform:scaleX(1)}}
@keyframes kpbPad{0%,100%{opacity:.35;transform:scale(.94)}50%{opacity:1;transform:scale(1.05)}}
@keyframes kpbTrail{0%{opacity:0;stroke-dashoffset:1100}15%{opacity:1}100%{opacity:.9;stroke-dashoffset:0}}
#kpb-hello{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:2147480200;width:min(380px,calc(100% - 24px));padding:16px 18px 14px;border-radius:22px;background:rgba(251,250,246,.96);border:1px solid rgba(196,164,107,.75);box-shadow:0 18px 50px rgba(11,26,58,.28);color:#0B1A3A;animation:kpbHello .45s cubic-bezier(.2,.9,.25,1.1)}
#kpb-hello>b{display:block;font:700 16px/1.3 "Songti SC","Noto Serif SC",serif;padding-right:22px}
#kpb-hello>span{display:block;margin-top:4px;font:14px/1.55 system-ui,-apple-system,sans-serif;color:#2B3550}
#kpb-hello>span.kpb-h2{margin-top:5px;font-size:12px;line-height:1.4;color:#56607A}
#kpb-hello .kpb-go{margin-top:12px;width:100%;display:flex;flex-direction:column;align-items:center;gap:1px;border:0;border-radius:16px;padding:9px 12px;background:linear-gradient(115deg,#EDDAAA,#C5A164);color:#0B1A3A;cursor:pointer;box-shadow:0 6px 18px rgba(196,164,107,.45)}
#kpb-hello .kpb-go b{font:700 15px/1.2 system-ui,-apple-system,sans-serif}
#kpb-hello .kpb-go span{font:600 11px/1.2 system-ui,-apple-system,sans-serif;opacity:.75}
#kpb-hello .kpb-x{position:absolute;right:10px;top:8px;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#0B1A3A;font-size:20px;line-height:1;cursor:pointer}
@keyframes kpbHello{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
#guideDock .gd-start.kpb-pulse{animation:kpbPulse 1.3s ease-in-out 6}
@keyframes kpbPulse{0%,100%{box-shadow:0 0 0 0 rgba(196,164,107,.0)}50%{box-shadow:0 0 0 7px rgba(196,164,107,.35)}}
#guideDock .gd-start.kpb-2l{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.2}
#guideDock .gd-start.kpb-2l small{display:block;margin:0;font-size:10px;font-weight:600;opacity:.75;text-align:center}
#guideDock .gd-caption .gdc-n{display:block;font-weight:700;color:#0B1A3A;line-height:1.4}
#guideDock .gd-caption .gdc-t{display:block;margin-top:2px}
#guideDock .gd-brand .gd-bt{display:flex;flex-direction:column;gap:1px;line-height:1.15}
#guideDock .gd-brand .gd-bt b{font-weight:700;letter-spacing:.14em}
#guideDock .gd-brand .gd-bt i{font-style:normal;opacity:.8}
#guideDock .gd-body small span{display:block;line-height:1.35}
.bus-ticket .bt-ml{white-space:normal;overflow:visible;text-overflow:clip;font-size:11px;line-height:1.45;color:#56607A;margin-top:3px}
.bus-audio-credit.kpb-credit{display:block;margin-top:6px;font-size:10px;line-height:1.4;opacity:.75;color:inherit;text-decoration:none}
.bus-audio-credit.kpb-credit span{display:block}
.bus-audio-credit.kpb-credit span+span{opacity:.85}
a.bus-audio-credit.kpb-credit[href]:hover span{text-decoration:underline}
.bus-card .bc-cont.kpb-2l{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;height:auto;min-height:40px;padding:5px 16px;line-height:1.15;text-align:left}
.bus-card .bc-cont.kpb-2l .kpb-c2{font-size:11px;font-weight:600;opacity:.72}
.bt-ctl .bt-unlock[hidden]{display:none!important}
.bt-ctl .bt-unlock.kpb-2l:not([hidden]){display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.15;padding:4px 12px}
.bt-ctl .bt-unlock.kpb-2l small{font-size:10px;font-weight:600;opacity:.75}
.bus-card .bc-go{display:inline-grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;row-gap:0;height:auto;min-height:40px;padding:5px 16px;line-height:1.15;text-align:left}
.bus-card .bc-go .zh,.bus-card .bc-go .page-main{grid-column:1;grid-row:1}
.bus-card .bc-go .ml,.bus-card .bc-go .page-translation{grid-column:1;grid-row:2;margin:0;font-size:11px;opacity:.78}
.bus-card .bc-go .ml::before,.bus-card .bc-go .page-translation::before{content:none}
.bus-card .bc-go.kpb-zf .kpb-z{grid-column:1;grid-row:1;font-weight:700}
.bus-card .bc-go.kpb-zf .kpb-t{grid-column:1;grid-row:2;margin:0;font-size:11px;font-weight:600;opacity:.78}
.bus-card .bc-go.kpb-zf .kpb-arr{grid-column:2;grid-row:1/3;font-style:normal}
.bus-card .bc-act .mv-btn.kpb-zf{flex-direction:column;align-items:flex-start;justify-content:center;gap:0;height:auto;min-height:40px;padding:5px 16px;line-height:1.15}
.bus-card .bc-act .mv-btn.kpb-zf .kpb-t{font-size:11px;font-weight:600;opacity:.78;letter-spacing:0}
.kpb-stop text{font:700 8px/1 system-ui,-apple-system,sans-serif;fill:#0B1A3A;text-anchor:middle;pointer-events:none}
.kpb-stop.kpb-new circle{fill:#0B1A3A;stroke:#E7C27A;stroke-width:2.4}
.kpb-stop.kpb-new text{fill:#FFE3A3}
.kpb-air{fill:none;stroke:#B8893A;stroke-width:2.4;stroke-dasharray:1 7;stroke-linecap:round;opacity:0;transition:opacity .8s}
html.bus-on .kpb-air{opacity:.9}
.kpb-vport .kpb-ring{transform-box:fill-box;transform-origin:center;animation:kpbRing 2.4s ease-in-out infinite}
@keyframes kpbRing{0%,100%{opacity:.35;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}
html.bus-on #kpc3-re{display:none!important}
#kpc3-re span{display:inline}
#kpc3-re small{margin-left:6px;font-size:.78em;opacity:.75}
@media (min-width:1000px){html.bus-on:not(.kpb-dockmin) .bus-card{right:calc(clamp(200px,21vw,310px) + 36px)}}
@media (min-width:901px){html.kpb-city.bus-on body #busui .bus-card{max-height:calc(100dvh - 262px)}}
@media (min-width:761px) and (max-height:1000px){html.bus-on:not(.kpb-city) .bus-card .bc-fig{aspect-ratio:5/2}}
@media (min-width:761px){html.bus-on .bus-card{display:flex;flex-direction:column;max-height:calc(100% - var(--kpb-tk,190px) - 40px)}html.bus-on .bus-card .bc-fig{flex:0 0 auto;aspect-ratio:2/1}html.bus-on .bus-card .bc-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}
@media (max-width:999px){html.bus-on.kpb-dockmin .bus-card{right:10px}}
@media (max-width:760px){
html.bus-on .ovl-down,html.bus-on .ovl-r,html.bus-on .ovl-l,html.bus-on #cityExplorer,html.bus-on #kpb-hello{display:none!important}
html.bus-on.kpb-dockmin .bus-card{left:10px;right:10px}
.bus-card .bc-go{padding:4px 12px;column-gap:6px}
#kpb-intro .kpb-cap{top:auto;bottom:clamp(90px,16vh,150px)}
}
@media (prefers-reduced-motion:reduce){#kpb-intro{display:none}.kpb-vport .kpb-ring{animation:none}#guideDock .gd-start.kpb-pulse{animation:none}#kpb-hello{animation:none}}
#busui .bus-card .bc-cont{background:linear-gradient(180deg,#F3E2B8,#D9BD85);color:#0B1A3A;border:1px solid rgba(184,137,58,.45);box-shadow:0 4px 12px rgba(196,164,107,.25)}
#busui .bus-card .bc-cont:hover{background:linear-gradient(180deg,#F7EACB,#E0C795)}
#busui .bt-ctl button{background:linear-gradient(180deg,#F3E2B8,#D9BD85);color:#0B1A3A;border:1px solid rgba(184,137,58,.4)}
#busui .bt-ctl button:hover{background:linear-gradient(180deg,#F7EACB,#E0C795)}
#busui .bt-ctl .bt-music,#busui .bt-ctl .bt-language,#busui .bt-ctl .bt-exit{background:linear-gradient(180deg,#E7CB8D,#C4A46B);color:#0B1A3A;border:1px solid rgba(184,137,58,.55)}
#busui .bt-ctl .bt-voice[aria-pressed=true]{background:#0B1A3A;color:#FFE3A3;border-color:#0B1A3A}
#busui .bt-ctl .bt-unlock{background:linear-gradient(180deg,#FFE3A3,#E7C27A);color:#0B1A3A}
#busui .bt-ctl .kpb-2l,#busui .bt-ctl .bt-exit.kpb-zf{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:auto;height:auto;min-height:32px;padding:3px 10px;line-height:1.1}
#busui .bt-ctl .kpb-2l b,#busui .bt-ctl .bt-exit.kpb-zf .kpb-z{font-size:12px;font-weight:700}
#busui .bt-ctl .kpb-2l small,#busui .bt-ctl .bt-exit.kpb-zf .kpb-t{font-size:9.5px;font-weight:600;opacity:.75;letter-spacing:0}
