.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--paper: #f7f9f6;--paper-deep: #e8eee7;--paper-wash: rgba(255, 255, 255, .94);--ink: #1c2b22;--ink-soft: #617066;--rule: #dce4dc;--rule-strong: #c8d3c8;--map-ink: #173728;--persimmon: #147a3d;--persimmon-dark: #0e5d2e;--sun: #ed9d2f;--moss: #147a3d;--leaflet-control: rgba(255, 255, 255, .94);--shadow-panel: 0 14px 32px rgba(18, 42, 28, .14), 0 2px 7px rgba(18, 42, 28, .08);--sidebar-width: 390px;--topbar-height: 74px;color:var(--ink);background:var(--map-ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body,#root{width:100%;min-width:320px;height:100%;min-height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--persimmon);outline-offset:3px}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}::selection{color:var(--paper);background:var(--persimmon)}.app,.app-shell{position:relative;isolation:isolate;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);width:100%;height:100%;min-height:100%;overflow:hidden;color:var(--ink);background:var(--map-ink)}.map-shell,.map-stage,#map,.map{position:relative;grid-column:2;width:100%;height:100%;min-width:0;background:#aebeb6}#map,.map{z-index:0}.topbar{position:absolute;z-index:800;top:0;right:0;left:var(--sidebar-width);display:flex;align-items:center;justify-content:space-between;min-height:var(--topbar-height);padding:13px 24px;color:var(--paper);pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:inline-flex;flex-direction:column;gap:1px;color:var(--paper);line-height:1;letter-spacing:-.03em;text-shadow:0 1px 10px rgba(0,0,0,.42)}.brand strong,.brand-name{font-family:ui-serif,Georgia,Cambria,serif;font-size:1.25rem;font-weight:600}.brand small,.brand-subtitle{margin-left:1px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.57rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;opacity:.88}.topbar-actions,.map-controls,.map-toolbar{display:flex;align-items:center;gap:7px}.map-toolbar{position:absolute;z-index:875;top:22px;right:22px;align-items:stretch}.topbar button,.map-controls button,.map-toolbar button,.map-button,.mobile-menu,.sidebar-toggle,.detail-close,.leaflet-control button{display:inline-grid;width:40px;height:40px;place-items:center;padding:0;border:0;border-radius:0;color:var(--ink);background:var(--paper-wash);box-shadow:0 2px 8px #0c1e1533;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition-property:color,background-color,box-shadow,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.topbar button:hover,.map-controls button:hover,.map-toolbar button:hover,.map-button:hover,.mobile-menu:hover,.sidebar-toggle:hover,.detail-close:hover,.leaflet-control button:hover{color:var(--paper);background:var(--ink);box-shadow:0 4px 12px #0c1e154a}.topbar button:active,.map-controls button:active,.map-toolbar button:active,.map-button:active,.mobile-menu:active,.sidebar-toggle:active,.detail-close:active,.leaflet-control button:active{transform:scale(.96)}.base-map-control{position:relative}.base-map-trigger{display:inline-flex!important;width:auto!important;min-width:112px;align-items:center;justify-content:center;gap:7px;padding:0 10px!important;border-radius:8px!important;font-size:.7rem;font-weight:700}.base-map-trigger-chevron{margin-left:1px;transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.base-map-trigger[aria-expanded=true] .base-map-trigger-chevron{transform:rotate(180deg)}.base-map-menu{position:absolute;z-index:1000;top:calc(100% + 8px);right:0;width:326px;max-width:calc(100vw - 24px);max-height:calc(100svh - 94px);overflow-y:auto;overscroll-behavior:contain;padding:12px;border:1px solid rgba(0,0,0,.1);border-radius:14px;color:var(--ink);background:#fffffffa;box-shadow:0 18px 44px #122a1c36,0 3px 8px #122a1c1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.base-map-menu-header{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:start;gap:10px;padding:2px 2px 11px}.base-map-menu-header strong{display:block;margin-top:2px;font-size:.98rem}.base-map-close{width:40px!important;height:40px!important;border-radius:8px!important;color:var(--ink-soft)!important;background:transparent!important;box-shadow:none!important}.base-map-close:hover{color:var(--ink)!important;background:var(--paper-deep)!important}.base-map-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.base-map-option{position:relative;display:grid!important;width:auto!important;height:auto!important;min-height:110px;grid-template-rows:58px auto;align-items:stretch;padding:4px!important;overflow:hidden;border:1px solid var(--rule)!important;border-radius:10px!important;color:var(--ink)!important;background:var(--paper)!important;box-shadow:none!important;text-align:left;transition-property:border-color,box-shadow,transform!important}.base-map-option:hover{border-color:var(--persimmon)!important;box-shadow:0 4px 13px #122a1c1f!important}.base-map-option.is-active{border-color:var(--persimmon)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--persimmon) 18%,transparent)!important}.base-map-option:focus-visible{outline-offset:2px}.base-map-preview{position:relative;display:grid;overflow:hidden;place-items:center;border-radius:6px;color:#173728;outline:1px solid rgba(0,0,0,.1)}.base-map-preview:before,.base-map-preview:after{position:absolute;top:0;right:0;bottom:0;left:0;content:""}.base-map-preview:after{opacity:.42;background:repeating-linear-gradient(120deg,transparent 0 13px,currentColor 14px 15px,transparent 16px 29px)}.base-map-preview>span{position:relative;z-index:1;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#ffffffdb;box-shadow:0 2px 7px #0000002e}.base-map-option--taiwan .base-map-preview{background:linear-gradient(145deg,#e9f2d5,#b8d9c3 56%,#9dc9e1 57%)}.base-map-option--adventure .base-map-preview{background:repeating-radial-gradient(ellipse at 40% 96%,#dce7bd 0,#dce7bd 8px,#83a678 9px,#83a678 11px,#eadfb9 12px,#eadfb9 19px)}.base-map-option--field .base-map-preview{background:radial-gradient(ellipse at 28% 80%,transparent 0 20%,rgba(64,98,64,.34) 21% 23%,transparent 24% 31%,rgba(64,98,64,.28) 32% 34%,transparent 35%),linear-gradient(145deg,#e9e0bf,#bdd19e 58%,#91bdd0 59%)}.base-map-option--terrain .base-map-preview{background:repeating-radial-gradient(ellipse at 38% 95%,#d9e7bd 0,#d9e7bd 7px,#76996c 8px,#76996c 10px,#e9dbb5 11px,#e9dbb5 17px)}.base-map-option--streets .base-map-preview{background:linear-gradient(27deg,#edf0e8 0,#edf0e8 42%,#fff 43%,#fff 50%,#c6d9e8 51%,#c6d9e8 59%,#f5ead1 60%)}.base-map-option--watercolor .base-map-preview{background:radial-gradient(circle at 24% 28%,rgba(233,146,116,.75),transparent 34%),radial-gradient(circle at 76% 70%,rgba(88,151,170,.68),transparent 38%),#f0dfbd}.base-map-option--satellite .base-map-preview{color:#fff;background:radial-gradient(ellipse at 32% 26%,#779951 0 21%,transparent 22%),linear-gradient(145deg,#274939,#375c3d 48%,#245675 49%,#245675 66%,#856d49 67%)}.base-map-option--dark .base-map-preview{color:#fff;background:linear-gradient(145deg,#151f2d,#26394b 54%,#101821 55%)}.base-map-option--satellite .base-map-preview>span,.base-map-option--dark .base-map-preview>span{background:#081119b3}.base-map-option-copy{display:block;min-width:0;padding:8px 7px 6px}.base-map-option-copy strong{display:block;font-size:.76rem;line-height:1.15}.base-map-option-copy small{display:block;margin-top:3px;overflow:hidden;color:var(--ink-soft);font-size:.61rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.base-map-option-check{position:absolute;z-index:2;top:9px;right:9px;display:grid;width:23px;height:23px;place-items:center;border-radius:50%;color:#fff;background:var(--persimmon);box-shadow:0 2px 6px #0000003d}.base-map-note{margin:10px 2px 1px;color:var(--ink-soft);font-size:.62rem;line-height:1.35}.map-label-settings{margin-top:11px;padding:11px;border-radius:10px;background:var(--paper-deep);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rule-strong) 68%,transparent)}.map-label-settings-copy{display:flex;align-items:center;gap:9px}.map-label-settings-copy strong{display:block;margin-top:2px;font-size:.78rem;line-height:1.15}.map-label-settings-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:7px;color:var(--persimmon-dark);background:var(--paper);box-shadow:0 2px 7px #122a1c1a}.label-language-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin-top:10px;padding:3px;border-radius:8px;background:color-mix(in srgb,var(--rule-strong) 46%,transparent)}.label-language-toggle button{display:inline-flex;width:auto;height:40px;align-items:center;justify-content:center;padding:0 12px;border-radius:5px;color:var(--ink-soft);background:transparent;box-shadow:none;font-size:.71rem;font-weight:700;transition-property:color,background-color,box-shadow,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.label-language-toggle button:hover{color:var(--ink);background:color-mix(in srgb,var(--paper) 72%,transparent);box-shadow:none}.label-language-toggle button:active{transform:scale(.96)}.label-language-toggle button.is-active{color:var(--persimmon-dark);background:var(--paper);box-shadow:0 2px 7px #122a1c1f}.map-label-hint{margin:8px 1px 0;color:var(--ink-soft);font-size:.61rem;line-height:1.35;text-wrap:pretty}.leaflet-tile-pane .map-label-layer{pointer-events:none}.leaflet-tile-pane .map-tile-layer,.leaflet-tile-pane .map-cartography-layer{transition-property:opacity,filter;transition-duration:.22s;transition-timing-function:cubic-bezier(.2,0,0,1)}.leaflet-tile-pane .map-tile-layer--adventure{filter:saturate(.9) contrast(.98) sepia(.035)}.leaflet-tile-pane .map-tile-layer--field{filter:saturate(.82) contrast(.97) brightness(1.035)}.leaflet-tile-pane .map-cartography-layer--field{opacity:.84;filter:saturate(.72) contrast(1.06);mix-blend-mode:multiply;pointer-events:none}.rail-control{position:relative}.rail-trigger{display:inline-flex!important;width:auto!important;min-width:76px;align-items:center;justify-content:center;gap:7px;padding:0 10px!important;border-radius:8px!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:650}.rail-trigger.has-active{color:#fff;background:#245e7c}.rail-trigger.has-active:hover{background:#183f55}.rail-menu{position:absolute;z-index:1000;top:calc(100% + 8px);right:0;width:326px;max-width:calc(100vw - 24px);max-height:calc(100svh - 96px);overflow-y:auto;overscroll-behavior:contain;padding:12px;border:1px solid rgba(0,0,0,.1);border-radius:18px;color:var(--ink);background:#fffffffa;box-shadow:0 16px 38px #122a1c33,0 3px 8px #122a1c1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.rail-menu-header{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:start;gap:10px;padding:2px 2px 11px}.rail-menu-header strong{display:block;font-size:.95rem;line-height:1.2;text-wrap:balance}.rail-planner-launch{display:grid!important;width:100%!important;height:auto!important;min-height:58px;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;margin:2px 0 9px;padding:8px 10px!important;border-radius:10px!important;color:#fff!important;background:#245e7c!important;box-shadow:0 8px 18px #13435b33!important;text-align:left;transition-property:background-color,box-shadow,transform!important;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.rail-planner-launch:hover{background:#183f55!important;box-shadow:0 10px 22px #13435b47!important}.rail-planner-launch:active{transform:scale(.96)}.rail-planner-launch-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:7px;background:#ffffff21}.rail-planner-launch strong,.rail-planner-launch small{display:block}.rail-planner-launch strong{font-size:.76rem;line-height:1.25}.rail-planner-launch small{margin-top:2px;color:#ffffffb8;font-size:.59rem;line-height:1.3}.rail-close{width:40px!important;height:40px!important;border-radius:8px!important;color:var(--ink-soft)!important;background:transparent!important;box-shadow:none!important}.rail-close:hover{color:var(--ink)!important;background:var(--paper-deep)!important}.rail-layer-option{display:grid!important;width:100%!important;height:auto!important;min-height:66px;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:10px;padding:8px!important;border-radius:8px!important;color:var(--ink)!important;background:transparent!important;box-shadow:none!important;text-align:left;transition-property:background-color,transform!important}.rail-layer-option:hover{background:color-mix(in srgb,#245e7c 9%,transparent)!important}.rail-layer-option:active{transform:scale(.96)}.rail-layer-option.is-active{background:color-mix(in srgb,#245e7c 13%,transparent)!important}.rail-layer-option>span:nth-child(2){min-width:0}.rail-layer-option strong,.rail-layer-option small{display:block}.rail-layer-option strong{font-size:.76rem;line-height:1.3}.rail-layer-option small{margin-top:2px;color:var(--ink-soft);font-size:.62rem;line-height:1.3}.rail-layer-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;color:#fff;background:#245e7c}.rail-station-settings{margin-top:8px;padding:11px;border-radius:10px;background:var(--paper-deep);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rule-strong) 68%,transparent)}.rail-setting-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.rail-setting-heading strong{display:block;font-size:.77rem;line-height:1.2}.rail-setting-heading>span{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem}.rail-filter-toggle{display:grid;grid-template-columns:.72fr 1.45fr .78fr;gap:3px;margin-top:10px;padding:3px;border-radius:8px;background:color-mix(in srgb,var(--rule-strong) 46%,transparent)}.rail-filter-toggle button{display:inline-flex!important;width:auto!important;height:40px!important;align-items:center;justify-content:center;padding:0 7px!important;border-radius:5px!important;color:var(--ink-soft)!important;background:transparent!important;box-shadow:none!important;font-size:.65rem;font-weight:700;white-space:nowrap;transition-property:color,background-color,box-shadow,transform!important}.rail-filter-toggle button:hover{color:var(--ink)!important;background:color-mix(in srgb,var(--paper) 72%,transparent)!important}.rail-filter-toggle button:active{transform:scale(.96)}.rail-filter-toggle button.is-active{color:#174f34!important;background:var(--paper)!important;box-shadow:0 2px 7px #122a1c1f!important}.rail-station-settings>p{margin:9px 1px 0;color:var(--ink-soft);font-size:.61rem;line-height:1.42;text-wrap:pretty}.rail-guides{margin-top:9px;padding:10px 2px 0;border-top:1px solid var(--rule)}.rail-guides-heading{display:flex;align-items:center;gap:9px;padding:0 6px 7px}.rail-guides-heading .rail-layer-icon{width:34px;height:34px;border-radius:7px;background:#516d54}.rail-guides-heading strong{display:block;font-size:.77rem;line-height:1.2}.rail-guide-list{display:grid;gap:2px}.rail-guide-list button{display:flex!important;width:100%!important;height:auto!important;min-height:48px;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px!important;border-radius:7px!important;color:var(--ink)!important;background:transparent!important;box-shadow:none!important;text-align:left;transition-property:color,background-color,transform!important}.rail-guide-list button:hover{color:var(--persimmon-dark)!important;background:color-mix(in srgb,var(--persimmon) 8%,transparent)!important}.rail-guide-list button:active{transform:scale(.96)}.rail-guide-list button>span{min-width:0}.rail-guide-list strong,.rail-guide-list small{display:block}.rail-guide-list strong{font-size:.7rem;line-height:1.25}.rail-guide-list small{margin-top:2px;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.56rem}.rail-status{display:flex;min-height:40px;align-items:center;gap:7px;margin-top:9px;padding:7px 9px;border-radius:7px;color:var(--ink-soft);background:var(--paper-deep);font-size:.64rem;line-height:1.35}.rail-status--error{color:#9f2f24;background:#fff0ed}.rail-schedule-link{display:flex;min-height:40px;align-items:center;justify-content:space-between;margin-top:8px;padding:0 10px;border-radius:7px;color:#fff;background:#245e7c;font-size:.68rem;font-weight:750;text-decoration:none;transition-property:background-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.rail-schedule-link:hover{background:#183f55}.rail-schedule-link:active{transform:scale(.96)}.rail-source{margin:8px 2px 0;color:var(--ink-soft);font-size:.57rem;line-height:1.35}.rail-tooltip strong,.rail-tooltip span{display:block}.rail-tooltip span{margin-top:2px;opacity:.72}.rail-popup{min-width:230px;color:#26352d}.rail-popup>strong{display:block;margin-top:8px;font-size:.94rem;line-height:1.2}.rail-popup-secondary{display:block;margin-top:2px;color:#68776f;font-size:.7rem}.rail-popup p{margin:8px 0 0;font-size:.72rem;line-height:1.42}.rail-popup-badges{display:flex;flex-wrap:wrap;gap:4px}.rail-popup-badge{display:inline-flex;min-height:22px;align-items:center;padding:0 7px;border-radius:11px;color:#36545e;background:#e5f1f4;font-size:.6rem;font-weight:800}.rail-popup-badge--bike{color:#175d32;background:#ddf2e4}.rail-popup-badge--bag{color:#75500b;background:#fff0ca}.rail-popup-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.rail-popup-actions a{display:inline-flex;min-height:32px;align-items:center;padding:0 9px;border-radius:6px;color:#fff;background:#245e7c;font-size:.66rem;font-weight:800;text-decoration:none}.rail-popup-actions a:hover{background:#183f55}.rail-popup small{display:block;margin-top:9px;color:#718078;font-size:.59rem;line-height:1.35}.planner-endpoint-shell{border:0;background:transparent}.planner-endpoint{display:grid;width:34px;height:34px;place-items:center;border:3px solid #fff;border-radius:50%;color:#fff;background:#245e7c;box-shadow:0 4px 13px #081e2a57;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:900}.planner-endpoint--b{background:#ce563f}.planner-modal-backdrop{position:fixed;z-index:2250;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#08140e99;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.planner-modal{display:flex;width:min(1040px,100%);max-height:min(90svh,860px);flex-direction:column;overflow:hidden;border-radius:22px;color:var(--ink);background:var(--paper);box-shadow:0 34px 84px #05130b5e,0 5px 16px #05130b33}.planner-header{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1fr) 44px;gap:20px;padding:24px 26px 20px;border-bottom:1px solid var(--rule)}.planner-header h2{margin:1px 0 0;font-family:ui-serif,Georgia,Cambria,serif;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:600;line-height:1.05;letter-spacing:-.045em;text-wrap:balance}.planner-header p{max-width:68ch;margin:8px 0 0;color:var(--ink-soft);font-size:.76rem;line-height:1.45;text-wrap:pretty}.planner-header>button{display:grid;width:44px;height:44px;place-items:center;padding:0;border:0;border-radius:10px;color:var(--ink-soft);background:var(--paper-deep);transition-property:color,background-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.planner-header>button:hover{color:#fff;background:var(--ink)}.planner-header>button:active{transform:scale(.96)}.planner-layout{display:grid;min-height:0;grid-template-columns:minmax(300px,.78fr) minmax(430px,1.22fr)}.planner-form{min-height:0;padding:22px 24px 24px;overflow-y:auto;border-right:1px solid var(--rule)}.planner-form label>span:first-child,.planner-when label>span:first-child{display:block;margin:0 0 6px 2px;color:var(--ink-soft);font-size:.62rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.planner-stations{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:end;gap:8px}.planner-select-wrap,.planner-input-wrap{display:grid;min-height:46px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:5px;padding:0 10px;border-radius:9px;color:#245e7c;background:var(--paper-deep);box-shadow:inset 0 0 0 1px var(--rule-strong);transition-property:box-shadow,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.planner-select-wrap:focus-within,.planner-input-wrap:focus-within{background:var(--paper);box-shadow:inset 0 0 0 2px #397795,0 0 0 3px color-mix(in srgb,#397795 14%,transparent)}.planner-select-wrap select,.planner-input-wrap input{width:100%;min-width:0;height:44px;padding:0;border:0;outline:0;color:var(--ink);background:transparent;font:inherit;font-size:.7rem;font-weight:720}.planner-select-wrap>.fuzzy-combobox{min-width:0}.planner-select-wrap--combobox{grid-template-columns:minmax(0,1fr)}.planner-select-wrap .fuzzy-combobox__menu{width:100%}.planner-input-wrap input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.planner-swap{display:grid;width:40px;height:46px;place-items:center;padding:0;border:0;border-radius:9px;color:#245e7c;background:var(--paper-deep);box-shadow:inset 0 0 0 1px var(--rule-strong);transition-property:color,background-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.planner-swap:hover{color:#fff;background:#245e7c}.planner-swap:active{transform:scale(.96)}.planner-when{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;margin-top:16px}.planner-bike-toggle{display:grid;min-height:58px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;margin-top:16px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,#4f8b60 10%,var(--paper-deep));box-shadow:inset 0 0 0 1px color-mix(in srgb,#4f8b60 26%,var(--rule));cursor:pointer}.planner-bike-toggle>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.planner-bike-check{display:grid!important;width:36px;height:36px;place-items:center;margin:0!important;border-radius:8px;color:#fff;background:#4f8b60}.planner-bike-toggle>span:last-child{margin:0!important;color:var(--ink)!important;letter-spacing:0!important;text-transform:none!important}.planner-bike-toggle strong,.planner-bike-toggle small{display:block}.planner-bike-toggle strong{font-size:.69rem;line-height:1.28}.planner-bike-toggle small{margin-top:2px;color:var(--ink-soft);font-size:.58rem;line-height:1.35}.planner-bike-toggle:focus-within{box-shadow:inset 0 0 0 2px #4f8b60,0 0 0 3px color-mix(in srgb,#4f8b60 14%,transparent)}.planner-submit{display:grid;width:100%;min-height:48px;grid-template-columns:20px minmax(0,1fr) 18px;place-items:center start;gap:8px;margin-top:14px;padding:0 13px;border:0;border-radius:9px;color:#fff;background:#245e7c;box-shadow:0 9px 20px #13435b33;font-size:.72rem;font-weight:820;text-align:left;transition-property:background-color,box-shadow,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.planner-submit:hover:not(:disabled){background:#183f55;box-shadow:0 11px 24px #13435b47}.planner-submit:active:not(:disabled){transform:scale(.96)}.planner-submit:disabled{opacity:.65;cursor:progress}.planner-submit svg:last-child{justify-self:end}.planner-policy-note{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;margin-top:14px;color:var(--ink-soft)}.planner-policy-note svg{margin-top:1px;color:#4f8b60}.planner-policy-note p{margin:0;font-size:.59rem;line-height:1.48;text-wrap:pretty}.planner-results{min-height:420px;overflow-y:auto;background:color-mix(in srgb,var(--paper-deep) 72%,var(--paper))}.planner-empty{display:flex;min-height:420px;align-items:center;justify-content:center;flex-direction:column;padding:30px;color:var(--ink-soft);text-align:center}.planner-empty>span{display:grid;width:54px;height:54px;place-items:center;margin-bottom:13px;border-radius:14px;color:#245e7c;background:var(--paper);box-shadow:0 8px 20px #112d1c1a}.planner-empty strong{color:var(--ink);font-family:ui-serif,Georgia,Cambria,serif;font-size:1.04rem;font-weight:620}.planner-empty p{max-width:38ch;margin:7px 0 0;font-size:.68rem;line-height:1.48;text-wrap:pretty}.planner-empty--loading>span{color:#4f8b60}.planner-error,.planner-no-results{margin:24px;padding:20px;border-radius:12px;color:#9f2f24;background:#fff0ed}.planner-error strong,.planner-no-results strong{display:block;font-size:.82rem}.planner-error p,.planner-no-results p{margin:6px 0 0;font-size:.66rem;line-height:1.48;text-wrap:pretty}.planner-no-results{color:var(--ink);background:var(--paper)}.planner-results-heading{position:sticky;z-index:2;top:0;display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;background:color-mix(in srgb,var(--paper) 92%,transparent);box-shadow:0 1px 0 var(--rule);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.planner-results-heading strong{display:block;margin-top:1px;font-size:.79rem;line-height:1.25}.planner-results-heading>span{display:grid;min-width:30px;height:30px;place-items:center;padding:0 8px;border-radius:15px;color:#245e7c;background:color-mix(in srgb,#245e7c 11%,var(--paper));font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.65rem;font-weight:850;font-variant-numeric:tabular-nums}.planner-journey-list{display:grid;gap:9px;padding:12px 14px 18px}.planner-journey{overflow:hidden;border-radius:12px;background:var(--paper);box-shadow:0 5px 18px #112d1c14,inset 0 0 0 1px color-mix(in srgb,var(--rule) 75%,transparent)}.planner-journey-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px 11px;box-shadow:0 1px 0 var(--rule)}.planner-time{display:flex;align-items:baseline;gap:8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.planner-time strong{font-size:1.05rem;letter-spacing:-.035em}.planner-time span{color:var(--ink-soft);font-size:.72rem}.planner-journey-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.planner-journey-meta>span{display:inline-flex;min-height:23px;align-items:center;gap:3px;padding:0 7px;border-radius:12px;color:var(--ink-soft);background:var(--paper-deep);font-size:.54rem;font-weight:790;font-variant-numeric:tabular-nums}.planner-journey-meta>span.is-bike{color:#28623a;background:color-mix(in srgb,#56a16a 15%,var(--paper))}.planner-legs{margin:0;padding:9px 14px 12px;list-style:none}.planner-legs li{position:relative;display:grid;min-height:43px;grid-template-columns:13px minmax(0,1fr);gap:8px;padding:4px 0}.planner-legs li:not(:last-child):before{position:absolute;top:17px;bottom:-8px;left:5px;width:2px;content:"";background:color-mix(in srgb,#245e7c 28%,var(--rule))}.planner-leg-node{position:relative;z-index:1;width:12px;height:12px;margin-top:3px;border:3px solid var(--paper);border-radius:50%;background:#245e7c;box-shadow:0 0 0 1px #245e7c}.planner-legs strong,.planner-legs small,.planner-legs em{display:block}.planner-legs strong{font-size:.64rem;line-height:1.25}.planner-legs strong span{color:#245e7c;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.58rem}.planner-legs small{margin-top:3px;color:var(--ink-soft);font-size:.59rem;line-height:1.35;font-variant-numeric:tabular-nums}.planner-legs em{margin-top:6px;color:#8a6931;font-size:.54rem;font-style:normal;font-weight:760}.planner-results-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 17px 14px;color:var(--ink-soft);font-size:.56rem}.planner-results-footer a{display:inline-flex;min-height:40px;align-items:center;gap:5px;color:#245e7c;font-weight:830;text-decoration:none}.planner-results-footer a:hover{text-decoration:underline}.guide-modal-backdrop{position:fixed;z-index:2200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#08140e94;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.guide-modal{display:flex;width:min(840px,100%);max-height:min(88svh,820px);flex-direction:column;overflow:hidden;border-radius:22px;color:var(--ink);background:var(--paper);box-shadow:0 32px 80px #05130b59,0 5px 16px #05130b33}.guide-modal-header{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1fr) 44px;gap:18px;padding:25px 26px 21px;border-bottom:1px solid var(--rule)}.guide-modal-header h2{max-width:24ch;margin:0;font-family:ui-serif,Georgia,Cambria,serif;font-size:clamp(1.55rem,3vw,2.25rem);font-weight:600;line-height:1.02;letter-spacing:-.045em;text-wrap:balance}.guide-modal-header p{max-width:63ch;margin:10px 0 0;color:var(--ink-soft);font-size:.79rem;line-height:1.5;text-wrap:pretty}.guide-modal-header button{display:grid;width:44px;height:44px;place-items:center;padding:0;border:0;border-radius:10px;color:var(--ink-soft);background:var(--paper-deep);transition-property:color,background-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.guide-modal-header button:hover{color:#fff;background:var(--ink)}.guide-modal-header button:active{transform:scale(.96)}.guide-modal-nav{display:flex;flex:0 0 auto;gap:4px;padding:8px 20px;overflow-x:auto;border-bottom:1px solid var(--rule);scrollbar-width:none}.guide-modal-nav::-webkit-scrollbar{display:none}.guide-modal-nav button{min-height:40px;flex:0 0 auto;padding:0 10px;border:0;border-bottom:2px solid transparent;color:var(--ink-soft);background:transparent;font-size:.67rem;font-weight:700;transition-property:color,background-color,border-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.guide-modal-nav button:hover{color:var(--ink);background:color-mix(in srgb,var(--persimmon) 7%,transparent)}.guide-modal-nav button:active{transform:scale(.96)}.guide-modal-nav button.is-active{border-bottom-color:var(--persimmon);color:var(--persimmon-dark)}.guide-modal-body{flex:1 1 auto;min-height:0;padding:4px 26px 22px;overflow-y:auto}.guide-modal-body>section{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:20px 0;border-bottom:1px solid var(--rule)}.guide-modal-body>section>span{padding-top:3px;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem}.guide-modal-body h3{margin:0;font-family:ui-serif,Georgia,Cambria,serif;font-size:1.05rem;font-weight:600;line-height:1.2}.guide-modal-body p,.guide-modal-body li{color:var(--ink-soft);font-size:.78rem;line-height:1.55;text-wrap:pretty}.guide-modal-body p{margin:8px 0 0}.guide-modal-body ul{display:grid;gap:7px;margin:10px 0 0;padding-left:18px}.guide-callout{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;margin-top:18px;padding:14px;border-radius:12px;color:var(--persimmon-dark);background:color-mix(in srgb,var(--persimmon) 11%,var(--paper))}.guide-callout p{margin:0;color:inherit;font-size:.75rem;line-height:1.5}.guide-modal-footer{display:flex;min-height:62px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:18px;padding:10px 26px;border-top:1px solid var(--rule)}.guide-modal-footer p{margin:0;color:var(--ink-soft);font-size:.62rem}.guide-modal-footer a{display:inline-flex;min-height:40px;align-items:center;gap:7px;color:var(--persimmon-dark);font-size:.68rem;font-weight:800;text-decoration:none}.guide-modal-footer a:hover{text-decoration:underline}.places-control{position:relative}.places-trigger{display:inline-flex!important;width:auto!important;min-width:92px;align-items:center;justify-content:center;gap:7px;padding:0 10px!important;border-radius:8px!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:600;letter-spacing:-.03em}.places-trigger.has-active{color:#fff;background:var(--persimmon)}.places-trigger.has-active:hover{background:var(--persimmon-dark)}.places-count{display:inline-grid;min-width:18px;height:18px;place-items:center;padding:0 5px;border-radius:9px;color:var(--persimmon-dark);background:#fff;font-size:.58rem;line-height:1}.places-menu{position:absolute;z-index:1000;top:calc(100% + 8px);right:0;width:306px;max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain;padding:12px;border:1px solid rgba(0,0,0,.1);border-radius:20px;color:var(--ink);background:#fffffffa;box-shadow:0 16px 38px #122a1c33,0 3px 8px #122a1c1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.places-menu-header{position:sticky;z-index:4;top:-12px;display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:start;gap:10px;margin:-2px -2px 0;padding:14px 4px 10px;background:inherit}.places-menu-header strong{display:block;font-size:.95rem;line-height:1.2}.places-eyebrow{display:block;margin-bottom:4px;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase}.places-close{width:40px!important;height:40px!important;color:var(--ink)!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.places-close:hover{color:#fff!important;background:var(--ink)!important}.places-options{display:grid;gap:10px}.place-option-group{display:grid;gap:3px}.place-option-group-label{padding:0 8px 3px;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.54rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.place-option{display:grid!important;width:100%!important;height:auto!important;min-height:56px;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:9px;padding:6px 8px!important;border-radius:8px!important;color:var(--ink)!important;text-align:left;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition-property:color,background-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.place-option:hover{background:#eef6ef!important}.place-option:active{transform:scale(.96)}.place-option.is-active{background:#e3f3e7!important}.place-option-icon{display:grid;width:38px;height:38px;place-items:center;overflow:hidden;border:1px solid var(--rule);border-radius:8px;color:#fff;background:#fff}.place-option-icon--familymart img{width:34px;height:auto}.place-option-icon--sevenEleven img{width:auto;height:31px}.place-option-icon--convenience{background:#176b99}.place-option-icon--supermarket{background:#6559b5}.place-option-icon--fuel{background:#34453b}.place-option-icon--bicycle{background:#ba542c}.place-option-icon--bikeService{background:#9a6a16}.place-option-icon--youbike{color:#172219;background:#f2bd24}.place-option-icon--camping{background:#56734c}.place-option-copy{display:block;min-width:0}.place-option-copy strong,.place-option-copy small{display:block}.place-option-copy strong{font-size:.76rem;line-height:1.3}.place-option-copy small{margin-top:2px;color:var(--ink-soft);font-size:.62rem;line-height:1.25}.place-option-check{display:grid;width:22px;height:22px;place-items:center;border:1px solid var(--rule-strong);border-radius:50%;color:#fff}.place-option.is-active .place-option-check{border-color:var(--persimmon);background:var(--persimmon)}.places-status{display:flex;min-height:40px;align-items:center;gap:7px;margin-top:9px;padding:7px 9px;border-radius:7px;color:var(--ink-soft);background:var(--paper-deep);font-size:.64rem;line-height:1.35}.places-status span{flex:1 1 auto}.places-status--error{color:#9f2f24;background:#fff0ed}.places-status button{width:auto!important;min-width:52px;height:40px!important;padding:0 8px!important;border-radius:6px!important;color:var(--persimmon-dark)!important;background:transparent!important;box-shadow:none!important;font-size:.62rem;font-weight:700;transition-property:color,background-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.places-status button:hover{color:#fff!important;background:var(--persimmon)!important}.places-status button:active{transform:scale(.96)}.places-source{margin:8px 2px 0;color:var(--ink-soft);font-size:.57rem;line-height:1.35}.is-spinning{animation:places-spin .9s linear infinite}@keyframes places-spin{to{transform:rotate(360deg)}}.place-marker-shell{border:0!important;background:transparent!important}.place-marker{display:flex;width:100%;height:100%;align-items:center;justify-content:center;overflow:hidden;border:2px solid #fff;border-radius:50%;color:#fff;background:#fff;box-shadow:0 3px 9px #0a1c124d,0 0 0 1px #00000029}.place-marker>span{display:grid;place-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.69rem;font-weight:900;line-height:1}.place-marker--familymart{border-radius:7px}.leaflet-container .place-marker--familymart img{width:33px!important;height:auto;outline:1px solid rgba(0,0,0,.1)}.place-marker--seven-eleven{border-radius:8px}.leaflet-container .place-marker--seven-eleven img{width:auto;height:25px;outline:1px solid rgba(0,0,0,.1)}.place-marker--supermarket,.place-marker--fuel,.place-marker--bicycle,.place-marker--bikeService,.place-marker--youbike,.place-marker--camping,.place-marker--convenience{border-radius:50%}.place-marker--convenience{background:#176b99}.place-marker--supermarket{background:#6559b5}.place-marker--fuel{background:#34453b}.place-marker--bicycle{background:#ba542c}.place-marker--bikeService{background:#9a6a16;font-weight:900}.place-marker--youbike{color:#172219;background:#f2bd24}.place-marker--camping{background:#56734c}.place-marker--camping.place-marker--recent{box-shadow:0 3px 9px #0a1c124d,0 0 0 2px #1f8748b8}.place-marker--camping.place-marker--aging{box-shadow:0 3px 9px #0a1c124d,0 0 0 2px #d79125b8}.place-marker--camping.place-marker--stale,.place-marker--camping.place-marker--unknown{opacity:.76}.place-tooltip strong,.place-tooltip span{display:block}.place-tooltip span{margin-top:2px;opacity:.72}.place-popup{min-width:220px;color:#26352d}.place-popup>strong{display:block;margin-top:7px;font-size:.92rem;line-height:1.25}.place-popup-category{display:block;margin-top:2px;color:#68776f;font-size:.7rem}.place-popup p{margin:8px 0 0;font-size:.72rem;line-height:1.42}.place-popup-description{max-height:86px;overflow-y:auto;color:#526159}.place-popup-badges{display:flex;flex-wrap:wrap;gap:4px}.place-popup-badge{display:inline-flex;min-height:22px;align-items:center;padding:0 7px;border-radius:11px;font-size:.6rem;font-weight:800;letter-spacing:.02em}.place-popup-badge--official{color:#6a4500;background:#fff0bd}.place-popup-badge--community{color:#36545e;background:#e5f1f4}.place-popup-badge--freshness{color:#36545e;background:#edf3ee}.place-popup-badge--recent,.place-popup-badge--legal-legal{color:#175d32;background:#ddf2e4}.place-popup-badge--aging{color:#75500b;background:#fff0ca}.place-popup-badge--stale,.place-popup-badge--unknown,.place-popup-badge--legal-unknown{color:#5c625e;background:#ecefed}.place-popup-badge--legal-violation{color:#922f25;background:#ffe2dd}.place-popup-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.place-popup-actions a{display:inline-flex;min-height:32px;align-items:center;padding:0 9px;border-radius:6px;color:#fff;background:#176f3b;font-size:.66rem;font-weight:800;text-decoration:none}.place-popup-actions a:hover{background:#0d532a}.place-popup small{display:block;margin-top:9px;color:#718078;font-size:.59rem;line-height:1.35}.mobile-menu{position:absolute;z-index:710;top:12px;left:12px;display:none}.sidebar,.app-sidebar{position:relative;z-index:900;grid-column:1;grid-row:1;display:flex;min-width:0;height:100%;flex-direction:column;overflow:hidden;color:var(--ink);background:var(--paper);box-shadow:7px 0 22px #0818102e}.sidebar:after,.app-sidebar:after{position:absolute;z-index:1;right:0;bottom:0;left:0;height:16px;pointer-events:none;content:"";background:var(--paper);box-shadow:0 -9px 12px #f2ecdfcc}.sidebar-header{position:relative;z-index:2;flex:0 0 auto;padding:24px 23px 17px;border-bottom:1px solid var(--rule-strong)}.sidebar-header h1,.sidebar-title,.app-title{max-width:13ch;margin:0;color:var(--ink);font-family:ui-serif,Georgia,Cambria,serif;font-size:clamp(1.5rem,2vw,1.85rem);font-weight:600;line-height:1.02;letter-spacing:-.05em;text-wrap:balance}.eyebrow,.sidebar-kicker,.route-eyebrow,.detail-eyebrow,.stat-label{display:block;margin-bottom:7px;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.61rem;font-weight:500;letter-spacing:.1em;line-height:1.2;text-transform:uppercase}.sidebar-header p{max-width:33ch;margin:10px 0 0;color:var(--ink-soft);font-size:.77rem;line-height:1.5;text-wrap:pretty}.app-kicker,.detail-group,.profile-title{display:flex;align-items:center;gap:7px;margin:0 0 8px;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:500;letter-spacing:.07em;line-height:1.2;text-transform:uppercase}.sidebar-header .route-count{margin:11px 0 0}.close-sidebar{display:none;width:40px;height:40px;place-items:center;padding:0;border:0;color:var(--ink);background:transparent}.route-collection-summary{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1fr) 46px;align-items:stretch;margin:14px 16px 0;overflow:hidden;border-radius:14px;background:var(--paper-deep);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rule-strong) 74%,transparent)}.route-collection-main,.route-collection-visibility{border:0;color:var(--ink);background:transparent;transition-property:color,background-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.route-collection-main{display:grid;min-width:0;min-height:82px;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px 8px 10px 10px;text-align:left}.route-collection-main:hover,.route-collection-visibility:hover{color:var(--persimmon-dark);background:color-mix(in srgb,var(--persimmon) 8%,transparent)}.route-collection-main:active,.route-collection-visibility:active{transform:scale(.96)}.route-collection-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:9px;color:#fff;background:#516d54;box-shadow:0 3px 8px #122a1c29}.route-collection-copy{min-width:0}.route-collection-copy .places-eyebrow{margin-bottom:3px}.route-collection-copy strong,.route-collection-copy small{display:block}.route-collection-copy strong{overflow:hidden;font-family:ui-serif,Georgia,Cambria,serif;font-size:.91rem;line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.route-collection-copy small{margin-top:4px;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.59rem;line-height:1.2}.route-collection-visibility{display:grid;width:46px;min-height:82px;place-items:center;border-left:1px solid var(--rule-strong);color:var(--ink-soft)}.route-collection-visibility.is-active{color:#fff;background:var(--persimmon)}.route-collection-visibility.is-active:hover{background:var(--persimmon-dark)}.route-collection-idle{display:grid;flex:1 1 auto;min-height:0;place-items:start center;padding:20px 24px}.route-collection-idle p{max-width:29ch;margin:0;color:var(--ink-soft);font-size:.72rem;line-height:1.5;text-align:center;text-wrap:pretty}.sidebar-controls{flex:0 0 auto;padding:12px 16px 10px;border-bottom:1px solid var(--rule)}.search-wrap>svg{position:absolute;z-index:1;top:50%;left:11px;color:var(--ink-soft);pointer-events:none;transform:translateY(-50%)}.search-wrap input{padding-left:36px}.sidebar-tools,.route-toolbar,.route-actions{display:flex;align-items:center;gap:8px;margin-top:18px}.route-actions{margin-top:10px}.route-actions button{display:inline-flex;min-height:40px;align-items:center;gap:6px;padding:0 8px;border:0;border-bottom:1px solid var(--rule-strong);border-radius:0;color:var(--ink-soft);background:transparent;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.61rem;letter-spacing:-.04em;transition-property:color,background-color,border-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.route-actions button:hover{color:var(--persimmon-dark);border-bottom-color:var(--persimmon);background:#147a3d14}.route-actions button:active{transform:scale(.96)}.route-count,.route-summary,.meta-value,.route-distance,.route-ascent,.route-duration{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;letter-spacing:-.025em}.route-count{color:var(--ink-soft);white-space:nowrap}.search-wrap,.search-field{position:relative;flex:1 1 auto;min-width:0}.search-wrap input,.search-field input,input[type=search],.sidebar input[type=text]{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--rule-strong);border-radius:0;color:var(--ink);outline:none;background:#ffffff47;font-size:.76rem;transition-property:border-color,background-color,box-shadow;transition-duration:.15s;transition-timing-function:ease}.search-wrap input::placeholder,.search-field input::placeholder{color:#778077;opacity:1}.search-wrap input:hover,.search-field input:hover,input[type=search]:hover{border-color:var(--ink-soft)}.search-wrap input:focus,.search-field input:focus,input[type=search]:focus{border-color:var(--persimmon);background:#ffffff80;box-shadow:0 0 0 3px #147a3d29}.group-filter{display:flex;gap:5px;margin:11px 0 -3px;overflow-x:auto;scrollbar-width:none}.group-filter::-webkit-scrollbar{display:none}.group-pill,.group-filter button{min-height:40px;flex:0 0 auto;padding:0 9px;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--ink-soft);background:transparent;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;letter-spacing:-.03em;transition-property:color,background-color,border-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.group-pill:hover,.group-filter button:hover{color:var(--ink);background:#147a3d0f}.group-pill:active,.group-filter button:active{transform:scale(.96)}.group-pill.is-active,.group-pill[aria-pressed=true],.group-filter button.active{border-bottom-color:var(--persimmon);color:var(--persimmon-dark)}.route-list{position:relative;z-index:0;flex:1 1 auto;min-height:0;margin:0;padding:0 12px 31px;overflow-y:auto;scrollbar-color:var(--paper-deep) transparent;scrollbar-width:thin}.route-list::-webkit-scrollbar{width:7px}.route-list::-webkit-scrollbar-thumb{border:2px solid var(--paper);background:var(--paper-deep)}.route-group+.route-group{margin-top:3px}.route-group-heading{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;min-height:45px;border-bottom:1px solid var(--rule-strong)}.group-name,.group-visibility{min-height:40px;border:0;color:var(--ink);background:transparent;transition-property:color,background-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.group-name{display:flex;align-items:center;gap:7px;min-width:0;padding:0 5px;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.64rem;font-weight:500;letter-spacing:-.025em;text-align:left;text-overflow:ellipsis;white-space:nowrap}.group-name span{flex:0 0 auto;margin-left:auto;color:var(--ink-soft);font-size:.58rem}.group-visibility{display:grid;width:40px;place-items:center;color:var(--ink-soft)}.group-name:hover,.group-visibility:hover{color:var(--persimmon-dark);background:#147a3d14}.group-name:active,.group-visibility:active{transform:scale(.96)}.route-row{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;column-gap:3px;align-items:start;min-height:82px;padding:13px 9px 12px 0;border-bottom:1px solid var(--rule);color:var(--ink);background:transparent;transition-property:background-color,padding-left,color;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.route-swatch{display:block;width:4px;height:100%;flex:0 0 auto;background:var(--route-color, var(--persimmon))}.route-row-main{display:flex!important;align-items:stretch;gap:10px;min-width:0;min-height:54px;padding:4px 0!important}.route-copy{display:block;min-width:0;padding:3px 0}.route-row:hover{padding-left:8px;background:#147a3d0e}.route-row[aria-selected=true],.route-row.is-active,.route-row.selected{padding-left:8px;color:#123c24;background:#147a3d1c}.route-row[aria-selected=true]:after,.route-row.is-active:after,.route-row.selected:after{position:absolute;top:0;right:0;left:0;height:2px;content:"";background:var(--route-color, var(--persimmon))}.route-row button:not(.visibility-toggle):not(.route-toggle):not(.route-visibility){display:block;width:100%;padding:0;border:0;color:inherit;text-align:left;background:transparent}.route-name{display:block;overflow:hidden;color:inherit;font-size:.79rem;font-weight:700;line-height:1.35;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.route-meta,.route-stats{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:5px;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.61rem;line-height:1.4}.visibility-toggle,.route-toggle,.route-visibility,.toggle{position:relative;display:inline-grid;width:40px;height:40px;place-items:center;padding:0;border:0;color:var(--ink-soft);background:transparent;transition-property:color,background-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.visibility-toggle:hover,.route-toggle:hover,.route-visibility:hover,.toggle:hover{color:var(--persimmon-dark);background:#147a3d1a}.visibility-toggle:active,.route-toggle:active,.route-visibility:active,.toggle:active{transform:scale(.96)}.visibility-toggle[aria-pressed=true],.route-toggle[aria-pressed=true],.route-visibility[aria-pressed=true],.toggle.is-on{color:var(--persimmon)}.route-row[aria-hidden=true]{opacity:.48}.empty-state,.loading-state,.error-state{display:grid;min-height:170px;place-content:center;padding:24px;color:var(--ink-soft);text-align:center;font-size:.76rem;line-height:1.5}.detail-panel,.route-detail{position:absolute;z-index:850;right:24px;bottom:24px;width:min(440px,calc(100% - var(--sidebar-width) - 48px));max-height:min(58vh,555px);overflow:auto;color:var(--ink);background:var(--paper-wash);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:rise-in .23s cubic-bezier(.2,0,0,1) both}.detail-panel[hidden],.route-detail[hidden]{display:none}.detail-panel-header,.detail-header{position:sticky;z-index:2;top:0;display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:12px;padding:19px 20px 15px;border-bottom:1px solid var(--rule);background:var(--paper)}.detail-panel h2,.detail-title,.detail-name{margin:0;font-family:ui-serif,Georgia,Cambria,serif;font-size:1.35rem;font-weight:600;line-height:1.08;letter-spacing:-.04em;text-wrap:balance}.detail-close,.close-detail{align-self:start;color:var(--ink);background:transparent;box-shadow:none}.detail-close:hover,.close-detail:hover{color:var(--paper);background:var(--ink);box-shadow:none}.route-summary,.detail-summary{padding:13px 20px;color:var(--ink-soft);border-bottom:1px solid var(--rule);line-height:1.55}.detail-group{margin:0 0 8px;color:var(--persimmon-dark)}.route-facts,.detail-facts,.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0}.route-facts>*,.detail-facts>*,.stats-grid>*{min-width:0;padding:14px 13px 15px;border-right:1px solid var(--rule)}.route-facts>*:last-child,.detail-facts>*:last-child,.stats-grid>*:last-child{border-right:0}.route-facts dt,.detail-facts dt,.stat-label{margin:0 0 5px;color:var(--ink-soft)}.route-facts dd,.detail-facts dd,.stat-value{margin:0;overflow:hidden;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;font-weight:500;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}.elevation-chart,.elevation-profile{min-height:130px;padding:17px 20px 18px;border-top:1px solid var(--rule);background:#f1f5f0}.elevation-chart svg,.elevation-profile>.profile-svg,.profile-svg{display:block;width:100%;height:auto;overflow:visible}.elevation-chart text,.elevation-profile text,.profile-label{fill:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.elevation-chart .area,.elevation-profile .area,.profile-area{fill:color-mix(in srgb,var(--route-color, var(--persimmon)) 20%,transparent)}.elevation-chart .line,.elevation-profile .line,.profile-line{fill:none;stroke:var(--route-color, var(--persimmon));stroke-width:2.2}.profile-axis{stroke:var(--rule-strong);stroke-width:1}.profile-grid{stroke:var(--rule);stroke-width:1;stroke-dasharray:2 3}.profile-hint,.profile-empty{margin:9px 0 0;color:var(--ink-soft);font-size:.65rem;line-height:1.4}.profile-empty{padding:16px 20px}.download-link{display:flex;min-height:45px;align-items:center;justify-content:center;gap:8px;padding:0 20px;border-top:1px solid var(--rule);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.65rem;font-weight:500;letter-spacing:.01em;text-decoration:none;transition-property:color,background-color;transition-duration:.15s;transition-timing-function:ease}.download-link:hover{color:var(--paper);background:var(--ink)}.mobile-backdrop{position:fixed;z-index:875;top:0;right:0;bottom:0;left:0;border:0;opacity:0;pointer-events:none;background:#0917106b;transition-property:opacity;transition-duration:.21s;transition-timing-function:ease}.mobile-backdrop.is-visible,.mobile-backdrop[data-open=true]{opacity:1;pointer-events:auto}.leaflet-container{width:100%;height:100%;color:var(--ink);font:inherit;background:#b8c7bc}.leaflet-control-container .leaflet-top{top:var(--topbar-height)}.leaflet-control-container .leaflet-right{right:17px}.leaflet-control-container .leaflet-bottom{bottom:12px}.leaflet-control-zoom,.leaflet-bar{overflow:hidden;border:0!important;border-radius:0!important;box-shadow:0 2px 8px #0c1e1533!important}.leaflet-bar a,.leaflet-control-zoom a{display:grid!important;width:40px!important;height:40px!important;place-items:center;border:0!important;border-bottom:1px solid var(--rule)!important;border-radius:0!important;color:var(--ink)!important;background:var(--leaflet-control)!important;font:500 22px/1 ui-sans-serif,system-ui,sans-serif!important;transition-property:color,background-color!important;transition-duration:.15s!important}.leaflet-bar a:last-child{border-bottom:0!important}.leaflet-bar a:hover{color:var(--paper)!important;background:var(--ink)!important}.leaflet-control-attribution{margin:0 7px 6px 0!important;padding:3px 6px!important;border-radius:0!important;color:#314338!important;background:#f2ecdfc4!important;box-shadow:0 1px 5px #0c1e1521;font-size:9px!important}.leaflet-control-attribution a{color:#314338!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{border-radius:0!important;background:var(--paper)!important;box-shadow:var(--shadow-panel)!important}.leaflet-popup-content{margin:12px 14px!important;color:var(--ink);font:600 12px/1.4 ui-sans-serif,system-ui,sans-serif!important}.leaflet-popup-close-button{width:32px!important;height:32px!important;color:var(--ink)!important}.leaflet-tooltip{padding:5px 7px!important;border:0!important;border-radius:0!important;color:var(--paper)!important;background:var(--ink)!important;box-shadow:0 2px 7px #0c1e1540!important;font:500 10px/1.25 ui-monospace,monospace!important}.leaflet-tooltip:before{border-top-color:var(--ink)!important}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-sidebar{background:var(--paper);box-shadow:1px 0 0 var(--rule),7px 0 22px #122a1c14}.sidebar-header{padding-bottom:15px}.sidebar-header .app-title{font-family:ui-sans-serif,system-ui,sans-serif;font-size:1.48rem;font-weight:750;letter-spacing:-.045em}.route-name{font-weight:700}.route-meta{color:var(--ink-soft)}.route-row{min-height:76px}.route-row:hover{background:#f1f7f2}.route-row.selected{background:#e5f3e9}.route-row.selected:after{height:3px;background:var(--persimmon)}.search-wrap input{padding-left:36px;border-color:var(--rule-strong);border-radius:8px;background:#fff}.sidebar-controls{background:#fff}.group-filter button.active{color:var(--persimmon-dark);border-bottom-width:3px}.route-actions button{color:var(--ink-soft)}.group-name:hover,.group-visibility:hover,.route-visibility:hover{color:var(--persimmon-dark)}.route-detail{overflow:auto;border:1px solid var(--rule);border-radius:8px;background:#fffffff7}.detail-name{font-family:ui-sans-serif,system-ui,sans-serif;font-size:1.25rem;font-weight:750;letter-spacing:-.038em}.stat-value{font-weight:600}.map-toolbar{gap:8px}.map-button,.base-map-trigger{overflow:hidden;border-radius:8px;box-shadow:0 2px 9px #122a1c29}.map-button{border-radius:8px}.download-link{color:var(--persimmon-dark);font-weight:650}.download-link:hover{color:#fff;background:var(--persimmon)}.theme-toggle{position:absolute;top:18px;right:18px;display:inline-flex;min-height:40px;align-items:center;gap:7px;margin:0;padding:0 9px;border:1px solid var(--rule-strong);border-radius:6px;color:var(--ink);background:#fff;font-size:.71rem;font-weight:650;transition-property:color,background-color,border-color,box-shadow,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.theme-toggle:hover{border-color:var(--persimmon);color:var(--persimmon-dark);background:#f4faf5}.theme-toggle:active{transform:scale(.96)}.theme-toggle-icon{display:grid;place-items:center}.theme-toggle-label{white-space:nowrap}.route-color-control{position:relative;align-self:center}.route-color-trigger{display:grid;width:40px;height:40px;place-items:center;padding:0;border:1px solid transparent;border-radius:6px;color:var(--ink-soft);background:transparent;transition-property:color,background-color,border-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.route-color-trigger:hover,.route-color-trigger[aria-expanded=true]{border-color:var(--rule-strong);color:var(--persimmon-dark);background:#f1f7f2}.route-color-trigger:active{transform:scale(.96)}.route-color-popover{position:absolute;z-index:1000;top:calc(100% + 5px);right:0;width:204px;padding:11px;border:1px solid var(--rule);border-radius:8px;color:var(--ink);background:#fff;box-shadow:0 11px 26px #122a1c2e,0 2px 5px #122a1c17}.route-color-grid{display:grid;grid-template-columns:repeat(5,32px);gap:6px}.color-chip{display:grid;width:32px;height:32px;place-items:center;padding:0;border:2px solid transparent;border-radius:50%;background:var(--chip-color, transparent);box-shadow:inset 0 0 0 1px #0000001c;transition-property:border-color,box-shadow,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1)}.color-chip:hover{transform:scale(1.09)}.color-chip:active{transform:scale(.96)}.color-chip.is-active,.color-chip[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--persimmon)}.route-custom-label{display:block;margin:12px 0 6px;color:var(--ink-soft);font-size:.67rem;font-weight:650}.route-custom-color{display:block;width:100%;height:36px;padding:3px;border:1px solid var(--rule-strong);border-radius:5px;background:#fff;cursor:pointer}.leaflet-overlay-pane path.route-glow,.leaflet-overlay-pane .route-glow,.leaflet-interactive.route-glow,.leaflet-interactive.is-glowing,.leaflet-interactive[data-glow=true]{filter:none}[data-theme=dark]{--paper: #111827;--paper-deep: #18212f;--paper-wash: rgba(17, 24, 39, .96);--ink: #f1f5f9;--ink-soft: #aab8c6;--rule: #2b3749;--rule-strong: #405069;--map-ink: #090f1a;--persimmon: #48d676;--persimmon-dark: #72e693;--leaflet-control: rgba(27, 41, 31, .94);--shadow-panel: 0 18px 44px rgba(0, 0, 0, .38), 0 2px 8px rgba(0, 0, 0, .28);color-scheme:dark}[data-theme=dark] .app-sidebar,[data-theme=dark] .sidebar-controls,[data-theme=dark] .route-detail{background:var(--paper)}[data-theme=dark] .app-sidebar{box-shadow:1px 0 0 var(--rule),7px 0 24px #0000004d}[data-theme=dark] .sidebar:after,[data-theme=dark] .app-sidebar:after{background:var(--paper);box-shadow:0 -9px 12px #111827d1}[data-theme=dark] .search-wrap input,[data-theme=dark] .search-field input,[data-theme=dark] input[type=search],[data-theme=dark] .sidebar input[type=text]{color:var(--ink);border-color:var(--rule-strong);background:#18212f}[data-theme=dark] .search-wrap input::placeholder,[data-theme=dark] .search-field input::placeholder{color:#91a093}[data-theme=dark] .route-row:hover{background:#182d25}[data-theme=dark] .route-row.selected,[data-theme=dark] .route-row[aria-selected=true]{color:var(--ink);background:#1c3a2a}[data-theme=dark] .route-actions button:hover,[data-theme=dark] .group-name:hover,[data-theme=dark] .group-visibility:hover,[data-theme=dark] .route-visibility:hover{background:#1d3e2b}[data-theme=dark] .theme-toggle,[data-theme=dark] .route-color-popover,[data-theme=dark] .route-custom-color{color:var(--ink);border-color:var(--rule-strong);background:#18212f}[data-theme=dark] .theme-toggle:hover,[data-theme=dark] .route-color-trigger:hover,[data-theme=dark] .route-color-trigger[aria-expanded=true]{color:var(--persimmon);border-color:var(--persimmon);background:#1d3e2b}[data-theme=dark] .color-chip.is-active,[data-theme=dark] .color-chip[aria-pressed=true]{border-color:#fff;box-shadow:0 0 0 2px #18212f,0 0 0 4px var(--persimmon)}[data-theme=dark] .elevation-profile,[data-theme=dark] .elevation-chart{background:#18212f}[data-theme=dark] .profile-area{fill:color-mix(in srgb,var(--route-color, var(--persimmon)) 27%,transparent)}[data-theme=dark] .profile-line{stroke:var(--route-color, var(--persimmon))}[data-theme=dark] .leaflet-control-attribution{color:#cdd9cf!important;background:#0f1912d1!important}[data-theme=dark] .leaflet-control-attribution a{color:#cdd9cf!important}[data-theme=dark] .leaflet-popup-content-wrapper,[data-theme=dark] .leaflet-popup-tip{background:#111827!important}[data-theme=dark] .leaflet-popup-content{color:var(--ink)!important}[data-theme=dark] .leaflet-tooltip{color:#102217!important;background:#dff9e6!important}[data-theme=dark] .leaflet-tooltip:before{border-top-color:#dff9e6!important}[data-theme=dark] .places-menu,[data-theme=dark] .rail-menu{border-color:var(--rule);background:#111827fa;box-shadow:0 18px 42px #00000070}[data-theme=dark] .rail-layer-option:hover{background:#172d3a!important}[data-theme=dark] .rail-layer-option.is-active{background:#1b3443!important}[data-theme=dark] .rail-station-settings,[data-theme=dark] .rail-status{background:#18212f}[data-theme=dark] .rail-filter-toggle{background:#2b3749}[data-theme=dark] .rail-filter-toggle button:hover{background:#202d3d!important}[data-theme=dark] .rail-filter-toggle button.is-active{color:var(--persimmon)!important;background:#111827!important}[data-theme=dark] .rail-status--error{color:#ffb5aa;background:#3b2022}[data-theme=dark] .planner-results{background:#141d29}[data-theme=dark] .planner-select-wrap,[data-theme=dark] .planner-input-wrap,[data-theme=dark] .planner-swap{background:#18212f}[data-theme=dark] .planner-select-wrap:focus-within,[data-theme=dark] .planner-input-wrap:focus-within{background:#111827}[data-theme=dark] .planner-bike-toggle{background:#182a22}[data-theme=dark] .planner-empty>span,[data-theme=dark] .planner-journey,[data-theme=dark] .planner-no-results{background:#18212f}[data-theme=dark] .planner-results-heading{background:#111827ed}[data-theme=dark] .planner-journey-meta>span{background:#212d3d}[data-theme=dark] .planner-journey-meta>span.is-bike{color:#8fe1a6;background:#183524}[data-theme=dark] .planner-legs strong span,[data-theme=dark] .planner-results-footer a{color:#79cfff}[data-theme=dark] .planner-leg-node{border-color:#18212f}[data-theme=dark] .planner-error{color:#ffb5aa;background:#3b2022}[data-theme=dark] .rail-popup-shell .leaflet-popup-content-wrapper,[data-theme=dark] .rail-popup-shell .leaflet-popup-tip{background:#111827}[data-theme=dark] .rail-popup{color:#edf5ef}[data-theme=dark] .rail-popup-secondary,[data-theme=dark] .rail-popup small{color:#9faea5}[data-theme=dark] .base-map-menu{border-color:var(--rule);background:#111827fa;box-shadow:0 18px 42px #00000070}[data-theme=dark] .base-map-option{color:var(--ink)!important;background:#18212f!important}[data-theme=dark] .map-label-settings{background:#18212f}[data-theme=dark] .map-label-settings-icon,[data-theme=dark] .label-language-toggle button.is-active{background:#111827}[data-theme=dark] .label-language-toggle{background:#2b3749}[data-theme=dark] .label-language-toggle button:hover{background:#202d3d}[data-theme=dark] .base-map-option:disabled{opacity:1;border-color:#4b5c73!important;color:#d8e1ed!important;background:#141c29!important}[data-theme=dark] .base-map-option:disabled .base-map-preview{opacity:.48;filter:grayscale(.34)}[data-theme=dark] .base-map-option:disabled .base-map-option-copy small{color:#b8c5d5}[data-theme=dark] .base-map-preview{outline-color:#ffffff1a}[data-theme=dark] .place-option:hover{background:#182d25!important}[data-theme=dark] .place-option.is-active{background:#1c3a2a!important}[data-theme=dark] .place-option-icon{border-color:var(--rule-strong)}[data-theme=dark] .places-status{color:var(--ink-soft);background:#18212f}[data-theme=dark] .places-status--error{color:#ffb5aa;background:#3b2022}[data-theme=dark] .place-marker{box-shadow:0 3px 10px #000000b8,0 0 0 1px #ffffff52}[data-theme=dark] .place-marker img{outline-color:#ffffff1a}[data-theme=dark] .place-marker--camping.place-marker--recent{box-shadow:0 3px 10px #000000b8,0 0 0 2px #56d884d1}[data-theme=dark] .place-marker--camping.place-marker--aging{box-shadow:0 3px 10px #000000b8,0 0 0 2px #f2b249d1}[data-theme=dark] .place-popup-shell .leaflet-popup-content-wrapper,[data-theme=dark] .place-popup-shell .leaflet-popup-tip{background:#111827}[data-theme=dark] .place-popup{color:#edf5ef}[data-theme=dark] .place-popup-category,[data-theme=dark] .place-popup-description,[data-theme=dark] .place-popup small{color:#9faea5}[data-basemap=dark] .leaflet-rail-lines-pane path.rail-line{filter:drop-shadow(0 0 3px rgba(121,207,255,.36))}[data-basemap=dark] .leaflet-overlay-pane path.route-glow,[data-basemap=dark] .leaflet-overlay-pane .route-glow,[data-basemap=dark] .leaflet-interactive.route-glow,[data-basemap=dark] .leaflet-interactive.is-glowing,[data-basemap=dark] .leaflet-interactive[data-glow=true]{filter:drop-shadow(0 0 3px rgba(235,255,239,.42))}@media(max-width:760px){:root{--topbar-height: 62px}.app,.app-shell{display:block}.map-shell,.map-stage,#map,.map{position:absolute;top:0;right:0;bottom:0;left:0}.topbar{left:0;min-height:var(--topbar-height);padding:11px 14px}.map-toolbar{top:12px;right:12px}.map-toolbar .map-button{display:none}.rail-trigger{width:40px!important;min-width:40px;padding:0!important}.rail-trigger-label{display:none}.rail-menu{position:fixed;top:62px;right:12px;bottom:86px;left:12px;width:auto;max-height:none}.places-trigger{width:40px!important;min-width:40px;padding:0!important}.places-trigger-label{display:none}.places-count{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;box-shadow:0 1px 4px #00000038}.places-menu{position:fixed;top:62px;right:12px;bottom:86px;left:12px;width:auto;max-height:none}.base-map-trigger{width:40px!important;min-width:40px;padding:0!important}.base-map-trigger-label,.base-map-trigger-chevron{display:none}.base-map-menu{position:fixed;top:62px;right:12px;bottom:12px;left:12px;width:auto;max-width:none;max-height:none}.map-label-settings{padding:10px}.guide-modal-backdrop{align-items:end;padding:12px}.guide-modal{max-height:calc(100svh - 24px);border-radius:20px}.guide-modal-header{gap:12px;padding:20px 18px 17px}.guide-modal-header h2{font-size:1.55rem}.guide-modal-nav{padding-right:12px;padding-left:12px}.guide-modal-body{padding-right:18px;padding-left:18px}.guide-modal-footer{align-items:flex-start;flex-direction:column;gap:2px;padding:10px 18px}.planner-modal-backdrop{align-items:end;padding:12px}.planner-modal{max-height:calc(100svh - 24px);border-radius:20px}.planner-header{gap:12px;padding:19px 18px 16px}.planner-header h2{font-size:1.55rem}.planner-layout{display:block;overflow-y:auto}.planner-form{overflow:visible;padding:17px 18px 20px;border-right:0;border-bottom:1px solid var(--rule)}.planner-results{min-height:310px;overflow:visible}.planner-empty{min-height:310px}.planner-results-heading{position:static}.brand strong,.brand-name{font-size:1.08rem}.sidebar,.app-sidebar{position:absolute;right:0;bottom:0;left:0;width:100%;height:min(77svh,680px);max-height:calc(100% - 52px);transform:translateY(calc(100% - 74px));box-shadow:0 -9px 24px #08181038;transition-property:transform;transition-duration:.26s;transition-timing-function:cubic-bezier(.2,0,0,1)}.sidebar:before,.app-sidebar:before{display:block;width:36px;height:4px;margin:10px auto -7px;content:"";background:var(--rule-strong)}.sidebar.is-open,.sidebar[data-open=true],.app-sidebar.is-open,.app-sidebar[data-open=true]{transform:translateY(0)}.sidebar-header{padding:16px 18px 14px}.sidebar-header h1,.sidebar-title{font-size:1.32rem}.sidebar-header p{display:none}.theme-toggle{top:16px;right:57px}.theme-toggle-label{display:none}.theme-toggle{width:40px;justify-content:center;padding:0}.close-sidebar{position:absolute;top:16px;right:12px;display:grid}.mobile-menu{display:grid}.sidebar-tools,.route-toolbar{margin-top:13px}.route-list{padding-right:10px;padding-left:10px}.detail-panel,.route-detail{right:12px;bottom:86px;left:12px;width:auto;max-height:min(48svh,480px)}.detail-panel:has(~.sidebar.is-open),.detail-panel:has(~.sidebar[data-open=true]),.route-detail:has(~.app-sidebar.is-open),.route-detail:has(~.app-sidebar[data-open=true]){opacity:0;pointer-events:none}.leaflet-control-container .leaflet-top{top:var(--topbar-height)}.leaflet-control-container .leaflet-right{right:10px}.leaflet-control-container .leaflet-bottom{bottom:80px}}@media(max-width:420px){.topbar-actions{gap:4px}.topbar button,.map-controls button{width:38px;height:38px}.map-toolbar .base-map-trigger{width:40px!important;height:40px}.route-facts,.detail-facts,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-facts>*:nth-child(2n),.detail-facts>*:nth-child(2n),.stats-grid>*:nth-child(2n){border-right:0}.route-actions button{flex:1 1 0;justify-content:center}.planner-stations{grid-template-columns:minmax(0,1fr) 40px}.planner-stations label:first-child{grid-column:1 / -1}.planner-stations .planner-swap{grid-column:2;grid-row:2}.planner-stations label:last-child{grid-column:1;grid-row:2}.planner-when{grid-template-columns:1fr 1fr}.planner-journey-summary{align-items:flex-start;flex-direction:column}.planner-journey-meta{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--canvas: #e9e5db;--surface: #f7f4ec;--surface-raised: #fcfaf4;--surface-muted: #eee9de;--text-strong: #16231c;--text-muted: #647169;--line-subtle: #cec8bb;--line-strong: #aaa396;--action: #1e5e7d;--action-strong: #164761;--route-active: #b34b31;--outdoor: #3f6b4a;--caution: #9a6a13;--danger: #a83a2a;--radius-control: 4px;--radius-sheet: 6px;--shadow-float: 0 10px 24px rgba(20, 31, 24, .18);--paper: var(--surface);--paper-deep: var(--surface-muted);--paper-wash: rgba(252, 250, 244, .96);--ink: var(--text-strong);--ink-soft: var(--text-muted);--rule: var(--line-subtle);--rule-strong: var(--line-strong);--persimmon: var(--action);--persimmon-dark: var(--action-strong);--sidebar-width: 320px;font-family:Noto Sans TC,Noto Sans,PingFang TC,Microsoft JhengHei,Helvetica Neue,Arial,sans-serif}[data-theme=dark]{--canvas: #0d1411;--surface: #151e19;--surface-raised: #1b2620;--surface-muted: #202c25;--text-strong: #eef1e9;--text-muted: #abb6ad;--line-subtle: #39453d;--line-strong: #59655d;--action: #7fc6e6;--action-strong: #a4dcf2;--route-active: #ff9275;--outdoor: #89c99a;--caution: #e5b95a;--danger: #ffa99c}.app-shell:has(.workspace-journey){--sidebar-width: 440px}.fieldbook-sidebar{border-right:1px solid var(--line-subtle);background:var(--surface);box-shadow:7px 0 22px #122a1c14;transition-property:width;transition-duration:.18s;transition-timing-function:cubic-bezier(.2,0,0,1)}.fieldbook-sidebar .sidebar-header{min-height:132px;padding:18px 18px 15px;border-bottom:1px solid var(--line-subtle)}.fieldbook-sidebar .app-title{margin-top:14px;font-family:inherit;font-size:1.38rem;font-weight:760;letter-spacing:-.035em}.brand-lockup{color:var(--text-strong);font-family:inherit;font-weight:760;letter-spacing:-.02em;text-transform:none}.brand-lockup img{width:20px;height:20px;object-fit:contain}.brand-lockup span{font-size:.76rem}.workspace-nav{display:grid;flex:0 0 auto;grid-template-columns:1fr 1fr;padding:0 18px;border-bottom:1px solid var(--line-subtle)}.workspace-nav button{min-height:44px;padding:0 4px;border:0;border-bottom:2px solid transparent;color:var(--text-muted);background:transparent;font-size:.75rem;font-weight:720;transition-property:color,border-color,background-color,transform;transition-duration:.14s}.workspace-nav button:hover{color:var(--text-strong)}.workspace-nav button:active{transform:scale(.96)}.workspace-nav button.is-active{color:var(--text-strong);border-color:var(--route-active)}.import-route-row{display:grid;width:calc(100% - 32px);min-height:46px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;margin:13px 16px 0;padding:4px 8px;border:0;border-bottom:1px solid var(--line-subtle);color:var(--text-strong);background:transparent;text-align:left}.import-route-row strong,.import-route-row small{display:block}.import-route-row strong{font-size:.73rem}.import-route-row small{margin-top:2px;color:var(--text-muted);font:500 .62rem/1.2 ui-monospace,monospace}.fieldbook-sidebar .route-collection-summary{margin:9px 16px 0;overflow:visible;border-radius:0;border-left:3px solid var(--route-active);background:transparent;box-shadow:0 1px 0 var(--line-subtle)}.fieldbook-sidebar .route-collection-icon{display:none}.fieldbook-sidebar .route-collection-main{width:100%;min-height:66px;grid-template-columns:minmax(0,1fr) 18px;padding-left:11px}.fieldbook-sidebar .route-collection-copy{grid-column:1;width:100%}.fieldbook-sidebar .route-collection-main>svg{grid-column:2}.fieldbook-sidebar .route-collection-copy .places-eyebrow{display:none}.fieldbook-sidebar .route-collection-copy strong{overflow:visible;text-overflow:clip;white-space:normal}.fieldbook-sidebar .route-collection-copy strong{font-family:inherit;font-size:.75rem;font-weight:740}.fieldbook-sidebar .route-collection-copy small{font:500 .62rem/1.35 ui-monospace,monospace}.fieldbook-sidebar .route-collection-visibility{border-left:1px solid var(--line-subtle)}.fieldbook-sidebar .route-row{min-height:64px;border-radius:0;border-bottom:1px solid var(--line-subtle)}.fieldbook-sidebar .route-row:hover{padding-left:0;background:color-mix(in srgb,var(--surface-muted) 65%,transparent)}.fieldbook-sidebar .route-row.selected{border-left:3px solid var(--route-active);background:var(--surface-muted)}.fieldbook-sidebar .route-row.selected:after{display:none}.fieldbook-map-dock{top:14px;right:14px;display:flex;gap:0;overflow:visible;border:1px solid var(--line-strong);border-radius:var(--radius-sheet);background:color-mix(in srgb,var(--surface-raised) 96%,transparent);box-shadow:var(--shadow-float)}.fieldbook-map-dock>.map-control-button,.fieldbook-map-dock>.location-control>.map-control-button,.fieldbook-map-dock>.map-setup-control>.map-control-button{display:inline-flex;width:auto;min-width:42px;height:42px;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:0;border-right:1px solid var(--line-subtle);border-radius:0;color:var(--text-strong);background:transparent;box-shadow:none;font-size:.69rem;font-weight:720;transition-property:color,background-color,transform;transition-duration:.14s}.fieldbook-map-dock>:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}.fieldbook-map-dock>:last-child{border-right:0;border-radius:0 var(--radius-control) var(--radius-control) 0}.fieldbook-map-dock .map-control-button:hover{color:var(--action-strong);background:var(--surface-muted)}.fieldbook-map-dock .map-control-button:active{transform:scale(.96)}.fieldbook-map-dock .map-control-button.is-active{color:var(--surface-raised);background:var(--action)}.fieldbook-map-dock .locale-control{min-width:50px;color:var(--action-strong);font-weight:800}.map-setup-control,.location-control{position:relative}.map-setup-sheet{position:fixed;z-index:1200;top:64px;right:14px;width:min(360px,calc(100vw - 28px));max-height:calc(100svh - 78px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--line-strong);border-radius:var(--radius-sheet);color:var(--text-strong);background:var(--surface-raised);box-shadow:var(--shadow-float);animation:fieldbook-sheet-in .16s cubic-bezier(.2,0,0,1)}.map-setup-sheet button{width:auto;height:auto;padding:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.map-setup-sheet button:hover{color:inherit;background:var(--surface-muted);box-shadow:none}@keyframes fieldbook-sheet-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.map-setup-header{display:flex;min-height:58px;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line-subtle)}.map-setup-header span,.map-setup-header strong{display:block}.map-setup-header span{color:var(--text-muted);font:500 .6rem/1.2 ui-monospace,monospace;letter-spacing:.05em;text-transform:uppercase}.map-setup-header strong{margin-top:2px;font-size:.9rem}.map-setup-header button{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:var(--radius-control);background:transparent}.map-setup-section{padding:12px;border-bottom:1px solid var(--line-subtle)}.map-setup-section:last-child{border-bottom:0}.map-setup-section h3{margin:0 0 8px;color:var(--text-muted);font:650 .63rem/1.2 ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}.fieldbook-option-list,.fieldbook-option-group{display:grid}.map-setup-sheet .fieldbook-option-list>button,.map-setup-sheet .fieldbook-toggle-row{display:grid;width:100%;min-height:46px;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:8px;padding:7px 4px;border:0;border-bottom:1px solid var(--line-subtle);color:var(--text-strong);background:transparent;text-align:left;justify-items:stretch;transition-property:color,background-color,transform;transition-duration:.14s;transition-timing-function:cubic-bezier(.2,0,0,1)}.fieldbook-toggle-row{grid-template-columns:48px minmax(0,1fr) 22px}.map-setup-sheet .fieldbook-toggle-row{width:100%;grid-template-columns:48px minmax(0,1fr) 22px}.fieldbook-toggle-row>span{min-width:0}.fieldbook-toggle-row>span:nth-child(2){text-align:left}.fieldbook-toggle-row>span:last-child{justify-self:center}.fieldbook-option-list>button:hover,.fieldbook-toggle-row:hover{background:var(--surface-muted)}.fieldbook-option-list>button:active,.fieldbook-toggle-row:active{transform:scale(.96)}.fieldbook-option-list strong,.fieldbook-option-list small,.fieldbook-toggle-row strong,.fieldbook-toggle-row small{display:block}.fieldbook-option-list strong,.fieldbook-toggle-row strong{font-size:.7rem}.fieldbook-option-list small,.fieldbook-toggle-row small{margin-top:2px;color:var(--text-muted);font-size:.6rem}.fieldbook-toggle-row strong,.fieldbook-toggle-row small{overflow-wrap:anywhere}.fieldbook-option-list>button.is-active,.fieldbook-toggle-row.is-active{color:var(--action-strong)}.fieldbook-option-group>span{margin:10px 0 3px;color:var(--text-muted);font-size:.61rem;font-weight:700}.map-label-row{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.map-label-row>span{display:flex;align-items:center;gap:7px;font-size:.7rem}.map-label-row>div,.rail-filter-toggle{display:inline-flex;border:1px solid var(--line-subtle);border-radius:var(--radius-control)}.map-setup-sheet .map-label-row button,.map-setup-sheet .rail-filter-toggle button{min-height:34px;padding:0 9px;border:0;border-right:1px solid var(--line-subtle);border-radius:0;color:var(--text-muted);background:transparent;font-size:.62rem}.map-label-row button:last-child,.rail-filter-toggle button:last-child{border-right:0}.map-label-row button.is-active,.rail-filter-toggle button.is-active{color:var(--surface-raised);background:var(--action)}.map-setup-source{margin:9px 0 0;color:var(--text-muted);font-size:.6rem;line-height:1.4}.fieldbook-error{padding-left:8px;border-left:3px solid var(--danger);color:var(--danger);font-size:.64rem}.location-status{position:absolute;z-index:1205;top:50px;right:-170px;display:grid;width:290px;min-height:76px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 46px 10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sheet);color:var(--text-strong);background:var(--surface-raised);box-shadow:var(--shadow-float)}.location-status strong,.location-status small{display:block}.location-status strong{font-size:.7rem}.location-status small{margin-top:3px;color:var(--text-muted);font-size:.6rem;line-height:1.35}.location-status>button:not(.location-status-close){display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:0 8px;border:0;color:var(--action-strong);background:transparent;font-size:.62rem;font-weight:720}.location-status-close{position:absolute;top:6px;right:6px;display:grid;width:34px;height:34px;place-items:center;border:0;background:transparent}.location-spinner{width:17px;height:17px;border:2px solid var(--line-strong);border-top-color:var(--action);border-radius:50%;animation:spin .8s linear infinite}.location-marker-shell{overflow:visible!important;background:transparent}.location-marker{position:relative;display:block;width:64px;height:64px;transform:rotate(var(--location-heading, 0deg));transform-origin:center}.location-heading-cone{position:absolute;top:0;left:18px;width:28px;height:34px;opacity:0;background:linear-gradient(to bottom,color-mix(in srgb,#1e5e7d 36%,transparent),transparent);clip-path:polygon(50% 0,100% 100%,0 100%)}.location-arrow{position:absolute;top:14px;left:24px;width:16px;height:20px;opacity:0;background:#1e5e7d;clip-path:polygon(50% 0,100% 100%,50% 76%,0 100%);filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.location-dot{position:absolute;top:25px;left:25px;width:14px;height:14px;border:3px solid white;border-radius:50%;background:#1e5e7d;box-shadow:0 1px 5px #00000059}.location-marker.is-directional .location-heading-cone,.location-marker.is-directional .location-arrow{opacity:1}.journey-panel{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden;color:var(--text-strong);background:var(--surface)}.journey-panel-header{flex:0 0 auto;padding:16px 18px 13px;border-bottom:1px solid var(--line-subtle)}.journey-panel-header .places-eyebrow{color:var(--text-muted);font:500 .58rem/1.2 ui-monospace,monospace;letter-spacing:.05em}.journey-panel-header h2{margin:4px 0 0;font-family:inherit;font-size:1.24rem;font-weight:760;letter-spacing:-.035em}.journey-panel-header p{margin-top:5px;font-size:.68rem}.journey-panel-layout{display:block;min-height:0;flex:1 1 auto;overflow-y:auto}.journey-panel .planner-form{overflow:visible;padding:16px 18px 18px;border:0;border-bottom:1px solid var(--line-subtle)}.journey-panel .planner-stations{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr)}.journey-panel .planner-select-wrap,.journey-panel .planner-input-wrap{border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:inset 0 0 0 1px var(--line-subtle)}.fuzzy-combobox{position:relative;display:block;width:100%;min-width:0;color:var(--text-strong)}.fuzzy-combobox__input{display:grid;min-width:0;grid-template-columns:17px minmax(0,1fr);align-items:center;gap:5px}.fuzzy-combobox__input>svg{color:var(--text-muted)}.fuzzy-combobox__input input[type=search]{width:100%;min-width:0;height:44px;min-height:44px;padding:0;border:0;outline:0;color:var(--text-strong);background:transparent;box-shadow:none;font:inherit;font-size:.7rem;font-weight:720}.fuzzy-combobox__input input[type=search]::placeholder{color:var(--text-muted);opacity:.82;font-weight:560}.fuzzy-combobox__menu{position:absolute;z-index:1200;top:calc(100% + 7px);left:0;display:block;width:100%;max-height:min(320px,46vh);overflow-y:auto;border-radius:var(--radius-card);color:var(--text-strong);background:var(--surface-raised);box-shadow:0 14px 35px #18231d33,0 0 0 1px var(--line-subtle);overscroll-behavior:contain}.fuzzy-combobox__menu button{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;border:0;border-bottom:1px solid var(--line-subtle);color:inherit;background:transparent;text-align:left;transition-property:color,background-color,transform;transition-duration:.12s;transition-timing-function:cubic-bezier(.2,0,0,1)}.fuzzy-combobox__menu button:last-of-type{border-bottom:0}.fuzzy-combobox__menu button:hover,.fuzzy-combobox__menu button.is-active{color:var(--action-strong);background:var(--surface-muted)}.fuzzy-combobox__menu button:active{transform:scale(.96)}.fuzzy-combobox__menu button>span{min-width:0}.fuzzy-combobox__menu strong,.fuzzy-combobox__menu small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fuzzy-combobox__menu strong{font-size:.69rem}.fuzzy-combobox__menu small{margin-top:3px;color:var(--text-muted);font-size:.57rem}.fuzzy-combobox__empty{display:block;padding:15px 12px;color:var(--text-muted);font-size:.65rem}.journey-panel .planner-bike-toggle{border-radius:0;border-top:1px solid var(--line-subtle);border-bottom:1px solid var(--line-subtle);background:transparent;box-shadow:none}.journey-panel .planner-bike-check{border-radius:var(--radius-control);background:var(--outdoor)}.journey-panel .planner-submit{min-height:48px;border-radius:var(--radius-control);background:var(--action-strong);box-shadow:none}.journey-panel .planner-policy-note{padding-left:8px;border-left:3px solid var(--caution)}.journey-panel .planner-results{min-height:0;overflow:visible;background:var(--surface)}.journey-panel .planner-empty{min-height:170px;align-items:flex-start;padding:24px 18px;text-align:left}.journey-panel .planner-empty>span{display:none}.journey-panel .planner-empty strong{font-family:inherit;font-size:.78rem}.journey-panel .planner-results-heading{min-height:58px;padding:10px 18px;background:var(--surface);box-shadow:0 1px 0 var(--line-subtle)}.journey-panel .planner-results-heading>span,.journey-panel .planner-journey-meta>span{border-radius:0;background:transparent}.journey-panel .planner-journey-list{gap:0;padding:0}.journey-panel .planner-journey{border-radius:0;border-bottom:1px solid var(--line-subtle);background:transparent;box-shadow:none}.journey-panel .planner-journey-summary{padding:13px 18px 11px;box-shadow:none}.journey-panel .planner-legs{padding:8px 18px 13px;border-top:1px solid var(--line-subtle);background:var(--surface-muted)}.journey-panel .planner-results-footer{padding-right:18px;padding-left:18px}.route-detail{border-radius:var(--radius-sheet);border-color:var(--line-strong);background:var(--surface-raised);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-float)}.detail-name{font-family:inherit}.guide-modal{border-radius:var(--radius-sheet);background:var(--surface-raised)}.guide-modal-header h2{font-family:inherit}.guide-callout{border-radius:0;border-left:3px solid var(--caution);background:transparent}@media(max-width:760px){:root{--sidebar-width: 100%}.app-shell:has(.workspace-journey){--sidebar-width: 100%}.fieldbook-map-dock{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right))}.fieldbook-map-dock .map-control-button--label span{display:none}.fieldbook-map-dock>.map-control-button,.fieldbook-map-dock>.location-control>.map-control-button,.fieldbook-map-dock>.map-setup-control>.map-control-button{width:42px;min-width:42px;padding:0}.fieldbook-map-dock .locale-control{width:48px;min-width:48px}.map-setup-sheet{top:62px;right:max(12px,env(safe-area-inset-right));bottom:calc(86px + env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));width:auto;max-height:none}.location-status{position:fixed;top:62px;right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));width:auto}.fieldbook-sidebar{height:min(72svh,680px);max-height:calc(100% - 48px);padding-bottom:env(safe-area-inset-bottom);transform:translateY(calc(100% - 74px))}.fieldbook-sidebar .sidebar-header{min-height:118px;padding-top:16px}.workspace-nav{padding:0 16px}.journey-panel-header{display:none}.journey-panel-layout{overflow-y:auto}.journey-panel .planner-stations{grid-template-columns:minmax(0,1fr) 40px}.journey-panel .planner-stations label:first-child{grid-column:1 / -1}.journey-panel .planner-stations .planner-swap{grid-column:2;grid-row:2}.journey-panel .planner-stations label:last-child{grid-column:1;grid-row:2}.journey-panel .planner-when{grid-template-columns:1fr 1fr}.journey-panel .planner-form,.journey-panel .planner-results{overflow:visible}.journey-panel .planner-journey-summary{align-items:flex-start;flex-direction:column}.journey-panel .planner-journey-meta{justify-content:flex-start}.mobile-menu{border-radius:var(--radius-control)}}@media(max-width:390px){.fieldbook-map-dock>.map-control-button:first-child{display:none}.planner-when{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.map-setup-sheet{animation:none}.fieldbook-sidebar{transition-duration:0ms}}.explore-panel-tabs,.journey-mode-tabs{display:grid;flex:0 0 auto;grid-template-columns:repeat(4,1fr);padding:0 12px;border-bottom:1px solid var(--line-subtle);background:var(--surface)}.journey-mode-tabs{grid-template-columns:repeat(3,1fr);padding-top:8px}.explore-panel-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.explore-panel-tabs button,.journey-mode-tabs button{display:flex;min-width:0;min-height:42px;align-items:center;justify-content:center;gap:6px;padding:0 6px;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--text-muted);background:transparent;font-size:.66rem;font-weight:720}.explore-panel-tabs button:hover,.journey-mode-tabs button:hover{color:var(--text-strong);background:var(--surface-muted)}.explore-panel-tabs button.is-active,.journey-mode-tabs button.is-active{color:var(--action-strong);border-bottom-color:var(--action)}.cloud-library,.peaks-explorer,.curated-routes-explorer,.bus-route-explorer{min-height:0;flex:1 1 auto;overflow-y:auto;color:var(--text-strong);background:var(--surface)}.cloud-library__header,.peaks-explorer__header,.bus-route-explorer__header,.curated-routes-explorer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--line-subtle)}.cloud-library__header h2,.peaks-explorer__header h2,.bus-route-explorer__header h2,.curated-routes-explorer__header h2{margin:4px 0 0;font-size:1.14rem;letter-spacing:-.035em}.cloud-library__header p,.peaks-explorer__header p,.bus-route-explorer__header p,.curated-routes-explorer__header p{margin:5px 0 0;color:var(--text-muted);font-size:.67rem;line-height:1.45}.cloud-library__header>button,.peaks-explorer__header>button,.bus-route-explorer__header>button{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:0;border-radius:var(--radius-control);color:var(--text-muted);background:transparent}.cloud-library__signin{display:flex;min-height:250px;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center}.cloud-library__signin>svg{color:var(--action)}.cloud-library__signin strong{margin-top:12px;font-size:.86rem}.cloud-library__signin p{max-width:30ch;margin:7px 0 18px;color:var(--text-muted);font-size:.68rem;line-height:1.5}.cloud-library__signin button,.cloud-library__upload{min-height:44px;border:0;border-radius:var(--radius-control);color:#fff;background:var(--action-strong);font-weight:750}.cloud-library__signin button{padding:0 18px}.cloud-library__account{display:flex;align-items:center;gap:9px;padding:11px 18px;border-bottom:1px solid var(--line-subtle);color:var(--text-muted);font-size:.64rem}.cloud-library__upload{display:flex;width:calc(100% - 36px);align-items:center;gap:10px;margin:18px;padding:9px 13px;text-align:left}.cloud-library__upload span,.cloud-library__upload strong,.cloud-library__upload small{display:block}.cloud-library__upload small{margin-top:2px;opacity:.7;font-size:.6rem}.cloud-library__status,.cloud-library__empty,.cloud-library__error,.cloud-library--setup>p{margin:0;padding:15px 18px;color:var(--text-muted);font-size:.68rem;line-height:1.5}.cloud-library__status{display:flex;align-items:center;gap:8px}.cloud-library__error{color:var(--danger);border-top:1px solid var(--line-subtle);border-bottom:1px solid var(--line-subtle)}.cloud-library__routes article{display:grid;min-height:62px;grid-template-columns:minmax(0,1fr) 46px;border-top:1px solid var(--line-subtle)}.cloud-library__routes article.is-active{box-shadow:inset 3px 0 var(--action);background:var(--surface-muted)}.cloud-library__routes button{min-width:0;padding:10px 18px;border:0;color:inherit;background:transparent;text-align:left}.cloud-library__routes button:last-child{display:grid;place-items:center;padding:0;color:var(--text-muted)}.cloud-library__routes strong,.cloud-library__routes small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-library__routes strong{font-size:.73rem}.cloud-library__routes small{margin-top:4px;color:var(--text-muted);font:500 .58rem/1.3 ui-monospace,monospace}.cloud-library__share{margin:14px 18px 22px;padding:12px;border:1px solid var(--line-subtle);border-radius:var(--radius-card);background:var(--surface-muted)}.cloud-library__share>span{display:flex;align-items:center;gap:7px;font-size:.67rem}.cloud-library__share input{width:100%;height:36px;margin-top:9px;padding:0 9px;border:1px solid var(--line-subtle);border-radius:var(--radius-control);color:var(--text-strong);background:var(--surface-raised);font-size:.61rem}.cloud-library__share>div{display:flex;gap:7px;margin-top:8px}.cloud-library__share button,.cloud-library__share a{display:flex;min-height:34px;align-items:center;gap:5px;padding:0 10px;border:1px solid var(--line-subtle);border-radius:var(--radius-control);color:var(--action-strong);background:var(--surface-raised);font-size:.63rem;font-weight:720;text-decoration:none}.peaks-explorer__filters{display:grid;grid-template-columns:repeat(2,1fr);padding:12px 18px 6px;gap:5px}.peaks-explorer__filters button{min-height:34px;padding:0 8px;border:1px solid var(--line-subtle);border-radius:var(--radius-control);color:var(--text-muted);background:var(--surface-raised);font-size:.61rem}.peaks-explorer__filters button.is-active{color:#fff;border-color:var(--action-strong);background:var(--action-strong)}.peaks-explorer__search{display:flex;align-items:center;gap:7px;margin:8px 18px 0;padding:0 10px;border:1px solid var(--line-subtle);border-radius:var(--radius-control);color:var(--text-muted);background:var(--surface-raised)}.peaks-explorer__search input{width:100%;min-width:0;height:40px;border:0;outline:0;color:var(--text-strong);background:transparent;font-size:.68rem}.peaks-explorer__count{margin:8px 18px;color:var(--text-muted);font:500 .59rem/1.2 ui-monospace,monospace}.peaks-explorer__row{display:grid;width:100%;min-height:72px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:11px;padding:7px 18px;border:0;border-top:1px solid var(--line-subtle);color:inherit;background:transparent;text-align:left}.peaks-explorer__row.is-selected{box-shadow:inset 3px 0 var(--action);background:var(--surface-muted)}.peaks-explorer__row img,.peaks-explorer__image-fallback{width:58px;height:54px;object-fit:cover;border-radius:3px;background:var(--surface-muted)}.peaks-explorer__image-fallback{display:grid;place-items:center;color:var(--text-muted)}.peaks-explorer__row strong,.peaks-explorer__row small,.peaks-explorer__row em{display:block}.peaks-explorer__row strong{font-size:.72rem}.peaks-explorer__row small{min-height:1em;margin-top:3px;color:var(--text-muted);font-size:.59rem}.peaks-explorer__row em{display:flex;align-items:center;gap:4px;margin-top:5px;color:var(--outdoor);font-size:.6rem;font-style:normal;font-weight:720}.peaks-explorer__empty{padding:18px;color:var(--text-muted);font-size:.68rem}.peak-popup-shell .leaflet-popup-content-wrapper{overflow:hidden;padding:0;border-radius:5px;background:var(--surface-raised)}.peak-popup-shell .leaflet-popup-content{width:auto!important;margin:0}.peak-popup{color:var(--text-strong)}.peak-popup__media{min-height:92px;background:var(--surface-muted)}.peak-popup__media img{display:block;width:100%;height:138px;object-fit:cover}.peak-popup__image-fallback{display:flex;min-height:92px;align-items:center;justify-content:center;gap:7px;color:var(--text-muted);font-size:.66rem}.peak-popup__body{padding:14px}.peak-popup h2{margin:4px 0 0;font-size:1.05rem}.peak-popup__zh,.peak-popup__pinyin,.peak-popup__official{margin:3px 0 0;color:var(--text-muted);font-size:.66rem}.peak-popup__facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:13px 0 0}.peak-popup__facts div{padding-top:7px;border-top:1px solid var(--line-subtle)}.peak-popup__facts dt{color:var(--text-muted);font-size:.56rem;text-transform:uppercase}.peak-popup__facts dd{display:flex;align-items:center;gap:4px;margin:4px 0 0;font-size:.67rem;font-weight:720}.peak-popup__credit{margin:11px 0 0;color:var(--text-muted);font-size:.55rem;line-height:1.45}.peak-popup__credit a,.peak-popup__links a{color:var(--action-strong)}.peak-popup__links{display:flex;gap:8px;margin-top:12px}.peak-popup__links a{display:inline-flex;min-height:32px;align-items:center;gap:5px;padding:0 9px;border:1px solid var(--line-subtle);border-radius:var(--radius-control);font-size:.61rem;font-weight:720;text-decoration:none}.mrt-popup>strong,.mrt-popup>small{display:block}.mrt-popup>strong{margin-top:9px;font-size:.86rem}.mrt-popup>small{margin-top:3px;color:var(--text-muted);font-size:.62rem}.mrt-popup>p{margin:10px 0;color:var(--text-muted);font-size:.62rem;line-height:1.45}.mrt-popup>a{color:var(--action-strong);font-size:.63rem;font-weight:720}.mrt-popup-lines{display:flex;flex-wrap:wrap;gap:4px}.mrt-popup-lines span{padding:4px 6px;border-left:4px solid var(--mrt-color);border-radius:2px;color:var(--text-strong);background:var(--surface-muted);font-size:.56rem;font-weight:720}.curated-routes-explorer__header{display:block}.curated-routes-explorer__eyebrow,.curated-routes-explorer__read-only{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);font:650 .58rem/1.2 ui-monospace,monospace}.curated-routes-explorer__read-only{margin-top:12px}.curated-route{border-bottom:1px solid var(--line-subtle)}.curated-route.is-selected{box-shadow:inset 3px 0 var(--action)}.curated-route__lead{position:relative;height:148px;overflow:hidden;background:var(--surface-muted)}.curated-route__lead img{width:100%;height:100%;object-fit:cover}.curated-route__kind{position:absolute;right:10px;bottom:10px;padding:5px 7px;border-radius:2px;color:#fff;background:#132721db;font-size:.57rem;font-weight:760}.curated-route__body{padding:14px 18px 20px}.curated-route__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.curated-route__title-row h3{margin:0;font-size:.86rem}.curated-route__source-linked{color:var(--text-muted);font-size:.57rem}.curated-route__select{min-height:32px;flex:0 0 auto;padding:0 8px;border:1px solid var(--line-subtle);border-radius:var(--radius-control);color:var(--action-strong);background:var(--surface-raised);font-size:.59rem;font-weight:720}.curated-route__status,.curated-route__geometry{margin:12px 0 0;padding:10px;border-left:3px solid var(--outdoor);background:var(--surface-muted)}.curated-route__status.is-critical{border-left-color:var(--caution)}.curated-route.is-closed .curated-route__status{border-left-color:var(--danger)}.curated-route__status strong,.curated-route__status span,.curated-route__geometry strong,.curated-route__geometry span{display:block}.curated-route__status strong,.curated-route__geometry strong{font-size:.65rem}.curated-route__status span,.curated-route__geometry span{margin-top:5px;color:var(--text-muted);font-size:.61rem;line-height:1.48}.curated-route__geometry a{display:inline-flex;min-height:32px;align-items:center;margin-top:9px;padding:0 9px;border:1px solid var(--line-subtle);border-radius:var(--radius-control);background:var(--surface-raised);font-size:.61rem;font-weight:740;text-decoration:none}.curated-route__elevation{margin-top:12px;padding:11px 10px 9px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-subtle);background:var(--surface-raised)}.curated-route__elevation-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.curated-route__elevation-heading strong{font-size:.66rem}.curated-route__elevation-heading span{color:var(--text-muted);font:550 .54rem/1.2 ui-monospace,monospace}.curated-route__elevation dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 0 0}.curated-route__elevation dl div{min-width:0;padding:5px 6px 5px 0;border-top:1px solid var(--line-subtle)}.curated-route__elevation dt{color:var(--text-muted);font-size:.52rem}.curated-route__elevation dd{margin:3px 0 0;overflow:hidden;font:720 .61rem/1.2 ui-monospace,monospace;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.curated-route__profile{display:block;width:100%;height:auto;margin-top:8px;overflow:visible}.curated-route__profile line{stroke:var(--line-strong);stroke-width:1}.curated-route__profile polyline{fill:none;stroke:var(--outdoor);stroke-linecap:round;stroke-linejoin:round;stroke-width:2;vector-effect:non-scaling-stroke}.curated-route__profile text{fill:var(--text-muted);font:500 8px/1 ui-monospace,monospace}.curated-route__elevation>p{margin:6px 0 0;color:var(--text-muted);font-size:.54rem;line-height:1.45}.curated-route__provenance{margin:12px 0 0}.curated-route__provenance div{display:grid;grid-template-columns:82px 1fr;gap:7px;padding:5px 0;border-top:1px solid var(--line-subtle);font-size:.57rem;line-height:1.4}.curated-route__provenance dt{color:var(--text-muted)}.curated-route__provenance dd{margin:0;overflow-wrap:anywhere}.curated-route a{color:var(--action-strong)}.curated-route__official-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:.63rem;font-weight:720}.curated-routes-explorer__image-note{margin:0;padding:14px 18px 24px;color:var(--text-muted);font-size:.57rem;line-height:1.4}.bus-route-explorer__search{display:grid;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line-subtle)}.bus-route-explorer__search label>span:first-child{display:block;margin-bottom:5px;color:var(--text-muted);font-size:.59rem;font-weight:720}.bus-route-explorer__search select,.bus-route-explorer__route-input>span:last-child{width:100%;min-height:40px;border:1px solid var(--line-subtle);border-radius:var(--radius-control);color:var(--text-strong);background:var(--surface-raised)}.bus-route-explorer__search select{padding:0 9px;font-size:.67rem}.bus-route-explorer__route-input>span:last-child{display:flex;align-items:center;gap:7px;padding:0 10px}.bus-route-explorer__route-input input{width:100%;min-width:0;height:38px;border:0;outline:0;color:inherit;background:transparent;font-size:.67rem}.bus-route-explorer__search>button{display:flex;min-height:44px;align-items:center;justify-content:center;gap:7px;border:0;border-radius:var(--radius-control);color:#fff;background:var(--action-strong);font-size:.67rem;font-weight:760}.bus-route-explorer__status,.bus-route-explorer__error,.bus-route-explorer__bike-note{margin:0;padding:13px 18px;font-size:.64rem;line-height:1.45}.bus-route-explorer__error{color:var(--danger)}.bus-route-explorer__matches>p{margin:0;padding:10px 18px;color:var(--text-muted);font-size:.58rem}.bus-route-explorer__matches>button{display:flex;width:100%;min-height:62px;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px;border:0;border-top:1px solid var(--line-subtle);color:inherit;background:transparent;text-align:left}.bus-route-explorer__matches strong,.bus-route-explorer__matches small{display:block}.bus-route-explorer__matches strong{font-size:.72rem}.bus-route-explorer__matches small{margin-top:4px;color:var(--text-muted);font-size:.59rem}.bus-route-explorer__route-heading{padding:14px 18px;border-bottom:1px solid var(--line-subtle)}.bus-route-explorer__route-heading>span{display:inline-flex}.bus-route-explorer__route-heading h3{margin:7px 0 0;font-size:.87rem}.bus-route-explorer__route-heading p{margin:4px 0 0;color:var(--text-muted);font-size:.6rem}.bus-route-explorer__route-source{display:block;margin-top:6px;color:var(--action-strong);font-size:.57rem}.bus-route-explorer__stops>label{display:block;padding:12px 18px 8px}.bus-route-explorer__stops>label>span:first-child{display:block;margin-bottom:5px;color:var(--text-muted);font-size:.58rem}.bus-route-explorer__stops input{width:100%;min-height:38px;padding:0 9px;border:1px solid var(--line-subtle);border-radius:var(--radius-control);color:var(--text-strong);background:var(--surface-raised);font-size:.65rem}.bus-route-explorer__stops-list button{display:grid;width:100%;min-height:52px;grid-template-columns:26px 1fr;gap:8px;padding:8px 18px;border:0;border-top:1px solid var(--line-subtle);color:inherit;background:transparent;text-align:left}.bus-route-explorer__stops-list button.is-selected{box-shadow:inset 3px 0 var(--action);background:var(--surface-muted)}.bus-route-explorer__stops-list strong,.bus-route-explorer__stops-list small{display:block}.bus-route-explorer__stops-list strong{font-size:.67rem}.bus-route-explorer__stops-list small{margin-top:3px;color:var(--text-muted);font-size:.57rem}.bus-route-explorer__arrival{margin:12px 18px;padding:11px;border-left:3px solid var(--action);background:var(--surface-muted)}.field-guide-links{flex:0 0 auto;border-top:1px solid var(--line-subtle)}.field-guide-links>span{display:block;padding:13px 18px 7px}.field-guide-links>button{display:grid;width:100%;min-height:50px;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:7px;padding:7px 18px;border:0;border-top:1px solid var(--line-subtle);color:inherit;background:transparent;text-align:left}.field-guide-links strong,.field-guide-links small{display:block}.field-guide-links strong{font-size:.65rem}.field-guide-links small{margin-top:2px;color:var(--text-muted);font-size:.56rem}.trailhead-explorer{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden;color:var(--text-strong);background:var(--surface)}.trailhead-explorer__header,.access-planner>header{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--line-subtle)}.trailhead-explorer__header h2,.access-planner>header h2{margin:5px 0 0;font-size:.92rem;letter-spacing:-.015em}.trailhead-explorer__header>button,.access-planner>header>button{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:0;color:var(--text-muted);background:transparent}.trailhead-explorer__header>button:active,.access-planner>header>button:active,.trailhead-explorer__tools button:active,.trailhead-entry__actions>*:active,.access-planner__handoff:active{transform:scale(.96)}.trailhead-explorer__tools{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 18px;border-bottom:1px solid var(--line-subtle)}.trailhead-explorer__tools label{display:flex;min-width:0;min-height:40px;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-raised)}.trailhead-explorer__tools input{width:100%;min-width:0;height:38px;border:0;outline:0;color:var(--text-strong);background:transparent;font-size:.66rem}.trailhead-explorer__tools button{display:inline-flex;min-height:40px;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-control);color:var(--text-muted);background:var(--surface-raised);font-size:.6rem;font-weight:720;transition:color .14s ease,border-color .14s ease,background-color .14s ease,transform 80ms ease}.trailhead-explorer__tools button.is-active{border-color:var(--caution);color:var(--text-strong);background:color-mix(in srgb,var(--caution) 12%,var(--surface-raised))}.trailhead-explorer__summary{flex:0 0 auto;margin:0;padding:8px 18px;border-bottom:1px solid var(--line-subtle);color:var(--text-muted);font:550 .58rem/1.2 ui-monospace,monospace}.trailhead-explorer__list{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain}.trailhead-entry{border-bottom:1px solid var(--line-subtle)}.trailhead-entry.is-selected{box-shadow:inset 3px 0 var(--action);background:var(--surface-muted)}.trailhead-entry__main{display:grid;width:100%;min-height:66px;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 18px;border:0;color:inherit;background:transparent;text-align:left}.trailhead-entry__pin{display:grid;width:24px;height:24px;place-items:center;color:var(--outdoor)}.trailhead-entry__main strong,.trailhead-entry__main small{display:block}.trailhead-entry__main strong{font-size:.69rem}.trailhead-entry__main small{margin-top:4px;overflow:hidden;color:var(--text-muted);font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}.trail-status{max-width:86px;padding-left:8px;color:var(--text-muted);font:700 .52rem/1.25 ui-monospace,monospace;text-align:right}.trail-status--closed{color:var(--danger)}.trail-status--partial,.trail-status--caution{color:var(--caution)}.trailhead-entry__detail{padding:2px 18px 16px 51px}.trailhead-entry__notice,.trailhead-entry__caveat{display:flex;align-items:flex-start;gap:7px;margin:0 0 12px;padding:9px 10px;border-left:3px solid var(--caution);background:var(--surface-raised);font-size:.59rem;line-height:1.45}.trailhead-entry--closed .trailhead-entry__notice{border-left-color:var(--danger)}.trailhead-entry__notice svg,.trailhead-entry__caveat svg{flex:0 0 auto;margin-top:1px}.trailhead-entry__notice strong{display:block;margin-bottom:3px}.trailhead-entry__detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.trailhead-entry__detail dl div{padding:7px 7px 7px 0;border-top:1px solid var(--line-subtle)}.trailhead-entry__detail dt{color:var(--text-muted);font-size:.52rem}.trailhead-entry__detail dd{margin:3px 0 0;overflow-wrap:anywhere;font:700 .6rem/1.35 ui-monospace,monospace}.trailhead-entry__phone{display:inline-flex;min-height:36px;align-items:center;gap:6px;color:var(--action-strong);font-size:.61rem;font-weight:720;text-decoration:none}.trailhead-entry__actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.trailhead-entry__actions>*{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:5px;padding:0 8px;border:1px solid var(--line-strong);border-radius:var(--radius-control);color:var(--action-strong);background:var(--surface-raised);font-size:.57rem;font-weight:740;text-align:center;text-decoration:none;transition:color .14s ease,border-color .14s ease,background-color .14s ease,transform 80ms ease}.trailhead-entry__actions button{border-color:var(--action);color:#fff;background:var(--action-strong)}.trailhead-explorer__source{flex:0 0 auto;margin:0;padding:10px 18px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line-subtle);color:var(--text-muted);font-size:.54rem;line-height:1.45}.trailhead-marker-shell{border:0;background:transparent}.trailhead-marker{display:block;width:14px;height:14px;border:2px solid #fffdf7;background:#246649;box-shadow:0 1px 4px #14251d52;transform:rotate(45deg)}.trailhead-marker--closed{background:#a33a31}.trailhead-marker--partial,.trailhead-marker--caution{background:#b67818}.trailhead-marker.is-selected{width:20px;height:20px;border-width:3px;box-shadow:0 0 0 4px #147a3d3d,0 2px 7px #14251d66}.official-trail-line{stroke-linecap:round;stroke-linejoin:round;transition:stroke-width .16s cubic-bezier(.2,0,0,1),stroke-opacity .16s cubic-bezier(.2,0,0,1)}.official-trail-line.is-selected{filter:drop-shadow(0 1px 2px rgba(15,36,24,.32))}.official-trail-marker-shell{border:0;background:transparent}.official-trail-marker{display:block;width:14px;height:14px;border:2px solid #fffdf7;border-radius:50%;background:#59685f;box-shadow:0 1px 4px #14251d52}.official-trail-marker--open{background:#18794e}.official-trail-marker--partial,.official-trail-marker--caution{background:#a86410}.official-trail-marker--closed{background:#b23a34}.official-trail-marker.is-selected{width:20px;height:20px;border-width:3px;box-shadow:0 0 0 4px #147a3d3d,0 2px 7px #14251d66}.access-planner{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;color:var(--text-strong);background:var(--surface)}.access-planner--empty>p{display:flex;align-items:flex-start;gap:8px;margin:18px;padding:16px 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-subtle);color:var(--text-muted);font-size:.67rem;line-height:1.55}.access-planner__target{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:16px 18px;border-bottom:1px solid var(--line-subtle)}.access-planner__target>span{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;color:#fff;background:var(--action-strong)}.access-planner__target strong,.access-planner__target small,.access-planner__target code{display:block}.access-planner__target strong{font-size:.75rem}.access-planner__target small{margin-top:4px;color:var(--text-muted);font-size:.59rem;line-height:1.4}.access-planner__target code{margin-top:7px;color:var(--text-muted);font:550 .55rem/1.2 ui-monospace,monospace}.access-planner__caveat{display:flex;align-items:flex-start;gap:7px;margin:12px 18px;padding:10px 0;border-bottom:1px solid var(--line-subtle);color:var(--text-muted);font-size:.59rem;line-height:1.48}.access-planner__caveat svg{flex:0 0 auto;color:var(--caution)}.access-planner__band{border-bottom:1px solid var(--line-strong)}.access-planner__band h3{display:flex;min-height:40px;align-items:center;gap:7px;margin:0;padding:0 18px;color:var(--text-muted);font-size:.61rem;letter-spacing:.015em;text-transform:uppercase}.access-planner__band h3 .is-spinning{margin-left:auto;animation:spin .9s linear infinite}.access-planner__band ol{margin:0;padding:0;list-style:none}.access-planner__band li{display:grid;min-height:61px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 18px;border-top:1px solid var(--line-subtle)}.access-planner__band li>div strong,.access-planner__band li>div small{display:block}.access-planner__band li>div strong{font-size:.68rem}.access-planner__band li>div small{margin-top:4px;color:var(--text-muted);font-size:.56rem;line-height:1.35}.access-mode{display:inline-flex;min-height:24px;align-items:center;justify-content:center;padding:0 5px;border-left:3px solid currentColor;color:#245e7c;background:var(--surface-muted);font:740 .5rem/1 ui-monospace,monospace}.access-mode--hsr{color:#b34828}.access-mode--mrt{color:#6b5da8}.access-mode--bus{color:#a94b18}.access-distance{color:var(--text-strong);font:720 .6rem/1.2 ui-monospace,monospace;text-align:right}.access-distance small{display:block;margin-top:3px;color:var(--text-muted);font:500 .49rem/1.2 ui-sans-serif,sans-serif}.access-planner__setup,.access-planner__error{margin:0;padding:13px 18px;border-top:1px solid var(--line-subtle);color:var(--text-muted);font-size:.61rem;line-height:1.5}.access-planner__error{color:var(--danger)}.access-planner__handoff{display:flex;min-height:46px;align-items:center;justify-content:center;gap:7px;margin:16px 18px calc(18px + env(safe-area-inset-bottom));border:1px solid var(--action);border-radius:var(--radius-control);color:#fff;background:var(--action-strong);font-size:.63rem;font-weight:750;text-decoration:none;transition:background-color .14s ease,transform 80ms ease}.access-target-marker-shell{border:0;background:transparent}.access-target-marker{position:relative;display:block;width:36px;height:36px;border:2px solid #fffdf7;border-radius:50%;background:#b348282b;box-shadow:0 2px 8px #14251d59}.access-target-marker:before,.access-target-marker:after{position:absolute;top:50%;left:50%;content:"";background:#b34828;transform:translate(-50%,-50%)}.access-target-marker:before{width:20px;height:2px}.access-target-marker:after{width:2px;height:20px}.access-target-marker>span{position:absolute;top:50%;left:50%;width:6px;height:6px;border:2px solid #fff;border-radius:50%;background:#b34828;transform:translate(-50%,-50%)}[data-theme=dark] .trailhead-marker,[data-theme=dark] .official-trail-marker,[data-theme=dark] .access-target-marker{border-color:#f4f1e8;box-shadow:0 0 10px #ffdd9147,0 2px 7px #0000008c}@media(max-width:760px){.explore-panel-tabs,.journey-mode-tabs{padding-right:18px;padding-left:18px}.explore-panel-tabs button{font-size:.58rem}.trailhead-explorer__tools{grid-template-columns:1fr}.trailhead-explorer__tools button{justify-content:center}.trailhead-entry__detail{padding-left:18px}.official-trail-marker{width:13px;height:13px}.official-trail-marker.is-selected{width:18px;height:18px}.curated-route__lead{height:128px}}html.site-home-document,html.site-home-document body,html.site-home-document #root{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;background:#eee9de}.site-home{--home-paper: #eee9de;--home-cream: #fffaf0;--home-ink: #17251d;--home-ink-deep: #101b14;--home-muted: #59665d;--home-route: #e75732;min-width:320px;color:var(--home-ink);background:var(--home-paper);font-family:DM Sans,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}.site-home *,.site-home *:before,.site-home *:after{box-sizing:border-box}.site-home a{color:inherit}.site-home :focus-visible{outline:2px solid var(--home-route);outline-offset:3px;border-radius:2px}.home-hero :focus-visible,.home-final :focus-visible,.home-footer :focus-visible{outline-color:var(--home-cream)}.home-hero{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;color:var(--home-cream);background:#1d3127}.home-hero__image,.home-hero__wash,.home-hero__contours{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.home-hero__image{z-index:-3;object-fit:cover;object-position:52% center;transform:scale(1.025);animation:home-image-arrive 1.4s cubic-bezier(.2,0,0,1) both}.home-hero__wash{z-index:-2;background:linear-gradient(180deg,#07150f99,#07150f1f 40%,#07150fd1),linear-gradient(90deg,rgba(9,24,17,.6) 0%,transparent 58%)}.home-hero__contours{z-index:-1;fill:none;stroke:#fffaf04a;stroke-width:1.2;stroke-dasharray:4 7;vector-effect:non-scaling-stroke;pointer-events:none;animation:home-contours-drift 20s ease-in-out infinite alternate}.home-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px clamp(22px,4.3vw,72px);border-bottom:1px solid rgba(255,250,240,.32);animation:home-rise .8s 80ms cubic-bezier(.2,0,0,1) both}.home-nav__brand{display:inline-flex;align-items:center;gap:12px;min-height:42px;color:inherit;font-size:.78rem;font-weight:700;letter-spacing:.11em;text-decoration:none;text-transform:uppercase}.home-nav__brand svg{width:54px;flex-shrink:0;overflow:visible;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.home-nav__atlas,.home-text-link{display:inline-flex;align-items:center;gap:9px;min-height:42px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.home-nav__atlas-short{display:none}.home-nav__atlas svg,.home-text-link svg,.home-button svg{flex-shrink:0;transition:transform .18s cubic-bezier(.2,0,0,1)}.home-nav__atlas:hover svg,.home-text-link:hover svg,.home-button:hover svg{transform:translate(5px)}.home-hero__copy{position:absolute;right:clamp(22px,4.3vw,72px);bottom:clamp(64px,9vh,110px);left:clamp(22px,4.3vw,72px);max-width:1180px}.home-hero__location,.home-section-number,.home-hero__index{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.home-hero__location{margin-bottom:clamp(16px,2vh,26px);animation:home-rise .8s .24s cubic-bezier(.2,0,0,1) both}.home-hero h1{display:flex;flex-direction:column;margin:0;max-width:1120px;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(4.7rem,11.3vw,10.8rem);font-weight:400;letter-spacing:-.055em;line-height:.78;text-wrap:balance}.home-hero h1 span{display:block}.home-hero h1 span:first-child{animation:home-rise .9s .32s cubic-bezier(.2,0,0,1) both}.home-hero h1 span:last-child{margin-left:clamp(0px,8vw,112px);animation:home-rise .9s .42s cubic-bezier(.2,0,0,1) both}.home-hero__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-top:clamp(34px,6vh,70px);animation:home-rise .8s .56s cubic-bezier(.2,0,0,1) both}.home-hero__footer p{max-width:360px;margin:0;font-size:clamp(.95rem,1.3vw,1.12rem);line-height:1.48;text-wrap:pretty}.home-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-width:246px;min-height:54px;padding:0 20px;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition-property:color,background-color,transform;transition-duration:.18s;transition-timing-function:cubic-bezier(.2,0,0,1)}.home-button:active{transform:scale(.96)}.site-home .home-button--light{color:var(--home-ink);background:var(--home-cream)}.site-home .home-button--light:hover,.site-home .home-button--route{color:var(--home-cream);background:var(--home-route)}.site-home .home-button--route:hover{color:var(--home-ink);background:var(--home-cream)}.home-hero__index{position:absolute;right:clamp(22px,4.3vw,72px);top:104px;writing-mode:vertical-rl;opacity:.74}.home-hero__credit{position:absolute;right:clamp(22px,4.3vw,72px);bottom:4px;display:inline-flex;align-items:center;min-height:40px;color:#fffaf0b8;font-size:.62rem;letter-spacing:.04em;text-decoration:none}.home-hero__credit:hover{color:var(--home-cream)}.home-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:clamp(52px,11vw,180px);padding:clamp(96px,13vw,190px) clamp(22px,6vw,96px) clamp(84px,10vw,148px)}.home-section-number{color:var(--home-route)}.home-final .home-section-number{color:#f2a389}.home-intro h2,.home-field-notes h2,.home-final h2{margin:16px 0 0;font-family:"Instrument Serif",Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:.95;text-wrap:balance}.home-intro h2{font-size:clamp(3.4rem,7vw,7.4rem)}.home-intro__statement{max-width:660px;margin:35px 0 0;color:var(--home-muted);font-size:clamp(1.18rem,2vw,1.75rem);line-height:1.3;text-wrap:pretty}.home-intro__detail{align-self:end;padding-bottom:7px}.home-intro__detail>p{margin:0 0 34px;color:var(--home-muted);font-size:.98rem;line-height:1.7;text-wrap:pretty}.home-text-link{width:max-content;border-bottom:1px solid currentColor}.home-feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(23,37,29,.3);border-bottom:1px solid rgba(23,37,29,.3)}.home-feature{position:relative;min-height:320px;padding:34px clamp(24px,3.5vw,58px) 46px}.home-feature+.home-feature{border-left:1px solid rgba(23,37,29,.3)}.home-feature__number{font-size:.63rem;font-weight:700;letter-spacing:.14em}.home-feature__icon{display:block;margin:68px 0 25px;color:var(--home-route)}.home-feature h3{margin:0 0 13px;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(1.7rem,2.5vw,2.35rem);font-weight:400;line-height:1}.home-feature p{max-width:340px;margin:0;color:var(--home-muted);font-size:.88rem;line-height:1.55;text-wrap:pretty}.home-field-notes{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(20px,3vw,48px);padding:clamp(100px,12vw,180px) clamp(22px,4.3vw,72px)}.home-field-notes__heading{grid-column:1 / -1;max-width:960px;margin-bottom:clamp(42px,6vw,82px)}.home-field-notes h2{font-size:clamp(3.7rem,7.5vw,7.8rem)}.home-field-note{margin:0}.home-field-note img{display:block;width:100%;object-fit:cover;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}.home-field-note--peak{grid-column:1 / span 7}.home-field-note--peak img{height:min(46vw,620px)}.home-field-note--stairs{grid-column:9 / span 4;margin-top:clamp(60px,12vw,190px)}.home-field-note--stairs img{height:min(52vw,680px);object-position:center 30%}.home-field-note--river{grid-column:3 / span 7;margin-top:clamp(-40px,-3vw,-20px)}.home-field-note--river img{height:min(38vw,520px);object-position:center 62%}.home-field-note figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:12px;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.home-field-notes__mark{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:22px;margin-top:60px;color:var(--home-route)}.home-field-notes__mark>svg:nth-child(2){width:130px;stroke:currentColor;stroke-width:1.2}.home-final{display:flex;min-height:min(780px,90svh);align-items:center;flex-direction:column;justify-content:center;padding:90px 22px;color:var(--home-cream);text-align:center;background:radial-gradient(120% 90% at 50% 110%,rgba(231,87,50,.16) 0%,transparent 55%),var(--home-ink)}.home-final__mark{width:112px;margin-bottom:32px;stroke:var(--home-route);stroke-width:1.4}.home-final h2{margin:23px 0 50px;font-size:clamp(4.2rem,9vw,9rem)}.home-final .home-button{min-width:min(100%,330px)}.home-footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:30px;padding:54px clamp(22px,4.3vw,72px);color:var(--home-cream);background:var(--home-ink-deep)}.home-footer p{margin:0;color:#fffaf0b3;font-size:.78rem;line-height:1.5;text-align:center}.home-footer__credits{display:flex;align-items:flex-end;flex-direction:column}.home-footer__credits a{display:inline-flex;align-items:center;min-height:40px;color:#fffaf09e;font-size:.66rem;letter-spacing:.03em;text-decoration:none}.home-footer__credits a:hover{color:var(--home-cream)}@keyframes home-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes home-image-arrive{0%{opacity:.65;transform:scale(1.085)}to{opacity:1;transform:scale(1.025)}}@keyframes home-contours-drift{0%{transform:translate3d(-1.5%,0,0)}to{transform:translate3d(1.5%,-1%,0)}}@media(max-width:820px){.home-hero{min-height:760px}.home-nav{padding-top:18px;padding-bottom:18px}.home-nav__brand{font-size:.66rem;letter-spacing:.08em}.home-nav__brand svg{width:42px}.home-nav__atlas-full{display:none}.home-nav__atlas-short{display:inline;font-size:.68rem}.home-hero__copy{bottom:66px}.home-hero h1{font-size:clamp(4.35rem,21vw,7.4rem);line-height:.81}.home-hero h1 span:last-child{margin-left:0}.home-hero__footer{align-items:flex-start;flex-direction:column;margin-top:42px}.home-hero__index{display:none}.home-hero__credit{right:auto;left:22px;bottom:8px}.home-intro{grid-template-columns:1fr;gap:48px}.home-intro__detail{max-width:560px}.home-feature-list{grid-template-columns:1fr}.home-feature{min-height:auto;padding:30px 24px 38px}.home-feature+.home-feature{border-top:1px solid rgba(23,37,29,.3);border-left:0}.home-feature__icon{margin:42px 0 22px}.home-feature p{max-width:470px}.home-field-notes{grid-template-columns:1fr}.home-field-notes__heading,.home-field-note--peak,.home-field-note--stairs,.home-field-note--river{grid-column:1;margin-top:0}.home-field-note--stairs,.home-field-note--river{margin-top:40px}.home-field-note--peak img{height:min(72vw,480px)}.home-field-note--stairs img{height:min(112vw,620px)}.home-field-note--river img{height:min(72vw,480px);object-position:70% center}.home-final{min-height:720px}.home-footer{grid-template-columns:1fr;align-items:start}.home-footer p{max-width:390px;text-align:left}.home-footer__credits{align-items:flex-start}}@media(max-width:470px){.home-hero__image{object-position:61% center}.home-hero__copy{right:18px;left:18px}.home-hero h1{font-size:clamp(4.05rem,20.5vw,5.65rem)}.home-button{width:100%;min-width:0}.home-hero__credit{left:18px;max-width:calc(100% - 36px)}.home-intro h2{font-size:3.55rem}.home-field-notes h2{font-size:3.8rem}.home-final h2{font-size:4.25rem}}@media(prefers-reduced-motion:reduce){.home-hero__image,.home-hero__contours,.home-nav,.home-hero__location,.home-hero h1 span,.home-hero__footer{animation:none}.home-nav__atlas svg,.home-text-link svg,.home-button svg,.home-button{transition:none}.home-nav__atlas:hover svg,.home-text-link:hover svg,.home-button:hover svg{transform:none}.home-button:active{transform:none}}
