:root{--navy:#092b65;--blue:#0e3774;--gold:#be781e;--muted:#657897;--pale:#f0f5fb;--border:#e3e9f3}*{box-sizing:border-box}html{background:#eaf0f7}body{margin:0;color:var(--navy);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}#app{max-width:520px;margin:0 auto;background:#fff;min-height:100dvh;box-shadow:0 0 24px #122b4d17;padding-bottom:84px}header.top{height:53px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #eef2f6;font-size:19px;font-weight:750}header.top button{background:none;border:0;color:var(--navy);font-size:22px}.hero{background:linear-gradient(180deg,#071b4890,#0a2c6478),url('/assets/lujiazui.jpg') center/cover;color:#fff;padding:32px 20px 62px}.hero h1{font-size:27px;line-height:1.3;margin:8px 0}.hero .sub{font-size:13px;opacity:.95}.search{display:flex;gap:8px;padding:8px;background:#fff;border-radius:10px;box-shadow:0 5px 16px #061c4330}.search input{border:0;outline:0;flex:1;min-width:0;padding:9px;font-size:14px}.search button,.primary{background:linear-gradient(110deg,#d99b51,#ae6817);color:white;border:0;border-radius:7px;padding:12px 18px;font-weight:700}.search-wrap{margin:-33px 16px 12px;position:relative}.quick{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:18px 10px}.quick-item{text-align:center;cursor:pointer;font-size:12px;font-weight:650}.quick-icon{display:grid;place-items:center;border-radius:50%;width:44px;height:44px;margin:0 auto 6px;background:#f8ebdf;color:#b9772d;font-size:23px}.quick-item:nth-child(odd) .quick-icon{background:#e7eefb;color:var(--navy)}section{padding:8px 16px 14px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;font-size:20px;font-weight:800}.section-title small{font-size:12px;color:#6480a7;font-weight:400}.section-title button{border:0;background:none;color:#617ca4;font-size:12px}.tiles{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.tile{flex:0 0 92px;border-radius:9px;overflow:hidden;height:91px;position:relative;background:linear-gradient(#6596b4,#0b2d5a);color:#fff;cursor:pointer}.tile::before{content:'▥ ▥ ▥';position:absolute;font-size:30px;top:14px;left:5px;opacity:.65}.tile span{position:absolute;bottom:0;width:100%;padding:7px 4px;text-align:center;background:#03173391;font-weight:750}.brand{display:flex;gap:7px;overflow:auto}.brand div{background:#f2f5fa;border-radius:7px;padding:15px 9px;flex:1;min-width:85px;text-align:center;color:#082b73;font-weight:750}.banner{margin:6px 16px;background:linear-gradient(100deg,#fdf1e3aa,#d9e8f5bb),url('/assets/detail.jpg') center/cover;padding:20px;border-radius:10px;min-height:130px}.banner h2{font-size:23px;margin:3px 0 9px}.banner button{background:var(--navy);color:#fff;border:0;border-radius:5px;padding:9px 22px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.property-card{border:1px solid #e8edf4;border-radius:10px;overflow:hidden;box-shadow:0 2px 7px #0a1f4110;cursor:pointer;background:#fff}.property-card img{display:block;width:100%;height:107px;object-fit:cover}.property-card .pad{padding:9px}.property-card b{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:15px}.property-card small{color:#6f82a0;display:block;margin:5px 0}.price{color:#b66e0d;font-size:20px;font-weight:800}.price small{display:inline;font-size:11px;color:#b66e0d}.pill{display:inline-block;background:#edf3fa;color:#44648e;border-radius:5px;padding:4px 7px;margin:3px 3px 3px 0;font-size:11px}.nav{position:fixed;bottom:0;width:min(100%,520px);height:72px;background:white;display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 -3px 12px #081c3c15;z-index:25;padding-bottom:env(safe-area-inset-bottom)}.nav button{border:0;background:none;color:var(--navy);font-size:12px}.nav button.active{color:var(--gold)}.nav .emoji{display:block;font-size:25px;margin-bottom:4px}.filters{display:flex;gap:6px;padding:11px 12px;overflow-x:auto}.filters select{min-width:77px;border:0;background:#f1f5fb;border-radius:8px;color:var(--navy);padding:10px 5px;font-weight:650}.sort{display:flex;justify-content:space-between;padding:10px 16px;color:#566f97;font-size:13px;gap:8px}.sort button{background:none;border:0;color:inherit;padding:0}.sort .selected{color:var(--gold);font-weight:750}.list-card{display:flex;gap:11px;margin:9px 13px;padding:9px;background:white;border:1px solid #edf1f6;border-radius:11px;box-shadow:0 2px 8px #1333660c;cursor:pointer}.list-card img{width:44%;min-width:44%;height:142px;border-radius:7px;object-fit:cover}.list-card .info{min-width:0;flex:1}.info b{font-size:17px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info small{color:#627ca4;font-size:12px;display:block;margin:5px 0}.info .price{font-size:22px;margin-top:9px}.chip{display:inline-block;background:#f1f5fa;font-size:11px;padding:3px 5px;margin:4px 3px 0 0;border-radius:3px}.detail-cover{width:100%;height:250px;object-fit:cover}.detail-title{font-size:24px;font-weight:850;margin:8px 0 2px}.detail-en{font-size:13px;color:#576f93}.cream{background:#faf1e8;padding:15px;border-radius:10px;line-height:1.8;color:#574a3c}.two-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.feature{background:#f4f7fb;text-align:center;padding:14px 5px;border-radius:8px}.feature i{display:block;font-style:normal;font-size:26px;margin-bottom:7px;color:#b97931}.unit{border:1px solid var(--border);border-radius:9px;overflow:hidden;margin-bottom:8px}.unit img{width:100%;height:95px;object-fit:cover}.unit div{padding:8px}.sticky-cta{position:sticky;bottom:72px;background:#fff;padding:10px;display:flex;gap:7px;box-shadow:0 -3px 10px #092b6412}.sticky-cta button{flex:1;padding:13px 4px;border-radius:8px;border:1px solid #0b3270;background:#fff;color:var(--navy);font-size:13px;font-weight:750}.sticky-cta button:nth-child(2){background:#bd7827;border-color:#bd7827;color:#fff}.sticky-cta button:nth-child(3){background:#0b3270;color:#fff}.form{padding:15px}.form label{display:block;font-size:14px;margin:13px 0 6px;font-weight:700}.form input,.form select,.form textarea{width:100%;border:1px solid #e3eaf3;background:#f3f6fa;border-radius:8px;padding:13px;color:var(--navy)}.form textarea{min-height:88px}.form .primary{width:100%;margin-top:20px;padding:15px}.note{font-size:12px;color:#71809b;text-align:center;line-height:1.6;margin:13px 0}.box{margin:12px 16px;border:1px solid var(--border);border-radius:10px;padding:17px;background:#fff}.line{border-bottom:1px solid #eaf0f5;padding:14px 0;cursor:pointer}.line:last-child{border:0}.muted{color:#6c81a1;font-size:12px}.success{text-align:center;padding:55px 25px}.success .check{width:76px;height:76px;background:#e3f5ea;color:#20a762;font-size:46px;display:grid;place-items:center;border-radius:50%;margin:auto}.map{position:relative;min-height:470px;background:linear-gradient(27deg,#e4eadd 13%,#f0f4eb 14%,#ecf3ea 44%,#cbdfea 45%,#e7f1f5 49%,#f4f2e6 50%,#e4eadd 85%);overflow:hidden}.map:before{content:' ';position:absolute;inset:0;background:repeating-linear-gradient(31deg,transparent 0 36px,#fff9 37px 44px,transparent 45px 88px),repeating-linear-gradient(118deg,transparent 0 43px,#fff9 44px 49px,transparent 50px 110px)}.marker{position:absolute;background:#fff;border:2px solid var(--navy);border-radius:25px;color:var(--navy);font-weight:800;padding:8px;box-shadow:0 3px 5px #0002}.map-label{position:absolute;top:15px;left:15px;background:#fff;border-radius:6px;padding:8px;font-size:12px}.guide-banner{padding:38px 20px;background:linear-gradient(90deg,#eef5fcdd,#ffffff55),url('/assets/detail.jpg') center/cover}.guide-banner h1{margin:0}.tab-strip{display:flex;overflow:auto;gap:7px;padding:11px}.tab-strip button{border:0;border-radius:6px;background:#eef4fb;padding:10px;white-space:nowrap;color:var(--navy)}.tab-strip button.active{background:var(--navy);color:white}.empty{padding:60px 20px;text-align:center;color:#778aa4}.profile{padding:30px 20px;background:linear-gradient(#fff,#f7f9fd)}.profile h1{font-size:28px}.profile .avatar{font-size:45px;margin-right:14px}.profile-card{background:white;border-radius:12px;padding:20px;display:flex;align-items:center;box-shadow:0 3px 10px #092b6410}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 16px}.stats div{text-align:center;background:#f8fafd;padding:18px 2px;border-radius:10px}.stats b{display:block;font-size:25px;color:#bf7a24}.mini{font-size:12px}.hidden{display:none!important}

/* 宝塔预览版：更贴近原型的移动端导航和视觉层次 */
.hero{min-height:300px;padding:28px 23px 70px;background:linear-gradient(92deg,rgba(4,27,71,.9),rgba(8,42,93,.15)),url('/assets/lujiazui.jpg') center/cover}
.hero h1{font-size:28px;text-shadow:0 1px 10px #04214a77;padding-top:15px}
.hero>div:first-child{font-size:14px;font-weight:650}
.banner{min-height:155px;background:linear-gradient(95deg,#f8e7d3f5,#f8e7d385 48%,#fff0 80%),url('/assets/detail.jpg') right/cover}
.box,.property-card,.list-card{transition:box-shadow .15s ease,transform .15s ease}
.property-card:active,.list-card:active{transform:scale(.994)}
.nav button:focus-visible,.quick-item:focus-visible{outline:2px solid #b47825}
.search-wrap{z-index:2}.nav{box-shadow:0 -4px 18px #08255319}
@media(min-width:520px){.nav{left:50%;transform:translateX(-50%)}}

.runtime-error{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);width:min(92vw,480px);background:#fff1e8;color:#814c16;border:1px solid #efb776;padding:13px 16px;border-radius:9px;box-shadow:0 7px 32px #092b6526;z-index:1000}


/* V7.2 rental guide responsive layout: constrained media and readable article typography */
#app{width:100%;overflow-x:clip}
#app img{max-width:100%}
.guide-banner{min-height:166px;padding:29px 22px;background:linear-gradient(90deg,rgba(245,249,254,.96) 0%,rgba(245,249,254,.72) 50%,rgba(245,249,254,.12) 100%),url('/assets/detail.jpg') center/cover}
.guide-banner h1{font-size:26px;line-height:1.4;color:#092b65;letter-spacing:.4px}
.guide-banner p{font-size:13px;color:#3d5981}
.tab-strip{display:flex;overflow-x:auto;gap:8px;padding:12px 16px;background:#fff;scrollbar-width:none;position:relative;max-width:100%}
.tab-strip::-webkit-scrollbar{display:none}
.tab-strip button{flex:0 0 auto;white-space:nowrap;border-radius:7px;padding:10px 13px;font-size:13px;border:1px solid #e4ecf5;background:#f3f6fa;color:#173c73}
.tab-strip button.active{border-color:#0b326f;background:#0b326f;color:#fff;font-weight:700}
.guide-content{padding:17px 16px 10px;max-width:100%;min-width:0}
.guide-content h2{font-size:20px;margin:2px 0 8px;color:#0b326f;line-height:1.4}
.guide-subtitle{font-size:12px;color:#8190a5;margin:0 0 15px}
.article-row{display:flex;align-items:center;text-align:left;width:100%;max-width:100%;min-width:0;gap:12px;padding:11px;margin:0 0 12px;background:white;border:1px solid #e4ebf3;border-radius:11px;box-shadow:0 3px 14px #1533580b;color:#092b65;overflow:hidden}
.article-row>img{display:block;flex:0 0 106px;width:106px;min-width:0;height:96px;max-width:30%;object-fit:cover;border-radius:7px}
.article-summary{display:flex;flex:1 1 0;min-width:0;max-width:100%;flex-direction:column;gap:6px;overflow:hidden}
.article-summary strong{font-size:15px;font-weight:760;line-height:1.42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.article-summary small{font-size:12px;line-height:1.6;color:#667e9d;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}
.article-meta{font-size:12px;color:#be781e;font-weight:700}
.article-chevron{flex:0 0 8px;color:#60799e;font-size:21px}
.article-hero{padding:22px 19px 18px;background:linear-gradient(120deg,#f7f9fc,#e8f0f9);max-width:100%;min-width:0}
.article-hero p{font-size:12px;color:#6782a5;margin:0 0 8px}
.article-hero h1{font-size:23px;line-height:1.43;letter-spacing:.3px;margin:0;overflow-wrap:anywhere}
.article-body{display:block;width:100%;max-width:100%;padding:0 17px 18px;min-width:0;overflow:hidden}
.article-cover{width:100%;max-width:100%;margin:16px 0 20px;overflow:hidden;border-radius:11px;aspect-ratio:16/10;background:#eef3f8}
.article-cover img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover}
.article-text{font-size:15px;line-height:1.95;color:#334760;overflow-wrap:anywhere;word-break:break-word}
.article-text p{margin:0 0 17px}
.article-note{border-radius:8px;background:#f5f7fa;padding:13px;font-size:12px;color:#72829b;line-height:1.75;overflow-wrap:anywhere}
.guide-actions{display:flex;flex-wrap:wrap;gap:9px;padding:12px 16px 18px;max-width:100%}
.guide-actions button{min-height:42px;flex:1 1 100px;border-radius:8px;padding:10px 12px;font-weight:700;white-space:normal;font-size:13px}
.guide-actions .outline,.guide-back{border:1px solid #a6b9d3;background:#fff;color:#0b326f}
.guide-back{border-radius:8px;padding:11px 15px;min-height:40px}
.related-row{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:14px;padding:14px 9px;background:white;border:0;border-bottom:1px solid #edf0f4;color:#0b326f;font-weight:650;font-size:14px}
.related-row span{font-size:21px}
.guide-alert{background:#fff3e8;border:1px solid #e8bd85;border-radius:9px;padding:12px;font-size:13px;line-height:1.7}
@media(max-width:380px){.article-row>img{flex-basis:88px;width:88px;height:83px}.article-row{gap:9px}.article-summary strong{font-size:14px}.article-hero h1{font-size:21px}.guide-actions button{flex-basis:42%}}

/* V9: apartment + floor plan presentation. Never exceed mobile content width */
.apartment-floor-section{padding-top:14px;background:#fff;scroll-margin-top:57px}
.floor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.floor-head h2{font-size:21px;margin:0 0 5px}.floor-head p{font-size:12px;color:#637c9f;margin:0}.floor-head>b{color:#b67625;background:#f9efe5;padding:6px 10px;border-radius:6px;white-space:nowrap}
.floor-card-list{display:grid;gap:12px}.floor-card{border:1px solid #dde6f2;border-radius:12px;box-shadow:0 3px 12px #11294d0b;overflow:hidden;min-width:0}.floor-card-main{display:flex;align-items:stretch;text-align:left;width:100%;background:#fff;border:0;padding:0;color:#102d60;min-width:0}.floor-card-main>img{width:41%;height:150px;object-fit:cover;flex-shrink:0}.floor-card-info{padding:12px;display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.floor-card-info>b{font-size:17px}.floor-card-info>small{font-size:11px;color:#647a99}.floor-card-info>strong{font-size:19px;color:#b56b18}.floor-more{margin-top:auto;font-size:12px;color:#0c3978}.floor-card-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px;background:#f8fafc;border-top:1px solid #edf1f7}.floor-card-cta button{border:1px solid #adc3de;border-radius:7px;padding:10px;background:#fff;color:#0d316a;font-weight:700}.floor-card-cta button:last-child{background:#0e326d;color:white;border-color:#0e326d}
.unit-detail-cover{width:100%;aspect-ratio:4/3;background:#eef2f6}.unit-detail-cover img{display:block;width:100%;height:100%;object-fit:cover}.unit-thumbs{display:flex;overflow-x:auto;gap:8px;padding:11px 14px;scrollbar-width:thin}.unit-thumbs button{background:#fff;border:2px solid transparent;border-radius:8px;flex:0 0 84px;padding:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;color:#5d728e}.unit-thumbs button.active{border-color:#b97a34}.unit-thumbs img{display:block;width:100%;height:60px;object-fit:cover}.unit-thumbs small{padding:3px;font-size:10px}.unit-title{font-size:25px;margin:12px 0;color:#082b65}.unit-title small{font-size:12px;color:#6d83a2;font-weight:400}.unit-detail-price{color:#bb751f;font-size:26px;font-weight:800;margin:8px 0 18px}.unit-detail-price small{font-weight:400;font-size:11px;display:block;color:#74839a}.unit-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 23px}.unit-specs>div{border-radius:8px;background:#f2f6fb;padding:12px;text-align:center}.unit-specs strong{font-size:16px;display:block}.unit-specs small{display:block;color:#6a7e9b;margin-top:5px}.detail-paragraph{line-height:1.85;white-space:pre-line;overflow-wrap:anywhere;color:#445572}.unit-availability{background:#faf0e2;padding:14px;border-radius:8px;margin:20px 0}.unit-parent-project{border:1px solid #dde7f3;border-radius:10px;padding:9px;display:flex;gap:12px;cursor:pointer}.unit-parent-project img{height:83px;width:100px;object-fit:cover;border-radius:7px}.unit-parent-project div{display:flex;flex-direction:column;gap:7px;min-width:0}.unit-parent-project b{font-size:13px}.unit-parent-project small{font-size:11px;color:#6c809e}.unit-parent-project span{font-size:12px;color:#b27119}.booking-project{border-radius:9px;background:#eff5fa;border:1px solid #e1e9f3;padding:14px;display:flex;flex-direction:column;gap:7px}.booking-project span{font-size:16px;color:#b66d1b;font-weight:700}.booking-project small{font-size:11px;color:#6e819b}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-gallery img{width:100%;height:115px;object-fit:cover;border-radius:7px}
@media(max-width:370px){.floor-card-main>img{width:37%;height:145px}.floor-card-info{padding:9px}.floor-card-info strong{font-size:17px}.unit-title{font-size:21px}}
