:root{--primary:#0f766e;--primary-dark:#115e59;--primary-light:#e6f4f2;--gold:#f59e0b;--background:#fffbf2;--surface:#fff;--border:#e5e7eb;--text-primary:#1f2937;--text-secondary:#6b7280;--danger:#dc2626}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--background);color:var(--text-primary);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans Thai,Leelawadee UI,Tahoma,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.shell{margin:0 auto;max-width:480px;min-height:100dvh;padding:0 20px 48px}.brand{font-size:24px;font-weight:700;letter-spacing:-.3px;padding:28px 0 4px}.tagline{color:var(--text-secondary);font-size:15px;margin:0 0 24px}.sectionTitle{font-size:17px;font-weight:700;margin:0 0 12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;display:block;margin-bottom:12px;padding:18px}.cardTitle{font-size:16px;font-weight:600;margin:0 0 4px}.cardBody{font-size:14px;margin:0}.cardBody,.footer{color:var(--text-secondary)}.footer{font-size:13px;padding-top:32px}.crumbRow{margin:0;padding:24px 0 0}.crumb{color:var(--text-secondary);font-size:14px}.pageTitle{font-size:22px;font-weight:700;letter-spacing:-.2px;margin:8px 0 4px}.body{font-size:15px;line-height:1.7;margin:0 0 24px}.badge{background:var(--primary-light);border-radius:999px;color:var(--primary-dark);display:inline-block;font-size:12px;font-weight:600;margin:0 0 6px;padding:4px 10px}.notice{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:12px;color:var(--text-secondary);font-size:13px;line-height:1.6;margin:0 0 16px;padding:12px 14px}.placeList{display:grid;grid-gap:16px;gap:16px;margin-bottom:8px}.placeCard{background:var(--surface);border:1px solid var(--border);border-radius:20px;display:block;overflow:hidden;transition:transform .12s ease}.placeCardMedia{aspect-ratio:3/2;background:var(--primary-light);position:relative}.placeCardMedia img{display:block;height:100%;object-fit:cover;width:100%}.placeCardBadge{left:12px;margin:0;position:absolute;top:12px}.placeCardGlyph{color:var(--primary);height:72px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:72px}.placeCardBody{padding:14px 18px 18px}.placeCardTitle{font-size:18px;font-weight:700;letter-spacing:-.2px;line-height:1.5;margin:0 0 4px}.placeCardSummary{color:var(--text-secondary);font-size:14.5px;line-height:1.65;margin:0}.placeCardMore{color:var(--primary-dark);font-size:13px;font-weight:600;margin:10px 0 0}a.placeCard:active{transform:scale(.99)}a.placeCard:focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media (prefers-reduced-motion:reduce){a.placeCard{transition:none}a.placeCard:active{transform:none}}.placeCardMediaEmpty .placeCardBadge{background:var(--surface)}.gallery{display:flex;margin:12px -20px 22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.gallery:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gallerySlide{aspect-ratio:4/3;background:var(--primary-light);flex:0 0 100%;margin:0;position:relative;scroll-snap-align:center}.gallerySlide img{display:block;height:100%;object-fit:cover;width:100%}.galleryCount{background:var(--surface);border-radius:999px;bottom:12px;color:var(--text-primary);font-size:12px;font-weight:600;padding:3px 10px;position:absolute;right:12px}.galleryEmpty{align-items:center;aspect-ratio:16/9;background:var(--primary-light);color:var(--primary-dark);display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:8px;justify-content:center;margin:12px -20px 22px}.galleryEmptyGlyph{color:var(--primary);height:64px;width:64px}@media (min-width:520px){.gallery,.galleryEmpty{border-radius:20px;margin-left:0;margin-right:0}}.tips{margin:0 0 24px;padding-left:20px}.tips li{font-size:15px;line-height:1.7;margin-bottom:6px}.cta{background:var(--primary-light);border:1px solid var(--primary);border-radius:16px;color:var(--primary-dark);display:block;font-size:16px;font-weight:600;margin-top:8px;padding:16px;text-align:center}.cta:active{background:var(--surface)}.areaTitle{font-size:32px;font-weight:700;letter-spacing:-.6px;line-height:1.25;margin:0;padding:28px 0 0}.areaMeta{color:var(--text-secondary);font-size:14.5px;line-height:1.6;margin:6px 0 22px}.tile{border-radius:20px;display:flex;flex-direction:column;gap:10px;padding:18px;position:relative}.tileIconWell{align-items:center;border-radius:13px;display:flex;height:40px;justify-content:center;width:40px}.tileIcon{height:22px;width:22px}.tileTitle{font-size:16px;font-weight:700;letter-spacing:-.1px}.tileBody{font-size:13.5px;line-height:1.65}.tileHero{background:var(--primary);color:var(--surface);gap:12px;margin-bottom:28px;overflow:hidden;padding:24px 22px 26px}.tileHero:after{background:var(--gold);bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.tileHero .tileIcon,.tileHero .tileIconWell{height:30px;width:30px}.tileHero .tileTitle{font-size:21px;letter-spacing:-.4px}.tileHero .tileBody{font-size:14.5px;opacity:.9}a.tile{transition:transform .12s ease,background-color .12s ease}a.tileHero:active{background:var(--primary-dark);transform:scale(.99)}a.tile:focus-visible{outline:2px solid var(--primary);outline-offset:3px}a.tileHero:focus-visible{outline-color:var(--gold)}.tileHero .tileIcon{stroke-width:1.6}.rowGroup{margin-bottom:22px}.rowList{background:var(--surface);border:1px solid var(--border);border-radius:20px;list-style:none;margin:0;overflow:hidden;padding:0}.rowList li+li:before{background:var(--border);content:"";display:block;height:1px;margin-left:66px}.row{gap:14px;min-height:68px;padding:12px 14px 12px 16px;transition:background-color .12s ease}.row,.rowIcon{align-items:center;display:flex}.rowIcon{background:var(--primary-light);border-radius:11px;color:var(--primary);flex:0 0 auto;height:36px;justify-content:center;width:36px}.rowIcon .tileIcon{height:20px;width:20px}.rowText{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.rowTitle{font-size:16px;font-weight:600;letter-spacing:-.1px;line-height:1.4}.rowBody{font-size:14px;line-height:1.55}.rowBody,.rowChevron{color:var(--text-secondary)}.rowChevron{flex:0 0 auto;height:18px;width:18px}.rowGroupNote{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:5px;line-height:1.5;margin:8px 0 0 16px}.rowGroupNote svg{flex:0 0 auto;height:14px;width:14px}a.row:active{background:var(--primary-light)}a.row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.row,a.tile{transition:none}a.tileHero:active{transform:none}}.form{gap:20px;margin-top:24px}.field,.form{display:flex;flex-direction:column}.field{gap:6px}.fieldLabel{font-size:15px;font-weight:600;color:var(--text-primary)}.fieldHint{color:var(--text-secondary)}.fieldHint,.fieldWarn{font-size:13px;line-height:1.6;margin:0}.fieldWarn{color:var(--danger)}.input{font:inherit;font-size:16px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 12px;width:100%}.input:focus-visible{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.textarea{resize:vertical;line-height:1.7}.pasteRow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pasteRow .input{flex:1 1 220px;min-width:0}.primaryButton,.secondaryButton{font:inherit;font-size:16px;font-weight:600;border-radius:10px;padding:13px 18px;cursor:pointer;border:1px solid transparent}.primaryButton{background:var(--primary);color:var(--surface)}.primaryButton:disabled,.secondaryButton:disabled{opacity:.6;cursor:progress}.secondaryButton{background:var(--surface);color:var(--primary-dark);border-color:var(--primary);align-self:flex-start}.formNote{font-size:13px;line-height:1.7;color:var(--text-secondary);margin:0}.formError{font-size:14px;line-height:1.6;color:var(--danger);margin:0}.formDone{margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:12px}.formDoneTitle{font-size:19px;margin:0;color:var(--primary-dark)}.inviteCard{margin-top:28px;padding:18px;background:var(--primary-light);border-radius:12px}.inviteText{font-size:14px;line-height:1.7;color:var(--text-primary);margin:0 0 10px}.inviteLink{font-size:15px;font-weight:600;color:var(--primary-dark);text-decoration:none}.inviteLink:hover{text-decoration:underline}.trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.credit{font-size:13px;line-height:1.6;color:var(--text-secondary);margin:10px 0 0}