:root{--kpg:#B18B3D;--kpg2:#C3A05A;--kpg3:#E7CB8D;--kpgd:#6f5219;--kpgl:#F2DA9B}
.city-brand .crest{width:auto!important;height:30px!important;max-width:220px;object-fit:contain}
.ovl-crest{width:auto!important;height:20px!important;max-width:150px;object-fit:contain}
.gd-brand img{width:auto!important;height:12px!important}
.kpc-r rect{fill:var(--navy,#0b1a3a);stroke:var(--kpg2);stroke-width:1.5}
.kp-art-link rect{fill:#C3A05A;stroke:var(--kpg);stroke-width:1}
.kp-art-link text{font:700 11px system-ui,-apple-system,sans-serif;fill:#111;text-anchor:middle;dominant-baseline:central}
.kp-art-link:hover rect{filter:brightness(1.08)}
.kp5{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:10px 16px;background:#111;border-bottom:1px solid rgba(195,160,90,.45)}
.kp5 button{flex:1 1 0;min-width:120px;text-align:center;font:600 13px/1.3 -apple-system,"PingFang SC",system-ui,sans-serif;color:var(--kpgl);padding:6px 8px;border:1px solid rgba(195,160,90,.5);border-radius:14px;background:rgba(177,139,61,.12)}

.island button{background:rgba(195,160,90,.22)!important;color:var(--kpgl)!important;border:1px solid rgba(195,160,90,.75)!important}
.island button[aria-pressed=true],.island .isl-tour[aria-pressed=true]{background:linear-gradient(180deg,var(--kpg3),var(--kpg))!important;color:#111!important}
.ovl-pill{background:rgba(177,139,61,.32)!important;border:1px solid var(--kpg2)!important;color:var(--kpgl)!important}
.ovl-pill i,.ovl-pill span{color:inherit!important}
.bc-cont,.tb-prev,.tb-next,.ch-footer button,.gd-languages button,.gd-motion-toggle,#guideDock .gd-min,.bus-ticket button,.mlt-tabs button,.isl-card button{background:rgba(195,160,90,.14)!important;border:1px solid var(--kpg)!important;color:var(--kpgd)!important}
.bus-ticket button{color:var(--kpgd)!important;background:rgba(195,160,90,.16)!important;border:1px solid var(--kpg)!important}
.bus-ticket .bt-play{background:linear-gradient(180deg,var(--kpg3),var(--kpg))!important;color:#111!important}
.bus-ticket button svg{fill:currentColor;stroke:currentColor}
.gd-languages button[aria-pressed=true],.mlt-tabs button[aria-pressed=true],.mlt-tabs button.on{background:linear-gradient(180deg,var(--kpg3),var(--kpg))!important;color:#111!important;border-color:var(--kpg)!important}
.bc-go,.gd-start,[data-ch=start],.mv-btn,.bus-btn{background:linear-gradient(180deg,var(--kpg3),var(--kpg))!important;color:#111!important;border:1px solid var(--kpg)!important}
.bus-btn *{color:#111}
h2.sh{border-bottom:2px solid var(--kpg2);padding-bottom:6px}
.legend,.nf,.vsny{border-color:rgba(195,160,90,.55)!important}

.kpm-top,.kpm-sheet,.kpm-tabs,.kpm-cap{display:none}
@media (max-width:700px){
 html.kpm #cityHow,html.kpm #cityExplorer,html.kpm #island,html.kpm .ovl-r,html.kpm .bus-entry{display:none!important}
 html.kpm body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}
 .kpm-glass{background:rgba(17,17,17,.84);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 30px rgba(0,0,0,.3);color:#f4f5f6}
 @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.kpm-glass{background:rgba(17,17,17,.95)}}
 html.kpm .kpm-top{display:grid;gap:8px;padding:10px 12px;background:#111;position:sticky;top:0;z-index:150;border-bottom:1px solid rgba(195,160,90,.4)}
 .kpm-langs{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
 .kpm-langs button{border-radius:12px;padding:7px 0;font:600 11.5px -apple-system,"PingFang SC",sans-serif;border:1px solid var(--kpg);background:rgba(177,139,61,.14);color:var(--kpgl)}
 .kpm-langs button[aria-pressed=true]{background:linear-gradient(180deg,var(--kpg3),var(--kpg));color:#111}
 .kpm-rail{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .kpm-rail::-webkit-scrollbar{display:none}
 .kpm-chip{flex:0 0 auto;display:flex;align-items:center;gap:6px;border-radius:15px;padding:7px 12px;font:600 13px -apple-system,"PingFang SC",sans-serif;color:var(--kpgl);text-decoration:none;white-space:nowrap;border:1px solid rgba(195,160,90,.75);background:rgba(177,139,61,.16)}
 .kpm-rail a.kpm-chip:first-child{background:linear-gradient(180deg,var(--kpg3),var(--kpg));color:#111}
 .kpm-ic{opacity:.85}.kpm-dot{width:9px;height:9px;border-radius:50%}
 html.kpm .kpm-tabs{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:300;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));border-radius:0;border-width:1px 0 0}
 .kpm-tabs button{display:grid;justify-items:center;gap:2px;font:600 10.5px -apple-system,"PingFang SC",sans-serif;color:var(--kpg3);background:none;border:0;padding:4px 0}
 .kpm-tabs button b{font-size:18px;line-height:1;font-weight:400}
 .kpm-tabs button[aria-current=true]{color:var(--kpg3)}
 html.kpm .kpm-sheet{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:290;border-radius:24px 24px 0 0;padding:0 14px;height:52vh;transition:height .36s cubic-bezier(.2,.9,.25,1.1)}
 html.kpm .kpm-sheet[hidden]{display:none}
 .kpm-sheet.kpm-drag{transition:none}
 .kpm-grab{padding:9px 0 6px;display:grid;place-items:center;touch-action:none;cursor:grab}
 .kpm-grab i{width:38px;height:5px;border-radius:3px;background:var(--kpg2);opacity:.7}
 .kpm-sc{overflow:auto;flex:1;padding-bottom:14px;font-family:-apple-system,"PingFang SC",sans-serif}
 .kpm-hd{display:flex;align-items:baseline;gap:8px;margin:2px 0 10px;flex-wrap:wrap}
 .kpm-hd h2{font-size:18px;margin:0;color:#fff}
 .kpm-k{font:600 10.5px ui-monospace,Menlo,monospace;color:#2ad4e0;letter-spacing:.06em}
 .kpm-back{margin-left:auto;font-size:12px;padding:5px 10px;border-radius:12px;border:1px solid var(--kpg);background:rgba(177,139,61,.16);color:var(--kpgl)}
 .kpm-go{display:flex;align-items:center;justify-content:center;border-radius:16px;padding:13px;font-weight:700;font-size:15px;background:linear-gradient(180deg,var(--kpg3),var(--kpg));color:#111;text-decoration:none;width:100%;border:0;margin:6px 0}
 .kpm-ghost{border-radius:14px;padding:11px;font-size:13.5px;text-align:center;border:1px solid var(--kpg);background:rgba(177,139,61,.14);color:var(--kpgl);width:100%;margin:4px 0}
 .kpm-note{font-size:12px;color:#b8bdc6;margin:2px 0 12px}
 .kpm-row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .kpm-lc{display:grid;gap:8px}
 .kpm-lcard{border-radius:16px;padding:12px;text-align:left;display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:start;border:1px solid rgba(195,160,90,.55);background:rgba(177,139,61,.1);color:#f4f5f6}
 .kpm-b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff}
 .kpm-lcard b{font-size:14.5px;display:block}.kpm-lcard p{margin:3px 0 0;font-size:12.5px;line-height:1.45;color:#c9cdd4}
 .kpm-n{font:600 11px ui-monospace,Menlo,monospace;color:#2ad4e0;white-space:nowrap}
 .kpm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .kpm-st{border-radius:14px;overflow:hidden;text-align:left;padding:0;border:1px solid rgba(195,160,90,.55);background:rgba(177,139,61,.1);color:#f4f5f6}
 .kpm-st img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
 .kpm-st div{padding:7px 9px}.kpm-st b{font-size:13px;display:block}.kpm-st span{font-size:11px;color:#b8bdc6}
 .kpm-intro{font-size:14px;line-height:1.6;margin:0 0 10px;color:#f4f5f6}
 .kpm-hero{width:100%;border-radius:16px;aspect-ratio:16/10;object-fit:cover;margin-bottom:8px}
 .kpm-ln{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#b8bdc6}.kpm-ln i{width:8px;height:8px;border-radius:50%}
 html.kpm-touring .kpm-cap,html.kpm.kpm-listening .kpm-cap{display:flex;position:fixed;z-index:310;left:10px;right:10px;top:calc(env(safe-area-inset-top,0px) + 8px);border-radius:28px;padding:7px;align-items:center;gap:9px}
 .kpm-cap img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:center 18%;border:1px solid var(--kpg2)}
 .kpm-sub{flex:1;min-width:0;font-size:12.5px;line-height:1.35;max-height:2.8em;overflow:hidden}
 .kpm-sub small{display:block;font:600 10px ui-monospace,Menlo,monospace;color:#2ad4e0;letter-spacing:.06em}
 .kpm-ctl{display:flex;gap:4px}
 .kpm-ctl button{width:34px;height:34px;border-radius:50%;border:1px solid var(--kpg);background:rgba(177,139,61,.2);color:var(--kpgl);font-size:14px}
 html.kpm .kp5{display:none}
 .kp5{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;padding:8px 12px}
 .kp5::-webkit-scrollbar{display:none}
 .kp5 button{flex:0 0 auto;min-width:0;font-size:12px;padding:5px 10px}
}
@media (prefers-reduced-motion:reduce){.kpm-sheet{transition:none}}

#guideDock.kp-static .gd-live-portrait,#guideDock.kp-static .gd-motion-toggle{display:none!important}
#guideDock.kp-static .gd-portrait img{opacity:1!important;object-fit:cover;object-position:center 22%;transition:transform .6s}
#guideDock .gd-portrait{position:relative}
.kp-fade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:opacity .3s;border-radius:inherit}
.kpm-cap{position:fixed}.kpm-cap .kp-fade{width:40px;height:40px;border-radius:50%;inset:auto;left:7px;top:7px}
#guideDock.kp-static.speaking .gd-portrait img{animation:kpBreath 2.4s ease-in-out infinite}
#guideDock.kp-static.speaking .gd-portrait{box-shadow:inset 0 0 0 3px #C3A05A,0 0 22px rgba(195,160,90,.55)}
@keyframes kpBreath{50%{transform:scale(1.025)}}
@media (prefers-reduced-motion:reduce){#guideDock.kp-static.speaking .gd-portrait img{animation:none}}

.ovl-t .page-translation{display:none!important}
.bus-btn small,.bus-btn .ml,.bus-btn span{color:#2b2006!important}

.kp-doors{position:absolute;top:0;right:112px;width:288px;height:34px;display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:0 10px;z-index:52;box-sizing:border-box;background:#0f1b33;border-left:1px solid rgba(198,165,108,.35)}
.kp-doors a{display:inline-flex;align-items:center;height:24px;padding:0 11px;border-radius:12px;border:1px solid rgba(195,160,90,.85);background:rgba(177,139,61,.22);-webkit-backdrop-filter:blur(10px) saturate(160%);backdrop-filter:blur(10px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);color:#F2DA9B;font:600 12px/1 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;text-decoration:none;white-space:nowrap}
.kp-doors a:hover,.kp-doors a:focus-visible{background:linear-gradient(180deg,#E7CB8D,#B18B3D);color:#111;outline:none}
@media (min-width:701px){html body > a.kr-door{margin-right:400px!important;justify-content:flex-start;padding-left:16px}}
@media (max-width:700px){.kp-doors{display:none}}

.ovl-pill.ovl-bus{background:linear-gradient(180deg,var(--kpg3),var(--kpg))!important;color:#111!important;border-color:var(--kpg)!important}
.ovl-pill.ovl-bus svg rect{fill:#111}

.kp5 button{cursor:pointer}
.kp5 button[aria-pressed=true]{background:linear-gradient(180deg,var(--kpg3),var(--kpg));color:#111;border-color:var(--kpg)}
.ce-lang button{background:rgba(195,160,90,.14)!important;border:1px solid var(--kpg)!important;color:var(--kpgd)!important}
.kpc-av{position:fixed;right:20px;bottom:20px;z-index:305;display:block;box-sizing:border-box;width:56px;height:56px;margin:0;padding:3px;border:2px solid #C9A35A;border-radius:50%;background:#fffbf38c;-webkit-backdrop-filter:blur(14px) saturate(170%);backdrop-filter:blur(14px) saturate(170%);box-shadow:0 8px 22px #0521494d,0 0 0 1px #ffffff59,inset 0 1px #fffc;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:scale(.55);transition:transform .3s cubic-bezier(.4,0,.6,1),opacity .2s,visibility 0s .3s;-webkit-tap-highlight-color:transparent}.kpc-av span{position:relative;display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;background:#efe6d2;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}.kpc-av img{position:absolute;display:block;width:190%;max-width:none;height:auto;left:-45%;top:-1%}html.kpc-av-on .kpc-av{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:transform .34s cubic-bezier(.2,1.25,.3,1),opacity .2s,visibility 0s}html.kpc-av-on .kpc-av:hover{transform:scale(1.06)}.kpc-av:focus-visible{outline:2px solid #C9A35A;outline-offset:2px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.kpc-av{background:#fbf6ea}}html #guideDock{transform-origin:100% 100%;transition:width .25s,bottom .25s,transform .32s cubic-bezier(.2,.9,.3,1),opacity .22s,visibility 0s}html #guideDock.minimized{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.3);transition:width .25s,bottom .25s,transform .3s cubic-bezier(.4,0,.6,1),opacity .2s,visibility 0s .3s}@media(prefers-reduced-motion:reduce){.kpc-av,html #guideDock{transition:none!important}}@media print{.kpc-av{display:none!important}}
@media (min-width:761px){.ovl-down{transition:bottom .25s}html.kpc-av-on .ovl-down{bottom:156px}}

/* Independent mobile guide: compact persistent portrait; original 19-stop six-language bus and motion. */
@media(max-width:700px){
 html.kpm .ovl-l{max-width:calc(100vw - 24px);box-sizing:border-box;flex-wrap:wrap}
 html.kpm .ovl-l #kpwx{margin-left:0;max-width:100%;box-sizing:border-box;min-height:26px;height:auto;white-space:normal;flex-wrap:wrap}
 html.kpm .ovl-l #kpwx .kpw-c,html.kpm .ovl-l #kpwx .kpw-t{min-width:0;max-width:100%;overflow-wrap:anywhere}
 html.kpm #guideDock.minimized{display:none!important}
 html.kpm:not(.kpc-av-on) .kpc-av{display:none}
 html.kpm #guideDock{display:block!important;width:clamp(142px,40vw,184px);min-width:0;max-width:184px;right:10px;bottom:calc(82px + env(safe-area-inset-bottom,0px))!important;border-radius:18px;z-index:285}
 html.kpm #guideDock .gd-portrait{height:clamp(120px,20vh,168px);min-height:0;max-height:168px}
 html.kpm #guideDock .gd-body{padding:7px}
 html.kpm #guideDock .gd-brand{justify-content:center}
 html.kpm #guideDock .gd-brand span{display:none}
 html.kpm #guideDock .gd-brand img{width:auto!important;height:12px!important;max-width:100%}
 html.kpm #guideDock .gd-caption{font-size:10px;max-height:43px;margin:6px 0;overflow:auto;overflow-wrap:anywhere}
 html.kpm #guideDock .gd-languages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
 html.kpm #guideDock .gd-languages button{min-width:0;font-size:10px;padding:5px 1px}
 html.kpm #guideDock .gd-start{font-size:10px;padding:7px 4px;margin-top:6px}
 html.kpm #guideDock .gd-status{font-size:8px;left:6px;bottom:7px;padding:4px 6px;max-width:calc(100% - 12px);box-sizing:border-box}
 html.kpm #guideDock .gd-status b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 html.kpm #guideDock .gd-min,html.kpm #guideDock .gd-motion-toggle{width:25px;height:25px;top:6px;right:6px}
 html.kpm #guideDock .gd-motion-toggle{right:35px}
 html.kpm .kpc-av{width:clamp(64px,20vw,88px);height:clamp(64px,20vw,88px);right:14px;z-index:295}
 html.kpm .kpc-av .kpm-avatar-motion{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:inherit}
 html.kpm.bus-on body #city-tour-flow #guideDock{position:fixed!important;inset:auto 10px calc(82px + env(safe-area-inset-bottom,0px)) auto!important;width:clamp(142px,40vw,184px);max-width:184px;max-height:calc(100dvh - 180px);overflow-y:auto;z-index:285}
 html.kpm.bus-on body #city-tour-flow #guideDock .gd-portrait{height:clamp(120px,20vh,168px);max-height:168px}
 html.kpm.bus-on body #city-tour-flow #guideDock.minimized{width:90px;max-width:90px}

}

/* One character in every language; audio preview controls remain available outside its sheet. */
.kpc-av .kpm-avatar-motion{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:inherit}
@media(max-width:700px){
 .kpm-grab{position:relative;min-height:26px;padding-right:40px;padding-left:40px}
 .kpm-close{position:absolute;right:-2px;top:3px;width:34px;height:34px;border:1px solid var(--kpg);border-radius:50%;background:rgba(177,139,61,.14);color:var(--kpgd);font:24px/1 system-ui;cursor:pointer}
 .kpm-cap .kpm-ctl{flex-shrink:0}
 .kpm-cap .kpm-ctl button{width:40px;height:40px;min-width:40px}
 .kpm-close:focus-visible,.kpm-cap button:focus-visible,.kpm-tabs button:focus-visible,.kpm-sheet button:focus-visible{outline:2px solid var(--kpgd);outline-offset:3px}
 html.kpm:not(.kpm-listening):not(.kpm-touring) .kpm-cap{display:none}
}
