:root{--ink:#233b32;--muted:#52665b;--green:#285e49;--green-light:#eaf1e9;--sun:#efc453;--line:#e4e9e2;--paper:#fafbf7}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-family:Segoe UI,Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.5}button:not(:disabled):hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #89ad98}svg{flex-shrink:0}p,h1,h2,h3{margin:0}a{color:inherit}.app-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:22px;height:76px;padding:0 30px;display:flex}.brand{letter-spacing:-.9px;white-space:nowrap;align-items:center;gap:10px;font-size:23px;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--sun);color:#71551a;border-radius:12px;place-items:center;width:36px;height:36px;display:inline-grid}.brand-period{color:#af8525}.header-caption{color:var(--muted);margin-left:auto;margin-right:35px;font-size:13px}.app-header nav{align-items:center;gap:25px;display:flex}.timezone-select{color:#5c7062;align-items:center;gap:7px;font-size:13px;display:flex;position:relative}.timezone-select select{cursor:pointer;opacity:0;width:100%;position:absolute;inset:0}.timezone-select:focus-within{outline-offset:5px;border-radius:4px;outline:3px solid #89ad98}.help-button{padding:10px 0;font-size:13px}.icon-button{color:#5c7062;border-radius:7px;min-width:36px;min-height:36px;padding:8px}.icon-button:hover{background:#eef3ec}.workspace{grid-template-columns:375px minmax(0,1fr);height:calc(100dvh - 76px);min-height:650px;display:grid}.planner{border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#ccd9cb transparent;background:#fff;flex-direction:column;min-width:0;display:flex;overflow-y:auto}.planner-body{padding:28px 28px 24px}.planner-title{color:var(--muted);align-items:center;gap:7px;margin-bottom:21px;font-size:13px;display:flex}.section-dot{background:#6e9775;border-radius:50%;width:6px;height:6px}.planner h1{letter-spacing:-1.5px;margin-bottom:14px;font-size:36px;font-weight:620;line-height:1.1}.planner-intro{color:var(--muted);max-width:260px;margin-bottom:27px;font-size:15px;line-height:1.7}.route-form{flex-direction:column;gap:16px;display:flex}.mode-switch{background:#f0f3ed;border-radius:9px;gap:4px;padding:4px;display:flex}.mode-switch button{color:var(--muted);border-radius:6px;flex:1;padding:10px;font-size:13px;font-weight:600}.mode-switch button[aria-pressed=true]{color:var(--green);background:#fff;box-shadow:0 1px 3px #243c3010}.route-fields{border:1px solid #dce5da;border-radius:10px;position:relative}.route-field{align-items:center;gap:13px;min-height:75px;padding:14px 15px;display:flex;position:relative}.route-field:first-child{border-bottom:1px solid var(--line)}.route-field:first-child:after{content:"";border-left:1px dashed #b1c5b2;height:49px;position:absolute;top:46px;left:19px}.route-field label{min-width:0;color:var(--muted);flex:1;font-size:13px;display:block}.route-dot{border:2px solid var(--green);border-radius:50%;flex-shrink:0;width:9px;height:9px;display:block}.destination-dot{background:var(--sun);border:2px solid #b99437;border-radius:3px}.locate-button{position:absolute;top:28px;right:9px}.swap-button{border:1px solid var(--line);z-index:2;color:#6c7e6d;background:#fff;border-radius:50%;width:28px;height:28px;position:absolute;top:61px;right:15px}.place-input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;width:100%;min-height:29px;font-family:inherit;font-size:15px;display:block;box-shadow:none!important;background:0 0!important;border:0!important}.place-input::part(input){color:var(--ink);font-family:inherit;font-size:15px;padding:5px 2px!important}.route-field:first-child .place-input::part(input){padding-right:27px!important}.place-input::part(focus-ring){box-shadow:none!important;border:0!important}.place-input::part(prediction-list){border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px #233b321a}.route-field:focus-within{outline-offset:-2px;border-radius:8px;outline:2px solid #93b298}.departure-field{color:#6c7e6d;border:1px solid #dce5da;border-radius:10px;align-items:center;gap:13px;padding:15px;display:flex}.departure-field label{width:100%;min-width:0;color:var(--muted);font-size:13px;display:block}.datepicker-wrapper{width:100%;display:block!important}.departure-input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:6px 0 0;font-size:15px}.departure-field:focus-within{outline:2px solid #93b298}.timezone-note{color:var(--muted);align-items:center;gap:5px;margin-top:-8px;font-size:13px;display:flex}.primary-button{background:var(--green);color:#fff;border-radius:9px;justify-content:space-between;width:100%;padding:15px 16px;font-size:15px;font-weight:600}.primary-button:disabled{opacity:1;color:#53685b;background:#e3eae1}.planning-note{border-top:1px solid var(--line);align-items:center;gap:15px;margin-top:32px;padding-top:25px;display:flex}.planning-note strong{font-size:13px;font-weight:600}.planning-note p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.7}.window-illustration{border:1px solid #cad7c6;border-radius:9px 9px 3px 3px;gap:4px;padding:8px;display:flex;transform:skewY(-9deg)}.window-illustration i{background:#e1eadd;border:1px solid #bfd0bd;border-radius:4px 4px 2px 2px;width:10px;height:18px}.window-illustration i:first-child{background:#f1d99a}.planner-footer{color:#53685b;border-top:1px solid var(--line);justify-content:space-between;gap:12px;margin-top:auto;padding:18px 28px;font-size:13px;display:flex}.planner-footer a{text-decoration:none}.inline-error{color:#944721;white-space:pre-line;background:#fff2e9;border-radius:7px;margin-top:16px;padding:12px;font-size:13px;line-height:1.7}.route-progress{color:var(--muted);align-items:center;gap:12px;padding:30px 4px;font-size:13px;display:flex}.trip-summary{border:1px solid var(--line);border-radius:9px;justify-content:space-between;align-items:flex-start;gap:8px;padding:15px;display:flex}.trip-summary>div{min-width:0}.trip-summary>div>span{color:var(--muted);align-items:center;gap:6px;margin-bottom:10px;font-size:13px;display:flex}.trip-summary strong{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;display:flex}.trip-summary small{color:var(--muted);margin-top:7px;font-size:13px;display:block}.journey-result{margin-top:25px}.recommendation-label{color:var(--green);align-items:center;gap:7px;font-size:13px;display:flex}.recommendation-label svg{background:var(--green-light);border-radius:50%;width:21px;height:21px;padding:3px}.seat-result{color:#b58b27;justify-content:space-between;align-items:center;margin:12px 0 10px;display:flex}.seat-result h2{letter-spacing:-1px;color:var(--ink);font-size:32px;font-weight:600}.journey-result>p,.journey-result>small{color:var(--muted);font-size:13px;line-height:1.7}.seat-diagram{border:1px solid var(--line);border-radius:8px;flex-direction:column;align-items:center;gap:10px;margin:18px 0 13px;padding:13px;display:flex}.seat-diagram>span{color:var(--muted);font-size:13px;line-height:1.7}.vehicle-seats{gap:12px;display:flex}.vehicle-seats>div{color:#c2cbc0;flex-wrap:wrap;justify-content:center;gap:3px;max-width:68px;display:flex}.vehicle-seats small{text-align:center;width:100%;margin-top:2px;font-size:13px}.vehicle-seats .recommended-seats{color:var(--green)}.exposure-saving{align-items:center;gap:9px;display:flex;font-size:13px!important}.exposure-saving strong{color:var(--green);font-size:24px;font-weight:600}.map-link{color:var(--green);justify-content:space-between;align-items:center;padding:15px 0;font-size:13px;text-decoration:none;display:flex}.time-suggestion{text-align:left;color:#547247;background:#f1f5ec;border-radius:8px;width:100%;padding:13px}.time-suggestion span{flex:1;font-size:13px}.time-suggestion strong{margin-top:4px;font-size:13px;font-weight:600;display:block}.route-warning{background:#fbf3df;border-radius:8px;margin:13px 0;padding:12px;color:#896724!important;font-size:13px!important}.journey-steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:17px 0;padding:15px 0;font-size:13px}.journey-steps summary{cursor:pointer;font-weight:600}.journey-steps summary span{float:right;color:var(--muted);font-size:13px;font-weight:400}.journey-steps ol{margin:15px 0 0;padding:0;list-style:none}.journey-steps li{align-items:flex-start;gap:9px;margin-top:14px;line-height:1.6;display:flex}.journey-steps li>span{border:1px solid var(--line);border-radius:50%;place-items:center;min-width:21px;height:21px;font-size:13px;display:grid}.journey-steps small{color:var(--muted);margin-top:4px;display:block}.secondary-button{border:1px solid var(--line);border-radius:8px;width:100%;padding:11px;font-size:13px}.recent-routes{margin-top:27px}.recent-routes h2{color:var(--muted);align-items:center;gap:7px;margin-bottom:10px;font-size:13px;font-weight:500;display:flex}.recent-routes button{text-align:left;border-bottom:1px solid #edf0e9;justify-content:flex-start;gap:11px;width:100%;padding:11px 0;display:flex}.recent-routes button>span{color:#6a8062;background:#f0f4eb;border-radius:7px;padding:9px}.recent-routes button>div{flex:1;min-width:0}.recent-routes strong,.recent-routes small{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.recent-routes strong{font-weight:600}.recent-routes small{color:var(--muted);margin-top:5px;font-size:13px}.map-stage{isolation:isolate;background:#d4e2d9;min-width:0;position:relative;overflow:hidden}.map-canvas{width:100%;height:100%;min-height:650px}.map-heading{background:#ffffffed;border:1px solid #fff;border-radius:10px;align-items:center;gap:11px;max-width:calc(100% - 275px);padding:13px 16px;display:flex;position:absolute;top:25px;left:26px;box-shadow:0 3px 16px #23432e0a}.map-heading-icon{color:#6b8660;background:#eff4ea;border-radius:50%;place-items:center;width:33px;height:33px;display:grid}.map-heading strong{font-size:13px;font-weight:600;display:block}.map-heading span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.map-tools{align-items:center;gap:6px;display:flex;position:absolute;top:26px;right:25px}.map-tools .icon-button{background:#fff;border:1px solid #dbe5d9;width:38px;height:38px}.sun-toggle{background:#fff;border:1px solid #d7e2d3;border-radius:8px;height:38px;padding:0 12px;font-size:13px}.sun-toggle[aria-pressed=true]{color:#816722;background:#fff8df;border-color:#e2d5a4}.map-tools button[aria-pressed=true]:not(.sun-toggle){background:var(--green-light)}.map-location{color:#526e5b;background:#ffffffd9;border-radius:5px;align-items:center;gap:5px;padding:7px 9px;font-size:13px;display:flex;position:absolute;top:105px;left:29px}.map-location>span{border-left:1px solid #d5dfd1;margin-left:4px;padding-left:8px}.sun-compass{pointer-events:none;width:340px;height:270px;transform:translate(-50%,-65.185%)}.sun-compass svg{width:100%;height:100%;display:block;overflow:visible}.sun-compass text{fill:#5b7965;paint-order:stroke;stroke:#f7faf1;stroke-width:3px;stroke-linejoin:round;font-family:Segoe UI,Arial,sans-serif;font-size:13px}.sun-compass .compass-north{fill:#285e49;font-weight:700}.sun-compass .sun-elevation{fill:#956d18;font-size:13px;font-weight:600}.map-waypoint{background:var(--green);color:#fff;border:3px solid #fff;border-radius:50%;place-items:center;width:29px;height:29px;font-size:13px;font-weight:700;display:grid;transform:translate(-50%,-50%);box-shadow:0 2px 5px #2f4d3430}.route-position-dot{background:#e9bb42;border:2px solid #fff;border-radius:50%;width:11px;height:11px;display:block;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #e9bb4233}.preview-label{white-space:nowrap;color:#536d58;background:#ffffffed;border-radius:5px;align-items:center;gap:5px;padding:7px 10px;font-size:13px;display:flex;position:absolute;top:calc(50% + 99px);left:50%;transform:translate(-50%)}.preview-label>span:last-child{color:#53685b;border-left:1px solid var(--line);margin-left:5px;padding-left:7px;font-size:13px}.preview-dot{background:#d9b140;border-radius:50%;width:5px;height:5px}.sun-explorer{background:#fffffffa;border:1px solid #fff;border-radius:13px;max-width:740px;margin:auto;padding:19px 22px;position:absolute;bottom:32px;left:26px;right:26px;box-shadow:0 5px 25px #25472e0d}.explorer-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.explorer-header>div{align-items:center;gap:12px;display:flex}.sun-badge{color:#b28a28;background:#faf1d4;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.explorer-header h2{letter-spacing:-.3px;font-size:16px;font-weight:600}.explorer-header p{color:var(--muted);margin-top:5px;font-size:13px}.view-tag{border:1px solid var(--line);white-space:nowrap;color:#53685b;border-radius:5px;padding:5px 7px;font-size:13px}.explorer-empty{border-top:1px solid var(--line);align-items:center;gap:25px;margin-top:17px;padding-top:15px;display:flex}.explorer-empty>div{color:#53685b;align-items:center;gap:7px;font-size:13px;display:flex}.sun-measurements{grid-template-columns:1.2fr 1fr 1fr;margin:20px 0 6px;display:grid}.sun-measurements>div{border-right:1px solid var(--line);padding-left:18px}.sun-measurements>div:first-child{padding-left:0}.sun-measurements>div:last-child{border:0}.sun-measurements span{color:var(--muted);font-size:13px;display:block}.sun-measurements strong{letter-spacing:-.5px;margin-top:5px;font-size:20px;font-weight:600;display:block}.sun-measurements small{color:var(--muted);margin-left:2px;font-size:15px}.journey-slider{align-items:center;gap:8px;margin:9px -6px 0;display:flex}.journey-slider .icon-button{min-width:25px;min-height:28px;padding:5px}.journey-slider input{width:100%;accent-color:var(--green);cursor:pointer;margin:0}.timeline-labels{color:#53685b;justify-content:space-between;margin-top:1px;font-size:13px;display:flex}.exposure-strip{border-radius:3px;gap:1px;height:5px;margin:13px 0 9px;display:flex;overflow:hidden}.exposure-left{background:#d9b05a}.exposure-right{background:#719785}.exposure-neutral{background:#dce4d7}.exposure-night{background:#939bb0}.explorer-footnote{color:#53685b;justify-content:space-between;gap:10px;font-size:13px;display:flex}.explorer-footnote>span:first-child{align-items:center;gap:4px;display:flex}.legend-dot{background:#d9b05a;border-radius:50%;width:5px;height:5px;display:inline-block}.legend-dot.right{background:#719785;margin-left:7px}.state-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:17px;min-height:100dvh;padding:30px;display:flex}.state-screen h1{letter-spacing:-.8px;font-size:27px;font-weight:600}.state-screen p{color:var(--muted);max-width:470px;line-height:1.8}.help-dialog{border:1px solid var(--line);color:var(--ink);border-radius:18px;width:calc(100% - 32px);max-width:490px;max-height:calc(100dvh - 40px);padding:0}.help-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#15352866}.help-content{padding:32px;position:relative}.close-help{position:absolute;top:16px;right:16px}.help-content h2{letter-spacing:-.8px;margin:18px 0 12px;font-size:27px;font-weight:600;line-height:1.15}.help-content>p{color:var(--muted);font-size:15px;line-height:1.7}.help-content ol{margin:27px 0;padding:0;list-style:none}.help-content li{align-items:flex-start;gap:14px;margin-top:19px;display:flex}.help-content li>svg{color:#70905f;margin-top:2px}.help-content li strong{font-size:15px;font-weight:600}.help-content li p{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.7}.help-content .help-note{border-top:1px solid var(--line);margin-bottom:22px;padding-top:17px;font-size:13px}.help-content .primary-button{justify-content:center}.journey-calendar{box-shadow:0 10px 30px #233b3226;border:1px solid var(--line)!important;border-radius:10px!important;font-family:Segoe UI,Arial,sans-serif!important}.react-datepicker__header{background:#eff4e9!important}.react-datepicker__day--selected,.react-datepicker__time-list-item--selected{background:var(--green)!important}.react-datepicker-popper{z-index:100!important}.spin{animation:1.4s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:1500px){.workspace{grid-template-columns:410px minmax(0,1fr)}.planner-body{padding:34px}.planner h1{font-size:40px}.planner-intro{max-width:290px}}@media (max-width:1100px){.workspace{grid-template-columns:330px minmax(0,1fr)}.planner-body{padding:25px 23px}.planner h1{font-size:33px}.planner-footer{padding:18px 23px}.map-heading{max-width:calc(100% - 185px);padding:11px 12px;left:20px}.map-heading-icon{display:none}.map-tools{right:20px}.sun-toggle span{display:none}.sun-toggle{padding:0 9px}.map-location{left:20px}.sun-explorer{padding:17px 19px;left:20px;right:20px}.explorer-empty{flex-wrap:wrap;gap:15px}.header-caption{margin-right:0}.app-header{padding:0 24px}}@media (max-width:800px){.app-header{height:66px;padding:0 20px}.header-caption{display:none}.brand{font-size:21px}.app-header nav{gap:17px}.workspace{flex-direction:column;height:auto;min-height:0;display:flex}.planner{border:0;overflow:visible}.planner-body{align-self:center;width:100%;max-width:540px;padding:25px 24px}.planner-title{margin-bottom:12px}.planner h1{font-size:31px}.planner h1 br{display:none}.planner h1 br:after{content:" "}.planner-intro{max-width:100%;margin-bottom:20px;font-size:13px}.route-form{gap:13px}.planner-footer,.planning-note{display:none}.map-stage{border:1px solid #d4dfd0;border-radius:13px;height:650px;margin:0 16px 16px;scroll-margin-top:15px}.map-canvas{min-height:650px}.map-heading{max-width:calc(100% - 157px);top:17px;left:15px}.map-heading strong,.map-heading span{font-size:13px}.map-tools{gap:4px;top:18px;right:14px}.map-tools .icon-button,.sun-toggle{width:33px;min-width:33px;height:33px;min-height:33px;padding:7px}.map-location{top:94px;left:15px}.sun-explorer{padding:17px;bottom:32px;left:14px;right:14px}.preview-label{top:calc(50% + 97px)}:is(.planner:has(.journey-result) .planner-title,.planner:has(.journey-result) .planner-intro){display:none}.planner:has(.journey-result) h1{margin-bottom:20px;font-size:27px}.journey-result{margin-top:22px}.seat-diagram{max-width:350px}.help-button span{display:none}.help-button{min-width:28px}.recent-routes{margin-top:20px}}@media (max-width:480px){.app-header{padding:0 17px}.brand{gap:7px;font-size:20px}.brand-mark{border-radius:10px;width:32px;height:32px}.brand-mark svg{width:21px}.app-header nav{gap:12px}.timezone-select{gap:4px;max-width:90px;font-size:13px}.timezone-select>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timezone-select>svg:first-child{display:none}.planner-body{padding:24px 22px}.map-heading{max-width:calc(100% - 143px);padding:10px}.map-heading strong{font-size:13px;line-height:1.5}.map-heading span{display:none}.map-location{font-size:13px;top:81px}.map-stage,.map-canvas{height:620px;min-height:620px}.sun-compass{width:300px;height:238.235px}.preview-label{font-size:13px;top:calc(50% + 90px)}.preview-label>span:last-child{font-size:13px}.sun-explorer{padding:15px}.explorer-header h2{font-size:15px}.explorer-header p{font-size:13px;line-height:1.5}.sun-badge{width:33px;height:33px}.view-tag{display:none}.explorer-empty{gap:10px 16px}.explorer-empty>div{font-size:13px}.sun-measurements{margin-top:17px}.sun-measurements>div{padding-left:12px}.sun-measurements strong{font-size:18px}.sun-measurements span,.explorer-footnote{font-size:13px}.help-content{padding:27px 23px}}@media (max-width:360px){.app-header{padding:0 12px}.brand{font-size:18px}.app-header nav{gap:7px}.timezone-select{max-width:75px;font-size:13px}.planner-body{padding:22px 18px}.planner h1{font-size:29px}.map-stage{margin:0 10px 12px}.map-heading{max-width:calc(100% - 133px);left:10px}.map-tools{right:10px}.sun-explorer{left:10px;right:10px}.sun-measurements strong{font-size:16px}.sun-measurements>div{padding-left:8px}.timeline-labels{font-size:13px}.preview-label>span:last-child{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}body{font-size:16px}.skip-link{z-index:10000;color:var(--green);background:#fff;padding:14px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.planner-guide{max-width:960px;color:var(--ink);margin:0 auto;padding:48px 28px;line-height:1.8}.planner-about{border-top:1px solid var(--line);background:#fff}.planner-about>summary{cursor:pointer;min-height:56px;color:var(--ink);align-items:center;gap:14px;padding:16px 28px;font-size:14px;font-weight:600;list-style:none;display:flex}.planner-about>summary::-webkit-details-marker{display:none}.planner-about>summary:after{content:"+";margin-left:auto;font-size:23px;font-weight:400;line-height:1}.planner-about[open]>summary:after{content:"−"}.planner-about>summary:hover{background:var(--paper)}.about-caption{color:var(--muted);font-size:13px;font-weight:400}.planner-about[open]>summary{border-bottom:1px solid var(--line)}@media (min-width:801px){.home-page .workspace{height:calc(100dvh - 133px);min-height:580px}.home-page .map-canvas{min-height:0}}@media (max-width:600px){.planner-about>summary{padding:16px 22px}.about-caption{display:none}}.planner-guide h2{margin-bottom:18px;font-size:27px;line-height:1.3}.planner-guide h3{margin:24px 0 8px;font-size:19px}.planner-guide p,.planner-guide li{color:var(--muted);font-size:16px}.planner-guide ol{padding-left:24px}.planner-guide nav{flex-wrap:wrap;gap:14px 28px;margin-top:26px;display:flex}.planner-guide a{color:var(--green);text-underline-offset:4px}.reference-page{max-width:1000px;margin:auto;padding:36px 24px}.reference-page>h1{margin:28px 0;font-size:38px}.reference-page .planner-guide{padding:24px 0}.reference-page code{overflow-wrap:anywhere}.guided-tour{pointer-events:none;z-index:1000;position:fixed;inset:0}.tour-spotlight{pointer-events:none;border:3px solid #d5aa30;border-radius:12px;position:fixed;box-shadow:0 0 0 9999px #142d263b}.tour-card{pointer-events:auto;background:#fff;border:1px solid #d6e1d5;border-radius:14px;width:360px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:23px;position:fixed;overflow-y:auto;box-shadow:0 8px 36px #102f2933}.tour-card .close-help{top:8px;right:8px}.tour-card h2{margin:15px 0 10px;font-size:21px;line-height:1.3}.tour-card p{color:var(--muted);font-size:15px;line-height:1.65}.tour-actions{align-items:center;gap:10px;margin-top:18px;display:flex}.tour-actions .primary-button{width:auto;margin-left:auto;padding:10px 14px;font-size:15px}.tour-skip,.tour-back{text-underline-offset:3px;min-height:44px;padding:0 2px;font-size:14px;text-decoration:underline}.tour-action-hint{color:var(--muted);text-align:right;max-width:155px;margin-left:auto;font-size:13px}@media (max-width:600px){.tour-card{padding:16px}.tour-card h2{margin:10px 0 7px;font-size:18px}.tour-card p{font-size:14px}.tour-actions{margin-top:10px}.tour-card .tutorial-progress{font-size:12px}.planner-guide{padding:32px 22px}}.map-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:500px;padding:30px;display:flex}.map-loading p{color:var(--muted);line-height:1.6}.place-loading{background:0 0;border:0;width:100%;padding:7px 0;font-size:16px}.planner-intro{max-width:100%}.departure-input{min-height:36px;font-size:16px}.place-input,.place-input::part(input){font-size:16px}.route-field{min-height:84px}.swap-button{width:34px;height:34px;top:67px}.primary-button,.secondary-button,.mode-switch button{min-height:44px;font-size:16px}.recommendation-hero{color:#fff;border-top:5px solid var(--sun);background:#214f3d;border-radius:14px;padding:22px}.recommendation-hero .recommendation-label{color:#e5f0e7;font-size:15px;font-weight:600}.recommendation-hero .recommendation-label svg{background:#3c6854}.recommendation-hero .seat-result{color:#f3ce67;margin:16px 0 12px}.recommendation-hero h2{color:#fff;font-size:clamp(36px,3.2vw,46px);font-weight:700;line-height:1.05}.recommendation-hero p{color:#edf5ee;font-size:15px;line-height:1.6}.planner:has(.journey-result) h1{margin-bottom:18px;font-size:25px}:is(.planner:has(.journey-result) .planner-title,.planner:has(.journey-result) .planner-intro){display:none}.sun-badge{flex-shrink:0}.explorer-empty,.explorer-footnote{flex-wrap:wrap}.explorer-header p{line-height:1.5}.timeline-labels{gap:10px}.journey-slider .icon-button{min-width:36px;min-height:44px}.journey-slider input{min-width:0;height:36px}.sun-measurements strong{font-size:24px}.sun-measurements span,.map-heading strong{line-height:1.4}.map-location{top:125px}.preview-label{flex-wrap:wrap;justify-content:center;width:max-content;max-width:90%}.preview-label>span:last-child{display:block}.tutorial-dialog{margin:auto}.tutorial-progress{color:var(--muted);padding-right:25px;font-size:14px;display:block}.tutorial-illustration{min-height:155px;color:var(--green);background:#edf3e9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:20px;margin-top:24px;padding:20px;display:flex}.tutorial-illustration span{text-align:center;font-size:14px;line-height:1.6}.tutorial-description{color:var(--muted);min-height:110px;font-size:16px;line-height:1.7}.tutorial-dots{gap:7px;margin:24px 0;display:flex}.tutorial-dots i{background:#d9e3d7;border-radius:5px;width:20px;height:5px}.tutorial-dots .active{background:var(--green)}.tutorial-actions{gap:12px;display:flex}.tutorial-actions .secondary-button{width:40%}.tutorial-actions .primary-button{width:60%}.tutorial-reopen{margin-top:18px;font-size:13px!important}@media (max-width:800px){.map-stage{height:auto;min-height:0}.map-canvas{height:500px;min-height:500px}.sun-explorer{margin:14px;padding:18px;position:relative;inset:auto}.map-heading{max-width:calc(100% - 152px)}.map-location{top:112px}.preview-label{top:365px}.map-tools .icon-button,.sun-toggle{min-width:36px;min-height:40px}.sun-measurements{grid-template-columns:1.2fr 1fr 1fr}.sun-measurements strong{font-size:21px}.sun-measurements>div{padding-left:8px}.timeline-labels span:nth-child(2){display:none}.app-header nav{gap:10px}.timezone-select{max-width:82px;font-size:13px}.help-button{min-width:36px;min-height:44px}}
