*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden;background:#000}#canvas-container{width:100vw;height:100vh;position:relative}.ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:30px}.header{text-align:center;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.8);z-index:10;pointer-events:none}.header h1{font-size:3em;margin-bottom:10px;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}.header p{font-size:1.2em;color:#ddd}.controls-panel{background:#000c;border:2px solid #ff69b4;border-radius:15px;padding:30px;max-width:500px;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:all;z-index:100}.panel-title{font-size:1.5em;margin-bottom:20px;color:#ff69b4;text-align:center}.control-group{margin-bottom:20px}.control-group label{display:block;margin-bottom:10px;font-size:1em;color:#ddd}.transport-options{display:flex;gap:15px;margin-bottom:15px}.btn{flex:1;padding:12px 20px;border:2px solid #ff69b4;background:#ff69b433;color:#fff;border-radius:8px;cursor:pointer;font-size:1em;transition:all .3s ease;font-weight:700}.btn:hover{background:#ff69b466;transform:translateY(-2px)}.btn.active{background:#ff69b4;box-shadow:0 0 20px #ff69b4cc}select,input[type=text]{width:100%;padding:12px;border:2px solid #ff69b4;background:#ffffff1a;color:#fff;border-radius:8px;font-size:1em;margin-bottom:10px;font-family:inherit}select option{background:#1a1a1a;color:#fff}.btn-primary{width:100%;padding:15px;background:linear-gradient(135deg,#ff69b4,#ff1493);border:none;color:#fff;border-radius:8px;font-size:1.1em;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:10px}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 30px #ff69b499}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.status-box{background:#000c;border:2px solid #00ff88;border-radius:10px;padding:15px;color:#0f8;font-family:Courier New,monospace;font-size:.9em;max-width:400px;pointer-events:all;min-height:60px;display:flex;align-items:center;justify-content:center;text-align:center}.hidden{display:none!important}.balloons{position:absolute;pointer-events:none}.balloon{position:absolute;border-radius:50%;opacity:.9;animation:float 8s infinite ease-in-out}@keyframes float{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-30px) translate(15px)}}.banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#ff69b4f2;padding:40px 60px;border-radius:20px;color:#fff;text-align:center;font-size:2em;font-weight:700;box-shadow:0 20px 60px #000c;z-index:200;pointer-events:none;animation:bannerPop .8s ease-out}@keyframes bannerPop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.info-panel{position:absolute;bottom:30px;right:30px;background:#000c;border:2px solid #ff69b4;border-radius:10px;padding:20px;color:#fff;max-width:300px;pointer-events:all;z-index:100}.info-panel h3{color:#ff69b4;margin-bottom:10px}.info-panel p{font-size:.9em;line-height:1.6;color:#ddd}.route-info{background:#00ff881a;border-left:3px solid #00ff88;padding:10px;margin:10px 0;border-radius:5px}.distance{color:#0f8;font-weight:700}.time{color:#ff69b4;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-overlay{position:fixed;inset:0;background:#000000a6;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .3s ease}.modal-overlay.closing{animation:fadeOut .3s ease}.modal-content{border-radius:30px;max-width:800px;max-height:85vh;box-shadow:0 30px 100px #0009;animation:slideUp .5s cubic-bezier(.34,1.56,.64,1);overflow:hidden;background:linear-gradient(135deg,#4a9ff5,#87ceeb,#b0e0e6);display:flex;flex-direction:column}#weddingModal .modal-content{background:linear-gradient(135deg,#ff6b9d,#ffa07a,gold)}#groomModal .modal-content{background:linear-gradient(135deg,#4a9ff5,#6cb4ee,#87ceeb)}#brideModal .modal-content{background:linear-gradient(135deg,#ffb6c1,pink,#ffe4e1)}.led-screen{background:#000;padding:20px 0;overflow:hidden;position:relative}.led-text{display:inline-flex;white-space:nowrap;animation:scrollLED 10s linear infinite;will-change:transform}.led-content{color:#ff0;font-size:32px;font-weight:700;text-shadow:0 0 10px #ffff00,0 0 20px #ffff00,0 0 30px #ff6b9d;font-family:Arial Black,sans-serif;letter-spacing:3px;flex-shrink:0}.led-content:after{content:" ✨ ";padding:0 100px;display:inline-block}@keyframes scrollLED{0%{transform:translate(0)}to{transform:translate(-50%)}}.modal-main{display:flex;padding:40px;gap:30px;align-items:flex-start;flex:1;overflow-y:auto;min-height:0}.modal-photo{flex:0 0 280px;display:flex;align-items:center;justify-content:center}.photo-placeholder{width:360px;height:540px;background:#fffffff2;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 40px #0000004d;border:5px solid rgba(255,255,255,.8)}.photo-placeholder span{font-size:100px;margin-bottom:15px}.photo-placeholder p{font-size:20px;color:#666;font-weight:700;margin:0}.modal-info{flex:1;min-height:0;display:flex;flex-direction:column;color:#fff}.info-title{display:flex;align-items:center;gap:12px;margin-bottom:30px;padding-bottom:15px;border-bottom:3px solid rgba(255,255,255,.3)}.info-icon{font-size:36px}.info-title h2{margin:0;font-size:32px;text-shadow:0 4px 8px rgba(0,0,0,.3)}.info-details{flex:1;display:flex;flex-direction:column;gap:25px}.info-item{background:#fff3;border-radius:15px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #0003;border:2px solid rgba(255,255,255,.3)}.info-label{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin-bottom:10px;opacity:.95}.label-icon{font-size:20px}.info-value{font-size:22px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3);line-height:1.4}.love-story{display:flex;flex-direction:column;gap:8px;color:#fff;font-size:14px;line-height:1.65;padding:14px 16px;background:#ffffff26;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #0003;flex:1;min-height:0;max-height:220px;overflow-y:auto}.love-story p{margin:0;text-indent:2em;text-shadow:0 2px 4px rgba(0,0,0,.3)}.love-story::-webkit-scrollbar{width:8px}.love-story::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.love-story::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.love-story::-webkit-scrollbar-thumb:hover{background:#ffffff80}.modal-close-btn{width:100%;padding:16px;background:#fff;color:#4a9ff5;border:none;border-radius:15px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 6px 20px #0000004d;margin-top:25px}.modal-close-btn:hover{transform:scale(1.05) translateY(-3px);box-shadow:0 8px 30px #0006;background:#ffffffe6}#weddingModal .modal-close-btn{color:#ff6b9d}#groomModal .modal-close-btn{color:#4a9ff5}#brideModal .modal-close-btn{color:#ffb6c1}@media(max-width:768px){.header{padding:10px 0;position:fixed;top:0;left:0;right:0;width:100%;z-index:200;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header h1{font-size:1.5em;margin-bottom:0}.header p{font-size:.9em}.ui-overlay{padding:80px 10px 10px;justify-content:flex-end;flex-direction:column}.ui-overlay>div[style*="display: flex"]{flex-direction:column!important;gap:10px!important;width:100%!important;align-items:stretch!important}.controls-panel{max-width:100%;width:100%;padding:15px;border-radius:10px}.panel-title{font-size:1.2em;margin-bottom:15px}.control-group{margin-bottom:15px}.transport-options{gap:10px}.btn{padding:10px 15px;font-size:.9em}.btn-primary{padding:12px;font-size:1em}.status-box{max-width:100%;width:100%;min-height:50px;padding:12px;font-size:.85em}.info-panel{position:fixed;inset:70px auto auto 10px;max-width:calc(100% - 20px);padding:12px;font-size:.85em}.info-panel h3{font-size:1em;margin-bottom:8px}.info-panel p{font-size:.8em;line-height:1.4}.virtual-joystick{position:fixed;bottom:20px;left:50%;transform:translate(-50%);width:240px;height:140px;display:none;z-index:150}.virtual-joystick.active{display:block}.joystick-grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:8px}.joystick-btn{background:#0009;border:2px solid #ff69b4;border-radius:10px;color:#fff;font-size:1.8em;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .1s ease}.joystick-btn:active{background:#ff69b499;transform:scale(.95)}.joystick-btn.disabled{opacity:0;pointer-events:none}.joystick-grid>.joystick-btn:nth-child(1){grid-column:1;grid-row:1}.joystick-grid>.joystick-btn:nth-child(2){grid-column:2;grid-row:1}.joystick-grid>.joystick-btn:nth-child(3){grid-column:3;grid-row:1}.joystick-grid>.joystick-btn:nth-child(4){grid-column:1;grid-row:2}.joystick-grid>.joystick-btn:nth-child(5){grid-column:2;grid-row:2}.joystick-grid>.joystick-btn:nth-child(6){grid-column:3;grid-row:2}.modal-overlay{padding:10px;align-items:center}.modal-content{max-width:100%;max-height:calc(100vh - 40px);margin:0;border-radius:20px;overflow:hidden;display:flex;flex-direction:column}.led-screen{padding:12px 0;flex-shrink:0}.led-content{font-size:14px;letter-spacing:1px}.modal-main{flex-direction:column;padding:15px;gap:15px;overflow-y:auto;flex:1}.modal-photo{flex:none;width:100%}.photo-placeholder{width:100%;height:auto;aspect-ratio:2/3;max-width:280px;max-height:420px;margin:0 auto}.photo-placeholder span{font-size:50px}.photo-placeholder p{font-size:14px}.modal-info{width:100%}.info-title{display:none}.info-details{gap:15px}.info-item{padding:12px;border-radius:10px}.info-label{font-size:14px;margin-bottom:8px}.label-icon,.info-value{font-size:16px}.love-story{font-size:13px;line-height:1.55;max-height:180px;padding:10px 12px;gap:6px}.love-story p{text-indent:2em}.modal-close-btn{padding:14px;font-size:16px;border-radius:12px;margin-top:15px}}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9998;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{background:#000000f2;color:#fff;padding:15px 25px;border-radius:8px;border-left:4px solid #ff69b4;box-shadow:0 4px 12px #00000080;font-size:.95em;line-height:1.5;max-width:400px;word-break:break-word;display:flex;align-items:center;gap:10px;pointer-events:auto;animation:slideInTop .3s ease-out;cursor:pointer;transition:all .3s ease}.toast:hover{background:#000000fa;box-shadow:0 6px 16px #0009}.toast.removing{animation:slideOutTop .3s ease-out forwards}.toast-icon{font-size:1.2em;flex-shrink:0}.toast-message{flex:1}.toast.success{border-left-color:#0f8}.toast.success .toast-icon{color:#0f8}.toast.warning{border-left-color:#fa0}.toast.warning .toast-icon{color:#fa0}.toast.error{border-left-color:#f44}.toast.error .toast-icon{color:#f44}.toast.info{border-left-color:#0cf}.toast.info .toast-icon{color:#0cf}@keyframes slideInTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutTop{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@media(max-width:768px){.toast-container{top:70px;left:10px;right:10px;transform:none;max-width:calc(100% - 20px)}.toast{max-width:100%;font-size:.9em;padding:12px 15px}}.carousel{position:relative;width:360px;border-radius:20px;overflow:hidden;box-shadow:0 10px 40px #0000004d;border:5px solid rgba(255,255,255,.8);background:#fffffff2}.carousel-track{display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform}.carousel-slide{flex:0 0 100%;display:flex;align-items:center;justify-content:center}.carousel .photo-placeholder{width:100%;height:100%;border-radius:0;box-shadow:none;border:none;background:transparent}.carousel-slide img{width:100%;height:auto;display:block}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffbf;border-radius:50%;width:36px;height:36px;font-size:22px;line-height:1;cursor:pointer;color:#555;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s,transform .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000002e;-webkit-user-select:none;user-select:none}.carousel-btn:hover{background:#fffffff2;transform:translateY(-50%) scale(1.1)}.carousel-prev{left:8px}.carousel-next{right:8px}.carousel-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:7px;z-index:10}.carousel-dot{width:8px;height:8px;border-radius:50%;background:#ffffff80;border:1.5px solid rgba(255,255,255,.8);cursor:pointer;transition:background .25s,transform .25s}.carousel-dot.active{background:#fff;transform:scale(1.3)}@media(max-width:768px){.carousel{width:100%;height:auto;aspect-ratio:2/3;max-width:280px;max-height:400px;margin:0 auto}.carousel-btn{width:28px;height:28px;font-size:16px}}#loadingScreen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;overflow:hidden}.loading-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 35%,#fff0f5,#fce4ec 40%,#f8bbd0 75%,#f48fb1)}.loading-bg:before,.loading-bg:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,182,193,.5) 0%,transparent 45%),radial-gradient(circle at 80% 70%,rgba(255,105,180,.25) 0%,transparent 40%),radial-gradient(circle at 55% 85%,rgba(255,218,185,.4) 0%,transparent 38%);animation:loadingBgShift 6s ease-in-out infinite alternate}.loading-bg:after{background-image:radial-gradient(circle at 75% 15%,rgba(255,240,200,.45) 0%,transparent 38%),radial-gradient(circle at 25% 75%,rgba(255,160,180,.3) 0%,transparent 38%);animation-duration:4s;animation-direction:alternate-reverse}@keyframes loadingBgShift{0%{opacity:.6;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.loading-container{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:40px;padding:50px 40px;width:min(580px,92vw)}.loading-rings{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.ring{position:absolute;border-radius:50%;border:3px solid transparent}.ring-1{width:120px;height:120px;border-top-color:#e91e63;border-right-color:#e91e6340;animation:ringRotate 1.8s linear infinite}.ring-2{width:88px;height:88px;border-top-color:#c2185b;border-left-color:#c2185b40;animation:ringRotate 1.2s linear infinite reverse}.ring-3{width:58px;height:58px;border-bottom-color:#f06292;border-right-color:#f062924d;animation:ringRotate 2.4s linear infinite}@keyframes ringRotate{to{transform:rotate(360deg)}}.loading-heart{font-size:28px;animation:heartPulse 1.2s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(255,105,180,.8))}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.loading-title{display:flex;flex-direction:column;align-items:center;gap:20px}.loading-heading{font-size:2.8em;font-weight:700;background:linear-gradient(135deg,#ff69b4,#ff1493 40%,orchid,gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;letter-spacing:.05em;animation:titleShimmer 3s ease-in-out infinite}@keyframes titleShimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.loading-subtitle{font-size:1em;color:#b43c64bf;letter-spacing:.1em}.loading-progress-area{width:100%;display:flex;flex-direction:column;gap:16px}.loading-stage-text{text-align:center;font-size:1em;color:#c2185b;letter-spacing:.05em;min-height:1.5em;animation:stageFade .4s ease}@keyframes stageFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.loading-bar-wrap{display:flex;align-items:center;gap:14px}.loading-bar-track{flex:1;height:10px;background:#b43c641f;border-radius:10px;overflow:hidden;position:relative;border:1px solid rgba(194,24,91,.25)}.loading-bar-fill{height:100%;width:0%;border-radius:10px;background:linear-gradient(90deg,#ff1493,#ff69b4,orchid,gold);background-size:200% 100%;transition:width .6s cubic-bezier(.22,.61,.36,1);animation:barShimmer 2s linear infinite}@keyframes barShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-bar-glow{position:absolute;top:0;left:0;height:100%;width:0%;border-radius:10px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transition:width .6s cubic-bezier(.22,.61,.36,1);animation:glowSweep 1.8s ease-in-out infinite;pointer-events:none}@keyframes glowSweep{0%{transform:translate(-100%)}to{transform:translate(400%)}}.loading-percent{font-size:.95em;font-weight:700;color:#ad1457;min-width:44px;text-align:right;font-variant-numeric:tabular-nums}.loading-steps{display:flex;justify-content:space-between;gap:8px;margin-top:6px}.loading-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;opacity:.3;transition:opacity .5s ease,transform .5s ease}.loading-step.active{opacity:1}.loading-step.done{opacity:.85}.step-icon{font-size:1.6em;line-height:1;transition:transform .4s cubic-bezier(.34,1.56,.64,1),filter .4s ease}.loading-step.active .step-icon{transform:scale(1.3) translateY(-4px);filter:drop-shadow(0 0 10px rgba(194,24,91,.5));animation:stepBounce .8s ease-in-out infinite alternate}.loading-step.done .step-icon{filter:drop-shadow(0 0 6px rgba(194,24,91,.5))}@keyframes stepBounce{0%{transform:scale(1.25) translateY(-3px)}to{transform:scale(1.35) translateY(-6px)}}.step-label{font-size:.72em;color:#96325099;text-align:center;white-space:nowrap}.loading-step.active .step-label{color:#c2185b}.loading-step.done .step-label{color:#ad1457}.loading-footer{display:flex;align-items:center;gap:12px;color:#963c5a80;font-size:.85em;letter-spacing:.1em}#loadingScreen.fade-out{animation:loadingFadeOut .8s ease forwards}@keyframes loadingFadeOut{0%{opacity:1;transform:scale(1)}80%{opacity:0;transform:scale(1.04)}to{opacity:0;pointer-events:none;display:none}}@media(max-width:768px){.loading-container{padding:40px 24px;gap:30px}.loading-heading{font-size:2em}.loading-rings,.ring-1{width:90px;height:90px}.ring-2{width:66px;height:66px}.ring-3{width:44px;height:44px}.loading-heart{font-size:22px}.step-label{font-size:.62em}.step-icon{font-size:1.3em}}.guide-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:guideFadeIn .4s ease}@keyframes guideFadeIn{0%{opacity:0}to{opacity:1}}.guide-overlay.guide-closing{animation:guideFadeOut .35s ease forwards}@keyframes guideFadeOut{0%{opacity:1}to{opacity:0}}.guide-box{background:linear-gradient(145deg,#ffffff2e,#ffffff14);border:1.5px solid rgba(255,255,255,.25);border-radius:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 24px 80px #00000073;padding:40px 44px 36px;width:min(520px,92vw);display:flex;flex-direction:column;gap:32px}.guide-lines{display:flex;flex-direction:column;gap:18px}.guide-line{margin:0;font-size:15px;line-height:1.7;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.4);opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}.guide-line.visible{opacity:1;transform:translateY(0)}.guide-btns{display:flex;gap:14px;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}.guide-btns.visible{opacity:1;transform:translateY(0)}.guide-btn{flex:1;padding:13px 10px;border:none;border-radius:14px;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:.03em;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.guide-btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 8px 24px #0000004d}.guide-btn:active{transform:translateY(0)}.guide-btn-skip{background:#ffffff38;color:#fff;border:1.5px solid rgba(255,255,255,.35)}.guide-btn-start{background:linear-gradient(135deg,#ff6b9d,#ff4081);color:#fff;box-shadow:0 4px 20px #ff408173}@media(max-width:768px){.guide-box{padding:28px 22px 24px;gap:24px;border-radius:20px}.guide-line{font-size:14px}.guide-btns{flex-direction:column;gap:10px}.guide-btn{padding:14px 10px;font-size:15px}}.wedding-page{display:none}.wedding-page.active{display:block}.map-back-btn{background:#fff3;border:1px solid rgba(255,255,255,.35);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:7px 16px;cursor:pointer;align-self:flex-start;transition:background .2s;-webkit-tap-highlight-color:transparent}.map-back-btn:hover,.map-back-btn:active{background:#ffffff59}.map-panel .modal-close-btn{margin-top:4px}.map-panel{display:flex;flex-direction:column;align-items:stretch;padding:20px;gap:16px}.map-preview-wrap{position:relative;width:100%;height:540px;border-radius:16px;overflow:hidden;background:#0003;box-shadow:0 4px 20px #0000004d;cursor:pointer;-webkit-tap-highlight-color:transparent}.map-preview-wrap:active{opacity:.85}.map-static-img{width:100%;height:100%;object-fit:cover;display:block}.map-static-tip{position:absolute;bottom:0;left:0;right:0;background:#0000008c;color:#fff;text-align:center;padding:10px;font-size:14px;font-weight:600;letter-spacing:.5px}.map-location-info{background:#ffffff2e;border-radius:12px;padding:14px 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25)}.map-location-name{font-size:17px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.3)}.map-location-addr{font-size:13px;color:#fffc;margin-top:4px}@media(max-width:768px){.map-panel{padding:14px;gap:12px}.map-preview-wrap{height:480px}.map-location-name{font-size:15px}.map-nav-btn{font-size:12px;padding:12px 6px}.map-nav-btn span{font-size:20px}}
