.page {font-family: Inter, 'Segoe UI', Arial, Helvetica, sans-serif; background:#fbf7f4;color:#222;min-height:100vh}
.header {background:#ef6a1a;color:#fff;padding:0;text-align:center;height:72px;display:flex;align-items:center;justify-content:center}
.header h1{margin:0;font-size:22px;letter-spacing:1px;line-height:1}
.container{max-width:1100px;margin:28px auto;padding:20px}
/* Make header bar fixed at top and keep content visible below it */
.header{position:fixed;top:0;left:0;right:0;z-index:9999}
/* Add top padding to page to avoid content being hidden behind fixed header */
.page{padding-top:72px}
.card{background:#fff;border-radius:12px;box-shadow:0 12px 36px rgba(0,0,0,0.12);overflow:hidden}
.toolbar{padding:18px;border-bottom:1px solid #f0e7e0;display:flex;flex-direction:column;gap:10px;align-items:stretch}
.search{width:100%;display:flex;justify-content:center}
.search input{width:100%;max-width:420px;padding:10px 14px;border-radius:10px;border:1px solid #e9e1da;font-size:15px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.6)}
.map-area{padding:18px;display:flex;justify-content:center}
.map-wrapper{position:relative;max-width:760px;width:100%;border-radius:6px;overflow:hidden;border:8px solid #fff}
.map-wrapper img{display:block;width:100%;height:auto}
.overlay{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:auto}
.result-bubble{background:#fff;padding:10px 14px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,0.14);font-weight:700;display:block;width:100%;box-sizing:border-box}
.footer{padding:12px;text-align:center;color:#777;font-size:14px}

/* SVG pulse animation for viewer markers */
@keyframes v-pulse {
	0% { transform: scale(0.45); opacity: 0.9 }
	70% { transform: scale(2.6); opacity: 0 }
	100% { opacity: 0 }
}
.v-ring{transform-box: fill-box; transform-origin: center; animation: v-pulse 1.6s ease-out infinite}
/* Label and number styling */
.v-label{font-size:48px;font-weight:900;fill:#0b1a2b;font-family:Segoe UI,Arial;pointer-events:none}
.v-num{font-size:18px;font-weight:800;fill:#0b1a2b}
.v-label-rect{fill:#fff;stroke:#eee;rx:8}

