feat(proxy): /api/place — nationwide place search (Kakao Local) Adds keyword place search so users can find any breakwater/port/fishing spot by name and get tide there — beyond the 61 official stations, matching the reference app's 1,559 points and then some. - adapters/kakaoPlaces.ts: parseKakaoPlaces() (pure) + searchPlaces() with whitespace/first-token fallback (Kakao ANDs spaces, so "고마도 방파제" returned 0 until we retry "고마도방파제" then "고마도"). - routes/place.ts: GET /api/place?query= with 1h cache; 502 on failure. - config.ts: kakaoKey from KAKAO_REST_KEY (.env only, gitignored). Verified live via the public domain: "대변항" -> 11 results with coords; "고마도 방파제"/"오천항 방파제"/"지세포 방파제" all resolve via fallback. Constraint: uses the connect-b Kakao app's REST key (user's own resource, ~300k/day free tier); the key stays in proxy/.env, never in the app or git. Swap to a dedicated Sea&Catch key later if desired. Confidence: high Scope-risk: module Reversibility: trivial Directive: Kakao keyword search is POI-based; small breakwaters may be absent — keep the 📍 GPS path and nearest-station fallback as the safety net. Tested: vitest 28/28 (parseKakaoPlaces); live HTTP via sea.lucas-ai.cc for multiple queries incl. space-fallback. Not-tested: rate-limit behaviour under load; coverage of very small unnamed breakwaters. Related: docs/BACKLOG.md 0 🐙 Autopus