@font-face{font-family:Caprasimo;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAtAAAwAAAAADsAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHUE9TAAABHAAAAEkAAABWK5okZk9TLzIAAAFoAAAAVQAAAGB30TaVY21hcAAAAcAAAAByAAAAnAyKMJxnYXNwAAACNAAAAAgAAAAIAAAAEGdseWYAAAI8AAAGwQAACPT5mo5jaGVhZAAACQAAAAA1AAAANiiHDghoaGVhAAAJOAAAAB8AAAAkEB8EV2htdHgAAAlYAAAAPAAAAFRF9gSHbG9jYQAACZQAAAAsAAAALBwFHoxtYXhwAAAJwAAAABwAAAAgACQBJm5hbWUAAAncAAAA9QAAAhYr40j8cG9zdAAACtQAAABrAAAAjl/1qz542mNgZGBg4GJQYTBiYHJx8wlh4MtJLMlj4GNgYQCC///B8ozZqUV5DBwgFggD5ZiAPEYw5gHyQGJCDIxAyAzETP8/AgCyDQlKAAAAeNpjYGG5zjiBgZWBgXUWqzEDA8MJCM2kxsjIJASkOThZWJi5mVhYGhgY8hmQgLu/vzuDA4OCggJrwr9SBgb2CMarCgwMjCA5FqBpQEqBgQkAJs4LCwAAAHjaTckxDgFBAADA2VsJCUTkolLsA3zC+Yj7hHiCWqvxFZV4hIjKK/aW5sK0gwoRtSigNnDEylw0kTQuoQ2HcKpu1b16xBBjHKVUCpLNd3d/q9/yKtfS0p27fd7mJq/J4zx8vgXA0s9Mb6E2NfkA168fTQAAAAEAAf//AA942q1VZWDiWBd9SQjptJBBmxZNSAmQ4KSBBmmRQtstVuou4+4+s76fu7u7u7u7u7u7S+n3ksq38nfRe897Cefcc98FoOAgAGgGXwUYIABIGBmjlzEyB5FvtJvII9pX8dV/v9CPG+C+HADaGfwIKINRALwWLct4uH5RSkpS0ixJ/WIYhVmCiXdbLSRqtXRTZhdKdcNsZ2cOrnM+H0NotVaLC8UYDJ0oSu0fSKWE2+HQ/UTb5fa7ixL6Rano6HPsw79gMHOCxwG3IFKJjbAETreDeIctOhiNIKUXnhwQE3I04rQNseirjKyZstnDgoIFQjZHj5ExbL4kMp5negNBOQHBsJ0ykg79IbIn3etgmTjyG+RvAGrOAoC/EapiQRAkAUAg9z26xj1NLhTKIFwowhoTcaiVM4scy0KRMMPfOP+U17b++0cpH5AC8JWX0I31L7zx5PNOzDxnfZPQ9p2dOvOSpdbJsfpoGhk/dNeIQxyIJ2iBR78d5N3xxIDIr77w0p1Poc3Ne9C/tNm7Dp+5578fbhx9zfjCNCQE5re+q/kF/kjQgkw9nI/jWI+WVQL4UtjFXZjKCeZhDAIQ6YZ1hxgMuilKdWD3QqsFQi5MsQh9FT8ZMPWZ+QYvh7r0lA4bFnwDqdHTk/HDsTJ99OMvWH7MLx8daPqZoofLBPiEu7NBlCMCby2+/L5YMzvtXXvrE1oLz/6ws4PAcNdQIncrp9NHRLFWFUNZPmLf565feuMdT/3U4Y7ODrMYqzBbPZaYHGKOPDGejA4wOnft3Msvnn31mZSikoXdZYM+DO31lmpBP6LI5B7cWQ9uOC1sKgJR2krzoZK0+aH+4fhQvP0SigoI0WEJHZBKQlKwdn7ka4TeF/eVJISSSpzH46Xar47lYyflhDggiu4Afy9a8IXtTk5WeiYet9vtlpCx/SbkvM5JUr32eETBw4LNHuE2P/Rk3u8SFe7k1o+w92toMAETtcQULLLaMmrh2V3LFCX3d+z+hrnQ2I5h3duGhVGk7ZFcDlfBvfjCjRufu+Y+aUM6w13uIC3EejsJU6pfLPUna+kAn4lMP+fy8H1fOB6o+3BvHxNheL8R13R4I5GRkWXsostHe3R6HWFZedqhR724bCBxXSxVZRxJpzgUKhRDMV+K3mcMN+45cv05Y1o9Quoj+WkXFaH8lfxkXlH49vancD3+C3AbALjaTQp5TrUoSaIwV3Rt0w+ju6Gin8ihu6FaABe2bRaWlzgu08e7b0tWK8bCuTO5bNZqzWXyZ8/mjdVC6UA0emC4WIMrZ/PKSjY7dOZswTRaT1bdQt/vBLc7dOEXJ5rvmi0fn2uFDLVS6WA0erA83DAmlxfFbNZizWakxaWkoVkuKyulUt0gNOfOjE29r37i5wDZetXmPzVf0BbBmHLmiURcqTmLkRjr2fUIEt9psqQZfmMKmkhK6tK2Q3Dz9ihrIO87NxN+/1CXfPY9j60+/9hSvTKTlQU2mqllkHC0XIkOCa/p6fnrp1M3Tw4fn04UI4LI0ZxUlrC/7u84JYqbI1e/+YoV/uhS9VBhphBi6bGZo4Mkgca0TtraE/RFhU9++qvWxEJlYTJaLkd5mh+tLQAUyBo79gn858ACQgCY4TBWy60WnlAr7hWTkDJ8bcPE3oIcMfWGqiOFtVCReRPpNNh9yAd0VY0Ws82NFY6ORvaZu95Augz2gGYmOMtJR8uzJW+zaJgkumiOph7XsZ/IrU2Whxosoccr2i5G6ZINzQT2fK0H9MJku/V3JhScQrsUCPS53lyqXAx+2i3SlM/0738Z/d10v1vzUi6YC3+B4VmfSf+Wt+hNPpZnAAIVytjH8RTQQ327p10dD7KcQV+UluX05oqc0bxzoFJJpSpl9QoSZfDfAot6xV5J9oSzQX2POJ4eO3Wp8nLSbnCFNE3bZKs3NJdeq06edha0HezOXeidu8R3j7MiSe3vP6XH+ylSYEOuvgYtX2udxH+bngv1TrQcNNtH2uSlanUNqHfRYTj+NOCGiUcZA+ph2T0gifieXehQ9vA053FaPFzM5p0eyx6e8fY5DR6/kmmM2SyX4EZ8uTtm1Kjiy945C1T/MeyX+C3QBSj1F/rFHaOZ+8WIfuHK1fmFy1eQ1yrB4tVrGmxxbXV5eXV1SfleXF9bhFwHNC2M0QJgv597D7FPS6Ar3om03PK+WG8OM5Rg/uIXLQJFh02k5gP+Usn/BtJr8QQMujvu0BkCjMW7/+FkubW1/W9IHEE5oAEAEMAAfo0cgbj6/0H4IY6ruBEhkVdDXJ3NWg/EoTT47vwF+B9s3dYpAAAAeNpjYGRgAGKnsA5LhXh+m68M3BwMIHD/i5kSiH6wvtf0v/XfH5yd7DVALhsDE0gUADgKC/YAAAB42mNgZGBgj/inzcDA+e+/9R8Jzk6gCCoQBQCIBAWHAHjaY5rPkMrEwMDANpfBjnUvgy2rJkMUmy2DMvMFBj7WwwzbWM7+X8nCwGAFxMkgmgETW4JoZH0AZuIMvAAAABQAFAB/ANABQwGhAhICewLeAyUDTwNoA4sDrgPeBAQEMQRXBGMEbwR6eNpjYGRgYBBlWM3AwVDJwALmIQATAyMAHjIBS3jahZADbkRRAEVPbcYNiqC226C2HY/Nj2IfXVLjrmDWMIuYm8mYebr8eEA3Ptpoae8B/kjncAujpHK4lUH+c7iNHX5zuJ0pjBzuYIyPHO6UvpXDg0IQwNJIYLLHsoaJG4OgFEt4CVM4ojMu1S//njNuOMaphKFdPlG5izzhVcJW2innTcxArrwYE6yyxIrGao3uREW3mN3nnHuNc6Gm76xg1fljrQQ/GOL+7J9PsMaK1rrQixSvzlrf94ChMyTfnW0dYusMSDMwxWeq7tGvrhLKuVjCrWRUqkenGwOvkk6CQov40A0pa8p3V7271J9lKQPEe1UAAAAAeNpjYGIAg/9CjIwM2IAoEDMzqDCoMpgx2DCEMTQxLGO4z/CQ4RYjEyMzIwsjKyMbIzvDE4bdDE85E5NLS1KT83OTONOLEssgrJLMnBQwiyclM7UotTizGCycnFiUn6eXnFgAFwZxADjmISYA) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caprasimo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caprasimo-latin-400-normal-u3avbpQ7.woff2) format("woff2"),url(/assets/caprasimo-latin-400-normal-CPOhBPz8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-ext-400-normal-CXAzuTZb.woff2) format("woff2"),url(/assets/figtree-latin-ext-400-normal-Gbh-3PTk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-400-normal-g7Dtegnw.woff2) format("woff2"),url(/assets/figtree-latin-400-normal-BD4aNku5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-ext-600-normal-DJlfifZj.woff2) format("woff2"),url(/assets/figtree-latin-ext-600-normal-CQqsimlV.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-600-normal-Cv_xCTDl.woff2) format("woff2"),url(/assets/figtree-latin-600-normal-BM_oTo4n.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-ext-700-normal-CS4sQkGV.woff2) format("woff2"),url(/assets/figtree-latin-ext-700-normal-BoDi4KL2.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-700-normal-th6qEP7c.woff2) format("woff2"),url(/assets/figtree-latin-700-normal-BCCt2T1q.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sidebar-width: 372px;--panel-width: 420px;--color-bg: #f5ead8;--color-surface: #ebddc5;--color-surface-opaque: #fbf3e4;--color-text: #201e1d;--color-text-muted: #82796a;--color-text-muted-2: #a19786;--color-divider: color-mix(in srgb, #201e1d 16%, transparent);--glass: color-mix(in srgb, #fff8ef 84%, transparent);--glass-strong: color-mix(in srgb, #fff8ef 92%, transparent);--glass-border: color-mix(in srgb, #fff 55%, transparent);--glass-blur: 14px;--scrim: color-mix(in srgb, #201e1d 38%, transparent);--color-neutral-100: #f9f4ed;--color-neutral-200: #eee7db;--color-neutral-300: #dcd3c4;--color-neutral-400: #c0b6a5;--color-neutral-500: #a19786;--color-neutral-600: #82796a;--color-neutral-700: #645c50;--color-neutral-800: #474238;--color-neutral-900: #2e2b25;--color-accent-100: #fff2eb;--color-accent-200: #ffe1d0;--color-accent-300: #ffc6a5;--color-accent-400: #f6a06b;--color-accent-500: #d67f48;--color-accent-600: #b2622d;--color-accent-700: #8c491a;--color-accent-800: #643312;--color-accent-900: #402310;--color-accent-2-100: #f0fae1;--color-accent-2-200: #e1eecc;--color-accent-2-300: #ccdbb2;--color-accent-2-400: #aebf92;--color-accent-2-500: #8fa073;--color-accent-2-600: #728157;--color-accent-2-700: #56633f;--color-accent-2-800: #3d472b;--color-accent-2-900: #272e1b;--color-accent: #c67139;--primary: var(--color-accent-600);--primary-hover: var(--color-accent-700);--primary-ring: color-mix(in srgb, var(--color-accent-600) 22%, transparent);--danger: #a3402f;--danger-soft: color-mix(in srgb, #a3402f 12%, transparent);--danger-ring: color-mix(in srgb, #a3402f 16%, transparent);--success: var(--color-accent-2-700);--success-soft: var(--color-accent-2-100);--marker-stop: var(--color-accent-600);--marker-hotel: #8c495e;--marker-excursion: var(--color-accent-2-700);--marker-place: #a87c1f;--marker-dayroute: #4e6e8d;--marker-walk: #42704c;--font-heading: "Caprasimo", system-ui, sans-serif;--font-body: "Figtree", system-ui, sans-serif;--radius-sm: 8px;--radius: 16px;--radius-lg: 28px;--shadow-sm: 0 1px 2px color-mix(in srgb, #2e2b25 14%, transparent);--shadow-md: 0 3px 10px color-mix(in srgb, #2e2b25 16%, transparent);--shadow-lg: 0 12px 32px color-mix(in srgb, #2e2b25 22%, transparent);font-family:var(--font-body);font-feature-settings:"ss01","cv11";color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--color-bg: #201e1d;--color-surface: #2e2b25;--color-surface-opaque: #2a2723;--color-text: #f0e8da;--color-text-muted: #b3a992;--color-text-muted-2: #8f8672;--color-divider: color-mix(in srgb, #f0e8da 14%, transparent);--glass: color-mix(in srgb, #2e2b25 86%, transparent);--glass-strong: color-mix(in srgb, #2e2b25 92%, transparent);--glass-border: color-mix(in srgb, #f0e8da 10%, transparent);--scrim: color-mix(in srgb, #000000 55%, transparent);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 0 0 1px rgba(240, 232, 218, .06), 0 3px 10px rgba(0, 0, 0, .5);--shadow-lg: 0 0 0 1px rgba(240, 232, 218, .07), 0 12px 32px rgba(0, 0, 0, .6);--color-accent: var(--color-accent-400);--danger: #e0846f;--danger-soft: color-mix(in srgb, #e0846f 16%, transparent);--danger-ring: color-mix(in srgb, #e0846f 20%, transparent);--success: var(--color-accent-2-400);--success-soft: color-mix(in srgb, var(--color-accent-2-400) 16%, transparent);--marker-stop: var(--color-accent-500);--marker-hotel: #b3728a;--marker-excursion: var(--color-accent-2-400);--marker-place: #cf9b34;--marker-dayroute: #7096b5;--marker-walk: #6b9c74}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);overflow:hidden}#app{position:relative}.num{font-variant-numeric:tabular-nums}#map{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;background:var(--color-surface)}.leaflet-tile-pane{filter:saturate(.62) sepia(.14) brightness(1.04) contrast(.94)}:root[data-theme=dark] .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) saturate(.3) brightness(.8) contrast(.92) sepia(.14)}.leaflet-container{font-family:var(--font-body)}#sidebar{position:absolute;z-index:500;top:20px;left:20px;bottom:20px;width:var(--sidebar-width);display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--glass);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-lg);border:1px solid var(--glass-border);transition:translate .22s ease,opacity .22s ease}#sidebar.collapsed{translate:-110% 0;opacity:0;pointer-events:none}.rail-mini{position:absolute;z-index:500;top:20px;left:20px;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 20px;border-radius:999px;background:var(--glass);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-lg);border:1px solid var(--glass-border);cursor:pointer;font:inherit;color:var(--color-text);translate:0 0;opacity:1;transition:translate .22s ease,opacity .22s ease}.rail-mini.hidden{translate:0 -160%;opacity:0;pointer-events:none}.rail-mini-name{font-family:var(--font-heading);font-size:16px}.rail-mini-count{font:600 12px/1 var(--font-body);color:var(--color-accent-700)}:root[data-theme=dark] .rail-mini-count{color:var(--color-accent-400)}.rail-mini-icon{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:var(--color-accent-200);color:var(--color-accent-800)}.rail-mini:hover .rail-mini-icon{background:var(--color-accent-300)}:root[data-theme=dark] .rail-mini-icon{background:var(--color-accent-800);color:var(--color-accent-200)}.sidebar-header{padding:20px 22px 0}.sidebar-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-header h1{font:600 11px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);margin:0}.header-actions{display:flex;align-items:center;gap:6px}.lang-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--color-divider);border-radius:999px;padding:6px 12px;font:600 12px/1 var(--font-body);color:var(--color-text);cursor:pointer;transition:background .12s}.lang-btn.icon-only{padding:6px;width:30px;height:30px;justify-content:center}.lang-btn:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.lang-globe{flex:0 0 auto}.lang-code{letter-spacing:.04em}.collapse-btn{width:30px;height:30px;border:0;border-radius:999px;background:transparent;color:var(--color-text-muted);cursor:pointer;display:grid;place-items:center}.collapse-btn:hover{background:color-mix(in srgb,var(--color-text) 8%,transparent);color:var(--color-text)}.collapse-btn svg{rotate:180deg}.trip-name{margin:10px 0 0;font-family:var(--font-heading);font-size:27px;line-height:1.15;color:var(--color-text);cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:var(--radius-sm);border-bottom:2px dashed transparent;transition:border-color .15s}.trip-name:hover{border-bottom-color:color-mix(in srgb,var(--color-accent) 45%,transparent)}.trip-name--empty{color:var(--color-text-muted-2);font-style:italic}.trip-name-input{display:block;width:100%;margin:10px 0 0;padding:0;font:400 27px/1.15 var(--font-heading);color:var(--color-text);background:transparent;border:0;border-bottom:2px solid var(--color-accent);outline:none;box-sizing:border-box}.trip-dates{margin:2px 0 0;font:600 12.5px/1 var(--font-body);color:var(--color-accent-700)}:root[data-theme=dark] .trip-dates{color:var(--color-accent-400)}.search{margin:16px 0 4px;position:relative}.search-icon{position:absolute;left:15px;top:50%;translate:0 -50%;color:var(--color-text-muted-2);pointer-events:none}#search-input{width:100%;box-sizing:border-box;border:1px solid var(--color-divider);border-radius:999px;background:color-mix(in srgb,#fff 55%,transparent);padding:11px 16px 11px 42px;font:400 14px/1 var(--font-body);color:var(--color-text);outline:none;transition:border-color .15s,box-shadow .15s}:root[data-theme=dark] #search-input{background:color-mix(in srgb,#f0e8da 6%,transparent)}#search-input::placeholder{color:var(--color-text-muted-2)}#search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--primary-ring)}.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius);list-style:none;margin:0;padding:4px;max-height:280px;overflow-y:auto;z-index:1100;box-shadow:var(--shadow-lg)}.search-result{padding:9px 12px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;outline:none}.search-result:hover,.search-result:focus{background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent-700)}:root[data-theme=dark] .search-result:hover,:root[data-theme=dark] .search-result:focus{color:var(--color-accent-300)}.search-result.empty{color:var(--color-text-muted);cursor:default;font-style:italic}.search-result.empty:hover{background:transparent;color:var(--color-text-muted)}.stop-list{list-style:none;margin:0;padding:10px 14px 8px;overflow-y:auto;flex:1 1 auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--color-neutral-400) transparent}.stop-item{display:flex;flex-direction:column;border-radius:var(--radius);margin-bottom:2px;border:1px solid transparent;transition:background .15s,border-color .15s}.stop-item-row{display:grid;grid-template-columns:20px 1fr auto auto auto;gap:8px;align-items:center;padding:11px 10px 11px 8px;border-radius:var(--radius)}.stop-item:hover{background:color-mix(in srgb,#fff 60%,transparent)}:root[data-theme=dark] .stop-item:hover{background:color-mix(in srgb,#f0e8da 7%,transparent)}.stop-item:focus-within{background:color-mix(in srgb,var(--color-accent) 12%,transparent);border-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}.stop-item.expanded{background:color-mix(in srgb,#fff 55%,transparent);border-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}:root[data-theme=dark] .stop-item.expanded{background:color-mix(in srgb,#f0e8da 6%,transparent)}.stop-item.sortable-ghost{opacity:.4;outline:2px dashed var(--color-accent-500);outline-offset:-2px;rotate:-1.2deg;box-shadow:var(--shadow-lg);background:var(--color-surface-opaque)}.stop-item.sortable-chosen .stop-item-row{box-shadow:var(--shadow-sm)}.drag-handle{display:inline-flex;align-items:center;justify-content:center;cursor:grab;color:var(--color-text-muted-2);-webkit-user-select:none;user-select:none;width:20px;height:32px}.drag-handle:active{cursor:grabbing}.stop-main{background:none;border:0;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;min-width:0;overflow:hidden;gap:3px}.stop-name{font-family:var(--font-heading);font-weight:400;font-size:16.5px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stop-meta{display:flex;flex-direction:column;gap:2px;font-size:12px;font-weight:600;color:var(--color-text-muted);min-width:0}.stop-meta-main{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden}.stop-meta .icon{flex:0 0 auto;color:var(--color-text-muted-2)}.stop-meta-text{overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.stop-meta-modes{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;color:var(--color-accent-2-700)}:root[data-theme=dark] .stop-meta-modes{color:var(--color-accent-2-400)}.stop-meta-sep{opacity:.6;margin:0 1px}.stop-meta-leg{display:inline-flex;align-items:center;gap:7px;padding:7px 0 7px 38px;font-size:12px;font-weight:600;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;font-variant-numeric:tabular-nums}.stop-meta-leg .icon{color:var(--color-accent-2-700)}:root[data-theme=dark] .stop-meta-leg .icon{color:var(--color-accent-2-400)}.stop-meta .hint{color:var(--color-text-muted-2);font-weight:400;font-style:italic}.icon-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;width:30px;height:30px;padding:0;border-radius:999px;cursor:pointer;color:var(--color-text-muted);transition:background .12s,color .12s}.icon-btn:hover{background:color-mix(in srgb,var(--color-accent) 14%,transparent);color:var(--color-accent-700)}:root[data-theme=dark] .icon-btn:hover{color:var(--color-accent-300)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.icon-btn.caret svg{transition:rotate .15s}.icon-btn.caret.up svg{rotate:180deg}.empty-hint{margin:0;padding:24px 16px;color:var(--color-text-muted);font-size:13px;text-align:center}.stop-item-expand{padding:2px 14px 12px 50px;display:flex;flex-direction:column;gap:8px}.xp-line{display:flex;align-items:center;gap:9px;font:400 12.5px/1.3 var(--font-body);color:var(--color-text)}.xp-line b{font-weight:700}.xp-line .role-hotel{color:var(--marker-hotel);display:inline-flex}.xp-line .role-transit{color:var(--color-accent-2-700);display:inline-flex}:root[data-theme=dark] .xp-line .role-transit{color:var(--color-accent-2-400)}.xp-line .muted{color:var(--color-text-muted)}.xp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.xp-tag{border:1px solid var(--color-divider);border-radius:999px;padding:6px 12px;font:600 11.5px/1 var(--font-body);color:var(--color-text-muted);background:transparent;cursor:pointer}.xp-tag:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.xp-tag b{color:var(--color-accent-700)}:root[data-theme=dark] .xp-tag b{color:var(--color-accent-400)}.sidebar-footer{position:relative;display:flex;gap:8px;padding:12px 18px 18px}.footer-btn{flex:1 1 0;font-family:var(--font-heading);font-weight:400;font-size:15px;height:44px;padding:0 14px;border:1px solid var(--color-divider);border-radius:999px;background:transparent;color:var(--color-text);cursor:pointer;transition:background .12s,border-color .12s,color .12s}a.footer-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.footer-btn:hover{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.footer-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-ring)}.footer-btn.primary{background:var(--color-accent);color:#fff8ef;border-color:var(--color-accent)}.footer-btn.primary:hover{background:var(--color-accent-600)}.footer-btn.copied{background:var(--success);border-color:var(--success);color:#fff8ef}.trip-menu{position:absolute;bottom:calc(100% + 8px);left:18px;right:18px;margin:0;padding:6px;border:1px solid var(--glass-border);background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));color:var(--color-text);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:2px;z-index:1050}.trip-menu[hidden]{display:none}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;font:inherit;font-size:14px;font-weight:500;color:var(--color-text);background:transparent;border:0;border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:background .12s,color .12s}.menu-item:hover,.menu-item:focus-visible{outline:none;background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent-700)}:root[data-theme=dark] .menu-item:hover,:root[data-theme=dark] .menu-item:focus-visible{color:var(--color-accent-300)}.menu-item .icon{flex:0 0 auto;opacity:.85}.menu-item.copied,.menu-item.copied .icon{color:var(--success)}.shortcuts-list{display:flex;flex-direction:column;gap:8px}.shortcut-row{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--color-text)}.shortcut-keys{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.shortcut-or{color:var(--color-text-muted);font-size:12px}.shortcut-row kbd{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 8px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12.5px;font-weight:600;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-sm)}.sidebar-toggle{display:none;position:absolute;top:14px;left:14px;z-index:1100;width:44px;height:44px;border:1px solid var(--glass-border);background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));color:var(--color-text);border-radius:999px;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg);padding:0;transition:background .12s}.sidebar-toggle:hover{background:color-mix(in srgb,#fff8ef 95%,transparent)}.sidebar-toggle:focus-visible{outline:none;box-shadow:var(--shadow-lg),0 0 0 3px var(--primary-ring)}.sidebar-scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:499;opacity:0;transition:opacity .22s ease}.suggest-popup p{margin:0 0 10px;font-size:14px;color:var(--color-text)}.suggest-popup button{font:inherit;font-size:13px;font-weight:600;border-radius:999px;padding:7px 14px;border:1px solid var(--color-divider);cursor:pointer;margin-right:6px;background:transparent;color:var(--color-text);transition:background .12s}.suggest-popup button.primary{background:var(--color-accent);color:#fff8ef;border-color:var(--color-accent)}.suggest-popup button.primary:hover{background:var(--color-accent-600)}.suggest-popup button.ghost:hover{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.leaflet-popup-content-wrapper{border-radius:var(--radius);background:var(--color-surface-opaque);color:var(--color-text);box-shadow:var(--shadow-lg)}.leaflet-popup-tip{background:var(--color-surface-opaque)}.leaflet-popup-content{font-family:inherit;font-size:13px;margin:12px 14px}.leaflet-tooltip.stop-label{background:color-mix(in srgb,#fff8ef 88%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid color-mix(in srgb,#201e1d 10%,transparent);border-radius:999px;padding:5px 11px 5px 5px;font-family:inherit;font-size:12px;font-weight:600;color:var(--color-text);box-shadow:var(--shadow-sm);white-space:nowrap}:root[data-theme=dark] .leaflet-tooltip.stop-label{background:color-mix(in srgb,#2e2b25 90%,transparent);border-color:color-mix(in srgb,#f0e8da 10%,transparent);color:var(--color-text)}.leaflet-tooltip.stop-label:before{display:none}.hotel-marker-icon{width:28px;height:36px;background:var(--marker-hotel);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;border:2px solid #fff8ef;box-shadow:0 2px 6px #2e2b2559;color:#fff8ef}:root[data-theme=dark] .hotel-marker-icon{border-color:#201e1d}.hotel-marker-icon>svg{transform:rotate(45deg)}.excursion-marker-icon{width:28px;height:36px;background:var(--marker-excursion);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;border:2px solid #fff8ef;box-shadow:0 2px 6px #2e2b2559;color:#fff8ef}:root[data-theme=dark] .excursion-marker-icon{border-color:#201e1d}.excursion-marker-icon>svg{transform:rotate(45deg)}.places-filter-control.leaflet-bar{border:1px solid var(--glass-border);background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-sm);box-shadow:var(--shadow-md);overflow:hidden}.places-filter-control .places-filter-select{display:block;min-height:30px;max-height:160px;padding:4px 8px;border:none;background:transparent;color:var(--color-text);font-size:12px;max-width:148px;outline:none;overflow-y:auto}.fit-control.leaflet-bar{border:1px solid var(--glass-border);background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-sm);box-shadow:var(--shadow-md);overflow:hidden}.fit-control .fit-button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;text-decoration:none;color:var(--color-text);background:transparent;transition:color .12s}.fit-control .fit-button:hover{color:var(--color-accent-700)}:root[data-theme=dark] .fit-control .fit-button:hover{color:var(--color-accent-400)}.leaflet-control-layers,.leaflet-bar{border:1px solid var(--glass-border)!important;background:var(--glass-strong)!important;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-md)!important;border-radius:var(--radius-sm)!important;overflow:hidden}.leaflet-bar a{background:transparent!important;color:var(--color-text)!important;border-bottom-color:var(--color-divider)!important}.leaflet-bar a:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)!important}.leaflet-control-layers-expanded{background:var(--color-surface-opaque)!important;color:var(--color-text)!important;border-radius:var(--radius)!important;padding:10px 12px!important}.leaflet-control-layers-separator{border-color:var(--color-divider)!important}.leaflet-control-zoom.leaflet-bar{border-radius:999px!important}.leaflet-control-zoom a{width:42px!important;height:42px!important;line-height:42px!important;font-size:20px!important}.stop-label-num{display:inline-block;min-width:18px;height:18px;line-height:18px;padding:0 5px;margin-right:4px;border-radius:999px;background:var(--marker-stop);color:#fff8ef;font-size:11px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.app-dialog{border:0;border-radius:var(--radius-lg);padding:0;width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--color-surface-opaque);color:var(--color-text);box-shadow:var(--shadow-lg);overflow:hidden}.app-dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.edit-panel,.day-route-panel{position:fixed;z-index:1050;top:20px;left:20px;bottom:20px;width:var(--panel-width);border-radius:var(--radius-lg);background:var(--glass-strong);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-lg);border:1px solid var(--glass-border);display:flex;flex-direction:column;transform:translate(calc(-100% - 20px));transition:transform .22s ease;overflow:hidden}.day-route-panel{z-index:1060}.edit-panel.open,.day-route-panel.open{transform:translate(0)}.edit-panel form{display:flex;flex-direction:column;height:100%;min-height:0}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 0}.dialog-header h2{font-family:var(--font-heading);font-weight:400;font-size:23px;margin:0}.app-dialog .dialog-header{padding:22px 24px 4px}.dialog-close{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;width:36px;height:36px;border-radius:999px;color:var(--color-text-muted);cursor:pointer;transition:background .12s,color .12s}.dialog-close:hover{background:color-mix(in srgb,var(--color-text) 8%,transparent);color:var(--color-text)}.dialog-body{padding:18px 22px 8px;display:flex;flex-direction:column;gap:0;overflow-y:auto;flex:1 1 0;min-height:0;scrollbar-width:thin;scrollbar-color:var(--color-neutral-400) transparent}.app-dialog .dialog-body{padding:10px 14px 4px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 20px}.app-dialog .dialog-footer{padding:14px 24px 20px}.dialog-footer .footer-btn{flex:0 0 auto;min-width:96px}.field{display:flex;flex-direction:column;gap:7px;border:0;padding:0;margin:0 0 18px}.field-label{font:600 11px/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.field input[type=text],.field input[type=date],.field input[type=number],.field input[type=url],.field input[type=time],.field textarea,.field select{width:100%;box-sizing:border-box;font:400 14px/1.4 var(--font-body);color:var(--color-text);padding:11px 14px;border:1px solid var(--color-divider);border-radius:999px;background:color-mix(in srgb,#fff 60%,transparent);outline:none;transition:border-color .12s,box-shadow .12s}:root[data-theme=dark] .field input[type=text],:root[data-theme=dark] .field input[type=date],:root[data-theme=dark] .field input[type=number],:root[data-theme=dark] .field input[type=url],:root[data-theme=dark] .field input[type=time],:root[data-theme=dark] .field textarea,:root[data-theme=dark] .field select{background:color-mix(in srgb,#f0e8da 6%,transparent)}.field textarea{border-radius:var(--radius);resize:vertical;min-height:90px;line-height:1.5}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--primary-ring)}.field input[readonly]{background:color-mix(in srgb,var(--color-text) 5%,transparent);color:var(--color-text-muted);cursor:default}.field select{cursor:pointer}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row>*{min-width:0}.mode-field{border:0;padding:0;margin-bottom:18px}.mode-group{display:flex;flex-wrap:wrap;gap:7px}.mode-pill{display:inline-flex;align-items:center;justify-content:center;position:relative;width:44px;height:44px;padding:0;border-radius:999px;border:1px solid var(--color-divider);background:color-mix(in srgb,#fff 55%,transparent);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}:root[data-theme=dark] .mode-pill{background:color-mix(in srgb,#f0e8da 6%,transparent)}.mode-pill input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.mode-pill-content{display:inline-flex;align-items:center;justify-content:center;font:600 16px/1 var(--font-body);line-height:1}.mode-pill:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent-700)}:root[data-theme=dark] .mode-pill:hover{color:var(--color-accent-300)}.mode-pill:has(input:checked){background:var(--color-accent-600);border-color:var(--color-accent-600);color:#fff8ef;box-shadow:var(--shadow-sm)}:root[data-theme=dark] .mode-pill:has(input:checked){background:var(--color-accent-500);border-color:var(--color-accent-500)}.mode-pill:has(input:focus-visible){box-shadow:0 0 0 3px var(--primary-ring)}.tab-bar{display:flex;gap:2px;margin:16px 22px 0;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--color-text) 6%,transparent)}.tab-btn{flex:1;border:0;border-radius:999px;padding:9px 4px;font:600 12.5px/1 var(--font-body);color:var(--color-text-muted);background:transparent;cursor:pointer;white-space:nowrap;transition:color .12s,background .12s}.tab-btn:hover{color:var(--color-text)}.tab-btn.active{background:var(--color-surface-opaque);color:var(--color-accent-800);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .tab-btn.active{color:var(--color-accent-300)}.tab-panel{padding-top:14px;display:flex;flex-direction:column}.tab-panel.hidden{display:none}.travel-divider{border:none;border-top:1px solid var(--color-divider);margin:4px 0 18px}.travel-section{display:flex;flex-direction:column}.travel-section-title{margin:0 0 4px;font:600 11px/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-700)}:root[data-theme=dark] .travel-section-title{color:var(--color-accent-400)}.places-search-row{display:flex;gap:6px;align-items:center;margin-bottom:14px}.places-search-input{flex:1;font:400 14px/1.4 var(--font-body);color:var(--color-text);padding:11px 14px;border:1px solid var(--color-divider);border-radius:999px;background:color-mix(in srgb,#fff 60%,transparent);outline:none;transition:border-color .12s,box-shadow .12s}:root[data-theme=dark] .places-search-input{background:color-mix(in srgb,#f0e8da 6%,transparent)}.places-search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--primary-ring)}.places-pick-btn{white-space:nowrap;font-size:12px}.places-pick-btn.active,.places-icon-btn.active{background:var(--color-accent);color:#fff8ef;border-color:var(--color-accent)}.places-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;padding:0;min-width:unset;border-radius:999px}.places-list{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:6px}.place-item{display:flex;align-items:center;gap:8px;padding:9px 12px;background:color-mix(in srgb,var(--color-text) 5%,transparent);border:1px solid var(--color-divider);border-radius:var(--radius)}.place-item-name{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-item-coords{font-size:11px;color:var(--color-text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.place-item-remove{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;width:26px;height:26px;border-radius:999px;color:var(--color-text-muted);cursor:pointer;transition:background .12s,color .12s;flex:0 0 auto}.place-item-remove:hover{background:var(--danger-ring);color:var(--danger)}.excursions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.excursion-item{display:flex;align-items:center;gap:4px;background:color-mix(in srgb,var(--color-text) 5%,transparent);border:1px solid var(--color-divider);border-radius:var(--radius);padding-right:6px}.excursion-item.editing{border-color:var(--color-accent-2-700);box-shadow:inset 2px 0 0 var(--color-accent-2-700)}:root[data-theme=dark] .excursion-item.editing{border-color:var(--color-accent-2-400);box-shadow:inset 2px 0 0 var(--color-accent-2-400)}.excursion-item-main{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:transparent;border:0;padding:9px 12px;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius)}.excursion-item-main:hover{background:color-mix(in srgb,#fff 55%,transparent)}:root[data-theme=dark] .excursion-item-main:hover{background:color-mix(in srgb,#f0e8da 6%,transparent)}.excursion-item-name{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.excursion-item-when,.excursion-item-pin{font-size:11px;color:var(--color-text-muted);white-space:nowrap;flex:0 0 auto;font-variant-numeric:tabular-nums}.excursions-empty{margin:8px 0 18px;font-size:12px;color:var(--color-text-muted)}.excursion-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--color-divider)}.excursion-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.excursion-error{margin:8px 0 0;font-size:12px;color:var(--danger)}.places-actions-row{display:flex;gap:8px;margin-top:8px}.saved-trips-dialog{width:min(460px,calc(100vw - 32px))}.saved-trip-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:13px 12px;background:transparent;border:1px solid transparent;border-radius:var(--radius)}.saved-trip-item:hover{background:color-mix(in srgb,#fff 65%,transparent)}:root[data-theme=dark] .saved-trip-item:hover{background:color-mix(in srgb,#f0e8da 6%,transparent)}.saved-trip-item.is-active{background:color-mix(in srgb,var(--color-accent) 10%,transparent);border-color:color-mix(in srgb,var(--color-accent) 30%,transparent)}.saved-trip-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.saved-trip-name-row{font-family:var(--font-heading);font-size:16.5px;line-height:1.15;display:flex;align-items:center;gap:9px;min-width:0}.saved-trip-badge{flex:0 0 auto;font:700 10.5px/1 var(--font-body);text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:999px;color:var(--color-accent-2-800);background:var(--color-accent-2-200)}:root[data-theme=dark] .saved-trip-badge{color:var(--color-accent-2-200);background:var(--color-accent-2-800)}.saved-trip-actions{display:flex;align-items:center;gap:2px;flex:0 0 auto;opacity:0;transition:opacity .15s}.saved-trip-item:hover .saved-trip-actions{opacity:1}.saved-trip-open{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;width:32px;height:32px;border-radius:999px;color:var(--color-text-muted);cursor:pointer;transition:background .12s,color .12s}.saved-trip-open:hover{background:color-mix(in srgb,var(--color-accent) 14%,transparent);color:var(--color-accent-700)}:root[data-theme=dark] .saved-trip-open:hover{color:var(--color-accent-300)}.saved-trips-empty{margin:8px 2px;font-size:13px;color:var(--color-text-muted)}.summary-dialog{width:min(560px,calc(100vw - 32px))}.summary-text{margin:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.55;color:var(--color-text);white-space:pre-wrap;word-break:break-word;background:color-mix(in srgb,var(--color-text) 5%,transparent);border:1px solid var(--color-divider);border-radius:var(--radius);padding:14px 16px;max-height:60vh;overflow-y:auto;overscroll-behavior:contain}.icon{display:inline-block;vertical-align:middle;flex:0 0 auto}@media (max-width: 900px){.sidebar-toggle{display:inline-flex}#sidebar{position:fixed;inset:0 auto 0 0;top:0;left:0;bottom:0;width:min(360px,86vw);border-radius:0;transform:translate(-100%);translate:none;transition:transform .22s ease}#sidebar.collapsed{transform:translate(-100%);opacity:1;pointer-events:auto}body.sidebar-open #sidebar{transform:none}.rail-mini{display:none}.sidebar-scrim{display:block;pointer-events:none}body.sidebar-open .sidebar-scrim{opacity:1;pointer-events:auto}.leaflet-top.leaflet-left{top:64px}}@media (max-width: 480px){.app-dialog{width:calc(100vw - 16px);border-radius:var(--radius)}.edit-panel,.day-route-panel{top:0;left:0;bottom:0;width:100vw;border-radius:0;transform:translate(-100%)}.edit-panel.open,.day-route-panel.open{transform:translate(0)}.dialog-body{padding:14px}.dialog-header,.dialog-footer{padding-left:14px;padding-right:14px}.sidebar-footer{flex-wrap:wrap}.sidebar-footer .footer-btn{flex:1 1 calc(50% - 4px)}.sidebar-footer .footer-btn.primary{flex:1 1 100%}.field-row{grid-template-columns:1fr}.footer-btn{font-size:14px}}@media (prefers-reduced-motion: reduce){#sidebar,.rail-mini,.sidebar-scrim,.edit-panel,.day-route-panel,.trip-menu{transition:none}}.day-route-status{margin:0;padding:16px 0;font-size:13.5px;color:var(--color-text-muted);text-align:center}.day-route-status--error{color:var(--danger)}.day-route-place{display:flex;align-items:center;gap:10px;padding:10px 0}.day-route-num{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--marker-dayroute);color:#fff8ef;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.day-route-place-name{flex:1;font-family:var(--font-heading);font-weight:400;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-route-leg{display:flex;align-items:center;gap:8px;padding:4px 0 4px 13px;border-left:3px solid var(--color-divider);margin-left:11px}.day-route-leg--walk{border-left-color:var(--marker-walk)}.day-route-leg--transit{border-left-color:var(--marker-dayroute)}.day-route-leg-mode{flex:0 0 auto;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px}.day-route-leg--walk .day-route-leg-mode{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}:root[data-theme=dark] .day-route-leg--walk .day-route-leg-mode{background:color-mix(in srgb,var(--marker-walk) 22%,transparent);color:var(--color-accent-2-200)}.day-route-leg--transit .day-route-leg-mode{background:color-mix(in srgb,var(--marker-dayroute) 16%,transparent);color:#2c4257}:root[data-theme=dark] .day-route-leg--transit .day-route-leg-mode{background:color-mix(in srgb,var(--marker-dayroute) 26%,transparent);color:#d9e6ef}.day-route-leg-info{font-size:12.5px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.day-route-total{margin-top:12px;padding:12px 14px;background:color-mix(in srgb,var(--color-text) 5%,transparent);border:1px solid var(--color-divider);border-radius:var(--radius);font-size:13px;font-weight:700;color:var(--color-text);text-align:center;font-variant-numeric:tabular-nums}.day-route-num--hotel{background:var(--marker-hotel)}.day-route-marker{width:28px;height:28px;background:var(--marker-dayroute);border:2.5px solid #fff8ef;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff8ef;box-shadow:0 2px 6px #2e2b254d;font-family:var(--font-body)}:root[data-theme=dark] .day-route-marker{border-color:#201e1d}.day-route-marker--hotel{background:var(--marker-hotel)}
