html.zw-open,html.zw-open body{overflow:hidden!important}
html body .zw[hidden],html body .zw-body[hidden],html body .zw-dock[hidden],html body .zw-done[hidden],html body .zw-link[hidden]{display:none!important}
html body .zw{position:fixed;inset:0;z-index:1200;background:#d5e3ea;display:block;overscroll-behavior:none}
html body .zw-map{position:absolute;inset:0}
html body .zw-map svg{width:100%;height:100%;display:block}
html body .zw-legend{position:absolute;z-index:2;top:calc(12px + env(safe-area-inset-top));left:12px;right:12px;display:flex;flex-wrap:wrap;gap:8px;margin:0;pointer-events:none}
html body .zw-legend span{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.94);color:#17191B;font:700 13px/1.2 Nunito,system-ui,sans-serif;box-shadow:0 1px 4px rgba(23,25,27,.12)}
html body .zw-legend i{width:12px;height:12px;border-radius:50%;flex:none}
html body .zw-legend i.zw-you{background:#fff;box-shadow:inset 0 0 0 2px #17191B}
html body .zw-legend i.zw-ours{background:#F85818}
html body .zw-sheet{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;flex-direction:column;max-height:min(72dvh,680px);overflow:hidden;background:#fff;color:#17191B;border-radius:20px 20px 0 0;padding:22px 20px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -16px 40px rgba(23,25,27,.16)}
html body .zw-body{overflow:auto;min-height:0}
html body .zw-h{margin:0 0 6px;font:800 32px/1.12 Nunito,system-ui,sans-serif!important;letter-spacing:-.03em;text-transform:none!important;color:#17191B!important;background:none!important;-webkit-text-fill-color:#17191B;text-wrap:balance}
html body .zw-line,html body .zw-sub{margin:0;font:600 16px/1.4 Nunito,system-ui,sans-serif;color:#3d4246}
html body .zw-phone{display:flex;align-items:center;min-height:56px;margin-top:16px;padding:0 14px;border:2px solid #17191B;border-radius:14px;background:#fff}
html body .zw-phone:focus-within{box-shadow:0 0 0 3px rgba(23,25,27,.18)}
html body .zw-phone:has(input[aria-invalid="true"]){border-color:#8A2E2E}
html body .zw-cc{flex:none;margin-right:10px;padding-right:10px;border-right:1px solid rgba(23,25,27,.22);font:800 20px/1 Nunito,system-ui,sans-serif;color:#17191B}
html body .zw-phone input{flex:1;min-width:0;width:auto;height:48px;margin:0;padding:0;border:0!important;border-radius:0;background:transparent;box-shadow:none!important;outline:none;font:800 22px/1 Nunito,system-ui,sans-serif;color:#17191B}
html body .zw-phone input::placeholder{color:#5c6560;font-weight:600}
html body .zw-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
html body .zw-err{margin:8px 0 0;min-height:0;color:#8A2E2E;font:700 14px/1.35 Nunito,system-ui,sans-serif}
html body .zw-err:empty{display:none}
html body form.zw-form{margin:0!important;display:flex;flex-direction:column;gap:0;min-height:0}
html body .zw-dock{flex:none;display:grid;gap:4px;padding-top:12px;background:#fff}
html body label.zw-ok{display:flex;gap:12px;align-items:center;min-height:48px;margin:0;font-weight:500;font-size:12.5px;line-height:1.35;color:#3d4246}
html body label.zw-ok input{width:24px;height:24px;min-width:24px;margin:0;flex:none;accent-color:#17191B}
html body label.zw-ok span{font-weight:500}
html body label.zw-ok a{color:#17191B;text-decoration:underline;text-underline-offset:2px}
html body button.zw-join,html body button.zw-share{width:100%;min-height:52px;margin:0;padding:0 16px;border:0;border-radius:14px;background:#17191B;color:#fff;font:800 18px/1 Nunito,system-ui,sans-serif;letter-spacing:0;text-transform:none;cursor:pointer}
html body button.zw-join:hover,html body button.zw-share:hover{background:#000}
html body button.zw-join:disabled{opacity:.6;cursor:default}
html body button.zw-join:focus-visible,html body button.zw-share:focus-visible,html body button.zw-again:focus-visible,html body a.zw-home:focus-visible{outline:3px solid #17191B;outline-offset:3px}
html body button.zw-again,html body a.zw-home{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0;padding:0;background:none;border:0;color:#17191B;font:700 16px/1.2 Nunito,system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
html body .zw-done{display:flex;flex-direction:column;min-height:0;overflow:auto}
html body .zw-mark{width:96px;height:96px;display:block;margin:8px auto 12px}
html body .zw-done .zw-h{text-align:center}
html body .zw-sub{text-align:center;margin-bottom:8px}
html body .zw-link{margin:8px 0 0;text-align:center;font:700 14px/1.4 Nunito,system-ui,sans-serif;color:#17191B;word-break:break-all}
html body .step[data-s="9"]{animation:none!important}
html body .step[data-s="9"] h2{overflow-wrap:anywhere}
@media (max-width:359px){
  html body .zw-h{font-size:28px!important}
  html body .zw-sheet{padding-left:16px;padding-right:16px}
}
@media (min-width:900px){
  html body .zw-sheet{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 48px));max-height:calc(100dvh - 64px);border-radius:24px;padding:28px 28px 18px;box-shadow:0 24px 64px rgba(23,25,27,.22)}
  html body .zw-h{font-size:36px!important}
  html body .zw-legend{top:24px;left:24px;right:auto}
}
@media (prefers-reduced-motion:no-preference){
  html body .zw-go .zw-ring{stroke-dasharray:201;stroke-dashoffset:201;animation:zw-ring .7s ease forwards}
  html body .zw-go .zw-tick{stroke-dasharray:48;stroke-dashoffset:48;animation:zw-tick .35s ease .45s forwards}
}
@keyframes zw-ring{to{stroke-dashoffset:0}}
@keyframes zw-tick{to{stroke-dashoffset:0}}
