:root{color-scheme:light;--ink:#183e46;--paper:#fbf6ec;--line:#ddd8cc;--muted:#667370}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,"Noto Sans TC",sans-serif;line-height:1.8}
a{color:var(--ink);text-underline-offset:4px}a:focus-visible{outline:3px solid #a47929;outline-offset:4px}
.place-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(20px,calc((100vw - 1000px)/2));border-bottom:1px solid var(--line);background:#fffdf7}
.place-topbar img{width:190px;max-width:42vw;display:block}.place-shell{max-width:900px;margin:0 auto;padding:36px 24px 64px}
.place-kicker{color:var(--muted)}h1{font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(28px,5vw,42px);line-height:1.5;margin:8px 0 24px;overflow-wrap:anywhere}
.place-photo{display:block;width:100%;max-height:500px;object-fit:cover;border-radius:16px}.place-description{white-space:pre-line;overflow-wrap:anywhere}
dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:24px;background:#fffdf7;border:1px solid var(--line);border-radius:16px}dt{font-weight:700}dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}
.place-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.place-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 18px;border:1px solid var(--ink);border-radius:10px;text-decoration:none;background:#fffdf7}
.place-actions .place-button:first-child{background:var(--ink);color:white}.place-note,footer{font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:32px;padding-top:16px;overflow-wrap:anywhere}
body[style*="--venue-accent"] .place-actions .place-button{background:var(--venue-accent);color:var(--venue-foreground);border-color:var(--venue-accent)}.venue-arrival{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.venue-arrival dd a{overflow-wrap:anywhere}
@media(max-width:480px){.place-shell{padding:24px 18px 48px}.place-topbar{padding:14px 18px;font-size:14px}dl{grid-template-columns:1fr;gap:4px;padding:18px}dd{margin-bottom:12px}.place-button{flex:1 1 150px}}
