/* ============================================================
   estate.css — alila.ai 房产频道 专属样式
   复用 app.css 的导航/卡片/工作台外壳，仅补充房产特有组件
   ============================================================ */

/* —— 粒度切换（楼盘 / 户型 / 房源）—— */
.grain-seg{display:inline-flex;gap:2px;background:#eef0f2;padding:3px;border-radius:10px;flex-shrink:0;}
.grain-opt{padding:6px 14px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--t2);transition:.13s;white-space:nowrap;}
.grain-opt:hover{color:var(--t1);}
.grain-opt.on{background:#fff;color:var(--blue);box-shadow:0 1px 3px rgba(0,0,0,.08);}

/* —— 房产卡片封面变体 —— */
.cov-radar{background:linear-gradient(180deg,#fbfcfd,#f1f3f6);padding:14px 14px 0;display:flex;flex-direction:column;}
.cov-radar-foot{margin-top:auto;padding:10px 4px 12px;display:flex;align-items:baseline;gap:8px;}
.cov-radar-pct{font-size:30px;font-weight:800;letter-spacing:-1px;color:var(--blue);line-height:1;}
.cov-radar-lbl{font-size:12px;color:var(--t2);font-weight:600;}

.cov-event{background:#fbfcfd;display:flex;flex-direction:column;}
.cov-event-chart{flex:1;padding:12px 8px 0;position:relative;}
.cov-event-foot{display:flex;align-items:center;gap:8px;padding:9px 14px 12px;}
.cov-event-cat{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;color:#fff;}
.cov-event-stat{font-size:12.5px;font-weight:700;color:var(--t1);}
.cov-event-stat b{font-family:var(--mono);}

.cov-heat{background:#fbfcfd;padding:14px 16px;display:flex;flex-direction:column;gap:3px;justify-content:center;}
.cov-heat-grid{display:grid;gap:3px;}
.cov-heat-cell{height:13px;border-radius:3px;}
.cov-heat-lbl{font-size:11.5px;color:var(--t2);font-weight:600;margin-top:8px;}

/* 房产 stat 封面的迷你户型条 */
.cov-uspark{position:absolute;left:0;right:0;bottom:0;height:60px;display:flex;align-items:flex-end;gap:3px;padding:0 16px 0;}
.cov-uspark i{flex:1;border-radius:3px 3px 0 0;background:var(--blue);opacity:.18;}

/* —— 工作台：户型头部补充 —— */
.th-utype{display:flex;flex-direction:column;gap:3px;}
.th-uname{font-size:20px;font-weight:800;letter-spacing:-.5px;display:flex;align-items:center;gap:9px;}
.th-uproj{font-size:12.5px;color:var(--t3);}
.th-uproj b{color:var(--t2);font-weight:600;}
.utag{font-size:11px;font-weight:700;padding:2px 9px;border-radius:7px;background:var(--blue-soft);color:var(--blue);}

.th-pxblock{display:flex;align-items:baseline;gap:10px;}
.th-unit{font-size:13px;color:var(--t3);font-weight:600;}

/* —— 工作台：房产两行头部 —— */
.th.th-estate{height:auto;flex-direction:column;align-items:stretch;gap:0;padding:0 22px;}
.th-row{display:flex;align-items:center;min-width:0;}
.th-row-crumbs{gap:14px;height:46px;border-bottom:1px solid var(--line);}
.th-row-crumbs .th-back{padding:5px 11px 5px 7px;font-size:13px;white-space:nowrap;flex-shrink:0;}
.th-row-crumbs .crumbs{flex:1;min-width:0;overflow-x:auto;flex-wrap:nowrap;margin-bottom:0;scrollbar-width:none;}
.th-row-crumbs .crumbs::-webkit-scrollbar{display:none;}
.th-row-crumbs .crumb{white-space:nowrap;flex-shrink:0;}
.th-crumb-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto;}
.th-crumb-actions .th-1pager{margin-left:0;padding:6px 12px;font-size:12.5px;}
.th-crumb-actions .th-watch{margin-left:0;padding:6px 14px;font-size:12.5px;border-radius:9px;}
.th-row-id{gap:26px;height:62px;}
.th-row-id .th-utype{flex-shrink:0;max-width:34%;}
.th-row-id .th-uname{white-space:nowrap;}
.th-row-id .th-uproj{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.th-row-id .th-pxblock{flex-shrink:0;white-space:nowrap;padding:0 22px;border-left:1px solid var(--line);border-right:1px solid var(--line);align-self:stretch;display:flex;align-items:center;}
.th-row-id .th-chg{font-size:13px;}
.th-row-id .th-stats{flex:1;min-width:0;margin-left:0;justify-content:space-between;max-width:560px;overflow:hidden;}
.th-row-id .th-stat{white-space:nowrap;}
@media(max-width:1280px){.th-row-id .th-stat:nth-child(n+5){display:none;}}
@media(max-width:1100px){.th-row-id .th-stats{display:none;}.th-row-id{height:58px;}}
.th-unit{white-space:nowrap;}

/* 右栏 kicker 不换行 */
.op-kicker{white-space:nowrap;}

/* —— 产业卡封面脚注 —— */
.cov-ind-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px 0;}
.cov-ind-name{font-size:13px;font-weight:800;color:var(--t1);}
.cov-ind-name em{font-style:normal;font-size:10.5px;font-weight:600;color:var(--t3);margin-left:6px;}
.cov-ind-stat{font-size:11px;color:var(--t2);white-space:nowrap;}

/* —— 视图切换（可比对齐 / 价格事件 / 楼栋热力）—— */
.view-toggle{display:flex;gap:2px;background:#eef0f2;padding:3px;border-radius:10px;}
.view-opt{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--t2);transition:.13s;}
.view-opt:hover{color:var(--t1);}
.view-opt.on{background:#fff;color:var(--blue);box-shadow:0 1px 3px rgba(0,0,0,.08);}
.view-opt .vo-dot{width:7px;height:7px;border-radius:50%;background:currentColor;}

/* —— 可比对齐：雷达 + 维度面板 —— */
.align-host{flex-shrink:0;background:#fff;border-radius:14px;border:1px solid var(--line);overflow:hidden;}
.align-grid{display:grid;grid-template-columns:minmax(360px,1.1fr) 1fr;min-height:430px;}
@media(max-width:1180px){.align-grid{grid-template-columns:1fr;}}
.radar-pane{position:relative;padding:18px;border-right:1px solid var(--line);display:flex;flex-direction:column;}
.radar-pane:last-child{border-right:none;}
.radar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;}
.radar-title{font-size:13px;font-weight:700;color:var(--t1);}
.radar-svg-wrap{flex:1;display:grid;place-items:center;min-height:300px;}
.radar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;}
.rl{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--t2);}
.rl i{width:13px;height:3px;border-radius:2px;}
.rl.self{color:var(--t1);font-weight:700;}

/* 综合分位面板 */
.score-pane{padding:18px 20px;display:flex;flex-direction:column;}
.score-big{display:flex;align-items:flex-end;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.score-pct{font-size:60px;font-weight:800;letter-spacing:-3px;line-height:.88;color:var(--blue);font-family:var(--mono);}
.score-cap{padding-bottom:6px;}
.score-cap-t{font-size:14px;font-weight:700;color:var(--t1);}
.score-cap-s{font-size:12px;color:var(--t2);margin-top:4px;line-height:1.5;}
.score-rank{font-size:12px;color:var(--t3);margin-top:3px;}
.score-rank b{color:var(--blue);font-weight:700;}

.dimbars{display:flex;flex-direction:column;gap:9px;margin-top:16px;flex:1;overflow-y:auto;}
.dimbar{display:flex;align-items:center;gap:10px;}
.dimbar-k{flex-shrink:0;width:58px;font-size:12px;font-weight:600;color:var(--t2);}
.dimbar-track{flex:1;height:8px;border-radius:5px;background:#eef0f2;overflow:hidden;position:relative;}
.dimbar-fill{height:100%;border-radius:5px;background:var(--blue);transition:width .5s cubic-bezier(.2,.7,.3,1);}
.dimbar-fill.weak{background:#e8852b;}
.dimbar-fill.mid{background:#3a6df0;}
.dimbar-fill.strong{background:#15a35a;}
.dimbar-v{flex-shrink:0;width:74px;text-align:right;font-size:12px;font-weight:700;color:var(--t1);font-family:var(--mono);}
.dimbar-v em{font-style:normal;font-size:10.5px;color:var(--t3);font-weight:500;margin-left:2px;}

/* —— 价格事件对齐图 —— */
.ev-align-host{flex-shrink:0;height:46vh;min-height:330px;background:#fff;border-radius:14px;border:1px solid var(--line);overflow:hidden;position:relative;}
.eva-info{position:absolute;left:14px;top:12px;max-width:60%;background:rgba(255,255,255,.62);backdrop-filter:blur(3px);border:1px solid rgba(238,240,242,.7);border-radius:11px;padding:10px 13px;pointer-events:none;}
.eva-h{font-size:14px;font-weight:800;color:var(--t1);letter-spacing:-.2px;display:flex;align-items:center;gap:8px;}
.eva-badge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:6px;color:#fff;flex-shrink:0;}
.eva-stat{font-size:12.5px;color:var(--t2);margin-top:6px;line-height:1.5;}
.eva-stat b{font-weight:800;color:var(--t1);font-family:var(--mono);}
.eva-stat b.up{color:var(--up);}
.eva-stat b.down{color:var(--down);}
.eva-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:9px;}
.eva-lg{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--t2);}
.eva-lg.self{color:var(--t1);font-weight:700;}
.eva-lg i{width:13px;height:3px;border-radius:2px;}
.eva-t0{position:absolute;font-size:10.5px;font-weight:700;color:#fff;background:#1a1d21;padding:1px 7px;border-radius:5px;pointer-events:none;}

/* —— 楼栋热力图 —— */
.heat-host{flex-shrink:0;background:#fff;border-radius:14px;border:1px solid var(--line);padding:16px 18px;}
.heat-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.heat-metric{display:flex;gap:2px;background:#eef0f2;padding:3px;border-radius:9px;}
.heat-m{padding:5px 12px;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--t2);transition:.13s;}
.heat-m:hover{color:var(--t1);}
.heat-m.on{background:#fff;color:var(--blue);box-shadow:0 1px 3px rgba(0,0,0,.08);}
.heat-legend{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--t3);}
.heat-scale{display:flex;width:120px;height:8px;border-radius:4px;overflow:hidden;}
.heat-scale i{flex:1;}

.heat-board{display:flex;gap:18px;overflow-x:auto;padding-bottom:6px;}
.heat-bld{flex-shrink:0;}
.heat-bld-name{font-size:12px;font-weight:700;color:var(--t2);margin-bottom:8px;text-align:center;}
.heat-rows{display:flex;flex-direction:column-reverse;gap:3px;}
.heat-row{display:flex;gap:3px;align-items:center;}
.heat-floor{width:26px;font-size:10px;color:var(--t3);font-family:var(--mono);text-align:right;flex-shrink:0;}
.heat-cell{width:30px;height:22px;border-radius:4px;display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff;cursor:pointer;transition:transform .1s,box-shadow .1s;position:relative;}
.heat-cell:hover{transform:scale(1.18);box-shadow:0 4px 12px rgba(20,25,35,.25);z-index:3;}
.heat-cell.sold{opacity:.28;}
.heat-cell.on{outline:2.5px solid #1a1d21;outline-offset:1px;z-index:4;}
.heat-tip{position:fixed;z-index:50;background:#1a1d21;color:#fff;border-radius:9px;padding:9px 12px;font-size:12px;pointer-events:none;box-shadow:0 8px 26px rgba(20,25,35,.3);min-width:150px;}
.heat-tip-t{font-weight:800;font-size:13px;margin-bottom:5px;}
.heat-tip-r{display:flex;justify-content:space-between;gap:14px;color:#c7ccd2;padding:1px 0;}
.heat-tip-r b{color:#fff;font-family:var(--mono);font-weight:700;}

/* —— 房源选择条（一房一价快捷选）—— */
.roomstrip{flex-shrink:0;margin-top:14px;}
.roomstrip-head{display:flex;align-items:baseline;gap:10px;margin-bottom:9px;}
.roomstrip-hint{font-size:11px;color:var(--t3);}
.roomstrip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;cursor:grab;user-select:none;scrollbar-width:none;}
.roomstrip-row::-webkit-scrollbar{display:none;}
.roomchip{flex-shrink:0;width:140px;text-align:left;border:1.5px solid var(--line2);border-radius:11px;padding:9px 11px;background:#fff;transition:.15s;}
.roomchip:hover:not(:disabled){border-color:#cdd5dd;}
.roomchip.on{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 1px var(--blue);}
.roomchip:disabled{opacity:.45;cursor:not-allowed;}
.roomchip-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.roomchip-id{font-size:12px;font-weight:800;color:var(--t1);font-family:var(--mono);}
.roomchip-st{font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:5px;}
.rst-on{color:var(--blue);background:var(--blue-soft);}
.rst-lock{color:#e8852b;background:#fdf2e6;}
.rst-sold{color:var(--t3);background:#f1f3f5;}
.roomchip-px{font-size:13px;font-weight:800;color:var(--up);font-family:var(--mono);}
.roomchip-meta{font-size:10.5px;color:var(--t3);margin-top:3px;}

/* —— 维度标注栏（论点 / 维度 切换，复用 annobar 视觉）—— */
.dimchip-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}

/* —— 一页纸：楼盘体检快照 —— */
.op1-estate .op1-px{flex-direction:column;align-items:flex-start;gap:4px;}
.op1-grade{display:flex;align-items:center;gap:12px;}
.op1-grade-pct{font-size:40px;font-weight:800;letter-spacing:-1.5px;color:var(--blue);font-family:var(--mono);line-height:1;}
.op1-grade-cap{font-size:12.5px;color:var(--t2);line-height:1.5;}
.op1-grade-cap b{color:var(--t1);}
.proscon{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.pc-col{display:flex;flex-direction:column;gap:7px;}
.pc-col-h{font-size:11.5px;font-weight:700;}
.pc-col-h.pro{color:var(--up);}
.pc-col-h.con{color:var(--down);}
.pc-li{font-size:12.5px;color:var(--t1);line-height:1.45;display:flex;gap:6px;}
.pc-li::before{content:"";width:5px;height:5px;border-radius:50%;margin-top:6px;flex-shrink:0;}
.pc-col .pro .pc-li::before,.pc-li.pro::before{background:var(--up);}
.pc-li.con::before{background:var(--down);}

/* —— 相关房源 rail 封面 —— */
.ccov-radar{background:#eef2fe;color:var(--blue);font-size:11px;font-weight:800;}
.ccov-heat{background:repeating-linear-gradient(45deg,#dbe6ff 0 6px,#eef2fe 6px 12px);}
.ccov-event{background:#fbfcfd;}

/* 户型迷你户型图占位 */
.uplan{width:100%;height:100%;background:repeating-linear-gradient(45deg,#e9ebee 0 9px,#eef0f2 9px 18px);display:grid;place-items:center;}
.uplan span{font-size:10.5px;color:#9aa0a7;background:rgba(255,255,255,.7);padding:3px 8px;border-radius:5px;}

/* ============================================================
   五级颗粒度（城市/区域/小区/户型/房子）新增样式
   ============================================================ */

/* —— 卡片：颗粒度角标 —— */
.card-grain-badge{position:absolute;top:10px;left:10px;z-index:2;font-size:10.5px;font-weight:800;letter-spacing:.5px;padding:3px 9px;border-radius:7px;background:rgba(26,29,33,.82);color:#fff;backdrop-filter:blur(4px);}

/* —— 面包屑：五级链路 —— */
.crumbs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:2px;}
.crumb{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--t3);padding:2px 8px;border-radius:7px;transition:.13s;border:1px solid transparent;}
.crumb em{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.5px;color:#b3b9c0;text-transform:uppercase;}
.crumb:hover{color:var(--t1);background:#f2f4f6;}
.crumb.on{color:var(--blue);background:var(--blue-soft);border-color:rgba(58,109,240,.25);}
.crumb.on em{color:var(--blue);opacity:.65;}
.crumb-sep{color:#cdd2d8;font-size:11px;}

/* —— 面包屑：多产业归属切换器 —— */
.crumb-wrap{position:relative;display:inline-flex;align-items:center;gap:1px;}
.crumb-caret{font-size:10px;color:var(--t3);padding:3px 4px;border-radius:6px;line-height:1;transition:.13s;}
.crumb-caret:hover{color:var(--blue);background:var(--blue-soft);}
.crumb-menu{position:fixed;z-index:200;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(20,24,30,.14);padding:6px;}
.crumb-menu-t{font-size:10.5px;font-weight:800;letter-spacing:.5px;color:var(--t3);padding:6px 9px 5px;}
.crumb-menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 9px;border-radius:8px;transition:.12s;}
.crumb-menu-item:hover{background:#f4f6f8;}
.crumb-menu-item.on{background:var(--blue-soft);}
.crumb-menu-item i{width:9px;height:9px;border-radius:3px;flex-shrink:0;}
.cmi-n{flex:1;font-size:12.5px;font-weight:700;color:var(--t1);}
.crumb-menu-item.on .cmi-n{color:var(--blue);}
.cmi-w{font-size:11px;color:var(--t3);}

/* —— 明确观点条 —— */
.verdict{flex-shrink:0;background:#fff;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:14px;padding:14px 18px;margin-top:10px;}
.verdict-head{display:flex;align-items:center;gap:10px;margin-bottom:7px;}
.verdict-stance{font-size:13px;font-weight:800;color:var(--blue);background:var(--blue-soft);padding:3px 12px;border-radius:8px;}
.verdict-txt{font-size:13px;line-height:1.75;color:var(--t1);text-wrap:pretty;}
.verdict-logics{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;}
.verdict-chip{font-size:11.5px;font-weight:600;color:var(--t2);background:#f2f4f6;padding:3px 10px;border-radius:7px;}

/* —— 城市/区域：图 + 侧栏布局 —— */
.geo-grid{display:grid;grid-template-columns:minmax(420px,1.5fr) minmax(250px,1fr);min-height:430px;}
@media(max-width:1180px){.geo-grid{grid-template-columns:1fr;}}
.geo-chart-pane{padding:18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px;}
.geo-side-pane{padding:18px;display:flex;flex-direction:column;gap:8px;background:#fbfcfd;}
.geo-side-h{font-size:11px;font-weight:800;letter-spacing:1px;color:var(--t3);text-transform:uppercase;}
.geo-analog{display:flex;align-items:flex-start;gap:9px;padding:7px 0;border-bottom:1px dashed var(--line);}
.geo-analog:last-child{border-bottom:none;}
.geo-analog-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:4px;}
.geo-analog-main{flex:1;min-width:0;}
.geo-analog-n{font-size:12.5px;font-weight:700;color:var(--t1);}
.geo-analog-n em{font-style:normal;font-size:10.5px;color:var(--t3);font-weight:500;margin-left:5px;}
.geo-analog-note{font-size:11.5px;color:var(--t2);line-height:1.5;margin-top:1px;}
.geo-analog-f{font-size:13px;font-weight:800;flex-shrink:0;}
.geo-analog-f.up{color:var(--up);}.geo-analog-f.down{color:var(--down);}
.geo-pos{font-size:12.5px;line-height:1.7;color:var(--t2);}
.geo-pos b{color:var(--t1);font-family:var(--mono);}

/* 折线：当前位置浮签 + 图例按钮 */
.gline{position:relative;width:100%;}
.gline-now{position:absolute;background:#1a1d21;color:#fff;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;transform:translateX(-50%);}
.rl-btn{cursor:pointer;border-radius:7px;padding:2px 7px;transition:.12s;}
.rl-btn:hover{background:#f2f4f6;}
.rl-btn.off{opacity:.32;text-decoration:line-through;}
.rl em{font-style:normal;font-size:10px;color:var(--t3);margin-left:3px;}

/* 象限图 */
.quad-wrap{position:relative;flex:1;min-height:340px;}

/* —— 通用横向对比（城市间/区域间/户型间）—— */
.pcmp-host{padding:16px 18px;}
.pcmp-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px;}
.pcmp-legend{display:flex;gap:12px;flex-wrap:wrap;}
.pcmp-rows{display:flex;flex-direction:column;gap:12px;}
.pcmp-row{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:start;}
@media(max-width:900px){.pcmp-row{grid-template-columns:110px 1fr;}}
.pcmp-k{font-size:12.5px;font-weight:700;color:var(--t1);padding-top:1px;}
.pcmp-k em{display:block;font-style:normal;font-size:10.5px;font-weight:500;color:var(--t3);margin-top:1px;}
.pcmp-bars{display:flex;flex-direction:column;gap:3px;}
.pcmp-bar{display:grid;grid-template-columns:1fr 92px;align-items:center;gap:8px;height:15px;}
.pcmp-fill{height:9px;border-radius:5px;min-width:6px;transition:width .3s;}
.pcmp-fill.self{height:13px;border-radius:6px;}
.pcmp-v{font-size:11px;color:var(--t3);text-align:left;white-space:nowrap;}
.pcmp-v.best{color:var(--t1);font-weight:800;}
.pcmp-note{margin-top:12px;font-size:11.5px;color:var(--t3);line-height:1.6;border-top:1px dashed var(--line);padding-top:9px;}

/* —— PeerCompare v2：综合排名 + 热力矩阵 —— */
.pcmp2-hint{font-size:11px;color:var(--t3);white-space:nowrap;}
.pcmp2-podium{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.pcmp2-rank{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 8px;border:1px solid var(--line);border-radius:11px;background:#fbfcfd;}
.pcmp2-rank.top{background:#fff8ec;border-color:#ecd9b0;}
.pcmp2-rank.self{outline:2px solid rgba(58,109,240,.4);outline-offset:-1px;}
.pcmp2-medal{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:800;background:#eef0f2;color:var(--t2);flex-shrink:0;}
.pcmp2-rank.top .pcmp2-medal{background:#e8a33d;color:#fff;}
.pcmp2-rname{font-size:12.5px;font-weight:700;color:var(--t1);white-space:nowrap;}
.pcmp2-rname em{font-style:normal;font-size:9.5px;font-weight:800;color:var(--blue);background:var(--blue-soft);border-radius:5px;padding:1px 5px;margin-left:5px;vertical-align:1px;}
.pcmp2-rscore{font-size:15px;font-weight:800;color:var(--t1);letter-spacing:-.5px;}
.pcmp2-rwins{font-size:10.5px;color:var(--t3);white-space:nowrap;}
.pcmp2-grid{display:grid;gap:4px;align-items:stretch;}
.pcmp2-ph{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--t2);padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pcmp2-ph i{width:8px;height:8px;border-radius:3px;flex-shrink:0;}
.pcmp2-ph.self{color:var(--blue);}
.pcmp2-dim{font-size:12px;font-weight:700;color:var(--t1);padding:6px 8px 6px 0;display:flex;flex-direction:column;justify-content:center;}
.pcmp2-dim em{font-style:normal;font-size:10px;font-weight:500;color:var(--t3);}
.pcmp2-cell{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--t1);padding:9px 4px;min-height:34px;white-space:nowrap;}
.pcmp2-cell.best{font-weight:800;box-shadow:inset 0 0 0 1.5px rgba(232,163,61,.6);}
.pcmp2-star{color:#e8a33d;font-size:11px;}
.pcmp2-cell.selfcol{box-shadow:inset 0 0 0 1.5px rgba(58,109,240,.35);}
.pcmp2-cell.best.selfcol{box-shadow:inset 0 0 0 1.5px rgba(232,163,61,.6), inset 0 0 0 3.5px rgba(58,109,240,.22);}
.pcmp2-take{margin-top:12px;font-size:12.5px;line-height:1.6;color:var(--t2);background:#fbfcfd;border:1px dashed var(--line2);border-radius:10px;padding:9px 12px;}
.pcmp2-take b{color:var(--t1);}

/* —— 户型 · 全市同段 —— */
.ucity-stats{display:flex;gap:24px;padding:4px 0 14px;border-bottom:1px dashed var(--line);margin-bottom:12px;flex-wrap:wrap;}
.ucity-stat{display:flex;align-items:center;gap:10px;}
.ucity-big{font-size:26px;font-weight:800;letter-spacing:-1px;color:var(--blue);}
.ucity-big i{font-style:normal;font-size:13px;font-weight:700;color:var(--t3);margin-left:2px;}
.ucity-cap{font-size:11px;line-height:1.45;color:var(--t2);font-weight:600;}
.ucity-rows{display:flex;flex-direction:column;gap:7px;}
.ucity-row{display:grid;grid-template-columns:minmax(150px,210px) 1fr 64px 78px;gap:10px;align-items:center;padding:5px 8px;border-radius:9px;}
.ucity-row.self{background:var(--blue-soft);outline:1px solid rgba(58,109,240,.28);}
.ucity-n{font-size:12.5px;font-weight:700;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ucity-n em{display:block;font-style:normal;font-size:10.5px;font-weight:500;color:var(--t3);}
.ucity-bar{height:11px;background:#f2f4f6;border-radius:6px;overflow:hidden;}
.ucity-fill{height:100%;border-radius:6px;background:#c7ccd2;}
.ucity-row.self .ucity-fill{background:var(--blue);}
.ucity-px{font-size:12px;font-weight:800;color:var(--t1);text-align:right;}
.ucity-rate{font-size:11px;color:var(--t3);text-align:right;}

/* —— 户型 · 供需展望 —— */
.sd-chart{display:flex;gap:18px;align-items:stretch;flex-wrap:wrap;}
.sd-q{display:flex;flex-direction:column;align-items:center;gap:6px;width:96px;}
.sd-bars{display:flex;align-items:flex-end;gap:6px;height:190px;width:100%;justify-content:center;}
.sd-bar{width:30px;border-radius:6px 6px 2px 2px;position:relative;min-height:8px;}
.sd-bar.sup{background:#c7ccd2;}
.sd-bar.dem{background:var(--blue);}
.sd-bar span{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:700;color:var(--t2);white-space:nowrap;}
.sd-qlbl{font-size:11px;color:var(--t3);font-weight:600;}
.sd-readout{flex:1;min-width:210px;border-left:1px dashed var(--line);padding-left:18px;display:flex;flex-direction:column;gap:8px;justify-content:center;}
.sd-read-big{font-size:21px;font-weight:800;letter-spacing:-.5px;color:var(--t1);}
.sd-read-cap{font-size:12.5px;line-height:1.7;color:var(--t2);text-wrap:pretty;}
.sd-read-line{font-size:12px;color:var(--t3);}
.sd-read-line b{color:var(--t1);}

/* —— 房子 · 同总价段表 —— */
.hcity-table{margin-top:2px;}
.hcity-table td{font-size:12px;}
.hcity-self td{background:var(--blue-soft);font-weight:700;}
.hcity-self td:first-child{border-radius:8px 0 0 8px;}
.hcity-self td:last-child{border-radius:0 8px 8px 0;}

/* —— 封面 · 供需迷你柱 —— */
.cov-sd{display:flex;gap:10px;align-items:stretch;height:100%;padding:4px 2px 0;}
.cov-sd-q{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;}
.cov-sd-bars{flex:1;display:flex;align-items:flex-end;gap:4px;width:100%;justify-content:center;}
.cov-sd-bars i{width:14px;border-radius:4px 4px 1px 1px;min-height:5px;}
.cov-sd-q span{font-size:9.5px;color:var(--t3);}

