html,body{background:#bfe3ff;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.labels{pointer-events:none;inset:0;overflow:hidden;position:fixed!important}.label{pointer-events:auto;cursor:pointer;white-space:nowrap;color:#1f2a33;opacity:0;pointer-events:none;background:#ffffffe6;border-radius:4px;padding:2px 6px;font-size:12px;line-height:1.2;transition:opacity .15s;box-shadow:0 1px 3px #00000040}.label.on{opacity:1;pointer-events:auto}@starting-style{.label.on{opacity:0}}.label-landmark{font-size:13px;font-weight:600}.label-stop{background:#fffc;padding:1px 4px;font-size:10px}#hud{pointer-events:none;position:fixed;inset:0}.hud-panel{pointer-events:auto;color:#1f2a33;background:#ffffffc7;border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex;position:absolute;top:10px;left:12px;box-shadow:0 1px 4px #00000026}.hud-head,.hud-time{align-items:center;gap:8px;display:flex}.hud-title{margin-right:auto;font-size:18px;font-weight:600}.hud-time input{width:170px;margin:0}.hud-time output{font-variant-numeric:tabular-nums;min-width:3em;font-size:14px}.hud-btn{font:inherit;color:#1f2a33;cursor:pointer;background:#fff;border:1px solid #1f2a334d;border-radius:10px;padding:2px 8px;font-size:12px}.hud-icon{padding:2px 6px;font-size:15px;line-height:1}.hud-btn:disabled{opacity:.45;cursor:default}.hud-attribution{color:#1f2a33;pointer-events:auto;background:#fff9;border-radius:4px;max-width:calc(100% - 16px);padding:2px 6px;font-size:11px;position:absolute;bottom:6px;right:8px}.hud-live{color:#14532d;background:#ffffffbf;border-radius:10px;padding:3px 8px;font-size:12px;position:absolute;top:16px;right:16px}.hud-live.stale{color:#7f1d1d}.hud-info{color:#1f2a33;background:#ffffffd9;border-radius:6px;padding:4px 10px;font-size:13px;position:absolute;bottom:28px;left:16px}.progress{pointer-events:none;height:3px;transition:opacity .4s .3s;position:fixed;top:0;left:0;right:0}.progress>div{height:100%;width:calc(var(--p,0) * 100%);background:#2563eb;transition:width .2s}.progress.done{opacity:0}.toast{color:#fff;white-space:nowrap;background:#1f2a33e0;border-radius:8px;padding:6px 14px;font-size:13px;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.about{z-index:10;background:#0f171e59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.about-card{box-sizing:border-box;color:#1f2a33;background:#fff;border-radius:12px;width:min(520px,100% - 32px);max-height:calc(100% - 32px);padding:18px 22px;font-size:14px;line-height:1.45;position:relative;overflow-y:auto;box-shadow:0 8px 30px #00000040}.about-card:focus{outline:none}.about-card h2{margin:0 0 8px;font-size:20px}.about-card h3{text-transform:uppercase;letter-spacing:.04em;color:#52606d;margin:14px 0 6px;font-size:14px}.about-card p{margin:0}.about-card a{color:#1d4ed8}.about-close{color:#1f2a33;cursor:pointer;background:0 0;border:0;border-radius:18px;width:36px;height:36px;font-size:24px;line-height:1;position:absolute;top:8px;right:8px}.about-close:hover{background:#eef2f6}.about-list{margin:0;padding-left:18px}.legend-group{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.legend-title{min-width:70px;font-weight:600}.legend-lines{flex-wrap:wrap;gap:4px 12px;display:flex}.legend-line{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.legend-line i{border-radius:50%;width:10px;height:10px}.about-note{color:#52606d;font-size:12px;margin-top:6px!important}@media (width<=560px){.hud-btn{min-width:36px;min-height:36px}.about{align-items:stretch}.about-card{border-radius:0;width:100%;max-height:none;padding:16px 16px 24px}.hud-panel{left:8px;right:8px}.hud-time input{flex:1;width:auto}.hud-live{inset:auto auto 48px 8px}.hud-info{bottom:76px;left:8px}}.debug-stats{position:fixed!important;top:auto!important;bottom:30px!important;left:8px!important}.debug-info{color:#fff;pointer-events:none;background:#0009;border-radius:4px;padding:2px 6px;font:11px/1.3 ui-monospace,monospace;position:fixed;bottom:84px;left:8px}[hidden]{display:none!important}.lil-gui.autoPlace{top:48px!important}.label-vehicle{pointer-events:none;white-space:nowrap;box-sizing:border-box;color:#fff;text-shadow:0 0 2px #00000073;border:1px solid #ffffffb3;border-radius:8px;height:16px;padding:1px 5px;font-size:11px;font-weight:600;line-height:14px;box-shadow:0 1px 2px #00000059}.journey{border-top:1px solid #1f2a3326;width:320px;max-height:calc(100vh - 150px);padding-top:6px;font-size:13px;overflow-y:auto}.journey-form{flex-direction:column;gap:6px;display:flex}.journey-title{align-items:center;gap:8px;font-weight:600;display:flex}.journey-title>span{margin-right:auto}.journey-back,.journey.compact .journey-field,.journey.compact .journey-row,.journey.compact .journey-note,.journey.compact .journey-results li:not(.sel){display:none}.journey.compact .journey-back{display:inline-block}.journey-field,.journey-row{align-items:center;gap:6px;display:flex;position:relative}.journey-field label,.journey-row label{color:#52606d;flex:none;width:3.6em}.journey-field input,.journey-row input{min-width:0;font:inherit;color:#1f2a33;background:#fff;border:1px solid #1f2a334d;border-radius:6px;flex:1;padding:4px 6px;font-size:14px}.journey-row input{flex:0 auto}.journey-go{margin-left:auto;font-weight:600}.journey-suggest{z-index:5;background:#fff;border-radius:6px;max-height:240px;margin:2px 0 0;padding:2px 0;list-style:none;position:absolute;top:100%;left:calc(3.6em + 6px);right:0;overflow-y:auto;box-shadow:0 4px 14px #00000038}.journey-suggest li{cursor:pointer;padding:5px 8px}.journey-suggest li:hover,.journey-suggest li.on{background:#e8f0fe}.journey-status{color:#7f1d1d;margin:6px 0 0}.journey-status:empty{display:none}.journey-results{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.journey-item{text-align:left;width:100%;font:inherit;color:#1f2a33;cursor:pointer;background:#fff;border:1px solid #1f2a3326;border-radius:8px;flex-direction:column;gap:3px;padding:6px 8px;display:flex}.journey-item[aria-pressed=true]{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.journey-head{font-variant-numeric:tabular-nums;justify-content:space-between;font-size:14px;display:flex}.journey-dur{color:#52606d}.journey-lines{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.journey-pill{color:#fff;text-shadow:0 0 2px #00000073;border-radius:8px;padding:1px 6px;font-size:11px;font-weight:600;line-height:14px;display:inline-block}.journey-walk,.journey-meta{color:#52606d;font-size:12px}.journey-meta{margin-left:auto}.journey-detail{margin:4px 0 2px;padding:0 0 0 4px;font-size:12px;line-height:1.6;list-style:none}.journey-detail .journey-pill{margin-right:2px}.journey-note{color:#52606d;margin-top:6px;font-size:11px}.journey-stop{pointer-events:none}.journey-stop>span{white-space:nowrap;color:#1f2a33;font-variant-numeric:tabular-nums;background:#fff;border:2px solid #2563eb;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:600;display:block;box-shadow:0 1px 3px #0000004d}.journey-stop-start>span,.journey-stop-end>span{transform:translateY(-60%)}.journey-stop-transfer>span{transform:translateY(60%)}.journey-stop-start>span{border-color:#15803d}.journey-stop-end>span{border-color:#b91c1c}.label-vehicle.hl{z-index:1;border:2px solid #fff;border-radius:11px;height:22px;padding:1px 8px;font-size:13px;line-height:18px;box-shadow:0 0 0 2px #1f2a33,0 2px 6px #0006}@media (width<=560px){.journey{width:auto;max-height:45vh}}
