@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700&family=Noto+Serif+TC:wght@500;600;700&display=swap');
:root{--ink:#373b2c;--paper:#faf7ed;--yellow:#ebbc3e;--muted:#727460;--line:#dedbca}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans TC',sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,.gallery:focus-visible{outline:3px solid #6a794a;outline-offset:5px}header{max-width:1440px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between}.brand{font-family:'Noto Serif TC',serif;font-size:23px;font-weight:700;letter-spacing:.13em}.brand span{font-family:sans-serif;font-size:11px;letter-spacing:.17em;margin-left:14px}.header-link{font-size:12px;letter-spacing:.1em;border-bottom:1px solid var(--ink);padding-bottom:3px}.header-link span{margin-left:24px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:43% 57%;background:var(--yellow);overflow:hidden;min-height:480px}.hero-copy{padding:65px 10% 55px 12%;align-self:center}.eyebrow{font-size:10px;font-family:Arial,sans-serif;letter-spacing:.2em;font-weight:600;margin:0 0 18px}h1,h2,h3{font-family:'Noto Serif TC',serif}h1{font-size:clamp(30px,3.2vw,47px);font-weight:600;line-height:1.55;letter-spacing:.04em;margin:0 0 24px}.hero-copy>p:not(.eyebrow){font-size:14px;line-height:2.1}.hero-link{display:inline-flex;gap:42px;font-size:13px;border-bottom:1px solid;padding:6px 0;margin-top:23px}.hero-art{position:relative;min-height:100%}.hero-art img{width:100%;height:100%;position:absolute;object-fit:cover}.art-caption{position:absolute;bottom:23px;right:25px;font-size:11px;letter-spacing:.13em;background:#faf7edd9;padding:6px 16px;border-radius:2px}
/* Match the room site's design system. */
body{font-size:16px}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-link{font-size:14px}.art-caption{font-size:12px}
.home{font-size:14px;letter-spacing:.1em;border-bottom:1px solid var(--ink);padding-bottom:3px}
.site-links{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 22px;padding:10px 16px 14px;font:14px/1.6 sans-serif}.site-links a{min-height:40px;display:inline-flex;align-items:center;padding:5px 8px;border-bottom:2px solid transparent}.site-links a[aria-current=page]{border-color:currentColor;font-weight:700}
.explore{max-width:1280px;margin:auto;padding:74px 40px 45px}.explore>nav{position:sticky;top:0;z-index:5;background:var(--paper);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 0 20px}
.filter{background:transparent;border:1px solid var(--line);border-radius:3px;padding:13px 10px;font-family:'Noto Serif TC',serif;font-size:21px;font-weight:600;line-height:1.8}.filter span{font:14px 'Noto Sans TC',sans-serif;margin-left:8px}.filter.active{background:#365844;border-color:#365844;color:white}.filter:hover{border-color:#365844}
.section-head{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:18px 0 12px}.section-head h2{font-size:25px;font-weight:600;margin:0;letter-spacing:.03em}#count{font-size:14px;color:var(--muted)}.all-filter{margin-left:auto;font-family:'Noto Sans TC',sans-serif;font-size:14px;padding:8px 12px;min-height:44px}.category-note{font-size:16px;line-height:1.9;color:var(--muted);margin:0 0 24px}
.list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.place{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:10px;min-height:104px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:3px;background:transparent;min-width:0}@media(hover:hover) and (pointer:fine){.place:hover{border-color:#365844;background:#f1eddd}}.place.active{border-color:#365844;background:#edf1e8;box-shadow:inset 2px 0 0 #365844}.number{font:14px Arial,sans-serif;color:var(--muted);align-self:start;margin-top:5px}.card-copy{display:flex;flex-direction:column;min-width:0}.place b{font:600 21px/1.65 'Noto Serif TC',serif;overflow-wrap:anywhere}.index-category{font-size:14px;color:var(--muted);margin-top:4px}
.workspace{width:min(670px,calc(100% - 24px));max-height:90dvh;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 24px 80px #17251655}.workspace:not([open]){display:none}.workspace::backdrop{background:#27332499}.dialog-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--paper);border-bottom:1px solid var(--line);padding:12px 20px}.dialog-bar>span{font-family:'Noto Serif TC',serif;font-size:16px}.dialog-bar button{border:1px solid var(--line);padding:8px 12px;min-height:44px;background:transparent;color:var(--ink);border-radius:3px;font-size:14px}
.map-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 20px;background:#f1eddd;font-size:14px}.map-heading span:last-child{color:var(--muted)}.map iframe{display:block;width:100%;height:280px;border:0}.map-note{font-size:14px;padding:8px 20px;background:#f1eddd;color:var(--muted)}.detail{padding:22px}.detail-body{display:flex;align-items:center;justify-content:space-between;gap:18px}.detail-title{min-width:0}.category{font-size:14px;letter-spacing:.05em;color:var(--muted)}.detail h2{font-family:'Noto Serif TC',serif;font-weight:600;line-height:1.6;font-size:25px;margin:8px 0;overflow-wrap:anywhere}.address,.location-note{font-size:16px;line-height:1.9;color:var(--muted);margin:7px 0}.go{display:block;flex-shrink:0;padding:12px 18px;background:#365844;color:var(--paper);border-radius:3px;text-align:center;font-size:14px;min-height:48px}.tip{font-size:14px;color:var(--muted);line-height:1.9;margin:17px 0 0}.detail-open{overflow:hidden}
footer{max-width:1280px;margin:auto;padding:28px 40px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}footer b{font:600 16px 'Noto Serif TC',serif}footer span{display:block;font-size:14px;color:var(--muted);margin-top:6px}footer p{font-size:14px;color:var(--muted);max-width:480px}
@media(min-width:1441px){.hero{border-radius:6px}header{padding-left:0;padding-right:0}}
@media(max-width:1050px){.hero-copy{padding:42px 9%}.hero{min-height:390px}}
@media(max-width:700px){header{padding:18px 22px}.brand{font-size:20px}.brand span{display:block;margin:0;font-size:8px;line-height:1.4;letter-spacing:.2em}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:36px 26px 27px}.hero-copy .eyebrow{font-size:8px;margin-bottom:16px}h1{font-size:32px;line-height:1.5;margin-bottom:16px}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-link{font-size:14px;margin-top:11px}.hero-art{height:180px}.hero-art img{object-position:center 60%}.art-caption{font-size:12px;bottom:13px;right:16px;letter-spacing:.03em}.explore{padding:39px 20px 30px}.explore>nav{gap:7px;padding:10px 0 16px}.filter{font-size:18px;padding:10px 4px}.filter span{display:block;font-size:12px;margin:2px 0 0}.section-head{gap:10px}.section-head h2{font-size:20px}.all-filter{font-size:14px;padding:8px}.list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.place{grid-template-columns:19px minmax(0,1fr);gap:7px;min-height:96px;padding:12px 10px}.place b{font-size:19px}.number{font-size:12px}.detail-body{flex-wrap:wrap}.go{width:100%}.map iframe{height:235px}.detail{padding:18px}.detail h2{font-size:23px}footer{padding:25px 22px;flex-wrap:wrap;gap:7px}footer p{margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.language{display:flex;flex-shrink:0;gap:2px;padding:3px;border:1px solid #bcc1ac;border-radius:24px;margin-left:14px}.language button{background:transparent;border:0;border-radius:22px;padding:6px 13px;font-size:14px;color:var(--ink);min-height:38px}.language button[aria-pressed=true]{background:var(--ink);color:white}header .header-link,header .home{margin-left:auto}html[lang=en] h1,html[lang=en] h2,html[lang=en] h3{letter-spacing:0;font-family:Georgia,'Noto Serif TC',serif}html[lang=en] h1{font-size:clamp(30px,3.2vw,43px);line-height:1.3}html[lang=en] .room-choice strong{font-size:18px;line-height:1.5;overflow-wrap:anywhere}html[lang=en] .room-summary{font-size:12px}html[lang=en] .place b{font-size:18px;line-height:1.6}html[lang=en] .filter{font-family:'Noto Sans TC',sans-serif;font-size:17px;letter-spacing:0}html[lang=en] .occupancy>span{white-space:normal}html[lang=en] .room-heading h2 span{max-width:550px}html[lang=en] .hero-copy{overflow-wrap:break-word}@media(max-width:700px){header{flex-wrap:wrap;gap:10px}header .language{margin-left:auto}header .header-link,header .home{order:3;width:100%;margin-left:0;border:0;text-align:right;font-size:14px}.language button{padding:5px 10px}html[lang=en] h1{font-size:32px}html[lang=en] .room-choice>span{flex-wrap:wrap}html[lang=en] .room-heading{flex-wrap:wrap}html[lang=en] .occupancy{padding-top:0}html[lang=en] .filter{font-size:14px;white-space:normal}html[lang=en] .place b{font-size:16px}html[lang=en] .list{grid-template-columns:repeat(2,minmax(0,1fr))}html[lang=en] .detail-body{flex-wrap:wrap}html[lang=en] .go{white-space:normal}}
.place-search{margin:12px 0 16px}.place-search>label{font-size:16px;font-weight:600;display:block;margin-bottom:8px}.search-controls{display:flex;align-items:stretch;gap:8px}.search-controls input{min-width:0;flex:1;width:100%;font:16px/1.6 'Noto Sans TC',sans-serif;background:#fffef8;color:var(--ink);border:1px solid #b8bfaa;border-radius:4px;padding:12px}.search-controls button{padding:10px 14px;min-height:48px;font-size:14px;border:1px solid var(--line);border-radius:4px;background:transparent}.search-controls input:focus-visible{outline:3px solid #6a794a;outline-offset:3px}.search-help{font-size:14px;color:var(--muted);line-height:1.8;margin:8px 0}#search-empty{font-size:16px;border:1px solid var(--line);padding:24px;background:#f1eddd}.search-controls button:hover{background:#f1eddd}@media(max-width:400px){.search-controls{flex-wrap:wrap}.search-controls input{flex-basis:100%}.search-controls button{margin-left:auto}}
button,a,input{touch-action:manipulation}html[lang=en] .site-links{gap:6px 14px}html[lang=en] .site-links a{min-width:0;white-space:normal;text-align:center}html[lang=en] .room-heading h2 span,html[lang=en] .transport-card h3{overflow-wrap:break-word}

/* Verified Google details, kept quiet and legible within each place card. */
.places-checked{margin:0 0 16px;font:13px/1.8 Arial,'Noto Sans TC',sans-serif;color:#717966}.card-copy{min-width:0;display:flex;flex-direction:column;gap:7px}.place-kind{font:12px/1.5 Arial,'Noto Sans TC',sans-serif;color:#606b58}.rating-row{display:flex;flex-direction:column;gap:2px;margin-top:4px}.place-rating{font:600 14px/1.5 Arial,'Noto Sans TC',sans-serif;letter-spacing:.02em;color:#365844}.place-rating>span[aria-hidden]{color:#a97c19}.rating-platform{font-size:11px;font-weight:400}.review-count{font:12px/1.5 Arial,'Noto Sans TC',sans-serif;color:#606b58}.place{min-height:156px;align-items:start}.place-status{font:12px/1.6 Arial,'Noto Sans TC',sans-serif;color:#9a6a1c}.detail-rating{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:12px 0}.detail-rating .place-rating{font-size:18px}.detail-rating>small{flex-basis:100%;font-size:12px;color:#737b6b}.original-name{font-size:13px;color:#777e6f;margin:8px 0}.rating-pending{font-weight:400;color:#606b58;font-size:12px}@media(max-width:700px){.place{min-height:156px}.place-kind,.review-count{font-size:11px}.place-rating{font-size:13px}.places-checked{font-size:12px}}
.slow-journey-entry{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:32px auto;max-width:1200px;padding:32px 40px;border-radius:22px;background:#365744;color:#fffdf7;border-bottom:4px solid #be8b13}.slow-journey-entry>div>p:first-child{font:600 11px Arial,sans-serif;letter-spacing:.16em}.slow-journey-entry h2{font-family:'Noto Serif TC',serif;font-size:29px;margin:8px 0}.slow-journey-entry p{font-size:15px;line-height:1.9;margin:10px 0}.slow-journey-entry>a{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;background:#faf7ed;color:#365744;border-radius:28px;white-space:nowrap;font-weight:600;min-height:48px;box-shadow:0 3px 0 #be8b13}@media(max-width:760px){.slow-journey-entry{display:block;margin:24px 20px;padding:25px}.slow-journey-entry>a{margin-top:12px;width:100%}}

/* Keep place-card text readable after selection and touch; filters have their own dark fill. */
.place{color:var(--ink)}.place .number{color:#606b58}.place .place-status{color:#805918}
