:root{--blue:#287bea;--ink:#203047;--muted:#8290a3;--bg:#f4f7fb;--line:#e7edf5}*{box-sizing:border-box}html{background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Microsoft YaHei",sans-serif;color:var(--ink)}body{margin:0;padding-bottom:76px}.app-shell{max-width:860px;margin:auto}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fff;border-bottom:1px solid var(--line)}.topbar strong{color:var(--blue);font-size:20px;white-space:nowrap}.topbar form{display:flex}.topbar select,.topbar button{border:0;background:#fff;color:#637288}.topbar input{min-width:0;flex:1;padding:10px 13px;border:0;border-radius:20px;background:#f2f5f9;outline:0}.quick-entry{display:grid;grid-template-columns:repeat(5,1fr);gap:16px 4px;margin:15px 16px;padding:18px 8px;background:#fff;border-radius:18px}.quick-entry button{display:flex;flex-direction:column;align-items:center;gap:7px;border:0;background:transparent;color:#53647a;font-size:12px}.quick-entry i{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;color:#fff;font-style:normal;font-size:18px;font-weight:700}.blue{background:#4b91ef}.yellow{background:#e9b847}.green{background:#45bf9f}.teal{background:#40bfc4}.red{background:#fa6d72}.orange{background:#ff9e4d}.pink{background:#d978bd}.cyan{background:#57a9d7}.purple{background:#8f7bf0}.gray{background:#a9b2bf}.notice{display:block;width:calc(100% - 32px);margin:0 16px;padding:14px 16px;border:0;border-radius:14px;background:#fff;color:#637288;text-align:left}.notice b{margin-right:10px;color:var(--blue)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 16px}.feature{min-height:115px;padding:17px;border:0;border-radius:18px;text-align:left}.feature strong,.feature span,.feature b{display:block}.feature span{margin-top:7px;color:#6c7b91;font-size:12px}.feature b{margin-top:18px;color:var(--blue);font-size:12px}.blue-feature{background:#eaf3ff}.green-feature{background:#edf9f5}.green-feature b{color:#18a27c}.section{margin:14px 16px;padding:18px 16px;border-radius:18px;background:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:13px}.section-head h1,.section-head h2{margin:0;font-size:20px}.section-head span,.disclaimer{color:var(--muted);font-size:12px}.filters{display:flex;gap:7px;overflow:auto;margin-bottom:13px}.filters button{flex:none;padding:7px 12px;border:0;border-radius:17px;background:#f1f4f8;color:#68778b;font-size:12px}.filters button.active{background:#e5efff;color:var(--blue);font-weight:700}.filters select{margin-left:auto;border:0;color:#8290a3;white-space:nowrap}.house-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.house-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.house-image{position:relative;height:135px;background:#edf2f7}.house-image a{display:block;height:100%}.house-image img{width:100%;height:100%;object-fit:cover}.sale-tag{position:absolute;top:8px;left:8px;padding:3px 6px;border-radius:5px;background:#287beadd;color:#fff;font-size:10px}.favorite{position:absolute;top:6px;right:6px;width:29px;height:29px;border:0;border-radius:50%;background:#ffffffe6;color:#ec6674;font-size:20px}.house-info{display:block;padding:11px;color:inherit;text-decoration:none}.house-info h2{margin:0;overflow:hidden;font-size:15px;white-space:nowrap;text-overflow:ellipsis}.house-info p{margin:7px 0 0;overflow:hidden;color:var(--muted);font-size:11px;white-space:nowrap;text-overflow:ellipsis}.tags{display:flex;gap:4px;margin-top:8px}.tags span{padding:3px 5px;background:#f1f5fa;color:#8290a3;font-size:10px}.price{display:block;margin-top:9px;color:#f26b50;font-size:15px}.news-card{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.news-card span{padding:5px 7px;border-radius:6px;background:#fff0ed;color:#f06c55;font-size:11px}.news-card h3{flex:1;margin:0;overflow:hidden;font-size:14px;white-space:nowrap;text-overflow:ellipsis}.news-card button{padding:6px 9px;border:0;border-radius:15px;background:#edf4ff;color:var(--blue);font-size:11px}.tabbar{position:fixed;z-index:8;right:0;bottom:0;left:0;display:flex;justify-content:center;background:#fffffff7;border-top:1px solid var(--line);box-shadow:0 -4px 18px #1e416e0f}.tabbar button{display:flex;max-width:190px;flex:1;flex-direction:column;gap:3px;align-items:center;padding:9px;border:0;background:transparent;color:#98a4b4;font-size:12px}.tabbar button.active{color:var(--blue)}dialog{width:min(440px,calc(100% - 32px));padding:27px;border:0;border-radius:22px;box-shadow:0 15px 60px #18365a33}dialog::backdrop{background:#17355a66}dialog h2{margin-top:4px}.close{float:right;border:0;background:#f3f6fa;border-radius:50%;font-size:20px}.primary{display:block;width:100%;padding:13px;border:0;border-radius:25px;background:var(--blue);color:#fff;text-align:center;text-decoration:none}dialog label{display:block;margin:12px 0;color:#617086;font-size:12px}dialog input,dialog select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:9px}#toast{position:fixed;bottom:90px;left:50%;padding:9px 16px;transform:translateX(-50%);border-radius:20px;background:#203047;color:#fff;font-size:12px}@media(max-width:480px){.topbar{padding:12px 10px}.topbar strong{font-size:17px}.quick-entry,.feature-grid,.section{margin-left:12px;margin-right:12px}.house-image{height:112px}}
.page-shell{width:min(100% - 32px,980px);margin:24px auto}.page-head{display:flex;align-items:center;gap:18px;padding:18px 0}.page-head h1{margin:0;font-size:24px}.page-head>a{color:var(--blue);text-decoration:none}.page-head>span{margin-left:auto;color:var(--muted)}.profile{display:flex;align-items:center;gap:16px;min-height:110px;background:linear-gradient(120deg,#eaf3ff,#fff)}.profile p{margin:8px 0 0;color:var(--muted)}.avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#dceaff;color:var(--blue);font-size:30px}.login-panel{max-width:560px;margin:22px auto}.login-panel label{display:block;margin:16px 0;color:#617086;font-size:13px}.login-panel input{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:10px;font:inherit}.code-row{display:flex;gap:10px}.code-row input{flex:1}.code-row button{margin-top:7px;padding:0 14px;border:0;border-radius:10px;background:#eaf3ff;color:var(--blue);white-space:nowrap}.code-row button:disabled{opacity:.6}.menu-list a{display:flex;justify-content:space-between;padding:16px 2px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.menu-list a:last-child{border:0}.menu-list a span{color:var(--muted)}#login-message{min-height:20px;color:#e66;font-size:13px}.tabbar a{display:flex;max-width:190px;flex:1;flex-direction:column;gap:3px;align-items:center;padding:9px;color:#98a4b4;text-decoration:none;font-size:12px}.tabbar a.active{color:var(--blue)}.detail-page{padding-bottom:150px}
@media(min-width:900px){.app-shell{width:min(100%,980px)}.topbar{padding:18px 24px}.house-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.house-image{height:190px}.quick-entry{margin:20px 24px;padding:24px}.section{margin:18px 24px;padding:24px}.feature-grid{margin:18px 24px}.notice{width:calc(100% - 48px);margin:0 24px}.page-shell .section{margin-left:0;margin-right:0}.tabbar a{padding:12px;font-size:14px}}
@media(max-width:600px){.page-shell{width:100%;margin:0 auto}.page-head{padding:16px}.page-head h1{font-size:20px}.page-shell main>.section{margin:0 12px 14px}.login-panel{margin-top:14px}.profile{margin-top:8px!important}} .quick-link{display:flex;flex-direction:column;align-items:center;gap:7px;color:#53647a;text-decoration:none;font-size:12px}.quick-link i{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;color:#fff;font-style:normal;font-size:18px;font-weight:700} .house-category{margin:0 0 22px}.house-category .section-head{margin:0 0 12px}.house-category .section-head h2{margin:0;font-size:18px}.house-category .section-head span{font-size:12px;color:var(--muted)} .news-copy{min-width:0;flex:1}.news-copy h3{margin:0 0 5px;overflow:hidden;font-size:14px;white-space:nowrap;text-overflow:ellipsis}.news-copy p{display:-webkit-box;margin:0;overflow:hidden;color:#8290a3;font-size:12px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.app-shell footer.disclaimer{display:block;margin:24px 16px 12px;padding:22px 16px;text-align:center;color:#8996a8;font-size:12px;line-height:2;border-top:1px solid #e1e8f1;overflow-wrap:anywhere}.app-shell footer.disclaimer::first-line{color:#60758f;font-size:16px;font-weight:600;letter-spacing:2px}@media(max-width:480px){.app-shell footer.disclaimer{margin:20px 12px 12px;padding:18px 12px}.app-shell footer.disclaimer::first-line{font-size:14px;letter-spacing:1px}}

.find-page{background:#f5f7fb}.find-shell{max-width:980px;margin:auto;padding:18px 16px 86px}.find-head{display:flex;align-items:center;gap:14px}.find-head form{flex:1}.find-search{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:28px;background:#fff;color:var(--blue);box-shadow:0 5px 18px #3b5b8912}.find-search input{min-width:0;flex:1;border:0;outline:0;font-size:16px}.find-search button{border:0;background:transparent;color:var(--blue)}.city-label{color:var(--ink);font-size:18px;text-decoration:none}.chip-row{display:flex;gap:10px;overflow:auto;padding:16px 0 5px;white-space:nowrap}.chip{display:inline-block;padding:10px 20px;border-radius:24px;background:#fff;color:#6c798a;text-decoration:none;box-shadow:0 2px 8px #3b5b890d}.chip.selected{background:#e5f0ff;color:#287bea;border:1px solid #a8ccff}.category-row .chip{padding:12px 25px;font-size:16px}.filter-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.filter-row select{width:100%;padding:12px 10px;border:0;border-radius:25px;background:#fff;color:#667488;text-align:center;font-size:14px}.find-result{display:flex;justify-content:space-between;align-items:center;margin:24px 2px 14px;color:#8290a3}.find-result strong{color:#203047;font-size:20px}.find-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.find-card{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 3px 16px #3b5b8914}.find-cover{position:relative;display:block;height:clamp(150px,24vw,250px);background:#e8eef6}.find-cover img{width:100%;height:100%;object-fit:cover}.find-cover b,.find-cover i{position:absolute;top:12px;padding:7px 12px;border-radius:18px;color:#fff;font-style:normal}.find-cover b{left:12px;background:#287bea}.find-cover i{right:12px;background:#ffffffe8;color:#68778b;font-size:24px}.find-info{display:block;padding:14px 15px;color:inherit;text-decoration:none}.find-info h2{margin:0 0 8px;font-size:18px}.find-info p{margin:6px 0;overflow:hidden;color:#9aa5b3;font-size:13px;white-space:nowrap;text-overflow:ellipsis}.find-tag{display:inline-block;margin:5px 0;padding:5px 8px;border-radius:4px;background:#f0f4fa;color:#72839a;font-size:12px}.find-info div{display:flex;align-items:end;justify-content:space-between;margin-top:7px}.find-info strong{color:#ed634d;font-size:21px}.find-info em{color:#8d99a8;font-size:12px;font-style:normal}.find-empty{grid-column:1/-1;padding:50px;text-align:center;color:var(--muted)}
@media(min-width:900px){.find-shell{padding-left:24px;padding-right:24px}.find-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.find-cover{height:220px}}
@media(max-width:600px){.find-shell{padding:10px 12px 82px}.city-label{font-size:16px}.chip{padding:9px 16px}.category-row .chip{padding:10px 18px}.filter-row{gap:7px}.filter-row select{font-size:12px;padding:11px 3px}.find-result strong{font-size:18px}.find-grid{gap:10px}.find-info{padding:11px}.find-info h2{font-size:16px}.find-info strong{font-size:18px}.find-info em{font-size:10px}}

/* Home typography tuned for the mini-program scale. */
.topbar>strong{display:none}.topbar{gap:8px}.topbar select{max-width:92px;padding:6px 2px;font-size:14px}.topbar input{padding:8px 12px;font-size:13px}.quick-entry button{font-size:11px}.quick-entry i{width:40px;height:40px;font-size:16px}.notice{padding:10px 12px;font-size:11px}.feature{min-height:105px;padding:14px}.feature strong{font-size:15px}.feature span,.feature b{font-size:11px}.section{padding:15px 12px}.section-head h1,.section-head h2{font-size:18px}.section-head span,.disclaimer{font-size:11px}.house-grid{gap:9px}.house-card{border-radius:12px}.house-image{height:clamp(110px,39vw,180px)}.house-info{padding:8px}.house-info h2{font-size:14px}.house-info p{margin-top:4px;font-size:10px}.tags{display:none}.price{margin-top:5px;font-size:15px}.news-card{gap:8px;padding:10px 0}.news-card span,.news-card h3,.news-card button{font-size:11px}.tabbar button{font-size:11px}@media(max-width:480px){.topbar{padding:10px}.topbar select{font-size:13px}.house-image{height:112px}.section-head h1,.section-head h2{font-size:17px}}

/* Global mini-program typography scale. */
body{font-size:13px}.topbar strong{font-size:16px}.topbar select,.topbar button{font-size:12px}.topbar input{font-size:12px}.quick-entry button{font-size:10px}.quick-entry i{font-size:15px}.notice{font-size:11px}.feature strong{font-size:14px}.feature span,.feature b{font-size:10px}.section-head h1,.section-head h2{font-size:17px}.section-head span,.disclaimer{font-size:10px}.filters button,.filters select{font-size:11px}.house-info h2{font-size:13px}.house-info p{font-size:10px}.price{font-size:14px}.news-card h3{font-size:12px}.news-card span,.news-card button{font-size:10px}.find-search input{font-size:13px}.city-label{font-size:15px}.chip{font-size:12px}.category-row .chip{font-size:13px}.filter-row select{font-size:11px}.find-result strong{font-size:17px}.find-result{font-size:11px}.find-info h2{font-size:14px}.find-info p{font-size:11px}.find-info strong{font-size:16px}.find-info em{font-size:10px}.find-tag{font-size:10px}.tabbar button{font-size:10px}.page-head h1{font-size:18px}.login-panel h1,.profile h1{font-size:20px}

/* User-requested half-size typography across mini front-end pages. */
body{font-size:6.5px!important}.topbar strong{font-size:8px!important}.topbar select,.topbar button,.topbar input{font-size:6px!important}.quick-entry button{font-size:5px!important}.quick-entry i{font-size:7.5px!important}.notice{font-size:5.5px!important}.feature strong{font-size:7px!important}.feature span,.feature b{font-size:5px!important}.section-head h1,.section-head h2{font-size:8.5px!important}.section-head span,.disclaimer{font-size:5px!important}.filters button,.filters select{font-size:5.5px!important}.house-info h2{font-size:6.5px!important}.house-info p{font-size:5px!important}.price{font-size:7px!important}.sale-tag{font-size:5px!important}.favorite{font-size:10px!important}.news-card h3{font-size:6px!important}.news-card span,.news-card button{font-size:5px!important}.find-search input{font-size:6.5px!important}.city-label{font-size:7.5px!important}.chip{font-size:6px!important}.category-row .chip{font-size:6.5px!important}.filter-row select{font-size:5.5px!important}.find-result strong{font-size:8.5px!important}.find-result{font-size:5.5px!important}.find-info h2{font-size:7px!important}.find-info p{font-size:5.5px!important}.find-info strong{font-size:8px!important}.find-info em,.find-tag{font-size:5px!important}.tabbar button,.tabbar a{font-size:5px!important}.page-head h1{font-size:9px!important}.login-panel h1,.profile h1{font-size:10px!important}.detail-page h1,.detail-page h2,.detail-page h3{font-size:9px!important}.detail-page p,.detail-page span,.detail-page li{font-size:6px!important}

/* Screenshot-matched mobile typography. */
body{font-size:14px!important}.topbar select{font-size:15px!important}.topbar input{font-size:13px!important}.quick-entry button{font-size:11px!important}.quick-entry i{font-size:16px!important}.notice{font-size:12px!important}.feature strong{font-size:16px!important}.feature span,.feature b{font-size:11px!important}.section-head h1,.section-head h2{font-size:18px!important}.section-head span,.disclaimer{font-size:11px!important}.filters button,.filters select{font-size:12px!important}.house-info h2{font-size:15px!important}.house-info p{font-size:11px!important}.price{font-size:16px!important}.sale-tag{font-size:10px!important}.favorite{font-size:20px!important}.news-card h3{font-size:14px!important}.news-card span,.news-card button{font-size:11px!important}.find-search input{font-size:14px!important}.city-label{font-size:17px!important}.chip{font-size:13px!important}.category-row .chip{font-size:14px!important}.filter-row select{font-size:12px!important}.find-result strong{font-size:19px!important}.find-result{font-size:12px!important}.find-info h2{font-size:16px!important}.find-info p{font-size:12px!important}.find-info strong{font-size:18px!important}.find-info em,.find-tag{font-size:11px!important}.tabbar button,.tabbar a{font-size:12px!important}.page-head h1{font-size:20px!important}.login-panel h1,.profile h1{font-size:22px!important}

/* Smaller, refined favorite control on listing cards. */
.house-image .favorite{top:7px;right:7px;width:24px;height:24px;padding:0;border:1px solid #ffffffa8;border-radius:50%;background:#17253a66;color:#fff;font-size:15px!important;line-height:22px;box-shadow:0 1px 4px #0002}.house-image .favorite[aria-pressed=true]{background:#fff;color:#f26472;border-color:#fff}

.phone-auth-dialog{width:min(420px,calc(100% - 36px));padding:24px;border:0;border-radius:20px;box-shadow:0 16px 50px #19335433}.phone-auth-dialog::backdrop{background:#142b4966}.phone-auth-dialog h2{margin:0 0 8px;font-size:20px}.phone-auth-dialog>p{color:#8290a3;font-size:13px}.phone-auth-dialog label{display:block;margin:14px 0;color:#53647a;font-size:13px}.phone-auth-dialog input{width:100%;margin-top:7px;padding:12px;border:1px solid #e3e9f1;border-radius:9px;font-size:14px}.phone-code-row{display:flex;gap:8px}.phone-code-row button{flex:0 0 auto;margin-top:7px;padding:0 10px;border:0;border-radius:9px;background:#eef4ff;color:#287bea}.phone-auth-message{min-height:18px;color:#e66b57;font-size:12px}

/* Purchase-demand dialog: scoped typography and mobile bottom sheet. */
.phone-auth-dialog {
    width: min(440px, calc(100% - 28px));
    max-height: 90vh;
    max-height: 90dvh;
    padding: 0;
    overflow-y: auto;
    border-radius: 24px;
    background: #fff;
}
.floating-phone-consult {
    position: fixed;
    right: max(12px, calc((100vw - 980px) / 2 + 12px));
    bottom: calc(112px + env(safe-area-inset-bottom));
    z-index: 20;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    width: 44px;
    padding: 13px 9px;
    border: 1px solid #ffffff38;
    border-radius: 23px;
    background: linear-gradient(160deg, #568eff, #2463ef);
    box-shadow: 0 5px 16px #2869ed40;
    color: #fff;
    text-decoration: none;
    transition: transform .2s ease;
}
.floating-phone-consult svg {
    width: 19px;
    height: 19px;
    fill: currentColor;
}
.floating-phone-consult span,
.detail-page .floating-phone-consult span {
    writing-mode: vertical-rl;
    letter-spacing: 3px;
    font-size: 14px !important;
    line-height: 1.3;
}
.floating-phone-consult:hover { transform: translateY(-2px); }
.floating-phone-consult:focus-visible { outline: 3px solid #9ec5ff; outline-offset: 3px; }
.phone-auth-dialog .close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1;
    width: 28px;
    height: 28px;
    color: #71839b;
    background: #ffffffcc;
}
.phone-auth-dialog .needs-hero {
    padding: 26px 24px 20px;
    background: linear-gradient(130deg, #e7f1ff, #f3f7ff 65%, #e7f7f3);
}
.phone-auth-dialog .needs-eyebrow {
    color: #3577cf;
    font-size: 11px !important;
    letter-spacing: 2px;
}
.phone-auth-dialog h2 {
    margin: 10px 0;
    color: #1c365b;
    font-size: 21px !important;
    line-height: 1.4;
}
.phone-auth-dialog .needs-hero p {
    color: #687d99;
    font-size: 12px !important;
    line-height: 1.7;
}
.phone-auth-dialog .needs-benefits {
    display: flex;
    gap: 8px;
    margin-top: 14px;
}
.phone-auth-dialog .needs-benefits span {
    padding: 5px 8px;
    border-radius: 6px;
    background: #ffffffb3;
    color: #3b78c5;
    font-size: 11px !important;
}
.phone-auth-dialog form { padding: 4px 22px 20px; }
.phone-auth-dialog .needs-options {
    margin: 18px 0;
    padding: 0;
    border: 0;
}
.phone-auth-dialog legend { font-size: 14px; font-weight: 600; }
.phone-auth-dialog legend small { color: #93a0b1; font-size: 11px; font-weight: 400; }
.phone-auth-dialog .needs-selects { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.phone-auth-dialog label { font-size: 12px !important; }
.phone-auth-dialog input,
.phone-auth-dialog select,
.phone-auth-dialog textarea {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 10px;
    margin-top: 7px;
    border: 1px solid #e3eaf3;
    border-radius: 10px;
    background: #f8fafd;
    color: #344b68;
    font-family: inherit;
    font-size: 13px !important;
}
.phone-auth-dialog textarea { min-height: 62px; resize: vertical; }
.phone-auth-dialog .needs-consent { display: flex; gap: 7px; align-items: flex-start; color: #8a97a9; font-size: 11px !important; line-height: 1.6; }
.phone-auth-dialog .needs-consent input { width: 15px; height: 15px; flex: 0 0 15px; margin: 2px 0 0; accent-color: #287bea; }
.phone-auth-dialog .primary { padding: 13px 8px; font-size: 14px !important; background: linear-gradient(100deg, #3188f4, #2366e7); box-shadow: 0 6px 16px #287bea26; }
.phone-auth-dialog .needs-footnote { text-align: center; color: #95a1b1; font-size: 10px !important; }
.phone-auth-dialog [hidden] { display: none !important; }
.phone-auth-dialog button:disabled { opacity: .6; cursor: wait; }
@media (max-width: 600px) {
    .phone-auth-dialog {
        width: calc(100% - 32px);
        max-width: 440px;
        margin: auto;
        border-radius: 24px;
    }
    .phone-auth-dialog form { padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
}

.ai-chat-mask{position:fixed;inset:0;z-index:100;background:#18263e7a;display:flex;align-items:flex-end}.ai-chat-panel{width:min(100%,620px);max-height:88vh;margin:0 auto;overflow:hidden;border-radius:24px 24px 0 0;background:#f5f7fc;box-shadow:0 -8px 35px #1d365833}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:#fff;border-bottom:1px solid #e8edf5}.ai-chat-header strong{display:block;color:#172236;font-size:17px}.ai-chat-header small{display:block;margin-top:4px;color:#77849a;font-size:11px}.ai-chat-header button{border:0;background:transparent;color:#60708a;font-size:26px}.ai-chat-messages{height:52vh;overflow-y:auto;padding:18px}.ai-chat-message{max-width:84%;margin:0 0 14px;padding:11px 13px;border-radius:5px 16px 16px;color:#344258;background:#fff;box-shadow:0 3px 12px #213b650b;font-size:14px;line-height:1.75;white-space:pre-wrap;word-break:break-word}.ai-chat-message.user{margin-left:auto;border-radius:16px 5px 16px 16px;color:#fff;background:#386eea}.ai-chat-suggestions{display:flex;gap:8px;overflow-x:auto;padding:10px 14px}.ai-chat-suggestions button{flex:0 0 auto;padding:7px 10px;border:0;border-radius:16px;background:#e8f0ff;color:#3674d7;font-size:11px}.ai-chat-input{display:flex;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff}.ai-chat-input input{min-width:0;flex:1;padding:11px 13px;border:1px solid #e1e8f1;border-radius:22px;outline:0;font-size:13px}.ai-chat-input button{padding:0 16px;border:0;border-radius:22px;background:#287bea;color:#fff;font-size:13px}@media(min-width:601px){.ai-chat-mask{align-items:center;padding:20px}.ai-chat-panel{border-radius:24px}.ai-chat-messages{height:420px}}

/* Online consultation follows the mini-program floating position. */
.floating-phone-consult{top:58%;bottom:auto;transform:translateY(-50%);border:0;cursor:pointer}.floating-phone-consult:hover{transform:translateY(-54%)}
.ai-chat-mask[hidden] {
    display: none !important;
}
body.consult-chat-open {
    overflow: hidden;
}
.ai-chat-input button:disabled {
    opacity: .6;
    cursor: wait;
}
.ai-chat-panel {
    display: flex;
    flex-direction: column;
    max-height: 88dvh;
}
.ai-chat-messages {
    min-height: 0;
    flex-shrink: 1;
    overscroll-behavior: contain;
}
.ai-chat-header,
.ai-chat-input,
.ai-chat-suggestions {
    flex-shrink: 0;
}
#city-form {
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}
#city-form #city-select {
    min-height: 36px;
    font-size: 16px !important;
    font-weight: 600;
}
#city-form button {
    min-height: 36px;
    padding: 0 6px;
    color: #637288;
    font-size: 14px !important;
    white-space: nowrap;
}
