:root {
  --bg-top: #f6efe4;
  --bg-bottom: #e7f0ee;
  --surface: #ffffff;
  --ink: #1d2b2a;
  --muted: #5f6f6d;
  --line: #d5e0de;
  --accent: #0d7a73;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at top left, #f8f2df 0%, transparent 32%), linear-gradient(168deg, var(--bg-top), var(--bg-bottom)); font-family: "Segoe UI", "Helvetica Neue", "Trebuchet MS", sans-serif; line-height: 1.45; }
h1 { margin: 0; font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 700; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
table { width: 100%; border-collapse: separate; border-spacing: 10px; }
td { background: color-mix(in srgb, var(--surface) 96%, transparent); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 8px 24px rgba(20, 38, 37, 0.05); padding: 12px; vertical-align: top; }
input[type="text"] { width: 100%; border: 1px solid #bfcfcd; border-radius: 10px; padding: 8px 10px; }
input[type="submit"] { margin-top: 8px; border: 0; border-radius: 10px; background: linear-gradient(90deg, var(--accent), #129086); color: #fff; padding: 7px 14px; font-weight: 600; }
img, iframe, #map_canvas { border-radius: 12px; overflow: hidden; }
#map_canvas { border: 1px solid #c9dbd8; }
.panoramio, .panoramio2 { margin: 6px 0; padding: 8px; border: 1px solid #ccd9d7; border-radius: 10px; background: #f8fbfb; color: var(--muted); font-size: 0.82rem; }
.panoramio strong, .panoramio2 strong { color: var(--ink); font-size: 1rem; }
@media (max-width: 900px) { table, tbody, tr, td { display: block; width: 100% !important; } td { margin-bottom: 8px; } }
