:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root.dark-mode{color-scheme:dark;color:#ffffffde;background-color:#242424}:root.light-mode{color-scheme:light;color:#213547;background-color:#fff}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}:focus-visible{outline:2px solid #823f9e;outline-offset:2px}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #823f9e;outline-offset:2px}.light-mode :focus-visible{outline-color:#5a2d73}.tooltip-container:focus-within .tooltip-content{visibility:visible;opacity:1;transform:translate(-50%) translateY(-4px)}.app{display:flex;flex-direction:column;min-height:100vh;width:100%}.app-header{background:#823f9e;color:#fff;padding:1.5rem 1rem;box-shadow:0 2px 8px #0000001a;position:relative}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;flex-wrap:wrap;gap:.5rem}.header-title-section{text-align:center;flex:1;min-width:0}.app-header h1{margin:0;font-size:2rem;font-weight:700}.app-subtitle{margin:.5rem 0 0;font-size:.95rem;opacity:.9}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.unit-toggle-btn{background:#fff3;border:2px solid rgba(255,255,255,.3);border-radius:8px;height:48px;padding:0 .75rem;font-size:.9rem;font-weight:700;color:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.unit-toggle-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.05)}.unit-toggle-btn:active{transform:scale(.95)}.theme-toggle-btn{background:#fff3;border:2px solid rgba(255,255,255,.3);border-radius:50%;width:48px;height:48px;font-size:1.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.theme-toggle-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.1)}.theme-toggle-btn:active{transform:scale(.95)}.app-main{display:grid;grid-template-columns:1fr 2fr 1fr;grid-template-rows:1fr;gap:1rem;padding:1rem;flex:1;min-height:0}.app-controls{display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.app-map-container{min-height:400px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;background-color:#f0f0f0;position:relative}.map-toolbar{position:absolute;top:.75rem;left:50%;transform:translate(-50%);z-index:1000;display:flex;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0003;overflow:hidden;border:1px solid rgba(0,0,0,.08)}.map-toolbar-btn{background:#fff;border:none;padding:.5rem .85rem;font-size:.8rem;font-weight:500;color:#555;cursor:pointer;transition:all .15s;position:relative;white-space:nowrap}.map-toolbar-btn:not(:last-child){border-right:1px solid rgba(0,0,0,.08)}.map-toolbar-btn:hover{background:#f3edf7;color:#5a2d73}.map-toolbar-btn.active{background:#823f9e;color:#fff;font-weight:600}.map-toolbar-btn.active:hover{background:#6e3587}.light-mode .map-toolbar{background:#fff;border-color:#0000001f}.light-mode .map-toolbar-btn{color:#444}.light-mode .map-toolbar-btn:hover{background:#f3edf7;color:#5a2d73}.light-mode .map-toolbar-btn.active{background:#823f9e;color:#fff}.app-meeting-point{display:flex;flex-direction:column;overflow-y:auto}.instructions-accordion{margin-bottom:1rem}.instructions-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;cursor:pointer;transition:all .2s;margin-bottom:0}.instructions-header:hover{background-color:#ffffff1f;border-color:#fff3}.instructions-header-title{font-size:1rem;font-weight:700;color:#fffffff2}.instructions-arrow{font-size:.85rem;color:#fffc;transition:transform .2s}.instructions-panel{background-color:#ffffff14;border-radius:0 0 8px 8px;padding:0;border:1px solid rgba(255,255,255,.15);border-top:none;margin-top:0;max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding .3s ease-out}.instructions-panel.open{max-height:500px;padding:1.25rem}.instructions-title{margin:0 0 .75rem;font-size:1.1rem;font-weight:700;color:#fffffff2}.instructions-text{margin:0 0 .75rem;font-size:.95rem;color:#ffffffd9;line-height:1.5}.instructions-list{margin:0;padding-left:1.5rem;list-style-type:disc;color:#ffffffd9}.instructions-list li{margin:.5rem 0;font-size:.9rem;line-height:1.5}.address-input{background-color:#ffffff0d;border-radius:8px;padding:1rem;border:1px solid rgba(255,255,255,.1)}.address-input-header{margin-bottom:.5rem}.address-input-header .selector-label-container{margin-bottom:0}.address-label{font-weight:600;font-size:.9rem;color:#ffffffe6;margin:0}.address-input-controls{display:flex;gap:.5rem;margin-bottom:.5rem}.address-input-field{flex:1;padding:.75rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background-color:#ffffff1a;color:#fff;font-size:.95rem;transition:all .2s}.address-input-field::placeholder{color:#ffffff80}.address-input-field:focus{outline:none;border-color:#fff6;background-color:#ffffff26}.address-input-field:disabled{opacity:.5;cursor:not-allowed}.address-search-btn{padding:.75rem 1.5rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background-color:#ffffff1a;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.address-search-btn:hover:not(:disabled){background-color:#ffffff26;border-color:#ffffff4d}.address-search-btn:disabled{opacity:.5;cursor:not-allowed}.use-location-btn{width:100%;padding:.6rem;border-radius:6px;border:1px dashed rgba(255,255,255,.25);background-color:#ffffff0d;color:#fffc;font-size:.9rem;cursor:pointer;transition:all .2s}.use-location-btn:hover:not(:disabled){background-color:#ffffff1a;border-color:#fff6;color:#fff}.use-location-btn:disabled{opacity:.5;cursor:not-allowed}.address-error{color:#ff6b6b;font-size:.85rem;margin-top:.5rem;padding:.5rem;background-color:#ff00001a;border-radius:4px;border:1px solid rgba(255,0,0,.2)}.address-results{margin-top:.75rem;max-height:300px;overflow-y:auto}.address-results-header{font-size:.85rem;font-weight:600;color:#fffc;margin-bottom:.5rem}.address-results-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.address-result-item{padding:.75rem;background-color:#ffffff0d;border-radius:6px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s}.address-result-item:hover,.address-result-item:focus-visible{background-color:#ffffff1a;border-color:#fff3}.address-result-item:focus-visible{outline:2px solid #823f9e;outline-offset:-2px}.address-result-name{font-weight:600;font-size:.9rem;color:#ffffffe6;display:block;line-height:1.5}.address-result-coords{font-size:.85rem;color:#fff9;font-family:monospace;font-weight:400}.place-type-selector{display:flex;flex-direction:column;gap:.5rem;background-color:#ffffff0d;border-radius:8px;padding:1rem;border:1px solid rgba(255,255,255,.1)}.selector-label-container{display:flex;align-items:center;gap:.5rem}.selector-label{font-weight:600;font-size:.9rem;color:#ffffffe6}.tooltip-container{position:relative;display:inline-block}.tooltip-icon{cursor:help;font-size:.9rem;opacity:.7;transition:opacity .2s;-webkit-user-select:none;user-select:none}.tooltip-icon:hover{opacity:1}.tooltip-content{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background-color:#000000e6;color:#fff;padding:.75rem;border-radius:6px;width:280px;font-size:.85rem;line-height:1.4;z-index:1000;box-shadow:0 4px 12px #0000004d;transition:opacity .2s,visibility .2s,transform .2s;pointer-events:none}.tooltip-content p{margin:.25rem 0}.tooltip-content p:first-child{margin-top:0}.tooltip-content p:last-child{margin-bottom:0}.tooltip-container:hover .tooltip-content{visibility:visible;opacity:1;transform:translate(-50%) translateY(-4px)}.place-type-modes{display:flex;gap:0;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.2)}.place-type-mode-btn{flex:1;padding:.5rem .25rem;border:none;background-color:#ffffff0d;color:#ffffffb3;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.place-type-mode-btn:not(:last-child){border-right:1px solid rgba(255,255,255,.15)}.place-type-mode-btn.active{background-color:#823f9e99;color:#fff;font-weight:600}.place-type-mode-btn:hover:not(:disabled):not(.active){background-color:#ffffff1a}.place-type-mode-btn:disabled{opacity:.5;cursor:not-allowed}.place-type-dropdown-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.6rem .75rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background-color:#ffffff1a;color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s}.place-type-dropdown-toggle:hover:not(:disabled){background-color:#ffffff26}.place-type-dropdown-arrow{font-size:.7rem;opacity:.7}.place-type-checklist{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:.15rem;padding:.5rem;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px}.place-type-check-item{display:flex;align-items:center;gap:.5rem;padding:.3rem .25rem;border-radius:4px;cursor:pointer;font-size:.85rem;color:#ffffffd9;transition:background-color .15s}.place-type-check-item:hover,.place-type-check-item:focus-within{background-color:#ffffff14}.place-type-check-item input[type=checkbox]{accent-color:#823f9e;width:16px;height:16px;cursor:pointer}.calculate-btn{padding:1rem;border-radius:8px;border:none;background:#599fec;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0003}.calculate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.calculate-btn:active:not(:disabled){transform:translateY(0)}.calculate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.clear-btn{padding:.75rem 1.5rem;border-radius:8px;border:1px solid rgba(255,0,0,.3);background-color:#ff00001a;color:#ff6b6b;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0003}.clear-btn:hover{background-color:#f003;border-color:#ff000080;transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.clear-btn:active{transform:translateY(0)}.point-list-accordion{margin-bottom:0}.point-list-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s;margin-bottom:0}.point-list-header:hover{background-color:#ffffff14;border-color:#ffffff26}.point-list-header-title{font-size:1rem;font-weight:700;color:#ffffffe6}.point-list-arrow{font-size:.85rem;color:#fffc;transition:transform .2s}.point-list{background-color:#ffffff0d;border-radius:0 0 8px 8px;padding:0;border:1px solid rgba(255,255,255,.1);border-top:none;margin-top:0;max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding .3s ease-out}.point-list.open{max-height:500px;padding:1rem}.point-list-empty{margin:0;padding:1rem;text-align:center;color:#ffffffb3;font-size:.9rem}.point-list-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.point-list-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:#ffffff0d;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.point-list-item-info{display:flex;flex-direction:column;gap:.25rem}.point-number{font-weight:600;font-size:.9rem;color:#ffffffe6}.point-name{font-size:.85rem;color:#fffc;font-style:italic;display:block;margin-top:.25rem}.point-coordinates{font-size:.8rem;color:#ffffffb3;font-family:monospace}.point-remove-btn{background:#f003;border:1px solid rgba(255,0,0,.3);color:#ff6b6b;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center}.point-remove-btn:hover{background:#ff00004d;border-color:#ff000080}.map-loading-placeholder{width:100%;height:100%;min-height:400px}.map-component{width:100%;height:100%;min-height:400px;position:relative}.meeting-point-display{background-color:#ffffff0d;border-radius:8px;padding:1rem;border:1px solid rgba(255,255,255,.1)}.meeting-point-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.meeting-point-display h3{margin:0;font-size:1.1rem;font-weight:600;color:#ffffffe6}.meeting-point-actions{display:flex;gap:.5rem;align-items:center}.directions-btn,.share-btn{background-color:#823f9ecc;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;padding:.4rem .75rem;font-size:.85rem;cursor:pointer;transition:all .2s;font-weight:500;white-space:nowrap;text-decoration:none;display:inline-block;line-height:1.4}.directions-btn{background-color:#599feccc}.directions-btn:hover{background-color:#599fec;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 2px 4px #0003;color:#fff}.share-btn:hover{background-color:#823f9e;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.directions-btn:active,.share-btn:active{transform:translateY(0)}.meeting-point-info{display:flex;flex-direction:column;gap:.5rem}.meeting-point-name{font-size:1rem;font-weight:600;color:#fffffff2;margin:0 0 .5rem}.meeting-point-address{font-size:.9rem;color:#ffffffd9;margin:0 0 .5rem;line-height:1.4;font-style:italic}.meeting-point-address-loading{font-size:.85rem;color:#fff9;margin:0 0 .5rem;font-style:italic}.meeting-point-coordinates{font-size:.9rem;color:#fffc;font-family:monospace;margin:0}.meeting-point-distance{font-size:.85rem;color:#ffffffb3;margin:0}.travel-time{font-weight:600;color:#ffffffe6}.meeting-point-note{font-size:.8rem;color:#fff9;font-style:italic;margin:0}.meeting-point-placeholder{margin:0;padding:1rem;text-align:center;color:#ffffffb3;font-size:.9rem}.meeting-point-prompt{background-color:#ffffff0d;border-radius:8px;padding:1rem;border:1px solid rgba(255,255,255,.1);text-align:center}.meeting-point-prompt p{margin:0;color:#ffffffb3;font-size:.9rem}.place-details{margin-top:.75rem;padding:.75rem;background-color:#ffffff0d;border-radius:6px;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.4rem}.place-detail-row{display:flex;gap:.5rem;font-size:.85rem;line-height:1.4}.place-detail-label{color:#ffffff80;flex-shrink:0;min-width:5.5rem}.place-detail-value{color:#ffffffe6;word-break:break-word}.place-detail-link{color:#7cb3f0;text-decoration:none}.place-detail-link:hover{text-decoration:underline}.skeleton{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:4px}.skeleton-title{width:55%;height:1.3rem}.skeleton-actions{width:30%;height:1.3rem}.skeleton-name{width:70%;height:1.1rem;margin-bottom:.4rem}.skeleton-address{width:90%;height:.9rem;margin-bottom:.4rem}.skeleton-coords{width:45%;height:.9rem;margin-bottom:.4rem}.skeleton-distance{width:60%;height:.85rem;margin-bottom:.3rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.light-mode .skeleton{background:linear-gradient(90deg,#0000000f 25%,#0000001a,#0000000f 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.2);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{background-color:#ff00001a;border-color:#ff00004d}.error-message{color:#ff6b6b;margin:0 0 .5rem;font-weight:600}.meeting-point-error-banner{background-color:#ff6b6b1a;border:1px solid rgba(255,107,107,.25);border-radius:6px;padding:.75rem 1rem;margin-bottom:0}.meeting-point-error-banner .error-message{margin:0 0 .25rem;font-size:.9rem}.error-suggestion{margin:0 0 .75rem;font-size:.85rem;color:#ffffffb3;line-height:1.4}.error-retry-btn{padding:.4rem 1rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background-color:#ffffff1a;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.error-retry-btn:hover{background-color:#ffffff26;border-color:#ffffff4d}.meeting-point-fallback-divider{display:flex;align-items:center;gap:.75rem;margin:1rem 0;color:#ffffff80;font-size:.8rem}.meeting-point-fallback-divider:before,.meeting-point-fallback-divider:after{content:"";flex:1;height:1px;background-color:#ffffff1a}.meeting-point-fallback{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.meeting-point-fallback p{margin:.25rem 0;color:#fffc}.other-places{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.other-places-title{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:#fffc}.other-places-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.other-places-item{margin:0}.other-places-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .2s;color:inherit;text-align:left}.other-places-btn:hover,.other-places-btn:focus-visible{background-color:#ffffff1a;border-color:#fff3}.other-places-name{font-size:.85rem;color:#ffffffe6;font-weight:500}.other-places-distance{font-size:.8rem;color:#fff9;font-family:monospace;flex-shrink:0;margin-left:.5rem}.recent-result-item{border-style:dashed;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.recent-remove-btn{background:none;border:none;color:#fff6;cursor:pointer;font-size:.8rem;padding:.25rem .4rem;border-radius:4px;flex-shrink:0;transition:all .15s;line-height:1}.recent-remove-btn:hover,.recent-remove-btn:focus-visible{color:#ff6b6b;background:#ff000026}.light-mode .recent-remove-btn{color:#0000004d}.light-mode .recent-remove-btn:hover,.light-mode .recent-remove-btn:focus-visible{color:#d63031;background:#ff000014}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;background-color:#ff00000d;border:1px solid rgba(255,0,0,.2);border-radius:8px;text-align:center;min-height:200px}.error-boundary-title{margin:0;font-size:1.1rem;font-weight:600;color:#ff6b6b}.error-boundary-message{margin:0;font-size:.9rem;color:#ffffffb3}.error-boundary-retry{padding:.5rem 1.25rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background-color:#ffffff1a;color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s}.error-boundary-retry:hover{background-color:#ffffff26;border-color:#ffffff4d}.update-banner{position:fixed;top:1rem;right:1rem;background-color:#823f9ef2;border-radius:8px;padding:.75rem 1rem;display:flex;align-items:center;gap:1rem;z-index:10000;box-shadow:0 4px 12px #0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-1rem);opacity:0}to{transform:translateY(0);opacity:1}}.update-banner-text{margin:0;font-size:.85rem;font-weight:500;color:#fff}.update-banner-actions{display:flex;gap:.4rem;flex-shrink:0}.update-btn{padding:.35rem .75rem;border-radius:5px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;border:none}.update-btn-reload{background-color:#fff;color:#823f9e}.update-btn-reload:hover{background-color:#ffffffe6}.update-btn-dismiss{background-color:#fff3;color:#fff}.update-btn-dismiss:hover{background-color:#ffffff4d}@media(max-width:480px){.update-banner{left:1rem;right:1rem;top:auto;bottom:1rem;justify-content:center}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background-color:#1e1e32f7;border-top:1px solid rgba(255,255,255,.15);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cookie-banner-text{margin:0;font-size:.85rem;color:#ffffffd9;line-height:1.4;max-width:500px}.cookie-banner-actions{display:flex;gap:.5rem;flex-shrink:0}.cookie-btn{padding:.5rem 1.25rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.cookie-btn-accept{background-color:#823f9e;color:#fff}.cookie-btn-accept:hover{background-color:#6a2f7d}.cookie-btn-decline{background-color:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2)}.cookie-btn-decline:hover{background-color:#ffffff26;color:#fff}.light-mode .cookie-banner{background-color:#fffffff7;border-top-color:#0000001a}.light-mode .cookie-banner-text{color:#213547}.light-mode .cookie-btn-decline{background-color:#0000000d;color:#666;border-color:#00000026}.light-mode .cookie-btn-decline:hover{background-color:#00000014;color:#213547}@media(max-width:768px){.cookie-banner{flex-direction:column;gap:.75rem;padding:1rem;text-align:center}}@media(max-width:1024px){.app-main{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.app-map-container{order:2;min-height:400px}.app-controls{order:1}.app-meeting-point{order:3}}@media(max-width:768px){.app-header{padding:1rem}.app-header h1{font-size:1.3rem}.app-subtitle{display:none}.header-actions{gap:.35rem}.unit-toggle-btn,.theme-toggle-btn{height:36px;width:auto;min-width:36px;font-size:.75rem;padding:0 .5rem}.theme-toggle-btn{width:36px;height:36px;font-size:1.1rem;padding:0}.map-toolbar-btn{padding:.4rem .65rem;font-size:.75rem}.app-main{padding:.5rem;gap:.5rem}.app-controls{flex-direction:column;overflow-x:visible}.instructions-panel,.address-input,.place-type-selector,.calculate-btn,.clear-btn,.point-list{min-width:100%}.address-input-controls{flex-direction:column}.address-search-btn{width:100%}.tooltip-content{width:240px;font-size:.8rem}.point-list-items{max-height:200px;overflow-y:auto}.app-map-container{min-height:300px}}@media(max-width:480px){.app-header{padding:.75rem .5rem}.app-header h1{font-size:1.1rem}.unit-toggle-btn,.theme-toggle-btn{height:32px;min-width:32px;font-size:.7rem;padding:0 .4rem}.map-toolbar-btn{padding:.35rem .5rem;font-size:.7rem}.theme-toggle-btn{width:32px;height:32px;font-size:1rem;padding:0}.app-main{padding:.25rem}.app-map-container{min-height:250px}.point-list-item{padding:.5rem}.meeting-point-display{padding:.75rem}}.light-mode .app-header{background:#823f9e;color:#fff}.light-mode .address-input,.light-mode .place-type-selector{background-color:#0000000d;border-color:#0000001a}.light-mode .address-label{color:#213547}.light-mode .address-input-field{background-color:#0000000d;color:#213547;border-color:#00000026}.light-mode .address-input-field::placeholder{color:#00000080}.light-mode .address-search-btn{background-color:#00000014;color:#213547;border-color:#00000026}.light-mode .address-error{color:#d63031;background-color:#ff00000d;border-color:#f003}.light-mode .address-results-header{color:#666}.light-mode .address-result-item{background-color:#0000000d;border-color:#0000001a}.light-mode .address-result-item:hover,.light-mode .address-result-item:focus-visible{background-color:#00000014}.light-mode .address-result-name{color:#213547}.light-mode .address-result-coords{color:#666}.light-mode .instructions-header{background-color:#00000014;border-color:#00000026}.light-mode .instructions-header:hover{background-color:#0000001f;border-color:#0003}.light-mode .instructions-header-title{color:#213547}.light-mode .instructions-arrow{color:#666}.light-mode .instructions-panel{background-color:#00000014;border-color:#00000026}.light-mode .instructions-title{color:#213547}.light-mode .instructions-text,.light-mode .instructions-list{color:#666}.light-mode .clear-btn{background-color:#ff00001a;border-color:#ff00004d;color:#d63031}.light-mode .clear-btn:hover{background-color:#ff000026;border-color:#f006}.light-mode .selector-label-container{display:flex;align-items:center;gap:.5rem}.light-mode .selector-label{color:#213547}.light-mode .tooltip-icon{opacity:.7}.light-mode .tooltip-content{background-color:#000000f2;color:#fff}.light-mode .place-type-modes{border-color:#00000026}.light-mode .place-type-mode-btn{background-color:#00000008;color:#666;border-right-color:#0000001a}.light-mode .place-type-mode-btn.active{background-color:#823f9e26;color:#5a2d73}.light-mode .place-type-mode-btn:hover:not(:disabled):not(.active){background-color:#0000000f}.light-mode .place-type-dropdown-toggle{background-color:#0000000d;color:#213547;border-color:#00000026}.light-mode .place-type-checklist{background-color:#00000005;border-color:#0000001a}.light-mode .place-type-check-item{color:#213547}.light-mode .place-type-check-item:hover,.light-mode .place-type-check-item:focus-within{background-color:#0000000a}.light-mode .point-list-header{background-color:#0000000d;border-color:#0000001a}.light-mode .point-list-header:hover{background-color:#00000014;border-color:#00000026}.light-mode .point-list-header-title{color:#213547}.light-mode .point-list-arrow{color:#666}.light-mode .point-list{background-color:#0000000d;border-color:#0000001a}.light-mode .point-list h3{color:#213547}.light-mode .point-list-empty{color:#666}.light-mode .point-list-item{background-color:#0000000d;border-color:#0000001a}.light-mode .point-number{color:#213547}.light-mode .point-name,.light-mode .point-coordinates{color:#666}.light-mode .point-remove-btn{background:#ff00001a;border-color:#f003;color:#d63031}.light-mode .point-remove-btn:hover{background:#ff000026}.light-mode .meeting-point-display{background-color:#0000000d;border-color:#0000001a}.light-mode .meeting-point-display h3{color:#213547}.light-mode .directions-btn,.light-mode .share-btn{border-color:#0000001a;color:#fff}.light-mode .share-btn{background-color:#823f9e}.light-mode .directions-btn{background-color:#4a8fd4}.light-mode .share-btn:hover{background-color:#6a2f7d;border-color:#0003}.light-mode .directions-btn:hover{background-color:#3a7fc4;border-color:#0003;color:#fff}.light-mode .other-places{border-top-color:#0000001a}.light-mode .other-places-title{color:#213547}.light-mode .other-places-btn{background-color:#00000008;border-color:#0000001a}.light-mode .other-places-btn:hover,.light-mode .other-places-btn:focus-visible{background-color:#0000000f;border-color:#00000026}.light-mode .other-places-name{color:#213547}.light-mode .other-places-distance{color:#666}.light-mode .meeting-point-name{color:#213547}.light-mode .meeting-point-address{color:#666}.light-mode .meeting-point-address-loading{color:#999}.light-mode .meeting-point-coordinates{color:#666}.light-mode .travel-time{color:#213547}.light-mode .meeting-point-distance{color:#666}.light-mode .meeting-point-note{color:#999}.light-mode .meeting-point-placeholder{color:#666}.light-mode .meeting-point-prompt{background-color:#0000000d;border-color:#0000001a}.light-mode .meeting-point-prompt p{color:#666}.light-mode .place-details{background-color:#00000008;border-color:#00000014}.light-mode .place-detail-label{color:#999}.light-mode .place-detail-value{color:#213547}.light-mode .place-detail-link{color:#4a8fd4}.light-mode .meeting-point-error-banner{background-color:#d630310f;border-color:#d6303133}.light-mode .error-suggestion{color:#666}.light-mode .error-retry-btn{background-color:#0000000d;border-color:#00000026;color:#213547}.light-mode .error-retry-btn:hover{background-color:#00000014;border-color:#0003}.light-mode .meeting-point-fallback-divider{color:#999}.light-mode .meeting-point-fallback-divider:before,.light-mode .meeting-point-fallback-divider:after{background-color:#0000001a}.light-mode .meeting-point-fallback{border-top-color:#0000001a}.light-mode .meeting-point-fallback p{color:#666}.light-mode .loading-spinner{border-color:#0003;border-top-color:#667eea}.light-mode .error{background-color:#ff00000d;border-color:#f003}.light-mode .error-message{color:#d63031}.light-mode .use-location-btn{background-color:#00000008;border-color:#0003;color:#666}.light-mode .use-location-btn:hover:not(:disabled){background-color:#0000000f;border-color:#0000004d;color:#213547}.light-mode .error-boundary{background-color:#ff000008;border-color:#ff000026}.light-mode .error-boundary-title{color:#d63031}.light-mode .error-boundary-message{color:#666}.light-mode .error-boundary-retry{background-color:#0000000d;border-color:#00000026;color:#213547}.light-mode .error-boundary-retry:hover{background-color:#00000014}
