.privacy-modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:9999;display:flex;justify-content:center;align-items:center;animation:fadeIn .3s ease}.privacy-modal-content{background:var(--bg-panel);color:var(--text-primary);border-radius:12px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;border:1px solid var(--border);backdrop-filter:blur(var(--blur-amount));-webkit-backdrop-filter:blur(var(--blur-amount));animation:zoomIn .3s ease}.privacy-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.privacy-modal-header h2{margin:0;font-size:18px;font-weight:600}.privacy-modal-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;padding:4px;transition:background-color .2s}.privacy-modal-close:hover{background-color:var(--bg-hover);color:var(--text-primary)}.privacy-modal-body{padding:20px 16px 20px 20px;overflow-y:auto;font-size:14px;line-height:1.6;color:var(--text-secondary)}.privacy-modal-body::-webkit-scrollbar{width:6px}.privacy-modal-body::-webkit-scrollbar-track{background:transparent;border-radius:4px}.privacy-modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;transition:background .2s}.privacy-modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.privacy-modal-body h3{margin:16px 0 8px;font-size:15px;color:var(--text-primary)}.privacy-modal-body p{margin-bottom:12px}.privacy-modal-body ul{margin-bottom:12px;padding-left:20px}.privacy-modal-body li{margin-bottom:6px}.privacy-modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end}.privacy-modal-accept{background-color:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.privacy-modal-accept:hover{filter:brightness(1.1)}.privacy-modal-accept:active{transform:scale(.98)}@keyframes zoomIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.address-input{display:flex;flex-direction:column;gap:8px}.input-wrapper{position:relative;display:flex;gap:8px}.input-field{flex:1;padding:16px;border:none;background:var(--bg-input);color:var(--text-primary);font-size:15px;line-height:1.6;border-radius:12px;resize:none;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0000000a;font-family:SF Pro SC,SF Pro Text,PingFang SC,Helvetica Neue,Microsoft YaHei UI,Microsoft YaHei,Segoe UI,sans-serif}.input-field:focus{outline:none;box-shadow:0 8px 24px #00000014,0 0 0 2px var(--accent-transparent);transform:translateY(-1px)}.input-field::placeholder{color:var(--text-placeholder)}.input-field:disabled{opacity:.6;cursor:not-allowed}.input-actions-integrated{position:absolute;bottom:8px;right:8px;display:flex;gap:4px;z-index:2}.action-btn-integrated{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-placeholder);border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.action-btn-integrated:hover:not(:disabled){background:var(--bg-hover);color:var(--accent);transform:scale(1.05)}.action-btn-integrated:disabled{opacity:.5;cursor:not-allowed}.action-btn-integrated.loading svg{animation:spin 1s linear infinite}.translate-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border:none;background:var(--accent);color:#fff;font-size:15px;font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 8px 20px var(--accent-shadow)}.translate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px var(--accent-shadow);filter:brightness(1.05);color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.privacy-agreement-container{display:flex;align-items:center;padding:0 4px;margin-top:4px;margin-bottom:2px}.privacy-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.sr-only-checkbox{position:absolute;opacity:0;width:0;height:0;margin:0}.custom-checkbox{width:16px;height:16px;min-width:16px;border:1.5px solid var(--text-secondary);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:transparent;box-sizing:border-box}.sr-only-checkbox:checked+.custom-checkbox{background-color:var(--text-secondary);border-color:var(--text-secondary)}.sr-only-checkbox:focus-visible+.custom-checkbox{outline:2px solid var(--text-secondary);outline-offset:2px}.sr-only-checkbox:disabled+.custom-checkbox{opacity:.5;cursor:not-allowed}.custom-checkbox svg{width:10px;height:10px;color:#fff;stroke-linecap:round;stroke-linejoin:round}.checkbox-text{line-height:normal;display:flex;align-items:center}.privacy-link{color:var(--accent);text-decoration:none;transition:filter .2s}.privacy-link:hover{filter:brightness(1.2);text-decoration:underline}.translate-btn.disabled-btn{background-color:var(--bg-hover);color:var(--text-placeholder);cursor:not-allowed;box-shadow:none;transform:none}.translate-btn.disabled-btn:hover{filter:none;transform:none}.copy-btn{display:inline-flex;align-items:center;justify-content:center;position:relative;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .2s ease}.copy-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.copy-btn.copied{color:var(--success);animation:bounceSuccess .4s ease}@keyframes bounceSuccess{0%{transform:scale(1)}30%{transform:scale(1.2)}50%{transform:scale(.9)}70%{transform:scale(1.1)}to{transform:scale(1)}}.copy-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:4px 8px;background:var(--bg-tooltip);color:var(--text-tooltip);font-size:12px;border-radius:4px;white-space:nowrap;opacity:0;animation:tooltipFadeIn .2s ease forwards}@keyframes tooltipFadeIn{to{opacity:1;transform:translate(-50%) translateY(-4px)}}.result-panel{display:flex;flex-direction:column;gap:16px;margin-top:24px;animation:fadeSlideUp .3s ease-out}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-header{display:flex;justify-content:space-between;align-items:center}.result-title{font-size:12px;font-weight:600;color:var(--success);text-transform:uppercase;letter-spacing:.05em}.abbreviation-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer}.abbreviation-toggle input{display:none}.toggle-slider{position:relative;width:36px;height:20px;background:var(--bg-toggle);border-radius:10px;transition:background .2s}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.abbreviation-toggle input:checked+.toggle-slider{background:var(--accent)}.abbreviation-toggle input:checked+.toggle-slider:after{transform:translate(16px)}.result-field{padding:12px 16px;background:var(--bg-input);border-radius:12px;opacity:0;animation:fadeSlideUp .3s ease-out forwards}.field-label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.field-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-value{font-size:14px;color:var(--text-primary);word-break:break-word}.result-header{display:flex;justify-content:space-between;align-items:center;padding:0 4px;margin-bottom:8px}.full-address{display:flex;flex-direction:column;padding:24px;background:var(--bg-input);border-radius:12px;border:none;box-shadow:0 4px 24px #0000000f;position:relative}.full-address .field-row{align-items:flex-start}.full-address .field-value{font-size:16px;line-height:1.5;margin-right:8px}.address-breakdown{display:flex;flex-direction:column;padding:24px;background:var(--bg-input);border-radius:12px;border:none;box-shadow:0 4px 24px #0000000f;gap:12px}.breakdown-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding-bottom:12px;border-bottom:1px dashed var(--border);margin:0}.breakdown-grid{display:flex;flex-direction:column;gap:0}.result-field{display:flex;flex-direction:column;padding:10px 0;background:transparent;border-bottom:1px dashed var(--border);opacity:1;min-height:auto;animation:none}.full-width{grid-column:auto}.field-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;opacity:.85}.field-value{font-size:16px;line-height:1.4;font-weight:500;color:var(--text-primary);letter-spacing:-.01em}.split-row{display:flex;gap:24px;padding:12px 0;border-bottom:1px dashed var(--border);width:100%}.split-row:last-child{border-bottom:none;padding-bottom:0}.split-row .result-field{flex:1;border-bottom:none;padding:0;animation:none;opacity:1}.search-link-btn{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:transparent;padding:4px;border-radius:4px;transition:all .2s}.search-link-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.skeleton-container{display:flex;flex-direction:column;gap:12px}.skeleton{background:linear-gradient(90deg,var(--bg-skeleton) 25%,var(--bg-skeleton-highlight) 50%,var(--bg-skeleton) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-state{padding:24px;background:var(--bg-error);border:1px solid var(--error);border-radius:12px}.error-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;color:var(--error)}.error-content h3{margin:0;font-size:16px}.error-content p{margin:0;font-size:14px;color:var(--text-secondary)}.error-shake{animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.feedback-container{display:flex;justify-content:center;margin-top:8px}.feedback-btn{background:transparent;border:none;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s;padding:6px 12px;border-radius:12px;letter-spacing:.02em}.feedback-btn.idle:hover{color:var(--accent);background:var(--bg-hover)}.feedback-btn.loading{opacity:.7;cursor:wait}.feedback-btn.success{color:var(--success);cursor:default}.feedback-btn.error{color:var(--error)}.empty-state-container{display:flex;justify-content:center;align-items:center;min-height:200px;background:transparent;border:2px dashed var(--border);border-radius:16px;margin-top:16px;opacity:.7;transition:opacity .3s ease,border-color .3s ease}.empty-state-container:hover{opacity:1;border-color:#86868b66}.empty-state-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px;gap:16px}.empty-state-icon{position:relative;color:var(--text-secondary);transition:transform .4s cubic-bezier(.175,.885,.32,1.275),filter .3s ease}:root.dark .empty-state-icon:before{content:"";position:absolute;top:50%;left:50%;width:120%;height:120%;transform:translate(-50%,-50%);background:radial-gradient(circle,#ffffff1f,#fff0 70%);border-radius:50%;z-index:-1;pointer-events:none;filter:blur(10px);transition:opacity .3s ease}:root.dark .empty-state-icon{filter:brightness(1.2) drop-shadow(0 4px 16px rgba(255,255,255,.05))}.empty-state-container:hover .empty-state-icon{transform:scale(1.1) translateY(-4px);color:var(--accent)}:root.dark .empty-state-container:hover .empty-state-icon{filter:brightness(1.3) drop-shadow(0 6px 20px rgba(255,255,255,.1))}:root.dark .empty-state-container:hover .empty-state-icon:before{opacity:.8}.empty-state-text h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.empty-state-text p{margin:0;font-size:13px;color:var(--text-secondary);max-width:280px;line-height:1.5}.map-view{position:relative;width:100%;height:100%;min-height:300px;background:var(--bg-map);border-radius:0}@media(min-width:1024px){.map-view{position:absolute;inset:0;border-radius:0}}.map-container{position:absolute;inset:0;width:100%;height:100%}.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-secondary);text-align:center;padding:20px}.map-placeholder p{margin:0;font-size:14px}.amap-logo,.amap-copyright{display:none!important}.map-marker{position:relative;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.map-marker-dot{width:12px;height:12px;border-radius:50%;position:relative;z-index:2;box-shadow:0 0 0 2px #fff}.map-marker-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;opacity:.4;animation:breathe 2s infinite ease-out}.map-marker-ring:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:50%;background-color:inherit;opacity:.2;animation:breathe 2s infinite ease-out .6s}@keyframes breathe{0%{transform:translate(-50%,-50%) scale(.5);opacity:.6}to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}.history-overlay{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:20px;animation:fadeIn .2s ease}.history-panel{width:100%;max-width:480px;max-height:80vh;background:var(--bg-panel);backdrop-filter:blur(var(--blur-amount));-webkit-backdrop-filter:blur(var(--blur-amount));border-radius:12px;box-shadow:0 20px 60px #0000004d;border:1px solid var(--border);display:flex;flex-direction:column;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.history-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.history-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .2s}.close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.history-list{flex:1;overflow-y:auto;padding:8px 4px 8px 8px}.history-list::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-track{background:transparent;border-radius:4px}.history-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;transition:background .2s}.history-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.history-item{display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;cursor:pointer;transition:background .2s;opacity:0;animation:slideIn .3s ease forwards}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.history-item:hover{background:var(--bg-hover)}.item-content{flex:1;display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.item-address{font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-time{font-size:12px;color:var(--text-secondary);flex-shrink:0}.delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px;opacity:0;transition:all .2s}.history-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:var(--bg-error);color:var(--error)}.empty-state{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary)}.history-footer{padding:16px 20px;border-top:1px solid var(--border)}.clear-btn{width:100%;padding:10px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:14px;border-radius:8px;cursor:pointer;transition:all .2s}.clear-btn:hover{border-color:var(--error);color:var(--error);background:var(--bg-error)}.info-modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;justify-content:center;align-items:center;animation:fadeIn .3s ease}.info-modal-content{background-color:var(--bg-panel);color:var(--text-primary);border-radius:12px;width:90%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 30px #0003;animation:slideUp .3s ease;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.info-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.info-modal-header h2{margin:0;font-size:18px;font-weight:600}.info-modal-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;padding:4px;transition:background-color .2s}.info-modal-close:hover{background-color:var(--bg-hover);color:var(--text-primary)}.info-modal-body{padding:20px;overflow-y:auto;font-size:14px;line-height:1.6;color:var(--text-secondary)}.info-item{display:flex;margin-bottom:8px;font-size:15px}.info-label{width:90px;color:var(--text-secondary)}.info-value{color:var(--text-primary);font-weight:500}.info-value.link{color:var(--accent);text-decoration:none}.info-value.link:hover{text-decoration:underline}.info-divider{height:1px;background-color:var(--border);margin:16px 0}.info-modal-body h3{margin:0 0 12px;font-size:15px;color:var(--text-primary)}.rules-list{margin:0;padding-left:20px;color:var(--text-secondary)}.rules-list li{margin-bottom:8px}.rules-list strong{color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}:root{--bg-app: #f5f5f7;--bg-panel: rgba(255, 255, 255, .72);--bg-input: rgba(255, 255, 255, .9);--bg-hover: rgba(0, 0, 0, .04);--bg-map: #e5e5e7;--bg-toggle: #e0e0e0;--bg-tooltip: #333;--bg-error: rgba(255, 59, 48, .1);--bg-skeleton: #e0e0e0;--bg-skeleton-highlight: #f0f0f0;--text-primary: #1d1d1f;--text-secondary: #86868b;--text-placeholder: #a0a0a5;--text-tooltip: #fff;--border: rgba(0, 0, 0, .08);--accent: #007aff;--accent-muted: #5ac8fa;--accent-transparent: rgba(0, 122, 255, .15);--accent-shadow: rgba(0, 122, 255, .3);--success: #34c759;--error: #ff3b30;--blur-amount: 15px;font-family:SF Pro SC,SF Pro Text,PingFang SC,Helvetica Neue,Microsoft YaHei,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-app)}:root.dark{--bg-app: #1c1c1e;--bg-panel: rgba(44, 44, 46, .72);--bg-input: rgba(58, 58, 60, .9);--bg-hover: rgba(255, 255, 255, .08);--bg-map: #2c2c2e;--bg-toggle: #48484a;--bg-tooltip: #636366;--bg-error: rgba(255, 59, 48, .2);--bg-skeleton: #3a3a3c;--bg-skeleton-highlight: #48484a;--text-primary: #f5f5f7;--text-secondary: #98989d;--text-placeholder: #636366;--border: rgba(255, 255, 255, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}:root{transition:background-color .3s ease,color .3s ease}.app{display:flex;flex-direction:column;min-height:100%;background:var(--bg-app)}@media(min-width:1024px){.app{display:block;min-height:100vh}}.left-panel{position:relative;display:flex;flex-direction:column;padding:24px;background:var(--bg-panel);backdrop-filter:blur(var(--blur-amount));-webkit-backdrop-filter:blur(var(--blur-amount));z-index:10;border-radius:0;-ms-overflow-style:none;scrollbar-width:none}.left-panel::-webkit-scrollbar{display:none}@media(min-width:1024px){.left-panel{position:fixed;top:24px;right:48px;bottom:24px;width:640px;padding:32px;overflow-y:auto;border-radius:18px;border:1px solid var(--border);box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014,inset 0 1px #ffffff1a}}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.app-header h1{font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.header-actions{display:flex;align-items:center;gap:12px}.github-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--text-primary);background:var(--bg-input);transition:transform .2s,box-shadow .2s,background-color .3s,color .3s}.github-link:hover,.theme-toggle:hover,.info-btn:hover{transform:scale(1.1);box-shadow:0 2px 8px #0000001a}.theme-toggle,.info-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--bg-input);border-radius:50%;cursor:pointer;font-size:16px;color:var(--text-primary);transition:transform .2s,box-shadow .2s,background-color .3s,color .3s}.app-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.map-wrapper{position:relative;flex:1;min-height:300px}@media(min-width:1024px){.map-wrapper{position:fixed;inset:0}}
