:root{--ink:#183c34;--green:#16493e;--muted:#697670;--line:#e2e7e3;--paper:#f6f8f6;--lime:#d9edbc}*{box-sizing:border-box}body{margin:0;font-family:Inter,"Noto Sans TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:var(--paper);font-size:16px}button,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #d89421;outline-offset:4px}button{color:inherit}header{height:88px;max-width:1280px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;color:var(--ink);font-size:23px;font-weight:800;letter-spacing:1px}.brand-icon{background:var(--green);color:white;border-radius:12px;width:43px;height:43px;display:grid;place-items:center;font-size:38px;font-weight:400;line-height:1}.brand small{display:block;font-size:12px;font-weight:500;letter-spacing:2px;margin-top:3px}.header-line{border:1px solid #bdd0c6;background:transparent;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:700}main{max-width:1280px;margin:auto;padding:0 40px}.intro{display:flex;align-items:center;justify-content:space-between;padding:40px 0 28px}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:700;margin:0 0 12px;color:#6d8174}h1{font-size:38px;letter-spacing:-1px;margin:0;line-height:1.4}h1 span{color:#547559}.sub{color:var(--muted);margin:10px 0 0;line-height:1.6}.area-badge{font-size:14px;border:1px solid #ccd6cd;border-radius:24px;padding:10px 18px}.search{display:grid;grid-template-columns:1fr 1fr 1fr;background:white;border:1px solid var(--line);border-radius:14px;padding:17px 10px;box-shadow:0 5px 15px #254c3210}.search label{padding:0 24px;border-right:1px solid var(--line);min-width:0}.search label:last-child{border:0}.search label>span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.search select{width:100%;border:0;background:white;padding:4px 18px 4px 0;min-height:30px;color:var(--ink);font-size:16px;font-weight:650}.results-bar{display:flex;justify-content:space-between;align-items:center;margin:30px 0 12px;gap:12px}h2{font-size:21px;margin:0}.results-bar p{font-size:14px;color:var(--muted);margin:7px 0 0}.view-switch{display:flex;flex-shrink:0;gap:3px;border:1px solid var(--line);background:white;padding:4px;border-radius:10px}.view-switch button{border:0;background:transparent;border-radius:7px;padding:9px 14px;font-size:14px}.view-switch button.active{background:var(--green);color:white}.demo-note{font-size:12px;color:#69746d;line-height:1.7;margin:0 0 18px;display:flex;gap:8px;align-items:baseline}.demo-note span{white-space:nowrap;background:#e8eee8;border-radius:4px;padding:1px 5px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #1b382916}.card-open{padding:0;border:0;text-align:left;width:100%;display:block;background:white}.photo-wrap{position:relative;aspect-ratio:1.55;overflow:hidden;background:#e3e8e3}.photo-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.card:hover img{transform:scale(1.035)}.status{position:absolute;top:12px;left:12px;border-radius:5px;background:#fffffff0;font-size:12px;padding:6px 9px;font-weight:700}.photo-index{position:absolute;right:12px;bottom:12px;color:white;background:#18312ccc;padding:4px 7px;border-radius:4px;font-size:12px}.card-info{padding:18px}.station-line{font-size:14px;display:flex;align-items:center;gap:7px;color:#506d5d}.route{width:8px;height:18px;border-radius:3px;display:inline-block;flex-shrink:0}.card h3{font-size:20px;margin:10px 0;line-height:1.5}.meta{font-size:14px;color:var(--muted);margin:0 0 17px}.price{font-size:25px;font-weight:800;letter-spacing:-.6px}.price small{font-size:14px;font-weight:400;color:var(--muted);letter-spacing:0}.card-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #edf0ed;padding-top:14px;gap:8px}.fee{font-size:12px;color:var(--muted);margin-top:4px}.detail-link{font-size:14px;white-space:nowrap;font-weight:700}.empty{grid-column:1/-1;text-align:center;padding:60px 20px;background:white;border:1px dashed #b7c6bb;border-radius:14px}.empty p{color:var(--muted)}.reset{border:0;background:var(--green);color:white;padding:12px 20px;border-radius:8px}.map-panel{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.map-heading{padding:17px 20px}.map-heading p{margin:6px 0 0;color:var(--muted);font-size:12px}iframe{width:100%;height:420px;display:block;border:0;background:#e5eae6}.map-choices{display:flex;overflow:auto;gap:10px;padding:14px}.map-choice{min-width:150px;text-align:left;border:1px solid var(--line);border-radius:8px;padding:12px;background:white;font-size:14px}.map-choice.active{border-color:var(--green);background:#eef5ec}.map-choice strong{display:block;margin-top:6px}#external-map{display:block;color:var(--green);padding:4px 16px 18px;font-size:14px}.workspace.map-mode{display:grid;grid-template-columns:1fr 1fr;gap:22px}.map-mode .grid{grid-template-columns:1fr}.map-mode .card-open{display:grid;grid-template-columns:42% 58%;height:100%}.map-mode .photo-wrap{height:100%;aspect-ratio:auto}.map-mode .card h3{font-size:17px}.map-mode .card-info{padding:14px}.map-mode .map-panel{position:sticky;top:16px;align-self:start}.map-mode .meta{margin-bottom:10px}.map-mode .detail-link{display:none}footer{padding:46px 0 26px;margin-top:36px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}footer p{margin:8px 0 22px}.footer-brand{font-size:20px;font-weight:800;color:var(--ink)}footer small{font-size:12px}dialog{border:0;padding:0;border-radius:18px;box-shadow:0 25px 100px #0004;color:var(--ink);width:min(680px,calc(100% - 32px));max-height:90dvh}dialog::backdrop{background:#102e286b;backdrop-filter:blur(4px)}.detail-top{position:sticky;top:0;background:white;display:flex;align-items:center;justify-content:space-between;padding:12px 22px;z-index:2;border-bottom:1px solid var(--line);font-weight:700}.icon-button{font-size:28px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:#f1f4f1;line-height:1}.detail-hero{width:100%;height:300px;object-fit:cover;display:block}.detail-content{padding:24px}.detail-content h2{font-size:26px;margin:12px 0}.detail-content .description{color:var(--muted);line-height:1.8}.specs{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);padding:18px;border-radius:10px;margin:20px 0}.specs small{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.detail-content h3{font-size:18px;margin:28px 0 14px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{border:1px solid var(--line);padding:7px 12px;border-radius:6px;font-size:14px}.costs{padding:0;margin:0;list-style:none}.costs li{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.location-link{display:block;color:var(--green);padding:15px;background:var(--paper);border-radius:8px;text-decoration:none;line-height:1.7;font-size:14px}.detail-bottom{position:sticky;bottom:0;display:flex;justify-content:space-between;gap:15px;background:white;padding:16px 22px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);align-items:center}.detail-bottom small{display:block;font-size:12px;color:var(--muted)}.detail-bottom strong{display:block;font-size:23px;margin-top:3px}.line-button{border:0;border-radius:9px;background:#06a64d;color:white;padding:15px 20px;font-weight:700;min-height:48px}#contact{padding:30px;max-width:430px}#contact h2{font-size:21px;line-height:1.5}#contact p{color:var(--muted);line-height:1.7;font-size:14px}#contact label{display:block;font-size:14px;margin:22px 0 8px}#contact textarea{resize:none;width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;line-height:1.6;color:var(--ink);background:var(--paper)}#contact .line-button{width:100%;margin-top:14px}.contact-symbol{color:#06a64d;font-size:24px;font-weight:900;margin:12px 0 22px}.close-contact{position:absolute;right:12px;top:12px}body.modal-open{overflow:hidden}[hidden]{display:none!important}
@media(max-width:1000px){header{padding:0 24px}main{padding:0 24px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace.map-mode{grid-template-columns:1fr 1fr}.map-mode .card-open{display:block}.map-mode .photo-wrap{height:150px}.map-mode .card-bottom{display:block}}
@media(max-width:600px){header{height:75px;padding:0 20px}.brand{font-size:20px}.brand-icon{width:37px;height:37px;font-size:33px}.brand small{font-size:12px;letter-spacing:1px}.header-line{font-size:12px;padding:9px 10px}.intro{padding:26px 0 23px}.eyebrow{font-size:12px;letter-spacing:2px;margin-bottom:8px}h1{font-size:28px;letter-spacing:-.7px}.sub{font-size:14px;margin-top:7px}.area-badge{display:none}main{padding:0 18px}.search{padding:12px 0;border-radius:11px;position:sticky;top:0;z-index:3;box-shadow:0 5px 14px #163e3010}.search label{padding:0 10px}.search label>span{font-size:12px}.search select{font-size:14px;padding-right:0;font-weight:600;min-height:33px}.results-bar{margin-top:25px}h2{font-size:18px}.results-bar p{font-size:12px}.view-switch button{padding:9px 10px;font-size:14px}.demo-note{font-size:12px;align-items:start;margin-bottom:15px}.grid{grid-template-columns:1fr;gap:20px}.photo-wrap{aspect-ratio:1.5}.card-info{padding:17px 18px}.card h3{font-size:20px;margin:9px 0}.price{font-size:26px}.meta{margin-bottom:15px}.workspace.map-mode{display:block}.map-mode .grid{display:none}.map-mode .map-panel{position:static}iframe{height:380px}.detail-top{padding:10px 18px}.detail-hero{height:235px}#detail{width:100%;max-width:none;max-height:96dvh;margin:auto 0 0;border-radius:18px 18px 0 0}.detail-content{padding:20px}.detail-content h2{font-size:24px}.detail-bottom{padding-left:18px;padding-right:18px}.detail-bottom strong{font-size:22px}.line-button{padding:15px;font-size:14px}#contact{padding:26px;width:calc(100% - 28px)}footer{margin-top:28px;padding-top:28px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.brand-name{color:#60615f;font-size:25px;letter-spacing:3px}.brand-name small{font-size:12px;letter-spacing:2px;color:#6c6d69}.company-cover{background:#fff;border:1px solid var(--line);border-radius:14px;margin:24px 0 20px;padding:20px 40px;gap:30px;justify-content:space-around}.company-logo{display:block;width:280px;max-width:45%;height:auto;object-fit:contain;flex-shrink:0}.cover-copy h1{font-size:28px}.cover-copy .eyebrow{font-size:14px;letter-spacing:2px;color:#73736e}.footer-brand{color:#60615f}
@media(max-width:600px){.company-cover{flex-direction:column;gap:12px;margin:18px 0;padding:13px 16px 17px;text-align:center}.company-logo{width:215px;max-width:100%;height:auto}.cover-copy h1{font-size:18px;letter-spacing:0;line-height:1.5}.cover-copy .eyebrow{font-size:12px;margin:0 0 5px;letter-spacing:1px}.brand-name{font-size:24px}.brand-name small{font-size:12px}}

/* Yiju dark theme: preserve layout and photo colors. */
:root{color-scheme:dark;--ink:#e5e9e6;--muted:#adb6b0;--line:#343c37;--paper:#090b0a;--green:#21523f;--surface:#171c19;--raised:#232a25;--accent:#a9d5bc}
body{background:var(--paper);color:var(--ink)}
.brand-name,.footer-brand{color:var(--ink)}
.brand-name small,.cover-copy .eyebrow,.eyebrow{color:var(--muted)}
h1 span,.station-line,.detail-link{color:var(--accent)}
.header-line{border-color:#536a5c;background:var(--surface);color:#d7ecdf}
.company-cover,.search,.search select,.view-switch,.card,.card-open,.empty,.map-panel,.map-choice,dialog,.detail-top,.detail-bottom{background:var(--surface);color:var(--ink)}
.company-logo{background:white;border-radius:8px}
.search{box-shadow:0 5px 20px #0005}
.search select option{background:var(--raised);color:var(--ink)}
.view-switch button.active,.reset{background:var(--green);color:#f2f6f3}
.photo-wrap,iframe{background:var(--raised)}
.card:hover{box-shadow:0 10px 28px #0006;border-color:#627769}
.status{background:#14231eeF;color:#e2f2e7;border:1px solid #6f8878}
.photo-index{background:#0d1713e6;color:#ecf1ed}
.demo-note{color:var(--muted)}
.demo-note span,.icon-button,.specs{background:var(--raised);color:var(--ink)}
.card-bottom{border-top-color:var(--line)}
.empty{border-color:#596b5f}
.map-choice.active{border-color:var(--accent);background:#243c2f}
#external-map,.location-link{color:var(--accent)}
.location-link,#contact textarea{background:#101612;border-color:var(--line)}
dialog{border:1px solid var(--line);box-shadow:0 25px 100px #0009}
dialog::backdrop{background:#000a}
.line-button{background:#087b40;color:#fff}
.contact-symbol{color:#72dc9a}
button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f0ca76;outline-offset:3px}
::selection{background:#365d48;color:#fff}
.header-line{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.line-chat{display:flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}
.copy-button{width:100%;margin-top:10px;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--ink)}
.line-fallback{display:block;text-align:center;color:var(--accent);font-size:14px;line-height:1.6;padding:14px 0 0}

.search{grid-template-columns:repeat(4,minmax(0,1fr))}.description{white-space:pre-line}.gallery{display:flex;overflow:auto;scroll-snap-type:x mandatory}.gallery img{width:100%;flex:0 0 100%;height:360px;object-fit:cover;scroll-snap-align:start}.gallery-note{text-align:center;color:var(--muted);font-size:13px;padding:8px}.empty a{display:inline-block;margin-top:12px;color:var(--accent)}footer a{color:var(--muted);font-size:13px}@media(max-width:700px){.search{grid-template-columns:1fr 1fr}.gallery img{height:280px}}
