*{margin:0;padding:0;box-sizing:border-box}body{font-family:BricolageGrotesqueMedium,system-ui,sans-serif;height:100vh;overflow:hidden;background:#0e120a;color:#d8dbc8}#app{display:flex;flex-direction:column;height:100vh}@font-face{font-family:BricolageGrotesqueMedium;src:url(/fonts/BricolageGrotesque-Medium.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}.meri{color:#f0f2a0}.way{color:#e8c8f0}.italic{font-style:italic}.bold{font-weight:700}#header{background:#0e120a;padding:8px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(240,242,160,.13);z-index:1000;flex-shrink:0}#header h1{font-size:1.3rem;font-weight:700;color:#d8dbc8;letter-spacing:-.5px;font-family:BricolageGrotesqueMedium;flex-shrink:0}#header h1 a{text-decoration:none}#header h1 .meri{color:#f0f2a0}#header h1 .way{color:#e8c8f0;font-style:italic}#header-right{margin-left:auto;display:flex;align-items:center;justify-content:end;gap:12px;min-width:0}#app-description{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:1200;display:flex;align-items:stretch;gap:8px;width:calc(100% - 32px);max-width:420px;padding:10px 34px 10px 12px;background:#161b12;border:1.5px solid rgba(240,242,160,.2);border-radius:10px;box-shadow:0 10px 30px #00000073;font-size:.85rem;color:#d8dbc8;line-height:1.3;transition:opacity .2s ease}#app-description.hidden{opacity:0;pointer-events:none}#app-description-arrow{flex-shrink:0;width:32px}#app-description-arrow svg{display:block;width:100%;height:100%}#app-description-content{flex:1;min-width:0}#app-description-content p{margin:0;white-space:pre-line}#app-description-close{position:absolute;top:6px;right:6px;width:24px;height:24px;border:none;background:none;color:#d8dbc899;font-size:1.1rem;line-height:1;cursor:pointer;border-radius:4px;transition:color .2s,background .2s}#app-description-close:hover{color:#d8dbc8;background:#f0f2a014}#sun-info{font-size:.82rem;font-weight:600;color:#d8dbc899;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:50vw}@media(max-width:600px){#header h1{font-size:1rem}#header-right{justify-content:end;gap:4px}#sun-info{font-size:.7rem}#app-description-arrow{width:24px}}#map-sun-info{display:none;position:absolute;top:12px;right:12px;z-index:1000;width:fit-content;max-width:min(300px,calc(100vw - 24px));padding:8px 12px;background:#0e120a;border:1.5px solid rgba(240,242,160,.2);border-radius:10px;box-shadow:0 10px 30px #00000073;color:#d8dbc899;font-family:inherit;cursor:pointer;appearance:none}#map-sun-info.on{display:block}#map-sun-info.day{color:#f0f2a0}#map-sun-info.night{color:#e8c8f0}#map-sun-info-row{display:flex;align-items:center;justify-content:flex-end;gap:6px}#map-sun-info-human{font-size:.82rem;font-weight:600;line-height:1.3em;white-space:nowrap}#map-sun-info-chevron{flex-shrink:0;font-size:.7rem;line-height:1;opacity:.7;transition:transform .2s ease}#map-sun-info-chevron:before{content:"⌄"}#map-sun-info.expanded #map-sun-info-chevron{transform:rotate(180deg)}#map-sun-info-details{display:none;margin-top:4px;padding-top:4px;border-top:1px solid rgba(240,242,160,.13)}#map-sun-info.expanded #map-sun-info-details{display:block}#map-sun-info-technical,#map-sun-info-datetime,#map-sun-info-weather{display:block;text-align:right;white-space:normal;font-size:.72rem;font-weight:500;line-height:1.3em;opacity:.8}#map-sun-info-weather:empty{display:none}@media(max-width:600px){#map-sun-info{top:8px;right:8px;padding:6px 10px}#map-sun-info-human{font-size:.72rem}#map-sun-info-technical,#map-sun-info-datetime,#map-sun-info-weather{font-size:.65rem}}#install-banner{display:none;align-items:center;justify-content:space-between;gap:12px;background:#161b12;padding:8px 16px;border-bottom:1px solid rgba(240,242,160,.13);flex-shrink:0}#install-banner.on{display:flex}#install-banner-text{font-size:.82rem;color:#d8dbc8;line-height:1.3}#install-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}#install-banner-btn{padding:6px 14px;background:#f0f2a0;color:#0e120a;border:none;border-radius:8px;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .2s;white-space:nowrap}#install-banner-btn:hover{background:#e4e698}#install-banner-close{width:26px;height:26px;border:none;background:none;color:#d8dbc899;font-size:1.1rem;line-height:1;cursor:pointer;border-radius:4px;transition:color .2s,background .2s}#install-banner-close:hover{color:#d8dbc8;background:#f0f2a014}#search-panel{background:#0e120a;padding:2px 16px 8px;display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;border-bottom:1px solid rgba(240,242,160,.13);z-index:999;flex-shrink:0}.route-inputs{flex:1 1 100%;position:relative;display:flex;flex-direction:column;gap:8px}.input-wrap{flex:1;min-width:160px;position:relative}.input-label{font-size:.65rem;color:#d8dbc8;margin-bottom:4px;padding-left:4px}#swap-btn{position:absolute;right:calc(50% - 15px);top:54px;z-index:2;width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(240,242,160,.25);background:#1d2416;color:#f0f2a0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:transform 1s}#swap-btn:hover{background:#2a3320}#swap-btn:active{transform:scale(.88)}.swap-ico{display:inline-flex;transition:transform .5s cubic-bezier(.4,0,.2,1)}#search-panel input[type=text]{width:100%;padding:8px 60px 8px 12px;border:1.5px solid rgba(240,242,160,.2);border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s;background:#161b12;color:#d8dbc8}#search-panel input[type=text]::placeholder{color:#d8dbc866}#search-panel input[type=text]:focus{border-color:#f0f2a080;outline:2px solid rgba(240,242,160,.7);outline-offset:2px}.geo-btn{position:absolute;right:6px;bottom:-8px;transform:translateY(-50%);width:26px;height:26px;border:none;background:none;padding:0;color:#d8dbc8;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:.5;transition:opacity .2s,background .2s,color .2s}.geo-btn svg{display:block}.geo-btn:hover{opacity:1;background:#f0f2a014;color:#f0f2a0}.geo-btn:disabled{opacity:.2;cursor:not-allowed}.geo-btn.loading{animation:geo-pulse .8s ease-in-out infinite;opacity:1}@keyframes geo-pulse{0%,to{opacity:1}50%{opacity:.2}}.clear-btn{display:none;position:absolute;right:34px;bottom:-5px;transform:translateY(-50%);width:22px;height:22px;border:none;background:none;padding:0;font-size:.8rem;line-height:1;cursor:pointer;align-items:center;justify-content:center;border-radius:4px;color:#d8dbc8;opacity:.5;transition:opacity .2s,background .2s}.clear-btn:hover{opacity:1;background:#f0f2a014}.input-wrap.has-value .clear-btn{display:flex}#search-panel input[type=date],#search-panel input[type=time]{padding:8px 10px;border:1.5px solid rgba(240,242,160,.2);border-radius:8px;font-size:1rem;outline:none;background:#161b12;color:#d8dbc8;color-scheme:dark}.depart-row{position:relative;padding-bottom:2px}.split-btn{display:flex}#search-btn{padding:8px 20px;background:#f0f2a0;color:#0e120a;border:none;border-radius:8px 0 0 8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s,opacity .2s;white-space:nowrap}#search-btn:hover{background:#e4e698}#search-btn:disabled{opacity:.5;cursor:not-allowed}#depart-toggle{padding:0 10px;background:#f0f2a0;color:#0e120a;border:none;border-left:1px solid rgba(14,18,10,.2);border-radius:0 8px 8px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,opacity .2s}#depart-toggle:hover{background:#e4e698}#depart-toggle:disabled{opacity:.5;cursor:not-allowed}.depart-popover{display:none;position:absolute;top:calc(100% + 8px);right:0;z-index:1001;min-width:240px;padding:14px;background:#161b12;border:1.5px solid rgba(240,242,160,.2);border-radius:10px;box-shadow:0 10px 30px #00000073}.depart-popover.open{display:block}.depart-popover-title{font-size:.8rem;font-weight:700;color:#d8dbc8b3;margin-bottom:10px}.depart-popover-fields{display:flex;gap:8px;margin-bottom:10px}.depart-popover-fields input[type=date],.depart-popover-fields input[type=time]{flex:1;min-width:0}#depart-confirm{width:100%;padding:8px;background:#f0f2a0;color:#0e120a;border:none;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .2s}#depart-confirm:hover{background:#e4e698}@media(min-width:601px){.route-inputs{flex-direction:row;align-items:center;flex:1 1 380px}.input-wrap{min-width:160px}#swap-btn{position:static;flex-shrink:0;transform:rotate(90deg);margin-top:18px;top:24px}.depart-row{flex-shrink:0}}#map{flex:1;min-height:160px;z-index:1;position:relative}#map .leaflet-interactive{cursor:pointer}#map .route-casing{filter:blur(2px)}.locate-control{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;background:#fff;cursor:pointer}.locate-control:hover{background:#f4f4f4}.locate-control svg{display:block}.pick-popup .leaflet-popup-content-wrapper{background:#161b12;border:1.5px solid rgba(240,242,160,.2);border-radius:10px;box-shadow:0 10px 30px #00000073;padding:4px;color:#d8dbc8}.pick-popup .leaflet-popup-content{margin:0;width:auto!important}.pick-popup .leaflet-popup-tip{background:#161b12;border:none;box-shadow:none}.pick-menu{display:flex;flex-direction:column}.pick-btn{padding:8px 14px;border:none;border-radius:7px;background:none;font-family:inherit;font-size:1rem;font-weight:600;text-align:left;white-space:nowrap;color:#d8dbc8;cursor:pointer;transition:background .15s,color .15s}.pick-btn:hover{background:#f0f2a014;color:#f0f2a0}.pick-btn[data-role=start]:hover{color:#86beef}.pick-btn[data-role=end]:hover{color:#fca5a5}.leaflet-container .pick-popup a.leaflet-popup-close-button{display:flex;align-items:center;justify-content:center;top:-10px;right:-10px;width:26px;height:26px;padding:0;border-radius:12px;background:#161b12;border:1.5px solid rgba(240,242,160,.25);font:700 .95rem/1 BricolageGrotesqueMedium,system-ui,sans-serif;color:#d8dbc8a6;transition:color .2s,background .2s,border-color .2s}.leaflet-container .pick-popup a.leaflet-popup-close-button:hover{color:#d8dbc8;background:#1d2416;border-color:#f0f2a073}#map-splash{position:absolute;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0e120a;color:#d8dbc8b3;font-size:.9rem;transition:opacity .4s ease}#map-splash.hidden{opacity:0;pointer-events:none}#status{position:fixed;top:130px;left:50%;transform:translate(-50%);background:#0e120aeb;color:#d8dbc8;border:1px solid rgba(240,242,160,.2);padding:8px 18px;border-radius:20px;font-size:.84rem;z-index:3000;display:none;backdrop-filter:blur(4px);white-space:nowrap}#status.on{display:block}.toast{position:fixed;top:130px;left:50%;transform:translate(-50%) translateY(-14px) scale(.97);max-width:min(90vw,420px);padding:13px 22px;border-radius:14px;font-size:.95rem;font-weight:600;line-height:1.35;text-align:center;z-index:4000;opacity:0;pointer-events:none;box-shadow:0 10px 30px #0000008c,0 2px 6px #0006;transition:opacity .18s ease,transform .18s cubic-bezier(.2,.9,.3,1.2)}.toast.on{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.toast-error{background:#ffdcd3;color:#2b0a05;border:1.5px solid #c0492c}.toast-success{background:#ddf3cd;color:#12250b;border:1.5px solid #4e8f33}@media(prefers-reduced-motion:reduce){.toast{transition:opacity .18s ease;transform:translate(-50%)}.toast.on{transform:translate(-50%)}}.ac-dropdown{position:absolute;list-style:none;background:#161b12;border:1.5px solid rgba(240,242,160,.2);border-radius:10px;box-shadow:0 6px 20px #0006;z-index:9999;max-height:220px;overflow-y:auto;padding:4px 0}.ac-item{padding:8px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.ac-item:hover,.ac-item.active{background:#f0f2a00f}.ac-line1{font-size:.84rem;font-weight:600;color:#e8ebd8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ac-line2{font-size:.75rem;color:#8a8f7a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#results{--drawer-peek: 168px;position:fixed;bottom:0;left:0;right:0;background:#0e120a;border-radius:16px 16px 0 0;border-top:1px solid rgba(240,242,160,.13);box-shadow:0 -4px 24px #0006;z-index:2000;max-height:82vh;overflow:hidden;transform:translateY(100%);transition:transform .32s cubic-bezier(.4,0,.2,1)}#results.on{transform:translateY(calc(100% - var(--drawer-peek)))}#results.expanded{transform:translateY(0);overflow-y:auto}#results.night.on{transform:translateY(0)}#time-scrubber{position:fixed;left:12px;right:12px;z-index:2000;display:none;align-items:center;gap:10px;padding:8px 14px;background:#161b12;border:1px solid rgba(240,242,160,.2);border-radius:10px;box-shadow:0 2px 10px #0000004d;transition:bottom .32s cubic-bezier(.4,0,.2,1)}#time-scrubber.on{display:flex}#scrubber-time{font-size:.8rem;font-variant-numeric:tabular-nums;color:#f0f2a0;min-width:40px;text-align:center}#scrubber-track{position:relative;flex:1;display:flex}#scrubber-range{flex:1;min-width:0;accent-color:#f0f2a0}#scrubber-mark{display:none;position:absolute;bottom:calc(100% + 12px);width:24px;height:24px;padding:0;border:0;background:none;transform:translate(-50%);cursor:pointer;filter:drop-shadow(0 1px 3px rgba(0,0,0,.7))}#scrubber-mark.on{display:block}#scrubber-mark svg{display:block;width:100%;height:100%}#scrubber-mark:focus-visible{outline:2px solid #f0f2a0;outline-offset:3px;border-radius:50%}#scrubber-mark:after{content:"";position:absolute;top:100%;left:50%;width:1px;height:6px;background:#1c1d138c}@keyframes scrubber-mark-spin{to{transform:rotate(360deg)}}#scrubber-mark.spin svg{animation:scrubber-mark-spin .7s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){#scrubber-mark.spin svg{animation:none}}#drawer-handle{display:flex;justify-content:center;align-items:center;padding:10px 0 12px;cursor:pointer;user-select:none;touch-action:none}#drawer-bar{width:40px;height:4px;background:#f0f2a033;border-radius:2px;transition:background .15s}#drawer-handle:hover #drawer-bar{background:#f0f2a073}#share-btn{position:absolute;top:7px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#161b12;border:1px solid rgba(240,242,160,.2);border-radius:50%;color:#d8dbc8;cursor:pointer;transition:border-color .15s,color .15s}#share-btn:hover{border-color:#f0f2a073;color:#f0f2a0}#panel-toggle{display:none}#single-route-note{display:none;padding:9px 16px 11px;border-bottom:1.5px solid rgba(240,242,160,.1);font-size:.82rem;color:#d8dbc88c;text-align:center}#single-route-note.on{display:block}#eclipse-note{display:none;padding:9px 16px 11px;border-bottom:1.5px solid rgba(240,242,160,.1);font-size:.82rem;color:#d8dbc88c;text-align:center}#eclipse-note.on{display:block}#grazing-sun-note{display:none;padding:9px 16px 11px;border-bottom:1.5px solid rgba(240,242,160,.1);font-size:.82rem;color:#d8dbc88c;text-align:center}#grazing-sun-note.on{display:block}#weather-note{display:none;padding:11px 16px 9px;border-top:1.5px solid rgba(240,242,160,.1);font-size:.82rem;color:#d8dbc88c;text-align:center}#weather-note.on{display:block}#quality-note{display:none;padding:9px 16px 11px;border-top:1.5px solid rgba(240,242,160,.1);font-size:.78rem;color:#d8dbc89e;text-align:left;white-space:pre-line}#quality-note.on{display:block}#quality-note.warn{color:#f0b84a}#night-note{display:none;padding:9px 16px 11px;border-bottom:1.5px solid rgba(240,242,160,.1);font-size:.82rem;color:#d8dbc88c;text-align:center}#night-note.on{display:block}#night-note p{margin:0 0 8px}#night-sunrise-btn{padding:6px 14px;background:#f0f2a0;color:#0e120a;border:none;border-radius:999px;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .2s}#night-sunrise-btn:hover{background:#e4e698}#results.night .ratio-wrap,#results.night .detail-split{display:none}#results.data-failed .ratio-track{opacity:.4}#tabs{display:flex;border-bottom:1.5px solid rgba(240,242,160,.1);padding:0 16px}.tab-btn{flex:1;padding:10px 0;border:none;background:none;font-size:.88rem;font-weight:600;color:#d8dbc89e;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1.5px;transition:all .2s}.tab-btn.active{color:#f0f2a0;border-bottom-color:#f0f2a0}.tab-btn.shady.active{color:#e8c8f0;border-bottom-color:#e8c8f0}.tab-pane{display:none;padding:14px 16px}.tab-pane.active{display:block}.pane-title{display:none}.ratio-wrap{width:100%}.ratio-nums{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;font-size:.8rem;color:#d8dbc8a8}.ratio-nums strong{font-size:1.5rem;font-weight:800}.ratio-shade-num{color:#e8c8f0}.ratio-sun-num{color:#f0f2a0}.ratio-track{display:flex;height:14px;background:#f0f2a014;border-radius:8px;overflow:hidden}.ratio-seg{height:100%;transition:width .7s cubic-bezier(.4,0,.2,1)}.ratio-seg-shade{background:#e8c8f0}.ratio-seg-sun{background:#f0f2a0}.ratio-delta{margin-top:8px;font-size:.78rem;color:#d8dbc89e;text-align:center}.ratio-delta:empty{display:none}@media(max-height:700px){#results{--drawer-peek: 142px}#drawer-handle{padding:6px 0 7px}.tab-btn{padding:7px 0}.tab-pane{padding:10px 16px}.ratio-nums{margin-bottom:7px}.ratio-nums strong{font-size:1.3rem}}.route-details{display:none;padding:4px 16px 20px}#results.expanded .route-details{display:block}.detail-stats{display:flex;justify-content:space-between;gap:24px;margin-bottom:14px}.detail-stat{display:flex;flex-direction:column;gap:2px}.stat-val{font-size:1.1rem;font-weight:800;color:#d8dbc8}.stat-lbl{font-size:.7rem;color:#d8dbc8a3;text-transform:uppercase;letter-spacing:.4px}.detail-split{display:flex;gap:10px}.detail-split-shade,.detail-split-sun{flex:1;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:8px}.detail-split-shade{background:#e8c8f012;border:1px solid rgba(232,200,240,.15)}.detail-split-sun{background:#f0f2a012;border:1px solid rgba(240,242,160,.15)}.detail-split-shade .split-val{font-size:1rem;font-weight:700;color:#e8c8f0}.detail-split-sun .split-val{font-size:1rem;font-weight:700;color:#f0f2a0}.split-lbl{font-size:.72rem;color:#d8dbc8a3}.elev-val{letter-spacing:.5px}.elev-loading{animation:elev-pulse 1.2s ease-in-out infinite}@keyframes elev-pulse{0%,to{opacity:.25}50%{opacity:.7}}#about-btn{margin-left:8px;width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(240,242,160,.2);background:transparent;color:#d8dbc880;font-size:.85rem;font-style:italic;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s;flex-shrink:0}#about-btn:hover{border-color:#f0f2a0;color:#f0f2a0}#about-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:3999;backdrop-filter:blur(2px)}#about-overlay.on{display:block}#about-drawer{position:fixed;top:0;right:0;width:340px;max-width:100vw;height:100%;background:#0e120a;border-left:1px solid rgba(240,242,160,.13);z-index:4000;box-shadow:-10px 0 30px #00000080;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}#about-drawer.open{transform:translate(0)}#about-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid rgba(240,242,160,.1)}#about-lang{display:flex;gap:4px}.lang-btn{padding:4px 10px;border:1.5px solid rgba(240,242,160,.2);border-radius:6px;background:#161b12;font-size:.78rem;font-weight:600;color:#d8dbc899;cursor:pointer;transition:all .15s;text-decoration:none}.lang-btn:hover{border-color:#f0f2a0;color:#f0f2a0}.lang-btn.active{background:#f0f2a0;border-color:#f0f2a0;color:#0e120a}#about-close{width:30px;height:30px;border:none;background:none;font-size:1.3rem;color:#d8dbc880;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}#about-close:hover{background:#f0f2a014;color:#d8dbc8}#about-body{flex:1;overflow-y:auto;padding:24px 20px;scrollbar-width:thin;scrollbar-color:rgba(240,242,160,.1) transparent}#about-body::-webkit-scrollbar{width:6px}#about-body::-webkit-scrollbar-track{background:transparent}#about-body::-webkit-scrollbar-thumb{background:#f0f2a01a;border-radius:10px}#about-body::-webkit-scrollbar-thumb:hover{background:#f0f2a033}.about-pane{display:none}.about-pane.active{display:block}.about-pane h2{font-size:1.4rem;font-weight:700;letter-spacing:-.5px;margin-bottom:6px}.about-pane h2 .meri{color:#f0f2a0}.about-pane h2 .way{color:#e8c8f0;font-style:italic}.about-tagline{font-size:.9rem;font-weight:600;color:#d8dbc8;margin-bottom:18px}.about-pane p{font-size:.88rem;color:#d8dbc8cc;line-height:1.65;margin-bottom:14px}.about-opensource{margin-top:20px;padding:12px 14px;background:#161b12;border:1px solid rgba(240,242,160,.1);border-left:3px solid #f0f2a0;border-radius:8px;font-size:.83rem;color:#d8dbc8bf;line-height:1.6}.about-opensource a{color:#e8c8f0;text-underline-offset:3px}.about-opensource a:hover{color:#f0deff}p.opensource-badge{background:#f0f2a026;color:#f0f2a0;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:4px;margin-bottom:6px;letter-spacing:.3px;width:fit-content}#about-links{padding:8px 20px;border-top:1px solid rgba(240,242,160,.1);display:flex;gap:10px}.about-link{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;border-radius:8px;border:1px solid rgba(240,242,160,.2);font-size:.85rem;font-weight:600;text-decoration:none;color:#d8dbc8;transition:border-color .2s,background .2s}.about-link:hover{border-color:#f0f2a066;background:#f0f2a00d}.github-link{color:#f0f2a0;border-color:#f0f2a04d;background:#f0f2a00d}.github-link:hover{border-color:#f0f2a099;background:#f0f2a01a}.footer-links{display:flex;justify-content:center;gap:8px;width:100%;padding:8px 24px}.footer-link{color:#d8dbc899;text-decoration:none;font-size:.82rem}.footer-link:hover{color:#f0f2a0}@media(max-width:600px){.input-wrap{flex:0 0 100%;min-width:0}.depart-row,.split-btn{width:100%}#search-btn{flex:1}.depart-popover{left:0;right:0}#about-drawer{width:100vw}}@media(min-width:900px){:root{--side-panel-w: 380px}#results{top:var(--map-top, 96px);right:auto;width:var(--side-panel-w);max-height:none;border-radius:0;border-top:none;border-right:1px solid rgba(240,242,160,.13);box-shadow:4px 0 24px #0006;padding-bottom:58px;overflow-y:auto;transform:translate(-100%);display:flex;flex-direction:column}#results>*{flex:0 0 auto}#results.on,#results.expanded,#results.night.on{transform:none}#results.collapsed{transform:translate(-100%)}#drawer-handle{min-height:46px;padding:0;cursor:default;pointer-events:none}#drawer-bar{display:none}#results .route-details{display:block}#tabs{display:none}.tab-pane{display:block;cursor:pointer;margin:10px 12px;padding:14px;background:#12170e;border:1px solid rgba(240,242,160,.09);border-radius:12px;transition:opacity .15s,border-color .15s,background .15s}.tab-pane:not(.active){opacity:.72}.tab-pane:not(.active):hover{opacity:.9}#tab-sunny.active{border-color:#f0f2a080;background:#f0f2a00d}#tab-shady.active{border-color:#e8c8f080;background:#e8c8f00d}#results.single #tab-shady,#results.single .pane-title{display:none}.pane-title{display:block;width:100%;margin-bottom:10px;padding:0;border:none;background:none;font-family:inherit;font-size:.88rem;font-weight:600;text-align:left;color:#d8dbc89e;cursor:pointer}#tab-sunny.active .pane-title{color:#f0f2a0}#tab-shady.active .pane-title{color:#e8c8f0}#night-note,#eclipse-note,#grazing-sun-note,#single-route-note{order:2}#weather-note{order:3}#quality-note{order:4}#night-note,#eclipse-note,#grazing-sun-note,#single-route-note,#weather-note,#quality-note{padding:11px 16px;border-top:1.5px solid rgba(240,242,160,.1);border-bottom:none;font-size:.8rem;line-height:1.45;color:#d8dbc899;text-align:left}#time-scrubber{left:0;right:auto;bottom:0;width:var(--side-panel-w);padding:10px 14px;background:#0e120a;border:none;border-top:1px solid rgba(240,242,160,.13);border-radius:0;box-shadow:0 -4px 16px #0006;z-index:2001}#time-scrubber.panel-collapsed{transform:translate(-100%)}#time-scrubber{transition:transform .32s cubic-bezier(.4,0,.2,1)}.leaflet-top.leaflet-left{transition:margin-left .32s cubic-bezier(.4,0,.2,1)}body:has(#results.on:not(.collapsed)) .leaflet-top.leaflet-left{margin-left:var(--side-panel-w)}#panel-toggle{display:flex;align-items:center;justify-content:center;position:fixed;left:var(--side-panel-w);top:var(--map-top, 96px);bottom:0;margin:auto 0;width:22px;height:54px;padding:0;background:#161b12;border:1px solid rgba(240,242,160,.2);border-left:none;border-radius:0 8px 8px 0;color:#d8dbc899;cursor:pointer;z-index:2001;transition:left .32s cubic-bezier(.4,0,.2,1),color .2s,background .2s}#panel-toggle:hover{background:#1d2416;color:#f0f2a0}#panel-toggle svg{display:block;transition:transform .32s cubic-bezier(.4,0,.2,1)}#results:not(.on)~#panel-toggle{display:none}#results.collapsed~#panel-toggle{left:0}#results.collapsed~#panel-toggle svg{transform:rotate(180deg)}}
