:root{--bg:#e8ebe7;--ink:#1f2a2c;--ink-soft:#5b6664;--panel:#fafaf7db;--panel-line:#1f2a2c17;--accent:#2f5d50;--radius:14px;--shadow:0 8px 30px #141e1e1f, 0 1px 3px #141e1e14;--font:ui-sans-serif, -apple-system, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-display:ui-serif, "New York", "Iowan Old Style", Georgia, serif;--gutter:max(16px, env(safe-area-inset-left))}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;color:inherit}a{color:var(--accent)}.panel{z-index:2;background:var(--panel);-webkit-backdrop-filter:blur(14px)saturate(1.2);border:1px solid var(--panel-line);border-radius:var(--radius);box-shadow:var(--shadow);position:relative}.brand{top:max(16px, env(safe-area-inset-top));left:var(--gutter);pointer-events:none;text-shadow:0 1px 12px #ffffffb3;position:fixed}.brand h1{font:600 30px/1.05 var(--font-display);letter-spacing:-.01em;margin:0}.brand p{color:var(--ink-soft);letter-spacing:.02em;margin:4px 0 0;font-size:13px}.info{right:var(--gutter);top:calc(max(16px, env(safe-area-inset-top)) + 52px);width:min(340px,100vw - 32px);padding:16px 18px 14px;position:fixed}.info .close{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:22px;line-height:1;position:absolute;top:8px;right:10px}.info h2{font:600 18px/1.25 var(--font-display);margin:0 24px 2px 0}.info .sub{color:var(--ink-soft);margin-bottom:10px;font-size:12.5px}.info{overscroll-behavior:contain;max-height:calc(100vh - 120px);overflow:auto}.info h3{font:600 13px var(--font);margin:14px 0 6px}.info .tabs{scrollbar-width:none;gap:2px;margin:0 -4px 10px;display:flex;overflow-x:auto}.info .tabs button{cursor:pointer;color:var(--ink-soft);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:6px 8px;font-size:12.5px}.info .tabs button[aria-selected=true]{color:var(--accent);background:#2f5d501a;font-weight:600}.facts{grid-template-columns:repeat(4,1fr);gap:6px;margin:2px 0 12px;display:grid}.facts div{text-align:center;background:#1f2a2c0b;border-radius:9px;padding:7px 6px}.facts b{font:600 15px/1.2 var(--font);font-variant-numeric:tabular-nums;display:block}.facts span{color:var(--ink-soft);margin-top:2px;font-size:10.5px;display:block}.info dd small,.info td small{color:var(--ink-soft);font-size:11.5px;display:block}.info .note{color:var(--ink-soft);margin:10px 0 0;font-size:12px}.info .src{color:var(--ink-soft);border-top:1px solid var(--panel-line);margin:12px 0 0;padding-top:8px;font-size:10.5px}.estimate{background:#2f5d5014;border-radius:10px;margin-bottom:10px;padding:10px 12px}.estimate span{color:var(--ink-soft);font-size:11.5px;display:block}.estimate b{font:600 18px/1.3 var(--font);color:var(--accent);font-variant-numeric:tabular-nums;display:block}.table{max-height:240px;margin-bottom:8px;overflow:auto}.info table{border-collapse:collapse;width:100%;font-size:12.5px}.info th{text-align:left;color:var(--ink-soft);background:#f7f7f4;padding:4px;font-size:11px;font-weight:500;position:sticky;top:0}.info td{border-top:1px solid var(--panel-line);vertical-align:top;padding:4px}.info .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bars{gap:4px;margin:4px 0 8px;font-size:12px;display:grid}.bars div{grid-template-columns:92px 1fr 28px;align-items:center;gap:8px;display:grid}.bars i{background:linear-gradient(90deg, var(--accent) var(--w), #1f2a2c14 var(--w));border-radius:3px;height:6px}.bars b{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.cmp{margin:0 0 12px}.cmp figcaption{margin-bottom:5px;font-size:12.5px}.cmp .bar{background:linear-gradient(90deg,#e3e0d8,#9bb3a6,#2f5d50);border-radius:3px;height:6px;position:relative}.cmp .bar i{background:var(--ink);border-radius:2px;width:3px;height:14px;margin-left:-1.5px;position:absolute;top:-4px}.board{margin:6px 0 0;padding:0;font-size:13px;list-style:none}.board li{border-top:1px solid var(--panel-line);grid-template-columns:44px 1fr auto;align-items:center;gap:8px;padding:5px 0;display:grid}.board .line{color:#fff;text-align:center;background:#b8352f;border-radius:5px;padding:2px 0;font-size:12px;font-weight:700}.board .t{font-variant-numeric:tabular-nums;font-weight:600}.board .late{color:#b8352f;margin-left:4px;font-size:11.5px}.info dl{grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:13px;display:grid}.info dt{color:var(--ink-soft)}.info dd{font-variant-numeric:tabular-nums;margin:0}.colors{left:var(--gutter);top:calc(max(16px, env(safe-area-inset-top)) + 86px);width:248px;padding:12px 14px;position:fixed}.colors .label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;font-size:11px;display:block}.colors select{width:100%;font:500 14px var(--font);border:1px solid var(--panel-line);appearance:none;color:var(--ink);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235b6664' stroke-width='1.5'/%3E%3C/svg%3E") right 10px center no-repeat;border-radius:9px;padding:7px 30px 7px 10px}.colors .hint{color:var(--ink-soft);margin:8px 0 0;font-size:12px}.legend{gap:3px;margin:8px 0 0;padding:0;font-size:12.5px;list-style:none;display:grid}.legend:empty{display:none}.legend li{align-items:center;gap:8px;display:flex}.legend i{border-radius:3px;flex:none;width:12px;height:12px;box-shadow:inset 0 0 0 1px #00000014}.legend span{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-left:auto}.top-btns{top:max(16px, env(safe-area-inset-top));right:var(--gutter);z-index:3;gap:8px;display:flex;position:fixed}.events-btn{border:1px solid var(--panel-line);background:var(--panel);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.events-btn b{background:var(--accent);color:#fff;border-radius:999px;min-width:20px;margin-left:4px;padding:1px 6px;font-size:11.5px;display:inline-block}body.events-open .info{top:calc(max(16px, env(safe-area-inset-top)) + 52px);right:calc(var(--gutter) + 352px)}.events{right:var(--gutter);top:calc(max(16px, env(safe-area-inset-top)) + 52px);z-index:3;flex-direction:column;width:min(340px,100vw - 32px);max-height:calc(100vh - 140px);padding:12px 14px 10px;display:flex;position:fixed}.events[hidden]{display:none}.ev-title{font:600 16px var(--font-display);margin:0;padding:2px 6px}.ev-view{flex-direction:column;flex:1;min-height:0;display:flex}.ev-view[hidden]{display:none}.docs{margin:4px 0;padding-left:18px;font-size:13px}.docs small{color:var(--ink-soft);font-size:11px;display:block}.pin.plan .dot{color:#fff;background:#7b4bb3}.pin.plan.changing .dot,.pin.project .dot{color:#fff;background:#d63a2c}.events .ev-head{justify-content:space-between;align-items:center;display:flex}.events h2{font:600 18px var(--font-display);margin:0}.events .close{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;font-size:22px}.chips{flex-wrap:wrap;gap:4px;margin:8px 0;display:flex}.chips button{border:1px solid var(--panel-line);cursor:pointer;background:#fff;border-radius:999px;padding:4px 10px;font-size:12.5px}.chips button[aria-selected=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.ev-cat{width:100%;font:13px var(--font);border:1px solid var(--panel-line);background:#fff;border-radius:8px;margin-bottom:6px;padding:6px 8px}.ev-list{flex:1;margin:0;padding:0;list-style:none;overflow:auto}.ev-day{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:10px 0 2px;font-size:11px}.ev-item{border-top:1px solid var(--panel-line);cursor:pointer;border-radius:6px;grid-template-columns:48px 1fr auto;gap:8px;padding:7px 4px;display:grid}.ev-item:hover{background:#2f5d500f}.ev-item time{font-variant-numeric:tabular-nums;padding-top:1px;font-size:12.5px;font-weight:600}.ev-item b{font-size:13px;font-weight:600;line-height:1.3;display:block}.ev-item span{color:var(--ink-soft);font-size:12px;display:block}.ev-item .out{color:#9a5b18}.ev-item em,.live-badge{color:#fff;background:#c0392b;border-radius:6px;align-self:start;padding:2px 6px;font-size:11px;font-style:normal;font-weight:700}.ev-item.past{opacity:.45}.ev-item.live{background:#c0392b0f}.ev-empty{color:var(--ink-soft);padding:12px 0;font-size:13px}.events .src{color:var(--ink-soft);margin:8px 0 0;font-size:11px}.ev-img{object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;width:calc(100% + 36px);height:150px;margin:-16px -18px 10px;display:block}.ev-text{margin:10px 0 0;font-size:13px}.ev-link{font-weight:600}.pin.event .dot{background:var(--accent);color:#fff}.pin.event.live .dot{background:#c0392b;animation:1.4s ease-in-out infinite pulse}.pin.event.outside .dot{color:#fff;background:#9a5b18}.pin.permit .dot{color:#1f2a2c;background:#f2a33a}.pin.permit.open .dot{color:#fff;background:#e8761c}.pin.offer .dot{color:#9a5b18;background:#fff}@keyframes pulse{0%,to{box-shadow:0 0 #c0392b99}50%{box-shadow:0 0 0 9px #c0392b00}}.layers{left:var(--gutter);width:248px;padding:10px 14px;font-size:13px;position:fixed;bottom:34px}.layers .label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;font-size:11px}.layers label{cursor:pointer;align-items:center;gap:8px;padding:2px 0;display:flex}.layers input{accent-color:var(--accent)}.layers .bus-status{color:var(--ink-soft);margin:4px 0 0;font-size:11.5px}.layers .bus-status:empty{display:none}.pins{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.pin{pointer-events:auto;cursor:pointer;font:600 11px var(--font);color:var(--ink);background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex;position:absolute;top:0;left:0}.pin .dot{background:#fff;border-radius:7px;place-items:center;min-width:22px;height:22px;padding:0 5px;font-size:11px;display:grid;box-shadow:0 2px 6px #00000040}.pin:after{content:"";background:#1f2a2c8c;width:2px;height:8px}.pin .name{white-space:nowrap;background:#ffffffd9;border-radius:5px;margin-top:2px;padding:1px 5px;display:none}.pin:hover .name{display:block}.pin.stop .dot{color:#1f2a2c;background:#f2c200}.pin.train .dot{color:#fff;background:#1f4e8c;font-size:12px}.pin.poi .dot{background:#fff}.view-tools .drive-btn{background:var(--accent);color:#fff;width:auto;padding:0 14px;font-size:13px;font-weight:600}.view-tools .drive-btn:hover{background:#26493f}.drive-hud{pointer-events:none;position:fixed;inset:0}.drive-hud .speed{right:var(--gutter);background:var(--panel);box-shadow:var(--shadow);color:var(--ink-soft);border-radius:12px;padding:8px 14px;font-size:12px;position:absolute;bottom:90px}.drive-hud .speed b{font:600 28px var(--font);color:var(--ink);font-variant-numeric:tabular-nums}.drive-hud .street{left:50%;top:max(18px, env(safe-area-inset-top));color:#fff;box-shadow:0 0 0 2px #fff, var(--shadow);background:#1f4e8c;border-radius:6px;padding:5px 14px;font-size:14px;font-weight:600;position:absolute;transform:translate(-50%)}.drive-hud .drive-help{color:#fff;text-shadow:0 1px 4px #0009;white-space:nowrap;font-size:12px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.drive-hud .touch{display:none}body.driving .colors,body.driving .layers,body.driving .info,body.driving .brand,body.driving .view-tools,body.driving .top-btns,body.driving .attribution,body.driving .events,body.driving .pins{display:none!important}@media (pointer:coarse){.drive-hud .drive-help{display:none}}.view-tools{right:var(--gutter);bottom:max(28px, calc(env(safe-area-inset-bottom) + 12px));gap:6px;display:flex;position:fixed}.view-tools button{cursor:pointer;background:var(--panel);border:1px solid var(--panel-line);width:40px;height:40px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);border-radius:12px;place-items:center;font-size:18px;display:grid}.view-tools button:hover{background:#fff}.attribution{left:var(--gutter);bottom:max(8px, env(safe-area-inset-bottom));color:var(--ink-soft);font-size:11px;position:fixed}.attribution a{color:inherit}.loader{background:var(--bg);z-index:10;place-items:center;transition:opacity .7s;display:grid;position:fixed;inset:0}.loader.done{opacity:0;pointer-events:none}.loader-card{text-align:center;width:min(420px,100vw - 40px)}.loader-title{font:600 38px/1 var(--font-display)}.loader-sub{color:var(--ink-soft);letter-spacing:.02em;margin:6px 0 22px;font-size:14px}.intro-slides{aspect-ratio:16/10;box-shadow:var(--shadow);background:#dfe3dd;border-radius:12px;position:relative;overflow:hidden}.intro-slides figure{opacity:0;margin:0;transition:opacity .45s;position:absolute;inset:0}.intro-slides figure.on{opacity:1}.intro-slides img{object-fit:cover;width:100%;height:100%;display:block}.intro-slides figcaption{color:#fff;background:linear-gradient(#0000,#0000008c);padding:18px 12px 9px;font-size:14px;font-weight:600;position:absolute;bottom:0;left:0;right:0}.intro-dots{justify-content:center;gap:6px;margin:10px 0 16px;display:flex}.intro-dots button{all:unset;cursor:pointer;background:#1f2a2c33;border-radius:4px;width:8px;height:8px;transition:width .3s,background .3s}.intro-dots button.on{background:var(--accent);width:20px}.intro-slides{cursor:pointer}.loader-go{cursor:pointer;background:var(--accent);color:#fff;width:100%;font:600 16px var(--font);box-shadow:var(--shadow);border:0;border-radius:12px;margin:0 0 12px;padding:13px 0;transition:opacity .2s,transform .1s;display:block}.loader-go:disabled{opacity:.45;cursor:default}.loader-go:not(:disabled):active{transform:scale(.98)}.loader.ready .loader-bar,.loader.ready .loader-text{visibility:hidden}.loader-bar{background:#1f2a2c1a;border-radius:2px;height:3px;overflow:hidden}.loader-bar span{background:var(--accent);width:0;height:100%;transition:width .25s;display:block}.loader-text{color:var(--ink-soft);margin-top:10px;font-size:12.5px}@media (max-width:640px){.brand h1{font-size:22px}.brand p{font-size:11.5px}.attribution{left:auto;right:var(--gutter);bottom:auto;top:calc(max(16px, env(safe-area-inset-top)) + 46px);text-align:right;max-width:52vw;font-size:9px;line-height:1.35}.top-btns{top:max(14px, env(safe-area-inset-top));gap:6px;right:12px}.events-btn{padding:6px 10px;font-size:13px}.events-btn .lbl{display:none}.colors{top:calc(max(16px, env(safe-area-inset-top)) + 64px);width:min(250px,100vw - 24px);padding:8px 12px;left:12px}.colors .hint{display:none}.legend{grid-template-columns:1fr 1fr;column-gap:12px;max-height:30vh;overflow:auto}.layers{left:12px;bottom:max(64px, calc(env(safe-area-inset-bottom) + 58px));width:min(260px,100vw - 24px);padding:8px 12px}.layers .panel-body{max-height:42vh}.view-tools{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));justify-content:flex-end}.view-tools button{width:40px;height:40px}.info{width:auto;top:auto;left:12px;right:12px;bottom:max(64px, calc(env(safe-area-inset-bottom) + 58px));max-height:58vh}body.events-open .info{right:12px;top:max(14px, env(safe-area-inset-top));max-height:40vh;bottom:auto}.events{width:auto;top:auto;left:12px;right:12px;bottom:max(64px, calc(env(safe-area-inset-bottom) + 58px));max-height:62vh}body.events-open .colors,body.events-open .layers,body.events-open .top-btns,body.info-open .colors,body.info-open .layers{display:none}}.panel-toggle{all:unset;cursor:pointer;justify-content:space-between;align-items:center;width:100%;display:flex}.panel-toggle .label{margin:0}.panel-toggle i{color:var(--ink-soft);font-style:normal;transition:transform .2s}.collapsible.collapsed .panel-body{display:none}.collapsible.collapsed .panel-toggle i{transform:rotate(-90deg)}.colors .panel-body{margin-top:6px}.layers .panel-body{max-height:50vh;margin-top:4px;overflow:auto}@media (pointer:coarse){.drive-hud .touch{left:12px;right:12px;bottom:max(14px, env(safe-area-inset-bottom));pointer-events:auto;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;display:grid;position:absolute}.drive-hud .steer{height:92px;box-shadow:var(--shadow);touch-action:none;-webkit-user-select:none;user-select:none;background:#ffffff8c;border-radius:46px;position:relative}.drive-hud .steer small{text-align:center;color:var(--ink-soft);font-size:11px;position:absolute;bottom:6px;left:0;right:0}.drive-hud .steer .knob{background:#fff;border-radius:50%;width:64px;height:64px;margin-left:-32px;transition:transform 80ms;position:absolute;top:14px;left:50%;box-shadow:0 2px 8px #00000040}.drive-hud .side-btns{flex-direction:column;gap:8px;display:flex}.drive-hud .side-btns button{width:48px;height:48px;box-shadow:var(--shadow);background:#ffffffd9;border:0;border-radius:14px;font-size:18px}.drive-hud .pedals{justify-content:flex-end;gap:10px;display:flex}.drive-hud .pedals button{width:76px;height:104px;font:700 14px var(--font);color:#fff;box-shadow:var(--shadow);touch-action:none;-webkit-user-select:none;user-select:none;border:0;border-radius:16px}.drive-hud .pedals .gas{background:#2f8a5c;height:120px}.drive-hud .pedals .brake{background:#b8352f}.drive-hud .pedals button.on{filter:brightness(1.25);transform:scale(.97)}.drive-hud .speed{left:50%;right:auto;top:calc(max(16px, env(safe-area-inset-top)) + 44px);padding:4px 12px;bottom:auto;transform:translate(-50%)}.drive-hud .speed b{font-size:22px}}.sun{right:var(--gutter);width:300px;padding:10px 14px 12px;font-size:13px;position:fixed;bottom:72px}.sun[hidden]{display:none}.sun-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.sun-head .close{all:unset;cursor:pointer;color:var(--ink-soft);padding:0 4px;font-size:20px;line-height:1}.sun .row{color:var(--ink-soft);justify-content:space-between;margin-top:4px;font-size:12px;display:flex}.sun .row output{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.sun input[type=range]{accent-color:#e0a020;width:100%;margin:2px 0}.sun-btns{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.sun-btns button{font:12px var(--font);cursor:pointer;color:var(--ink);background:#fff;border:1px solid #0000001f;border-radius:7px;padding:4px 8px}.sun-btns button.on{background:#f2b632;border-color:#e0a020;font-weight:600}.sun-shadow{cursor:pointer;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.sun-shadow small,.layers label small{color:var(--ink-soft);font-size:10.5px}.sun-info{color:var(--ink-soft);margin:8px 0 0;font-size:12px}.sun-bldg{border-top:1px solid #00000014;margin-top:8px;padding-top:8px}.sun-bldg .hint{color:var(--ink-soft);margin:0;font-size:12px}.sb-title{margin-bottom:4px;font-weight:600}.sb-day{color:var(--ink-soft);justify-content:space-between;font-size:12px;display:flex}.sb-day b{color:var(--ink)}.sb-strip{border-radius:4px;height:12px;margin-top:5px;position:relative}.sb-strip i{background:#c0392b;width:2px;position:absolute;top:-3px;bottom:-3px;transform:translate(-1px)}.sb-axis{color:var(--ink-soft);justify-content:space-between;margin-top:2px;font-size:10px;display:flex}.sb-year{grid-template-columns:repeat(12,1fr);align-items:end;gap:3px;height:70px;margin-top:8px;display:grid}.sb-year div{text-align:center;flex-direction:column;justify-content:flex-end;height:100%;display:flex}.sb-year span{background:#f2b632;border-radius:2px 2px 0 0;min-height:1px;display:block}.sb-year small{color:var(--ink-soft);font-size:9.5px}.sun .src{color:var(--ink-soft);margin:6px 0 0;font-size:10.5px}body.driving .sun{display:none!important}@media (min-width:641px){body.info-open .sun{right:calc(var(--gutter) + 352px)}}@media (max-width:640px){.sun{width:auto;left:12px;right:12px;bottom:max(64px, calc(env(safe-area-inset-bottom) + 58px));max-height:60vh;overflow:auto}body.sun-open .colors,body.sun-open .layers,body.sun-open .info{display:none}}.sources{width:min(560px,100vw - 32px);max-height:min(80vh,760px);color:var(--ink);border:0;margin:auto;padding:18px 22px;font-size:13.5px;position:fixed;inset:0;overflow:auto}.sources::backdrop{background:#141c1e59}.sources-head{justify-content:space-between;align-items:center;display:flex}.sources h2{font:600 22px var(--font-display);margin:0}.sources .close{all:unset;cursor:pointer;color:var(--ink-soft);padding:0 4px;font-size:24px;line-height:1}.sources .lead{color:var(--ink-soft);margin:6px 0 4px}.sources h3{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:14px 0 4px;font-size:11px}.sources ul{margin:0;padding-left:18px}.sources li{margin:3px 0;line-height:1.4}.sources a{color:var(--accent)}@property --p{syntax:"<number>";inherits:false;initial-value:0}.loader-lead{color:var(--ink);margin:0 0 10px;font-size:14px}.loader-card{width:min(460px,100vw - 32px)}.tour-cards{text-align:left;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.tour-card{text-align:left;cursor:pointer;aspect-ratio:4/3;box-shadow:var(--shadow);background:#dfe3dd;border:0;border-radius:12px;padding:0;transition:transform .15s;display:block;position:relative;overflow:hidden}.tour-card.main{aspect-ratio:16/8;grid-column:1/-1}.tour-card img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tour-card .tc-body{color:#fff;background:linear-gradient(#0000,#000000a8);flex-direction:column;gap:2px;padding:26px 12px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.tour-card b{font:600 15px/1.2 var(--font-display)}.tour-card.main b{font-size:21px}.tour-card small{opacity:.9;font-size:11.5px;line-height:1.3}.tour-card:hover{transform:translateY(-2px)}.tour-card.picked:after{content:"Wird geladen …";color:var(--ink);background:#ffffffe6;border-radius:999px;padding:3px 8px;font-size:11px;position:absolute;top:8px;right:8px}.loader.ready .tour-card.picked:after{content:none}.tour{left:var(--gutter);bottom:max(16px, env(safe-area-inset-bottom));z-index:4;background:#fcfcf9f2;flex-direction:column;width:380px;max-height:min(78vh,640px);display:flex;position:fixed;overflow:hidden}.tour[hidden],.t-grip{display:none}.t-head{color:var(--ink-soft);align-items:center;gap:8px;padding:12px 14px 6px;font-size:12px;display:flex}.t-name{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.t-count{font-variant-numeric:tabular-nums}.t-close{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;margin-left:auto;padding:4px 6px;font-size:15px}.t-close:hover{background:#1f2a2c0f}.t-progress{gap:3px;padding:0 14px 10px;display:flex}.t-progress i{cursor:pointer;background:#1f2a2c1f;border-radius:2px;flex:1;height:4px;position:relative;overflow:hidden}.t-progress i.done{background:var(--accent)}.t-progress i.on{background:#e5835a59}.t-progress i.on:after{content:"";transform-origin:0;transform:scaleX(max(var(--p), .25));background:#e5835a;position:absolute;inset:0}.t-scroll{overscroll-behavior:contain;padding:0 14px 4px;overflow-y:auto}.t-img{aspect-ratio:16/9;background:#dfe3dd;border-radius:10px;margin:0 0 10px;position:relative;overflow:hidden}.t-img img{object-fit:cover;width:100%;height:100%;display:block}.t-img figcaption{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#00000073;border-top-left-radius:6px;max-width:100%;padding:2px 7px;font-size:10px;position:absolute;bottom:0;right:0;overflow:hidden}.t-img figcaption a{color:inherit}.t-year{color:#7a5a2a;background:#efe6d6;border-radius:999px;margin-bottom:4px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.tour h2{font:600 21px/1.2 var(--font-display);margin:0 0 6px}.tour p{margin:0 0 10px;font-size:14px;line-height:1.5}.t-chips{flex-wrap:wrap;gap:6px;margin:2px 0 8px;display:flex}.t-chips .chip{color:var(--accent);cursor:default;background:#2f5d5017;border:0;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;text-decoration:none;display:inline-flex}.t-chips a.chip,.t-chips button.chip{cursor:pointer}.t-chips a.chip:hover,.t-chips button.chip:hover{background:#2f5d5029}.t-walk,.t-yearnow{color:var(--ink-soft);margin:0 0 6px;font-size:12px}.t-yearnow{background:#1f2a2c0f;border-radius:999px;padding:1px 8px;display:inline-block}.t-check{margin:0 0 10px;padding:0;list-style:none}.t-check li{border-bottom:1px solid var(--panel-line);padding:4px 0}.t-check label{cursor:pointer;align-items:center;gap:8px;display:flex}.t-check input{accent-color:var(--accent);width:17px;height:17px}.t-nav{border-top:1px solid var(--panel-line);gap:6px;padding:10px 14px 12px;display:flex}.t-nav button{cursor:pointer;background:#fff;border:1px solid #1f2a2c24;border-radius:19px;min-width:38px;height:38px;font-size:15px}.t-nav button:disabled{opacity:.35;cursor:default}.t-nav .t-next{background:var(--accent);border-color:var(--accent);color:#fff;margin-left:auto;padding:0 18px;font-size:14px;font-weight:600}.t-nav button:focus-visible,.tour-card:focus-visible{outline-offset:2px;outline:2px solid #e5835a}.pin.tour-mark .dot{color:#fff;background:#e5835a;width:26px;height:26px;font-size:12px;font-weight:700;box-shadow:0 0 0 4px #e5835a4d,0 2px 6px #00000040}.pin.tour-mark .name{font-weight:600;display:block}.pin.dorf .dot{box-shadow:0 0 0 2px var(--accent), 0 2px 5px #0003;background:#fff}.pin.share .dot{background:#fff;box-shadow:0 0 0 2px #00a3e0}.pin.share.dott .dot{box-shadow:0 0 0 2px #e6007e}.info .tipp{background:#e5835a1a;border-radius:8px;padding:7px 9px;font-size:13px}.tours-menu{right:var(--gutter);top:calc(max(16px, env(safe-area-inset-top)) + 52px);z-index:4;width:min(340px,100vw - 32px);padding:12px;position:fixed}.tours-menu[hidden]{display:none}.tm-head{font:600 17px var(--font-display);justify-content:space-between;align-items:center;padding:0 2px 8px;display:flex}.tm-head .close{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;font-size:22px}.tm-list{flex-direction:column;gap:6px;display:flex}.tm-list button{text-align:left;cursor:pointer;background:#ffffffb3;border:0;border-radius:10px;align-items:center;gap:10px;padding:6px;display:flex}.tm-list button:hover{background:#fff}.tm-list img{object-fit:cover;border-radius:7px;flex:none;width:72px;height:54px}.tm-list b{font-size:14px;display:block}.tm-list small{color:var(--ink-soft);font-size:12px;line-height:1.3;display:block}body.touring .colors,body.touring .layers,body.touring .attribution,body.touring .events,body.touring .tours-menu{display:none!important}@media (max-width:640px){.tour{width:auto;max-height:56vh;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-left:0;border-right:0;border-radius:18px 18px 0 0;bottom:0;left:0;right:0}.t-grip{cursor:pointer;background:0 0;border:0;flex:none;width:100%;height:18px;display:block;position:relative}.t-grip:before{content:"";background:#1f2a2c38;border-radius:2px;width:38px;height:4px;margin-left:-19px;position:absolute;top:7px;left:50%}.t-head{padding-top:0}.t-img{aspect-ratio:5/2}.tour h2{font-size:19px}.tour.mini .t-scroll,.tour.mini .t-progress,body.touring .view-tools{display:none}.tour-card.main{aspect-ratio:16/9}}.pin.dorf.jetzt .dot{color:#fff;background:#e5835a;animation:1.4s ease-in-out infinite pulse}.pin.dorf.jetzt .name{display:block}
