.regcard{display:flex;gap:16px;align-items:flex-start;margin-top:18px;padding:18px;border-radius:var(--r-lg);background:var(--surface);border:1.5px solid var(--line-strong);box-shadow:var(--shadow);transition:border-color var(--dur-2) var(--ease),background var(--dur-2) var(--ease)}.regcard-ic{flex-shrink:0;width:52px;height:52px;border-radius:16px;background:var(--night);color:var(--volt);display:flex;align-items:center;justify-content:center}.regcard-ic svg{width:26px;height:26px}.regcard-body{flex:1;min-width:0}.regcard-eyebrow{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:var(--fw-bold);color:var(--volt-ink)}.regcard-title{font-size:1.25rem;font-weight:var(--fw-bold);line-height:1.15;letter-spacing:-.01em;margin-top:3px;color:var(--ink)}.regcard-sub{margin-top:5px;color:var(--secondary);font-size:.95rem;line-height:1.45}.regcard-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.regcard .s-todo,.regcard .s-pending,.regcard .s-done,.regcard .ic-todo,.regcard .ic-pending,.regcard .ic-done{display:none}.regcard[data-state=todo] .s-todo,.regcard[data-state=pending] .s-pending,.regcard[data-state=done] .s-done{display:inline-flex}.regcard[data-state=todo] .ic-todo,.regcard[data-state=pending] .ic-pending,.regcard[data-state=done] .ic-done{display:block}.regcard[data-state=todo]{border-color:var(--volt);box-shadow:var(--shadow),var(--glow-volt)}.regcard[data-state=pending]{border-color:var(--amber)}.regcard[data-state=pending] .regcard-ic{background:#fff3dc;color:var(--amber)}.regcard[data-state=pending] .regcard-eyebrow{color:var(--amber)}.regcard[data-state=done]{border-color:var(--green);background:linear-gradient(0deg,var(--green-wash),var(--green-wash)),var(--surface)}.regcard[data-state=done] .regcard-ic{background:var(--green);color:#fff}.regcard[data-state=done] .regcard-eyebrow{color:var(--green)}@media(max-width:420px){.regcard{flex-direction:column}.regcard-actions .btn{flex:1 1 auto}}.sheet{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;background:#0a1a339e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet[hidden]{display:none}.sheet-panel{width:100%;max-width:640px;max-height:94dvh;background:var(--paper);border-radius:var(--r-lg) var(--r-lg) 0 0;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg);animation:sheetup var(--dur-3) var(--ease) both}@keyframes sheetup{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:720px){.sheet{align-items:center;padding:24px}.sheet-panel{border-radius:var(--r-lg);max-height:90dvh}}.sheet-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px 12px;background:var(--night);color:var(--on-night)}.sheet-headtext{flex:1;min-width:0}.sheet-step{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:var(--fw-bold);color:var(--volt)}.sheet-title{font-size:1.2rem;font-weight:var(--fw-bold);line-height:1.2;margin-top:2px}.sheet-close{flex-shrink:0;width:40px;height:40px;border:0;border-radius:50%;background:#ffffff1f;color:var(--on-night);display:flex;align-items:center;justify-content:center}.sheet-close svg{width:20px;height:20px}.progress{height:4px;background:#ffffff26}.progress-bar{display:block;height:100%;width:50%;background:var(--volt);transition:width var(--dur-3) var(--ease)}.sheet-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--paper)}.sheet-body .progress{background:var(--night)}.regform{padding:18px 18px 28px;display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px;border:0;min-width:0}.flabel{font-size:.92rem;font-weight:var(--fw-semibold);color:var(--ink);line-height:1.35}.flabel .req{color:var(--red)}.fhelp{font-size:.84rem;color:var(--muted);line-height:1.4;margin-top:-2px}.field input[type=text],.field input[type=email],.field input[type=tel]{width:100%;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);padding:12px 14px;min-height:50px;font-size:1.05rem;color:var(--ink);background:var(--surface);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.field input:focus{outline:none;border-color:var(--sky-ink);box-shadow:0 0 0 3px var(--sky-wash)}.field.bad input[type=text],.field.bad input[type=email],.field.bad input[type=tel]{border-color:var(--red);background:var(--red-wash)}.ferr{font-size:.82rem;color:var(--red);font-weight:var(--fw-medium)}.ferr:empty{display:none}.fset legend{padding:0;margin-bottom:8px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seg{position:relative;display:flex;align-items:center;justify-content:center;min-height:50px;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);font-weight:var(--fw-semibold);cursor:pointer;transition:border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.seg input{position:absolute;opacity:0;width:1px;height:1px}.seg:has(input:checked){border-color:var(--night);background:var(--night);color:var(--on-night)}.seg:has(input:focus-visible){outline:3px solid var(--sky-ink);outline-offset:2px}.fset.bad .seg{border-color:var(--red)}.fwarn{display:flex;align-items:flex-start;gap:12px;margin-top:10px;padding:14px 16px;border-radius:var(--r-sm);background:#fff3dc;border:1.5px solid var(--amber);color:var(--ink);animation:sheetup var(--dur-2) var(--ease) both}.fwarn[hidden]{display:none}.fwarn-ic{flex-shrink:0;display:flex;width:36px;height:36px;border-radius:50%;background:var(--amber);color:#fff;align-items:center;justify-content:center}.fwarn-ic svg{width:20px;height:20px}.fwarn p{font-weight:var(--fw-semibold);line-height:1.45;padding-top:6px}.chk{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);font-size:.9rem;line-height:1.5;color:var(--secondary);cursor:pointer;transition:border-color var(--dur-1) var(--ease)}.chk+.chk{margin-top:8px}.chk input{flex-shrink:0;width:22px;height:22px;margin-top:2px;accent-color:var(--night)}.chk:has(input:checked){border-color:var(--night)}.field.bad .chk,.fset.bad .chk{border-color:var(--red);background:var(--red-wash)}html[lang=th] .bi-en,html:not([lang=th]) .bi-th{display:none}.form-err{color:var(--red);font-weight:var(--fw-semibold);font-size:.92rem}.form-err[hidden]{display:none}.handoff{padding:18px 18px 28px;display:flex;flex-direction:column;gap:14px}.handoff[hidden]{display:none}.handoff-intro{color:var(--secondary);line-height:1.55;background:var(--surface);border-left:4px solid var(--volt);border-radius:var(--r-sm);padding:12px 14px}.handoff-steps{list-style:none;counter-reset:hs;display:flex;flex-direction:column;gap:8px}.handoff-steps li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);color:var(--ink);font-weight:var(--fw-medium);line-height:1.4}.handoff-steps li:before{counter-increment:hs;content:counter(hs);flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--night);color:var(--volt);font-size:.8rem;font-weight:var(--fw-bold);display:flex;align-items:center;justify-content:center}.hs-ic{display:flex;color:var(--sky-ink);flex-shrink:0}.hs-ic svg{width:20px;height:20px}.handoff-note{text-align:center;font-size:.82rem;color:var(--muted);margin-top:-8px}.handoff-hint{text-align:center;font-size:.9rem;color:var(--secondary);line-height:1.4}.handoff-hint .hh-back{color:var(--volt-ink);font-weight:var(--fw-semibold)}.handoff.back #confirmSubmitted:not(:disabled){box-shadow:var(--glow-volt)}.codefield{padding:14px;border-radius:var(--r);background:var(--surface);border:1.5px solid var(--line-strong)}.codeinput,.pi-code{width:100%;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);padding:12px 14px;min-height:52px;font-size:1.25rem;font-weight:var(--fw-bold);letter-spacing:.12em;text-transform:uppercase;text-align:center;color:var(--ink);background:var(--paper);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.codeinput:focus,.pi-code:focus{outline:none;border-color:var(--sky-ink);box-shadow:0 0 0 3px var(--sky-wash)}.codefield.bad .codeinput,.pi-verify.bad .pi-code{border-color:var(--red);background:var(--red-wash);animation:shake var(--dur-3) var(--ease)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.handoff .linkbtn{align-self:center}.passmodal{position:fixed;inset:0;z-index:95;display:flex;padding:18px;overflow-y:auto;background:radial-gradient(60% 50% at 20% 0%,rgba(198,241,53,.25),transparent 60%),linear-gradient(180deg,var(--night-2),var(--night))}.passmodal[hidden]{display:none}.pass-card{margin:auto;width:100%;max-width:420px;background:var(--surface);border-radius:var(--r-lg);padding:22px 22px 20px;text-align:center;box-shadow:var(--shadow-lg);animation:sheetup var(--dur-3) var(--ease) both}.pass-top{display:flex;align-items:center;gap:12px;text-align:left;padding-bottom:14px;border-bottom:1px dashed var(--line-strong)}.pass-logos{display:flex;align-items:center;gap:10px;flex-shrink:0}.pass-logos img{height:56px;width:auto}.pass-event{font-weight:var(--fw-black);font-size:1.25rem;line-height:1.05;color:var(--ink)}.pass-series{font-family:var(--font-serif);font-style:italic;font-weight:600;color:var(--sky-ink);margin-top:3px}.pass-tick{width:84px;height:84px;margin:20px auto 12px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px #1b7f5061;animation:passpop var(--dur-3) var(--ease) both}.pass-tick svg{width:44px;height:44px;stroke-width:3}@keyframes passpop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.pass-title{font-weight:var(--fw-black);font-size:1.45rem;color:var(--green);letter-spacing:-.01em}.pass-msg{margin-top:6px;color:var(--secondary);line-height:1.5}.pass-chip{display:inline-block;margin-top:14px;padding:8px 14px;border-radius:var(--r-pill);background:var(--paper);border:1px solid var(--line);font-size:.84rem;font-weight:var(--fw-semibold);color:var(--ink)}.pass-tip{margin-top:12px;font-size:.82rem;color:var(--muted);line-height:1.4}.pass-actions{margin-top:18px;display:flex;flex-direction:column;gap:8px}.pass-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.eventmap{margin-top:28px}.map-sub{color:var(--secondary);font-size:.95rem;margin:-6px 2px 12px;line-height:1.5}.chips{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px 2px 10px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips button{flex-shrink:0;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--secondary);padding:0 14px;min-height:40px;border-radius:var(--r-pill);font-size:.9rem;font-weight:var(--fw-semibold);white-space:nowrap;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.chips button:hover{border-color:var(--night)}.chips button.on{background:var(--night);color:var(--on-night);border-color:var(--night)}.mapbox{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);touch-action:none;cursor:grab;aspect-ratio:1706 / 960;user-select:none;-webkit-user-select:none}.mapbox.grabbing{cursor:grabbing}.stage{position:absolute;inset:0;transform-origin:0 0;will-change:transform}.stage img{width:100%;height:100%;display:block;-webkit-user-drag:none;pointer-events:none}.pin{position:absolute;width:0;height:0;z-index:5;cursor:pointer}.pin .mk{position:absolute;left:0;top:0;transform:translate(-50%,-50%);transform-origin:center center;width:34px;height:34px;border-radius:50%;background:var(--night);color:#fff;border:2.5px solid #fff;box-shadow:0 2px 8px #0a1a3373;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:var(--fw-bold);transition:box-shadow var(--dur-1) var(--ease);will-change:transform;backface-visibility:hidden}.pin .mk svg{width:18px;height:18px}.pin.kind-field .mk{width:44px;height:44px;font-size:1.05rem;background:var(--night);color:var(--volt);border-color:var(--volt)}.pin.kind-field[data-id=field1] .mk{color:var(--sky);border-color:var(--sky)}.pin.kind-field-off .mk{background:#8d99ab;width:30px;height:30px}.pin.kind-hq .mk{background:var(--night);color:var(--volt)}.pin.kind-aid .mk{background:var(--red)}.pin.kind-water .mk{background:var(--sky-ink)}.pin.kind-wc .mk{background:#4c5a70;font-size:.68rem}.pin.kind-hall .mk{background:var(--night-3)}.pin.kind-entrance .mk{background:var(--volt);color:var(--night)}.pin.active .mk,.pin:hover .mk{box-shadow:0 0 0 4px #c6f1358c,0 2px 8px #0a1a3373}.pin.dim{opacity:.18}.zoomctl{position:absolute;right:10px;bottom:10px;z-index:20;display:flex;flex-direction:column;gap:6px}.zoomctl button{width:var(--tap);height:var(--tap);border:0;border-radius:12px;background:#fffffff5;color:var(--ink);box-shadow:0 2px 8px #0a1a3340;display:flex;align-items:center;justify-content:center}.zoomctl button svg{width:22px;height:22px}.zoomctl button:active{transform:scale(.94)}.hint{position:absolute;left:10px;bottom:10px;z-index:20;background:#0a1a33e0;color:#fff;font-size:.76rem;font-weight:var(--fw-medium);padding:7px 11px;border-radius:var(--r-pill);pointer-events:none;transition:opacity var(--dur-3) var(--ease)}.hint.hide{opacity:0}.places{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin-top:12px}.place{width:100%;display:flex;gap:12px;align-items:center;text-align:left;padding:10px 12px;min-height:62px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.place:hover{border-color:var(--night);box-shadow:var(--shadow-sm)}.place-badge{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--night);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold)}.place-badge svg{width:18px;height:18px}.place.kind-field .place-badge{color:var(--volt);border:2px solid var(--volt)}.place.kind-field[data-id=field1] .place-badge{color:var(--sky);border-color:var(--sky)}.place.kind-field-off .place-badge{background:#8d99ab}.place.kind-aid .place-badge{background:var(--red)}.place.kind-water .place-badge{background:var(--sky-ink)}.place.kind-wc .place-badge{background:#4c5a70}.place.kind-hall .place-badge{background:var(--night-3)}.place.kind-entrance .place-badge{background:var(--volt);color:var(--night)}.place-text{display:flex;flex-direction:column;min-width:0}.place-name{font-weight:var(--fw-semibold);color:var(--ink);font-size:.98rem}.place-desc{font-size:.82rem;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.place.miss{display:none}.scrim{position:fixed;inset:0;background:#0a1a3366;z-index:60;opacity:0;pointer-events:none;transition:opacity var(--dur-3) var(--ease)}.scrim.show{opacity:1;pointer-events:auto}.pop{position:fixed;left:0;right:0;bottom:0;z-index:65;transform:translateY(110%);transition:transform var(--dur-3) var(--ease);background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:0 -8px 40px #00000040;padding:14px 20px calc(18px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto}.pop[hidden]{display:block}.pop.show{transform:translateY(0)}.pop .grip{width:40px;height:4px;border-radius:3px;background:var(--line-strong);margin:0 auto 14px}.pop .poprow{display:flex;align-items:flex-start;gap:12px}.pop .poptag{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--night);color:var(--volt);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-black)}.pop .poptag svg{width:20px;height:20px}.pop .poptitle{font-size:1.25rem;font-weight:var(--fw-bold);color:var(--ink);line-height:1.15}.pop p{margin-top:5px;color:var(--secondary);line-height:1.5}.popteams{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.popteams[hidden]{display:none}.popteams span{padding:5px 10px;border-radius:var(--r-pill);background:var(--surface-2);font-size:.82rem;font-weight:var(--fw-semibold);color:var(--ink)}.pop .popclose{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:var(--paper);color:var(--muted);display:flex;align-items:center;justify-content:center}.pop .popclose svg{width:18px;height:18px}.popbtns{display:flex;gap:10px;margin-top:16px}.popbtns .btn{flex:1}.popbtns .btn[hidden]{display:none}.index-band[data-astro-cid-j7pv25f6]{--hero-photo: url(/img/hero-900.webp)}@media(min-width:601px){.index-band[data-astro-cid-j7pv25f6]{--hero-photo: url(/img/hero-1400.webp)}}@media(min-width:1400px),(min-width:900px)and (min-resolution:1.5dppx){.index-band[data-astro-cid-j7pv25f6]{--hero-photo: url(/img/hero-2000.webp)}}.index-band[data-astro-cid-j7pv25f6] .steps[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6]{background:#0a1a3373;border-color:#ffffff29}.index-hero[data-astro-cid-j7pv25f6] h1[data-astro-cid-j7pv25f6]{font-size:clamp(2.6rem,10vw,4.4rem)}.hero-host[data-astro-cid-j7pv25f6]{height:84px;width:auto;margin-bottom:16px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.35))}@media(min-width:720px){.index-hero[data-astro-cid-j7pv25f6]{position:relative;padding-right:200px}.hero-host[data-astro-cid-j7pv25f6]{position:absolute;right:max(18px,env(safe-area-inset-right));top:30px;height:130px;margin:0}}.steps[data-astro-cid-j7pv25f6]{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px;max-width:560px}.steps[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:var(--r-sm);background:#ffffff12;border:1px solid rgba(255,255,255,.12);font-size:.86rem;font-weight:var(--fw-semibold);line-height:1.2}.step-n[data-astro-cid-j7pv25f6]{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--volt);color:var(--night);font-size:.78rem;font-weight:var(--fw-bold);display:flex;align-items:center;justify-content:center}@media(max-width:420px){.steps[data-astro-cid-j7pv25f6]{grid-template-columns:1fr;gap:6px}}
