:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.address-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:12px;margin-bottom:8px}.address-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #fff);border-radius:50%;font-size:14px;font-weight:600;flex-shrink:0}.address-content{flex:1;min-width:0}.address-text{margin:0;font-size:14px;color:var(--tg-theme-text-color, #000);line-height:1.4;word-break:break-word}.address-formatted{margin:4px 0 0;font-size:12px;color:var(--tg-theme-hint-color, #999)}.address-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:var(--tg-theme-hint-color, #999);font-size:16px;cursor:pointer;border-radius:50%;flex-shrink:0;transition:all .2s}.address-remove:hover{background:#ff00001a;color:#ff3b30}.address-remove:active{transform:scale(.9)}.image-upload{padding:16px}.upload-buttons{display:flex;gap:12px;margin-bottom:16px}.upload-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;background:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #fff);border:none;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.upload-btn:hover{opacity:.9}.upload-btn:active{transform:scale(.98)}.upload-btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{font-size:24px}.drop-zone{display:flex;align-items:center;justify-content:center;padding:32px;border:2px dashed var(--tg-theme-hint-color, #ccc);border-radius:12px;text-align:center;color:var(--tg-theme-hint-color, #999);transition:all .2s}.drop-zone.active{border-color:var(--tg-theme-button-color, #3390ec);background:#3390ec0d}.drop-zone p{margin:0;font-size:14px}.manual-entry{padding:16px;position:relative}.entry-form{display:flex;gap:8px}.entry-input{flex:1;padding:12px 16px;border:1px solid var(--tg-theme-hint-color, #ddd);border-radius:12px;font-size:16px;background:var(--tg-theme-bg-color, #fff);color:var(--tg-theme-text-color, #000);outline:none;transition:border-color .2s}.entry-input:focus{border-color:var(--tg-theme-button-color, #3390ec)}.entry-input::placeholder{color:var(--tg-theme-hint-color, #999)}.entry-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #fff);border:none;border-radius:12px;font-size:24px;cursor:pointer;transition:all .2s}.entry-btn:hover{opacity:.9}.entry-btn:disabled{opacity:.5;cursor:not-allowed}.suggestions-list{position:absolute;left:16px;right:16px;top:72px;max-height:200px;overflow-y:auto;background:var(--tg-theme-bg-color, #fff);border:1px solid var(--tg-theme-hint-color, #ddd);border-radius:12px;list-style:none;margin:0;padding:0;box-shadow:0 4px 12px #00000026;z-index:100}.suggestion-item{padding:12px 16px;font-size:14px;color:var(--tg-theme-text-color, #000);cursor:pointer;border-bottom:1px solid var(--tg-theme-secondary-bg-color, #f5f5f5);transition:background .2s}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:var(--tg-theme-secondary-bg-color, #f5f5f5)}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #3390ec;--tg-theme-button-color: #3390ec;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f5f5f5}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);margin:0;padding:0;overflow-x:hidden}.app{display:flex;flex-direction:column;min-height:100vh;width:100%}.header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:linear-gradient(135deg,#3390ec,#1a73e8);color:#fff}.header-left{display:flex;align-items:center;gap:12px}.stats-btn{background:#fff3;border:none;width:36px;height:36px;border-radius:50%;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.stats-btn:active{background:#ffffff4d}.logo{font-size:36px}.header-content h1{font-size:20px;font-weight:600;margin:0}.greeting{font-size:13px;opacity:.8;margin-top:2px}.tabs{display:flex;background:var(--tg-theme-secondary-bg-color);padding:4px;margin:16px;border-radius:12px;gap:4px;flex-shrink:0}.image-upload,.manual-entry{flex:1;display:flex;flex-direction:column}.drop-zone{flex:1;display:flex;align-items:center;justify-content:center;margin-top:auto;min-height:200px}.tab{flex:1;padding:10px 16px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:500;color:var(--tg-theme-hint-color);cursor:pointer;transition:all .2s}.tab.active{background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);box-shadow:0 2px 4px #0000001a}.error-message{margin:0 16px 16px;padding:12px 16px;background:#fff3cd;border:1px solid #ffc107;border-radius:12px;color:#856404;font-size:14px;cursor:pointer}.addresses-section{padding:0 16px 100px;flex:1}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.header-actions{display:flex;gap:12px;align-items:center}.edit-btn{background:none;border:none;font-size:14px;font-weight:500;cursor:pointer;padding:4px}.section-header h2{font-size:18px;font-weight:600}.route-estimate{display:flex;gap:16px;margin-bottom:12px;padding:8px 12px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:12px;font-size:13px;color:var(--tg-theme-hint-color)}.estimate-item{display:flex;align-items:center;gap:6px}.clear-btn{background:none;border:none;color:#ff3b30;font-size:13px;cursor:pointer}.optimization-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.mode-picker{display:flex;gap:8px}.mode-btn{flex:1;padding:10px 12px;background:var(--tg-theme-secondary-bg-color);border:2px solid transparent;border-radius:10px;font-size:12px;color:var(--tg-theme-text-color);cursor:pointer;transition:all .2s}.mode-btn.active{border-color:var(--tg-theme-button-color);background:#3390ec1a}.optimize-btn{padding:12px;background:#ff9500;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.optimize-btn:hover{opacity:.9}.optimize-btn:disabled{opacity:.5;cursor:not-allowed}.addresses-list{margin-bottom:16px}.build-route-btn{position:fixed;bottom:20px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:468px;padding:16px;background:linear-gradient(135deg,#34c759,#28a745);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #34c75966;transition:all .2s}.build-route-btn:hover{transform:translate(-50%) scale(1.02)}.build-route-btn:active{transform:translate(-50%) scale(.98)}
