:root{--brand:#3f86ff;--ink:#26384e;--sub:#62738a;--muted:#91a0b2;--line:#e8edf4;--bg:#f5f7fb;--danger:#d75f59;font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}[hidden]{display:none!important}.mobile-app{min-height:100dvh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;background:var(--bg);box-shadow:0 0 28px rgba(27,49,77,.06)}.app-header{height:52px;flex:none;display:flex;align-items:center;padding:0 16px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.app-header h1{margin:0;font-size:16px;font-weight:600;flex:1;text-align:center}.header-back{width:36px;height:36px;margin-left:-8px;padding:0;border:0;background:none;color:#52657d;font-size:31px;line-height:1}.header-action{width:48px;padding:0;border:0;background:none;color:var(--brand);font-size:14px;font-weight:600}.header-action:empty{visibility:hidden}.screen{flex:1;min-height:0;padding-bottom:28px}.screen-footer{position:sticky;bottom:0;z-index:4;flex:none;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.screen-footer:empty{display:none}.primary-button{width:100%;min-height:44px;border:0;border-radius:6px;background:var(--brand);color:#fff;font-size:15px;font-weight:600}.primary-button:hover{background:#2e76ec}.secondary-button{min-height:36px;border:1px solid #d8e6fa;border-radius:5px;background:#fff;color:#3b77c9;font-size:13px;font-weight:500;padding:0 13px}.text-button{border:0;background:none;color:var(--brand);font-size:13px;padding:5px 0}.result-intro{padding:20px 18px 18px;background:#fff;border-bottom:1px solid var(--line)}.result-intro .eyebrow{color:#8291a5;font-size:11px;margin:0 0 8px}.result-intro h2{font-size:20px;margin:0 0 5px;font-weight:650}.result-intro p{margin:0;color:var(--sub);font-size:12px;line-height:1.6}.view-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}.view-row select{width:min(68%,250px);height:34px;border:1px solid #dce5f1;border-radius:5px;background:#f9fbfe;color:#3d5169;font-size:12px;padding:0 8px}.view-row button{white-space:nowrap}.funnel-area{padding:20px 17px 24px;background:#fff;margin-top:9px}.funnel-caption{margin:0 0 16px;font-size:13px;font-weight:600;color:#41556e}.funnel-step{position:relative;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:2px;width:100%;height:90px;padding:9px 12px;border:0;clip-path:polygon(var(--left-top) 0,calc(100% - var(--left-top)) 0,calc(100% - var(--left-bottom)) 100%,var(--left-bottom) 100%);background:var(--fill);color:var(--color);text-align:center}.funnel-step .count{font-size:27px;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums}.funnel-step .count small{margin-left:4px;font-size:11px;font-weight:400}.funnel-step .name{font-size:12px;font-weight:500}.funnel-step .condition{max-width:82%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;opacity:.75}.funnel-step:active{filter:brightness(.96)}.transition{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 2px 15px;border-bottom:1px solid #f0f3f8;margin-bottom:4px}.transition:last-child{border-bottom:0}.transition-main{min-width:0}.transition-rate{display:flex;align-items:baseline;gap:8px}.transition-rate strong{font-size:18px;color:#3378dc;font-weight:650}.transition-rate span{font-size:11px;color:#6f8094}.transition-sub{font-size:10px;color:#8997a9;margin-top:3px;line-height:1.5}.transition-actions{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}.transition-actions button{border:0;padding:0;background:none;color:#4a81cb;font-size:11px}.transition-arrow{font-size:17px;color:#acc6ec;flex:none}.group-strip{padding:15px 17px;background:#fff;border-top:1px solid #eff2f7}.group-strip-title{font-size:12px;color:#687b92;margin-bottom:8px}.group-pills{display:flex;gap:7px;overflow:auto;scrollbar-width:none}.group-pills::-webkit-scrollbar{display:none}.group-pill{white-space:nowrap;border:1px solid #dfe7f1;border-radius:4px;background:#fff;color:#697d96;padding:6px 10px;font-size:11px}.group-pill.active{background:#eaf3ff;border-color:#8dbbfa;color:#2d72d1}.empty{padding:80px 24px;text-align:center;color:#8493a5;font-size:13px}.empty img{width:115px;max-width:100%;display:block;margin:0 auto 15px}.empty strong{display:block;color:#40536b;font-size:15px;margin-bottom:6px}.config-section{background:#fff;margin-top:9px;padding:18px 16px}.config-section:first-child{margin-top:0}.section-title{font-size:15px;font-weight:600;margin:0 0 15px}.section-title small{font-size:11px;color:var(--muted);font-weight:400;margin-left:7px}.field{display:flex;flex-direction:column;gap:7px;color:#62758e;font-size:12px;margin:0 0 15px}.field:last-child{margin-bottom:0}.field input,.field select{width:100%;height:40px;padding:0 11px;border:1px solid #dce4ef;border-radius:5px;background:#fff;color:#2f435c;font-size:13px;outline:none}.field input:focus,.field select:focus{border-color:var(--brand)}.date-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px}.date-pair input{min-width:0;padding:0 5px;font-size:11px}.date-pair span{color:#95a3b5}.inline-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.inline-section-head .section-title{margin-bottom:0}.section-lead{margin:8px 0 15px;color:#8796a9;font-size:11px;line-height:1.6}.stage-config{border:1px solid #e6ecf4;border-radius:6px;margin:10px 0;overflow:hidden}.stage-config-head{display:flex;align-items:center;gap:8px;width:100%;background:#f8fafe;padding:12px;border:0;text-align:left;color:#334a65}.stage-num{padding:3px 6px;border-radius:3px;background:#e8f1ff;color:#447fca;font-size:11px}.stage-config-name{flex:1;font-size:13px;font-weight:600}.stage-chevron{font-size:18px;color:#899ab0;line-height:1}.stage-config-body{padding:14px 12px 3px}.stage-tools{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid #eef2f7;padding:7px 10px}.stage-tools button{border:0;background:none;color:#6e87a6;font-size:12px;padding:4px}.stage-tools .danger{color:var(--danger)}.filter-block{border-radius:5px;background:#f7f9fc;padding:10px;margin:9px 0}.filter-line{display:grid;grid-template-columns:1fr 1fr;gap:7px}.filter-line select,.filter-line input{min-width:0;width:100%;height:36px;border:1px solid #e0e8f2;border-radius:4px;background:#fff;padding:0 7px;color:#33485f;font-size:12px}.filter-line .wide{grid-column:1/-1}.filter-remove{margin-top:7px}.add-line{display:block;margin:4px 0 12px}.config-errors{padding:11px 12px;margin:10px 16px;border-radius:5px;background:#fff1f0;color:#bd4e49;font-size:12px;line-height:1.6}.helper{color:#91a0b2;font-size:11px;line-height:1.5;margin:-5px 0 11px}.detail-summary{padding:20px 16px;background:#fff}.detail-summary h2{margin:0;font-size:18px}.detail-summary p{margin:7px 0 0;color:#8291a4;font-size:12px}.detail-breakdown{padding:15px 16px;background:#fff;border-top:1px solid #edf1f6}.detail-breakdown h3{font-size:12px;color:#4b5f77;margin:0 0 10px;font-weight:600}.detail-breakdown-scroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.detail-breakdown-scroll::-webkit-scrollbar{display:none}.detail-choice{border:1px solid #dde7f2;border-radius:4px;background:#fff;color:#61758e;white-space:nowrap;padding:6px 10px;font-size:12px}.detail-choice.active{border-color:#8cb9f5;background:#ecf4ff;color:#2872d2}.detail-breakdown p{color:#98a5b5;font-size:10px;line-height:1.5;margin:9px 0 0}.detail-list{padding:0 16px 20px;margin-top:9px;background:#fff}.detail-list-head{display:flex;align-items:center;justify-content:space-between;padding:15px 0 7px;font-size:12px;color:#7d8da2}.detail-item{padding:15px 0;border-bottom:1px solid #eaf0f6}.detail-item:last-child{border-bottom:0}.detail-item-title{color:#347bdc;font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.detail-item-subtitle{margin-top:5px;color:#446079;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.detail-item-subtitle .link{color:#347bdc}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;margin-top:10px}.detail-fact{font-size:11px;color:#8a99aa;line-height:1.5;min-width:0;overflow-wrap:anywhere}.detail-fact b{color:#576b82;font-weight:500}.detail-note{background:#f3f8ff;border-radius:4px;color:#67819e;padding:10px 12px;font-size:11px;line-height:1.7;margin:10px 16px}.sheet-overlay{position:fixed;inset:0;z-index:15;display:flex;align-items:flex-end;justify-content:center}.sheet-scrim{position:absolute;inset:0;background:rgba(28,44,65,.32)}.save-sheet{position:relative;width:min(100%,480px);padding:9px 18px calc(18px + env(safe-area-inset-bottom));border-radius:10px 10px 0 0;background:#fff;box-shadow:0 -10px 32px rgba(20,40,70,.12)}.sheet-handle{width:36px;height:4px;background:#d6dee9;border-radius:4px;margin:0 auto 15px}.save-sheet h2{font-size:17px;margin:0 0 21px}.sheet-note{margin:-3px 0 19px;color:#8394a8;font-size:11px;line-height:1.6}.toast{position:fixed;z-index:20;top:65px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:10px 15px;border:1px solid #d6e7d2;border-radius:5px;background:#fff;color:#4f8a55;box-shadow:0 5px 20px rgba(25,43,68,.15);font-size:12px}@media (min-width:600px){body{padding:18px}.mobile-app{min-height:min(860px,calc(100dvh - 36px));height:min(860px,calc(100dvh - 36px));border:1px solid #e1e7ef;border-radius:16px;overflow:hidden}.screen{overflow:auto}.save-sheet{border-radius:10px 10px 0 0}}@media (max-width:355px){.transition-rate{flex-wrap:wrap}.funnel-step{height:84px}.date-pair input{font-size:10px}}

/* 原型预览入口，独立于移动端业务页面。 */
.preview-switch{max-width:390px;height:34px;margin:0 auto;padding:5px 14px;display:flex;justify-content:flex-end;align-items:center;gap:4px;background:#f5f7fb;font-size:11px}
.preview-switch a,.preview-switch span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:24px;padding:0 8px;border-radius:4px;color:#7b8a9d;text-decoration:none}
.preview-switch a:hover{color:#347bdc;background:#e8f1ff}
.preview-switch [aria-current=page]{background:#fff;color:#347bdc;font-weight:600;box-shadow:0 1px 4px rgba(27,49,77,.08)}
@media (min-width:600px){.mobile-app{min-height:min(826px,calc(100dvh - 52px));height:min(826px,calc(100dvh - 52px))}}
/* 桌面预览按 390px 手机画布展示；在手机上占满设备宽度。 */
.mobile-app{width:100%;max-width:390px}
.save-sheet{width:min(100%,390px)}
@media (max-width:599px){.mobile-app,.preview-switch{max-width:none;width:100%}.mobile-app{min-height:calc(100dvh - 34px)}.save-sheet{width:100%}}

/* 连续漏斗：层面直接相接，转化率贴在层间右侧。 */
.funnel-visual{padding:4px 0 0}
.funnel-level{position:relative;height:86px}
.funnel-level:last-child{height:86px}
.funnel-level .funnel-step{height:100%;margin:0;gap:3px;clip-path:polygon(var(--left-top) 0,calc(100% - var(--left-top)) 0,calc(100% - var(--left-bottom)) 100%,var(--left-bottom) 100%)}
.funnel-level:not(:last-child) .funnel-step{box-shadow:inset 0 -2px rgba(255,255,255,.78)}
.funnel-level .funnel-rate{position:absolute;z-index:2;right:0;bottom:-17px;min-width:79px;min-height:34px;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 7px;border:1px solid #c4dafa;border-radius:18px;background:#fff;color:#3279dc;box-shadow:0 2px 8px rgba(31,77,135,.12);font-size:11px}
.funnel-rate strong{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.funnel-rate span{font-size:18px;line-height:1;color:#8bb6ef}
.funnel-tip{margin:17px 0 0;text-align:center;color:#8b9aab;font-size:11px;line-height:1.5}
.transition-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.transition-sheet-head h2{margin:0}
.transition-sheet-head button{width:28px;height:28px;border:0;background:none;color:#8493a7;font-size:24px;line-height:1}
.transition-sheet-rate{color:#347cde;font-size:30px;font-weight:700;line-height:1.1}
.transition-sheet-rate small{display:block;margin-top:5px;color:#8190a2;font-size:11px;font-weight:400}
.transition-sheet-summary{margin:16px 0 0;color:#4b6079;font-size:13px;line-height:1.6}
.transition-sheet-time{margin:6px 0 0;color:#8292a6;font-size:12px}
.transition-sheet-actions{display:flex;flex-direction:column;margin-top:18px;border-top:1px solid #e8eef5}
.transition-sheet-actions button{min-height:46px;padding:9px 2px;border:0;border-bottom:1px solid #e8eef5;background:#fff;color:#347bdc;text-align:left;font-size:13px}
@media(max-width:355px){.funnel-level,.funnel-level:last-child{height:78px}.funnel-level .funnel-rate{min-width:72px}}
