html,body{margin:0;height:100%;overflow:hidden;background:#d4edf0;font-family:Nunito,system-ui,sans-serif}#app{position:fixed;top:0;right:0;bottom:0;left:0}#app canvas{display:block;touch-action:none;cursor:grab}#app canvas.dragging{cursor:grabbing}.ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;color:#1c3550}.ui button{font:inherit;cursor:pointer}.title{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;align-items:flex-start}.badge{padding:8px 22px 10px;border-radius:20px;background:#ef6a2c;border:4px solid #fff;box-shadow:0 5px #1c3550;transform:rotate(-2deg)}.badge span{display:block;font-family:Lilita One,system-ui,sans-serif;font-size:38px;line-height:1;letter-spacing:.02em;color:#fff;text-shadow:0 3px 0 #b8481a}.ribbon{margin:-4px 0 0 18px;padding:5px 14px 4px;border-radius:10px;background:#1c3550;font-family:Lilita One,system-ui,sans-serif;font-size:14px;letter-spacing:.08em;color:#fff;transform:rotate(-2deg)}.ctrls{position:absolute;right:16px;bottom:16px;display:flex;flex-direction:column;gap:10px;pointer-events:auto}.rbtn{width:46px;height:46px;border-radius:50%;border:3px solid #fff;background:#1c3550;color:#fff;box-shadow:0 4px #0a192859;display:flex;align-items:center;justify-content:center;padding:0;transition:background .12s,transform .12s}.rbtn:hover{background:#ef6a2c}.rbtn:active{transform:translateY(2px);box-shadow:0 2px #0a192859}.hint{position:absolute;left:16px;bottom:16px;padding:9px 18px;border-radius:999px;background:#1c3550d1;font-size:13px;font-weight:700;color:#fff}.card{position:absolute;left:16px;bottom:16px;width:340px;max-width:calc(100% - 100px);box-sizing:border-box;display:flex;flex-direction:column;border-radius:22px;border:4px solid #fff;background:#fff;box-shadow:0 5px #1c3550;overflow:hidden;pointer-events:auto}.card[hidden],.hint[hidden]{display:none}.card-head{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;background:#ef6a2c}.card-kind{font-family:Lilita One,system-ui,sans-serif;font-size:15px;letter-spacing:.08em;color:#fff}.card-x{width:32px;height:32px;border:none;border-radius:50%;background:#ffffff38;color:#fff;display:flex;align-items:center;justify-content:center;padding:0}.card-body{display:flex;flex-direction:column;gap:6px;padding:14px 18px 18px}.card-title{font-family:Lilita One,system-ui,sans-serif;font-size:28px;line-height:1.05;color:#1c3550}.card-text{margin:0;font-size:15px;font-weight:600;line-height:1.45;color:#3d5268}.card-go{margin-top:8px;height:42px;padding:0 20px;border:none;border-radius:999px;background:#ef6a2c;color:#fff;font-family:Lilita One,system-ui,sans-serif!important;font-size:17px;letter-spacing:.04em;box-shadow:0 4px #b8481a}.card-go:hover{background:#f47a3e}.labels{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;isolation:isolate;pointer-events:none}.pin-anchor{width:0;height:0;position:relative}.pin{position:absolute;left:0;bottom:0;transform:translate(-50%) scale(1);transform-origin:50% 100%;background:none;border:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:auto;cursor:pointer;transition:transform .15s}.pin-anchor.sel .pin{transform:translate(-50%) scale(1.18)}.pin-name{display:none;padding:6px 14px 5px;border-radius:12px;background:#1c3550;box-shadow:0 3px #0a192859;font-family:Lilita One,system-ui,sans-serif;font-size:15px;letter-spacing:.02em;white-space:nowrap;color:#fff}.pin:hover .pin-name,.pin-anchor.sel .pin-name{display:block}.pin-head{width:30px;height:30px;box-sizing:border-box;border-radius:50%;background:#ef6a2c;border:3px solid #fff;box-shadow:0 2px 6px #0a323c4d;display:flex;align-items:center;justify-content:center}.pin-dot{width:9px;height:9px;border-radius:50%;background:#4aa3e8;box-shadow:0 0 0 2px #fff}.pin-ico{color:#fff;display:flex}.pin-tip{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #fff;margin-top:-6px}.map-label{font-family:Lilita One,system-ui,sans-serif;color:#fff;letter-spacing:.02em;white-space:nowrap;text-shadow:0 2px 6px rgba(30,60,40,.45);pointer-events:none;-webkit-user-select:none;user-select:none}.hover-label{display:block;padding:5px 12px 4px;border-radius:12px;background:#1c3550;box-shadow:0 3px #0a192859;font-family:Lilita One,system-ui,sans-serif;font-size:14px;color:#fff;white-space:nowrap;transform:translateY(-24px);pointer-events:none}@media (max-width: 560px){.badge span{font-size:26px}.badge{padding:6px 14px 8px}.ribbon{font-size:12px}.hint{display:none}.card{max-width:calc(100% - 92px)}}.filters{position:absolute;top:16px;right:16px;display:flex;gap:4px;padding:5px;border-radius:999px;background:#1c3550;box-shadow:0 4px #0a192859;pointer-events:auto}.filt{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px 0 10px;border-radius:999px;border:none;background:transparent;color:#fff;opacity:.6;font-family:Lilita One,system-ui,sans-serif!important;font-size:16px;letter-spacing:.03em;transition:background .12s,opacity .12s}.filt[aria-pressed=true]{background:#ef6a2c;opacity:1}.filt-dot{width:18px;height:18px;box-sizing:border-box;border-radius:50%;background:#4aa3e8;border:3px solid #fff}.cnt{min-width:22px;padding:2px 6px;box-sizing:border-box;border-radius:999px;background:#ffffff38;font-size:13px;text-align:center}.pin-anchor.app .pin-name{display:block}.card-btns{display:flex;gap:8px;flex-wrap:wrap}.card-app{margin-top:8px;height:42px;padding:0 20px;border:none;border-radius:999px;background:#1c3550;color:#fff;font-family:Lilita One,system-ui,sans-serif!important;font-size:17px;letter-spacing:.04em;box-shadow:0 4px #0c1d30}.card-app:hover{background:#2a4a6e}.card-app[hidden]{display:none}@media (max-width: 760px){.filters{top:auto;bottom:16px;right:74px}.filt{height:34px;padding:0 10px 0 8px;font-size:13px;gap:5px}.filt svg,.filt-dot{display:none}}
